/* ═══════════════════════════════════════════════════════════
   CCD — Central Command Dashboard · Global Styles
   DENDAT Dark Theme · 2026
═══════════════════════════════════════════════════════════ */

:root {
    /* ── Theme accent tokens (defaults = Plasma; themes.css overrides per [data-theme]) ── */
    --ac: #8b5cf6;       --ac-rgb: 139,92,246;
    --ac2: #ec4899;      --ac2-rgb: 236,72,153;
    --ac-300: #a78bfa;   --ac-200: #c4b5fd;   --ac-ink: #ffffff;
    --ac-grad: linear-gradient(135deg, var(--ac), var(--ac2));
    /* ── DENDAT Design System v1 ── */
    --primary: var(--ac);
    --primary-dark: var(--ac);
    --primary-light: var(--ac-300);
    --secondary: #10b981;
    --accent: var(--ac2);
    --cyan: #22d3ee;
    --danger: #ef4444;
    --warning: #f59e0b;
    /* Backgrounds: solid colors for readability */
    --bg: #0a0a0f;
    --dark: #0e0e14;
    --darker: #030305;
    --surface-0: #0e0e14;
    --surface: #141420;
    --surface-1: #141420;
    --surface-2: #1a1a2e;
    --surface-3: #20203a;
    --card: #1a1a2e;
    --card-light: #20203a;
    --panel-bg: #141420;
    /* Text hierarchy - improved contrast */
    --text: #e2e8f0;
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --text-dim: #64748b;
    /* Borders: improved visibility */
    --border: rgba(var(--ac-rgb),0.15);
    --border-hover: rgba(var(--ac-rgb),0.3);
    --border-light: rgba(var(--ac-rgb),0.08);
    --shadow: 0 4px 16px rgba(0,0,0,.6);
    --shadow-lg: 0 10px 32px rgba(0,0,0,.7);
    --glow: 0 0 20px rgba(var(--ac-rgb),0.2);
    --sidebar-w: 220px;
    --topbar-h: 56px;
}

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;
     background-image:radial-gradient(ellipse at 20% 0%,rgba(var(--ac-rgb),.08) 0%,transparent 50%),
                      radial-gradient(ellipse at 80% 100%,rgba(var(--ac-rgb),.05) 0%,transparent 50%)}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:inherit}
input,textarea,select{font-family:inherit}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--darker)}
::-webkit-scrollbar-thumb{background:var(--card-light);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#475569}

/* ── LAYOUT ─────────────────────────────────────────── */
.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-w);
         background:linear-gradient(180deg,var(--surface-0),rgba(10,12,20,.98));border-right:1px solid var(--border);
         display:flex;flex-direction:column;z-index:100;
         transition:.3s;overflow-y:auto;overflow-x:hidden;box-shadow:2px 0 16px rgba(0,0,0,0.4)}
.sidebar::-webkit-scrollbar{width:4px}

/* ── Logo / Brand header ── */
.sidebar-logo{display:flex;align-items:center;gap:.7rem;padding:1.35rem 1rem;min-height:72px;box-sizing:border-box;
              border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.sidebar-logo::before{content:'';position:absolute;top:-40%;left:-20%;width:140%;height:120%;
              background:radial-gradient(circle at 25% 30%,rgba(var(--ac-rgb),.12),transparent 55%);pointer-events:none}
.logo-icon-wrap{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--ac),var(--ac2));
              display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;
              box-shadow:0 6px 18px rgba(var(--ac-rgb),.4),inset 0 1px 0 rgba(255,255,255,.25)}
.logo-icon-wrap::after{content:'';position:absolute;inset:0;border-radius:12px;border:1px solid rgba(255,255,255,.12)}
.logo-icon{color:#fff;font-size:1.3rem}
.logo-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;position:relative;z-index:1}
.logo-name{font-size:1.1rem;font-weight:800;color:#f8fafc;letter-spacing:.08em;font-family:'JetBrains Mono',monospace;
              line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
              background:linear-gradient(135deg,#f8fafc,var(--ac-200));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.logo-sub{font-size:.58rem;color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;display:block;
              white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'JetBrains Mono',monospace}

/* ── Sections / labels ── */
.sidebar-section{padding:.5rem 0}
.sidebar-section + .sidebar-section{border-top:1px solid rgba(255,255,255,.03)}
.sidebar-label{font-size:.6rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;
               letter-spacing:.16em;padding:.6rem 1.1rem .35rem;font-family:'JetBrains Mono',monospace;opacity:.7}

/* ── Nav items ── */
.nav-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;margin:.1rem .55rem;
          border-radius:9px;color:var(--text-dim);font-size:.84rem;font-weight:500;transition:.15s;position:relative}
.nav-item:hover{background:rgba(var(--ac-rgb),.08);color:var(--text);transform:translateX(2px)}
.nav-item.active{background:linear-gradient(90deg,rgba(var(--ac-rgb),.18),rgba(var(--ac-rgb),.06));color:#fff;font-weight:600}
.nav-item.active::before{content:'';position:absolute;left:-.55rem;top:50%;transform:translateY(-50%);
                 width:3px;height:60%;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--ac),var(--ac2));box-shadow:0 0 8px rgba(var(--ac-rgb),.6)}
.nav-item.active .material-icons-round{color:var(--ac-200)}
.nav-item .material-icons-round{font-size:1.15rem;transition:.15s}
.nav-badge{font-size:.6rem;font-weight:700;padding:.12rem .38rem;border-radius:5px;
           text-transform:uppercase;letter-spacing:.05em;margin-left:auto;font-family:'JetBrains Mono',monospace}
.nav-badge.blue{background:rgba(var(--ac-rgb),.2);color:var(--ac-300);border:1px solid rgba(var(--ac-rgb),.25)}
.nav-badge.green{background:rgba(16,185,129,.18);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}
.sidebar-footer{margin-top:auto;padding:.85rem 1rem;border-top:1px solid var(--border);
                display:flex;align-items:center;gap:.5rem;background:rgba(0,0,0,.2)}
.fleet-pulse{display:flex;align-items:center;gap:.5rem;flex:1;font-size:.8rem;color:var(--text-dim)}
.pulse-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.pulse-dot.online{background:var(--secondary);box-shadow:0 0 6px var(--secondary);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.logout-btn{display:flex;align-items:center;padding:.4rem;border-radius:6px;color:var(--text-muted);transition:.15s}
.logout-btn:hover{background:rgba(244,63,94,.1);color:var(--danger)}

.main-wrap{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:1rem;padding:0 1.5rem;
        height:var(--topbar-h);flex-shrink:0;box-sizing:border-box;
        border-bottom:1px solid var(--border);background:var(--surface-0);
        position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.topbar-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;color:var(--text)}
.topbar-title .material-icons-round{color:var(--primary);font-size:1.1rem}
.topbar-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}
.ai-badge{display:flex;align-items:center;gap:.35rem;background:rgba(var(--ac-rgb),.1);
          border:1px solid rgba(var(--ac-rgb),.2);border-radius:20px;padding:.3rem .75rem;
          font-size:.75rem;color:var(--ac-300);font-weight:500}
.version-badge{font-size:.7rem;color:var(--text-muted);background:var(--card);
               border:1px solid var(--border);border-radius:4px;padding:.2rem .5rem}
.sidebar-toggle{display:none;background:none;border:none;color:var(--text);padding:.25rem}
.content{flex:1;padding:1.5rem}

/* ── PANELS ─────────────────────────────────────────── */
.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.panel-header{display:flex;align-items:center;gap:.6rem;padding:.875rem 1rem;
              border-bottom:1px solid var(--border);font-weight:600;font-size:.875rem;color:var(--text)}
.panel-header .material-icons-round{color:var(--primary);font-size:1.1rem}
.panel-body{padding:1rem}

/* ── GRID LAYOUTS ──────────────────────────────────── */
.two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:1.25rem;align-items:start}
.right-col{display:flex;flex-direction:column;gap:0}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;
           padding:1rem;display:flex;align-items:center;gap:.875rem;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
.stat-card:hover{border-color:rgba(var(--ac-rgb),.3);box-shadow:var(--glow)}
.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.stat-icon.green{background:rgba(16,185,129,.15);color:#34d399}
.stat-icon.red{background:rgba(244,63,94,.15);color:#fb7185}
.stat-icon.blue{background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}
.stat-icon.purple{background:rgba(var(--ac2-rgb),.15);color:#a78bfa}
.stat-icon .material-icons-round{font-size:1.2rem}
.stat-val{font-size:1.6rem;font-weight:700;color:var(--text);line-height:1}
.stat-label{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}

/* ── FLEET GRID ─────────────────────────────────────── */
.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.4rem;padding:.75rem}
.node-cell{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .4rem;
           border-radius:8px;border:1px solid var(--border-light);font-size:.7rem;transition:.2s;cursor:default}
.node-cell.online{background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.2)}
.node-cell.online:hover{background:rgba(16,185,129,.1)}
.node-cell.offline{background:rgba(244,63,94,.03);border-color:rgba(244,63,94,.1);opacity:.6}
.node-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.node-cell.online .node-dot{background:#34d399;box-shadow:0 0 4px #34d399}
.node-cell.offline .node-dot{background:#475569}
.node-name{color:var(--text-dim);font-size:.7rem;text-align:center}
.node-ms{color:var(--text-muted);font-size:.65rem}
.loading-msg{padding:2rem;color:var(--text-muted);text-align:center;font-size:.85rem}

/* ── FORMS ──────────────────────────────────────────── */
.field-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-dim);
             text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.terminal-input{width:100%;background:var(--surface-2);border:1px solid var(--border);
                border-radius:8px;padding:.75rem;color:var(--text);font-size:.875rem;
                resize:vertical;outline:none;font-family:'JetBrains Mono',monospace;
                transition:.15s}
.terminal-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--ac-rgb),.15)}
.form-input{width:100%;background:var(--surface-2);border:1px solid var(--border);
            border-radius:8px;padding:.65rem .875rem;color:var(--text);font-size:.875rem;outline:none;transition:.15s}
.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--ac-rgb),.15)}
.btn-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.4rem;border:none;border-radius:8px;
     padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;transition:.2s;letter-spacing:.01em}
.btn .material-icons-round{font-size:1rem}
.btn-primary{background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff}
.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 8px 20px rgba(var(--ac-rgb),.3)}
.btn-ghost{background:rgba(255,255,255,0.04);border:1px solid var(--border);color:var(--text-dim)}
.btn-ghost:hover{background:rgba(255,255,255,0.06);color:var(--text)}
.btn-ghost.active{background:rgba(var(--ac-rgb),.15);border-color:rgba(var(--ac-rgb),.3);color:var(--ac-300)}
.btn-sm{padding:.4rem .75rem;font-size:.8rem}
.btn-lg{padding:.75rem 1.5rem;font-size:.95rem}
.btn-icon{display:inline-flex;align-items:center;background:none;border:none;
          color:var(--text-muted);padding:.2rem;border-radius:6px;transition:.15s}
.btn-icon:hover{background:rgba(255,255,255,0.05);color:var(--text)}
.btn-icon.red-icon:hover{background:rgba(244,63,94,.1);color:var(--danger)}
.ml-auto{margin-left:auto}

/* ── STATUS BADGES ──────────────────────────────────── */
.status-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.2rem .5rem;
              border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.status-badge.green,.status-badge.done{background:rgba(16,185,129,.15);color:#34d399}
.status-badge.blue,.status-badge.running{background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}
.status-badge.red,.status-badge.error{background:rgba(244,63,94,.15);color:#fb7185}
.green-icon{color:#34d399}
.red-icon{color:#fb7185}

/* ── TERMINAL OUTPUT ────────────────────────────────── */
.term-output{background:var(--surface-2);padding:1rem;font-family:'JetBrains Mono',monospace;
             font-size:.8rem;line-height:1.6;overflow-y:auto;color:#cbd5e1;max-height:500px;border:1px solid var(--border-light);border-radius:8px}
.muted{color:var(--text-muted);font-style:italic}
.err-text{color:#fb7185}
.result-block{border-left:3px solid var(--secondary);padding:.75rem;margin:.5rem 0;
              background:rgba(16,185,129,.03);border-radius:0 8px 8px 0}
.result-block.error{border-left-color:var(--danger);background:rgba(244,63,94,.03)}
.result-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem}
.result-pre{white-space:pre-wrap;word-break:break-word;color:#94a3b8;font-size:.75rem;
            background:rgba(2,6,23,.5);padding:.5rem;border-radius:4px;margin-top:.5rem;
            max-height:200px;overflow-y:auto}
.node-ip{color:var(--text-muted);font-size:.75rem;font-family:'JetBrains Mono',monospace}
.plan-badge{background:rgba(var(--ac-rgb),.1);border:1px solid rgba(var(--ac-rgb),.2);border-radius:6px;
            padding:.4rem .75rem;font-size:.8rem;color:var(--ac-200);margin-bottom:.75rem}
.summary-block{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.15);
               border-radius:8px;padding:.875rem;font-size:.875rem;color:#d1fae5;line-height:1.6}

/* ── CHAT ───────────────────────────────────────────── */
.chat-box{padding:.875rem;min-height:140px;max-height:250px;overflow-y:auto;
          display:flex;flex-direction:column;gap:.75rem}
.chat-msg{font-size:.85rem;line-height:1.5}
.chat-msg.user{color:var(--ac-200);text-align:right}
.chat-msg.assistant{color:var(--text)}
.chat-msg strong{color:var(--primary-light)}
.chat-input-row{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border)}
.chat-input{flex:1;background:rgba(2,6,23,.6);border:1px solid var(--border);border-radius:8px;
            padding:.55rem .875rem;color:var(--text);font-size:.875rem;outline:none;transition:.15s}
.chat-input:focus{border-color:var(--primary)}

/* ── RADIO / CHECKBOXES ─────────────────────────────── */
.radio-group{display:flex;flex-direction:column;gap:.5rem}
.radio-opt{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:8px;
           cursor:pointer;border:1px solid var(--border);transition:.15s}
.radio-opt:hover{border-color:rgba(var(--ac-rgb),.3);background:rgba(var(--ac-rgb),.04)}
.radio-opt input[type=radio]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin-top:.1rem}
.radio-opt strong{display:block;font-size:.875rem;color:var(--text)}
.radio-opt small{font-size:.75rem;color:var(--text-muted)}
.radio-box{display:none}
.node-picker{display:flex;flex-wrap:wrap;gap:.4rem}
.node-check{cursor:pointer}
.node-check input{display:none}
.node-chip{display:inline-block;padding:.3rem .65rem;border-radius:6px;font-size:.75rem;
           border:1px solid var(--border);color:var(--text-dim);transition:.15s;background:rgba(14,14,20,.7)}
.node-check input:checked + .node-chip{border-color:var(--primary);color:var(--ac-300);background:rgba(var(--ac-rgb),.1)}
.node-check input:disabled + .node-chip,.offline-chip{opacity:.4;cursor:not-allowed}
.node-scope-btns{display:flex;gap:.5rem;flex-wrap:wrap}

/* ── INFO BANNER ────────────────────────────────────── */
.info-banner{display:flex;align-items:flex-start;gap:.75rem;background:rgba(var(--ac-rgb),.08);
             border:1px solid rgba(var(--ac-rgb),.2);border-radius:8px;padding:.75rem;
             font-size:.85rem;color:var(--ac-200);margin-bottom:1rem}
.info-banner .material-icons-round{font-size:1.1rem;flex-shrink:0;margin-top:.1rem;color:var(--ac-300)}

/* ── PLAN GRID ──────────────────────────────────────── */
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.plan-item{background:rgba(2,6,23,.4);border-radius:8px;padding:.65rem .875rem;font-size:.85rem}
.plan-item.full{grid-column:1/-1}
.plan-item span{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;
               letter-spacing:.06em;margin-bottom:.25rem}
.plan-item strong,.plan-item em{color:var(--text)}

/* ── CHAIN ──────────────────────────────────────────── */
.chain-step{background:rgba(14,14,20,.7);border:1px solid var(--border);border-radius:10px;
            padding:.875rem;margin-bottom:.25rem;position:relative}
.step-num{font-size:.7rem;font-weight:700;color:var(--primary);text-transform:uppercase;
          letter-spacing:.1em;margin-bottom:.5rem}
.step-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.step-node{flex:1;background:rgba(2,6,23,.6);border:1px solid var(--border);border-radius:6px;
           padding:.45rem .6rem;color:var(--text);font-size:.8rem;outline:none}
.step-connector{text-align:center;color:var(--text-muted);padding:.2rem 0;font-size:.9rem}
.step-connector .material-icons-round{font-size:1rem;vertical-align:middle}
.chain-progress{padding:.875rem;border-bottom:1px solid var(--border)}
.chain-track-inner{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.track-step{display:flex;align-items:center;gap:.4rem;background:rgba(14,14,20,.7);
            border-radius:8px;padding:.4rem .6rem}
.track-dot{width:8px;height:8px;border-radius:50%}
.track-dot.online{background:#34d399;box-shadow:0 0 4px #34d399}
.track-dot.offline{background:#475569}
.track-dot.pending{background:#f59e0b;animation:pulse 1s infinite}
.track-dot.error{background:#f43f5e}
.track-info strong{font-size:.75rem;display:block;color:var(--text)}
.track-info small{font-size:.65rem;color:var(--text-muted)}
.track-arrow{color:var(--text-muted)}
.track-arrow .material-icons-round{font-size:.9rem;vertical-align:middle}

/* ── BROADCAST RESULTS ──────────────────────────────── */
.broadcast-results{padding:.75rem;max-height:550px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}
.bc-result-row{display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:.5rem;
               background:rgba(2,6,23,.5);border-radius:8px;padding:.65rem;font-size:.8rem}
.bc-result-row.error{border-left:2px solid var(--danger)}
.bc-node-name{color:var(--text);font-weight:600;white-space:nowrap}
.bc-result-pre{color:#64748b;font-family:'JetBrains Mono',monospace;font-size:.72rem;
               white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto;
               grid-column:1/-1;margin-top:.25rem}

/* ── HISTORY TABLE ──────────────────────────────────── */
.table-wrap{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;font-size:.85rem}
.data-table th{padding:.75rem 1rem;text-align:left;font-size:.7rem;font-weight:600;
               color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;
               border-bottom:1px solid var(--border)}
.data-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-dim)}
.history-row:hover td{background:rgba(var(--ac-rgb),.04);color:var(--text)}
.task-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.type-badge{font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase}
.type-badge.dispatch{background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}
.type-badge.broadcast{background:rgba(var(--ac2-rgb),.15);color:#a78bfa}
.type-badge.chain{background:rgba(16,185,129,.15);color:#34d399}

/* ── MODAL ──────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.8);display:none;z-index:1000;
              align-items:center;justify-content:center;backdrop-filter:blur(8px)}
.modal-overlay.open{display:flex;animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-overlay-dummy{display:flex;
               align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}
.modal-box{background:var(--card);border:1px solid var(--border);border-radius:16px;
           width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}
.modal-header{display:flex;align-items:center;gap:.6rem;padding:1rem;border-bottom:1px solid var(--border);
              font-weight:600;flex-shrink:0}
.modal-header .material-icons-round{color:var(--primary)}
.modal-body{overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;font-size:.875rem}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.detail-item{background:rgba(2,6,23,.5);border-radius:8px;padding:.65rem .875rem}
.detail-item span{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.3rem}
.detail-section{background:rgba(2,6,23,.4);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}
.detail-section strong{font-size:.8rem;color:var(--text-dim)}
.detail-section pre{white-space:pre-wrap;font-size:.75rem;color:#64748b;max-height:200px;overflow-y:auto}

/* ── SPINNER ─────────────────────────────────────────── */
.spinner{width:16px;height:16px;border:2px solid rgba(var(--ac-rgb),.3);border-top-color:var(--primary);
         border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── BADGE COLORS (extended) ──────────────────────── */
.nav-badge.purple{background:rgba(var(--ac2-rgb),.2);color:#a78bfa;border-color:rgba(var(--ac2-rgb),.3)}
.nav-badge.orange{background:rgba(249,115,22,.2);color:#fb923c;border-color:rgba(249,115,22,.3)}
.nav-badge.gold{background:rgba(251,191,36,.2);color:#fbbf24;border-color:rgba(251,191,36,.3)}

/* ── SCENARIO LIBRARY ─────────────────────────────── */
.sc-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}
.sc-title{font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:.25rem}
.sc-subtitle{font-size:.85rem;color:var(--text-dim)}
.sc-stats{display:flex;gap:1rem;flex-shrink:0}
.sc-stat{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:10px;
         padding:.5rem .9rem}
.sc-stat strong{display:block;font-size:1.4rem;font-weight:800;color:var(--primary)}
.sc-stat span{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}

.sc-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.sc-filter-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .9rem;
               background:var(--card);border:1px solid var(--border);border-radius:20px;
               color:var(--text-dim);font-size:.82rem;font-weight:500;cursor:pointer;transition:.15s}
.sc-filter-btn:hover,.sc-filter-btn.active{background:rgba(var(--ac-rgb),.15);border-color:var(--primary);color:var(--primary)}
.sc-filter-btn .material-icons-round{font-size:1rem}
.sc-filter-count{background:rgba(255,255,255,0.05);border-radius:10px;padding:0 .4rem;font-size:.7rem}

.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}
.sc-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.1rem;
         display:flex;flex-direction:column;gap:.65rem;transition:.2s;position:relative;overflow:hidden}
.sc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:.2s}
.sc-card:hover{border-color:rgba(var(--ac-rgb),.3);box-shadow:var(--glow)}
.sc-card:hover::before{opacity:1}
.sc-card[data-cat="developer"]::before{background:var(--primary)}
.sc-card[data-cat="operations"]::before{background:var(--secondary)}
.sc-card[data-cat="research"]::before{background:var(--accent)}
.sc-card[data-cat="compare"]::before{background:var(--warning)}
.sc-card[data-cat="website"]::before{background:#2dd4bf}
.sc-card[data-cat="ai"]::before{background:#f472b6}

.sc-card-top{display:flex;align-items:center;justify-content:space-between}
.sc-icon-wrap{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sc-icon-wrap.developer{background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}
.sc-icon-wrap.operations{background:rgba(16,185,129,.15);color:#34d399}
.sc-icon-wrap.research{background:rgba(var(--ac2-rgb),.15);color:#a78bfa}
.sc-icon-wrap.compare{background:rgba(245,158,11,.15);color:#fbbf24}
.sc-icon-wrap.website{background:rgba(20,184,166,.15);color:#2dd4bf}
.sc-icon-wrap.ai{background:rgba(236,72,153,.15);color:#f472b6}
.sc-icon-wrap .material-icons-round{font-size:1.2rem}
.sc-card-meta{display:flex;gap:.4rem;align-items:center}

.sc-cat-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
              padding:.15rem .4rem;border-radius:4px}
.sc-cat-badge.developer{background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}
.sc-cat-badge.operations{background:rgba(16,185,129,.15);color:#34d399}
.sc-cat-badge.research{background:rgba(var(--ac2-rgb),.15);color:#a78bfa}
.sc-cat-badge.compare{background:rgba(245,158,11,.15);color:#fbbf24}
.sc-cat-badge.website{background:rgba(20,184,166,.15);color:#2dd4bf}
.sc-cat-badge.ai{background:rgba(236,72,153,.15);color:#f472b6}

.sc-type-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;
               padding:.15rem .4rem;border-radius:4px;background:rgba(255,255,255,0.05);color:var(--text-muted)}
.sc-type-badge.chain{background:rgba(16,185,129,.1);color:#34d399}
.sc-type-badge.compare{background:rgba(245,158,11,.1);color:#fbbf24}
.sc-type-badge.broadcast{background:rgba(var(--ac2-rgb),.1);color:#a78bfa}

.sc-name{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.3}
.sc-desc{font-size:.8rem;color:var(--text-dim);line-height:1.5;flex:1}
.sc-task-preview{font-size:.72rem;font-family:'JetBrains Mono',monospace;color:var(--text-muted);
                 background:rgba(2,6,23,.5);border-radius:6px;padding:.5rem .65rem;
                 line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-card-footer{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:.25rem}
.sc-steps-badge{font-size:.7rem;color:var(--text-muted);background:rgba(16,185,129,.1);
                color:#34d399;padding:.15rem .5rem;border-radius:10px;margin-right:auto}
.sc-launch{margin-left:auto}

.sc-step-preview{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;
                 background:rgba(2,6,23,.4);border-radius:6px;margin:.25rem 0;font-size:.78rem}
.sc-step-num{background:rgba(var(--ac-rgb),.2);color:var(--ac-300);font-weight:700;font-size:.7rem;
             padding:.1rem .35rem;border-radius:4px;flex-shrink:0;font-family:mono}

/* ── NODE PICKER (compare) ────────────────────────── */
.node-picker{display:flex;flex-wrap:wrap;gap:.35rem;padding:.25rem 0}
.node-check{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;
            background:rgba(8,8,12,.8);border:1px solid var(--border);border-radius:20px;
            cursor:pointer;transition:.15s;user-select:none;font-size:.72rem}
.node-check:hover{border-color:rgba(var(--ac-rgb),.4);background:rgba(var(--ac-rgb),.06)}
.node-check input[type=checkbox]{display:none}
.node-check-dot{width:6px;height:6px;border-radius:50%;background:#1f1f2e;
                flex-shrink:0;transition:.15s}
.node-check-name{color:var(--text-muted);font-family:'JetBrains Mono',monospace;
                 transition:.15s}
.node-check:has(input:checked){background:rgba(var(--ac-rgb),.15);border-color:var(--primary)}
.node-check:has(input:checked) .node-check-dot{background:var(--ac-300)}
.node-check:has(input:checked) .node-check-name{color:var(--ac-200)}
.node-check[data-status="online"] .node-check-dot{background:#34d399}

/* ── TYPE BADGE AFFINITY ──────────────────────────── */
.type-badge.affinity,.type-badge.compare{background:rgba(245,158,11,.15);color:#fbbf24}

/* ── COMPARE MODE ─────────────────────────────────── */
.compare-meta{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;
              background:rgba(2,6,23,.4);border-bottom:1px solid var(--border);
              font-size:.8rem;color:var(--text-muted)}
.compare-verdict{padding:1rem;border-bottom:1px solid var(--border)}
.compare-verdict-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;
                        color:var(--primary-light);margin-bottom:.75rem}
.compare-verdict-header .material-icons-round{font-size:1.1rem}
.compare-verdict-body{font-size:.83rem;line-height:1.7;color:var(--text-dim)}
.compare-nodes-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;
                      font-size:.82rem;color:var(--text-muted);border-bottom:1px solid var(--border)}
.compare-node-card{border-bottom:1px solid var(--border-light)}
.compare-node-card.error{opacity:.6}
.compare-node-header{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.83rem}
.compare-node-body{padding:0 1rem .75rem}

/* ── MARKDOWN RENDER ─────────────────────────────── */
.md-render h2,.md-render h3,.md-render h4{color:var(--text);margin:.75rem 0 .35rem;font-weight:700}
.md-render h2{font-size:.95rem}.md-render h3{font-size:.88rem}.md-render h4{font-size:.83rem}
.md-render strong{color:var(--text);font-weight:600}
.md-render code{background:rgba(var(--ac-rgb),.12);color:var(--ac-200);padding:.1em .3em;border-radius:3px;font-size:.85em;font-family:'JetBrains Mono',monospace}
.md-render .md-li{padding:.15rem 0;font-size:.82rem}
.md-render .md-li.num{padding-left:.5rem}
.md-render .md-li span{color:var(--primary-light);font-weight:600;margin-right:.4rem}

/* ── OPS FEED ──────────────────────────────────────── */
.ops-feed{display:flex;flex-direction:column}
.ops-feed-row{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;
              gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--border-light);
              cursor:pointer;transition:.15s;font-size:.82rem}
.ops-feed-row:hover{background:rgba(var(--ac-rgb),.04)}
.ops-feed-row:last-child{border-bottom:none}
.ops-task{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops-mode{font-size:.75rem;min-width:50px}
.ops-time{font-size:.75rem;text-align:right;min-width:55px}

/* ── AGENT STEPS ─────────────────────────────────────── */
.steps-accordion{margin-top:.5rem}
.step-item{background:rgba(2,6,23,.5);border-radius:6px;margin:.25rem 0;overflow:hidden}
.step-item-header{display:flex;align-items:center;gap:.5rem;padding:.4rem .65rem;
                  cursor:pointer;font-size:.78rem;color:var(--text-dim);transition:.15s}
.step-item-header:hover{background:rgba(var(--ac-rgb),.08)}
.step-item-header .material-icons-round{font-size:.9rem}
.step-tool{font-weight:600;color:var(--ac-300);font-family:'JetBrains Mono',monospace;font-size:.75rem}
.step-body{padding:.4rem .65rem .65rem;font-size:.75rem;font-family:'JetBrains Mono',monospace;
           color:#64748b;white-space:pre-wrap;word-break:break-word;max-height:150px;overflow-y:auto}

/* ── MISSION CONTROL / LIVE ──────────────────────── */
.mc-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.mc-node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.4rem;
              padding:.75rem;background:rgba(2,6,23,.6);border-radius:10px}
.mc-node{display:flex;flex-direction:column;align-items:center;gap:.25rem;
         padding:.4rem .25rem;border-radius:8px;cursor:default;
         border:1px solid transparent;transition:.3s;position:relative}
.mc-node.online{border-color:rgba(16,185,129,.15)}
.mc-node.active{border-color:rgba(var(--ac-rgb),.5);background:rgba(var(--ac-rgb),.08);
                box-shadow:0 0 12px rgba(var(--ac-rgb),.3)}
.mc-node.active .mc-node-dot{animation:pulse-blue 1s ease-in-out infinite}
.mc-node.offline{opacity:.3}
.mc-node-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}
.mc-node.online .mc-node-dot{background:#34d399}
.mc-node.active .mc-node-dot{background:var(--ac-300)}
.mc-node.offline .mc-node-dot{background:#475569}
.mc-node-name{font-size:.62rem;color:var(--text-muted);text-align:center;font-family:'JetBrains Mono',monospace}
.mc-node.active .mc-node-name{color:var(--ac-200)}
@keyframes pulse-blue{0%,100%{box-shadow:0 0 0 0 rgba(var(--ac-rgb),.6)}50%{box-shadow:0 0 0 5px rgba(var(--ac-rgb),0)}}

.mc-bottom{display:grid;grid-template-columns:1fr 340px;gap:1rem;margin-top:1rem}
@media(max-width:1024px){.mc-bottom{grid-template-columns:1fr}}

.mc-stream{background:rgba(2,6,23,.8);border:1px solid var(--border);border-radius:10px;
           height:380px;overflow-y:auto;padding:.5rem;scroll-behavior:smooth;
           font-family:'JetBrains Mono',monospace;font-size:.75rem}
.mc-event{display:flex;gap:.6rem;align-items:flex-start;padding:.25rem .35rem;
          border-radius:4px;line-height:1.4;transition:.2s}
.mc-event:hover{background:rgba(255,255,255,.03)}
.mc-event-time{color:#4a4a5e;flex-shrink:0;font-size:.68rem;margin-top:.1rem}
.mc-event-icon{flex-shrink:0;width:14px;text-align:center}
.mc-event-body{flex:1;word-break:break-word}
.mc-event.ev-start .mc-event-body{color:var(--ac-300)}
.mc-event.ev-start .mc-event-icon{color:var(--ac)}
.mc-event.ev-node-start .mc-event-body{color:#c7d2fe}
.mc-event.ev-node-start .mc-event-icon{color:var(--ac-300)}
.mc-event.ev-ok .mc-event-body{color:#34d399}
.mc-event.ev-ok .mc-event-icon{color:#10b981}
.mc-event.ev-err .mc-event-body{color:#fb7185}
.mc-event.ev-err .mc-event-icon{color:#f43f5e}
.mc-event.ev-done .mc-event-body{color:#e2e8f0;font-weight:600}
.mc-event.ev-done .mc-event-icon{color:#a78bfa}
.mc-event.ev-hb{display:none}
.mc-event.ev-ai .mc-event-body{color:#fbbf24;font-style:italic}

.mc-ops{display:flex;flex-direction:column;gap:.6rem}
.mc-op-card{background:var(--card);border:1px solid var(--border);border-radius:10px;
            padding:.75rem;position:relative;overflow:hidden}
.mc-op-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
                    background:linear-gradient(90deg,var(--primary),var(--accent));
                    animation:op-scan 2s linear infinite}
@keyframes op-scan{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.mc-op-id{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--text-muted);margin-bottom:.35rem}
.mc-op-task{font-size:.8rem;color:var(--text);font-weight:500;margin-bottom:.5rem;
            overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-op-meta{display:flex;align-items:center;gap:.6rem;font-size:.73rem;margin-bottom:.5rem}
.mc-op-progress{height:4px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden;margin-bottom:.35rem}
.mc-op-progress-bar{height:100%;background:linear-gradient(90deg,var(--ac),var(--ac2));border-radius:2px;transition:.3s}
.mc-op-eta{font-size:.72rem;color:var(--text-muted)}
.mc-op-eta strong{color:#fbbf24}

.mc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
          height:200px;color:var(--text-muted);font-size:.82rem;gap:.5rem}
.mc-empty .material-icons-round{font-size:2.5rem;opacity:.2}

.mc-queue-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.mc-queue-header{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;
                 border-bottom:1px solid var(--border);font-size:.82rem}
.mc-queue-stat{display:flex;gap:1.5rem;padding:.6rem 1rem;background:rgba(2,6,23,.4);
               border-bottom:1px solid var(--border);font-size:.78rem}
.mc-queue-stat-item{display:flex;flex-direction:column}
.mc-queue-stat-item strong{font-size:1.1rem;font-weight:800;color:var(--primary)}
.mc-queue-stat-item span{font-size:.68rem;color:var(--text-muted);text-transform:uppercase}
.mc-queue-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.8rem}

/* ── AGENT PAGE ──────────────────────────────────────── */
.agent-layout{display:grid;grid-template-columns:260px 1fr;height:calc(100vh - var(--topbar-h));overflow:hidden}
.agent-rail{background:var(--surface);border-right:1px solid var(--border);display:flex;
            flex-direction:column;gap:0;overflow-y:auto;padding:.75rem}
.rail-section{margin-bottom:1rem}
.rail-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;
            letter-spacing:.1em;margin-bottom:.4rem;display:flex;align-items:center;gap:.4rem}
.rail-label-badge{background:rgba(var(--ac-rgb),.2);color:var(--ac-200);border-radius:4px;
                  font-size:.6rem;padding:.1rem .35rem;font-weight:700;text-transform:uppercase}
.agent-mode-btns{display:flex;flex-direction:column;gap:.3rem}
.agent-mode-btn{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;border-radius:8px;
               background:var(--surface-2);border:1px solid var(--border);cursor:pointer;
               font-size:.8rem;color:var(--text-muted);transition:.15s;width:100%}
.agent-mode-btn:hover{border-color:var(--border-hover);color:var(--text)}
.agent-mode-btn.active{background:rgba(var(--ac-rgb),.12);border-color:rgba(var(--ac-rgb),.3);color:var(--ac-200)}
.agent-mode-btn .material-icons-round{font-size:.9rem}
.quick-actions{display:flex;flex-direction:column;gap:.3rem}
.qa-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:7px;
        background:var(--surface-2);border:1px solid var(--border);cursor:pointer;
        font-size:.75rem;color:var(--text-muted);transition:.15s;text-align:left}
.qa-btn:hover{border-color:var(--border-hover);color:var(--text);background:var(--surface-3)}
.qa-btn .material-icons-round{font-size:.85rem;flex-shrink:0;color:var(--primary-light)}

.agent-main{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}
.agent-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;
              border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.agent-caps{display:flex;gap:.3rem;flex-wrap:wrap}
.cap-pill{background:rgba(var(--ac-rgb),.1);border:1px solid rgba(var(--ac-rgb),.2);color:var(--ac-200);
          border-radius:100px;padding:.15rem .5rem;font-size:.65rem;font-weight:600;letter-spacing:.03em}

.agent-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}
.agent-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;
               padding:2.5rem 1rem;text-align:center;max-width:560px;margin:0 auto}
.welcome-icon{width:56px;height:56px;border-radius:16px;background:rgba(var(--ac-rgb),.15);
              border:1px solid rgba(var(--ac-rgb),.3);display:flex;align-items:center;justify-content:center;
              margin-bottom:1rem}
.welcome-icon .material-icons-round{color:var(--ac-300);font-size:1.6rem}
.welcome-title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}
.welcome-sub{font-size:.85rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.5rem}
.welcome-examples{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.ex-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;
         padding:.5rem .75rem;font-size:.78rem;cursor:pointer;transition:.15s;text-align:left;
         max-width:260px;color:var(--text-dim)}
.ex-chip:hover{border-color:rgba(var(--ac-rgb),.4);color:var(--text);background:rgba(var(--ac-rgb),.06)}

.msg-bubble{display:flex;flex-direction:column;max-width:100%}
.msg-user .msg-content{background:rgba(var(--ac-rgb),.12);border:1px solid rgba(var(--ac-rgb),.2);
                       border-radius:12px 12px 4px 12px;padding:.75rem 1rem;font-size:.875rem;
                       color:var(--text);align-self:flex-end;max-width:75%;margin-left:auto;
                       white-space:pre-wrap;word-break:break-word}
.msg-assistant{display:flex;flex-direction:column;gap:.4rem}
.agent-msg-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem}
.agent-steps-badge{background:rgba(var(--ac-rgb),.15);color:var(--ac-200);border-radius:4px;
                   padding:.1rem .4rem;font-size:.65rem;font-weight:700;margin-left:.5rem}
.agent-steps{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.25rem}
.agent-think{display:flex;align-items:flex-start;gap:.4rem;font-size:.78rem;color:var(--text-muted);
             padding:.35rem .5rem;border-radius:6px;background:rgba(255,255,255,.02);
             border-left:2px solid rgba(var(--ac-rgb),.2)}
.agent-think .material-icons-round{font-size:.85rem;flex-shrink:0;margin-top:.05rem;color:var(--ac)}

.agent-tool-call{border:1px solid var(--border);border-radius:8px;overflow:hidden;
                 background:var(--surface);font-size:.78rem}
.tool-call-header{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;
                  cursor:pointer;transition:.1s}
.tool-call-header:hover{background:rgba(255,255,255,.03)}
.tool-call-icon .material-icons-round{font-size:.85rem;color:var(--primary-light)}
.tool-call-name{font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--ac-300);min-width:90px}
.tool-call-args{color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tool-call-spinner{margin-left:auto;flex-shrink:0}
.tool-call-spinner .material-icons-round{font-size:.85rem;color:var(--text-muted)}
.tool-call-body{display:none;border-top:1px solid var(--border);background:rgba(2,6,23,.4)}
.agent-tool-call.expanded .tool-call-body{display:block}
.tool-result-pre{margin:0;padding:.5rem .65rem;font-size:.7rem;font-family:'JetBrains Mono',monospace;
                 white-space:pre-wrap;word-break:break-word;color:#8b8b9e;max-height:200px;overflow-y:auto}

.agent-answer{padding:.5rem 0;font-size:.875rem;line-height:1.7;color:var(--text)}
.code-block{background:rgba(2,6,23,.7);border:1px solid var(--border);border-radius:8px;
            padding:.75rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;
            white-space:pre-wrap;overflow-x:auto;margin:.5rem 0;color:#d4d4d8}
.inline-code{background:rgba(var(--ac-rgb),.12);color:var(--ac-200);padding:.1em .35em;border-radius:4px;
             font-family:'JetBrains Mono',monospace;font-size:.85em}
.md-h1{font-size:1.05rem;font-weight:700;margin:.75rem 0 .35rem;color:var(--text)}
.md-h2{font-size:.95rem;font-weight:700;margin:.65rem 0 .3rem;color:var(--text)}
.md-h3{font-size:.88rem;font-weight:600;margin:.5rem 0 .25rem;color:var(--text)}
.md-li{padding:.1rem 0}

.agent-input-wrap{border-top:1px solid var(--border);padding:.75rem 1.25rem;
                  background:var(--surface);flex-shrink:0}
.agent-input-row{display:flex;gap:.6rem;align-items:flex-end}
.agent-input-box{flex:1;background:rgba(8,8,12,.9);border:1px solid var(--border);border-radius:12px;
                 padding:.65rem .875rem .4rem;transition:.15s;display:flex;flex-direction:column;gap:.3rem}
.agent-input-box:focus-within{border-color:rgba(var(--ac-rgb),.5);box-shadow:0 0 0 2px rgba(var(--ac-rgb),.1)}
.agent-textarea{background:none;border:none;outline:none;resize:none;color:var(--text);
                font-size:.875rem;font-family:'Inter',sans-serif;line-height:1.5;
                min-height:24px;max-height:200px;width:100%}
.agent-input-meta{display:flex;align-items:center;gap:.75rem}
.mode-indicator{font-size:.72rem;font-weight:600;color:var(--primary-light)}
.agent-send-btn{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--ac),var(--ac2));
               border:none;color:#fff;display:flex;align-items:center;justify-content:center;
               cursor:pointer;flex-shrink:0;transition:.2s}
.agent-send-btn:hover{opacity:.9;transform:translateY(-1px)}
.agent-send-btn:disabled{opacity:.4;transform:none;cursor:not-allowed}
.agent-send-btn .material-icons-round{font-size:1.1rem}
.agent-footer-note{font-size:.7rem;color:var(--text-muted);margin-top:.4rem}

/* File Browser in modal */
.fb-entry{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:6px;
          cursor:pointer;font-size:.8rem;transition:.12s;color:var(--text-dim)}
.fb-entry:hover{background:rgba(var(--ac-rgb),.08);color:var(--text)}
.fb-entry .material-icons-round{font-size:.9rem;flex-shrink:0}
.fb-dir{color:var(--text-muted)}
.fb-dir .material-icons-round{color:#fbbf24}
.fb-file .material-icons-round{color:var(--ac-300)}

/* ── WORKSPACE PAGE ───────────────────────────────────── */
.workspace-layout{display:grid;grid-template-columns:240px 1fr 200px;
                  position:fixed;top:0;left:0;right:0;bottom:0;
                  width:100vw;height:100vh;overflow:hidden;z-index:9999}
.ws-tree-panel,.ws-actions-panel{background:var(--surface);border-right:1px solid var(--border);
                                  display:flex;flex-direction:column;overflow:hidden}
.ws-actions-panel{border-right:none;border-left:1px solid var(--border)}
.ws-panel-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .875rem;
                 border-bottom:1px solid var(--border);font-size:.8rem;font-weight:600;
                 flex-shrink:0;background:var(--surface-2)}
.ws-panel-header .material-icons-round{font-size:.95rem;color:var(--primary-light)}
.ws-path-bar{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--text-muted);
             white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-tree{flex:1;overflow-y:auto;padding:.25rem}

.tree-entry{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;border-radius:6px;
            cursor:pointer;font-size:.78rem;color:var(--text-dim);transition:.1s}
.tree-entry:hover{background:rgba(var(--ac-rgb),.06);color:var(--text)}
.tree-entry.active{background:rgba(var(--ac-rgb),.12);color:var(--ac-200)}
.tree-entry .material-icons-round{font-size:.85rem;flex-shrink:0}
.tree-dir .material-icons-round{color:#fbbf24}
.tree-size{margin-left:auto;font-size:.65rem;color:var(--text-muted);font-family:'JetBrains Mono',monospace}

.ws-editor-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
.ws-editor-header{display:flex;align-items:center;border-bottom:1px solid var(--border);
                  background:var(--surface-2);flex-shrink:0;min-height:38px;overflow-x:auto}
.ws-tabs{display:flex;flex:1;overflow-x:auto}
.ws-tab{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-right:1px solid var(--border);
        cursor:pointer;font-size:.78rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0;transition:.1s}
.ws-tab:hover{background:rgba(255,255,255,.03);color:var(--text)}
.ws-tab.active{background:var(--bg);color:var(--text);border-bottom:2px solid var(--primary)}
.ws-tab-empty{padding:.4rem .875rem;font-size:.78rem;color:var(--text-muted);align-self:center}
.tab-close{margin-left:.25rem;color:var(--text-muted);cursor:pointer;border-radius:3px;
           padding:0 .1rem;transition:.1s}
.tab-close:hover{color:var(--text);background:rgba(255,255,255,.1)}

.ws-editor-body{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column}
.ws-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;
                height:100%;color:var(--text-muted);font-size:.85rem;gap:.5rem}
.ws-empty-state .material-icons-round{font-size:2.5rem;opacity:.2}
.ws-editor{flex:1;width:100%;border:none;outline:none;resize:none;background:var(--bg);
           color:var(--text);font-family:'JetBrains Mono',monospace;font-size:.82rem;
           line-height:1.6;padding:1rem 1.25rem;tab-size:4}

.ws-terminal-panel{display:none;flex-direction:column;height:220px;border-top:1px solid var(--border);
                   background:rgba(2,6,23,.95);flex-shrink:0}
.ws-terminal-header{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;
                    border-bottom:1px solid var(--border);font-size:.78rem;flex-shrink:0}
.ws-terminal-header .material-icons-round{font-size:.9rem;color:var(--primary-light)}
.ws-terminal-output{flex:1;overflow-y:auto;padding:.5rem .75rem;
                    font-family:'JetBrains Mono',monospace;font-size:.75rem;line-height:1.5}
.ws-terminal-input-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;
                        border-top:1px solid var(--border);flex-shrink:0}
.ws-prompt{color:#34d399;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.8rem}
.ws-cmd-input{flex:1;background:none;border:none;outline:none;color:var(--text);
              font-family:'JetBrains Mono',monospace;font-size:.8rem}

.ws-terminal-toggle{position:fixed;bottom:1rem;right:1rem;width:40px;height:40px;
                    border-radius:10px;background:var(--surface-2);border:1px solid var(--border);
                    display:flex;align-items:center;justify-content:center;cursor:pointer;
                    z-index:10;transition:.15s}
.ws-terminal-toggle:hover{border-color:rgba(var(--ac-rgb),.4);background:rgba(var(--ac-rgb),.1)}
.ws-terminal-toggle .material-icons-round{font-size:1rem;color:var(--text-muted)}

.ws-action-section{padding:.65rem .75rem;border-bottom:1px solid var(--border)}
.ws-action-title{display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;
                  color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}
.ws-action-title .material-icons-round{font-size:.8rem}
.ws-action-btn{width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--border);
               border-radius:6px;padding:.3rem .5rem;font-size:.73rem;color:var(--text-muted);
               cursor:pointer;transition:.1s;font-family:'JetBrains Mono',monospace}
.ws-action-btn:hover{border-color:rgba(var(--ac-rgb),.3);color:var(--text);background:rgba(var(--ac-rgb),.06)}

/* ── SETTINGS PAGE ───────────────────────────────────── */
.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;max-width:1100px}
.settings-nav{display:flex;flex-direction:column;gap:.25rem;padding-top:.25rem}
.settings-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;
              background:none;border:none;cursor:pointer;font-size:.82rem;color:var(--text-muted);
              transition:.1s;text-align:left;width:100%}
.settings-tab:hover{background:var(--surface-2);color:var(--text)}
.settings-tab.active{background:rgba(var(--ac-rgb),.1);color:var(--ac-200);font-weight:600}
.settings-tab .material-icons-round{font-size:.9rem;flex-shrink:0}
.settings-panel{display:none}
.settings-panel.active{display:block}
.settings-content{min-width:0}
.settings-section-title{font-size:.92rem;font-weight:700;margin-bottom:.4rem;color:var(--text)}
.settings-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.7}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem}
.settings-field{display:flex;flex-direction:column;gap:.35rem}
.field-label{font-size:.75rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}
.field-hint{font-size:.72rem;color:var(--text-muted);line-height:1.5}

.license-card{background:linear-gradient(135deg,rgba(var(--ac-rgb),.12),rgba(var(--ac2-rgb),.08));
              border:1px solid rgba(var(--ac-rgb),.25);border-radius:14px;padding:1.25rem 1.5rem;
              margin-bottom:1.5rem;max-width:480px}
.license-tier{font-size:.65rem;font-weight:800;letter-spacing:.12em;color:var(--ac-200);
              text-transform:uppercase;margin-bottom:.3rem}
.license-company{font-size:1.1rem;font-weight:700;margin-bottom:.75rem}
.license-meta{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:var(--text-muted)}
.license-meta div{display:flex;align-items:center;gap:.4rem}

.int-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;
          background:var(--surface-2);border:1px solid var(--border);border-radius:10px}
.int-icon{width:36px;height:36px;border-radius:8px;background:rgba(var(--ac-rgb),.1);
          display:flex;align-items:center;justify-content:center;flex-shrink:0}
.int-icon .material-icons-round{font-size:1rem;color:var(--ac-300)}
.int-body{flex:1;min-width:0}
.int-name{font-size:.82rem;font-weight:600}
.int-sub{font-size:.72rem;color:var(--text-muted)}

.install-info code{background:rgba(var(--ac-rgb),.1);color:var(--ac-200);padding:.1em .35em;
                   border-radius:4px;font-size:.85em}

@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.spin{animation:spin .8s linear infinite;display:inline-block}

/* ── RESPONSIVE ─────────────────────────────────────── */
@media(max-width:1024px){
    .two-col{grid-template-columns:1fr}
    .stats-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .sidebar{transform:translateX(-100%)}
    .sidebar.open{transform:translateX(0)}
    .sidebar-toggle{display:block}
    .main-wrap{margin-left:0}
    .stats-row{grid-template-columns:1fr 1fr}
}

/* ═══════════════════════════════════════════════════════════
   CCD v2 OVERVIEW DASHBOARD
   ═══════════════════════════════════════════════════════════ */

/* ── Color tokens (amber) ──────────────────────────────── */
:root{--amber:#f59e0b;--amber-dim:rgba(245,158,11,.15);--amber-mid:rgba(245,158,11,.25);}

/* ── SYSTEM STATUS BANNER ──────────────────────────────── */
.sys-status-banner{
    display:flex;align-items:center;gap:1.5rem;
    padding:.55rem 1.1rem;margin-bottom:1rem;
    border-radius:8px;border:1px solid var(--border);
    background:rgba(8,8,14,.9);
    font-family:'JetBrains Mono',monospace;font-size:.72rem;
    letter-spacing:.04em;position:relative;overflow:hidden;
    transition:.4s;
}
.sys-status-banner::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,transparent 60%,rgba(var(--ac-rgb),.03) 100%);
    pointer-events:none;
}
.sys-status-banner.nominal{border-color:rgba(16,185,129,.2);background:rgba(3,8,10,.95)}
.sys-status-banner.degraded{border-color:rgba(245,158,11,.3);background:rgba(10,7,2,.95)}
.sys-status-banner.critical{border-color:rgba(244,63,94,.35);background:rgba(10,2,3,.95);
    animation:banner-pulse-red 2s ease-in-out infinite}
@keyframes banner-pulse-red{0%,100%{border-color:rgba(244,63,94,.35)}50%{border-color:rgba(244,63,94,.6)}}

.ssb-left{display:flex;align-items:center;gap:.65rem;flex-shrink:0;min-width:240px}
.ssb-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.ssb-dot.green{background:#34d399;box-shadow:0 0 8px #34d399;animation:pulse-glow-green 2s infinite}
.ssb-dot.amber{background:#f59e0b;box-shadow:0 0 8px #f59e0b;animation:pulse-glow-amber 2s infinite}
.ssb-dot.red  {background:#f43f5e;box-shadow:0 0 8px #f43f5e;animation:pulse-glow-red 1s infinite}
@keyframes pulse-glow-green{0%,100%{opacity:1;box-shadow:0 0 6px #34d399}50%{opacity:.7;box-shadow:0 0 14px #34d399}}
@keyframes pulse-glow-amber{0%,100%{opacity:1;box-shadow:0 0 6px #f59e0b}50%{opacity:.7;box-shadow:0 0 14px #f59e0b}}
@keyframes pulse-glow-red  {0%,100%{opacity:1;box-shadow:0 0 6px #f43f5e}50%{opacity:.7;box-shadow:0 0 16px #f43f5e}}

.ssb-label{font-weight:700;color:var(--text);font-size:.73rem;letter-spacing:.06em;text-transform:uppercase}
.sys-status-banner.nominal  .ssb-label{color:#34d399}
.sys-status-banner.degraded .ssb-label{color:#f59e0b}
.sys-status-banner.critical .ssb-label{color:#fb7185}

.ssb-mid{display:flex;align-items:center;gap:.75rem;flex:1}
.ssb-sep{color:rgba(255,255,255,.12);font-size:.9rem}
.ssb-item{display:flex;align-items:center;gap:.45rem}
.ssb-item-label{color:var(--text-muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.ssb-item-val{color:var(--text);font-weight:600;font-size:.72rem}
.ssb-item-val.ai-engine-val{color:#34d399}
.ssb-right{margin-left:auto;flex-shrink:0}
.ssb-clock{color:var(--text-dim);font-size:.72rem;letter-spacing:.08em;font-weight:500}

/* ── OPERATIONAL READINESS CARDS ───────────────────────── */
.ops-readiness-row{
    display:grid;grid-template-columns:repeat(5,1fr);gap:.875rem;margin-bottom:1.1rem;
}
.orc-card{
    background:rgba(8,8,14,.92);border:1px solid var(--border);border-radius:12px;
    padding:1rem 1.1rem .875rem;display:flex;flex-direction:column;gap:.5rem;
    position:relative;overflow:hidden;transition:.2s;
}
.orc-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    border-radius:2px 2px 0 0;
}
.orc-card.green::before{background:linear-gradient(90deg,#10b981,#34d399)}
.orc-card.red::before  {background:linear-gradient(90deg,#f43f5e,#fb7185)}
.orc-card.blue::before {background:linear-gradient(90deg,var(--ac),var(--ac-300))}
.orc-card.purple::before{background:linear-gradient(90deg,var(--ac2),#a78bfa)}
.orc-card.amber::before{background:linear-gradient(90deg,#d97706,#f59e0b)}
.orc-card:hover{border-color:rgba(255,255,255,.1);transform:translateY(-1px)}
.orc-card.green:hover{border-color:rgba(16,185,129,.25);box-shadow:0 4px 20px rgba(16,185,129,.08)}
.orc-card.red:hover  {border-color:rgba(244,63,94,.25) ;box-shadow:0 4px 20px rgba(244,63,94,.08)}
.orc-card.blue:hover {border-color:rgba(var(--ac-rgb),.25);box-shadow:0 4px 20px rgba(var(--ac-rgb),.08)}
.orc-card.purple:hover{border-color:rgba(var(--ac2-rgb),.25);box-shadow:0 4px 20px rgba(var(--ac2-rgb),.08)}
.orc-card.amber:hover{border-color:rgba(245,158,11,.25);box-shadow:0 4px 20px rgba(245,158,11,.08)}

.orc-head{display:flex;align-items:center;gap:.6rem}
.orc-icon-wrap{
    width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.orc-icon-wrap .material-icons-round{font-size:1rem}
.orc-icon-wrap.green {background:rgba(16,185,129,.12); color:#34d399}
.orc-icon-wrap.red   {background:rgba(244,63,94,.12);  color:#fb7185}
.orc-icon-wrap.blue  {background:rgba(var(--ac-rgb),.12); color:var(--ac-300)}
.orc-icon-wrap.purple{background:rgba(var(--ac2-rgb),.12); color:#a78bfa}
.orc-icon-wrap.amber {background:rgba(245,158,11,.12); color:#fbbf24}
.orc-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.orc-tag{font-size:.6rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;
         letter-spacing:.1em;font-family:'JetBrains Mono',monospace}
.orc-status-tag{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
                border-radius:3px;padding:.1rem .3rem;display:inline-block;
                font-family:'JetBrains Mono',monospace}
.orc-status-tag.green {background:rgba(16,185,129,.15);color:#34d399}
.orc-status-tag.red   {background:rgba(244,63,94,.15); color:#fb7185}
.orc-status-tag.blue  {background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}
.orc-status-tag.purple{background:rgba(var(--ac2-rgb),.15);color:#a78bfa}
.orc-status-tag.amber {background:rgba(245,158,11,.15);color:#fbbf24}
.orc-val{
    font-size:2rem;font-weight:800;color:var(--text);line-height:1;
    font-family:'JetBrains Mono',monospace;letter-spacing:-.02em;
}
.orc-val.red{color:#fb7185}
.orc-bar-track{height:3px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden}
.orc-bar-fill{height:100%;border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.orc-bar-fill.green {background:linear-gradient(90deg,#10b981,#34d399)}
.orc-bar-fill.red   {background:linear-gradient(90deg,#f43f5e,#fb7185)}
.orc-bar-fill.blue  {background:linear-gradient(90deg,var(--ac),var(--ac-300))}
.orc-bar-fill.purple{background:linear-gradient(90deg,var(--ac2),#a78bfa)}
.orc-bar-fill.amber {background:linear-gradient(90deg,#d97706,#f59e0b)}
.orc-sub{font-size:.65rem;color:var(--text-muted);font-family:'JetBrains Mono',monospace;letter-spacing:.03em}

/* ── MAIN OPERATIONAL GRID ─────────────────────────────── */
.dash-ops-grid{
    display:grid;grid-template-columns:1fr 380px;gap:1rem;
    align-items:start;margin-bottom:1rem;
}
.dash-ops-right{display:flex;flex-direction:column;gap:.875rem}

/* ── FLEET TACTICAL MAP ────────────────────────────────── */
.phdr-live-dot{
    width:7px;height:7px;border-radius:50%;background:#34d399;flex-shrink:0;
    box-shadow:0 0 6px #34d399;margin-left:.5rem;
}
.phdr-live-dot.pulsing{animation:pulse-glow-green 1.5s infinite}
.phdr-live-dot.scanning{background:#f59e0b;box-shadow:0 0 6px #f59e0b;animation:pulse-glow-amber .6s infinite}
.phdr-live-text{font-size:.62rem;font-weight:800;color:#34d399;letter-spacing:.12em;
                font-family:'JetBrains Mono',monospace;text-transform:uppercase}
.phdr-tag{
    font-size:.63rem;font-weight:700;padding:.2rem .55rem;border-radius:4px;
    text-transform:uppercase;letter-spacing:.07em;font-family:'JetBrains Mono',monospace;
    background:rgba(var(--ac-rgb),.12);color:var(--ac-300);border:1px solid rgba(var(--ac-rgb),.2);
    white-space:nowrap;
}
.phdr-tag.amber{background:rgba(245,158,11,.12);color:#fbbf24;border-color:rgba(245,158,11,.2)}

/* ── TACTICAL FLEET GRID ────────────────────────────── */
.tac-fleet-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
    gap:.5rem;padding:.75rem;
    background:rgba(2,4,8,.4);
    border-bottom:1px solid var(--border);
    min-height:200px;
}
.tac-loading{
    grid-column:1/-1;display:flex;align-items:center;justify-content:center;
    gap:.6rem;color:var(--text-muted);font-size:.8rem;padding:2rem;
    font-family:'JetBrains Mono',monospace;
}

/* Node card */
.tac-node{
    display:flex;flex-direction:column;gap:0;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.06);
    transition:all .2s cubic-bezier(.4,0,.2,1);
    cursor:default;
    overflow:hidden;
    background:linear-gradient(145deg,rgba(15,18,28,.95),rgba(8,10,18,.98));
    backdrop-filter:blur(8px);
    position:relative;
}
.tac-node::before{
    content:'';position:absolute;inset:0;border-radius:10px;
    background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 60%);
    pointer-events:none;
}
.tac-node.online{
    border-color:rgba(52,211,153,.2);
    box-shadow:0 2px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.tac-node.online:hover{
    border-color:rgba(52,211,153,.45);
    background:linear-gradient(145deg,rgba(16,185,129,.07),rgba(8,10,18,.98));
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(0,0,0,.5), 0 0 0 1px rgba(52,211,153,.15), inset 0 1px 0 rgba(255,255,255,.07);
}
.tac-node.offline{
    border-color:rgba(255,255,255,.04);
    opacity:.5;
    filter:grayscale(.4);
}

/* Card header */
.tac-node-header{
    display:flex;align-items:center;gap:.4rem;
    padding:.5rem .6rem .35rem;
}
.tac-node-dot{
    width:7px;height:7px;border-radius:50%;flex-shrink:0;
}
.tac-node-dot.online{
    background:#34d399;
    box-shadow:0 0 0 2px rgba(52,211,153,.2), 0 0 6px rgba(52,211,153,.6);
    animation:tac-pulse 2.4s ease-in-out infinite;
}
.tac-node-dot.offline{background:#1e293b;box-shadow:none}
@keyframes tac-pulse{
    0%,100%{box-shadow:0 0 0 2px rgba(52,211,153,.2),0 0 6px rgba(52,211,153,.6)}
    50%{box-shadow:0 0 0 4px rgba(52,211,153,.08),0 0 10px rgba(52,211,153,.3)}
}
.tac-node-name{
    font-family:'JetBrains Mono',monospace;font-size:.67rem;font-weight:600;
    color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;
    letter-spacing:.01em;
}
.tac-node.online .tac-node-name{color:#94a3b8}
.tac-node-ping{
    font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;
    padding:.1rem .32rem;border-radius:4px;flex-shrink:0;letter-spacing:.01em;
}
.tac-node-ping.lat-good{background:rgba(52,211,153,.12);color:#34d399}
.tac-node-ping.lat-warn{background:rgba(251,191,36,.12);color:#fbbf24}
.tac-node-ping.lat-bad {background:rgba(251,113,133,.12);color:#fb7185}
.tac-node-ping.lat-off {background:rgba(255,255,255,.04);color:#334155}

/* Divider */
.tac-node-sep{height:1px;background:rgba(255,255,255,.05);margin:0 .6rem}

/* Metrics body */
.tac-node-metrics{
    display:flex;flex-direction:column;gap:.28rem;
    padding:.4rem .6rem .5rem;
}
.tac-node-metric{display:flex;align-items:center;gap:.4rem}
.tac-metric-label{
    font-family:'JetBrains Mono',monospace;font-size:.56rem;font-weight:700;
    color:#334155;text-transform:uppercase;letter-spacing:.06em;
    width:24px;flex-shrink:0;
}
.tac-metric-bar-wrap{
    flex:1;height:4px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden;
    position:relative;
}
.tac-metric-bar{
    height:100%;border-radius:3px;
    transition:width .6s cubic-bezier(.4,0,.2,1);
    position:relative;
}
.tac-metric-bar::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
    animation:tac-shimmer 2s linear infinite;
    opacity:0;
}
.tac-node.online .tac-metric-bar::after{opacity:1}
@keyframes tac-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
.tac-metric-bar.bar-good{background:linear-gradient(90deg,#059669,#34d399)}
.tac-metric-bar.bar-warn{background:linear-gradient(90deg,#b45309,#fbbf24)}
.tac-metric-bar.bar-bad {background:linear-gradient(90deg,#be123c,#fb7185)}
.tac-metric-bar.bar-off {background:#1e293b}
.tac-metric-val{
    font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:600;
    min-width:28px;text-align:right;flex-shrink:0;
}
.tac-metric-val.bar-good{color:#34d399}
.tac-metric-val.bar-warn{color:#fbbf24}
.tac-metric-val.bar-bad {color:#fb7185}
.tac-metric-val.bar-off {color:#334155}

/* Legacy compat */
.tac-node-row{display:flex;align-items:center;gap:.4rem}
.tac-node-ms-row{display:flex;align-items:center;gap:.35rem}
.tac-lat-bar-wrap{flex:1;height:3px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden}
.tac-lat-bar{height:100%;border-radius:2px;transition:width .5s ease}
.tac-lat-bar.lat-good{background:linear-gradient(90deg,#10b981,#34d399)}
.tac-lat-bar.lat-warn{background:linear-gradient(90deg,#d97706,#f59e0b)}
.tac-lat-bar.lat-bad {background:linear-gradient(90deg,#f43f5e,#fb7185)}
.tac-lat-bar.lat-off {background:#1e293b;width:0%!important}
.tac-node-ms{
    font-family:'JetBrains Mono',monospace;font-size:.6rem;
    flex-shrink:0;letter-spacing:.01em;min-width:26px;text-align:right;
}
.tac-node-ms.lat-good{color:#34d399}
.tac-node-ms.lat-warn{color:#fbbf24}
.tac-node-ms.lat-bad {color:#fb7185}
.tac-node-ms.lat-off {color:#334155}

/* ── FLEET READINESS STRIP ─────────────────────────────── */
.fleet-readiness-strip{
    display:flex;align-items:center;gap:1rem;
    padding:.7rem 1rem;
    background:linear-gradient(90deg,rgba(2,6,14,.9),rgba(4,8,20,.9));
    border-top:1px solid rgba(52,211,153,.08);
    font-family:'JetBrains Mono',monospace;
}
.frs-label{
    font-size:.6rem;font-weight:800;color:#334155;
    text-transform:uppercase;letter-spacing:.12em;flex-shrink:0;
}
.frs-bar-wrap{
    flex:1;height:6px;background:rgba(255,255,255,.04);border-radius:999px;
    position:relative;overflow:hidden;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.4);
}
.frs-bar{
    position:absolute;top:0;left:0;height:100%;border-radius:999px;
    background:linear-gradient(90deg,#059669,#10b981,#34d399);
    transition:width .9s cubic-bezier(.4,0,.2,1);
}
.frs-bar-glow{
    position:absolute;top:-2px;left:0;height:10px;border-radius:999px;
    background:rgba(52,211,153,.25);filter:blur(6px);
    transition:width .9s cubic-bezier(.4,0,.2,1);
}
.frs-pct{
    font-size:.85rem;font-weight:800;color:#34d399;
    flex-shrink:0;min-width:42px;text-align:right;
    text-shadow:0 0 12px rgba(52,211,153,.5);
}
.frs-detail{
    font-size:.62rem;color:#475569;flex-shrink:0;white-space:nowrap;
    letter-spacing:.03em;
}

/* ── QUICK DISPATCH ────────────────────────────────────── */
.qd-body{padding:.875rem}
.qd-input-zone{
    border:1px solid var(--border);border-radius:10px;overflow:hidden;
    background:rgba(2,6,18,.6);transition:.15s;
}
.qd-input-zone:focus-within{
    border-color:rgba(var(--ac-rgb),.4);box-shadow:0 0 0 2px rgba(var(--ac-rgb),.08);
}
.qd-textarea{
    width:100%;background:none;border:none;outline:none;resize:none;
    color:var(--text);font-size:.875rem;font-family:'Inter',sans-serif;
    padding:.75rem .875rem .5rem;line-height:1.6;
}
.qd-textarea::placeholder{color:var(--text-muted)}
.qd-footer{
    display:flex;align-items:center;justify-content:space-between;
    padding:.5rem .875rem .6rem;border-top:1px solid var(--border);
}
.qd-hint{
    display:flex;align-items:center;gap:.3rem;font-size:.72rem;
    color:var(--text-muted);font-family:'JetBrains Mono',monospace;
}
.qd-hint .material-icons-round{font-size:.85rem;color:#a78bfa}
.qd-result{
    margin-top:.875rem;border-radius:8px;overflow:hidden;
    border:1px solid var(--border);background:rgba(2,4,12,.7);
    font-family:'JetBrains Mono',monospace;font-size:.78rem;
}
.qd-routing-msg{
    display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;
    color:var(--text-muted);
}
.qd-error-msg{
    display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;color:#fb7185;
}
.qd-error-msg .material-icons-round{font-size:1rem}
.qd-plan-strip{
    display:flex;align-items:center;gap:.6rem;
    padding:.55rem .875rem;border-bottom:1px solid var(--border);
    background:rgba(var(--ac-rgb),.05);
}
.qd-plan-label{
    font-size:.6rem;font-weight:800;color:var(--ac-300);text-transform:uppercase;
    letter-spacing:.1em;background:rgba(var(--ac-rgb),.15);padding:.15rem .35rem;border-radius:3px;
    flex-shrink:0;
}
.qd-plan-mode{color:var(--ac-200);font-weight:600;font-size:.75rem;flex-shrink:0}
.qd-plan-nodes{color:var(--text-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qd-summary{
    padding:.75rem .875rem;color:#d1fae5;font-size:.8rem;line-height:1.6;
    font-family:'Inter',sans-serif;
}
.qd-node-result{border-bottom:1px solid var(--border)}
.qd-node-result:last-child{border-bottom:none}
.qd-node-result.error .qd-node-header{border-left:2px solid #f43f5e}
.qd-node-header{
    display:flex;align-items:center;gap:.5rem;padding:.45rem .875rem;
    background:rgba(255,255,255,.02);border-left:2px solid #34d399;
}
.qd-node-id{font-weight:700;font-size:.75rem;color:var(--text)}
.qd-node-status{font-size:.65rem;color:var(--text-muted);margin-left:auto;text-transform:uppercase}
.qd-pre{
    margin:0;padding:.5rem .875rem .65rem;font-size:.72rem;
    white-space:pre-wrap;word-break:break-word;color:#64748b;
    max-height:160px;overflow-y:auto;
}
.qd-done{
    display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;
    color:#34d399;font-weight:600;font-size:.8rem;
}
.qd-done .material-icons-round{font-size:1rem}

/* ── CCD INTELLIGENCE ──────────────────────────────────── */
.intel-provider-badge{
    margin-left:auto;display:flex;align-items:center;gap:.4rem;
    background:rgba(var(--ac-rgb),.1);border:1px solid rgba(var(--ac-rgb),.2);
    border-radius:20px;padding:.25rem .65rem;font-size:.7rem;
    color:var(--ac-200);font-weight:600;font-family:'JetBrains Mono',monospace;
    letter-spacing:.04em;
}
.intel-provider-dot{
    width:6px;height:6px;border-radius:50%;background:var(--ac-300);
    box-shadow:0 0 5px var(--ac-300);animation:pulse-glow-green 2s infinite;flex-shrink:0;
}
.intel-chat-box{
    min-height:160px;max-height:220px;
    border-bottom:1px solid var(--border);
}
.intel-chat-input-row{padding:.65rem .875rem}

/* ── OPERATIONAL FEED ──────────────────────────────────── */
.ops-feed-panel{margin-top:0}
.ops-feed-meta{
    font-family:'JetBrains Mono',monospace;font-size:.65rem;
    color:var(--text-muted);letter-spacing:.08em;
}
.ops-scan-state{
    display:flex;align-items:center;justify-content:center;gap:.5rem;
    padding:1.5rem;color:var(--text-muted);font-size:.8rem;
    font-family:'JetBrains Mono',monospace;letter-spacing:.06em;
}
.ops-scan-state .material-icons-round{font-size:1.2rem;opacity:.3}
.tac-ops-feed{display:flex;flex-direction:column}
.tac-op-row{
    display:grid;
    grid-template-columns:28px auto 1fr 60px 90px 80px;
    align-items:center;gap:.75rem;
    padding:.6rem 1rem;border-bottom:1px solid var(--border-light);
    cursor:pointer;transition:.12s;font-size:.82rem;
}
.tac-op-row:last-child{border-bottom:none}
.tac-op-row:hover{background:rgba(var(--ac-rgb),.04)}
.tor-seq{
    font-family:'JetBrains Mono',monospace;font-size:.65rem;
    color:var(--text-muted);font-weight:600;text-align:right;
}
.tor-task{
    color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-size:.82rem;
}
.tor-mode{
    font-family:'JetBrains Mono',monospace;font-size:.7rem;
    color:var(--text-muted);text-align:center;
}
.tor-status-wrap{display:flex;align-items:center;gap:.4rem;justify-content:center}
.tor-dot{
    width:6px;height:6px;border-radius:50%;flex-shrink:0;
}
.tor-dot.green{background:#34d399;box-shadow:0 0 4px #34d399}
.tor-dot.blue {background:var(--ac-300);box-shadow:0 0 4px var(--ac-300);animation:pulse .8s ease-in-out infinite}
.tor-dot.red  {background:#fb7185;box-shadow:0 0 4px #fb7185}
.tor-status{font-size:.7rem;font-weight:700;text-transform:uppercase;
            letter-spacing:.06em;font-family:'JetBrains Mono',monospace}
.tor-status.green{color:#34d399}
.tor-status.blue {color:var(--ac-300)}
.tor-status.red  {color:#fb7185}
.tor-time{
    font-family:'JetBrains Mono',monospace;font-size:.68rem;
    color:var(--text-muted);text-align:right;white-space:nowrap;
}

/* ── RESPONSIVE ────────────────────────────────────────── */
@media(max-width:1280px){
    .ops-readiness-row{grid-template-columns:repeat(3,1fr)}
    .orc-health-card{grid-column:1/2}
}
@media(max-width:1100px){
    .dash-ops-grid{grid-template-columns:1fr}
    .dash-ops-right{flex-direction:row;flex-wrap:wrap}
    .qd-panel,.intel-panel{flex:1;min-width:280px}
}
@media(max-width:900px){
    .ops-readiness-row{grid-template-columns:repeat(2,1fr)}
    .tac-op-row{grid-template-columns:28px auto 1fr auto auto}
    .tor-mode{display:none}
}
@media(max-width:640px){
    .ops-readiness-row{grid-template-columns:1fr 1fr}
    .ssb-mid{display:none}
    .tac-fleet-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}
}

/* ═══════════════════════════════════════════════════════
   PAGE-LEVEL UPGRADE STYLES — v2
   ═══════════════════════════════════════════════════════ */

/* ── Utility ── */
.mono{font-family:'JetBrains Mono',monospace}
.ml-auto{margin-left:auto}
.phdr-tag{
    font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    padding:.15rem .5rem;border-radius:4px;
    background:rgba(var(--ac-rgb),.08);color:var(--ac-300);border:1px solid rgba(var(--ac-rgb),.18);
    font-family:'JetBrains Mono',monospace;
}
.phdr-tag.amber{background:rgba(245,158,11,.08);color:#fbbf24;border-color:rgba(245,158,11,.2)}
.phdr-live-dot{
    width:6px;height:6px;border-radius:50%;background:#34d399;flex-shrink:0;
    box-shadow:0 0 5px #34d399;
}
.phdr-live-dot.pulsing{animation:phdr-pulse 2s infinite}
@keyframes phdr-pulse{0%,100%{box-shadow:0 0 4px #34d399;opacity:1}50%{box-shadow:0 0 12px #34d399;opacity:.6}}
.intel-provider-badge{
    display:flex;align-items:center;gap:.4rem;
    font-size:.65rem;font-weight:700;letter-spacing:.1em;
    color:#a78bfa;font-family:'JetBrains Mono',monospace;
    background:rgba(var(--ac2-rgb),.08);border:1px solid rgba(var(--ac2-rgb),.18);
    padding:.2rem .6rem;border-radius:5px;
}
.intel-provider-dot{width:5px;height:5px;border-radius:50%;background:#a78bfa;flex-shrink:0}
.orc-status-tag{
    font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    padding:.2rem .6rem;border-radius:5px;font-family:'JetBrains Mono',monospace;
}
.orc-status-tag.green{background:rgba(16,185,129,.08);color:#34d399;border:1px solid rgba(16,185,129,.2)}

/* ── Two-column ops layout ── */
.pg-ops-grid{
    display:grid;
    grid-template-columns:380px 1fr;
    gap:1rem;
    align-items:start;
}
.pg-config-panel{height:fit-content}
.pg-results-col{display:flex;flex-direction:column;gap:.875rem}

/* ── Form elements ── */
.pg-form-body{padding:.875rem;display:flex;flex-direction:column;gap:.875rem}
.pg-field{display:flex;flex-direction:column;gap:.35rem}
.pg-label{
    font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    color:#475569;font-family:'JetBrains Mono',monospace;
    display:flex;align-items:center;gap:.4rem;
}
.pg-field-hint{font-size:.72rem;color:var(--text-muted);line-height:1.5;margin-top:.1rem}
.pg-textarea{
    width:100%;background:rgba(2,4,8,.7);border:1px solid var(--border);border-radius:8px;
    padding:.7rem .875rem;color:var(--text-primary);font-size:.875rem;
    font-family:'JetBrains Mono',monospace;resize:vertical;outline:none;transition:.2s;
    line-height:1.6;
}
.pg-textarea:focus{border-color:rgba(var(--ac-rgb),.4);box-shadow:0 0 0 2px rgba(var(--ac-rgb),.08)}
.pg-textarea::placeholder{color:#1e293b}
.pg-input{
    width:100%;background:rgba(2,4,8,.7);border:1px solid var(--border);border-radius:8px;
    padding:.65rem .875rem;color:var(--text-primary);font-size:.875rem;outline:none;transition:.2s;
}
.pg-input.mono{font-family:'JetBrains Mono',monospace;font-size:.82rem}
.pg-input:focus{border-color:rgba(var(--ac-rgb),.4);box-shadow:0 0 0 2px rgba(var(--ac-rgb),.08)}
.pg-input::placeholder{color:#1e293b}
.pg-btn-row{display:flex;gap:.5rem;align-items:center;margin-top:.25rem}
.pg-info-banner{
    display:flex;align-items:flex-start;gap:.625rem;padding:.65rem .875rem;
    background:rgba(var(--ac-rgb),.05);border:1px solid rgba(var(--ac-rgb),.12);border-radius:8px;
    font-size:.8rem;color:var(--text-dim);line-height:1.5;
}
.pg-info-banner .material-icons-round{font-size:.95rem;color:var(--ac-300);flex-shrink:0;margin-top:.05rem}
.pg-info-banner strong{color:var(--text-primary)}
.pg-progress-label{font-size:.7rem;color:var(--text-muted);font-family:'JetBrains Mono',monospace;letter-spacing:.05em}

/* ── Radio group ── */
.pg-radio-group{display:flex;flex-direction:column;gap:.375rem}
.pg-radio-opt{
    display:flex;align-items:center;gap:.75rem;padding:.7rem .875rem;
    background:rgba(2,4,8,.5);border:1px solid var(--border);border-radius:8px;
    cursor:pointer;transition:.15s;position:relative;
}
.pg-radio-opt:hover{border-color:rgba(var(--ac-rgb),.3);background:rgba(var(--ac-rgb),.04)}
.pg-radio-opt input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.pg-radio-opt input[type=radio]:checked ~ .pg-radio-box{
    border-color:var(--ac);background:var(--ac);
    box-shadow:0 0 0 3px rgba(var(--ac-rgb),.15);
}
.pg-radio-opt input[type=radio]:checked ~ .pg-radio-box::after{opacity:1;transform:scale(1)}
.pg-radio-box{
    width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);
    flex-shrink:0;transition:.15s;position:relative;
}
.pg-radio-box::after{
    content:'';position:absolute;inset:2px;border-radius:50%;
    background:#fff;opacity:0;transform:scale(.3);transition:.15s;
}
.pg-radio-text{flex:1;display:flex;flex-direction:column;gap:.1rem}
.pg-radio-title{font-size:.75rem;font-weight:700;color:var(--text-primary);letter-spacing:.06em;font-family:'JetBrains Mono',monospace}
.pg-radio-sub{font-size:.72rem;color:var(--text-muted)}
.pg-radio-badge{
    font-size:.58rem;font-weight:800;letter-spacing:.1em;padding:.15rem .45rem;
    border-radius:4px;font-family:'JetBrains Mono',monospace;
}
.pg-radio-badge.ai{background:rgba(var(--ac2-rgb),.15);color:#c4b5fd;border:1px solid rgba(var(--ac2-rgb),.25)}

/* ── Node picker ── */
.pg-node-picker{
    display:flex;flex-wrap:wrap;gap:.375rem;
    max-height:180px;overflow-y:auto;padding:.375rem 0;
}
.pg-node-picker::-webkit-scrollbar{width:4px}
.pg-node-picker::-webkit-scrollbar-track{background:transparent}
.pg-node-picker::-webkit-scrollbar-thumb{background:var(--border)}
.pg-node-chip-label{cursor:pointer}
.pg-node-chip-label input[type=checkbox]{display:none}
.pg-node-chip{
    display:block;padding:.3rem .65rem;font-size:.68rem;font-weight:600;
    letter-spacing:.06em;text-transform:uppercase;border-radius:5px;
    background:rgba(255,255,255,.03);border:1px solid var(--border);
    color:var(--text-muted);transition:.15s;font-family:'JetBrains Mono',monospace;
    cursor:pointer;
}
.pg-node-chip-label input:checked + .pg-node-chip{
    background:rgba(var(--ac-rgb),.12);border-color:rgba(var(--ac-rgb),.35);
    color:var(--ac-200);box-shadow:0 0 0 1px rgba(var(--ac-rgb),.1);
}
.pg-node-chip-label:hover .pg-node-chip{border-color:rgba(var(--ac-rgb),.25);color:var(--text-dim)}
.pg-node-actions{display:flex;gap:.375rem;flex-wrap:wrap}

/* ── Scope buttons (broadcast) ── */
.pg-scope-btns{display:flex;gap:.375rem}
.pg-scope-btn{
    flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;
    padding:.6rem .75rem;background:rgba(255,255,255,.02);
    border:1px solid var(--border);border-radius:8px;
    font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--text-muted);
    cursor:pointer;transition:.15s;font-family:'JetBrains Mono',monospace;
}
.pg-scope-btn .material-icons-round{font-size:.9rem}
.pg-scope-btn:hover{border-color:rgba(var(--ac-rgb),.3);color:var(--text-dim)}
.pg-scope-btn.active{
    background:rgba(var(--ac-rgb),.1);border-color:rgba(var(--ac-rgb),.35);
    color:var(--ac-200);
}

/* ── Output / results area ── */
.pg-output{
    min-height:280px;background:rgba(2,4,8,.6);padding:.75rem;
    font-family:'JetBrains Mono',monospace;font-size:.78rem;line-height:1.7;
    color:var(--text-dim);overflow-y:auto;
}
.pg-idle-state{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:.6rem;padding:3rem;color:#1e293b;
    font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.1em;
    text-transform:uppercase;text-align:center;
}
.pg-idle-state .material-icons-round{font-size:2rem;opacity:.15}
.pg-summary{
    padding:1rem .875rem;font-size:.82rem;color:var(--text-dim);line-height:1.7;
}
.pg-bc-results{
    min-height:200px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.5rem;
}

/* ── Status badge (pg-status-badge) ── */
.pg-status-badge{
    font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
    padding:.2rem .6rem;border-radius:5px;font-family:'JetBrains Mono',monospace;
    border:1px solid transparent;
}
.pg-status-badge.idle{background:rgba(255,255,255,.04);color:#475569;border-color:rgba(255,255,255,.06)}
.pg-status-badge.running{background:rgba(var(--ac-rgb),.12);color:var(--ac-300);border-color:rgba(var(--ac-rgb),.25);animation:pg-badge-pulse 1.5s infinite}
.pg-status-badge.done{background:rgba(16,185,129,.1);color:#34d399;border-color:rgba(16,185,129,.2)}
.pg-status-badge.error{background:rgba(244,63,94,.1);color:#fb7185;border-color:rgba(244,63,94,.2)}
@keyframes pg-badge-pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* ═══ HISTORY PAGE ═══ */
.hist-table{table-layout:fixed}
.hist-table thead th{
    font-size:.6rem;letter-spacing:.12em;color:#334155;
    font-family:'JetBrains Mono',monospace;font-weight:700;
    padding:.6rem .75rem;border-bottom:1px solid var(--border);
    background:rgba(2,4,8,.4);
}
.hist-row{cursor:pointer;transition:.12s}
.hist-row:hover td{background:rgba(var(--ac-rgb),.04)}
.hist-row td{padding:.6rem .75rem;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.025)}
.hist-seq{color:#334155;font-size:.68rem;font-family:'JetBrains Mono',monospace}
.hist-opid{
    font-family:'JetBrains Mono',monospace;font-size:.7rem;
    color:#64748b;background:rgba(255,255,255,.03);
    padding:.15rem .4rem;border-radius:4px;
}
.hist-type-badge{
    font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
    padding:.15rem .5rem;border-radius:4px;font-family:'JetBrains Mono',monospace;
}
.hist-type-badge.dispatch{background:rgba(245,158,11,.1);color:#fbbf24;border:1px solid rgba(245,158,11,.2)}
.hist-type-badge.broadcast{background:rgba(244,63,94,.1);color:#fb7185;border:1px solid rgba(244,63,94,.2)}
.hist-type-badge.chain{background:rgba(var(--ac2-rgb),.1);color:#a78bfa;border:1px solid rgba(var(--ac2-rgb),.2)}
.hist-type-badge.compare{background:rgba(34,211,238,.1);color:#22d3ee;border:1px solid rgba(34,211,238,.2)}
.hist-mode{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:#64748b}
.hist-task{color:var(--text-dim);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.hist-nodes{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:#64748b}
.hist-status{
    display:inline-flex;align-items:center;gap:.35rem;
    font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
    font-family:'JetBrains Mono',monospace;
}
.hist-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.hist-status.done .hist-status-dot{background:#34d399;box-shadow:0 0 5px #34d399}
.hist-status.done{color:#34d399}
.hist-status.running .hist-status-dot{background:var(--ac-300);box-shadow:0 0 5px var(--ac-300)}
.hist-status.running{color:var(--ac-300)}
.hist-status.error .hist-status-dot{background:#fb7185}
.hist-status.error{color:#fb7185}
.hist-ai{font-size:.72rem;color:#64748b}
.hist-time{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:#334155;white-space:nowrap}
.hist-modal .modal-body{max-height:75vh;overflow-y:auto;padding:.875rem}

/* ═══ MISSION CONTROL BANNER ═══ */
.mc-banner{
    display:flex;align-items:center;gap:1.5rem;padding:.625rem 1rem;
    background:rgba(2,4,8,.7);border:1px solid var(--border);border-radius:10px;
    margin-bottom:.875rem;
}
.mc-banner-left{display:flex;align-items:center;gap:.625rem}
.mc-banner-label{
    font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--text-muted);font-family:'JetBrains Mono',monospace;
}
.mc-banner-stats{display:flex;align-items:center;gap:.75rem}
.mc-banner-sep{color:#1e293b;font-size:1rem}
.mc-stat-chip{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-dim);font-weight:600}
.mc-stat-chip .material-icons-round{font-size:.9rem;color:#34d399}
.mc-stat-unit{font-size:.6rem;color:#334155;font-family:'JetBrains Mono',monospace;letter-spacing:.08em}
.mc-banner-actions{margin-left:auto;display:flex;gap:.5rem;align-items:center}

/* ═══ SCENARIOS PAGE ═══ */
.sc-hdr{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    margin-bottom:1rem;
}
.sc-hdr-title{
    display:flex;align-items:center;gap:.5rem;
    font-size:.85rem;font-weight:800;letter-spacing:.1em;color:var(--text-primary);
    font-family:'JetBrains Mono',monospace;margin-bottom:.3rem;
}
.sc-hdr-sub{font-size:.78rem;color:var(--text-muted)}
.sc-hdr-stats{display:flex;align-items:center;gap:.75rem}
.sc-hdr-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center}
.sc-hdr-stat-val{font-size:1.4rem;font-weight:800;color:var(--text-primary);font-family:'JetBrains Mono',monospace;line-height:1}
.sc-hdr-stat-label{font-size:.58rem;color:#334155;letter-spacing:.12em;font-family:'JetBrains Mono',monospace;font-weight:700}
.sc-hdr-stat-sep{font-size:1.5rem;color:#1e293b;line-height:1}
.sc-card-badges{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}
.sc-card-actions{display:flex;gap:.375rem;align-items:center;margin-left:auto}
.sc-task-pre{
    background:rgba(2,4,8,.6);padding:.875rem;border-radius:8px;
    font-size:.75rem;line-height:1.65;white-space:pre-wrap;
    color:var(--text-dim);max-height:280px;overflow-y:auto;
    font-family:'JetBrains Mono',monospace;
    border:1px solid var(--border);
}

/* Enhance existing sc-filter-btn */
.sc-filter-btn{
    display:flex;align-items:center;gap:.4rem;
    padding:.45rem .875rem;background:rgba(255,255,255,.025);
    border:1px solid var(--border);border-radius:7px;
    font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--text-muted);
    cursor:pointer;transition:.15s;font-family:'JetBrains Mono',monospace;white-space:nowrap;
}
.sc-filter-btn .material-icons-round{font-size:.85rem}
.sc-filter-btn:hover{border-color:rgba(var(--ac-rgb),.3);color:var(--text-dim)}
.sc-filter-btn.active{background:rgba(var(--ac-rgb),.1);border-color:rgba(var(--ac-rgb),.3);color:var(--ac-200)}
.sc-filter-count{
    font-size:.6rem;font-weight:800;padding:.1rem .4rem;border-radius:4px;
    background:rgba(255,255,255,.05);color:#475569;
}
.sc-filter-btn.active .sc-filter-count{background:rgba(var(--ac-rgb),.15);color:var(--ac-300)}

/* ═══ SETTINGS PAGE ═══ */
.pg-settings-header{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:1rem;padding:.75rem 1rem;
    background:rgba(2,4,8,.5);border:1px solid var(--border);border-radius:10px;
}
.pg-settings-title{display:flex;align-items:center;gap:.75rem}
.pg-settings-title .material-icons-round{font-size:1.25rem}
.pg-settings-title-text{
    font-size:.8rem;font-weight:800;letter-spacing:.1em;color:var(--text-primary);
    font-family:'JetBrains Mono',monospace;
}
.pg-settings-title-sub{font-size:.75rem;color:var(--text-muted);margin-top:.1rem}

/* ═══ BROADCAST RESULTS ═══ */
.pg-bc-results .bc-result-row{
    padding:.65rem .75rem;background:rgba(255,255,255,.02);
    border:1px solid var(--border);border-radius:8px;margin-bottom:.375rem;
}
.pg-bc-results .bc-node-name{
    font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--text-dim);
    font-weight:700;letter-spacing:.06em;display:block;margin-bottom:.375rem;
}
.pg-bc-results .bc-result-pre{
    font-family:'JetBrains Mono',monospace;font-size:.72rem;line-height:1.6;
    color:var(--text-muted);white-space:pre-wrap;word-break:break-all;
}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){
    .pg-ops-grid{grid-template-columns:340px 1fr}
}
@media(max-width:900px){
    .pg-ops-grid{grid-template-columns:1fr;grid-template-rows:auto}
    .sc-hdr{flex-direction:column;align-items:flex-start}
    .mc-banner-stats{display:none}
}
@media(max-width:640px){
    .pg-scope-btns{flex-wrap:wrap}
    .sc-hdr-stats{gap:.5rem}
}

/* ══════════════════════════════════════════════════════════════════
   UI IMPROVEMENTS — 2026-06-29
   Sidebar polish · stat cards · project cards · quick-action bar ·
   command palette · skeleton loaders · dev-process helpers
══════════════════════════════════════════════════════════════════ */

/* ── Sidebar: active indicator glow + section collapse ─────────── */
.nav-item{transition:background .13s,color .13s,transform .13s,box-shadow .13s}
.nav-item.active{
    box-shadow:inset 0 0 12px rgba(var(--ac-rgb),.06),0 2px 10px rgba(var(--ac-rgb),.08);
}
.nav-item.active .material-icons-round{
    filter:drop-shadow(0 0 4px rgba(var(--ac-rgb),.7));
}
.nav-item .nav-badge{transition:opacity .15s}
.nav-item:not(:hover) .nav-badge{opacity:.85}

/* Sidebar section collapse button */
.sidebar-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.sidebar-label:hover{color:var(--text-muted)}
.sidebar-label .sl-arrow{font-size:.7rem;opacity:.4;transition:transform .2s}
.sidebar-section.collapsed .sl-arrow{transform:rotate(-90deg)}
.sidebar-section.collapsed .nav-item,.sidebar-section.collapsed .nav-sub{display:none}

/* Sidebar search */
.sidebar-search{margin:.35rem .55rem .1rem;position:relative}
.sidebar-search input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:7px;
    padding:.3rem .6rem .3rem 1.75rem;font-size:.72rem;color:var(--text);outline:none;transition:.15s;font-family:'JetBrains Mono',monospace}
.sidebar-search input:focus{border-color:rgba(var(--ac-rgb),.45);background:rgba(var(--ac-rgb),.05)}
.sidebar-search .ss-icon{position:absolute;left:.45rem;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--text-dim);pointer-events:none}
.sidebar-search input::placeholder{color:var(--text-dim)}

/* ── Stat cards v2: trend badge + sparkline slot ───────────────── */
.stat-card-v2{
    background:var(--card);border:1px solid var(--border);border-radius:12px;
    padding:.85rem 1rem;display:flex;flex-direction:column;gap:.4rem;
    position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s;
}
.stat-card-v2:hover{border-color:rgba(var(--ac-rgb),.3);box-shadow:0 4px 24px rgba(var(--ac-rgb),.08)}
.stat-card-v2::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--ac-grad);opacity:.6;
}
.sc2-top{display:flex;align-items:flex-start;justify-content:space-between}
.sc2-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;
    background:rgba(var(--ac-rgb),.1);flex-shrink:0}
.sc2-icon .material-icons-round{font-size:1.1rem;color:var(--ac-300)}
.sc2-trend{font-size:.62rem;font-weight:700;font-family:'JetBrains Mono',monospace;padding:.1rem .3rem;border-radius:4px;
    display:inline-flex;align-items:center;gap:.15rem;white-space:nowrap}
.sc2-trend.up{background:rgba(52,211,153,.12);color:#34d399}
.sc2-trend.down{background:rgba(248,113,113,.12);color:#f87171}
.sc2-trend.flat{background:rgba(148,163,184,.08);color:var(--text-dim)}
.sc2-val{font-size:1.75rem;font-weight:800;line-height:1.1;color:var(--text-primary);letter-spacing:-.02em}
.sc2-label{font-size:.72rem;color:var(--text-muted)}
.sc2-sub{font-size:.65rem;color:var(--text-dim);font-family:'JetBrains Mono',monospace}

/* ── Project cards v2 ───────────────────────────────────────────── */
.proj-card-v2{
    background:var(--card);border:1px solid var(--border);border-radius:12px;
    padding:1rem;position:relative;overflow:hidden;
    transition:border-color .18s,box-shadow .18s,transform .18s;cursor:pointer;
}
.proj-card-v2:hover{border-color:rgba(var(--ac-rgb),.35);box-shadow:0 8px 28px rgba(0,0,0,.4);transform:translateY(-2px)}
.proj-card-v2 .pc-accent-bar{position:absolute;top:0;left:0;right:0;height:3px}
.proj-card-v2 .pc-head{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.65rem}
.proj-card-v2 .pc-avatar{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;
    justify-content:center;flex-shrink:0;background:rgba(var(--ac-rgb),.1);border:1px solid rgba(var(--ac-rgb),.2)}
.proj-card-v2 .pc-avatar .material-icons-round{font-size:1.05rem;color:var(--ac-300)}
.proj-card-v2 .pc-title{font-weight:700;font-size:.92rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proj-card-v2 .pc-desc{font-size:.74rem;color:var(--text-dim);margin-top:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proj-card-v2 .pc-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.4rem}
.proj-card-v2 .pc-chip{font-size:.62rem;font-weight:600;font-family:'JetBrains Mono',monospace;
    padding:.1rem .35rem;border-radius:4px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);color:var(--text-dim)}
.proj-card-v2 .pc-chip.node{background:rgba(var(--ac-rgb),.08);border-color:rgba(var(--ac-rgb),.2);color:var(--ac-200)}
.proj-card-v2 .pc-progress{margin-top:.55rem}
.proj-card-v2 .pc-prog-bar-wrap{height:3px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden;margin-bottom:.25rem}
.proj-card-v2 .pc-prog-fill{height:100%;border-radius:2px;background:var(--ac-grad);transition:width .4s}
.proj-card-v2 .pc-prog-label{display:flex;justify-content:space-between;font-size:.6rem;color:var(--text-dim);font-family:'JetBrains Mono',monospace}
.proj-card-v2 .pc-actions{display:flex;gap:.35rem;margin-top:.65rem;opacity:0;transition:opacity .15s}
.proj-card-v2:hover .pc-actions{opacity:1}
.proj-card-v2 .pc-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;
    background:rgba(var(--ac-rgb),.1);border:1px solid rgba(var(--ac-rgb),.2);border-radius:7px;
    padding:.32rem .4rem;font-size:.67rem;font-weight:700;color:var(--ac-200);cursor:pointer;transition:.13s;font-family:'JetBrains Mono',monospace}
.proj-card-v2 .pc-action-btn:hover{background:rgba(var(--ac-rgb),.22);border-color:rgba(var(--ac-rgb),.4)}
.proj-card-v2 .pc-action-btn .material-icons-round{font-size:.8rem}

/* ── Quick-action floating bar ─────────────────────────────────── */
.quick-bar{
    position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);
    display:flex;align-items:center;gap:.3rem;
    background:rgba(14,14,20,.94);border:1px solid rgba(var(--ac-rgb),.25);
    border-radius:14px;padding:.35rem .5rem;
    box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 0 1px rgba(var(--ac-rgb),.06);
    backdrop-filter:blur(20px);z-index:500;transition:opacity .2s,transform .2s;
}
.quick-bar.hidden{opacity:0;transform:translateX(-50%) translateY(10px);pointer-events:none}
.qb-btn{display:flex;align-items:center;gap:.3rem;background:none;border:none;
    color:var(--text-muted);font-size:.7rem;font-weight:700;font-family:'JetBrains Mono',monospace;
    padding:.28rem .55rem;border-radius:8px;cursor:pointer;transition:.12s;white-space:nowrap}
.qb-btn:hover{background:rgba(var(--ac-rgb),.12);color:var(--ac-200)}
.qb-btn .material-icons-round{font-size:.9rem}
.qb-sep{width:1px;height:18px;background:rgba(255,255,255,.06);margin:0 .1rem}
.qb-kbd{font-size:.55rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
    border-radius:3px;padding:.05rem .25rem;margin-left:.2rem;color:var(--text-dim)}

/* ── Command palette ────────────────────────────────────────────── */
.cmd-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9990;
    display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;
    opacity:0;pointer-events:none;transition:opacity .15s}
.cmd-overlay.open{opacity:1;pointer-events:all}
.cmd-panel{width:560px;max-width:92vw;background:var(--surface-0);
    border:1px solid rgba(var(--ac-rgb),.3);border-radius:14px;
    box-shadow:0 24px 64px rgba(0,0,0,.75),0 0 0 1px rgba(var(--ac-rgb),.08);
    overflow:hidden;transform:translateY(-12px);transition:transform .15s}
.cmd-overlay.open .cmd-panel{transform:translateY(0)}
.cmd-search-wrap{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}
.cmd-search-wrap .material-icons-round{color:var(--ac-300);font-size:1.2rem;flex-shrink:0}
.cmd-input{flex:1;background:none;border:none;outline:none;font-size:.95rem;color:var(--text-primary);font-family:'Inter',sans-serif}
.cmd-input::placeholder{color:var(--text-dim)}
.cmd-esc{font-size:.62rem;font-family:'JetBrains Mono',monospace;color:var(--text-dim);
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:.12rem .35rem}
.cmd-results{max-height:360px;overflow-y:auto;padding:.35rem}
.cmd-group-label{font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
    color:var(--ac-300);opacity:.5;padding:.5rem .65rem .2rem;font-family:'JetBrains Mono',monospace}
.cmd-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .65rem;border-radius:8px;cursor:pointer;transition:.1s}
.cmd-item:hover,.cmd-item.selected{background:rgba(var(--ac-rgb),.1)}
.cmd-item .ci-icon{width:28px;height:28px;border-radius:7px;background:rgba(var(--ac-rgb),.08);
    display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cmd-item .ci-icon .material-icons-round{font-size:.9rem;color:var(--ac-300)}
.cmd-item .ci-label{font-size:.82rem;font-weight:600;color:var(--text)}
.cmd-item .ci-sub{font-size:.68rem;color:var(--text-dim)}
.cmd-item .ci-kbd{margin-left:auto;font-size:.6rem;font-family:'JetBrains Mono',monospace;
    color:var(--text-dim);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    border-radius:3px;padding:.08rem .28rem}
.cmd-empty{text-align:center;padding:1.5rem;font-size:.8rem;color:var(--text-dim)}

/* ── Skeleton loaders ───────────────────────────────────────────── */
@keyframes skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skel{
    background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);
    background-size:200% 100%;animation:skel 1.4s ease-in-out infinite;
    border-radius:6px;
}
.skel-text{height:.8rem;margin-bottom:.4rem}
.skel-title{height:1.1rem;width:60%;margin-bottom:.55rem}
.skel-card{height:120px;border-radius:12px;margin-bottom:.75rem}
.skel-row{display:flex;gap:.6rem;align-items:center}
.skel-circle{border-radius:50%;flex-shrink:0}

/* ── Dev-process: inline error panel ───────────────────────────── */
.dev-error-banner{
    display:flex;align-items:flex-start;gap:.65rem;
    background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);
    border-radius:10px;padding:.65rem .85rem;margin-bottom:.75rem;
    font-size:.78rem;color:#fca5a5;line-height:1.5;
}
.dev-error-banner .deb-icon{color:#f87171;flex-shrink:0;margin-top:.05rem}
.dev-error-banner code{background:rgba(239,68,68,.15);border-radius:3px;padding:.05rem .3rem;font-size:.73rem;font-family:'JetBrains Mono',monospace}
.dev-error-banner .deb-close{margin-left:auto;background:none;border:none;color:#f87171;cursor:pointer;opacity:.6;padding:.1rem;flex-shrink:0}
.dev-error-banner .deb-close:hover{opacity:1}

/* ── Dev-process: run-status pill ─────────────────────────────── */
.run-pill{
    display:inline-flex;align-items:center;gap:.35rem;
    font-size:.68rem;font-weight:700;font-family:'JetBrains Mono',monospace;
    padding:.18rem .5rem;border-radius:20px;border:1px solid;letter-spacing:.03em;
}
.run-pill.running{background:rgba(var(--ac-rgb),.12);color:var(--ac-200);border-color:rgba(var(--ac-rgb),.3);
    animation:runPulse 1.8s ease-in-out infinite}
@keyframes runPulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 10px rgba(var(--ac-rgb),.3)}}
.run-pill.done{background:rgba(52,211,153,.1);color:#34d399;border-color:rgba(52,211,153,.3)}
.run-pill.error{background:rgba(239,68,68,.1);color:#f87171;border-color:rgba(239,68,68,.3)}
.run-pill.pending{background:rgba(148,163,184,.06);color:var(--text-dim);border-color:rgba(148,163,184,.15)}
.run-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor}

/* ── Improved toast notifications ──────────────────────────────── */
.toast-v2{
    position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;
    display:flex;flex-direction:column;gap:.4rem;pointer-events:none;
}
.toast-v2 .tv2-item{
    display:flex;align-items:center;gap:.55rem;
    background:rgba(14,14,20,.96);border:1px solid;border-radius:10px;
    padding:.55rem .85rem;font-size:.78rem;font-weight:600;
    box-shadow:0 8px 24px rgba(0,0,0,.5);pointer-events:all;
    transform:translateX(120%);transition:transform .25s ease,opacity .25s;opacity:0;
}
.toast-v2 .tv2-item.show{transform:translateX(0);opacity:1}
.toast-v2 .tv2-item.success{border-color:rgba(52,211,153,.35);color:#34d399}
.toast-v2 .tv2-item.error{border-color:rgba(248,113,113,.35);color:#f87171}
.toast-v2 .tv2-item.info{border-color:rgba(var(--ac-rgb),.35);color:var(--ac-200)}
.toast-v2 .tv2-item.warn{border-color:rgba(251,191,36,.35);color:#fbbf24}
.toast-v2 .tv2-item .material-icons-round{font-size:1rem}

/* ── Page header v2 (consistent across pages) ─────────────────── */
.page-header-v2{
    display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap;
    padding-bottom:.85rem;border-bottom:1px solid var(--border);
}
.ph2-icon-wrap{width:40px;height:40px;border-radius:11px;
    background:linear-gradient(135deg,rgba(var(--ac-rgb),.2),rgba(var(--ac2-rgb),.1));
    border:1px solid rgba(var(--ac-rgb),.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ph2-icon-wrap .material-icons-round{color:var(--ac-300);font-size:1.2rem}
.ph2-title{font-size:1.1rem;font-weight:800;color:var(--text-primary);line-height:1.2}
.ph2-sub{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}
.ph2-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

/* ── Breadcrumb ─────────────────────────────────────────────────── */
.breadcrumb{display:flex;align-items:center;gap:.3rem;font-size:.73rem;color:var(--text-dim);margin-bottom:.65rem;font-family:'JetBrains Mono',monospace;flex-wrap:wrap}
.breadcrumb a{color:var(--text-dim);transition:color .13s}.breadcrumb a:hover{color:var(--ac-200)}
.breadcrumb .bc-sep{opacity:.3;font-size:.65rem}
.breadcrumb .bc-cur{color:var(--text-muted)}

/* ── Empty state component ──────────────────────────────────────── */
.empty-state{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:3rem 1rem;text-align:center;
}
.empty-state .es-icon{font-size:2.5rem;opacity:.18;margin-bottom:.75rem}
.empty-state .es-title{font-size:.9rem;font-weight:700;color:var(--text-muted);margin-bottom:.35rem}
.empty-state .es-sub{font-size:.78rem;color:var(--text-dim);max-width:280px;line-height:1.5}
.empty-state .es-action{margin-top:1rem}

/* ── Table v2 ───────────────────────────────────────────────────── */
.tbl-v2{width:100%;border-collapse:separate;border-spacing:0;font-size:.8rem}
.tbl-v2 thead th{background:rgba(255,255,255,.025);padding:.45rem .75rem;text-align:left;
    border-bottom:1px solid var(--border);color:var(--text-dim);
    font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;
    letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;position:sticky;top:0}
.tbl-v2 tbody tr{transition:background .1s}
.tbl-v2 tbody tr:hover td{background:rgba(var(--ac-rgb),.04)}
.tbl-v2 tbody td{padding:.42rem .75rem;border-bottom:1px solid rgba(255,255,255,.028);vertical-align:middle}
.tbl-v2 tbody tr:last-child td{border-bottom:none}

/* ── Session card improvements ──────────────────────────────────── */
.sess-card-v2{
    background:var(--card);border:1px solid var(--border);border-radius:10px;
    padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;
    transition:border-color .15s,background .15s;cursor:pointer;
}
.sess-card-v2:hover{border-color:rgba(var(--ac-rgb),.3);background:rgba(var(--ac-rgb),.03)}
.sess-card-v2.active-sess{border-color:rgba(var(--ac-rgb),.4);background:rgba(var(--ac-rgb),.06)}
.sess-card-v2 .sc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sess-card-v2 .sc-dot.running{background:#34d399;box-shadow:0 0 6px #34d39988;animation:runPulse 1.8s infinite}
.sess-card-v2 .sc-dot.done{background:#64748b}
.sess-card-v2 .sc-dot.error{background:#f87171}
.sess-card-v2 .sc-body{flex:1;min-width:0}
.sess-card-v2 .sc-title{font-size:.83rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sess-card-v2 .sc-meta{font-size:.67rem;color:var(--text-dim);font-family:'JetBrains Mono',monospace;margin-top:.1rem}

/* ── Inline diff / code diff ────────────────────────────────────── */
.diff-add{color:#34d399;background:rgba(52,211,153,.07)}
.diff-del{color:#f87171;background:rgba(248,113,113,.07);text-decoration:line-through}
.diff-hunk{color:var(--ac-200);font-size:.7rem;font-family:'JetBrains Mono',monospace;opacity:.6}

/* ── Fleet node pill ────────────────────────────────────────────── */
.node-pill{
    display:inline-flex;align-items:center;gap:.28rem;
    font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;
    padding:.12rem .42rem;border-radius:5px;
    background:rgba(var(--ac-rgb),.08);border:1px solid rgba(var(--ac-rgb),.2);
    color:var(--ac-200);letter-spacing:.03em;
}
.node-pill.online::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#34d399;margin-right:.1rem}
.node-pill.offline{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);color:var(--text-dim)}
.node-pill.offline::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#64748b;margin-right:.1rem}

/* ── Hot-reload indicator (dev mode) ───────────────────────────── */
.dev-hot-badge{
    position:fixed;top:.65rem;right:.65rem;z-index:10000;
    display:none;align-items:center;gap:.3rem;
    background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.35);
    border-radius:6px;padding:.22rem .5rem;font-size:.62rem;font-weight:700;
    font-family:'JetBrains Mono',monospace;color:#fbbf24;letter-spacing:.04em;
}
body.dev-mode .dev-hot-badge{display:flex}
.dev-hot-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:#fbbf24;animation:runPulse 1.5s infinite}
