:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#182033;--muted:#667085;--border:#e5e9f2;--primary:#2458d3;--primary-2:#1e47ad;--success:#118a66;--warning:#b87410;--danger:#c53d3d;--info:#2767c7;--grid:#e9edf5;--sidebar:#111a2b;--sidebar-muted:#91a0b8;--shadow:0 8px 24px #1f2d4c0f;--shadow-lg:0 18px 40px #1f2d4c26;--radius:18px}:root[data-theme=dark]{--bg:#0e1420;--surface:#151d2b;--surface-2:#1b2535;--text:#edf2f9;--muted:#9aa8bd;--border:#2a3548;--grid:#273146;--sidebar:#0a0f19;--shadow:0 8px 24px #00000038;--shadow-lg:0 18px 40px #00000059}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);color:#fff;z-index:40;flex-direction:column;width:264px;padding:20px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:16px;padding:5px 8px 23px;display:flex}.brand-mark{background:linear-gradient(145deg,#4e80f5,#2145a5);border-radius:13px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.brand strong{font-size:14px;display:block}.brand span{color:var(--sidebar-muted);margin-top:3px;font-size:11px;display:block}.sidebar nav{flex-direction:column;gap:4px;display:flex;overflow:auto}.sidebar nav a,.sidebar-bottom a{color:#c1cbdb;border-radius:11px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;font-weight:600;display:flex}.sidebar nav a:hover,.sidebar nav a.active,.sidebar-bottom a:hover{color:#fff;background:#ffffff16}.sidebar nav a.active{box-shadow:inset 3px 0 #6090ff}.sidebar-bottom{gap:8px;margin-top:auto;display:grid}.secure-chip{color:#b9c9e5;background:#4274db21;border:1px solid #678fe133;border-radius:11px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.sidebar-close,.mobile-menu,.overlay{display:none}.app-main{flex:1;min-width:0;margin-left:264px}.topbar{background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.search{border:1px solid var(--border);background:var(--surface-2);width:min(360px,30vw);height:40px;color:var(--muted);border-radius:12px;align-items:center;gap:9px;padding:0 12px;display:flex}.search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.topbar-actions{align-items:center;gap:8px;display:flex}.filter-button,.icon-button,.secondary-button,.primary-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:11px;align-items:center;gap:7px;height:38px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.icon-button{justify-content:center;width:38px;padding:0}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-2)}.secondary-button:hover,.filter-button:hover,.icon-button:hover{background:var(--surface-2)}.mode-switch{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:3px;display:flex}.mode-switch button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}.mode-switch button.selected{background:var(--surface);color:var(--primary);box-shadow:0 2px 7px #14224114}.avatar{color:#264ea6;background:#dfe8ff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:900;display:grid}main{max-width:1680px;margin:0 auto;padding:30px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.page-header h1{letter-spacing:-.035em;margin:4px 0 8px;font-size:30px;line-height:1.12}.page-header p{color:var(--muted);max-width:760px;margin:0;font-size:14px;line-height:1.6}.eyebrow{letter-spacing:.16em;color:var(--primary);font-size:10px;font-weight:900}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:17px 18px}.kpi-top,.kpi-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-top>span{color:var(--muted);font-size:12px;font-weight:700}.info-dot{color:var(--muted);background:0 0;border:0;place-items:center;padding:2px;display:grid}.kpi-card>strong{letter-spacing:-.025em;margin:13px 0 14px;font-size:26px;line-height:1.1;display:block}.kpi-foot{min-height:23px}.delta{color:var(--muted);align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.delta.up{color:var(--success)}.delta.down{color:var(--danger)}.badge{letter-spacing:.05em;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 7px;font-size:9px;font-weight:900;display:inline-flex}.badge.good{color:#087052;background:#dff6ee}.badge.warn{color:#8a5700;background:#fff0ce}.badge.bad{color:#a82e2e;background:#fde5e5}.badge.neutral{color:#50617c;background:#edf1f7}:root[data-theme=dark] .badge.good{color:#80d7bd;background:#123a31}:root[data-theme=dark] .badge.warn{color:#ffd480;background:#3f3119}:root[data-theme=dark] .badge.bad{color:#ff9a9a;background:#442323}:root[data-theme=dark] .badge.neutral{color:#bdc7d7;background:#273246}.dashboard-grid{gap:16px;margin-bottom:16px;display:grid}.dashboard-grid.equal,.dashboard-grid.one-one{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid.two-one{grid-template-columns:minmax(0,2fr) minmax(340px,1fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:19px}.card-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.card-head:empty{display:none}.card h2{margin:0 0 4px;font-size:15px}.card-head p{color:var(--muted);margin:0;font-size:11px}.chart{min-width:0;height:285px}.chart.tall{height:390px}.chart-legend-note{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:5px;font-size:10px;display:flex}.legend-dot{border-radius:4px;width:18px;height:3px}.legend-dot.actual{background:#2458d3}.legend-dot.forecast{background:#8d65d8}.tech-details{border-top:1px solid var(--border);margin-top:9px;padding-top:8px}.tech-details>button{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.rotated{transform:rotate(180deg)}.tech-panel{background:var(--surface-2);color:var(--muted);border-radius:10px;margin-top:8px;padding:10px;font-size:11px;line-height:1.55}.list-stack{flex-direction:column;gap:7px;display:flex}.alert-row{background:var(--surface-2);border:1px solid #0000;border-radius:13px;align-items:flex-start;gap:11px;padding:11px;display:flex}.alert-row:hover{border-color:var(--border)}.severity-dot{width:31px;height:31px;color:var(--danger);background:#fce7e7;border-radius:9px;flex:none;place-items:center;display:grid}.severity-dot.media{color:var(--warning);background:#fff2d9}.alert-icon,.warn-icon,.ok-icon{width:17px}.alert-copy{flex:1;min-width:0}.alert-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.alert-title strong{font-size:12px;line-height:1.35}.alert-copy p{color:var(--muted);margin:4px 0 6px;font-size:10px;line-height:1.45}.meta-row{flex-wrap:wrap;gap:8px;display:flex}.meta-row span{color:var(--muted);font-size:9px;font-weight:700}.row-action{color:var(--muted);background:0 0;border:0;padding:4px}.chips{gap:6px;margin-bottom:10px;display:flex;overflow:auto}.chips button{border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.chips button.active{color:var(--primary);background:#e9efff;border-color:#cad7ff}.action-list{gap:8px;display:grid}.action-row{border-bottom:1px solid var(--border);grid-template-columns:29px 1fr auto;align-items:flex-start;gap:9px;padding:10px;display:grid}.action-row:last-child{border-bottom:0}.action-check{color:var(--muted)}.action-check svg{width:17px}.action-row strong{font-size:11px;line-height:1.4;display:block}.action-row p{color:var(--muted);margin:4px 0 0;font-size:9px}.priority{border-radius:8px;padding:4px 6px;font-size:9px;font-weight:900}.priority.p1{color:#a52f2f;background:#fde5e5}.priority.p2{color:#855400;background:#fff0ce}.analyst-panel{border-color:#b9c9f7}.tech-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tech-grid>div{background:var(--surface-2);border-radius:12px;padding:12px}.tech-grid svg{color:var(--primary);width:20px}.tech-grid strong{margin:8px 0 4px;font-size:12px;display:block}.tech-grid p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.heatmap{grid-template-columns:140px repeat(4,minmax(70px,1fr));gap:5px;padding-top:5px;font-size:10px;display:grid;overflow:auto}.heat-row{display:contents}.heat-head,.heat-label,.heat-cell{border-radius:8px;justify-content:center;align-items:center;min-height:39px;padding:6px;display:flex}.heat-head{color:var(--muted);font-weight:900}.heat-label{color:var(--muted);justify-content:flex-start;font-weight:700}.heat-cell{color:var(--text);border:1px solid color-mix(in srgb,var(--border) 65%,transparent);font-weight:900}.table-scroll{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 9px;font-size:9px}td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 9px;line-height:1.4}tbody tr:hover{background:var(--surface-2)}.metric-list{gap:10px;display:grid}.metric-list>div{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:3px;padding:9px 0;display:grid}.metric-list>div:last-child{border-bottom:0}.metric-list span{font-size:12px;font-weight:700}.metric-list strong{font-size:14px}.metric-list small{color:var(--muted);grid-column:1/-1}.profile-cards{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.profile-card{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:12px}.profile-card>div{justify-content:space-between;align-items:center;gap:7px;margin-bottom:10px;display:flex}.profile-card strong{font-size:12px}.profile-card p{color:var(--muted);margin:6px 0;font-size:10px}.profile-card b{color:var(--text);float:right}.quality-list{gap:13px;display:grid}.quality-item{border:1px solid var(--border);border-radius:13px;padding:11px}.quality-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.quality-title strong{font-size:12px}.quality-item p{color:var(--muted);margin:8px 0 0;font-size:10px}.progress-label{color:var(--muted);justify-content:space-between;gap:10px;margin-bottom:5px;font-size:9px;display:flex}.progress{background:var(--surface-2);border-radius:999px;height:7px;overflow:hidden}.progress span{border-radius:inherit;background:linear-gradient(90deg,#2458d3,#5a82eb);height:100%;display:block}.stepper{gap:4px;display:grid}.step{border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.step span{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.step.done span{color:#087052;background:#dff6ee;border-color:#b7eadb}.step.current{background:#eef3ff}.step.current span{background:var(--primary);color:#fff;border-color:var(--primary)}.step strong{font-size:12px}.step p{color:var(--muted);margin:3px 0 0;font-size:10px}.import-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.import-card .card-head{display:none}.import-icon{width:41px;height:41px;color:var(--primary);background:#eaf0ff;border-radius:13px;place-items:center;margin-bottom:13px;display:grid}.import-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.import-title span{color:var(--primary);font-size:9px;font-weight:900}.import-title h3{margin:3px 0;font-size:14px}.import-card>p{color:var(--muted);min-height:31px;font-size:10px}.workflow{justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex;overflow:auto}.workflow>div{text-align:center;min-width:115px}.workflow>div span{width:34px;height:34px;color:var(--primary);background:#eaf0ff;border-radius:50%;place-items:center;margin:0 auto 8px;font-weight:900;display:grid}.workflow strong{font-size:11px;display:block}.workflow small{color:var(--muted);font-size:9px}.workflow i{background:var(--border);flex:1;min-width:28px;height:1px}.settings-list{display:grid}.settings-list label{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;display:flex}.settings-list label:last-child{border-bottom:0}.settings-list span{font-size:12px;font-weight:700}.settings-list small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.settings-list select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:8px;font-size:11px}@media (max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid.two-one,.dashboard-grid.equal,.dashboard-grid.one-one{grid-template-columns:1fr}.import-grid{grid-template-columns:repeat(2,1fr)}.desktop-only{display:none}.search{width:240px}}@media (max-width:820px){.sidebar{transition:all .22s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{color:#fff;background:0 0;border:0;margin-left:auto;display:grid}.overlay{z-index:35;opacity:0;pointer-events:none;background:#050a1473;transition:all .2s;display:block;position:fixed;inset:0}.overlay.show{opacity:1;pointer-events:auto}.app-main{margin-left:0}.mobile-menu{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);z-index:31;border-radius:10px;place-items:center;display:grid;position:fixed;top:17px;left:13px}.topbar{padding:0 13px 0 60px}.search{display:none}main{padding:20px 14px}.page-header{display:block}.page-header>div+div{margin-top:13px}.page-header h1{font-size:25px}.profile-cards,.tech-grid{grid-template-columns:1fr}.heatmap{grid-template-columns:112px repeat(4,78px)}}@media (max-width:560px){.kpi-grid{grid-template-columns:1fr}.topbar{height:64px}.mode-switch button{padding:6px}.topbar-actions{justify-content:flex-end;width:100%}.filter-button{display:none}.avatar{width:33px;height:33px}.import-grid{grid-template-columns:1fr}.card{padding:15px}.chart{height:245px}.workflow{justify-content:flex-start}.workflow i{flex:0 0 20px;min-width:20px}}.production-stack{gap:16px;display:grid}.upload-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.upload-form label{color:var(--muted);gap:7px;font-size:10px;font-weight:800;display:grid}.upload-form label.wide{grid-column:1/-2}.upload-form input,.upload-form select,.upload-form textarea,.login-card input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;outline:none;padding:10px 11px}.upload-form textarea{resize:vertical;min-height:78px}.upload-form input:focus,.upload-form select:focus,.upload-form textarea:focus,.login-card input:focus{border-color:#86a5f5;box-shadow:0 0 0 3px #2458d31f}.form-message{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:11px;padding:11px 13px;font-size:11px}.mini-stat-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mini-stat-grid>div{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:13px}.mini-stat-grid span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800;display:block}.mini-stat-grid strong{margin-top:7px;font-size:22px;display:block}.row-buttons{flex-wrap:wrap;gap:5px;display:flex}.row-buttons button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:6px 8px;font-size:9px;font-weight:800}.row-buttons button:hover{color:var(--primary);border-color:#9eb5ef}.row-buttons button:disabled{opacity:.45}.empty-state{text-align:center;color:var(--muted);padding:28px;font-size:11px}.canonical-banner{color:#fff;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#12213e,#234a9e);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.canonical-banner span{letter-spacing:.14em;color:#b9cbef;font-size:9px;font-weight:900;display:block}.canonical-banner strong{margin:7px 0 5px;font-size:23px;display:block}.canonical-banner small{color:#cbd7ee;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.session-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-items:center;gap:7px;height:36px;padding:0 10px;display:flex}.session-chip span{color:var(--primary);font-size:8px;font-weight:900}.session-chip b{text-overflow:ellipsis;max-width:80px;font-size:10px;overflow:hidden}.login-shell{background:radial-gradient(circle at 10% 10%,#dbe7ff,transparent 36%),radial-gradient(circle at 90% 90%,#e3f3ec,transparent 35%),var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-lg);border-radius:24px;gap:15px;padding:30px;display:grid}.login-card .brand-mark{margin-bottom:3px}.login-card h1{letter-spacing:-.035em;margin:0;font-size:29px}.login-card p{color:var(--muted);margin:-7px 0 5px;font-size:12px;line-height:1.55}.login-card label{color:var(--muted);gap:7px;font-size:10px;font-weight:800;display:grid}.login-card .primary-button{justify-content:center;height:44px}.login-card>small{text-align:center;color:var(--muted);font-size:9px}.login-error{color:#a82e2e;background:#fde5e5;border-radius:10px;padding:9px 11px;font-size:10px;font-weight:700}code{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}@media (max-width:1050px){.upload-form{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-form label.wide{grid-column:1/-1}.upload-form .primary-button{grid-column:1/-1;justify-content:center}.mini-stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.upload-form,.mini-stat-grid{grid-template-columns:1fr}.upload-form label.wide,.upload-form .primary-button{grid-column:auto}.canonical-banner{align-items:flex-start}.session-chip b{display:none}}.health-checks{gap:8px;display:grid}.health-checks>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.health-checks strong{text-transform:capitalize;font-size:12px;display:block}.health-checks small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.health-checks b{color:var(--muted);font-size:10px}.health-dot{background:var(--muted);border-radius:50%;width:9px;height:9px}.health-dot.pass{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 16%,transparent)}.health-dot.warn{background:var(--warning)}.health-dot.fail{background:var(--danger)}.canonical-system{grid-template-columns:92px 1fr;align-items:center;gap:12px;display:grid}.canonical-system>span{color:var(--muted);font-size:10px;font-weight:800}.canonical-system>strong{font-size:18px}.canonical-system code{overflow-wrap:anywhere;line-height:1.5}.release-sha{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.system-error,.error-boundary{color:#922d2d;background:#fff0f0;border:1px solid #f2b9b9;border-radius:14px;margin-bottom:16px;padding:18px}.skeleton-stack{gap:12px;display:grid}.skeleton-stack i{background:linear-gradient(90deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 50%,white),var(--surface-2));background-size:200% 100%;border-radius:10px;height:44px;animation:1.4s infinite skeleton;display:block}.page-loading{text-align:center;min-height:55vh;color:var(--muted);align-content:center;place-items:center;gap:9px;display:grid}.page-loading .loading-mark{background:var(--primary);color:#fff;border-radius:14px;place-items:center;width:45px;height:45px;font-weight:900;display:grid}.page-loading strong{color:var(--text)}.page-loading span{font-size:11px}.error-boundary{max-width:560px;margin:40px auto}.error-boundary strong{font-size:18px;display:block}.error-boundary p{font-size:12px}.error-boundary button{margin-top:8px}@keyframes skeleton{to{background-position:-200% 0}}.acceptance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.acceptance-item{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:13px;display:grid}.acceptance-item>svg{color:var(--primary)}.acceptance-item strong{text-transform:capitalize;font-size:11px}.acceptance-item p{color:var(--muted);margin:3px 0 0;font-size:9px;line-height:1.45}.staging-meta{margin-top:18px}@media (max-width:820px){.acceptance-grid{grid-template-columns:1fr}}.recovery-grid{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;display:grid}.recovery-grid code{background:var(--surface);border:1px solid var(--border);text-align:center;color:var(--text);border-radius:8px;padding:8px;font-size:11px}.security-facts{gap:10px;margin-top:18px;display:grid}.security-facts>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.security-facts span{color:var(--muted);font-size:10px;font-weight:800}.security-facts strong{font-size:11px}@media (max-width:560px){.recovery-grid{grid-template-columns:1fr}}.active-filter{position:relative}.active-filter b{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:9px;display:grid}.filter-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#080f1c75;justify-content:flex-end;display:flex;position:fixed;inset:0}.filter-drawer{background:var(--surface);flex-direction:column;gap:22px;width:min(660px,100%);height:100%;padding:26px;display:flex;overflow:auto;box-shadow:-18px 0 55px #09122338}.filter-head{border-bottom:1px solid var(--border);justify-content:space-between;gap:18px;padding-bottom:18px;display:flex}.filter-head span{letter-spacing:.14em;color:var(--primary);font-size:9px;font-weight:900}.filter-head h2{margin:5px 0 4px;font-size:23px}.filter-head p{color:var(--muted);margin:0;font-size:11px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.filter-grid label{gap:7px;display:grid}.filter-grid label>span{color:var(--muted);font-size:10px;font-weight:800}.filter-grid input,.filter-grid select{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;padding:11px}.filter-grid .specific-day{border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--surface));border-radius:12px;grid-column:1/-1;padding:13px}.filter-note{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;grid-template-columns:90px 1fr;gap:10px;padding:12px;display:grid}.filter-note b{font-size:10px}.filter-note span{color:var(--muted);font-size:10px;line-height:1.5}.filter-actions{justify-content:flex-end;gap:10px;margin-top:auto;display:flex}.secondary-button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;padding:10px 14px;font-size:11px;font-weight:800}.filter-context{flex-wrap:wrap;gap:8px;margin:-4px 0 16px;display:flex}.filter-context span{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.filter-context .coverage{color:#8a6205;background:#fff8e6;border-color:#f0d99e}.empty-chart{height:100%;color:var(--muted);text-align:center;place-items:center;padding:20px;font-size:11px;display:grid}@media (max-width:620px){.filter-drawer{padding:20px 15px}.filter-grid{grid-template-columns:1fr}.filter-grid .specific-day{grid-column:auto}.filter-actions{display:grid}.filter-actions button{justify-content:center}}.coverage-list{gap:7px;padding:8px 2px;display:grid}.coverage-list strong{color:var(--primary);font-size:11px}.coverage-list p{color:var(--muted);margin:0 0 8px;font-size:11px;line-height:1.55}.filter-icon-button{flex:0 0 38px;position:relative}.filter-icon-button.has-filters{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.filter-icon-button b{background:var(--primary);color:#fff;border:2px solid var(--surface);border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.compact-filter-drawer{gap:17px;width:min(470px,100%);padding:22px}.compact-filter-drawer .filter-head{padding-bottom:14px}.compact-filter-drawer .filter-head h2{font-size:21px}.date-preset-row{gap:6px;padding:1px;display:flex;overflow-x:auto}.date-preset-row button{border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.date-preset-row button:hover{background:var(--surface-2)}.date-preset-row button.selected{background:color-mix(in srgb,var(--primary) 10%,var(--surface));border-color:color-mix(in srgb,var(--primary) 42%,var(--border));color:var(--primary)}.compact-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-filter-details{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:0 13px 13px}.advanced-filter-details summary{cursor:pointer;color:var(--text);padding:12px 0;font-size:11px;font-weight:850}.advanced-filter-details .filter-grid{padding-top:2px}.filter-error{border:1px solid color-mix(in srgb,var(--danger) 38%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--surface));color:var(--danger);border-radius:10px;padding:10px 12px;font-size:11px;font-weight:700}.compact-filter-drawer .filter-actions{margin-top:0}.chart{overflow:hidden}.recharts-responsive-container{min-width:0!important}@media (max-width:620px){.compact-filter-drawer{padding:18px 14px}.compact-date-grid{grid-template-columns:1fr 1fr}.date-preset-row{margin-inline:-2px}.advanced-filter-details .filter-grid{grid-template-columns:1fr}.filter-icon-button{display:inline-flex!important}}main{padding:28px clamp(22px,2.25vw,36px) 38px}.page-header{margin-bottom:21px}.kpi-grid{gap:16px;margin-bottom:18px}.dashboard-grid{gap:18px;margin-bottom:18px}.card{border-radius:16px;padding:20px 21px;box-shadow:0 7px 22px #1f2d4c0e}.card-head{margin-bottom:15px}.card h2{letter-spacing:-.01em;font-size:15px}.card-head p{line-height:1.45}.revenue-card .card-head{margin-bottom:13px}.revenue-trend-shell{gap:12px;display:grid}.revenue-chart-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 1px;display:grid}.revenue-chart-summary>div{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 58%,var(--surface)));border-radius:12px;min-width:0;padding:10px 12px}.revenue-chart-summary span{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.revenue-chart-summary strong{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:14px;display:block;overflow:hidden}.revenue-chart-summary small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.revenue-chart{border-top:1px solid color-mix(in srgb,var(--border) 74%,transparent);height:252px;padding-top:3px}.recharts-tooltip-wrapper{outline:none}.filter-overlay-polished{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c142366}.filter-drawer-polished{border-left:1px solid color-mix(in srgb,var(--border) 88%,transparent);gap:0;width:min(438px,100%);padding:0;box-shadow:-22px 0 70px #08122333}.filter-head-polished{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,var(--surface-2));align-items:center;padding:22px 24px 19px}.filter-title-block{min-width:0}.filter-kicker{display:block;letter-spacing:.17em!important;color:var(--primary)!important;font-size:8px!important;font-weight:900!important}.filter-head-polished h2{letter-spacing:-.035em;line-height:1.05;margin:6px 0 5px!important;font-size:24px!important}.filter-head-polished p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:10px!important}.filter-head-actions{align-items:center;gap:8px;display:flex}.filter-active-count{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850}.filter-close-button{background:var(--surface-2);border-radius:10px}.filter-body-polished{gap:16px;padding:20px 24px 24px;display:grid}.filter-section-polished{gap:13px;display:grid}.filter-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.filter-section-heading>div{align-items:center;gap:8px;display:flex}.filter-section-heading span,.advanced-filter-polished summary span{background:color-mix(in srgb,var(--primary) 9%,var(--surface));width:22px;height:22px;color:var(--primary);border-radius:7px;place-items:center;font-size:8px;font-weight:900;display:grid}.filter-section-heading strong{font-size:12px}.filter-section-heading small{color:var(--muted);text-align:right;font-size:9px;line-height:1.4}.date-preset-grid{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:4px;display:grid;overflow:visible}.date-preset-grid button{background:0 0;border:0;border-radius:8px;min-width:0;padding:8px 5px;font-size:9px}.date-preset-grid button:hover{background:var(--surface)}.date-preset-grid button.selected{background:var(--surface);color:var(--primary);border:0;box-shadow:0 2px 7px #14224114}.filter-date-panel{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px}.filter-drawer-polished .filter-grid{gap:11px}.filter-drawer-polished .filter-grid label{gap:6px}.filter-drawer-polished .filter-grid label>span{letter-spacing:.02em;font-size:9px}.filter-drawer-polished .filter-grid input,.filter-drawer-polished .filter-grid select{background:var(--surface);border-radius:9px;outline:none;height:40px;padding:0 11px;font-size:11px;transition:border-color .15s,box-shadow .15s}.filter-drawer-polished .filter-grid input:focus,.filter-drawer-polished .filter-grid select:focus{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.advanced-filter-polished{background:var(--surface);border-radius:12px;padding:0;overflow:hidden}.advanced-filter-polished summary{justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;list-style:none;display:flex}.advanced-filter-polished summary::-webkit-details-marker{display:none}.advanced-filter-polished summary>div{grid-template-columns:22px 1fr;align-items:center;column-gap:8px;display:grid}.advanced-filter-polished summary strong{font-size:12px}.advanced-filter-polished summary small{color:var(--muted);grid-column:2;margin-top:2px;font-size:9px}.advanced-filter-polished summary svg{color:var(--muted);transition:transform .18s}.advanced-filter-polished[open] summary svg{transform:rotate(180deg)}.advanced-filter-grid{border-top:1px solid var(--border);padding:0 14px 14px;padding-top:14px!important}.filter-field-wide{grid-column:1/-1}.filter-note-polished{background:color-mix(in srgb,var(--primary) 3%,var(--surface-2));border-radius:10px;grid-template-columns:76px 1fr;padding:10px 11px}.filter-note-polished b,.filter-note-polished span{font-size:9px}.filter-actions-polished{padding:15px 24px calc(15px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:0;position:sticky;bottom:0;box-shadow:0 -10px 26px #1422410e}.filter-actions-polished .secondary-button,.filter-actions-polished .primary-button{justify-content:center;min-width:105px;height:40px}.filter-context-polished{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,var(--surface-2));border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:-3px 0 18px;padding:9px 10px;display:grid}.filter-context-copy{white-space:nowrap;align-items:center;gap:8px;display:flex}.filter-context-icon{background:color-mix(in srgb,var(--primary) 9%,var(--surface));width:28px;height:28px;color:var(--primary);border-radius:9px;place-items:center;display:grid;border:0!important;padding:0!important}.filter-context-copy strong{font-size:10px;display:block}.filter-context-copy small{color:var(--muted);margin-top:1px;font-size:8px;display:block}.filter-context-chips{scrollbar-width:none;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.filter-context-chips::-webkit-scrollbar{display:none}.filter-context-polished .filter-context-chips span{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;flex:none;padding:5px 8px;font-size:8px;font-weight:750}.filter-context-reset{color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:6px 7px;font-size:9px;font-weight:800;display:inline-flex}.filter-context-reset:hover{background:var(--surface-2);color:var(--text)}@media (max-width:820px){main{padding:22px 16px 30px}.page-header{margin-bottom:18px}.dashboard-grid,.kpi-grid{gap:14px;margin-bottom:14px}.card{padding:17px}.filter-context-polished{grid-template-columns:1fr auto}.filter-context-copy{display:none}.filter-context-chips{grid-column:1}.revenue-chart-summary{grid-template-columns:1fr 1fr}.revenue-chart-summary>div:last-child{grid-column:1/-1}.filter-drawer-polished{width:min(430px,100%)}}@media (max-width:560px){.filter-head-polished{padding:18px 16px 15px}.filter-body-polished{padding:16px}.filter-actions-polished{padding:13px 16px calc(13px + env(safe-area-inset-bottom))}.date-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.date-preset-grid button:nth-child(4),.date-preset-grid button:nth-child(5){grid-column:span 1}.compact-date-grid{grid-template-columns:1fr}.filter-section-heading small,.filter-head-actions .filter-active-count{display:none}.revenue-chart-summary{grid-template-columns:1fr}.revenue-chart-summary>div:last-child{grid-column:auto}.revenue-chart{height:238px}.filter-context-polished{margin-bottom:14px}}.revenue-chart-summary>div:nth-child(3) strong{font-size:13px}.revenue-chart-meta{justify-content:space-between;align-items:center;gap:12px;padding:1px 2px 0;display:flex}.revenue-series-legend{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.revenue-series-legend>span{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:750;display:inline-flex}.series-line{background:#2458d3;border-radius:99px;width:22px;height:3px;display:inline-block}.series-line.forecast-base{background:0 0;border-top:2px dashed #8d65d8;border-radius:0;height:0}.series-line.forecast-range{background:0 0;border-top:1px dashed #a7afbd;border-radius:0;height:0}.forecast-scope-badge{border:1px solid color-mix(in srgb,#8d65d8 28%,var(--border));background:color-mix(in srgb,#8d65d8 7%,var(--surface));color:color-mix(in srgb,#8d65d8 82%,var(--text));letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex:none;padding:5px 8px;font-size:8px;font-weight:900}.revenue-chart{height:270px}.forecast-disclosure{border:1px solid color-mix(in srgb,#8d65d8 18%,var(--border));background:color-mix(in srgb,#8d65d8 3.5%,var(--surface-2));color:var(--muted);border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:6px 8px;margin-top:-2px;padding:9px 11px;font-size:9px;line-height:1.45;display:grid}.forecast-disclosure strong{color:var(--text);white-space:nowrap}@media (max-width:820px){.revenue-chart-meta{align-items:flex-start}.revenue-series-legend{gap:8px 12px}.forecast-disclosure{grid-template-columns:1fr}.forecast-disclosure strong{white-space:normal}}@media (max-width:560px){.revenue-chart-meta{display:grid}.forecast-scope-badge{justify-self:start}.revenue-chart{height:250px}.revenue-chart-summary>div:nth-child(3) strong{font-size:12px}}.chart-view-shell{min-width:0;position:relative}.chart-view-control-row{justify-content:flex-end;align-items:center;min-height:30px;margin:-7px 0 3px;display:flex}.chart-view-switcher{z-index:14;display:inline-flex;position:relative}.chart-view-trigger{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--surface-2));height:30px;color:var(--muted);white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:0 9px;font-size:9px;font-weight:850;display:inline-flex;box-shadow:0 2px 7px #14224109}.chart-view-trigger:hover,.chart-view-trigger[aria-expanded=true]{color:var(--text);border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background:var(--surface)}.chart-view-trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent);outline:0}.chart-view-chevron{transition:transform .16s}.chart-view-chevron.open{transform:rotate(180deg)}.chart-view-menu{border:1px solid var(--border);background:var(--surface);width:244px;box-shadow:var(--shadow-lg);z-index:80;transform-origin:100% 0;border-radius:13px;animation:.14s ease-out chart-view-in;position:absolute;top:calc(100% + 7px);right:0;overflow:hidden}@keyframes chart-view-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.chart-view-menu-head{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,var(--surface-2));gap:2px;padding:12px 13px 10px;display:grid}.chart-view-menu-head strong{font-size:11px}.chart-view-menu-head span{color:var(--muted);font-size:8px}.chart-view-options{padding:5px;display:grid}.chart-view-option{color:var(--text);text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.chart-view-option:hover{background:var(--surface-2)}.chart-view-option.selected{background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary)}.chart-view-option>span{gap:2px;min-width:0;display:grid}.chart-view-option strong{font-size:10px}.chart-view-option small{color:var(--muted);font-size:8px;line-height:1.35}.chart-view-option svg{flex:none}.chart-view-menu-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.chart-view-menu-foot span{color:var(--muted);font-size:7.5px;line-height:1.3}.chart-view-menu-foot button{color:var(--primary);background:0 0;border:0;border-radius:7px;padding:5px 6px;font-size:8px;font-weight:850}.chart-view-menu-foot button:hover:not(:disabled){background:var(--surface)}.chart-view-menu-foot button:disabled{opacity:.38;cursor:default}.revenue-chart-actions{flex:none;align-items:center;gap:7px;display:flex}.revenue-card{overflow:visible}.candlestick-chart svg{display:block;overflow:visible}@media (max-width:820px){.chart-view-control-row{margin-top:-4px}.chart-view-menu{width:230px}.revenue-chart-actions{align-items:flex-start}.revenue-chart-meta{gap:8px}}@media (max-width:560px){.chart-view-trigger{justify-content:center;width:30px;padding:0}.chart-view-trigger span,.chart-view-trigger .chart-view-chevron{display:none}.chart-view-menu{width:min(244px,100vw - 44px);right:-2px}.revenue-chart-actions{justify-content:space-between;width:100%}.revenue-chart-meta{grid-template-columns:1fr}.chart-view-control-row{min-height:28px;margin-bottom:1px}}.cost-loading{min-height:120px;color:var(--muted);place-items:center;font-size:12px;display:grid}.cost-intelligence-banner{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface));box-shadow:var(--shadow);border-radius:15px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex}.cost-intelligence-banner span{color:var(--primary);letter-spacing:.12em;font-size:9px;font-weight:900;display:block}.cost-intelligence-banner strong{margin:4px 0;font-size:14px;display:block}.cost-intelligence-banner small{color:var(--muted);font-size:9px;display:block}.cost-result-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px;display:grid}.cost-result-strip>div,.marketing-metric-grid>div,.benchmark-grid>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px}.cost-result-strip span,.marketing-metric-grid span,.benchmark-grid span{color:var(--muted);font-size:9px;font-weight:800;display:block}.cost-result-strip strong,.marketing-metric-grid strong,.benchmark-grid strong{margin:6px 0 3px;font-size:15px;display:block}.cost-result-strip small,.marketing-metric-grid small{color:var(--muted);font-size:8px;display:block}.reconciliation-list{gap:8px;display:grid}.reconciliation-list article{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:11px 12px}.reconciliation-list article>div,.payroll-actual-box>div,.quality-gap-grid>div>div,.source-stack>div>div,.labor-version-list>div>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.reconciliation-list strong{font-size:11px}.reconciliation-list p,.quality-gap-grid p,.source-stack p,.payroll-actual-box p{color:var(--muted);margin:5px 0;font-size:9px;line-height:1.45}.reconciliation-list small{color:var(--muted);font-size:8px}.scenario-name{gap:2px;display:grid}.scenario-name strong{font-size:11px}.scenario-name small{color:var(--muted);font-size:8px}.ratio-danger{color:var(--danger)}.ratio-warning{color:var(--warning)}.ratio-good{color:var(--success)}.cost-footnote{color:var(--muted);margin:11px 2px 0;font-size:9px;line-height:1.55}.labor-version-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.labor-version-list>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px}.labor-version-list span{font-size:10px;font-weight:800}.labor-version-list strong{margin:10px 0 4px;font-size:16px;display:block}.labor-version-list small{color:var(--muted);font-size:8px;line-height:1.4;display:block}.payroll-actual-box{border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--surface));border-radius:12px;margin-top:10px;padding:13px}.payroll-actual-box span{font-size:10px;font-weight:850}.payroll-actual-box>strong{margin:9px 0 2px;font-size:20px;display:block}.marketing-metric-grid,.benchmark-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.october-comparison{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.october-comparison>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:14px}.october-comparison span{color:var(--muted);font-size:9px;font-weight:800;display:block}.october-comparison strong{margin:7px 0 4px;font-size:19px;display:block}.october-comparison small{color:var(--muted);font-size:8px;line-height:1.4;display:block}.quality-gap-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.quality-gap-grid>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:11px}.quality-gap-grid strong,.source-stack strong{font-size:10px;line-height:1.35}.source-stack{gap:7px;max-height:430px;padding-right:2px;display:grid;overflow:auto}.source-stack>div{border:1px solid var(--border);background:var(--surface-2);border-radius:11px;padding:10px 11px}.source-stack small{color:var(--muted);margin-top:5px;font-size:8px;display:block}.tech-panel ul{margin:0;padding-left:17px}.tech-panel li{margin:4px 0}@media (max-width:1050px){.labor-version-list,.quality-gap-grid{grid-template-columns:1fr}}@media (max-width:620px){.cost-intelligence-banner{align-items:flex-start;display:grid}.cost-result-strip,.marketing-metric-grid,.benchmark-grid,.october-comparison{grid-template-columns:1fr}.cost-result-strip>div{grid-template-columns:1fr auto;align-items:center;display:grid}.cost-result-strip strong{grid-area:1/2/3}.cost-result-strip small{grid-column:1}}.kpi-card.has-visual{overflow:hidden}.kpi-main{grid-template-columns:minmax(0,1fr) minmax(96px,38%);align-items:center;gap:12px;display:grid}.kpi-main>strong{min-width:0}.kpi-visual{align-self:end;height:48px}.kpi-sparkline{opacity:.95;width:100%;height:100%}.kpi-sparkline svg{width:100%;height:100%;display:block;overflow:visible}.kpi-sparkline polygon{fill:color-mix(in srgb,var(--primary) 12%,transparent)}.kpi-sparkline polyline{fill:none;stroke:var(--primary);stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.kpi-sparkline circle{fill:var(--surface);stroke:var(--primary);stroke-width:2px;vector-effect:non-scaling-stroke}.kpi-sparkline.success polygon{fill:color-mix(in srgb,var(--success) 13%,transparent)}.kpi-sparkline.success polyline,.kpi-sparkline.success circle{stroke:var(--success)}.kpi-sparkline.warning polygon{fill:color-mix(in srgb,var(--warning) 13%,transparent)}.kpi-sparkline.warning polyline,.kpi-sparkline.warning circle{stroke:var(--warning)}.kpi-sparkline.violet polygon{fill:#8d65d821}.kpi-sparkline.violet polyline,.kpi-sparkline.violet circle{stroke:#8d65d8}.chart-explorer{min-width:0}.chart-explorer-toolbar{justify-content:space-between;align-items:center;gap:10px;min-height:34px;margin:-6px 0 6px;display:flex}.chart-period-tabs{scrollbar-width:none;align-items:center;gap:2px;min-width:0;padding:2px;display:flex;overflow-x:auto}.chart-period-tabs::-webkit-scrollbar{display:none}.chart-period-tabs button{color:var(--muted);letter-spacing:.02em;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:7px 8px 5px;font-size:9px;font-weight:850}.chart-period-tabs button:hover{color:var(--text)}.chart-period-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.chart-explorer-actions{flex:none;align-items:center;gap:5px;display:flex}.chart-explorer-actions .chart-view-control-row{min-height:0;margin:0}.chart-zoom-button{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--muted);border-radius:9px;place-items:center;display:grid}.chart-zoom-button:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.chart-zoom-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0912269e;place-items:center;padding:clamp(10px,3vw,34px);display:grid;position:fixed;inset:0}.chart-zoom-dialog{background:var(--surface);border:1px solid var(--border);border-radius:20px;grid-template-rows:auto auto 1fr;width:min(1180px,100%);height:min(820px,100%);display:grid;overflow:hidden;box-shadow:0 30px 90px #00000059}.chart-zoom-dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.chart-zoom-dialog>header div{gap:3px;display:grid}.chart-zoom-dialog>header span{letter-spacing:.13em;color:var(--primary);font-size:8px;font-weight:900}.chart-zoom-dialog>header strong{font-size:15px}.chart-zoom-dialog>header button{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--text);border-radius:10px;place-items:center;display:grid}.chart-zoom-dialog>.chart-explorer-toolbar{border-bottom:1px solid var(--border);margin:0;padding:6px 14px}.chart-zoom-content{min-height:0;padding:18px;overflow:auto}.chart-zoom-content .chart,.chart-zoom-content .revenue-chart{height:min(62vh,560px)!important}.chart-zoom-content .heatmap{min-width:780px}@media (max-width:700px){.kpi-main{grid-template-columns:minmax(0,1fr) 42%}.chart-explorer-toolbar{grid-template-columns:minmax(0,1fr) auto;display:grid}.chart-period-tabs button{padding-inline:7px}.chart-zoom-backdrop{padding:0}.chart-zoom-dialog{border:0;border-radius:0;width:100%;height:100%}.chart-zoom-content{padding:12px}.chart-zoom-dialog>.chart-explorer-toolbar{grid-template-columns:minmax(0,1fr) auto}.chart-zoom-content .chart,.chart-zoom-content .revenue-chart{height:58vh!important}}.report-config-panel{margin-bottom:18px}.report-config-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.report-config-grid label{gap:6px;display:grid}.report-config-grid label>span{color:var(--muted);letter-spacing:.035em;font-size:9px;font-weight:850}.report-config-grid input,.report-config-grid select{border:1px solid var(--border);background:var(--surface-2);width:100%;height:38px;color:var(--text);font:inherit;border-radius:10px;padding:0 10px;font-size:10px}.report-config-grid input:focus,.report-config-grid select:focus{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent);outline:0}.report-action-bar{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.report-action-bar button{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-size:9px;font-weight:850;display:inline-flex}.report-action-bar button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary)}.report-action-bar .primary-button{background:var(--primary);border-color:var(--primary);color:#fff}.report-action-bar button:disabled{opacity:.45;cursor:not-allowed}.report-paper{border:1px solid var(--border);background:var(--surface);max-width:1120px;box-shadow:var(--shadow-lg);color:var(--text);border-radius:20px;margin:18px auto 50px;overflow:hidden}.report-cover{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,var(--surface)),var(--surface));border-bottom:1px solid var(--border);justify-content:space-between;gap:26px;padding:31px 34px 28px;display:flex}.report-cover>div:first-child{max-width:680px}.report-cover>div:first-child>span{color:var(--primary);letter-spacing:.16em;font-size:9px;font-weight:950;display:block}.report-cover h1{letter-spacing:-.035em;margin:10px 0;font-size:30px;line-height:1.08}.report-cover p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.report-cover-meta{text-align:right;flex-direction:column;gap:6px;min-width:220px;display:flex}.report-cover-meta strong{font-size:12px}.report-cover-meta small{color:var(--muted);font-size:8px}.report-kpi-strip{border-bottom:1px solid var(--border);background:var(--surface-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.report-kpi-strip>div{border-right:1px solid var(--border);min-width:0;padding:17px 18px}.report-kpi-strip>div:last-child{border-right:0}.report-kpi-strip span{color:var(--muted);font-size:8px;font-weight:850;line-height:1.35;display:block}.report-kpi-strip strong{letter-spacing:-.02em;overflow-wrap:anywhere;margin:7px 0 5px;font-size:18px;display:block}.report-kpi-strip small{color:var(--muted);font-size:7px}.report-section{border-bottom:1px solid var(--border);break-inside:avoid;padding:28px 34px}.report-section:last-child{border-bottom:0}.report-section-title{align-items:flex-start;gap:13px;margin-bottom:18px;display:flex}.report-section-title>span{background:color-mix(in srgb,var(--primary) 11%,var(--surface));width:30px;height:30px;color:var(--primary);border-radius:9px;flex:none;place-items:center;font-size:9px;font-weight:950;display:grid}.report-section-title h2{letter-spacing:-.025em;margin:0;font-size:20px}.report-section-title p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.5}.report-executive-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:18px;display:grid}.report-narrative{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;padding:20px}.report-narrative h3{margin:0;font-size:18px;line-height:1.3}.report-narrative>p{color:var(--muted);margin:10px 0 17px;font-size:10px;line-height:1.65}.report-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.report-highlight-grid>div{border:1px solid var(--border);background:var(--surface);border-radius:11px;padding:12px}.report-highlight-grid span{color:var(--muted);font-size:8px;font-weight:800;display:block}.report-highlight-grid strong{margin:6px 0 4px;font-size:15px;display:block}.report-highlight-grid small{color:var(--muted);font-size:7.5px;line-height:1.4;display:block}.report-risk-stack{align-content:start;gap:8px;display:grid}.report-risk-stack>h3{margin:0 0 2px;font-size:12px}.report-risk{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:10px;padding:12px;display:flex}.report-risk svg{flex:none;margin-top:1px}.report-risk.high{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.report-risk.medium{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning) 5%,var(--surface))}.report-risk strong{font-size:10px}.report-risk p{color:var(--muted);margin:4px 0;font-size:8px;line-height:1.45}.report-risk small{color:var(--muted);font-size:7px}.report-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-chart-card{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;min-width:0;padding:16px}.report-chart-card.wide{width:100%}.report-chart-card h3{margin:0 0 10px;font-size:11px}.report-chart-card>p{color:var(--muted);font-size:9px;line-height:1.5}.report-disclosure{background:color-mix(in srgb,var(--warning) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--warning) 25%,var(--border));border-radius:9px;padding:9px 11px;font-size:8px!important}.report-metric-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.report-metric-stack.four{grid-template-columns:repeat(4,minmax(0,1fr))}.report-metric-stack>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:15px}.report-metric-stack span{color:var(--muted);font-size:8px;font-weight:850;display:block}.report-metric-stack strong{letter-spacing:-.02em;margin:8px 0 5px;font-size:18px;display:block}.report-metric-stack small{color:var(--muted);font-size:7.5px;line-height:1.4;display:block}.report-action-table{border:1px solid var(--border);border-radius:13px;overflow:hidden}.report-action-table>div{grid-template-columns:42px 120px minmax(0,1fr) 140px;align-items:start;display:grid}.report-action-table>div>*{border-right:1px solid var(--border);margin:0;padding:11px 12px}.report-action-table>div>:last-child{border-right:0}.report-action-table>div:not(.head){border-top:1px solid var(--border);font-size:9px}.report-action-table .head{background:var(--primary);color:#fff;font-size:8px;font-weight:900}.report-action-table p{line-height:1.45}.report-action-table p small{color:var(--muted);margin-top:4px;font-size:7.5px;display:block}.report-action-table b{font-size:9px}.report-action-table>div>span:last-child{font-size:8px;font-weight:800}.report-finding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.report-finding-grid>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:13px}.report-finding-grid>div>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.report-finding-grid strong{font-size:10px}.report-finding-grid p{color:var(--muted);font-size:8px;line-height:1.5}.report-finding-grid small{color:var(--muted);font-size:7px}.report-method-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-method-grid>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:14px}.report-method-grid h3{margin:0 0 9px;font-size:10px}.report-method-grid p{gap:3px;margin:0 0 8px;display:grid}.report-method-grid p strong{font-size:7.5px}.report-method-grid p span,.report-method-grid li{color:var(--muted);font-size:7.5px;line-height:1.45}.report-method-grid ul{margin:0;padding-left:16px}.report-method-grid li{margin:0 0 5px}.report-footer{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:18px;padding-top:13px;font-size:8px;display:flex}.report-footer span{font-weight:850}.report-footer small{color:var(--muted);margin-left:auto}@media (max-width:1050px){.report-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.report-kpi-strip>div:nth-child(3){border-right:0}.report-executive-grid{grid-template-columns:1fr}.report-metric-stack.four{grid-template-columns:repeat(2,1fr)}.report-method-grid{grid-template-columns:1fr}}@media (max-width:720px){.report-cover{padding:24px 20px;display:grid}.report-cover-meta{text-align:left;min-width:0}.report-cover h1{font-size:25px}.report-kpi-strip{grid-template-columns:1fr 1fr}.report-kpi-strip>div{border-bottom:1px solid var(--border)}.report-section{padding:24px 18px}.report-chart-grid,.report-highlight-grid{grid-template-columns:1fr}.report-metric-stack,.report-metric-stack.four{grid-template-columns:1fr 1fr}.report-action-table{overflow-x:auto}.report-action-table>div{min-width:720px}.report-finding-grid{grid-template-columns:1fr}}@media (max-width:470px){.report-config-grid{grid-template-columns:1fr}.report-action-bar button{flex:1;justify-content:center}.report-kpi-strip,.report-metric-stack,.report-metric-stack.four{grid-template-columns:1fr}.report-paper{border-radius:14px}.report-cover h1{font-size:22px}}@media print{@page{size:A4;margin:10mm}body{color:#111!important;background:#fff!important}.sidebar,.topbar,.mobile-menu,.overlay,.page-header,.report-config-panel{display:none!important}.app-shell,.app-main{display:block!important}.app-main main{margin:0!important;padding:0!important}.report-paper{max-width:none;box-shadow:none;border:0;border-radius:0;margin:0;overflow:visible;color:#111!important;background:#fff!important}.report-cover,.report-kpi-strip,.report-section,.report-chart-card,.report-narrative,.report-risk,.report-metric-stack>div,.report-finding-grid>div,.report-method-grid>div{box-shadow:none;color:#111!important;background:#fff!important}.report-cover{padding:0 0 18px}.report-section{padding:18px 0}.report-kpi-strip{grid-template-columns:repeat(5,1fr)}.report-section-title{break-after:avoid}.report-chart-grid,.report-executive-grid,.report-method-grid{break-inside:avoid}.report-action-table,.report-finding-grid{break-inside:auto}.report-action-table>div,.report-finding-grid>div{break-inside:avoid}.report-paper svg{max-width:100%}.report-cover p,.report-section-title p,.report-narrative>p,.report-risk p,.report-risk small,.report-metric-stack small,.report-method-grid li,.report-method-grid p span,.report-footer small{color:#555!important}}.filter-date-panel .compact-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px}.filter-date-panel .compact-date-grid label{min-width:0}.filter-date-panel .compact-date-grid input[type=date]{appearance:none;width:100%;min-width:0;max-width:100%}@media (max-width:460px){.filter-date-panel{padding:10px}.filter-date-panel .compact-date-grid{grid-template-columns:1fr;gap:9px}}
