:root{--bg:#0b1020;--panel:#121a2e;--panel2:#18223b;--line:#24304f;--txt:#e6ebf5;--mut:#8b97b3;--acc:#5b8cff;--acc2:#22c3a6;--warm:#f5a524;--hot:#ef4444;--locked:#a855f7;--won:#22c55e;--contacted:#38bdf8;--new:#64748b;--lost:#475569}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--txt)}
a{color:var(--acc)}.muted{color:var(--mut)}.small{font-size:12px}.err{color:#ff7a7a}.row{display:flex;align-items:center}.between{justify-content:space-between}.gap{gap:8px}.wrap{flex-wrap:wrap}
.top{display:flex;align-items:center;gap:20px;padding:10px 20px;background:linear-gradient(90deg,#0f1730,#101a36);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;white-space:nowrap}.brand span{color:var(--mut)}
.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--acc),var(--acc2));display:grid;place-items:center;font-weight:800;color:#fff;letter-spacing:.5px}
nav{display:flex;gap:2px;flex:1;overflow:auto}nav button{background:none;border:0;color:var(--mut);padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600}nav button.on,nav button:hover{background:var(--panel2);color:var(--txt)}
.right{display:flex;gap:10px;align-items:center}
.btn{background:var(--panel2);color:var(--txt);border:1px solid var(--line);padding:8px 14px;border-radius:9px;cursor:pointer;font-weight:600}.btn:hover{border-color:var(--acc)}.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}.btn.primary:disabled{background:#2b3656;border-color:#2b3656;color:#7c87a3;cursor:not-allowed}
.btn.danger{background:#7f1d1d;border-color:#991b1b}.btn.ghost{background:none}.btn.sm{padding:5px 10px;font-size:12px}.btn.wide{width:100%}
.badge{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px;white-space:nowrap}.badge.warn{border-color:var(--warm);color:var(--warm)}.badge.ok{border-color:var(--won);color:var(--won)}
.kpibar{padding:14px 20px 4px}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px;margin-bottom:10px}.seg button{background:none;border:0;color:var(--mut);padding:6px 14px;border-radius:8px;cursor:pointer;font-weight:600}.seg button.on{background:var(--acc);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;position:relative;overflow:hidden}.kpi .l{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.6px}.kpi .v{font-size:22px;font-weight:800;margin-top:2px}.kpi .s{font-size:11px;color:var(--mut)}.kpi.big{grid-column:span 2;background:linear-gradient(135deg,#17224a,#122036)}.kpi .flag{color:var(--warm);font-size:11px;font-weight:700}
.kpi svg{position:absolute;right:8px;bottom:8px;opacity:.9}
main{padding:12px 20px 40px}.tab{display:none}.tab.on{display:block}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}.card h3{margin:0 0 12px;font-size:15px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:1000px){.grid2{grid-template-columns:1fr}.kpi.big{grid-column:span 1}}
.funnel .f{display:flex;align-items:center;gap:10px;margin:5px 0}.funnel .bar{height:24px;border-radius:6px;background:linear-gradient(90deg,var(--acc),var(--acc2));min-width:3px}.funnel .lab{width:84px;color:var(--mut);font-size:12px}.funnel .n{font-weight:700;font-size:12px}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;color:var(--mut);font-weight:600;font-size:11px;text-transform:uppercase;padding:8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}.tbl td{padding:7px 8px;border-bottom:1px solid #1c2640;vertical-align:top}.tbl tr:hover td{background:#152038}.tbl td.nm{font-weight:600;cursor:pointer;color:#cfe0ff}
.tablewrap{max-height:62vh;overflow:auto;margin:10px 0;border:1px solid var(--line);border-radius:10px}
.stage{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize;color:#fff}.stage.new{background:var(--new)}.stage.contacted{background:#0e7490}.stage.warm{background:#b7791f}.stage.hot{background:#b91c1c}.stage.locked{background:#7e22ce}.stage.won{background:#15803d}.stage.lost{background:#334155;color:#cbd5e1}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}input,select,textarea{background:#0e1528;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc)}#fq{flex:1;min-width:220px}
.form label{display:block;margin-bottom:12px;color:var(--mut);font-size:12px}.form input{display:block;width:100%;margin-top:4px}.form small{display:block;margin-top:3px}
.probs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.probs label{margin:0}
.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:6px 0;display:flex;gap:8px;align-items:center}.checklist .ok{color:var(--won)}.checklist .no{color:var(--hot)}
.feed{max-height:460px;overflow:auto;font-size:12.5px}.ev{padding:7px 8px;border-left:3px solid var(--line);margin:4px 0;background:#0f172b;border-radius:0 8px 8px 0}.ev .t{color:var(--mut);font-size:11px}.ev .who{font-weight:700}.ev.fresh{animation:flash 1.6s ease}.ev .src{float:right;font-size:10px;padding:1px 6px;border-radius:999px;background:#1e2a47;color:var(--mut)}
@keyframes flash{from{background:#23407a}to{background:#0f172b}}
.flowwrap{display:grid;grid-template-columns:1fr 340px;gap:14px}@media(max-width:1100px){.flowwrap{grid-template-columns:1fr}}
#flow{width:100%;height:auto;background:radial-gradient(circle at 50% 45%,#16224a 0,#0d1428 70%);border-radius:12px;border:1px solid var(--line)}
.node rect{fill:#141f3c;stroke:#2c3b66;stroke-width:1.5}.node.hub rect{fill:url(#hubg);stroke:#7aa2ff}.node text{fill:#e6ebf5;font-size:13px;font-weight:700;text-anchor:middle}.node .sub{fill:#8b97b3;font-size:10px;font-weight:500}.node.pulse rect{stroke:#22c3a6;stroke-width:3}
.edge{stroke:#2f3e6a;stroke-width:2;fill:none}.edge.hot{stroke:#5b8cff}.edge-lbl{fill:#8b97b3;font-size:10px}.dot{filter:drop-shadow(0 0 4px #5b8cff)}
.cat-l{color:#7dd3fc}.cat-g{color:#86efac}
.svc{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#0f172b}.svc .meta{flex:1}.svc .meta b{display:block}.svc .price{width:120px}.svc .pflag{color:var(--warm);font-size:11px;font-weight:700}.svc .src{font-size:11px;color:var(--mut)}
#map{height:66vh;border-radius:12px;margin-top:10px;border:1px solid var(--line)}
.chip{padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;cursor:pointer}.chip.locked{border-color:var(--locked)}.chip.hot{border-color:var(--hot)}.chip.warm{border-color:var(--warm)}.chip.won{border-color:var(--won)}.chip.contacted{border-color:var(--contacted)}
.pin{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 6px #0008}.pin span{transform:rotate(45deg);font-size:14px}
.leaflet-tooltip.tt{background:#0f172b;color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px 10px;box-shadow:0 6px 18px #0009;font:12px Inter,system-ui;min-width:200px;white-space:normal}.tt b{font-size:13px}.tt .k{color:var(--mut)}
.leaflet-popup-content-wrapper{background:#121a2e;color:var(--txt);border-radius:12px}.leaflet-popup-tip{background:#121a2e}
.drawer{position:fixed;top:0;right:-560px;width:540px;max-width:100%;height:100%;background:var(--panel);border-left:1px solid var(--line);z-index:2000;transition:right .25s;overflow:auto;padding:22px}.drawer.on{right:0}.drawer .x{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--mut);font-size:26px;cursor:pointer}
.kv{display:grid;grid-template-columns:120px 1fr;gap:4px 10px;font-size:13px}.kv div:nth-child(odd){color:var(--mut)}
.steps{display:flex;gap:6px;margin-bottom:14px}.steps div{flex:1;padding:8px;border-radius:8px;background:#0f172b;border:1px solid var(--line);color:var(--mut);font-size:12px;font-weight:700}.steps div.on{border-color:var(--acc);color:var(--txt)}.steps div.done{border-color:var(--won);color:var(--won)}
.msg{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px;background:#0f172b}.msg.excluded{opacity:.55}.msg textarea{width:100%;min-height:200px;font:12.5px/1.5 ui-monospace,Menlo,monospace}.msg input.subj{width:100%;margin:6px 0}.flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.flags span{font-size:10.5px;background:#3a2a0b;color:#fbbf24;border-radius:6px;padding:2px 6px}.flags span.block{background:#3b1010;color:#fca5a5}
.approve{background:#0f2a1e;border:1px solid #166534;border-radius:12px;padding:14px;margin-top:12px}.req{display:inline-block;background:#3b2a07;color:#fbbf24;border:1px solid #92400e;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}
.login-body{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 30% 20%,#1a2a5c,#0b1020 60%)}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px;width:360px;max-width:92vw;box-shadow:0 20px 60px #0008}.login-card h1{font-size:22px;margin:14px 0 20px;line-height:1.2}.login-card h1 span{color:var(--mut);font-weight:600}.login-card label{display:block;font-size:12px;color:var(--mut);margin-bottom:12px}.login-card input{width:100%;margin-top:4px}
.q{display:flex;gap:10px;align-items:center;padding:7px 4px;border-bottom:1px solid #1c2640;cursor:pointer}.q:hover{background:#152038}.q .nm{flex:1;font-weight:600}.q .i{color:var(--mut);font-size:11px}
.prio{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:7px;font-weight:800;font-size:12px;color:#fff;cursor:help}.prio.red{background:#dc2626}.prio.amber{background:#d97706}.prio.grey{background:#475569}
/* ===== Command-center theme (Jensen) ===== */
:root{--bg:#04060d;--panel:rgba(13,20,40,.58);--panel2:rgba(22,32,62,.7);--line:rgba(56,189,248,.16);--txt:#e2e8f8;--mut:#7d8bb0;--acc:#22d3ee;--acc2:#a78bfa;--mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace}
body{background:var(--bg)}
.bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
 radial-gradient(900px 500px at 15% -10%,rgba(34,211,238,.13),transparent 60%),radial-gradient(800px 600px at 100% 10%,rgba(167,139,250,.13),transparent 60%),radial-gradient(700px 500px at 50% 120%,rgba(59,130,246,.10),transparent 60%),
 linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px) 0 0/44px 44px,#04060d}
.bgfx::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(34,211,238,.05),transparent);height:30%;animation:scan 9s linear infinite}
@keyframes scan{from{transform:translateY(-40%)}to{transform:translateY(380%)}}
.top{background:rgba(6,10,22,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(34,211,238,.08),0 10px 30px rgba(0,0,0,.35)}
.brand-mark{background:linear-gradient(135deg,#22d3ee,#7c3aed);box-shadow:0 0 18px rgba(34,211,238,.45)}
.card,.kpi{background:var(--panel);backdrop-filter:blur(12px) saturate(140%);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 30px rgba(0,0,0,.35)}
.kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--acc),transparent);opacity:.55}
.kpi.big{background:linear-gradient(135deg,rgba(34,211,238,.12),rgba(124,58,237,.14)),var(--panel)}
.kpi .v,.cnt,.funnel .n,.tbl td:nth-child(9),.prio,.edge-lbl,.ev .t{font-family:var(--mono)}
.kpi .v{color:#f0f9ff;text-shadow:0 0 14px rgba(34,211,238,.35);letter-spacing:-.5px}
nav button.on{background:rgba(34,211,238,.12);color:#cffafe;box-shadow:inset 0 -2px 0 var(--acc)}
.btn.primary{background:linear-gradient(135deg,#0891b2,#7c3aed);border-color:transparent;box-shadow:0 0 16px rgba(34,211,238,.25)}
.seg button.on{background:linear-gradient(135deg,#0891b2,#7c3aed)}
.funnel .bar{background:linear-gradient(90deg,#22d3ee,#a78bfa);box-shadow:0 0 12px rgba(34,211,238,.35)}
.tbl th{background:rgba(8,13,28,.95)}.tbl tr:hover td{background:rgba(34,211,238,.06)}
input,select,textarea{background:rgba(5,9,20,.7)}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22d3ee;box-shadow:0 0 10px #22d3ee;margin-right:8px;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
#flow{background:radial-gradient(circle at 50% 32%,rgba(34,211,238,.10),transparent 55%),radial-gradient(circle at 50% 80%,rgba(124,58,237,.10),transparent 60%),#050913;border:1px solid var(--line)}
.edge{stroke:#1d2d52;stroke-width:1;fill:none;transition:stroke .4s}.edge.live{stroke:#264a7a}.edge.hot{stroke:#22d3ee;filter:drop-shadow(0 0 4px #22d3ee)}.edge.flash{stroke:#a78bfa}
.edge-lbl{fill:#5f7bb0;font-size:10px}
.node rect{fill:rgba(10,18,38,.92);stroke:#26406e;stroke-width:1.2}.node text{fill:#dbeafe;font-size:12.5px}.node .sub{fill:#6b7fa8;font-size:9.5px}
.node .ring{fill:none;stroke:var(--pc,#22d3ee);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.node.pulse .ring{animation:ring .9s ease-out}.node.pulse rect{stroke:var(--pc,#22d3ee);filter:drop-shadow(0 0 8px var(--pc,#22d3ee))}
@keyframes ring{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}
.node.hub rect{fill:url(#hubg);stroke:#22d3ee;stroke-width:1.6;filter:drop-shadow(0 0 14px rgba(34,211,238,.55))}.node.hub .hubt{font-size:17px;fill:#ecfeff;letter-spacing:.5px}
.node.hub .ring{opacity:.35;animation:hubring 3.2s ease-in-out infinite}@keyframes hubring{0%,100%{transform:scale(1);opacity:.25}50%{transform:scale(1.25);opacity:.05}}
.node.up rect{stroke:#7c3aed}
.pkt{filter:drop-shadow(0 0 5px currentColor)}.pkt.amb{filter:none;opacity:.55}
.legend text{fill:#7d8bb0;font-size:10.5px}.idle{fill:#3b5b8f;font-size:10.5px;font-family:var(--mono);opacity:0;transition:opacity .6s}.idle.on{opacity:1}
.ev{background:rgba(8,14,30,.75);border-left:3px solid var(--ec,#26406e)}.ev.fresh{animation:evin .7s ease-out}
@keyframes evin{from{transform:translateX(16px);opacity:0;box-shadow:0 0 18px var(--ec)}to{transform:none;opacity:1}}
#map{background:#0a0f1e}.pin{border-width:2px}
.leaflet-container{background:#0a0f1e}.leaflet-control-attribution{background:rgba(5,9,20,.7)!important;color:#5f6f95!important}.leaflet-control-attribution a{color:#7dd3fc!important}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(34,211,238,.18)!important}.marker-cluster div{background:rgba(8,145,178,.85)!important;color:#ecfeff!important;font-family:var(--mono);box-shadow:0 0 14px rgba(34,211,238,.7)}
.drawer{background:rgba(8,13,28,.94);backdrop-filter:blur(14px)}
.login-body{background:radial-gradient(circle at 30% 20%,rgba(34,211,238,.18),transparent 50%),radial-gradient(circle at 80% 80%,rgba(124,58,237,.2),transparent 50%),#04060d}.login-card{background:rgba(13,20,40,.7);backdrop-filter:blur(14px)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.darktiles{filter:invert(100%) hue-rotate(185deg) brightness(.82) contrast(.92) saturate(.55)}

/* ===== Talk to Jensen + Overview hero ===== */
.talk-jensen-mini{color:#67e8f9;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;letter-spacing:.02em;opacity:.9}
.talk-jensen-mini:hover{color:#ecfeff;text-decoration:underline}
.hero{padding:16px 16px 12px;background:linear-gradient(180deg,#10182f 0%,#121a2e 55%,#0d1528 100%);border:1px solid #2a3d6e;box-shadow:0 0 40px rgba(34,211,238,.08) inset}
.hero h3{margin:0 0 10px}
.replay-btn{font-size:13px;padding:8px 16px;letter-spacing:.04em;box-shadow:0 0 16px rgba(91,140,255,.35)}
.flowwrap{display:grid;grid-template-columns:1fr 280px;gap:12px;min-height:420px}
.flowstage{position:relative;min-height:400px}
.flow-svg{width:100%;height:auto;display:block}
.jensen-hub{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  text-decoration:none;color:#ecfeff;z-index:5;width:168px;background:none;border:0;box-shadow:none;
}
.jensen-hub:hover .jh-disc{filter:brightness(1.12)}
.jensen-hub:focus-visible{outline:none}
.jensen-hub:focus-visible .jh-disc{outline:3px solid #c4b5fd;outline-offset:4px}
.jh-disc{
  width:156px;height:156px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 40% 28%,rgba(103,232,249,.28) 0%,#14122a 42%,#0b0b12 75%);
  border:3px solid #a5f3fc;
  box-shadow:0 0 0 6px rgba(34,211,238,.18),0 0 36px rgba(34,211,238,.7),0 0 64px rgba(124,58,237,.45);
  animation:jensenPulse 2.4s ease-in-out infinite;
}
.jh-avatar{width:124px;height:140px;margin-top:10px;filter:drop-shadow(0 0 8px rgba(103,232,249,.45))}
.jh-name{font-size:20px;font-weight:800;letter-spacing:.6px;line-height:1.1;margin-top:8px;text-shadow:0 0 12px rgba(103,232,249,.45)}
.jh-sub{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9;margin-top:2px;color:#a5f3fc}
.jensen-hub.pulse .jh-disc{box-shadow:0 0 0 10px rgba(34,211,238,.2),0 0 48px rgba(167,139,250,.8),0 0 80px rgba(34,211,238,.6)}
@keyframes jensenPulse{
  0%,100%{box-shadow:0 0 0 6px rgba(34,211,238,.18),0 0 36px rgba(34,211,238,.65),0 0 64px rgba(124,58,237,.4);transform:scale(1)}
  50%{box-shadow:0 0 0 12px rgba(34,211,238,.08),0 0 54px rgba(34,211,238,.9),0 0 80px rgba(124,58,237,.55);transform:scale(1.05)}
}
.spoke{fill:none;stroke:#22d3ee;stroke-width:4.5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(34,211,238,.85));opacity:.95}
.spoke.noma{stroke:#c4b5fd;filter:drop-shadow(0 0 6px rgba(196,181,253,.85))}
.spoke.green{stroke:#34d399;filter:drop-shadow(0 0 6px rgba(52,211,153,.85))}
.spoke.star{stroke:#38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.85))}
.pkt-label{font-size:11px;font-weight:700;fill:#ecfeff;paint-order:stroke;stroke:#0b1020;stroke-width:3px;pointer-events:none}
.idle-sync{fill:#67e8f9;font-size:11px;font-weight:700;opacity:0;letter-spacing:.08em}
.idle-sync.on{opacity:.9}
#kpiAllNote{display:none;margin:0 0 8px}
#kpiAllNote.show{display:block;color:#fbbf24}
.silo.star-silo{border-color:#38bdf8;box-shadow:0 0 0 1px rgba(56,189,248,.15)}
.silo.green-silo{border-color:#34d399;box-shadow:0 0 0 1px rgba(52,211,153,.15)}
.silo h3{letter-spacing:.02em}
.cat-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;border:1px solid var(--line);border-radius:999px;padding:1px 7px;margin-right:4px}
.cat-tag.star{color:#7dd3fc;border-color:#38bdf8}
.cat-tag.green{color:#6ee7b7;border-color:#34d399}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#0f172a;border:1px solid #22d3ee;color:#ecfeff;padding:10px 16px;border-radius:10px;z-index:4000;box-shadow:0 8px 32px rgba(0,0,0,.45);font-weight:600;font-size:13px}
.quote-row{border-top:1px solid var(--line);padding:10px 0;font-size:13px}
.quote-row b{display:block}
.pflag.wait{color:#fbbf24}
@media (prefers-reduced-motion: reduce){.jh-disc{animation:none}}

.star-hub{
  position:absolute;left:18.18%;top:46.1%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;z-index:4;width:124px;pointer-events:none;
}
.sh-disc{
  width:112px;height:112px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 40% 28%,rgba(125,211,252,.28) 0%,#0b1a2c 48%,#071018 78%);
  border:3px solid #7dd3fc;
  box-shadow:0 0 0 5px rgba(56,189,248,.18),0 0 28px rgba(56,189,248,.7),0 0 48px rgba(14,165,233,.4);
  animation:starPulse 2.8s ease-in-out infinite;
}
.sh-avatar{width:92px;height:104px;margin-top:8px;filter:drop-shadow(0 0 6px rgba(125,211,252,.4))}
.sh-name{font-size:13px;font-weight:800;letter-spacing:.04em;margin-top:6px;color:#e0f2fe;text-shadow:0 0 10px rgba(56,189,248,.5)}
.star-hub.pulse .sh-disc{box-shadow:0 0 0 8px rgba(56,189,248,.22),0 0 40px rgba(125,211,252,.85)}
@keyframes starPulse{
  0%,100%{box-shadow:0 0 0 5px rgba(56,189,248,.18),0 0 28px rgba(56,189,248,.65);transform:scale(1)}
  50%{box-shadow:0 0 0 10px rgba(56,189,248,.08),0 0 40px rgba(56,189,248,.9);transform:scale(1.04)}
}
@media (prefers-reduced-motion: reduce){.sh-disc{animation:none}}

.green-hub{
  position:absolute;left:81.82%;top:46.1%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;z-index:4;width:124px;pointer-events:none;
}
.gh-disc{
  width:112px;height:112px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 40% 28%,rgba(110,231,183,.28) 0%,#0b1f18 48%,#06140f 78%);
  border:3px solid #6ee7b7;
  box-shadow:0 0 0 5px rgba(52,211,153,.18),0 0 28px rgba(52,211,153,.7),0 0 48px rgba(16,185,129,.4);
  animation:greenPulse 2.8s ease-in-out infinite;
}
.gh-avatar{width:92px;height:104px;margin-top:8px;filter:drop-shadow(0 0 6px rgba(110,231,183,.4))}
.gh-name{font-size:13px;font-weight:800;letter-spacing:.04em;margin-top:6px;color:#d1fae5;text-shadow:0 0 10px rgba(52,211,153,.5)}
.green-hub.pulse .gh-disc{box-shadow:0 0 0 8px rgba(52,211,153,.22),0 0 40px rgba(110,231,183,.85)}
@keyframes greenPulse{
  0%,100%{box-shadow:0 0 0 5px rgba(52,211,153,.18),0 0 28px rgba(52,211,153,.65);transform:scale(1)}
  50%{box-shadow:0 0 0 10px rgba(52,211,153,.08),0 0 40px rgba(52,211,153,.9);transform:scale(1.04)}
}
@media (prefers-reduced-motion: reduce){.gh-disc{animation:none}}
@media (max-width:1000px){.flowwrap{grid-template-columns:1fr}.jh-disc{width:124px;height:124px}.jh-avatar{width:100px;height:114px}.jh-name{font-size:16px}.sh-disc{width:92px;height:92px}.sh-avatar{width:76px;height:86px}.gh-disc{width:92px;height:92px}.gh-avatar{width:76px;height:86px}}

.improve{margin:16px 0 8px}
.improve-q{font-size:17px;font-weight:700;margin:4px 0 10px;color:#e0f2fe;letter-spacing:-.01em}
.improve-banner{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.45);color:#fde68a;border-radius:10px;padding:8px 12px;font-size:13px;margin:0 0 12px}
.improve-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.imp-card{background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(8,12,24,.92));border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.imp-card.laundry{box-shadow:inset 0 0 0 1px rgba(56,189,248,.2),0 0 18px rgba(56,189,248,.08)}
.imp-card.landscaping{box-shadow:inset 0 0 0 1px rgba(52,211,153,.2),0 0 18px rgba(52,211,153,.08)}
.imp-card header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.imp-prio{font-family:var(--mono);font-weight:800;font-size:14px;color:#f0f9ff}
.imp-prio b{font-size:18px}
.imp-rec{font-weight:650;color:#f8fafc;margin:0}
.imp-meta{font-size:12px;color:var(--mut);margin:0}
.imp-evid{font-size:12.5px;color:#cbd5e1;margin:0;line-height:1.45}
.imp-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.imp-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:2px 8px;border:1px solid var(--line)}
.imp-badge.warn{color:#fde68a;border-color:#fbbf24}
.imp-badge.ok{color:#86efac;border-color:#34d399}
.imp-card.later{opacity:.78}

.star-seg{margin:0 0 10px 12px}
#starSegNote[hidden],#starSeg[hidden]{display:none}
#starSegNote.flag-unclassified{color:#fbbf24;display:block}
.map-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.chip.div-star{border-color:#38bdf8;color:#7dd3fc}
.chip.div-green{border-color:#34d399;color:#6ee7b7}
.pin.star-pin{border-radius:50% 50% 50% 0;border-color:#38bdf8}
.pin.green-pin{border-radius:4px;transform:none;border-color:#34d399}
.pin.green-pin span{transform:none}
.node.star-child rect{stroke:#38bdf8;fill:#0b1c28}
.node.star-child .ring{stroke:#38bdf8;stroke-width:2}
.node.star-child text{fill:#e0f2fe;font-size:11px}
.node.star-child text.sub{fill:#7dd3fc;font-size:9px}
