:root{
  --bg:#020410;--space:#0c0824;--panel:rgba(12,10,34,.92);--panel2:rgba(22,18,58,.88);
  --line:rgba(0,216,255,.3);--cyan:#00d8ff;--green:#39ff88;--pink:#ff3dce;
  --purple:#8b5cff;--amber:#ffd447;--orange:#ff7a2f;--red:#ff335c;
  --text:#d0e8ff;--muted:#7090b8;--dim:#3a4a66;
  --mono:"Roboto Mono","SFMono-Regular",Consolas,monospace;
  --sans:"Rajdhani",Inter,"Arial Narrow",system-ui,sans-serif
}
*{box-sizing:border-box}
html,body{height:100%;scrollbar-width:thin;scrollbar-color:var(--cyan) transparent}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,216,255,.3);border-radius:4px}
body{
  margin:0;overflow:hidden;color:var(--text);font-family:var(--sans);
  background:
    radial-gradient(ellipse at 15% 5%,rgba(139,92,255,.28),transparent 28%),
    radial-gradient(ellipse at 82% 8%,rgba(0,216,255,.18),transparent 30%),
    radial-gradient(ellipse at 48% 95%,rgba(255,61,206,.22),transparent 38%),
    radial-gradient(ellipse at 5% 88%,rgba(57,255,136,.12),transparent 28%),
    linear-gradient(160deg,#020410,#0a062a 48%,#040818)
}
#stars{position:fixed;inset:0;z-index:-3}
#waveform{
  position:fixed;bottom:42px;left:0;right:0;height:72px;z-index:1;
  pointer-events:none;opacity:.55
}
.hex-grid{
  position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpolygon points='28,2 54,16 54,84 28,98 2,84 2,16' fill='none' stroke='%2300d8ff' stroke-width='.8'/%3E%3C/svg%3E");
  background-size:56px 100px
}
.screen-grain{
  position:fixed;inset:0;z-index:98;pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.018) 50%,rgba(0,0,0,.03) 50%);
  background-size:100% 2px;mix-blend-mode:screen;opacity:.5
}
.scan-line{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:97;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(0,216,255,.5),rgba(139,92,255,.4),transparent);
  animation:scanline 8s linear infinite;opacity:.35
}

/* ── HUD bars ── */
.top-hud,.bottom-hud{
  position:fixed;left:10px;right:10px;z-index:20;
  border:1px solid rgba(0,216,255,.28);
  background:linear-gradient(180deg,rgba(10,8,32,.96),rgba(4,7,20,.96));
  backdrop-filter:blur(8px);
  box-shadow:0 0 32px rgba(0,216,255,.1),0 0 80px rgba(139,92,255,.06),inset 0 0 30px rgba(139,92,255,.07)
}
.top-hud{
  top:10px;height:72px;
  display:grid;grid-template-columns:420px 1fr 500px;
  align-items:center;gap:14px;padding:8px 14px;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))
}
.top-hud:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  border:1px solid rgba(255,255,255,.04);
  clip-path:inherit
}
.bottom-hud{
  bottom:10px;height:34px;display:flex;align-items:center;
  justify-content:space-between;padding:0 16px;
  font:10px/1 var(--mono);color:var(--muted);text-transform:uppercase;
  letter-spacing:.07em
}
.brand-block{display:flex;align-items:center;gap:13px}
.mark{
  width:50px;height:50px;flex-shrink:0;position:relative;
  border:1px solid rgba(0,216,255,.7);
  background:radial-gradient(circle,#b0ffff 0 6px,#00d8ff 7px 16px,rgba(0,216,255,.18) 17px 22px,rgba(12,10,34,.9) 23px);
  box-shadow:0 0 28px rgba(0,216,255,.5),0 0 60px rgba(0,216,255,.15);
  clip-path:polygon(14px 0,100% 0,100% 36px,36px 100%,0 100%,0 14px)
}
.mark i,.mark b,.mark span{position:absolute;inset:8px;border:1px solid rgba(0,216,255,.6);border-radius:50%;animation:spin 10s linear infinite}
.mark b{inset:15px;border-color:rgba(57,255,136,.7);animation-duration:7s;animation-direction:reverse}
.mark span{inset:2px;border-color:rgba(255,61,206,.5);animation-duration:16s}
.micro{font:10px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;opacity:.85}
h1{
  margin:4px 0 0;font-size:21px;line-height:1;letter-spacing:.06em;font-weight:700;
  text-shadow:0 0 16px rgba(0,216,255,.55),0 0 40px rgba(0,216,255,.2);
  background:linear-gradient(90deg,#fff,var(--cyan) 35%,#8affff);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}

/* ── Nav tabs ── */
.nav-tabs{display:flex;gap:5px;justify-content:center}
.nav-tabs button,.mode,.controls button,.terminal-controls button,.module-head button,.agent-toolbar button{
  height:29px;border:1px solid rgba(0,216,255,.28);background:rgba(4,7,22,.85);
  color:var(--muted);font:700 10px/1 var(--mono);letter-spacing:.1em;
  text-transform:uppercase;padding:0 12px;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
  cursor:pointer;transition:color .15s,box-shadow .15s
}
.nav-tabs button:hover{color:var(--cyan);box-shadow:0 0 14px rgba(0,216,255,.2)}
.nav-tabs button.active,.mode.active,.controls .primary{
  color:#010c18;background:linear-gradient(90deg,var(--cyan) 0%,#5dffdf 100%);
  box-shadow:0 0 22px rgba(0,216,255,.45),0 0 50px rgba(0,216,255,.12);
  text-shadow:none
}
@media(min-width:1201px) and (max-width:1600px){
  .top-hud{grid-template-columns:300px minmax(0,1fr) 380px}
  .nav-tabs{justify-content:flex-start;overflow-x:auto}
  .nav-tabs button{padding:0 6px;font-size:9px}
  h1{font-size:18px}
}
.controls .danger{border-color:rgba(255,51,92,.5);color:#ffb8cc}
.controls .danger:hover{box-shadow:0 0 14px rgba(255,51,92,.3)}

/* ── Resource strip ── */
.resource-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.resource-strip span{
  height:30px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);
  display:flex;align-items:center;justify-content:center;gap:7px;
  font:10px/1 var(--mono);color:var(--muted);text-transform:uppercase;
  clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)
}
.resource-strip b{color:var(--green)}
.dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;display:inline-block;background:var(--green);box-shadow:0 0 14px var(--green),0 0 28px var(--green)}
.dot.warn{background:var(--amber);box-shadow:0 0 14px var(--amber)}
.dot.bad{background:var(--red);box-shadow:0 0 14px var(--red)}

/* ── Tab panels ── */
.tab-panel{display:none}
.tab-panel.active{display:grid}
#tab-voice{
  position:fixed;inset:92px 10px 54px;
  grid-template-columns:400px 1fr 360px;gap:10px
}
#tab-agents,#tab-crm,#tab-cron,#tab-boardroom,#tab-memory,#tab-terminal,#tab-system,#tab-tasks,#tab-files,#tab-hermes,#tab-oracle{
  position:fixed;inset:92px 10px 54px;
  grid-template-columns:1fr;gap:10px
}

/* ── Modules ── */
.module{
  position:relative;min-width:0;min-height:0;
  border:1px solid rgba(0,216,255,.22);
  background:linear-gradient(180deg,var(--panel),rgba(4,6,22,.94));
  box-shadow:
    0 0 28px rgba(0,216,255,.08),
    inset 0 0 0 1px rgba(255,255,255,.03),
    inset 0 0 60px rgba(139,92,255,.05);
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  overflow:hidden
}
.module:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(90deg,transparent 0 calc(50% - .5px),rgba(0,216,255,.035) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(0deg,transparent 0 calc(50% - .5px),rgba(255,255,255,.02) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px));
  background-size:44px 44px
}
.module:after{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:.4
}
.module.full-col{grid-column:1/-1}
.module-head{
  position:relative;z-index:2;
  height:36px;display:flex;align-items:center;justify-content:space-between;
  padding:0 12px;border-bottom:1px solid rgba(0,216,255,.2);
  background:linear-gradient(90deg,rgba(0,216,255,.1),rgba(255,61,206,.05),transparent);
  font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)
}
.module-head b{color:var(--green)}
.hidden{display:none!important}
.memory-tools{display:flex;gap:8px;align-items:center}
.memory-search{
  height:26px;width:240px;background:#04060e;color:var(--text);
  border:1px solid rgba(0,216,255,.22);padding:0 9px;font:11px var(--mono);outline:none
}
.memory-search:focus{border-color:var(--cyan);box-shadow:0 0 14px rgba(0,216,255,.2)}
.compact-btn{height:27px}

/* ── Reactor ── */
.reactor-grid{
  position:relative;z-index:1;
  height:calc(100% - 258px);min-height:300px;
  display:grid;grid-template-rows:1fr auto;gap:10px;padding:12px
}
.reactor{
  position:relative;margin:auto;width:min(330px,88%);aspect-ratio:1;
  border-radius:50%;filter:drop-shadow(0 0 24px rgba(0,216,255,.28))
}
.orbit.d,.reactor-ring{display:none}
.orbit{position:absolute;inset:6%;border:1px solid rgba(0,216,255,.45);border-radius:50%;animation:spin 22s linear infinite}
.orbit.b{inset:16%;border-color:rgba(255,61,206,.5);animation-duration:14s;animation-direction:reverse}
.orbit.c{inset:27%;border-color:rgba(57,255,136,.55);animation-duration:9s}
.orbit.d{inset:0;border-color:rgba(139,92,255,.25);animation-duration:35s;animation-direction:reverse}
.reactor-core{
  position:absolute;inset:37%;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle,#f0ffff 0 10%,#00d8ff 11% 30%,#1c1460 60%,transparent 65%);
  box-shadow:0 0 52px rgba(0,216,255,.8),0 0 90px rgba(0,216,255,.2),inset 0 0 22px white
}
.reactor-core span{width:44%;height:44%;border-radius:50%;background:var(--green);box-shadow:0 0 30px var(--green),0 0 60px var(--green)}
.reactor-ring{position:absolute;inset:-4px;border:2px solid rgba(0,216,255,.15);border-radius:50%;animation:spin 60s linear infinite}
.node{position:absolute;width:10px;height:10px;background:var(--amber);box-shadow:0 0 16px var(--amber),0 0 30px var(--amber);border-radius:50%}
.n1{left:18%;top:24%}
.n2{right:14%;top:40%;background:var(--pink);box-shadow:0 0 16px var(--pink),0 0 30px var(--pink)}
.n3{left:45%;bottom:10%;background:var(--green);box-shadow:0 0 16px var(--green),0 0 30px var(--green)}
.n4{right:29%;top:13%}
.reactor.recording .reactor-core,.reactor.listening .reactor-core{animation:pulse .85s infinite}
.reactor.thinking .orbit{animation-duration:2.5s}
.reactor.thinking .reactor-core{animation:pulse 1.2s infinite}
.reactor.speaking .reactor-core span{background:var(--pink);box-shadow:0 0 30px var(--pink),0 0 60px var(--pink)}

.telemetry{display:grid;grid-template-rows:repeat(5,24px) auto;gap:5px}
.meter{display:grid;grid-template-columns:66px 1fr 56px;align-items:center;gap:8px;font:10px/1 var(--mono);color:var(--muted)}
.meter span{height:8px;border:1px solid rgba(255,255,255,.1);background:#030509}
.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--green));box-shadow:0 0 10px rgba(0,216,255,.5);transition:width .2s}
.meter b{color:var(--text);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-log{border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.28);padding:9px;color:var(--amber);font:10px/1.4 var(--mono);overflow:auto}

.controls{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr .85fr .85fr;
  gap:7px;padding:0 12px 9px
}
.controls button{height:36px}
textarea{
  position:relative;z-index:2;width:calc(100% - 24px);height:58px;
  margin:0 12px 8px;resize:none;
  border:1px solid rgba(0,216,255,.22);background:rgba(2,4,14,.7);
  color:var(--text);padding:8px;font:12px/1.38 var(--mono);outline:none
}
textarea:focus{border-color:var(--cyan);box-shadow:0 0 18px rgba(0,216,255,.18)}
.mode-row{position:relative;z-index:2;padding:0 12px 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.voice-row{position:relative;z-index:2;padding:0 12px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.voice-route-row{padding:8px 12px 10px;border-bottom:1px solid rgba(0,216,255,.12);background:rgba(2,4,14,.28)}
.voice-label{font:700 9px/1 var(--mono);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-shrink:0}
.voice-select{height:26px;background:#04060e;color:var(--text);border:1px solid rgba(0,216,255,.22);font:11px var(--mono);padding:0 6px;flex:1;min-width:160px;outline:none}
.voice-select:focus{border-color:var(--cyan)}
.key-hint{font:10px/1 var(--mono);color:var(--dim);flex-shrink:0;margin-left:auto}

/* ── Agents ── */
.agent-toolbar{
  position:relative;z-index:2;height:42px;display:flex;align-items:center;justify-content:space-between;
  padding:0 12px;border-bottom:1px solid rgba(0,216,255,.15);
  font:11px/1 var(--mono);color:var(--muted);text-transform:uppercase
}
.agents-shell{
  position:relative;z-index:1;height:calc(100% - 78px);padding:12px;
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:12px;min-height:0
}
.agents-board,.agents-rail{min-height:0}
.agents-board{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.agents-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.agents-stat{
  border:1px solid rgba(112,255,194,.18);
  background:
    linear-gradient(180deg,rgba(3,18,17,.88),rgba(3,8,17,.94)),
    radial-gradient(circle at 18% 0,rgba(112,255,194,.14),transparent 36%);
  padding:12px 14px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  box-shadow:inset 0 0 28px rgba(57,255,136,.05),0 0 24px rgba(57,255,136,.05);
  position:relative;overflow:hidden
}
.agents-stat:before{
  content:"";position:absolute;left:14px;right:14px;top:40px;height:1px;
  background:linear-gradient(90deg,rgba(57,255,136,0),rgba(57,255,136,.18),rgba(0,216,255,.1),rgba(57,255,136,0))
}
.agents-stat:after{
  content:"";position:absolute;right:-12px;top:-12px;width:72px;height:72px;border-radius:50%;
  background:radial-gradient(circle,rgba(57,255,136,.16),rgba(57,255,136,0) 70%);opacity:.65
}
.agents-stat-label{display:block;font:700 9px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.agents-stat b{display:block;font:700 32px/.95 var(--mono);color:#f1fff8;text-shadow:0 0 24px rgba(57,255,136,.16);letter-spacing:.03em;position:relative;z-index:1}
.agents-stat em{
  display:block;margin-top:12px;font:10px/1.45 var(--mono);font-style:normal;color:#9dd3b8;position:relative;z-index:1;
  max-width:26ch;text-transform:uppercase;letter-spacing:.05em
}
.agents-rail{display:grid;grid-template-rows:repeat(3,minmax(0,auto));gap:12px;overflow:auto;padding-right:2px}
.agents-rail-card{
  border:1px solid rgba(0,216,255,.18);
  background:
    linear-gradient(180deg,rgba(7,10,26,.94),rgba(3,6,17,.96)),
    radial-gradient(circle at top right,rgba(0,216,255,.08),transparent 30%);
  padding:14px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  box-shadow:inset 0 0 28px rgba(0,216,255,.04)
}
.selected-agent-card{
  border-color:rgba(57,255,136,.22);
  background:
    linear-gradient(180deg,rgba(6,18,17,.95),rgba(3,6,17,.97)),
    radial-gradient(circle at top right,rgba(57,255,136,.09),transparent 30%);
  position:relative;overflow:hidden
}
.selected-agent-card:before{
  content:"";position:absolute;left:14px;right:14px;top:60px;height:1px;
  background:linear-gradient(90deg,rgba(57,255,136,0),rgba(57,255,136,.22),rgba(0,216,255,.12),rgba(57,255,136,0))
}
.agents-rail-kicker{font:700 9px/1 var(--mono);letter-spacing:.18em;color:var(--green);text-transform:uppercase;margin-bottom:10px}
.agents-rail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.agents-rail-head h3{margin:0 0 6px;font:700 28px/.95 var(--sans);letter-spacing:.04em;color:#effff8;text-shadow:0 0 24px rgba(57,255,136,.08)}
.agents-rail-head p{
  margin:0;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);
  font:11px/1.45 var(--mono);color:#b7d8cd
}
.agents-state-pill{
  flex-shrink:0;height:24px;padding:0 10px;display:inline-flex;align-items:center;
  border:1px solid rgba(57,255,136,.28);color:var(--green);font:700 10px/1 var(--mono);
  letter-spacing:.14em;text-transform:uppercase;background:rgba(57,255,136,.08)
}
.agents-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.agents-identity-item{
  border:1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)),
    radial-gradient(circle at top right,rgba(0,216,255,.08),transparent 28%);
  padding:10px 11px;min-height:86px
}
.agents-identity-item span{display:block;font:700 9px/1 var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-bottom:6px}
.agents-identity-item b{display:block;font:700 14px/1.25 var(--mono);color:#effff8;word-break:break-word}
.agent-route-btn{
  width:100%;height:34px;border:1px solid rgba(57,255,136,.28);background:linear-gradient(90deg,rgba(57,255,136,.16),rgba(0,216,255,.08));
  color:#dffff1;font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.agent-route-btn:hover{box-shadow:0 0 18px rgba(57,255,136,.16)}
.agents-path-list{display:grid;gap:8px}
.agents-path-list div{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);padding:8px 10px}
.agents-path-list span{display:block;font:700 9px/1 var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-bottom:6px}
.agents-path-list b{display:block;font:10px/1.45 var(--mono);color:var(--text);word-break:break-all}
.agents-stack-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.agent-stack-btn{
  border:1px solid rgba(0,216,255,.16);background:rgba(0,216,255,.04);padding:9px 10px;
  font:700 10px/1 var(--mono);letter-spacing:.1em;color:#c9f5ff;text-transform:uppercase;text-align:center;cursor:pointer;
  transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease
}
.agent-stack-btn:hover{border-color:rgba(57,255,136,.28);box-shadow:0 0 18px rgba(57,255,136,.08);transform:translateY(-1px)}
.agent-stack-btn.active{border-color:rgba(57,255,136,.38);background:linear-gradient(90deg,rgba(57,255,136,.14),rgba(0,216,255,.06));color:#effff7}
.agents-stack-note{margin:12px 0 0;font:10px/1.45 var(--mono);color:var(--muted)}
.room-grid{
  position:relative;z-index:1;height:100%;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-auto-rows:240px;gap:12px;align-content:start;overflow:auto
}
.room{
  min-height:0;border:1px solid rgba(0,216,255,.2);
  background:radial-gradient(circle at 50% 35%,rgba(0,216,255,.1),transparent 35%),linear-gradient(180deg,rgba(18,22,60,.82),rgba(5,7,22,.86));
  padding:10px;display:grid;grid-template-rows:28px 1fr 56px;
  box-shadow:inset 0 0 28px rgba(0,216,255,.05);overflow:hidden;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)
}
.room:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
  background:
    linear-gradient(90deg,transparent 0 49%,rgba(0,216,255,.08) 50%,transparent 51%),
    linear-gradient(180deg,transparent 0 61%,rgba(57,255,136,.08) 62%,transparent 63%),
    radial-gradient(circle at 50% 42%,rgba(0,216,255,.16),transparent 28%)
}
.room.active{border-color:var(--green);box-shadow:0 0 22px rgba(57,255,136,.18),inset 0 0 35px rgba(57,255,136,.07)}
.agent-card{position:relative;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.agent-card:hover{transform:translateY(-2px);border-color:rgba(57,255,136,.28);box-shadow:0 0 20px rgba(57,255,136,.12),inset 0 0 32px rgba(57,255,136,.06)}
.agent-card.selected{
  border-color:rgba(57,255,136,.6);
  box-shadow:0 0 0 1px rgba(57,255,136,.32),0 0 26px rgba(57,255,136,.16),inset 0 0 42px rgba(57,255,136,.08)
}
.room header{font:700 11px/1 var(--mono);color:var(--cyan);display:flex;justify-content:space-between;align-items:center;white-space:nowrap;min-width:0}
.room header span{overflow:hidden;text-overflow:ellipsis}
.room header b{font-size:9px;color:var(--green);margin-left:auto;letter-spacing:.12em}
.room footer{font:10px/1.3 var(--mono);color:var(--muted);align-self:end;display:grid;gap:3px;min-width:0}
.room footer b{display:block;color:var(--text);font-size:10px}
.room footer span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room footer em{display:block;color:var(--amber);font-style:normal;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
.agent-floor-line{
  position:absolute;left:10%;right:10%;top:42%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,216,255,.24),transparent);opacity:.9
}
.agent-floor-node{
  position:absolute;width:9px;height:9px;border-radius:50%;background:#eaf8ff;box-shadow:0 0 14px rgba(234,248,255,.7)
}
.agent-floor-node.a{left:33%;top:35%}
.agent-floor-node.b{right:33%;top:35%}
.agent-floor-node.c{left:49%;top:17%}
.agent-floor-node.d{left:49%;bottom:20%}
.agent-meta-strip{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;
  border-top:1px solid rgba(255,255,255,.06);padding-top:8px
}
.agent-chip{
  display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid rgba(0,216,255,.16);
  background:rgba(0,216,255,.06);font:700 9px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);text-transform:uppercase
}
.agent-route-indicator{color:var(--green);border-color:rgba(57,255,136,.18);background:rgba(57,255,136,.08)}
.agent-open-link{
  position:absolute;right:10px;top:42px;z-index:2;height:24px;padding:0 8px;border:1px solid rgba(57,255,136,.18);
  background:rgba(57,255,136,.08);color:#d7fff0;font:700 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.agent-open-link:hover{box-shadow:0 0 16px rgba(57,255,136,.12)}
.agent-visual{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden}
.agent-core{
  position:absolute;width:88px;height:88px;border:1px solid rgba(0,216,255,.55);border-radius:18px;
  transform:rotate(45deg);background:rgba(4,10,28,.6);
  box-shadow:0 0 35px rgba(0,216,255,.22),inset 0 0 30px rgba(0,216,255,.08)
}
.agent-core:before{content:"";position:absolute;inset:20px;border:1px solid currentColor;border-radius:12px;opacity:.8}
.agent-core:after{content:"";position:absolute;inset:35px;border-radius:50%;background:currentColor;box-shadow:0 0 22px currentColor}
.agent-core i{position:absolute;width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 14px currentColor}
.agent-core i:nth-child(1){left:11px;top:11px}
.agent-core i:nth-child(2){right:11px;top:11px}
.agent-core i:nth-child(3){left:11px;bottom:11px}
.agent-core i:nth-child(4){right:11px;bottom:11px}
.agent-scan{position:absolute;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scan 2.4s linear infinite;opacity:.8}
.machinery{display:flex;align-items:end;justify-content:center;gap:10px;padding:8px;width:100%;height:100%;opacity:.5}
.machinery i{display:block;width:16%;height:40%;border:1px solid var(--cyan);background:linear-gradient(180deg,rgba(0,216,255,.3),rgba(0,216,255,.03));box-shadow:0 0 18px rgba(0,216,255,.18);animation:machine 1.6s ease-in-out infinite}
.machinery i:nth-child(2){height:60%;animation-delay:.22s}
.machinery i:nth-child(3){height:32%;animation-delay:.44s}
.accent-green .agent-core{color:var(--green);border-color:var(--green)}
.machinery.green i{border-color:var(--green);background:linear-gradient(180deg,rgba(57,255,136,.3),rgba(57,255,136,.03))}
.accent-amber .agent-core{color:var(--amber);border-color:var(--amber)}
.machinery.amber i{border-color:var(--amber);background:linear-gradient(180deg,rgba(255,212,71,.3),rgba(255,212,71,.03))}
.accent-pink .agent-core{color:var(--pink);border-color:var(--pink)}
.machinery.pink i{border-color:var(--pink);background:linear-gradient(180deg,rgba(255,61,206,.3),rgba(255,61,206,.03))}
.accent-purple .agent-core{color:var(--purple);border-color:var(--purple)}
.machinery.purple i{border-color:var(--purple);background:linear-gradient(180deg,rgba(139,92,255,.3),rgba(139,92,255,.03))}
.accent-red .agent-core{color:var(--red);border-color:var(--red)}
.machinery.red i{border-color:var(--red);background:linear-gradient(180deg,rgba(255,51,92,.3),rgba(255,51,92,.03))}

.agent-workbench{
  position:absolute;inset:50px 12px 12px;z-index:8;
  background:rgba(3,6,17,.72);backdrop-filter:blur(10px);
  border:1px solid rgba(0,216,255,.16)
}
.agent-workbench-shell{
  position:absolute;inset:10px;
  border:1px solid rgba(57,255,136,.22);
  background:
    linear-gradient(180deg,rgba(5,12,20,.98),rgba(4,6,17,.98)),
    radial-gradient(circle at top left,rgba(57,255,136,.1),transparent 26%),
    radial-gradient(circle at top right,rgba(0,216,255,.1),transparent 28%);
  box-shadow:0 0 32px rgba(57,255,136,.08), inset 0 0 50px rgba(0,216,255,.03)
}
.agent-workbench-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid rgba(57,255,136,.14)
}
.agent-workbench-head h3{margin:0 0 6px;font:700 24px/1 var(--sans);letter-spacing:.05em;color:#f0fff8}
.agent-workbench-head p{margin:0;font:11px/1.45 var(--mono);color:var(--muted)}
.agent-workbench-close{
  height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:#d7e8ff;font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.agent-workbench-body{
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;padding:14px 18px 18px;height:calc(100% - 84px);min-height:0
}
.agent-workbench-nav{
  display:grid;grid-template-columns:1fr;gap:8px;align-content:start;overflow:auto;padding-right:4px
}
.agent-workbench-tab{
  height:38px;border:1px solid rgba(0,216,255,.16);background:rgba(0,216,255,.03);color:#c9f5ff;
  font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:0 12px;cursor:pointer
}
.agent-workbench-tab:hover{border-color:rgba(57,255,136,.24);box-shadow:0 0 18px rgba(57,255,136,.08)}
.agent-workbench-tab.active{border-color:rgba(57,255,136,.38);background:linear-gradient(90deg,rgba(57,255,136,.16),rgba(0,216,255,.06));color:#effff7}
.agent-workbench-panel{
  min-height:0;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);padding:16px;overflow:auto
}
.agent-workbench-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px
}
.agent-workbench-panel-head h4{margin:4px 0 0;font:700 22px/1 var(--sans);letter-spacing:.04em;color:#f0fff8}
.agent-workbench-intro{margin:0 0 14px;font:12px/1.5 var(--mono);color:var(--muted)}
.agent-workbench-cards{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px
}
.agent-workbench-card{
  border:1px solid rgba(0,216,255,.14);
  background:
    linear-gradient(180deg,rgba(6,10,23,.96),rgba(4,6,16,.98)),
    radial-gradient(circle at top right,rgba(0,216,255,.08),transparent 28%);
  padding:12px;min-height:120px
}
.agent-workbench-card label{display:block;font:700 9px/1 var(--mono);letter-spacing:.16em;color:var(--green);text-transform:uppercase;margin-bottom:8px}
.agent-workbench-card b{display:block;font:700 16px/1.2 var(--sans);color:#eafff8;margin-bottom:8px}
.agent-workbench-card p{margin:0;font:11px/1.5 var(--mono);color:var(--muted)}
.agent-workbench-entries{display:grid;gap:10px;margin-top:14px}
.agent-workbench-entry{
  border:1px solid rgba(0,216,255,.16);
  background:linear-gradient(160deg,rgba(12,10,34,.74),rgba(4,6,22,.88));
  padding:12px 12px 10px;
  box-shadow:inset 0 0 24px rgba(0,216,255,.03)
}
.agent-workbench-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.agent-workbench-entry-head h5{margin:0;font:700 17px/1.1 var(--sans);color:#effff7}
.agent-workbench-entry-meta{display:flex;flex-wrap:wrap;gap:6px}
.agent-workbench-entry-meta span{
  font:700 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);border:1px solid rgba(255,255,255,.1);padding:4px 6px
}
.agent-workbench-entry-meta .live{color:var(--green);border-color:rgba(57,255,136,.35)}
.agent-workbench-entry-summary{margin:0 0 10px;font:11px/1.55 var(--mono);color:var(--muted)}
.agent-workbench-entry-path{margin:0 0 10px;font:10px/1.45 var(--mono);color:#8eb6d8;word-break:break-all}
.agent-workbench-entry-docs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.agent-workbench-entry-docs span{
  font:700 8px/1 var(--mono);letter-spacing:.08em;color:var(--cyan);
  background:rgba(0,216,255,.08);border:1px solid rgba(0,216,255,.18);padding:4px 6px
}
.agent-workbench-entry-actions{display:flex;flex-wrap:wrap;gap:8px}
.agent-workbench-entry-actions button{
  height:28px;padding:0 10px;border:1px solid rgba(0,216,255,.24);
  background:#04060e;color:var(--cyan);font:700 9px var(--mono);letter-spacing:.08em;cursor:pointer
}
.agent-workbench-entry-actions button.primary{
  color:#03111a;background:linear-gradient(90deg,var(--green),#5dffdf);border:none
}
.agent-workbench-entry-empty{
  border:1px dashed rgba(0,216,255,.18);padding:16px;font:11px/1.6 var(--mono);color:var(--muted)
}

/* ── Chat ── */
.chat{position:relative;z-index:1;height:calc(100% - 36px);overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
.msg{border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.24);padding:10px 12px;font:12px/1.42 var(--mono);white-space:pre-wrap;border-left-width:3px}
.msg .role{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px;opacity:.8}
.msg.user{border-left-color:var(--green);border-color:rgba(57,255,136,.28)}
.msg.user .role{color:var(--green)}
.msg.assistant{border-left-color:var(--cyan);border-color:rgba(0,216,255,.28)}
.msg.assistant .role{color:var(--cyan)}
.msg.system{border-left-color:var(--amber);border-color:rgba(255,212,71,.28);color:#ccd8ee}
.msg.system .role{color:var(--amber)}
.msg.warn{border-left-color:var(--orange);border-color:rgba(255,122,47,.4);color:#ffe2c7;background:rgba(255,122,47,.07)}
.msg.warn .role{color:var(--orange)}
.tool-card{
  border:1px solid rgba(139,92,255,.38);border-left:3px solid var(--purple);
  background:linear-gradient(90deg,rgba(139,92,255,.1),rgba(0,216,255,.04));
  padding:9px 12px;font:11px/1.4 var(--mono);white-space:pre-wrap
}
.tool-card header{display:flex;justify-content:space-between;gap:10px;color:var(--purple);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.tool-card header b{color:var(--green)}
.tool-card.fail{border-left-color:var(--red);border-color:rgba(255,51,92,.38)}
.tool-card.fail header{color:var(--red)}
.tool-card.fail header b{color:var(--red)}

/* ── Inspector ── */
.stack{position:relative;z-index:1;padding:10px;display:grid;gap:7px;overflow:auto;height:calc(100% - 36px - 56px - 80px)}
.status-card{border:1px solid rgba(255,255,255,.09);border-left:2px solid rgba(0,216,255,.4);background:rgba(0,0,0,.22);padding:7px 9px;font:11px/1.3 var(--mono);color:var(--muted)}
.status-card b{display:block;color:var(--cyan);margin-bottom:4px;font-size:9px;letter-spacing:.12em}
.status-card.alert{border-left-color:var(--amber)}
.goal-card{border-left-color:var(--green);background:linear-gradient(90deg,rgba(57,255,136,.07),rgba(0,216,255,.03))}
.goal-card b{color:var(--green)}
.quick-actions{grid-template-columns:1fr 1fr !important;margin:0 12px 9px}
.quick-actions button{height:30px;font-size:9px}

/* ── Memory ── */
.memory{position:relative;z-index:1;overflow:auto;padding:10px}
.full-memory{height:calc(100% - 56px)}
.mem{border-left:2px solid var(--purple);background:rgba(255,255,255,.03);margin-bottom:7px;padding:8px;font:10px/1.3 var(--mono);color:var(--muted)}
.mem b{color:var(--amber)}
.mem .mem-ts{color:var(--dim);font-size:9px}

/* ── System monitor ── */
.sys-grid{
  position:relative;z-index:1;height:calc(100% - 36px);padding:14px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:start;overflow:auto
}
.sys-card{
  border:1px solid rgba(0,216,255,.2);
  background:linear-gradient(140deg,rgba(12,10,38,.88),rgba(4,6,22,.92));
  padding:14px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  box-shadow:inset 0 0 28px rgba(0,216,255,.04)
}
.sys-label{font:700 9px/1 var(--mono);color:var(--cyan);letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
.sys-bar-wrap{height:8px;background:#04060e;border:1px solid rgba(255,255,255,.08);margin-bottom:8px}
.sys-bar{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--green));box-shadow:0 0 12px rgba(0,216,255,.5);transition:width .6s ease}
.sys-bar.amber{background:linear-gradient(90deg,var(--amber),var(--orange));box-shadow:0 0 12px rgba(255,212,71,.4)}
.sys-bar.green{background:linear-gradient(90deg,var(--green),#00ff6e);box-shadow:0 0 12px rgba(57,255,136,.4)}
.sys-val{font:700 20px/1 var(--mono);color:var(--text);margin-bottom:4px}
.sys-sub{font:10px/1 var(--mono);color:var(--muted)}
.sys-stack-items{font:11px/1.7 var(--mono);color:var(--muted)}
.sys-stack-items span{display:block}
.sys-stack-items .ok{color:var(--green)}
.sys-stack-items .na{color:var(--dim)}

/* ── Boardroom ── */
.boardroom-panel{display:flex;flex-direction:column}
.boardroom-tools{display:flex;align-items:center;gap:8px}
.boardroom-shell{
  flex:1;display:block;padding:12px;min-height:0
}
.boardroom-scene{
  display:grid;gap:12px;min-height:0;
  border:1px solid rgba(57,255,136,.18);
  background:
    radial-gradient(circle at 15% 10%,rgba(57,255,136,.13),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(0,216,255,.13),transparent 32%),
    linear-gradient(160deg,rgba(8,16,22,.97),rgba(4,8,18,.99));
  padding:14px 14px 16px;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)
}
.boardroom-kicker{font:700 9px/1 var(--mono);letter-spacing:.18em;color:var(--green);text-transform:uppercase;margin-bottom:10px}
.boardroom-stage{
  display:grid;grid-template-columns:1fr;
  gap:12px;align-items:stretch;min-height:760px
}
.boardroom-transcript-panel,
.boardroom-plan-panel{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  padding:14px;
  min-height:0
}
.boardroom-chamber{
  position:relative;min-height:760px;
  border:1px solid rgba(0,216,255,.14);
  background:linear-gradient(180deg,rgba(3,8,16,.92),rgba(2,6,14,.96));
  overflow:hidden;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)
}
.boardroom-stage-overlay{
  position:absolute;inset:0;display:grid;grid-template-rows:1fr;z-index:4;pointer-events:none
}
.boardroom-scene-image{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(3,8,16,.06),rgba(2,6,14,.18)),
    url('/static/generated/boardroom-scene-v1.png') center/cover no-repeat;
  filter:saturate(1.05) contrast(1.02);
}
.boardroom-live-core,
.boardroom-live-podium,
.boardroom-agent-seat,
.boardroom-agent-presenter,
.boardroom-agent-glow,
.boardroom-edge-vignette,
.boardroom-scene-scan{position:absolute;pointer-events:none}
.boardroom-live-core{
  left:50%;top:39%;width:120px;height:120px;transform:translate(-50%,-50%);
  border-radius:50%;box-shadow:0 0 50px rgba(0,216,255,.18)
}
.boardroom-live-core-ring{
  position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(0,216,255,.45);box-shadow:0 0 26px rgba(0,216,255,.24);animation:boardroomPulse 3s ease-in-out infinite
}
.boardroom-live-core-ring.alt{inset:-14px;border-color:rgba(57,255,136,.24);animation-duration:4.5s}
.boardroom-live-podium{
  left:50%;bottom:52px;width:220px;height:86px;transform:translateX(-50%)
}
.boardroom-live-podium-glow{
  position:absolute;left:50%;top:50%;width:150px;height:54px;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle,rgba(57,255,136,.36),rgba(0,216,255,.12) 45%,transparent 72%);
  filter:blur(10px);animation:boardroomPulse 2.4s ease-in-out infinite
}
.boardroom-live-podium-scan{
  position:absolute;left:50%;top:50%;width:180px;height:70px;transform:translate(-50%,-50%);
  border:1px solid rgba(57,255,136,.34);border-radius:50%;
  box-shadow:0 0 24px rgba(57,255,136,.18), inset 0 0 18px rgba(0,216,255,.1)
}
.boardroom-live-podium:before{
  content:"";position:absolute;left:50%;top:50%;width:94px;height:94px;transform:translate(-50%,-50%);
  border-radius:50%;border:2px solid rgba(236,255,248,.42);
  box-shadow:0 0 22px rgba(236,255,248,.16),0 0 52px rgba(57,255,136,.28)
}
.boardroom-agent-glow{
  display:block;
  width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;
  background:
    radial-gradient(circle,transparent 0 26%,rgba(236,255,248,.95) 28% 34%,rgba(57,255,136,.92) 36% 48%,rgba(0,216,255,.26) 58%,transparent 74%);
  box-shadow:0 0 26px rgba(57,255,136,.56),0 0 54px rgba(0,216,255,.28);
  opacity:.96;animation:boardroomBlink 2s ease-in-out infinite
}
.boardroom-agent-glow.sm{width:38px;height:38px;margin:-19px 0 0 -19px}
.boardroom-agent-glow.md{width:50px;height:50px;margin:-25px 0 0 -25px}
.boardroom-agent-glow.xl{width:68px;height:68px;margin:-34px 0 0 -34px}
.boardroom-agent-glow:before{
  content:"";position:absolute;inset:-10px;border-radius:50%;
  border:2px solid rgba(57,255,136,.34);box-shadow:0 0 18px rgba(57,255,136,.18)
}
.boardroom-agent-glow:after{
  content:"";position:absolute;inset:11px;border-radius:50%;
  border:1px solid rgba(236,255,248,.22)
}
.boardroom-agent-glow.chair{
  box-shadow:0 0 28px rgba(57,255,136,.72),0 0 58px rgba(0,216,255,.32)
}
.boardroom-agent-seat{z-index:5}
.boardroom-agent-seat,
.boardroom-agent-presenter{
  display:block;
  transform:translate(-50%,-50%);
}
.boardroom-agent-seat{
  width:0;height:0;
}
.boardroom-agent-seat.chair .boardroom-agent-glow{
  box-shadow:0 0 28px rgba(57,255,136,.72),0 0 58px rgba(0,216,255,.32)
}
.boardroom-agent-glow.active{
  width:84px;height:84px;margin:-42px 0 0 -42px;
  box-shadow:0 0 32px rgba(57,255,136,.86),0 0 72px rgba(0,216,255,.46);
  animation:boardroomPulse 1.2s ease-in-out infinite
}
.boardroom-agent-presenter{
  left:50%;top:74.5%;z-index:7;
  animation:boardroomWalkToPodium 3.2s ease-in-out infinite
}
.boardroom-agent-presenter .boardroom-agent-glow{
  box-shadow:0 0 36px rgba(57,255,136,.9),0 0 86px rgba(0,216,255,.56)
}
.boardroom-agent-figure{
  position:absolute;left:50%;top:50%;
  width:22px;height:28px;transform:translate(-50%,-50%);
  z-index:2;filter:drop-shadow(0 0 10px rgba(57,255,136,.28))
}
.boardroom-agent-figure.lead{
  width:28px;height:36px
}
.boardroom-agent-head,
.boardroom-agent-torso{
  position:absolute;left:50%;transform:translateX(-50%);
  display:block;background:linear-gradient(180deg,rgba(236,255,248,.95),rgba(57,255,136,.6));
}
.boardroom-agent-head{
  top:0;width:11px;height:11px;border-radius:50%;
  box-shadow:0 0 12px rgba(236,255,248,.24)
}
.boardroom-agent-torso{
  top:10px;width:14px;height:16px;border-radius:8px 8px 6px 6px;
  clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)
}
.boardroom-agent-figure.lead .boardroom-agent-head{
  width:14px;height:14px
}
.boardroom-agent-figure.lead .boardroom-agent-torso{
  top:13px;width:18px;height:20px
}
.boardroom-agent-seat .boardroom-agent-figure{
  animation:boardroomFigureFloat 2.8s ease-in-out infinite
}
.boardroom-agent-presenter .boardroom-agent-figure{
  animation:boardroomPresenterMotion 3.2s ease-in-out infinite
}
.boardroom-agent-seat.chair .boardroom-agent-figure{
  filter:drop-shadow(0 0 10px rgba(57,255,136,.42))
}
.boardroom-agent-presenter .boardroom-agent-figure{
  filter:drop-shadow(0 0 14px rgba(57,255,136,.56))
}
.boardroom-edge-vignette{
  inset:0;background:radial-gradient(circle at center,transparent 44%,rgba(3,8,16,.12) 72%,rgba(2,6,14,.5) 100%)
}
.boardroom-scene-scan{
  inset:0;
  background:
    linear-gradient(180deg,transparent 0,rgba(0,216,255,.06) 50%,transparent 100%);
  mix-blend-mode:screen;opacity:.32;animation:boardroomSweep 8s linear infinite
}
.boardroom-objective-copy{display:grid;gap:8px;margin-bottom:14px}
.boardroom-whiteboard-list,.boardroom-transcript-list,.boardroom-floor{display:grid;gap:10px}
.boardroom-note{
  border:1px solid rgba(57,255,136,.16);background:rgba(57,255,136,.04);padding:11px;position:relative;overflow:hidden
}
.boardroom-note:before{
  content:"";position:absolute;right:-18px;top:-18px;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,rgba(57,255,136,.16),transparent 70%)
}
.boardroom-note span,.boardroom-voice span{display:block;font:700 8px/1 var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-bottom:8px}
.boardroom-note b,.boardroom-voice b{display:block;font:700 12px/1.55 var(--mono);color:#effff8;position:relative;z-index:1}
.boardroom-voice{
  border-left:2px solid rgba(0,216,255,.48);background:rgba(255,255,255,.02);padding:10px 12px
}
.boardroom-lower{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:14px
}
.boardroom-floor{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-content:start
}
.boardroom-member{
  border:1px solid rgba(0,216,255,.16);
  background:
    radial-gradient(circle at top right,rgba(0,216,255,.08),transparent 24%),
    linear-gradient(180deg,rgba(8,12,26,.94),rgba(4,7,18,.98));
  padding:12px;display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)
}
.boardroom-member.speaking{border-color:rgba(57,255,136,.34);box-shadow:0 0 22px rgba(57,255,136,.12), inset 0 0 24px rgba(57,255,136,.04)}
.boardroom-member-copy header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.boardroom-member-copy h3{margin:0;font:700 16px/1 var(--sans);color:#f0fff8}
.boardroom-member-copy header em{font:700 9px/1 var(--mono);letter-spacing:.12em;color:var(--amber);text-transform:uppercase;font-style:normal}
.boardroom-member-copy p{margin:0;font:10px/1.45 var(--mono);color:var(--muted)}
.boardroom-member-copy footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.boardroom-member-copy footer span{font:700 8px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.boardroom-member-copy footer b{font:700 8px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.boardroom-presenter{
  align-self:end;justify-self:center;display:block;width:100%;height:100%
}
.boardroom-speaker-meta{margin-bottom:14px}
.boardroom-star-badges,.boardroom-task-list{display:grid;gap:8px;margin-top:12px}
.boardroom-badge,
.boardroom-task{
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);padding:10px
}
.boardroom-badge span,
.boardroom-task span{display:block;font:700 8px/1 var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-bottom:7px}
.boardroom-badge b,
.boardroom-task b{display:block;font:700 12px/1.45 var(--mono);color:#effff8;word-break:break-word}
.boardroom-task em{display:block;margin-top:7px;font:10px/1.5 var(--mono);color:var(--muted);font-style:normal}

/* ── Terminal ── */
#tab-terminal{grid-template-columns:1fr}
.terminal-panel{display:flex;flex-direction:column}
.terminal-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:10px;flex:1;min-height:0;padding:10px}
.terminal-sidebar{
  display:flex;flex-direction:column;min-height:0;
  border:1px solid rgba(0,216,255,.16);background:linear-gradient(180deg,rgba(12,10,34,.6),rgba(4,6,22,.5))
}
.terminal-sidebar-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px;border-bottom:1px solid rgba(0,216,255,.14);
  font:700 10px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);text-transform:uppercase
}
.terminal-sidebar-head button{
  height:24px;padding:0 8px;background:#04060e;color:var(--cyan);border:1px solid rgba(0,216,255,.2);font:700 8px var(--mono);cursor:pointer
}
.terminal-workspace-path{
  padding:8px 10px;border-bottom:1px solid rgba(0,216,255,.1);
  font:10px/1.4 var(--mono);color:var(--muted);word-break:break-all
}
.terminal-workspace-entries{flex:1;overflow:auto;padding:6px}
.terminal-tree-row{
  display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;
  padding:6px 8px;border-radius:4px;cursor:pointer;font:11px/1.2 var(--mono);color:var(--text)
}
.terminal-tree-row:hover{background:rgba(0,216,255,.08)}
.terminal-tree-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.terminal-tree-row.dir .name{color:var(--cyan)}
.terminal-tree-row .meta{color:var(--dim);font-size:9px;white-space:nowrap}
.terminal{
  position:relative;z-index:1;margin:0;flex:1;overflow:auto;
  background:rgba(0,2,8,.88);padding:12px;color:#b0ffcc;
  font:12px/1.4 "Roboto Mono","SFMono-Regular",Consolas,monospace;min-height:0;
  text-shadow:0 0 8px rgba(57,255,136,.3)
}
.terminal .xterm{height:100%}
.terminal .xterm-viewport{overflow-y:auto!important}
.terminal .xterm-screen{padding:0}
.terminal-controls{display:flex;gap:6px;align-items:center}
.terminal-controls select{height:27px;background:#04060e;color:var(--text);border:1px solid rgba(0,216,255,.25);font:11px var(--mono);padding:0 5px}
.pty-context{
  max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:700 9px/1 var(--mono);letter-spacing:.08em;color:var(--cyan);
  padding:5px 8px;border:1px solid rgba(0,216,255,.2);background:#04060e
}
.pty-status{font:700 9px/1 var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;border:1px solid rgba(255,255,255,.1);padding:3px 7px}
.pty-status.live{color:var(--green);border-color:rgba(57,255,136,.4);text-shadow:0 0 10px var(--green)}
.pty-input{height:38px;display:grid;grid-template-columns:1fr 80px;gap:7px;padding:7px;border-top:1px solid rgba(0,216,255,.18);position:relative;z-index:2}
.pty-input input{background:#030509;color:var(--text);border:1px solid rgba(0,216,255,.2);padding:0 10px;font:12px var(--mono);outline:none}
.pty-input input:focus{border-color:var(--cyan)}
.pty-input button{border:1px solid rgba(0,216,255,.3);background:rgba(4,7,22,.9);color:var(--cyan);font:700 11px var(--mono);cursor:pointer}

/* ── Keyframes ── */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.5)}}
@keyframes machine{0%,100%{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(2);transform:translateY(-4px)}}
@keyframes scan{0%{background:linear-gradient(90deg,transparent,rgba(0,216,255,.55),transparent);left:0;right:0}100%{left:0;right:0}}
@keyframes boardroomPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:.5}}
@keyframes boardroomBlink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes boardroomFlow{0%{transform:translateX(-120px);opacity:0}18%{opacity:1}100%{transform:translateX(120px);opacity:0}}
@keyframes boardroomSweep{0%{transform:translateX(0)}100%{transform:translateX(420%)}}
@keyframes boardroomWalkToPodium{
  0%,18%{transform:translate(-50%,-28vh) scale(.62);opacity:.28}
  48%,100%{transform:translate(-50%,0) scale(1);opacity:1}
}
@keyframes boardroomFigureFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0)}
  50%{transform:translate(-50%,-50%) translateY(-2px)}
}
@keyframes boardroomPresenterMotion{
  0%,18%{transform:translate(-50%,-50%) translateY(-18px) scale(.9)}
  45%{transform:translate(-50%,-50%) translateY(0) scale(1)}
  68%{transform:translate(-50%,-50%) translateY(-1px) scale(1)}
  100%{transform:translate(-50%,-50%) translateY(0) scale(1)}
}
@keyframes scanline{
  0%{top:-3px;opacity:0}
  5%{opacity:.35}
  95%{opacity:.35}
  100%{top:100vh;opacity:0}
}

/* ── Responsive ── */
@media(max-width:1200px){
  body{overflow:auto}
  .top-hud,.bottom-hud{position:static;margin:10px}
  .top-hud{height:auto;grid-template-columns:1fr;gap:8px}
  #tab-voice,#tab-agents,#tab-crm,#tab-boardroom,#tab-memory,#tab-terminal,#tab-system{
    position:static;display:grid!important;
    grid-template-columns:1fr;margin:10px
  }
  .tab-panel:not(.active){display:none!important}
  .module{min-height:380px}
  .bottom-hud{height:auto;flex-wrap:wrap;gap:6px;padding:8px 14px}
  .resource-strip{grid-template-columns:repeat(3,1fr)}
  .sys-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .sys-grid{grid-template-columns:1fr}
  .resource-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1200px){
  #tab-tasks{position:static;display:grid!important;grid-template-columns:1fr;margin:10px}
  .kanban-board{grid-template-columns:repeat(2,1fr)}
  .boardroom-stage{grid-template-columns:1fr}
  .boardroom-lower{grid-template-columns:1fr}
}
@media(max-width:680px){
  .kanban-board{grid-template-columns:1fr}
}

/* ── Kanban / Mission Board ─────────────────────────────────────────────── */
.kanban-panel{display:flex;flex-direction:column}
.kanban-tools{display:flex;align-items:center;gap:8px}
.hermes-badge{
  font:700 9px/1 var(--mono);letter-spacing:.08em;color:var(--muted);
  padding:5px 8px;border:1px solid rgba(0,216,255,.2);border-radius:3px;background:#04060e
}
.hermes-badge.ok{color:var(--green);border-color:rgba(57,255,136,.4);box-shadow:0 0 12px rgba(57,255,136,.15)}
.primary-btn{color:#010c18!important;background:linear-gradient(90deg,var(--cyan),#5dffdf)!important;border:none!important;font-weight:700;padding:0 12px}
.kanban-board{
  flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  padding:12px;overflow:hidden;min-height:0
}
.kanban-col{
  display:flex;flex-direction:column;min-height:0;
  background:linear-gradient(180deg,rgba(12,10,34,.6),rgba(4,6,22,.5));
  border:1px solid rgba(0,216,255,.16);border-radius:6px;overflow:hidden
}
.kanban-col>header{
  display:flex;align-items:center;justify-content:space-between;padding:9px 11px;
  border-bottom:1px solid rgba(0,216,255,.14);
  font:700 10px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);text-transform:uppercase
}
.kanban-col[data-status="in-progress"]>header{color:var(--amber)}
.kanban-col[data-status="review"]>header{color:var(--purple)}
.kanban-col[data-status="done"]>header{color:var(--green)}
.col-count{
  font-style:normal;min-width:20px;text-align:center;color:var(--muted);
  background:rgba(0,216,255,.1);border-radius:10px;padding:2px 7px;font-size:9px
}
.kanban-cards{flex:1;overflow:auto;padding:9px;display:flex;flex-direction:column;gap:8px;min-height:40px}
.kanban-cards.drop-hot{background:rgba(0,216,255,.08);box-shadow:inset 0 0 0 1px var(--cyan)}
.kanban-card{
  position:relative;background:linear-gradient(160deg,rgba(22,18,58,.9),rgba(8,10,30,.9));
  border:1px solid rgba(0,216,255,.22);border-left:3px solid var(--cyan);border-radius:5px;
  padding:9px 10px;cursor:grab;transition:box-shadow .15s,transform .1s
}
.kanban-card:hover{box-shadow:0 0 16px rgba(0,216,255,.2);transform:translateY(-1px)}
.kanban-card.dragging{opacity:.4;cursor:grabbing}
.kanban-card.pri-high{border-left-color:var(--red)}
.kanban-card.pri-low{border-left-color:var(--dim)}
.kc-title{font:600 12px/1.3 var(--sans);color:var(--text);margin-bottom:7px}
.kc-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:7px}
.kc-agent{font:9px/1 var(--mono);color:var(--cyan);background:rgba(0,216,255,.1);padding:3px 6px;border-radius:3px}
.kc-pri{font:700 8px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:3px 5px;border:1px solid rgba(112,144,184,.3);border-radius:3px}
.kanban-card.pri-high .kc-pri{color:var(--red);border-color:rgba(255,51,92,.4)}
.kc-dispatched{font:700 8px/1 var(--mono);color:var(--green);background:rgba(57,255,136,.12);padding:3px 6px;border-radius:3px}
.kc-actions{display:flex;gap:6px;justify-content:flex-end}
.kc-actions button{
  height:22px;padding:0 8px;font:700 8px/1 var(--mono);letter-spacing:.05em;cursor:pointer;
  background:#04060e;color:var(--muted);border:1px solid rgba(0,216,255,.2);border-radius:3px
}
.kc-dispatch:hover{color:var(--green);border-color:var(--green);box-shadow:0 0 10px rgba(57,255,136,.2)}
.kc-del:hover{color:var(--red);border-color:var(--red)}

/* ── Add-task modal ─────────────────────────────────────────────────────── */
.modal-overlay{
  position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;
  background:rgba(2,4,16,.8);backdrop-filter:blur(4px)
}
.modal-card{
  width:440px;max-width:92vw;background:linear-gradient(180deg,var(--panel),rgba(4,6,22,.97));
  border:1px solid var(--cyan);border-radius:8px;padding:0 0 16px;box-shadow:0 0 40px rgba(0,216,255,.25)
}
.modal-card .module-head{padding:12px 14px;margin-bottom:4px}
.modal-card .module-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px}
.modal-label{display:block;font:700 9px/1 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin:10px 14px 5px}
.modal-input{
  display:block;width:calc(100% - 28px);margin:0 14px;height:32px;background:#04060e;color:var(--text);
  border:1px solid rgba(0,216,255,.25);border-radius:4px;padding:0 10px;font:12px var(--mono);outline:none
}
.modal-input:focus{border-color:var(--cyan);box-shadow:0 0 12px rgba(0,216,255,.2)}
select.modal-input{height:34px}
.modal-row{display:flex;gap:0}
.modal-row>div{flex:1}
.modal-actions{display:flex;gap:10px;padding:16px 14px 0}
.modal-actions button{
  flex:1;height:36px;font:700 11px/1 var(--mono);letter-spacing:.08em;cursor:pointer;border-radius:4px;
  background:#04060e;color:var(--text);border:1px solid rgba(0,216,255,.3)
}
.modal-actions .primary{color:#010c18;background:linear-gradient(90deg,var(--cyan),#5dffdf);border:none}

/* ── Streaming chat bubble ─────────────────────────────────────────────── */
.msg.streaming .stream-body::after{content:'▋';color:var(--cyan);animation:blink 1s steps(2) infinite;margin-left:1px}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

/* ── Files browser ─────────────────────────────────────────────────────── */
.files-panel{display:flex;flex-direction:column}
.files-tools{display:flex;align-items:center;gap:8px}
.files-root{font:10px/1 var(--mono);color:var(--muted);max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files-body{flex:1;display:grid;grid-template-columns:340px 1fr;gap:10px;padding:12px;min-height:0}
.files-list,.files-viewer{display:flex;flex-direction:column;min-height:0;border:1px solid rgba(0,216,255,.16);border-radius:6px;overflow:hidden;background:linear-gradient(180deg,rgba(12,10,34,.6),rgba(4,6,22,.5))}
.files-crumb,.files-viewer-head{padding:8px 10px;border-bottom:1px solid rgba(0,216,255,.14);font:11px/1.4 var(--mono);color:var(--cyan);word-break:break-all}
.files-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fv-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.fv-graph{flex-shrink:0;height:24px;padding:0 9px;background:#04060e;color:var(--cyan);border:1px solid rgba(0,216,255,.3);border-radius:4px;font:700 9px/1 var(--mono);letter-spacing:.06em;cursor:pointer;white-space:nowrap}
.fv-graph:hover{box-shadow:0 0 12px rgba(0,216,255,.25)}
.files-crumb a{color:var(--cyan);cursor:pointer;text-decoration:none}
.files-crumb a:hover{text-shadow:0 0 8px var(--cyan)}
.files-crumb .sep{color:var(--dim);margin:0 3px}
.files-entries{flex:1;overflow:auto;padding:6px}
.file-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:6px 8px;font:11px/1.2 var(--mono);color:var(--text);cursor:pointer;border-radius:4px}
.file-row:hover{background:rgba(0,216,255,.08)}
.file-row .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-row.dir .fname{color:var(--cyan)}
.file-row .fmeta{color:var(--dim);font-size:9px;white-space:nowrap}
.files-content{flex:1;margin:0;overflow:auto;padding:12px;background:rgba(0,2,8,.55);color:var(--text);font:12px/1.5 var(--mono);white-space:pre-wrap;word-break:break-word}
@media(max-width:1200px){
  #tab-files{position:static;display:grid!important;grid-template-columns:1fr;margin:10px}
  .files-body{grid-template-columns:1fr}
  #tab-hermes{position:static;display:grid!important;grid-template-columns:1fr;margin:10px}
  .embed-body{min-height:70vh}
}

/* ── Oracle memory graph ────────────────────────────────────────────────── */
.oracle-panel{display:flex;flex-direction:column;position:relative}
.oracle-detail{position:absolute;top:48px;right:12px;width:300px;max-height:calc(100% - 60px);z-index:6;
  background:linear-gradient(180deg,rgba(12,10,34,.97),rgba(4,6,22,.97));border:1px solid rgba(0,216,255,.32);
  border-radius:8px;box-shadow:0 0 30px rgba(0,216,255,.16);display:flex;flex-direction:column;overflow:hidden}
.od-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;
  border-bottom:1px solid rgba(0,216,255,.18);font:700 12px/1.35 var(--mono);color:var(--cyan);word-break:break-word}
.od-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;flex-shrink:0}
.od-meta{padding:8px 12px;font:10px/1.5 var(--mono);color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06);text-transform:uppercase;letter-spacing:.06em}
.od-links{flex:1;overflow:auto;padding:6px}
.od-link{padding:6px 8px;font:11px/1.35 var(--mono);color:var(--text);cursor:pointer;border-radius:4px;border-left:2px solid transparent;word-break:break-word}
.od-link:hover{background:rgba(0,216,255,.08);border-left-color:var(--cyan)}
.od-link .rel{color:var(--purple);font-size:9px;letter-spacing:.06em}
.od-empty{padding:10px 12px;font:11px/1.4 var(--mono);color:var(--dim)}
.oracle-answer{position:absolute;top:48px;left:12px;width:min(560px,calc(100% - 340px));max-height:calc(100% - 60px);z-index:7;
  background:linear-gradient(180deg,rgba(12,10,34,.98),rgba(4,6,22,.98));border:1px solid var(--cyan);
  border-radius:8px;box-shadow:0 0 34px rgba(0,216,255,.22);display:flex;flex-direction:column;overflow:hidden}
.oa-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid rgba(0,216,255,.2);
  font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--cyan)}
.oa-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px}
.oa-q{padding:8px 12px;font:600 12px/1.4 var(--sans);color:var(--green);border-bottom:1px solid rgba(255,255,255,.06)}
.oa-body{flex:1;overflow:auto;margin:0;padding:12px;font:12px/1.55 var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-word}
.oracle-tools{display:flex;align-items:center;gap:8px}
.oracle-type{height:26px;background:#04060e;color:var(--text);border:1px solid rgba(0,216,255,.22);padding:0 6px;font:11px var(--mono);outline:none}
.oracle-search{height:26px;width:280px;background:#04060e;color:var(--text);border:1px solid rgba(0,216,255,.22);padding:0 9px;font:11px var(--mono);outline:none}
.oracle-search:focus{border-color:var(--cyan);box-shadow:0 0 14px rgba(0,216,255,.2)}
.oracle-stats{font:10px/1 var(--mono);color:var(--muted);letter-spacing:.06em}
.oracle-graph{
  position:relative;flex:1;min-height:0;overflow:hidden;
  background:radial-gradient(ellipse at 50% 42%,#1a0f3d,#0a0518 60%,#06030f);
}
.oracle-graph canvas{display:block}

/* ── Embedded panels (iframe tabs: Hermes, CRM, …) ──────────────────────── */
.embed-panel{display:flex;flex-direction:column}
.embed-tools{display:flex;align-items:center;gap:8px}
.embed-url{font:10px/1 var(--mono);color:var(--muted);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.embed-body{position:relative;flex:1;min-height:0;padding:10px}
.embed-frame{width:100%;height:100%;border:1px solid rgba(0,216,255,.16);border-radius:6px;background:#04060e}
.embed-fallback{position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;gap:6px;
  background:rgba(4,6,22,.85);border:1px solid rgba(0,216,255,.2);border-radius:6px;
  font:12px/1.5 var(--mono);color:var(--muted);text-align:center;padding:20px}
.embed-fallback a{color:var(--cyan)}

/* ── CRM / external business integration ───────────────────────────────── */
.crm-panel{display:flex;flex-direction:column}
.crm-tools{display:flex;align-items:center;gap:8px}
.integration-badge{font:700 9px/1 var(--mono);letter-spacing:.09em;color:var(--amber);padding:5px 8px;border:1px solid rgba(255,212,71,.36);border-radius:3px;background:#04060e}
.integration-badge.ok{color:var(--green);border-color:rgba(57,255,136,.4);box-shadow:0 0 12px rgba(57,255,136,.14)}
.integration-badge.bad{color:var(--red);border-color:rgba(255,51,92,.45)}
.integration-badge.locked{color:var(--amber);border-color:rgba(255,212,71,.36)}
.crm-shell{position:relative;z-index:1;flex:1;min-height:0;padding:12px;overflow:auto}
.crm-locked{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;border:1px solid rgba(255,212,71,.2);border-radius:8px;background:radial-gradient(circle at 50% 34%,rgba(255,212,71,.08),transparent 28%),linear-gradient(160deg,rgba(16,13,38,.9),rgba(4,7,20,.94))}
.crm-lock-mark{position:relative;width:78px;height:68px;margin-bottom:22px;border:1px solid rgba(255,212,71,.48);border-radius:8px 8px 14px 14px;background:linear-gradient(180deg,rgba(255,212,71,.14),rgba(255,122,47,.04));box-shadow:0 0 34px rgba(255,212,71,.12),inset 0 0 22px rgba(255,212,71,.06)}
.crm-lock-mark:before{content:"";position:absolute;width:42px;height:36px;left:17px;top:-25px;border:3px solid rgba(255,212,71,.58);border-bottom:0;border-radius:22px 22px 0 0}
.crm-lock-mark span{position:absolute;width:10px;height:18px;left:33px;top:24px;background:var(--amber);clip-path:polygon(50% 0,100% 38%,75% 100%,25% 100%,0 38%);box-shadow:0 0 14px var(--amber)}
.crm-kicker{margin:0 0 9px;font:700 10px/1 var(--mono);letter-spacing:.16em;color:var(--amber)}
.crm-locked h2{margin:0;font-size:clamp(26px,3vw,44px);letter-spacing:.06em;color:var(--text);text-shadow:0 0 24px rgba(255,212,71,.16)}
.crm-locked-copy{max-width:720px;margin:12px auto 24px;font:14px/1.55 var(--sans);color:var(--muted)}
.crm-boundary-grid{width:min(900px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left}
.crm-boundary-grid article{min-height:112px;padding:15px;border:1px solid rgba(0,216,255,.17);border-radius:6px;background:rgba(4,7,22,.7)}
.crm-boundary-grid span,.crm-boundary-grid b,.crm-boundary-grid small{display:block}
.crm-boundary-grid span{font:700 9px/1 var(--mono);letter-spacing:.12em;color:var(--cyan)}
.crm-boundary-grid b{margin:10px 0 7px;font:700 13px/1.25 var(--mono);color:var(--text);word-break:break-word}
.crm-boundary-grid small{font:11px/1.45 var(--mono);color:var(--muted)}
.crm-config-note{max-width:760px;margin:18px 0 0;font:10px/1.5 var(--mono);color:var(--dim)}
.crm-connected{height:100%;min-height:0;display:flex;flex-direction:column;border:1px solid rgba(57,255,136,.2);border-radius:7px;overflow:hidden;background:rgba(4,7,22,.88)}
.crm-connection-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 12px;border-bottom:1px solid rgba(57,255,136,.16)}
.crm-connection-strip span,.crm-connection-strip b{display:block;font:700 9px/1.4 var(--mono);letter-spacing:.09em}
.crm-connection-strip span{color:var(--muted)}.crm-connection-strip b{color:var(--green)}
.crm-connection-strip p{margin:0;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/1 var(--mono);color:var(--muted)}
.crm-frame-wrap{flex:1;min-height:420px;padding:10px}.crm-frame-note{margin:0;padding:0 12px 10px;font:9px/1.4 var(--mono);color:var(--dim)}

/* ── CRON / scheduler visibility ───────────────────────────────────────── */
.cron-panel{display:flex;flex-direction:column}.cron-tools{display:flex;align-items:center;gap:8px}
.cron-shell{position:relative;z-index:1;flex:1;min-height:0;padding:12px;overflow:auto}
.cron-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.cron-summary article{padding:14px;border:1px solid rgba(0,216,255,.17);border-radius:6px;background:linear-gradient(145deg,rgba(9,17,40,.9),rgba(4,7,22,.9))}
.cron-summary span,.cron-summary b,.cron-summary small{display:block}.cron-summary span{font:700 9px/1 var(--mono);letter-spacing:.12em;color:var(--cyan)}
.cron-summary b{margin:9px 0 6px;font:700 26px/1 var(--mono);color:var(--text)}.cron-summary small{font:10px/1.35 var(--mono);color:var(--muted)}
.cron-context-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:10px 12px;border:1px solid rgba(139,92,255,.2);border-radius:6px;background:rgba(10,8,30,.72)}
.cron-context-strip span,.cron-context-strip b{display:block;font:700 9px/1.45 var(--mono);letter-spacing:.1em}.cron-context-strip span{color:var(--purple)}.cron-context-strip b{color:var(--text)}
.cron-context-strip p{margin:0;font:9px/1.4 var(--mono);color:var(--muted)}
.cron-engine{display:flex;align-items:center;gap:7px;font:700 9px/1 var(--mono);letter-spacing:.08em;color:var(--amber)}.cron-engine i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 9px var(--amber)}
.cron-engine.online{color:var(--green)}.cron-engine.online i{background:var(--green);box-shadow:0 0 10px var(--green)}.cron-engine.offline{color:var(--red)}.cron-engine.offline i{background:var(--red);box-shadow:0 0 10px var(--red)}
.cron-timeline-panel{margin-bottom:10px;padding:11px;border:1px solid rgba(139,92,255,.2);border-radius:7px;background:linear-gradient(145deg,rgba(11,9,34,.85),rgba(4,7,22,.88))}
.cron-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.cron-section-head span,.cron-section-head b{display:block;font:700 8px/1.35 var(--mono);letter-spacing:.11em}.cron-section-head span{color:var(--purple)}.cron-section-head b{margin-top:3px;color:var(--text)}.cron-section-head>p{margin:0;font:8px/1.4 var(--mono);color:var(--dim);text-align:right}
.cron-timeline-scroll{margin-top:10px;overflow-x:auto}.cron-timeline-axis,.cron-timeline{min-width:720px}.cron-timeline-axis{display:flex;justify-content:space-between;padding:0 4px 5px;font:8px/1 var(--mono);color:var(--dim)}
.cron-timeline{position:relative;height:158px;border:1px solid rgba(0,216,255,.1);border-radius:5px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(0,216,255,.08) 25%),linear-gradient(180deg,rgba(4,6,22,.84),rgba(6,8,28,.72))}
.cron-orbit-job{position:absolute;max-width:170px;height:25px;transform:translateX(-50%);padding:0 8px;border:1px solid rgba(0,216,255,.3);border-radius:12px;background:#060a1d;color:var(--cyan);font:700 8px/1 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:0 0 12px rgba(0,216,255,.08)}.cron-orbit-job.active{border-color:rgba(57,255,136,.5);color:var(--green);box-shadow:0 0 14px rgba(57,255,136,.13)}.cron-orbit-job.paused{opacity:.52}.cron-orbit-job:before{content:"";display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor}
.cron-interval-lane{position:absolute;right:8px;bottom:7px;left:8px;display:flex;align-items:center;gap:6px;min-width:0}.cron-interval-lane>span{flex:0 0 auto;font:700 7px/1 var(--mono);letter-spacing:.1em;color:var(--dim)}.cron-interval-lane button{min-width:0;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(0,216,255,.22);border-radius:999px;background:#05091a;color:#4aa6c3;padding:5px 9px;font:700 7px/1 var(--mono);cursor:pointer}.cron-interval-lane button.active{border-color:rgba(57,255,136,.6);color:var(--green)}
.cron-jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px;padding-bottom:4px}
.cron-job{min-width:0;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:linear-gradient(160deg,rgba(8,13,34,.94),rgba(4,7,20,.94));cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.cron-job:hover{transform:translateY(-2px);border-color:rgba(0,216,255,.38);box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 18px rgba(0,216,255,.08)}
.cron-job.active{border-color:rgba(57,255,136,.3);box-shadow:inset 3px 0 0 rgba(57,255,136,.6)}.cron-job.paused{opacity:.76}
.cron-job-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cron-job-head>div{display:flex;align-items:center;gap:8px;min-width:0}
.cron-job-head h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.25 var(--mono);color:var(--text)}
.cron-job-head>b{flex:0 0 auto;font:700 8px/1 var(--mono);letter-spacing:.1em;color:var(--muted)}.cron-job.active .cron-job-head>b{color:var(--green)}
.cron-state-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--dim)}.cron-job.active .cron-state-dot{background:var(--green);box-shadow:0 0 10px var(--green)}
.cron-schedule{display:flex;align-items:center;gap:8px;margin:12px 0;padding:8px;border:1px solid rgba(0,216,255,.1);border-radius:4px;background:#04060e}
.cron-schedule span{font:700 8px/1 var(--mono);text-transform:uppercase;color:var(--cyan)}.cron-schedule code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px/1 var(--mono);color:var(--text)}
.cron-job dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.cron-job dl>div{min-width:0}
.cron-job dt{margin-bottom:4px;font:700 8px/1 var(--mono);letter-spacing:.09em;color:var(--dim)}.cron-job dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/1.35 var(--mono);color:var(--muted)}
.cron-job dd.healthy{color:var(--green)}.cron-job dd.failed{color:var(--red)}.cron-job dd.neutral{color:var(--amber)}
.cron-job-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}.cron-job-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px/1 var(--mono);color:var(--dim)}
.cron-manage{height:25px;padding:0 10px;border:1px solid rgba(0,216,255,.3);border-radius:3px;background:#04060e;color:var(--cyan);font:700 8px/1 var(--mono);letter-spacing:.08em;cursor:pointer}.cron-manage:hover{box-shadow:0 0 12px rgba(0,216,255,.2)}
.cron-empty{grid-column:1/-1;padding:60px 20px;border:1px dashed rgba(0,216,255,.2);border-radius:7px;text-align:center;font:12px/1.55 var(--mono);color:var(--muted)}

.cron-drawer-scrim{position:fixed;inset:0;z-index:80;background:rgba(2,4,16,.7);backdrop-filter:blur(5px)}
.cron-drawer{position:absolute;top:0;right:0;width:min(620px,100vw);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(12,12,38,.99),rgba(3,6,18,.99));border-left:1px solid var(--cyan);box-shadow:-24px 0 70px rgba(0,0,0,.45),0 0 34px rgba(0,216,255,.12);animation:cron-drawer-in .2s ease-out}
@keyframes cron-drawer-in{from{transform:translateX(30px);opacity:.4}to{transform:translateX(0);opacity:1}}
.cron-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid rgba(0,216,255,.18)}.cron-drawer-head span{font:700 9px/1 var(--mono);letter-spacing:.14em;color:var(--cyan)}.cron-drawer-head h2{margin:7px 0 0;font:700 22px/1.2 var(--mono);color:var(--text)}
.cron-drawer-head button{width:34px;height:34px;border:1px solid rgba(0,216,255,.25);border-radius:4px;background:#04060e;color:var(--muted);cursor:pointer}.cron-drawer-head button:hover{color:var(--cyan)}
.cron-drawer-state{padding:9px 20px;border-bottom:1px solid rgba(255,255,255,.07);font:700 9px/1 var(--mono);letter-spacing:.1em;color:var(--amber)}.cron-drawer-state.active{color:var(--green)}.cron-drawer-state.paused{color:var(--amber)}
.cron-drawer-scroll{flex:1;min-height:0;overflow:auto;padding:4px 20px 22px}.cron-field-label{display:block;margin:18px 0 7px;font:700 9px/1 var(--mono);letter-spacing:.11em;color:var(--muted)}
.cron-field{width:100%;height:39px;padding:0 11px;border:1px solid rgba(0,216,255,.25);border-radius:5px;outline:0;background:#04060e;color:var(--text);font:12px/1.4 var(--mono)}.cron-field:focus{border-color:var(--cyan);box-shadow:0 0 14px rgba(0,216,255,.14)}
.cron-prompt{height:190px;padding:11px;resize:vertical}.cron-prompt:disabled{opacity:.5}.cron-schedule-preview{margin-top:7px;font:10px/1.4 var(--mono);color:var(--cyan)}
.cron-script-notice{margin-top:9px;padding:10px;border:1px solid rgba(139,92,255,.25);border-radius:4px;background:rgba(139,92,255,.07);font:10px/1.5 var(--mono);color:var(--muted)}
.cron-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.cron-detail-grid article,.cron-detail-block{padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:5px;background:rgba(4,7,22,.72)}.cron-detail-grid span,.cron-detail-grid b{display:block}.cron-detail-grid span,.cron-detail-block>span{font:700 8px/1 var(--mono);letter-spacing:.1em;color:var(--dim)}.cron-detail-grid b{margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 10px/1.3 var(--mono);color:var(--text)}
.cron-detail-block{margin-top:8px}.cron-detail-block p{margin:8px 0 0;font:10px/1.5 var(--mono);color:var(--muted);word-break:break-word}.cron-action-feedback{min-height:18px;margin-top:12px;font:10px/1.4 var(--mono);color:var(--green)}.cron-action-feedback.error{color:var(--red)}
.cron-error-block{border-color:rgba(255,51,92,.28);background:rgba(255,51,92,.06)}.cron-error-block>span,.cron-error-block p{color:var(--red)}.cron-error-block button{margin-top:9px;height:28px;border:1px solid rgba(255,51,92,.35);border-radius:3px;background:#080510;color:#ff9ab2;font:700 8px/1 var(--mono);cursor:pointer}
.cron-history-block{margin-top:18px}.cron-history{display:flex;flex-direction:column;gap:7px;margin-top:9px}.cron-history details{border:1px solid rgba(255,255,255,.09);border-radius:5px;background:rgba(4,7,22,.72)}.cron-history summary{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;cursor:pointer;list-style:none}.cron-history summary::-webkit-details-marker{display:none}.cron-history summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 10px/1.35 var(--mono);color:var(--text)}.cron-history summary span{font:8px/1.35 var(--mono);color:var(--dim)}.cron-history-output{max-height:240px;overflow:auto;margin:0;padding:10px;border-top:1px solid rgba(255,255,255,.07);white-space:pre-wrap;font:10px/1.5 var(--mono);color:var(--muted)}.cron-history-telemetry{padding:0 10px 9px;font:8px/1.4 var(--mono);color:var(--dim)}.cron-history-empty{padding:20px;border:1px dashed rgba(0,216,255,.15);border-radius:5px;text-align:center;font:10px/1.5 var(--mono);color:var(--dim)}
.cron-archive-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:12px;border:1px solid rgba(255,212,71,.2);border-radius:5px;background:rgba(255,212,71,.04)}.cron-archive-zone span{font:700 8px/1 var(--mono);letter-spacing:.1em;color:var(--amber)}.cron-archive-zone p{margin:6px 0 0;font:9px/1.4 var(--mono);color:var(--dim)}.cron-archive-zone button{flex:0 0 auto;height:30px;border:1px solid rgba(255,212,71,.35);border-radius:3px;background:#080710;color:var(--amber);font:700 8px/1 var(--mono);cursor:pointer}
.cron-drawer-actions{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:8px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,216,255,.16);background:rgba(3,5,18,.97)}.cron-drawer-actions button{height:40px;border:1px solid rgba(0,216,255,.28);border-radius:4px;background:#04060e;color:var(--text);font:700 9px/1 var(--mono);letter-spacing:.08em;cursor:pointer}.cron-drawer-actions button.primary{border:0;background:linear-gradient(90deg,var(--cyan),#5dffdf);color:#010c18}.cron-drawer-actions button:disabled{opacity:.45;cursor:wait}


/* ── Mobile operator shell (transplanted from the mobile-working deck) ─────
   Desktop keeps the full cinematic dashboard. Phones get a single-column,
   thumb-first control surface — same markup, same agent logic, just layout.
   Extended for this app's extra tabs: oracle, files, hermes. */
@media(max-width:760px){
  html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  body.agent-workbench-open{overflow:hidden}
  body{padding:0 0 18px;background-attachment:fixed}
  #stars{opacity:.55}
  #waveform{bottom:0;height:42px;opacity:.35}
  .screen-grain,.scan-line{opacity:.22}

  .top-hud{
    position:sticky;top:0;left:0;right:0;z-index:40;margin:0 0 8px;
    height:auto;display:grid;grid-template-columns:1fr;gap:8px;padding:10px;
    clip-path:none;border-left:0;border-right:0
  }
  .brand-block{gap:9px;min-width:0}.mark{width:38px;height:38px}
  .micro{font-size:8px;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}
  .nav-tabs button{flex:0 0 auto;height:34px;padding:0 10px;font-size:9px;scroll-snap-align:start}
  .resource-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
  .resource-strip span{flex:0 0 auto;min-width:86px;height:25px;font-size:8px;padding:0 7px}

  #tab-voice,#tab-agents,#tab-crm,#tab-cron,#tab-boardroom,#tab-memory,#tab-terminal,#tab-system,#tab-tasks,#tab-oracle,#tab-files,#tab-hermes{
    position:static!important;grid-template-columns:1fr!important;
    gap:8px;margin:8px;min-height:0
  }
  #tab-voice.active,#tab-agents.active,#tab-crm.active,#tab-cron.active,#tab-boardroom.active,#tab-memory.active,#tab-terminal.active,#tab-system.active,#tab-tasks.active,#tab-oracle.active,#tab-files.active,#tab-hermes.active{display:grid!important}
  #tab-voice.tab-panel:not(.active),#tab-agents.tab-panel:not(.active),#tab-crm.tab-panel:not(.active),#tab-cron.tab-panel:not(.active),#tab-boardroom.tab-panel:not(.active),#tab-memory.tab-panel:not(.active),#tab-terminal.tab-panel:not(.active),#tab-system.tab-panel:not(.active),#tab-tasks.tab-panel:not(.active),#tab-oracle.tab-panel:not(.active),#tab-files.tab-panel:not(.active),#tab-hermes.tab-panel:not(.active){display:none!important}
  .module{clip-path:none;border-radius:9px;min-height:0;overflow:hidden}
  .module-head{height:auto;min-height:34px;padding:8px 10px;gap:8px;font-size:9px;line-height:1.2}
  .module-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .core{order:1}.conversation{order:2}.inspector{order:3}
  .reactor-grid{height:auto;min-height:0;grid-template-columns:1fr;padding:10px;gap:9px}
  .reactor{width:min(172px,58vw)}
  .telemetry{grid-template-rows:none;gap:6px}.meter{grid-template-columns:60px 1fr 48px;font-size:9px}
  .mini-log{max-height:96px;font-size:10px}

  .controls{grid-template-columns:1fr 1fr!important;gap:7px;padding:0 10px 8px}
  .controls button{height:42px;font-size:9px;padding:0 7px}
  textarea{width:calc(100% - 20px);height:86px;margin:0 10px 8px;font-size:13px;line-height:1.45}
  .mode-row{grid-template-columns:1fr 1fr;padding:0 10px 8px;gap:7px}
  .mode{height:36px;font-size:8px;padding:0 7px}
  .voice-row{padding:0 10px 10px;gap:7px}.voice-route-row{padding:8px 10px 10px}.voice-select{min-width:0;width:100%;flex-basis:100%}.key-hint{display:none}

  .chat{height:54vh;min-height:360px;padding:9px;gap:8px}.msg{font-size:12px;padding:10px;line-height:1.45}
  .stack{height:auto;max-height:320px;padding:9px}.status-card{font-size:10px}.quick-actions{margin:0 10px 8px}

  .agent-toolbar,.kanban-tools,.memory-tools,.terminal-controls{height:auto;flex-wrap:wrap;gap:7px;align-items:center}
  .agents-shell{height:auto;padding:10px;grid-template-columns:1fr}
  .boardroom-shell{padding:10px}
  .boardroom-scene{padding:12px}
  .boardroom-chamber{min-height:620px}
  .boardroom-core{width:112px;height:112px}
  .boardroom-core-label b{font-size:15px}
  .boardroom-pod{width:106px;min-height:84px;padding:8px}
  .boardroom-pod h4{font-size:11px}
  .boardroom-pod p{font-size:8px}
  .boardroom-stage{grid-template-columns:1fr;min-height:0}
  .boardroom-lower{grid-template-columns:1fr}
  .boardroom-floor{grid-template-columns:1fr}
  .boardroom-member{grid-template-columns:44px 1fr}
  .boardroom-stage-overlay{inset:12px 12px 12px}
  .boardroom-presenter{width:100%}
  .agents-overview{grid-template-columns:1fr;gap:8px}
  .agents-rail{display:grid;grid-template-columns:1fr;gap:10px;overflow:visible;padding-right:0}
  .agents-identity-grid,.agents-stack-grid{grid-template-columns:1fr}
  .agents-stat{padding:14px 14px 16px}
  .agents-stat b{font-size:40px}
  .agents-stat em{font-size:11px;max-width:none}
  .agents-rail-head{flex-direction:column;align-items:stretch}
  .agents-rail-head h3{font-size:32px}
  .agents-rail-head p{min-height:36px;padding:8px 10px}
  .agents-state-pill{align-self:flex-start}
  .agent-workbench{
    position:fixed;inset:0;z-index:80;background:rgba(2,6,14,.94);backdrop-filter:blur(12px);border:none
  }
  .agent-workbench-shell{inset:0;border:none;box-shadow:none}
  .agent-workbench-head{padding:14px 14px 12px}
  .agent-workbench-head h3{font-size:22px;line-height:1.02}
  .agent-workbench-head p{font-size:10px;line-height:1.35;word-break:break-word}
  .agent-workbench-body{grid-template-columns:1fr;height:calc(100% - 78px);padding:10px 14px 14px}
  .agent-workbench-nav{max-height:240px}
  .agent-workbench-panel{padding:12px}
  .agent-workbench-panel-head{flex-direction:column;align-items:flex-start}
  .agent-workbench-panel-head h4{font-size:30px;line-height:.98}
  .agent-workbench-cards{grid-template-columns:1fr}
  .agent-workbench-entry-head{flex-direction:column}
  .agent-workbench-entry-actions{display:grid;grid-template-columns:1fr}
  .memory-search{width:100%;height:34px}.room-grid{height:auto;grid-template-columns:1fr;grid-auto-rows:minmax(220px,auto);padding:0}
  .sys-grid{height:auto;grid-template-columns:1fr;padding:10px;gap:10px}.sys-card{padding:11px}
  .terminal-shell{grid-template-columns:1fr;padding:8px}
  .terminal-sidebar{min-height:220px;order:2}
  .terminal{order:1}
  .terminal{min-height:58vh;font-size:11px}.pty-input{height:auto;grid-template-columns:1fr;padding:8px}.pty-input input,.pty-input button{height:38px}
  .pty-context{max-width:none;width:100%}
  .kanban-board{grid-template-columns:1fr!important;overflow:visible;padding:10px}.kanban-col{min-height:230px}
  .modal-card{width:calc(100vw - 20px)}.modal-row{display:block}.modal-actions{flex-direction:column}
  .bottom-hud{display:none}

  /* extra tabs unique to this app (oracle graph / files / hermes embed) */
  .full-col{grid-column:1/-1}
  .oracle-tools{height:auto;flex-wrap:wrap;gap:6px;align-items:center}
  .oracle-type,.oracle-search{width:100%;min-width:0}.oracle-stats{font-size:9px}
  #oracleGraph,.oracle-graph{height:58vh!important;min-height:340px;width:100%!important}
  .files-tree,.files-view,.file-tree,.file-list{max-height:60vh}
  .hermes-embed,.hermes-frame,#tab-hermes iframe,#tab-hermes embed{width:100%!important;height:70vh!important;border:0}
  .crm-shell{padding:8px}.crm-locked{padding:46px 14px 22px;justify-content:flex-start;min-height:0}
  .crm-lock-mark{margin-top:22px}.crm-locked-copy{font-size:13px}
  .crm-boundary-grid{grid-template-columns:1fr}.crm-boundary-grid article{min-height:0}
  .crm-tools{flex-wrap:wrap;justify-content:flex-end}.crm-connection-strip{align-items:flex-start;flex-direction:column}
  .crm-connection-strip p{max-width:100%;width:100%}.crm-frame-wrap{min-height:68vh;padding:6px}
  .cron-shell{padding:8px}.cron-summary{grid-template-columns:1fr 1fr}.cron-jobs{grid-template-columns:1fr}.cron-context-strip{align-items:flex-start;flex-direction:column}.cron-job dl{grid-template-columns:1fr 1fr}
  .cron-drawer{width:100vw}.cron-drawer-head{padding:16px}.cron-drawer-scroll{padding:4px 14px 18px}.cron-detail-grid{grid-template-columns:1fr 1fr}.cron-drawer-actions{grid-template-columns:1fr 1fr;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.cron-drawer-actions button{height:42px}
  .cron-history summary{grid-template-columns:1fr}.cron-history summary span{white-space:nowrap}
}

@media(max-width:390px){
  h1{font-size:14px}.micro{font-size:7px}.mark{width:34px;height:34px}
  .controls button{font-size:8px}.reactor{width:min(150px,54vw)}
  .chat{height:50vh;min-height:320px}
  #oracleGraph,.oracle-graph{height:52vh!important}
}
