/* Desk theme: Graphite (Tim, 21 Oct 2026). Tokens below; components in graphite.css.
   Loaded after styles.css; everything is driven by the variables below. html[data-theme] is set by theme.js. */
/* Inter import removed: Civic self-hosts Newsreader + Hanken Grotesk (civic.css) */
:root, html[data-theme="light"] {
  --bg: #fafaf9; --bg2: #f5f5f4; --card: #ffffff; --card2: #f5f5f4; --ink: #0a0a0a; --muted: #636363; --line: #e7e5e4; --line-strong: #d6d3d1;
  --accent: #0038b8; --accent-ink: #ffffff; --accent-soft: #f5f5f4; --pill: #f5f5f4; --pill-ink: #0a0a0a; --track: #f0efed;
  --tile: #ffffff; --tile-ink: #0a0a0a; --tile-lab: #636363; --link: #0a0a0a; --shadow: none;
  --radius: 8px; --r: 8px; --hdr-bg: rgba(250,250,249,.94); --toast-bg: #0a0a0a; --toast-ink: #ffffff;
  --brand: #0038b8; --bar: #0038b8; --bar-ink: #ffffff; --ok: #15803d; --warn: #b45309;
  color-scheme: light;
}
html[data-theme="dark"] {
  --bg: #0b0b0c; --bg2: #111113; --card: #151517; --card2: #1c1c1f; --ink: #f5f5f4; --muted: #9a9a9a; --line: #26262a; --line-strong: #34343a;
  --accent: #2b5ce6; --accent-ink: #ffffff; --accent-soft: #1c1c1f; --pill: #1c1c1f; --pill-ink: #f5f5f4; --track: #111113;
  --tile: #151517; --tile-ink: #f5f5f4; --tile-lab: #9a9a9a; --link: #f5f5f4; --shadow: none;
  --hdr-bg: rgba(11,11,12,.94); --toast-bg: #f5f5f4; --toast-ink: #0a0a0a;
  --brand: #8fb0ff; --bar: #0038b8; --bar-ink: #ffffff; --ok: #4ade80; --warn: #fbbf24;
  color-scheme: dark;
}
body { background: var(--bg) !important; color: var(--ink) !important; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important; -webkit-font-smoothing: antialiased; }
a { color: var(--link); }
header.top { background: var(--hdr-bg) !important; border-bottom: 1px solid var(--line) !important; backdrop-filter: blur(10px); }
nav.tabs button { color: var(--muted) !important; font-weight: 600; }
nav.tabs button[aria-selected="true"] { background: var(--accent) !important; color: var(--accent-ink) !important; outline: 0 !important; box-shadow: none !important; }
.card, .rm-card, table, .pipe-panels > details, .owner-block, .area-dd-pop, .ui-drawbar, .stage-col, .mini { background: var(--card) !important; color: var(--ink); border-color: var(--line) !important; box-shadow: var(--shadow); }
.rm-card { border-radius: var(--radius) !important; }
.rm-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.18) !important; }
th, td, .fact { border-color: var(--line) !important; }
.reason, .hint, .sum-note, .rm-facts, .ad-n, .rp-d, .fact-k { color: var(--muted) !important; }
/* buttons: soft, borderless */
.btn, .btn-secondary, button.chip, .chips button, .pipe-counts button, .area-dd-btn, .bf-filt-btn, .icon-btn { background: var(--card2) !important; color: var(--ink) !important; border: 1px solid transparent !important; box-shadow: none !important; border-radius: 999px !important; font-weight: 600; }
.btn:hover, button.chip:hover, .area-dd-btn:hover { filter: brightness(1.05); }
.btn-primary, button.chip[aria-pressed="true"], .chips button[aria-pressed="true"], .ml-btns .btn.on, .gh-chip[aria-pressed="true"] { background: var(--accent) !important; color: var(--accent-ink) !important; border-color: var(--accent) !important; }
.btn-text, .linkish { background: transparent !important; color: var(--link) !important; }
.seg, .seg.basemap { background: var(--track) !important; border-radius: 999px !important; }
.seg .seg-btn { color: var(--muted) !important; border-radius: 999px !important; }
.seg .seg-btn[aria-pressed="true"] { background: var(--card) !important; color: var(--ink) !important; box-shadow: 0 1px 3px rgba(0,0,0,.15) !important; }
input, select, textarea { background: var(--card2) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
/* yellow pills */
.badge, .rm-chip, .os-tag, .added-tag, .rm-rank { background: var(--pill) !important; color: var(--pill-ink) !important; border: 0 !important; font-weight: 600; letter-spacing: .02em; }
.badge.muted { background: var(--card2) !important; color: var(--muted) !important; font-weight: 600; }
.rm-score .badge, .rm-score > span { background: var(--pill) !important; color: var(--pill-ink) !important; }
/* figure tiles: big bold value, small muted label */
.stat, .stats > *, .fig, .kpi { background: var(--tile) !important; border: 0 !important; border-radius: 12px !important; color: var(--tile-lab) !important; }
.stat strong, .stat .v, .stats > * strong, .fig strong, .kpi strong { color: var(--tile-ink) !important; font-weight: 600; }
/* report tiles */
.rp-b { background: var(--card2) !important; border: 1px solid var(--line) !important; color: var(--ink) !important; border-radius: 14px !important; }
.rp-b:hover { border-color: var(--pill) !important; }
.rp-ic { background: var(--accent-soft) !important; }
.rp-s { color: var(--ink) !important; }
.rp-b.gen .rp-s { color: #d97706 !important; } html[data-theme="dark"] .rp-b.gen .rp-s { color: var(--pill) !important; }
.rp-b.ready { border-color: var(--pill) !important; }
.rp-b.off { opacity: .6; }
/* area dropdown + list rows */
.ad-row:hover { background: var(--card2) !important; }
.ad-row input { accent-color: var(--pill); }
.ad-row.ad-all, .ad-foot { border-color: var(--line) !important; }
/* toasts */
.toast { background: var(--toast-bg) !important; color: var(--toast-ink) !important; border-radius: 999px !important; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.toast button { background: transparent !important; color: inherit !important; text-decoration: underline; }
/* map: dark tiles get a gentle dim in dark mode; overlays stay bright */
html[data-theme="dark"] .leaflet-container { background: #0b0b0c; }
html[data-theme="dark"] .leaflet-popup-content-wrapper, html[data-theme="dark"] .leaflet-popup-tip { background: var(--card); color: var(--ink); }
html[data-theme="dark"] .leaflet-bar a { background: var(--card); color: var(--ink); border-color: var(--line); }
/* theme toggle */
.theme-tg { min-width: 44px; font-size: 18px; margin-right: 8px; }
.hdr-b { background: var(--card2) !important; color: var(--ink) !important; border: 0 !important; border-radius: 999px !important; }
.hdr-mark { background: var(--pill) !important; color: var(--pill-ink) !important; }
.hdr-brand { color: var(--muted) !important; } .hdr-title { color: var(--ink) !important; }
/* leftovers with hard-coded light backgrounds */
.bf-act, .rp-lab, .also-b, .bs-row, .qs-total, .qs-recon, th, .ql-bar, .ai-bar, .appr-result, .bf-legend, .bf-legend summary, .bf-fsheet-in, .bf-fsheet-h, .nav-in, .cd-body, #cd-sheet, .gv-bar, .lab-chips button, .rp-lab button, .rm-body, .top-row, .near-box { background: var(--card) !important; color: var(--ink) !important; border-color: var(--line) !important; }
.bf-act { border-radius: 999px !important; font-weight: 600; }
.bf-act.no { color: #ef4444 !important; }
.rp-lab button, .lab-chips button { background: var(--card2) !important; border: 0 !important; border-radius: 10px !important; }
.qs-ballpark, .need, .ql-bar.val, .ql-bar.spent { background: var(--accent-soft) !important; color: var(--ink) !important; }
.plot-chip, .score-badge, .rm-score > * { border-radius: 999px !important; }

/* ---- Menu (slide-out): navy in both themes, line icons, grouped, 44px rows ---- */
#nav-sheet { background: rgba(5,10,20,.55); backdrop-filter: blur(2px); }
#nav-sheet .nav-in { background: #0a0a0a; color: #e6eaf2; width: min(86vw, 320px); padding: 0 0 24px; border-left: 1px solid var(--line); box-shadow: -12px 0 32px rgba(0,0,0,.35); }
#nav-sheet .nav-top { display: flex; align-items: center; justify-content: space-between; padding: 16px 12px 12px 16px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #0a0a0a; z-index: 1; margin: 0; }
#nav-sheet .nav-brand { display: flex; gap: 8px; align-items: center; } #nav-sheet .nav-brand strong { display: block; font-size: .95rem; color: #fff; } #nav-sheet .nav-brand small { display: block; font-size: .75rem; color: #8b96ab; }
#nav-sheet .nav-logo { width: 32px; height: 32px; border-radius: 8px; background: var(--brand); color: #111; display: grid; place-items: center; font-weight: 600; }
#nav-sheet .nav-x { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--line); background: transparent; color: #cbd2de; display: grid; place-items: center; cursor: pointer; }
#nav-sheet .nav-x:hover { background: var(--card); color: #fff; }
#nav-sheet .nav-h { margin: 16px 16px 4px; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #6f7a90; }
#nav-sheet ul { padding: 0 8px; }
#nav-sheet .nav-it { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: #d5dbe6; font-size: .95rem; font-weight: 500; position: relative; }
#nav-sheet .nav-it .ico { color: #8b96ab; flex: none; }
#nav-sheet .nav-it:hover { background: #172034; color: #fff; }
#nav-sheet .nav-it[aria-current="page"] { background: rgba(194,65,12,.10); color: #fff; font-weight: 600; }
#nav-sheet .nav-it[aria-current="page"] .ico { color: var(--brand); }
#nav-sheet .nav-it[aria-current="page"]::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: var(--brand); }
#nav-sheet .nav-areas { padding: 0 16px; gap: 8px; }
#nav-sheet .nav-area { min-height: 40px; border-radius: 10px; background: transparent; border: 1px solid var(--line); color: #d5dbe6; font-weight: 500; font-size: .85rem; }
#nav-sheet .nav-area[aria-pressed="true"] { background: rgba(194,65,12,.12); border-color: var(--brand); color: #fff; }
#nav-sheet .nav-in > :not(.nav-top):not(ul):not(.nav-h):not(.nav-areas) { margin-left: 16px; margin-right: 16px; color: #aab3c5; }
.ico { display: inline-block; vertical-align: middle; }

/* Label roofs: compact Request a pack */
.asb-pack { margin: 8px 0; border: 1px solid var(--line); border-radius: var(--r); background: var(--card); }
.asb-pack > summary { cursor: pointer; padding: 8px 16px; font-weight: 600; font-size: .9rem; list-style: none; display: flex; justify-content: space-between; }
.asb-pack > summary::after { content: "▾"; content: "▾" / ""; color: var(--muted); } .asb-pack[open] > summary::after { content: "▴"; }
.asb-pk-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; padding: 0 8px 8px; }
.asb-pk { display: flex; flex-direction: column; align-items: flex-start; gap: 2.0px; min-height: 44px; padding: 8px 8px; border: 1px solid var(--line-strong); border-radius: 10px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.asb-pk-t { font-size: .85rem; font-weight: 600; } .asb-pk-s { font-size: .72rem; color: var(--muted); }
.asb-pk.gen { border-color: #d97706; } .asb-pk.gen .asb-pk-s { color: #d97706; } .asb-pk.ready .asb-pk-s { color: #16a34a; } .asb-pk.off { opacity: .6; }
.asb-pack .hint { padding: 0 16px 8px; margin: 0; }
/* building-type quick links */
.bt-pl { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; } .bt-pl .btn-sm { min-height: 34px; padding: 4px 8px; font-size: .8rem; }
.leaflet-popup-content .btn-primary.btn-sm { margin-top: 4px; min-height: 34px; padding: 4px 12px; }

/* ---- Consistency pass (dark leftovers, sheets, buttons) ---- */
#nav-sheet .nav-in, #nav-sheet .nav-top { background: #0a0a0a !important; }
#nav-sheet .nav-it { color: #d5dbe6 !important; border-bottom: 0 !important; }
#nav-sheet .nav-it[aria-current="page"] { color: #fff !important; background: rgba(194,65,12,.10) !important; }
details.more, details.panel, .cr-row, .doc-row.latest { background: var(--card) !important; color: var(--ink); border-color: var(--line) !important; }
.seg-btn { background: transparent; color: var(--ink); }
.seg-btn[aria-pressed="true"] { background: var(--pill) !important; color: var(--pill-ink) !important; }
html[data-theme="dark"] .seg-btn:not([aria-pressed="true"]) { background: var(--card2) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
html[data-theme="dark"] .status-pill { background: var(--card2) !important; color: var(--ink) !important; }
#asb-sheet, #asb-sheet .asb-bar { background: var(--bg) !important; color: var(--ink); }
#asb-sheet { padding: 0 16px 40px; } #asb-sheet .asb-bar { top: 0; padding: 12px 0 8px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
#asb-sheet .asb-meta { font-size: .8rem; color: var(--muted); margin: 8px 0; }
#asb-sheet .asb-prog { background: var(--track) !important; height: 4px; border-radius: 4px; overflow: hidden; } #asb-sheet .asb-prog i { background: var(--pill); }
#asb-sheet .asb-b { min-height: 44px; border-radius: 10px; background: transparent !important; border: 1px solid var(--line-strong) !important; color: var(--ink) !important; font-weight: 500; }
#asb-sheet .asb-b[aria-pressed="true"] { background: var(--pill) !important; color: var(--pill-ink) !important; border-color: var(--pill) !important; }
#asb-sheet .asb-nav .btn { min-height: 44px; }
/* button hierarchy: secondary = outline, ghost = text */
.btn-secondary { background: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; }
.btn-secondary:hover { background: var(--card2) !important; }
.btn-primary { background: var(--accent) !important; color: var(--accent-ink) !important; border-color: var(--accent) !important; }
.btn-text, .linkish { background: none !important; border: 0 !important; color: var(--link) !important; }
.card h2, .card h3, .cd-h { letter-spacing: -.01em; }
.sv-ic { display:grid; place-items:center; min-width:40px; min-height:40px; color: var(--muted); } .sv-ic.on { color: var(--pill); }
.lab-c { min-height: 44px; border-radius: 10px !important; border: 1px solid var(--line-strong) !important; background: transparent !important; color: var(--ink) !important; box-shadow: none !important; font-weight: 500; font-size: .85rem; }
.lab-c[aria-pressed="true"] { background: var(--pill) !important; color: var(--pill-ink) !important; border-color: var(--pill) !important; }

/* ==== Design scale (one type + spacing scale everywhere) ==== */
:root { --fs-xs: .75rem; --fs-sm: .8125rem; --fs-md: .9375rem; --fs-lg: 1.0625rem; --fs-xl: 1.25rem; --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; }
body { font-size: var(--fs-md); line-height: 1.5; }
main h1, .view h1 { font-size: var(--fs-xl); line-height: 1.25; }
main h2, .view h2, .card h2 { font-size: var(--fs-lg); line-height: 1.3; margin: 0 0 var(--sp-2); font-weight: 600; }
main h3, .view h3, .card h3 { font-size: var(--fs-md); line-height: 1.35; margin: 0 0 var(--sp-2); font-weight: 600; }
.reason, .hint, .muted, small { font-size: var(--fs-sm); }
.badge, .chip, .rm-chip, .status-pill { font-size: var(--fs-xs); }
.view > .card, .view > article.card, .card { padding: var(--sp-4); border-radius: var(--radius); margin-bottom: var(--sp-3); }
.card-actions { gap: var(--sp-2); margin-top: var(--sp-3); }
.btn { font-size: var(--fs-sm); font-weight: 600; min-height: 40px; padding: 0 var(--sp-4); border-radius: 999px; }
.btn-sm { min-height: 32px; padding: 0 var(--sp-3); font-size: var(--fs-xs); }
/* Header: never cut the title */
.hdr-brand { font-size: var(--fs-xs); letter-spacing: .06em; text-transform: uppercase; }
.hdr-title { font-size: var(--fs-lg) !important; }
.hdr-b { gap: 8px; } .hdr-b .ico { width: 20px; height: 20px; }
@media (max-width: 480px) { .hdr-b-l { display: none; } .hdr-b { min-width: 44px; padding: 0 8px; justify-content: center; } .hdr-brand { font-size: .6875rem; } }
/* Overview tiles: breathing room */
.start-here { margin-top: var(--sp-4); } .sh-h { margin-bottom: var(--sp-3) !important; }
.sh-grid { gap: var(--sp-3) !important; }
.sh-btn { min-height: 64px !important; padding: var(--sp-3) var(--sp-4) !important; border-radius: var(--r) !important; align-items: center; }
.sh-more { margin-top: var(--sp-3); }
/* Pipeline stage pills: lighter in dark */
html[data-theme="dark"] .flow-strip > * { background: rgba(194,65,12,.10) !important; color: var(--brand) !important; border: 1px solid rgba(194,65,12,.28) !important; font-weight: 500; }
.flow-strip { gap: 8px !important; }
/* Selects (Decisions etc.) match outlined controls */
select, .filters select { appearance: none; -webkit-appearance: none; min-height: 40px; border-radius: 999px !important; border: 1px solid var(--line-strong) !important; background-color: transparent !important; color: var(--ink) !important; padding: 0 32px 0 16px !important; font-size: var(--fs-sm); font-weight: 500;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa4b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 12px center !important; }
select option { background: var(--card); color: var(--ink); }
.filters input[type=search], input[type=search] { border-radius: 999px !important; min-height: 40px; padding: 0 16px; }
/* Status: small dots instead of emoji */
.rp-s::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; background: var(--muted); }
.rp-b.gen .rp-s::before { background: #d97706; } .rp-b.ready .rp-s::before { background: #16a34a; } .rp-b.off .rp-s::before { background: transparent; border: 1px solid var(--muted); }
.rp-ic { display: inline-grid; place-items: center; color: var(--muted); } .rp-ic .ico { width: 18px; height: 18px; }
/* Building-type header badge */
.bt-badge { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2.0px; padding: 8px 8px; border-radius: 10px; background: var(--card2); font-weight: 600; font-size: var(--fs-sm); white-space: nowrap; }
.bt-badge .bt-sw { display: none; } .bt-badge { border-left: 3px solid var(--c); } .bt-badge small { font-weight: 500; color: var(--muted); font-size: var(--fs-xs); }
.smp-cover.smp-ph { display: grid !important; place-items: center; background: var(--card2) !important; color: var(--muted); min-height: 140px; }
.smp-cover.smp-ph .ico { width: 36px; height: 36px; stroke-width: 1.25; }
.bt-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; }
.rm-score .score-badge.bt-conf, .score-badge.bt-conf { font-size: var(--fs-xs); padding: 2.0px 8px; } .rm-score .score-badge.bt-conf.high, .score-badge.bt-conf.high { background: #16a34a; color: #fff; } .score-badge.bt-conf.medium { background: #d97706; color: #fff; } .score-badge.bt-conf.low { background: #6b7280; color: #fff; }
.ml-ics { display: inline-flex; gap: 8px; margin-left: auto; } .ml-ic { width: 36px; min-width: 36px; padding: 0 !important; display: inline-grid !important; place-items: center; } .ml-ic .ico { width: 16px; height: 16px; }
.rm-chip.bt-chip { background: var(--card2) !important; color: var(--ink) !important; }
.rm-card .rm-title { color: var(--ink) !important; }

/* Streamline (v43): one mode switcher, one view toggle + Filters, overlay map controls, overflow menus, compact cards. */
.bf-row { flex-wrap: nowrap !important; align-items: center; gap: 8px; margin: 8px 0 4px; }
.bf-row .seg.bf-sub { flex: 1 1 auto !important; }
.bf-row .seg.bf-sub .seg-btn, .bf-filt-btn { min-height: 38px !important; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; }
.bf-row .ico, .bf-filt-btn .ico { width: 16px; height: 16px; }
.bf-filt-btn { order: 0 !important; margin-left: 0 !important; }
.bf-filt-n { color: var(--accent); font-weight: 600; }
html[data-theme="light"] .bf-filt-n { color: var(--brand); }
.seg.bf-kind-primary { padding: 4px !important; margin: 0 0 4px !important; max-width: none !important; }
.seg.bf-kind-primary .seg-btn { min-height: 36px !important; font-size: 14px !important; }
.bf-sum { font-size: 12px; margin: 2.0px 0 8px; }
.loc-in .loc-add { min-height: 38px; padding: 0 12px; font-size: 14px; }
.loc-in input { padding: 8px 12px !important; }
/* filter sheet: building types inline, not a dropdown */
.fs-btbar .area-dd-btn, .fs-btbar .ad-foot .btn-primary { display: none !important; }
.fs-btbar .area-dd-pop { display: block !important; position: static !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; width: auto !important; max-height: none !important; background: transparent !important; }
.fs-btbar .area-dd-list { max-height: none !important; }
.fs-sort { margin: 0 0 8px; }
/* map: big on phones */
@media (max-width: 640px) {
  #bf-map { height: 62vh !important; min-height: 380px !important; max-height: none !important; }
  #view-barnfinder.has-barn #bf-map { height: 48vh !important; min-height: 300px !important; }
}
/* item sheet: Map/Satellite + Google + open as overlays on the map */
.bf-map-wrap { position: relative; }
#bf-view.map-ov { position: absolute; z-index: 600; left: 54px; top: 10px; right: 64px; display: flex !important; gap: 8px; margin: 0; align-items: center; pointer-events: none; }
#bf-view.map-ov[hidden] { display: none !important; }
#bf-view.map-ov > * { pointer-events: auto; }
#bf-view .ov-seg { display: inline-flex; padding: 2.0px; border-radius: 999px; background: var(--card) !important; border: 1px solid var(--line); box-shadow: 0 1px 4px rgba(0,0,0,.25); margin: 0; width: auto; }
#bf-view .ov-seg .seg-btn { min-height: 30px; padding: 0 8px; font-size: 12px; flex: none; }
#bf-view .ov-ic { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--card); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 1px 4px rgba(0,0,0,.25); cursor: pointer; padding: 0; }
#bf-view .ov-ic .ico { width: 17px; height: 17px; }
/* one action row: Save | Archive | more */
.bf-actions.bf-actions3 { grid-template-columns: 1fr 1fr 52px !important; }
.bf-actions3 .bf-act { min-height: 44px !important; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px !important; }
.bf-actions3 .bf-act .ico { width: 18px; height: 18px; }
.bf-actions3 .bf-act.save.on { background: var(--pill) !important; color: var(--pill-ink) !important; border-color: var(--pill) !important; }
.bf-actions3 .bf-act.save.on .ico { fill: currentColor; }
.bf-actions3 .bf-act.restore { grid-column: span 1 !important; }
.bf-actions3 .bf-act.more { padding: 0; }
/* overflow menu */
.cm-pop { position: absolute; z-index: 3000; min-width: 210px; background: var(--card); color: var(--ink); border: 1px solid var(--line-strong); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.3); padding: 8px; }
.cm-it { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 12px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 15px; font-weight: 600; text-align: left; border-radius: 8px; cursor: pointer; }
.cm-it:hover, .cm-it:focus-visible { background: var(--card2); }
.cm-it .ico { width: 18px; height: 18px; color: var(--muted); }
.cm-it.no, .cm-it.no .ico { color: #ef4444; }
.cm-links { border-top: 1px solid var(--line); margin-top: 4px; padding: 8px 4px 2.0px; display: flex; gap: 8px; }
.cm-links .ml-ics { display: flex; gap: 8px; }
.rm-more-btn { position: absolute; right: 8px; bottom: 8px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #0a0a0a; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.3); padding: 0; }
.rm-more-btn .ico { width: 18px; height: 18px; }
/* compact cards on phones: thumbnail left, text right */
@media (max-width: 640px) {
  .rm-grid { gap: 8px !important; }
  .rm-card:not(.rm-selmode) { display: grid; grid-template-columns: 132px minmax(0, 1fr); min-height: 112px; }
  .rm-card:not(.rm-selmode) .rm-photo { aspect-ratio: auto; height: 100%; min-height: 112px; }
  .rm-card .rm-body { padding: 8px 12px !important; }
  .rm-card .rm-title { font-size: 15px !important; margin: 0 0 2.0px; }
  .rm-card .rm-facts { font-size: 13px; margin: 0 0 4px; }
  .rm-card .rm-chips { margin: 2.0px 0 0; }
  .rm-card:not(.rm-selmode) .rm-fav { width: 30px; height: 30px; font-size: 16px; right: 6px; top: 6px; }
  .rm-card:not(.rm-selmode) .rm-more-btn { width: 30px; height: 30px; right: 6px; bottom: 6px; }
  .rm-card .rm-rank { left: 6px; top: 6px; font-size: 12px; padding: 2.0px 8px; }
  .rm-card .rm-score { left: 6px; bottom: 6px; }
  .rm-card .rm-score .score-badge, .rm-card .rm-score .badge { font-size: 12px !important; padding: 4px 8px !important; }
  .rm-card .rm-acts { margin-top: 8px; }
}
#view-barnfinder.has-barn #loc-host { display: none !important; }
#bf-list-count, .rm-count { color: var(--muted) !important; font-weight: 500 !important; font-size: 13px; margin: 0 0 8px; }
/* ---- polish2: one card size everywhere, 4:3 thumbnails (matches rmHero's 4:3 frame), compact report rows ---- */
.rm-card:not(.rp-card) .rm-photo { aspect-ratio: 4 / 3 !important; height: auto; }
.rm-card .rm-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rp-date { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 8px 0 0 !important; font-size: 13px !important; color: var(--muted) !important; }
.rp-when { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.rp-when .rag { display: none; }
.rp-chip { flex: none; display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.rp-chip.ok { background: rgba(34,197,94,.16); color: #15803d; }
.rp-chip.wait { background: var(--accent-soft); color: #8a6a00; }
.rp-chip.bad { background: rgba(239,68,68,.16); color: #b91c1c; }
html[data-theme="dark"] .rp-chip.ok { color: #4ade80; } html[data-theme="dark"] .rp-chip.wait { color: var(--brand); } html[data-theme="dark"] .rp-chip.bad { color: #f87171; }
.rp-acts { display: flex !important; align-items: center; gap: 8px !important; margin-top: 8px !important; flex-wrap: nowrap !important; }
.rp-acts .rp-prim { min-height: 36px !important; height: 36px; padding: 0 16px; font-size: 14px; }
.rp-more { margin-left: auto; width: 36px; height: 36px; flex: none; border-radius: 50%; border: 1px solid var(--line-strong); background: var(--card2); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.rp-more .ico { width: 18px; height: 18px; }
.rep-gen { border-left: 0 !important; padding-left: 0 !important; }
.rp-step, .rp-cancel { color: var(--ink) !important; }
@media (max-width: 640px) {
  .rm-card:not(.rm-selmode) { display: grid !important; grid-template-columns: 136px minmax(0, 1fr) !important; height: 102px !important; min-height: 0 !important; }
  .rm-card:not(.rm-selmode) .rm-photo { aspect-ratio: 4 / 3 !important; width: 136px; height: 102px !important; min-height: 0 !important; }
  .rm-card .rm-body { overflow: hidden; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
  .rm-card .rm-title { -webkit-line-clamp: 1; line-height: 1.25; }
  .rm-card .rm-facts, .rm-card .rm-chips { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rm-card .rm-chips { display: flex; gap: 4px; flex-wrap: nowrap; }
  .rm-card .rm-body > :not(.rm-title):not(.rm-facts):not(.rm-chips):not(.rp-date):not(.rp-acts) { display: none; }
  .rp-card:not(.rm-selmode) { height: 128px !important; grid-template-columns: 128px minmax(0,1fr) !important; }
  .rp-card:not(.rm-selmode) .rm-photo { width: 128px; height: 128px !important; aspect-ratio: 1 / 1 !important; }
  .rp-card .rm-facts { margin: 0 !important; }
  .rp-acts { margin-top: 8px !important; }
  .rp-card .rm-score .doc-mode { font-size: 11px !important; padding: 2.0px 8px !important; }
}
/* item sheet: report tiles one height, readable "not suggested" text */
.rp-b { min-height: 116px; }
.rp-lab button, .lab-chips button { font-size: 13px !important; min-height: 38px; }
.rp-b.off { opacity: 1 !important; } .rp-b.off .rp-t { color: var(--ink) !important; opacity: .8; }
.rp-b .rp-s, .rp-b.off .rp-s { color: var(--muted) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rp-b .rp-d { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rm-card, .rp-card { padding: 0 !important; }
@media (max-width: 640px) { .rm-card .rm-score { transform: scale(.9); transform-origin: left bottom; } }
/* Report tiles with inline actions (done: Open PDF / Download / Request changes; asbestos: three quote options) */
.rp-b.rp-wrap { cursor: default; }
.rp-acts2, .rp-scope3 { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
.rp-acts2 .btn, .rp-scope3 .btn { min-height: 34px; padding: 4px 8px; font-size: 13px; border-radius: 9px; }
.rp-scope3 { flex-direction: column; } .rp-scope3 .btn { width: 100%; justify-content: center; }
.rp-acts2 .btn-text { padding-left: 4px; padding-right: 4px; text-decoration: underline; background: none; border: 0; color: var(--ink); }
.rp-acts .rp-view { white-space: nowrap; }
.rp-acts { display: flex; gap: 8px; align-items: center; flex-wrap: nowrap; }
.rp-acts .rp-prim, .rp-acts .rp-view { flex: 1 1 0; min-width: 0; padding-left: 8px; padding-right: 8px; }
#chg-sheet { position: fixed; inset: 0; z-index: 2300; display: flex; align-items: flex-end; justify-content: center; }
#chg-sheet[hidden] { display: none !important; }
#chg-sheet .ask-card, #ask-sheet .ask-card { background: var(--card); color: var(--ink); }
#chg-sheet .ask-s, #ask-sheet .ask-s { color: var(--muted); }
.chg-in { min-height: 96px; resize: vertical; font: inherit; font-size: 16px; background: var(--card2); color: var(--ink); border-color: var(--line-strong); }

/* ---- redesign3 (Oct 16): minimal report list, flat one-line tags, quiet cards ---- */
/* item-page reports: single-column rows (icon | title + one line | status) */
.rp-grid.rp-list { display: flex !important; flex-direction: column; gap: 0 !important; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--card); }
.rp-list > .rp-b { display: grid !important; grid-template-columns: 32px minmax(0,1fr) auto; grid-template-areas: "ic t s" "ic d s" "x x x"; column-gap: 12px; row-gap: 1.0px; align-items: center; min-height: 0 !important; height: auto !important; padding: 12px 16px !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; width: 100%; text-align: left; }
.rp-list > .rp-b:first-child { border-top: 0 !important; }
.rp-list > .rp-b:hover { background: var(--bg2) !important; }
.rp-list .rp-hd { display: contents; }
.rp-list .rp-ic { grid-area: ic; width: 32px !important; height: 32px !important; border-radius: 8px; background: var(--card2) !important; color: var(--muted); }
.rp-list .rp-ic .ico { width: 17px; height: 17px; }
.rp-list .rp-t { grid-area: t; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.rp-list .rp-d { grid-area: d; font-size: 12.5px !important; line-height: 1.35; display: block !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: unset !important; }
.rp-list .rp-s { grid-area: s; margin: 0 !important; font-size: 12px !important; font-weight: 600 !important; white-space: nowrap; display: inline-flex !important; align-items: center; color: var(--muted) !important; -webkit-line-clamp: unset !important; max-width: 40vw; overflow: hidden; text-overflow: ellipsis; }
.rp-list .rp-s::before { flex: none; }
.rp-list > .rp-b.ready .rp-s { color: #15803d !important; } html[data-theme="dark"] .rp-list > .rp-b.ready .rp-s { color: #4ade80 !important; }
.rp-list > .rp-b.gen .rp-s { color: #b45309 !important; } html[data-theme="dark"] .rp-list > .rp-b.gen .rp-s { color: var(--pill) !important; }
.rp-list > .rp-b:not(.off):not(.rp-wrap):not(.ready):not(.gen) .rp-s { color: var(--ink) !important; }
.rp-list > .rp-b:not(.off):not(.rp-wrap):not(.ready):not(.gen) .rp-s::before { display: none; }
.rp-list > .rp-b:not(.off):not(.rp-wrap):not(.ready):not(.gen) .rp-s::after { content: "›"; margin-left: 8px; font-size: 16px; color: var(--muted); }
.rp-list .rp-acts2, .rp-list .rp-scope3, .rp-list .rp-ask, .rp-list .rp-q, .rp-list .rp-qa { grid-area: x; }
.rp-list .rp-acts2 { display: flex; flex-wrap: nowrap; gap: 8px; margin: 8px 0 0 48px !important; padding: 0 !important; align-items: center; }
.rp-list .rp-acts2 .btn { min-height: 32px !important; padding: 0 12px !important; font-size: 13px !important; border-radius: 8px !important; white-space: nowrap; }
.rp-list .rp-acts2 .btn-text { margin-left: auto; padding: 0 4px !important; text-decoration: none; color: var(--link) !important; }
.rp-list .rp-scope3.seg { display: flex !important; flex-direction: row !important; margin: 8px 0 0 48px !important; padding: 4px !important; gap: 2.0px; border-radius: 10px !important; }
.rp-list .rp-scope3 .seg-btn { flex: 1 1 0; min-width: 0; min-height: 32px; padding: 0 4px; font-size: 12.5px !important; font-weight: 600; border: 0; background: transparent; border-radius: 8px !important; color: var(--ink) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.rp-list .rp-scope3 .seg-btn:hover { background: var(--card) !important; }
.rp-list > .rp-b.off .rp-t { opacity: 1 !important; color: var(--muted) !important; }
.rp-list > .rp-b.off .rp-ic { filter: none; opacity: .6; }
.rp-list > .rp-b.off .rp-d { display: none !important; }
.rp-list > .rp-b.off { grid-template-areas: "ic t s" "x x x"; }
.rp-list > .rp-b.off .rp-s { font-weight: 500 !important; max-width: 52vw; }
.rp-list > .rp-b.off .rp-s::before { display: none; }
.rp-list > .rp-b.ask .rp-q { margin: 8px 0 0 48px; font-size: 12.5px; color: var(--muted); } .rp-list > .rp-b.ask .rp-qa { display: none; }
.rp-list > .rp-b.ask .rp-ask { margin: 8px 0 0 48px; }
.rp-other { margin: 8px 0 0; }
.rp-other > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 8px 2.0px; font-size: 13px; font-weight: 600; color: var(--muted); }
.rp-other > summary::-webkit-details-marker { display: none; }
.rp-other > summary::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -3px 0 0 2.0px; transition: transform .15s; }
.rp-other[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
.rp-n { font-weight: 600; font-size: 11px; padding: 1.0px 8px; border-radius: 999px; background: var(--card2); }
.rp-block { margin: 16px 0 8px !important; }
.rp-h { font-size: 13px !important; font-weight: 600 !important; letter-spacing: .04em; text-transform: uppercase; color: var(--muted) !important; margin: 0 0 8px !important; }
.rp-lab { border-radius: 12px !important; padding: 8px 16px !important; margin: 0 0 8px !important; }
.rp-lab summary { font-size: 13.5px !important; }
@media (hover: hover) and (min-width: 900px) { .rp-list > .rp-b[data-tip]:hover::after { display: none; } }

/* cards: flat one-line tags, star on photo, menu beside the text */
.rm-card .rm-chips { display: flex !important; flex-wrap: nowrap !important; gap: 4px !important; overflow: hidden !important; margin: 8px 0 0 !important; white-space: nowrap; text-overflow: clip !important; min-width: 0; }
.rm-card .rm-chips .sbadges { display: contents; }
.rm-card .rm-chips > *, .rm-card .rm-chips .sbadge { flex: none; display: inline-flex; align-items: center; height: 20px; padding: 0 8px !important; border-radius: 6px !important; font-size: 11.5px !important; font-weight: 600 !important; letter-spacing: 0 !important; line-height: 1; white-space: nowrap; background: var(--card2) !important; color: var(--muted) !important; border: 0 !important; box-shadow: none !important; }
.rm-card .rm-chips .rm-chip.asb { background: rgba(217,119,6,.12) !important; color: #92400e !important; }
.rm-card .rm-chips .rm-chip.sol { background: rgba(29,78,216,.10) !important; color: #1e40af !important; }
.rm-card .rm-chips .sbadge.saved { background: rgba(194,65,12,.22) !important; color: var(--brand) !important; }
.rm-card .rm-chips .sbadge.planning, .rm-card .rm-chips .sbadge.approach, .rm-card .rm-chips .sbadge.talks { background: rgba(15,118,110,.11) !important; color: #0f766e !important; }
html[data-theme="dark"] .rm-card .rm-chips .rm-chip.asb { color: #fbbf24 !important; background: rgba(251,191,36,.12) !important; }
html[data-theme="dark"] .rm-card .rm-chips .rm-chip.sol { color: #93c5fd !important; background: rgba(147,197,253,.12) !important; }
html[data-theme="dark"] .rm-card .rm-chips .sbadge.saved { color: var(--pill) !important; background: rgba(194,65,12,.14) !important; }
html[data-theme="dark"] .rm-card .rm-chips .sbadge.planning, html[data-theme="dark"] .rm-card .rm-chips .sbadge.approach, html[data-theme="dark"] .rm-card .rm-chips .sbadge.talks { color: #5eead4 !important; background: rgba(94,234,212,.12) !important; }
.rm-card .rm-chips .bt-dot { width: 6px; height: 6px; margin-right: 4px; }
.rm-card .rm-body { position: relative; padding-right: 40px !important; }
.rm-card .rm-body > .rm-more-btn { display: inline-flex !important; position: absolute; right: 4px !important; top: 50% !important; bottom: auto !important; transform: translateY(-50%); width: 32px !important; height: 32px !important; background: transparent !important; color: var(--muted) !important; box-shadow: none !important; border-radius: 8px !important; }
.rm-card .rm-body > .rm-more-btn:hover { background: var(--card2) !important; color: var(--ink) !important; }
.rm-card .rm-fav { width: 28px !important; height: 28px !important; font-size: 15px !important; top: 6px !important; right: 6px !important; background: rgba(15,23,38,.55) !important; color: #fff !important; box-shadow: none !important; display: inline-flex; align-items: center; justify-content: center; }
.rm-card .rm-fav.on { color: var(--pill) !important; }
.rm-card .rm-title { font-weight: 600 !important; letter-spacing: -.005em; }
.rm-card .rm-facts { font-size: 12.5px !important; }
.rm-card { box-shadow: none !important; border: 1px solid var(--line) !important; }
.rm-card:hover { box-shadow: 0 4px 14px rgba(15,23,38,.08) !important; }
@media (max-width: 640px) {
  .rm-card .rm-body > :not(.rm-title):not(.rm-facts):not(.rm-chips):not(.rp-date):not(.rp-acts):not(.rm-more-btn) { display: none; }
  .rm-card .rm-rank { font-size: 11px !important; padding: 1.0px 8px !important; border-radius: 6px !important; }
  .rm-card .rm-score { transform: none !important; }
  .rm-card .rm-score .score-badge, .rm-card .rm-score .badge { font-size: 11px !important; padding: 2.0px 8px !important; border-radius: 6px !important; }
}
.rp-list .rp-acts2, .rp-list .rp-scope3.seg { margin-left: 0 !important; }
.rp-list .rp-acts2 .btn { padding: 0 8px !important; font-size: 12.5px !important; }
.rp-lab .lab-grid button, .rp-lab .lab-chips button, .rp-lab button { min-height: 32px !important; font-size: 12.5px !important; padding: 4px 8px !important; line-height: 1.2; }
.rp-list .rp-scope3 .seg-btn { flex: 1 1 auto !important; padding: 0 8px !important; }
/* Reports page */
.seg.rep-modes { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; padding: 4px !important; gap: 2.0px; border-radius: 10px !important; }
.seg.rep-modes::-webkit-scrollbar { display: none; }
.seg.rep-modes .seg-btn { flex: 1 0 auto !important; min-height: 34px !important; padding: 0 8px !important; font-size: 13px !important; white-space: nowrap; border-radius: 8px !important; }
.seg.rep-modes .seg-btn small { font-size: 11px; opacity: .7; margin-left: 2.0px; }
.rep-q { min-height: 40px; border-radius: 10px !important; font-size: 15px; }
.rm-card.rp-card .rm-body { padding-right: 12px !important; }
.rp-card .rm-title { font-size: 14.5px !important; line-height: 1.3 !important; }
.rp-acts .rp-prim, .rp-acts .rp-view { flex: 0 1 auto !important; min-width: 0; height: 32px !important; min-height: 32px !important; padding: 0 12px !important; font-size: 12.5px !important; border-radius: 8px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-acts .rp-view { background: transparent !important; border: 1px solid var(--line-strong) !important; }
.rp-acts .rp-more { width: 32px; height: 32px; border: 0; background: transparent; color: var(--muted); }
.rp-chip { height: 20px; padding: 0 8px; border-radius: 6px; font-size: 11.5px; font-weight: 600; }
.rp-card .rm-score .doc-mode { box-shadow: none !important; border-radius: 6px !important; }
#view-reports h2, .rep-h { font-size: 15px; font-weight: 600; }
.seg.rep-modes .seg-btn:not([aria-pressed="true"]) { background: transparent !important; }

/* ---- Theme token pass (16 Oct): panels/text that were hard-coded white or grey. Checked by tests/theme_contrast (tools/theme_audit) ---- */
html .btn-primary, html .btn.btn-primary, html a.btn-primary, html .card-actions .btn-primary, html .letter-tools .btn-primary, html .sent-ask .btn-primary { color: var(--pill-ink) !important; }
.ui-nm summary, .smp-d, .smp-meta, .stage-dl dt, .rep-h small, .lab-more summary, .loc-it small, .ck-s { color: var(--muted) !important; }
.rp-chip.ok { color: #166534; }
.loc-res, .ck-card, .ask-card, .ui-sheet, .ui-drawbar, .ed-bar, .bf-fsheet-in, .bf-fsheet-h, #nav-sheet .nav-in, .area-dd-pop, .pick-b, .bs-row, .plot-row, .pnl-b, .also-b, .kpi3 div, .pj-facts div, .rep-step, .fx-panel, #fix-sheet .fx-sheet, #asb-sheet, #asb-sheet .asb-bar, #cd-sheet, #cd-sheet .gv-bar, #gview-sheet, details.more, details.panel, .cr-form, .cr-row, .cr-wrap, .rp-b, .rp-lab, .ui-nofp, .ui-approx, .rtm { background: var(--card) !important; color: var(--ink) !important; border-color: var(--line) !important; }
.loc-it { color: var(--ink) !important; } .loc-it:hover, .loc-it:focus { background: var(--card2) !important; }
.ck-t, .ui-sheet h3, .ui-sheet h4, .ui-sheet strong, .ask-card h3, .ask-card strong { color: var(--ink) !important; }
.ck-card .btn, .ck-card button:not(.btn-primary), .ui-sheet .btn-secondary, .ui-sheet .seg-btn:not([aria-pressed="true"]) { background: var(--card2) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
html[data-theme="dark"] .ck-st.ok { color: #4ade80; } html[data-theme="dark"] .ck-st.bad { color: #f87171; }
html[data-theme="dark"] .ui-block, html[data-theme="dark"] .ck-banner, html[data-theme="dark"] .warn-box, html[data-theme="dark"] .rag-box.amber { background: rgba(194,65,12,.10) !important; color: var(--ink) !important; border-color: rgba(194,65,12,.45) !important; }
html[data-theme="dark"] .rag-box.red { background: rgba(248,113,113,.12) !important; color: var(--ink) !important; }
html[data-theme="dark"] .score-table td.pts.plus { color: #4ade80 !important; } html[data-theme="dark"] .score-table td.pts.minus { color: #f87171 !important; }
html[data-theme="dark"] .toast button, html[data-theme="dark"] .fx-chip, html[data-theme="dark"] .cr-chip, html[data-theme="dark"] .area-bar .ab-chip, html[data-theme="dark"] .sent-ask button:not(.btn-primary), html[data-theme="dark"] .bf-act { background: var(--card2) !important; color: var(--ink) !important; }
html[data-theme="dark"] .qs-ballpark, html[data-theme="dark"] .qs-total, html[data-theme="dark"] .qs-recon, html[data-theme="dark"] .qs-grp th, html[data-theme="dark"] .cd-pre, html[data-theme="dark"] .cr-pre, html[data-theme="dark"] .pnl-note, html[data-theme="dark"] .doc-row.latest, html[data-theme="dark"] .sol-deal, html[data-theme="dark"] .appr-result, html[data-theme="dark"] .need, html[data-theme="dark"] .overdue { background: var(--card2) !important; color: var(--ink) !important; }
.ui-modes [data-id="greenhouse"] { grid-column: 1 / -1; }
.seg.ui-modes { display: grid !important; grid-auto-flow: row !important; grid-template-columns: repeat(4, 1fr) !important; gap: 2.0px; border-radius: 14px !important; }
.seg.ui-modes [data-id="greenhouse"] { grid-column: 1 / -1 !important; order: 5; }
.ck-st.ok { color: #1f7a4d; } html[data-theme="dark"] .ck-st.ok { color: #4ade80 !important; }
/* Sample cards: price on the title line, three actions (Tim, 20 Oct 2026); .smp-acts has room for a future Buy now */
.smp-th { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 8px; }
.smp-price { display: inline-block; background: var(--pill); color: var(--pill-ink) !important; font-weight: 600; font-size: 1.02rem; line-height: 1.2; padding: 4px 8px; border-radius: 999px; white-space: normal; }
.smp-body .smp-price { font-size: 1.05rem; }
.smp-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
.smp-acts .btn { min-height: 44px; flex: 1 1 auto; }
.smp-vars { margin-top: 2.0px; }
.smp-info { position: fixed; inset: 0; z-index: 9998; background: rgba(5,10,20,.55); display: flex; align-items: flex-end; justify-content: center; }
.smp-info-in { background: var(--card); color: var(--ink); width: min(100%, 560px); max-height: 88vh; overflow-y: auto; padding: 16px 16px 24px; border-radius: 16px 16px 0 0; box-shadow: 0 -8px 32px rgba(0,0,0,.35); }
@media (min-width: 761px) { .smp-info { align-items: center; } .smp-info-in { border-radius: 16px; } }
.smp-info-hd { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; position: sticky; top: -16px; background: var(--card); padding-top: 4px; }
.smp-info-hd h3 { margin: 2.0px 0 8px; }
.smp-info h4 { margin: 16px 0 4px; font-size: .95rem; }
.smp-info ul { margin: 0; padding-left: 16px; } .smp-info p { margin: 0; line-height: 1.45; }
.smp-info .smp-acts { margin-top: 16px; }
.rp-b .rp-price strong { display: inline-block; background: var(--pill); color: var(--pill-ink); font-weight: 600; font-size: 1rem; padding: 2.0px 8px; border-radius: 999px; }
.hw-sec { margin-bottom: 12px; } .hw-ul, .hw-ol { margin: 0; padding-left: 16px; line-height: 1.5; } .hw-ul li, .hw-ol li { margin: 4px 0; }
.hw-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; } .hw-toc a { padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--ink); text-decoration: none; font-size: .9rem; }
.hw-reps { display: grid; gap: 8px; } .hw-rep { border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; } .hw-rep p { margin: 8px 0 0; }
.hw-faq { border-top: 1px solid var(--line); padding: 8px 0; } .hw-faq summary { font-weight: 600; cursor: pointer; } .hw-faq p { margin: 8px 0 0; }
/* summary-1025: item summary box + popups. Line 1, muted Source line, category badge with a confidence pill; wraps cleanly on phones. */
.bf-head .bf-cur-meta { margin: 2px 0 0; font-size: var(--fs-sm, 14px); color: var(--text, inherit); line-height: 1.35; overflow-wrap: anywhere; }
.bf-cur-flags { margin: 3px 0 0; font-size: var(--fs-xs, 12px); color: var(--muted); line-height: 1.35; }
.bf-cur-src, .pop-src { margin: 3px 0 0; font-size: var(--fs-xs, 12px); color: var(--muted); line-height: 1.35; overflow-wrap: anywhere; }
.pop-l1 { margin: 2px 0 0; font-weight: 500; }
.pop-src { margin-bottom: 4px; }
.bt-badge { white-space: normal; text-align: right; max-width: 46%; flex: none; line-height: 1.25; }
.bt-badge small.conf-pill { display: inline-block; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--line, rgba(127,127,127,.35)); color: var(--muted); font-size: var(--fs-xs, 11px); font-weight: 500; }
@media (max-width: 520px) { .bf-head { gap: 8px; } .bt-badge { max-width: 42%; padding: 6px 8px; } }
/* menu1027: fixed menu header, groups scroll beneath it (top heading no longer clipped on phone) */
html body #nav-sheet .nav-in { display: flex !important; flex-direction: column; overflow: hidden !important; padding-bottom: 0 !important; }
html body #nav-sheet .nav-top { position: static !important; flex: none; }
html body #nav-sheet .nav-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 4px 0 calc(24px + env(safe-area-inset-bottom)); }
html body #nav-sheet .nav-body > .nav-h:first-child { margin-top: 12px; }
/* menu1027: Sample packs 'Also available' as one plain list */
.smx-more { margin: 24px 0 8px; } .smx-ex { list-style: none; padding: 0; margin: 8px 0; }
.smx-ex li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line, #ddd); }
.smx-ex li small { display: block; color: var(--muted, #666); font-size: .85rem; } .smx-ex li b { white-space: nowrap; }

/* v235 sample cards: number + plain-English explainer (Tim 27 Oct 2026) */
.smx-lab .smx-no{font-variant-numeric:tabular-nums;opacity:.7;margin-right:.35em}
.smx-x{margin:.6rem 0 .2rem;display:grid;gap:.15rem;font-size:.86rem;line-height:1.4}
.smx-x dt{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-top:.35rem}
.smx-x dd{margin:0}
