:root{color:#0f172a;font-synthesis:none;--accent:#0891b2;--accent-dark:#0e7490;--accent-soft:#ecfeff;--text:#0f172a;--muted:#64748b;--faint:#94a3b8;--border:#e2e8f0;--surface:#f8fafc;--green:#059669;--red:#dc2626;background:#fff;font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fff}body{background:#fff;min-width:1180px;min-height:100vh;margin:0}button,select{font:inherit}button{color:inherit}.app-shell{background:#fff;min-height:100vh}.app-header{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:260px;display:flex}.brand__mascot{object-fit:contain;background:var(--accent-soft);border:1px solid #a5f3fc;border-radius:50%;width:42px;height:42px}.brand>div{flex-direction:column;gap:1px;display:flex}.brand strong{letter-spacing:0;font-size:19px;font-weight:600}.brand span{color:var(--muted);font-size:11px}.header-actions{align-items:center;gap:9px;display:flex}.user-name{color:var(--muted);margin:0 4px 0 8px;font-size:13px}.icon-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.icon-button:hover{color:var(--accent-dark);background:var(--accent-soft);border-color:#67e8f9}.back-link{height:36px;color:var(--accent-dark);background:var(--accent-soft);border:1px solid #a5f3fc;border-radius:6px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.report-tabs{z-index:45;border-bottom:1px solid var(--border);scrollbar-width:none;background:#fff;gap:2px;padding:0 12px;display:flex;position:sticky;top:72px;overflow-x:auto}.report-tabs::-webkit-scrollbar{display:none}.report-tab{height:52px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.report-tab:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.report-tab:hover{color:var(--text)}.report-tab--active{color:var(--accent-dark)}.report-tab--active:after{background:var(--accent)}.page-content{padding:20px 28px 48px}.filter-bar{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:110px 190px 220px minmax(260px,1fr);align-items:end;gap:10px;padding:11px 12px;display:grid}.filter-title{height:36px;color:var(--muted);align-items:center;gap:8px;padding-left:6px;font-size:12px;font-weight:600;display:flex}.filter-field{flex-direction:column;gap:5px;display:flex}.filter-field>span,.compact-select>span{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;padding-left:2px;font-size:9px;font-weight:600}.select-wrap,.compact-select>div{align-items:center;display:flex;position:relative}.select-wrap select,.compact-select select{appearance:none;border:1px solid var(--border);width:100%;height:36px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 34px 0 11px;font-size:12px}.select-wrap select:focus,.compact-select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0891b21f}.select-wrap svg,.compact-select svg{pointer-events:none;color:var(--muted);position:absolute;right:10px}.module-view{flex-direction:column;gap:16px;padding-top:22px;display:flex}.module-intro{flex-direction:column;justify-content:center;gap:6px;min-height:48px;display:flex}.module-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.kpi-card{border:1px solid var(--border);background:linear-gradient(#fff 0%,#fbfdfe 100%);border-radius:8px;flex-direction:column;min-width:0;min-height:126px;padding:13px 14px 12px;display:flex}.kpi-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-card__label{min-width:0;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:1.25}.stat-orb{width:29px;height:29px;color:var(--accent-dark);background:linear-gradient(145deg,#fff,#ecfeff);border:1px solid #a5f3fc;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #fffc,0 6px 14px -10px #0891b2e6}.kpi-card strong{color:var(--text);letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap;margin:auto 0 3px;font-size:clamp(22px,1.65vw,32px);font-weight:500;line-height:1.15;display:block}.kpi-trend{min-height:21px;color:var(--muted);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:400;line-height:1.35;overflow:hidden}.kpi-trend--positive{color:var(--green)}.kpi-trend--negative{color:var(--red)}.diagnostic-grid{grid-template-columns:minmax(0,1.85fr) minmax(320px,.85fr);gap:12px;display:grid}.diagnostic-grid--wide{grid-template-columns:minmax(0,2fr) minmax(330px,.8fr)}.report-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:12px 16px;display:flex}.card-header>div{min-width:0}.card-header h2{letter-spacing:0;margin:4px 0 0;font-size:16px;font-weight:500;line-height:1.25}.chart-card{padding-bottom:4px}.chart-card .apexcharts-canvas{margin:4px auto 0}.insights-list{flex-direction:column;display:flex}.insight-row{border-bottom:1px solid var(--border);grid-template-columns:31px minmax(0,1fr);gap:11px;min-height:91px;padding:15px 16px;display:grid}.insight-row:last-child{border-bottom:0}.insight-row>span{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.insight-row strong{margin-bottom:5px;font-size:13px;font-weight:600;line-height:1.35;display:block}.insight-row p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.table-window{scrollbar-color:#cbd5e1 transparent;max-height:486px;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px}.data-table th{z-index:2;border-bottom:1px solid var(--border);background:var(--surface);height:42px;color:var(--muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;cursor:pointer;padding:0 12px;font-size:9px;font-weight:600;position:sticky;top:0}.data-table th>span{vertical-align:middle;display:inline}.data-table th svg{vertical-align:middle;color:var(--accent);margin-left:5px}.data-table td{color:#334155;white-space:nowrap;font-variant-numeric:tabular-nums;border-bottom:1px solid #eef2f7;height:44px;padding:8px 12px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#f8fdfe}.data-table .cell-strong{color:var(--text);font-weight:600}.decomposition-card{flex-direction:column;display:flex}.equation{flex:1;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;padding:24px 18px;display:grid}.equation div{text-align:center;flex-direction:column;align-items:center;gap:9px;min-width:0;display:flex}.equation span{color:var(--muted);font-size:11px}.equation strong{color:var(--accent-dark);font-variant-numeric:tabular-nums;font-size:25px;font-weight:500}.equation i{color:var(--faint);font-size:18px;font-style:normal}.compact-select{flex-direction:column;gap:4px;width:190px;display:flex}.delivery-table th,.delivery-table td{text-align:right}.delivery-table th:first-child,.delivery-table td:first-child{z-index:3;text-align:left;background:#fff;position:sticky;left:0}.delivery-table th:first-child{z-index:4;background:var(--surface)}.state-panel{min-height:360px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.state-panel--error{color:var(--red)}.spin{animation:.9s linear infinite spin}.text-button{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1450px){.page-content{padding-left:20px;padding-right:20px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card strong{font-size:25px}}@media (width>=1800px){.page-content{padding-left:36px;padding-right:36px}.kpi-card{min-height:136px}.diagnostic-grid{grid-template-columns:minmax(0,2.2fr) minmax(390px,.8fr)}}
