.header{gap:var(--space-md)}.header nav{gap:var(--space-lg)}.saved-nav{font-size:var(--text-xs);white-space:nowrap}.saved-nav span{display:inline-block;min-width:23px;text-align:center;background:var(--wash);border-radius:20px;color:var(--ink)}.record-title{font-size:var(--text-2xl)!important;max-width:1050px}.record-preview h2{font-size:var(--text-xl)}.category-fact{text-transform:capitalize}.mono{font-family:var(--ek-font-mono);overflow-wrap:anywhere;font-size:var(--text-xs)}.award-value{font:500 var(--text-xl) var(--serif);margin:var(--space-sm) 0}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs) var(--space-xl)}.check{display:flex!important;align-items:center;gap:var(--space-sm)}.check input{width:18px;min-height:18px}.filter-panel form>details{margin:var(--space-md) 0}.filter-panel small{font-size:var(--text-xs);display:block;color:var(--muted);margin:var(--space-xs) 0}.filter-panel form>button{width:100%;margin-top:var(--space-sm)}.view-switch{margin:var(--space-md) 0}.view-switch button[aria-pressed=true],button[data-save][aria-pressed=true]{background:var(--wash);border-color:var(--accent)}.panel ul{padding-left:var(--space-lg)}.result-top h3{margin:0}.result h3{overflow-wrap:anywhere}.category-card{text-decoration:none;color:var(--ink)}.release-award{padding:var(--space-sm);border-left:2px solid var(--line);margin-top:var(--space-sm)}.release-award p{margin:var(--space-xs) 0}.facts small{display:block;color:var(--muted);font-size:var(--text-xs)}.three .panel h2{font-size:var(--text-lg)}.three .panel{min-width:0}#supplier-q{width:100%;max-width:650px}dialog{width:min(1160px,94vw);max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:var(--space-xl);background:var(--surface);color:var(--ink)}dialog::backdrop{background:#102633b8}.dialog-top{display:flex;gap:var(--space-lg);align-items:center;justify-content:space-between}.dialog-top h2{margin:0;font-size:var(--text-xl)}button[data-save]{white-space:nowrap}.actions{flex-wrap:wrap}.reading .record-section{margin-top:var(--space-lg)}.section:last-of-type{padding-bottom:var(--space-2xl)}.badge{white-space:normal}.result-facts strong{font-variant-numeric:tabular-nums}.results-toolbar>div{display:flex;gap:var(--space-xs)}.filter-panel input:not([type=checkbox]),.filter-panel select{width:100%}.filter-panel label{display:block;margin:var(--space-sm) 0 var(--space-xs);font-size:var(--text-xs);font-weight:700}.filter-panel summary{font-weight:700}.filter-panel{padding:var(--space-lg)}.filter-panel>summary{margin-bottom:var(--space-md)}@media(max-width:950px){.header{gap:var(--space-sm)}.header nav{gap:var(--space-md)}.saved-nav{margin-left:auto}.theme{margin-left:0}.workspace{grid-template-columns:225px minmax(0,1fr)}}@media(max-width:720px){.header nav{order:3}.saved-nav{order:1}.theme{order:2}.workspace{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.facts strong{font-size:var(--text-xl)}.result-top{gap:var(--space-sm);align-items:start}.record-preview h2{font-size:var(--text-xl)}.view-switch{gap:var(--space-xs)}.view-switch button{font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm)}.results-toolbar>div{flex-wrap:wrap}dialog{padding:var(--space-md)}.dialog-top{align-items:start}.dialog-top h2{font-size:var(--text-lg)}.results-toolbar{gap:var(--space-md)}.hero h1{font-size:var(--text-3xl)}.header .brand{font-size:var(--text-sm)}.theme span{display:none}.category-card h3{font-size:var(--text-xl)}}@media print{.actions,.saved-nav,.view-switch{display:none}}

.workspace>*,.record-layout>*{min-width:0}.sort-row>*{min-width:0}#active-filters{overflow-wrap:anywhere}@media(max-width:720px){.workspace,.record-layout{grid-template-columns:minmax(0,1fr)}.sort-row label{width:100%}.sort-row select{max-width:100%}}
[data-description]{overflow-wrap:anywhere}
.tiles{margin:var(--space-md) 0}
.tile-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-md);min-width:0}
.tile-label{font-size:var(--text-sm);color:var(--muted);margin:0 0 var(--space-xs)}
.tile-value{font:600 var(--text-xl) var(--serif);margin:0;font-variant-numeric:tabular-nums}
.tile-group-source{grid-column:1/-1;font-size:var(--text-xs);color:var(--muted);margin:0}
.term-bar{position:relative;height:12px;background:var(--wash);border-radius:6px;margin:var(--space-xs) 0}
.term-fill{display:block;height:100%;width:100%;background:var(--accent);border-radius:6px;opacity:.35}
.term-now{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.term-now rect{fill:var(--ink);pointer-events:auto}
.term-meta{display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-sm)}
.filters{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
#filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-md);margin:0 0 var(--space-md);max-width:720px}
#filters label{display:block;font-size:var(--text-xs);font-weight:700;margin:0}
#filters input,#filters select{width:100%;min-height:40px}
#filters .primary,#filters button[type=reset]{align-self:end;width:fit-content}
.ending-month{margin:var(--space-md) 0}
.ending-month h3{margin:0 0 var(--space-xs);font-size:var(--text-md)}
.ending-month ul{margin:0;padding-left:var(--space-lg)}
.chart svg{max-width:100%;height:auto}
/* Chart paint by class: src/lib/paint.mjs turns the kit's inline colours into these. */
.ek-fill-accent{fill:var(--accent)}.ek-fill-text{fill:var(--text)}.ek-fill-text-muted{fill:var(--text-muted)}.ek-fill-border-strong{fill:var(--border-strong)}.ek-fill-bg{fill:var(--bg)}.ek-fill-series-neutral{fill:var(--series-neutral)}
.ek-stroke-accent{stroke:var(--accent)}.ek-stroke-text{stroke:var(--text)}.ek-stroke-text-muted{stroke:var(--text-muted)}.ek-stroke-border-strong{stroke:var(--border-strong)}.ek-stroke-bg{stroke:var(--bg)}.ek-stroke-series-neutral{stroke:var(--series-neutral)}
@media(max-width:720px){.tile-group{grid-template-columns:1fr 1fr}#filters{grid-template-columns:1fr}}

.record-section summary{overflow-wrap:anywhere}

/* Header menu: one row on phones, the nav, saved count and theme inside a disclosure. */
.header .menu{display:none;width:auto;order:0;margin:0 0 0 auto;gap:0}
.menu summary{list-style:none;cursor:pointer;font-size:var(--text-xs);font-weight:650;display:flex;align-items:center;min-height:44px;padding:0 var(--space-md);border:1px solid var(--line);border-radius:var(--radius)}
.menu summary::-webkit-details-marker{display:none}
.menu details[open] summary{border-color:var(--accent)}
.menu-panel{position:absolute;left:0;right:0;top:100%;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);padding:var(--space-xs) var(--space-lg) var(--space-md);display:grid;gap:var(--space-xs)}
.menu-panel .menu-links{display:grid}
.menu-panel .menu-links a,.menu-panel .menu-links a[aria-current]{font-size:var(--text-sm);font-weight:650;text-decoration:none;color:var(--ink);padding:var(--space-sm) 0;border-bottom:1px solid var(--line)}
.menu-panel .menu-links a[aria-current]{color:var(--accent)}
.menu-panel .saved-nav{font-size:var(--text-sm);padding:var(--space-xs) 0;margin-left:0;justify-self:start}
.menu-panel .theme{justify-self:start;margin-left:0}
.menu-panel .theme span{display:inline}
@media(max-width:720px){
 header{position:relative}
 .header{min-height:0;flex-wrap:nowrap;padding-top:var(--space-xs);padding-bottom:var(--space-xs)}
 .header .nav-wide{display:none}
 .header .menu{display:block}
}
@media print{.header .menu{display:none}}

/* Record cards: compact label and value rows in place of badges and bullets.
   Wide screens run the rows inline; phones list them one to a line. */
.record-rows{display:flex;flex-wrap:wrap;gap:0 var(--space-lg);margin:0}
.record-rows>div{display:flex;gap:var(--space-xs);align-items:baseline;min-width:0}
.record-rows dt{margin:0;font-size:var(--text-xs);font-weight:700;color:var(--muted);white-space:nowrap}
.record-rows dd{margin:0;font-size:var(--text-sm);color:var(--ink);overflow-wrap:anywhere;min-width:0}
.record-rows dd.num{font-variant-numeric:tabular-nums}
@media(max-width:720px){
 .record-rows{display:grid;gap:0}
 .record-rows>div{border-top:1px solid var(--line);padding:var(--space-2xs) 0}
}

/* Findings: one fact per chart, with its source line and table twin. */
.finding{margin-bottom:var(--space-2xl)}
.finding .ek-figure{max-width:none}
/* Cards dense enough for about six records on a 1440 by 900 screen: title, rows and the
   caveat on the left, the record link and save button in a column on the right. */
.result{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "rows actions" "note actions";align-content:start;gap:var(--space-2xs) var(--space-lg);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-sm)}
.result h3{grid-area:title;font-size:var(--text-md);line-height:var(--leading-tight);margin:0}
.result h3 a{font-size:inherit}
.result .record-rows{grid-area:rows}
.result .result-bottom{display:contents}
.result .result-bottom p{grid-area:note;margin:0}
.result-actions{grid-area:actions;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:var(--space-2xs);white-space:nowrap}
@media(max-width:720px){
 .result{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "rows" "note" "actions";gap:var(--space-xs)}
 .result-actions{flex-direction:row;justify-content:space-between;align-items:center}
}

/* X1 extras (site-extras/v1): contract page block "What the held notices state". */
.extras h3{margin-top:var(--space-lg)}
.extras-list{padding-left:var(--space-lg)}
.extras-list>li{margin-bottom:var(--space-sm)}
.extras-list p{margin:0 0 var(--space-2xs)}
.extras-grid dd{overflow-wrap:anywhere}
.extras-quote{margin:var(--space-2xs) 0 0;font-size:var(--text-sm)}
