.os{--os-line:#dfe8e1;--os-ink:#173322;--os-green:#16713d;max-width:1600px;margin:0 auto;padding:20px 24px 36px;color:var(--text,#25332a);font:13px/1.45 Inter,system-ui,sans-serif}
.os *{box-sizing:border-box}.os button,.os input,.os select,.os textarea{font:inherit}.os button{cursor:pointer}.os button:disabled{opacity:.5;cursor:not-allowed}.os button:focus-visible,.os input:focus-visible,.os select:focus-visible,.os textarea:focus-visible{outline:2px solid #47a265;outline-offset:2px}
.os h1{font-size:24px;line-height:1.2;margin:0 0 3px;color:var(--os-ink)}.os h2{font-size:15px;margin:0;color:var(--os-ink)}.os p{margin:0}.os-muted{color:#66766c;font-size:11px}.os-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.os-top-actions,.os-tools,.os-list-actions,.os-builder-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.os-btn{border:1px solid #cddbcf;background:#fff;color:#235b35;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;line-height:1.2}.os-btn:hover{background:#edf7ef}.os-btn.primary{border-color:#16713d;background:#16713d;color:white}.os-btn.primary:hover{background:#135d32}.os-btn.danger{color:#a52727;border-color:#e5caca}.os-btn.link{border-color:transparent;background:transparent}
.os-select,.os-input,.os-textarea{border:1px solid #cddbcf;background:#fff;color:#26332a;border-radius:8px;padding:7px 9px;min-height:32px}.os-select{max-width:210px}.os-input{min-width:150px}.os-textarea{width:100%;min-height:92px;resize:vertical}.os-label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#42634d}.os-label>.os-input,.os-label>.os-select{width:100%;max-width:none}.os-flash{margin:11px 0;padding:9px 11px;border:1px solid #c5dec9;background:#eff9f1;color:#205e33;border-radius:8px;font-size:11px}.os-flash.error{border-color:#e8c4c4;background:#fff3f2;color:#a02222}.os-area{display:flex;gap:5px;margin:12px 0 9px;overflow:auto;padding-bottom:2px}.os-tab{white-space:nowrap;border:1px solid var(--os-line);border-radius:8px;padding:7px 11px;background:#fff;color:#52655a;font-size:11px;font-weight:700}.os-tab.active{background:#e9f6ec;border-color:#a9d3b3;color:#176b38}.os-tab.planned{opacity:.58}.os-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:10px}.os-toolbar .os-label{min-width:150px}.os-toolbar .os-label.search{flex:1;min-width:190px}.os-tools{margin-left:auto}
.os-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:9px 0}.os-kpi{border:1px solid var(--os-line);border-radius:9px;background:var(--panel-bg,#fff);padding:9px 12px;min-width:0}.os-kpi span{display:block;color:#66766c;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-kpi strong{display:block;color:var(--os-ink);font-size:19px;line-height:1.25;margin-top:3px;font-variant-numeric:tabular-nums}.os-kpi.attention strong{color:#b53a26}.os-signals{display:flex;gap:7px;align-items:center;overflow:auto;margin:8px 0}.os-signal-label{white-space:nowrap;font-size:10px;font-weight:800;color:#717d73}.os-signal{white-space:nowrap;border:1px solid #e7cfb8;background:#fff9f1;border-radius:100px;padding:5px 9px;font-size:10px;color:#8a4c18}.os-card{border:1px solid var(--os-line);border-radius:10px;background:var(--panel-bg,#fff);overflow:hidden}.os-card-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid var(--os-line)}.os-list{overflow:auto;max-height:58vh}.os-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.os-table th{position:sticky;top:0;background:#f8faf8;color:#68776c;text-align:left;font-size:10px;padding:8px 10px;border-bottom:1px solid var(--os-line);z-index:1}.os-table td{padding:8px 10px;border-bottom:1px solid #edf1ed}.os-table tr:hover td{background:#f7fbf8}.os-table .num{text-align:right;font-variant-numeric:tabular-nums}.os-table .key{font-weight:750;color:#176b38}.os-pill{display:inline-block;border-radius:99px;padding:3px 7px;background:#e9f6eb;color:#216238;font-size:10px;font-weight:700}.os-pill.late{background:#fff0eb;color:#b53a26}.os-pill.hold{background:#fff7e7;color:#98631a}.os-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:10px;color:#67776c}.os-foot .os-btn{padding:5px 9px}.os-note{font-size:10px;color:#68796e;margin-top:9px}.os-empty{padding:24px;text-align:center;color:#68796e}.os-cols{position:relative}.os-cols-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:4;width:230px;max-height:340px;overflow:auto;border:1px solid var(--os-line);border-radius:9px;background:#fff;box-shadow:0 12px 25px #15251a22;padding:9px}.os-cols-menu label{display:flex;align-items:center;gap:7px;padding:5px;font-size:11px}.os-cols-menu small{display:block;color:#728078;margin:5px}
.os-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;margin-top:13px}.os-builder-main,.os-builder-config{border:1px solid var(--os-line);border-radius:10px;background:var(--panel-bg,#fff);padding:15px}.os-builder-main{display:grid;align-content:start;gap:13px}.os-builder-main h2{font-size:17px}.os-builder-config{display:grid;align-content:start;gap:11px;max-height:72vh;overflow:auto}.os-choice{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:11px}.os-field-row{display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #edf1ed;padding:5px 0}.os-field-row label{display:flex;gap:6px;align-items:center;font-size:11px}.os-field-row button{border:0;background:#f1f6f2;color:#39744a;border-radius:5px;padding:2px 5px;font-size:11px}.os-preview{border:1px solid var(--os-line);background:#f8fbf8;border-radius:8px;padding:12px;min-height:100px}.os-preview table{width:100%;font-size:10px;border-collapse:collapse}.os-preview th,.os-preview td{text-align:left;border-bottom:1px solid #e0e9e1;padding:5px}.os-preview th{color:#69796d}.os-preview-scroll{overflow:auto;max-height:240px}.os-detail{position:fixed;inset:0;background:#0a1b1080;z-index:100;display:flex;justify-content:flex-end}.os-detail-panel{width:min(520px,100%);height:100%;overflow:auto;background:var(--panel-bg,#fff);padding:20px;box-shadow:-8px 0 28px #0002}.os-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:start;border-bottom:1px solid var(--os-line);padding-bottom:13px}.os-dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.os-dl div{border-bottom:1px solid var(--os-line);padding-bottom:7px}.os-dl dt{font-size:10px;color:#778579}.os-dl dd{margin:3px 0 0;font-size:12px;font-weight:700}.os-detail-lines{width:100%;font-size:11px;border-collapse:collapse}.os-detail-lines td,.os-detail-lines th{padding:7px;border-bottom:1px solid var(--os-line);text-align:left}.os-status{display:inline-block;border:1px solid #c6daca;background:#eef7f0;color:#2d6b3f;border-radius:99px;padding:3px 8px;font-size:10px;font-weight:700}
@media(max-width:900px){.os-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.os-builder{grid-template-columns:1fr}.os-builder-config{max-height:none}.os-toolbar .os-tools{margin-left:0}}
@media(max-width:650px){.os{padding:12px 10px 25px}.os h1{font-size:21px}.os-toolbar .os-label,.os-toolbar .os-label.search{min-width:calc(50% - 5px);flex:1}.os-toolbar .os-label.search{min-width:100%}.os-kpi strong{font-size:17px}.os-list{max-height:none}.os-detail-panel{padding:14px}.os-dl{grid-template-columns:1fr 1fr}}
.os-builder-main{align-self:start}
.os-source-plan{margin-top:12px;padding:14px;border:1px solid #b8dcc3;border-radius:10px;background:#f3faf5;display:grid;gap:9px;font-size:12px;line-height:1.45}.os-source-plan h3{margin:0;color:#205c35;font-size:14px}.os-source-plan p{margin:0}.os-source-plan .os-preview-scroll{max-height:220px}.os-source-plan table{width:100%;border-collapse:collapse;font-size:11px}.os-source-plan th,.os-source-plan td{border-bottom:1px solid #d9e8dc;padding:6px;text-align:left}.os-source-sql{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-code,#fff);border:1px solid var(--os-line);border-radius:7px;padding:10px;font-size:11px}
.os-source-field-list{max-height:220px;overflow:auto;border:1px solid var(--os-line);border-radius:8px;padding:3px 8px}.os-source-field-list [hidden]{display:none}.os-source-field-list small{color:var(--text-muted,#68796e)}.os-metric-add{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.os-metric-add .os-btn{grid-column:1/-1}.os-metric-add .os-select{min-width:0;max-width:none}
.os-table-picker{display:grid;gap:6px;border:1px solid var(--os-line);border-radius:8px;padding:10px}.os-table-picker .os-input{min-width:0;flex:1}.os-table-results{display:flex;flex-wrap:wrap;gap:5px;max-height:126px;overflow:auto}
.os-custom-metric{display:grid;gap:3px;padding:3px 0 7px;border-bottom:1px solid var(--os-line)}.os-custom-metric .os-input{width:100%;min-width:0}
.os-metric-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--os-line);padding:5px 0;font-size:11px}.os-metric-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.os-metric-row>span:last-child{display:flex;gap:3px;flex:none}.os-metric-row button{border:0;background:#f1f6f2;color:#39744a;border-radius:5px;padding:3px 6px;font-size:11px;cursor:pointer}.os-metric-row button:disabled{opacity:.4;cursor:default}.os-cols-menu>.os-btn{width:100%;margin-top:8px}
.os-ai-kpi{display:grid;gap:8px;padding:13px;border:1px solid var(--os-line);border-radius:9px;background:var(--bg-code,#f8fbf8)}.os-ai-kpi h3{margin:0;font-size:13px}.os-ai-kpi p{margin:0}.os-ai-kpi .os-textarea{min-height:74px}.os-ai-kpi-result{font-size:11px;line-height:1.5;color:var(--text-secondary,#42634d)}
@media(max-width:650px){.os-table,.os-table tbody{display:block;width:100%}.os-table thead{display:none}.os-table tbody{display:grid;gap:8px;padding:8px}.os-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;border:1px solid var(--os-line);border-radius:8px;background:#fff;padding:9px}.os-table tbody td{display:block;min-width:0;white-space:normal;text-align:left!important;border:0;padding:5px 0}.os-table tbody td[data-label]::before{content:attr(data-label);display:block;color:#7b897f;font-size:9px;font-weight:700;margin-bottom:2px}.os-table tbody td:first-child{grid-column:2;grid-row:1;text-align:right!important}.os-table tbody td:nth-child(2){grid-column:1;grid-row:1}.os-table tbody td:nth-child(2)::before{display:none}.os-table tbody td:last-child{grid-column:1/-1;border-top:1px solid var(--os-line);padding-top:6px}}
.os{--os-line:var(--border,#dfe8e1);--os-ink:var(--text,#173322);color:var(--text,#25332a)}
.os-btn,.os-tab,.os-select,.os-input,.os-textarea,.os-cols-menu,.os-card,.os-kpi,.os-builder-main,.os-builder-config,.os-detail-panel{background:var(--bg-elevated,#fff);color:var(--text,#25332a);border-color:var(--os-line)}
.os-btn{color:var(--accent-text,#235b35)}.os-btn:hover,.os-tab:hover{background:var(--bg-hover,#edf7ef)}.os-btn.primary{background:var(--accent-solid,#16713d);color:#fff;border-color:var(--accent-solid,#16713d)}
.os-muted,.os-note,.os-foot,.os-kpi span,.os-table th,.os-dl dt{color:var(--text-muted,#68796e)}.os-label{color:var(--text-secondary,#42634d)}.os-table th,.os-preview{background:var(--bg-code,#f8faf8)}.os-table td,.os-field-row,.os-dl div{border-color:var(--os-line)}.os-table tr:hover td{background:var(--bg-hover,#f7fbf8)}
.os-cols-menu label,.os-table tbody tr{background:var(--bg-elevated,#fff)}.os-flash{background:var(--status-success-bg,#eff9f1);color:var(--status-success-text,#205e33);border-color:var(--status-success-border,#c5dec9)}.os-flash.error{background:var(--status-error-bg,#fff3f2);color:var(--status-error-text,#a02222);border-color:var(--status-error-border,#e8c4c4)}
.os-pill{background:var(--status-success-bg,#e9f6eb);color:var(--status-success-text,#216238)}.os-pill.late{background:var(--status-error-bg,#fff0eb);color:var(--status-error-text,#b53a26)}.os-pill.hold,.os-signal{background:var(--status-warning-bg,#fff7e7);color:var(--status-warning-text,#98631a);border-color:var(--status-warning-border,#e7cfb8)}
.os-kpi.attention strong,.os-btn.danger{color:var(--danger-text,#b53a26)}
.os-kpi.default.watch strong{color:var(--status-warning-text,#98631a)}
.os-pill.off{background:var(--bg-subtle,#eef1ef);color:var(--text-muted,#66766c)}
.os-table td.tone-ok{color:var(--status-success-text,#216238);font-weight:700}.os-table td.tone-warn{color:var(--status-warning-text,#98631a);font-weight:700}.os-table td.tone-bad{color:var(--status-error-text,#b53a26);font-weight:700}
.os-table .key{color:var(--accent-text,#176b38)}
.os-area-row{display:flex;align-items:center;gap:8px;margin:12px 0 9px}.os-area-row .os-area{flex:1;min-width:0;margin:0}.os-area-row>.os-btn{flex:none}.os-config{border:1px solid var(--os-line);border-radius:9px;background:var(--bg-elevated,#fff);padding:11px 13px;margin-bottom:10px}.os-config>strong{display:block;font-size:12px;margin-bottom:3px}.os-config-list{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px}.os-config-list label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;cursor:pointer}.os-config-list input{accent-color:#16713d}
@media(max-width:650px){.os-area-row{align-items:stretch;flex-wrap:wrap}.os-area-row .os-area{width:100%;flex:auto}.os-area-row>.os-btn{margin-left:auto}}
.os-detail-panel{width:min(760px,100%)}.os-detail-head h2{margin:3px 0}.os-detail-source{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text,#16713d)}.os-detail-section{margin:18px 0 22px}.os-detail-section h3{font-size:13px;color:var(--os-ink);margin:0 0 9px}.os-detail-section .os-dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.os-detail-section .os-dl dd{overflow-wrap:anywhere;white-space:pre-wrap;font-weight:600}.os-detail-scroll{overflow:auto;border:1px solid var(--os-line);border-radius:8px;max-height:350px}.os-detail-lines{min-width:620px}.os-detail-lines th{position:sticky;top:0;background:var(--bg-code,#f8faf8);white-space:nowrap}.os-detail-lines td{vertical-align:top;white-space:pre-wrap;min-width:75px}.os-detail-lines td:nth-child(2){min-width:130px}.os-detail-loading{margin:22px 0!important}
@media(max-width:650px){.os-detail-section .os-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.os-cols-menu .os-input{width:100%;min-width:0;margin:5px 0}.os-cols-menu [hidden]{display:none}
.os-advanced-filters,.os-builder-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:11px 12px;margin:0 0 9px;border:1px solid var(--os-line);border-radius:9px;background:var(--bg-code,#f8fbf8)}
.os-advanced-filters .os-label{min-width:145px;flex:1}.os-advanced-filters .os-input{width:100%;min-width:0}.os-filter-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.os-filter-chip{border:1px solid var(--os-line);border-radius:99px;padding:5px 9px;background:var(--status-success-bg,#eef7f0);color:var(--accent-text,#235b35);font-size:10px;font-weight:700}.os-filter-chip:hover{background:var(--bg-hover,#e5f3e8)}
.os-builder-filters{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:10px}.os-builder-filters>strong{grid-column:1/-1;font-size:11px;color:var(--os-ink)}.os-builder-filters .os-label{min-width:0}.os-builder-filters .os-input{width:100%;min-width:0}
.os-workflow-backdrop{align-items:center;justify-content:center}.os-workflow-panel{width:min(580px,calc(100% - 20px));max-height:min(88vh,820px);overflow:auto;border:1px solid var(--os-line);border-radius:12px;background:var(--bg-elevated,#fff);padding:20px;box-shadow:0 20px 60px #0003}.os-workflow-panel h2{font-size:18px}.os-workflow-body{display:grid;gap:12px;padding-top:15px}.os-workflow-body>.os-btn{justify-self:start}.os-workflow-body .os-select,.os-workflow-body .os-input{max-width:none;width:100%}.os-workflow-body .os-textarea{min-height:88px}.os-workflow-preview{display:grid;gap:6px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-code,#f8fbf8);padding:11px;font-size:11px;overflow-wrap:anywhere}.os-workflow-preview b{color:var(--os-ink)}.os-workflow-preview span{display:block}.os-workflow-preview .os-btn{margin-left:7px;padding:3px 6px}
@media(max-width:650px){.os-advanced-filters .os-label{min-width:calc(50% - 8px)}.os-builder-filters{grid-template-columns:1fr}.os-workflow-panel{padding:14px;max-height:95dvh}}

/* Cabecera compacta: los controles ocupan columnas regulares y las acciones comparten una fila. */
.os{max-width:1800px;min-width:0;padding:16px 20px 28px}.os-top{align-items:center;gap:10px}.os-top-actions{gap:6px}.os-area-row{margin:8px 0}.os-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px;min-width:0}.os-toolbar .os-label{flex:1 1 140px;min-width:0;max-width:100%}.os-toolbar .os-label.search{flex:1.5 1 190px;min-width:0}.os-toolbar .os-select,.os-toolbar .os-input{width:100%;min-width:0;max-width:none}.os-toolbar .os-tools{flex:1 0 100%;min-width:0;justify-content:flex-end;margin:0;gap:6px}.os-kpis{margin:8px 0}.os-signals{margin:7px 0}.os-card-head{padding:8px 12px}
.os-cols-menu{width:300px;max-width:calc(100vw - 24px);max-height:min(70vh,520px)}.os-cols-menu strong{display:block;font-size:11px;color:var(--os-ink)}.os-cols-menu .os-col-row{display:flex;align-items:center;gap:5px;border:1px solid var(--os-line);border-radius:7px;margin:4px 0;padding:2px 4px;background:var(--bg-elevated,#fff)}.os-cols-menu .os-col-row label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-col-move{display:flex;gap:3px;flex:none}.os-col-move button{min-width:27px;min-height:27px;border:1px solid var(--os-line);border-radius:5px;background:var(--bg-code,#f8faf8);color:var(--accent-text,#235b35);font-weight:800}.os-col-move button:hover:not(:disabled){background:var(--bg-hover,#edf7ef)}.os-col-move button:disabled{opacity:.35;cursor:default}
.os-cols-menu>.os-cols-close{float:right;width:auto;margin:0;padding:3px 6px}
.os h1,.os h2,.os-kpi strong,.os-card-head{overflow-wrap:anywhere}
.os-area,.os-signals{flex-wrap:wrap;overflow:visible}.os-tab,.os-signal,.os-signal-label{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.os{padding:12px 10px 24px}.os-top{align-items:flex-start}.os-toolbar .os-label.search{flex-basis:100%}.os-toolbar .os-tools{justify-content:flex-start}.os-cols-menu{position:fixed;inset:auto 12px 12px;width:auto;max-width:none;max-height:min(70dvh,520px);z-index:100}}
.os-kpi{cursor:pointer;text-align:left;font:inherit}.os-kpi:hover{border-color:#9bc9a6;background:var(--bg-hover,#f3faf5)}.os-kpi span{white-space:normal;overflow:visible;text-overflow:clip}
.os-metric-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:8px 10px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-code,#f8faf8);font-size:10px}.os-metric-context strong{color:var(--os-ink)}.os-metric-context span{color:var(--text-muted,#68796e)}.os-metric-context .os-btn{margin-left:auto}
.os-more{position:relative}.os-more summary{list-style:none;cursor:pointer;white-space:nowrap}.os-more summary::-webkit-details-marker{display:none}.os-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:6;display:grid;gap:5px;min-width:175px;padding:7px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-elevated,#fff);box-shadow:0 10px 28px #0002}.os-more-menu .os-btn{text-align:left;white-space:nowrap}
.os-inline-control{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:var(--text-muted,#68796e)}.os-inline-control .os-select{min-height:29px;padding:4px 7px;max-width:125px;font-size:10px}
.os-toolbar .os-tools{flex:0 1 auto;align-self:end;justify-content:flex-end}.os-toolbar .os-label{flex:1 1 130px}.os-toolbar .os-label.search{flex:1.5 1 190px}.os-list-actions{justify-content:flex-end}
.os-list{overflow:auto;max-height:min(64vh,760px)}.os-table{width:max-content;min-width:100%;table-layout:fixed}.os-table th:first-child,.os-table td:first-child{position:sticky;left:0;z-index:3;min-width:40px;background:var(--bg-elevated,#fff)}.os-table.pin-key th:nth-child(2),.os-table.pin-key td:nth-child(2){position:sticky;left:40px;z-index:2;background:var(--bg-elevated,#fff);box-shadow:3px 0 5px #0000000b}.os-table thead th:first-child,.os-table.pin-key thead th:nth-child(2){z-index:5;background:var(--bg-code,#f8faf8)}.os-table tr:hover td:first-child,.os-table.pin-key tr:hover td:nth-child(2){background:var(--bg-hover,#f7fbf8)}.os-sort-head{border:0;background:transparent;padding:0;color:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap}.os-sort-head:hover{text-decoration:underline}.os-table.compact td{padding-top:5px;padding-bottom:5px}.os-table.comfortable td{padding-top:12px;padding-bottom:12px}.os-table .os-group th{position:static;text-align:left;background:var(--bg-code,#f3f8f4);color:var(--os-ink);font-size:10px;padding:7px 10px}.os-col-width{width:55px;min-width:0;border:1px solid var(--os-line);border-radius:5px;padding:3px;font-size:10px;background:var(--bg-elevated,#fff);color:var(--os-ink)}.os-field-group{border-top:1px solid var(--os-line);margin-top:6px;padding-top:5px}.os-field-group b{display:block;font-size:10px;color:var(--os-ink)}
@media(max-width:650px){.os-toolbar .os-tools{flex:1 0 100%;justify-content:flex-start}.os-list{max-height:none}.os-table{width:100%;min-width:0;table-layout:auto}.os-table td:first-child,.os-table td:nth-child(2),.os-table th:first-child,.os-table th:nth-child(2),.os-table.pin-key td:nth-child(2),.os-table.pin-key th:nth-child(2){position:static;min-width:0;box-shadow:none}.os-table tbody td{min-width:0!important}.os-table .os-group th{display:block}.os-inline-control{flex-wrap:wrap}.os-more-menu{right:auto;left:0}}

/* 2026-10-18 · Cabecera compacta, un solo menú, chips de vistas y arreglos del arnés visual. */
.os{width:100%}/* .os es hijo de un contenedor flex: sin anchura explícita tomaba la de su contenido y desbordaba el panel (tablet 820 px). */
.os-area-row{margin:8px 0 6px}.os-area,.os-area-row .os-area{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:4px;-webkit-overflow-scrolling:touch}.os-tab{white-space:nowrap;flex:none}
.os-views{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 8px}.os-view{border:1px dashed var(--os-line);border-radius:99px;padding:4px 10px;background:transparent;color:var(--text-secondary,#42634d);font-size:11px;font-weight:700;cursor:pointer}.os-view:hover{background:var(--bg-hover,#edf7ef)}.os-view.active{border-style:solid;background:var(--status-success-bg,#e9f6ec);border-color:#a9d3b3;color:var(--accent-text,#176b38)}.os-view small{font-weight:600;opacity:.7;margin-left:5px}
.os-more-menu hr{border:0;border-top:1px solid var(--os-line);margin:2px 0}.os-more-menu .os-btn[disabled]{opacity:.45}
.os-cols-menu.is-left,.os-more-menu.is-left{left:0;right:auto}
.os-table.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s}
.os-empty-alt{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:6px;vertical-align:middle}
.os-mobile-only{display:none}.os-config>.os-btn{margin-top:8px}
@media(max-width:700px){.os-desktop-only{display:none}.os-mobile-only{display:grid}.os-btn.os-mobile-only{display:inline-block}.os-kpis{display:flex;overflow-x:auto;gap:8px;scrollbar-width:thin;padding-bottom:4px}.os-kpi{flex:0 0 46%;min-width:150px}.os-toolbar .os-label,.os-toolbar .os-label.search{flex:1 1 100%;min-width:100%}.os-toolbar .os-tools{flex:1 0 100%;justify-content:flex-start}.os-more-menu.is-left{left:0;right:auto}}
.os-sort-row{display:flex;gap:4px;align-items:stretch}.os-sort-row .os-select{flex:1;min-width:0}.os-dir{flex:none;padding:7px 8px;white-space:nowrap}.os-sort-head.active{color:var(--accent-text,#176b38)}

/* La tabla manda: indicadores en una franja, navegación y desplazamiento junto a las filas. */
.os-kpis{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;margin:6px 0;padding-bottom:3px}
.os-kpi{flex:0 0 auto;width:clamp(140px,15vw,195px);padding:5px 9px;border-radius:7px}
.os-kpi span{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-kpi strong{font-size:15px;line-height:1.2;margin-top:2px}
.os-card-head{gap:5px;padding:6px 10px}.os-card-head h2{font-size:13px}.os-list-actions{gap:5px}
.os-page-nav{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted,#68796e)}
.os-page-nav .os-btn{padding:4px 7px}
.os-order{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:5px 10px;border-bottom:1px solid var(--os-line);font-size:10px;color:var(--text-muted,#68796e)}
.os-order>span:first-child{font-weight:800}.os-order small{font-size:10px}
.os-order-rule{display:inline-flex;align-items:center;gap:3px;min-width:0}
.os-order-rule .os-select{min-width:110px;max-width:180px;min-height:27px;padding:3px 6px;font-size:10px}
.os-order-rule .os-btn{padding:4px 6px;font-size:10px}
.os-sort-head::after{content:" ↕"}.os-sort-head.active.asc::after{content:" ↑"}.os-sort-head.active.desc::after{content:" ↓"}
.os-list-actions .os-inline-control .os-select{max-width:200px}
.os-builder-order{display:grid;gap:6px;padding:9px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-code,#f8faf8)}
.os-builder-order .os-order-rule{display:flex}.os-builder-order .os-order-rule .os-select{flex:1;max-width:none}
.os-builder-order small{color:var(--text-muted,#68796e)}
.os-hscroll{height:15px;overflow-x:auto;overflow-y:hidden;scrollbar-width:auto;border-bottom:1px solid var(--os-line)}
.os-hscroll[hidden]{display:none}.os-hscroll-inner{height:1px}
.os-list{max-height:clamp(300px,calc(100dvh - 300px),720px);scrollbar-width:auto}
@media(max-width:700px){.os-kpi{width:auto;min-width:145px;flex:0 0 44%}.os-hscroll{display:none}.os-list{max-height:none}.os-order{align-items:flex-start}.os-order-rule{max-width:100%}.os-order-rule .os-select{min-width:0;max-width:155px}}

.os{padding-top:10px}.os-top h1{font-size:20px}.os-top .os-muted{font-size:10px}.os-toolbar{margin-bottom:5px}.os-area-row{margin:5px 0}.os-views{margin-bottom:5px}.os-signals{margin:4px 0}.os-card-head{padding:5px 9px}
.os-kpis{gap:5px;margin:4px 0}.os-kpi{position:relative;width:clamp(136px,13vw,178px);padding:0;flex:none;cursor:default;overflow:hidden;--kpi-accent:var(--accent-solid,#16713d);--kpi-bg:var(--bg-elevated,#fff);background:var(--kpi-bg)}
.os-kpi.green{--kpi-accent:#16713d;--kpi-bg:#f1faf3}.os-kpi.blue{--kpi-accent:#2563a7;--kpi-bg:#f0f6fd}.os-kpi.amber{--kpi-accent:#aa6b12;--kpi-bg:#fff8eb}.os-kpi.red{--kpi-accent:#b43d35;--kpi-bg:#fff3f1}.os-kpi.purple{--kpi-accent:#7751a6;--kpi-bg:#f7f2fc}
.os-kpi.pinned{position:sticky;left:0;z-index:2;box-shadow:3px 0 8px #0002}.os-kpi-main{display:block;width:100%;min-height:47px;text-align:left;border:0;background:transparent;color:inherit;padding:5px 22px 5px 8px}.os-kpi-main:hover{background:var(--bg-hover,#edf7ef)}.os-kpi-main span{font-size:10px}.os-kpi-main strong{font-size:15px;color:var(--kpi-accent)}.os-kpi-main small{display:block;font-size:9px;line-height:1.2;color:var(--text-muted,#68796e);margin-top:2px;white-space:normal}
.os-kpi-config{position:absolute;right:3px;top:3px;padding:1px 3px;border:0;border-radius:4px;background:transparent;color:var(--text-muted,#68796e);font-size:12px}.os-kpi-config:hover{background:var(--bg-hover,#e5f3e8)}
.os-kpi-bar{display:block;height:5px;margin:4px 0 1px;border-radius:99px;background:var(--os-line);overflow:hidden}.os-kpi-bar i{display:block;height:100%;border-radius:99px;background:var(--kpi-accent)}
.os-kpi-ring{display:block;position:absolute;right:9px;bottom:8px;width:21px;height:21px;border-radius:50%;background:conic-gradient(var(--kpi-accent) var(--os-fill),var(--os-line) 0)}.os-kpi-ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--kpi-bg)}
.os-metric-settings{display:flex;align-items:end;flex-wrap:wrap;gap:7px;padding:7px 9px;margin:0 0 5px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-code,#f8faf8);font-size:10px}.os-metric-settings strong{align-self:center;margin-right:3px}.os-metric-settings label{display:grid;gap:2px;font-weight:700}.os-metric-settings .os-select,.os-metric-settings .os-input{min-width:100px;max-width:160px;min-height:27px;padding:3px 5px;font-size:10px}.os-metric-settings .os-pin-option{display:flex;align-items:center;gap:4px;min-height:27px}.os-metric-settings small{flex-basis:100%;color:var(--text-muted,#68796e)}
.os-builder-metric-settings{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:6px;margin:0 0 7px;border:1px solid var(--os-line);border-radius:7px;background:var(--bg-code,#f8faf8)}.os-builder-metric-settings label{display:grid;gap:2px;font-size:10px}.os-builder-metric-settings .os-select,.os-builder-metric-settings .os-input{width:100%;min-width:0;max-width:none}.os-builder-metric-settings .os-pin-option{display:flex;align-items:center;gap:4px}

/* Dejar sitio a la tabla: empresa y búsqueda compactas, filtros bajo demanda. */
.os-toolbar .os-label.company-field{flex:0 0 145px;min-width:0;max-width:145px}
.os-toolbar .os-label.search{flex:0 1 230px;min-width:150px;max-width:250px}
.os-advanced-filters .os-label{flex:0 1 165px;min-width:130px;max-width:190px}
@media(max-width:700px){.os-toolbar .os-label.company-field{flex:1 1 120px;min-width:120px;max-width:155px}.os-toolbar .os-label.search{flex:1 1 175px;min-width:145px;max-width:none}.os-advanced-filters .os-label{flex:1 1 135px;max-width:none}}
.os-toolbar .os-add-filter{flex:0 0 170px;width:170px;min-width:150px;max-width:190px;border-color:#a5d1b0;color:#176b38;font-weight:700;align-self:end}
.os-filter-field{position:relative;flex:0 1 165px;min-width:130px;max-width:190px}
.os-advanced-filters .os-filter-field .os-label{width:100%;min-width:0;max-width:none;padding-right:18px}
.os-filter-remove{position:absolute;top:0;right:0;border:0;background:transparent;color:#68796e;font-size:15px;line-height:1;padding:0 3px}
.os-filter-remove:hover{color:#a52727}
@media(max-width:700px){.os-toolbar .os-add-filter{flex:1 1 155px;width:auto;min-width:145px;max-width:none}.os-filter-field{flex:1 1 135px;max-width:none}}
/* Un filtro permanece debajo de cada cabecera visible y comparte su desplazamiento horizontal. */
.os-table thead .os-column-filter-row th{position:sticky;top:29px;z-index:2;padding:4px 7px;background:var(--bg-code,#f8faf8);border-bottom:1px solid var(--os-line)}
.os-table thead .os-column-filter-row th:first-child{z-index:6;left:0}
.os-table.pin-key thead .os-column-filter-row th:nth-child(2){z-index:5;left:40px}
.os-column-filter-input{display:block;width:100%;min-width:0;max-width:none;height:25px;padding:2px 6px;border:1px solid var(--os-line);border-radius:5px;background:var(--bg-elevated,#fff);color:var(--os-ink);font-size:10px}
.os-column-filter-input:focus{border-color:var(--accent-solid,#16713d)}
@media(max-width:650px){.os-table thead{display:block}.os-table thead>tr:first-child{display:none}.os-table thead .os-column-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}.os-table thead .os-column-filter-row th{display:block;position:static!important;min-width:0!important;padding:0;border:0;background:transparent;box-shadow:none!important}.os-table thead .os-column-filter-row .os-filter-spacer{display:none}.os-table thead .os-column-filter-row .os-column-filter-cell::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:9px;font-weight:700;color:var(--text-muted,#68796e)}.os-column-filter-input{height:30px;font-size:11px}}

/* Cabecera operativa de una sola línea: la altura disponible se dedica a filas. */
.os{padding-top:5px;padding-bottom:14px}
.os-top{gap:6px;min-width:0}
.os-top>div:first-child{min-width:0;flex:1}
.os-top h1{font-size:18px;line-height:1.15;margin:0}
.os-top .os-muted{font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-top-actions{flex:none;gap:4px}
.os-top-actions .os-btn{padding:5px 7px}
.os-area-row{margin:3px 0}
.os-area-row .os-area{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;gap:4px;padding-bottom:2px}
.os-area-row .os-tab{flex:none;white-space:nowrap;padding:4px 7px;font-size:10px}
.os-views{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;gap:4px;margin-bottom:3px;padding-bottom:2px}
.os-views .os-view{flex:none;white-space:nowrap;padding:3px 7px;font-size:10px}
.os-toolbar{align-items:center;gap:5px;margin-bottom:3px}
.os-toolbar .os-label{display:flex;align-items:center;gap:4px;font-size:10px}
.os-toolbar .os-label>.os-select,.os-toolbar .os-label>.os-input{flex:1;min-width:0;width:auto;min-height:27px;padding:3px 6px}
.os-toolbar .os-label.company-field{flex:0 1 185px;max-width:185px}
.os-toolbar .os-label.search{flex:0 1 230px;max-width:230px}
.os-toolbar .os-tools{margin-left:auto;align-self:center;gap:4px}
.os-toolbar .os-tools .os-btn{padding:5px 7px}
.os-filter-chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin-bottom:3px;gap:4px;scrollbar-width:thin}
.os-filter-chip{flex:none;padding:3px 7px}
.os-kpis{margin:3px 0 4px;gap:4px}
.os-kpi-main{min-height:40px;padding:3px 21px 3px 7px}
.os-kpi-main span{font-size:9px}
.os-kpi-main strong{font-size:14px;margin-top:1px}
.os-signals{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin:3px 0;gap:4px;scrollbar-width:thin}
.os-signal{flex:none;padding:3px 7px}
.os-card-head{padding:4px 8px}
.os-order{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:3px 8px;gap:4px;scrollbar-width:thin}
.os-order-rule{flex:none}
.os-list{max-height:clamp(350px,calc(100dvh - 220px),1000px)}
@media(max-width:700px){.os{padding-top:6px}.os-top{align-items:center}.os-top-actions{flex-wrap:nowrap}.os-top-actions .os-btn{font-size:10px;padding:5px 6px}.os-area-row .os-area{width:100%}.os-toolbar .os-label.company-field,.os-toolbar .os-label.search{flex:1 1 150px;max-width:none;min-width:0}.os-toolbar .os-tools{flex:1 0 100%;justify-content:flex-start;margin-left:0}.os-list{max-height:none}}
@media(max-width:650px){
  .os-table thead .os-column-filter-row{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:5px;padding:5px 7px;scrollbar-width:thin}
  .os-table thead .os-column-filter-row .os-column-filter-cell{flex:0 0 118px}
  .os-table thead .os-column-filter-row .os-column-filter-cell::before{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .os-column-filter-input{height:26px}
  .os-table tbody{gap:5px;padding:5px}
  .os-table tbody tr{padding:6px 8px}
  .os-table tbody td{padding:3px 0}
  .os-table tbody td[data-label]::before{margin-bottom:1px}
}
.os-order-actions{margin-top:12px;padding:12px 0;border-top:1px solid var(--os-line);border-bottom:1px solid var(--os-line)}
.os-order-editor{margin:14px 0 20px;padding:18px;border:1px solid var(--os-line);border-radius:17px;background:var(--bg-code,#f8faf8);box-shadow:0 8px 22px #102c130b}
.os-order-editor h3{margin:4px 0 6px;font-size:18px;color:var(--os-ink)}
.os-order-editor p{line-height:1.5;margin:0 0 10px}
.os-order-editor-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}
.os-order-editor-head p,.os-order-intro{font-size:11px;color:var(--text-muted,#68796e)}
.os-order-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;align-items:end;margin:14px 0}
.os-order-fields .os-input{width:100%;border-radius:12px}
.os-order-current{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px;grid-column:1/-1}
.os-order-current>div{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--os-line);border-radius:11px;background:var(--bg-elevated,#fff)}
.os-order-current span{font-size:10px;color:var(--text-muted,#68796e)}
.os-order-current strong{font-size:12px;color:var(--os-ink);overflow-wrap:anywhere}
.os-order-editor-footer{padding-top:14px;border-top:1px solid var(--os-line)}
.os-order-editor-footer .os-btn{min-height:35px;border-radius:10px;padding:8px 12px}
.os-service-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.os-service-stats>div{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--os-line);border-radius:11px;background:var(--bg-elevated,#fff)}
.os-service-stats span{font-size:10px;color:var(--text-muted,#68796e)}
.os-service-stats strong{font-size:17px;font-variant-numeric:tabular-nums;color:var(--os-ink)}
.os-service-list{display:grid;gap:7px;margin:13px 0}
.os-service-list>strong{font-size:11px;color:var(--os-ink)}
.os-service-list>span{display:flex;justify-content:space-between;gap:9px;padding:9px 11px;border:1px solid var(--os-line);border-radius:10px;background:var(--bg-elevated,#fff);font-size:11px;color:var(--text-secondary,#52655a)}
.os-service-list>span b{flex:none;color:var(--os-ink)}
.os-order-summary{display:grid;gap:7px;margin:10px 0 14px;padding:12px;border:1px solid var(--os-line);border-radius:12px;background:var(--bg-main,#fff);font-size:12px}
.os-order-summary span{overflow-wrap:anywhere}
.os-order-suggestions{display:grid;gap:4px;max-height:170px;overflow:auto;margin-top:5px}
.os-order-suggestions[hidden]{display:none}
.os-order-suggestions .os-btn{text-align:left;white-space:normal}
.os-order-detail{width:min(900px,100%)}
.os-order-detail .os-detail-head{padding:17px 18px;border:1px solid var(--os-line);border-radius:17px;background:var(--bg-code,#f8faf8)}
.os-order-detail .os-detail-head h2{font-size:22px;line-height:1.2;letter-spacing:-.02em}
.os-order-detail .os-detail-head .os-muted{margin-top:5px;font-size:12px}
.os-order-detail .os-order-actions{margin:14px 0 0;padding:0;border:0;gap:9px}
.os-order-detail .os-order-actions .os-btn{min-height:36px;border-radius:11px;padding:8px 12px}
.os-sale-lines{margin:18px 0 24px}
.os-sale-lines-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}
.os-sale-lines-head h3{margin:4px 0 0;font-size:18px;line-height:1.25}
.os-sale-lines-head h3 .os-muted{font-size:12px;font-weight:600}
.os-sale-lines-count{flex:none;border:1px solid var(--os-line);border-radius:99px;padding:6px 10px;background:var(--bg-code,#f8faf8);color:var(--text-secondary,#42634d);font-size:11px;font-weight:700}
.os-sale-line-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.os-sale-line-totals>div{display:grid;gap:3px;min-width:0;padding:11px 13px;border:1px solid var(--os-line);border-radius:13px;background:var(--bg-code,#f8faf8)}
.os-sale-line-totals span{font-size:11px;color:var(--text-muted,#68796e)}
.os-sale-line-totals strong{font-size:19px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--os-ink)}
.os-sale-line-list{display:grid;gap:9px}
.os-sale-line{padding:14px 15px 12px;border:1px solid var(--os-line);border-radius:15px;background:var(--bg-elevated,#fff);box-shadow:0 3px 12px #102c130a}
.os-sale-line-main,.os-sale-line-bottom{display:flex;align-items:center;gap:11px}
.os-sale-line-index{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:var(--bg-code,#eef5ef);color:var(--accent-text,#176b38);font-size:12px;font-weight:800}
.os-sale-line-title{display:grid;gap:2px;min-width:0;flex:1}
.os-sale-line-title strong{font-size:13px;color:var(--os-ink);overflow-wrap:anywhere}
.os-sale-line-title>span{font-size:11px;color:var(--text-muted,#68796e);overflow-wrap:anywhere}
.os-sale-line-state{flex:none;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:800}
.os-sale-line-state.complete{background:var(--status-success-bg,#e9f6eb);color:var(--status-success-text,#216238)}
.os-sale-line-state.partial{background:var(--status-warning-bg,#fff7e7);color:var(--status-warning-text,#98631a)}
.os-sale-line-state.pending{background:var(--bg-code,#f1f4f1);color:var(--text-secondary,#52655a)}
.os-sale-line-bottom{justify-content:space-between;align-items:end;margin:13px 0 11px;flex-wrap:wrap}
.os-sale-line-measures{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.os-sale-line-measures>span{display:grid;gap:2px}
.os-sale-line-measures small{font-size:10px;color:var(--text-muted,#68796e)}
.os-sale-line-measures strong{font-size:13px;font-variant-numeric:tabular-nums;color:var(--os-ink)}
.os-sale-line-measures .has-pending strong{color:var(--status-warning-text,#98631a)}
.os-sale-line-edit{flex:none;min-height:32px;border-radius:9px;padding:6px 10px}
.os-sale-line-progress{height:6px;overflow:hidden;border-radius:99px;background:var(--os-line)}
.os-sale-line-progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent-solid,#16713d)}
@media(max-width:650px){.os-order-detail .os-detail-head{padding:13px}.os-order-detail .os-detail-head h2{font-size:19px}.os-sale-lines-head{align-items:start;flex-wrap:wrap}.os-sale-line-totals{gap:5px}.os-sale-line-totals strong{font-size:16px}.os-sale-line{padding:12px}.os-sale-line-measures{gap:12px}.os-sale-line-edit{width:100%}.os-order-current{grid-template-columns:1fr 1fr}.os-order-current>div:first-child{grid-column:1/-1}}

.os-row-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}
.os-row-action{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-elevated,#fff);color:var(--accent-text,#235b35);cursor:pointer}
.os-row-action:hover:not(:disabled),.os-row-action:focus-visible{background:var(--bg-hover,#edf7ef);border-color:var(--accent-solid,#16713d)}
.os-row-action:focus-visible{outline:2px solid var(--accent-solid,#16713d);outline-offset:2px}
.os-row-action:disabled{opacity:.45;cursor:not-allowed}
.os-row-action svg,.os-action-legend svg{display:block;flex:none;width:18px;height:18px}
.os-row-action:focus-visible::after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 7px);z-index:8;width:max-content;max-width:240px;padding:5px 8px;border-radius:6px;background:var(--text,#25332a);color:var(--bg-elevated,#fff);font-size:11px;font-weight:600;line-height:1.3;white-space:normal;box-shadow:0 3px 12px #0003;pointer-events:none}
.os-action-legend{display:none;align-items:center;gap:5px 12px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--os-line);color:var(--text-secondary,#52655a);font-size:10px;font-weight:650}
.os-action-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.os-action-legend svg{width:15px;height:15px;color:var(--accent-text,#235b35)}

/* Navegación por áreas, como las secciones del espacio Comercial. */
body:has(#panelPage:not([hidden]) > .os) #kpiPanel{display:none}
.os-area-row{display:grid;gap:1px;min-width:0;margin:5px 0 3px}
.os-area-groups,.os-area-row .os-area{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;white-space:nowrap}
.os-screen-choices{display:flex;align-items:center;gap:10px;min-width:0;min-height:30px}
.os-screen-choices .os-area{flex:1 1 auto;width:auto;min-width:0;padding:3px 0;margin:0}
.os-screen-choices .os-views{flex:0 1 auto;max-width:50%;min-width:0;margin:0;padding:3px 0 3px 10px;border-left:1px solid var(--os-line)}
.os-area-groups{border-bottom:1px solid var(--os-line)}
.os-area-group{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:31px;padding:5px 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary,#52655a);font-size:11px;font-weight:650;white-space:nowrap}
.os-area-group:hover{color:var(--os-ink);background:var(--bg-hover,#edf7ef)}
.os-area-group.active{border-bottom-color:var(--accent-solid,#16713d);color:var(--accent-text,#176b38);font-weight:800}
.os-area-group span{padding:1px 5px;border-radius:99px;background:var(--bg-code,#f1f5f1);color:var(--text-muted,#68796e);font-size:9px}
.os-area-row .os-area{margin:0;padding:4px 0 3px;gap:4px}
.os-area-row .os-tab{padding:4px 8px;font-size:10px}
.os-config-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.os-config-group{display:grid;align-content:start;gap:4px}
.os-config-group>b{font-size:10px;color:var(--accent-text,#176b38)}

/* La medida de cada columna sigue su cabecera y sus valores, salvo anchura fijada. */
.os-table{min-width:0;table-layout:fixed}
.os-table th,.os-table td{width:auto}
.os-table th:first-child,.os-table td:first-child{width:40px;min-width:40px}
.os-table th:last-child,.os-table td:last-child{white-space:nowrap}
.os-table td:not(:first-child):not(:last-child){overflow:hidden;text-overflow:ellipsis}
.os-table thead .os-column-filter-row th{min-width:0}
.os-column-filter-input{min-width:0;width:102px;max-width:100%}
.os-column-filter-select{width:100%;cursor:pointer}
.os-column-filter-input[type="date"]{width:138px}
.os-col-width::placeholder{color:var(--text-muted,#68796e)}
@media(max-width:900px){.os-screen-choices{display:grid;gap:1px}.os-screen-choices .os-views{max-width:100%;border-left:0;border-top:1px solid var(--os-line);padding:4px 0 2px}}
@media(max-width:650px){.os-area-groups{width:100%}.os-table{width:100%!important;min-width:0;table-layout:auto}.os-table colgroup{display:none}.os-table td:not(:first-child):not(:last-child){overflow:visible;text-overflow:clip}.os-table th:last-child,.os-table td:last-child{width:auto}}
@media(max-width:650px),(pointer:coarse){.os-action-legend{display:flex}.os-row-actions{flex-wrap:wrap;white-space:normal;gap:6px}.os-row-action{width:40px;height:40px}.os-row-action svg{width:20px;height:20px}}

.os-followup-summary{display:flex;flex-wrap:wrap;gap:6px}
.os-followup-summary span{padding:5px 8px;border:1px solid var(--os-line);border-radius:99px;background:var(--bg-code,#f8faf8);font-size:11px;font-weight:700}
.os-followup-list{display:grid;gap:7px}
.os-followup-item{display:grid;gap:3px;width:100%;padding:10px 12px;text-align:left;border:1px solid var(--os-line);border-radius:9px;background:var(--bg-elevated,#fff);color:var(--text,#25332a)}
.os-followup-item:hover{border-color:#9bc9a6;background:var(--bg-hover,#f3faf5)}
.os-followup-item strong{font-size:12px;overflow-wrap:anywhere}
.os-followup-item span{font-size:10px;color:var(--text-muted,#68796e);overflow-wrap:anywhere}
.os-followup-activity{display:grid;gap:8px;border-top:1px solid var(--os-line);padding-top:12px}
.os-followup-activity h3{margin:0;font-size:13px;color:var(--os-ink)}
.os-followup-activity>div{display:grid;gap:3px;padding:9px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-code,#f8faf8);font-size:11px}
.os-followup-activity>div span{font-size:10px;color:var(--text-muted,#68796e)}

/* La comprobación de Sage y cada envío agregado a IA tienen áreas distintas. */
.os-analysis-panel{width:min(720px,calc(100% - 20px))}
.os-analysis-external{display:grid;gap:10px;padding:14px;border:1px solid #a9d3b3;border-radius:11px;background:var(--bg-elevated,#fff)}
.os-analysis-external h3,.os-analysis-history h3{margin:0;color:var(--os-ink);font-size:14px}
.os-analysis-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.os-analysis-external>.os-btn,.os-analysis-egress-preview>.os-btn{justify-self:start}
.os-analysis-egress-preview{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid #d9c895;border-radius:9px;background:var(--status-warning-bg,#fff9ed);font-size:11px}
.os-analysis-egress-preview h4{margin:0;color:var(--os-ink);font-size:12px}
.os-analysis-payload{max-height:260px;max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px;border:1px solid var(--os-line);border-radius:7px;background:var(--bg-code,#f8fbf8);color:var(--os-ink);font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}
.os-analysis-history{display:grid;gap:9px;border-top:1px solid var(--os-line);padding-top:12px}
.os-analysis-history article{display:grid;gap:6px;padding:10px;border:1px solid var(--os-line);border-radius:8px;background:var(--bg-code,#f8fbf8);font-size:12px}
.os-analysis-history article small{color:var(--text-muted,#68796e)}
.os-analysis-history article p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:650px){.os-analysis-controls{grid-template-columns:1fr}}
.os-followup-activity>div p{white-space:pre-wrap;overflow-wrap:anywhere}

.os-watch-rule{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}
.os-watch-list{display:grid;gap:10px}
.os-watch-item{display:grid;gap:7px;padding:12px;border:1px solid var(--os-line);border-radius:10px;background:var(--bg-code,#f8faf8)}
.os-watch-head,.os-watch-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.os-watch-head{justify-content:space-between}.os-watch-head strong{font-size:12px;overflow-wrap:anywhere}
.os-watch-item>p{font-size:11px}.os-watch-actions .os-btn{font-size:11px}
.os-watch-runs{display:grid;gap:5px;padding-top:7px;border-top:1px solid var(--os-line)}
.os-watch-runs>div{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;font-size:10px}
.os-watch-runs>div span{color:var(--text-muted,#68796e)}
@media(max-width:650px){.os-watch-rule{grid-template-columns:1fr}}

/* 03/11/2026: en la fila de avisos (sin salto de línea) la etiqueta «Atención · N…» y el enlace «Ver todas»

   se encogían hasta una letra de ancho cuando los avisos no cabían (texto vertical en TAMOSA). No se encogen:

   la fila se desplaza en horizontal como estaba previsto. */

.os-signals>.os-signal-label,.os-signals>.os-btn{flex:none;white-space:nowrap;overflow-wrap:normal}

/* Búsqueda, orden, agrupación y paginación comparten la cabecera de la tabla. */
.os-card>.os-card-head{display:grid;grid-template-columns:max-content minmax(205px,270px) minmax(0,1fr) max-content;grid-template-areas:"title search . ." "order order order actions";align-items:start;gap:5px 10px}
.os-card-head>.os-card-title{grid-area:title;min-width:0}
.os-card-head>.os-card-search{grid-area:search;display:flex;align-items:center;gap:4px;min-width:0;font-size:10px;white-space:nowrap}
.os-card-head>.os-card-search .os-input{flex:1;min-width:0;width:100%;min-height:27px;padding:3px 6px}
.os-card-head>.os-order{grid-area:order;min-width:0;margin:0;padding:0;border:0;background:transparent;flex-wrap:wrap;overflow:visible;white-space:normal}
.os-card-head>.os-list-actions{grid-area:actions;min-width:0}
@media(max-width:1100px){.os-card>.os-card-head{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"title search" "order order" "actions actions"}.os-card-head>.os-list-actions{justify-content:flex-end}}
@media(max-width:700px){.os-card>.os-card-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "search" "order" "actions"}.os-card-head>.os-card-search{max-width:300px}.os-card-head>.os-list-actions{justify-content:flex-start;flex-wrap:wrap}}

/* Cabecera compacta de Mis pantallas: controles e indicadores comparten fila en escritorio. */
.os-workspace-head{min-width:0;margin-bottom:6px;padding:7px 9px 5px;border:1px solid color-mix(in srgb,var(--accent-solid,#16713d) 18%,var(--os-line));border-left:3px solid var(--accent-solid,#16713d);border-radius:9px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent-solid,#16713d) 5%,var(--bg-elevated,#fff)),var(--bg-elevated,#fff) 55%)}
.os-workspace-head .os-top{padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--accent-solid,#16713d) 14%,var(--os-line))}
.os-workspace-head .os-top>div:first-child{display:flex;align-items:baseline;gap:3px 10px;flex-wrap:wrap}
.os-workspace-head .os-top h1{color:var(--accent-text,#176b38);font-size:17px;letter-spacing:-.015em}
.os-workspace-head .os-top .os-muted{min-width:0;font-size:10px}
.os-workspace-head .os-top-actions{justify-content:flex-end}
.os-workspace-head .os-top-actions .os-tools{gap:4px;margin:0}
.os-workspace-head .os-top-actions .os-tools .os-btn{padding:5px 7px}
.os-workspace-head .os-area-row{margin:2px 0 3px}
.os-workspace-head .os-area-group{min-height:27px;padding:3px 9px}
.os-workspace-head .os-area-group.active{border-radius:6px 6px 0 0;background:color-mix(in srgb,var(--accent-solid,#16713d) 9%,var(--bg-elevated,#fff))}
.os-workspace-head .os-area-row .os-tab{padding:3px 8px}
.os-workspace-head .os-area-row .os-tab.active{background:color-mix(in srgb,var(--accent-solid,#16713d) 12%,var(--bg-elevated,#fff));border-color:color-mix(in srgb,var(--accent-solid,#16713d) 38%,var(--os-line));color:var(--accent-text,#176b38)}
.os-header-controls{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:4px 10px;min-width:0}
.os-header-controls>.os-toolbar{margin:0;min-width:0}
.os-header-controls>.os-kpis{min-width:0;margin:0;align-self:center}
.os-header-controls>.os-filter-chips,.os-header-controls>.os-metric-settings,.os-header-controls>.os-metric-context{grid-column:1/-1}
.os-workspace-head .os-kpi{border-color:color-mix(in srgb,var(--kpi-accent) 22%,var(--os-line));background:color-mix(in srgb,var(--kpi-accent) 7%,var(--bg-elevated,#fff))}
.os-workspace-head .os-kpi.default:nth-child(4n+2){--kpi-accent:#2563a7}
.os-workspace-head .os-kpi.default:nth-child(4n+3){--kpi-accent:#a5640d}
.os-workspace-head .os-kpi.default:nth-child(4n+4){--kpi-accent:#7653a6}
.os-workspace-head .os-kpi-main{min-height:36px;padding-top:3px;padding-bottom:3px}
.os-workspace-head .os-kpi-main strong{font-size:13px}
.os-workspace-head .os-signals{margin:3px 0 0}
.os-workspace-head+.os-card>.os-card-head{background:color-mix(in srgb,var(--accent-solid,#16713d) 4%,var(--bg-elevated,#fff))}
.os-workspace-head+.os-card>.os-order{background:color-mix(in srgb,var(--accent-solid,#16713d) 3%,var(--bg-elevated,#fff))}
@media(min-width:1420px){.os-workspace-head .os-area-row{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px}.os-workspace-head .os-area-groups{border-bottom:0;border-right:1px solid var(--os-line);padding-right:9px}.os-workspace-head .os-screen-choices{min-height:27px}}
@media(max-width:1419px){.os-header-controls{grid-template-columns:minmax(0,1fr)}.os-header-controls>.os-toolbar{justify-content:flex-start}.os-header-controls>.os-kpis{grid-column:1;max-width:100%}}
@media(max-width:700px){.os-workspace-head{padding:7px}.os-workspace-head .os-top>div:first-child{display:block}.os-workspace-head .os-top h1{font-size:16px}.os-workspace-head .os-top .os-muted{white-space:normal}.os-workspace-head .os-top-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-start}.os-workspace-head .os-top-actions .os-tools{flex:1 1 100%;flex-wrap:wrap}.os-header-controls>.os-toolbar{flex-wrap:wrap}.os-header-controls>.os-kpis{width:100%}}

/* ── Flujo de un agente (10/11/2026): «Ver flujo» y «Revisar y ver flujo» ── */
.aflow-tools{display:flex;flex-direction:column;gap:6px;margin:-4px 0 8px}
.aflow-tools>.btn{align-self:flex-start}
.aflow-guide{font-size:12.5px;color:var(--text-secondary)}
.aflow-guide summary{cursor:pointer;color:var(--accent-text);font-weight:600}
.aflow-guide ul{margin:6px 0 0;padding-left:18px}
.aflow-guide li{margin:3px 0}
.aflow-panel{border:1px solid var(--os-line,#e5e7eb);border-radius:10px;padding:12px;background:var(--bg-elevated)}
.aflow{display:flex;flex-direction:column;gap:14px}
.aflow-review{display:flex;flex-direction:column;gap:6px}
.aflow-check{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:8px;font-size:13px;line-height:1.4}
.aflow-check p{margin:2px 0 0;color:var(--text-secondary)}
.aflow-check svg{flex:none;margin-top:2px}
.aflow-check.is-error{background:var(--status-error-bg);color:var(--status-error-text)}
.aflow-check.is-aviso{background:var(--status-warning-bg);color:var(--status-warning-text)}
.aflow-check.is-ok{background:var(--status-success-bg);color:var(--status-success-text)}
.aflow-steps{list-style:none;margin:0;padding:0;position:relative}
.aflow-node{position:relative;display:flex;gap:12px;padding:0 0 14px 0}
.aflow-node:not(:last-child)::before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:var(--os-line,#e5e7eb)}
.aflow-n{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;background:var(--bg-code);color:var(--text);border:2px solid var(--os-line,#e5e7eb);z-index:1}
.aflow-body{flex:1;min-width:0;border:1px solid var(--os-line,#e5e7eb);border-radius:10px;padding:8px 12px;background:var(--panel-bg,var(--bg-elevated))}
.aflow-title{font-weight:650;font-size:14px;color:var(--text)}
.aflow-tool{font-size:12px;color:var(--text-muted);margin-top:2px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.aflow-tool code{font-size:11px;background:var(--bg-code);padding:0 4px;border-radius:4px}
.aflow-body p,.aflow-body ul{margin:6px 0 0;font-size:12.5px;color:var(--text-secondary);line-height:1.45;overflow-wrap:anywhere}
.aflow-body ul{padding-left:18px}
.aflow-node.is-sage .aflow-n{border-color:var(--accent-solid);color:var(--accent-text)}
.aflow-node.is-mailer .aflow-n{border-color:#7c3aed;color:#7c3aed}
.aflow-node.is-mailer .aflow-body{border-color:#c4b5fd}
.aflow-node.is-trigger .aflow-n,.aflow-node.is-result .aflow-n,.aflow-node.is-delivery .aflow-n{background:var(--bg-hover)}
.aflow-delivery{list-style:none;padding-left:0!important}
.aflow-delivery li{display:flex;gap:6px;align-items:flex-start;margin:3px 0}
.aflow-delivery li.is-mailer{color:#6d28d9;font-weight:600}
.aflow-mailer-note{display:flex;gap:6px;align-items:flex-start;font-size:12px!important}

/* ── Pendientes de confirmar (10/11/2026) ── */
.pend-badge{background:#d97706!important}
#pendBtn.has-pending{color:#b45309}
.pend-intro{margin:0 0 12px;color:var(--text-secondary);font-size:13.5px}
.pend-group{border:1px solid var(--os-line,#e5e7eb);border-radius:12px;padding:10px 12px;margin:0 0 12px;background:var(--bg-elevated)}
.pend-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}
.pend-origin{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;
  background:var(--bg-code);color:var(--text-secondary)}
.pend-origin.is-agent{background:var(--status-warning-bg);color:var(--status-warning-text)}
.pend-title{font-size:14px;color:var(--text);min-width:0;overflow-wrap:anywhere}
.pend-when{font-size:12px}
.pend-tipos{display:flex;flex-wrap:wrap;gap:4px}
.pend-chip{font-size:11.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--os-line,#e5e7eb);color:var(--text-secondary)}
.pend-open{margin-left:auto}
.pend-cards:empty::after{content:"Cargando…";color:var(--text-muted);font-size:12.5px}
.pend-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 8px;color:var(--status-success-text)}
.pend-empty p{margin:0;color:var(--text-secondary)}
@media (max-width:640px){.pend-open{margin-left:0}}

/* ── Favorito en cada respuesta (10/11/2026) ── */
.msg-action-fav.is-fav{color:#d97706}
.msg-action-fav.is-fav svg{fill:#f59e0b;stroke:#d97706}

/* ── Asistente del encargo (10/11/2026) ── */
.aflow-asist{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-2px 0 6px}
.aflow-asist-lbl{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--accent-text)}
.aflow-asist-fecha{font-size:12.5px;padding:4px 6px;border-radius:8px;border:1px solid var(--os-line,#e5e7eb);background:var(--bg-elevated);color:var(--text)}
.aflow-asist-mailer{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px;padding:8px;border:1px dashed #c4b5fd;border-radius:10px}
.aflow-asist-mailer select,.aflow-asist-mailer input{flex:1 1 200px;min-width:0}

/* ── «Para» editable en los envíos de APPMailing (10/11/2026) ── */
.appmailing-to{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:12.5px}
.appmailing-to>span{font-weight:600;color:var(--text-secondary)}
.appmailing-to-input{flex:1;min-width:0;font-size:13px;padding:5px 8px;border-radius:8px;border:1px solid var(--os-line,#e5e7eb);background:var(--bg-elevated);color:var(--text)}
.appmailing-to-hint{color:var(--text-muted)}

/* «Descargar los datos completos» bajo la respuesta (10/11/2026) */
.sage-downloads { margin: 14px 0 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.sage-downloads-title { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: var(--text-muted); width: 100%; }
.sage-download-btn { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; max-width: 100%;
  padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm, 6px);
  background: transparent; color: inherit; cursor: pointer; text-align: left; font: inherit; }
.sage-download-btn:hover { border-color: var(--accent); }
.sage-download-q { font-size: 11.5px; max-width: 520px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sage-download-n { font-size: 10.5px; color: var(--text-muted); }
@media (max-width: 600px) { .sage-download-q { max-width: 80vw; } }
.sage-downloads-otras { width: 100%; font-size: 11px; color: var(--text-muted); }
.sage-downloads-otras summary { cursor: pointer; margin: 2px 0 6px; }
.sage-downloads-otras .sage-download-btn { margin: 0 6px 6px 0; }

/* ---------- Portada por áreas y submenú (12/11/2026, maqueta «Mis pantallas · inicio por módulos») ---------- */
.os .os-ic{width:16px;height:16px;flex:none;vertical-align:-3px}
.os-top-title{flex:1;min-width:0}
.os-back{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid var(--os-line);border-radius:9px;background:var(--bg-elevated,#fff);color:var(--text,#25332a);cursor:pointer}
.os-back:hover{background:var(--bg-hover,#edf7ef)}
.os-back:focus-visible,.os-tile:focus-visible,.os-area-btn:focus-visible,.os-areamenu-item:focus-visible,.os-sec-h:focus-visible,.os-mini:focus-visible,.os-color:focus-visible{outline:2px solid var(--accent,#16713d);outline-offset:2px}
.os-pin{display:inline-flex;align-items:center;gap:5px}
.os-pin[aria-pressed="true"]{border-color:color-mix(in srgb,var(--accent,#16713d) 45%,var(--os-line))}
.os-pin[aria-pressed="true"] .os-ic{fill:currentColor}
.os-home{max-width:1180px}
.os-home .os-top{margin-bottom:12px}
.os-home-search{display:flex;align-items:center;gap:8px;width:320px;max-width:100%;height:38px;padding:0 11px;box-sizing:border-box;border:1px solid var(--os-line);border-radius:11px;background:var(--bg-elevated,#fff);color:var(--text-muted,#66766c);margin:0 0 10px}
.os-home-search:focus-within{border-color:var(--accent,#16713d);box-shadow:0 0 0 3px var(--accent-soft,#e3f3e7)}
.os-home-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text,#25332a);font:inherit;font-size:13px}
.os-sec{margin-top:10px;padding:6px 8px 8px;border:1px solid var(--os-line);border-radius:16px;background:var(--bg-elevated,#fff)}
.os-sec-fav{background:color-mix(in srgb,var(--accent,#16713d) 4%,var(--bg-elevated,#fff))}
.os-sec-h{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:9px;background:transparent;color:var(--text,#25332a);font:inherit;text-align:left;cursor:pointer}
.os-sec-h:hover{background:var(--bg-hover,#edf7ef)}
.os-sec-h.is-static{cursor:default}.os-sec-h.is-static:hover{background:transparent}
.os-sec-h b{font-size:12.5px;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary,#42634d)}
.os-sec-h small{font-size:11.5px;color:var(--text-muted,#66766c)}
.os-sec-h .os-caret{margin-left:auto;color:var(--text-muted,#66766c);transition:transform .15s}
.os-sec.is-collapsed .os-caret{transform:rotate(-90deg)}
.os-sec.is-collapsed .os-grid{display:none}
.os-swatch{width:10px;height:10px;border-radius:3px;background:linear-gradient(145deg,var(--mod-a),var(--mod-b));flex:none}
.os-star{display:grid;color:var(--accent-text,#176b38)}.os-star .os-ic{fill:currentColor}
.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:6px;padding:2px 0}
.os-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:14px 6px 12px;border:0;border-radius:13px;background:transparent;color:var(--text,#25332a);font:inherit;text-align:center;cursor:pointer;transition:background .15s;animation:osTile .32s cubic-bezier(.34,1.56,.64,1) both}
.os-tile:hover{background:var(--bg-hover,#edf7ef)}
.os-tile-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--mod-a),var(--mod-b));box-shadow:0 6px 14px -6px var(--mod-b),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.os-tile-icon .os-ic{width:24px;height:24px}
.os-tile:hover .os-tile-icon{transform:translateY(-2px) rotate(-5deg)}
.os-tile-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.2}
.os-tile-sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--text-muted,#66766c);line-height:1.25}
.os-tile-own{position:absolute;top:7px;left:9px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mod-b)}
.os-home-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 12px;text-align:center;color:var(--text-muted,#66766c)}
.os-home-empty .os-ic{width:26px;height:26px}.os-home-empty b{color:var(--text,#25332a)}
@keyframes osTile{from{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:none}}
/* Personalizar */
.os-home-config{border:1px solid var(--os-line);border-radius:14px;background:var(--bg-elevated,#fff);padding:12px 14px;margin:0 0 12px}
.os-home-config-head{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.os-home-config-head>div{flex:1;min-width:220px}.os-home-config-head strong{font-size:13px}
.os-home-config-head .os-btn{display:inline-flex;align-items:center;gap:5px}
.os-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.os-mod{border:1px solid var(--os-line);border-radius:12px;padding:8px 10px;background:var(--bg,#f9f9f9);min-width:0}
.os-mod.is-hidden{opacity:.6}
.os-mod-h{display:flex;align-items:center;gap:5px}
.os-mod-name{flex:1;min-width:0;font-weight:650}
.os-mini{display:grid;place-items:center;width:28px;height:28px;flex:none;border:0;border-radius:7px;background:transparent;color:var(--text-muted,#66766c);cursor:pointer}
.os-mini:hover:not(:disabled){background:var(--bg-hover,#edf7ef);color:var(--text,#25332a)}
.os-mini:disabled{opacity:.35;cursor:default}
.os-mini[aria-pressed="true"]{color:var(--accent-text,#176b38)}
.os-colors{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}
.os-color{width:20px;height:20px;border-radius:6px;border:2px solid transparent;background:linear-gradient(145deg,var(--mod-a),var(--mod-b));cursor:pointer;padding:0}
.os-color[aria-pressed="true"]{border-color:var(--text,#25332a)}
.os-mod-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.os-mod-item{display:flex;align-items:center;gap:6px;min-width:0}
.os-mod-item label{flex:1;min-width:0;display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}
.os-mod-item label span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.os-mod-item .os-mini[aria-pressed="true"] .os-ic{fill:currentColor}
.os-mod-item input{accent-color:var(--accent-solid,#16713d)}
.os-mod-item.is-off label{color:var(--text-muted,#66766c)}
/* Submenú: «Área ▾» + pestañas de esa área */
.os-subnav{display:flex;align-items:center;gap:10px;margin:10px 0 8px;border-bottom:1px solid var(--os-line);min-width:0}
.os-areamenu{position:relative;flex:none}
.os-areamenu>summary{list-style:none}.os-areamenu>summary::-webkit-details-marker{display:none}
.os-area-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;margin-bottom:6px;border:1px solid var(--os-line);border-radius:999px;background:color-mix(in srgb,var(--mod-b) 9%,transparent);color:var(--text,#25332a);font-size:13px;cursor:pointer;user-select:none}
.os-area-btn b{font-weight:650}
.os-area-btn:hover{border-color:var(--mod-b)}
.os-area-btn .os-caret{width:14px;height:14px;color:var(--text-muted,#66766c);transition:transform .15s}
.os-areamenu[open] .os-area-btn .os-caret{transform:rotate(180deg)}
.os-areamenu .os-areamenu-list{left:0;right:auto;min-width:220px;display:grid;gap:2px;padding:6px}
.os-areamenu-item{display:flex!important;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text,#25332a);font:inherit;font-size:13px;text-align:left;cursor:pointer;justify-content:flex-start}
.os-areamenu-item:hover{background:var(--bg-hover,#edf7ef)}
.os-areamenu-item.active{background:color-mix(in srgb,var(--mod-b) 12%,transparent);font-weight:650}
.os-areamenu-n{flex:1;min-width:0}.os-areamenu-item small{color:var(--text-muted,#66766c);font-size:12px}
.os-subnav .os-subtabs{display:flex;gap:2px;flex:1;min-width:0;margin:0;padding:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.os-subnav .os-subtabs::-webkit-scrollbar{display:none}
.os-subnav .os-tab{display:inline-flex;align-items:center;gap:6px;flex:none;height:42px;padding:0 11px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--text-muted,#66766c);font-size:13px;font-weight:500;white-space:nowrap}
.os-subnav .os-tab:hover{color:var(--text,#25332a);background:none}
.os-subnav .os-tab.active{color:var(--text,#25332a);font-weight:650;border-bottom-color:var(--mod-b);background:none}
.os-subnav .os-tab.active .os-ic{color:var(--mod-b)}
:root[data-theme="dark"] .os-subnav .os-tab.active{border-bottom-color:var(--mod-a)}:root[data-theme="dark"] .os-subnav .os-tab.active .os-ic,:root[data-theme="dark"] .os-tile-own{color:var(--mod-a)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .os-subnav .os-tab.active{border-bottom-color:var(--mod-a)}:root:not([data-theme="light"]) .os-subnav .os-tab.active .os-ic,:root:not([data-theme="light"]) .os-tile-own{color:var(--mod-a)}}
@media (max-width:700px){
  .os-home-search{width:100%}
  .os-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
  .os-tile{padding:12px 2px 10px}.os-tile-icon{width:48px;height:48px}
  .os-subnav{gap:8px}.os-subnav .os-tab{height:40px;padding:0 9px}
  .os-pin{padding-left:8px;padding-right:8px}
}
@media (prefers-reduced-motion:reduce){.os-tile{animation:none}.os-tile-icon,.os-sec-h .os-caret{transition:none}}
