/* Gabinetes Redes · tema oscuro de operación */
:root{color-scheme:dark;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;font-synthesis:none;color:var(--text);background:var(--background);--background:#0f1220;--surface:#191e30;--raised:#20263b;--text:#e7eaf3;--muted:#a8b2c9;--line:#2d344b;--blue:#83abff;--blue-dark:#2459d8;--action:#2563eb;--on-accent:#ffffff;--purple:#a494ff;--green:#63c7aa;--orange:#ffae7b;--red:#ff8199;--blue-soft:#1d2d4d;--purple-soft:#2b2546;--green-soft:#18382f;--orange-soft:#3d2a25;--red-soft:#3d2333}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--blue)}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:var(--surface);color:var(--text);min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}textarea{resize:vertical;line-height:1.5}label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;color:var(--muted);font-weight:550}button{border:0;background:none;color:inherit;font-weight:600}h1,h2,h3,p{margin:0}h1{font-size:1.8rem;line-height:1.2;letter-spacing:-.035em}h2{font-size:1.06rem;line-height:1.4;letter-spacing:-.015em}h3{font-size:1rem}p{line-height:1.5}.muted{color:var(--muted);font-size:.875rem;margin-top:7px}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:750;color:var(--blue);margin-bottom:10px}.small{font-size:.75rem}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;padding:11px 16px;font-size:.875rem;min-height:42px;text-decoration:none}.primary{background:var(--blue);color:var(--on-accent)}.primary:hover{background:var(--blue-dark)}.secondary{background:var(--surface);border:1px solid var(--line)}.secondary:hover{background:var(--blue-soft)}.danger{background:var(--red-soft);border:1px solid var(--line);color:var(--red)}.wide{width:100%}.icon-btn{font-size:1.3rem;width:38px;min-height:38px;border-radius:7px;flex-shrink:0}.icon-btn:hover{background:var(--raised)}.text-button{color:var(--blue);font-size:.875rem;padding:5px}.small-btn{padding:7px 12px;min-height:34px}.error{color:var(--red);font-size:.875rem;margin:12px 0;white-space:pre-wrap}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:var(--surface);border-right:1px solid var(--line);padding:27px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);padding:0 6px;font-size:1.2rem;font-weight:750;letter-spacing:-.025em}.brand small{display:block;font-size:.75rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:4px}.nav-label{font-size:.7rem;letter-spacing:.12em;color:var(--muted);font-weight:650;margin:42px 12px 13px}.nav{display:flex;align-items:center;gap:11px;text-align:left;padding:12px 11px;border-radius:8px;color:var(--muted);font-size:.875rem;margin-bottom:5px;min-height:44px}.nav:hover{background:var(--raised)}.nav.active{background:var(--blue-soft);color:var(--blue)}.nav-icon{font-size:1.2rem;width:21px;text-align:center}.bottom-label{margin-top:35px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding:22px 10px 0;border-top:1px solid var(--line);color:var(--muted)}.sidebar-bottom strong{font-size:.8rem;color:var(--text);font-weight:550}.main-shell{margin-left:224px}.topbar{height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface);font-size:.875rem;color:var(--muted)}.topbar strong{color:var(--text)}.slash{margin:0 12px;color:var(--muted)}.account{display:flex;align-items:center;gap:18px}.account-btn{border-left:1px solid var(--line);padding-left:18px;font-size:.875rem;color:var(--text)}#current-date{font-size:.8rem}main{padding:30px 32px 18px;max-width:1760px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.heading-actions{display:flex;gap:9px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px #0000000d}.filters{display:grid;grid-template-columns:minmax(200px,1.5fr) 1fr 1.3fr 1fr 160px 34px;gap:15px;padding:19px;align-items:end}.reset-filter{margin-bottom:2px}.category-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:19px 0}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{font-size:.8rem;border:1px solid var(--line);border-radius:6px;padding:8px 11px;color:var(--muted);background:var(--surface)}.pill:hover{border-color:var(--blue)}.pill.selected{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}.inline-label{flex-direction:row;align-items:center;gap:9px;font-size:.8rem;white-space:nowrap}.inline-label select{width:auto;font-size:.8rem;padding:8px;min-height:36px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:21px;position:relative;overflow:hidden}.metric:first-child{background:var(--surface);border-color:var(--surface);color:var(--on-accent)}.metric-label{font-size:.875rem;font-weight:550;display:flex;justify-content:space-between;gap:8px;color:var(--muted)}.metric:first-child .metric-label{color:var(--muted)}.metric-value{font-size:2.2rem;line-height:1.15;font-weight:700;letter-spacing:-.04em;margin:15px 0 7px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:.75rem}.metric:first-child small{color:var(--muted)}.metric-symbol{font-size:1rem;color:var(--muted)}.metric:first-child .metric-symbol{color:var(--muted)}.overview{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:20px;margin-bottom:22px}.monthly-panel,.alerts-panel{padding:22px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.section-heading .muted{font-size:.8rem}.chart-note{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:18px}.month-table{width:100%;border-collapse:collapse;font-size:.8rem}.month-table th{text-align:right;font-size:.7rem;color:var(--muted);letter-spacing:.04em;font-weight:650;padding:0 0 13px}.month-table th:first-child{text-align:left}.month-table td{padding:8px 0;border-top:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.month-table td:first-child{text-align:left;width:48%}.month-button{display:flex;align-items:center;gap:12px;width:100%;font-size:.8rem;font-weight:500;text-align:left;padding:0 9px 0 0}.month-button span:first-child{width:69px;flex-shrink:0;color:var(--muted)}.bar-track{width:100%;background:var(--raised);border-radius:3px;height:16px;overflow:hidden}.bar{height:100%;background:var(--blue);min-width:3px;border-radius:3px}.month-button:hover .bar{background:var(--blue-dark)}.month-total{font-weight:750;color:var(--blue);padding-right:5px!important}.color-filamentos{color:var(--blue)!important}.color-bandejas{color:var(--purple)!important}.color-infraestructura{color:var(--orange)!important}.attention-mark{background:var(--orange-soft);color:var(--orange);border-radius:6px;width:26px;height:26px;display:grid;place-items:center;font-weight:750}.alert-row{display:flex;align-items:center;gap:12px;width:100%;padding:15px 0;text-align:left;border-bottom:1px solid var(--line)}.alert-row:first-child{padding-top:1px}.alert-number{width:39px;height:36px;border-radius:7px;background:var(--red-soft);color:var(--red);font-size:1rem;display:grid;place-items:center;font-variant-numeric:tabular-nums;flex-shrink:0}.alert-row:nth-child(2) .alert-number{background:var(--orange-soft);color:var(--orange)}.alert-row:nth-child(3) .alert-number,.alert-row:nth-child(4) .alert-number{background:var(--blue-soft);color:var(--muted)}.alert-row strong{font-size:.8rem;font-weight:600;display:block}.alert-row small{font-size:.75rem;color:var(--muted);font-weight:400;display:block;margin-top:4px}.alert-chevron{margin-left:auto;color:var(--muted)}.table-panel{overflow:hidden}.table-heading{padding:23px 22px 0;margin-bottom:19px;align-items:center}.count-badge{display:inline-block;padding:2px 7px;border-radius:5px;background:var(--blue-soft);color:var(--blue);font-size:.8rem;margin-left:7px}.table-scroll{overflow:auto}.cabinet-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;white-space:nowrap}.cabinet-table th{font-weight:550;font-size:.75rem;color:var(--muted);background:var(--raised);padding:13px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cabinet-table th:first-child,.cabinet-table td:first-child{padding-left:22px}.cabinet-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}.cabinet-table tr:hover td{background:var(--raised)}.cabinet-name{color:var(--text);font-weight:650;font-size:.875rem;text-align:left;padding:0}.cabinet-name:hover{color:var(--blue);text-decoration:underline}.cell-sub{color:var(--muted);font-size:.75rem;margin-top:5px;display:block}.tags{display:flex;flex-wrap:wrap;gap:4px;max-width:215px}.tag{display:inline-flex;align-items:center;padding:4px 7px;font-size:.7rem;border:1px solid var(--line);color:var(--blue);background:var(--blue-soft);border-radius:4px;font-weight:550}.tag.bandejas{color:var(--purple);background:var(--purple-soft);border-color:var(--line)}.tag.infraestructura{color:var(--orange);background:var(--orange-soft);border-color:var(--line)}.tag.neutral{color:var(--muted);background:var(--raised);border-color:var(--line)}.status-tag{border-radius:5px;padding:5px 8px;background:var(--orange-soft);color:var(--orange);font-size:.75rem;font-weight:600}.status-tag.gestion{background:var(--blue-soft);color:var(--blue)}.status-tag.closed{background:var(--green-soft);color:var(--green)}.status-tag.plan{background:var(--raised);color:var(--muted)}.age{font-size:.9rem;font-weight:650;font-variant-numeric:tabular-nums}.age.old{color:var(--red)}.incident{font-size:.8rem;color:var(--muted);white-space:normal;min-width:150px;max-width:215px;overflow-wrap:anywhere}.pagination{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;font-size:.8rem;color:var(--muted)}.pagination>div{display:flex;gap:7px}.filter-chip{margin:0 22px 15px;display:inline-flex;gap:12px;align-items:center;padding:7px 10px;background:var(--orange-soft);border:1px solid var(--line);border-radius:5px;font-size:.8rem;color:var(--orange)}.empty{padding:38px 20px;text-align:center;color:var(--muted);font-size:.875rem}.empty strong{display:block;color:var(--text);font-size:1rem;margin-bottom:7px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:19px;font-size:.75rem;color:var(--muted);line-height:1.5}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:12vh 9vw;background:var(--background);color:var(--on-accent);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.login-brand .eyebrow{margin-top:55px;color:var(--muted);font-size:.75rem}.login-brand h1{font-size:2.9rem;line-height:1.18;margin:12px 0 24px;letter-spacing:-.035em}.login-brand p{color:var(--muted)}.login-rule{height:1px;background:var(--blue);width:70px;margin:38px 0 20px}.muted-light{font-size:.8rem}.login-box{display:grid;place-items:center;background:var(--surface);padding:40px}.login-box form{width:100%;max-width:350px}.login-box h2{font-size:1.9rem;margin:15px 0 35px}.login-box label{margin-top:20px}.login-box .primary{margin-top:10px}dialog{border:1px solid var(--line);padding:0;box-shadow:0 25px 100px #080b1488;color:var(--text);background:var(--surface);max-height:94vh}dialog::backdrop{background:#080b1488;backdrop-filter:blur(2px)}.modal{width:min(760px,calc(100vw - 30px));border-radius:12px}.detail-dialog{width:min(810px,100vw);height:100dvh;max-height:100dvh;position:fixed;inset:0 0 0 auto;margin:0;border-radius:0;border-right:0}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 27px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.dialog-header h2{font-size:1.35rem;overflow-wrap:anywhere}.dialog-body{padding:24px 27px}.dialog-body>p{font-size:.875rem}.dialog-footer{padding:18px 27px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface);z-index:2}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:1/-1}.form-section{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.08em;margin:27px 0 16px;padding-top:23px;border-top:1px solid var(--line)}.form-section:first-child{border:0;padding:0;margin-top:0}.checkboxes{display:flex;flex-wrap:wrap;gap:16px;padding:12px 0}.checkboxes label{flex-direction:row;align-items:center;gap:7px}.checkboxes input{width:17px;min-height:17px;accent-color:var(--blue)}.notice{background:var(--blue-soft);border:1px solid var(--line);color:var(--blue);border-radius:7px;padding:13px 15px;font-size:.8rem;line-height:1.55;margin:0 0 20px}.notice.warning{background:var(--orange-soft);border-color:var(--line);color:var(--orange)}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:23px}.fact{background:var(--raised);border-radius:7px;padding:14px}.fact strong{font-size:1.2rem;display:block;margin:5px 0}.fact span{font-size:.75rem;color:var(--muted)}.history-entry{border-left:2px solid var(--line);padding:0 0 20px 15px;margin-left:4px}.history-entry strong{font-size:.875rem}.history-entry p{font-size:.8rem;color:var(--muted);margin-top:6px;white-space:pre-wrap}.history-entry small{font-size:.75rem;color:var(--muted);display:block;margin-top:4px}.source-table{width:100%;border-collapse:collapse;font-size:.8rem}.source-table th,.source-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.source-table th{font-size:.75rem;color:var(--muted);background:var(--raised)}.source-table td{overflow-wrap:anywhere}.source-table small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem}.original-notes{white-space:pre-wrap;font-size:.8rem;line-height:1.7;color:var(--muted);background:var(--raised);padding:12px 14px;border-radius:6px}.upload-zone{border:1.5px dashed var(--blue);border-radius:9px;padding:30px 22px;text-align:center;background:var(--blue-soft);margin:22px 0}.upload-zone input{margin:17px auto 0;background:var(--surface);max-width:470px}.upload-zone strong{font-size:1rem;color:var(--blue)}.upload-zone p{font-size:.8rem;color:var(--muted);margin-top:9px}.preview-card{border:1px solid var(--line);border-radius:8px;padding:17px;margin:14px 0}.preview-card h3{overflow-wrap:anywhere}.preview-stats{display:flex;gap:20px;margin:14px 0;font-size:.8rem;color:var(--muted)}.preview-stats strong{font-size:1.3rem;display:block;color:var(--text);margin-bottom:4px}.preview-issues{font-size:.8rem;color:var(--orange);line-height:1.6;margin-top:10px}.help-list{font-size:.875rem;line-height:1.7;padding-left:22px;margin:10px 0 25px}.help-list li{margin-bottom:13px}.tab-line{display:flex;gap:15px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab-line button{padding:12px 2px;border-bottom:2px solid transparent;color:var(--muted);font-size:.875rem}.tab-line button.selected{border-color:var(--blue);color:var(--blue)}#toast{position:fixed;right:25px;bottom:25px;background:var(--text);color:var(--surface);box-shadow:0 5px 25px #080b1488;padding:14px 20px;border-radius:9px;z-index:1000;font-size:.875rem;max-width:min(500px,calc(100vw - 30px));line-height:1.5}#toast.bad{background:var(--red)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1700px){h1{font-size:2rem}.cabinet-table td{padding-top:18px;padding-bottom:18px}.overview{grid-template-columns:2.2fr 1fr}}
@media(max-width:1250px){.sidebar{width:192px;padding:25px 12px}.main-shell{margin-left:192px}main{padding:24px 22px}.topbar{padding:0 22px}.filters{grid-template-columns:1.6fr 1fr 1.3fr}.filters label:nth-child(4){grid-column:1}.reset-filter{align-self:end}.category-row{align-items:flex-start}.page-heading{align-items:flex-start}h1{font-size:1.5rem}.heading-actions{flex-shrink:0}.overview{grid-template-columns:minmax(0,1.65fr) minmax(245px,1fr)}.metrics{gap:10px}.metric{padding:18px}.metric-label{font-size:.8rem}.monthly-panel,.alerts-panel{padding:18px}.month-table th{font-size:.67rem}.category-row .pills{gap:5px}.pill{padding:7px 9px}.account{gap:10px}}
@media(max-width:980px){.sidebar{position:relative;inset:auto;width:100%;padding:15px 20px;flex-direction:row;align-items:center;gap:12px;overflow-x:auto;border-bottom:1px solid var(--line);border-right:0}.brand{margin-right:auto;flex-shrink:0}.brand small{display:none}.sidebar .nav-label,.sidebar-bottom{display:none}.nav{margin:0;white-space:nowrap;padding:8px;font-size:.8rem}.nav-icon{display:none}.main-shell{margin:0}.topbar{height:56px}.metrics{grid-template-columns:repeat(4,1fr)}.overview{grid-template-columns:1.7fr 1fr}.category-row{flex-direction:column;align-items:stretch}.category-row>.inline-label{align-self:flex-end}.page-heading{gap:10px}.heading-actions{flex-direction:column}.login-brand{padding:10vh 7vw}.login-brand h1{font-size:2.3rem}}
@media(max-width:720px){main{padding:22px 14px}.topbar{padding:0 15px}.account #current-date{display:none}.sidebar{gap:4px;padding:12px}.brand{font-size:1rem;padding:0 4px}.brand img{width:30px;height:30px}.sidebar .nav{font-size:.75rem}.sidebar .nav[data-action=users],.sidebar .nav[data-action=help]{display:none}.page-heading{flex-direction:column;gap:15px}.heading-actions{flex-direction:row;width:100%}.heading-actions button{flex:1}.filters{grid-template-columns:1fr 1fr;gap:12px;padding:15px}.filters .search-field{grid-column:1/-1}.filters label:nth-child(4){grid-column:auto}.filters .reset-filter{grid-column:2;justify-self:end}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric-value{font-size:1.9rem;margin-top:12px}.metric small{font-size:.7rem}.overview{grid-template-columns:1fr}.alerts-panel{padding:18px}.alerts-panel #alerts{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.alert-row:first-child{padding-top:15px}.alert-row strong{font-size:.75rem}.alert-row small{font-size:.7rem}.table-heading{flex-direction:column;align-items:flex-start;padding:20px 16px 0}.table-heading .inline-label{align-self:flex-end}.monthly-panel{padding:18px 14px}.month-table th{font-size:.65rem}.month-button{gap:7px}.month-button span:first-child{width:58px;font-size:.75rem}.month-table td:first-child{width:43%}.pagination{padding:15px;gap:10px}footer{flex-direction:column;gap:5px}.login-screen{grid-template-columns:1fr}.login-brand{padding:35px 30px;min-height:260px}.login-brand h1{font-size:1.8rem;margin:0 0 12px}.login-brand h1 br{display:none}.login-brand img{width:42px;height:42px}.login-brand .eyebrow{margin-top:20px}.login-brand .login-rule,.login-brand .muted-light{display:none}.login-brand p{font-size:.875rem}.login-box{padding:35px 25px}.login-box h2{font-size:1.5rem;margin:10px 0 20px}.dialog-header{padding:20px}.dialog-body{padding:20px}.dialog-footer{padding:15px 20px}.form-grid{gap:16px;grid-template-columns:1fr}.span-2{grid-column:auto}.detail-facts{gap:8px}.fact{padding:11px}.fact strong{font-size:1rem}.form-section{font-size:.7rem}.modal{max-height:94dvh}.preview-stats{gap:15px}.source-table{min-width:570px}.sidebar .nav[data-action=imports]{display:none}.sidebar .nav[data-action=home]{display:none}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s}.bar{transition:width .25s}}

/* Fechas completas por mes. */
.overview{align-items:start}
.month-table{min-width:510px}
.month-table .month-summary td{padding-top:16px;padding-bottom:10px;background:var(--surface)}
.month-table .month-summary:first-child td{border-top:1px solid var(--line)}
.month-button{padding-left:8px;gap:10px}
.month-button span:first-child{width:145px;font-weight:650;text-transform:capitalize}
.month-button[aria-pressed="true"] span:first-child{color:var(--blue)}
.month-table .date-row td{padding-top:0;padding-bottom:0}
.date-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;width:100%;padding:8px 16px 8px 22px;text-align:left;color:var(--muted);font-size:.82rem;font-weight:500}
.date-button span{color:var(--muted);font-size:1.1rem}
.date-button:hover{text-decoration:underline;color:var(--blue)}
.month-table .selected-date td{background:var(--blue-soft)}
.selected-date .date-button{color:var(--blue);font-weight:650}
.cabinet-date{display:block;line-height:1.8}
.highlighted-date{color:var(--blue);font-weight:650}
@media(pointer:coarse){.date-button{min-height:44px}}

/* Densidad, contraste y acentos de la referencia visual. */
.sidebar{background:#131728;width:212px;padding:24px 16px}
.main-shell{margin-left:212px}
.topbar{background:var(--background);height:64px;border-color:var(--line)}
main{padding-top:24px}
h1{font-size:1.65rem;letter-spacing:-.025em}
.page-heading{margin-bottom:22px}
.eyebrow{color:var(--purple);font-size:.75rem;letter-spacing:.1em}
.brand small{font-size:.75rem}
.nav.active{background:linear-gradient(100deg,#18336088,#19213b);border:1px solid #32456f;color:var(--text)}
.nav{border:1px solid transparent;min-height:42px}
.nav-label{color:var(--muted);font-size:.75rem;letter-spacing:.1em}
.nav:hover,.icon-btn:hover{background:var(--raised);color:var(--text)}
.primary{background:var(--action);color:var(--on-accent);box-shadow:0 4px 14px #0b46ed24}
.primary:hover{background:var(--blue-dark)}
.secondary{background:var(--raised);color:var(--text)}
.secondary:hover{background:#29334d}
input,select,textarea{background:#141a2b;border-color:#39435c;color:var(--text)}
input::placeholder,textarea::placeholder{color:#8d9ab5;opacity:1}
label{color:var(--muted);font-size:.875rem}
.card{box-shadow:0 8px 22px #05081219;border-radius:12px}
.metrics{gap:14px}
.metric,.metric:first-child{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:20px;--metric-accent:var(--purple)}
.metric::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--metric-accent)}
.metric:nth-child(2){--metric-accent:var(--orange)}
.metric:nth-child(3){--metric-accent:var(--blue)}
.metric:nth-child(4){--metric-accent:var(--green)}
.metric-label,.metric:first-child .metric-label{color:var(--muted);font-size:.875rem;align-items:center}
.metric-symbol,.metric:first-child .metric-symbol{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--metric-accent);background:color-mix(in srgb,var(--metric-accent) 12%,transparent);font-size:1.05rem;flex-shrink:0}
.metric-value{font-size:2rem;margin-top:12px;letter-spacing:-.025em}
.metric small,.metric:first-child small{font-size:.75rem;color:var(--muted)}
.monthly-panel,.alerts-panel{padding:22px}
.section-heading .muted,.chart-note{font-size:.8125rem;color:var(--muted)}
.month-table,.date-button{font-size:.875rem}
.month-table th{font-size:.75rem;color:var(--muted)}
.month-table .month-summary td{background:#161e32;border-color:var(--line)}
.month-table .date-row td{border-color:#252e43}
.month-button{font-size:.875rem}
.month-button span:first-child{color:var(--text);font-size:.875rem;width:154px}
.bar-track{background:#252d45;height:17px}
.bar{background:linear-gradient(90deg,#2264f6,#5288ff)}
.month-button:hover .bar{background:#74a3ff}
.date-button{color:var(--muted);padding-top:9px;padding-bottom:9px;min-height:40px}
.month-total{color:var(--text)}
.month-table .selected-date td{background:var(--blue-soft)}
.month-button[aria-pressed="true"] span:first-child,.date-button:hover{color:var(--blue)}
.cabinet-table{font-size:.875rem}
.cabinet-table th{background:#161d2f;font-size:.875rem}
.cabinet-table td{border-color:#293147;padding-top:18px;padding-bottom:18px}
.cabinet-table tr:hover td{background:#1c253b}
.cabinet-name{color:var(--text);font-size:.9375rem}
.cell-sub,.source-table small,.original-notes,.history-entry p{color:var(--muted);font-size:.8125rem}
.tag{font-size:.75rem;color:var(--blue);background:var(--blue-soft);border-color:#354b78}
.tag.bandejas{color:var(--purple);background:var(--purple-soft);border-color:#4b3c70}
.tag.infraestructura{color:var(--orange);background:var(--orange-soft);border-color:#694233}
.tag.neutral{background:var(--raised);color:var(--muted);border-color:#45516a}
.status-tag{color:var(--orange);background:var(--orange-soft);font-size:.8125rem}
.status-tag.closed{color:var(--green);background:var(--green-soft)}
.status-tag.gestion{color:var(--purple);background:var(--purple-soft)}
.status-tag.plan{color:var(--blue);background:var(--blue-soft)}
.alert-row strong{color:var(--text);font-size:.875rem}
.alert-row small{font-size:.8125rem}
.pill{background:var(--surface);font-size:.875rem;padding:8px 12px}
.pill.selected{background:var(--blue-soft);border-color:#5177ba;color:#b4ccff}
.inline-label,.inline-label select{font-size:.875rem}
.filter-chip{background:var(--blue-soft);color:#bed2ff;border:1px solid #365386;font-size:.8125rem}
.login-screen{background:var(--background)}
.login-brand{background:radial-gradient(ellipse at 0 10%,#343064 0,transparent 62%),linear-gradient(145deg,#171c34,#101728)}
.login-brand h1{color:var(--text)}
.login-box{background:var(--background)}
.login-brand .eyebrow{color:#b7a6ff}
.login-brand p{color:#bec9e0}
.login-rule{background:#555382}
dialog{background:var(--surface);border-color:#3d4862;color:var(--text)}
dialog::backdrop{background:#070b15b8}
.dialog-header,.dialog-footer{background:var(--surface)}
.notice{color:#bad0fa;background:var(--blue-soft);border-color:#395480}
.notice.warning,.preview-issues{color:#ffc598;background:var(--orange-soft)}
.notice.warning{border-color:#624838}
.preview-issues{padding:10px;border-radius:6px}
.source-table th{background:#151c2e;color:var(--muted)}
.form-section{color:var(--muted);font-size:.8125rem}
.fact{background:var(--raised)}
.fact strong{color:var(--text)}
.upload-zone{background:#141d31;border-color:#5874ad}
.upload-zone strong{color:#bbceff}
.upload-zone input{background:var(--surface)}
.preview-stats strong{color:var(--text)}
.error{color:#ff9dad}
.danger{background:var(--red-soft);border-color:#76405b;color:#ff9cad}
#toast{background:#193b33;color:#a9ebd6;border:1px solid #326554}
#toast.bad{background:#442334;color:#ffbdc9;border-color:#774357}
.pagination{color:var(--muted)}
.small-btn{font-size:.8125rem}
.upload-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.upload-summary strong{font-size:.875rem;color:var(--text)}
.cases-panel{padding:22px;margin-bottom:22px}
.cases-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;font-variant-numeric:tabular-nums}
.cases-table th{background:#161e32;color:var(--muted);font-weight:550;font-size:.8125rem;text-transform:capitalize;padding:14px 12px;text-align:center;min-width:132px;border-bottom:1px solid var(--line)}
.cases-table th:first-child{position:sticky;left:0;z-index:1;min-width:166px;text-align:left;background:#191f32;border-right:1px solid var(--line)}
.cases-table tbody th{font-size:.875rem}
.cases-table td{padding:6px 10px;text-align:center;border-bottom:1px solid #293147}
.cases-table tbody tr:last-child td,.cases-table tbody tr:last-child th{border-bottom:0}
.case-count{min-height:40px;min-width:54px;border-radius:7px;font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums}
.case-count:hover{background:var(--raised)}
.case-label{display:inline-block;padding-left:10px;border-left:3px solid currentColor;white-space:nowrap}
@media(max-width:720px){.cases-panel{padding:18px 14px}.cases-table th:first-child{min-width:150px}.cases-table th{min-width:126px}}
@media(max-width:1250px){.sidebar{width:192px}.main-shell{margin-left:192px}.month-table th{font-size:.75rem}.metric-label{font-size:.875rem}}
@media(max-width:980px){.sidebar{width:100%;padding:14px 18px}.main-shell{margin-left:0}.topbar{height:56px}}
@media(max-width:720px){h1{font-size:1.5rem}.sidebar{padding:12px}.monthly-panel,.alerts-panel{padding:18px 14px}.month-table th{font-size:.75rem}.month-button span:first-child{width:154px;font-size:.875rem}.metric{padding:16px}.metric-label{font-size:.8125rem}.metric-value{font-size:1.85rem}.metric small{font-size:.75rem}.alerts-panel #alerts{grid-template-columns:1fr}.nav{font-size:.8125rem}.login-brand h1{font-size:1.8rem}}
