@font-face { font-family:'Work Sans'; src:url('assets/work-sans.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
:root {
 --ground:#F4F4F2; --surface:#FFFFFF; --raised:#F4F4F2; --active:#E8E8E5;
 --text:#141414; --ink:#141414; --muted:#60605D; --faint:#6A6A66;
 --border:#E9E9E5; --rule:#EFEFEC; --control:#CFCECA; --primary:#141414;
 --accent:#C8650B; --chart-1:#C8650B; --chart-2:#141414; --chart-muted:#B6B5AF;
 --chart-mark:#141414; --chart-track:#DEDCD8; --grid:#E7E7E2; --axis-ink:#64645F;
 --negative:#943F14; --gap:16px; --sidebar:232px; --font:'Work Sans',sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--ground); color:var(--text); font:400 14px/1.5 var(--font); }
button,input,select { font:inherit; color:inherit; }
button,a,select,input { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
button { border:0; }
button:disabled { cursor:default; color:var(--muted); background:var(--raised); }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
h1,h2,h3,p,figure { margin:0; }
h1 { font-size:26px; line-height:1.25; font-weight:600; letter-spacing:-.035em; }
h2 { font-size:16px; line-height:1.4; font-weight:600; letter-spacing:-.015em; }
h3 { font-size:14px; font-weight:600; }
img { max-width:100%; }
.num { font-variant-numeric:tabular-nums; }
.small,.muted { font-size:13px; color:var(--muted); }
.sidebar { width:var(--sidebar); position:fixed; inset:0 auto 0 0; padding:0 12px; display:flex; flex-direction:column; z-index:30; background:var(--ground); }
.product-name { min-height:84px; display:flex; align-items:center; gap:12px; padding-left:12px; font-size:17px; font-weight:600; letter-spacing:-.03em; }
.product-name > span > span { display:block; font-size:13px; font-weight:400; color:var(--muted); letter-spacing:0; }
.workspace { position:relative; }
.company-button { width:100%; padding:10px 9px; display:flex; align-items:center; gap:10px; min-height:62px; background:var(--surface); border:1px solid var(--border); border-radius:8px; text-align:left; }
.company-button:hover { border-color:var(--control); }
.company-mark { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--ground); flex:none; font-size:13px; font-weight:600; }
.company-label { min-width:0; flex:1; }
.company-label strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:600; }
.company-label > span { display:block; font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chevron { font-size:18px; }
.company-picker { position:absolute; top:70px; left:0; width:332px; max-height:75dvh; overflow-y:auto; padding:12px; background:var(--surface); border:1px solid var(--control); border-radius:8px; z-index:60; box-shadow:0 8px 32px rgba(0,0,0,.10); }
.company-picker label { display:block; font-size:13px; margin:2px 0 8px; color:var(--muted); }
.company-picker input { width:100%; height:38px; border:1px solid var(--control); border-radius:6px; padding:8px 10px; background:var(--surface); }
.company-picker input::placeholder { color:var(--faint); }
#company-options { padding-top:8px; }
#company-options button { width:100%; display:flex; gap:10px; align-items:center; background:transparent; text-align:left; padding:10px 8px; min-height:56px; border-radius:6px; }
#company-options button:hover,#company-options button:focus-visible { background:var(--raised); }
#company-options button[aria-selected=true] { background:var(--active); }
.option-text { flex:1; min-width:0; }
.option-text strong { display:block; font-size:13px; font-weight:500; }
.option-text small { display:block; color:var(--muted); font-size:12px; }
.picker-note { font-size:12px; color:var(--muted); margin:10px 8px 0; }
.primary-nav { display:grid; gap:4px; margin-top:28px; }
.primary-nav a { display:flex; align-items:center; gap:11px; min-height:38px; padding:8px 12px; border-radius:6px; color:var(--muted); }
.primary-nav a:hover { color:var(--text); }
.primary-nav a[aria-current=page] { background:var(--active); color:var(--text); }
[data-icon] { display:inline-flex; width:16px; height:16px; flex:none; }
[data-icon] svg { width:100%; height:100%; }
.sidebar-bottom { margin-top:auto; padding:20px 12px; }
.owner { display:flex; align-items:center; gap:10px; }
.owner > span { display:grid; width:30px; height:30px; place-items:center; background:var(--active); border-radius:50%; }
.owner strong { font-size:13px; font-weight:500; }
.owner div > span { display:block; color:var(--muted); font-size:12px; }
.sidebar-bottom > p { margin-top:20px; font-size:12px; color:var(--muted); }
.mobile-menu { display:none !important; }
.app-shell { margin-left:var(--sidebar); padding:0 8px 8px 0; }
.topbar { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding-inline:24px; font-size:13px; }
.topbar p { display:flex; gap:12px; align-items:center; }
#crumb-company,.slash { color:var(--muted); }
.connection-stamp { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
.connection-stamp i { width:5px; height:5px; border-radius:50%; background:var(--text); }
.sheet { min-height:calc(100dvh - 56px); padding:28px 24px 16px; background:var(--surface); border:1px solid var(--border); border-radius:16px; }
.page-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.page-heading p { margin-top:6px; color:var(--muted); font-size:14px; }
.page-actions { display:flex; gap:8px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:34px; padding:7px 12px; border:1px solid var(--control); border-radius:6px; background:var(--surface); white-space:nowrap; font-size:13px; }
.button:hover { background:var(--raised); }
.button.primary { background:var(--primary); color:var(--surface); border-color:var(--primary); }
.button.primary:hover { opacity:.85; }
.icon-button { width:34px; height:34px; display:inline-grid; place-items:center; background:transparent; border-radius:6px; font-size:20px; }
.icon-button:hover { background:var(--active); }
.scope-bar { margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--rule); }
.source-tabs { display:flex; align-items:center; gap:20px; }
.source-tabs button { position:relative; padding:8px 0; background:transparent; font-size:13px; color:var(--muted); min-height:34px; }
.source-tabs button[aria-pressed=true] { color:var(--text); }
.source-tabs button[aria-pressed=true]::after { content:''; position:absolute; left:0; right:0; bottom:-19px; height:2px; background:var(--text); }
.range-controls { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted); }
.range-controls select { padding:5px 9px; height:32px; border:1px solid var(--control); border-radius:6px; background:var(--surface); color:var(--text); }
.range-controls select:disabled { appearance:none; max-width:none; }
#freshness { font-size:12px; white-space:nowrap; }
.error-notice { padding:12px 16px; border:1px solid var(--control); border-radius:6px; margin-top:16px; color:var(--negative); }
#view { padding-top:24px; }
/* At 1440px: 232 sidebar + 8 inset + 48 canvas padding + 1152 data = 1440.
   Main grid: 752 + 16 gutter + 384 rail = 1152. Both rows use the same edges. */
.overview-grid { display:grid; grid-template-columns:minmax(0,1fr) 384px; gap:var(--gap); align-items:start; }
.main-stack,.side-stack { display:grid; gap:var(--gap); min-width:0; }
.panel { border:1px solid var(--border); border-radius:8px; padding:20px; min-width:0; }
.panel-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:18px; }
.panel-heading p { margin-top:4px; color:var(--muted); font-size:13px; }
.text-action { background:transparent; padding:0; color:var(--text); font-size:13px; cursor:pointer; white-space:nowrap; }
.text-action:hover { text-decoration:underline; text-underline-offset:3px; }
.kpi-strip { display:grid; grid-template-columns:1.2fr 1fr 1fr; border:1px solid var(--border); border-radius:8px; }
.kpi { padding:18px 20px; min-width:0; }
.kpi + .kpi { border-left:1px solid var(--border); }
.kpi-label { color:var(--muted); font-size:13px; }
.kpi-value { display:block; font-size:24px; line-height:1.2; margin-top:10px; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.kpi:first-child .kpi-value { font-size:32px; }
.kpi-value.is-text { font-size:18px; line-height:1.3; }
.kpi-detail { display:block; margin-top:8px; color:var(--muted); font-size:12px; }
.source-line { margin-top:14px; font-size:12px; color:var(--muted); }
.ranking { display:grid; gap:16px; }
.rank-row .rank-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; font-size:13px; }
.rank-row button { background:transparent; padding:0; text-align:left; font-size:13px; }
.rank-row .bar-track { margin-top:9px; height:5px; background:var(--raised); }
.rank-row .bar-track span { display:block; height:100%; background:var(--chart-1); }
.rank-row .rank-meta { font-size:12px; color:var(--muted); }
.status { display:inline-flex; gap:6px; align-items:center; font-size:12px; white-space:nowrap; }
.status::before { content:''; display:inline-block; width:5px; height:5px; background:var(--text); border-radius:50%; }
.status.paused::before { background:var(--muted); }
.status.problem { color:var(--negative); }
.status.problem::before { background:var(--negative); }
.site-row { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--rule); min-height:60px; }
.site-row:last-child { border-bottom:0; padding-bottom:0; }
.site-row:first-child { padding-top:0; }
.site-row button { background:transparent; padding:0; text-align:left; font-size:13px; font-weight:500; }
.site-row p { font-size:12px; color:var(--muted); margin-top:3px; overflow-wrap:anywhere; }
.site-row > div:last-child { text-align:right; }
.site-row .num { font-size:13px; }
.mini-metrics { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mini-metric span { display:block; font-size:13px; color:var(--muted); }
.mini-metric strong { font-size:24px; font-weight:400; line-height:1.3; margin-top:8px; display:block; font-variant-numeric:tabular-nums; }
.mini-note { margin-top:16px; font-size:13px; color:var(--muted); }
.coverage { display:grid; gap:13px; }
.coverage > div { display:flex; justify-content:space-between; gap:16px; font-size:13px; }
.coverage > div span:last-child { color:var(--muted); }
.attention-line { padding:12px 0 0; margin-top:12px; border-top:1px solid var(--rule); font-size:13px; color:var(--muted); }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { text-align:left; font-size:13px; font-weight:400; color:var(--muted); padding:0 10px 12px 0; white-space:nowrap; }
td { padding:13px 10px 13px 0; border-top:1px solid var(--rule); vertical-align:middle; }
th:last-child,td:last-child { padding-right:0; }
td small { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
td.num,th.num { text-align:right; font-variant-numeric:tabular-nums; }
.inline-company { display:block; padding:0; background:transparent; font-size:13px; text-align:left; white-space:nowrap; }
.inline-company:hover { text-decoration:underline; text-underline-offset:3px; }
.subsection { margin-top:24px; }
.subsection-heading { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; gap:16px; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:var(--gap); align-items:start; }
.data-section { margin-top:24px; }
.data-section:first-child { margin-top:0; }
.data-section > h2 { margin-bottom:16px; }
.empty-state { border:1px dashed var(--control); padding:14px 16px; border-radius:6px; color:var(--muted); font-size:13px; }
.empty-state p + p { margin-top:8px; }
.empty-state .text-action { display:inline-block; margin-top:12px; }
.report-note { font-size:13px; color:var(--muted); max-width:72ch; }
.report-note + .report-note { margin-top:8px; }
.report-list { display:grid; }
.report-row { padding-block:16px; border-top:1px solid var(--rule); display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:24px; }
.report-row:first-child { border-top:0; padding-top:0; }
.report-row h3 { font-size:13px; }
.report-row p { font-size:13px; color:var(--muted); margin-top:3px; }
.report-row .num { text-align:right; }
.report-row .num strong { display:block; font-size:18px; font-weight:400; }
.report-row .num span { display:block; font-size:12px; color:var(--muted); }
.health-cells { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.health-cells div { padding-bottom:12px; border-bottom:1px solid var(--rule); }
.health-cells dt { font-size:13px; color:var(--muted); }
.health-cells dd { font-size:18px; margin:5px 0 0; font-variant-numeric:tabular-nums; }
.link-inline { text-decoration:underline; text-underline-offset:3px; }
.connection-row { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:start; padding-block:18px; border-bottom:1px solid var(--rule); }
.connection-row:first-child { padding-top:0; }
.connection-row:last-child { padding-bottom:0; border-bottom:0; }
.connection-row p { color:var(--muted); font-size:13px; margin-top:5px; max-width:60ch; }
.connection-row .button { align-self:center; }
.live-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.live-strip .kpi { padding:0; }
.live-strip .kpi + .kpi { border:0; }
.live-strip .kpi:first-child .kpi-value { font-size:30px; }
.live-chart { min-height:160px; }
.view-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.view-toolbar input { border:1px solid var(--control); border-radius:6px; height:34px; padding:7px 10px; width:240px; }
.workspace-footer { margin-top:32px; display:flex; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid var(--rule); font-size:12px; color:var(--muted); }
.loading-state { min-height:300px; padding-block:40px; color:var(--muted); }
dialog { width:min(520px,calc(100% - 32px)); max-height:90dvh; border:1px solid var(--control); border-radius:12px; padding:24px; background:var(--surface); color:var(--text); }
dialog::backdrop { background:rgba(0,0,0,.28); }
.dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
dialog > p { color:var(--muted); font-size:14px; }
dialog form { margin-top:24px; }
dialog label { display:block; font-size:13px; margin-bottom:8px; }
dialog input { display:block; width:100%; border:1px solid var(--control); border-radius:6px; padding:12px; margin-bottom:12px; }
dialog form button { margin-top:20px; }
#import-result { margin-top:16px; font-size:13px; }
.toast { position:fixed; bottom:24px; right:24px; padding:12px 18px; background:var(--text); color:var(--surface); border-radius:6px; font-size:13px; z-index:80; max-width:calc(100% - 32px); }
.skip { position:fixed; left:16px; top:-100px; background:var(--text); color:var(--surface); padding:10px 16px; z-index:100; }
.skip:focus { top:12px; }
[hidden] { display:none !important; }
@media (max-width:1200px) { .overview-grid { grid-template-columns:minmax(0,1fr) 300px; } .kpi { padding:16px; } .kpi-value.is-text { font-size:16px; } .panel { padding:16px; } }
@media (max-width:1100px) {
 .sidebar { width:100%; height:72px; bottom:auto; padding:0 16px; display:block; }
 .product-name,.sidebar-bottom { display:none; }
 .workspace { width:min(340px,calc(100% - 52px)); padding-top:10px; }
 .company-button { min-height:52px; padding-block:7px; }
 .company-picker { top:70px; }
 .mobile-menu { display:inline-grid !important; position:absolute; top:19px; right:16px; }
 .primary-nav { display:none; }
 .sidebar.open .primary-nav { position:fixed; inset:72px 0 0; display:flex; flex-direction:column; gap:12px; margin:0; padding:24px 16px; background:var(--ground); z-index:40; }
 .sidebar.open .primary-nav a { min-height:48px; font-size:16px; }
 .app-shell { margin:72px 0 0; padding-left:8px; }
 .topbar { padding-inline:20px; }
 .overview-grid { grid-template-columns:minmax(0,1fr) 300px; }
 #freshness { display:none; }
}
@media (max-width:760px) {
 .app-shell { padding:0; }
 .topbar { min-height:40px; padding-inline:16px; }
 .connection-stamp { display:none; }
 .sheet { padding:24px 16px 16px; border:0; border-radius:0; min-height:calc(100dvh - 112px); }
 .page-heading { gap:16px; }
 h1 { font-size:24px; }
 .page-heading p { font-size:13px; }
 .page-actions { gap:6px; }
 .page-actions .button { min-height:38px; padding-inline:9px; }
 .page-actions [data-icon] { display:none; }
 .scope-bar { margin-top:20px; align-items:flex-start; }
 .source-tabs { gap:16px; }
 .source-tabs button { min-height:44px; font-size:13px; }
 .source-tabs button[aria-pressed=true]::after { bottom:-19px; }
 .range-controls { gap:0; padding-top:5px; }
 .range-controls label { display:none; }
 .range-controls select { height:36px; max-width:120px; font-size:13px; }
 .overview-grid,.two-columns { grid-template-columns:1fr; }
 .kpi-strip { grid-template-columns:1fr 1fr; }
 .kpi:first-child { grid-column:1/-1; padding-bottom:16px; border-bottom:1px solid var(--border); }
 .kpi:nth-child(2) { border-left:0; }
 .kpi-value { font-size:24px; }
 .kpi-value.is-text { font-size:18px; }
 .panel { padding:16px; }
 .side-stack { margin-top:0; }
 .panel-heading { gap:12px; }
 .panel-heading p { font-size:13px; }
 .live-strip { grid-template-columns:1fr 1fr; gap:24px 16px; }
 .live-strip .kpi:first-child { grid-column:auto; border:0; }
 .live-strip .kpi { padding:0; }
 .workspace-footer { flex-direction:column; gap:6px; margin-top:24px; }
 .company-picker { width:min(332px,calc(100vw - 32px)); }
 .company-label strong { font-size:13px; }
 .company-label > span { font-size:13px; }
 .view-toolbar { align-items:flex-start; flex-direction:column; }
 .view-toolbar input { width:100%; min-height:44px; }
 .report-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .report-row > .button { grid-column:1/-1; justify-self:start; min-height:40px; }
 .report-row h3 { overflow-wrap:anywhere; }
 .connection-row { grid-template-columns:1fr; gap:12px; }
 .connection-row .button { justify-self:start; min-height:44px; }
 table.responsive thead { display:none; }
 table.responsive tbody { display:block; }
 table.responsive tr { display:grid; grid-template-columns:1fr auto; padding:14px 0; gap:6px 16px; border-top:1px solid var(--rule); }
 table.responsive td { display:block; padding:0; border:0; }
 table.responsive td:nth-child(1) { grid-column:1; }
 table.responsive td:nth-child(2) { grid-column:2; grid-row:1; }
 table.responsive td:nth-child(n+3) { grid-column:1/-1; text-align:left; color:var(--muted); font-size:13px; }
 table.responsive td[data-label]::before { content:attr(data-label) ': '; color:var(--muted); }
 .inline-company { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }

@media(max-width:760px){.mobile-menu{width:44px;height:44px;top:14px}.page-actions .button{min-height:44px}.range-controls select{min-height:44px;max-width:100px}}
