/* Build 19 · workspace shell, taken from the creator's mockups.
   Tokens first; every rule below reads from them. */
.hos-places {
  --x-bg:#06111b; --x-panel:#0b1a27; --x-panel-2:#0e2131; --x-line:#233a4c; --x-line-2:#2f4b60;
  --x-ink:#e7ecf0; --x-muted:#9aacbb; --x-dim:#6f8394;
  /* The printed state — fjord accents. The former gold tokens now carry sea-teal so every
     var(--x-gold) reference flips at once; real gold survives only as --x-earn, spent on
     earned/reward moments (a clear desk, a governing-record streak, a win). */
  --x-gold:#53aab9; --x-gold-2:#2f7d8f; --x-gold-ink:#06202a; --x-cyan:#6fd6de; --x-cyan-dim:#2c6f78;
  --x-sea:#1e6b7c; --x-sea-deep:#124854; --x-seal:#b22c3c;
  --x-earn:#53aab9; --x-earn-2:#caa24e; --x-earn-ink:#1a1407;
  --x-good:#6fcf97; --x-warn:#e6a04b; --x-bad:#e0605a;
  --x-paper:#ece8dc; --x-paper-2:#e3dece; --x-paper-line:#e7eced; --x-paper-ink:#16242b; --x-paper-dim:#55504170;
  --x-radius:6px; --x-rail:268px; --x-right:392px;
  --x-caps:'Archivo Narrow','Arial Narrow',system-ui,sans-serif;
  --x-sans:'IBM Plex Sans',Inter,system-ui,sans-serif;
  --x-serif:'Spectral',Georgia,'Times New Roman',serif;
  --x-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
}

/* ── Header ─────────────────────────────────────────── */
.hos-places .hp-header { padding:12px 22px; gap:18px; background:linear-gradient(#0a1622,#07121b); border-bottom:1px solid #124854; }
.hos-places .hp-brand strong { font:600 22px/1 var(--x-caps); letter-spacing:4px; }
.hos-places .hp-brand small { letter-spacing:3px; font-size:10.5px; }
.hos-places .hp-stats { display:flex; align-items:center; gap:0; margin-left:auto; }
.hos-places .hp-stats>div { padding:0 20px; border-left:1px solid #2b3f50; text-align:center; }
.hos-places .hp-stats>div:first-child { border-left:0; }
.hos-places .hp-stats small { font-size:11px; color:#aab7c2; }
.hos-places .hp-stats strong { font:500 20px/1.25 var(--x-sans); color:var(--x-gold); font-variant-numeric:tabular-nums; }
.hos-places .hx-season { display:flex; align-items:center; gap:10px; padding-right:20px; }
.hos-places .hx-season .va-icon { width:22px; height:22px; color:var(--x-gold); }
.hos-places .hx-season strong { font-size:18px; color:var(--x-gold); }
.hos-places .hx-season span { color:var(--x-muted); font-size:14px; }
.hos-places .hp-header>button { padding:9px 22px; border-color:#566b7b; }

/* ── Quarter steps ──────────────────────────────────── */
.hos-places .hp-turn { padding:0 22px; background:#08141f; border-bottom:1px solid #124854; gap:0; }
.hos-places .hp-turn>button { flex:1; text-align:center; padding:13px 10px; color:#c7ced4; font-size:14.5px; position:relative; }
.hos-places .hp-turn>button+button::before { content:''; position:absolute; left:0; top:14px; bottom:14px; border-left:1px solid #2d4152; }
.hos-places .hp-turn>button b { font-weight:400; color:#9fb0bd; margin-right:2px; }
.hos-places .hp-turn>button.active { color:var(--x-gold); box-shadow:inset 0 -2px var(--x-gold); }
.hos-places .hp-allowance { display:flex; align-items:center; gap:16px; padding-left:22px; border-left:1px solid #2d4152; color:#cfd6dc; font-size:13.5px; white-space:nowrap; }
.hos-places .hp-allowance .va-icon { width:18px; height:18px; color:#b9c3cb; vertical-align:-4px; margin-right:6px; }
.hos-places .hp-allowance i { display:none; }

/* ── Footer / press strip ───────────────────────────── */
.hos-places .hp-footer { padding:10px 22px; gap:26px; background:#07121b; border-top:1px solid #124854; }
.hos-places .hp-footer strong { font:600 13px var(--x-caps); letter-spacing:3px; color:var(--x-gold); }
.hos-places .hp-footer>span { font-size:14.5px; color:#dde3e8; flex:0 1 auto; }
.hos-places .hp-footer>button:first-of-type { color:#9fb0bd; margin-right:auto; }
.hos-places .hp-footer>button.hx-return { border:1px solid var(--x-gold-2); color:var(--x-gold); padding:10px 26px; font-size:15px; min-width:230px; display:flex; justify-content:space-between; gap:16px; }
.hos-places .hp-footer small { color:#56697a; }

/* ── Fixed viewport on desktop: header / steps / body / press, body columns scroll ── */
@media (min-width:1000px) and (min-height:600px) {
  #root:has(.hos-places) { overflow:hidden; }
  .hos-places { height:100vh; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
  .hos-places>.hp-header,.hos-places>.hp-turn,.hos-places>.hp-footer { flex:none; }
  .hos-places>.hp-shell { flex:1; min-height:0; }
  .hos-places .hp-sidebar,.hos-places .hp-content { overflow:auto; overscroll-behavior:contain; }
  .hos-places.hx-mode>.hp-shell { display:block; }
  .hos-places.hx-mode .hp-content { height:100%; padding:0; overflow:hidden; background:none; }
  .hx-workspace { height:100%; display:flex; flex-direction:column; }
  /* Build 31 fix: the office strip (Build 30) sits above the workspace inside the content column; with the workspace at
     100% height the bottom of every office page was pushed under the footer and could not be scrolled to. */
  .hos-places.hx-mode .hp-content { display:flex; flex-direction:column; }
  .hos-places.hx-mode .hp-content>* { flex:none; }
  .hos-places.hx-mode .hp-content>.hx-workspace { flex:1 1 auto; min-height:0; height:auto; }
  .hx-body { flex:1; min-height:0; }
  .hx-rail,.hx-center,.hx-right { overflow:auto; overscroll-behavior:contain; }
}
.hos-places.hx-mode>.hp-shell>.hp-sidebar { display:none; }
.hos-places.hx-mode .hp-content { padding:0; }

/* ── Workspace grid ─────────────────────────────────── */
.hx-workspace { background:var(--x-bg); color:var(--x-ink); font-family:var(--x-sans); }
.hx-body { display:grid; grid-template-columns:var(--x-rail) minmax(0,1fr) var(--x-right); }
.hx-no-right .hx-body,.hx-wide .hx-body { grid-template-columns:var(--x-rail) minmax(0,1fr); }
.hx-center { padding:22px 26px 30px; border-left:1px solid var(--x-line); border-right:1px solid var(--x-line); min-width:0; }
.hx-right { padding:18px 16px 24px; background:#081624; }
.hx-right:has(.hx-draft-slot:not(:empty)) .hx-right-default>.hx-hide-with-draft { display:none; }
.hx-draft-slot:not(:empty) { margin-bottom:16px; }

/* ── Banner ─────────────────────────────────────────── */
.hx-banner { position:relative; display:flex; align-items:center; gap:22px; min-height:118px; padding:14px 26px; border-bottom:1px solid #124854;
  background-image:linear-gradient(90deg,#06111bf5 0%,#06111bd0 34%,#06111b40 70%,#06111b90),url('institution-art.png'); background-size:100% 100%,200% 300%; background-position:0 0,var(--room-pos,0 0); }
.hx-banner.room-treasury { --room-pos:0% 0%; } .hx-banner.room-intelligence { --room-pos:100% 0%; } .hx-banner.room-military { --room-pos:0% 50%; }
.hx-banner.room-congress { --room-pos:100% 50%; } .hx-banner.room-office { --room-pos:0% 100%; } .hx-banner.room-cabinet { --room-pos:100% 100%; }
.hx-crest .va-seal { width:88px; height:88px; border:2px solid var(--x-gold-2); box-shadow:0 0 0 4px #06111b, 0 0 0 5px #8f2330; }
.hx-crest .va-seal .va-icon { width:40px; height:40px; color:var(--x-gold); }
.hx-banner-copy { min-width:0; }
.hx-crumbs { display:flex; gap:9px; align-items:center; color:#c9d2d9; font-size:14.5px; }
.hx-crumbs i { font-style:normal; color:var(--x-dim); }
.hx-banner h1 { font:500 34px/1.1 var(--x-caps)!important; letter-spacing:5px!important; text-transform:uppercase; color:#f2eee4!important; margin:4px 0 2px!important; }
.hx-banner p { margin:0!important; color:#c3ced6!important; font-size:15px; }
.hx-banner-meta { margin-left:auto; display:flex; align-items:center; gap:22px; color:var(--x-cyan); font-size:15px; text-align:right; }
.hx-banner-meta>div { display:flex; gap:6px; }
.hx-banner-meta strong { font-weight:500; }
.hx-banner-meta button { border:1px solid #6fc3d0; color:#e7eced; padding:11px 22px; background:#06111bcc; }

/* ── Rail ───────────────────────────────────────────── */
.hx-rail { display:flex; flex-direction:column; gap:6px; padding:18px 14px 14px; background:#081522; }
.hos-places .hx-search { display:flex; align-items:center; gap:10px; border:1px solid #33495a; border-radius:5px; padding:10px 12px; background:#0a1b29; }
.hos-places .hx-search .va-icon { width:18px; height:18px; color:#8fa1b0; flex:none; }
.hos-places .hx-search input { background:none; border:0; outline:0; color:var(--x-ink); font:inherit; font-size:14px; width:100%; }
.hx-rail-crumb { color:#c8d1d8; font-size:14px; padding:8px 4px 2px; display:flex; gap:6px; align-items:center; }
.hx-sections { display:flex; flex-direction:column; gap:3px; margin-top:12px; }
.hos-places .hx-sections button { display:flex; align-items:center; gap:13px; border:1px solid transparent; border-radius:5px; padding:8px 11px; color:#d9e0e5; font-size:15px; line-height:1.25; }
.hos-places .hx-sections button .va-icon { width:22px; height:22px; color:#b9c4cd; flex:none; }
.hos-places .hx-sections button span { flex:1; }
.hos-places .hx-sections button em { font-style:normal; font-size:12px; color:var(--x-gold); border:1px solid #1d4a57; border-radius:10px; padding:0 7px; }
.hos-places .hx-sections button b { color:#6d8191; font-weight:400; }
.hos-places .hx-sections button.active { border-color:#2f7d8f; background:linear-gradient(90deg,#123038cc,#0e2a2acc); color:#cfe9ec; }
.hos-places .hx-sections button.active .va-icon { color:var(--x-gold); }
.hx-rail h4 { font:600 12px var(--x-caps); letter-spacing:2.2px; color:var(--x-gold); margin:18px 4px 6px; text-transform:uppercase; }
.hos-places .hx-rail-item { display:flex; align-items:center; gap:12px; padding:10px 10px; border:1px solid var(--x-line); border-radius:5px; background:#0b1b29; font-size:13.5px; color:#d7dee3; width:100%; }
.hos-places .hx-rail-item.active { border-color:var(--x-cyan-dim); background:#0e2c38; color:var(--x-cyan); }
.hos-places .hx-rail-item .va-icon { width:20px; height:20px; flex:none; }
.hos-places .hx-rail-item span { flex:1; } .hos-places .hx-rail-item small { display:block; color:var(--x-muted); font-size:11.5px; }
.hx-rail-fill { flex:1; min-height:12px; }
.hx-rail-note { color:var(--x-dim); font-size:12.5px; line-height:1.5; padding:0 6px; }

/* ── Departments medallion ──────────────────────────── */
.hx-medallion-wrap { position:relative; }
.hos-places .hx-medallion { display:flex; align-items:center; gap:12px; width:100%; padding:6px 14px 6px 6px; border:1px solid #4c5d69; border-radius:40px 6px 6px 40px; background:#0a1824; color:#e4e9ec; font-size:15px; }
.hos-places .hx-medallion>span:nth-child(2) { flex:1; }
.hos-places .hx-medallion b { font-weight:400; color:#a3b3bf; }
.hx-seal-ring .va-seal { width:58px; height:58px; border:2px solid var(--x-gold-2); box-shadow:0 0 0 3px #0a1824,0 0 0 4px #8f2330; }
.hx-seal-ring .va-seal .va-icon { width:26px; height:26px; color:var(--x-gold); }
.hx-dept-menu { position:absolute; left:0; bottom:calc(100% + 10px); width:480px; max-width:calc(100vw - 30px); z-index:40; padding:14px; border:1px solid #124854; border-radius:8px; background:#0a1824f7; box-shadow:0 18px 50px #000b; backdrop-filter:blur(8px); }
.hx-dept-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:10px; max-height:52vh; overflow:auto; }
.hos-places .hx-dept-grid button { display:flex; align-items:center; gap:10px; padding:10px; border-color:#263b4b; font-size:14px; }
.hos-places .hx-dept-grid button .va-icon { width:20px; height:20px; color:#b9c4cd; }
.hos-places .hx-dept-grid button.active { border-color:#2f7d8f; color:#cfe9ec; }

/* ── Section titles, cards, tables in the centre ────── */
.hx-center h2.hx-title,.hx-right h2.hx-title { font:500 22px/1.2 var(--x-caps)!important; letter-spacing:2.5px!important; text-transform:uppercase; color:#eef0f0; margin:0 0 4px!important; }
.hx-center .hx-sub { color:var(--x-muted); margin:0 0 16px!important; font-size:14px; }
.hx-label { display:block; font:600 12.5px var(--x-caps); letter-spacing:2.2px; color:var(--x-gold); text-transform:uppercase; margin:18px 0 8px; }
.hx-card { border:1px solid var(--x-line-2); border-radius:var(--x-radius); background:var(--x-panel); padding:16px 18px; }
.hx-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.hx-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.hx-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--x-line-2); border-radius:var(--x-radius); background:var(--x-panel); }
.hx-kpis>div { padding:14px 16px; text-align:center; } .hx-kpis>div+div { border-left:1px solid var(--x-line); }
.hx-kpis small { color:#cdd6dc!important; font-size:13px!important; } .hx-kpis strong { display:block; font:400 30px/1.3 var(--x-sans); color:var(--x-cyan); font-variant-numeric:tabular-nums; }
.hx-kpis strong.gold { color:var(--x-gold); }
.hx-table { width:100%; border-collapse:collapse; font-size:14px; }
.hx-table th { text-align:left; font-weight:500; color:var(--x-muted); font-size:12.5px; padding:8px 10px; border-bottom:1px solid var(--x-line); }
.hx-table td { padding:11px 10px; border-bottom:1px solid #1b2e3d; color:#dfe5ea; vertical-align:middle; }
.hx-table tr:last-child td { border-bottom:0; }
.hx-table .num { text-align:right; font-variant-numeric:tabular-nums; }
.hx-bar { height:10px; background:#12283a; border-radius:2px; overflow:hidden; } .hx-bar>span { display:block; height:100%; background:var(--x-cyan); }
.hx-bar.gold>span { background:var(--x-gold); }
.hx-good { color:var(--x-good)!important; } .hx-warn { color:var(--x-warn)!important; } .hx-bad { color:var(--x-bad)!important; } .hx-cyan { color:var(--x-cyan)!important; } .hx-gold { color:var(--x-gold)!important; }

/* ── Pills, advisor, draft ──────────────────────────── */
.hx-pill { display:inline-block; border:1px solid currentColor; border-radius:5px; padding:2px 10px; font-size:12.5px; white-space:nowrap; }
.hx-pill.gold { color:var(--x-gold); } .hx-pill.cyan { color:var(--x-cyan); border-color:#2d6d75; background:#0c2a33; } .hx-pill.red { color:#f08c6a; } .hx-pill.green { color:var(--x-good); }
.hx-advisor { display:flex; gap:16px; padding:16px; border:1px solid var(--x-line-2); border-radius:var(--x-radius); background:linear-gradient(135deg,#0d2131,#0a1a27); }
.hx-portrait { flex:none; width:66px; height:66px; border-radius:50%; border:1px solid #6b7f8e; background:radial-gradient(circle at 50% 35%,#2d4152,#0c1a26); color:#8494a2; display:grid; place-items:center; overflow:hidden; }
.hx-portrait svg { width:46px; height:46px; margin-top:10px; }
.hx-portrait .va-seal { width:60px; height:60px; border:0; }
.hx-advisor-body { min-width:0; }
.hx-advisor-head { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.hx-role { font:600 13px var(--x-caps); letter-spacing:1.8px; color:var(--x-gold); text-transform:uppercase; }
.hx-advisor p { margin:8px 0 4px!important; color:#dfe5ea!important; font-size:14.5px; line-height:1.5; }
.hos-places .hx-link { border:0; padding:4px 0; color:var(--x-cyan); font-size:14px; background:none; }
.hos-places .hx-link:hover:not(:disabled) { background:none; text-decoration:underline; }
.hx-draft { border:1px solid var(--x-line-2); border-radius:var(--x-radius); background:var(--x-panel); padding:16px; }
.hx-draft+.hx-draft { margin-top:14px; }
.hx-draft-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.hx-draft-head h2 { font:500 19px/1.2 var(--x-caps)!important; letter-spacing:2.5px!important; text-transform:uppercase; margin:0!important; color:#eef0f0; }
.hx-draft-head .hx-sub2 { color:var(--x-muted); font-size:12.5px; margin-top:4px; }
.hx-stepper { display:flex; list-style:none; margin:16px 0 10px; padding:0; }
.hx-stepper li { flex:1; position:relative; text-align:center; font-size:12.5px; color:#c8d0d6; padding-bottom:20px; }
.hx-stepper li i { position:absolute; left:50%; bottom:2px; width:12px; height:12px; margin-left:-6px; border:1.5px solid #8c9ba7; border-radius:50%; background:var(--x-panel); z-index:1; }
.hx-stepper li:not(:last-child)::after { content:''; position:absolute; left:50%; right:-50%; bottom:7px; border-top:1px solid #3c5163; }
.hx-stepper li:not(:last-child)::before { content:"→"; position:absolute; right:-5px; top:0; font-size:11px; color:#72879a; font-size:12px; }
.hx-stepper li.done i { background:#6fc3d0; border-color:#6fc3d0; }
.hx-stepper li.active { color:var(--x-cyan); } .hx-stepper li.active i { background:var(--x-cyan); border-color:var(--x-cyan); box-shadow:0 0 0 4px #6fd6de33; }
.hx-field { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:10px; margin:10px 0; font-size:14px; color:#dbe2e7; }
.hx-field-stack { margin:12px 0; }
.hx-field-stack>span,.hx-field>span { color:#c9d2d8; font-size:14px; }
.hos-places .hx-draft select,.hos-places .hx-draft textarea,.hos-places .hx-field input[type=number] { width:100%; background:#0b1c2a; border:1px solid #3a4f60; border-radius:4px; color:var(--x-ink); padding:9px 10px; font:inherit; font-size:14px; }
.hos-places .hx-draft textarea { min-height:56px; resize:vertical; }
.hos-places .hx-draft input[type=range] { width:100%; accent-color:var(--x-gold); }
.hx-range-head { display:flex; justify-content:space-between; font-size:13.5px; color:#c9d2d8; margin-bottom:4px; }
.hx-range-head strong { color:var(--x-gold); font-weight:500; }
.hx-choice-row { display:flex; border:1px solid #3a4f60; border-radius:4px; overflow:hidden; }
.hos-places .hx-choice-row button { flex:1; border:0; border-radius:0; padding:9px 8px; text-align:center; font-size:13.5px; color:#cbd4da; }
.hos-places .hx-choice-row button+button { border-left:1px solid #3a4f60; }
.hos-places .hx-choice-row button[aria-pressed=true] { background:#3a2e17; color:#e7eced; box-shadow:inset 0 0 0 1px #3f97a0; }
.hx-choice-note { font-size:12.5px; color:var(--x-muted); margin-top:6px; }
.hx-chips { display:flex; flex-wrap:wrap; gap:6px; }
.hos-places .hx-chips button { border-radius:4px; padding:7px 10px; font-size:13px; color:#cfd7dc; border-color:#3a4f60; }
.hos-places .hx-chips button[aria-pressed=true] { border-color:var(--x-cyan-dim); background:#0d2d36; color:var(--x-cyan); }
.hos-places .hx-chips button small { display:block; font-size:11px; color:var(--x-muted); }
.hx-rows { margin:14px 0 0; border:1px solid var(--x-line-2); border-radius:5px; padding:4px 12px; background:#0a1824; }
.hx-rows>div { display:flex; justify-content:space-between; gap:14px; padding:8px 0; font-size:13.5px; }
.hx-rows>div+div { border-top:1px solid #1c3040; }
.hx-rows dt { color:#c5ced5; } .hx-rows dd { margin:0; text-align:right; color:#e9edf0; }
.hos-places .hx-primary { display:block; width:100%; margin-top:14px; padding:12px; text-align:center; border:0; border-radius:4px; background:linear-gradient(#6fd6de,#6fc3d0); color:var(--x-gold-ink); font:500 16.5px var(--x-sans); letter-spacing:.3px; }
.hos-places .hx-primary:hover:not(:disabled) { background:linear-gradient(#e7eced,#cfe0e3); border:0; }
.hos-places .hx-secondary { display:block; width:100%; margin-top:10px; padding:11px; text-align:center; border:1px solid #9aa7b0; border-radius:4px; font-size:16px; color:#e8ecef; }
.hos-places .hx-foot { text-align:center; font-size:13px; color:var(--x-muted)!important; margin:10px 0 0!important; }
.hx-draft details { margin-top:10px; border:1px solid var(--x-line); border-radius:4px; padding:9px 12px; font-size:13.5px; }
.hx-draft details summary { cursor:pointer; color:#dbe2e7; }

/* ── Whip count ─────────────────────────────────────── */
.hx-whip { position:relative; margin:10px 0 34px; }
.hx-whip-bar { display:flex; height:48px; border:1px solid #3b5062; border-radius:3px; overflow:hidden; }
.hx-whip-bar>div { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:60px; font-size:13px; }
.hx-whip-bar strong { font-size:19px; font-weight:500; }
.hx-whip-bar .for { background:linear-gradient(#1c5a55,#123f3e); color:#bfeee4; }
.hx-whip-bar .undecided { background:linear-gradient(#1c3b43,#1c3b43); color:#e7eced; }
.hx-whip-bar .against { background:linear-gradient(#7a2520,#511713); color:#e7eced; }
.hx-whip-mark { position:absolute; top:-6px; bottom:-26px; border-left:1px dashed #e7e2d4; }
.hx-whip-mark span { position:absolute; bottom:0; left:-50px; width:100px; white-space:nowrap; text-align:center; font-size:13px; color:#e8e3d5; }

/* ── Segmented control & map overlays ───────────────── */
.hx-segmented { display:inline-flex; border:1px solid #3d5466; border-radius:5px; background:#0a1824e6; padding:3px; gap:2px; }
.hos-places .hx-segmented button { border:1px solid transparent; padding:6px 18px; font-size:14px; color:#c9d3da; border-radius:4px; }
.hos-places .hx-segmented button[aria-pressed=true] { border-color:#3f97a0; background:#0f3440; color:var(--x-cyan); }
.hx-mapstage { position:relative; border:1px solid var(--x-line); border-radius:6px; overflow:hidden; background:radial-gradient(ellipse at 50% 45%,#0c2233,#040b12 70%); min-height:560px; }
.hx-mapstage .hx-map-top { position:absolute; top:12px; left:12px; z-index:3; }
.hx-mapstage .hx-map-zoom { position:absolute; right:14px; bottom:120px; z-index:3; display:flex; flex-direction:column; gap:10px; }
.hos-places .hx-map-zoom button { width:40px; height:40px; border-radius:50%; padding:0; display:grid; place-items:center; border:1px solid #93a3ae; background:#0a1824cc; }
.hos-places .hx-map-zoom .va-icon { width:18px; height:18px; }
.hx-mapstage .hx-map-advisor { position:absolute; left:50%; transform:translateX(-50%); bottom:14px; width:min(580px,90%); z-index:3; }
.hx-mapstage .hx-map-advisor .hx-advisor { background:#0a1824ee; }
.hx-mapstage .globe-wrap,.hx-mapstage .wm-globe,.hx-mapstage>svg { display:block; margin:0 auto; }
.hos-places .hx-toggle { display:flex; align-items:center; gap:12px; width:100%; padding:11px 12px; border:1px solid var(--x-line); border-radius:5px; background:#0b1b29; font-size:15px; color:#d7dee3; }
.hos-places .hx-toggle[aria-pressed=true] { border-color:#3f97a0; background:#0e2c38; color:var(--x-cyan); }
.hos-places .hx-toggle .va-icon { width:20px; height:20px; }

/* ── Tabs inside the right panel / centre ───────────── */
.hx-tabs { display:flex; border:1px solid var(--x-line-2); border-radius:5px; overflow:hidden; margin:12px 0; }
.hos-places .hx-tabs button { flex:1; border:0; border-radius:0; padding:10px 6px; text-align:center; font-size:13.5px; color:#cfd7dc; }
.hos-places .hx-tabs button[aria-pressed=true] { color:#f3f5f6; box-shadow:inset 0 -2px var(--x-cyan); background:#0e2331; }
.hx-country-tabs { display:flex; gap:0; margin-bottom:14px; border:1px solid var(--x-line-2); border-radius:5px; overflow:hidden; width:max-content; max-width:100%; flex-wrap:wrap; }
.hos-places .hx-country-tabs button { border:0; border-radius:0; padding:9px 22px; font-size:14.5px; color:#cbd4da; }
.hos-places .hx-country-tabs button+button { border-left:1px solid var(--x-line-2); }
.hos-places .hx-country-tabs button[aria-pressed=true] { background:#0f3440; color:var(--x-cyan); box-shadow:inset 0 0 0 1px #3f97a0; }

/* ── Evidence table (intelligence) ──────────────────── */
.hx-evidence { border:1px solid var(--x-line-2); border-radius:6px; overflow:hidden; }
.hx-evidence>div { display:grid; grid-template-columns:34px 120px minmax(0,1fr) 190px; gap:12px; align-items:center; padding:13px 14px; background:var(--x-panel); }
.hx-evidence>div+div { border-top:1px solid var(--x-line); }
.hx-evidence .va-icon { width:24px; height:24px; }
.hx-evidence b { font:600 13.5px var(--x-caps); letter-spacing:1.6px; }
.hx-evidence .obs b,.hx-evidence .obs .va-icon { color:var(--x-cyan); } .hx-evidence .rep b,.hx-evidence .rep .va-icon { color:var(--x-warn); } .hx-evidence .ass b,.hx-evidence .ass .va-icon { color:#c9a8e8; }
.hx-evidence span { color:#e2e8ec; font-size:14.5px; } .hx-evidence small { color:var(--x-muted); font-size:12.5px; text-align:right; }

/* ── Bloc rows (Congress) ───────────────────────────── */
.hx-blocs { border:1px solid var(--x-line-2); border-radius:6px; overflow:hidden; }
.hos-places .hx-bloc { display:grid; grid-template-columns:40px 150px 150px minmax(0,1fr) 20px; gap:12px; align-items:center; width:100%; border:0; border-radius:0; padding:12px 14px; background:var(--x-panel); font-size:14.5px; }
.hos-places .hx-bloc+.hx-bloc { border-top:1px solid var(--x-line); }
.hos-places .hx-bloc.active { box-shadow:inset 0 0 0 1px #3f97a0; background:#0d2733; }
.hx-bloc .hi-party { width:34px; height:34px; }
.hx-bloc em { font-style:normal; } .hx-bloc small { color:var(--x-muted); }

/* ── Native legacy panels inside the workspace: quiet them to the new palette ── */
.hx-center .ht-native .panel,.hx-center .hi-native .panel,.hx-center .hl-native .panel,.hx-right .panel { background:var(--x-panel)!important; border-color:var(--x-line-2)!important; border-radius:6px!important; }

/* ── Stack below 1100px ─────────────────────────────── */
@media (max-width:1400px) { .hos-places { --x-rail:228px; --x-right:350px; } .hx-banner h1 { font-size:29px!important; } }
@media (max-width:999px) {
  .hx-body { grid-template-columns:1fr!important; }
  .hx-rail { flex-direction:row; flex-wrap:wrap; }
  .hx-sections { flex-direction:row; flex-wrap:wrap; margin:0; }
  .hx-rail-fill { display:none; }
  .hx-center { border:0; padding:16px; }
  .hx-banner { flex-wrap:wrap; }
  .hx-banner-meta { margin-left:0; }
  .hos-places .hp-stats>div { padding:0 10px; }
  .hx-evidence>div { grid-template-columns:28px 1fr; } .hx-evidence small { text-align:left; grid-column:2; }
  .hos-places .hx-bloc { grid-template-columns:34px 1fr; } .hx-grid-2,.hx-grid-3 { grid-template-columns:1fr; }
}

.hos-places .hx-sections button:hover:not(:disabled):not(.active) { background:#11222f; border-color:#2a3f50; }
.hos-places .hx-rail { min-height:0; }
@media (min-width:1000px) and (min-height:600px) { .hx-rail .hx-medallion-wrap { position:sticky; bottom:0; background:#081522; padding-top:8px; } }
.hx-bill-head { display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.hx-path { color:var(--x-muted); font-size:13.5px; }
.hx-price { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:11px 12px; border:1px solid var(--x-line-2); border-radius:5px; background:#0a1824; margin-bottom:8px; }
.hx-price strong { display:block; font-weight:500; font-size:14px; color:#e9edf0; } .hx-price small { color:var(--x-muted); font-size:12.5px; }
.hos-places .hx-offer { flex:none; border-color:#3f97a0; color:#e7eced; padding:7px 14px; font-size:13.5px; }
.hos-places .hx-center .hx-primary,.hos-places .hx-center .hx-secondary { width:auto; min-width:240px; margin-top:0; }
.hx-center .hp-journey { margin:6px 0 14px; }
.hx-hide-with-draft { display:block; }
.hx-world .hx-center { padding:14px 16px 18px; }
.hx-mapstage { height:calc(100% - 30px); min-height:560px; display:flex; align-items:center; justify-content:center; }
.hx-map-canvas { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.hx-map-canvas>svg,.hx-map-canvas>div { max-height:100%; max-width:100%; }
.hx-world .hx-center>details,.hx-world .hx-center>section:first-child { margin-bottom:10px; }
.hx-mapstage { height:calc(100vh - 330px); min-height:470px; }
.hx-mapstage .wg-wrap { height:100%; width:100%; display:flex; align-items:center; justify-content:center; }
.hx-mapstage .wg-wrap>.hp-muted { display:none; }
.hx-mapstage .wg-surface { width:auto!important; height:100%; max-width:100%; background:none!important; border:0!important; }
.hx-mapstage .wg-wrap>.wm-toolbar { position:absolute; left:12px; bottom:12px; z-index:3; display:flex; flex-direction:column; gap:5px; padding:0!important; }
.hos-places .hx-mapstage .wg-wrap>.wm-toolbar button { font-size:11.5px; padding:6px 10px; background:#0a1824cc; border-color:#3d5466; }
.hx-mapstage .hx-map-advisor { width:min(520px,70%); }
.hx-mapstage .hx-map-advisor .hx-advisor { padding:10px 14px; } .hx-mapstage .hx-map-advisor .hx-portrait { width:48px; height:48px; } .hx-mapstage .hx-map-advisor .hx-portrait svg { width:34px; height:34px; }
.hx-mapstage .hx-map-advisor p { margin:4px 0 0!important; font-size:13.5px; }
.hx-world .gx-progress { padding:10px 16px; margin-bottom:10px; }
@media (max-width:999px) { .hx-mapstage { height:70vw; min-height:360px; } }
.hx-mapstage .wg-wrap>.wm-toolbar button:not(:last-child) { display:none; }
.hx-banner:not([class*=room-]) { background-image:linear-gradient(90deg,#0a1b29,#06111b); }
.hx-dept .vd-panel { border-color:var(--x-line-2); background:var(--x-panel); }
.hx-right .vm-advice { font-size:14px; color:#dfe5ea; margin-top:10px; }
.hx-right .vm-advice p { margin:6px 0!important; color:#dfe5ea!important; }

.hos-places.hx-mode>.hp-shell { display:block!important; }
.hos-places .hx-season { white-space:nowrap; }
@media (max-width:1250px) {
  .hos-places { --x-rail:212px; --x-right:300px; }
  .hos-places .hp-brand strong { font-size:17px; letter-spacing:2.5px; } .hos-places .hp-brand small { display:none; }
  .hos-places .hp-stats>div { padding:0 11px; } .hos-places .hp-stats strong { font-size:17px; }
  .hos-places .hx-season strong { font-size:16px; } .hos-places .hx-season span { display:none; }
  .hos-places .hp-turn>button { font-size:13px; padding:11px 6px; } .hos-places .hp-allowance { gap:10px; padding-left:12px; font-size:12.5px; }
  .hx-banner { min-height:96px; padding:10px 18px; } .hx-crest .va-seal { width:64px; height:64px; } .hx-crest .va-seal .va-icon { width:30px; height:30px; }
  .hx-banner h1 { font-size:25px!important; letter-spacing:3.5px!important; } .hx-banner p { font-size:13px; } .hx-banner-meta { font-size:13px; gap:12px; }
  .hos-places .hx-sections button { font-size:13.5px; padding:7px 9px; gap:10px; } .hos-places .hx-sections button .va-icon { width:19px; height:19px; }
  .hx-center { padding:16px 18px 24px; } .hx-right { padding:14px 12px; }
  .hx-evidence>div { grid-template-columns:28px 96px minmax(0,1fr); } .hx-evidence small { grid-column:3; text-align:left; }
  .hos-places .hx-bloc { grid-template-columns:36px 120px 100px minmax(0,1fr) 14px; font-size:13.5px; }
  .hx-kpis strong { font-size:24px; } .hx-mapstage { height:calc(100vh - 290px); min-height:380px; }
  .hx-seal-ring .va-seal { width:44px; height:44px; } .hos-places .hx-medallion { font-size:14px; }
  .hos-places .hp-footer { gap:14px; } .hos-places .hp-footer>button.hx-return { min-width:180px; padding:8px 16px; }
}
.hos-places .hx-tabs button { white-space:nowrap; padding:10px 16px; }
.hx-dept-menu { position:fixed!important; left:14px!important; bottom:150px!important; width:min(520px,calc(100vw - 28px))!important; }
/* central bank */
.hx-chart { width:100%; height:auto; display:block; }
.hx-chart text { fill:#9fb0bd; font-size:12px; font-family:var(--x-sans); }
.hx-chart .grid { stroke:#1e3344; } .hx-chart .ref { stroke:#8b98a3; stroke-dasharray:6 6; }
.hx-chart .rate { stroke:#53aab9; stroke-width:2; fill:none; } .hx-chart .infl { stroke:#6fd6de; stroke-width:2.5; fill:none; }
.hx-chart .infl-dot { fill:#6fd6de; } .hx-chart .rate-l { fill:#53aab9; } .hx-chart .infl-l { fill:#e7ecf0; font-size:14px; }
.hx-legend { display:flex; gap:22px; justify-content:center; font-size:13px; color:#c9d2d8; margin-top:6px; }
.hx-legend span::before { content:''; display:inline-block; width:22px; height:0; border-top:2px solid; vertical-align:middle; margin-right:8px; }
.hx-legend .infl::before { border-color:#6fd6de; } .hx-legend .rate::before { border-color:#53aab9; } .hx-legend .ref::before { border-color:#8b98a3; border-top-style:dashed; }
.hx-chip { border:1px solid #3a4f60; border-radius:4px; padding:5px 10px; font-size:13px; color:#cfd7dc; }
.hx-chip.pressing { border-color:#2d6d75; color:var(--x-cyan); background:#0c2a33; }
.hx-statement { display:flex; gap:16px; align-items:center; margin-top:14px; padding:14px 18px; border:1px solid var(--x-line-2); border-radius:6px; background:var(--x-panel); }
.hx-statement .va-seal { width:48px; height:48px; flex:none; } .hx-statement small { letter-spacing:1.6px; }
.hx-statement p { margin:4px 0 0!important; color:#eef0f0!important; font:17px/1.4 Georgia,serif; }
.hx-radios { display:grid; gap:8px; margin-top:14px; }
.hos-places .hx-radios button { display:flex; gap:12px; align-items:flex-start; padding:11px 12px; border:1px solid var(--x-line-2); border-radius:5px; background:#0a1824; }
.hos-places .hx-radios button i { flex:none; width:18px; height:18px; border:1.5px solid #8c9ba7; border-radius:50%; margin-top:2px; }
.hos-places .hx-radios button[aria-checked=true] { border-color:#3f97a0; background:#0d2733; }
.hos-places .hx-radios button[aria-checked=true] i { border-color:var(--x-cyan); box-shadow:inset 0 0 0 4px #0d2733; background:var(--x-cyan); }
.hx-radios strong { display:block; font-weight:500; font-size:15px; color:#eef0f0; } .hx-radios small { color:var(--x-muted); font-size:12.5px; }
.hx-advisory { display:flex; gap:12px; margin-top:12px; padding:10px 12px; border:1px solid var(--x-line); border-radius:5px; background:#0a1824; }
.hx-advisory .va-icon { width:26px; height:26px; color:var(--x-gold); flex:none; } .hx-advisory small { letter-spacing:1.4px; } .hx-advisory p { margin:3px 0 0!important; color:#dfe5ea!important; font-size:13.5px; }
.hx-warnline { margin:10px 0 0!important; padding:8px 12px; border:1px solid #1c3b43; border-radius:5px; color:#e7eced!important; font-size:13px; text-align:center; }
.hos-places .hx-offer:disabled { opacity:.35; }
.hx-chart { max-height:250px; }
/* cabinet room */
.hx-select-table tbody tr { cursor:pointer; } .hx-select-table tbody tr:hover td { background:#0e2231; }
.hx-select-table tbody tr.selected td { background:#0d2733; box-shadow:inset 0 1px #3f97a0, inset 0 -1px #3f97a0; }
.hx-select-table th:first-child,.hx-select-table td:first-child { padding-left:16px; }
.hx-dept-cell { display:flex; gap:12px; align-items:center; } .hx-dept-cell strong { display:block; font-weight:500; } .hx-dept-cell small { color:var(--x-muted); font-size:12px; }
.hx-mini-seal { width:40px; height:40px; border-radius:50%; border:1px solid #8f2330; display:grid; place-items:center; background:radial-gradient(circle,#1b2c3a,#0a1824); flex:none; }
.hx-mini-seal .va-icon { width:20px; height:20px; color:var(--x-gold); }
.hx-quote { margin:10px 0 0; padding:4px 0 4px 16px; border-left:2px solid var(--x-gold); font:17px/1.45 Georgia,serif; color:#eef0f0; }
.hx-quote::before { content:'“'; color:var(--x-gold); font-size:28px; line-height:0; vertical-align:-10px; margin-right:4px; }
.hx-check { margin-top:14px; border:1px solid var(--x-line-2); border-radius:5px; background:#0a1824; }
.hx-check-head { display:flex; justify-content:space-between; padding:9px 12px; border-bottom:1px solid var(--x-line); font:600 12px var(--x-caps); letter-spacing:1.8px; color:#dfe5ea; }
.hx-check-head small { font:400 12px var(--x-sans); letter-spacing:0; color:var(--x-cyan); }
.hx-check-body { display:flex; gap:12px; padding:12px; } .hx-check-body>.va-icon { width:40px; height:40px; color:var(--x-cyan); flex:none; }
.hx-check-body strong { font-weight:500; color:var(--x-cyan); } .hx-check-body p { margin:4px 0!important; color:#e9edf0!important; font-size:14px; } .hx-check-body small { color:var(--x-muted); font-size:12.5px; }
.hx-cabinet .hx-center .hp-heading { margin-bottom:10px; }
/* office */
.hx-office .hq-review { border:0; background:none; padding:0; }
.hx-office .hq-layout { display:block; }
.hx-right .hq-close { position:static; margin:0; border:1px solid var(--x-line-2); border-radius:6px; background:var(--x-panel); padding:16px; }
.hx-right .hq-close dl { font-size:13px; }
.hx-close-controls { display:grid; gap:0; margin-top:8px; }
.hx-close-controls .hi-approvals { margin-bottom:10px; }
.hx-office .hp-document { margin-top:10px; }
/* force planning */
.hx-pathway td,.hx-pathway th { text-align:left; }
.hx-track { display:block; height:14px; border-radius:2px; min-width:60px; }
.hx-track.done { background:#2c8a93; } .hx-track.now { background:linear-gradient(#6fd6de,#2f7d8f); } .hx-track.later { border:1px dashed #56697a; }
.hx-track.halted { background:repeating-linear-gradient(45deg,#7a2520 0 6px,#511713 6px 12px); } .hx-track.waiting { background:repeating-linear-gradient(45deg,#1c3b43 0 6px,#1c3b43 6px 12px); } .hx-track.cancel { background:#2a3440; }
.hos-places .hx-pick { display:block; text-align:left; width:100%; } .hos-places .hx-pick small { display:block; margin-top:6px; font-size:12.5px; }
.hos-places .hx-pick.active { border-color:#3f97a0; box-shadow:inset 0 0 0 1px #3f97a0; }
.hx-log { padding:10px 0; } .hx-log+.hx-log { border-top:1px solid var(--x-line); }
.hx-log>div { display:flex; gap:10px; align-items:center; flex-wrap:wrap; } .hx-log strong { font-weight:500; }
.hx-log p { margin:6px 0 0!important; color:#dfe5ea!important; font-size:14px; }
.hx-field select { min-width:0; }
/* embassy */
.hx-parties .hx-card small { letter-spacing:1.5px; font-size:11.5px; color:var(--x-muted); } .hx-parties .hx-card strong { display:block; font-weight:500; font-size:16px; margin-top:4px; }
.hx-parties .hx-card p { margin:6px 0 0!important; font-size:13px; } .hx-parties .hx-card .va-icon { width:34px; height:34px; color:var(--x-gold); margin:6px auto 0; display:block; }
.hx-clauses td { vertical-align:top; } .hx-clauses td small { display:block; color:var(--x-muted); font-size:12.5px; margin-top:3px; }
.hx-clauses td strong { font-weight:500; } .hx-clauses td .hx-offer { margin-top:6px; }
.hx-status { display:inline-flex; gap:7px; align-items:center; font-size:13.5px; white-space:nowrap; }
.hx-status i { width:18px; height:18px; border-radius:50%; border:1.5px solid currentColor; display:grid; place-items:center; font-style:normal; font-size:11px; }
.hx-status.green { color:var(--x-good); } .hx-status.gold { color:var(--x-gold); } .hx-status.red { color:#f08c6a; } .hx-status.cyan { color:var(--x-cyan); } .hx-status.dim { color:var(--x-muted); }
.hx-ratify>div { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:6px 0; font-size:13.5px; }
.hx-ratify>div+div { border-top:1px solid var(--x-line); margin-top:6px; padding-top:10px; }
.hx-ratify strong { width:120px; font:600 13px var(--x-caps); letter-spacing:1.6px; }
.hx-ratify span { padding:4px 10px; border:1px solid var(--x-line-2); border-radius:14px; color:var(--x-muted); }
.hx-ratify span.on { color:var(--x-cyan); border-color:#2d6d75; } .hx-ratify span.ok { color:var(--x-good); border-color:#2f6b4c; } .hx-ratify span.no { color:#f08c6a; border-color:#1c3b43; }
.hx-ratify i { flex:0 0 26px; border-top:1px dashed #56697a; }
.hx-margins { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.hx-margin-col { border:1px solid var(--x-line-2); border-radius:5px; padding:8px 10px; background:#0a1824; font-size:12px; }
.hx-margin-col small { letter-spacing:1.4px; font-size:11px; } .hx-margin-col>div { display:flex; justify-content:space-between; gap:8px; padding:2px 0; color:#c9d2d8; }
.hx-margin-col .tot { border-top:1px solid var(--x-line); margin-top:4px; padding-top:4px; font-size:13px; } .hx-margin-col b { font-weight:500; }
.hos-places .hx-field-stack input[type=range] { width:100%; accent-color:var(--x-gold); }
.hx-story-list { display:grid; gap:6px; margin-top:12px; }
.hx-press .hp-newspaper { max-width:900px; margin:0 auto; }
.hx-capital .hp-heading,.hx-cities .hp-heading { display:none; }
.hx-citydesk .hx-center { padding:14px 18px; }
/* site plan */
.hx-siteplan { border:1px solid var(--x-line-2); border-radius:6px; background:#0a1824; overflow:hidden; }
.hx-siteplan-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 14px; border-bottom:1px solid var(--x-line); flex-wrap:wrap; }
.hx-siteplan-bar strong { font:600 14px var(--x-caps); letter-spacing:1.8px; text-transform:uppercase; } .hx-siteplan-bar small { color:var(--x-muted); font-size:12px; }
.hx-siteplan-canvas svg { display:block; width:100%; height:auto; max-height:62vh; }
.hx-plan-place { fill:#dfe7ea; opacity:.8; font-family:var(--x-caps); letter-spacing:.2em; text-transform:uppercase; }
.hx-plan-site { fill:#e7eced; font-family:var(--x-sans); paint-order:stroke; stroke:#06111b; stroke-width:3px; pointer-events:none; }
.hx-plan-hot { fill:#fff; font-family:var(--x-sans); paint-order:stroke; stroke:#06111b; stroke-width:3px; pointer-events:none; }
.hx-hot,.hx-parcel { cursor:pointer; } .hx-hot:hover circle { fill:#fff; }
.hx-siteplan-foot { padding:10px 14px; border-top:1px solid var(--x-line); }
.hx-legend .rail-e::before { border-top:3px dashed #e7ecf0!important; } .hx-legend .rail-p::before { border-top:3px dashed #53aab9!important; }
.hx-legend .parcel::before { border:2px dashed #53aab9!important; height:10px!important; width:16px!important; }
.hx-legend .swatch::before { border:0!important; height:10px!important; width:16px!important; background:var(--sw); }
.hx-plan-note { margin:8px 0!important; font-size:13.5px; color:#dfe5ea!important; }
.hx-plan-checks summary { cursor:pointer; color:var(--x-cyan); font-size:13px; }
.hx-plan-checks ul { margin:6px 0 0; padding-left:18px; font-size:12.5px; max-height:180px; overflow:auto; } .hx-plan-checks li.ok { color:#9fc9ad; } .hx-plan-checks li.no { color:#f08c6a; }
/* situation room */
.hx-hero { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:18px 20px; margin-bottom:14px; border:1px solid #124854; border-radius:6px; background:linear-gradient(120deg,#1d1a10,#0b1a27 60%); }
.hx-hero small { color:var(--x-gold); letter-spacing:1.8px; text-transform:uppercase; font-size:12px!important; }
.hx-hero h2 { font:500 25px/1.25 Georgia,serif!important; margin:4px 0 6px!important; color:#f4efe2; }
.hx-hero p { margin:0!important; color:#cfd8de!important; font-size:14px; max-width:720px; }
.hos-places .hx-hero .hx-primary { width:auto; flex:none; margin:0; padding:12px 22px; }
.hx-kpis-5 { grid-template-columns:repeat(5,minmax(0,1fr))!important; }
.hx-kpi { padding:12px 14px; text-align:left!important; } .hx-kpi strong { font-size:26px!important; color:#eef0f0!important; }
.hx-kpi em { display:block; font-style:normal; font-size:12px; margin-top:2px; }
.hx-todo { display:grid; gap:6px; }
.hos-places .hx-todo-item { display:flex; align-items:center; gap:14px; width:100%; padding:12px 14px; border:1px solid var(--x-line-2); border-radius:5px; background:var(--x-panel); font-size:15px; color:#e7ecf0; }
.hos-places .hx-todo-item i { flex:none; width:10px; height:10px; border-radius:50%; background:var(--x-cyan); }
.hos-places .hx-todo-item.bad i { background:var(--x-bad); box-shadow:0 0 0 4px #e0605a33; } .hos-places .hx-todo-item.warn i { background:var(--x-gold); } .hos-places .hx-todo-item.good i { background:var(--x-good); }
.hos-places .hx-todo-item.bad { border-color:#6b3a33; }
.hos-places .hx-todo-item span { flex:1; } .hos-places .hx-todo-item b { font-weight:500; color:var(--x-cyan); font-size:14px; }
.hos-places .hx-todo-item:hover:not(:disabled) { border-color:#3f97a0; background:#13283a; }
.hx-chief p,.hx-beats p { margin:6px 0!important; color:#dfe5ea!important; font-size:14.5px; line-height:1.5; }
.hx-beats p.hx-bad { color:#f08c6a!important; } .hx-beats p.hx-good { color:#9fdcb4!important; } .hx-beats p.hx-cyan { color:var(--x-cyan)!important; }
.hx-goals { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; }
.hx-goal-head { display:flex; justify-content:space-between; margin-bottom:8px; } .hx-goal-head strong { font-weight:500; }
.hx-goals small { display:block; margin-top:6px; color:var(--x-muted); font-size:12.5px; }
.hx-bar.bad>span { background:var(--x-bad); }
.hx-race { margin:8px 0 10px; } .hx-race>div:first-child { display:flex; justify-content:space-between; font-size:13.5px; margin-bottom:4px; color:#dfe5ea; } .hx-race b { font-weight:500; }
.hx-race small { color:var(--x-muted); font-size:12px; }
.hx-li { margin:6px 0!important; font-size:14px; color:#dfe5ea!important; padding-left:14px; position:relative; } .hx-li::before { content:'•'; position:absolute; left:0; color:var(--x-muted); }
/* step bar notes */
.hos-places .hp-turn>button small { display:block; font-size:11px; color:#7f92a2; letter-spacing:0; margin-top:1px; }
.hos-places .hp-turn>button { padding:8px 10px; line-height:1.2; }
.hos-places .hp-turn>button.warn small { color:var(--x-gold); } .hos-places .hp-turn>button.done b,.hos-places .hp-turn>button.done small { color:var(--x-good); }
.hos-places .hp-turn>button.ready { color:#e7eced; } .hos-places .hp-turn>button.ready small { color:var(--x-gold); }
@media (max-width:1250px) { .hx-kpis-5 { grid-template-columns:repeat(3,minmax(0,1fr))!important; } .hx-hero { flex-direction:column; align-items:flex-start; } }
/* action picker */
.hx-actions-head { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:4px; }
.hx-actions-head strong { font:600 14px var(--x-caps); letter-spacing:1.6px; text-transform:uppercase; }
.hx-actions-head .hx-search { flex:1; min-width:200px; padding:7px 10px; }
.hx-action-group .hx-label { display:flex; align-items:center; gap:6px; margin:14px 0 6px; } .hx-action-group .hx-label .va-icon { width:16px; height:16px; }
.hx-action-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; }
.hos-places .hx-action-card { display:block; text-align:left; padding:10px 12px; border:1px solid var(--x-line-2); border-radius:5px; background:#0a1824; }
.hos-places .hx-action-card>div { display:flex; justify-content:space-between; gap:8px; } .hx-action-card strong { font-weight:500; font-size:14.5px; color:#eef0f0; } .hx-action-card span { color:var(--x-gold); font-size:12.5px; white-space:nowrap; }
.hx-action-card p { margin:5px 0 0!important; font-size:12.5px; line-height:1.4; color:var(--x-muted)!important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hos-places .hx-action-card:hover:not(:disabled) { border-color:#3f97a0; background:#13283a; } .hos-places .hx-action-card.on { border-color:#3f97a0; box-shadow:inset 0 0 0 1px #3f97a0; }
.hx-picked { display:flex; gap:14px; align-items:flex-start; padding:12px; border:1px solid #3f97a0; border-radius:5px; background:#0d2733; }
.hx-picked small { letter-spacing:1.4px; font-size:11px!important; } .hx-picked strong { display:block; font-weight:500; font-size:16px; margin-top:2px; } .hx-picked p { margin:4px 0 0!important; font-size:13px; } .hx-picked>div { flex:1; }
.hos-places .hx-action-card { display:flex!important; flex-direction:column; justify-content:flex-start; }
.hx-guide { margin:14px 0 0; } .hx-guide summary { cursor:pointer; font:600 13px var(--x-caps); letter-spacing:1.8px; text-transform:uppercase; color:var(--x-gold); }
.hx-guide ol { margin:10px 0 0; padding-left:22px; display:grid; gap:6px; font-size:14px; color:#dfe5ea; } .hx-guide strong { color:#e7eced; font-weight:500; }
.hx-rail-lead h4:first-child { margin-top:14px; } .hx-rail-lead { display:grid; gap:6px; }
/* Build 22 · society & mandate */
.h22-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.h22-col { display:flex; flex-direction:column; gap:8px; } .h22-col .hx-label { margin:0 0 2px; }
.h22-col.with { } .hx-label.hx-good { color:var(--x-good)!important; } .hx-label.hx-bad { color:#f08c6a!important; }
.hos-places .h22-group { display:block; width:100%; text-align:left; padding:11px 13px; border:1px solid var(--x-line-2); border-radius:5px; background:var(--x-panel); }
.hos-places .h22-col.with .h22-group { border-left:3px solid var(--x-good); } .hos-places .h22-col.persuadable .h22-group { border-left:3px solid var(--x-gold); } .hos-places .h22-col.against .h22-group { border-left:3px solid var(--x-bad); }
.h22-group>div { display:flex; justify-content:space-between; gap:8px; } .h22-group strong { font-weight:500; font-size:15px; } .h22-group span { color:#eef0f0; font-variant-numeric:tabular-nums; }
.h22-group small { display:block; margin-top:4px; color:var(--x-muted); font-size:12.5px; }
.hos-places .h22-group.on { box-shadow:inset 0 0 0 1px #3f97a0; background:#0d2733; }
.h22-preview { margin-top:6px; } .h22-preview small { font-size:10.5px!important; letter-spacing:1.3px; color:var(--x-muted); }
.h22-preview>div { display:flex; flex-wrap:wrap; gap:5px; margin-top:3px; }
.h22-preview span { font-size:12px; padding:2px 7px; border-radius:3px; border:1px solid; } .h22-preview span.up { color:var(--x-good); border-color:#2f6b4c; } .h22-preview span.down { color:#f08c6a; border-color:#1c3b43; }
.h22-code { margin-bottom:12px; } .h22-code-opts { grid-template-columns:repeat(3,minmax(0,1fr)); display:grid; }
.hos-places .h22-code-opts button:disabled { opacity:1; } .hos-places .h22-code-opts button[aria-checked=false]:disabled { opacity:.55; }
.h22-world td.weighs { text-decoration:underline; text-decoration-color:var(--x-gold); text-underline-offset:3px; }
.h22-world tr.me td { background:#1b2432; }
.h22-weights th { font-size:11px!important; white-space:nowrap; }
@media (max-width:1250px) { .h22-map,.h22-code-opts { grid-template-columns:1fr!important; } }
.h22-money h3 { margin:2px 0 0!important; }

/* ═══ Build 23 · the desk ═══════════════════════════════════════════════════
   Two materials: navy leather portfolios (files) and ivory printed paper (memos, notes).
   No tilt, no stamps, no handwriting. */
.hx-desk .hx-center { padding:0; background:#0a1620; box-shadow:inset 0 0 140px rgba(0,0,0,.7); position:relative; }
.hos-places .dk-surface { min-height:100%; box-sizing:border-box; padding:14px 18px 12px; display:flex; flex-direction:column; gap:12px; transition:filter .2s; }
.hos-places .dk-surface.dk-dim { filter:brightness(.55); }
.hos-places .dk-ledger { display:flex; align-items:center; gap:18px; padding:8px 14px; border:1px solid #17323e; border-radius:3px; background:#081318; box-shadow:inset 0 2px 8px rgba(0,0,0,.7); flex-wrap:wrap; }
.hos-places .dk-ledger-title,.hos-places .dk-tray-label,.hos-places .dk-rail-group,.hos-places .dk-count,.hos-places .dk-label { font:600 11px var(--x-caps); letter-spacing:2.5px; color:#5a93a0; }
.hos-places .dk-ledger>span:not(.dk-ledger-title) { display:flex; flex-direction:column; gap:1px; }
.hos-places .dk-ledger small { font-size:11px; color:#8fa3b3; }
.hos-places .dk-ledger b { font:600 15px var(--x-sans); color:#e7eced; }
.hos-places .dk-ledger .warn b { color:var(--x-warn); }
.hos-places .dk-main { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:16px; flex:1; min-height:0; }
.hos-places .dk-blotter { position:relative; border-radius:4px; background:#0f1e2a; box-shadow:0 8px 22px rgba(0,0,0,.6), inset 0 0 0 8px #0f1e2a, inset 0 0 0 9px rgba(47,125,143,.45); padding:32px 18px 18px; }
.hos-places .dk-count { position:absolute; left:22px; top:12px; }
.hos-places .dk-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:minmax(150px,auto); grid-auto-flow:row dense; gap:14px; }
.hos-places .dk-memo { grid-column:3; grid-row:1 / span 2; }
.hos-places .dk-item { text-align:left; display:flex; flex-direction:column; gap:7px; padding:15px 18px; border-radius:3px; cursor:pointer; font:inherit; min-width:0; }
.hos-places .dk-item.dk-wide { grid-column:span 2; }
.hos-places .dk-file { background:#1a2d40; border:1px solid #3a5266; color:#e7ecf0; box-shadow:inset 0 0 0 6px #1a2d40, inset 0 0 0 7px rgba(47,125,143,.5), 0 10px 18px rgba(0,0,0,.45); margin:0 12px 14px 0; }
.hos-places .dk-file.dk-depth-2 { box-shadow:inset 0 0 0 6px #1a2d40, inset 0 0 0 7px rgba(47,125,143,.5), 3px 4px 0 -1px #132232, 3px 4px 0 0 #2a4053, 0 10px 18px rgba(0,0,0,.45); }
.hos-places .dk-file.dk-depth-3 { box-shadow:inset 0 0 0 6px #1a2d40, inset 0 0 0 7px rgba(47,125,143,.5), 3px 4px 0 -1px #132232, 3px 4px 0 0 #2a4053, 6px 8px 0 -1px #182a3c, 6px 8px 0 0 #2a4053, 0 10px 18px rgba(0,0,0,.45); }
.hos-places .dk-file.dk-depth-4 { box-shadow:inset 0 0 0 6px #1a2d40, inset 0 0 0 7px rgba(47,125,143,.5), 3px 4px 0 -1px #132232, 3px 4px 0 0 #2a4053, 6px 8px 0 -1px #182a3c, 6px 8px 0 0 #2a4053, 9px 12px 0 -1px #132232, 9px 12px 0 0 #2a4053, 0 10px 18px rgba(0,0,0,.45); }
.hos-places .dk-file:hover,.hos-places .dk-file.dk-open { border-color:#2f7d8f; }
.hos-places .dk-paper { background:#ece8dc; border:0; color:#16242b; box-shadow:4px 5px 0 -1px #e7eced, 0 10px 18px rgba(0,0,0,.45); margin:0 6px 8px 0; }
.hos-places .dk-paper:hover,.hos-places .dk-paper.dk-open { outline:2px solid #2f7d8f; }
.hos-places .dk-head { display:flex; align-items:center; gap:10px; }
.hos-places .dk-paper .dk-head { padding-bottom:7px; border-bottom:1px solid #e7eced; }
.hos-places .dk-seal { width:26px; height:26px; flex:none; border-radius:50%; border:1px solid #2f7d8f; display:inline-flex; align-items:center; justify-content:center; color:#53aab9; }
.hos-places .dk-seal svg { width:14px; height:14px; }
.hos-places .dk-seal.big { width:58px; height:58px; font-size:24px; border-color:var(--x-earn); color:var(--x-earn); box-shadow:0 0 0 4px #06111b,0 0 18px rgba(226,183,101,.35); }
.hos-places .dk-dept { flex:1; font:600 11.5px var(--x-caps); letter-spacing:2.5px; color:#53aab9; }
.hos-places .dk-paper .dk-dept { color:#5c6b70; }
.hos-places .dk-tag { font:700 11px var(--x-caps); letter-spacing:1.5px; color:#53aab9; }
.hos-places .dk-tag.bad { color:#f08a7e; } .dk-tag.warn { color:#e6a04b; } .dk-tag.cyan { color:#6fd6de; }
.hos-places .dk-paper .dk-tag { color:#5c6b70; } .dk-paper .dk-tag.cyan { color:#1d4f6b; } .dk-paper .dk-tag.gold { color:#0f4a58; }
.hos-places .dk-title { font:700 18px var(--x-serif); line-height:1.25; }
.hos-places .dk-wide .dk-title { font-size:24px; }
.hos-places .dk-line { font-size:13px; color:#a9bac8; line-height:1.45; }
.hos-places .dk-paper .dk-line { color:#3f4a4e; }
.hos-places .dk-ifleft { font-size:13px; color:#c9d4dd; } .dk-ifleft b { color:#e7ecf0; }
.hos-places .dk-dots { display:flex; align-items:center; gap:5px; margin-top:auto; }
.hos-places .dk-dots small { font-size:11.5px; color:#8fa3b3; margin-right:3px; }
.hos-places .dk-dots i { width:9px; height:9px; border-radius:50%; border:1px solid #e6a04b; }
.hos-places .dk-dots i.bad { border-color:#f08a7e; } .dk-dots i.on { background:#e6a04b; } .dk-dots i.on.bad { background:#f08a7e; }
.hos-places .dk-pair { display:flex; flex-direction:column; gap:8px; }
.hos-places .dk-slip { flex:1; display:flex; flex-direction:column; gap:4px; padding:10px 13px; border-radius:2px; background:#e7eced; color:#16242b; box-shadow:0 6px 12px rgba(0,0,0,.4); }
.hos-places .dk-slip.dk-read { opacity:.55; }
.hos-places .dk-slip-head { display:flex; justify-content:space-between; font:600 10.5px var(--x-caps); letter-spacing:2px; color:#5c6b70; }
.hos-places .dk-slip-head .warn { color:#0f4a58; }
.hos-places .dk-slip-text { font-size:12.5px; line-height:1.35; }
.hos-places .dk-slip-acts { display:flex; gap:12px; margin-top:auto; }
.hos-places .dk-slip-acts button { background:none; border:0; padding:0; font:600 11.5px var(--x-sans); color:#1d4f6b; cursor:pointer; }
.hos-places .dk-slip-acts button:disabled { color:#4f6168; cursor:default; }
.hos-places .dk-memo { display:flex; flex-direction:column; gap:10px; padding:16px 18px; border-radius:2px; background:#ece8dc; color:#16242b; box-shadow:4px 5px 0 -1px #e7eced, 0 10px 18px rgba(0,0,0,.45); margin:0 6px 8px 0; }
.hos-places .dk-memo-head { padding-bottom:7px; border-bottom:1px solid #e7eced; font:600 11px var(--x-caps); letter-spacing:2px; color:#5c6b70; }
.hos-places .dk-memo-text { margin:0; font:italic 16.5px/1.45 var(--x-serif); }
.hos-places .dk-grow { flex:1; }
.hos-places .dk-memo-rows { margin:0; display:grid; gap:4px; font-size:12.5px; }
.hos-places .dk-memo-rows div { display:flex; justify-content:space-between; gap:8px; } .dk-memo-rows dt { color:#5c6b70; } .dk-memo-rows dd { margin:0; font-weight:600; } .dk-memo-rows .warn { color:#0f4a58; }
.hos-places .dk-heat { height:4px; border-radius:2px; background:#e7eced; display:flex; } .dk-heat i { border-radius:2px; background:#b5702c; }
.hos-places .dk-memo-acts { display:flex; gap:8px; } .dk-memo-acts button { flex:1; height:32px; border-radius:3px; border:1px solid #16273a; background:transparent; color:#16273a; font:500 12.5px var(--x-sans); cursor:pointer; }
.hos-places .dk-side { display:flex; flex-direction:column; gap:12px; min-width:0; }
.hos-places .dk-tray { padding:12px 14px; border-radius:3px; background:#081318; border:1px solid #17323e; box-shadow:inset 0 3px 12px rgba(0,0,0,.8); display:flex; flex-direction:column; gap:8px; min-height:170px; }
.hos-places .dk-tray-item { display:flex; flex-direction:column; gap:3px; padding:10px 12px; background:#ece8dc; color:#16242b; border-radius:2px; }
.hos-places .dk-tray-item small { font:600 10.5px var(--x-caps); letter-spacing:2px; color:#5c6b70; } .dk-tray-item b { font:700 14px var(--x-serif); } .dk-tray-item .good { font-size:12px; color:#2f6b47; }
.hos-places .dk-record { display:flex; flex-direction:column; gap:6px; padding:12px 14px; border-radius:3px; background:#0a1a24; border:1px solid #2c6f78; font-size:12.5px; }
.hos-places .dk-record>span:first-child { font:600 10.5px var(--x-caps); letter-spacing:2px; color:var(--x-earn); }
.hos-places .dk-record small { color:#8fa3b3; }
.hos-places .dk-record-boxes { display:flex; gap:4px; } .dk-record-boxes i { width:14px; height:14px; border-radius:2px; border:1px dashed #3d7f8b; } .dk-record-boxes i.on { background:var(--x-earn); border:1px solid var(--x-earn); }
.hos-places .dk-muted { color:#8fa3b3; font-size:12.5px; margin:0; }
.hos-places .dk-market { display:flex; flex-wrap:wrap; gap:8px 12px; padding:12px 14px; border-radius:3px; background:#0a1520; border:1px solid #233a4c; }
.hos-places .dk-market .dk-tray-label { flex-basis:100%; }
.hos-places .dk-price { display:flex; flex-direction:column; min-width:62px; } .dk-price small { font-size:10.5px; color:#8fa3b3; } .dk-price b { font:600 15px var(--x-sans); color:#e7ecf0; }
.hos-places .dk-price em { font-style:normal; font-size:11px; } .dk-price .up { color:#e6a04b; } .dk-price .down { color:#6fcf97; }
.hos-places .dk-desk-foot { display:flex; justify-content:flex-end; align-items:center; gap:14px; }
.hos-places .dk-desk-foot button { height:42px; padding:0 20px; border-radius:6px; font:600 15px var(--x-sans); cursor:pointer; display:inline-flex; align-items:center; gap:10px; }
.hos-places .dk-desk-foot .outline { background:transparent; border:1px solid #53aab9; color:#53aab9; }
.hos-places .dk-desk-foot .gold,.hos-places .dk-modal .gold,.hos-places .dk-job .gold,.hos-places .dk-portal-foot .gold { background:var(--x-sea-deep); border:1px solid var(--x-gold-2); color:#eaf3f4; }
.hos-places .dk-desk-foot .gold:hover,.hos-places .dk-modal .gold:hover,.hos-places .dk-job .gold:hover,.hos-places .dk-portal-foot .gold:hover { filter:brightness(1.12); }
.hos-places .dk-desk-foot .good { color:#6fcf97; font-weight:600; }
.hos-places .dk-left-count { padding:2px 9px; border-radius:10px; background:#10323d; color:#e6a04b; font-size:12px; } .dk-left-count.clear { background:#1a1407; color:#6fcf97; }
.hos-places .dk-clear-msg { display:flex; flex-direction:column; align-items:center; gap:10px; padding:26px 0 18px; text-align:center; color:#a9bac8; }
.hos-places .dk-clear-msg b { font:600 24px var(--x-caps); letter-spacing:7px; color:var(--x-earn); }
.hos-places .dk-rail { display:flex; flex-direction:column; gap:6px; }
.hos-places .dk-world { display:flex; gap:10px; align-items:center; padding:8px; border:1px solid #2f4b60; border-radius:6px; background:#0b1a27; color:#e7ecf0; text-align:left; cursor:pointer; font:inherit; }
.hos-places .dk-world-map { width:44px; height:36px; border-radius:4px; background:#0e2131; display:flex; align-items:center; justify-content:center; color:#6fd6de; flex:none; }
.hos-places .dk-world b { display:block; font-size:14px; } .dk-world small { display:block; font-size:11.5px; color:#e6a04b; line-height:1.3; }
.hos-places .dk-rail-group { margin-top:6px; }
.hos-places .dk-rail-item { height:27px; display:flex; align-items:center; gap:8px; padding:0 8px; background:transparent; border:0; color:#e7ecf0; font:13.5px var(--x-sans); border-radius:4px; cursor:pointer; text-align:left; }
.hos-places .dk-rail-item:hover { background:#10243a; } .dk-rail-item span { flex:1; }
.hos-places .dk-rail-item em { min-width:18px; height:18px; border-radius:9px; background:#53aab9; color:#1a1407; font:600 11px var(--x-sans); font-style:normal; display:flex; align-items:center; justify-content:center; }
.hos-places .dk-rail-item em.bad { background:#e0605a; color:#1a0808; } .dk-rail-item em.cyan { background:#6fd6de; color:#06222a; }
/* portal */
.hos-places .dk-portal { position:fixed; right:0; bottom:66px; width:min(620px, 48vw); box-sizing:border-box; padding:16px 20px; overflow:auto; display:flex; flex-direction:column; gap:11px; background:#0b1a27; border-left:1px solid #2f7d8f; box-shadow:-18px 0 40px rgba(0,0,0,.55); z-index:40; color:#e7ecf0; }
.hos-places .dk-portal-head { display:flex; align-items:flex-start; gap:12px; }
.hos-places .dk-portal-head>div { flex:1; } .dk-portal-head small { font-size:12.5px; color:#9aacbb; }
.hos-places .dk-portal-head h2 { margin:4px 0 0; font:700 22px var(--x-serif); line-height:1.2; }
.hos-places .dk-pill { padding:4px 10px; border-radius:12px; border:1px solid #53aab9; color:#53aab9; font-size:12px; white-space:nowrap; }
.hos-places .dk-pill.bad { border-color:#e0605a; color:#f0a19c; } .dk-pill.warn { border-color:#e6a04b; color:#e6a04b; } .dk-pill.cyan { border-color:#6fd6de; color:#6fd6de; }
.hos-places .dk-x { width:32px; height:32px; border-radius:6px; border:1px solid #2f4b60; background:transparent; color:#9aacbb; font-size:16px; cursor:pointer; }
.hos-places .dk-lead { margin:0; font-size:14px; color:#c9d4dd; line-height:1.5; }
.hos-places .dk-chain { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:12.5px; }
.hos-places .dk-chip { padding:3px 8px; border-radius:4px; background:#13283a; } .dk-chip.last { background:#2a1618; color:#f0a19c; }
.hos-places .dk-arrow { color:#6fd6de; }
.hos-places .dk-options { display:flex; flex-direction:column; gap:6px; }
.hos-places .dk-option { display:flex; align-items:center; gap:12px; padding:9px 12px; text-align:left; border:1px solid #2f4b60; border-radius:6px; background:#0e2131; color:#e7ecf0; font:inherit; cursor:pointer; }
.hos-places .dk-option:hover:not(:disabled) { border-color:#2f7d8f; } .dk-option:disabled { opacity:.5; cursor:default; }
.hos-places .dk-option>span { flex:1; display:flex; flex-direction:column; gap:2px; } .dk-option b { font-size:14px; } .dk-option small { font-size:12.5px; color:#9aacbb; }
.hos-places .dk-option em { font-style:normal; font-size:13px; color:#53aab9; white-space:nowrap; }
.hos-places .dk-link { align-self:flex-start; background:none; border:0; padding:0; color:#6fd6de; font:13px var(--x-sans); cursor:pointer; }
.hos-places .dk-people { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.hos-places .dk-person { display:flex; flex-direction:column; gap:4px; padding:10px; border:1px solid #2f4b60; border-radius:6px; background:#0e2131; font-size:12px; }
.hos-places .dk-person b { font-size:13.5px; } .dk-person small { font-size:11.5px; color:#9aacbb; } .dk-person i { font-style:normal; color:#9aacbb; }
.hos-places .dk-rel { font-size:11.5px; color:#9aacbb; } .dk-rel.good { color:#6fcf97; } .dk-rel.bad { color:#f0a19c; }
.hos-places .dk-person button { height:28px; margin-top:auto; border-radius:4px; border:1px solid #2f4b60; background:transparent; color:#e7ecf0; font-size:12px; cursor:pointer; }
.hos-places .dk-person button:disabled { opacity:.45; cursor:default; }
.hos-places .dk-chief { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid #2f7d8f; border-radius:6px; background:#0a1a1f; }
.hos-places .dk-chief-read { margin:0; font:italic 15px/1.45 var(--x-serif); }
.hos-places .dk-job { display:flex; align-items:center; gap:10px; padding-top:8px; border-top:1px solid #1a2b2a; }
.hos-places .dk-job>div { flex:1; display:flex; flex-direction:column; gap:2px; } .dk-job b { font-size:13.5px; } .dk-job small { font-size:12px; color:#9fb0b6; } .dk-job small.warn { color:#e6a04b; }
.hos-places .dk-job-acts { display:flex; gap:6px; } .dk-job-acts button { height:32px; padding:0 12px; border-radius:4px; border:1px solid #2f7d8f; background:transparent; color:#53aab9; font-size:12.5px; cursor:pointer; white-space:nowrap; }
.hos-places .dk-job-acts button:disabled { opacity:.45; cursor:default; }
.hos-places .dk-portal-foot { display:flex; gap:8px; margin-top:auto; } .dk-portal-foot button { flex:1; height:36px; border-radius:6px; border:1px solid #2f4b60; background:transparent; color:#e7ecf0; font-size:13.5px; cursor:pointer; }
.hos-places .dk-portal-foot button:disabled { opacity:.45; }
.hos-places .dk-foot { margin:0; font-size:12.5px; color:#9aacbb; } .dk-foot b { color:#e7ecf0; }
/* sign-off confirmation */
.hos-places .dk-modal-back { position:fixed; inset:0; background:rgba(3,9,15,.78); z-index:60; display:flex; align-items:flex-start; justify-content:center; padding-top:9vh; }
.hos-places .dk-modal { width:min(680px, 92vw); box-sizing:border-box; padding:26px 30px; display:flex; flex-direction:column; gap:12px; border:1px solid #2f7d8f; border-radius:8px; background:#0b1a27; color:#e7ecf0; box-shadow:0 24px 60px rgba(0,0,0,.55); max-height:80vh; overflow:auto; }
.hos-places .dk-modal>small { font:600 12px var(--x-caps); letter-spacing:2.5px; color:#53aab9; }
.hos-places .dk-modal h2 { margin:0; font:700 27px var(--x-serif); } .dk-modal>p { margin:0; color:#9aacbb; font-size:14.5px; }
.hos-places .dk-left { display:flex; gap:14px; padding:11px 14px; border:1px solid #2f4b60; border-radius:6px; background:#0e2131; }
.hos-places .dk-left.bad { border-color:#e0605a; background:#1a1418; }
.hos-places .dk-left>span:first-child { width:96px; flex:none; display:flex; flex-direction:column; gap:5px; font:700 11px var(--x-caps); letter-spacing:1.5px; color:#e6a04b; }
.hos-places .dk-left>span:last-child { display:flex; flex-direction:column; gap:3px; } .dk-left b { font-size:15px; font-weight:500; } .dk-left small { font-size:13px; color:#9aacbb; }
.hos-places .dk-record-line { padding:9px 13px; border:1px solid #2c6f78; border-radius:6px; background:#0a1f29; font-size:13.5px; }
.hos-places .dk-modal-acts { display:flex; justify-content:flex-end; gap:10px; } .dk-modal-acts button { height:42px; padding:0 20px; border-radius:6px; font:600 15px var(--x-sans); cursor:pointer; }
.hos-places .dk-modal .warn { background:transparent; border:1px solid #e6a04b; color:#e6a04b; }
/* post-mortem, dossiers, reserves */
.hos-places .dk-postmortem { max-width:900px; display:flex; flex-direction:column; gap:12px; padding:26px 30px; background:#ece8dc; color:#16242b; border-radius:3px; }
.hos-places .dk-postmortem>small { font:600 12px var(--x-caps); letter-spacing:2.5px; color:#5c6b70; } .dk-postmortem h2 { margin:0; font:700 30px var(--x-serif); }
.hos-places .dk-pm-sentence { font:17px/1.55 var(--x-serif); margin:0; }
.hos-places .dk-pm-cause { display:flex; flex-direction:column; gap:6px; padding-top:10px; border-top:1px solid #e7eced; }
.hos-places .dk-postmortem .dk-chip { background:#e7eced; } .dk-postmortem .dk-chip.last { background:#e9d2cf; color:#7a2a22; } .dk-postmortem .dk-arrow { color:#1d4f6b; }
.hos-places .dk-postmortem .dk-muted { color:#5c6b70; }
.hos-places .dk-dossier,.hos-places .dk-reserves { display:flex; flex-direction:column; gap:8px; padding:12px 14px; border:1px solid #233a4c; border-radius:6px; background:#0a1520; font-size:13px; }
.hos-places .dk-dossier p { margin:0; color:#c9d4dd; line-height:1.45; }
.hos-places .dk-sectors { display:flex; flex-direction:column; gap:6px; }
.hos-places .dk-sector-bar { display:flex; height:10px; border-radius:3px; overflow:hidden; }
.hos-places .dk-sector-legend { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:11.5px; color:#9aacbb; } .dk-sector-legend i { display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:5px; vertical-align:middle; }
.hos-places .sec-finance { background:var(--x-earn-2); } .sec-services { background:#6fd6de; } .sec-manufacturing { background:#8fa3b3; } .sec-agriculture { background:#6fcf97; } .sec-resources { background:#c9774a; }
.hos-places .dk-reserve { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid #1b3142; }
.hos-places .dk-reserve>span:first-child { flex:1; display:flex; flex-direction:column; gap:2px; } .dk-reserve small { color:#9aacbb; font-size:12px; }
.hos-places .dk-reserve-acts { display:flex; gap:6px; } .dk-reserve-acts button { height:30px; padding:0 10px; border-radius:4px; border:1px solid #2f4b60; background:transparent; color:#e7ecf0; font-size:12px; cursor:pointer; } .dk-reserve-acts button:disabled { opacity:.45; }
@media (max-width:1400px) { .hos-places .dk-main { grid-template-columns:minmax(0,1fr) 220px; } .hos-places .dk-people { grid-template-columns:1fr; } }

.hos-places .dk-paper,.hos-places .dk-paper .dk-title { color:#16242b; }
.hos-places .dk-memo p.dk-memo-text { color:#16242b; }
.hos-places .dk-item { padding:15px 18px; border-radius:3px; }
.hos-places .dk-item:hover:not(:disabled) { background:inherit; }
.hos-places .dk-file:hover:not(:disabled) { background:#1d3247; }
.hos-places .dk-paper:hover:not(:disabled) { background:#f3eee2; }
.hos-places .dk-rail-item { padding:0 8px; border:0; }
.hos-places .dk-rail-item:hover:not(:disabled) { background:#10243a; border:0; }
.hos-places .dk-slip-acts button,.hos-places .dk-link { padding:0; border:0; }
.hos-places .dk-slip-acts button:hover:not(:disabled),.hos-places .dk-link:hover:not(:disabled) { background:none; }
.hos-places .dk-desk-foot button,.hos-places .dk-modal-acts button { padding:0 20px; }
.hos-places .dk-memo-acts button { padding:0 8px; line-height:1.1; }

/* Build 29 · public finances */
.fn-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:14px; align-items:start; }
@media (max-width: 1100px) { .fn-grid { grid-template-columns:1fr; } }
.fn-wrap .hx-card h3 { margin:0; font-size:17px; letter-spacing:.4px; }
.fn-wrap .hx-card p { line-height:1.5; }
.fn-wrap .hx-good { color:var(--x-good, #8fd19e); }
.fn-wrap .hx-bad { color:#f08c6a; }
.fn-rules { display:flex; gap:6px; margin:6px 0 4px; }
.fn-rules button { flex:1; padding:8px 0; border:1px solid #3b5058; border-radius:4px; background:transparent; color:#dfe7ec; font-size:14px; cursor:pointer; }
.fn-rules button.on { border-color:var(--x-gold, #e7eced); background:rgba(230,200,140,.14); color:var(--x-gold, #e7eced); }
.fn-move { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:6px; }
.fn-move select, .fn-move button { padding:8px 12px; border:1px solid #3b5058; border-radius:4px; background:#0f1f2b; color:#e8ecef; font-size:14px; }
.fn-move button { cursor:pointer; }
.fn-move button.gold { border-color:var(--x-gold, #e7eced); color:var(--x-gold, #e7eced); }
.fn-move button:disabled { opacity:.45; cursor:not-allowed; }
.fn-strip .hx-link { margin-top:8px; }
.fn-spark { display:flex; align-items:flex-end; gap:4px; height:70px; margin:8px 0; padding:4px 0; border-bottom:1px solid #3b5058; }
.fn-spark span { flex:1; background:#4d8fa3; border-radius:2px 2px 0 0; }
.fn-spark span.recession { background:#c9745a; } .fn-spark span.slowdown { background:#6fc3d0; } .fn-spark span.expansion { background:#6fae83; }

/* Build 30 · the world this quarter */
.wf-card { background:#0e1d29; border:1px solid #2c4350; border-radius:6px; padding:12px 14px; margin-top:12px; }
.wf-label { display:block; font:600 11px/1.2 var(--x-sans, sans-serif); letter-spacing:1.6px; color:#7fb6c7; margin-bottom:8px; }
.wf-card ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.wf-item { display:grid; gap:2px; padding-left:9px; border-left:3px solid #3b5058; }
.wf-item.wf-bad { border-left-color:#c9745a; } .wf-item.wf-good { border-left-color:#6fae83; } .wf-item.wf-covert { border-left-color:#9a7fd0; }
.wf-head { font-size:13px; color:#e8ecef; } .wf-head em { font-style:normal; font-size:10.5px; letter-spacing:1.2px; margin-left:8px; color:#6fc3d0; }
.wf-item.wf-bad .wf-head em { color:#f08c6a; } .wf-item.wf-good .wf-head em { color:#8fd19e; } .wf-item.wf-covert .wf-head em { color:#c3aef0; }
.wf-us { color:#e7eced; }
.wf-text { font-size:12.5px; line-height:1.45; color:#b9c6ce; }
.wf-more { margin-top:10px; background:none; border:0; color:#7fd3e6; font-size:13px; cursor:pointer; padding:0; }
.wf-wide ul { gap:10px; } .wf-state p { margin:10px 0 0; font-size:13px; } .wf-hist { font-size:12.5px; color:#b9c6ce; } .wf-hist small { color:#7fb6c7; }
.cm-card ul { gap:5px; } .cm-part { display:grid; grid-template-columns:48px 1fr; font-size:13px; color:#c9d4da; }
.cm-part b { text-align:right; padding-right:10px; } .cm-part.good b { color:#8fd19e; } .cm-part.bad b { color:#f08c6a; }
.cm-foot { margin:10px 0 0; font-size:12.5px; line-height:1.45; color:#9fb0ba; }
.gd-cap { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; padding-top:8px; border-top:1px solid #2c4350; }
.gd-cap p { margin:0; flex:1 1 420px; } .gd-cap-btn { padding:6px 12px; border:1px solid #e7eced; border-radius:4px; background:transparent; color:#e7eced; font-size:13px; cursor:pointer; }
.gd-cap-btn:disabled { opacity:.45; cursor:not-allowed; }
.gr-bars { display:grid; gap:4px; margin:6px 0 10px; } .gr-bars div { display:grid; grid-template-columns:120px 1fr 42px; align-items:center; gap:8px; font-size:12.5px; color:#b9c6ce; }
.gr-bars i { display:block; height:8px; background:#4d6f80; border-radius:2px; } .gr-bars div.us { color:#e7eced; font-weight:600; } .gr-bars div.us i { background:#e7eced; }
.gr-bars b { text-align:right; font-weight:500; } .gr-card p { margin:6px 0 0; font-size:13px; line-height:1.45; color:#c9d4da; }
.cm-crowd { margin:8px 0 0; font-size:12.5px; color:#f0a77f; }
/* Build 31 fix: the departments menu grew past short windows and could not be scrolled (Tyler, 1 Oct) */
.hx-dept-menu { max-height:min(70vh, calc(100vh - 190px)); overflow-y:auto; overscroll-behavior:contain; }
/* Build 32 · the office strip, compact by default */
.gd-strip { position:relative; }
.gd-strip-compact { display:flex !important; align-items:center; gap:18px; padding:8px 16px !important; }
.gd-strip-compact .gd-compact-now { display:flex; align-items:baseline; gap:10px; flex:0 1 auto; min-width:0; }
.gd-strip-compact .gd-compact-now p { margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:42vw; }
.gd-strip-compact .gd-cap { border-top:none; padding-top:0; flex:1 1 auto; }
.gd-strip-compact .gd-cap p { flex:1 1 280px; }
.gd-strip-toggle { flex:none; background:none; border:1px solid #3a5160; color:#c9d3d8; border-radius:4px; padding:5px 10px; font-size:12px; cursor:pointer; }
.gd-strip-close { position:absolute; top:8px; right:10px; z-index:2; }
.hx-mapstage .hx-map-advisor { left:14px; transform:none; width:min(470px,52%); } /* Build 32: bottom-left, so Valera's southern cities stay visible (as in the mockup) */

/* Build 32 · more room for the work (Tyler, 1 Oct: "the headers and footers pinned to each page are too big… you need to be able
   to scroll down and focus on the department functions"). The page now scrolls as one: the header, office strip and banner
   scroll away; only the quarter's steps stay pinned at the top (slim), and the press line stays pinned at the bottom (slim).
   The side columns stay beside you as you scroll, each scrolling on its own if long. Replaces the fixed-viewport layout. */
@media (min-width:1000px) and (min-height:600px) {
  #root:has(.hos-places) { overflow-y:auto !important; overflow-x:hidden; }
  .hos-places { height:auto !important; min-height:100vh; overflow:visible !important; }
  .hos-places>.hp-shell { flex:none !important; min-height:0; }
  .hos-places .hp-sidebar { overflow:visible; }
  .hos-places .hp-content, .hos-places.hx-mode .hp-content { height:auto !important; overflow:visible !important; display:block !important; }
  .hos-places.hx-mode .hp-content>.hx-workspace, .hx-workspace { height:auto !important; flex:none !important; }
  .hx-body { flex:none !important; min-height:calc(100vh - 100px); align-items:start; }
  .hx-center { overflow:visible !important; }
  .hx-rail, .hx-right { position:sticky; top:46px; max-height:calc(100vh - 46px - 40px); overflow:auto !important; align-self:start; }
  .hos-places>.hp-turn { position:sticky; top:0; z-index:40; background:#07121b; }
  .hos-places>.hp-turn button { padding-top:6px !important; padding-bottom:6px !important; }
  .hos-places>.hp-footer { position:sticky; bottom:0; z-index:40; padding:6px 22px !important; }
  .hos-places>.hp-footer>button.hx-return { padding:6px 14px !important; min-height:0; }
}
/* a lighter banner: the department name, crest and breadcrumb, without the tall picture strip */
.hx-banner { min-height:76px !important; padding:8px 22px !important; gap:16px; }
.hx-crest .va-seal { width:56px !important; height:56px !important; box-shadow:0 0 0 3px #06111b, 0 0 0 4px #8f2330 !important; }
.hx-crest .va-seal .va-icon { width:26px !important; height:26px !important; }
.hx-banner h1 { font-size:26px !important; margin:0 !important; }
.hx-banner p { margin:2px 0 0 !important; font-size:13px !important; }
.hos-places>.hp-header { padding-top:10px !important; padding-bottom:10px !important; }
