:root{--color-canvas:#f3f5f4;--color-surface:#fff;--color-subtle:#e9eeec;--color-ink:#16212a;--color-muted:#53616c;--color-border:#cad3d0;--color-action:#2457d6;--color-verified:#087e6c;--color-attention:#a66500;--color-danger:#b93a38;--font-ui:"Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-data:"JetBrains Mono", "Fira Code", ui-monospace, Consolas, monospace;--radius:10px;--space:8px;color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}a{color:inherit;text-underline-offset:3px;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}h1:focus{outline:none}::selection{color:#16212a;background:#c9dcff}input{caret-color:var(--color-action)}*{scrollbar-color:#94a39f var(--color-subtle);scrollbar-width:thin}h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:650;line-height:32px}h2{font-size:18px;font-weight:600;line-height:26px}h3{font-size:15px;font-weight:600}small{font-size:12px}svg{vertical-align:middle;flex-shrink:0}.skip-link{background:var(--color-surface);z-index:1000;padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);z-index:20;flex-direction:column;flex:none;width:232px;display:flex;position:fixed;inset:0 auto 0 0}.brand{white-space:nowrap;align-items:center;gap:12px;padding:25px 22px 28px;font-size:20px;font-weight:650;line-height:26px;display:flex}.brand small{color:var(--color-muted);letter-spacing:.04em;font-size:12px;font-weight:400;display:block}.brand-symbol{border:1px solid var(--color-action);width:32px;height:36px;color:var(--color-action);border-radius:6px;place-items:center;display:grid}.nav-group{margin:4px 12px 22px}.nav-group h2{color:var(--color-muted);padding:0 12px 7px;font-size:12px;font-weight:500}.nav-group a{border-radius:6px;align-items:center;gap:12px;margin:2px 0;padding:10px 12px;font-size:14px;display:flex}.nav-group a:hover{background:var(--color-canvas)}.nav-group a.router-link-active{color:#1947b8;background:#eaf0fe;font-weight:600}.sidebar nav{overflow-y:auto}.sidebar-note{border-top:1px solid var(--color-border);color:var(--color-muted);margin:auto 24px 24px;padding-top:20px;font-size:12px}.sidebar-note small{margin-top:6px;font-size:12px;display:block}.status-dot{background:var(--color-verified);border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.workspace{width:calc(100% - 232px);min-width:0;margin-left:232px}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;height:72px;padding:0 24px;display:flex}.breadcrumb{color:var(--color-muted);font-size:13px}.breadcrumb span{color:#94a39f;margin:0 10px}.user-tools{align-items:center;gap:20px;display:flex}.user-tools>span{text-align:right;font-size:13px;line-height:18px}.user-tools small{color:var(--color-muted);font-size:12px;display:block}.user-tools button,.page-actions button,.page-header>button{align-items:center;gap:8px;display:inline-flex}.main-content{max-width:2000px;margin:auto;padding:28px 28px 36px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-header p{color:var(--color-muted);max-width:70ch;margin-top:8px;font-size:13px}.page-actions{flex:none;align-items:center;gap:16px;display:flex}.filterbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.filterbar .ant-select{min-width:138px}.filterbar>.ant-input-affix-wrapper{max-width:320px}.filter-note{color:var(--color-muted);margin-left:auto;font-size:12px}.period-tabs{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:3px;display:flex}.period-tabs button{color:var(--color-muted);background:0 0;border:0;border-radius:4px;padding:5px 14px;font-size:13px}.period-tabs button.active{background:var(--color-subtle);color:var(--color-ink);font-weight:600}.scope-strip{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:26px;padding:12px 0 20px;font-size:12px;display:flex}.scope-strip strong{font-family:var(--font-data);color:var(--color-ink);margin-left:8px;font-weight:500}.scope-strip>span:last-child{margin-left:auto}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;min-width:0;padding-top:16px;display:flex;position:relative;overflow:visible}.metric-panel h2{color:var(--color-muted);padding:0 18px;font-size:13px;line-height:20px}.metric-value{font:650 32px/45px var(--font-data);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;padding:5px 18px;display:block}.metric-panel>p{color:var(--color-muted);overflow-wrap:anywhere;padding:0 18px 14px;font-size:12px}.evidence-rail{border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-subtle) 45%, var(--color-surface));min-width:0;color:var(--color-muted);gap:3px 12px;padding:8px 16px;font-size:12px;line-height:18px;display:block;position:relative}.evidence-core{flex-wrap:wrap;gap:2px 10px;min-width:0;display:flex}.evidence-core>*,.evidence-risk,.evidence-expanded{overflow-wrap:anywhere;min-width:0;max-width:100%}.evidence-risk{margin-top:2px}.evidence-details,.metric-value-details,.coverage-details{position:relative}.evidence-details{margin-top:2px}.evidence-details>summary,.metric-value-details>summary{cursor:pointer}.evidence-details>summary{color:var(--color-action)}.evidence-expanded{background:var(--color-surface);border:1px solid var(--color-border);white-space:normal;border-radius:6px;max-height:240px;margin:6px 0 0;padding:8px 10px;font-size:12px;line-height:18px;overflow:auto}.evidence-expanded p{overflow-wrap:anywhere;margin:3px 0}.value-detail-hint{font:400 12px/18px var(--font-ui);color:var(--color-muted);display:block}.metric-value-details>summary{list-style-position:inside}.metric-panel>.evidence-rail{margin-top:auto}.evidence-state{margin-left:auto}.charts-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-bottom:20px;display:grid}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.panel-heading h2{font-size:15px}.panel-heading>span{color:var(--color-muted);font-size:12px}.chart-canvas{width:100%;height:270px}.report-filters .filterbar{align-items:end}.date-filter{color:var(--color-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.date-filter input{border:1px solid var(--color-border);min-width:140px;max-width:100%;min-height:34px;color:var(--color-ink);background:var(--color-surface);border-radius:6px;padding:4px 8px}.connection-setup{margin-bottom:20px}.connection-controls{flex-wrap:wrap;align-items:center;gap:12px;padding:20px;display:flex}.connection-controls .ant-select{flex:1;min-width:250px;max-width:460px}.connection-controls p{width:100%;color:var(--color-muted);font-size:13px}.scope-cell,.safe-error-cell{white-space:normal;overflow-wrap:anywhere;min-width:200px;max-width:360px}.account-tabs{border-bottom:1px solid var(--color-border);gap:6px;margin:20px 0;display:flex}.account-tabs button{color:var(--color-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 22px}.account-tabs button.active{color:var(--color-action);border-bottom-color:var(--color-action);font-weight:600}.period-caption{color:var(--color-muted);margin:0 0 16px;font-size:12px}.comparison-copy{line-height:20px}.quality-flag{color:var(--color-attention)}.coverage-details{padding:8px 16px;font-size:12px}.coverage-details summary{cursor:pointer;color:var(--color-action)}.coverage-details dl{margin:8px 0 0}.coverage-details dl div{border-top:1px solid var(--color-border);padding:6px 0}.coverage-details dd{color:var(--color-muted);margin:0}.table-region td .evidence-rail{white-space:normal;background:0 0;border:0;min-width:210px;max-width:380px;padding:0}.definition-panel+.panel{margin-top:20px}@media (width<=767px){.date-filter{flex:1;min-width:135px}.date-filter input{width:100%;font-size:16px}.connection-controls{padding:16px}.connection-controls .ant-select{flex-basis:100%;min-width:0;max-width:none}.account-tabs button{flex:1;padding:12px 8px}}.chart-data{padding:10px 20px;font-size:12px}.chart-data>.table-region{max-height:300px;margin-top:6px;overflow:auto}.chart-data summary{cursor:pointer;color:var(--color-action)}.state-panel{text-align:center;min-height:270px;color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 24px;display:flex}.state-panel>svg{color:#94a39f;width:28px;height:28px}.state-panel h3{color:var(--color-ink)}.state-panel p{max-width:48ch;font-size:13px;line-height:22px}.state-panel.compact{min-height:218px;padding:30px 22px}.bottom-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;display:grid}.bottom-grid .state-panel{min-height:180px}.definition-panel{padding:20px}.definition-panel h2{margin-bottom:16px;font-size:15px}.definition-panel p{color:var(--color-muted);max-width:65ch;margin-bottom:10px;font-size:12px;line-height:22px}.status-label{border:1px solid var(--color-border);background:var(--color-canvas);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px;display:inline-block}.text-link{color:var(--color-action);font-size:13px}.text-link:hover,.account-name:hover{text-decoration:underline}.footnote{color:var(--color-muted);margin-top:16px;font-size:12px}.table-region{max-width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:13px}th{background:var(--color-canvas);color:var(--color-muted);font-weight:500}th,td{border-bottom:1px solid var(--color-border);padding:14px 20px}tr:last-child td{border-bottom:0}td small{color:var(--color-muted);margin-top:4px;display:block}.numeric{font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:right}.account-name{color:var(--color-action);font-weight:600}.actions{align-items:center;gap:8px;min-height:68px;display:flex}.sort-button{color:inherit;background:0 0;border:0;padding:0}.pagination{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:16px;padding:16px 20px;display:flex}.pagination span{font-size:13px}.editor-form{flex-direction:column;gap:8px;display:flex}.editor-form>label{margin-top:10px;font-size:13px;font-weight:500}.editor-form>small{color:var(--color-muted);font-size:12px;line-height:20px}.form-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.switch-label{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.error-banner{color:#8b2827;overflow-wrap:anywhere;background:#fff0ef;border:1px solid #eac0be;border-radius:6px;padding:12px 14px;font-size:13px}.notice{color:#825100;background:#fff7e7;border-radius:6px;padding:10px 12px;font-size:13px}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:20px;padding:24px;display:grid}.detail-grid span{color:var(--color-muted);margin-bottom:8px;font-size:12px;display:block}.detail-grid strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.login-page{grid-template-columns:minmax(0,1fr) minmax(400px,1fr);min-height:100vh;display:grid}.login-context{border-right:1px solid var(--color-border);background:#e9eeec;flex-direction:column;justify-content:space-between;padding:40px 10%;display:flex}.login-context .brand{padding:0}.login-context h2{letter-spacing:-.03em;margin-bottom:24px;font-size:38px;font-weight:650;line-height:1.5}.login-context p{color:var(--color-muted);font-size:14px;line-height:28px}.login-ledger{border-top:1px solid #a8b7b2;gap:8px;margin-top:44px;padding-top:20px;font-size:13px;display:grid}.login-ledger span{color:var(--color-muted);margin-top:10px;font-size:12px}.login-ledger strong{font-size:12px;font-weight:500;line-height:22px}.login-context>small{color:var(--color-muted)}.login-form{background:var(--color-surface);justify-content:center;align-items:center;padding:40px;display:flex}.login-form form{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.login-form h1{margin-bottom:4px;font-size:28px}.login-form form>p{color:var(--color-muted);margin-bottom:20px;font-size:13px}.login-form label{margin-top:10px;font-size:13px;font-weight:500}.login-form button[type=submit]{margin-top:18px}.login-form .login-help{margin-top:20px;font-size:12px;line-height:22px}.mobile-menu.ant-btn,.nav-scrim{display:none}.loading-lines{gap:8px;width:120px;display:grid}.loading-lines i{background:var(--color-subtle);border-radius:4px;height:8px;animation:1.2s ease-in-out infinite alternate pulse}.loading-lines i:nth-child(2){width:70%}.loading-lines i:nth-child(3){width:85%}@keyframes pulse{to{opacity:.4}}.presentation{--color-canvas:#10181d;--color-surface:#17242a;--color-subtle:#1d2d34;--color-ink:#f1f5f3;--color-muted:#aab8b4;--color-border:#34484d;--color-action:#5fa8ff;--color-attention:#e3b863;aspect-ratio:16/9;min-height:100vh;color:var(--color-ink);background:var(--color-canvas);width:100%;max-width:100%;margin:auto;padding:30px 36px}.presentation .page-header{margin-bottom:16px}.presentation .metric-value{font-size:34px;line-height:44px}.presentation .kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.presentation .evidence-rail{gap:2px 6px;padding:7px 12px}.presentation .evidence-state{margin-left:0}.presentation .scope-strip{padding:0 0 16px}.presentation .charts-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.presentation .bottom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.presentation .filterbar{margin-bottom:14px}.presentation:fullscreen{max-width:none;overflow:auto}.presentation .period-tabs button.active{color:var(--color-ink)}@media (width>=1280px) and (height>=720px){.presentation{aspect-ratio:auto;flex-direction:column;gap:10px;height:100dvh;min-height:0;padding:16px 24px;display:flex}.presentation>.page-header{flex:none;margin:0}.presentation>.page-header p{margin-top:4px}.presentation>.report-filters{flex:none}.presentation .filterbar{gap:8px;margin:0}.presentation .filterbar .ant-select{flex:1;min-width:120px;max-width:156px}.presentation .date-filter input{width:138px;min-width:128px}.presentation .period-tabs button{padding:4px 10px}.presentation .filter-note{font-size:12px}.presentation>.report-results{flex:1;grid-template-rows:auto minmax(210px,1.05fr) minmax(190px,1.1fr) minmax(140px,.95fr);gap:10px;min-height:0;display:grid}.presentation .report-context{min-width:0}.presentation .scope-strip{gap:6px 20px;padding:0}.presentation .period-caption{margin:2px 0 0;line-height:18px}.presentation .kpi-grid,.presentation .charts-grid,.presentation .bottom-grid{gap:10px;min-height:0;margin:0}.presentation .metric-panel{min-height:0;padding-top:8px}.presentation .metric-panel h2{padding:0 12px;line-height:18px}.presentation .metric-value{padding:3px 12px;font-size:28px;line-height:34px}.presentation .metric-panel>p{margin:0;padding:0 12px 4px;font-size:12px;line-height:18px}.presentation .evidence-rail{min-height:0;padding:5px 10px;font-size:12px;line-height:18px}.presentation .coverage-details{padding:3px 10px 5px;line-height:18px}.presentation .metric-panel .evidence-expanded,.presentation .chart-panel .evidence-details .evidence-expanded{z-index:40;width:min(380px,100vw - 48px);max-width:none;max-height:240px;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0003}.presentation .metric-panel:nth-child(n+5) .evidence-expanded{left:auto;right:0}.presentation .panel-heading{flex:none;padding:7px 12px}.presentation .chart-panel{flex-direction:column;min-height:0;display:flex;position:relative;overflow:visible}.presentation .chart-canvas{flex:1 1 0;height:auto;min-height:60px}.presentation .chart-data{flex:none;padding:3px 12px;line-height:18px}.presentation .chart-data[open]{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;max-height:calc(100% - 86px);padding:6px 10px;position:absolute;top:38px;left:10px;right:10px;overflow:auto}.presentation .chart-data>.table-region{max-height:180px}.presentation .bottom-grid>.panel{flex-direction:column;min-height:0;display:flex;overflow:visible}.presentation .bottom-grid>.panel>.table-region{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.presentation .bottom-grid th,.presentation .bottom-grid td{padding:5px 10px;font-size:12px}.presentation .bottom-grid>.definition-panel{overscroll-behavior:contain;padding:10px 12px;display:block;overflow:auto}.presentation .definition-panel h2{margin-bottom:6px}.presentation .definition-panel p{margin-bottom:5px;line-height:18px}.presentation .chart-panel>.state-panel,.presentation .bottom-grid .state-panel{flex:1;gap:4px;min-height:0;padding:8px 12px}.presentation .state-panel p{font-size:12px;line-height:18px}}@media (width>=1700px){.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-panel .evidence-rail{min-height:57px}}@media (width<=1200px){.main-content{padding:24px 20px}.charts-grid,.bottom-grid{grid-template-columns:1.25fr 1fr}.scope-strip{gap:12px 20px}.scope-strip>span:last-child,.evidence-state{margin-left:0}.presentation .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1023px){.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.workspace{width:100%;margin-left:0}.mobile-menu.ant-btn{justify-content:center;align-items:center;display:inline-flex}.topbar{height:64px}.breadcrumb{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;overflow:hidden}.nav-scrim{z-index:19;background:#16212a59;border:0;display:block;position:fixed;inset:0}.login-context{padding:35px 8%}.login-context h2{font-size:32px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){:root{font-size:16px}.main-content{padding:24px 16px}.topbar{padding:0 16px}.desktop-label{display:none}.user-tools{flex-shrink:0;gap:12px}.user-tools>.user-identity{display:none}.page-header{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:20px}.page-header p{font-size:13px}.page-header h1{font-size:23px}.page-actions{flex-wrap:wrap}.filterbar{gap:10px}.filterbar>.ant-input-affix-wrapper{flex:1;min-width:180px;max-width:none}.filter-note{width:100%;margin-left:0;font-size:12px}.period-tabs button{min-height:36px;padding:8px 16px}.filterbar .ant-select{flex:1;min-width:125px}.scope-strip{gap:10px 18px;font-size:12px}.scope-strip>span:last-child{width:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-panel{padding-top:14px}.metric-panel h2{padding:0 14px}.metric-value{padding:5px 14px;font-size:28px}.metric-panel>p{padding:0 14px 12px;font-size:12px}.evidence-rail{gap:2px 8px;padding:8px 12px;font-size:12px}.charts-grid,.bottom-grid{grid-template-columns:1fr;gap:16px}.panel-heading{padding:16px}.panel-heading h2{font-size:15px}.state-panel{padding:28px 18px}.state-panel.compact{min-height:205px}.ant-btn{min-height:36px}.ant-btn-sm{min-height:32px}th,td{padding:12px 16px}th:first-child,td:first-child{z-index:1;background:var(--color-surface);position:sticky;left:0}th:first-child{background:var(--color-canvas)}.table-region:focus{outline-offset:-3px}.detail-grid{grid-template-columns:1fr 1fr;gap:20px 12px;padding:20px}.login-page{grid-template-columns:1fr}.login-context{min-height:220px;padding:24px}.login-context h2{margin:28px 0 0;font-size:26px}.login-context h2 br,.login-context p,.login-context .login-ledger,.login-context>small{display:none}.login-context .brand{font-size:18px}.login-form{align-items:flex-start;min-height:calc(100vh - 220px);padding:36px 24px}.login-form h1{font-size:24px}.presentation{aspect-ratio:auto;padding:24px 16px}.presentation .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation .charts-grid,.presentation .bottom-grid{grid-template-columns:1fr}.presentation .metric-value{font-size:28px}.presentation .page-actions{gap:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
