@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap";body{box-sizing:border-box;margin:0;padding:0}.ss-wrapper{min-width:150px;position:relative}.ss-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted,#9ca3af);margin-bottom:4px;font-size:10px;font-weight:600;line-height:1;display:block}.ss-trigger{width:100%;min-height:34px;color:var(--text-primary,#111827);background:var(--surface,#fff);border:1px solid var(--border-strong,#00000024);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;font-family:DM Sans,sans-serif;font-size:12.5px;transition:border-color .2s,box-shadow .2s,background .15s;display:flex;overflow:hidden}.ss-trigger:hover{border-color:#94a3b8}.ss-trigger:focus,.ss-trigger.ss-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ss-trigger.ss-disabled{opacity:.45;cursor:not-allowed;background:var(--surface2,#f9fafb)}.ss-trigger.ss-disabled:hover{border-color:var(--border-strong,#00000024)}.ss-trigger-text{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.ss-trigger-text.ss-placeholder{color:var(--text-muted,#9ca3af)}.ss-chevron{width:14px;height:14px;color:var(--text-muted,#9ca3af);flex-shrink:0;transition:transform .2s}.ss-open .ss-chevron{transform:rotate(180deg)}.ss-clear{cursor:pointer;width:16px;height:16px;color:var(--text-secondary,#6b7280);background:#0000000f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;transition:background .15s,color .15s;display:flex}.ss-clear:hover{color:var(--text-primary,#111827);background:#0000001f}.ss-dropdown{-webkit-backdrop-filter:blur(12px);z-index:1000;opacity:0;background:#fffffffa;border:1px solid #0000001a;border-radius:10px;min-width:200px;animation:.18s forwards ss-slide-in;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;transform:translateY(-6px)scale(.98);box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f}@keyframes ss-slide-in{to{opacity:1;transform:translateY(0)scale(1)}}.ss-search-wrap{border-bottom:1px solid #0000000f;padding:8px 8px 6px}.ss-search-inner{background:var(--surface2,#f9fafb);border:1px solid #00000014;border-radius:6px;align-items:center;gap:6px;padding:0 8px;transition:border-color .15s;display:flex}.ss-search-inner:focus-within{border-color:#3b82f6}.ss-search-icon{width:13px;height:13px;color:var(--text-muted,#9ca3af);flex-shrink:0}.ss-search-input{color:var(--text-primary,#111827);background:0 0;border:none;outline:none;flex:1;width:100%;padding:6px 0;font-family:DM Sans,sans-serif;font-size:12.5px}.ss-search-input::placeholder{color:var(--text-muted,#9ca3af)}.ss-options{scroll-behavior:smooth;max-height:240px;padding:4px;overflow-y:auto}.ss-options::-webkit-scrollbar{width:5px}.ss-options::-webkit-scrollbar-track{background:0 0}.ss-options::-webkit-scrollbar-thumb{background:#0000001f;border-radius:99px}.ss-options::-webkit-scrollbar-thumb:hover{background:#0003}.ss-option{color:var(--text-primary,#111827);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;transition:background .12s;display:flex;overflow:hidden}.ss-option:hover,.ss-option.ss-focused{background:#3b82f614}.ss-option.ss-selected{color:#1d4ed8;background:#3b82f61f;font-weight:500}.ss-option-check{color:#3b82f6;opacity:0;flex-shrink:0;width:14px;height:14px;transition:opacity .12s}.ss-option.ss-selected .ss-option-check{opacity:1}.ss-select-all{color:var(--text-secondary,#6b7280);cursor:pointer;border-bottom:1px solid #0000000f;border-radius:6px;align-items:center;gap:8px;margin:4px 4px 0;padding:7px 10px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.ss-select-all:hover{background:#3b82f612}.ss-select-all-count{color:var(--text-muted,#9ca3af);margin-left:auto;font-size:10.5px;font-weight:400}.ss-mcheck{background:#fff;border:1.5px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;transition:all .12s;display:flex}.ss-mcheck-on{background:#3b82f6;border-color:#3b82f6}.ss-option-multi{gap:9px}.ss-option-multi.ss-selected{color:var(--text-primary,#111827);font-weight:400}.ss-empty{text-align:center;color:var(--text-muted,#9ca3af);padding:16px 10px;font-size:12px}.ss-loading{text-align:center;color:var(--text-muted,#9ca3af);justify-content:center;align-items:center;gap:8px;padding:16px 10px;font-size:12px;display:flex}.ss-spinner{border:2px solid #00000014;border-top-color:#3b82f6;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite ss-spin}@keyframes ss-spin{to{transform:rotate(360deg)}}@media (width<=1200px){.ss-wrapper{min-width:130px}}@media (width<=768px){.ss-wrapper{min-width:100%}.ss-dropdown{min-width:unset}}.filter-drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;opacity:0;visibility:hidden;background:#0006;transition:all .3s;position:fixed;inset:0}.filter-drawer-overlay.open{opacity:1;visibility:visible}.filter-drawer{background:var(--surface);z-index:1000;flex-direction:column;width:420px;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:-460px;box-shadow:-4px 0 24px #0000001a}.filter-drawer.open{right:0}@media (width<=480px){.filter-drawer{width:100%;right:-100%}}.vis-wrap{flex-direction:column;gap:10px;display:flex}.vis-header{justify-content:space-between;align-items:center;display:flex}.vis-reset-btn{border:1.5px solid var(--border-strong,#00000024);background:var(--surface2,#f9fafb);color:var(--text-secondary,#6b7280);cursor:pointer;border-radius:6px;padding:3px 9px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.vis-reset-btn:hover{background:var(--blue-bg,#eff6ff);border-color:var(--blue-mid,#3b82f6);color:var(--blue-mid,#3b82f6)}.vis-grid{grid-template-columns:1fr 1fr;gap:6px 12px;display:grid}.vis-toggle{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:5px 8px;transition:background .12s;display:flex}.vis-toggle:hover{background:var(--surface2,#f9fafb)}.vis-checkbox{width:15px;height:15px;accent-color:var(--blue-mid,#3b82f6);cursor:pointer;flex-shrink:0}.vis-label{color:var(--text-primary,#111827);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:500;line-height:1.3}.vis-feature-list{flex-direction:column;gap:8px;display:flex}.vis-feature-row{background:var(--surface2,#f9fafb);border:1px solid var(--border,#00000014);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.vis-feature-row:hover{background:#eff6ff}.vis-feature-info{flex-direction:column;gap:2px;min-width:0;display:flex}.vis-feature-label{color:var(--text-primary,#111827);font-size:13px;font-weight:600}.vis-feature-desc{color:var(--text-muted,#9ca3af);font-size:11px}.vis-pill{cursor:pointer;border-radius:99px;flex-shrink:0;align-items:center;width:40px;height:22px;padding:2px;transition:background .2s;display:flex}.vis-pill-on{background:#3b82f6;justify-content:flex-end}.vis-pill-off{background:#d1d5db;justify-content:flex-start}.vis-pill-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;box-shadow:0 1px 3px #0003}.filter-drawer-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.filter-drawer-title{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.filter-drawer-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:20px;transition:background .15s,color .15s;display:flex}.filter-drawer-close:hover{background:var(--surface2);color:var(--text-primary)}.filter-drawer-body{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.filter-drawer-body .searchable-select{width:100%}.filter-drawer-footer{border-top:1px solid var(--border);background:var(--surface2);gap:12px;padding:20px 24px;display:flex}.btn-drawer{font-family:var(--font);border-radius:var(--radius-sm);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .2s;display:flex}.btn-drawer-reset{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-strong)}.btn-drawer-reset:hover{background:var(--bg);color:var(--text-primary)}.btn-drawer-apply{background:var(--blue-mid);color:#fff;border:1px solid var(--blue-mid)}.btn-drawer-apply:hover{background:var(--blue);border-color:var(--blue)}.dr-wrap{flex-direction:column;gap:10px;display:flex}.dr-section-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.dr-row{gap:10px;display:flex}.dr-field{flex-direction:column;flex:1;gap:5px;display:flex}.dr-field-label{color:var(--text-secondary,#6b7280);font-size:11px;font-weight:600}.dr-input{border:1.5px solid var(--border-strong,#00000024);width:100%;color:var(--text-primary,#111827);background:var(--surface2,#f9fafb);cursor:pointer;border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.dr-input:focus{border-color:var(--blue-mid,#3b82f6);background:#fff;box-shadow:0 0 0 3px #3b82f61a}.dr-input:hover{border-color:#9ca3af}@media (width<=360px){.dr-row{flex-direction:column}}.logout-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background-color:#0006;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.logout-modal-card{background:#fff;border:1px solid #0000000d;border-radius:12px;width:90%;max-width:360px;padding:24px 28px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 10px 25px #00000026}.logout-modal-card h3{color:#1e293b;margin:0 0 12px;font-size:18px;font-weight:700}.logout-modal-card p{color:#475569;margin:0 0 24px;font-size:14px;line-height:1.5}.logout-modal-actions{justify-content:flex-end;gap:12px;display:flex}.logout-btn-cancel{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s}.logout-btn-cancel:hover{background-color:#e2e8f0}.logout-btn-confirm{color:#fff;cursor:pointer;background-color:#ef4444;border:1px solid #dc2626;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s}.logout-btn-confirm:hover{background-color:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.hf-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.hf-left{align-items:center;gap:10px;display:flex}.hf-user-profile{align-items:center;gap:12px;margin-left:auto;display:flex}.hf-user-info{flex-direction:column;align-items:flex-end;display:flex}.hf-user-name{color:#1e293b;font-size:13.5px;font-weight:600}.hf-user-role{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.btn-logout{color:#475569;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.btn-logout:hover{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}@media (width<=1200px){.hf-bar{gap:8px}}@media (width<=768px){.hf-bar{flex-direction:row;flex:1;align-items:center;width:auto;min-width:0}.hf-user-profile{display:none}}.btn-district-view{color:#374151;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-district-view:hover{color:#4f46e5;background:#f5f3ff;border-color:#6366f1}.dashboard-container{--bg:#f4f5f7;--surface:#fff;--surface2:#f9fafb;--border:#00000014;--border-strong:#00000024;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--green:#16a34a;--green-bg:#f0fdf4;--green-border:#bbf7d0;--green-bar:#22c55e;--amber:#d97706;--amber-bg:#fffbeb;--amber-border:#fde68a;--amber-bar:#f59e0b;--red:#dc2626;--red-bg:#fef2f2;--red-border:#fecaca;--red-bar:#ef4444;--blue:#1d4ed8;--blue-bg:#eff6ff;--blue-mid:#3b82f6;--teal:#0f766e;--teal-mid:#14b8a6;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--font:"DM Sans", sans-serif;--mono:"DM Mono", monospace;--header-h:61px;font-family:var(--font);background:var(--bg);color:var(--text-primary);min-height:100vh;font-size:14px;line-height:1.5}.dashboard-container *,.dashboard-container :before,.dashboard-container :after{box-sizing:border-box}.dashboard-container .header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;min-height:60px;box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:10px 28px;display:flex;position:sticky;top:0}.dashboard-container .header-left{align-items:center;gap:14px;display:flex}.dashboard-container .header-logo{object-fit:contain;flex-shrink:0;width:auto;height:38px;display:block}.dashboard-container .header-divider{background:var(--border-strong);flex-shrink:0;width:1px;height:32px}.dashboard-container .header-title{color:var(--text-primary);font-size:20px;font-weight:700}.dashboard-container .header-sub{color:var(--text-muted);margin-top:1px;font-size:13px}.dashboard-container .header-right{align-items:center;gap:10px;display:flex}.dashboard-container select{font-family:var(--font);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;outline:none;padding:6px 10px;font-size:13.5px;transition:border-color .15s}.dashboard-container select:hover{border-color:#6b7280}.dashboard-container .btn-export{font-family:var(--font);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:13.5px;font-weight:500;transition:background .15s;display:flex}.dashboard-container .btn-export:hover{background:var(--surface2)}.dashboard-container .insight-bar{height:42px;top:var(--header-h,61px);z-index:99;background:#0f172a;border-bottom:1px solid #ffffff0f;align-items:stretch;display:flex;position:sticky;overflow:hidden}.dashboard-container .insight-label-panel{white-space:nowrap;background:#1e293b;border-right:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:8px;padding:0 18px;display:flex}.dashboard-container .insight-lightning{font-size:14px;animation:2s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.55}}.dashboard-container .insight-label-text{color:#e2e8f0;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.dashboard-container .insight-badges{gap:5px;margin-left:4px;display:flex}.dashboard-container .ib-badge{white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:99px;padding:2px 8px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.6;transition:opacity .15s,transform .12s}.dashboard-container .ib-badge:hover{opacity:.85;transform:scale(1.04)}.dashboard-container .ib-critical{color:#fca5a5;background:#ef444433;border:1px solid #ef444459}.dashboard-container .ib-warning{color:#fcd34d;background:#fbbf2426;border:1px solid #fbbf244d}.dashboard-container .ib-positive{color:#86efac;background:#22c55e26;border:1px solid #22c55e4d}.dashboard-container .ib-stable{color:#94a3b8;cursor:default;background:#94a3b81a;border:1px solid #94a3b833}.dashboard-container .ib-critical.ib-active{color:#fff;background:#ef44448c;border-color:#ef4444}.dashboard-container .ib-warning.ib-active{color:#1c1917;background:#fbbf2473;border-color:#fbbf24}.dashboard-container .ib-positive.ib-active{color:#14532d;background:#22c55e73;border-color:#22c55e}.dashboard-container .insight-ticker-wrap{flex:1;align-items:center;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 3% 97%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 3% 97%,#0000 100%)}.dashboard-container .insight-ticker{align-items:center;width:max-content;animation:linear infinite ticker-scroll;display:flex}.dashboard-container .insight-ticker:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.dashboard-container .insight-pill{white-space:nowrap;align-items:center;gap:7px;height:42px;padding:0 20px;font-size:13px;font-weight:500;display:inline-flex}.dashboard-container .ip-icon{font-size:13px;line-height:1}.dashboard-container .ip-msg{line-height:1.3}.dashboard-container .ip-sep{opacity:.25;color:#94a3b8;margin-left:4px;font-size:7px}.dashboard-container .ip-critical{color:#fca5a5}.dashboard-container .ip-warning{color:#fcd34d}.dashboard-container .ip-positive{color:#86efac}.dashboard-container .ip-info{color:#93c5fd}.dashboard-container .insight-desktop-only{flex:1;min-width:0;display:flex}.dashboard-container .insight-mobile-only{display:none}.dashboard-container .pill-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border);border-radius:99px;padding:3px 10px;font-size:12px}.dashboard-container .pill-amber{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border);border-radius:99px;padding:3px 10px;font-size:12px}.dashboard-container .pill-green{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:99px;padding:3px 10px;font-size:12px}.dashboard-container .pill-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dashboard-container .dot-red{background:var(--red)}.dashboard-container .dot-amber{background:var(--amber)}.dashboard-container .dot-green{background:#16a34a}.dashboard-container .main{flex-direction:column;gap:18px;max-width:1440px;margin:0 auto;padding:20px 28px 40px;display:flex}.dashboard-container .section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:12px;font-weight:600}.dashboard-container .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:16px 18px;overflow:hidden}.dashboard-container .card-title{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px;font-weight:600;display:flex}.dashboard-container .kpi-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}.dashboard-container .kpi-icon-right{pointer-events:none;opacity:.82;line-height:1;position:absolute;bottom:8px;right:10px}.dashboard-container .kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px 14px 12px;transition:box-shadow .15s;position:relative;overflow:hidden}.dashboard-container .kpi:hover{box-shadow:var(--shadow-md)}.dashboard-container .kpi:before{content:"";border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.dashboard-container .kpi.green:before{background:var(--green-bar)}.dashboard-container .kpi.amber:before{background:var(--amber-bar)}.dashboard-container .kpi.red:before{background:var(--red-bar)}.dashboard-container .kpi-label{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;line-height:1.3;display:flex}.dashboard-container .kpi-val{color:var(--text-primary);font-size:24px;font-weight:600;line-height:1;font-family:var(--mono)}.dashboard-container .kpi-trend{align-items:center;gap:3px;margin-top:6px;font-size:12.5px;display:flex}.dashboard-container .trend-up{color:var(--green)}.dashboard-container .trend-dn{color:var(--red)}.dashboard-container .trend-neu{color:var(--text-muted)}.dashboard-container .row-2col{grid-template-columns:1.6fr 1fr;gap:12px;display:grid}.dashboard-container .row-3col{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-container .row-2col-even{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.dashboard-container .row-2col>.card,.dashboard-container .row-3col>.card{flex-direction:column;display:flex}.dashboard-container .chart-wrap{width:100%;min-width:0;position:relative;overflow:hidden}.dashboard-container .chart-fill{flex:1;min-height:160px}.dashboard-container .adm-chart-overlay{background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.dashboard-container .kpi-val.adm-loading{color:var(--text-muted);font-size:18px}.dashboard-container .legend-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:10px;display:flex}.dashboard-container .leg-item{color:var(--text-secondary);align-items:center;gap:5px;font-size:13px;display:flex}.dashboard-container .leg-sq{border-radius:2px;flex-shrink:0;width:10px;height:10px}.dashboard-container .comp-stats{border:1px solid var(--border);border-radius:var(--radius-md);align-items:stretch;gap:0;margin-top:14px;display:flex;overflow:hidden}.dashboard-container .comp-item{background:var(--surface2);flex:1;align-items:center;gap:10px;padding:11px 14px;transition:background .15s;display:flex}.dashboard-container .comp-item:hover{background:#f0f4ff}.dashboard-container .comp-sep{background:var(--border);flex-shrink:0;width:1px}.dashboard-container .comp-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 3px #0000000f}.dashboard-container .comp-info{flex-direction:column;gap:1px;display:flex}.dashboard-container .comp-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1}.dashboard-container .comp-count{font-size:20px;font-weight:600;font-family:var(--mono);color:var(--text-primary);line-height:1.15}.dashboard-container .comp-pct{font-size:13px;font-weight:600;font-family:var(--mono);line-height:1}.dashboard-container .bw-section{flex-direction:column;flex:1;gap:10px;margin-top:4px;display:flex}.dashboard-container .bw-total-row{align-items:baseline;gap:7px;display:flex}.dashboard-container .bw-total-num{font-size:26px;font-weight:600;font-family:var(--mono);color:var(--text-primary);line-height:1}.dashboard-container .bw-total-label{color:var(--text-muted);font-size:13px}.dashboard-container .bw-dist-bar{background:var(--surface2);border-radius:99px;gap:2px;height:12px;display:flex;overflow:hidden}.dashboard-container .bw-dist-seg{border-radius:99px;min-width:10px;transition:flex .5s}.dashboard-container .bw-tiles{grid-template-columns:1fr 1fr;gap:7px;display:grid}.dashboard-container .bw-tile{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);border-left:3px solid #0000;padding:9px 11px 8px;transition:box-shadow .15s}.dashboard-container .bw-tile:hover{box-shadow:var(--shadow-sm)}.dashboard-container .bw-tile-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:11.5px;font-weight:600;line-height:1}.dashboard-container .bw-tile-count{font-size:21px;font-weight:600;font-family:var(--mono);color:var(--text-primary);line-height:1.15}.dashboard-container .bw-tile-pct{font-size:13px;font-weight:600;font-family:var(--mono);margin-top:2px;line-height:1}.dashboard-container .bw-tile-track{background:#f0f1f3;border-radius:99px;height:3px;margin-top:7px;overflow:hidden}.dashboard-container .bw-tile-fill{border-radius:99px;height:100%;transition:width .6s}.dashboard-container .dc-bar-legend{align-items:center;gap:5px;margin-bottom:10px;display:flex}.dashboard-container .dc-bar-legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.dashboard-container .dc-bar-legend-label{color:var(--text-muted);font-size:12.5px}.dashboard-container .dc-bars{grid-template-columns:1fr 1fr;gap:10px 28px;display:grid}.dashboard-container .dc-bar-row{flex-direction:column;gap:3px;display:flex}.dashboard-container .dc-bar-header{align-items:center;gap:6px;display:flex}.dashboard-container .dc-bar-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dashboard-container .dc-bar-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;font-weight:500;overflow:hidden}.dashboard-container .dc-bar-meta{flex-shrink:0;align-items:center;gap:7px;display:flex}.dashboard-container .dc-bar-count{font-size:13.5px;font-weight:600;font-family:var(--mono);color:var(--text-primary)}.dashboard-container .dc-bar-pct{font-size:13px;font-weight:600;font-family:var(--mono);text-align:right;min-width:36px}.dashboard-container .dc-bar-track{background:#f1f5f9;border-radius:99px;height:10px;overflow:hidden}.dashboard-container .dc-bar-fill{border-radius:99px;height:100%;transition:width .5s;display:flex;overflow:hidden}.dashboard-container .dc-bar-seg{height:100%}.dashboard-container .dc-bar-inborn{background:#3b82f6}.dashboard-container .dc-bar-outborn{background:#14b8a6}.dashboard-container .dc-bar-sub{color:var(--text-muted);padding-left:14px;font-size:12px}.dashboard-container .ec-card{flex-direction:column;gap:14px;display:flex}.dashboard-container .ec-card .card-title{font-size:18px}.dashboard-container .ec-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:12px}.dashboard-container .ec-overall{background:var(--surface2);border-radius:var(--radius-sm);align-items:center;gap:20px;padding:10px 14px;display:flex}.dashboard-container .ec-pct-ring{border:4px solid var(--pct-color,#22c55e);background:#fff;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:84px;height:84px;display:flex}.dashboard-container .ec-pct-num{font-size:22px;font-weight:700;font-family:var(--mono);line-height:1}.dashboard-container .ec-pct-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;font-size:12px;font-weight:500}.dashboard-container .ec-overall-stats{flex-direction:column;flex:1;gap:5px;display:flex}.dashboard-container .ec-stat-row{align-items:center;gap:7px;display:flex}.dashboard-container .ec-stat-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dashboard-container .ec-stat-dot.yes{background:#22c55e}.dashboard-container .ec-stat-dot.no{background:#f59e0b}.dashboard-container .ec-stat-label{color:var(--text-secondary);flex:1;font-size:13px}.dashboard-container .ec-stat-val{font-size:13.5px;font-weight:600;font-family:var(--mono);color:var(--text-primary)}.dashboard-container .ec-stat-pct{color:var(--text-muted);font-size:12px;font-weight:400}.dashboard-container .ec-stat-total{border-top:1px solid var(--border);margin-top:3px;padding-top:5px}.dashboard-container .ec-split{flex-direction:column;gap:12px;display:flex}.dashboard-container .ec-panel{flex-direction:column;gap:5px;display:flex}.dashboard-container .ec-panel-header{align-items:baseline;gap:7px;display:flex}.dashboard-container .ec-panel-label{color:var(--text-primary);min-width:58px;font-size:14px;font-weight:600}.dashboard-container .ec-panel-pct{font-size:14px;font-weight:700;font-family:var(--mono)}.dashboard-container .ec-panel-total{color:var(--text-muted);margin-left:auto;font-size:12px}.dashboard-container .ec-bar{cursor:default;background:#f1f5f9;border-radius:99px;height:13px;display:flex;overflow:hidden}.dashboard-container .ec-bar-yes{background:#22c55e;transition:flex .5s}.dashboard-container .ec-bar-no{background:#fbbf24;transition:flex .5s}.dashboard-container .ec-panel-sub{gap:6px;font-size:13.5px;display:flex}.dashboard-container .ec-sub-yes{color:#16a34a;font-weight:500}.dashboard-container .ec-sub-sep{color:var(--text-muted)}.dashboard-container .ec-sub-no{color:#d97706;font-weight:500}.dashboard-container .static-tag{color:#b91c1c;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;align-items:center;gap:5px;margin-bottom:10px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.dashboard-container .kpi--static{opacity:.65;position:relative}.dashboard-container .kpi--static:after{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:repeating-linear-gradient(-45deg,#0000,#0000 5px,#ef444417 5px 7px);position:absolute;inset:0}.dashboard-container .kpi--static .kpi-label:after{content:" ✗";color:#ef4444;font-weight:700}.dashboard-container .prog-item{margin-bottom:11px}.dashboard-container .prog-item:last-child{margin-bottom:0}.dashboard-container .prog-header{color:var(--text-secondary);justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.dashboard-container .prog-pct{color:var(--text-primary);font-weight:600;font-family:var(--mono)}.dashboard-container .prog-track{background:#f3f4f6;border-radius:99px;height:7px;overflow:hidden}.dashboard-container .prog-fill{border-radius:99px;height:100%;transition:width .6s}.dashboard-container .outcome-bar{border-radius:6px;gap:1px;height:24px;margin:10px 0;display:flex;overflow:hidden}.dashboard-container .outcome-seg{cursor:default;transition:flex .4s}.dashboard-container .outcome-legend{flex-wrap:wrap;gap:10px;display:flex}.dashboard-container .facility-table{border-collapse:collapse;width:100%;font-size:13.5px}.dashboard-container .facility-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:7px 10px;font-size:12px;font-weight:600}.dashboard-container .facility-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:9px 10px}.dashboard-container .facility-table tr:last-child td{border-bottom:none}.dashboard-container .facility-table tr:hover td{background:var(--surface2)}.dashboard-container .badge{letter-spacing:.02em;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.dashboard-container .badge-top{color:#15803d;background:#dcfce7}.dashboard-container .badge-good{color:#1d4ed8;background:#dbeafe}.dashboard-container .badge-avg{color:#b45309;background:#fef3c7}.dashboard-container .badge-low{color:#b91c1c;background:#fee2e2}.dashboard-container .mini-bar-wrap{align-items:center;gap:6px;display:flex}.dashboard-container .mini-bar-track{background:#f3f4f6;border-radius:99px;flex:1;height:5px;overflow:hidden}.dashboard-container .mini-bar-fill{border-radius:99px;height:100%}.dashboard-container .mini-val{font-family:var(--mono);color:var(--text-primary);text-align:right;min-width:28px;font-size:13px}.dashboard-container .stat-grid{grid-template-columns:repeat(3,1fr);gap:0;margin-top:6px;display:grid}.dashboard-container .stat-cell{text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 8px}.dashboard-container .stat-cell:nth-child(3n){border-right:none}.dashboard-container .stat-cell:nth-last-child(-n+3){border-bottom:none}.dashboard-container .stat-num{font-size:20px;font-weight:600;font-family:var(--mono)}.dashboard-container .stat-lbl{color:var(--text-muted);margin-top:2px;font-size:12px}.dashboard-container .transport-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13.5px}.dashboard-container .transport-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);text-align:center;padding:6px 10px;font-size:12px;font-weight:600}.dashboard-container .transport-table th:first-child{text-align:left}.dashboard-container .transport-table td{border-bottom:1px solid var(--border);text-align:center;color:var(--text-primary);padding:8px 10px}.dashboard-container .transport-table td:first-child{text-align:left;color:var(--text-secondary);font-weight:500}.dashboard-container .transport-table tr:last-child td{border-bottom:none}.dashboard-container .gd-section{flex-direction:column;flex:1;justify-content:space-between;gap:12px;display:flex}.dashboard-container .gd-total{align-items:baseline;gap:6px;display:flex}.dashboard-container .gd-total-num{font-size:26px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1}.dashboard-container .gd-total-lbl{color:var(--text-muted);font-size:12px}.dashboard-container .gd-rows{flex-direction:column;gap:14px;display:flex}.dashboard-container .gd-row{flex-direction:column;gap:5px;display:flex}.dashboard-container .gd-row-head{align-items:center;gap:7px;display:flex}.dashboard-container .gd-icon{flex-shrink:0;font-size:16px;line-height:1}.dashboard-container .gd-label{color:var(--text-primary);flex:1;font-size:14px;font-weight:600}.dashboard-container .gd-count{font-size:20px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1}.dashboard-container .gd-pct{font-size:13px;font-weight:700;font-family:var(--mono);text-align:right;min-width:42px}.dashboard-container .gd-bar{cursor:default;border-radius:99px;gap:2px;height:12px;display:flex;overflow:hidden}.dashboard-container .gd-seg{border-radius:99px;transition:flex .5s}.dashboard-container .gd-sub{color:var(--text-muted);gap:7px;font-size:12px;display:flex}.dashboard-container .gd-sub-sep{color:var(--text-muted)}.dashboard-container .kmc-avg-strip{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.dashboard-container .kmc-avg-val{font-size:30px;font-weight:700;font-family:var(--mono);line-height:1}.dashboard-container .kmc-avg-unit{font-size:16px;font-weight:500}.dashboard-container .kmc-avg-meta{color:var(--text-muted);font-size:12px}.dashboard-container .tp-panels{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dashboard-container .tp-panel{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.dashboard-container .tp-panel-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dashboard-container .tp-panel-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:12px;font-weight:700;line-height:1}.dashboard-container .tp-panel-sub{color:var(--text-muted);margin-top:3px;font-size:11.5px}.dashboard-container .tp-panel-total{flex-shrink:0;align-items:baseline;gap:4px;display:flex}.dashboard-container .tp-total-num{font-size:28px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1}.dashboard-container .tp-total-lbl{color:var(--text-muted);font-size:12px}.dashboard-container .tp-bar{cursor:default;border-radius:99px;gap:2px;height:18px;display:flex;overflow:hidden}.dashboard-container .tp-seg{border-radius:99px;transition:flex .5s}.dashboard-container .tp-seg-mother{background:#3b82f6}.dashboard-container .tp-seg-surrogate{background:#f59e0b}.dashboard-container .tp-stats{flex-direction:column;gap:9px;display:flex}.dashboard-container .tp-stat-row{align-items:center;gap:9px;display:flex}.dashboard-container .tp-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dashboard-container .tp-dot-mother{background:#3b82f6}.dashboard-container .tp-dot-surrogate{background:#f59e0b}.dashboard-container .tp-stat-label{color:var(--text-secondary);flex:1;font-size:14px}.dashboard-container .tp-stat-count{font-size:22px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1}.dashboard-container .tp-stat-pct{font-size:14px;font-weight:700;font-family:var(--mono);text-align:right;min-width:48px}.dashboard-container .tp-pct-mother{color:#2563eb}.dashboard-container .tp-pct-surrogate{color:#d97706}.dashboard-container .gemini-insights-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px 18px;box-shadow:0 1px 3px #0000000f}.dashboard-container .gemini-insights-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dashboard-container .gemini-insights-title{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.dashboard-container .gemini-spark{color:#8b5cf6;font-size:16px}.dashboard-container .gemini-badge{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:99px;padding:2px 7px;font-size:10px;font-weight:700}.dashboard-container .gemini-dismiss-all{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 8px;font-size:12px;transition:background .15s}.dashboard-container .gemini-dismiss-all:hover{background:#f1f5f9}.dashboard-container .gemini-loading{color:var(--text-muted);align-items:center;gap:10px;padding:14px 4px;font-size:13px;display:flex}.dashboard-container .gemini-spinner{border:2.5px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.75s linear infinite gemini-spin}@keyframes gemini-spin{to{transform:rotate(360deg)}}.dashboard-container .gemini-error{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;font-size:13px}.dashboard-container .gemini-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=900px){.dashboard-container .gemini-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.dashboard-container .gemini-grid{grid-template-columns:1fr}}.dashboard-container .gemini-card{border-left:4px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.dashboard-container .gemini-positive{background:#f0fdf4;border-left-color:#22c55e}.dashboard-container .gemini-warning{background:#fffbeb;border-left-color:#f59e0b}.dashboard-container .gemini-critical{background:#fef2f2;border-left-color:#ef4444}.dashboard-container .gemini-info{background:#eff6ff;border-left-color:#3b82f6}.dashboard-container .gemini-card-icon{flex-shrink:0;margin-top:1px}.dashboard-container .gemini-card-text{color:var(--text-primary);margin:0;font-size:13.5px;line-height:1.55}.dashboard-container .footer{color:var(--text-muted);text-align:center;border-top:1px solid var(--border);padding:16px 0 0;font-size:12.5px}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.dashboard-container .est-card{padding-bottom:20px}.dashboard-container .est-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.dashboard-container .est-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.dashboard-container .est-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.dashboard-container .est-leg-item{align-items:center;gap:4px;display:flex}.dashboard-container .est-leg-sep{color:var(--border-strong)}.dashboard-container .est-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.dashboard-container .est-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;min-width:560px;font-size:13px}.dashboard-container .est-table thead tr{background:#1e293b}.dashboard-container .est-table thead th{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;white-space:nowrap;text-align:center;border-bottom:2px solid #334155;padding:11px 14px;font-size:11px;font-weight:600}.dashboard-container .est-col-ind{min-width:150px;max-width:160px;text-align:left!important}.dashboard-container .est-col-month{min-width:120px}.dashboard-container .est-table thead .est-col-ind,.dashboard-container .est-table tbody .est-col-ind{z-index:2;position:sticky;left:0}.dashboard-container .est-table thead .est-col-ind{z-index:3;background:#1e293b;border-right:2px solid #334155}.dashboard-container .est-table tbody .est-col-ind{background:var(--surface);border-right:2px solid var(--border-strong);box-shadow:3px 0 6px -2px #00000012}.dashboard-container .est-group-row{background:var(--surface2)!important}.dashboard-container .est-group-label{text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--text-muted)!important;border-bottom:1px solid var(--border)!important;background:var(--surface2)!important;padding:6px 14px!important;font-size:10.5px!important;font-weight:700!important}.dashboard-container .est-table tbody tr:nth-child(2n):not(.est-group-row){background:#f8fafc}.dashboard-container .est-table tbody tr:hover:not(.est-group-row) td{background:#eff6ff!important}.dashboard-container .est-table tbody tr:hover:not(.est-group-row) .est-col-ind{background:#e0f2fe!important}.dashboard-container .est-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;text-align:center;padding:10px 14px}.dashboard-container .est-table tbody tr:last-child td{border-bottom:none}.dashboard-container .est-td-ind{text-align:left!important}.dashboard-container .est-ind-cell{align-items:center;gap:8px;display:flex}.dashboard-container .est-ind-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dashboard-container .est-ind-name{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:600}.dashboard-container .est-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.dashboard-container .est-val{font-size:14.5px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1.1}.dashboard-container .est-sub{color:var(--text-muted);font-size:10.5px;font-family:var(--mono);line-height:1.1}.dashboard-container .est-trend{font-size:10px;font-weight:700;font-family:var(--mono);white-space:nowrap;border-radius:3px;align-items:center;gap:1px;margin-top:1px;padding:1px 5px 1px 4px;line-height:1.4;display:inline-flex}.dashboard-container .est-trend-pos{color:#15803d;background:#dcfce7}.dashboard-container .est-trend-neg{color:#b91c1c;background:#fee2e2}.dashboard-container .est-trend-neu{color:#6b7280;background:#f3f4f6}.dashboard-container .est-green{color:var(--green)}.dashboard-container .est-amber{color:var(--amber)}.dashboard-container .est-red{color:var(--red)}@media (width<=768px){.dashboard-container .est-header{flex-direction:column;gap:8px}.dashboard-container .est-legend{display:none}.dashboard-container .est-col-ind{min-width:130px;max-width:130px}.dashboard-container .est-ind-name{font-size:12px}.dashboard-container .est-val{font-size:13px}.dashboard-container .est-col-month{min-width:100px}}@media (width<=1440px){.dashboard-container .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}@media (width<=1024px){.dashboard-container .row-2col,.dashboard-container .row-3col,.dashboard-container .row-2col-even{grid-template-columns:1fr}}@media (width<=768px){.dashboard-container .header{padding:12px 16px}.dashboard-container .header-logo{height:28px}.dashboard-container .header-divider{display:none}.dashboard-container .header-right{flex-flow:row;justify-content:space-between;align-items:center;gap:8px;width:100%}.dashboard-container .header-right>:first-child{flex:1;min-width:0}.dashboard-container .btn-export{white-space:nowrap;flex-shrink:0}.dashboard-container .insight-bar{height:auto;min-height:unset;flex-flow:column;position:static}.dashboard-container .insight-label-panel{border-bottom:1px solid #ffffff14;border-right:none;justify-content:space-between;gap:8px;width:100%;padding:6px 14px}.dashboard-container .insight-badges{flex-wrap:nowrap;gap:4px;margin-left:0;display:flex}.dashboard-container .ib-badge{padding:2px 6px;font-size:10px}.dashboard-container .insight-desktop-only{display:none!important}.dashboard-container .insight-mobile-only{display:flex}.dashboard-container .insight-mobile-rotator{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;min-width:0;padding:9px 14px;transition:opacity .28s;display:flex}.dashboard-container .imr-in{opacity:1}.dashboard-container .imr-out{opacity:0}.dashboard-container .imr-msg{white-space:normal;color:#e2e8f0;flex:1;font-size:12px;line-height:1.4}.dashboard-container .imr-nav{flex-shrink:0;align-items:center;gap:4px;display:flex}.dashboard-container .imr-counter{opacity:.5;color:#94a3b8;font-size:10px;font-family:var(--mono,monospace)}.dashboard-container .imr-arrow{color:#94a3b8;opacity:.6;font-size:18px}.dashboard-container .main{gap:12px;padding:12px 12px 28px}.dashboard-container .card{padding:14px 13px}.dashboard-container .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-container .chart-wrap canvas{max-width:100%}.dashboard-container .comp-stats{flex-direction:column}.dashboard-container .comp-sep{width:100%;height:1px}.dashboard-container .dc-bars{grid-template-columns:1fr}.dashboard-container .dc-bar-header{flex-wrap:wrap;gap:4px}.dashboard-container .dc-bar-meta{justify-content:flex-start;width:100%;padding-left:16px}.dashboard-container .dc-bar-pct{min-width:unset}.dashboard-container .bw-tiles{gap:6px}.dashboard-container .bw-tile{padding:8px 10px 7px}.dashboard-container .ec-overall{gap:14px;padding:10px 12px}.dashboard-container .ec-pct-ring{width:72px;height:72px}.dashboard-container .ec-pct-num{font-size:19px}.dashboard-container .tp-panels{grid-template-columns:1fr;gap:12px}.dashboard-container .tp-total-num{font-size:24px}.dashboard-container .tp-stat-count{font-size:19px}}@media (width<=480px){.dashboard-container .kpi-grid,.dashboard-container .stat-grid{grid-template-columns:1fr}.dashboard-container .stat-cell{border-right:none;border-bottom:1px solid var(--border)}.dashboard-container .stat-cell:last-child{border-bottom:none}.dashboard-container .dc-bar-name,.dashboard-container .dc-bar-count{font-size:12px}.dashboard-container .dc-bar-pct{font-size:11px}.dashboard-container .ec-split{gap:10px}.dashboard-container .ec-panel-label,.dashboard-container .ec-panel-pct{font-size:13px}}@media print{@page{size:A4 landscape;margin:7mm 10mm 9mm}@page:first{margin-top:3mm}*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;transition:none!important;animation:none!important}html,body{background:#fff!important;margin:0!important;padding:0!important}.dashboard-container{background:#fff!important}.dashboard-container .header{box-shadow:none!important;break-inside:avoid!important;background:#1e293b!important;border-radius:0!important;height:auto!important;min-height:0!important;margin-bottom:0!important;padding:5px 14px!important;position:static!important}.dashboard-container .header-logo{height:22px!important;padding:2px 6px!important}.dashboard-container .header-title{color:#fff!important;font-size:11px!important;font-weight:700!important}.dashboard-container .header-divider{height:16px!important}.dashboard-container .btn-export,.dashboard-container .hf-bar,.dashboard-container .insight-bar,.dashboard-container .gemini-insights-section,.dashboard-container .footer,.debug-icon-btn,.no-print{display:none!important}.dashboard-container .main{gap:5px!important;max-width:100%!important;padding:4px 0 0!important}.dashboard-container .section-label{break-after:avoid!important;margin-bottom:2px!important;padding:1px 0!important;font-size:7px!important}.dashboard-container .card,.dashboard-container .ec-card{box-shadow:none!important;break-inside:avoid!important;border:1px solid #d1d5db!important}.dashboard-container .card-title{border-bottom:1px solid #e5e7eb!important;padding:4px 10px 3px!important;font-size:9px!important;font-weight:700!important}.dashboard-container .kpi-grid{grid-template-columns:repeat(7,1fr)!important;gap:4px!important}.dashboard-container .kpi-card{break-inside:avoid!important;padding:5px 8px!important}.dashboard-container .kpi-val{font-size:16px!important;line-height:1!important}.dashboard-container .kpi-label{font-size:7.5px!important}.dashboard-container .kpi-sub{font-size:7px!important}.dashboard-container .kpi-shimmer,.dashboard-container .kpi-trend{display:none!important}.dashboard-container .row-2col,.dashboard-container .row-2col-even{grid-template-columns:1fr 1fr!important;gap:5px!important;display:grid!important}.dashboard-container .row-3col{grid-template-columns:repeat(3,1fr)!important;gap:5px!important;display:grid!important}.dashboard-container .chart-wrap,.dashboard-container .chart-fill{height:105px!important;min-height:0!important;overflow:visible!important}.dashboard-container .chart-wrap canvas{width:100%!important;height:105px!important;max-height:105px!important}.dashboard-container .comp-stats{flex-direction:row!important;gap:0!important;margin-top:4px!important}.dashboard-container .comp-sep{align-self:stretch!important;width:1px!important;height:auto!important}.dashboard-container .comp-item{padding:4px 8px!important}.dashboard-container .comp-count{font-size:13px!important}.dashboard-container .comp-pct{font-size:8.5px!important}.dashboard-container .comp-label{font-size:7.5px!important}.dashboard-container .dc-bars{grid-template-columns:1fr 1fr!important;gap:4px 12px!important}.dashboard-container .dc-bar-row{gap:2px!important}.dashboard-container .dc-bar-track{height:6px!important}.dashboard-container .dc-bar-count{font-size:10px!important}.dashboard-container .dc-bar-name{font-size:10.5px!important}.dashboard-container .dc-bar-pct{font-size:9.5px!important}.dashboard-container .dc-bar-sub{font-size:8.5px!important}.dashboard-container .dc-bar-legend{margin-bottom:5px!important}.dashboard-container .bw-tiles{gap:4px!important}.dashboard-container .bw-tile{break-inside:avoid!important;padding:5px 7px!important}.dashboard-container .bw-count{font-size:15px!important}.dashboard-container .bw-label{font-size:7.5px!important}.dashboard-container .sd-cards{grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin-bottom:7px!important}.dashboard-container .sd-card{break-inside:avoid!important}.dashboard-container .sd-card-stripe{height:4px!important}.dashboard-container .sd-card-body{padding:5px 8px 7px!important}.dashboard-container .sd-card-tag{margin-bottom:2px!important;font-size:8.5px!important}.dashboard-container .sd-card-count{font-size:20px!important}.dashboard-container .sd-card-label{margin-bottom:5px!important;font-size:9px!important}.dashboard-container .sd-stack{height:6px!important;margin-bottom:5px!important}.dashboard-container .sd-leg{font-size:8.5px!important}.dashboard-container .sd-footer{margin-top:4px!important}.dashboard-container .ec-overall{gap:7px!important;padding:5px 8px!important}.dashboard-container .ec-pct-ring{width:50px!important;height:50px!important}.dashboard-container .ec-pct-num{font-size:13px!important}.dashboard-container .tp-panels{gap:6px!important}.dashboard-container .tp-panel{break-inside:avoid!important;padding:6px 9px!important}.dashboard-container .tp-total-num{font-size:20px!important}.dashboard-container .tp-bar-track{height:7px!important}.dashboard-container .tp-stat-count{font-size:14px!important}.dashboard-container .est-card{break-before:page!important;break-inside:auto!important}.dashboard-container .est-table{font-size:8px!important}.dashboard-container .est-table th,.dashboard-container .est-table td{padding:2px 4px!important}.dashboard-container .lp-table{font-size:8px!important}.dashboard-container .lp-table th,.dashboard-container .lp-table td{padding:2px 4px!important}.dashboard-container .lp-bar-track{height:4px!important}.dashboard-container .nm-wrap{break-before:page!important;overflow:visible!important}.dashboard-container .nm-scroll{max-height:none!important;overflow:visible!important}.dashboard-container .nm-table{table-layout:auto!important;border-collapse:collapse!important;width:auto!important;min-width:0!important;font-size:0!important}.dashboard-container .nm-th-name,.dashboard-container .nm-td-name{white-space:nowrap!important;text-overflow:ellipsis!important;width:68px!important;min-width:68px!important;padding:2px 3px!important;font-size:7px!important;position:static!important;overflow:hidden!important}.dashboard-container .nm-th-stat,.dashboard-container .nm-td-stat{width:22px!important;min-width:22px!important;padding:1px 2px!important;font-size:6.5px!important;position:static!important}.dashboard-container .nm-col-present,.dashboard-container .nm-col-absent,.dashboard-container .nm-col-att{left:auto!important}.dashboard-container .nm-th-day{width:3px!important;min-width:3px!important;max-width:3px!important;padding:1px 0!important;font-size:0!important}.dashboard-container .nm-cell{border:none!important;width:3px!important;min-width:3px!important;max-width:3px!important;height:10px!important;padding:0!important;font-size:0!important}.dashboard-container .nm-cell.nm-present{background:#22c55e!important}.dashboard-container .nm-cell.nm-absent{background:#fca5a5!important}.dashboard-container .nm-table thead tr{position:static!important}.dashboard-container .nm-legend{padding:3px 8px!important;font-size:7.5px!important}}.dashboard-container .stay-title-total{color:var(--text-muted);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:99px;margin-left:8px;padding:3px 10px;font-size:12px;font-weight:600}.dashboard-container .sd-cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.dashboard-container .sd-card-loading{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:14px;height:130px;animation:1.4s infinite shimmer}.dashboard-container .sd-card{border:1px solid var(--border);background:#fff;border-radius:14px;transition:box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 1px 4px #0000000f}.dashboard-container .sd-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001a}.dashboard-container .sd-card-stripe{background:var(--c);height:6px}.dashboard-container .sd-card-body{padding:14px 16px 16px}.dashboard-container .sd-card-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--c);margin-bottom:6px;font-size:10.5px;font-weight:700}.dashboard-container .sd-card-count{font-size:36px;font-weight:800;font-family:var(--mono);color:var(--text-primary);margin-bottom:3px;line-height:1}.dashboard-container .sd-card-label{color:var(--text-secondary);margin-bottom:10px;font-size:12px;font-weight:500}.dashboard-container .sd-card-bar-track{background:#00000012;border-radius:99px;height:6px;margin-bottom:8px;overflow:hidden}.dashboard-container .sd-card-bar-fill{background:var(--c);border-radius:99px;height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.dashboard-container .sd-card-pct{font-size:14px;font-weight:700;font-family:var(--mono)}.dashboard-container .sd-stack{border-radius:99px;gap:2px;height:10px;margin-bottom:10px;display:flex;overflow:hidden}.dashboard-container .sd-stack-seg{cursor:default;transition:opacity .15s}.dashboard-container .sd-stack-seg:first-child{border-radius:99px 0 0 99px}.dashboard-container .sd-stack-seg:last-child{border-radius:0 99px 99px 0}.dashboard-container .sd-stack-seg:hover{opacity:.8}.dashboard-container .sd-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-container .sd-total{color:var(--text-muted);font-size:12px}.dashboard-container .sd-legend{flex-wrap:wrap;gap:4px 14px;display:flex}.dashboard-container .sd-leg{color:var(--text-secondary);align-items:center;gap:5px;font-size:11.5px;display:flex}.dashboard-container .sd-leg-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}@media (width<=900px){.dashboard-container .sd-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard-container .sd-cards{grid-template-columns:repeat(2,1fr)}}.dashboard-container .ws-section{flex-direction:column;gap:14px;padding-top:4px;display:flex}.dashboard-container .ws-coverage{color:var(--text-secondary);font-size:12.5px}.dashboard-container .ws-coverage-num{font-size:18px;font-weight:700;font-family:var(--mono);color:var(--text-primary)}.dashboard-container .ws-coverage-of{color:var(--text-secondary);font-weight:600}.dashboard-container .ws-coverage-label{color:var(--text-muted)}.dashboard-container .ws-tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.dashboard-container .ws-tile{border:1.5px solid #00000014;border-left:4px solid var(--ws-color,#9ca3af);border-radius:var(--radius-sm);background:var(--surface2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.dashboard-container .ws-tile-icon{color:var(--ws-color,#9ca3af);margin-bottom:2px;font-size:18px;font-weight:700;line-height:1}.dashboard-container .ws-tile-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600}.dashboard-container .ws-tile-count{font-size:22px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1.1}.dashboard-container .ws-tile-pct{margin-bottom:6px;font-size:12px;font-weight:600}.dashboard-container .ws-tile-track{background:#00000012;border-radius:99px;height:4px;overflow:hidden}.dashboard-container .ws-tile-fill{border-radius:99px;height:100%;transition:width .6s}@media (width<=600px){.dashboard-container .ws-tiles{grid-template-columns:1fr}}.dashboard-container .bf-section{flex-direction:column;gap:16px;padding-top:4px;display:flex}.dashboard-container .bf-summary{background:var(--surface2);border-radius:var(--radius-sm);border:1.5px solid #00000012;align-items:center;gap:20px;padding:12px 16px;display:flex}.dashboard-container .bf-excl-badge{flex-direction:column;align-items:center;gap:1px;display:flex}.dashboard-container .bf-excl-pct{font-size:28px;font-weight:700;font-family:var(--mono);line-height:1}.dashboard-container .bf-excl-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:600}.dashboard-container .bf-totals{border-left:1px solid var(--border);color:var(--text-secondary);padding-left:16px;font-size:12.5px}.dashboard-container .bf-total-num{font-size:16px;font-weight:700;font-family:var(--mono);color:var(--text-primary)}.dashboard-container .bf-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dashboard-container .bf-tile{border:1.5px solid #00000014;border-left:4px solid var(--bf-color,#9ca3af);border-radius:var(--radius-sm);background:var(--surface2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.dashboard-container .bf-tile-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600}.dashboard-container .bf-tile-count{font-size:24px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1.1}.dashboard-container .bf-tile-pct{margin-bottom:6px;font-size:12px;font-weight:600}.dashboard-container .bf-tile-track{background:#00000012;border-radius:99px;height:4px;overflow:hidden}.dashboard-container .bf-tile-fill{border-radius:99px;height:100%;transition:width .6s}.dashboard-container .bf-nodata-note{color:var(--text-muted);padding:6px 0;font-size:11.5px}.dashboard-container .nurse-kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:4px;display:grid}.dashboard-container .nurse-kpi-card{background:var(--surface);border:1.5px solid var(--border);border-top:3px solid var(--nk-color,#9ca3af);border-radius:var(--radius-md);flex-direction:column;gap:3px;padding:14px 16px;display:flex}.dashboard-container .nurse-kpi-loading{background:linear-gradient(90deg,#f3f4f6 25%,#e9eaec 50%,#f3f4f6 75%) 0 0/200% 100%;border-top-color:#e5e7eb;min-height:86px;animation:1.4s infinite shimmer}.dashboard-container .nurse-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:11px;font-weight:600}.dashboard-container .nurse-kpi-val{font-size:30px;font-weight:700;font-family:var(--mono);color:var(--text-primary);line-height:1.1}.dashboard-container .nurse-kpi-unit{font-size:16px;font-weight:400}.dashboard-container .nurse-kpi-sub{color:var(--text-muted);font-size:11px}@media (width<=900px){.dashboard-container .nurse-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard-container .nurse-kpi-grid{grid-template-columns:1fr}}.dashboard-container .nurse-monthly-legend{flex-wrap:wrap;gap:6px;padding:10px 0 4px;display:flex}.dashboard-container .nurse-mo-pill{border:1.5px solid;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;display:flex}.dashboard-container .nurse-mo-name{color:var(--text-secondary);font-weight:600}.dashboard-container .nurse-mo-pct{font-weight:700;font-family:var(--mono)}.dashboard-container .nm-wrap{flex-direction:column;gap:10px;display:flex}.dashboard-container .nm-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:360px;overflow:auto}.dashboard-container .nm-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;font-family:var(--font)}.dashboard-container .nm-table thead tr{background:var(--surface2);border-bottom:2px solid var(--border);z-index:3;position:sticky;top:0}.dashboard-container .nm-th-name{z-index:2;background:var(--surface2);text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-right:1px solid var(--border);width:140px;min-width:140px;padding:8px 14px;font-size:11px;font-weight:600;position:sticky;left:0}.dashboard-container .nm-th-stat{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-align:center;border-right:1px solid var(--border);background:var(--surface2);z-index:2;width:62px;min-width:62px;padding:8px 10px;font-size:11px;font-weight:600;position:sticky}.dashboard-container .nm-col-present{left:140px}.dashboard-container .nm-col-absent{left:202px}.dashboard-container .nm-col-att{border-right:2px solid var(--border);left:264px}.dashboard-container .nm-th-day{color:var(--text-secondary);text-align:center;border-right:1px solid #0000000d;width:32px;min-width:32px;max-width:32px;padding:4px 0;font-size:10px;font-weight:600;line-height:1.2}.dashboard-container .nm-th-latest{color:#2563eb!important;background:#eff6ff!important;border-right:2px solid #bfdbfe!important}.dashboard-container .nm-cell-latest{background:#eff6ff80;border-right:2px solid #bfdbfe}.dashboard-container .nm-th-mo{color:var(--text-muted);text-transform:uppercase;font-size:9px}.dashboard-container .nm-row{border-bottom:1px solid #0000000d;transition:background .1s}.dashboard-container .nm-row:hover{background:var(--surface2)}.dashboard-container .nm-row:last-child{border-bottom:none}.dashboard-container .nm-td-name{z-index:1;background:var(--surface);color:var(--text-primary);white-space:nowrap;border-right:1px solid var(--border);padding:7px 14px;font-size:12.5px;font-weight:600;position:sticky;left:0}.dashboard-container .nm-row:hover .nm-td-name,.dashboard-container .nm-row:hover .nm-td-stat{background:var(--surface2)}.dashboard-container .nm-td-stat{text-align:center;color:var(--text-secondary);border-right:1px solid var(--border);white-space:nowrap;z-index:1;background:var(--surface);padding:7px 10px;font-size:12px;position:sticky}.dashboard-container .nm-present-count{color:#16a34a;font-weight:600}.dashboard-container .nm-absent-count{color:#dc2626;font-weight:600}.dashboard-container .nm-cell{text-align:center;cursor:default;vertical-align:middle;border-right:1px solid #0000000a;width:32px;min-width:32px;max-width:32px;height:32px;padding:0;font-size:11px;font-weight:700;transition:opacity .1s}.dashboard-container .nm-cell:hover{opacity:.8}.dashboard-container .nm-present{color:#15803d;background:#dcfce7}.dashboard-container .nm-absent{color:#b91c1c;background:#fee2e2}.dashboard-container .nm-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;padding:4px 0;font-size:12px;display:flex}.dashboard-container .nm-leg-item{align-items:center;gap:6px;font-weight:600;display:flex}.dashboard-container .nm-leg-present{color:#15803d}.dashboard-container .nm-leg-absent{color:#b91c1c}.dashboard-container .nm-leg-note{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:400}.dashboard-skeleton{flex-direction:column;gap:18px;width:100%;display:flex}.skel-box{background:var(--surface,#fff);border:1px solid var(--border,#00000014);border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);position:relative;overflow:hidden}.skel-box:after{content:"";background:linear-gradient(90deg,#0000 0%,#0000000a 50%,#0000 100%);width:100%;height:100%;animation:1.5s infinite skel-shimmer;position:absolute;top:0;left:0}@keyframes skel-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skel-row-1{grid-template-columns:1fr;gap:12px;display:grid}.skel-row-2col{grid-template-columns:1.6fr 1fr;gap:12px;display:grid}.skel-row-3col{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.skel-row-2col-even{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}@media (width<=1024px){.skel-row-2col,.skel-row-3col,.skel-row-2col-even{grid-template-columns:1fr}}.debug-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:16px;animation:.2s debugFadeIn;display:flex;position:fixed;inset:0}@keyframes debugFadeIn{0%{opacity:0}to{opacity:1}}.debug-modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.debug-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.debug-modal-header h2{color:#111827;align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:600;display:flex}.debug-modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:1.5rem;line-height:1}.debug-modal-close:hover{color:#111827;background:#f3f4f6}.debug-modal-body{flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.debug-section{flex-direction:column;gap:6px;display:flex}.debug-section h3{text-transform:uppercase;letter-spacing:.05em;color:#4b5563;border-bottom:1px solid #e5e7eb;margin:0;padding-bottom:4px;font-size:.875rem;font-weight:600}.debug-section p{color:#374151;margin:0;font-size:.95rem;line-height:1.5}.debug-section-title-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.debug-section-title-row h3{border-bottom:none;margin:0;padding-bottom:0}.debug-copy-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff2e;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.debug-copy-btn:hover{color:#a5b4fc;background:#6366f12e;border-color:#6366f166}.debug-copy-btn:active{background:#6366f14d}.debug-code-block{color:#f8fafc;white-space:pre-wrap;background:#1e293b;border-radius:6px;margin:0;padding:12px;font-family:DM Mono,monospace;font-size:.85rem;line-height:1.4;overflow-x:auto}.debug-icon-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:4px;font-size:1.1rem;transition:all .2s;display:flex}.debug-icon-btn:hover{color:#4f46e5;background:#f3f4f6}@media (width<=600px){.debug-modal-content{border-radius:0;height:100%;max-height:100vh}}.dd-page{--dd-bg:#f1f5f9;--dd-card:#fff;--dd-header-bg:#1e293b;--dd-text:#1e293b;--dd-muted:#64748b;--dd-border:#e2e8f0;--dd-radius:12px;--dd-shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;background:var(--dd-bg);min-height:100vh;color:var(--dd-text);font-family:Inter,system-ui,-apple-system,sans-serif}.dd-header{z-index:100;background:var(--dd-header-bg);color:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000040}.dd-header-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.dd-header-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.dd-logo-text{letter-spacing:.05em;color:#38bdf8;white-space:nowrap;flex-shrink:0;font-size:20px;font-weight:800}.dd-header-divider{background:#ffffff2e;flex-shrink:0;width:1px;height:28px}.dd-title-block{min-width:0}.dd-title{white-space:nowrap;margin:0;font-size:18px;font-weight:700;line-height:1.3}.dd-subtitle{color:#94a3b8;white-space:nowrap;margin:0;font-size:13px;line-height:1.3}.dd-main-dash-btn{color:#e2e8f0;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.dd-main-dash-btn:hover{color:#fff;background:#ffffff2e}.dd-export-btn{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.dd-export-btn:hover:not(:disabled){color:#fff;background:#ffffff2e}.dd-export-btn:disabled{opacity:.55;cursor:wait}.dd-export-btn-light{color:#475569;background:#f8fafc;border:1px solid #cbd5e1;height:38px}.dd-export-btn-light:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.dd-header-logo{object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0;width:auto;height:38px;padding:4px 10px;display:block}@media (width<=900px){.dd-header-logo{height:32px;padding:3px 8px}}@media (width<=640px){.dd-header-logo{height:26px;padding:3px 6px}.dd-title{font-size:15px}.dd-subtitle{display:none}}.dd-filter-bar{border-bottom:1px solid var(--dd-border);background:#fff;grid-template-columns:repeat(4,minmax(140px,1fr)) 140px 140px auto;align-items:end;gap:6px 24px;padding:14px 32px;display:grid}.dd-filter-group{flex-direction:column;gap:4px;min-width:0;display:flex}.dd-filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--dd-muted);white-space:nowrap;font-size:11px;font-weight:700}.dd-filter-group .ss-wrapper{width:100%;min-width:0}.dd-filter-group .ss-trigger{border-color:var(--dd-border);border-radius:8px;height:38px;min-height:38px;font-size:14px}.dd-filter-group .ss-trigger:focus,.dd-filter-group .ss-trigger.ss-open{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.dd-filter-group .ss-dropdown{z-index:1000;min-width:200px}.dd-date-input{border:1px solid var(--dd-border);height:38px;color:var(--dd-text);cursor:text;box-sizing:border-box;background:#fff;border-radius:8px;outline:none;width:100%;min-width:0;padding:0 10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.dd-date-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.dd-date-error{color:#b45309;white-space:nowrap;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-self:flex-end;align-items:center;gap:6px;margin-bottom:2px;padding:5px 10px;font-size:12px;font-weight:600;display:flex}@media (width<=1100px){.dd-filter-bar{grid-template-columns:repeat(3,1fr) 120px 120px}}@media (width<=820px){.dd-filter-bar{grid-template-columns:repeat(2,1fr) 120px 120px}}@media (width<=600px){.dd-filter-bar{grid-template-columns:1fr 1fr}}.dd-body{flex-direction:column;gap:24px;padding:24px;display:flex}.dd-insights-section{border:1px solid var(--dd-border);border-radius:var(--dd-radius);box-shadow:var(--dd-shadow);background:#fff;padding:16px 20px 18px}.dd-insights-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dd-insights-title{color:var(--dd-text);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.dd-insights-loading{color:var(--dd-muted);align-items:center;gap:10px;padding:16px 4px;font-size:14px;display:flex}.dd-insights-spinner{border:2.5px solid var(--dd-border);border-top-color:#6366f1;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.75s linear infinite dd-spin}@keyframes dd-spin{to{transform:rotate(360deg)}}.dd-insights-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;font-size:13px}.dd-insights-notice code{background:#0000000f;border-radius:4px;padding:1px 5px;font-size:12px}.dd-insights-clear{color:var(--dd-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 8px;font-size:12px;transition:background .15s,color .15s}.dd-insights-clear:hover{background:var(--dd-border);color:var(--dd-text)}.dd-insights-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.dd-insight-card{border-left:4px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:box-shadow .15s;display:flex;position:relative}.dd-insight-card:hover{box-shadow:0 2px 8px #00000014}.dd-insight-positive{background:#f0fdf4;border-left-color:#22c55e}.dd-insight-warning{background:#fffbeb;border-left-color:#f59e0b}.dd-insight-critical{background:#fef2f2;border-left-color:#ef4444}.dd-insight-info{background:#eff6ff;border-left-color:#3b82f6}.dd-insight-icon{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.dd-insight-text{color:var(--dd-text);flex:1;margin:0;padding-right:20px;font-size:14px;line-height:1.55}.dd-insight-dismiss{color:var(--dd-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 3px;font-size:16px;line-height:1;transition:color .1s,background .1s;position:absolute;top:6px;right:8px}.dd-insight-dismiss:hover{color:var(--dd-text);background:#0000000f}.dd-kpi-section{grid-template-columns:repeat(9,1fr);gap:10px;display:grid}@media (width<=1400px){.dd-kpi-section{grid-template-columns:repeat(5,1fr)}}@media (width<=960px){.dd-kpi-section{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.dd-kpi-section{grid-template-columns:repeat(2,1fr)}}.dd-kpi-card{background:var(--dd-card);border-radius:var(--dd-radius);border:1px solid var(--dd-border);box-shadow:var(--dd-shadow);display:flex;position:relative;overflow:hidden}.dd-kpi-icon-right{pointer-events:none;opacity:.82;line-height:1;position:absolute;bottom:8px;right:10px}.dd-kpi-accent-bar{background:var(--kpi-accent,#6366f1);flex-shrink:0;width:4px}.dd-kpi-body{flex:1;min-width:0;padding:12px 14px}.dd-kpi-val{color:var(--dd-text);margin-bottom:3px;font-size:26px;font-weight:700;line-height:1}.dd-kpi-unit{color:var(--dd-muted);margin-bottom:4px;font-size:11px}.dd-kpi-sub{color:var(--dd-muted);margin-bottom:4px;font-size:11px;line-height:1.35}.dd-kpi-label{color:var(--dd-muted);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px;font-weight:600;display:flex}.dd-kpi-shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:4px;width:72px;height:26px;margin-bottom:6px;animation:1.4s infinite dd-shimmer}@keyframes dd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dd-card{background:var(--dd-card);border-radius:var(--dd-radius);border:1px solid var(--dd-border);box-shadow:var(--dd-shadow);overflow:hidden}.dd-card-header{border-bottom:1px solid var(--dd-border);padding:18px 24px 14px}.dd-card-title-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.dd-card-title{margin:0;font-size:17px;font-weight:700}.dd-card-sub{color:var(--dd-muted);margin:0;font-size:13px}.dd-loading,.dd-empty{text-align:center;color:var(--dd-muted);padding:52px 24px;font-size:14px}.dd-matrix-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.dd-matrix-table{border-collapse:collapse;width:100%;min-width:600px;font-size:14px}.dd-matrix-table th,.dd-matrix-table td{border:1px solid var(--dd-border)}.dd-matrix-table thead th{color:var(--dd-muted);text-align:center;white-space:nowrap;background:#f8fafc;padding:10px 6px;font-size:12px;font-weight:700}.dd-th-fac{min-width:220px;max-width:280px;text-align:left!important;padding:8px 14px!important}.dd-th-day{min-width:42px;padding:5px 4px!important}.dd-th-kpi{min-width:58px}.dd-sticky-col{z-index:2;position:sticky;left:0}thead .dd-sticky-col{z-index:3;background:#f8fafc!important}.dd-day-dow{font-size:12px;font-weight:700;line-height:1.3}.dd-day-date{color:#94a3b8;font-size:11px;line-height:1.3}.dd-row{transition:background .1s}.dd-row:nth-child(2n),.dd-row:nth-child(2n) .dd-sticky-col{background:#f8fafc}.dd-row:nth-child(odd) .dd-sticky-col{background:#fff}.dd-row:hover,.dd-row:hover .dd-sticky-col{background:#eff6ff}.dd-td-fac{text-align:left;max-width:280px;padding:10px 14px!important}.dd-fac-name{color:var(--dd-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:14px;font-weight:700;overflow:hidden}.dd-fac-meta{align-items:center;gap:6px;display:flex}.dd-type-badge{letter-spacing:.04em;text-transform:uppercase;color:#4338ca;white-space:nowrap;background:#e0e7ff;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.dd-fac-district{color:var(--dd-muted);white-space:nowrap;font-size:12px}.dd-td-day{text-align:center;vertical-align:middle;padding:0!important}.dd-sq{border-radius:5px;width:24px;height:24px;margin:8px auto}.dd-sq--on{background:#22c55e;box-shadow:0 0 0 1.5px #16a34a}.dd-sq--off{background:#fca5a5;box-shadow:0 0 0 1.5px #f87171}.dd-td-kpi{text-align:center;color:var(--dd-text);vertical-align:middle;font-weight:500;padding:0 8px!important}.dd-app-pct{border-radius:5px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-block}.dd-pct-hi{color:#15803d;background:#dcfce7}.dd-pct-mid{color:#92400e;background:#fef3c7}.dd-pct-lo{color:#b91c1c;background:#fee2e2}.dd-legend{border-top:1px solid var(--dd-border);background:#fafafa;flex-wrap:wrap;align-items:center;gap:20px;padding:12px 24px;display:flex}.dd-leg-item{color:var(--dd-muted);align-items:center;gap:6px;font-size:13px;display:flex}.dd-leg-sq{border-radius:3px;flex-shrink:0;width:14px;height:14px;display:inline-block}.dd-leg-on{background:#22c55e}.dd-leg-off{background:#fca5a5;border:1.5px solid #f87171}.dd-app-usage-section{flex-direction:column;gap:16px;display:flex}.dd-app-usage-kpis{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=1100px){.dd-app-usage-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.dd-app-usage-kpis{grid-template-columns:1fr}}.dd-app-kpi-card{background:var(--dd-card);border:1px solid var(--dd-border);border-radius:var(--dd-radius);box-shadow:var(--dd-shadow);border-top:4px solid #6366f1;padding:16px 18px 14px}.dd-app-kpi-label{color:var(--dd-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.dd-app-kpi-val{color:var(--dd-text);margin-bottom:4px;font-size:30px;font-weight:700;line-height:1}.dd-app-kpi-sub{color:var(--dd-muted);font-size:12px}.dd-app-usage-chart-wrap{height:280px;padding:20px 24px 24px;position:relative}.dd-app-usage-chart-wrap canvas{width:100%!important;height:100%!important}@media (width<=640px){.dd-app-usage-chart-wrap{height:220px;padding:14px 12px 16px}}.dd-user-profile{align-items:center;gap:12px;display:flex}.dd-user-info{flex-direction:column;align-items:flex-end;display:flex}.dd-user-name{color:#e2e8f0;font-size:13.5px;font-weight:600}.dd-user-role{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.dd-btn-logout{color:#e2e8f0;cursor:pointer;background-color:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.dd-btn-logout:hover{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.dd-print-filters{display:none}@media print{@page{margin:10mm 12mm;size:A4 landscape}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{margin:0!important;padding:0!important}.dd-page{background:#fff!important;margin:0!important;padding:0!important}.dd-header{box-shadow:none!important;background:#1e293b!important;justify-content:space-between!important;align-items:center!important;height:auto!important;margin:0!important;padding:8px 10px!important;display:flex!important;position:static!important;overflow:hidden!important}.dd-header-left{align-items:center!important;gap:8px!important;display:flex!important}.dd-header-logo{border-radius:6px!important;flex-shrink:0!important;height:28px!important;padding:3px 7px!important}.dd-header-divider{height:20px!important}.dd-title{white-space:nowrap!important;font-size:15px!important}.dd-subtitle{font-size:10px!important;display:block!important}.dd-export-btn,.dd-main-dash-btn,.dd-filter-bar,.dd-date-error,.debug-icon-btn,.dd-insight-dismiss,.dd-insights-clear,.dd-insights-notice,.dd-insights-loading,.dd-insights-gemini-badge{display:none!important}.dd-print-filters{background:#f8fafc;border-bottom:2px solid #cbd5e1;margin:0;padding:7px 10px 8px;display:block}.dd-print-filters-grid{grid-template-columns:1fr 1.4fr .7fr 2fr 1fr;gap:6px 18px;margin-bottom:7px;display:grid}.dd-print-filter-item{flex-direction:column;gap:1px;min-width:0;display:flex}.dd-print-filter-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:8px;font-weight:700}.dd-print-filter-value{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.dd-print-meta{color:#94a3b8;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding-top:5px;font-size:8px;display:flex}.dd-body{gap:12px;padding:10px 0}.dd-kpi-section{gap:8px;grid-template-columns:repeat(5,1fr)!important}.dd-kpi-card{box-shadow:none;break-inside:avoid;border:1px solid #e2e8f0}.dd-kpi-accent-bar{flex-shrink:0}.dd-kpi-body{padding:10px 12px}.dd-kpi-val{margin-bottom:2px;font-size:22px!important}.dd-kpi-label{margin-bottom:4px;font-size:10px!important}.dd-kpi-unit,.dd-kpi-sub{margin-bottom:3px;font-size:9px!important}.dd-kpi-shimmer{display:none}.dd-card,.dd-insights-section{box-shadow:none;border:1px solid #e2e8f0}.dd-card-title{margin-bottom:8px;font-size:12px!important}.dd-card-sub{font-size:10px!important}.dd-card-header{padding:12px 16px 10px!important}.dd-matrix-section{break-inside:auto}.dd-matrix-wrap{width:100%;overflow:visible!important}.dd-matrix-table{font-size:8.5px;table-layout:fixed!important;width:100%!important}.dd-sticky-col{position:static!important}.dd-th-fac{text-align:left!important;width:13%!important;min-width:0!important;padding:5px 8px!important}.dd-td-fac{width:13%!important;max-width:none!important;padding:5px 8px!important}.dd-fac-name{margin-bottom:2px;white-space:normal!important;font-size:9px!important}.dd-fac-district{font-size:7px!important}.dd-type-badge{padding:1px 4px!important;font-size:7px!important}.dd-th-day{width:3%!important;min-width:0!important;padding:4px 2px!important}.dd-td-day{width:3%!important;padding:0!important}.dd-day-dow{font-size:8px!important}.dd-day-date{font-size:7px!important}.dd-sq{border-radius:3px!important;width:14px!important;height:14px!important;margin:3px auto!important}.dd-th-kpi{word-break:break-word;line-height:1.2;white-space:normal!important;min-width:0!important;padding:5px 3px!important;font-size:8px!important}.dd-td-kpi{padding:4px 3px!important;font-size:9px!important}.dd-matrix-table thead th{background:#f1f5f9!important;padding:5px 3px!important;font-size:8px!important}.dd-row:nth-child(2n) .dd-sticky-col{background:#f8fafc!important}.dd-insights-section{break-before:auto;margin-top:8px}.dd-insights-header{margin-bottom:8px}.dd-insights-title{font-size:13px!important}.dd-insights-grid{grid-template-columns:repeat(2,1fr);gap:8px}.dd-insight-card{break-inside:avoid;padding:8px 10px!important}.dd-insight-text{line-height:1.5;padding-right:0!important;font-size:11px!important}.dd-legend{padding:6px 12px}.dd-leg-item{font-size:9px}}.login-overlay-container{z-index:9999;background:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.4s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.login-glass-card{-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #ffffff4d;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:40px;display:flex;box-shadow:0 25px 50px -12px #00000040}.login-header{text-align:center;margin-bottom:30px}.login-logo{object-fit:contain;height:48px;margin-bottom:16px}.login-title{color:#0f172a;margin:0 0 8px;font-size:24px;font-weight:700}.login-subtitle{color:#64748b;margin:0;font-size:14px}.login-error-message{color:#b91c1c;text-align:center;background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;width:100%;margin-bottom:20px;padding:12px;font-size:13px;font-weight:500}.login-form{flex-direction:column;gap:20px;width:100%;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#334155;font-size:13px;font-weight:600}.form-group input{color:#0f172a;box-sizing:border-box;background:#ffffffe6;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:12px 16px;font-size:14px;transition:all .2s}.form-group input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.password-input-wrapper{align-items:center;display:flex;position:relative}.toggle-password-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;right:12px}.toggle-password-btn:hover{color:#475569}.form-actions{justify-content:flex-start;display:flex}.remember-me-container{cursor:pointer;align-items:center;gap:8px;display:flex}.remember-me-container input[type=checkbox]{cursor:pointer;accent-color:#2563eb;width:16px;height:16px;margin:0}.remember-me-text{color:#334155;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.login-submit-btn{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:10px;width:100%;margin-top:10px;padding:14px;font-size:15px;font-weight:600;transition:background-color .2s,transform .1s;box-shadow:0 4px 6px -1px #2563eb33}.login-submit-btn:hover:not(:disabled){background-color:#1d4ed8}.login-submit-btn:active:not(:disabled){transform:translateY(1px)}.login-submit-btn:disabled{cursor:not-allowed;opacity:.7;background-color:#94a3b8}.app-container{min-height:100vh;position:relative}.dashboard-blurred{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none;height:100vh;transition:filter .4s ease-out;overflow:hidden}.invalid-input{background-color:#fef2f2!important;border-color:#ef4444!important}.invalid-input:focus{box-shadow:0 0 0 3px #ef444433!important}.field-error-text{color:#ef4444;margin-top:-2px;margin-left:2px;font-size:11px;font-weight:500;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.shake-animation{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}
