:root{
  --bg:#070a0e;
  --panel:#0c1116;
  --panel-2:#10161e;
  --panel-3:#141c25;
  --line:#1c2530;
  --line-soft:#161e27;
  --ink:#e9eff6;
  --ink-2:#93a2b4;
  --ink-3:#5b6b7e;
  --ink-4:#3d4a59;
  --accent:#4dd4ac;

  --c-regulatory:#7aa2f7;
  --c-capital:#4dd4ac;
  --c-distress:#f7768e;
  --c-infrastructure:#e0af68;
  --c-social:#bb9af7;
  --c-competitive:#2ac3de;
  --c-news:#8b9bb0;

  --rail-w:320px;
  --feed-w:330px;
  --detail-w:430px;
  --top-h:58px;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:14px;line-height:1.5;
  overflow:hidden;-webkit-font-smoothing:antialiased;
}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
input{font:inherit}

/* ---------- boot ---------- */
#boot{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;transition:opacity .55s ease,visibility .55s}
#boot.gone{opacity:0;visibility:hidden}
.boot-inner{text-align:center;width:352px}
.boot-mark{width:64px;height:64px;margin:0 auto 20px;position:relative}
.boot-mark i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--accent);opacity:0;animation:ripple 2.4s ease-out infinite}
.boot-mark i:nth-child(2){animation-delay:.8s}
.boot-mark i:nth-child(3){animation-delay:1.6s}
.boot-mark::after{content:"";position:absolute;inset:27px;border-radius:50%;background:var(--accent)}
@keyframes ripple{0%{transform:scale(.28);opacity:.9}100%{transform:scale(1);opacity:0}}
.boot-word{font-family:var(--serif);font-size:27px;letter-spacing:.02em;margin-bottom:7px}
.boot-tag{font-family:var(--serif);font-style:italic;font-size:12.5px;color:var(--ink-3);line-height:1.4;margin-bottom:14px;padding:0 8px}
.boot-text{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px;min-height:14px}
.boot-bar{height:2px;background:var(--line);overflow:hidden}
.boot-bar i{display:block;height:100%;width:38%;background:var(--accent);animation:slide 1.25s ease-in-out infinite}
@keyframes slide{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}

/* ---------- topbar ---------- */
.topbar{
  height:var(--top-h);display:flex;align-items:center;gap:18px;
  padding:0 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#0b1017,#080c11);position:relative;z-index:60;
}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.firm-lockup{display:flex;flex-direction:column;gap:1px;line-height:1.15}
.firm-name{font-size:12.5px;color:var(--ink-2);letter-spacing:.01em;white-space:nowrap}
.firm-scale{font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap}
.wordmark{font-family:var(--serif);font-size:20px;letter-spacing:.015em;padding-left:11px;border-left:1px solid var(--line)}
.tag{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(77,212,172,.32);border-radius:3px;padding:2px 5px}

.command{flex:1;display:flex;align-items:center;gap:8px;max-width:820px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:0 5px 0 11px;height:36px}
.command:focus-within{border-color:rgba(77,212,172,.5);box-shadow:0 0 0 3px rgba(77,212,172,.07)}
.command-icon{color:var(--ink-4);display:flex}
.command input[type=text]{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--ink);font-size:13px}
.command input[type=text]::placeholder{color:var(--ink-4)}
.deep{display:flex;align-items:center;gap:5px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3);cursor:pointer;padding:0 6px;border-left:1px solid var(--line);height:20px;flex:0 0 auto}
.deep input{accent-color:var(--accent);width:12px;height:12px;cursor:pointer}
.deep:hover{color:var(--ink-2)}
.command button[type=submit]{background:var(--accent);color:#04140f;font-weight:600;font-size:12px;
  padding:0 15px;height:27px;border-radius:5px;letter-spacing:.02em;white-space:nowrap;flex:0 0 auto}
.command button[type=submit]:hover{filter:brightness(1.08)}
.command button[type=submit]:disabled{opacity:.45;cursor:default}

.kpis{display:flex;gap:22px;flex:0 0 auto}
.kpi{text-align:right}
.kpi b{display:block;font-family:var(--mono);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.kpi span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4)}
.railtoggle{display:none;font-size:17px;color:var(--ink-2);padding:4px 8px}

/* ---------- stage ---------- */
.stage{position:absolute;inset:var(--top-h) 0 0 0;display:flex}

/* ---------- rail ---------- */
.rail{width:var(--rail-w);flex:0 0 auto;border-right:1px solid var(--line);background:var(--panel);
  display:flex;flex-direction:column;overflow:hidden;z-index:20}
.rail-block{padding:12px 14px 11px;border-bottom:1px solid var(--line-soft)}
.rail-block.grow{flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-bottom:0;border-bottom:none}
.rail-block h2{margin:0 0 10px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);
  font-weight:600;display:flex;justify-content:space-between;align-items:center}
.count{font-family:var(--mono);letter-spacing:0}
.mini{font-size:9px;letter-spacing:.1em;color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:1px 5px}
.mini:hover{color:var(--accent);border-color:rgba(77,212,172,.4)}

.clients{display:flex;flex-direction:column;gap:2px}
.client{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:6px;border:1px solid transparent;text-align:left;width:100%}
.client:hover{background:var(--panel-2)}
.client.is-on{background:var(--panel-2);border-color:var(--line)}
.client .swatch{width:7px;height:7px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px rgba(255,255,255,.035)}
.client .cname{flex:1;font-size:12.5px}
.client .cnum{font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}
.client.is-off{opacity:.34}

.feed-classes{display:flex;align-items:flex-start;gap:6px;padding:8px 12px 9px;border-bottom:1px solid var(--line-soft)}
.classes{display:flex;flex-wrap:wrap;gap:3px;flex:1}
.cls{display:flex;align-items:center;gap:4px;font-size:9.5px;padding:2px 6px 2px 5px;border-radius:4px;
  border:1px solid var(--line);color:var(--ink-2);transition:opacity .12s;white-space:nowrap}
.cls i{width:5px;height:5px;border-radius:50%;flex:0 0 auto}
.feed-classes .mini{flex:0 0 auto;margin-top:1px}
.cls:hover{border-color:var(--ink-4)}
.cls.is-off{opacity:.3}

.chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:13px}
.chip{font-size:10.5px;padding:3px 8px;border-radius:20px;border:1px solid var(--line);color:var(--ink-2)}
.chip:hover{border-color:var(--ink-4)}
.chip.is-on{background:rgba(77,212,172,.11);border-color:rgba(77,212,172,.42);color:var(--accent)}

.slider{display:block;margin-bottom:9px}
.slider span{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-3);margin-bottom:5px}
.slider b{font-family:var(--mono);color:var(--ink-2)}
input[type=range]{width:100%;-webkit-appearance:none;height:2px;background:var(--line);border-radius:2px;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--accent);cursor:pointer}

.toggles{display:flex;gap:12px;flex-wrap:wrap}
.toggle{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-3);cursor:pointer}
.toggle input{accent-color:var(--accent);width:11px;height:11px;cursor:pointer}
.toggle:hover{color:var(--ink-2)}

.list{overflow-y:auto;flex:1;min-height:0;padding-bottom:8px;margin-right:-4px;padding-right:4px}
.card{width:100%;text-align:left;padding:10px 9px;border-radius:7px;border:1px solid transparent;display:block;margin-bottom:2px}
.card:hover{background:var(--panel-2)}
.card.is-active{background:var(--panel-2);border-color:rgba(77,212,172,.34)}
.card.is-new{animation:cardin .5s ease}
@keyframes cardin{from{background:rgba(77,212,172,.14)}to{background:transparent}}
.card-top{display:flex;align-items:baseline;gap:7px;margin-bottom:3px}
.card-score{font-family:var(--mono);font-size:10.5px;font-weight:600;flex:0 0 auto;font-variant-numeric:tabular-nums}
.card-title{font-size:12.5px;line-height:1.35;flex:1}
.card-meta{display:flex;gap:7px;align-items:center;font-size:10.5px;color:var(--ink-4)}
.card-meta .val{font-family:var(--mono);margin-left:auto;color:var(--ink-3)}
.card-classes{display:flex;gap:2px;margin-top:5px}
.card-classes i{height:2px;flex:1;border-radius:1px;opacity:.8}

.rail-foot{padding:7px 14px 8px;border-top:1px solid var(--line-soft);flex:0 0 auto}
.rail-foot p{margin:0;font-size:9px;line-height:1.45;color:var(--ink-4)}

/* ---------- map ---------- */
.mapwrap{flex:1;position:relative;min-width:0}
#map{position:absolute;inset:0;background:#070a0e}
.vignette{position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(ellipse at 50% 50%,transparent 52%,rgba(4,6,9,.55) 100%)}
.maplibregl-ctrl-attrib{background:rgba(7,10,14,.8)!important;font-size:9.5px}
.maplibregl-ctrl-attrib a{color:var(--ink-4)!important}
.maplibregl-popup-content{background:var(--panel-3);border:1px solid var(--line);border-radius:8px;padding:9px 11px;box-shadow:0 14px 38px rgba(0,0,0,.65)}
.maplibregl-popup-tip{border-top-color:var(--line)!important;border-bottom-color:var(--line)!important}
.pop-t{font-size:12.5px;margin-bottom:3px}
.pop-s{font-size:10px;color:var(--ink-4);font-family:var(--mono)}
.pop-cls{display:flex;gap:3px;margin-top:6px}
.pop-cls i{width:14px;height:2px;border-radius:1px}

.scanline{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:5;
  background:linear-gradient(90deg,transparent 0%,rgba(77,212,172,.04) 45%,rgba(77,212,172,.19) 50%,rgba(77,212,172,.04) 55%,transparent 100%);
  background-size:220% 100%}
.scanline.on{opacity:1;animation:sweep 2.4s linear infinite}
@keyframes sweep{0%{background-position:170% 0}100%{background-position:-70% 0}}

.maptools{position:absolute;top:13px;right:13px;display:flex;gap:4px;z-index:10}
.mt{background:rgba(12,17,22,.9);border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:11px;color:var(--ink-3);backdrop-filter:blur(8px)}
.mt:hover{color:var(--ink);border-color:var(--ink-4)}

.legend{position:absolute;left:13px;bottom:13px;z-index:10;background:rgba(12,17,22,.9);
  border:1px solid var(--line);border-radius:8px;padding:9px 11px;backdrop-filter:blur(8px);max-width:330px}
.legend-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.lg{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--ink-3)}
.lg i{width:6px;height:6px;border-radius:50%}
.legend-note{font-size:9.5px;color:var(--ink-4);line-height:1.45}

/* ---------- agent log ---------- */
.agentlog{position:absolute;left:13px;top:13px;z-index:14;width:378px;background:rgba(11,16,21,.95);
  border:1px solid rgba(77,212,172,.26);border-radius:9px;backdrop-filter:blur(12px);
  box-shadow:0 20px 50px rgba(0,0,0,.6);overflow:hidden}
.agentlog-head{display:flex;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--line-soft)}
.agentlog-head b{font-size:11px;font-weight:600;letter-spacing:.03em}
.agentlog-meta{flex:1;font-family:var(--mono);font-size:9.5px;color:var(--ink-4);text-align:right}
.agentlog-head button{color:var(--ink-4);font-size:16px;line-height:1;padding:0 2px}
.agentlog-head .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blip 1.2s ease-in-out infinite}
.agentlog-head .dot.done{animation:none;opacity:.5}
@keyframes blip{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.agentlog-body{padding:9px 11px 10px;max-height:250px;overflow-y:auto;font-family:var(--mono);font-size:10.5px;line-height:1.6;color:var(--ink-3)}
.agentlog-body .ln{display:block;opacity:0;animation:fadein .3s forwards;word-wrap:break-word}
.agentlog-body .ok{color:var(--accent)}
.agentlog-body .err{color:#f7768e}
.agentlog-body .q{color:var(--c-regulatory)}
.agentlog-body .q::before{content:"search  ";color:var(--ink-4)}
.agentlog-body .prose{font-family:var(--sans);font-size:11px;color:var(--ink-2);line-height:1.55;
  border-left:2px solid var(--line);padding-left:9px;margin:5px 0}
@keyframes fadein{to{opacity:1}}
.agentlog-sources{border-top:1px solid var(--line-soft);padding:8px 11px 9px;max-height:118px;overflow-y:auto}
.agentlog-sources h5{margin:0 0 5px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4);font-weight:600}
.agentlog-sources a{display:block;font-size:10.5px;color:var(--ink-3);text-decoration:none;padding:2px 0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agentlog-sources a:hover{color:var(--accent)}

/* ---------- feed ---------- */
.feed{width:var(--feed-w);flex:0 0 auto;border-left:1px solid var(--line);background:var(--panel);
  display:flex;flex-direction:column;overflow:hidden;z-index:20}
.feed-head{display:flex;align-items:center;gap:9px;padding:11px 14px 10px;border-bottom:1px solid var(--line-soft)}
.feed-head h2{margin:0;flex:1;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);font-weight:600}
.live{display:flex;align-items:center;gap:5px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#f7768e}
.live i{width:5px;height:5px;border-radius:50%;background:#f7768e;animation:blip 1.6s ease-in-out infinite}
.feed-count{font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}
.feed-body{flex:1;min-height:0;overflow-y:auto;padding:4px 0}
.feed-foot{padding:7px 14px 9px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:9.5px;color:var(--ink-4)}

.sig{display:block;width:100%;text-align:left;padding:8px 13px 9px 12px;border-left:2px solid transparent;
  border-bottom:1px solid rgba(22,30,39,.6);position:relative}
.sig:hover{background:var(--panel-2)}
.sig.enter{animation:sigin .45s cubic-bezier(.2,.8,.3,1)}
@keyframes sigin{from{opacity:0;transform:translateY(-9px);background:rgba(77,212,172,.09)}to{opacity:1;transform:none}}
.sig-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.sig-cls{font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.sig-time{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--ink-4)}
.sig-head{font-size:12px;line-height:1.4;color:var(--ink);margin-bottom:3px}
.sig-meta{font-size:10px;color:var(--ink-4);display:flex;gap:6px}
.sig-meta .place{color:var(--ink-3)}
.sig-detail{font-size:10.5px;color:var(--ink-3);line-height:1.45;margin-top:5px;display:none}
.sig.open .sig-detail{display:block}
.sig-strength{position:absolute;right:11px;top:9px;width:22px;height:2px;border-radius:1px;background:var(--line)}
.sig-strength i{display:block;height:100%;border-radius:1px}
.sig-client{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:3px;
  border:1px solid var(--line);color:var(--ink-3)}

/* ---------- detail ----------
   The detail panel overlays the feed column rather than becoming a fourth
   column. At 1280 wide a fourth column would leave the map unusable, and
   overlaying avoids a map resize every time an opportunity is opened. */
.detail{width:var(--detail-w);position:absolute;right:0;top:0;bottom:0;
  border-left:1px solid var(--line);background:var(--panel);
  overflow-y:auto;animation:slidein .24s cubic-bezier(.2,.8,.3,1);z-index:25;
  box-shadow:-24px 0 48px rgba(0,0,0,.4)}
@keyframes slidein{from{transform:translateX(28px);opacity:0}to{transform:none;opacity:1}}
.detail-close{position:absolute;top:11px;right:13px;font-size:19px;line-height:1;color:var(--ink-4);z-index:3}
.detail-close:hover{color:var(--ink)}

.d-head{padding:17px 19px 15px;border-bottom:1px solid var(--line-soft)}
.d-client{display:flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
.d-client i{width:6px;height:6px;border-radius:50%}
.d-title{font-family:var(--serif);font-size:22px;line-height:1.22;margin:0 24px 6px 0}
.d-place{font-size:11.5px;color:var(--ink-4);display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.d-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line-soft)}
.d-stat{padding:11px 10px 12px;border-right:1px solid var(--line-soft)}
.d-stat:last-child{border-right:none}
.d-stat b{display:block;font-family:var(--mono);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.d-stat span{font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4)}

.d-trigger{padding:13px 19px;border-bottom:1px solid var(--line-soft);background:rgba(77,212,172,.045)}
.d-trigger h3{margin:0 0 6px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
.d-trigger p{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-2)}

.d-sec{padding:15px 19px;border-bottom:1px solid var(--line-soft)}
.d-sec h3{margin:0 0 10px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);
  font-weight:600;display:flex;justify-content:space-between;align-items:center}
.d-sec p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-2)}
.d-spread{display:flex;gap:2px}
.d-spread i{width:15px;height:2px;border-radius:1px}

.evgroup{margin-bottom:11px}
.evgroup:last-child{margin-bottom:0}
.evgroup-h{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.evgroup-h i{width:6px;height:6px;border-radius:50%}
.evgroup-h span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;font-weight:600}
.ev{display:flex;align-items:flex-start;gap:9px;padding:5px 0 5px 12px;border-left:1px solid var(--line)}
.ev-main{flex:1;min-width:0}
.ev-l{font-size:11px;color:var(--ink-4);margin-bottom:1px}
.ev-v{font-size:12px;color:var(--ink);line-height:1.35}
.ev-src{font-size:10px;color:var(--ink-4);margin-top:2px;font-family:var(--mono)}
.ev-src a{color:var(--c-regulatory);text-decoration:none}
.ev-src a:hover{text-decoration:underline}
.ev-bar{width:34px;height:2px;background:var(--line);border-radius:2px;flex:0 0 auto;margin-top:8px;overflow:hidden}
.ev-bar i{display:block;height:100%;border-radius:2px}

.ws{list-style:none;margin:0;padding:0}
.ws li{position:relative;padding:5px 0 5px 16px;font-size:12px;color:var(--ink-2);line-height:1.5}
.ws li::before{content:"";position:absolute;left:2px;top:11px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.7}
.pills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.pill{font-size:10px;padding:3px 8px;border-radius:20px;border:1px solid var(--line);color:var(--ink-3)}
.hardpart{margin-top:11px;padding:9px 11px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line)}
.hardpart b{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#e0af68;margin-bottom:4px;font-weight:600}
.hardpart p{margin:0;font-size:11.5px;line-height:1.5;color:var(--ink-2)}

.d-actions{padding:15px 19px 22px;display:flex;flex-direction:column;gap:7px}
.btn{padding:9px 14px;border-radius:7px;font-size:12.5px;font-weight:600;text-align:center;letter-spacing:.01em}
.btn-primary{background:var(--accent);color:#04140f}
.btn-primary:hover{filter:brightness(1.08)}
.btn-primary:disabled{opacity:.5;cursor:default;filter:none}
.btn-ghost{border:1px solid var(--line);color:var(--ink-3)}
.btn-ghost:hover{border-color:var(--ink-4);color:var(--ink)}

.brief{margin-top:13px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:15px 16px;
  font-size:12.5px;line-height:1.62;color:var(--ink-2);word-wrap:break-word}
.brief:empty{display:none}
.brief h4{margin:14px 0 6px;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:600}
.brief h4:first-child{margin-top:0}
.brief p{margin:0 0 9px}
.brief p:last-of-type{margin-bottom:0}
.brief p.li{position:relative;padding-left:13px}
.brief p.li::before{content:"";position:absolute;left:2px;top:8px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.7}
.brief strong{color:var(--ink);font-weight:600}
.brief .cursor{display:inline-block;width:6px;height:12px;background:var(--accent);vertical-align:-2px;animation:blink .9s step-end infinite}
@keyframes blink{50%{opacity:0}}
.brief-meta{margin-top:9px;font-size:9.5px;color:var(--ink-4);font-family:var(--mono)}

.status{display:inline-flex;align-items:center;gap:4px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;
  padding:2px 6px;border-radius:3px;border:1px solid var(--line);color:var(--ink-4)}
.status.new{color:var(--accent);border-color:rgba(77,212,172,.3)}
.status.qualified{color:#7aa2f7;border-color:rgba(122,162,247,.3)}
.status[class*="in-progress"]{color:#e0af68;border-color:rgba(224,175,104,.3)}
.status.won{color:#bb9af7;border-color:rgba(187,154,247,.3)}
.horizon{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4)}
.horizon.now{color:#f7768e}

/* ---------- responsive ----------
   The three-column command centre has to survive 1280x720, which is what a
   borrowed meeting-room laptop or a projector will give you. */
@media (max-width:1560px){ :root{--rail-w:292px;--feed-w:298px;--detail-w:404px} }
@media (max-width:1400px){
  :root{--rail-w:268px;--feed-w:276px;--detail-w:384px}
  .kpis{gap:16px}
  .kpi b{font-size:13px}
  .agentlog{width:340px}
}
@media (max-width:1240px){
  :root{--rail-w:250px;--feed-w:258px;--detail-w:360px}
  .kpis{display:none}
  .wordmark{font-size:18px}
  .agentlog{width:310px}
  .legend{max-width:260px}
}
@media (max-width:1040px){
  .railtoggle{display:block}
  .rail{position:absolute;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .22s;width:280px}
  .rail.open{transform:none}
  .feed{position:absolute;right:0;top:0;bottom:0;transform:translateX(100%);transition:transform .22s;width:290px}
  .feed.open{transform:none}
  .detail{width:min(404px,100%)}
  .command input[type=text]{font-size:12px}
  .deep{display:none}
}
@media (max-height:760px){
  .agentlog-body{max-height:190px}
  .agentlog-sources{max-height:88px}
}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#1a232e;border-radius:5px;border:2px solid var(--panel)}
::-webkit-scrollbar-thumb:hover{background:#25313f}
