/* ng-v8.css — MERIDIAN design-excellence layer for Sentinel Prime NG v8.
   Loaded after the inline styles; only refines. Light is attention: glow only on what is alive. */
:root{--x-cyan:#2dd9ff;--ok:#3ecf8e;--x-mint:#3ecf8e;--line:rgba(var(--linehue-rgb,120,200,255),.09);--line2:rgba(var(--linehue-rgb,120,200,255),.16);
  --s0:#05080f;--s1:#080d17;--s2:#0b1120;--s3:#0f1727;--ease:cubic-bezier(.2,0,0,1);--eo:cubic-bezier(0,0,.2,1)}
body{background:var(--s0)}
.grad-text{background:none;-webkit-text-fill-color:currentColor;color:var(--t0)}
.view-title{font:600 22px/1 var(--fd);letter-spacing:.02em;color:var(--t0)}

/* ---------- top bar hierarchy ---------- */
.statusbar{background:var(--glass-bar,rgba(5,8,15,.82));border-bottom:1px solid var(--line)}
.sb-mark .sb-word{font-weight:600;letter-spacing:.18em;color:var(--t0)}
.sb-x{border-color:var(--line2);color:var(--t2)}
.sb-health{padding:4px 10px;border-radius:999px;background:rgba(8,13,23,.8);border:1px solid var(--line)}
.sb-health .micro-label{color:var(--t1)}
.sb-btn{border:0;color:var(--t2);padding:5px 6px;letter-spacing:.16em}
.sb-btn:hover{color:var(--t0);border:0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--x-cyan)}
.sb-estop{border:1px solid rgba(255,77,107,.45);padding:5px 10px;border-radius:4px;text-decoration:none!important}
.sb-estop:hover{border-color:var(--x-red);background:rgba(255,77,107,.1)}
#sb-model{background:none;border-color:var(--line2);color:var(--t1)}
.sb-stat .micro-label{color:var(--t3)}
.ticker{color:var(--x-cyan)}

/* ---------- rail ---------- */
.rail{background:var(--s1);border-right:1px solid var(--line);backdrop-filter:none}
.rail-chip{background:none;border-color:transparent}
.rail-btn{position:relative;transition:color 150ms var(--ease)}
.rail-btn::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--x-cyan);opacity:0;transition:opacity 150ms var(--ease);box-shadow:0 0 8px rgba(var(--hero-rgb,45,217,255),.55)}
.rail-btn.active::before{opacity:1}
.rail-btn.active .rail-chip{background:rgba(var(--hero-rgb,45,217,255),.08);border-color:rgba(var(--hero-rgb,45,217,255),.35);box-shadow:none}
.rail-btn.active svg{filter:none;stroke:var(--x-cyan)}
.rail-btn:hover .rail-chip{border-color:var(--line2);box-shadow:none}
.rail-lbl{color:var(--t2)}
.rail-btn.active .rail-lbl{color:var(--x-cyan)}

/* ---------- surfaces ---------- */
.panel{background:var(--s2);border:1px solid var(--line);box-shadow:none;border-radius:8px}
.panel::before{display:none}
.panel-head .micro-label{color:var(--t2)}
.panel-live{color:var(--t1)}
.chip{background:var(--s2);border-color:var(--line2);backdrop-filter:none;color:var(--t1)}
.chip-src{color:var(--ok);border-color:rgba(62,207,142,.3)}
.telemetry{background:var(--s1);border-left:1px solid var(--line)}
.brain-stage{background:radial-gradient(120% 120% at 50% 0%,rgba(20,10,50,.1),rgba(3,7,14,.2));box-shadow:0 0 0 1px var(--line)}
.aurora{opacity:.55}

/* ---------- section hero (telemetry zone) ---------- */
.sec-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin:0 24px 12px;padding:12px 18px;background:var(--s2);border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden;animation:panel-in 200ms var(--eo)}
.sec-hero::after{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--hero-rgb,45,217,255),.35),transparent);background-size:200% 100%;animation:sweep 8s linear infinite;opacity:.6}
.sec-hero .h-main{display:flex;flex-direction:column;gap:2px;min-width:150px}
.sec-hero .h-num{font:500 34px/1 var(--fm);font-variant-numeric:tabular-nums;color:var(--t0);letter-spacing:-.01em}
.sec-hero .h-num.live{color:var(--x-cyan);text-shadow:0 0 8px rgba(var(--hero-rgb,45,217,255),.35)}
.sec-hero .h-num.warn{color:var(--x-amber)}
.sec-hero .h-num small{font-size:14px;color:var(--t3);margin-left:6px;letter-spacing:.08em}
.sec-hero .h-sub{font:500 10px/1.4 var(--fm);color:var(--t3);letter-spacing:.08em}
.sec-hero .h-viz{display:flex;align-items:center;gap:18px;min-width:0}
.sec-hero canvas{display:block;height:44px}
.sec-hero .h-kpis{display:flex;gap:18px}
.sec-hero .h-kpi{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.sec-hero .h-kpi b{font:500 15px/1 var(--fm);font-variant-numeric:tabular-nums;color:var(--t0);font-weight:500}
.sec-hero .h-kpi b.warn{color:var(--x-amber)}.sec-hero .h-kpi b.ok{color:var(--ok)}
.sec-hero .h-kpi .micro-label{font-size:9px;color:var(--t3)}
.h-bar{width:120px;height:3px;background:rgba(var(--linehue-rgb,120,200,255),.08);border-radius:2px;overflow:hidden;margin-top:4px}
.h-bar i{display:block;height:100%;background:var(--x-cyan);border-radius:2px;transform-origin:left;animation:grow 400ms var(--eo)}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sweep{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- rhythm: tabs, rows, zones ---------- */
.tabs{padding:0 24px 10px;gap:0;border-bottom:1px solid var(--line);margin:0 24px 12px;padding:0}
.tab{padding:8px 12px;margin-bottom:-1px;border-bottom:1px solid transparent}
.tab.active{text-shadow:none}
.tab b{color:var(--t3)}
.tabs-brain{margin:0 24px 8px}
.tabs-aside{margin:0 0 8px;padding:0}
.tab-panel.active{animation:panel-in 200ms var(--eo)}
@keyframes panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sec-wrap{gap:14px}
.sec-grid{gap:14px}
.rowlist{gap:0;background:var(--s2);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.ng-row{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:9px 14px;transition:background 150ms var(--ease),box-shadow 150ms var(--ease);animation:row-in 200ms var(--eo) both;animation-delay:calc(var(--i,0)*40ms)}
.ng-row:last-child{border-bottom:0}
.ng-row:hover{background:rgba(var(--hero-rgb,45,217,255),.04);box-shadow:inset 2px 0 0 rgba(var(--hero-rgb,45,217,255),.6)}
.ng-row.sel{background:rgba(var(--hero-rgb,45,217,255),.06);box-shadow:inset 2px 0 0 var(--x-cyan)}
.ng-row .r-kind{color:var(--t3)}
.ng-row .r-acts{opacity:.55;transition:opacity 150ms var(--ease)}
.ng-row:hover .r-acts,.ng-row.sel .r-acts,.ng-row:focus-within .r-acts{opacity:1}
@keyframes row-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.act-btn{border-color:var(--line2);color:var(--t1);transition:all 150ms var(--ease);border-radius:4px}
.act-btn:hover{border-color:rgba(var(--hero-rgb,45,217,255),.55);color:var(--t0)}
.act-btn:active{transform:translateY(1px)}
.act-btn:focus-visible{outline:0;box-shadow:0 0 0 2px var(--s0),0 0 0 4px var(--x-cyan)}
.act-btn.ok:hover{background:rgba(62,207,142,.1)}.act-btn.warn:hover{background:rgba(255,176,46,.1)}
.kpi{background:var(--s2);border-color:var(--line);border-radius:8px}
.kpi .kpi-v{font-size:20px}
.deckcard{background:var(--s2);border-color:var(--line)}
.note{color:var(--t3)}
.sec-toolbar .micro-label{color:var(--t3)}
.ng-in,.ng-sel{background:var(--s1);border-color:var(--line2)}
.ng-in:focus{border-color:rgba(var(--hero-rgb,45,217,255),.55);box-shadow:0 0 0 2px var(--s0),0 0 0 4px rgba(var(--hero-rgb,45,217,255),.3)}
.tgl{width:30px;height:16px;border-radius:8px;background:rgba(var(--linehue-rgb,120,200,255),.12);border:1px solid var(--line2);position:relative;cursor:pointer;transition:background 150ms var(--ease)}
.tgl i{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--t2);transition:transform 150ms var(--ease),background 150ms var(--ease)}
.tgl.on{background:rgba(var(--hero-rgb,45,217,255),.18);border-color:rgba(var(--hero-rgb,45,217,255),.45)}
.tgl.on i{transform:translateX(14px);background:var(--x-cyan);box-shadow:0 0 8px rgba(var(--hero-rgb,45,217,255),.6)}

/* ---------- skeletons + states ---------- */
.skel{display:flex;flex-direction:column;gap:8px;padding:4px 0}
.skel i{display:block;height:34px;border-radius:6px;background:linear-gradient(90deg,var(--s2) 0%,var(--s3) 40%,var(--s2) 80%);background-size:200% 100%;animation:shimmer 1.6s linear infinite;border:1px solid var(--line)}
.skel i:nth-child(2){width:88%}.skel i:nth-child(3){width:94%}.skel i:nth-child(4){width:72%}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-80% 0}}
.state{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--s2);border:1px dashed var(--line2);border-radius:8px;animation:panel-in 200ms var(--eo)}
.state svg{width:22px;height:22px;stroke:var(--t3);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.state.down svg,.state.error svg{stroke:var(--x-amber)}
.state .st-t{font:600 10px/1 var(--fm);letter-spacing:.16em;color:var(--t2)}
.state.down .st-t,.state.error .st-t{color:var(--x-amber)}
.state .st-m{font-size:12px;color:var(--t1);margin-top:4px;line-height:1.5}
.state .st-m code{font-family:var(--fm);font-size:10.5px;color:var(--t2)}
.state .act-btn{margin-left:auto}
.state.empty{border-style:dashed}

/* ---------- confirm + E-STOP sheet ---------- */
.confirm-sheet{background:var(--s2);border-color:var(--line2);box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translate(-50%,-48%) scale(.98)}
.confirm-sheet.open{transform:translate(-50%,-50%) scale(1)}
.confirm-sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--cs-hue,var(--x-amber));box-shadow:0 0 12px var(--cs-hue,var(--x-amber))}
.confirm-sheet.r-fleet,.confirm-sheet.r-danger{--cs-hue:var(--x-red)}
.confirm-sheet.r-read{--cs-hue:var(--ok)}
.cs-blast{display:flex;gap:4px;margin-top:2px}
.cs-blast i{flex:1;height:3px;border-radius:2px;background:rgba(var(--linehue-rgb,120,200,255),.1)}
.cs-blast i.on{background:var(--cs-hue,var(--x-amber));box-shadow:0 0 6px var(--cs-hue,var(--x-amber))}
.cs-blast-lbl{display:flex;justify-content:space-between;font:600 8.5px/1 var(--fm);letter-spacing:.14em;color:var(--t3);margin-top:4px}
.cs-actions .act-btn.primary{animation:pulse-once 1.2s var(--ease) 1}
@keyframes pulse-once{0%{box-shadow:0 0 0 0 rgba(var(--hero-rgb,45,217,255),.5)}100%{box-shadow:0 0 0 10px rgba(var(--hero-rgb,45,217,255),0)}}

/* ---------- palette ---------- */
.palette{background:var(--s2);border:1px solid var(--line2);box-shadow:0 30px 80px rgba(0,0,0,.65)}
.pal-item{border-radius:6px;transition:background 120ms var(--ease)}
.pal-item.sel{background:rgba(var(--hero-rgb,45,217,255),.08);box-shadow:inset 2px 0 0 var(--x-cyan)}
.pal-item .pi-ico{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:5px;font-size:10px;color:var(--t2)}
.pal-item .pi-ico svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}
.pal-item .pi-scope{font-size:8.5px;color:var(--t3)}
.pal-foot{color:var(--t3)}
.pal-foot kbd{border:1px solid var(--line2);border-radius:3px;padding:1px 5px;font:inherit;color:var(--t2)}

/* ---------- drawers ---------- */
.side-drawer{background:var(--s1);border-left:1px solid var(--line2);box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.side-drawer .drawer-head{border-bottom:1px solid var(--line);padding:12px 14px}
.side-drawer .drawer-title{font:600 10px/1 var(--fm);letter-spacing:.18em;color:var(--t1)}
.file-row{animation:row-in 200ms var(--eo) both;animation-delay:calc(var(--i,0)*30ms)}
.led-row{background:var(--s2);border-color:var(--line);animation:row-in 200ms var(--eo) both;animation-delay:calc(var(--i,0)*30ms)}

/* ---------- Council: bubbles, thinking, tool cards, cursor, lane chip, attachments ---------- */
.stream{padding:12px 24px}
.msg-user .msg-bubble{background:rgba(var(--hero-rgb,45,217,255),.09);border:1px solid rgba(var(--hero-rgb,45,217,255),.2);border-radius:10px 10px 2px 10px;color:var(--t0);box-shadow:none}
.msg-assistant .msg-text{border-left:1px solid rgba(var(--hero-rgb,45,217,255),.45);padding-left:14px}
.msg-meta{color:var(--t3);font-size:10px}
.think-card,.tool-card{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;margin:6px 0 6px 0;padding:7px 10px;background:var(--s2);border:1px solid var(--line);border-radius:6px;font:500 11px/1.4 var(--fm);color:var(--t1);animation:row-in 200ms var(--eo) both;max-width:560px}
.think-card svg,.tool-card svg{width:14px;height:14px;stroke:var(--t2);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.think-card .tc-name,.tool-card .tc-name{color:var(--t0)}
.think-card .tc-sub,.tool-card .tc-sub{color:var(--t3);font-size:10px;letter-spacing:.06em}
.tool-card .tc-ms{font-variant-numeric:tabular-nums;color:var(--t2);font-size:10px}
.tool-card.running .tc-ms{color:var(--x-cyan)}
.tool-card.running svg{stroke:var(--x-cyan);animation:spin 1.4s linear infinite}
.tool-card.done svg{stroke:var(--ok)}
.think-card{cursor:pointer}
.think-card .tc-body{grid-column:2/4;color:var(--t2);font-size:11px;line-height:1.5;max-height:0;overflow:hidden;transition:max-height 200ms var(--ease)}
.think-card.open .tc-body{max-height:200px}
.think-card .tc-caret{transition:transform 150ms var(--ease);color:var(--t3);font-size:9px}
.think-card.open .tc-caret{transform:rotate(180deg)}
@keyframes spin{to{transform:rotate(360deg)}}
.caret{display:inline-block;width:6px;height:13px;background:var(--x-cyan);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite;box-shadow:0 0 8px rgba(var(--hero-rgb,45,217,255),.55)}
@keyframes blink{50%{opacity:0}}
.pipeline{background:var(--s2);border-color:var(--line)}
.composer{background:var(--s2);border:1px solid var(--line2);border-radius:10px;margin:0 24px 16px;padding:8px 10px;gap:8px;box-shadow:none;transition:border-color 150ms var(--ease),box-shadow 150ms var(--ease)}
.composer:focus-within{border-color:rgba(var(--hero-rgb,45,217,255),.5);box-shadow:0 0 0 1px rgba(var(--hero-rgb,45,217,255),.25),0 0 18px rgba(var(--hero-rgb,45,217,255),.12)}
.composer-input{background:none;border:0;color:var(--t0)}
.composer-send{background:rgba(var(--hero-rgb,45,217,255),.12);border:1px solid rgba(var(--hero-rgb,45,217,255),.4);color:var(--x-cyan);border-radius:6px}
.composer-send:hover{background:rgba(var(--hero-rgb,45,217,255),.22)}
.lane-chip{position:relative;display:inline-flex;align-items:center;gap:7px;background:var(--s1);border:1px solid var(--line2);border-radius:6px;padding:5px 9px;font:500 10.5px/1 var(--fm);color:var(--t1);cursor:pointer;white-space:nowrap}
.lane-chip i{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 7px var(--ok)}
.lane-chip .lc-lane{font-size:8.5px;letter-spacing:.14em;color:var(--t3)}
.lane-pop{position:absolute;left:0;bottom:calc(100% + 8px);width:300px;background:var(--s2);border:1px solid var(--line2);border-radius:8px;padding:6px;box-shadow:0 20px 50px rgba(0,0,0,.55);display:none;flex-direction:column;gap:2px;z-index:20;animation:panel-in 150ms var(--eo)}
.lane-pop.open{display:flex}
.lane-opt{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;font:500 11px/1.3 var(--fm);color:var(--t1);transition:background 120ms var(--ease)}
.lane-opt:hover{background:rgba(var(--hero-rgb,45,217,255),.06)}
.lane-opt.cur{box-shadow:inset 2px 0 0 var(--x-cyan)}
.lane-opt i{width:6px;height:6px;border-radius:50%;background:var(--ok)}
.lane-opt i.warm{background:var(--x-amber)}.lane-opt i.off{background:var(--idle);box-shadow:none}
.lane-opt .lo-sub{color:var(--t3);font-size:9.5px;letter-spacing:.06em}
.lane-opt .lo-ms{color:var(--t2);font-size:10px;font-variant-numeric:tabular-nums}
.attach-btn{background:none;border:1px solid transparent;color:var(--t2);width:30px;height:30px;border-radius:6px;display:grid;place-items:center;cursor:pointer}
.attach-btn:hover{color:var(--t0);border-color:var(--line2)}
.attach-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.attach-row{display:flex;gap:6px;margin:0 24px 6px;flex-wrap:wrap}
.attach-chip{display:inline-flex;align-items:center;gap:6px;background:var(--s2);border:1px solid var(--line2);border-radius:5px;padding:4px 8px;font:500 10px/1 var(--fm);color:var(--t1);animation:row-in 150ms var(--eo)}
.attach-chip b{color:var(--t3);font-weight:500}
.attach-chip button{background:none;border:0;color:var(--t3);cursor:pointer;font:inherit}
.council-hero .mind{display:flex;gap:8px;align-items:center}
.council-hero .mind i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:hb 1.5s ease-in-out infinite}
#voice-orb-top{display:flex;align-items:center;margin-right:2px}
#voice-orb-top .sv-root,#voice-orb-council .sv-root{max-width:none}
.orb-mini{width:26px;height:26px;border-radius:50%;position:relative;cursor:pointer;background:radial-gradient(circle at 50% 50%,rgba(var(--hero-rgb,45,217,255),.35),rgba(var(--hero-rgb,45,217,255),.05) 60%,transparent 70%);border:1px solid rgba(var(--hero-rgb,45,217,255),.35);transition:box-shadow 150ms var(--ease)}
.orb-mini::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--x-cyan);opacity:.75;animation:orb-breathe 4s ease-in-out infinite}
.orb-mini:hover{box-shadow:0 0 14px rgba(var(--hero-rgb,45,217,255),.45)}
@keyframes orb-breathe{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.05);opacity:.95}}
.orb-council{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 24px 8px;padding:8px 12px;background:var(--s2);border:1px solid var(--line);border-radius:8px}
.orb-council .orb-mini{width:34px;height:34px}
.orb-council .micro-label{color:var(--t3)}
.orb-council b{font:500 11px/1 var(--fm);color:var(--t1)}

/* ---------- Needs You: review card + receipts ---------- */
.review-deck{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.rv-card{background:var(--s2);border:1px solid var(--line2);border-radius:10px;overflow:hidden;transition:transform 200ms var(--ease),opacity 200ms var(--ease);animation:panel-in 200ms var(--eo)}
.rv-card.out-ok{transform:translateX(40px);opacity:0}
.rv-card.out-no{transform:translateX(-40px);opacity:0}
.rv-media{height:220px;background:linear-gradient(135deg,rgba(var(--hero-rgb,45,217,255),.08),rgba(var(--violet-rgb,155,107,255),.12) 60%,rgba(255,93,143,.08));position:relative;display:grid;place-items:center}
.rv-media .rv-tag{position:absolute;top:10px;left:10px;font:600 9px/1 var(--fm);letter-spacing:.16em;padding:4px 7px;background:rgba(5,8,15,.7);border:1px solid var(--line2);border-radius:3px;color:var(--t1)}
.rv-media .rv-id{position:absolute;bottom:10px;right:10px;font:500 10px/1 var(--fm);color:var(--t3)}
.rv-media svg{width:40px;height:40px;stroke:rgba(200,230,255,.35);fill:none;stroke-width:1.2}
.rv-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.rv-cap{font-size:13px;line-height:1.5;color:var(--t0)}
.rv-flags{display:flex;gap:6px;flex-wrap:wrap}
.rv-flag{font:600 9px/1 var(--fm);letter-spacing:.12em;padding:4px 7px;border-radius:3px;border:1px solid var(--line2);color:var(--t2)}
.rv-flag.ok{border-color:rgba(62,207,142,.35);color:var(--ok)}.rv-flag.warn{border-color:rgba(255,176,46,.4);color:var(--x-amber)}.rv-flag.crit{border-color:rgba(255,77,107,.4);color:var(--x-red)}
.rv-acts{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line);align-items:center}
.rv-acts .keys{margin-left:auto}
.receipts{display:flex;flex-direction:column;gap:6px}
.receipt{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;background:var(--s2);border:1px solid rgba(62,207,142,.3);border-radius:8px;font:500 10.5px/1.4 var(--fm);color:var(--t1);animation:row-in 200ms var(--eo);position:relative;overflow:hidden}
.receipt.rej{border-color:rgba(255,77,107,.35)}
.receipt .rc-k{font-weight:600;letter-spacing:.14em;font-size:9px;color:var(--ok)}
.receipt.rej .rc-k{color:var(--x-red)}
.receipt .rc-m{color:var(--t0)}.receipt .rc-s{color:var(--t3);font-size:9.5px}
.receipt .rc-undo{background:none;border:1px solid var(--line2);color:var(--t1);font:600 9px/1 var(--fm);letter-spacing:.12em;padding:4px 8px;border-radius:3px;cursor:pointer}
.receipt .rc-undo:hover{border-color:var(--x-cyan)}
.receipt .rc-bar{position:absolute;left:0;bottom:0;height:2px;background:var(--ok);transform-origin:left;animation:undo-bar 12s linear forwards}
.receipt.rej .rc-bar{background:var(--x-red)}
.receipt.done .rc-bar{display:none}.receipt.done .rc-undo{display:none}
@keyframes undo-bar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.queue-up{display:flex;flex-direction:column;gap:6px}
.queue-up .qu-h{display:flex;justify-content:space-between;align-items:baseline}
.queue-up .qu-h b{font:500 12px/1 var(--fm);color:var(--t0)}

/* ---------- Home refinements ---------- */
.hero-band{border:1px solid var(--line);border-radius:10px;background:var(--s2)}
.hero-num{color:var(--t0)}
.deck-grid .panel{transition:border-color 150ms var(--ease)}
.deck-grid .panel:hover{border-color:var(--line2)}

/* ---------- mobile ---------- */
@media (max-width:600px){
  .sec-hero{margin:0 14px 10px;grid-template-columns:1fr auto;gap:10px;padding:10px 12px}
  .sec-hero .h-viz{display:none}
  .sec-hero .h-num{font-size:26px}
  .tabs{margin:0 14px 10px}
  .review-deck{grid-template-columns:1fr}
  .rv-media{height:160px}
  .composer{margin:0 10px 8px}
  .attach-row,.orb-council{margin:0 10px 6px}
  .stream{padding:10px 12px}
  .think-card,.tool-card{max-width:none}
  .lane-pop{width:min(300px,calc(100vw - 40px))}
  .sb-health{max-width:46vw}
}

.voice-stage{flex-basis:100%;width:100%;margin-top:8px;border-top:1px solid var(--line);padding-top:8px;max-height:360px;overflow:auto}
.voice-stage[hidden]{display:none}
.voice-stage .sv-root{position:static;max-width:none;margin:0;background:none;box-shadow:none}
#voice-orb-top .sv-root{display:none}

/* ---------- polish pass ---------- */
.ghosts{left:auto;right:20px;transform:none;bottom:20px;top:auto;align-items:flex-end}
.ghost-note{font-size:10.5px;background:rgba(8,13,23,.92);border:1px solid var(--line2);padding:6px 10px;border-radius:6px;text-shadow:none}
.pal-foot{display:flex;justify-content:space-between;gap:12px;white-space:nowrap;overflow:hidden}
.pal-foot span:last-child{overflow:hidden;text-overflow:ellipsis}
.act-btn.ro{opacity:.4;cursor:not-allowed;border-style:dashed}
.rv-qa{display:flex;gap:14px;font:500 10px/1.4 var(--fm);color:var(--t3);letter-spacing:.06em}
.rv-qa b{color:var(--t2);font-weight:500}
.rv-cap.none{color:var(--t3);font-style:italic}
@media (max-width:600px){
  .ghosts{left:12px;right:12px;top:auto;bottom:74px;align-items:stretch}
  .ghost-note:not(:last-child){display:none}
  .pipeline{display:none}
  .orb-council{padding:6px 10px;gap:10px}
  .orb-council .note,.orb-council b{display:none}
  .orb-council .micro-label{font-size:9px}
  .sec-hero .h-kpis{gap:12px}
  .sec-hero .h-kpi:nth-child(n+3){display:none}
  .sec-hero .h-num{font-size:24px}
  .rv-acts{flex-wrap:wrap}.rv-acts .keys{display:none}
}
