/* Workspace layout. Shared across the three semantic palettes in themes.css. */
html{scrollbar-gutter:stable}
:root{--sidebar-width:224px;--content-width:1420px;--radius:12px}
body{font-size:15px;letter-spacing:-.012em;min-width:0}
button,a,input,select{touch-action:manipulation}
.ui-icon{width:18px;height:18px;flex:none;vertical-align:middle}
[data-icon]{display:inline-flex;align-items:center;gap:9px}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:8;width:var(--sidebar-width);display:flex;flex-direction:column;padding:28px 16px 20px;background:var(--surface);border-right:1px solid var(--border)}
.brand{font-size:20px;letter-spacing:-.04em;padding:0 12px;gap:11px}
.brand img{width:30px;height:30px}
.workspace-label{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:9px;padding:11px 10px;margin:32px 0 23px;font-size:12px;font-weight:600}
.workspace-label small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}
.workspace-avatar{display:grid;place-items:center;width:30px;height:30px;background:var(--wash);border-radius:7px;font-size:13px;color:var(--ink-2)}
.section-nav{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;gap:4px;margin:0;scrollbar-width:thin;flex:1}
.nav-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:650;color:var(--muted);padding:15px 12px 5px}
.nav-label:first-child{padding-top:0}
.section-nav a{font-size:14px;font-weight:500;padding:10px 12px;gap:12px;border-radius:7px;min-height:42px;color:var(--ink-2);position:relative}
.section-nav a .ui-icon{opacity:.8}
.section-nav a[aria-current=page]{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);box-shadow:none;font-weight:650}
.section-nav a[aria-current=page]::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:auto}
.sidebar-foot{display:flex;gap:9px;align-items:flex-start;border-top:1px solid var(--border);padding:18px 9px 0;margin-top:22px;font-size:11px;color:var(--ink-2)}
.sidebar-foot small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.sidebar-foot-dot{width:6px;height:6px;border-radius:50%;background:var(--chatgpt);margin-top:5px;flex:none}
.topbar{margin-left:var(--sidebar-width);position:sticky;top:0;height:60px;display:flex;align-items:center;gap:20px;padding:0 36px;background:var(--surface);backdrop-filter:none;border-bottom:1px solid var(--border);z-index:6}
.view-breadcrumb{display:flex;align-items:center;gap:14px;font-size:12px;white-space:nowrap;color:var(--muted)}
.view-breadcrumb strong{color:var(--ink-2);font-weight:550}
.topbar .sync{margin-left:auto;font-size:12px}
.sync .dot{width:6px;height:6px}
.theme-control{margin-left:0}
.theme-control select{border:0;background:transparent;font-size:12px;color:var(--muted);max-width:100px;min-height:36px}
.top-actions{gap:9px}
.top-actions button{font-size:12px;min-height:36px;font-weight:550;padding:7px 11px;border-radius:7px;white-space:nowrap}
.top-actions .secondary{background:var(--surface);border-color:var(--border)}
.top-actions .ui-icon{width:15px;height:15px}
main{max-width:none;margin:0 0 0 var(--sidebar-width);padding:22px 40px 24px}
#app{max-width:1800px;margin:0 auto}
.overview-head{margin:0 0 18px;align-items:center;gap:20px}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.045em}
.overview-title{display:grid;gap:6px;min-width:0}
.overview-line{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.overview-head h1{font-size:28px;line-height:1.2;font-weight:620;letter-spacing:-.04em;margin:0}
.overview-date{margin:0;font-size:13px;color:var(--muted)}
.overview-status{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2);max-width:120ch}
.overview-status .pace-icon{width:7px;height:7px;margin-top:7px}
.data-health-link{font-size:12px;min-height:38px;border-color:var(--border);background:var(--surface);font-weight:550;border-radius:7px;padding:8px 12px;gap:8px}
.tiles{display:flex;flex-wrap:wrap;gap:18px}
.tile{flex:1 1 calc(20% - 15px);min-width:0;padding:18px 20px 16px;gap:11px;border-radius:12px;box-shadow:0 2px 3px #00000002;display:flex;flex-direction:column;color:var(--ink);text-decoration:none;transition:border-color .15s ease,background-color .15s ease}
a.tile:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 3%,var(--surface))}
a.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tile header{gap:10px;font-size:13px;margin-bottom:3px}
.tile-go{margin-left:auto;align-self:flex-start;font-size:13px;color:var(--muted);transition:color .15s ease}
a.tile:hover .tile-go{color:var(--accent)}
.provider-symbol{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:18px;font-weight:550;font-family:Georgia,serif;flex:none}
.provider-symbol.claude{color:var(--claude);background:color-mix(in srgb,var(--claude) 10%,var(--surface))}
.provider-symbol.chatgpt{color:var(--chatgpt);background:color-mix(in srgb,var(--chatgpt) 10%,var(--surface));font-family:Geist,sans-serif;font-size:15px}
.tile-labels{display:grid;gap:1px;min-width:0}
.tile-provider{font-size:13px;font-weight:600}
.tile-title{font-size:12px;color:var(--muted)}
.tile-value{gap:7px;align-items:baseline;margin:0 0 2px}
.tile-value strong{font-size:42px;line-height:1;letter-spacing:-.05em;font-weight:580;font-variant-numeric:tabular-nums}
.tile-value span{font-size:12px;color:var(--muted)}
.meter{height:5px}
.meter-marker{width:1px;opacity:.6}
.tile-reset{font-size:12px;line-height:1.7;font-variant-numeric:tabular-nums}
.tile-reset strong{font-size:12px;font-weight:550}
.tile .pace{font-size:12px;min-height:30px;line-height:1.5}
.pace-icon{width:5px;height:5px;margin-top:6px}
.credits-tile .tile-reset{margin-top:4px}
.glance-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}
.glance-note{font-size:11px;margin:0}
.glance-caption .more-link{font-size:11px;font-weight:500;color:var(--ink-2)}
ul.grants{gap:10px}ul.grants li{row-gap:2px}ul.grants li small{flex-basis:100%;font-size:12px;color:var(--muted);line-height:1.5}
/* Reset notice: one line per offer under the status sentence, so it costs one short row above the
   fold (v33). The title grows from zero so the Today link stays on the first row; the reset row wraps
   under both. What the reset clears and the grant name come last and give way first. */
.overview-head{flex-wrap:wrap;row-gap:6px}
.overview-title{flex:1 1 0}
#overview-resets{flex-basis:100%;min-width:0}
.reset-offers{display:grid;gap:4px;min-width:0;container-type:inline-size}
.reset-offer{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;margin:0;min-width:0;font-size:13px;line-height:20px;color:var(--ink-2)}
.reset-badge{flex:none;font-size:11px;font-weight:600;line-height:18px;padding:0 9px;border-radius:999px;white-space:nowrap;color:var(--good-text);border:1px solid color-mix(in srgb,var(--good-text) 30%,var(--border));background:color-mix(in srgb,var(--good-text) 12%,var(--surface))}
.reset-offer.expiring .reset-badge{color:var(--warn-text);border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 16%,var(--surface))}
.reset-when{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.reset-offer .reset-advice{flex:0 1 auto;min-width:0;align-items:center;font-size:inherit;line-height:inherit}
.reset-advice .pace-icon{margin-top:0}
.reset-detail{flex:1 1 0;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;color:var(--muted)}
.reset-use{flex:none;white-space:nowrap;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none}
.reset-use:hover{text-decoration:underline}
@media(min-width:801px){@container (max-width:1199px){.reset-detail{display:none}}}
@media(max-width:800px){.reset-offers{gap:10px}.reset-offer{gap:6px 10px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--good-text) 38%,var(--border));background:color-mix(in srgb,var(--good-text) 6%,var(--surface))}.reset-offer.expiring{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.reset-offer .reset-advice{flex-basis:100%;align-items:flex-start}.reset-advice .pace-icon{margin-top:7px}.reset-detail{flex-basis:100%;white-space:normal}.reset-use{flex-basis:100%;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink)}}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:18px;margin:18px 0 22px;align-items:stretch}
.overview-grid>div{min-width:0;display:flex;flex-direction:column}
.overview-grid>div>*{flex:1}
.live-panel{padding:20px 22px;gap:14px}
.dashboard-panel.live-panel .section-head{margin-bottom:0}
.live-panel h2{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.live-state{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:550;letter-spacing:0;padding:3px 10px 3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--ink-2);background:var(--raised)}
.live-state.active{color:var(--good-text);border-color:color-mix(in srgb,var(--good-text) 35%,var(--border));background:color-mix(in srgb,var(--good-text) 8%,var(--surface))}
.live-state.idle{color:var(--warn-text);border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--surface))}
.live-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--c-other);position:relative}
.state-active .live-dot,.live-state.active .live-dot{background:var(--good)}
.state-idle .live-dot,.live-state.idle .live-dot{background:var(--warning)}
.state-ended .live-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c-other)}
@media(prefers-reduced-motion:no-preference){.state-active .live-dot::after,.live-state.active .live-dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--good);opacity:0;animation:live-pulse 2s cubic-bezier(.16,1,.3,1) infinite}}
@keyframes live-pulse{0%{transform:scale(.5);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.live-hint{margin:0;font-size:12px;color:var(--warn-text);line-height:1.5}
.live-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
.live-left{display:grid;gap:16px;align-content:start;min-width:0}
.live-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.live-metrics .live-burn{grid-column:1/-1}
.live-metric{display:grid;gap:4px;align-content:start;min-width:0}
.live-metric strong{font-size:24px;line-height:1.15;font-weight:580;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.live-burn{gap:6px}
.burn-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.burn-list .pace{font-size:12px;line-height:1.45}
.burn-list b{font-weight:600;color:var(--ink)}
.hour-block{display:grid;grid-template-rows:auto 1fr auto;gap:6px;min-width:0}
.hour-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.hour-legend{display:flex;gap:12px;font-size:11px;color:var(--muted)}
.hour-legend span{display:inline-flex;align-items:center;gap:5px}
.hour-legend i,.hour i{display:block;background:var(--c-other)}
.hour-legend i{width:8px;height:8px;border-radius:2px}
.hour-legend i.claude,.hour i.claude{background:var(--claude)}
.hour-legend i.codex,.hour i.codex{background:var(--chatgpt)}
.hour-strip{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;align-items:end;height:42px;min-height:36px}
.hour{display:flex;flex-direction:column-reverse;height:100%;border-radius:3px;overflow:hidden;background:color-mix(in srgb,var(--grid) 45%,transparent)}
.hour i{width:100%}
.hour.missing{background:none;border-bottom:1px dashed var(--border-strong)}
.hour.now{box-shadow:0 0 0 1.5px var(--accent)}
.hour-axis{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;font-size:11px;color:var(--muted);white-space:nowrap}
.hour-axis span:last-child{text-align:right;direction:rtl}
.live-list{list-style:none;margin:0;padding:0}
.live-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto minmax(64px,auto);column-gap:14px;row-gap:1px;align-items:center;padding:6px 0;font-size:13px}
.live-row:nth-child(n+6){display:none}
.live-list .live-tokens{display:none}
.live-row+.live-row{border-top:1px solid var(--border)}
.live-title{grid-column:2;color:var(--ink);font-weight:550;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.live-title:hover{color:var(--accent);text-decoration:underline}
.live-meta{grid-column:2;grid-row:2;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.live-row .live-dot{grid-row:1/3}
.live-count,.live-tokens,.live-when{grid-row:1/3;font-size:12px;color:var(--ink-2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.live-count b{color:var(--ink);font-weight:600}
.live-when{color:var(--muted)}
.state-active .live-when{color:var(--good-text);font-weight:550}
.overview-grid .today{margin:0;display:flex;flex-direction:column}
.credit-panel .section-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.expiring-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 auto 0 0;font-size:12px}
.expiring-lead{font-weight:600;color:var(--ink-2)}
.expiring-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);text-decoration:none;font-variant-numeric:tabular-nums}
.expiring-chip strong{color:var(--ink);font-weight:600}
.expiring-chip:hover{border-color:var(--accent)}
.expiring-chip.soon{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--surface))}
.fast-burn-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:500}
.fast-burn-row select{min-height:32px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;padding:2px 6px}
#devices li{align-items:flex-start}
.device-copy{display:grid;gap:3px;min-width:0}
.device-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.device-kind{font-size:11px;font-weight:550;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}
.device-kind.warn,.device-kind.stale{color:var(--warn-text);border-color:color-mix(in srgb,var(--warning) 50%,var(--border))}
.device-line{color:var(--ink-2)}
.device-attention{color:var(--warn-text);font-weight:550}
.device-actions{display:flex;gap:6px;flex:none}
.device-rename{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.device-input{min-height:36px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;width:min(260px,100%)}
.devices-card{grid-column:1/-1}
.device-health{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.device-health li{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--raised)}
.device-health strong{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.device-health li.device-warn,.device-health li.device-stale{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}
.cost-summary{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px;line-height:1.55;color:var(--ink-2);max-width:140ch}
.cost-summary b{color:var(--ink);font-weight:600}
td sup.muted{font-size:11px;margin-left:3px;vertical-align:super}
.overview-grid .today-grid{grid-template-columns:1fr;padding:4px 0;flex:1;align-content:stretch}
.overview-grid .today-cell{border-right:0;border-bottom:1px solid var(--border);padding:12px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "note value";align-items:center;column-gap:12px}
.overview-grid .today-cell:last-child{border-bottom:0}
.overview-grid .today-cell .stat-label{grid-area:label}
.overview-grid .today-cell .stat-note{grid-area:note}
.overview-grid .today-cell strong{grid-area:value;font-size:22px;text-align:right;font-variant-numeric:tabular-nums}
.today{margin:28px 0;background:none;box-shadow:none;border:0;border-radius:0;padding:0}
.today-head{margin-bottom:15px}
.today-head h2{font-size:14px;font-weight:600}
.today-links .more-link{font-size:11px;color:var(--muted);font-weight:500}
.today-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px 0}
.today-cell{background:none;border:0;border-right:1px solid var(--border);border-radius:0;padding:0 25px;gap:7px}
.today-cell:last-child{border-right:0}
.today-cell:hover{background:var(--wash)}
.today-cell strong{font-size:26px;line-height:1.25;font-weight:580;letter-spacing:-.035em}
.stat-label{font-size:12px;font-weight:500}
.stat-note{font-size:12px;color:var(--muted);line-height:1.6}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:22px;align-items:stretch}
.dashboard-panel{min-width:0;padding:25px 26px;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column}
.dashboard-panel .section-head{align-items:flex-start;margin-bottom:23px;gap:12px}
.section-head h2{font-size:17px;font-weight:600;letter-spacing:-.025em}
.section-head .muted{font-size:12px;margin-top:6px;line-height:1.65}
.activity-totals{display:flex;gap:32px;margin-bottom:26px}
.activity-totals p{display:grid;gap:4px}
.activity-totals strong{font-size:29px;letter-spacing:-.04em;font-weight:580;font-variant-numeric:tabular-nums}
.activity-totals span{font-size:11px;color:var(--muted)}
.segmented{padding:3px;gap:2px;border-color:var(--border);border-radius:7px;background:var(--raised)}
.segmented button{font-size:11px;min-height:28px;padding:4px 9px;font-weight:550;border-radius:4px}
.segmented button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 4px #00000012}
.panel-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:18px;margin-top:auto;font-size:11px;color:var(--muted)}
.panel-foot .more-link{font-size:11px;font-weight:550}
.credit-panel .more-link{font-size:11px}
.credit-panel .chart{margin-top:6px}
/* Top credit threads: thread and project, credits and share of the last 7 days. */
.ct-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
.ct-table th,.ct-table td{padding:9px 0;text-align:left;vertical-align:top;border-top:1px solid var(--border);min-width:0}
.ct-table thead th{border-top:0;padding:0 0 8px;font-size:11px;font-weight:550;color:var(--muted)}
.ct-table thead th:nth-child(2){width:9.5em}.ct-table thead th:nth-child(3){width:5.5em}
.ct-table .num{text-align:right;padding-left:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ct-table tbody th{font-weight:550}
.ct-table tbody th a,.ct-table tbody th small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-table tbody th a{color:var(--ink);text-decoration:none}
.ct-table tbody th a:hover{color:var(--accent);text-decoration:underline}
.ct-table tbody th small{font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}
.ct-table tr.unmatched th a,.ct-rest th{color:var(--ink-2);font-weight:500}
.ct-amount{font-weight:550}
.ct-share .bar-track{display:block;margin-top:6px}
/* Limit walls: each weekly limit reaching 100% in the last 7 days. */
#walls>.walls-panel{margin:0 0 22px}
.walls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.wall-col{display:grid;gap:6px;align-content:start;min-width:0}
.wall-head{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;margin:0 0 2px}
.wall-head .provider-symbol{width:26px;height:26px;border-radius:7px;font-size:14px}
.wall-count{margin-left:auto;font-size:11px;font-weight:550;padding:2px 9px;border-radius:999px;border:1px solid var(--border);color:var(--ink-2);background:var(--raised);white-space:nowrap}
.wall-count.hit{color:var(--critical-text);border-color:color-mix(in srgb,var(--critical) 40%,var(--border));background:color-mix(in srgb,var(--critical) 6%,var(--surface))}
.wall-list{list-style:none;margin:0;padding:0}
.wall{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;row-gap:3px;padding:8px 0;font-size:13px;align-items:baseline}
.wall+.wall{border-top:1px solid var(--border)}
.wall-hit{color:var(--ink);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.wall-hit:hover{color:var(--accent);text-decoration:underline}
.wall-hit strong{font-weight:600}
.wall.at-limit .wall-hit strong{color:var(--critical-text)}
.wall-took{font-size:12px;color:var(--muted);text-align:right}
.wall .pace{grid-column:1/-1;margin:0;font-size:12px}
.wall-none{margin:0;font-size:13px;color:var(--muted);line-height:1.6}
/* Credit event and day pages. */
.thread-cell{display:grid;gap:2px}.thread-cell small{font-size:11px;color:var(--muted)}
.spent-by{display:grid;gap:8px}.spent-by p{margin:0}
.spent-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px;font-weight:600}
.spent-title a{color:var(--ink)}
.limit-events li.hit .check-dot{background:var(--critical)}
.limit-events li.reset .check-dot{background:var(--good)}
.limit-events li.clear .check-dot{background:var(--c-other)}
.notes{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:35px;padding-top:20px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}
.notes p{max-width:none;margin:0;font-size:11px;display:flex;gap:12px;flex-wrap:wrap}
.notes a{color:var(--ink-2);text-decoration:none}
/* Every workspace page follows the same heading, panel and table rhythm. */
.page{gap:26px}
.page-head{gap:18px;margin-bottom:4px}
.page-head h1{font-size:34px;letter-spacing:-.045em;font-weight:620}
.page-head .muted{font-size:14px;line-height:1.7;max-width:760px;margin-top:10px}
.crumbs{font-size:11px;gap:10px}
.stat-grid{gap:16px}.stat{padding:22px 24px;border-radius:12px;gap:8px}
.stat-value{font-size:30px;font-weight:580;letter-spacing:-.04em}
.dt{padding:22px;border-radius:12px;gap:18px}
.dt-toolbar{gap:15px;border-bottom:1px solid var(--border);padding-bottom:18px}
.dt-field{font-size:11px;gap:7px;font-weight:550}
.dt-field select,.dt-field input[type=search],.dt-field input[type=number],.dt-range input{height:38px;font-size:12px;background:var(--surface);border-color:var(--border);border-radius:7px}
.dt-sort{font-size:11px}.dt-table{font-size:12px}
.dt-table th,.dt-table td{padding:13px 12px;vertical-align:middle}
.dt-table thead{background:var(--raised)}
.dt-table .wrap{min-width:220px}.dt-summary,.dt-totals{font-size:11px;line-height:1.6}
.dt-pager{padding-top:3px}.dt-pager button{min-height:32px;min-width:32px;font-size:11px}
.wide-section{gap:18px}
.card{border-radius:10px;padding:22px;gap:13px}
.chart-card{background:var(--surface);padding:24px}
.chart-card h3,.chart-card .chart-title{font-size:15px;font-weight:600;letter-spacing:-.01em}
.chart-card p.small,.dashboard-panel p.small,.wide-section>p.small{max-width:120ch}
.analytics{margin-top:0}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.analytics-grid>.card:nth-child(2){max-height:580px;overflow:auto}
.provider{padding:26px;border-radius:12px}
.provider .cards{grid-template-columns:1fr;gap:0}
.provider .card{padding:20px 0;border:0;border-top:1px solid var(--border);border-radius:0;background:none}
.provider .card:first-child{border-top:0}
.provider-head{margin-bottom:22px}.provider-name h2{font-size:24px;letter-spacing:-.04em}
.headline{font-size:18px;line-height:1.5;margin-bottom:20px}
.health-card{padding:26px;border-radius:12px;gap:16px}
.health-card h2{font-size:18px;letter-spacing:-.025em}
.health-badge{font-size:11px;border-color:var(--border);background:var(--raised);border-radius:5px}
.facts{line-height:1.7;font-size:13px}
dialog{width:min(620px,calc(100% - 32px));border:1px solid var(--border);border-radius:16px;padding:0;box-shadow:0 24px 100px #00000030}
dialog::backdrop{background:#0c172c75;backdrop-filter:blur(3px)}
.dialog-head{padding:22px 28px;margin:0}.dialog-head h2{font-size:22px;letter-spacing:-.03em}
dialog section{margin:0;padding:24px 28px;border-bottom:1px solid var(--border)}
dialog section h3{font-size:14px;margin:0 0 12px}dialog section p{line-height:1.7}
dialog section:last-child{border-bottom:0}.theme-options button{padding:10px;border-color:var(--border);font-size:12px}
dialog section h3.sub-h{margin-top:18px}
.shortcuts-dialog{width:min(520px,calc(100% - 32px))}
.keys{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:13px;align-items:center}
.keys dt{margin:0;white-space:nowrap}.keys dd{margin:0;color:var(--ink-2)}
kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;background:var(--raised);font:600 12px/1 inherit;color:var(--ink)}
.theme-options.density-options{grid-template-columns:repeat(3,1fr)}
.density-control select{max-width:122px}
body[data-view=auth] .sidebar{width:auto;position:absolute;inset:0 auto auto 0;border:0;background:transparent;padding:24px}
body[data-view=auth] main{margin-left:0}
body[data-view=auth] .topbar{margin-left:0;border:0;background:transparent}
body[data-view=auth] .workspace-label,body[data-view=auth] .sidebar-foot,body[data-view=auth] .view-breadcrumb{display:none}
body[data-view=auth] .theme-control{margin-left:auto}
.auth{max-width:480px;padding:40px;margin:35px auto 70px;border-radius:16px}
.auth h1{font-size:34px;letter-spacing:-.04em}.auth>.muted{font-size:14px;line-height:1.7}.auth-trust{font-size:13px;line-height:1.7}
.auth form{gap:20px;margin-top:30px}.auth form>.primary{min-height:44px}
.auth .check{font-size:12px}.auth input{min-height:44px}
@media(min-width:1800px) and (min-height:1000px){main{padding-top:36px}.overview-head{margin-bottom:28px}.tile-value strong{font-size:46px}}
@media(max-width:1600px){:root:not([data-density=compact]) .tile{flex-basis:calc(33.333% - 12px)}}
@media(max-width:1500px){:root:not([data-density=compact]) .live-body{grid-template-columns:1fr}}
@media(max-width:1100px){.tile{flex-basis:calc(50% - 9px)}}
@media(max-width:600px){.tile{flex-basis:100%}}
@media(max-width:1350px){:root{--sidebar-width:200px}.topbar{padding:0 26px;gap:14px}main{padding:30px 26px 24px}.tile{padding:18px 18px 0}.tile-value strong{font-size:35px}.tile-value span{font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.dashboard-panel{padding:22px}.topbar .sync{font-size:11px}.view-breadcrumb>span{display:none}}
@media(max-width:1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.overview-grid{grid-template-columns:1fr}:root[data-density=compact] .tile{flex-basis:calc(33.333% - 7px)}.analytics-grid{grid-template-columns:1fr}.topbar .sync{font-size:0;gap:0;margin-left:auto;padding:8px}.topbar .sync .dot{width:9px;height:9px}.topbar .theme-control{margin-left:0;grid-row:auto;grid-column:auto}.top-actions{grid-row:auto;grid-column:auto}.today-cell{padding:0 16px}.today-cell strong{font-size:23px}.providers{grid-template-columns:1fr}}
@media(max-width:800px){
 :root{--sidebar-width:0px}
 .sidebar{position:sticky;top:0;inset:auto;width:100%;padding:14px 18px 0;border-right:0;border-bottom:1px solid var(--border);z-index:7;gap:12px}
 .brand{font-size:19px;padding:0}.brand img{width:27px;height:27px}
 .workspace-label,.sidebar-foot,.nav-label{display:none}
 .section-nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:4px;margin:0 -18px;padding:0 18px 10px;flex:none;scrollbar-width:thin}
 .section-nav a{min-height:38px;font-size:12px;padding:8px 12px;gap:8px;flex-shrink:0}.section-nav a[aria-current=page]::after{display:none}.section-nav .ui-icon{width:15px;height:15px}
 .topbar{height:56px;position:static;padding:8px 18px;gap:10px;justify-content:flex-end}.view-breadcrumb{margin-right:auto;font-size:11px}.topbar .theme-control select{font-size:12px;max-width:95px;padding:4px}
 .top-actions button{padding:7px 8px;font-size:11px;gap:5px;min-height:36px}.top-actions .ui-icon{width:14px;height:14px}
 main{padding:28px 20px 24px;max-width:100%}html{scroll-padding-top:125px}
 .overview-head h1{font-size:26px}.overview-status{font-size:13px}.overview-head{gap:20px;align-items:flex-start;margin-bottom:20px}.overview-head .data-health-link{display:none}.density-control{display:none}
 .tiles{gap:12px}.tile-value strong{font-size:35px}.tile{padding:18px 16px 0;gap:13px}.tile header{gap:8px}.provider-symbol{width:28px;height:30px;border-radius:7px}.tile-provider{font-size:12px}.tile-title{font-size:11px}.tile-value span{font-size:11px}
 .tile-reset{font-size:11px}.tile-reset strong{font-size:11px}.tile .pace{font-size:11px;min-height:34px}
 .glance-caption{align-items:flex-start}.glance-note{font-size:11px;max-width:75%}.glance-caption .more-link{white-space:normal;text-align:right;max-width:95px}
 .today{margin:26px 0}.today-grid{grid-template-columns:1fr 1fr;padding:0}.today-cell{padding:18px;min-height:115px}.today-cell:nth-child(2){border-right:0}.today-cell:nth-child(-n+2){border-bottom:1px solid var(--border)}
 .today-cell strong{font-size:27px}.dashboard-grid{gap:18px}.dashboard-panel{padding:21px 18px}.section-head h2{font-size:16px}.section-head .muted{font-size:12px}
 .activity-totals{gap:30px}.activity-totals strong{font-size:28px}.activity-panel .section-head{flex-wrap:nowrap}.activity-panel .segmented{flex:none}.activity-panel .segmented button{padding:4px 7px;min-height:32px;font-size:11px}
 .live-panel{padding:18px 16px}.live-metrics{grid-template-columns:1fr 1fr}.live-burn{grid-column:1/-1}.live-row{grid-template-columns:10px minmax(0,1fr) auto;column-gap:12px}.live-count{display:none}.overview-grid .today-cell{padding:14px 16px;min-height:0}
 .panel-foot{align-items:flex-start;font-size:11px}.panel-foot .more-link{font-size:11px}.notes{display:block}.notes p{margin-bottom:10px;line-height:1.6}
 .page-head h1{font-size:30px}.page-head .muted{font-size:13px}.page{gap:22px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:18px}.stat-value{font-size:27px}
 .dt{padding:16px;gap:15px}.dt-toolbar{gap:12px}.dt-field select,.dt-field input[type=search],.dt-field input[type=number],.dt-range input{height:44px;font-size:16px;max-width:100%}.dt-tools{margin-left:0}.dt-sort{min-height:32px}.dt-field{max-width:100%}.dt-range input{width:calc(50% - 14px);min-width:120px}
 .dt-table th,.dt-table td{padding:12px 10px}.dt-pager button{min-height:40px}.card,.chart-card,.provider,.health-card{padding:20px}.provider .card{padding:18px 0}.two-col{grid-template-columns:1fr}.theme-options{grid-template-columns:repeat(2,1fr)}
 .dialog-head{padding:18px 20px}dialog section{padding:22px 20px}dialog{max-height:90dvh}.auth{margin:16px auto 30px;padding:28px 24px}.auth h1{font-size:30px}body[data-view=auth] .sidebar{width:auto;padding-bottom:14px}
}
/* Phone readability floor. */
@media(max-width:600px){.stat-label,.stat-note,.tile-title,.tile-reset,.tile .pace,.glance-note,.panel-foot,.notes p,.sidebar-foot,.dt-summary,.dt-totals,.dt-field,.dt-sort{font-size:12px}.tile{gap:12px;padding:16px 14px 0}.tile-value strong{font-size:32px}.tile-value span{font-size:12px}.tile-reset strong{font-size:12px}.tile .pace{min-height:54px}.provider-symbol{width:26px;height:28px}.tile header{gap:7px}.tile-provider{font-size:12px}.tile-title{font-size:11px}.today-cell{padding:16px;min-height:125px}.activity-totals span{font-size:12px}.segmented button,.more-link,.top-actions button{min-height:32px}.dashboard-panel .section-head{gap:10px}.activity-panel .section-head{flex-wrap:wrap}.activity-panel .segmented{margin-left:auto}.glance-caption .more-link{font-size:12px}.dt-table{font-size:13px}.dt-pager button{min-height:44px}.notes p{font-size:12px}.facts{font-size:14px}.topbar .view-breadcrumb{display:none}.topbar .theme-control{margin-left:0;margin-right:auto}.brand{font-size:19px}.activity-panel .panel-foot>span{max-width:60%}}
/* Compact density: the whole overview above the fold at 125% Windows scaling (about 1536 by 711).
   Desktop only; phones keep their own layout. */
@media(min-width:801px){
 :root[data-density=compact]{--sidebar-width:196px}
 [data-density=compact] body{font-size:14px}
 [data-density=compact] .sidebar{padding:18px 12px 14px}
 [data-density=compact] .brand{font-size:18px}
 [data-density=compact] .brand img{width:26px;height:26px}
 [data-density=compact] .workspace-label{margin:18px 0 12px;padding:8px}
 [data-density=compact] .workspace-avatar{width:26px;height:26px}
 [data-density=compact] .nav-label{padding:10px 10px 3px}
 [data-density=compact] .section-nav{gap:2px}
 [data-density=compact] .section-nav a{min-height:34px;padding:7px 10px;font-size:13px;gap:10px}
 [data-density=compact] .sidebar-foot{padding-top:12px;margin-top:12px}
 [data-density=compact] .topbar{height:54px;padding:0 24px;gap:14px}
 [data-density=compact] .top-actions button{min-height:32px;padding:5px 10px}
 [data-density=compact] main{padding:16px 24px 18px}
 [data-density=compact] .overview-head{margin-bottom:12px}
 [data-density=compact] .overview-head h1{font-size:22px}
 [data-density=compact] .overview-title{display:flex;align-items:baseline;gap:6px 18px;flex-wrap:wrap}
 [data-density=compact] .glance-caption:not(.has-expiring){display:none}
 [data-density=compact] .glance-caption .glance-note,[data-density=compact] .glance-caption .more-link{display:none}
 [data-density=compact] .dashboard-panel.live-panel .section-head{margin-bottom:0}
 [data-density=compact] .overview-status{font-size:13px}
 [data-density=compact] .data-health-link{min-height:32px;padding:5px 10px}
 [data-density=compact] .tiles{gap:10px}
 [data-density=compact] .tile{flex-basis:calc(20% - 8px);padding:13px 15px 13px;gap:8px;border-radius:10px}
 [data-density=compact] .tile header{gap:8px;margin-bottom:0}
 [data-density=compact] .provider-symbol{width:26px;height:26px;border-radius:7px;font-size:14px}
 [data-density=compact] .tile-provider{font-size:12px}
 [data-density=compact] .tile-title{font-size:11px}
 [data-density=compact] .tile-value strong{font-size:30px}
 [data-density=compact] .tile-value span{font-size:11px}
 [data-density=compact] .tile-reset,[data-density=compact] .tile-reset strong{font-size:11px;line-height:1.5}
 [data-density=compact] .tile .pace{font-size:11px;min-height:0}
 [data-density=compact] .glance-caption{margin-top:6px}
 [data-density=compact] .overview-head{row-gap:4px}
 [data-density=compact] .reset-offer{font-size:12px;line-height:18px;gap:2px 12px}
 [data-density=compact] .reset-badge{line-height:16px}
 [data-density=compact] .reset-detail{font-size:11px}
 [data-density=compact] .overview-grid{gap:12px;margin:12px 0 16px}
 [data-density=compact] .live-panel{padding:12px 16px;gap:6px}
 [data-density=compact] .live-panel h2,[data-density=compact] .section-head h2{font-size:15px}
 [data-density=compact] .section-head .muted{margin-top:3px}
 [data-density=compact] .live-body{gap:18px}
 [data-density=compact] .live-left{gap:6px}
 [data-density=compact] .live-metrics{gap:8px 14px}
 [data-density=compact] .live-metric strong{font-size:20px}
 [data-density=compact] .hour-strip{height:30px;min-height:26px}
 [data-density=compact] .hour-block{gap:3px}
 [data-density=compact] .live-row{padding:5px 0;font-size:12px}
 [data-density=compact] .live-row:nth-child(n+5){display:none}
 [data-density=compact] .today-head{margin-bottom:8px}
 [data-density=compact] .overview-grid .today-cell{padding:8px 16px}
 [data-density=compact] .overview-grid .today-cell strong{font-size:18px}
 [data-density=compact] .dashboard-grid{gap:12px}
 [data-density=compact] .dashboard-panel{padding:16px 18px}
 [data-density=compact] .dashboard-panel .section-head{margin-bottom:12px}
 [data-density=compact] .activity-totals{margin-bottom:12px}
 [data-density=compact] .activity-totals strong{font-size:22px}
 [data-density=compact] .page{gap:16px}
 [data-density=compact] .page-head h1{font-size:24px}
 [data-density=compact] .page-head .muted{font-size:13px;margin-top:4px}
 [data-density=compact] .stat-grid{gap:10px}
 [data-density=compact] .stat{padding:12px 14px;gap:4px}
 [data-density=compact] .stat-value{font-size:22px}
 [data-density=compact] .card,[data-density=compact] .chart-card{padding:14px 16px}
 [data-density=compact] .dt{padding:14px;gap:12px}
 [data-density=compact] .dt-toolbar{gap:10px;padding-bottom:12px}
 [data-density=compact] .dt-field select,[data-density=compact] .dt-field input[type=search],[data-density=compact] .dt-field input[type=number],[data-density=compact] .dt-range input{height:32px}
 [data-density=compact] .dt-table th,[data-density=compact] .dt-table td{padding:7px 10px}
 [data-density=compact] .provider,[data-density=compact] .health-card{padding:16px 18px}
 [data-density=compact] .provider .card{padding:12px 0}
 [data-density=compact] .notes{margin-top:20px;padding-top:12px}
}
@media(max-width:800px){.walls{grid-template-columns:1fr;gap:18px}#walls>.walls-panel{margin-bottom:18px}}
@media(max-width:600px){.wall{grid-template-columns:1fr}.wall-took{text-align:left}.ct-table thead th:nth-child(2){width:7.5em}.ct-table thead th:nth-child(3){width:4.5em}}
@media(min-width:801px){
 [data-density=compact] #walls>.walls-panel{margin-bottom:16px}
 [data-density=compact] .wall{padding:5px 0}
 [data-density=compact] .ct-table th,[data-density=compact] .ct-table td{padding-top:6px;padding-bottom:6px}
 [data-density=compact] .ct-table thead th{padding:0 0 6px}
}
