:root{
  --ink:#1d1d1f; --muted:#6e6e73; --faint:#86868b; --line:#d2d2d7; --bg:#f5f5f7;
  --card:#ffffff; --accent:#e30016; --accent-2:#ff3b30;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.05);
  /* Atlas show-pin scope palette — one cohesive cool family, glass green leads (2026-07-13) */
  --scope-glass:#10b981; --scope-window:#06b6d4; --scope-construction:#7c6cf0;
}
:root[data-theme="light"]{
  --ink:#1d1d1f; --muted:#6e6e73; --faint:#86868b; --line:#d2d2d7; --bg:#f5f5f7;
  --card:#ffffff; --accent:#e30016; --accent-2:#ff3b30;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.05);
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#f5f5f7; --muted:#a1a1a6; --faint:#6e6e73; --line:#2c2c2e; --bg:#000000;
         --card:#1c1c1e; --accent:#ff453a; --accent-2:#ff6961;
         --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 34px rgba(0,0,0,.55); }
}
:root[data-theme="dark"]{
  --ink:#f5f5f7; --muted:#a1a1a6; --faint:#6e6e73; --line:#2c2c2e; --bg:#000000;
  --card:#1c1c1e; --accent:#ff453a; --accent-2:#ff6961;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 34px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  letter-spacing:-.006em;
}
h1{letter-spacing:-.026em;font-weight:700}
h2,h3{letter-spacing:-.015em}
a{color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:14px;height:60px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em;cursor:pointer;font-size:16px}
.brand .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#ff3b30,#d70015);
  display:grid;place-items:center;color:#fff;font-size:14px}
.crumb{color:var(--muted);font-size:14px;font-weight:600;flex:1}
.crumb b{color:var(--ink)}
.crumb a{color:var(--accent);text-decoration:none}
.watchlink{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;
  border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.watchlink:hover{border-color:#f0873580}
.watchlink.has{color:#e8590c;border-color:#f0873560;background:#f0873510}
.watchlink span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--line);color:var(--ink);font-size:11px;font-weight:800}
.watchlink.has span{background:#e8590c;color:#fff}

/* star / track buttons */
.c-star{width:34px;text-align:center;padding-left:10px!important;padding-right:0!important}.star{background:none;border:none;cursor:pointer;font-size:16px;color:var(--faint);line-height:1;padding:2px}
.star:hover{color:#e8590c}
.star.on{color:#e8590c}
.crow{cursor:pointer}.countbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px}
.exportbtn{padding:8px 14px;border-radius:9px;border:1.5px solid var(--line);background:var(--card);
  color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.exportbtn:hover{border-color:var(--accent);color:var(--accent)}

/* profile page */
.pv-section{margin:28px 0}
.pv-section h3{font-size:16px;margin:0 0 14px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pv-card{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);
  cursor:pointer;text-decoration:none;color:inherit;border-left:4px solid var(--sc);transition:.12s;box-shadow:var(--shadow)}
.pv-card:hover{transform:translateY(-2px)}
.pv-flag{font-size:26px;line-height:1}
.pv-show{font-weight:800;font-size:14.5px}
.pv-meta{color:var(--muted);font-size:12px;margin-top:2px}
.pv-booth{margin-top:8px;font-weight:700;font-size:13px;color:var(--sc)}
.pv-cat{margin-top:4px;font-size:12px;color:var(--muted)}
.pv-alias{margin-top:6px;font-size:11.5px;color:var(--faint);font-style:italic}
.pv-absent{margin-top:18px}
.pv-aliases{margin-top:8px;font-size:12.5px;color:var(--muted)}
.peergrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.peer{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;
  background:var(--card);text-decoration:none;color:inherit;cursor:pointer;font-size:13px}
.peer:hover{border-color:var(--accent)}
.peer-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peer-reach{font-weight:800;color:var(--muted);font-size:12px}

/* watchlist concentration */
.concgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.conc{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);border-top:4px solid var(--sc);box-shadow:var(--shadow)}
.conc-flag{font-size:22px}
.conc-n{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:6px}
.conc-n span{font-size:15px;color:var(--faint);font-weight:700}
.conc-l{font-size:12px;font-weight:700;color:var(--muted);margin-top:2px}
.conc-bar{margin-top:10px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.conc-bar i{display:block;height:100%;background:var(--sc);border-radius:3px}
.hint{margin-top:14px;font-size:13px;color:var(--muted);line-height:1.5;background:var(--card);
  border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:12px 14px}
.emptybox{text-align:center;padding:60px 20px;color:var(--muted);line-height:1.6}
.emptybox p{margin-top:10px}

/* Show Atlas */
.atlas-kpis{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;gap:14px;margin:20px 0 14px}
.akpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.akpi .n{font-size:28px;font-weight:800;letter-spacing:-.02em}
.akpi .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin-top:2px}
.akpi.wide{display:flex;flex-direction:column;justify-content:center}
.akpi.wide .l{margin-bottom:9px}
.cov{height:9px;border-radius:5px;background:var(--line);overflow:hidden}
.cov i{display:block;height:100%;background:linear-gradient(90deg,#2f9e44,#37b24d);border-radius:5px}
.covn{font-size:12px;font-weight:700;color:var(--muted);margin-top:7px}
@media(max-width:820px){.atlas-kpis{grid-template-columns:repeat(2,1fr)}.akpi.wide{grid-column:1/-1}}
.atlas-region{margin-top:26px}
.ar-head{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);
  margin-bottom:12px;display:flex;align-items:center;gap:8px}
.ar-head span{color:var(--faint);font-size:12px}
.ar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.atcard{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--st);border-radius:14px;
  padding:15px 16px;box-shadow:var(--shadow);cursor:pointer;transition:transform .12s}
.atcard:hover{transform:translateY(-2px)}
.atcard.candidate{opacity:.82}
.at-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.at-status{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid;text-transform:uppercase;letter-spacing:.03em}
.at-cad{font-size:11px;color:var(--faint);font-weight:600;text-align:right}
.at-name{font-weight:800;font-size:15px;letter-spacing:-.01em}
.at-loc{color:var(--muted);font-size:12.5px;margin-top:2px}
.at-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;
  padding-top:10px;border-top:1px solid var(--line)}
.at-est{font-size:12.5px;font-weight:700}
.at-feas{font-size:11px;font-weight:700;color:var(--muted)}
.at-note{margin-top:8px;font-size:11.5px;color:var(--faint);line-height:1.45}
.at-disc{font-size:9.5px;font-weight:800;color:#9c36b5;background:#9c36b512;border:1px solid #9c36b540;
  padding:1px 6px;border-radius:999px;vertical-align:middle;text-transform:uppercase;letter-spacing:.03em}

/* map show pins */
.pintoggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.pintoggle input{cursor:pointer}.pin{cursor:pointer}.pin-d{stroke:#fff;stroke-width:1.5}
.pin:hover .pin-d{stroke-width:2.2}.pin-n{fill:#fff;font-size:6px;font-weight:800;text-anchor:middle;pointer-events:none}
@media (prefers-color-scheme:dark){.pin-h{fill:#1a1e25;stroke:rgba(255,255,255,.25)}.pin-d{stroke:#0f1216}}
/* atlas home banner variant */
.mapbanner.atlas{background:linear-gradient(120deg,#0b3d2e,#124a38)}/* Post-Show Reports */
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin:20px 0}
.rp-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-left:4px solid var(--sc);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.rp-top{display:flex;align-items:center;gap:12px}
.rp-flag{font-size:28px;line-height:1}
.rp-h{flex:1;min-width:0}
.rp-name{font-weight:800;font-size:16px;letter-spacing:-.01em}
.rp-sub{color:var(--muted);font-size:12px;font-weight:600;margin-top:1px}
.rp-scope{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:999px;border:1px solid;white-space:nowrap}
.rp-scope.glass{color:#2f9e44;background:#2f9e4415;border-color:#2f9e4455}
.rp-scope.combined{color:#e8590c;background:#e8590c15;border-color:#e8590c55}
.rp-badges{display:flex;gap:6px;margin:12px 0 8px;flex-wrap:wrap}
.rp-vb{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;border:1px solid}
.rp-vb.ok{color:#2f9e44;background:#2f9e4412;border-color:#2f9e4550}
.rp-vb.no{color:#e8590c;background:#e8590c12;border-color:#e8590c50}
.rp-vb.proj{color:#7048e8;background:#7048e812;border-color:#7048e850}
.rp-fact{margin:2px 0 13px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.rp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:8px;padding:12px 0;margin-top:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rp-n{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.rp-l{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--faint);margin-top:1px}.rp-src{text-align:center;color:var(--faint);font-size:11px;font-weight:600;margin-top:8px}

/* Show Scale bars */
.scl-list{margin:6px 0 4px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.scl-row{display:grid;grid-template-columns:28px 1.15fr 2.2fr auto 34px;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line)}
.scl-row:last-child{border-bottom:none}
.scl-rk{color:var(--faint);font-weight:800;font-size:12px;text-align:center}
.scl-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scl-row.na{opacity:.62}
.scl-row.na .scl-track{background:transparent}
.na-val{color:var(--faint);font-style:italic;font-weight:600;font-size:12px}
.scl-tag.proj{color:#7048e8;background:#7048e815;border-color:#7048e844}
.scl-tag{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#e8590c;background:#e8590c18;border:1px solid #e8590c44;padding:1px 6px;border-radius:999px;vertical-align:middle}
.scl-track{height:14px;background:var(--line);border-radius:8px;overflow:hidden}
.scl-fill{height:100%;border-radius:8px;min-width:4px;transition:width .4s ease}
.scl-val{font-weight:800;font-variant-numeric:tabular-nums;text-align:right;font-size:14px}
.scl-yr{color:var(--faint);font-size:11px;font-weight:700;text-align:right}
@media(max-width:640px){.scl-row{grid-template-columns:22px 1fr 1.4fr auto}.scl-yr{display:none}}


/* Show Trends */
.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin:20px 0}
.tr-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.tr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.tr-name{font-weight:800;font-size:16px;letter-spacing:-.01em}
.tr-sub{color:var(--faint);font-size:12px;font-weight:600;margin-top:2px}
.tr-growth{font-size:22px;font-weight:800;letter-spacing:-.02em;text-align:right;color:var(--muted)}
.tr-growth.up{color:#2f9e44}.tr-growth.down{color:#e03131}
.tr-growth span{display:block;font-size:10px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.tr-chart{display:flex;align-items:flex-end;gap:10px;height:120px;padding:0 4px 4px}
.tr-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}
.tr-bcol{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}
.tr-fill{width:70%;min-height:3px;border-radius:5px 5px 0 0;transition:height .3s}
.tr-bn{font-size:13px;font-weight:800;margin-top:6px}
.tr-by{font-size:11px;color:var(--faint);font-weight:600}
.tr-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.trf{text-align:center}
.trf b{display:block;font-size:16px;font-weight:800}
.trf b.up{color:#2f9e44}.trf b.down{color:#e03131}
.trf span{font-size:10px;color:var(--faint);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.tr-single{display:flex;flex-wrap:wrap;gap:8px}/* (live capture tracker CSS removed 2026-07-11 — captureSection deleted) */

/* Show Circuit matrix */
.cx-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
table.cx{--cx-heat:#4f46e5;border-collapse:separate;border-spacing:0;font-size:13px;min-width:760px;width:100%}
table.cx th,table.cx td{padding:0;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
table.cx td{height:46px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
table.cx thead th.cx-h{vertical-align:bottom;min-width:58px;padding:10px 6px 12px}
.cx-corner{position:sticky;left:0;background:var(--card);z-index:3;width:210px;min-width:210px}
/* the global `table{table-layout:fixed}` rule collapses the 210px row-label column to an
   equal share (fixed layout ignores cell min-width) — the matrix needs auto layout */
table.cx{table-layout:auto}
.cx-flag{display:block;font-size:17px}
.cx-hn{display:block;font-size:9.5px;color:var(--faint);font-weight:700;margin-top:4px;max-width:60px;line-height:1.2;margin-inline:auto;text-transform:uppercase;letter-spacing:.02em}
th.cx-row{text-align:left;white-space:nowrap;font-weight:700;font-size:12.5px;padding:0 18px 0 14px;
  width:210px;min-width:210px;max-width:210px;overflow:hidden;text-overflow:ellipsis;
  border-left:3px solid var(--sc);border-right:1px solid var(--line);position:sticky;left:0;background:var(--card);z-index:2}
.cx-rf{margin-right:8px;font-size:15px;vertical-align:-1px}
.cx-diag{background:color-mix(in srgb,var(--line) 45%,var(--card));font-weight:800;color:var(--muted);box-shadow:inset 3px 0 0 var(--sc)}
.cx-cell{transition:transform .1s}
.cx-cell.cx-dark{color:#fff}
.cx-cell.cx-zero{color:var(--faint);opacity:.5;font-weight:600}
.cx-cell:hover{transform:scale(1.14);position:relative;z-index:1;box-shadow:0 2px 10px rgba(0,0,0,.16);border-radius:6px}
table.cx td{vertical-align:middle}
.cx-v{display:flex;align-items:center;justify-content:center;height:100%;width:100%;line-height:1}
.cx-cell{cursor:pointer}
/* circuit hover tooltip */
.cxtip{position:fixed;z-index:9999;pointer-events:none;opacity:0;transition:opacity .1s;
  background:#12141a;color:#fff;border-radius:12px;padding:12px 14px;max-width:230px;
  box-shadow:0 10px 34px rgba(0,0,0,.34);font-size:12.5px;line-height:1.4}
.cxt-h{font-weight:800;font-size:13px;margin-bottom:3px}
.cxt-big{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1}
.cxt-lead{color:#cfd3dc;margin-top:2px}
.cxt-lead b{color:#fff}
.cxt-rows{margin-top:9px;display:flex;flex-direction:column;gap:5px}
.cxt-row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:rgba(255,255,255,.08);border-radius:7px;padding:5px 9px;font-weight:600}
.cxt-row b{font-weight:800}
.cxt-note{margin-top:8px;color:#8a90a0;font-size:10.5px;line-height:1.35}
.cx-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.cx-legend{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--faint);font-weight:600}
.cx-ramp{width:120px;height:9px;border-radius:5px;
  background:linear-gradient(90deg,color-mix(in srgb,#4f46e5 8%,var(--card)),#4f46e5)}
.cx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.cx-card{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--line);
  border-radius:12px;background:var(--card);box-shadow:var(--shadow)}
.cx-pct{font-size:28px;font-weight:800;letter-spacing:-.02em;min-width:62px}
.cx-txt{font-size:13.5px;line-height:1.45}
.cx-sub{display:block;color:var(--faint);font-size:12px;font-weight:600;margin-top:3px}

/* ---------- home ---------- */
.hero{padding:54px 0 26px}
.hero .kicker{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.hero h1{font-size:clamp(30px,5vw,50px);line-height:1.05;letter-spacing:-.03em;margin:12px 0 10px}
.hero p{color:var(--muted);font-size:17px;max-width:620px;margin:0}
/* cross-show banner */
.sectlabel{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:8px 0 2px}
.xbanner{display:flex;align-items:stretch;gap:0;background:linear-gradient(120deg,#c1121f,#7a0d16);color:#fff;
  border-radius:18px;padding:0;margin:8px 0 30px;cursor:pointer;overflow:hidden;box-shadow:0 8px 30px rgba(193,18,31,.28);
  transition:transform .14s ease,box-shadow .14s ease}
.xbanner:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(193,18,31,.36)}
.xbanner .xbar{width:5px;background:rgba(255,255,255,.6)}
.xbody{padding:22px 24px;flex:1}
.xkick{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.8}
.xbody h2{font-size:23px;margin:6px 0 6px;letter-spacing:-.02em}
.xbody p{margin:0;font-size:14px;line-height:1.5;opacity:.9;max-width:640px}.xstat .n{font-size:26px;font-weight:800;letter-spacing:-.02em}
.xstat .l{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.75}
.xgo{font-size:24px;font-weight:800;opacity:.7}
@media(max-width:760px){.xstats{display:none}}

.showgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:14px 0 60px}
.showcard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;cursor:pointer;
  box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease;position:relative;overflow:hidden}
.showcard:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(20,25,35,.08),0 18px 40px rgba(20,25,35,.12)}
.showcard .bar{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sc)}
.showcard .flag{font-size:34px;line-height:1}
.showcard h2{font-size:21px;margin:14px 0 4px;letter-spacing:-.02em}
.showcard .loc{color:var(--muted);font-size:14px;font-weight:600}
.showcard .blurb{color:var(--muted);font-size:14px;line-height:1.5;margin:14px 0 18px;min-height:42px}
.showcard .stats{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:16px}
.showcard .stat .n{font-size:22px;font-weight:800;letter-spacing:-.02em}
.showcard .stat .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint)}
.showcard .go{position:absolute;right:22px;bottom:22px;color:var(--sc);font-weight:800;font-size:20px;opacity:.5;transition:.14s}
.showcard:hover .go{opacity:1;transform:translateX(3px)}

/* ---------- show view ---------- */
.showhead{padding:34px 0 8px}
.showhead .back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;
  font-size:13px;text-decoration:none;margin-bottom:16px;cursor:pointer}
.showhead .back:hover{color:var(--ink)}
.showhead .row{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.showhead .flag{font-size:44px;line-height:1}
.showhead h1{font-size:clamp(24px,3.4vw,36px);margin:2px 0 6px;letter-spacing:-.025em}
.showhead .meta{color:var(--muted);font-size:14.5px;font-weight:600;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.showhead .meta .sep{color:var(--faint)}
.showhead .meta a{color:var(--accent);text-decoration:none}
.showhead .meta a:hover{text-decoration:underline}

.controls{margin:22px 0 6px}
.searchrow{display:flex;gap:10px;align-items:stretch}
#q{flex:1;width:100%;padding:14px 16px;font-size:15px;border:1.5px solid var(--line);border-radius:12px;
  background:var(--card);color:var(--ink);outline:none;box-shadow:var(--shadow)}
#q:focus{border-color:var(--accent)}
.filtertoggle{display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1.5px solid var(--line);
  border-radius:12px;background:var(--card);color:var(--ink);font-size:14px;font-weight:700;cursor:pointer;
  box-shadow:var(--shadow);white-space:nowrap;transition:border-color .14s,color .14s}
.filtertoggle:hover{border-color:var(--accent);color:var(--accent)}
.filtertoggle.open{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--card))}
.filtertoggle .ft-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;
  border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:800}
.filtertoggle .ft-chev{font-size:11px;opacity:.6;transition:transform .25s ease}
.filtertoggle.open .ft-chev{transform:rotate(180deg)}
/* collapsible panel — grid-rows 0fr→1fr gives smooth height animation */
.filterpanel{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;
  transition:grid-template-rows .3s ease,opacity .22s ease,margin-top .3s ease;
  border:1px solid transparent;border-radius:14px}
.filterpanel.open{grid-template-rows:1fr;opacity:1;margin-top:14px;
  border-color:var(--line);background:var(--card);box-shadow:var(--shadow)}
.fp-inner{overflow:hidden;min-height:0}
.filterpanel.open .fp-inner{padding:6px 18px 18px}

/* ---------- Company Index: left filter rail ---------- */
.wrap.wide{max-width:1560px}
.cidx-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:28px;align-items:start;margin-top:14px}
.cidx-main{min-width:0}
.cidx-main .countbar{position:sticky;top:60px;z-index:6;background:var(--bg);margin:0 0 12px;padding:12px 0 10px}
.cb-right{display:flex;align-items:center;gap:10px}
.sortwrap{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.sortwrap select{font:inherit;font-size:13px;font-weight:700;color:var(--ink);background:var(--card);
  border:1.5px solid var(--line);border-radius:9px;padding:7px 30px 7px 11px;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2398a0aa' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center}
.sortwrap select:hover{border-color:var(--accent)}
.sortwrap select:focus{outline:none;border-color:var(--accent)}
@media(max-width:560px){.sortwrap{display:none}}
.filterrail{position:sticky;top:74px;max-height:calc(100vh - 92px);overflow-y:auto;overflow-x:hidden;padding-right:4px}
.rail-head{display:flex;align-items:center;justify-content:space-between;margin:2px 0 2px}
.rail-title{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.filterrail .fblock{margin-top:18px}
.filterrail .fblock:first-child{margin-top:10px}
.filterrail .chips{gap:6px}
/* desktop: rail is always-on; the mobile toggle + panel animation are neutralized */
@media(min-width:981px){
  .filtertoggle{display:none}
  .controls{margin:20px 0 0}
  .filterrail .filterpanel{grid-template-rows:1fr;opacity:1;margin-top:6px;border-color:transparent;background:none;box-shadow:none}
  .filterrail .filterpanel .fp-inner{padding:0;overflow:visible}
}
/* mobile: stack; filters collapse behind the toggle button in the search row */
@media(max-width:980px){
  .cidx-layout{grid-template-columns:1fr;gap:0}
  .filterrail{position:static;max-height:none;overflow:visible}
  .rail-head{display:none}
}
/* active-filter pills (visible while collapsed) */
.activebar{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.activebar:empty{margin-top:0}
.apill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12.5px;
  font-weight:600;background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--ink);
  border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent);cursor:pointer}
.apill b{font-weight:800}
.apill .ax{font-weight:800;color:var(--muted)}
.apill:hover .ax{color:#e03131}
.apill.clear-all{background:none;border-color:var(--line);color:var(--muted);font-weight:700}
.apill.clear-all:hover{border-color:#e03131;color:#e03131}
.fblock{margin-top:16px}
.fp-inner .fblock:first-child{margin-top:12px}
.flabel{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chips.collapsable.collapsed > .chip:nth-child(n+10){display:none}
.chip.zero{opacity:.34}
.chip.zero:hover{opacity:.7}
.showall{display:inline-block;margin-top:9px;background:none;border:none;padding:2px 0;
  color:var(--accent);font-size:12.5px;font-weight:800;cursor:pointer;letter-spacing:.01em}
.showall:hover{text-decoration:underline}
.showall[hidden]{display:none}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;cursor:pointer;
  transition:.12s;line-height:1;white-space:nowrap}
.chip i{width:9px;height:9px;border-radius:50%;display:inline-block}
.chip span{color:var(--faint);font-weight:800}
.chip:hover{border-color:var(--c,var(--accent))}
.chip.active{background:var(--c,var(--accent));border-color:var(--c,var(--accent));color:#fff}
.chip.active span{color:rgba(255,255,255,.85)}
.chip.active i{background:#fff!important}

.resultcount{font-size:13px;color:var(--muted);margin:18px 0 12px;font-weight:700}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:840px;font-size:13.5px;table-layout:fixed}
thead th{text-align:left;padding:13px 14px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--faint);background:var(--card);border-bottom:1.5px solid var(--line);position:sticky;top:0;z-index:1}
th.h-name{width:16%}th.h-ct{width:14%}th.h-cat{width:18%}th.h-web{width:14%}th.h-desc{width:38%}
tbody td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;word-wrap:break-word;overflow-wrap:anywhere}
tbody tr{border-left:3px solid var(--rc)}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.c-name{font-weight:700}
.c-ct{white-space:nowrap}
.c-ct .fl{margin-right:6px}
.c-ct .nm{font-weight:700;font-size:12.5px;color:var(--muted)}
.c-loc{color:var(--faint);font-size:11.5px;margin-top:2px}
.tag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:800;border:1px solid;white-space:nowrap}
/* category cell: show the full category — the chip wraps to as many lines as it needs
   rather than truncating (no text ever overridden / clipped) */
.c-cat .tag{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.35;vertical-align:middle}
/* long unbroken URLs must wrap inside their cell, never bleed into the next column (2026-07-12) */
.c-web a{color:var(--accent);text-decoration:none;font-weight:700;overflow-wrap:anywhere;word-break:break-word}
.c-web a:hover{text-decoration:underline}

/* company index: show-presence matrix + reach badges */
.cidx th.h-name{width:19%}.cidx th.h-ct{width:9%}.cidx th.h-cat{width:18%}.cidx th.h-spend{width:9%}.cidx th.h-mat{width:31%}.cidx th.h-web{width:14%}
/* MAKES body cell has no class in markup — contain its tag so it can't overflow into EST. SPEND */
.cidx tbody td:nth-child(3){max-width:0}
.cidx tbody td:nth-child(3) .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.h-mat .mdot-h{font-size:13px;margin-left:2px;vertical-align:middle}
/* Shows column — marquee-fair chips (option C, 2026-07-12) */
.c-mat{max-width:none}
.shxs{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.shx{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--line);border-radius:999px;
  padding:2px 9px 2px 4px;font-size:11.5px;font-weight:650;color:var(--ink);max-width:158px}
.shx-lg.slogo{height:18px;min-width:18px;max-width:44px;padding:1px 3px;border-radius:5px;flex:none}
.shx-lg.slogo img{height:13px;max-width:38px}
.shx-lg.sflag{flex:none}
.shx-lg.sflag .fxi{width:15px;height:11px;border-radius:2px}
.shx-nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.shx-more{border:1px dashed var(--line);background:none;color:var(--muted);font:inherit;font-size:11px;font-weight:800;
  border-radius:999px;padding:3px 10px;cursor:pointer;transition:border-color .12s,color .12s;flex:none}
.shx-more:hover{border-color:var(--accent);color:var(--accent)}
.shx-rest{display:none;flex-basis:100%;flex-wrap:wrap;gap:5px}
.shxs.open .shx-rest{display:flex}
.shxs.open .shx-more{display:none}
.mdot{display:inline-block;font-size:15px;line-height:1;margin-right:3px;vertical-align:middle;
  filter:grayscale(1) opacity(.3);transition:filter .12s}
.mdot.on{filter:none}
.reach{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:800;
  vertical-align:middle;letter-spacing:.02em}
.reach.r1{background:color-mix(in srgb,var(--faint) 16%,transparent);color:var(--faint)}
.reach.r2{background:#f0873520;color:#e8590c}
.reach.r3{background:#c1121f22;color:#c1121f}
.reach.r4{background:#c1121f;color:#fff}
.nolink{color:var(--faint);font-style:italic;font-size:12px}
.c-desc{color:var(--muted);line-height:1.5}
.empty{text-align:center;padding:56px 24px;color:var(--muted);
  border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}
.empty-emoji{font-size:34px;line-height:1}
.empty-title{margin-top:12px;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.empty-sub{margin-top:5px;font-size:13.5px}
.empty-reset{margin-top:16px;padding:9px 16px;border-radius:10px;border:1.5px solid var(--accent);
  background:var(--accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.empty-reset:hover{filter:brightness(1.06)}
footer{margin:26px 0 60px;font-size:12px;color:var(--faint);line-height:1.6}

@media (max-width:620px){
  .hero{padding:36px 0 18px}
  .showhead .flag{font-size:36px}
}

/* ---------- world map ---------- */
.maphead{padding:26px 0 8px}
.maphead h1{font-size:30px;letter-spacing:-.02em;margin:6px 0 6px}
.maphead .kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.maphead p{color:var(--muted);margin:0;max-width:680px;font-size:14.5px}
.maptools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}
.maptools .flabel{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-right:2px}@media (max-width:920px){.maplayout{grid-template-columns:1fr}}
.mapcard{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.mapcard svg{display:block;width:100%;height:auto;background:
  radial-gradient(120% 120% at 30% 0%, color-mix(in srgb,var(--accent) 7%,var(--card)), var(--card))}
.cty{stroke:var(--card);stroke-width:.5;stroke-linejoin:round;cursor:pointer;transition:fill .35s ease,filter .12s}
.cty.nodata{cursor:default}
.cty:hover{filter:brightness(1.06)}
.cty.sel{stroke:var(--ink);stroke-width:1.2;paint-order:stroke}
.legend{position:absolute;left:14px;bottom:12px;background:color-mix(in srgb,var(--card) 86%,transparent);
  backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:11px;padding:9px 11px;font-size:11px;color:var(--muted)}
.legend .ll{font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:10px;color:var(--faint);margin-bottom:6px}
.legend .scale{display:flex;align-items:center;gap:0}
.legend .sw{width:26px;height:11px}
.legend .sw:first-of-type{border-radius:3px 0 0 3px}.legend .sw:last-of-type{border-radius:0 3px 3px 0}
.legend .ticks{display:flex;justify-content:space-between;margin-top:3px;font-variant-numeric:tabular-nums}
.maptip{position:fixed;z-index:60;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .1s;
  background:var(--ink);color:var(--bg);padding:8px 11px;border-radius:9px;font-size:12.5px;line-height:1.35;
  box-shadow:0 10px 30px rgba(0,0,0,.28);max-width:230px}
.maptip b{font-size:13.5px}.maptip .tn{font-variant-numeric:tabular-nums;opacity:.85}
/* ranked list */
.ranklist{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.ranklist .rlh{padding:12px 15px;border-bottom:1px solid var(--line);font-weight:800;font-size:13px;display:flex;justify-content:space-between;align-items:center}
.ranklist .rlh .sub{font-weight:600;color:var(--faint);font-size:11.5px}
.ranklist .scrolly{max-height:560px;overflow:auto}
.rrow{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:8px 15px;cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.rrow:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.rrow.sel{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.rrow .rk{color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}
.rrow .nm{display:flex;align-items:center;gap:8px;min-width:0}
.rrow .nm b{font-weight:650;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .bar{height:6px;border-radius:3px;margin-top:4px;min-width:2px}
.rrow .ct{font-variant-numeric:tabular-nums;font-weight:750;font-size:13px}
.rrow .fl{font-size:15px}
/* detail panel */
.cdetail{padding:14px 15px;border-top:2px solid var(--line);background:color-mix(in srgb,var(--accent) 4%,transparent)}
.cdetail.hide{display:none}
.cdetail h3{margin:0 0 2px;font-size:15px;display:flex;align-items:center;gap:8px}
.cdetail .cd-sub{color:var(--muted);font-size:12px;margin-bottom:10px}
.cd-bars{display:flex;flex-direction:column;gap:6px}
.cd-b{display:grid;grid-template-columns:96px 1fr 32px;gap:8px;align-items:center;font-size:12px}
.cd-b .cd-track{height:9px;border-radius:5px;background:color-mix(in srgb,var(--line) 60%,transparent);overflow:hidden}
.cd-b .cd-fill{height:100%;border-radius:5px}
.cd-b .cd-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.cd-cats{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}
.cd-cats .cc{font-size:11px;padding:3px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
/* home map banner */
.mapbanner{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#0b1f33,#123a5c);color:#fff;
  border-radius:16px;padding:18px 22px;margin:8px 0 6px;cursor:pointer;box-shadow:var(--shadow)}
.cty{fill:color-mix(in srgb,var(--line) 55%,var(--card))}

/* ---------- company travel map ---------- */
.tv-sub{font-weight:600;color:var(--faint);font-size:13px;margin-left:6px}
.tv-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);
  overflow:hidden;position:relative}
.tv-svg{display:block;width:100%;height:auto;background:
  radial-gradient(120% 130% at 50% -10%, color-mix(in srgb,var(--accent) 9%,var(--card)), var(--card))}
.tv-land{fill:color-mix(in srgb,var(--line) 62%,var(--card));stroke:var(--card);stroke-width:.4;stroke-linejoin:round}
.tv-home-land{filter:saturate(1.1)}
.tv-arc{fill:none;stroke-width:1.7;stroke-linecap:round;opacity:.9;
  stroke-dasharray:1;stroke-dashoffset:1;animation:tv-draw 1.2s ease forwards}
@keyframes tv-draw{to{stroke-dashoffset:0}}
.tv-mote{filter:drop-shadow(0 0 4px currentColor)}
.tv-dest{opacity:0;cursor:pointer;animation:tv-pop .45s ease forwards}
.tv-dest:hover,.tv-dest.hot{filter:brightness(1.08)}
.tv-dest.hot .tv-ring{r:8}
@keyframes tv-pop{from{opacity:0}to{opacity:1}}
.tv-ring{transform-box:fill-box;transform-origin:center;animation:tv-ring 2.2s ease-out infinite;transition:r .15s}
@keyframes tv-ring{0%{transform:scale(1);opacity:.5}70%{transform:scale(2.6);opacity:0}100%{opacity:0}}
.tv-pulse{transform-box:fill-box;transform-origin:center;animation:tv-ring 2.4s ease-out infinite}
@media (prefers-reduced-motion:reduce){
  .tv-arc{animation:none;stroke-dashoffset:0}.tv-dest{animation:none;opacity:1}
  .tv-ring,.tv-pulse,.tv-mote{animation:none}
}

/* trends: partial-source badge */
.tr-partial{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:800;letter-spacing:.02em;
  color:#b45309;background:#fef3c7;border:1px solid #f59f0055;border-radius:999px;padding:2px 8px;vertical-align:2px;cursor:help}
@media (prefers-color-scheme:dark){.tr-partial{color:#fcd34d;background:#78350f40;border-color:#f59f0033}}


/* ============ App shell (Phase 0: left sidebar + top bar) ============ */
.app-shell{display:flex;align-items:flex-start;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;flex:0 0 232px;width:232px;overflow-y:auto;
  background:var(--card);border-right:1px solid var(--line);padding:10px 12px 14px;
  display:flex;flex-direction:column;gap:2px;z-index:60}
.side-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em;font-size:16px;
  cursor:pointer;padding:8px 10px 14px}
.side-brand .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#ff3b30,#d70015);
  display:grid;place-items:center;color:#fff;font-size:14px}
.side-nav{display:flex;flex-direction:column;gap:2px}
.nv-head{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:14px 10px 6px}
.nv-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer;
  color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}
.nv-item:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}
.nv-item.active{background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);font-weight:750}
.nv-ic{flex:0 0 17px;opacity:.9}
.side-foot{margin-top:auto;padding:12px 10px 4px;font-size:11px;color:var(--faint);line-height:1.5}

.app-body{flex:1;min-width:0;display:flex;flex-direction:column}
.app-body .topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:60px;padding:0 22px;
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.app-body .crumb{color:var(--muted);font-size:14px;font-weight:600}
.navtoggle{display:none;background:none;border:none;font-size:20px;color:var(--ink);cursor:pointer;padding:2px 4px}

/* global search */
.gsearch{position:relative;margin-left:auto;width:min(340px,42vw)}
.gsearch .gs-ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}
#globalsearch{width:100%;padding:8px 12px 8px 32px;font-size:13.5px;border:1.5px solid var(--line);border-radius:10px;
  background:var(--card);color:var(--ink);outline:none}
#globalsearch:focus{border-color:var(--accent)}
.gsresults{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);padding:6px;max-height:min(460px,70vh);overflow-y:auto;z-index:40}
.gsresults[hidden]{display:none}
.gs-h{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:8px 10px 4px}
.gs-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;text-decoration:none;
  color:var(--ink);font-size:13px;white-space:nowrap;overflow:hidden}
.gs-item:hover{background:color-mix(in srgb,var(--accent) 9%,var(--card))}
.gs-nm{font-weight:650;overflow:hidden;text-overflow:ellipsis}
.gs-sub{color:var(--faint);font-size:11.5px;margin-left:auto;flex:0 0 auto}
.gs-all{color:var(--accent);font-weight:700;border-top:1px solid var(--line);border-radius:0;margin-top:4px}

.nav-scrim{display:none}
@media(max-width:900px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--shadow)}
  .sidebar.open{transform:none}
  .navtoggle{display:inline-block}
  .nav-scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50}
  .gsearch{width:auto;flex:1}
}

/* ---- Phase 0 clean home (retires the rainbow launcher) ---- */
.home-hero{padding:34px 0 4px}
.home-hero .kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.home-hero h1{font-size:clamp(26px,3.4vw,38px);letter-spacing:-.025em;margin:8px 0 6px}
.home-hero p{color:var(--muted);font-size:15px;max-width:640px;line-height:1.5;margin:0}
.home-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 8px}
.hk{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.hk .n{font-size:26px;font-weight:800;letter-spacing:-.02em}
.hk .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin-top:3px}.sectlabel{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:26px 0 12px}
@media(max-width:820px){.home-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-kpis{grid-template-columns:1fr 1fr}}

/* ---- Phase 1: Dashboard ---- */
.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin-top:20px}
.dash-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.dash-rail{display:flex;flex-direction:column;gap:16px}
.dblock{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px}
.dblock-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:15px;font-weight:800;letter-spacing:-.01em;margin-bottom:12px}
.dcard-more{font-size:12.5px;font-weight:700;color:var(--accent);cursor:pointer;white-space:nowrap}
.dsub{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:14px 0 8px}
.dsub:first-of-type{margin-top:2px}
.dseg-row{display:flex;flex-wrap:wrap;gap:8px}
.dseg{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1.5px solid var(--line);border-radius:999px;
  background:var(--card);cursor:pointer;font-size:13px;font-weight:650;color:var(--ink);text-decoration:none;transition:border-color .12s,background .12s}
.dseg:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card))}
.dseg-dot{width:9px;height:9px;border-radius:50%}
.dseg-n{color:var(--faint);font-weight:800}
.dseg-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}

.dcard{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px}
.dcard-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:14px;font-weight:800;margin-bottom:10px}.dempty-p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 12px}
.dbtn{display:inline-block;padding:9px 15px;border-radius:10px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none}
.dbtn:hover{filter:brightness(1.06)}
.dcov-n{font-size:20px;font-weight:800;letter-spacing:-.01em}
.dcov-n span{font-size:13px;color:var(--faint);font-weight:700}
.dcov-bar{margin:10px 0 7px;height:8px;border-radius:5px;background:var(--line);overflow:hidden}
.dcov-bar i{display:block;height:100%;background:linear-gradient(90deg,#2f9e44,#37b24d);border-radius:5px}
.dcov-sub{font-size:12px;color:var(--muted)}

.dmovers{display:flex;flex-wrap:wrap;gap:10px}
.dmover{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;
  background:var(--card);cursor:pointer;text-decoration:none;color:var(--ink);font-size:13px}
.dmover:hover{border-color:var(--accent)}
.dm-nm{font-weight:700}
.dm-d{font-weight:800}
.dm-d.up{color:#2f9e44}.dm-d.down{color:#e03131}
.dm-sub{color:var(--faint);font-size:11px}
@media(max-width:980px){.dash-grid{grid-template-columns:1fr}}

/* ---- Phase 2: unified Show page (tabs) ---- */
.show-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0 20px;overflow-x:auto}
.stab{background:none;border:none;padding:10px 14px;font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer;
  border-bottom:2px solid transparent;white-space:nowrap;transition:color .12s}
.stab:hover{color:var(--ink)}
.stab.active{color:var(--accent);border-bottom-color:var(--accent)}
.spanel[hidden]{display:none}
.show-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.show-kpis{grid-template-columns:repeat(2,1fr)}}
.ov-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:760px){.ov-cols{grid-template-columns:1fr}}
.mini-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px}
.mini-l{flex:0 0 42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.mini-bar{flex:1;height:8px;border-radius:5px;background:var(--line);overflow:hidden}
.mini-bar i{display:block;height:100%;border-radius:5px}
.mini-n{flex:0 0 auto;font-weight:800;color:var(--muted);font-size:12px;min-width:30px;text-align:right}
.ov-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ov-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:8px;margin-top:12px}
.ov-row{display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;
  background:var(--card);cursor:pointer;text-decoration:none;color:var(--ink);font-size:13px}
.ov-row:hover{border-color:var(--accent)}
.ov-nm{flex:0 0 40%;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-bar{flex:1;height:8px;border-radius:5px;background:var(--line);overflow:hidden}
.ov-bar i{display:block;height:100%;border-radius:5px}
.ov-n{flex:0 0 auto;font-weight:800;color:var(--muted);min-width:28px;text-align:right}

/* reports: year-over-year mini-chart */
.rp-tools{display:flex;align-items:center;gap:10px;margin:16px 0 6px;flex-wrap:wrap}.rp-tbar{display:flex;flex-direction:column;align-items:center;gap:0;cursor:default}.rp-tfill{width:100%;border-radius:5px 5px 0 0;transition:height .3s ease}
.rp-tbar.est .rp-tfill{opacity:.42;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.55) 3px,rgba(255,255,255,.55) 6px)}
.rp-tv{font-size:11px;font-weight:800;margin-top:5px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rp-ty{font-size:10px;color:var(--faint);font-weight:600}.rp-tnone{font-size:11.5px;color:var(--faint);padding:14px 0 6px;font-style:italic}

/* reports YoY: make the mini-chart flex to fit many editions (up to ~10 years) */
.rp-trend{gap:14px}.rp-tbar{flex:1 1 0;min-width:0}          /* hide value labels when crowded; hover shows exact figure */
.rp-tbars.many .rp-tcol{max-width:20px}
/* P1 enrichment: "what they do" subline + capability chips */
.c-what{font-size:11.5px;color:var(--muted);font-weight:500;margin-top:3px;max-width:560px;line-height:1.35}
.chip[data-k="cap"].active{background:#5b4bc4;border-color:#5b4bc4}

/* company profile: what-they-do + capability tags */
.pv-what{margin-top:8px;font-size:14px;color:var(--ink);font-weight:600}
.pv-caps{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.pv-cap{display:inline-block;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;
  background:color-mix(in srgb,#5b4bc4 10%,var(--card));color:#5b4bc4;border:1.5px solid color-mix(in srgb,#5b4bc4 30%,transparent);text-decoration:none}
.pv-cap:hover{background:#5b4bc4;color:#fff}

/* collapsible filter groups (Company Index rail) */
.fhead{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;
  -webkit-user-select:none;transition:color .12s}
.fhead:hover{color:var(--ink)}
.fcaret{flex:0 0 auto;width:0;height:0;margin-left:8px;
  border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--faint);
  transition:transform .16s ease}
.fblock.collapsed .fcaret{transform:rotate(-90deg)}
.fblock.collapsed .fbody{display:none}

/* ---- Crawl review (QA) ---- */
.rv-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.rv-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px}
.rv-card[hidden]{display:none}
.rv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rv-name{font-weight:800;font-size:15px;text-decoration:none;color:var(--ink)}
.rv-name:hover{color:var(--accent)}
.rv-meta{font-size:12px;color:var(--muted);margin-top:3px}
.rv-open{font-size:12.5px;font-weight:700;color:var(--accent);cursor:pointer;white-space:nowrap}
.rv-cur{margin-top:9px;font-size:13.5px;color:var(--ink);line-height:1.5}
.rv-k{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-right:6px}
.rv-caps{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.rv-cap{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,#5b4bc4 10%,var(--card));color:#5b4bc4;border:1px solid color-mix(in srgb,#5b4bc4 26%,transparent)}
.rv-none{font-size:12px;color:#e8590c;font-weight:700}
.rv-det{margin-top:11px;border-top:1px dashed var(--line);padding-top:9px}
.rv-det summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--muted)}
.rv-det summary:hover{color:var(--ink)}
.rv-text{margin-top:9px;font-size:12.5px;line-height:1.6;color:var(--muted);max-height:340px;overflow:auto;
  background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;white-space:pre-wrap;word-break:break-word}

/* desktop: collapsible left nav to reclaim page width (☰ in the topbar toggles it) */
@media (min-width: 901px){
  .navtoggle{display:inline-flex;align-items:center;justify-content:center;border-radius:8px}
  .navtoggle:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
  .sidebar{transition:flex-basis .2s ease, width .2s ease, padding .2s ease, opacity .16s ease}
  .app-shell.nav-collapsed .sidebar{flex:0 0 0;width:0;min-width:0;padding-left:0;padding-right:0;
    border-right-width:0;overflow:hidden;opacity:0;pointer-events:none}
}

/* ---- INTERNAL: Demand Coverage ---- */
.cv-warn{margin:16px 0 4px;background:#fff4e6;border:1px solid #ffd8a8;border-left:4px solid #f76707;color:#7a3d00;
  border-radius:10px;padding:11px 14px;font-size:13px;line-height:1.45}
@media(prefers-color-scheme:dark){.cv-warn{background:#2a1c0a;border-color:#4a3210;color:#ffc078}}
.cv-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 8px}
.cv-kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.cv-kpi .n{font-size:28px;font-weight:800;letter-spacing:-.02em}
.cv-kpi .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--faint);margin-top:3px}
.cv-kpi.hl{background:linear-gradient(135deg,#e30016,#ff3b30);border:none;color:#fff}
.cv-kpi.hl .l{color:#cfe8ff}
@media(max-width:820px){.cv-kpis{grid-template-columns:repeat(2,1fr)}}
.cv-sub{font-weight:500;color:var(--faint);font-size:13px}

/* Competitor HQ: compact corner stat cluster (replaces the big cv-kpis row) */
.showhead .row.hq-head{justify-content:space-between;gap:22px;flex-wrap:nowrap}
.showhead .row.hq-head>div:first-child{flex:1 1 auto;min-width:0}
.hq-mini{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;flex:0 0 auto;max-width:520px}
.hq-ms{display:flex;flex-direction:column;gap:2px;align-items:flex-start;font:inherit;text-align:left;cursor:pointer;
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px 12px;min-width:70px;transition:.12s}
.hq-ms:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));transform:translateY(-1px)}
.hq-ms.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.hq-ms b{font-size:19px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.hq-ms span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);white-space:nowrap}
.hq-ms.hl{background:linear-gradient(135deg,#a86a08,#d99114);border-color:transparent}
.hq-ms.hl b{color:#fff}
.hq-ms.hl span{color:#ffedcb}
.hq-ms.hl.sel{box-shadow:inset 0 0 0 1.5px #fff}
.hq-pinbtn{flex:0 0 auto;font-size:13px;line-height:1;border:none;background:none;cursor:pointer;color:color-mix(in srgb,var(--faint) 55%,transparent);padding:2px 4px 2px 0}
.hq-tbl tr:hover .hq-pinbtn{color:var(--faint)}
.hq-pinbtn:hover{color:var(--gold,#b8933d)}
.hq-pinbtn.on{color:var(--gold,#b8933d)}
.hq-hot{color:var(--gold,#a07d1c)!important;font-weight:800!important;position:relative}
.hq-hot::after{content:"▲";font-size:8px;margin-left:3px;vertical-align:2px}
@media(max-width:720px){.showhead .row.hq-head{flex-wrap:wrap}.hq-mini{justify-content:flex-start;max-width:none}}
/* reach bars */
.cvr-list{display:flex;flex-direction:column;gap:7px}
.cvr-row{display:grid;grid-template-columns:210px 1fr 92px;align-items:center;gap:12px}
.cvr-nm{font-weight:700;font-size:13px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvr-major{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#c2255c;
  background:#c2255c14;border:1px solid #c2255c44;border-radius:999px;padding:1px 6px;vertical-align:1px}
.cvr-track{height:22px;background:var(--line);border-radius:6px;overflow:hidden}
.cvr-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#e30016,#ff5a4d)}
.cvr-v{font-weight:800;font-variant-numeric:tabular-nums;font-size:13px}
.cvr-v span{display:block;font-weight:600;color:var(--faint);font-size:11px}
@media(max-width:720px){.cvr-row{grid-template-columns:130px 1fr 74px}.cvr-nm{font-size:12px}}
/* country table */
.cv-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table.cv{border-collapse:collapse;width:100%;font-size:13px;min-width:720px}
table.cv th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--faint);
  font-weight:700;padding:11px 12px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0}
table.cv td{padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.cv-rk{color:var(--faint);font-weight:700;font-variant-numeric:tabular-nums;width:34px}
.cv-fl{font-size:17px;width:26px}
.cv-cn{font-weight:700}
.cv-nu{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cv-cum{color:var(--muted);font-weight:700}
.cv-sh{font-weight:600}
.cv-dom{font-size:10px;font-weight:800;color:#2f9e44;background:#2f9e4414;border:1px solid #2f9e4444;border-radius:999px;padding:1px 7px;margin-left:6px;white-space:nowrap}
.cv-trv{font-size:10px;font-weight:800;color:#e8590c;background:#e8590c14;border:1px solid #e8590c44;border-radius:999px;padding:1px 7px;margin-left:6px;white-space:nowrap}
.cv-rg{display:block;font-size:11px;color:var(--faint);font-weight:600;margin-top:2px}
tr.cv-cut td{background:color-mix(in srgb,var(--accent) 8%,var(--card));color:var(--accent);
  font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;padding:7px 12px}

/* two-level: general chips (pv-cap) already styled; leaf tags smaller/muted */
.pv-leaves{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pv-leaf{font-size:11px;font-weight:600;padding:3px 9px;border-radius:8px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}

.cvr-new{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#e8590c;background:#e8590c14;border:1px solid #e8590c44;border-radius:999px;padding:1px 6px;vertical-align:1px}
.cvr-fill.new{background:linear-gradient(90deg,#e8590c,#ff922b)}
.cv-tgt{display:inline-block;font-size:11.5px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:2px 7px;margin:2px 3px 0 0;color:var(--muted)}
.cv-tgt b{color:var(--ink)}
.cv-dot{display:inline-block;width:15px;font-weight:800;margin-right:5px}
.cv-dot.in{color:#2f9e44}
.cv-dot.out{color:var(--faint)}

/* ---- Discovered shows ---- */
.dsc-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.dsc-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:11px 15px}
.dsc-rank{flex:0 0 auto;width:26px;text-align:center;font-weight:800;color:var(--faint);font-size:13px}
.dsc-main{flex:0 0 42%;min-width:0}
.dsc-name{font-weight:800;font-size:14px}
.dsc-badge{font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;vertical-align:middle;margin-left:4px}
.dsc-badge.yes{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.dsc-badge.new{background:#e8590c1a;color:#e8590c}
.dsc-samp{font-size:11.5px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsc-bar{flex:1;height:9px;border-radius:5px;background:var(--line);overflow:hidden}
.dsc-bar i{display:block;height:100%;border-radius:5px;background:var(--accent)}
.dsc-n{flex:0 0 auto;font-weight:800;font-size:14px;min-width:44px;text-align:right}
.dsc-n span{display:block;font-size:9px;font-weight:700;color:var(--faint);text-transform:uppercase}

/* ===== Post-Show Reports v2 — minimal / terminal-grade ===== */
.rpx-mast{margin:6px 0 22px}.rpx-index{display:flex;margin:0 0 4px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}.rpx-ixn{font-size:27px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.rpx-ixl{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin-top:5px}
@media(max-width:720px){.rpx-index{flex-wrap:wrap}.rpx-ix{flex:1 1 50%;border-bottom:1px solid var(--line)}}
.rpx-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:2px 0 14px}
.rpx-tlab{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
.rpx-seg{display:inline-flex;background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:10px;padding:3px}
.rpx-seg button{border:none;background:transparent;font-size:12.5px;font-weight:600;color:var(--muted);padding:7px 14px;border-radius:8px;cursor:pointer;font-family:inherit;transition:.12s}
.rpx-seg button:hover{color:var(--ink)}
.rpx-seg button.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
/* ---- Report Builder filter bar ---- */
.rpx-filterbar{position:sticky;top:60px;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin:0 0 16px;padding:10px 14px;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:saturate(1.2) blur(8px);
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.rpxf-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rpxf-grp{display:flex;align-items:center;gap:8px}
.rpxf-lab{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);white-space:nowrap}
.rpxf-seg{display:inline-flex;background:color-mix(in srgb,var(--line) 45%,transparent);border-radius:9px;padding:2px}
.rpxf-seg button{border:none;background:transparent;font-size:12px;font-weight:600;color:var(--muted);padding:5px 11px;border-radius:7px;cursor:pointer;font-family:inherit;transition:.12s;white-space:nowrap}
.rpxf-seg button:hover{color:var(--ink)}
.rpxf-seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.rpxf-togs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rpxf-tog{border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.12s}
.rpxf-tog:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 25%,var(--line))}
.rpxf-tog.on{background:color-mix(in srgb,var(--navy) 92%,#000);color:#fff;border-color:var(--navy)}
.rpxf-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.rpxf-count{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.rpxf-reset{font-size:12px;font-weight:700;color:var(--accent);cursor:pointer;text-decoration:none;white-space:nowrap}
.rpxf-reset:hover{text-decoration:underline}.rpx-hidden{display:none!important}
@media(max-width:820px){.rpx-filterbar{position:static}.rpxf-right{width:100%;justify-content:flex-end}}
.rpx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(342px,1fr));gap:16px}
.rpx-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}
.rpx-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--sc) 45%,var(--line));box-shadow:0 10px 30px rgba(20,25,35,.09)}
.rpx-key{position:absolute;top:0;left:0;right:0;height:2px;background:var(--sc);opacity:.85}
.rpx-top{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.rpx-flag{font-size:19px;line-height:1;filter:saturate(.85)}
.rpx-h{flex:1;min-width:0}
.rpx-name{font-weight:700;font-size:15.5px;letter-spacing:-.012em}
.rpx-meta{font-size:11.5px;color:var(--muted);margin-top:2px;font-weight:500}
.rpx-tags{display:flex;gap:6px;flex-shrink:0}
.rpx-scope{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:6px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.rpx-scope.combined{color:#9a6a12;border-color:#d9ad6a66}
.rpx-scope.proj{color:#6a4fb0;border-color:#a98fe066}
@media(prefers-color-scheme:dark){.rpx-scope.combined{color:#e0a94a}.rpx-scope.proj{color:#b39ae8}}
.rpx-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.rpx-num{font-size:41px;font-weight:800;letter-spacing:-.04em;line-height:.92;font-variant-numeric:tabular-nums}
.rpx-lab{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-top:9px}
.rpx-yr{opacity:.6}
.rpx-spark{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.rpx-sbars{display:flex;align-items:flex-end;gap:4px;height:40px}.rpx-sy{font-size:8px;color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rpx-snone{font-size:10.5px;color:var(--faint);font-style:italic;align-self:flex-end;padding-bottom:14px}.rpx-li{flex:1;min-width:0}.rpx-ll{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-top:3px}
.rpx-foot{margin-top:auto;padding-top:15px;display:flex;flex-direction:column;gap:9px}
.rpx-foot::before{content:"";height:1px;background:var(--line);margin-bottom:4px}
.rpx-acts{display:flex;align-items:center;gap:7px}
.rpx-act{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12px;font-weight:650;
  padding:6px 11px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--muted);
  cursor:pointer;text-decoration:none;white-space:nowrap;transition:border-color .14s,color .14s,background .14s}
.rpx-act:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line));color:var(--ink)}
.rpx-act span{font-size:11px;opacity:.85}
.rpx-act-go{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}
.rpx-act-go:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card))}
.rpx-act-cmp{margin-right:auto}.rpx-vsrc{font-size:10.5px;color:var(--faint);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpx-vsep{opacity:.6;margin:0 2px}
.rpx-vok{color:var(--pos);font-weight:800}

/* discovered shows in Atlas + profile "names on site" */
.at-disc{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#e8590c;background:#e8590c1a;padding:1px 6px;border-radius:6px;vertical-align:middle;margin-left:4px}
.atcard.discovered{border-style:dashed}
.pv-ment{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px}
.pv-ment-k{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#e8590c}
.pv-ment-s{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;cursor:pointer;background:#e8590c14;color:#e8590c;border:1px solid #e8590c40;text-decoration:none}
.pv-ment-s:hover{background:#e8590c;color:#fff}

/* ===== Reports: Market-Match + audience ===== */
.rpx-mp{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:22px 0 0;padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow);position:relative;overflow:hidden}
.rpx-mp::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#4263eb,#0ca678,#f59f00)}
.rpx-mp-l{flex:1;min-width:0}
.rpx-mp-t{font-size:15px;font-weight:800;letter-spacing:-.01em}
.rpx-mp-s{font-size:12.5px;color:var(--muted);margin-top:3px}
.rpx-mp-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.rpx-rchip{border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-size:12px;font-weight:600;padding:6px 13px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.12s}
.rpx-rchip:hover{border-color:var(--rc);color:var(--ink)}
.rpx-rchip.on{background:var(--rc);border-color:var(--rc);color:#fff}
/* Recommendation module (premium insight) */
.rpx-mp3{margin:6px 0 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.rpx-mp3-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px 14px}
.rpx-mp3-ttl{font-size:15px;font-weight:800;letter-spacing:-.015em;color:var(--ink)}
.rpx-mp3-sub{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.rpx-mp3-badge{flex-shrink:0;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--faint);border:1px solid var(--line);border-radius:999px;padding:5px 11px;white-space:nowrap}
.rpx-mp3-badge.on{color:color-mix(in srgb,var(--gold) 74%,var(--ink));border-color:color-mix(in srgb,var(--gold) 50%,var(--line));background:color-mix(in srgb,var(--gold) 9%,var(--card))}
.rpx-mp3-best{display:flex;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 5%,var(--card)),var(--card))}
.rpx-fit-empty{font-size:12.5px;color:var(--muted);font-weight:500}
.rpx-fit-score{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:66px;height:60px;border-radius:12px;
  background:color-mix(in srgb,var(--gold) 14%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line))}
.rpx-fit-score b{font-size:24px;font-weight:800;letter-spacing:-.04em;color:color-mix(in srgb,var(--gold) 55%,var(--ink));font-variant-numeric:tabular-nums;line-height:1}
.rpx-fit-score span{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:3px}
.rpx-fit-main{flex:1;min-width:0}
.rpx-fit-lead{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--muted);font-weight:600;flex-wrap:wrap}
.rpx-fit-lead b{color:var(--ink);font-weight:800;font-size:15px}
.rpx-fit-fl{font-size:15px;line-height:1}
.rpx-fit-conf{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px;border:1px solid}
.rpx-fit-conf.hi{color:var(--pos);border-color:color-mix(in srgb,var(--pos) 40%,transparent);background:color-mix(in srgb,var(--pos) 8%,transparent)}
.rpx-fit-conf.mid{color:#1863ab;border-color:#1863ab55;background:#1863ab10}
.rpx-fit-conf.lo{color:var(--faint);border-color:var(--line)}
.rpx-fit-facts{font-size:12.5px;color:var(--muted);font-weight:500;margin-top:4px}
.rpx-fit-facts em{color:var(--faint);font-style:normal;margin:0 4px}.rpx-mp3-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 20px}
.rpx-mp3-pl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);flex:0 0 auto}
.rpx-mp3 .rpx-mp-chips{margin-top:0}
@media(max-width:720px){.rpx-mp3-best{flex-wrap:wrap}.rpx-fit-go{width:100%;justify-content:center}}.rpx-bn{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}@media(max-width:720px){.rpx-mp{flex-direction:column;align-items:stretch}.rpx-mp-best{text-align:left}}
.rpx-match{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:6px;white-space:nowrap;border:1px solid}
.rpx-match:empty{display:none}
.rpx-match.hi{color:#fff;background:#2f9e44;border-color:#2f9e44}
.rpx-match.mid{color:#1863ab;background:#1863ab14;border-color:#1863ab55}
.rpx-match.lo{color:var(--faint);background:transparent;border-color:var(--line)}
@media(prefers-color-scheme:dark){.rpx-match.mid{color:#74c0fc}}
.rpx-qual{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:15px;font-size:11.5px;color:var(--muted);font-weight:500}
.rpx-qual b{color:var(--ink);font-weight:700}
.rpx-qual em{color:var(--faint);font-style:normal;margin:0 3px}
.rpx-orig{margin-top:13px}
.rpx-ol{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:5px}
.rpx-oest{color:var(--faint);opacity:.75;font-weight:500;text-transform:none;letter-spacing:0}
.rpx-obar{display:flex;height:7px;border-radius:4px;overflow:hidden;background:var(--line)}
.rpx-obar i{display:block;min-width:2px}
.rpx-dim{opacity:.48;transition:opacity .2s}
.rpx-dim:hover{opacity:1}

.rpx-obar i{cursor:default}
.rpx-orig{cursor:default}
.rpxtip{position:fixed;z-index:9999;pointer-events:none;opacity:0;transition:opacity .1s;
  background:#12141a;color:#fff;border-radius:11px;padding:11px 13px;font-size:12px;line-height:1.3;
  box-shadow:0 12px 34px rgba(0,0,0,.34);min-width:158px}
.rpxtip-h{font-weight:800;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.rpxtip-h span{color:#8a90a0;font-weight:600;letter-spacing:0}
.rpxtip-r{display:flex;align-items:center;gap:9px;padding:3px 0}
.rpxtip-r i{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.rpxtip-r span{flex:1;color:#cfd3dc}
.rpxtip-r b{font-variant-numeric:tabular-nums;font-weight:800}

/* ===== Reports v2: bigger trend chart + delta + vis/exh ===== */
.rpx-hero{align-items:flex-start}
.rpx-dbig{text-align:right;flex-shrink:0;line-height:1.05}
.rpx-dbig .rpx-dv{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block;color:var(--faint)}
.rpx-dbig .rpx-dl{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);display:block;margin-top:2px}
.rpx-dbig.up .rpx-dv{color:#2f9e44}
.rpx-dbig.down .rpx-dv{color:#e03131}
.rpx-chart{margin-top:18px}
.rpx-bars{display:flex;align-items:flex-end;gap:7px;height:96px}
.rpx-bars.dense{gap:4px}
.rpx-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;cursor:default}
.rpx-bv{font-size:10.5px;font-weight:700;color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.rpx-bars.dense .rpx-bv{font-size:9px}
.rpx-bcol{height:66px;width:100%;display:flex;align-items:flex-end;justify-content:center}
.rpx-bcol i{display:block;width:66%;max-width:26px;border-radius:4px 4px 1px 1px;
  background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 45%,transparent));opacity:.32;transition:opacity .12s,transform .12s;transform-origin:bottom}
.rpx-bars.dense .rpx-bcol i{max-width:18px}
.rpx-bar.est .rpx-bcol i{opacity:.16}
.rpx-bar.last .rpx-bcol i{opacity:1}
.rpx-bar.last .rpx-bv{color:var(--ink);font-weight:800}
.rpx-bar:hover .rpx-bcol i{opacity:.85;transform:scaleY(1.02)}
.rpx-bar.last:hover .rpx-bcol i{opacity:1}
.rpx-bar:hover .rpx-bv{color:var(--ink)}
.rpx-by{font-size:9px;color:var(--faint);font-variant-numeric:tabular-nums}
.rpx-cnone{font-size:12px;color:var(--faint);font-style:italic;text-align:center;padding:34px 0}.rpx-ll{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Reports/Scale: adjacent + stats-only tags, figures-not-published strip */
.rpx-scope.adjacent{background:#f0930018;color:#e8730c}
.rpx-scope.reg{background:var(--line);color:var(--muted)}
.rpx-nostat{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
.rpx-nostat-h{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:10px}
.rpx-nostat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.rpx-ns{display:flex;align-items:baseline;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none;color:var(--ink)}
.rpx-ns:hover{border-color:var(--accent)}
.rpx-ns-fl{font-size:15px}
.rpx-ns-b{font-weight:800;font-size:13px;white-space:nowrap}
.rpx-ns-n{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* metric tooltips (explain each metric on hover) */
[data-tip]{position:relative}
[data-tip]:hover::after{content:attr(data-tip);position:absolute;top:calc(100% + 9px);right:0;
  background:var(--ink);color:var(--bg);padding:9px 12px;border-radius:9px;
  font-size:11.5px;font-weight:600;line-height:1.45;width:max-content;max-width:250px;
  white-space:normal;text-align:left;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.24);pointer-events:none}
[data-tip]:hover::before{content:'';position:absolute;top:calc(100% + 4px);right:14px;
  border:5px solid transparent;border-bottom-color:var(--ink);z-index:60}

/* STICKY metric filter bar + ledger wrap fix */
.rpx-tools{position:sticky;top:60px;z-index:15;background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:saturate(1.5) blur(10px);-webkit-backdrop-filter:saturate(1.5) blur(10px);
  margin:22px 0 14px;padding:11px 2px;border-bottom:1px solid transparent;max-width:100%;overflow:visible}
.rpx-tools.stuck{border-bottom-color:var(--line)}
.rpx-seg{flex-wrap:wrap;justify-content:flex-end;flex-shrink:1}
/* ledger: wrap to rows instead of mashing when many metrics are shown */
.rpx-ledger{flex-wrap:wrap;gap:13px 10px}
.rpx-li{flex:1 1 27%;min-width:66px}

/* Demand Coverage: tabs, confidence dots, estimate flag */
.cv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:22px 0 4px}
.cv-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:9px 16px;
  font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;transition:color .12s,border-color .12s}
.cv-tab:hover{color:var(--ink)}
.cv-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.cv-panel.hide{display:none}
.cv-cdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px;cursor:help}
.cv-conflegend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;color:var(--muted);
  margin:2px 0 12px;font-weight:600}
.cv-est{font-size:10px;font-weight:800;color:#b45309;background:#fef3c7;border:1px solid #f59f0055;
  border-radius:5px;padding:1px 5px;margin-left:6px;vertical-align:1px;cursor:help}
@media (prefers-color-scheme:dark){.cv-est{color:#fcd34d;background:#78350f55;border-color:#f59f0033}}

/* Demand Coverage table: center-align every cell */
.cv th, .cv td{ text-align:center !important; vertical-align:middle; }
.cv .cv-rg{ text-align:center; }
.cv-cut td{ text-align:center !important; }

/* Scale: year scrubber + momentum + riser/faller */
.scl-scrub{display:flex;align-items:center;gap:14px;margin:20px 0 4px;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.scl-scrub.off{opacity:.5}
.scl-slab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
.scl-scrub input[type=range]{flex:1;height:5px;-webkit-appearance:none;appearance:none;background:var(--line);border-radius:3px;outline:none;cursor:pointer}
.scl-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25);border:3px solid var(--card)}
.scl-scrub input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--card)}
.scl-scrub input[type=range]:disabled{cursor:not-allowed}
.scl-syear{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:66px;text-align:right}
.scl-latest{border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-size:12px;font-weight:700;padding:6px 12px;border-radius:9px;cursor:pointer;font-family:inherit;white-space:nowrap}
.scl-latest:hover{border-color:var(--accent);color:var(--accent)}
.scl-riser{display:flex;gap:12px;margin:12px 0 6px;flex-wrap:wrap}
.scl-rz{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 15px;font-size:13.5px}
.scl-rzl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);white-space:nowrap}
.scl-rzv{font-weight:800;font-variant-numeric:tabular-nums}
.scl-rzv.up{color:#2f9e44}.scl-rzv.down{color:#e03131}
.scl-rz em{margin-left:auto;color:var(--faint);font-style:normal;font-size:11px;font-variant-numeric:tabular-nums}
.scl-mo{font-size:10.5px;font-weight:800;font-variant-numeric:tabular-nums;margin-left:7px;padding:1px 5px;border-radius:5px}
.scl-mo.up{color:#2f9e44;background:#2f9e4414}.scl-mo.down{color:#e03131;background:#e0313114}
.scl-mo:not(.up):not(.down){color:var(--faint)}

/* Trends: industry momentum leaderboard */
.tm-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.tm-cols{grid-template-columns:1fr}}
.tm-col{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow)}
.tm-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:10px 12px 8px}
.tm-h.up{color:#2f9e44}.tm-h.down{color:#e03131}
.tm-row{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:10px;text-decoration:none;color:inherit;cursor:pointer;transition:background .1s}
.tm-row:hover{background:color-mix(in srgb,var(--line) 45%,transparent)}
.tm-flag{font-size:18px;flex-shrink:0}
.tm-nm{flex:1;min-width:0;font-weight:700;font-size:13.5px;overflow:hidden}
.tm-nm .tm-yr{display:block;font-weight:500;font-size:10.5px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-spark{display:flex;align-items:flex-end;gap:2px;height:26px;width:84px;flex-shrink:0}
.tm-spark i{flex:1;border-radius:1px;min-height:2px;opacity:.55}
.tm-row:hover .tm-spark i{opacity:.9}
.tm-pct{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;min-width:52px;text-align:right;flex-shrink:0}
.tm-pct.up{color:#2f9e44}.tm-pct.down{color:#e03131}

/* Trends: overlay-compare chart */
.ov-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.ov-chip{border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.12s}
.ov-chip:hover{border-color:var(--c);color:var(--ink)}
.ov-chip.on{background:var(--c);border-color:var(--c);color:#fff}
.ov-chart{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px 12px;box-shadow:var(--shadow)}
.ov-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px}
.ov-leg{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700}
.ov-leg i{width:14px;height:3px;border-radius:2px}
.ov-svg{width:100%;height:auto;display:block;overflow:visible}
.ov-grid{stroke:var(--line);stroke-width:1}
.ov-ytick{fill:var(--faint);font-size:10px;text-anchor:end;font-variant-numeric:tabular-nums}
.ov-xtick{fill:var(--faint);font-size:10px;text-anchor:middle;font-variant-numeric:tabular-nums}

/* Reports: "Cost to exhibit" block on each card */
.rpx-booth{margin-top:10px;padding:8px 11px;border-radius:9px;background:color-mix(in srgb,#0ca678 8%,var(--card));
  border:1px solid color-mix(in srgb,#0ca678 22%,transparent);font-size:12px;line-height:1.5;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}
.rpx-booth.quote{background:var(--bg);border-color:var(--line);color:var(--muted)}
.rpx-booth-k{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-right:3px}
.rpx-booth b{font-weight:800;color:var(--ink)}
.rpx-booth-native,.rpx-booth-x{color:var(--muted)}
.rpx-booth-l{margin-left:auto;font-weight:700;color:var(--accent);white-space:nowrap;text-decoration:none}
.rpx-booth-l:hover{text-decoration:underline}

/* ===================== GLOBAL CONSISTENCY PASS ===================== */
/* Unify every page's chrome to the Reports caliber — CSS only, no JS. */
/* refined page masthead */
.showhead{padding:30px 0 8px}
.showhead .row{align-items:center}
.showhead .flag{font-size:30px;filter:saturate(.82)}
.showhead h1{font-size:clamp(26px,3.4vw,37px);font-weight:800;letter-spacing:-.035em;margin:0 0 7px;line-height:1.02}
.showhead .meta{font-weight:500;font-size:14.5px;line-height:1.5;color:var(--muted)}
.showhead .meta b{font-weight:700;color:var(--ink)}
/* tabular numerals on data figures everywhere */
.akpi .n,.stat .n,.conc-n,.dcov-n .b,.scl-val,.tm-pct,.dm-d,.dseg-n,.showcard .stat .n{font-variant-numeric:tabular-nums}
/* KPI cards: crisper, tighter */
.akpi{border-radius:16px;padding:18px 20px}
.akpi .n{font-size:27px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.akpi .l{font-size:10.5px;letter-spacing:.055em;margin-top:4px}
/* section headers */
.pv-section h3{font-size:16px;font-weight:800;letter-spacing:-.015em}
.cv-sub{font-weight:500;color:var(--faint);font-size:12.5px}
/* pill chips: crisper active state */
.chip{border-radius:999px;transition:border-color .12s,background .12s,color .12s}
/* show-card grid on Home: subtler, premium */
.showcard{border-radius:16px;transition:transform .14s,box-shadow .14s,border-color .14s}
.showcard:hover{transform:translateY(-3px)}
.showcard h2{letter-spacing:-.02em}
.showcard .stat .n{font-weight:800;letter-spacing:-.02em}

/* Home: Market-Match front-door band */
.home-match{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:4px 0 24px;padding:22px 26px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow);position:relative;overflow:hidden}
.home-match::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#4263eb,#0ca678,#f59f00)}
.hm-l{min-width:0}
.hm-k{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.hm-t{font-size:23px;font-weight:800;letter-spacing:-.025em;margin-top:5px}
.hm-s{font-size:13.5px;color:var(--muted);margin-top:5px;max-width:460px;line-height:1.5}
.hm-chips{display:flex;flex-wrap:wrap;gap:8px}
.hm-chip{border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-size:13px;font-weight:700;padding:9px 15px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.12s}
.hm-chip:hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}

/* nav item subtitles (jobs-to-be-done reframe) */
.nv-lbl{display:flex;flex-direction:column;gap:1px;min-width:0}
.nv-item.has-sub{padding-top:8px;padding-bottom:8px}
.nv-sub{font-size:10.5px;font-weight:500;color:var(--faint);white-space:normal;line-height:1.22;letter-spacing:0}
.nv-item:hover .nv-sub{color:var(--muted)}
.nv-item.active .nv-sub{color:color-mix(in srgb,var(--accent) 65%,var(--faint))}

/* booth cost: estimate styling (amber, distinct from official green) */
.rpx-booth.est{background:color-mix(in srgb,#f59f00 9%,var(--card));border-color:color-mix(in srgb,#f59f00 30%,transparent)}

/* ===================== MOBILE RESPONSIVENESS PASS ===================== */
/* let flex/grid children shrink below content (fixes horizontal overflow) */
.gsearch{min-width:0}
.gsearch input{min-width:0;width:100%}
.hk{min-width:0}
.hk .l{white-space:normal;line-height:1.3}
.home-match .hm-l{min-width:0}
.dseg,.dseg-row,.dash-main,.dash-rail{min-width:0}
.akpi{min-width:0}
@media(max-width:600px){
  .wrap,.wrap.wide{padding:0 14px}
  .app-body .topbar{padding:0 14px;gap:10px}
  .crumb{display:none}
  .home-match{padding:18px 18px 18px 20px;gap:14px}
  .hm-t{font-size:20px}
  .home-hero h1,.showhead h1{font-size:25px}
  .rpx-mast h1{font-size:26px}
  .watchlink{padding:7px 10px}
}

/* show page: reported-visitor history chart */
.ss-hist{margin:20px 0}
.ss-hist-h{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:12px}
.ss-hist-h span{color:var(--faint);font-weight:600;font-variant-numeric:tabular-nums;margin-left:4px}
.ss-hist .tr-chart{max-width:760px}
.tr-bar.est .tr-fill{opacity:.4}

/* ============ Reports redesign: insights · views · families · table · map ============ */
.rpx-view.hide{display:none}

/* insight strip */
.rpx-insights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
@media(max-width:920px){.rpx-insights{grid-template-columns:repeat(2,1fr)}}
.rpx-in{display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 14px}
.rpx-in-ic{font-size:22px;line-height:1}
.rpx-in-l{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.rpx-in-v{font-size:13px;font-weight:600;color:var(--muted);margin-top:2px}
.rpx-in-v b{color:var(--ink);font-weight:800}

/* view toggle */
.rpx-views{display:inline-flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:4px;margin:0 0 14px}
/* mobile: view-tab bar scrolls inside itself; page body never pans sideways (audit 2026-07-11) */
@media(max-width:700px){
  .rpx-views{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .rpx-views::-webkit-scrollbar{display:none}
  html,body{overflow-x:clip}
}
.rpx-views button{border:none;background:none;padding:8px 16px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer}
.rpx-views button:hover{color:var(--ink)}
.rpx-views button.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}

/* champion chips on cards */
.rpx-champs{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 -2px}
.rpx-champ{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}

/* grouped metric families (replaces flat ledger) */
.rpx-fams{display:flex;flex-direction:column;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.rpx-fam{display:flex;gap:9px;align-items:baseline}
.rpx-fam-k{flex:0 0 54px;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding-top:1px}
.rpx-fam-v{display:flex;flex-wrap:wrap;gap:3px 12px}
.rpx-mi{font-size:12px;color:var(--muted);white-space:nowrap}
.rpx-mi b{color:var(--ink);font-weight:800}

/* compare table (heatmap) */
.rpx-tblwrap{border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
@media(max-width:1040px){.rpx-tblwrap{overflow-x:auto}}
.rpx-tbl{border-collapse:collapse;width:100%;font-size:12.5px;min-width:900px}
.rpx-tbl thead th{position:sticky;top:var(--rpx-thead-top,117px);background:var(--card);z-index:3;box-shadow:0 2px 0 -1px var(--line)}
.tsh{padding:11px 10px 9px;text-align:right;font-size:10.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid var(--line)}
.tsh.nm{text-align:left}
.tsh:hover{color:var(--ink)}
.tsh.on{color:var(--accent)}
.rpx-tbl tbody tr{border-bottom:1px solid var(--line);cursor:pointer}
.rpx-tbl tbody tr:hover{background:var(--bg)}
.tnm{padding:9px 10px;font-size:13px;white-space:nowrap;text-align:left}
.tnm b{font-weight:700}
.tc{padding:8px 10px 10px;text-align:right;position:relative;min-width:76px}
.tcv{font-weight:700;font-variant-numeric:tabular-nums}
.tcb{position:absolute;right:8px;bottom:3px;height:3px;border-radius:2px;opacity:.7}
.tna{padding:8px 10px;text-align:right;color:var(--faint)}

/* value map (scatter) */
.rpx-mapctl{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:6px 0 14px;font-size:12.5px}
.rpx-mapctl label{font-weight:700;color:var(--ink)}
.rpx-mapctl select{margin-left:6px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:600}
.rpx-maplg{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-size:11.5px}
.rpx-maplg i{width:10px;height:10px;border-radius:50%;display:inline-block;margin:0 3px 0 8px}
.rpx-mapwrap{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px}
.rpx-map{width:100%;height:auto;display:block}
.mp-ax{stroke:var(--line);stroke-width:1.5}
.mp-axl{fill:var(--muted);font-size:12px;font-weight:800}
.mp-lbl{fill:var(--muted);font-size:10px;font-weight:700}
.mp-pt{cursor:pointer}
.mp-pt:hover circle{fill-opacity:.72}

/* ---------- wordmark logo (heavy, type-only) ---------- */
.side-brand{gap:0;padding:14px 10px 18px;align-items:center}
/* show logos (real brand marks; flag emoji fallback) */
.slogo{display:inline-flex;align-items:center;justify-content:center;height:27px;min-width:27px;max-width:120px;
  padding:3px 7px;border-radius:7px;background:#fff;border:1px solid var(--line);overflow:hidden;vertical-align:middle;flex:0 0 auto}
.slogo img{height:19px;width:auto;max-width:106px;object-fit:contain;display:block}
.slogo.dk{background:#191b22;border-color:#34363f}
.slogo.big{height:54px;max-width:230px;padding:8px 13px;border-radius:13px}
.slogo.big img{height:36px;max-width:200px}
.sflag{display:inline-flex;align-items:center;line-height:1}
.tnm .slogo{height:22px;min-width:22px;padding:2px 5px}
.tnm .slogo img{height:15px}
.scl-name .slogo{height:22px;min-width:22px;padding:2px 5px;margin-right:2px}
.scl-name .slogo img{height:15px}

/* transparent logos: sit bare (no chip); only white logos get a dark chip */
.slogo{background:none;border:none;padding:0;height:24px;min-width:0;max-width:132px;border-radius:0}
.slogo img{height:22px;max-width:130px}
.slogo.dk{background:#191b22;border:1px solid #34363f;padding:4px 8px;border-radius:8px;height:30px}
.slogo.dk img{height:20px}
.slogo.big{height:auto;max-width:240px}
.slogo.big img{height:42px;max-width:220px}
.slogo.dk.big{padding:8px 13px}
.tnm .slogo,.scl-name .slogo{height:18px}
.tnm .slogo img,.scl-name .slogo img{height:17px;max-width:96px}

/* ---------- company Contact block ---------- */
.pv-contact .ct-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ct-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);
  border-radius:10px;background:var(--card);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none;
  transition:border-color .12s,background .12s,transform .06s}
.ct-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card));transform:translateY(-1px)}
.ct-ic{font-size:15px;opacity:.75}
.ct-socs{display:inline-flex;gap:7px}
.ct-soc{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:14px;
  text-decoration:none;color:#fff;background:#5b6572;transition:transform .06s,filter .12s}
.ct-soc:hover{transform:translateY(-1px);filter:brightness(1.08)}
.ct-linkedin{background:#0a66c2}.ct-facebook{background:#1877f2}.ct-instagram{background:#d6249f}
.ct-twitter{background:#111}.ct-youtube{background:#f00}
.ct-more{margin-top:9px;font-size:12.5px;color:var(--muted)}
.ct-more a{color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--line)}
.ct-more a:hover{color:var(--accent)}

/* company page: estimated booth spend */
.sp-total{display:flex;align-items:baseline;gap:14px;margin:4px 0 14px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--card)}
.sp-tn{font-size:30px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent)}
.sp-tl{font-size:11.5px;color:var(--muted);font-weight:600;line-height:1.4}
.sp-list{display:flex;flex-direction:column;gap:6px}
.sp-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--sc);border-radius:10px;background:var(--card)}
.sp-fl{font-size:18px;flex-shrink:0}
.sp-nm{flex:1;min-width:0;font-weight:700;font-size:14px;display:flex;flex-direction:column;gap:1px}
.sp-booth{font-size:11px;font-weight:500;color:var(--faint)}
.sp-sz{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap}
.sp-sz em{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-style:normal}
.sp-est{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;min-width:66px;text-align:right}

.sp-row.sp-actual{border-left-width:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--sc) 7%,var(--card)),var(--card) 40%)}
.sp-row.sp-actual .sp-sz em{color:#2f9e44}
.sp-row.sp-profile .sp-sz em{color:#e08a1e;font-weight:800}
.sp-row.sp-profile .sp-booth{opacity:.85}

/* ============================================================
   INTELLIGENCE PLATFORM THEME  ·  deep-navy desk
   Navy chrome (sidebar + top bar) framing crisp light data panels.
   Blue + muted-gold accents; green/red reserved for up/down data.
   Appended last so it overrides the legacy (red) palette.
   ============================================================ */
:root,
:root[data-theme="light"],
:root[data-theme="dark"]{
  --ink:#0e1c2b; --muted:#54667a; --faint:#8698ab; --line:#e2e7ef; --bg:#edf0f4; --card:#ffffff;
  --accent:#1e56d6; --accent-2:#2f6bf0;
  --navy:#0b1d33; --navy-2:#102a46; --navy-line:#213c5d; --navy-ink:#b9c8d8; --navy-ink-2:#8295aa;
  --gold:#caa94e; --gold-2:#dcc177; --pos:#128457; --neg:#c23a2e;
  --shadow:0 1px 2px rgba(13,30,50,.05),0 8px 26px rgba(13,30,50,.07);
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#0e1c2b; --muted:#54667a; --faint:#8698ab; --line:#e2e7ef; --bg:#edf0f4; --card:#ffffff;
    --accent:#1e56d6; --accent-2:#2f6bf0;
    --shadow:0 1px 2px rgba(13,30,50,.05),0 8px 26px rgba(13,30,50,.07);
  }
}
body{letter-spacing:-.008em}
h1,h2,h3{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.028em}
/* tabular figures everywhere numbers matter */
.cv-kpi .n,.cvr-v,.cv td,.cv th,.kpi .n,table td,table th,.stat,.big,.num{font-variant-numeric:tabular-nums}

/* ---- navy chrome: sidebar ---- */
.sidebar{background:var(--navy);border-right:1px solid var(--navy-line);
  box-shadow:1px 0 0 rgba(0,0,0,.15)}.nv-head{color:var(--navy-ink-2);opacity:.85}
.nv-item{color:var(--navy-ink);font-weight:600}
.nv-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nv-item.active{background:rgba(255,255,255,.08);color:#fff;font-weight:700;
  box-shadow:inset 2px 0 0 var(--gold)}
.nv-item.active .nv-ic{opacity:1}
.side-foot{color:var(--navy-ink-2);opacity:.7;border-top:1px solid var(--navy-line);margin-top:auto}

/* ---- navy chrome: top bar ---- */
.app-body .topbar{background:var(--navy);border-bottom:1px solid var(--navy-line);
  backdrop-filter:none}
.app-body .crumb,.crumb{color:var(--navy-ink)}
.crumb b{color:#fff}
.crumb a{color:var(--gold-2);text-decoration:none}
.crumb a:hover{color:#fff}
.navtoggle{color:var(--navy-ink)}
/* search on navy */
#globalsearch{background:var(--navy-2);border:1px solid var(--navy-line);color:#eaf1f8}
#globalsearch::placeholder{color:var(--navy-ink-2)}
#globalsearch:focus{border-color:var(--gold);background:#0d2340}
.gsearch .gs-ic{color:var(--navy-ink-2)}
/* watchlist pill on navy */
.watchlink{background:var(--navy-2);border:1px solid var(--navy-line);color:var(--navy-ink)}
.watchlink:hover{border-color:var(--gold);color:#fff}
.watchlink.has{color:#fff;border-color:var(--gold);background:rgba(202,169,78,.16)}
.watchlink span{background:var(--navy-line);color:#eaf1f8}
.watchlink.has span{background:var(--gold);color:#241c05}

/* ---- premium data panels ---- */
.pv-section h3,.cv-panel h3{font-family:'Inter',sans-serif}
/* KPI tiles */
.cv-kpi{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}
.cv-kpi .n{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.03em}
.cv-kpi .l{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}
.cv-kpi.hl{background:linear-gradient(150deg,#0b1d33,#12345c);border:none;color:#fff}
.cv-kpi.hl .n{color:#fff}
.cv-kpi.hl .l{color:var(--gold-2)}
/* demand bars → navy→blue, gold rail */
.cvr-fill{background:linear-gradient(90deg,#0b1d33,#2f6bf0)}
.cvr-fill.new{background:linear-gradient(90deg,#8a6d1e,var(--gold))}
.cvr-v{font-family:'Inter',sans-serif;font-weight:800}
.cvr-v span{color:var(--muted);font-weight:600}
.cvr-new{background:rgba(202,169,78,.16);color:var(--gold-2)}
/* tables: hairline institutional */
.cv thead th,table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}
.cv tbody tr{border-top:1px solid var(--line)}
.cv-cum{color:var(--muted)}

/* buttons / stars / tracking → blue+gold, no red */
.btn-brand{background:var(--accent)}.star:hover,.star.on{color:var(--gold-2)}

/* companies index: est. spend column */
.h-spend,.c-spend{text-align:right;white-space:nowrap;min-width:74px;padding-right:18px;padding-left:6px}
.c-spn{font-weight:700;font-variant-numeric:tabular-nums;font-size:13.5px;color:var(--muted)}
.c-spn.real{color:#2f9e44}

/* logos on the company profile: show cards, absent chips, booth-spend rows */
.pv-flag .slogo{height:30px;max-width:82px}
.pv-flag .slogo img{height:26px;max-width:78px}
.pv-flag .slogo.dk{height:34px;padding:4px 8px}
.pv-absent .chip .slogo{height:15px;min-width:0;margin-right:3px;vertical-align:middle}
.pv-absent .chip .slogo img{height:14px;max-width:46px}
.pv-absent .chip .slogo.dk{padding:2px 4px;height:17px}
.sp-fl .slogo{height:20px;max-width:60px}
.sp-fl .slogo img{height:18px;max-width:56px}
.sp-fl .slogo.dk{height:22px;padding:3px 5px}

/* de-red the last accents: intl-reach badges + cross-show banner */
.reach.r2{background:rgba(30,86,214,.12);color:var(--accent)}
.reach.r3{background:rgba(11,29,51,.10);color:var(--navy)}
.reach.r4{background:var(--gold);color:#241c05}
.xbanner{background:linear-gradient(120deg,#0b1d33,#16406e)!important;box-shadow:0 10px 30px rgba(11,29,51,.28)!important}.star:hover,.star.on{color:var(--gold-2)}
.watchlink:hover,.watchlink.has{border-color:var(--gold)}
.empty-reset{border-color:var(--accent);background:var(--accent)}
.cvr-major{color:var(--gold-2);background:rgba(202,169,78,.14);border-color:rgba(202,169,78,.4)}

/* ===== Reports hero: champion leaderboard (hits with a bang) ===== */
.rpt-hero{padding:4px 0 18px}.rpt-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);letter-spacing:-.03em;line-height:1.04;font-weight:800;margin:14px 0 12px}
.rpx-hsub{color:var(--muted);font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.5;max-width:62ch;margin:0}
.rpx-champs-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:980px){.rpx-champs-hero{grid-template-columns:repeat(2,1fr)}}
.rch{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 22px 20px;box-shadow:var(--shadow);overflow:hidden}
.rch::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent)}
.rch-k{font-size:.73rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}
.rch-show{display:flex;align-items:center;gap:9px;margin:15px 0 14px;font-weight:750;font-size:1rem;min-height:26px}
.rch-show .slogo{height:22px;max-width:100px}
.rch-show .slogo img{height:20px;max-width:96px}
.rch-show .slogo.dk{height:26px;padding:3px 6px}
.rch-show b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rch-v{font-size:2.5rem;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.rch-u{font-size:.78rem;color:var(--muted);margin-top:9px;line-height:1.3}

/* collapsed Market-Match */
.rpx-mp2{margin:8px 0 6px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow-sm,none)}
/* ---------- Company Index: click-to-sort headers ---------- */
.cidx th.sortable{cursor:pointer;user-select:none;transition:color .12s}
.cidx th.sortable:hover{color:var(--ink)}
.cidx th.sortable .sarrow{margin-left:5px;font-size:9px;vertical-align:1px;color:var(--accent);opacity:0;transition:opacity .12s}
.cidx th.sortable:not(.sorted):hover .sarrow{opacity:.4}
.cidx th.sortable:not(.sorted):hover .sarrow::after{content:'▼'}
.cidx th.sorted{color:var(--ink)}
.cidx th.sorted .sarrow{opacity:1}
.cidx th.sorted.asc .sarrow::after{content:'▲'}
.cidx th.sorted.desc .sarrow::after{content:'▼'}

/* ---------- Reports hero KPI tiles: institutional restraint ---------- */
.rch{border-radius:14px}
.rch::before{height:3px;background:var(--navy)}
.rch-k{color:var(--muted);letter-spacing:.05em;font-size:.7rem}
.rch-show b{color:var(--ink)}
.rch-v{font-family:'Inter',-apple-system,sans-serif;color:var(--ink);font-weight:800;letter-spacing:-.04em}
.rch-u{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700;margin-top:7px}

/* Reports match cards: drop the loud per-show brand top bar for a restrained navy hairline */
.rpx-key{background:var(--navy);opacity:.14;height:2px}

/* ===== REPORTS TOP TIGHTEN — cleaner up top, more functional ===== */
.rpt-hero{padding:2px 0 16px}.rpt-hero h1{font-size:clamp(1.7rem,3vw,2.45rem);margin:7px 0 8px;letter-spacing:-.035em;line-height:1.05}
.rpx-hsub{font-size:clamp(.95rem,1.25vw,1.05rem);line-height:1.5;margin:0 0 18px;max-width:60ch}
/* compact hero KPI cards */
.rpx-champs-hero{gap:12px;margin-bottom:2px}
.rch{padding:14px 16px 13px;border-radius:14px}
.rch-k{font-size:.65rem;letter-spacing:.04em}
.rch-show{margin:8px 0 7px;font-size:.9rem;min-height:20px}
.rch-show .slogo{height:17px;max-width:80px}
.rch-show .slogo img{height:16px;max-width:78px}
.rch-show .slogo.dk{height:22px;padding:2px 5px}
.rch-v{font-size:1.9rem}
.rch-u{font-size:.68rem;margin-top:5px}
/* tighter control stack: view tabs + rank-by + match */
.rpx-views{margin:14px 0 12px;padding:3px}
.rpx-views button{padding:7px 13px;font-size:12.5px}
.rpx-tools{margin:14px 0 12px}
/* Reports header — even, breathable spacing */
.rpt-hero{padding:10px 0 18px}
.rpt-hero .back{display:inline-block;margin-bottom:14px}.rpt-hero h1{display:block;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1.1;margin:0 0 12px;font-weight:800}
.rpx-hsub{display:block;margin:0;max-width:64ch;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.5}
.rpx-views{margin:20px 0 4px}
.rpx-tools{margin:12px 0 14px}
.rpx-champs-hero{margin-top:10px}

.rpx-card.rpx-clickable{cursor:pointer}
.rpx-card.rpx-clickable:hover{border-color:color-mix(in srgb,var(--sc) 55%,var(--line))}

/* ===== Show page: interactive overview (verdict · signals · fit · drill-downs) ===== */
.sh-verdict{display:flex;align-items:center;gap:12px;font-size:1.08rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:2px 0 20px;line-height:1.45}
.sh-scope{flex:0 0 auto;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.sh-scope.adjacent{background:#f0930018;color:#c9700a}
.sh-scope.combined{background:var(--line);color:var(--muted)}
.sh-signals{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px}
@media(max-width:900px){.sh-signals{grid-template-columns:repeat(3,1fr)}}
.sh-sig{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.sh-sig-n{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.sh-sig-n span{font-size:.82rem;font-weight:600;color:var(--muted);margin-left:1px}
.sh-sig.up .sh-sig-n{color:var(--pos,#128457)}.sh-sig.down .sh-sig-n{color:var(--neg,#c23a2e)}
.sh-sig-l{font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);margin-top:9px}

.sh-fit{background:linear-gradient(158deg,color-mix(in srgb,var(--accent) 7%,var(--card)),var(--card) 62%);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);margin-bottom:24px}
.sh-fit-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.sh-fit-t{font-size:1.08rem;font-weight:750;letter-spacing:-.01em}
.sh-fit-s{font-size:.85rem;color:var(--muted)}
.sh-fit-controls{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 4px;font-size:.92rem;font-weight:600;color:var(--muted)}
.sh-fit-controls select{margin-left:6px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:.9rem;font-weight:600;cursor:pointer}
.sh-fit-result{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:16px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--accent) 16%,var(--line))}.fit-v{font-size:1.18rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.fit-v span{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-top:3px;letter-spacing:0}
.fit-reasons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1 1 260px}
.fit-reasons li{font-size:.9rem;color:var(--muted);line-height:1.4;padding-left:24px;position:relative}
.fit-reasons li b{color:var(--ink);font-weight:700}
.fit-reasons li::before{position:absolute;left:0;top:0}
.fit-reasons li{padding-left:14px;position:relative}.fit-reasons li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--gold,#caa94e)}
.dblock-hint{font-size:.72rem;font-weight:600;color:var(--faint);text-transform:none;letter-spacing:0;margin-left:8px}
/* ---------- Reports: minimal / clean pass ---------- */
/* colour restored: per-show accent on the spark bars */
.rpx-bcol i{background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 10%,transparent))}
.rpx-bar.last .rpx-bcol i{background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 38%,transparent))}
/* booth-cost box: soft value-green (estimates in gold) */
.rpx-booth{background:color-mix(in srgb,#0f9d58 9%,var(--card));border-color:color-mix(in srgb,#0f9d58 26%,transparent)}
.rpx-booth.est{background:color-mix(in srgb,var(--gold,#caa94e) 13%,var(--card));border-color:color-mix(in srgb,var(--gold,#caa94e) 34%,transparent)}
/* scope badges: a little colour back */
.rpx-scope.glass{background:color-mix(in srgb,#0f9d58 14%,transparent);color:#0b7a44;border-color:transparent}
.rpx-scope.adjacent{background:color-mix(in srgb,var(--gold,#caa94e) 18%,transparent);color:#8a6d16;border-color:transparent}
.rpx-scope.combined{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:transparent}
/* flatten card hover — subtle, not a big lift */
.rpx-card:hover{transform:none;border-color:color-mix(in srgb,var(--navy) 30%,var(--line));box-shadow:0 4px 16px rgba(13,30,50,.06)}

/* ===== Show page P2: exhibitor wall + sticky action rail ===== */
.sh-wall{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px;margin-bottom:22px}
.sh-wall-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sh-wall-t{font-size:1rem;font-weight:750;letter-spacing:-.01em;margin:0}.sh-wall-count{font-size:.75rem;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}
.sh-wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:5px;max-height:326px;overflow-y:auto;padding-right:4px}.sh-ex-fl{font-size:15px;flex:0 0 auto}
.sh-ex-nm{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.sh-ex-cat{font-size:.66rem;font-weight:700;flex:0 0 auto;opacity:.85;white-space:nowrap}
.sh-rail{position:sticky;bottom:14px;z-index:15;margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:saturate(1.5) blur(12px);
  border:1px solid var(--line);border-radius:16px;padding:12px 16px;box-shadow:0 10px 34px rgba(0,0,0,.16)}
.sh-rail-l{display:flex;align-items:center;gap:10px;font-weight:750;font-size:.95rem;min-width:0}
.sh-rail-l .slogo{height:22px;max-width:92px}
.sh-rail-l .slogo img{height:20px}
.sh-rail-meta{font-weight:500;color:var(--muted);font-size:.85rem}
.sh-rail-r{display:flex;flex-wrap:wrap;gap:8px}
.sh-rail-btn{padding:9px 15px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.86rem;font-weight:700;cursor:pointer;white-space:nowrap}
.sh-rail-btn:hover{border-color:var(--accent);color:var(--accent)}
.sh-rail-btn.on{color:var(--gold,#c9920a);border-color:color-mix(in srgb,var(--gold,#c9920a) 45%,transparent)}
.sh-rail-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.sh-rail-btn.primary:hover{filter:brightness(1.08);color:#fff}

/* ============================ EXHIBITOR MAP — REDESIGN ============================ */
.maplayout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
@media(max-width:900px){.maplayout{grid-template-columns:1fr}}
.mapcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
#mapsvg{display:block;width:100%;height:auto;cursor:grab;touch-action:none;background:
  radial-gradient(120% 90% at 50% -10%, color-mix(in srgb,var(--accent) 6%,transparent), transparent 60%),
  color-mix(in srgb,var(--accent) 6%,var(--card))}
#mapsvg.grabbing{cursor:grabbing}
#mz{transform-origin:0 0}
.cty{stroke:color-mix(in srgb,var(--ink) 22%,var(--card));stroke-width:.5;vector-effect:non-scaling-stroke;transition:fill .25s,filter .15s}
.cty.nodata{fill:color-mix(in srgb,var(--ink) 14%,var(--card));pointer-events:none}
.cty:not(.nodata){cursor:pointer}
.cty:not(.nodata):hover{filter:brightness(1.12) saturate(1.15)}
.cty.sel{stroke:var(--accent);stroke-width:1.4;filter:brightness(1.12) drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 60%,transparent))}
/* micro-nation dots */
.mdot{cursor:pointer}
.mdot-h{fill:currentColor;opacity:0}
.mdot .mdot-h{fill:color-mix(in srgb,var(--accent) 60%,transparent);transform-box:fill-box;transform-origin:center;animation:mzpulse 2.6s ease-out infinite;opacity:.4}
.mdot-c{stroke:var(--card);stroke-width:.8}
.mdot.sel .mdot-c{stroke:var(--accent);stroke-width:1.4}
/* show pins — glowing pulse */
.pin{cursor:default}
.pin-pulse{transform-box:fill-box;transform-origin:center;animation:mzpulse 2.4s ease-out infinite;opacity:.5}
.pin-d{stroke:#fff;stroke-width:1.1}
.pin-n{fill:#fff;font-size:6px;font-weight:800;text-anchor:middle;pointer-events:none}
@keyframes mzpulse{0%{transform:scale(.55);opacity:.6}70%{transform:scale(2.8);opacity:0}100%{transform:scale(2.8);opacity:0}}
/* flight-path arcs */
.mzarc{fill:none;stroke-linecap:round;opacity:.82;stroke-dasharray:5 9;animation:mzin .5s ease both,mzflow .9s linear infinite}
@keyframes mzin{from{opacity:0}to{opacity:.82}}
@keyframes mzflow{to{stroke-dashoffset:-14}}
.mzbeacon .mzb-pulse{transform-box:fill-box;transform-origin:center;animation:mzpulse 1.9s ease-out infinite;opacity:.6}
/* zoom controls + hints */
.mzctrl{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:5px;z-index:3}
.mzctrl button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(6px);color:var(--ink);font-size:16px;font-weight:700;line-height:1;cursor:pointer;box-shadow:var(--shadow);transition:.12s}
.mzctrl button:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}
.mzhint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);background:color-mix(in srgb,var(--card) 80%,transparent);backdrop-filter:blur(4px);padding:4px 12px;border-radius:999px;border:1px solid var(--line);transition:opacity .3s;pointer-events:none}
.mzhint.hide{opacity:0}
.mzpins{position:absolute;top:12px;left:12px;z-index:3;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:11px;padding:7px 11px;font-size:12.5px;box-shadow:var(--shadow)}.legend{position:absolute;left:12px;bottom:12px;z-index:2;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:11px;padding:8px 11px;box-shadow:var(--shadow)}
.legend .ll{font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}
.legend .scale{display:flex;gap:0;border-radius:4px;overflow:hidden;width:150px}
.legend .sw{flex:1;height:9px}
.legend .ticks{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
/* show chips */
#mapchips .mchip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:650;color:var(--ink);cursor:pointer;transition:.12s;white-space:nowrap}/* sidebar */
.ranklist{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:640px}
.ranklist .rlh{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px 8px}
.ranklist .rlh>span:first-child{font-weight:800;font-size:15px}
.ranklist .rlh .sub{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.rlsearch{padding:0 12px 8px}
.rlsearch input{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--ink)}
.rlsearch input:focus{outline:none;border-color:var(--accent)}
.ranklist .scrolly{overflow-y:auto;padding:2px 8px}
.rrow{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px 8px;border-radius:11px;cursor:pointer;transition:background .12s}
.rrow:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.rrow.sel{background:color-mix(in srgb,var(--accent) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}
.rrow .rk{font-size:11px;font-weight:700;color:var(--faint);text-align:center;font-variant-numeric:tabular-nums}
.rrow .nm{display:flex;align-items:center;gap:7px;font-size:13.5px;overflow:hidden}
.rrow .nm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rrow .nm .fl{font-size:15px}
.rrow .mtag{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);padding:1px 5px;border-radius:5px;flex:none}
.rrow .bar{height:4px;border-radius:3px;margin-top:5px;min-width:3px}
.rrow .ct{font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.rlmore{margin:4px 12px 10px;padding:8px;border:1px dashed var(--line);background:transparent;border-radius:10px;font-size:12px;font-weight:700;color:var(--accent);cursor:pointer;transition:.12s}
.rlmore:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-style:solid}
.rlempty{padding:22px 12px;text-align:center;color:var(--muted);font-size:13px}
/* selected-country breakdown */
.cdetail{position:relative;border-top:1px solid var(--line);padding:14px 16px 16px;background:color-mix(in srgb,var(--accent) 4%,var(--card))}
.cdetail.hide{display:none}
.cdetail h3{font-size:16px;margin:0 0 3px}
.cd-x{position:absolute;top:10px;right:12px;width:22px;height:22px;border:none;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:7px;color:var(--muted);font-size:15px;cursor:pointer;line-height:1}
.cd-x:hover{background:color-mix(in srgb,var(--ink) 16%,transparent);color:var(--ink)}
.cd-sub{font-size:11.5px;color:var(--muted);margin-bottom:9px}
.cd-b{display:grid;grid-template-columns:96px 1fr 28px;align-items:center;gap:8px;margin:4px 0;font-size:11.5px}
.cd-track{height:6px;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:4px;overflow:hidden}
.cd-fill{height:100%;border-radius:4px}
.cd-n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.cd-cats{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.cd-cats .cc{font-size:10.5px;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--muted)}
/* rich tooltip */
.maptip{position:fixed;z-index:9999;pointer-events:none;opacity:0;transition:opacity .12s;color:var(--ink);background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:13px;padding:11px 13px;box-shadow:0 16px 40px rgba(0,0,0,.28);min-width:190px;max-width:250px}
.mt-h{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;color:var(--ink)}
.mt-fl{font-size:19px}
.mt-tot{font-size:12px;color:var(--muted);margin-top:2px}
.mt-tot b{color:var(--ink);font-size:13px}
.mt-cap{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:9px 0 5px}
.mt-b{display:grid;grid-template-columns:1fr 46px 22px;align-items:center;gap:7px;margin:3px 0}
.mt-l{font-size:11px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.mt-tr{height:6px;background:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:4px;overflow:hidden}
.mt-tr i{display:block;height:100%;border-radius:4px}
.mt-n{font-size:11px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.mt-go{font-size:10px;color:var(--accent);font-weight:700;margin-top:8px;border-top:1px solid var(--line);padding-top:6px}

/* ---------- company: What-they-do classification block ---------- */
.pw-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px}
.pw-cat{font-size:12px;font-weight:800;color:#fff;background:var(--navy);padding:4px 12px;border-radius:999px}
.pw-cat2{font-size:11.5px;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--line);padding:3px 10px;border-radius:999px}
.pw-role{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8a6d1e;background:rgba(202,169,78,.16);padding:3px 8px;border-radius:6px}
.pw-lc{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);padding:2px 7px;border-radius:6px}
.pw-sum{margin:0 0 12px;font-size:14.5px;line-height:1.55;color:var(--ink);max-width:72ch}
.pw-caps{display:flex;flex-wrap:wrap;gap:6px}
.pw-cap{font-size:11.5px;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--line);padding:4px 10px;border-radius:7px}
.peer-cat{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Show Atlas: identity logo on each card */
.at-name{display:flex;align-items:flex-start;gap:9px}
.at-nm-t{min-width:0}
.at-extmark{margin-left:auto;flex:none;font-size:13px;font-weight:800;line-height:1;color:var(--faint);opacity:.75;transition:color .12s,opacity .12s}
.atcard.at-ext:hover .at-extmark{color:var(--accent);opacity:1}
.at-logo{flex:none;margin-top:1px;height:24px;display:inline-flex;align-items:center}
.at-logo .slogo{height:24px;max-width:66px;display:inline-flex;align-items:center}
.at-logo .slogo img{height:22px;max-width:62px;object-fit:contain}
.at-logo .slogo.dk{background:#0f1420;border-radius:5px;padding:2px 5px;height:24px}
.at-logo .slogo.dk img{height:18px}
.at-logo .sflag{font-size:21px;line-height:1}

/* ---------- Show Scale: compact top (metric pills + slim stat strip) ---------- */
.scl-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:2px 0 10px}
.scl-summary{font-size:14px;color:var(--muted)}
.scl-summary b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
.scl-sep{margin:0 8px;color:var(--faint)}
.scl-metricbar{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.scl-mlab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);flex:0 0 auto}
.scl-metricbar .chips{display:flex;flex-wrap:wrap;gap:7px}
.scl-metricbar .chip{padding:6px 13px;font-size:13px;font-weight:700;border:1px solid var(--line);background:var(--card);border-radius:999px;cursor:pointer;color:var(--muted)}
.scl-metricbar .chip:hover{border-color:var(--navy);color:var(--ink)}
.scl-metricbar .chip.active{background:var(--navy);border-color:var(--navy);color:#fff}

/* Show Scale: estimated-revenue marker */
.scl-tag.est{color:var(--faint);background:var(--bg);border-color:var(--line)}

/* Show Trends: Recent vs All-time toggle */
.tm-head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tm-toggle{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px}
.tm-tg{border:none;background:none;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:color .12s}
.tm-tg:hover{color:var(--ink)}
.tm-tg.active{background:var(--navy);color:#fff}

/* ---------- Tradeshow Monk brand logo (sits on the navy sidebar → light variant) ---------- */
.side-brand{flex-direction:column;gap:3px;align-items:center;padding:8px 10px 12px;cursor:pointer;transition:opacity .12s}
.side-brand:hover{opacity:.84}.side-brand .tm-word{font-family:'Poppins',system-ui,-apple-system,sans-serif;font-size:20.6px;line-height:1;letter-spacing:-.005em;display:flex;gap:.3em;align-items:baseline;white-space:nowrap}
.tm-word .tw-a{color:#e9f1fc;font-weight:600}
.tm-word .tw-b{color:#3b8bff;font-weight:700}
@media (max-width:900px){.side-brand{padding:14px 10px 16px}.side-brand .tm-mark{height:40px}}

/* ===== Reports intelligence layer: rank badge, Show Value Score, colour discipline ===== */
.rpx-card{position:relative}
.rpx-rank{position:absolute;top:0;left:0;z-index:2;font-size:11px;font-weight:800;letter-spacing:.02em;
  color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:12px 0 10px 0;padding:4px 10px}
.rpx-rank.top{color:#241c05;background:linear-gradient(135deg,#e7cd74,#c9a94a);border-color:transparent}
.rpx-card.rpx-top1{border-color:color-mix(in srgb,#caa94e 55%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,#caa94e 38%,transparent),0 8px 26px rgba(180,140,40,.10)}
.rpx-svs{display:flex;align-items:center;gap:11px;margin:4px 0 14px}
.rpx-svs-l{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);flex:0 0 auto}
.rpx-svs-track{flex:1;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.rpx-svs-track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#1e56d6,#5b93f2)}
.rpx-svs-n{font-weight:800;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex:0 0 auto}
.rpx-card.rpx-top1 .rpx-svs-track i{background:linear-gradient(90deg,#b8892b,#e7cd74)}
/* colour discipline — mute scope badges to one restrained system */
.rpx-scope,.rpx-scope.adjacent,.rpx-scope.combined{background:transparent!important;color:var(--faint)!important;border:1px solid var(--line)!important}
.rpx-scope.glass{color:var(--pos)!important;border-color:color-mix(in srgb,var(--pos) 38%,transparent)!important}
/* 3-bucket scope pills (2026-07-12): glass green, window/facade amber, construction blue */
.rpx-scope.window-facade{color:var(--gold,#a07d1c)!important;border-color:color-mix(in srgb,var(--gold,#a07d1c) 38%,transparent)!important}
.rpx-scope.construction{color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 34%,transparent)!important}
/* premium eyebrow trust line */
.rpx-eb-dot{color:var(--faint);margin:0 4px}
.rpx-eb-fresh{color:var(--accent);font-weight:800}

/* Reports cards: monochrome analytical charts (no candy colours) */
.rpx-bcol i{background:linear-gradient(180deg,#33517a,rgba(51,81,122,0))!important}
.rpx-bar.last .rpx-bcol i{background:linear-gradient(180deg,#0b1d33,rgba(11,29,51,.05))!important}
.rpx-card.rpx-top1 .rpx-bar.last .rpx-bcol i{background:linear-gradient(180deg,#b8892b,rgba(184,137,43,.05))!important}

/* ============================================================
   TRADESHOW MONK · high-tech data chrome   (appended last → wins cascade)
   Electric-blue interactive accents · monospace data type · Space-Grotesk
   display · precise hairlines + soft glow · faint data grid.
   ============================================================ */
:root{
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --disp:'Space Grotesk','Inter',system-ui,sans-serif;
  --blue:#2f6bf0; --blue-br:#4d8bff; --blue-dp:#1e4fd0;
  --grid:rgba(38,74,128,.06);
}

/* ---- display + data typography ---- */
h1,h2,h3,.rpt-hero h1,.home-hero h1,.home-primary h2,.tm-word{font-family:var(--disp);letter-spacing:-.02em}
.hk .n,.cv-kpi .n,.rch-v,.cvr-v,.c-spn,.dseg-n,.dm-d,.stat,.big,.num{
  font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.hk .l,.cv-kpi .l,.sectlabel,.nv-head,.gs-h,.home-hero .kicker,.rpx-eyebrow,.rch-k,
.cv thead th,table thead th,.pw-lc{
  font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.cv thead th,table thead th{font-size:10px;letter-spacing:.1em}

/* ---- content canvas: faint data grid ---- */
.app-body{background:radial-gradient(circle at 1px 1px,var(--grid) 1px,transparent 0) 0 0/24px 24px,var(--bg)}

/* ============ SIDEBAR MENU — precise, mono-labelled, blue glow ============ */
.sidebar{background:linear-gradient(185deg,#0d233d 0%,#0a1c31 55%,#08172a 100%);
  border-right:1px solid #17324f;box-shadow:1px 0 0 rgba(0,0,0,.25),inset -1px 0 0 rgba(120,160,210,.05)}
.side-nav{gap:1px}
.nv-head{color:#6f88a6;opacity:.9;font-size:9.5px;padding:18px 12px 7px;display:flex;align-items:center;gap:9px}
.nv-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#22405f,transparent)}
.nv-item{color:#a7bccf;font-weight:500;font-size:13px;padding:9px 11px;border-radius:8px;letter-spacing:-.002em}
.nv-item:hover{background:rgba(77,139,255,.10);color:#eaf3ff}
.nv-item.active{background:linear-gradient(90deg,rgba(47,107,240,.26),rgba(47,107,240,.05) 72%);
  color:#fff;font-weight:600;box-shadow:inset 2px 0 0 var(--blue-br),0 0 14px rgba(47,107,240,.20)}
.nv-item.active .nv-ic{color:var(--blue-br);opacity:1}
.nv-ic{opacity:.72;transition:opacity .12s}
.nv-item:hover .nv-ic{opacity:1}
.side-foot{color:#5f7a99;border-top:1px solid #17324f}

/* ============ TOP BAR ============ */
.app-body .topbar{background:linear-gradient(180deg,#0d233d,#0a1c31);border-bottom:1px solid #17324f}
.crumb,.app-body .crumb{color:#9db3c9;font-family:var(--disp)}
.crumb b{color:#fff}
.crumb a{color:var(--blue-br)} .crumb a:hover{color:#fff}
#globalsearch{background:#0d2340;border:1px solid #1d3c60;border-radius:9px;color:#eaf1f8;font-family:var(--disp);font-size:13px}
#globalsearch::placeholder{color:#6f88a6}
#globalsearch:focus{border-color:var(--blue-br);background:#0e2a4c;box-shadow:0 0 0 3px rgba(77,139,255,.16)}
.gsearch .gs-ic{color:#6f88a6}
.watchlink{background:#0d2340;border:1px solid #1d3c60;color:#a7bccf;border-radius:9px}
.watchlink:hover{border-color:var(--blue-br);color:#fff;box-shadow:0 0 14px rgba(47,107,240,.22)}
.watchlink.has{color:#fff;border-color:var(--blue-br);background:rgba(47,107,240,.18)}
.watchlink span{background:#1d3c60;color:#eaf1f8}
.watchlink.has span{background:var(--blue);color:#fff}

/* ============ DATA TILES — crisp hairline + blue tick ============ */
.hk,.cv-kpi{border-radius:11px;border:1px solid #dbe3ee;box-shadow:0 1px 2px rgba(13,30,50,.04),0 6px 20px rgba(13,30,50,.05)}
.hk{position:relative;overflow:hidden}
.hk::before{content:"";position:absolute;top:0;left:0;width:26px;height:2px;background:var(--blue-br)}
.hk .n,.cv-kpi .n{color:var(--navy)}
.hk .l,.cv-kpi .l{color:#7a8ba0;font-size:9.5px;margin-top:5px}
.cv-kpi.hl .l{color:#a9c8ff}
/* human-designed titles: hide de-emojied title icon containers */
.flag:empty{display:none}

.side-brand .tm-logo{width:min(200px,94%);height:auto;display:block}
.side-brand:has(.tm-logo){padding:10px 8px 12px}

/* ===================== REPORTS REWORK — data-first ===================== */
/* compact header so the table lands near the top */
.rpx .rpt-hero{padding-bottom:8px}
.rpx .rpt-hero h1{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.06;margin:6px 0 6px;display:block}.rpx .rpx-hsub{display:block;font-size:.96rem;line-height:1.4;margin:0 0 6px;max-width:66ch;color:var(--muted)}
.rpx .rpx-views{margin:12px 0 12px}
/* More-filters popover */
.rpxf-more{position:relative}
.rpxf-moresum{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;font-size:13px;font-weight:650;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 13px;background:var(--card);white-space:nowrap;transition:.12s}
.rpxf-moresum::-webkit-details-marker{display:none}
.rpxf-moresum:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.rpxf-more[open] .rpxf-moresum{border-color:var(--accent);color:var(--accent)}
.rpxf-chev{font-size:10px;transition:transform .15s}
.rpxf-more[open] .rpxf-chev{transform:rotate(180deg)}
.rpxf-morepop{position:absolute;top:calc(100% + 6px);left:0;z-index:45;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 38px rgba(0,0,0,.18);padding:13px 15px;display:flex;flex-direction:column;gap:11px;min-width:290px}
.rpxf-morepop .rpxf-grp{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.rpxf-morepop .rpxf-togs{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px}
/* table: fix the show-name column so long names don't collide with the score */
.rpx-tbl th.nm,.rpx-tbl td.tnm{width:198px;min-width:198px;max-width:198px;position:sticky;left:0;background:var(--card);z-index:2}
.rpx-tbl td.tnm b{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.rpx-tbl td.tnm .slogo{vertical-align:middle;flex:none}
.rpx-tbl th.tsh[data-s="score"]{color:var(--accent)}

/* ===================== REPORTS SPARKLINE + navigable rows ===================== */
.rpx-tbl th.trend{width:118px;min-width:118px}
.rpx-tbl tbody tr{cursor:pointer;transition:background .1s}
.rpx-tbl tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.rpx-tbl tbody tr:hover td.tnm{background:color-mix(in srgb,var(--accent) 6%,var(--card))}
.tnm-go{margin-left:5px;font-weight:800;color:var(--faint);opacity:0;transition:opacity .12s}
.rpx-tbl tbody tr:hover .tnm-go{opacity:1;color:var(--accent)}

/* ---------- My Company lens + Competitors ---------- */
.btn2{font:inherit;font-weight:700;font-size:13px;padding:9px 16px;border-radius:9px;cursor:pointer;
  border:1px solid var(--accent);background:var(--accent);color:#fff}
.btn2:hover{filter:brightness(1.06)}
.btn2.ghost{background:var(--card);color:var(--muted);border-color:var(--line)}
.my-cur{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#fff;border-radius:14px;padding:18px 22px;margin:6px 0 10px}
.my-cur-k{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-2)}
.my-cur-n{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-top:3px}
.my-cur-niche{font-size:13px;color:#b9c8d8;margin-top:2px}
.my-cur-a{display:flex;gap:9px}
.my-q{width:100%;font:inherit;font-size:15px;padding:13px 16px;border:1px solid var(--line);border-radius:11px;
  background:var(--card);color:var(--ink);outline:none}
.my-q:focus{border-color:var(--accent)}
.my-res{margin-top:8px}
.my-hit{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--card);
  border:1px solid var(--line);margin-bottom:6px}
.my-hit-m{flex:1;min-width:0}
.my-hit-n{font-weight:700;font-size:14px}
.my-hit-s{font-size:12px;color:var(--muted)}
.my-niches{display:flex;flex-wrap:wrap;gap:8px}
.my-nichechip{font:inherit;font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:var(--card);color:var(--ink)}
.my-nichechip span{color:var(--faint);font-weight:700;margin-left:3px}
.my-nichechip:hover{border-color:var(--accent)}
.my-nichechip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.my-nichechip.on span{color:var(--gold-2)}
.my-cta{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:34px;text-align:center;
  max-width:520px;margin:30px auto}
.my-cta p{color:var(--muted);line-height:1.6;margin:0 0 16px}
/* gaps cards */
.cmp-gaps{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.cmp-gap-n{font-weight:800;font-size:14px}
.cmp-gap-c{font-size:12.5px;color:var(--amber);font-weight:600;margin-top:4px}
.cmp-gap-c b{font-weight:800}
.cmp-gap-who{font-size:11.5px;color:var(--muted);margin-top:5px;line-height:1.4}
.cmp-partials{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.cmp-partial{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 13px}
.cmp-partial-m{min-width:0;flex:1}
.cmp-partial-n{font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.cmp-partial-n:hover{color:var(--accent)}
.cmp-partial-s{font-size:11.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-partial-sh{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.cmp-partial-sh span{font-size:10px;font-weight:700;color:var(--gold-2);background:color-mix(in srgb,var(--gold) 12%,transparent);border-radius:6px;padding:2px 7px;white-space:nowrap}

/* matrix */
.cmp-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:14px}
table.cmp{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}
.cmp th,.cmp td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.cmp thead th{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);
  position:sticky;top:0;background:var(--card);z-index:1}
.cmp-h span{display:block;font-size:9px;letter-spacing:0;margin-top:1px}
.cmp .cmp-nm{text-align:left;position:sticky;left:0;z-index:2;background:var(--card);box-shadow:1px 0 0 var(--line)}
.cmp .cmp-nm a{cursor:pointer;font-weight:600}
.cmp .cmp-nm a:hover{color:var(--accent)}
.cmp-ct{color:var(--faint);font-weight:700;font-variant-numeric:tabular-nums}
.cmp-cell.on{color:var(--navy);font-size:11px}
.cmp-cell.gapcol,.cmp-h.gapcol{background:color-mix(in srgb,var(--amber) 7%,transparent)}
.cmp-merow{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.cmp-merow .cmp-nm a{font-weight:800}
.cmp thead .cmp-nm{z-index:3}
.cmp-merow .cmp-nm{background:color-mix(in srgb,var(--gold) 8%,var(--card))}
.cmp-you{font-size:9.5px;font-weight:800;text-transform:uppercase;color:#fff;background:var(--accent);
  border-radius:5px;padding:2px 6px;margin-left:6px;vertical-align:1px}
.cmp .cmp-nm{min-width:230px;width:230px}
.cmp .cmp-nm a{display:inline-block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}

/* Reports: personalized "for you" line on each card */
.rpx-you{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--muted);
  margin:-6px 0 12px;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.rpx-you-k{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}
.rpx-you b{color:var(--ink);font-weight:800}
.rpx-you a{cursor:pointer}
.rpx-you a:hover b{color:var(--accent)}
.rpx-you i{color:var(--faint);font-style:normal}

/* ============ WORKSPACE (setup wizard, briefing, HQ, flows, demographics) ============ */
.st-wrap{max-width:960px}
.st-steps{display:flex;align-items:center;gap:0;margin:18px 0 26px}
.st-step{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;
  background:var(--card);border:1.5px solid var(--line);color:var(--muted)}
.st-step.on{background:var(--navy);border-color:var(--navy);color:#f3e9c9}
.st-step.done{background:color-mix(in srgb,var(--pos) 14%,var(--card));border-color:var(--pos);color:var(--pos)}
.st-steps i{flex:0 0 34px;height:1.5px;background:var(--line)}
.st-manual{display:grid;grid-template-columns:1fr 180px 260px auto;gap:10px;align-items:center}
@media(max-width:760px){.st-manual{grid-template-columns:1fr}}
.st-sel{font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);max-width:100%}
.st-prodchips .chip{cursor:pointer;user-select:none}
.chip.st-prod b{margin-left:7px;color:var(--muted);cursor:pointer;font-weight:800}
.chip.st-prod b:hover{color:var(--neg)}
.chip.st-prod.lead{background:var(--navy);color:#f3e9c9;border-color:var(--navy);font-weight:700}
.chip.st-mkt.on{background:var(--navy);color:#f3e9c9;border-color:var(--navy)}
.st-nav{display:flex;justify-content:space-between;margin-top:26px;gap:10px}
.st-complist{display:flex;flex-direction:column;gap:7px;max-height:none}
.st-comp{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.st-comp.off{opacity:.45}
.st-comp-m{min-width:0;display:flex;flex-direction:column}
.st-comp-m b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-comp-m span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-tgl{flex:0 0 auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:7px;padding:4px 9px;cursor:pointer;
  border:1px solid var(--line);background:var(--bg);color:var(--muted)}
.st-tgl.on{background:color-mix(in srgb,var(--pos) 14%,var(--card));border-color:var(--pos);color:var(--pos)}
.st-build{margin-top:26px;font-size:15px;line-height:2.2;font-weight:600}
.st-line{color:var(--pos);animation:stfade .4s ease}
@keyframes stfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* workspace bar for visitors without an account */
#wsbar{display:none;background:var(--navy);color:#e8eef6;padding:9px 18px;font-size:13px;align-items:center;gap:12px;justify-content:center}
#wsbar.show{display:flex}
#wsbar b{color:#e3c877}
#wsbar a{color:#fff;font-weight:700;text-decoration:underline;cursor:pointer}

/* briefing */
.bf-pos p{font-size:15.5px;line-height:1.65;margin:0;max-width:76ch}
.bf-move{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:9px}
.bf-move-k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2,#b8892b);white-space:nowrap}
.bf-move-m{flex:1;min-width:0;display:flex;flex-direction:column}
.bf-move-m b{font-size:14px}
.bf-move-m span{font-size:12.5px;color:var(--muted)}
.bf-chips{display:flex;gap:6px;flex-wrap:wrap}
.bf-chips i{font-style:normal;font-size:11px;font-weight:700;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--muted);white-space:nowrap}
.bf-verdict{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.bf-more{float:right;font-size:12.5px;font-weight:700;cursor:pointer;color:var(--accent,#1e56d6)}.bf-ev{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.bf-ev:last-child{border-bottom:none}
.bf-ev-t{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--amber,#b8791e);background:color-mix(in srgb,var(--amber,#b8791e) 12%,transparent);border-radius:6px;padding:2px 8px;white-space:nowrap}
.bf-ev i{font-style:normal;margin-left:auto;font-size:11px;color:var(--faint,#8a99a9);white-space:nowrap}
/* flows */
.fl-ctrls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 16px}
.fl-rows{display:flex;flex-direction:column;gap:7px}
.fl-row{display:grid;grid-template-columns:230px 1fr 90px;gap:12px;align-items:center;cursor:pointer;padding:7px 10px;border-radius:9px}
.fl-row:hover{background:var(--card)}
.fl-nm{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-tr{height:14px;background:var(--card);border:1px solid var(--line);border-radius:5px;overflow:hidden}
.fl-tr i{display:block;height:100%;background:var(--gold,#caa94e)}
.fl-v{font-size:12px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){.fl-row{grid-template-columns:130px 1fr 80px}}

.rpx-oppchip{font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}
.rpx-oppchip b{font-size:12.5px}

/* demographics tab */
.dg-foryou{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:18px;font-size:13.5px}
.dg-foryou i{color:var(--faint);font-style:normal}
.dg-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;align-items:start}
@media(max-width:1000px){.dg-grid{grid-template-columns:1fr}}
.dg-mod h3{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.dg-mod h3 i{font-style:normal;color:var(--faint);text-transform:none;letter-spacing:0;font-weight:500}
.dg-donutwrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.dg-donut{width:150px;height:150px;border-radius:50%;position:relative;flex:0 0 auto}
.dg-donut::after{content:"";position:absolute;inset:38px;border-radius:50%;background:var(--bg)}
.dg-donut span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dg-donut span b{font-size:20px;letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums}
.dg-leg{list-style:none;padding:0;margin:0;font-size:12px;flex:1;min-width:170px}
.dg-leg li{display:flex;align-items:center;gap:8px;margin-bottom:5px;color:var(--ink)}
.dg-leg i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.dg-leg span{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}
.dg-line{display:flex;gap:10px;align-items:baseline;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}
.dg-line:last-child{border-bottom:none}
.dg-k{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}
.dg-k.pos{color:var(--pos)}.dg-k.neg{color:var(--neg)}
.dg-cbar{display:grid;grid-template-columns:110px 1fr 84px;gap:9px;align-items:center;font-size:12.5px;margin-bottom:6px}
.dg-cbar .tr{height:12px;background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.dg-cbar .tr i{display:block;height:100%;background:var(--gold)}
.dg-cbar.sus .tr i{background:repeating-linear-gradient(135deg,var(--gold) 0 5px,color-mix(in srgb,var(--gold) 45%,var(--bg)) 5px 9px)}
.dg-cbar .v{font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ws-axis{font-size:9.5px;fill:var(--faint)}
.ws-endlab{font-size:10.5px;fill:var(--gold-2,#b8892b);font-weight:700}
/* partial-data hover warning (app version) */
.ws-warnb{position:relative;display:inline-flex;align-items:center;gap:4px;color:var(--amber);font-weight:800;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;cursor:help;white-space:nowrap}
.ws-warnb::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:270px;white-space:normal;
  background:var(--card);border:1px solid color-mix(in srgb,var(--amber) 55%,var(--line));border-radius:10px;padding:9px 12px;
  font-size:12px;font-weight:500;line-height:1.55;color:var(--ink);letter-spacing:0;text-transform:none;
  opacity:0;visibility:hidden;transition:opacity .12s;box-shadow:0 10px 30px rgba(13,30,50,.18);pointer-events:none}
.ws-warnb:hover::after{opacity:1;visibility:visible}

/* competitor HQ + rival intel */
.hq-tbl td{font-size:12.5px;padding:12px 16px;vertical-align:middle}
.hq-tbl thead th{padding:11px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 60%,var(--card)),var(--card))}
/* numeric intel columns: tabular, money reads bold */
.hq-tbl td.cmp-ct{color:var(--ink);font-weight:700}
.hq-tbl td.cmp-ct:nth-of-type(2){color:var(--muted)}
.hq-pix{display:inline-block;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--accent,#1e56d6) 10%,var(--card));color:var(--accent,#1e56d6);border-radius:6px;padding:2px 7px;margin:0 3px 3px 0;white-space:nowrap}
.hq-soc{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:2px 6px;margin-right:3px}

/* ---- company logos (favicon marks + monogram fallback) ---- */
.colo{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;
  background:#fff;border:1px solid var(--line);overflow:hidden;vertical-align:middle;margin-right:7px}
.colo img{width:100%;height:100%;object-fit:contain;padding:2px}
.colo.mono{font-size:9px;font-weight:800;letter-spacing:.02em;color:#fff;background:color-mix(in srgb,var(--mc,#5b7189) 82%,#000 0%);border:none}
.colo.sm{width:20px;height:20px;border-radius:5px}
.colo.sm.mono{font-size:8.5px}
.colo.lg{width:46px;height:46px;border-radius:11px;margin-right:2px}
.colo.lg.mono{font-size:17px}
.showhead .row .colo.lg{align-self:flex-start;margin-top:6px}

/* ---- Competitor HQ roster v2: tight names, platform dots, priority pins ---- */
.hq-tbl th,.hq-tbl td{width:1%}
/* name column fixed + truncated so the marketing/social columns get the room (2026-07-09) */
.hq-tbl .cmp-nm{width:252px;min-width:252px;max-width:252px;text-align:left}
/* stack columns take ALL the table's spare width so the rank column can't swell (2026-07-10) */
.hq-tbl th.hq-stackcol,.hq-tbl td.hq-stackcol{width:49%}
.hq-tbl .nm-w{display:flex;align-items:center;gap:2px}
.hq-tbl th.hq-rank,.hq-tbl td.hq-rank{width:34px;min-width:34px;max-width:34px;text-align:center;padding-left:14px;padding-right:6px}
.hq-tbl td.hq-rank{font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.hq-tbl tbody tr:first-child td.hq-rank{color:var(--accent)}
.hq-tbl th.hq-rank{color:var(--faint);font-weight:800}
.hq-tbl th.hq-sort{cursor:pointer;user-select:none}
.hq-tbl th.hq-sort:hover{color:var(--ink)}
.hq-tbl th.hq-sort.on::after{content:" ▼";font-size:8px;color:var(--accent)}
.hq-tbl th.hq-sort.on.flip::after{content:" ▲"}
.hq-tbl .nm-t{display:inline-block;max-width:196px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-weight:700;font-size:13.5px;letter-spacing:-.01em}
.hq-tbl tbody tr{transition:background .12s}
.hq-tbl tbody tr:hover{background:color-mix(in srgb,var(--gold) 6%,transparent)}
.hq-tbl tbody tr:hover .cmp-nm{background:color-mix(in srgb,var(--gold) 7%,var(--card))}
.hq-tbl tbody tr:hover .nm-t{color:color-mix(in srgb,var(--gold) 34%,var(--ink))}
/* left align the marketing-stack + social intel so chips read as one scannable run */
.hq-dots{text-align:left}
.hq-tbl thead th.hq-stackcol{text-align:left}
.pxd-row{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.pxd{position:relative;width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block;cursor:default;
  box-shadow:0 0 0 2.5px color-mix(in srgb,var(--c) 16%,transparent);
  animation:pxdIn .45s both var(--d),pxdBreathe 3.4s ease-in-out calc(var(--d) + .45s) infinite}
.pxd.sq{border-radius:3px}
.pxd:hover{animation-play-state:paused,paused;opacity:1}
@keyframes pxdIn{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@keyframes pxdBreathe{0%,100%{opacity:1}50%{opacity:.5}}
.pxd::after{content:attr(data-pt);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-3px);
  background:#0b1c30;color:#f0f4f9;font-size:10.5px;font-weight:700;letter-spacing:.01em;padding:4px 9px;border-radius:6px;
  white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none;z-index:30}
.pxd:hover::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.pxd-none{color:var(--faint);font-size:11px}
.pxd-more{font-style:normal;font-size:10px;font-weight:800;color:var(--muted);margin-left:1px}
/* priority pin controls */
.prio{display:inline-flex;align-items:center;gap:3px;width:38px;flex:0 0 38px}
.prio u,.prio b{text-decoration:none;cursor:pointer;user-select:none}.prio-n{width:19px;height:19px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;position:relative;
  font-size:10.5px;font-weight:800;background:var(--gold,#caa94e);color:#1a2333;
  box-shadow:0 1px 2px color-mix(in srgb,var(--gold) 55%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 40%,transparent)}
.prio-mv{display:inline-flex;flex-direction:column;line-height:1;opacity:0;transition:opacity .15s}
.hq-tbl tr:hover .prio-mv{opacity:1}
.prio-mv u{font-size:8px;color:var(--muted);padding:0 2px}
.prio-mv u:hover{color:var(--accent)}
.prio-add::after,.prio-n::after{content:attr(data-pt);position:absolute;top:calc(100% + 7px);left:0;
  background:#0b1c30;color:#f0f4f9;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:6px;white-space:nowrap;
  opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s;pointer-events:none;z-index:31}
.prio-add:hover::after,.prio-n:hover::after{opacity:1;visibility:visible}
/* priority targets: a deliberate gold accent rail on the sticky name cell */
.prio-row{background:color-mix(in srgb,var(--gold,#caa94e) 6%,transparent)}.rv-intel{border-left:3px solid var(--gold)}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:800px){.rv-grid{grid-template-columns:1fr}}
.rv-grid>div{min-width:0;background:color-mix(in srgb,var(--ink) 3%,transparent);border:1px solid var(--line);
  border-radius:12px;padding:16px 18px}
.rv-grid>div:last-child{grid-column:1/-1}
.rv-k{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.rv-txt{font-size:14px;line-height:1.6;max-width:660px}

/* setup step-3 rework: filter, website link, clearer dismiss, taller list */
.st-listhead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.st-listhead h3{margin:0}
.st-filter{font:inherit;font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);min-width:240px;outline:none}
.st-filter:focus{border-color:var(--accent,#1e56d6)}
.st-comp{position:relative;gap:12px;flex-wrap:nowrap}
.st-comp .st-site{flex:0 0 auto;font-size:11.5px;font-weight:600;color:var(--accent,#1e56d6);white-space:nowrap;padding:4px 9px;border:1px solid var(--line);border-radius:7px;text-decoration:none}
.st-comp .st-site:hover{border-color:var(--accent,#1e56d6);background:color-mix(in srgb,var(--accent,#1e56d6) 8%,var(--card))}
.st-tgl{min-width:96px;text-align:center}
.st-tgl .st-tk-x{display:none}
.st-tgl.on:hover .st-tk{display:none}
.st-tgl.on:hover .st-tk-x{display:inline;color:var(--neg)}
.st-tgl.on:hover{border-color:var(--neg);background:color-mix(in srgb,var(--neg) 10%,var(--card))}
.st-addwrap{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.st-nomatch{margin-top:8px}

/* v2 profile product tags + family badge */
.pv-prod{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.pv-prodtag{font-size:12.5px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:5px 11px;cursor:pointer;text-decoration:none}
.pv-prodtag:hover{border-color:var(--accent,#1e56d6);color:var(--accent,#1e56d6)}
.pv-prodtag.lead{background:var(--navy);color:#f3e9c9;border-color:var(--navy);font-weight:700}
.pv-prodtag.lead:hover{color:#fff}
.pw-cat{color:#fff!important}

/* Competitor HQ marketing-stack + social chips (labeled) */
.hq-stackcol{min-width:220px}
.stack-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;max-width:340px}
/* base chip = quiet analytics/tag: recedes so the paid channels lead the read.
   the brand --c survives only as a small dot, keeping data encoding without pill soup */
.stack-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap;
  border-radius:6px;padding:2px 4px;color:var(--faint);background:transparent;border:1px solid transparent;text-decoration:none;letter-spacing:.005em}
.stack-chip::before{content:"";flex:0 0 auto;width:5px;height:5px;border-radius:50%;
  background:color-mix(in srgb,var(--c,#8f9aa8) 60%,var(--line))}
/* paid ad channels: outlined chip w/ brand dot (audit design pass — saturation budget moved to spend outliers) */
.stack-chip.ad{color:var(--ink);background:color-mix(in srgb,var(--c) 7%,var(--card));border-color:color-mix(in srgb,var(--c) 35%,var(--line));font-weight:700;padding:3px 9px}
.stack-chip.ad::before{background:var(--c);width:6px;height:6px}
/* social = one calm tonal family at rest; brand color is the hover reveal, not a fill */
.stack-chip.soc{color:var(--muted);background:var(--card);border:1px solid var(--line);font-weight:700;padding:3px 9px;transition:.14s}
.stack-chip.soc::before{background:color-mix(in srgb,var(--c) 72%,var(--line))}
.stack-chip.soc:hover{color:var(--c);border-color:color-mix(in srgb,var(--c) 50%,var(--line));
  background:color-mix(in srgb,var(--c) 8%,var(--card))}
.pxd-none{color:var(--faint)}

/* ============ 2026-07-09 meeting build: show-page overhaul ============ */
/* auto verdict chip (upper right of show header) */
.sh-vchip{align-self:flex-start;margin-left:auto;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;
  border:1.5px solid var(--vc,var(--line));border-radius:12px;padding:9px 14px;position:relative}
.sh-vchip b{font-size:14px;font-weight:800;color:var(--vc,var(--ink));text-transform:capitalize;letter-spacing:-.01em}
.sh-vchip span{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}
.sh-vchip.off{border-style:dashed;border-color:var(--line)}
.sh-vchip.off b{color:var(--muted);font-size:12.5px}
.sh-vchip[data-tip]:hover::after{width:250px;white-space:normal;text-align:left}
/* your-rivals-here module: compact cards, pinned first */
.sh-rivals{margin-top:16px}
.shr-cov{display:inline-block;width:64px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--ink) 9%,transparent);
  margin-left:9px;vertical-align:1px;overflow:hidden}
.shr-cov i{display:block;height:100%;background:var(--accent);border-radius:3px}
.shr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:8px;margin-top:12px}
.shr-card{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:12px;
  background:var(--card);padding:9px 11px;cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}
.shr-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,30,50,.08)}
.shr-card .colo{width:32px;height:32px;border-radius:8px}
.shr-card .colo.mono{font-size:11px}
.shr-t{min-width:0}
.shr-nm{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shr-pin{color:var(--gold,#caa94e);font-size:11px;margin-left:4px}
.shr-sub{font-size:11px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shr-more{display:flex;align-items:center;justify-content:center;min-height:52px;border:1.5px dashed var(--line);
  border-radius:12px;color:var(--muted);font-weight:700;font-size:12.5px;cursor:pointer;transition:.12s}
.shr-more:hover{border-color:var(--accent);color:var(--accent)}
/* scale & intel fold-ins */
.sh-scale{margin-top:16px}
.sh-int-n{font-size:24px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 10px}
.sh-int-n span{font-size:11px;font-weight:700;color:var(--faint);margin-left:6px;letter-spacing:.02em}
/* attendee-flow map */
.fm-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;margin:12px 0;overflow:hidden}
.fm-svg{width:100%;height:auto;display:block}
.fm-land{fill:color-mix(in srgb,var(--ink) 7%,var(--card));stroke:color-mix(in srgb,var(--ink) 12%,var(--card));stroke-width:.4}
.fm-arc{fill:none;stroke-linecap:round}
.fm-origin{fill:var(--gold,#caa94e);stroke:var(--card);stroke-width:2}
.fm-lbl{font-size:11px;font-weight:700;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}
.fm-lbl-o{font-size:12.5px;font-weight:800}
.fm-dest:hover circle{stroke:var(--ink);stroke-width:1.5}

/* Opportunities: exposure-gaps hero (rivals-first, receipts below) */
.gap-hero{margin:6px 0 26px}
.gap-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.gap-head h2{font-size:21px;letter-spacing:-.02em;margin:0}
.gap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}
.gapc{display:flex;flex-direction:column;gap:9px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--amber,#e8a33d);
  border-radius:13px;padding:15px 17px;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.gapc:hover{box-shadow:0 6px 22px rgba(10,25,45,.10);border-color:var(--amber,#e8a33d)}
.gapc-top{display:flex;align-items:center;gap:9px}
.gapc-t{display:flex;flex-direction:column;min-width:0}
.gapc-t b{font-size:14.5px;letter-spacing:-.01em}
.gapc-t span{font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gapc-pin{margin-left:auto;font-size:10px;font-weight:800;color:var(--gold,#caa94e);border:1px solid var(--gold,#caa94e);border-radius:12px;padding:2px 8px;white-space:nowrap}
.gapc-line{font-size:13px;color:var(--muted)}
.gapc-line b{color:var(--neg);font-size:15px}
.gapc-riv{display:flex;align-items:center;flex-wrap:wrap;gap:3px}
.gapc-riv i{font-style:normal;font-size:10.5px;font-weight:800;color:var(--muted);margin-left:4px}
.gapc-stats{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:11.5px;color:var(--faint)}
.gapc-stats b{color:var(--ink);font-variant-numeric:tabular-nums}
.gapc-cta{font-size:12.5px;font-weight:800;color:var(--accent);margin-top:2px}
.gap-defend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.gd-k{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--amber,#e8a33d)}
.gd-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:20px;background:var(--card);
  padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}
.gd-chip b{color:var(--amber,#e8a33d);font-size:11px}
.gd-chip:hover{border-color:var(--amber,#e8a33d)}
.gap-divider{display:flex;align-items:center;gap:12px;margin:24px 0 2px;color:var(--faint);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em}
.gap-divider::before,.gap-divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* company-page section tabs */
.co-tabs{position:sticky;top:60px;z-index:8;display:flex;gap:2px;background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin:2px 0 16px;padding:2px 0}
.co-tabs a{padding:9px 14px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.co-tabs a:hover{color:var(--ink)}
.co-tabs a.on{color:var(--accent);border-bottom-color:var(--accent)}
#co-over,#co-shows,#co-mkt,#co-contact,#co-related{scroll-margin-top:112px}

/* flows/map merged-view switcher + circuit mode toggle */
.fm-switch{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;align-self:flex-start}
.fm-switch a{padding:8px 14px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;background:var(--card)}
.fm-switch a.on{background:var(--navy,#10233c);color:#f3e9c9;cursor:default}
.fm-switch a:not(.on):hover{color:var(--ink)}
.cx-mode{align-self:flex-start}

/* Competitor HQ — drag-to-reorder priority rows */
.prio-grip{display:inline-flex;align-items:center;justify-content:center;width:16px;cursor:grab;color:var(--faint);opacity:.5;transition:opacity .12s,color .12s}
.prio-grip svg{fill:currentColor}
/* circuit toggles stack */
.cx-togs{display:flex;flex-direction:column;gap:7px;align-items:flex-end;flex:0 0 auto}

/* company profile page */
.hint-inline{color:var(--faint);font-size:12px}
.prof-l{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);margin-top:8px}
.prof-danger{border:1px solid color-mix(in srgb,var(--neg) 35%,transparent);border-radius:12px;padding:14px 16px}
.prof-danger h3{color:var(--neg)}
.prof-reset{margin-top:10px;border-color:var(--neg);color:var(--neg)}
.prof-reset:hover{background:color-mix(in srgb,var(--neg) 8%,transparent)}

/* Rival intel — two-tier marketing stack (matches Competitor HQ roster) */
.rv-stack{grid-column:1/-1}
.rv-stackrow{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.rv-stacklbl{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);white-space:nowrap;min-width:78px}
.rv-stacklbl.pos{color:var(--pos)}
.rv-stacknote{font-size:12px;color:var(--muted);margin-top:4px}
.rv-socrow{gap:8px}
.stack-chip.soc.rv-soc{font-size:12px;padding:5px 11px}
.rv-ext{opacity:.55;font-size:.9em}

/* ---------- social hub (per-company socials modal) ---------- */
.co-headbtns{display:flex;gap:8px;align-self:flex-start}.socbtn{padding:9px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  font-weight:700;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:border-color .15s}
.socbtn:hover{border-color:var(--gold,#e8590c)}
.socbtn-ic{color:var(--accent);font-size:11px}
.socbtn-n{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.sochub-ov{position:fixed;inset:0;z-index:80;background:rgba(4,10,20,.55);backdrop-filter:blur(3px);
  display:grid;place-items:center;padding:20px;animation:sochubfade .15s ease}
.sochub{width:min(460px,100%);max-height:min(640px,90vh);overflow:auto;background:var(--card);border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);padding:18px 18px 16px}
.sochub-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.sochub-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sochub-nm{font-size:18px;font-weight:800;letter-spacing:-.015em}
.sochub-x{border:0;background:none;color:var(--muted);font-size:15px;cursor:pointer;padding:4px 6px;border-radius:8px}
.sochub-x:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.sochub-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.sochub-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;text-decoration:none;
  border:1px solid var(--line);background:color-mix(in srgb,var(--c) 6%,var(--card));transition:transform .12s,border-color .12s}
.sochub-link:hover{transform:translateY(-1px);border-color:var(--c)}
.sochub-ic{width:30px;height:30px;border-radius:9px;background:var(--c);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;flex:none}
.sochub-lb{font-weight:700;font-size:13px;min-width:0}
.sochub-lb em{display:block;font-style:normal;font-weight:500;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.sochub-ext{margin-left:auto;color:var(--faint);font-size:12px}
.sochub-fmtrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.sochub-tabs{display:inline-flex;gap:2px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:9px;padding:3px}
.sochub-tabs button{border:0;background:none;color:var(--muted);font-weight:700;font-size:12px;padding:5px 10px;border-radius:7px;cursor:pointer}
.sochub-tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.sochub-btns{display:inline-flex;gap:6px}
.sochub-copy,.sochub-openall{border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-weight:700;font-size:12.5px;
  padding:6px 12px;border-radius:9px;cursor:pointer}
.sochub-copy:hover,.sochub-openall:hover{border-color:var(--accent)}
.sochub-pre{margin:0;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--line);border-radius:10px;
  padding:11px 13px;font-size:11.5px;line-height:1.6;white-space:pre-wrap;word-break:break-all;color:var(--muted);max-height:180px;overflow:auto}
@keyframes sochubfade{from{opacity:0}to{opacity:1}}
@media (max-width:560px){.sochub-links{grid-template-columns:1fr}}

/* Travel map: domestic(solid) vs international(dashed), overlays, zoom */
.tv-card{position:relative}
#tvsvg{cursor:default}
#tvsvg.grabbing{cursor:grabbing}
#tvzoom{transition:transform .12s ease-out}
.tv-zoomctl{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:5px;z-index:3}
.tv-zbtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,transparent);
  color:var(--ink);font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);box-shadow:0 1px 3px rgba(13,30,50,.1)}
.tv-zbtn:hover{border-color:var(--gold,#caa94e);color:var(--gold-deep,#a07f28)}
.tv-zreset{font-size:13px}
.tv-legend{position:absolute;top:10px;left:10px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(4px);
  border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:11.5px;color:var(--muted);z-index:3;line-height:1.5}
.tv-lg-row{display:flex;align-items:center;gap:7px;margin-bottom:3px}
.tv-lg-row:last-child{margin-bottom:0}
.tv-lg-row svg line{stroke:var(--muted)}
.tv-lg-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}
.tv-lg-dot.home{background:var(--neg,#c0392e)}
.tv-lg-dot.dest{background:var(--navy2,#12263f);margin-left:8px}
.tv-countries{position:absolute;bottom:10px;left:10px;max-width:52%;background:color-mix(in srgb,var(--card) 88%,transparent);
  backdrop-filter:blur(4px);border:1px solid var(--line);border-radius:10px;padding:9px 12px;z-index:3}
.tv-cty-h{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint,#8a99a9);margin-bottom:6px}
.tv-cty-list{display:flex;flex-wrap:wrap;gap:5px 12px}
.tv-cty{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink)}
.tv-cty i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.tv-cty b{color:var(--muted);font-weight:700}
@media(max-width:640px){.tv-countries{max-width:70%}.tv-legend{font-size:10px}}

/* Flow map: dashes travel outward from the show to where its exhibitors go next */
.fm-arc{stroke-dasharray:7 5;animation:fm-flow var(--fmdur,3s) linear infinite}
@keyframes fm-flow{to{stroke-dashoffset:-24}}
@media(prefers-reduced-motion:reduce){.fm-arc{animation:none}}

/* Flow map: destination labels off by default — hover a node for a chip (see .maptip) */
.fm-lbl:not(.fm-lbl-o){display:none}
.fm-node{transition:r .12s ease}
.fm-dest.on .fm-node{stroke:var(--card);stroke-width:2}
.fm-dest.on .fm-node{r:9}
.fm-dest{cursor:pointer}

/* Show Atlas sub-tabs (exhibitor map / registry) */
.atlas-tabs{display:inline-flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px;margin-top:10px}
.atlas-tabs .attab{font-size:13px;font-weight:600;color:var(--muted);padding:6px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}
.atlas-tabs .attab:hover{color:var(--ink)}
.atlas-tabs .attab.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(13,30,50,.08);font-weight:700}

/* Exhibitor map: show picker as a compact dropdown (was a 28-chip wall) */
.mapshow-lbl{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
/* ---------- atlas hero map: filter + countries + actions live ON the map ---------- */
/* compact single-row chrome so the map owns the vertical space */
.maphead-slim{padding:12px 0 12px}
.mh-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.mh-title{display:flex;flex-direction:column;gap:1px}
.mh-title h1{font-size:21px;margin:0;letter-spacing:-.02em}
.mh-row .atlas-tabs{margin:0 0 0 auto}
.atlas-hd .atlas-meta{display:block;margin:9px 0 0;color:var(--muted);font-size:14px;font-weight:600;max-width:860px}
.atlas-hd .atlas-meta .sep{color:var(--faint)}

/* full-bleed stage: the SVG fills the whole card so the gradient reads edge-to-edge
   (id-level selector needed to beat #mapsvg{height:auto}) */
.mapcard-hero{height:calc(100vh - 166px);min-height:520px;border-radius:20px}
.mapcard-hero #mapsvg{width:100%;height:100%}

/* every overlay shares a 16px inset so nothing collides */
/* TOP-LEFT — one glass toolbar: show picker + Shows toggle, cleanly divided */
.mapfilter{position:absolute;top:16px;left:16px;z-index:6;max-width:calc(100% - 32px)}
.mf-bar{display:flex;align-items:stretch;gap:0;overflow:hidden;
  background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.mapfilter .mzpins{position:static;flex:none;background:none;border:0;box-shadow:none;backdrop-filter:none;
  border-left:1px solid var(--line);border-radius:0;padding:0 13px;display:inline-flex;align-items:center;font-weight:650}

/* map filter collapse (2026-07-13): tuck the whole panel away so it doesn't cover the map */
.mf-collapse{border:0;background:none;color:var(--faint);font-size:12px;cursor:pointer;padding:0 12px;
  border-left:1px solid var(--line);display:inline-flex;align-items:center;align-self:stretch}
.mf-collapse:hover{color:var(--neg,#b23a3a)}
.mapfilter.mf-hidden{display:none}
.mf-open{position:absolute;top:16px;left:16px;z-index:6;display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 90%,transparent);
  backdrop-filter:blur(10px);color:var(--ink);font:inherit;font-weight:700;font-size:13px;padding:9px 14px;
  cursor:pointer;box-shadow:var(--shadow);transition:.14s}
.mf-open:hover{border-color:var(--accent);color:var(--accent)}
.mf-open.hide{display:none}

/* map pin filters: type + size toggle chips (2026-07-12) */
.mf-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;padding:8px 10px;
  background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-width:520px}
.mf-lab{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-right:2px}
.mf-chip{font:inherit;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:var(--card);color:var(--muted);white-space:nowrap;transition:.12s;position:relative;padding-left:20px}
.mf-chip::before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--faint);opacity:.4}
.mf-chip[data-scope]::before{opacity:1}
.mf-chip.glass::before{background:var(--scope-glass,#10b981)}
.mf-chip.window-facade::before{background:var(--scope-window,#06b6d4)}
.mf-chip.construction::before{background:var(--scope-construction,#7c6cf0)}
.mf-chip[data-size]{padding-left:10px}
.mf-chip.on{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--card))}
.mf-chip:not(.on){opacity:.5}
.mf-chip:not(.on)::before{opacity:.25}
.mf-chip:hover{border-color:var(--accent)}

/* BOTTOM-LEFT — legend  ·  BOTTOM-RIGHT — zoom stack sits above the info button */
.mapcard-hero .legend{left:16px;bottom:16px;z-index:6}
.mapcard-hero .mzhint{bottom:16px}
.mapcard-hero .mzctrl{top:auto;bottom:58px;right:16px;z-index:6}

/* BOTTOM-RIGHT corner — the footnote, folded into a glass info button */
.map-info{position:absolute;right:16px;bottom:16px;z-index:6;width:30px;height:30px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  border:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(6px);
  color:var(--muted);font:800 14px/1 var(--disp,inherit);font-style:italic;box-shadow:var(--shadow);transition:.14s}
.map-info:hover{border-color:var(--accent);color:var(--accent)}
.map-info-pop{position:absolute;right:0;bottom:calc(100% + 8px);width:min(300px,60vw);text-align:left;
  background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(13,30,50,.28);
  padding:11px 13px;font:400 12px/1.6 inherit;color:var(--muted);
  opacity:0;visibility:hidden;transform:translateY(4px);transition:.16s;pointer-events:none}
.map-info:hover .map-info-pop,.map-info:focus .map-info-pop{opacity:1;visibility:visible;transform:none}

/* RIGHT EDGE — collapsed pull tab; opens as a 320px right rail that scrolls internally,
   kept clear of the bottom-right zoom/info cluster */
.rankfloat{position:absolute;top:16px;right:16px;z-index:5;width:320px;max-height:calc(100% - 190px);
  background:color-mix(in srgb,var(--card) 93%,transparent);backdrop-filter:blur(10px)}
.rankfloat.hide{display:none}
.rl-x{margin-left:10px;border:0;background:none;color:var(--muted);font-size:12px;cursor:pointer;padding:2px 5px;border-radius:6px}
.rl-x:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}
.rl-open{position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:5;
  border:1px solid var(--line);border-right:0;border-radius:12px 0 0 12px;
  background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(8px);color:var(--ink);
  font-weight:700;font-size:12.5px;padding:12px 12px;cursor:pointer;box-shadow:var(--shadow);transition:.14s}
.rl-open:hover{border-color:var(--accent);color:var(--accent);padding-right:16px}
.rl-open.hide{display:none}
/* pin / country action card — floating glass card, bottom-left above the legend */
.pin{cursor:pointer}
.map-action{position:absolute;left:16px;bottom:74px;top:auto;z-index:7;width:min(452px,calc(100% - 32px));
  max-height:calc(100% - 168px);overflow:auto;
  background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(13,30,50,.28);padding:12px 14px 14px;
  animation:ma-in .18s ease}
@keyframes ma-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.map-action.hide{display:none}
.ma-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ma-back{border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:700;font-size:12px;
  padding:5px 11px;border-radius:8px;cursor:pointer}
.ma-back:hover{border-color:var(--accent)}
.ma-city{font-weight:800;font-size:14px}
.ma-city span{font-weight:600;color:var(--muted);font-size:12px;margin-left:7px}
.ma-show{border:1px solid var(--line);border-left:3px solid var(--sc,var(--accent));border-radius:11px;
  padding:11px 12px;margin-bottom:8px;background:color-mix(in srgb,var(--sc,var(--accent)) 4%,var(--card))}
.ma-show:last-child{margin-bottom:0}
.ma-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.ma-t{min-width:0}
.ma-nm{font-weight:800;font-size:13.5px;line-height:1.25}
.ma-meta{font-size:11.5px;color:var(--muted);margin-top:1px}
.ma-btns{display:flex;flex-direction:column;gap:5px}
.ma-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:700;font-size:12.5px;
  padding:8px 11px;border-radius:9px;cursor:pointer;text-align:left;transition:border-color .12s,background .12s}
.ma-btn:hover{border-color:var(--sc,var(--accent))}
.ma-btn.primary{background:var(--sc,var(--accent));border-color:var(--sc,var(--accent));color:#fff}
.ma-btn.primary:hover{filter:brightness(1.08)}
/* country action card: per-show mini-bars (same language as the side-panel .cd-* detail) */
.ma-cbars{margin:2px 0 10px;display:flex;flex-direction:column;gap:2px}.ma-cbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;color:var(--ink)}
.ma-ctr{height:6px;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:4px;overflow:hidden}
.ma-ctr i{display:block;height:100%;border-radius:4px}
.ma-cn{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}
.ma-ccats{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 11px}
.ma-ccats .cc{font-size:10.5px;padding:2px 8px;border-radius:999px;
  background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--muted)}
.ma-empty{font-size:12px;color:var(--muted);padding:4px 0 8px}
@media(max-width:900px){
  .mapcard-hero{height:calc(100vh - 150px);min-height:400px}
  .rankfloat{width:min(290px,74%);max-height:calc(100% - 200px)}
  .mapfilter .mapshow-sel{max-width:180px}
  .map-action{width:min(340px,calc(100% - 32px))}
}

/* Country action card: fit-rated show rows (buttons to each fair) */
.ma-srlabel{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:12px 0 7px}
.ma-srlabel em{font-style:normal;color:var(--gold-deep,#a07f28);font-weight:700}
.ma-showrows{display:flex;flex-direction:column;gap:5px}
.ma-showrow{display:grid;grid-template-columns:1fr auto auto 14px;align-items:center;gap:9px;width:100%;text-align:left;
  background:var(--card);border:1px solid var(--line);border-radius:9px;padding:8px 11px;cursor:pointer;font:inherit;transition:.12s}
.ma-showrow:hover{border-color:var(--accent,#1e56d6);background:color-mix(in srgb,var(--accent,#1e56d6) 6%,var(--card))}
.ma-sr-nm{font-size:13px;font-weight:650;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ma-sr-n{font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ma-fit{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;
  color:var(--fc);background:color-mix(in srgb,var(--fc) 12%,transparent);border-radius:6px;padding:3px 8px;white-space:nowrap}
.ma-fit i{width:6px;height:6px;border-radius:50%;background:var(--fc);flex:0 0 auto}
.ma-sr-go{color:var(--faint);font-size:16px;font-weight:700;justify-self:end}
.ma-showrow:hover .ma-sr-go{color:var(--accent,#1e56d6)}
.ma-srmore{font-size:11.5px;color:var(--faint);padding:7px 2px 2px}

/* Show market card: stat chips */
.ma-kchips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 2px}
.ma-kchip{font-size:11px;font-weight:700;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:3px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ma-head .ma-fit{margin-left:auto;align-self:flex-start}

/* Country card: home-show callout (their own fair, or where they go) */
.ma-srlabel.gold{color:var(--gold-deep,#a07f28)}
.ma-homeshows{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.ma-homebtn{display:grid;grid-template-columns:1fr auto auto 14px;align-items:center;gap:9px;width:100%;text-align:left;cursor:pointer;font:inherit;
  background:color-mix(in srgb,var(--gold,#caa94e) 10%,var(--card));border:1px solid color-mix(in srgb,var(--gold,#caa94e) 45%,var(--line));
  border-radius:10px;padding:10px 12px;transition:.12s}
.ma-homebtn:hover{border-color:var(--gold,#caa94e);background:color-mix(in srgb,var(--gold,#caa94e) 16%,var(--card))}
.ma-hb-nm{font-size:13.5px;font-weight:750;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* show flow map v2: clean single-ink arcs, two views */
.fm2-tabs{margin-bottom:12px}
.fm2-arc{fill:none;stroke:#4263eb;stroke-linecap:round}
.fm2-pt .fm2-node{fill:#4263eb;stroke:var(--card);stroke-width:1.5}
.fm2-pt:hover .fm2-node{stroke:var(--ink)}
.fm2-cty{cursor:pointer}
.fm2-cty:hover{stroke:var(--ink);stroke-width:1}
.fm2-home{fill:var(--gold,#caa94e);stroke:var(--card);stroke-width:2}
.fm2-lbl{font-size:11px;font-weight:700;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}
.fm2-lbl-h{font-size:12.5px;font-weight:800}

/* ---------- potential-buyers tab (show page) ---------- */
.by-tools{margin:12px 0}.by-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:8px}
.by-card{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:12px;
  background:var(--card);padding:9px 11px}
.by-card.over{display:none}
.by-card .colo{width:32px;height:32px;border-radius:8px}
.by-card .colo.mono{font-size:11px}
.by-t{min-width:0;flex:1}
.by-nm{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.by-sub{font-size:11px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.by-sub b{color:var(--ink);font-weight:700}
.by-act{display:inline-flex;gap:5px;flex:none}
.by-lk{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;
  font-size:12px;color:var(--muted);text-decoration:none;transition:.12s}
.by-lk:hover{border-color:var(--accent);color:var(--accent)}
.by-more{display:block;width:100%;margin-top:10px;border:1.5px dashed var(--line);background:none;border-radius:11px;
  color:var(--muted);font-weight:700;font-size:12.5px;padding:10px;cursor:pointer;transition:.12s}
.by-more:hover{border-color:var(--accent);color:var(--accent)}

/* Potential Agents page */
.ag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.ag-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 16px;display:flex;flex-direction:column;gap:9px}
.ag-card.hot{border-color:color-mix(in srgb,var(--pos) 45%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--pos) 20%,transparent)}
.ag-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ag-tier{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 8px;white-space:nowrap}
.ag-tier.prime{color:var(--pos);background:color-mix(in srgb,var(--pos) 13%,transparent)}
.ag-tier.mach{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.ag-meta{font-size:12px;color:var(--muted)}
.ag-prods{display:flex;flex-wrap:wrap;gap:5px}
.ag-prod{font-size:11px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 8px;white-space:nowrap}
.ag-prod.on{color:#fff;background:var(--pos);border-color:var(--pos);font-weight:700}
.ag-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.ag-btn{font-size:12px;font-weight:650;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;cursor:pointer}
.ag-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.ag-btn.primary:hover{filter:brightness(1.05)}
.ag-btn:hover{border-color:var(--accent)}
.ag-btn.dis{color:var(--faint);cursor:default;border-style:dashed}
.ag-btn.dis:hover{border-color:var(--line)}

/* Show flow map: labels off by default, hover a node for a chip; arcs flow */
.fm2-lbl:not(.fm2-lbl-h){display:none}
.fm2-arc{stroke-dasharray:7 5;animation:fm-flow var(--fmdur,3s) linear infinite}
.fm2-node{transition:r .12s ease}
.fm2-pt.on .fm2-node{stroke:var(--card);stroke-width:2}
.fm2-pt.on .fm2-node{r:8}
@media(prefers-reduced-motion:reduce){.fm2-arc{animation:none}}
/* Export CSV buttons on buyer/agent lists */
.by-head{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}
.by-export{flex:0 0 auto;font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}
.by-export:hover{border-color:var(--accent);color:var(--accent)}

/* Map tooltip: clickable when it carries a country/pin target (opens the card) */
.maptip[data-cn]:not([data-cn=""]), .maptip[data-pin]:not([data-pin=""]){pointer-events:auto;cursor:pointer}
.maptip[data-cn]:not([data-cn=""]):hover, .maptip[data-pin]:not([data-pin=""]):hover{border-color:var(--accent)}
.maptip[data-cn]:not([data-cn=""]):hover .mt-go, .maptip[data-pin]:not([data-pin=""]):hover .mt-go{color:var(--accent);font-weight:700}

/* Show Atlas — year calendar / season timeline */
.cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin:2px 0 16px}
.cal-lg{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.cal-lg i{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
.cal-lg-you{background:repeating-linear-gradient(135deg,var(--gold,#caa94e) 0 3px,transparent 3px 6px);border:1px solid var(--gold,#caa94e)}
.cal-lg-gap{flex:0 0 10px;border-left:1px solid var(--line);height:14px;margin:0 2px}
.cal-lg i.sea{width:20px;border-radius:4px}
.cal-wrap{padding-bottom:6px}
/* year at a glance: 4×3 month grid, no horizontal scroll */
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cal-col{--sc:#868e96;border:1px solid var(--line);border-top:4px solid var(--sc);border-radius:12px;padding:8px 8px 10px;display:flex;flex-direction:column;min-height:120px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--sc) 10%,var(--card)),color-mix(in srgb,var(--sc) 3%,var(--card)))}
.cal-col.empty{background:transparent;border-style:dashed;border-top-style:solid;opacity:.6}
.cal-col.peak{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 35%,transparent)}
.cal-mh{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--sc) 72%,var(--ink));display:flex;align-items:center;gap:6px;padding:2px 3px 8px}
.cal-mh span{margin-left:auto;font-size:10.5px;font-weight:800;color:color-mix(in srgb,var(--sc) 80%,var(--ink));background:color-mix(in srgb,var(--sc) 16%,transparent);
  border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.cal-col.empty .cal-mh span{background:none}
.cal-pk{font-size:9px;font-weight:800;font-style:normal;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--sc);border-radius:4px;padding:1px 5px}
.cal-stack{display:flex;flex-direction:column;gap:5px}
.cal-chip{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--rc) 9%,#fff);border:1px solid color-mix(in srgb,var(--rc) 32%,var(--line));border-left:3px solid var(--rc);border-radius:8px;
  padding:5px 8px;text-decoration:none;color:var(--ink);cursor:pointer;transition:.12s}
.cal-chip:hover{border-color:var(--rc);background:color-mix(in srgb,var(--rc) 16%,#fff);transform:translateX(1px)}
.cal-chip.mine{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold,#caa94e) 60%,transparent)}
.cal-dot{display:none}
.cal-nm{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.cal-fit{font-size:10px;font-weight:800;color:var(--fc);background:color-mix(in srgb,var(--fc) 14%,transparent);border-radius:5px;padding:1px 5px;flex:0 0 auto}
.cal-you{display:none}
@media(max-width:1100px){.cal-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.cal-grid{grid-template-columns:repeat(2,1fr)}}

/* per-show momentum chip on company presence cards */
.pv-card{position:relative}
.pv-card .pv-body{padding-right:56px}
.pv-trend{position:absolute;top:13px;right:14px;text-align:right;font-size:12px;font-weight:800;
  color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.2}
.pv-trend.up{color:var(--pos,#2f9e44)}
.pv-trend.down{color:var(--neg,#e03131)}
.pv-trend span{display:block;font-size:8.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}

/* Map show picker: logo grid grouped by continent (replaces the dropdown) */
.mapshow-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink);
  background:transparent;border:0;cursor:pointer;padding:8px 6px 8px 12px;max-width:340px}
.mapshow-btn #mapshowlbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mapshow-btn .mp-caret{color:var(--muted);font-size:10px;transition:transform .15s}
.mapshow-btn.open .mp-caret{transform:rotate(180deg)}
.mp-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(680px,86vw);max-height:min(560px,70vh);overflow-y:auto;
  background:color-mix(in srgb,var(--card) 97%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 20px 60px rgba(13,30,50,.22);padding:12px}
.mp-all{display:block;width:100%;text-align:left;font:inherit;font-size:13px;font-weight:700;color:var(--ink);background:var(--bg);
  border:1px solid var(--line);border-radius:9px;padding:9px 12px;cursor:pointer;margin-bottom:12px}
.mp-all:hover,.mp-all.on{border-color:var(--accent);color:var(--accent)}
.mp-group{margin-bottom:12px}
.mp-group:last-child{margin-bottom:0}
.mp-gh{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--faint,#8a99a9);margin:0 2px 7px}
.mp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:7px}
.mp-tile{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;text-align:left;transition:.12s}
.mp-tile:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card));transform:translateY(-1px)}
.mp-tile.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.mp-logo{width:36px;height:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mp-logo img{max-width:36px;max-height:24px;object-fit:contain}
.mp-tnm{font-size:12px;font-weight:650;color:var(--ink);min-width:0;line-height:1.22;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- reusable flag filter dropdown (.fdrop) — replaces native <select> ---------- */
.fdrop{position:relative;display:inline-block}
.fd-btn{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:9px 13px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;transition:.12s;box-shadow:var(--shadow)}
.fd-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.fd-btn.open{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.fd-car{color:var(--muted);font-size:11px;margin-left:1px}
.fd-pop{position:absolute;top:calc(100% + 7px);left:0;z-index:30;width:min(320px,90vw);max-height:min(420px,64vh);
  display:flex;flex-direction:column;overflow:hidden;
  background:color-mix(in srgb,var(--card) 97%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:13px;
  box-shadow:0 20px 60px rgba(13,30,50,.22);padding:8px}
.fd-search{flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);
  font:inherit;font-size:13px;padding:8px 11px;margin-bottom:7px;outline:none}
.fd-search:focus{border-color:var(--accent)}
.fd-rows{overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.fd-row{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:8px;padding:8px 10px;
  font:inherit;font-size:13px;color:var(--ink);text-align:left;cursor:pointer;transition:.1s}
.fd-row:hover{background:color-mix(in srgb,var(--accent) 8%,var(--card))}
.fd-row.on{background:color-mix(in srgb,var(--accent) 12%,var(--card));font-weight:750}
.fd-fl{flex:0 0 auto;font-size:15px;line-height:1;width:20px;text-align:center}
.fd-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.fd-row.on .fd-nm{font-weight:750}
.fd-ct{flex:0 0 auto;font-size:11px;font-weight:800;color:var(--muted);background:var(--bg);border:1px solid var(--line);
  border-radius:20px;padding:1px 8px;min-width:26px;text-align:center}
.fd-row.on .fd-ct{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.fd-pop.noflag .fd-fl{display:none}
.fd-group{margin-bottom:3px}
.fd-gh{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint,#8a99a9);padding:8px 10px 4px}

/* ---------- opportunity map (atlas tab) ---------- */
.om-svg{display:block;width:100%;height:100%}
.om-land{fill:color-mix(in srgb,var(--ink) 6%,var(--card));stroke:color-mix(in srgb,var(--ink) 11%,var(--card));stroke-width:.4}
.om-pt{cursor:pointer}
.om-dot{stroke:var(--card);stroke-width:1.4;transition:filter .12s}
.om-pt:hover .om-dot{filter:brightness(1.14)}
.om-mine{fill:none;stroke:var(--gold,#caa94e);stroke-width:1.6;stroke-dasharray:3 2.5}
.om-lbl{font-size:11.5px;font-weight:800;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--card);stroke-width:3.5px;stroke-linejoin:round}
.om-leg .om-lg-row{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);margin-top:5px;font-weight:600}
.om-leg .om-lg-row i{width:10px;height:10px;border-radius:50%;flex:none}
.om-lg-ring{background:none!important;border:1.6px dashed var(--gold,#caa94e)}
.om-lg-note{font-size:10px;color:var(--faint);margin-top:7px}
.om-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;cursor:pointer;min-width:0}
.om-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.om-score{font-size:15px;font-weight:800;min-width:28px;text-align:right;font-variant-numeric:tabular-nums;flex:none}
.om-rowt{min-width:0}
.om-rowt b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.om-rowt em{display:block;font-style:normal;font-size:10.5px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* --amber was referenced (VCOL defend verdict, cmp-gap tints) but never defined — define it for both themes */
:root{--amber:#d9820f}
@media (prefers-color-scheme: dark){:root{--amber:#f0a13c}}
:root[data-theme="dark"]{--amber:#f0a13c}

/* ---- exhibitor filter bar: searchable facet popovers, tokens only when active ---- */
.fx-bar{position:sticky;top:60px;z-index:9;display:flex;align-items:center;gap:9px;padding:9px 0;margin-bottom:4px;
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px)}
.fx-bar>input[type="search"]{flex:1;min-width:220px;font:inherit;font-size:13.5px;padding:10px 14px;border:1px solid var(--line);
  border-radius:10px;background:var(--card);color:var(--ink)}
.fx-bar>input[type="search"]:focus{outline:none;border-color:var(--accent)}
.fx-facet{position:relative}
.fx-btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:700;padding:10px 14px;
  border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}
.fx-btn:hover{border-color:var(--accent)}
.fx-btn.on{border-color:var(--accent);color:var(--accent)}
.fx-btn i{font-style:normal;font-size:9px;color:var(--faint)}
.fx-badge{background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;border-radius:10px;padding:1px 7px}
.fx-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:264px;max-height:340px;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(8,20,40,.18);overflow:hidden}
.fx-q{font:inherit;font-size:13px;padding:10px 13px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}
.fx-q:focus{outline:none}
.fx-opts{overflow-y:auto;padding:5px}
.fx-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px}
.fx-opt:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.fx-opt input{accent-color:var(--accent);margin:0}
.fx-opt .fx-ic{width:18px;text-align:center;flex:0 0 18px}
.fx-opt .fx-l{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-opt b{font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.fx-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.fx-count{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-reset{font-size:12.5px;font-weight:700;color:var(--accent);cursor:pointer;white-space:nowrap}
.fx-tokens{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px}
.fx-tok{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:16px;
  background:color-mix(in srgb,var(--accent) 9%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);cursor:pointer}
.fx-tok b{color:var(--muted);font-weight:800}
.fx-tok:hover b{color:var(--neg)}
/* display:flex would defeat the hidden attribute on these — make hidden always win */
.fx-pop[hidden],.fx-opt[hidden],.fx-tokens[hidden],.fx-bar [hidden]{display:none!important}

/* Figures tab (2026-07-13): organizer-published vs independently-reported, neutral + sourced */
.fg-intro{font-size:14px;color:var(--muted);max-width:72ch;margin:4px 0 16px}
.fg-tblwrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.fg-tbl{border-collapse:collapse;width:100%;font-size:14px}
.fg-tbl th{text-align:left;padding:12px 16px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--line);vertical-align:top;line-height:1.5}
.fg-tbl th:first-child{width:26%}
.fg-tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.fg-tbl tr:last-child td{border-bottom:0}
.fg-k{font-weight:700;color:var(--ink)}
.fg-org{background:color-mix(in srgb,var(--gold) 5%,var(--card))}
.fg-org b{color:var(--gold,#a07d1c);font-variant-numeric:tabular-nums;font-size:16px}
.fg-rep b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}
.fg-est{font-size:10px;font-weight:800;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.fg-sub{display:block;font-size:11.5px;color:var(--faint);font-weight:500;margin-top:2px}
.fg-dash{color:var(--faint);font-size:12.5px;font-style:italic}
.fg-src{font-weight:600;text-transform:none;letter-spacing:0}
.fg-src a,.fg-kit a,.fg-aud-h a{color:var(--accent);text-decoration:none;font-weight:700}
.fg-src a:hover,.fg-kit a:hover{text-decoration:underline}
.fg-aud{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.fg-aud-h{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--gold,#a07d1c);margin-bottom:8px}
.fg-arow{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 6%,transparent);font-size:14px;color:var(--muted)}
.fg-arow:last-child{border-bottom:0}
.fg-arow b{color:var(--ink);font-variant-numeric:tabular-nums}
.fg-kit{margin-top:14px;font-size:13px;color:var(--muted);background:color-mix(in srgb,var(--accent) 5%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:10px;padding:11px 14px}
.fg-note{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.55;max-width:74ch}
.fg-disc{margin-top:16px;font-size:11.5px;color:var(--faint);line-height:1.55;border-top:1px solid var(--line);padding-top:12px;max-width:78ch}

/* Figures tab · organizer documents (2026-07-13): deep links, we don't host the files */
.fg-docs{margin-top:16px}
.fg-docs-h{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.fg-docs-h span{font-weight:600;text-transform:none;letter-spacing:0;color:var(--faint)}
.fg-docs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.fg-doc{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1px solid var(--line);border-radius:11px;background:var(--card);text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}
.fg-doc:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 6%,transparent)}
.fg-doc-ic{font-size:20px;line-height:1;flex:0 0 auto}
.fg-doc-t{min-width:0;display:flex;flex-direction:column}
.fg-doc-t b{font-size:13px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fg-doc-t em{font-size:10.5px;font-style:normal;color:var(--faint);text-transform:capitalize;margin-top:1px}
.fg-doc-x{margin-left:auto;color:var(--accent);font-weight:700;flex:0 0 auto}

/* Opportunities scope bar (2026-07-13): default Glass so the client sees only relevant fairs */
.opp-scopebar{display:flex;align-items:center;gap:10px;margin:0 0 18px}
.opp-scope-lab{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}

/* Opportunities · White space tab (2026-07-11, option C): ranked rival-free feed w/ demand meters */
#opptabs{margin:0 0 18px}
.wsx-feed{display:flex;flex-direction:column;gap:10px}
.wsx-row{display:grid;grid-template-columns:44px 235px 1fr 235px;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 18px;cursor:pointer;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}
.wsx-row:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 2px 10px color-mix(in srgb,var(--ink) 7%,transparent)}
@media(max-width:920px){.wsx-row{grid-template-columns:40px 1fr;row-gap:10px}}
.wsx-rank{width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center}
.wsx-id{display:flex;align-items:center;gap:10px;min-width:0}
.wsx-nm{min-width:0}
.wsx-nm b{display:block;font-size:15px;line-height:1.25}
.wsx-nm span{display:block;font-size:11.5px;color:var(--faint);margin-top:2px}
.wsx-meters{display:flex;flex-direction:column;gap:5px;min-width:0}
.wsx-m{display:grid;grid-template-columns:104px 1fr 34px;gap:8px;align-items:center;font-size:11.5px;color:var(--muted)}
.wsx-m .wsx-tr{display:block;height:8px;border-radius:4px;background:color-mix(in srgb,var(--ink) 6%,transparent);overflow:hidden}
.wsx-m .wsx-tr b{display:block;height:100%;border-radius:4px;background:var(--accent)}
.wsx-m em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}
.wsx-right{min-width:0}
.wsx-zero{font-size:12px;font-weight:800;color:var(--pos)}
.wsx-zero.warn{color:var(--amber)}
.wsx-chips{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}
.wsx-chip{font-size:10.5px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--ink) 5%,transparent);border-radius:8px;padding:2px 8px}
.wsx-strip{margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 16px;font-size:12.5px;color:var(--muted)}
.wsx-strip.unm{border-left:4px solid var(--gold)}
.wsx-strip.crowd{border-left:4px solid var(--neg)}
.wsx-strip a{color:var(--accent);cursor:pointer;font-weight:700}
.wsx-strip.unm b{color:var(--gold)}
.wsx-strip.crowd b{color:var(--neg)}

/* Profile admin popover: switch-company search (2026-07-10) */
.st-wrap .pv-section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 19px}
.st-wrap .pv-section.prof-danger{border-color:color-mix(in srgb,var(--neg) 30%,var(--line))}

.prof-swco{border-top:1px solid var(--line);margin-top:11px;padding-top:11px}
.prof-swco>b{display:block;font-size:13px;color:var(--ink);font-weight:700}
.prof-swco>small{display:block;font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.prof-swco input{width:100%;margin-top:9px;font:inherit;font-size:12.5px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink)}
.prof-swco input:focus{outline:none;border-color:var(--accent)}
.prof-swco-res{display:flex;flex-direction:column;gap:2px;max-height:224px;overflow-y:auto;margin-top:5px}
.prof-swco-it{display:flex;align-items:center;gap:9px;padding:6px 8px;border:0;border-radius:8px;background:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;color:var(--ink);text-align:left}
.prof-swco-it:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.prof-swco-nm{min-width:0;display:flex;flex-direction:column}
.prof-swco-nm small{color:var(--muted);font-weight:500;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prof-swco-none{font-size:12px;color:var(--muted);padding:7px 8px}

/* Show Atlas facet filters (2026-07-10): fx facets embedded in the rpx filterbar
   (do NOT restyle .rpx-filterbar itself — it is position:sticky/z-index:16 upstream) */
.rpxf-facet .fx-btn{padding:7px 12px;font-size:12.5px;border-radius:10px}
.rpxf-facet .fx-pop{width:238px;max-height:300px}
#rpxf-tokens{margin:10px 0 2px}

/* Opportunities gap hero: bento spotlight (option C) — worst gap = hero, next two = mids, tail = compact.
   Each card washed in its show's own accent (--sc). */
.gapb{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.gapb.solo{grid-template-columns:1fr}
.gapb-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.gapb-hero,.gapb-mid,.gapb-sm{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--sc) 26%,var(--line));border-radius:16px;overflow:hidden;
  background:linear-gradient(150deg,color-mix(in srgb,var(--sc) 15%,var(--card)) 0%,color-mix(in srgb,var(--sc) 4%,var(--card)) 60%,var(--card) 100%);
  transition:transform .13s,box-shadow .13s}
.gapb-hero:hover,.gapb-mid:hover,.gapb-sm:hover{transform:translateY(-3px);box-shadow:0 16px 40px color-mix(in srgb,var(--sc) 22%,transparent)}
.gapb-tag{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:color-mix(in srgb,var(--sc) 72%,var(--ink));background:color-mix(in srgb,var(--sc) 18%,var(--card));
  border-radius:20px;padding:4px 11px}
.gapb-tag.mini{padding:3px 9px;font-size:9.5px}
.gapb-id{display:flex;align-items:center;gap:11px;min-width:0}
.gapb-id .slogo,.gapb-id .sflag{width:44px;height:44px;border-radius:11px;background:var(--card);border:1px solid color-mix(in srgb,var(--sc) 22%,var(--line));
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:22px}
.gapb-id .slogo img{max-width:34px;max-height:28px;object-fit:contain}
.gapb-id.sm .slogo,.gapb-id.sm .sflag{width:34px;height:34px;border-radius:9px;font-size:17px}
.gapb-id.sm .slogo img{max-width:26px;max-height:22px}
.gapb-nm{min-width:0}
.gapb-nm b{display:block;font-size:16px;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gapb-nm span{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.gapb-fig{margin-top:2px}
.gapb-fig b{font-size:52px;font-weight:800;line-height:.95;letter-spacing:-.03em;color:color-mix(in srgb,var(--sc) 78%,var(--ink));font-variant-numeric:tabular-nums;display:block}
.gapb-fig span{font-size:12px;color:var(--muted);font-weight:600}
.gapb-fig.sm b{font-size:30px}
.gapb-say{font-size:13.5px;line-height:1.5;color:var(--ink);margin:0}
.gapb-say b{font-weight:750}
.gapb-pin{display:inline-block;font-size:11px;font-weight:800;color:var(--gold,#caa94e);white-space:nowrap}
.gapb-riv{display:flex;align-items:center}
.gapb-riv .colo{margin-right:-6px;border:1.5px solid var(--card)}
.gapb-riv i{font-style:normal;font-size:10.5px;font-weight:800;color:var(--muted);margin-left:11px}
.gapb-cta{font-size:12.5px;font-weight:800;color:color-mix(in srgb,var(--sc) 68%,var(--ink))}
/* hero */
.gapb-hero{padding:22px 24px;gap:14px}
.gapb-hero .gapb-cta{align-self:flex-start;margin-top:auto}
/* mid */
.gapb-mid{padding:17px 19px;gap:11px;flex:1}
/* honest missing-spend slot: same anatomy as a priced card, quieter figure (audit 2026-07-11) */
.gapb-fig b.na{font-size:19px;color:var(--muted);letter-spacing:0;padding:6px 0 5px}
.gapb-fig.sm b.na{font-size:17px}
.gapb-midfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
/* compact tail */
.gapb-tail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.gapb-sm{padding:15px 16px;gap:10px}
.gapb-smfoot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:2px}
.gapb-smfig{font-size:22px;font-weight:800;letter-spacing:-.02em;color:color-mix(in srgb,var(--sc) 74%,var(--ink));font-variant-numeric:tabular-nums}
@media(max-width:820px){.gapb,.gapb-tail{grid-template-columns:1fr}.gapb-fig b{font-size:42px}}


/* Platform-correct guard: the hidden attribute must always win, even against display:flex/grid
   rules on the same element (bit us twice today: .fx-pop, .fd-pop). Keep this rule LAST. */
[hidden]{display:none!important}

/* ---------- Reports table: banker's cut (Option B, user-picked) ---------- */
.rpx-tbl.bkr{width:100%;border-collapse:collapse;font-size:13px}
.rpx-tbl.bkr th{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);
  text-align:right;padding:12px 14px 9px;border-bottom:2px solid var(--ink);white-space:nowrap;cursor:pointer;background:var(--card)}
.rpx-tbl.bkr th.nm{text-align:left}
.rpx-tbl.bkr th.on{color:var(--ink)}
.rpx-tbl.bkr th small{display:block;font-size:8.5px;font-weight:700;color:var(--faint);letter-spacing:.04em;margin-top:1px;text-transform:none}
.rpx-tbl.bkr td{padding:11px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);
  text-align:right;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;background:none}
.rpx-tbl.bkr tbody tr{cursor:pointer}
.rpx-tbl.bkr tbody tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.rpx-tbl.bkr .bk-nm{text-align:left}
.bk-extmark{font-size:11px;font-weight:800;color:var(--faint);opacity:.7;margin-left:3px}
.rpx-tbl.bkr tr.bk-ext:hover .bk-extmark{color:var(--accent);opacity:1}
.rpx-tbl.bkr .bk-nmw{display:flex;align-items:center;gap:10px;min-width:0}
.rpx-tbl.bkr .bk-nmt b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.01em}
.rpx-tbl.bkr .bk-nmt em{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:var(--muted);margin-top:1px}
.rpx-tbl.bkr .bk-dot,.rpx-tbl.bkr .bk-dotc{color:color-mix(in srgb,var(--muted) 38%,transparent);font-weight:400}
.bk-score{display:inline-flex;align-items:center;gap:8px}
.bk-score b{font-size:14px;min-width:22px;text-align:right}
.bk-score i{display:inline-block;width:56px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--ink) 8%,transparent);position:relative;overflow:hidden}
.bk-score i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--sc);border-radius:3px}
.bk-delta{font-size:11.5px;font-weight:800}
.bk-delta.up{color:var(--pos,#2f9e44)}
.bk-delta.down{color:var(--neg,#e03131)}

/* opportunity map: clickable legend filters */
.lg-tgl{cursor:pointer;border-radius:7px;padding:2px 6px;margin:0 -6px;transition:background .12s,opacity .12s}
.lg-tgl:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.lg-tgl.on{background:color-mix(in srgb,var(--accent) 10%,transparent);font-weight:700}
.om-pt{transition:opacity .18s}
.om-pt.off{opacity:.10;pointer-events:none}
.om-pt.off .om-lbl{display:none}

/* opportunity map: ranked list beside the map, never over it */
.om-layout{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:14px;align-items:stretch}
.om-layout .mapcard{min-width:0}
/* map card is sized to the map's aspect ratio (set inline); the rail must not force the
   grid row taller than the map — min-height:0 lets it match the map and scroll instead. */
.om-side{min-height:0}
.om-side{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;
  display:flex;flex-direction:column;max-height:none;overflow:hidden}
.om-side .scrolly{overflow-y:auto;flex:1;min-height:0}
@media(max-width:1180px){.om-layout{grid-template-columns:1fr}.om-side{max-height:420px}}

/* dest flow view = bubble map (option B): no arcs, area-true bubbles */
.fm2-bub{opacity:.9;stroke:var(--card);stroke-width:1.5}
.fm2-pt:hover .fm2-bub{opacity:1;stroke:var(--ink)}
.fm2-cnt{font-size:11.5px;font-weight:800;fill:#fff;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}
.fm2-lbl.fm2-on{display:block !important}
.fm2-ring{fill:none;stroke:var(--gold,#caa94e);stroke-width:1.6;opacity:.55}
.fm2-ring.r2{opacity:.28}

/* advertisers page */
.bk-buyer{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--pos,#2f9e44);background:color-mix(in srgb,var(--pos,#2f9e44) 12%,transparent);border-radius:5px;padding:1px 6px;margin-left:7px;vertical-align:1px}
.bk-what{font-size:12px;font-weight:600;color:var(--muted)}
.rpx-tbl.bkr .bk-nmt{min-width:0}
.rpx-tbl.bkr .bk-nmt b{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- exposure heat matrix (gaps tab) — LIGHT, token-based (2026-07-10 final) ----
   Insulated from the app's generic table/thead/td rules; inherits app light/dark theme. */
.xg{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.xg-hd{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#b8933d);margin-bottom:12px}
.xg-scroll{overflow-x:auto}
table.xg-t{table-layout:auto;border-collapse:separate;border-spacing:4px;width:100%;min-width:720px;font-size:12.5px}
.xg-t thead th{position:static;background:transparent;border:none;padding:0 2px 8px;vertical-align:bottom;text-align:center;text-transform:none;letter-spacing:0}
.xg-t tbody td,.xg-t tfoot td{background:transparent;border:none;padding:0;vertical-align:middle;overflow-wrap:normal;word-wrap:normal}
.xg-t tbody tr{border-left:none}
.xg-col{cursor:pointer}
.xg-col:hover .xg-sn{color:var(--ink)}
.xg-fl{display:block;font-size:14px;margin-bottom:2px}
.xg-sn{display:block;font-size:10px;font-weight:700;color:var(--muted);line-height:1.2;max-width:82px;margin:0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xg-n{display:block;font-size:8.5px;color:var(--faint);margin-top:1px;letter-spacing:.04em}
.xg-c{height:28px;min-width:44px;border-radius:6px;background:color-mix(in srgb,var(--ink) 4%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);text-align:center;font-size:10px;color:#fff;transition:filter .1s}
.xg-c.on{background:#4d78ab;box-shadow:inset 0 -2px 0 rgba(0,0,0,.14)}
.xg-c.on.pri{background:var(--gold,#c9a54e);color:#10233c}
.xg-c:hover{filter:brightness(1.08);cursor:pointer}
.xg-rowh{background:transparent;white-space:nowrap;padding:0 12px 0 0;width:200px;min-width:200px;max-width:200px;overflow:hidden;text-align:left}
.xg-rowh a{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;max-width:100%}
.xg-rowh a > span:last-of-type,.xg-rowh > span:last-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:inline-block;color:var(--ink)}
.xg-rowh a:hover span{color:var(--accent)}
.xg-star{color:var(--gold,#b8933d);margin-left:6px}
.xg-plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--ink) 55%,var(--card));color:var(--card);font-size:9px;font-weight:800;margin-right:8px;vertical-align:-5px}
.xg-tot{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:700}
.xg-totn{text-align:center;font-size:13px;font-weight:800;color:var(--gold,#b8933d);padding-top:5px}
.xg-lg{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:10.5px;color:var(--muted)}
.xg-lg i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.xg-sw{width:12px;height:12px;border-radius:4px;display:inline-block}
.xg-hint{margin-left:auto;color:var(--faint)}

/* banker tables: uniform show-logo slot so every name starts at the same x and reads fully */
.rpx-tbl.bkr .bk-nmw .slogo,.rpx-tbl.bkr .bk-nmw .sflag{width:76px;min-width:76px;max-width:76px;flex:0 0 76px;
  height:30px;justify-content:center;align-items:center}
.rpx-tbl.bkr .bk-nmw .sflag{font-size:19px}
.rpx-tbl.bkr .bk-nmw .slogo img{max-width:62px;height:auto;max-height:22px}
.rpx-tbl.bkr .bk-nmt b{max-width:340px}
.rpx-tbl.bkr td.bk-nm{min-width:320px}
.rpx-tbl.bkr .bk-nmt{flex:1}
.rpx-tbl.bkr{table-layout:auto}

/* show-page competitors tab */
.cml{display:inline-flex;align-items:center;gap:9px;cursor:pointer;text-decoration:none;color:var(--ink)}
.cml .colo{width:26px;height:26px;border-radius:7px}
.cml:hover b{color:var(--accent)}
.cml-reach{font-size:10.5px;color:var(--muted);font-weight:600;margin:3px 0 0 35px}

/* the CSS attr-tooltip clips inside the scrolling compare table — floating .rpxtip replaces it there */
#rptable [data-tip]:hover::after,#rptable [data-tip]:hover::before{display:none}

/* ---------- "For your markets" ranked fit list (mm-*) — CSS was missing ---------- */
.mm-empty{padding:26px 20px;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font-size:13.5px}
.mm-row{display:flex;align-items:center;gap:14px;padding:10px 14px;margin-bottom:8px;min-width:0;
  border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mm-row.link{cursor:pointer;transition:border-color .12s,transform .12s}
.mm-row.link:hover{border-color:var(--accent);transform:translateY(-1px)}
.mm-rank{font-size:11px;font-weight:800;color:var(--faint);width:18px;text-align:right;flex:none;font-variant-numeric:tabular-nums}
.mm-fit{display:inline-flex;align-items:baseline;gap:3px;width:72px;flex:none;font-variant-numeric:tabular-nums}
.mm-fit b{font-size:17px;font-weight:800;letter-spacing:-.01em}
.mm-fit i{font-style:normal;font-size:10px;font-weight:700;color:var(--muted)}
.mm-fit.hi b{color:var(--pos,#2f9e44)}
.mm-fit.mid b{color:var(--amber,#d9820f)}
.mm-fit.lo b{color:var(--muted)}
.mm-id{display:flex;align-items:center;gap:10px;width:264px;flex:none;min-width:0}
.mm-id .slogo,.mm-id .sflag{width:64px;min-width:64px;max-width:64px;height:26px;justify-content:center;align-items:center}
.mm-id .slogo img{max-width:52px;height:auto;max-height:19px}
.mm-id .sflag{font-size:17px}
.mm-nm{min-width:0}
.mm-nm b{display:block;font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-nm em{display:block;font-style:normal;font-size:11px;font-weight:600;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.mm-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--ink) 6%,transparent);max-width:430px}
.mm-bar i{display:block;height:100%}
.mm-facts{font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-conf{flex:none;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:4px 9px}
.mm-conf.hi{color:var(--pos,#2f9e44);background:color-mix(in srgb,var(--pos,#2f9e44) 12%,transparent)}
.mm-conf.mid{color:var(--amber,#d9820f);background:color-mix(in srgb,var(--amber,#d9820f) 13%,transparent)}
.mm-conf.lo{color:var(--muted);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.mm-go{flex:none;width:72px;text-align:right;font-size:12px;font-weight:700;color:var(--accent);text-decoration:none;white-space:nowrap}
.mm-go:hover{text-decoration:underline}
.mm-nodata{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.6}
.mm-allnote{margin:0 0 10px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--gold,#caa94e) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--gold,#caa94e) 35%,transparent);border-radius:9px;padding:8px 12px}
@media(max-width:900px){.mm-mid{display:none}.mm-id{width:auto;flex:1}}

/* ---- Potential Agents: market playbooks + fit dossiers (2026-07-10) ---- */
.agm{margin-bottom:22px}
.agm-h{display:flex;align-items:baseline;gap:12px;padding:8px 2px;border-bottom:2px solid var(--ink)}
.agm-h h3{font-size:16px;margin:0;letter-spacing:-.01em}
.agm-tag{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold,#b8933d);border:1px solid var(--gold,#b8933d);border-radius:12px;padding:2px 9px;white-space:nowrap}
.agm-n{font-size:12px;color:var(--faint);margin-left:auto;white-space:nowrap}
.agm-n b{color:var(--pos)}
.agm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:11px;margin-top:11px}
.agd{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 15px;display:flex;flex-direction:column;gap:8px}
.agd.top{border-color:color-mix(in srgb,var(--pos) 45%,var(--line))}
.agd-h{display:flex;align-items:center;gap:9px}
.agd-t{min-width:0;flex:1}
.agd-t b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agd-t a{cursor:pointer;color:inherit}
.agd-t a:hover b{color:var(--accent)}
.agd-t span{display:block;font-size:11px;color:var(--faint)}
.agd-fit{text-align:right;flex:0 0 auto}
.agd-fit b{font-size:19px;font-weight:800;color:var(--fc);display:block;line-height:1;font-variant-numeric:tabular-nums}
.agd-fit span{font-size:9.5px;font-weight:800;letter-spacing:.07em;color:var(--muted);text-transform:uppercase}
.agd-why{font-size:12px;color:var(--muted);line-height:1.5}
.agd-why b{color:var(--ink)}
.agd-match{display:flex;flex-wrap:wrap;gap:5px}
.agd-match i{font-style:normal;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:12px}
.agd-hit{background:color-mix(in srgb,var(--pos) 12%,transparent);color:var(--pos)}
.agd-oth{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}
.agd-foot{display:flex;gap:7px;margin-top:auto}

/* ---------- Admin › Data Pipeline console ---------- */
.pp-kpis .cv-kpi .n{display:flex;align-items:baseline;gap:5px}
.pp-of{font-size:15px;font-weight:700;color:var(--faint)}
.pp-sec{margin-top:22px}
.pp-sec-h h3{font-size:16px;letter-spacing:-.01em;margin:0 0 11px}
.pp-tbl{width:100%;border-collapse:collapse;font-size:13px}
.pp-tbl thead th{text-align:left;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);
  padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.pp-tbl thead th.pp-num,.pp-tbl td.pp-num{text-align:right}
.pp-tbl td{padding:11px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}
.pp-tbl tbody tr:last-child td{border-bottom:0}
.pp-row{transition:background .12s}
.pp-row:not(.queued){cursor:pointer}
.pp-row:not(.queued):hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.pp-row.queued{opacity:.92}
.pp-nm b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.pp-nm span{display:block;font-size:11px;color:var(--faint);margin-top:1px}
.pp-num b{font-size:14px}
.pp-prog{min-width:120px}
.pp-bar{height:7px;border-radius:4px;background:var(--line);overflow:hidden;display:inline-block;width:74px;vertical-align:middle;margin-right:8px}
.pp-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--pos),color-mix(in srgb,var(--pos) 55%,#6ad6a0))}
.pp-prog span{font-size:11.5px;font-weight:700;color:var(--muted)}
.pp-src{font-size:12px;font-weight:700;color:var(--accent);text-decoration:none}
.pp-src:hover{text-decoration:underline}
.pp-src.none{color:var(--faint);font-weight:600}
.pp-conf{font-size:11px;font-weight:700;color:var(--muted);text-transform:capitalize}
.pp-conf.high{color:var(--pos)}
.pp-stages{white-space:nowrap}
.pp-st{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;margin-right:9px;color:var(--faint)}
.pp-st.done{color:var(--pos)}
.pp-st.partial{color:var(--gold,#caa94e)}
.pp-st.todo{color:var(--faint);opacity:.7}
.pp-b{font-size:11px;font-weight:800;padding:3px 10px;border-radius:100px;background:var(--off-soft,color-mix(in srgb,var(--ink) 6%,transparent));color:var(--muted);white-space:nowrap}
.pp-b.ok{background:color-mix(in srgb,var(--pos) 15%,transparent);color:var(--pos)}
.pp-b.queued{background:color-mix(in srgb,var(--gold,#caa94e) 16%,transparent);color:var(--gold,#caa94e)}
@media(max-width:820px){.pp-stages .pp-st span{display:none}.pp-prog{min-width:80px}}

/* ---------- stat sheet overlay (Tradeshow Data cards, Option B) ---------- */
.rpx-act-sheet{background:var(--accent);border-color:var(--accent);color:#fff!important;font-weight:800}
.rpx-act-sheet:hover{filter:brightness(1.1)}
.ssh-ov{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:22px;
  background:rgba(5,13,26,0);backdrop-filter:blur(0px);transition:background .28s ease,backdrop-filter .28s ease;pointer-events:none}
.ssh-ov.on{background:rgba(5,13,26,.62);backdrop-filter:blur(9px);pointer-events:auto}
.ssh{width:min(780px,100%);max-height:92vh;overflow:auto;background:var(--card);border-radius:20px;
  box-shadow:0 40px 110px rgba(4,10,22,.55),0 0 0 1px color-mix(in srgb,var(--sc,var(--accent)) 25%,transparent);
  padding:22px 26px 20px;position:relative;
  opacity:0;transform:translateY(26px) scale(.95);transition:opacity .3s ease,transform .42s cubic-bezier(.2,1.25,.3,1)}
.ssh-ov.on .ssh{opacity:1;transform:none}
.ssh::before{content:"";position:absolute;inset:0 0 auto 0;height:110px;border-radius:20px 20px 0 0;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--sc,var(--accent)) 10%,transparent),transparent)}
.ssh-hd{display:flex;align-items:center;gap:13px;margin-bottom:14px;position:relative}
.ssh-hd .slogo,.ssh-hd .sflag{height:36px;font-size:26px}
.ssh-t b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em}
.ssh-t span{font-size:12px;font-weight:600;color:var(--muted)}
.ssh-x{margin-left:auto;border:0;background:color-mix(in srgb,var(--ink) 6%,transparent);width:32px;height:32px;border-radius:10px;
  color:var(--muted);font-size:14px;cursor:pointer}
.ssh-x:hover{background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)}
.ssh-kpis{display:flex;gap:28px;flex-wrap:wrap;margin:2px 0 16px;position:relative}
.ssh-kpi b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ssh-kpi b em{font-style:normal;font-size:12px;color:var(--faint);font-weight:800}
.ssh-kpi b.up{color:var(--pos,#2f9e44)}.ssh-kpi b.down{color:var(--neg,#e03131)}
.ssh-kpi span{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.ssh-pills{display:inline-flex;gap:3px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:11px;padding:4px;margin-bottom:16px}
.ssh-pills button{border:0;background:none;font:inherit;font-weight:700;font-size:12.5px;color:var(--muted);padding:6px 13px;border-radius:8px;cursor:pointer}
.ssh-pills button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.16)}
.ssh-chart{display:flex;align-items:flex-end;gap:10px;min-height:196px;padding:0 2px;margin-bottom:6px}
.ssh-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}
.ssh-col i{width:100%;max-width:54px;height:var(--h);border-radius:7px 7px 0 0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--sc,var(--accent)) 75%,#fff 0%),color-mix(in srgb,var(--sc,var(--accent)) 100%,#000 22%));
  transform:scaleY(0);transform-origin:bottom;animation:ssh-grow .55s cubic-bezier(.2,1.1,.3,1) forwards}
.ssh-col.last i{box-shadow:0 0 0 2px color-mix(in srgb,var(--sc,var(--accent)) 35%,transparent)}
@keyframes ssh-grow{to{transform:scaleY(1)}}
.ssh-col b{font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.ssh-col em{font-style:normal;font-size:9.5px;font-weight:800;min-height:12px}
.ssh-col em.up{color:var(--pos,#2f9e44)}.ssh-col em.down{color:var(--neg,#e03131)}
.ssh-col span{font-size:10px;font-weight:800;color:var(--faint)}
.ssh-col span u{text-decoration:none;font-size:8px;color:var(--amber,#d9820f);margin-left:2px;vertical-align:1px}
.ssh-tblwrap{overflow-x:auto;margin-top:8px}
.ssh-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.ssh-tbl th{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  text-align:right;padding:8px;border-bottom:2px solid var(--ink)}
.ssh-tbl th:first-child{text-align:left}
.ssh-tbl td{padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);
  text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.ssh-tbl td:first-child{text-align:left;font-weight:800}
.ssh-dot{color:color-mix(in srgb,var(--muted) 38%,transparent)}
.ssh-src{margin-top:14px;font-size:11.5px;color:var(--muted)}
.ssh-src a{color:var(--accent);font-weight:700;text-decoration:none}
@media (prefers-reduced-motion:reduce){.ssh,.ssh-ov{transition:none}.ssh-col i{animation:none;transform:none}}

/* agent triage: tabs + card actions */
/* agents triage tabs: the app's standard underline idiom (audit design pass — was a third dark-filled style) */
.agv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}
.agv-tabs button{font:inherit;font-size:13.5px;font-weight:700;padding:10px 14px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .12s}
.agv-tabs button:hover{color:var(--ink)}
.agv-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.agv-tabs button span{font-size:10.5px;font-weight:800;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:10px;padding:1px 7px}
.agv-tabs button.on span{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.agt-spacer{flex:1}
.agt-star{font-size:15px;line-height:1;border:1px solid var(--line);background:var(--card);border-radius:8px;width:32px;height:30px;cursor:pointer;color:var(--faint)}
.agt-star:hover{border-color:var(--gold,#b8933d);color:var(--gold,#b8933d)}
.agt-star.on{color:var(--gold,#b8933d);border-color:var(--gold,#b8933d);background:color-mix(in srgb,var(--gold,#b8933d) 10%,var(--card))}
.agt-x{font-size:16px;line-height:1;border:1px solid var(--line);background:var(--card);border-radius:8px;width:32px;height:30px;cursor:pointer;color:var(--faint)}
.agt-x:hover{border-color:var(--neg);color:var(--neg)}
.agd.shorted{border-color:var(--gold,#b8933d);background:linear-gradient(150deg,color-mix(in srgb,var(--gold,#b8933d) 7%,var(--card)),var(--card) 55%)}
.agt-restore{color:var(--pos) !important}

/* pipeline: scraped relevance verdict */
.pp-mt{font-size:11px;color:var(--faint);font-weight:600}
.pp-vd{font-size:11px;font-weight:800;padding:3px 11px;border-radius:100px;white-space:nowrap}
.pp-vd.relevant{background:color-mix(in srgb,var(--pos) 15%,transparent);color:var(--pos)}
.pp-vd.subset{background:color-mix(in srgb,var(--gold,#caa94e) 16%,transparent);color:var(--gold,#caa94e)}
.pp-vd.check{background:color-mix(in srgb,var(--neg) 13%,transparent);color:var(--neg)}
.pp-b.scr{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}

/* Market intel divider at the end of Tradeshow Data */
.mi-divider{display:flex;align-items:center;gap:14px;margin:34px 0 14px;color:var(--ink);font-size:15px;font-weight:800;letter-spacing:-.01em}
.mi-divider::before{content:"";width:4px;height:20px;border-radius:3px;background:var(--accent)}
.mi-divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- Compare-shows tab + embedded sections (Tradeshow Data consolidation) ---------- */
.cmpx-pick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 16px}
.cmpx-picklab{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.cmpx-picklab small{display:block;font-size:8.5px;color:var(--faint);letter-spacing:.03em;text-transform:none}
.cmpx-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;font-size:12px;font-weight:700;
  color:var(--muted);padding:6px 12px;cursor:pointer;transition:.12s}
.cmpx-chip:hover{border-color:var(--accent)}
.cmpx-chip.on{background:var(--navy,#0b1d33);border-color:var(--navy,#0b1d33);color:#fff}
.cmpx-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.cmpx-tbl{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:auto;min-width:0}
.cmpx-tbl th{padding:14px;border-bottom:2px solid var(--ink);vertical-align:bottom}
.cmpx-h{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
.cmpx-h .slogo,.cmpx-h .sflag{height:26px;margin-bottom:2px}
.cmpx-h b{font-size:14px;font-weight:800}
.cmpx-h em{font-style:normal;font-size:11px;font-weight:600;color:var(--muted)}
.cmpx-hact{display:flex;gap:10px;margin-top:3px}
.cmpx-hact a{font-size:10.5px;font-weight:700;color:var(--accent);cursor:pointer}
.cmpx-hact a[data-uncmp]{color:var(--faint)}
.cmpx-hact a:hover{text-decoration:underline}
.cmpx-tbl td{padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);
  font-weight:700;font-variant-numeric:tabular-nums;text-align:left}
.cmpx-k{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.cmpx-tbl td.best{background:color-mix(in srgb,var(--pos,#2f9e44) 10%,transparent);color:var(--pos,#2f9e44);border-radius:6px}
.scl-scope{margin-left:auto}
/* embedded pages inside Data tabs: neutralize their page paddings */
#cx-embed .wrap,#tr-embed .wrap,#scl-embed .wrap{padding:0;max-width:none}
#cx-embed .showhead h1,#tr-embed .showhead h1{font-size:22px}

/* profile admin toggle */
.prof-admin{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:14px;padding:16px 18px;background:color-mix(in srgb,var(--accent) 4%,transparent)}
/* ---------- briefing v2: countdown, cycle strip, pipeline band, circuit health, opp chips ---------- */
.bf-count{flex:0 0 auto;display:flex;align-items:center;gap:10px;border:1.5px solid var(--gold,#caa94e);border-radius:14px;padding:10px 16px}
.bf-count b{font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bf-count span{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.tc-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 0 8px}
.tc-card{flex:0 0 250px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:11px 13px;cursor:pointer;
  display:flex;flex-direction:column;gap:9px;transition:border-color .12s,transform .12s;min-width:0}
.tc-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.tc-card.mine{border-color:color-mix(in srgb,var(--gold,#caa94e) 65%,var(--line));box-shadow:inset 0 2px 0 var(--gold,#caa94e)}
.tc-when{display:flex;align-items:baseline;gap:8px}
.tc-when b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.tc-when span{font-size:10.5px;font-weight:700;color:var(--faint)}
.tc-m{display:flex;align-items:center;gap:9px;min-width:0}
.tc-m .slogo,.tc-m .sflag{height:24px;flex:none}
.tc-t{min-width:0}
.tc-t b{display:block;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-t em{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-chips{display:flex;gap:5px;flex-wrap:wrap}
.tc-chips i{font-style:normal;font-size:10px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:5px;padding:2px 7px}
.tc-chips .tc-you{color:#8a6d1f;background:color-mix(in srgb,var(--gold,#caa94e) 22%,transparent)}
.pl-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pl-tile{border:1px solid var(--line);border-radius:13px;background:var(--card);padding:14px 16px;cursor:pointer;transition:border-color .12s,transform .12s}
.pl-tile:hover{border-color:var(--accent);transform:translateY(-1px)}
.pl-tile b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pl-tile b em{font-style:normal;font-size:14px;color:var(--faint);font-weight:800}
.pl-tile span{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:3px;line-height:1.45}
.pl-tile.pos b{color:var(--pos,#2f9e44)}
.pl-tile.warn{border-color:color-mix(in srgb,var(--amber,#d9820f) 50%,var(--line))}
.pl-tile.warn b{color:var(--amber,#d9820f)}
.ch-chips{display:flex;flex-wrap:wrap;gap:7px}
.ch-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);
  padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .12s}
.ch-chip:hover{border-color:var(--accent)}
.ch-chip b{font-size:11px;font-weight:800}
.ch-chip b.up{color:var(--pos,#2f9e44)}
.ch-chip b.down{color:var(--neg,#e03131)}
.bf-oppchips{display:flex;gap:10px;flex-wrap:wrap}
.bf-oppchip{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);
  padding:10px 15px;cursor:pointer;transition:border-color .12s,transform .12s}
.bf-oppchip:hover{border-color:var(--accent);transform:translateY(-1px)}
.bf-oppchip b{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
.bf-oppchip span{font-size:13px;font-weight:700}
.bf-oppchip em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.bf-acts{display:inline-flex;align-items:center;gap:10px}
.bf-acts a{font-size:11.5px;font-weight:700;color:var(--accent);cursor:pointer;white-space:nowrap}
.bf-acts a:hover{text-decoration:underline}

/* My Company: corner settings gear + popover (replaces the body Admin box) */
.prof-set{position:relative;flex:none;align-self:flex-start}
.prof-set-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;border:1px solid var(--line);
  background:var(--card);color:var(--muted);cursor:pointer;box-shadow:var(--shadow);transition:.14s}
.prof-set-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.prof-set-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:290px;
  background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 50px rgba(13,30,50,.22);padding:12px}
.prof-set-h{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 2px 9px}
.prof-set-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:2px}
.prof-set-row input{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);flex:none;cursor:pointer}
.prof-set-row b{display:block;font-size:13px;color:var(--ink);font-weight:700}
.prof-set-row small{display:block;font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:3px}

/* ---------- Briefing: Command Map hero (demand + footprint + ranked opportunities) ---------- */
.bf-cmd{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;margin:6px 0 20px;height:clamp(360px,46vh,500px)}
.bf-cmd-map{position:relative;height:100%;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#0f1d31,#0b1524);border:1px solid #1c2f47}
.bf-svg{display:block;width:100%;height:100%}
.bf-land{fill:#1a2c44;stroke:#243b58;stroke-width:.4}
.bf-dem{fill:#4d8dff;fill-opacity:.4;stroke:#7fb0ff;stroke-width:.5}
.bf-bk{fill:none;stroke:var(--gold,#caa94e);stroke-width:1.6;stroke-dasharray:2.4 2}
.bf-bkc{fill:var(--gold,#caa94e)}
.bf-gap{fill:#e8892b}
.bf-gappulse{fill:none;stroke:#e8892b;stroke-width:1.4;opacity:.55;animation:bfpulse 2.4s ease-out infinite}
@keyframes bfpulse{0%{r:5;opacity:.55}100%{r:15;opacity:0}}
.bf-gaplbl{fill:#fff;font-size:8.5px;font-weight:800;paint-order:stroke;stroke:#0b1524;stroke-width:2.4px;stroke-linejoin:round}
.bf-pills{position:absolute;top:12px;right:12px;display:flex;gap:8px}
.bf-pill{background:rgba(10,20,34,.72);backdrop-filter:blur(6px);border:1px solid rgba(120,150,190,.22);border-radius:11px;padding:8px 13px;text-align:center;min-width:60px}
.bf-pill b{display:block;font-size:21px;font-weight:820;line-height:1;color:#fff}
.bf-pill.g b{color:#f0a94e}.bf-pill.money b{color:#f0a94e;font-size:18px}
.bf-pill span{font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9fb2c9;margin-top:4px;display:block}
.bf-mleg{position:absolute;left:12px;bottom:11px;display:flex;gap:14px;flex-wrap:wrap;font-size:10.5px;font-weight:600;color:#c4d2e2}
.bf-mleg i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:middle}
.bf-cmd-op{background:var(--card);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0}
.bf-op-h{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid var(--line2);flex:none}
.bf-op-h b{font-size:14px;font-weight:800}.bf-op-h span{font-size:11px;font-weight:700;color:var(--faint)}
.bf-op-list{overflow-y:auto;flex:1;min-height:0}
.bf-op-row{display:flex;align-items:center;gap:11px;padding:8px 15px;border-bottom:1px solid var(--line2);cursor:pointer;text-decoration:none;color:inherit}
.bf-op-row:last-child{border-bottom:0}
.bf-op-row:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.bf-op-sc{font-size:17px;font-weight:820;width:30px;text-align:center;font-variant-numeric:tabular-nums;flex:none}
.bf-op-sc.go{color:var(--pos)}.bf-op-sc.amber{color:var(--gold,#caa94e)}.bf-op-sc.slate{color:var(--muted)}.bf-op-sc.gold{color:var(--gold,#caa94e)}
.bf-op-n{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-op-s{font-size:11px;font-weight:700;margin-top:1px;text-transform:capitalize}
.bf-op-s.go{color:var(--pos)}.bf-op-s.amber{color:var(--gold,#caa94e)}.bf-op-s.slate{color:var(--muted)}.bf-op-s.gold{color:var(--gold,#caa94e)}
.bf-op-s span{color:var(--faint);font-weight:600;text-transform:none}
@media(max-width:900px){.bf-cmd{grid-template-columns:1fr;height:auto}.bf-cmd-map{height:300px}.bf-cmd-op{height:380px}}

/* ---------- social-proof hover popover (who else is on this floor) ---------- */
.sp-pop{position:fixed;z-index:95;width:372px;background:var(--card);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 22px 60px rgba(8,18,34,.3);padding:13px 15px 12px;animation:sochubfade .16s ease}
.sp-head{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.sp-sec{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:9px 0 5px}
.sp-sec:first-of-type{margin-top:0}
.sp-row{display:flex;align-items:center;gap:9px;padding:4px 0;min-width:0}
.sp-row .colo{width:24px;height:24px;border-radius:7px;flex:none}
.sp-t{min-width:0;flex:1}
.sp-t b{display:block;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-t em{display:block;font-style:normal;font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-reach{flex:none;font-size:10px;font-weight:800;color:var(--faint);font-variant-numeric:tabular-nums}
.sp-riv{margin-top:9px;font-size:11px;font-weight:600;color:var(--amber,#d9820f);border-top:1px dashed var(--line);padding-top:8px}
.sp-riv a{color:var(--accent);cursor:pointer;font-weight:700}
.sp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;border-top:1px solid var(--line);padding-top:9px;
  font-size:11px;font-weight:600;color:var(--muted)}
.sp-foot a{color:var(--accent);font-weight:700;cursor:pointer;white-space:nowrap}
.sp-foot a:hover{text-decoration:underline}
@media (hover:none){.sp-pop{display:none}}

/* ---------- vendored SVG flags (option C) ---------- */
.fxi{width:21px;height:16px;border-radius:3px;object-fit:cover;vertical-align:-3px;
  box-shadow:inset 0 0 0 1px rgba(13,30,50,.16);display:inline-block;background:#eef1f5}
.sflag .fxi{width:27px;height:20px;border-radius:4px}
.pv-flag .fxi,.rpx-flag .fxi{width:30px;height:22px;border-radius:5px}
.cx-flag .fxi,.tc-chips .fxi{width:17px;height:13px;border-radius:2.5px}
.cal-chip .fxi,.sp-t .fxi,.mm-nm .fxi{width:16px;height:12px;border-radius:2.5px;vertical-align:-1.5px}

/* map fullscreen (⤢ button): native Fullscreen API + CSS fallback */
#mapcard:fullscreen,#mapcard:-webkit-full-screen{width:100vw;height:100vh;border-radius:0}
#mapcard.mzfull-css{position:fixed;inset:0;z-index:9999;width:100vw;height:100vh;border-radius:0}

/* ---------- polish: toasts, skeletons, focus visibility ---------- */
#toasts{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:var(--navy,#0b1d33);color:#fff;font-size:13px;font-weight:600;
  border-radius:12px;padding:11px 18px;box-shadow:0 12px 34px rgba(6,14,26,.4);opacity:0;transform:translateY(10px);transition:opacity .25s,transform .3s cubic-bezier(.2,1.2,.3,1)}
.toast.on{opacity:1;transform:none}
.toast-undo{border:0;background:rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:12px;border-radius:8px;padding:5px 11px;cursor:pointer}
.toast-undo:hover{background:rgba(255,255,255,.24)}
.sk{position:relative;overflow:hidden;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:10px}
.sk::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:skm 1.25s infinite}
@keyframes skm{to{transform:translateX(100%)}}
.sk-title{width:min(360px,60%);height:30px;margin:28px 0 10px}
.sk-sub{width:min(540px,85%);height:14px;margin-bottom:24px}
.sk-krow{display:flex;gap:12px;margin-bottom:24px}
.sk-kpi{flex:1;height:88px;border-radius:14px}
.sk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sk-card{height:230px;border-radius:16px}
@media(max-width:900px){.sk-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sk::after{animation:none}}
a[onclick]{cursor:pointer}
a[onclick]:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible,.stab:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}

/* ---------- show reviews tab (10times aggregate + rebook rate) ---------- */
.rv2-top{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start;margin:6px 0 14px}
.rv2-score b{display:block;font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1}
.rv2-stars{display:block;color:var(--gold,#caa94e);font-size:15px;letter-spacing:2px;margin:4px 0}
.rv2-score em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted)}
.rv2-bd{min-width:220px}
.rv2-bdr{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;color:var(--muted);margin-bottom:3px}
.rv2-bdr i{flex:1;height:7px;border-radius:4px;background:color-mix(in srgb,var(--ink) 7%,transparent);overflow:hidden;display:block}
.rv2-bdr b{display:block;height:100%;background:var(--gold,#caa94e);border-radius:4px}
.rv2-bdr em{font-style:normal;width:20px;text-align:right;font-variant-numeric:tabular-nums}
.rv2-rebook{border:1.5px solid var(--gold,#caa94e);border-radius:13px;padding:11px 16px;margin-left:auto}
.rv2-rebook b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em}
.rv2-rebook span{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.6}
.rv2-themes{margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rv2-th{font-size:11px;font-weight:700;border-radius:7px;padding:4px 10px}
.rv2-th.pos{color:var(--pos,#2f9e44);background:color-mix(in srgb,var(--pos,#2f9e44) 11%,transparent)}
.rv2-th.neg{color:var(--amber,#d9820f);background:color-mix(in srgb,var(--amber,#d9820f) 12%,transparent)}
.rv2-one{flex-basis:100%;font-size:12.5px;color:var(--muted);font-weight:600;margin-top:3px}
.rv2-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.rv2-r{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 15px}
.rv2-rh{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.rv2-rs{color:var(--gold,#caa94e);font-size:12px;letter-spacing:1px}
.rv2-role{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:2px 7px}
.rv2-role.vi{color:var(--blue,#1971c2);background:color-mix(in srgb,#1971c2 12%,transparent)}
.rv2-role.ex{color:var(--pos,#2f9e44);background:color-mix(in srgb,var(--pos,#2f9e44) 12%,transparent)}
.rv2-rh b{font-size:12.5px;font-weight:800}
.rv2-meta{font-size:11px;color:var(--muted);font-weight:600}
.rv2-rh i{margin-left:auto;font-style:normal;font-size:10.5px;color:var(--faint);font-weight:700}
.rv2-r p{margin:0;font-size:13px;line-height:1.6;color:var(--ink)}
.sh-rating{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:800;color:var(--gold,#8a6d1f);cursor:pointer}
.sh-rating:hover{text-decoration:underline}
.rv2-tags{display:block;margin-top:6px}
.rv2-tag{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:3px 8px;margin-right:5px;
  color:var(--muted);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.rv2-tag.warn{color:var(--amber,#d9820f);background:color-mix(in srgb,var(--amber,#d9820f) 13%,transparent)}

/* blue-ocean tier badges (Competitor HQ chips) + thin strip (Opportunities) */
.bo-tag{font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:1.5px 6px;margin-left:6px;
  color:var(--muted);background:color-mix(in srgb,var(--ink) 8%,transparent)}
.chip.bo-proven{border-color:color-mix(in srgb,var(--pos,#2f9e44) 55%,var(--line))}
.chip.bo-proven .bo-tag{color:var(--pos,#2f9e44);background:color-mix(in srgb,var(--pos,#2f9e44) 12%,transparent)}
.chip.bo-promising .bo-tag{color:var(--amber,#d9820f);background:color-mix(in srgb,var(--amber,#d9820f) 13%,transparent)}
.chip.bo-thin{opacity:.62}
.wsx-strip.thin{color:var(--muted);border-left:3px solid var(--line)}

/* competitors tab — open-floor zero-state (shown when no direct rivals exhibit) */
.cmp-empty{padding:30px 26px;border:1px solid var(--line);border-radius:16px;background:var(--card);max-width:640px}
.cmp-empty-big{font-size:17px;font-weight:800;color:var(--pos,#2f9e44);letter-spacing:-.01em;margin-bottom:10px}
.cmp-empty p{margin:0 0 8px;font-size:14px;line-height:1.6}
.cmp-empty-sub{color:var(--muted);font-size:13px}

/* country card: filtered show ordering — divider + dimmed non-matching rows */
.ma-srdiv{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:8px 4px 4px;padding-top:7px;border-top:1px dashed var(--line)}
.ma-showrow.dim{opacity:.55}
.ma-showrow.dim:hover{opacity:1}
