:root{--bg-canvas: #eef2f7;--bg-subtle: #f6f8fb;--surface-base: #ffffff;--surface-muted: #f8fafc;--surface-raised: #ffffff;--surface-strong: #111827;--sidebar-bg: #101723;--sidebar-surface: #172233;--sidebar-border: #243449;--sidebar-text: #edf2f7;--sidebar-muted: #9aa8ba;--border-subtle: #dde5ef;--border-strong: #bdcad8;--text-primary: #111827;--text-secondary: #465365;--text-muted: #728095;--brand-primary: #2358d6;--brand-hover: #1f4fbe;--brand-soft: #edf4ff;--state-success: #0b7a52;--state-success-soft: #e8f7ef;--state-warning: #9a5a00;--state-warning-soft: #fff4d8;--state-danger: #b42318;--state-danger-soft: #fff0ee;--state-info: #1c5fb8;--state-info-soft: #edf5ff;--focus-ring: 0 0 0 3px rgba(35, 88, 214, .18);--shadow-panel: 0 18px 44px rgba(17, 24, 39, .08);--shadow-lift: 0 10px 24px rgba(17, 24, 39, .1);--shadow-tight: 0 1px 2px rgba(17, 24, 39, .08);color:var(--text-primary);background:var(--bg-canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.authShell{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--bg-canvas)}.authPanel{width:min(456px,100%);border:1px solid var(--border-subtle);background:var(--surface-base);padding:34px;border-radius:8px;box-shadow:var(--shadow-panel)}.authTopline{display:flex;align-items:center;justify-content:space-between;gap:16px}.brandMark{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--surface-strong);box-shadow:inset 0 0 0 1px #ffffff14}.brandMark.small{width:36px;height:36px;color:#fff;background:var(--brand-primary)}.securityPill,.modeBadge{min-height:30px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-subtle);border-radius:999px;padding:6px 10px;color:var(--text-secondary);background:var(--surface-muted);font-size:12px;font-weight:750;white-space:nowrap}.modeBadge{border-color:#a7f3d0;color:var(--state-success);background:var(--state-success-soft)}.authKicker,.eyebrow,.sidebarSectionLabel{color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.authKicker{display:block;margin-top:24px}.authPanel h1,.topbar h1,.panel h2{margin:0;letter-spacing:0}.authPanel h1{margin-top:6px;font-size:34px;line-height:1.1}.authPanel p,.topbar p,.panelHeader p{color:var(--text-secondary);line-height:1.6}.authSecurityGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.authSecurityGrid div{min-height:54px;display:grid;place-items:center;gap:6px;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);background:var(--surface-muted);font-size:12px;font-weight:750;text-align:center}.loginForm{display:grid;gap:16px;margin-top:24px}.loginForm label{display:grid;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:700}.loginForm input{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:11px 12px;color:var(--text-primary);background:var(--surface-base);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.loginForm input:focus{border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.loginForm button,.topActions button,.settingsPanel button{border:0;border-radius:8px;min-height:42px;padding:11px 14px;color:#fff;background:var(--brand-primary);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;white-space:nowrap;transition:transform .14s ease,background .14s ease,opacity .14s ease,box-shadow .14s ease}.loginForm button:hover,.topActions button:hover,.settingsPanel button:hover{background:var(--brand-hover);box-shadow:var(--shadow-tight)}.loginForm button:active,.topActions button:active,.settingsPanel button:active{transform:translateY(1px)}.loginForm button:disabled,.topActions button:disabled,.settingsPanel button:disabled{opacity:.58}.loginForm .secondaryAuthAction{color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-strong);box-shadow:none}.loginForm .secondaryAuthAction:hover{color:var(--brand-primary);background:var(--surface-muted);box-shadow:none}.previewLink{justify-self:center;color:var(--text-muted);font-size:12px;font-weight:750;text-decoration:none}.previewLink:hover{color:var(--brand-primary)}.formError,.formSuccess{margin:14px 0 0;font-size:13px;font-weight:700}.formError{color:var(--state-danger)}.formSuccess{color:var(--state-success)}.appShell{min-height:100vh;display:grid;grid-template-columns:268px minmax(0,1fr);background:var(--bg-canvas)}.sidebar{border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);padding:20px;display:flex;flex-direction:column;gap:20px;color:var(--sidebar-text)}.sidebarHeader{display:flex;align-items:center;gap:12px;min-height:44px}.sidebarHeader strong{display:block;font-size:16px;line-height:1.2}.sidebarHeader span,.roleBox span{color:var(--sidebar-muted);font-size:12px}.sidebarSectionLabel{margin:4px 2px -8px;color:var(--sidebar-muted)}.sidebar nav{display:grid;gap:7px}.sidebar nav button,.ghost{border:1px solid transparent;background:transparent;border-radius:8px;min-height:44px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.sidebar nav button{color:var(--sidebar-muted)}.sidebar nav button span{min-width:0;flex:1}.sidebar nav button strong{min-width:28px;height:22px;display:grid;place-items:center;border-radius:999px;color:var(--sidebar-text);background:#ffffff14;font-size:12px}.sidebar nav button:hover{background:#ffffff0f;color:#fff}.sidebar nav button.active{color:#fff;border-color:#365479;background:var(--sidebar-surface);box-shadow:inset 3px 0 0 var(--brand-primary)}.sidebar nav button.active strong{color:#dbeafe;background:#2358d647}.ghost{color:var(--text-secondary)}.ghost:hover{background:var(--surface-muted);color:var(--text-primary)}.roleBox{margin-top:auto;display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--sidebar-border);border-radius:8px;background:var(--sidebar-surface)}.roleBox strong{display:block;margin-top:2px;color:#fff;font-size:14px}.roleBox small{display:block;margin-top:4px;color:var(--sidebar-muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.workspace{min-width:0;padding:30px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.topbar h1{margin-top:4px;font-size:31px;line-height:1.16}.topbar p{margin:6px 0 0;max-width:720px}.topActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.topActions .ghost{background:var(--surface-base);color:var(--text-secondary);border-color:var(--border-subtle);box-shadow:var(--shadow-tight)}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f172a6b}.settingsModal{width:min(620px,100%);border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-base);box-shadow:var(--shadow-panel);padding:18px}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.modalHeader h2{margin:2px 0 0;font-size:22px;line-height:1.2}.modalHeader p{margin:5px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.5}.iconButton{width:38px;height:38px;border:1px solid var(--border-subtle);border-radius:8px;display:grid;place-items:center;color:var(--text-secondary);background:var(--surface-muted)}.iconButton:hover{color:var(--text-primary);background:var(--surface-base)}.systemStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.systemStrip div{min-height:46px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;background:var(--surface-base);color:var(--text-secondary);box-shadow:var(--shadow-tight)}.systemStrip strong{margin-left:auto;color:var(--text-primary);font-size:13px}.notice{border-radius:8px;padding:12px 14px;display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;font-weight:700}.notice.info{color:var(--state-info);background:var(--state-info-soft);border:1px solid #bfdbfe}.notice.warning{color:var(--state-warning);background:var(--state-warning-soft);border:1px solid #f3d08b}.notice.error{color:var(--state-danger);background:var(--state-danger-soft);border:1px solid #ffc9c5}.settingsPanel{border:1px solid var(--border-subtle);border-radius:8px;padding:14px;background:var(--surface-base);box-shadow:var(--shadow-tight)}.settingsPanel>div{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.settingsPanel strong{display:block;color:var(--text-primary);font-size:14px}.settingsPanel span{display:block;margin-top:3px;color:var(--text-secondary);font-size:13px}.settingsPanel form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px}.settingsPanel input{min-height:42px;width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;background:var(--surface-base)}.settingsPanel input:focus{border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.statsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.opsSummaryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboardBlock{margin-bottom:16px}.sectionHeading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.sectionHeading h2{margin:2px 0 0;font-size:18px;line-height:1.2}.sectionHeading p{max-width:540px;margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}.compactHeading{align-items:flex-start;margin-bottom:12px}.analyticsDashboard{border:1px solid var(--border-subtle);border-top:4px solid var(--state-success);border-radius:8px;padding:16px;margin-bottom:16px;background:var(--surface-base);box-shadow:var(--shadow-tight)}.analysisDecisionBand{min-height:58px;border:1px solid #b7e4ca;border-radius:8px;padding:12px 14px;margin-bottom:12px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;background:linear-gradient(180deg,#f3fbf6,#fff)}.analysisDecisionBand span{color:var(--state-success);font-size:12px;font-weight:850}.analysisDecisionBand strong{min-width:0;color:var(--text-primary);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.analysisMetricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analysisMetricCard{min-height:104px;border:1px solid var(--border-subtle);border-radius:8px;padding:12px;display:grid;gap:6px;align-content:start;background:var(--surface-muted)}.analysisMetricCard span,.analysisInsightCard span{color:var(--text-muted);font-size:12px;font-weight:800}.analysisMetricCard strong{color:var(--text-primary);font-size:24px;line-height:1.1;overflow-wrap:anywhere}.analysisMetricCard small{color:var(--text-secondary);font-size:12px;line-height:1.4;font-weight:700}.metricDelta{width:fit-content;border-radius:999px;padding:3px 8px;color:var(--text-secondary);background:var(--surface-base);border:1px solid var(--border-subtle);font-size:11px;font-style:normal;font-weight:850;line-height:1.2}.metricDelta.up{color:var(--state-success);border-color:#b7e4ca;background:var(--state-success-soft)}.metricDelta.down{color:var(--state-danger);border-color:#ffc9c5;background:var(--state-danger-soft)}.analysisInsightGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.15fr);gap:10px;margin-top:10px}.analysisInsightCard{border:1px solid var(--border-subtle);border-radius:8px;padding:13px;background:#fbfcfe}.analysisInsightCard h3{margin:0 0 10px;font-size:15px;line-height:1.25}.analysisInsightCard p{display:grid;grid-template-columns:minmax(92px,.35fr) minmax(0,1fr);gap:10px;margin:0;padding:9px 0;border-top:1px solid #e9eef5}.analysisInsightCard p:first-of-type{border-top:0;padding-top:0}.analysisInsightCard strong{min-width:0;color:var(--text-primary);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.signalDot{width:8px;height:8px;display:inline-block;border-radius:999px;margin-right:7px;background:var(--text-muted);vertical-align:1px}.signalDot.success{background:var(--state-success)}.signalDot.warning{background:var(--state-warning)}.signalDot.danger{background:var(--state-danger)}.signalDot.info{background:var(--state-info)}.signalDot.muted{background:var(--text-muted)}.siteActionGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.siteActionCard{min-height:126px;border:1px solid var(--border-subtle);border-top:4px solid var(--border-strong);border-radius:8px;padding:12px;background:var(--surface-base);display:grid;align-content:start;gap:7px}.siteActionCard span{color:var(--text-muted);font-size:12px;font-weight:850;overflow-wrap:anywhere}.siteActionCard strong{color:var(--text-primary);font-size:17px;line-height:1.2}.siteActionCard p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.siteActionCard.success{border-top-color:var(--state-success)}.siteActionCard.warning{border-top-color:#d88600}.siteActionCard.danger{border-top-color:var(--state-danger)}.siteActionCard.info{border-top-color:var(--state-info)}.siteActionCard.muted{border-top-color:var(--border-strong)}.opsSummaryCard{min-height:168px;border:1px solid var(--border-subtle);border-top:4px solid var(--border-strong);border-radius:8px;background:var(--surface-base);padding:16px;display:grid;gap:16px;box-shadow:var(--shadow-tight)}.opsSummaryTop{display:flex;justify-content:space-between;gap:16px;color:var(--text-muted)}.opsSummaryTop>div{min-width:0;display:grid;gap:5px}.opsSummaryTop span,.opsSummaryItems span{color:var(--text-muted);font-size:12px;font-weight:800}.opsSummaryTop strong{color:var(--text-primary);font-size:30px;line-height:1.05;overflow-wrap:anywhere}.opsSummaryTop small{color:var(--text-secondary);font-size:13px;font-weight:700}.opsSummaryItems{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.opsSummaryItems div{min-height:48px;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 10px;display:grid;gap:3px;background:var(--surface-muted)}.opsSummaryItems strong{color:var(--text-primary);font-size:15px;line-height:1.15;overflow-wrap:anywhere}.opsSummaryCard.blue{border-top-color:var(--brand-primary)}.opsSummaryCard.green{border-top-color:var(--state-success)}.opsSummaryCard.amber{border-top-color:#d88600}.moduleDashboard{border:1px solid var(--border-subtle);border-top:4px solid var(--border-strong);border-radius:8px;padding:15px;margin-bottom:16px;background:var(--surface-base);box-shadow:var(--shadow-tight)}.moduleDashboard.blue{border-top-color:var(--brand-primary)}.moduleDashboard.green{border-top-color:var(--state-success)}.moduleDashboard.amber{border-top-color:#d88600}.moduleDashboardGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.moduleMetricCard{min-height:92px;border:1px solid var(--border-subtle);border-radius:8px;padding:12px;background:var(--surface-muted);display:grid;gap:5px;align-content:start}.moduleMetricCard span{color:var(--text-muted);font-size:12px;font-weight:800}.moduleMetricCard strong{color:var(--text-primary);font-size:22px;line-height:1.1;overflow-wrap:anywhere}.moduleMetricCard small{color:var(--text-secondary);font-size:12px;line-height:1.4;font-weight:700}.statCard{min-height:116px;border:1px solid var(--border-subtle);border-top:4px solid var(--border-strong);border-radius:8px;background:var(--surface-base);padding:15px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-tight)}.statCardTop{display:flex;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:13px;font-weight:750}.statCard strong{color:var(--text-primary);font-size:32px;line-height:1}.statCard small{color:var(--text-muted);font-size:12px;font-weight:700}.statCard.blue{border-top-color:var(--brand-primary)}.statCard.green{border-top-color:var(--state-success)}.statCard.amber{border-top-color:#d88600}.contentGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);gap:16px;align-items:start}.moduleStack{display:grid;gap:16px}.panel{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-panel)}.tablePanel{min-width:0}.panelHeader{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border-subtle);background:var(--surface-muted)}.panelHeader p{margin:4px 0 0;font-size:13px}.recordCountPill{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:999px;padding:6px 12px;color:var(--text-secondary);background:var(--surface-base);font-size:12px;font-weight:800;white-space:nowrap}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #e9eef5;padding:12px 14px;text-align:left;vertical-align:top;white-space:nowrap}th{position:sticky;top:0;z-index:1;color:var(--text-muted);font-weight:800;background:var(--surface-base)}tbody tr:nth-child(2n){background:#fbfcfe}tbody tr.expandableRow:hover{background:#f4f8ff}tbody tr{cursor:default;outline:none}tbody tr.expandableRow{cursor:pointer}tbody tr.expandableRow.isExpandedRow{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand-primary)}tbody tr:focus-visible{box-shadow:inset 0 0 0 2px #2358d647}.wideColumn{min-width:240px;max-width:420px;white-space:normal}.statusBadge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800;line-height:1.2}.statusBadge.success{color:var(--state-success);background:var(--state-success-soft)}.statusBadge.warning{color:var(--state-warning);background:var(--state-warning-soft)}.statusBadge.danger{color:var(--state-danger);background:var(--state-danger-soft)}.statusBadge.info{color:var(--state-info);background:var(--state-info-soft)}.statusBadge.muted{color:var(--text-secondary);background:var(--bg-subtle)}.inlineRecordRow td{padding:0;background:#f8fafc;white-space:normal}.inlineRecordPanel{display:grid;gap:14px;border-top:1px solid var(--border-subtle);padding:16px 18px 18px}.inlineRecordHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.inlineRecordHeader strong{min-width:0;color:var(--text-primary);font-size:15px;overflow-wrap:anywhere}.inlineRecordHeader span{min-height:28px;border:1px solid var(--border-subtle);border-radius:999px;padding:5px 10px;color:var(--text-secondary);background:var(--surface-base);font-size:12px;font-weight:800;white-space:nowrap}.inlineRecordGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.inlineRecordGrid>div{min-height:66px;border:1px solid var(--border-subtle);border-radius:8px;padding:10px 11px;background:var(--surface-base);display:grid;align-content:start;gap:6px}.inlineRecordGrid span{color:var(--text-muted);font-size:12px;font-weight:800}.inlineRecordGrid strong,.inlineRecordGrid a{min-width:0;color:var(--text-primary);font-size:13px;line-height:1.45;font-weight:750;overflow-wrap:anywhere}.inlineRecordGrid a{color:var(--brand-primary);text-decoration:none}.inlineRecordGrid a:hover{text-decoration:underline}.wideRecordItem{grid-column:span 2}.emptyState,.loadingState{min-height:316px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:var(--text-muted);padding:30px}.emptyIcon{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);background:var(--surface-muted)}.emptyState h3{margin:4px 0 0;color:var(--text-primary);font-size:18px}.emptyState p{max-width:450px;margin:0;line-height:1.6}.statusLine{margin-top:14px;display:flex;gap:8px;align-items:center;color:var(--text-muted);font-size:13px}.sideEmptyText{margin:8px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(max-width:1180px){.contentGrid,.analysisInsightGrid{grid-template-columns:1fr}.analysisMetricGrid,.siteActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){.appShell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--sidebar-border)}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.roleBox{margin-top:0}.topbar,.panelHeader,.sectionHeading{flex-direction:column;align-items:stretch}.topActions{justify-content:flex-start}.statsGrid,.opsSummaryGrid,.systemStrip,.inlineRecordGrid,.siteActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.settingsPanel form{grid-template-columns:1fr}}@media(max-width:620px){.workspace,.sidebar,.authShell{padding:18px}.authPanel{padding:24px}.authSecurityGrid,.sidebar nav,.statsGrid,.opsSummaryGrid,.analysisMetricGrid,.systemStrip,.inlineRecordGrid,.siteActionGrid,.analysisDecisionBand,.analysisInsightCard p{grid-template-columns:1fr}.wideRecordItem{grid-column:auto}.topActions{display:grid;grid-template-columns:1fr}.topActions button,.modeBadge{width:100%}.topbar h1{font-size:26px}.statCard{min-height:96px}.contentGrid{gap:14px}th,td{padding:11px 12px}}
