/* vision-core-bundle.css — concatenated in index.html import order
 * Generated: 2026-05-29 — Vision Core V2.9.10
 */


/* === style.css === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');:root{--bg:#050505;--panel:#0a0a0c;--line:#2c2c36;--purple:#8b5cf6;--purple2:#a855f7;--green:#22c55e;--red:#ff4d5b;--yellow:#facc15;--cyan:#22d3ee;--text:#f4f4f5;--muted:#a1a1aa;--soft:#46464f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:400;letter-spacing:-.012em}a{text-decoration:none;color:inherit}.shell{width:min(1480px,calc(100% - 32px));margin:auto}.top{border-bottom:1px solid #202029;background:#050505;position:sticky;top:0;z-index:5}.topin{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:24px;font-weight:600;letter-spacing:-.025em}.sub{font-size:12px;letter-spacing:.10em;color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{background:#2f2f38;color:#fff;border:1px solid #4b4b58;border-radius:16px;padding:12px 17px;font-weight:500;cursor:pointer;font-family:inherit}.btn:hover{background:#3f3f4a;border-color:var(--purple)}.btn.github{background:#6d5dfc;border-color:#6d5dfc}.btn.ghost{background:#111217;border-color:#30303a}.btn.mini{padding:8px 10px;font-size:12px}.grid{display:grid;grid-template-columns:260px 1fr 340px;gap:16px;padding:16px 0}.panel{background:rgba(10,10,12,.96);border:1px solid var(--line);border-radius:14px;padding:18px}.logo{text-align:center}.logo h1{font-size:28px;font-weight:600;margin:14px 0 6px}.menu a{display:block;padding:13px 10px;color:#d4d4d8;border:1px solid transparent;border-radius:12px;font-weight:500}.menu a.active{background:#12121a;color:var(--purple2);border-left:3px solid var(--purple2)}.menu a:hover{border-color:#333;color:#fff}h1,h2,h3{font-weight:500;letter-spacing:-.025em;margin:0 0 14px}p{color:var(--muted);line-height:1.65}.eyebrow{color:var(--purple2);letter-spacing:.14em;font-size:12px}.hero-copy h2{font-size:38px}.mini-pipeline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.mini-pipeline span{border:1px solid #333;background:#050505;padding:9px 10px;border-radius:12px}.mini-pipeline b{color:var(--purple2)}.mission{width:100%;min-height:96px;background:var(--soft);color:#fff;border:1px solid #60606b;border-radius:28px;padding:20px;font:400 15px Inter,system-ui}.mission::placeholder{color:#a4a4af}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.select{background:#17171d;color:#fff;border:1px solid #31313a;border-radius:14px;padding:13px;flex:1;font:400 14px Inter,system-ui}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card,.tool{border:1px solid var(--line);border-radius:14px;background:#0b0b0f;padding:16px}.card strong,.tool strong{display:block;color:#fff;font-size:18px;font-weight:500}.card span,.tool span{display:block;color:var(--muted);font-size:13px;margin-top:6px}.gate{display:flex;justify-content:space-between;border-bottom:1px solid #222;padding:9px 0;gap:8px}.green{color:var(--green)}.cyan{color:var(--cyan)}.red{color:var(--red)}.yellow{color:var(--yellow)}.muted{color:#777}.bar{height:7px;background:#222;border-radius:20px;overflow:hidden}.bar span{display:block;height:100%;background:var(--green)}.health{display:grid;grid-template-columns:82px 1fr 44px;gap:10px;align-items:center;margin:13px 0}.logs-panel{opacity:.55;transition:.25s ease}.logs-panel.active{opacity:1}.log-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.logs{font-family:'JetBrains Mono','Cascadia Mono','Courier New',monospace;font-weight:400;font-size:13px;line-height:1.9;color:var(--muted);max-height:220px;overflow:auto}.timelineBox{display:grid;gap:10px}.timelineStep{display:grid;grid-template-columns:190px 80px 1fr;gap:12px;align-items:center;border:1px solid #24242d;border-radius:12px;padding:12px;background:#08080b}.timelineStep strong{color:#fff}.timelineStep span{text-transform:uppercase;color:var(--green);font-size:12px}.timelineStep small{color:var(--muted)}.diffViewer{background:#050507;border:1px solid #24242d;border-radius:12px;padding:14px;min-height:160px;color:#d4d4d8;overflow:auto}.scoreBig{font-size:34px;font-weight:600}.toolGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.github-panel{border-color:rgba(168,85,247,.45)}.github-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.github-status,.github-result{font-size:13px;color:#aeb0bb;line-height:1.7;margin-top:10px;word-break:break-word}.github-result a{color:var(--purple2);text-decoration:underline}.eye-wrap{display:grid;place-items:center;margin:8px auto}.ai-eye{position:relative;width:98px;height:58px;border:2px solid rgba(168,85,247,.85);border-radius:56% 44% 55% 45%/50% 48% 52% 50%;background:radial-gradient(circle at center,rgba(60,60,60,.9),#1a1a1a 62%,#090909);box-shadow:0 0 26px rgba(168,85,247,.5),inset 0 0 18px rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden}.pupil{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff 0 7%,#d8b4fe 8% 16%,#a855f7 34%,#6d28d9 65%,#111 100%);box-shadow:0 0 22px rgba(168,85,247,.9);transition:transform .25s ease}.ai-eye:before,.ai-eye:after{content:"";position:absolute;left:0;width:100%;height:0;background:#111;z-index:2;transition:height .9s cubic-bezier(.22,.61,.36,1)}.ai-eye:before{top:0;border-bottom:1px solid rgba(255,255,255,.12)}.ai-eye:after{bottom:0;border-top:1px solid rgba(255,255,255,.12)}.ai-eye:hover:before,.ai-eye:hover:after{height:50%}.ai-eye:hover .pupil{transform:scale(1.04) rotate(10deg)}#runtimeMonitor{position:fixed;right:18px;bottom:18px;z-index:10;font-size:12px;color:var(--green);display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.55);border:1px solid rgba(34,197,94,.35);padding:7px 10px;border-radius:999px;backdrop-filter:blur(6px)}#runtimeDot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.55}50%{transform:scale(1.45);opacity:1}100%{transform:scale(1);opacity:.55}}#runtimeMonitor.analyzing{color:var(--yellow);border-color:rgba(250,204,21,.35)}#runtimeMonitor.analyzing #runtimeDot{background:var(--yellow);animation-duration:.8s}@media(max-width:1180px){.grid{grid-template-columns:1fr}.cards,.toolGrid{grid-template-columns:1fr}.topin{align-items:flex-start;flex-direction:column;padding:14px 0}.hero-copy h2{font-size:32px}.timelineStep{grid-template-columns:1fr}}

/* ===== SaaS signup / pricing model ===== */
.saas-panel{border-color:rgba(59,130,246,.22);background:linear-gradient(180deg,rgba(21,21,28,.96),rgba(7,7,10,.96))}
.saas-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.plan{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;background:rgba(255,255,255,.025);cursor:pointer;transition:.18s ease;min-height:102px}
.plan:hover,.plan.active{border-color:rgba(124,58,237,.85);box-shadow:0 0 0 1px rgba(124,58,237,.25),0 0 30px rgba(124,58,237,.12);transform:translateY(-1px)}
.plan strong{display:block;color:#fff;font-size:16px;margin-bottom:8px}.plan span{display:block;color:#d7d7df;font-size:13px}.plan small{display:block;color:#8d90a0;margin-top:8px;line-height:1.45}
.signin-card{background:#fff;color:#080b12;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.signin-card h2{color:#0b1220;text-align:center;font-size:30px;margin:0 0 14px}.signin-card p{text-align:center;color:#111827;font-size:15px;line-height:1.45}.signin-card label{display:inline-block;background:#fff;color:#2563eb;padding:0 8px;margin:6px 0 -9px 12px;position:relative;z-index:1;font-size:14px}.signup-input{width:100%;height:60px;border:2px solid #2563eb;border-radius:7px;background:#fff;color:#111827;font-size:17px;padding:0 14px;outline:none;box-sizing:border-box}.signup-main{width:100%;height:58px;margin-top:18px;background:#2563eb;border-color:#2563eb;color:#fff;font-size:18px;justify-content:center}.or{display:flex;align-items:center;gap:14px;justify-content:center;color:#111827;margin:20px 0 14px}.or span{height:1px;background:#d1d5db;flex:1}.oauth{width:100%;height:56px;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:6px;margin:5px 0 10px;text-align:left;padding:0 20px;font-size:18px;display:flex;align-items:center;gap:18px;cursor:pointer}.oauth:hover{background:#f9fafb;border-color:#9ca3af}.oauth b{width:30px;text-align:center;font-size:22px}.signup-result{margin-top:10px;padding:10px;border-radius:10px;background:#f3f4f6;color:#374151;font-size:13px;line-height:1.6}
@media(max-width:1180px){.saas-grid,.plans{grid-template-columns:1fr}.signin-card{padding:18px}.signin-card h2{font-size:26px}}


/* ===== V10.2 SaaS Auth Popup Dark ===== */
.project-strip{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;margin:0 0 14px}.project-strip label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.dark-trigger{margin-top:16px}.inline-result{max-width:520px;background:#101018;color:#d7d7df;border:1px solid #2a2a34}.auth-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:90;display:none;place-items:center;padding:24px;backdrop-filter:blur(8px)}.auth-backdrop.show{display:grid}.auth-modal{position:relative;width:min(430px,100%);background:#050507;color:#f8fafc;border:1px solid #2f2f3a;border-radius:22px;padding:28px;box-shadow:0 30px 100px rgba(0,0,0,.75),0 0 60px rgba(124,58,237,.14)}.auth-modal h2{text-align:center;font-size:31px;margin-bottom:14px;color:#fff}.auth-modal p{text-align:center;color:#d5d7de;font-size:15px;line-height:1.5}.auth-modal label{display:inline-block;background:#050507;color:#8b5cf6;padding:0 8px;margin:8px 0 -9px 12px;position:relative;z-index:1;font-size:14px}.auth-modal .signup-input{background:#09090d;color:#fff;border:2px solid #6d5dfc;border-radius:8px;height:64px}.auth-primary{width:100%;height:60px;margin-top:20px;border:0;border-radius:8px;background:#6d5dfc;color:#fff;font-size:18px;font-weight:600;cursor:pointer}.auth-primary:hover{background:#7c6cff}.auth-modal .or{color:#d6d6dc}.auth-modal .or span{background:#2d2d36}.auth-modal .oauth{background:#08080c;color:#fff;border:1px solid #353541;border-radius:8px}.auth-modal .oauth:hover{background:#11111a;border-color:#6d5dfc}.auth-modal small{display:block;color:#9ca3af;line-height:1.5;margin-top:8px}.auth-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid #30303a;background:#0d0d12;color:#fff;font-size:22px;cursor:pointer}.google-mark{color:#fff}.queueBox{font-size:13px;margin-top:8px}.saas-grid{display:block}.signin-card{display:none}@media(max-width:720px){.project-strip{grid-template-columns:1fr}.auth-modal{padding:22px}.plans{grid-template-columns:1fr}}


/* ===== V10.2.2 UI PREMIUM FIX ===== */
body{background:radial-gradient(circle at 16% 8%, rgba(124,58,237,.13), transparent 28%),radial-gradient(circle at 84% 14%, rgba(34,211,238,.07), transparent 24%),#030304}.top{background:rgba(3,3,5,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.premium-logo{order:-3;padding:26px 18px 22px;background:linear-gradient(180deg,rgba(18,18,26,.98),rgba(7,7,10,.98));border-color:rgba(124,58,237,.28);box-shadow:0 0 45px rgba(124,58,237,.10),inset 0 1px 0 rgba(255,255,255,.04)}.premium-logo h1{font-size:30px;letter-spacing:-.04em;margin-top:16px}.premium-logo .marketing-link{display:inline-block;color:#fff;text-decoration:none;margin-top:12px;font-size:14px;line-height:1.35;opacity:.95}.premium-logo .marketing-link:hover{color:var(--purple2)}.eye-wrap{margin-top:4px;margin-bottom:8px;perspective:500px}.ai-eye{width:116px;height:68px;border-color:rgba(168,85,247,.95);background:radial-gradient(circle at 50% 50%,rgba(89,89,98,.86),#191923 58%,#070709 100%);box-shadow:0 0 34px rgba(168,85,247,.55),0 0 90px rgba(124,58,237,.22),inset 0 0 22px rgba(255,255,255,.08);animation:eyeFloat 4.8s ease-in-out infinite}.pupil{width:40px;height:40px;animation:pupilPulse 3.2s ease-in-out infinite}.ai-eye:before,.ai-eye:after{background:#050507;transition:height .55s cubic-bezier(.22,.61,.36,1)}.ai-eye:hover{transform:rotateX(2deg) rotateZ(-1deg);box-shadow:0 0 44px rgba(168,85,247,.78),0 0 120px rgba(124,58,237,.32)}.ai-eye:hover:before,.ai-eye:hover:after{height:50%}.ai-eye:hover .pupil{transform:scale(1.08) rotate(16deg)}@keyframes eyeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pupilPulse{0%,100%{box-shadow:0 0 18px rgba(168,85,247,.75)}50%{box-shadow:0 0 34px rgba(168,85,247,1)}}.side-auth-card{order:-2;margin-top:12px;background:rgba(8,8,12,.96);border-color:rgba(255,255,255,.10);padding:16px}.side-auth-kicker{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase;line-height:1}.side-signin{width:100%;height:48px;border-radius:16px;background:#111217;color:#fff;border:1px solid #30303a;font-weight:600;letter-spacing:.02em}.side-signin:hover{border-color:var(--purple2);background:#181821;box-shadow:0 0 30px rgba(124,58,237,.18)}.side-auth-card small{display:block;color:#8d90a0;font-size:11px;margin-top:10px;text-align:center;line-height:1.45}.premium-menu{margin-top:12px;background:rgba(5,5,8,.94);border-color:rgba(255,255,255,.08)}.menu a{letter-spacing:-.01em}.menu a.active{box-shadow:inset 0 0 0 1px rgba(168,85,247,.12),0 0 32px rgba(124,58,237,.08)}.auth-backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(14px)}.auth-modal{background:linear-gradient(180deg,#09090f,#030305);border-color:rgba(124,58,237,.34);box-shadow:0 34px 120px rgba(0,0,0,.88),0 0 90px rgba(124,58,237,.20),inset 0 1px 0 rgba(255,255,255,.04);animation:modalIn .18s ease-out}@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-primary{border-radius:14px;background:linear-gradient(135deg,#2563eb,#7c3aed)}.auth-modal .oauth{height:58px;border-radius:14px;background:#0b0b10}.auth-modal .oauth:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.25)}.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.btn.github{background:linear-gradient(135deg,#6d5dfc,#7c3aed)}.panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}@media(max-width:1180px){.side-auth-card,.premium-menu{margin-top:12px}.premium-logo{margin-top:0}.ai-eye{width:104px;height:62px}}

/* V10.2.3 precise layout fix: no Sign in card in left menu; operator auth card lives inside SaaS block */
.inline-auth-card{max-width:360px;margin:18px 0 10px;padding:16px;background:rgba(8,8,12,.96);border:1px solid rgba(255,255,255,.10);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.inline-auth-card .side-signin{height:54px;font-size:15px}
.hero-copy h2{letter-spacing:-.04em}

/* ===== MARKETING PAGE EXTRAS ===== */
.marketing-page .shell.marketing{display:grid;gap:18px;padding:24px 0 60px}
.marketing-block h2{font-size:28px;letter-spacing:-.035em}
.marketing-block .impact{color:var(--purple2);font-weight:600;font-size:17px;margin-top:14px}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.compare-box{border-radius:16px;padding:20px;border:1px solid}
.compare-box.wrong{border-color:rgba(255,77,91,.35);background:rgba(255,77,91,.05)}
.compare-box.right{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.05)}
.compare-box h3{font-size:16px;font-weight:600;margin-bottom:10px}
.compare-box p{margin:0;font-size:14px;color:var(--muted)}
.market-warning{background:rgba(250,204,21,.05);border:1px solid rgba(250,204,21,.30);border-radius:16px;padding:20px;margin-top:16px}
.market-warning h3{color:var(--yellow);font-size:15px;margin-bottom:12px}
.market-warning .vs-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.vs-col{border-radius:12px;padding:14px}
.vs-col.bad{background:rgba(255,77,91,.07);border:1px solid rgba(255,77,91,.2)}
.vs-col.good{background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.2)}
.vs-col .label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.vs-col .value{font-size:15px;font-weight:600;color:#fff}
.vs-col .result{font-size:12px;margin-top:6px}
.vs-col.bad .result{color:var(--red)}
.vs-col.good .result{color:var(--green)}
.competitor-list{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.competitor-tag{padding:8px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid}
.competitor-tag.bad{border-color:rgba(255,77,91,.35);color:var(--red);background:rgba(255,77,91,.06)}
.competitor-tag.good{border-color:rgba(168,85,247,.45);color:var(--purple2);background:rgba(168,85,247,.06)}
.differencial-box{margin-top:16px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.30);border-radius:16px;padding:20px}
.differencial-box p{margin:0;font-size:15px;line-height:1.65}
.loop-flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;padding:18px;background:rgba(5,5,8,.95);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.loop-flow span{padding:10px 14px;border-radius:12px;background:#0b0b10;border:1px solid #2b2b36;font-size:13px;font-weight:500;color:#fff}
.loop-flow b{color:var(--purple2);font-size:18px}
.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.roadmap-phase{background:#070709;border:1px solid #22222d;border-radius:16px;padding:18px}
.roadmap-phase h3{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--purple2);margin-bottom:12px}
.roadmap-phase li{color:var(--muted);font-size:13px;line-height:1.8;list-style:none;padding-left:0}
.roadmap-phase ul{padding:0;margin:0}
.ai-pitch-box{background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(34,211,238,.06));border:1px solid rgba(124,58,237,.30);border-radius:20px;padding:28px;margin-top:4px}
.ai-pitch-box .pitch-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.ai-pitch-box h2{font-size:30px;letter-spacing:-.04em;color:#fff;margin-bottom:14px}
.ai-pitch-box p{color:#c8cad4;font-size:15px;line-height:1.7;margin:0 0 12px}
.ai-pitch-box .cta-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
/* ===== OPENSQUAD PANEL ===== */
.menu-reserved{opacity:.75;display:flex!important;align-items:center;justify-content:space-between;gap:6px}
.menu-badge{font-size:9px;font-weight:700;letter-spacing:.12em;padding:2px 7px;border-radius:20px;background:rgba(139,92,246,.15);color:var(--purple2);border:1px solid rgba(139,92,246,.3);white-space:nowrap}
.opensquad-panel{border-color:rgba(139,92,246,.30);background:linear-gradient(180deg,rgba(12,8,20,.98),rgba(5,5,8,.98))}
.opensquad-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.opensquad-badge{padding:5px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.14em;background:rgba(139,92,246,.12);color:var(--purple2);border:1px solid rgba(139,92,246,.35);white-space:nowrap;margin-top:4px}
.opensquad-agents{display:flex;flex-direction:column;gap:6px;margin:14px 0}
.agent-slot{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #1e1e2a;background:#07070a}
.agent-slot.active{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.04)}
.agent-slot.reserved{border-color:rgba(139,92,246,.15);opacity:.8}
.agent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.agent-slot strong{display:block;font-size:13px;color:#fff;font-weight:600}
.agent-slot span{display:block;font-size:11px;color:var(--muted)}
.agent-status{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.10em;white-space:nowrap;flex-shrink:0}
.opensquad-flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px;padding:12px 14px;background:#050508;border:1px solid #1a1a22;border-radius:12px;font-size:12px}
.opensquad-flow span{padding:6px 10px;border-radius:8px;background:#0b0b10;border:1px solid #252530;font-weight:500;color:#d4d4d8}
.opensquad-flow b{color:var(--purple2)}

/* ===== CHECKLIST DO FUNDADOR ===== */
.checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.checklist-col{background:#06060a;border:1px solid #1e1e2a;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px}
.checklist-header{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;padding-bottom:10px;border-bottom:1px solid #1e1e2a}
.checklist-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #111}
.checklist-item:last-child{border-bottom:none;padding-bottom:0}
.check{font-size:14px;flex-shrink:0;margin-top:1px;color:var(--green)}
.checklist-item strong{display:block;font-size:13px;color:#fff;font-weight:600;margin-bottom:3px}
.checklist-item span{display:block;font-size:12px;color:var(--muted);line-height:1.55}
.checklist-item code{background:#111;border:1px solid #2a2a35;border-radius:5px;padding:1px 5px;font-size:11px;color:var(--cyan)}
.checklist-item.done{opacity:1}
.checklist-item.pending{opacity:.9}
.checklist-item.future{opacity:.75}
/* ===== SO PARA IA ===== */
.so-ia-section{background:linear-gradient(160deg,rgba(10,5,20,.98),rgba(5,5,8,.98));border-color:rgba(124,58,237,.25)}
.so-ia-header{margin-bottom:24px}
.so-ia-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.14em;background:rgba(124,58,237,.15);color:var(--purple2);border:1px solid rgba(124,58,237,.35);margin-bottom:12px}
.so-ia-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.so-ia-card{background:#07070c;border:1px solid #1e1e2a;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.so-ia-icon{font-size:24px;line-height:1}
.so-ia-card h3{font-size:14px;font-weight:600;color:#fff;margin:0}
.so-ia-card p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}
.loop-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;background:#050508;border:1px solid #1a1a22;border-radius:16px;padding:20px;margin-top:16px}
.loop-col{display:flex;flex-direction:column;gap:6px}
.loop-col-title{font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px}
.loop-item{font-size:12px;color:var(--muted);padding:6px 10px;border-radius:8px;background:#0a0a0f;border:1px solid #1e1e2a}
.loop-arrow{font-size:28px;color:var(--purple2);display:flex;align-items:center;justify-content:center;padding-top:24px}
/* ===== TIMELINE ===== */
.timeline-vc{display:flex;flex-direction:column;gap:0;position:relative;padding-left:28px}
.timeline-vc::before{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--purple2),var(--green));border-radius:2px}
.tl-item{display:flex;gap:16px;align-items:flex-start;padding-bottom:28px;position:relative}
.tl-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;margin-top:4px;position:relative;z-index:1;box-shadow:0 0 8px currentColor}
.tl-dot-pulse{animation:tlPulse 2s ease-in-out infinite}
@keyframes tlPulse{0%,100%{box-shadow:0 0 6px var(--green)}50%{box-shadow:0 0 18px var(--green),0 0 30px rgba(34,197,94,.3)}}
.tl-content{flex:1;background:#07070c;border:1px solid #1e1e2a;border-radius:14px;padding:16px 18px}
.tl-current .tl-content{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.03)}
.tl-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tl-version{font-size:13px;font-weight:700;color:var(--purple2);letter-spacing:.06em}
.tl-badge{font-size:10px;font-weight:700;letter-spacing:.10em;padding:3px 8px;border-radius:20px}
.tl-title{font-size:15px;font-weight:600;color:#fff;margin:0 0 8px}
.tl-desc{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 10px}
.tl-desc code{background:#111;border:1px solid #2a2a35;border-radius:5px;padding:1px 5px;font-size:11px;color:var(--cyan)}
.tl-tags{display:flex;flex-wrap:wrap;gap:6px}
.tl-tags span{font-size:11px;padding:3px 8px;border-radius:20px;background:#111;border:1px solid #252530;color:var(--muted)}
.tl-current-bar{margin-top:12px;padding:8px 12px;border-radius:8px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);font-size:12px;color:var(--green);display:flex;align-items:center;gap:8px}
.tl-live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;animation:tlPulse 1.5s ease-in-out infinite}
/* ===== GARGALOS ===== */
.bottleneck-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.bn-card{background:#07070c;border:1px solid;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px}
.bn-card.bn-high{border-color:rgba(255,77,91,.25);background:rgba(255,77,91,.03)}
.bn-card.bn-medium{border-color:rgba(250,204,21,.20);background:rgba(250,204,21,.02)}
.bn-card.bn-low{border-color:rgba(34,197,94,.20);background:rgba(34,197,94,.02)}
.bn-header{display:flex;align-items:flex-start;gap:10px}
.bn-icon{font-size:18px;flex-shrink:0;margin-top:2px}
.bn-label{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:3px}
.bn-card h3{font-size:14px;font-weight:600;color:#fff;margin:0}
.bn-card p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}
.bn-card code{background:#111;border:1px solid #2a2a35;border-radius:5px;padding:1px 5px;font-size:11px;color:var(--cyan)}
.bn-fix{font-size:12px;color:#a1a1aa;background:#0b0b10;border:1px solid #1e1e2a;border-radius:8px;padding:8px 12px;line-height:1.5}
.bn-fix strong{color:#fff}
@media(max-width:760px){.so-ia-grid{grid-template-columns:1fr 1fr}.loop-comparison{grid-template-columns:1fr}.loop-arrow{display:none}.bottleneck-grid{grid-template-columns:1fr}}

/* ===== FEATURE CARDS ===== */
.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.feature-card{background:#06060a;border:1px solid #1e1e2a;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.feature-icon{width:44px;height:44px;border-radius:12px;border:1px solid;display:grid;place-items:center;font-size:20px;margin-bottom:4px}
.feature-card h3{font-size:16px;font-weight:600;color:#fff;margin:0}
.feature-card p{font-size:13px;color:var(--muted);line-height:1.65;margin:0;flex:1}
.feature-card code{background:#111;border:1px solid #2a2a35;border-radius:6px;padding:2px 6px;font-size:12px;color:var(--cyan)}
.feature-tag{display:inline-block;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.10em;border:1px solid;margin-top:6px;background:transparent}
/* ===== MOAT GRID ===== */
.moat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.moat-card{background:#06060a;border:1px solid #1e1e2a;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px}
.moat-header{display:flex;align-items:flex-start;gap:14px}
.moat-icon{font-size:28px;line-height:1}
.moat-header h3{font-size:16px;font-weight:600;color:#fff;margin:0 0 4px}
.moat-sub{font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--muted)}
.moat-card p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.moat-card code{background:#111;border:1px solid #2a2a35;border-radius:6px;padding:2px 6px;font-size:12px;color:var(--cyan)}
.moat-metric{display:flex;align-items:center;gap:8px;background:#0b0b10;border:1px solid #222;border-radius:12px;padding:10px 14px;margin-top:4px;flex-wrap:wrap}
.moat-metric span{font-size:12px;font-weight:500;color:#d4d4d8}
.moat-metric b{color:var(--purple2);font-size:14px}
@media(max-width:760px){.compare-grid,.market-warning .vs-row,.roadmap-grid,.feature-cards,.moat-grid{grid-template-columns:1fr}}

/* ===== V10.2.4 AI API VAULT + STARTUP LANDING ===== */
.ai-api-panel{border-color:rgba(34,211,238,.28);background:linear-gradient(180deg,rgba(8,12,16,.98),rgba(5,5,8,.98))}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.provider{background:#08080c;color:#fff;border:1px solid #2b2b36;border-radius:15px;padding:14px;text-align:left;cursor:pointer;font-family:inherit;transition:.18s ease}.provider strong{display:block;font-size:15px}.provider span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.provider:hover,.provider.active{border-color:var(--cyan);box-shadow:0 0 28px rgba(34,211,238,.12);transform:translateY(-1px)}.api-form{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;margin-top:12px}.api-form label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.api-input{background:#09090d;color:#fff;border:1px solid #31313a;border-radius:14px;padding:13px;font:400 14px Inter,system-ui;outline:none}.api-input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.12)}.ai-provider-status{margin-top:12px;background:#08080c;border:1px solid #24242d;border-radius:12px;padding:12px;color:var(--muted);font-size:13px;line-height:1.6}.landing-body{background:radial-gradient(circle at 10% 0%,rgba(124,58,237,.20),transparent 30%),radial-gradient(circle at 85% 8%,rgba(34,211,238,.12),transparent 26%),#030304}.landing-shell{width:min(1180px,calc(100% - 36px));margin:0 auto}.startup-hero{min-height:620px;display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}.startup-hero h1{font-size:64px;line-height:.98;letter-spacing:-.06em;margin-bottom:24px}.hero-lead{font-size:20px;color:#c8cad4;max-width:780px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.startup-card{background:rgba(10,10,14,.92);border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.terminal-card{font-family:'JetBrains Mono','Cascadia Mono',monospace;font-size:15px;line-height:2}.terminal-line{border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0}.purple{color:var(--purple2)}.startup-section{padding:70px 0}.startup-section h2{font-size:42px;letter-spacing:-.045em}.startup-flow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}.startup-flow span{padding:14px 18px;border-radius:16px;background:#08080c;border:1px solid #292934;font-weight:600}.startup-flow b{color:var(--purple2)}.startup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:30px 0 70px}.startup-card h3{font-size:22px}.split{display:grid;grid-template-columns:1fr .8fr;gap:22px;align-items:center}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.price-card{background:#07070a;border:1px solid #272733;border-radius:22px;padding:24px}.price-card strong{display:block;font-size:30px;margin:12px 0;color:#fff}.price-card.featured{border-color:var(--purple2);box-shadow:0 0 40px rgba(124,58,237,.18)}.startup-cta{text-align:center;padding:80px 0 110px}.startup-cta h2{font-size:46px}@media(max-width:980px){.startup-hero,.startup-grid,.split,.pricing-grid{grid-template-columns:1fr}.startup-hero{min-height:auto;padding:70px 0 30px}.startup-hero h1{font-size:44px}.provider-grid,.api-form{grid-template-columns:1fr}.startup-section h2,.startup-cta h2{font-size:34px}}

/* ===== VISION CORE DEVOPS AI COMPACT MODE ===== */
body{font-size:13px}.topin{min-height:58px}.brand{font-size:21px}.sub{font-size:11px;letter-spacing:.12em}.btn{padding:10px 14px;font-size:12px}.btn.agent-download{background:linear-gradient(135deg,#0ea5e9,#22c55e);border-color:rgba(34,197,94,.45);color:#02110a;font-weight:800}.btn.agent-download:hover{filter:brightness(1.08);box-shadow:0 0 30px rgba(34,197,94,.20)}.btn.agent-download.full{display:block;text-align:center;margin:12px 0}.grid{grid-template-columns:250px 1fr 320px;gap:14px;padding:14px 0}.panel{padding:14px;border-radius:13px}h1,h2,h3{margin-bottom:10px}.panel h2{font-size:18px}.hero-copy h2{font-size:30px;line-height:1.12}.hero-copy p,.panel p{font-size:13px;line-height:1.45}.eyebrow{font-size:10px}.menu a{padding:10px 9px;font-size:13px}.logo h1{font-size:24px}.mission{min-height:72px;border-radius:22px;padding:15px 18px;font-size:13px}.select{padding:10px 12px;font-size:12px}.compact-select{max-width:145px}.mini-pipeline{gap:7px}.mini-pipeline span{padding:7px 9px;font-size:12px}.gate{padding:7px 0;font-size:13px}.health{grid-template-columns:70px 1fr 38px;margin:9px 0;font-size:12px}.cards{gap:9px}.card,.tool{padding:12px}.card strong,.tool strong{font-size:14px}.card span,.tool span{font-size:11px}.logs-panel{opacity:1;border-color:rgba(34,211,238,.35);background:linear-gradient(180deg,rgba(3,9,14,.98),rgba(4,4,7,.98))}.logs{max-height:360px;min-height:300px;font-size:11px;line-height:1.55;background:#030409;border:1px solid rgba(34,211,238,.12);border-radius:12px;padding:10px}.log-head h2{font-size:16px;color:var(--cyan)}.timelineStep{grid-template-columns:150px 62px 1fr;padding:9px;font-size:12px}.diffViewer{min-height:220px;font-size:12px}.agent-download-panel{border-color:rgba(34,197,94,.30);background:linear-gradient(180deg,rgba(6,18,12,.92),rgba(5,5,8,.98))}.agent-cmd{font-family:'JetBrains Mono','Cascadia Mono',monospace;font-size:11px;line-height:1.7;color:#b7ffd1;background:#020704;border:1px solid rgba(34,197,94,.22);border-radius:10px;padding:10px;margin-top:10px}.agent-download-panel p{font-size:12px}.project-strip{gap:8px}.project-strip label{font-size:10px}.plans{gap:8px}.plan{padding:10px}.plan strong{font-size:14px}.plan span,.plan small{font-size:11px}@media(max-width:1180px){.grid{grid-template-columns:1fr}.logs{max-height:300px}}

/* ===== DEVOPS AI LANDING STORYTELLING ===== */
.devops-landing .landing-shell{width:min(1180px,calc(100% - 32px))}.story-hero{min-height:620px;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:54px 0 28px}.story-hero h1{font-size:64px;line-height:.95;letter-spacing:-.065em;margin:0 0 22px;background:linear-gradient(90deg,#fff,#93c5fd,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.section-lead{max-width:820px;color:#cbd5e1}.devops-terminal{position:relative;overflow:hidden}.devops-terminal:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 20% 0%,rgba(34,211,238,.15),transparent 38%),radial-gradient(circle at 100% 100%,rgba(34,197,94,.12),transparent 36%);pointer-events:none}.compact-pillar-grid .so-ia-card{min-height:142px;border-color:rgba(34,211,238,.16);transition:.22s ease}.compact-pillar-grid .so-ia-card:hover{transform:translateY(-3px);border-color:rgba(34,211,238,.42);box-shadow:0 0 34px rgba(34,211,238,.10)}.loop-story{padding-top:42px}.interactive-loop{grid-template-columns:1fr 70px 1fr;border-color:rgba(255,255,255,.10);background:linear-gradient(90deg,rgba(239,68,68,.05),rgba(5,5,8,.95) 48%,rgba(34,197,94,.05));padding:22px}.interactive-loop .loop-item{display:grid;grid-template-columns:34px 1fr;gap:4px 10px;padding:10px 12px;border-radius:12px}.interactive-loop .loop-item b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;grid-row:1/3;font-size:12px}.interactive-loop .loop-item span{font-weight:700;color:#fff}.interactive-loop .loop-item small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.45}.manual-loop .loop-item{border-color:rgba(255,77,91,.18);background:rgba(255,77,91,.045)}.manual-loop .loop-item b{background:rgba(255,77,91,.15);color:#ff7b86;border:1px solid rgba(255,77,91,.35)}.vision-loop .loop-item{border-color:rgba(34,197,94,.18);background:rgba(34,197,94,.045)}.vision-loop .loop-item b{background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.35)}.interactive-loop .loop-arrow{font-size:44px;color:var(--cyan);align-self:center;padding:0}.blue{background:rgba(56,189,248,.13);color:#7dd3fc;border:1px solid rgba(56,189,248,.25)}.purple{background:rgba(168,85,247,.13);color:#c084fc;border:1px solid rgba(168,85,247,.28)}.cyan{background:rgba(34,211,238,.12);color:#67e8f9;border:1px solid rgba(34,211,238,.24)}.live-badge{background:rgba(34,197,94,.13);color:#86efac;border:1px solid rgba(34,197,94,.32);animation:vcLivePulse 1.5s infinite}@keyframes vcLivePulse{0%,100%{box-shadow:0 0 0 rgba(34,197,94,0)}50%{box-shadow:0 0 18px rgba(34,197,94,.32)}}.devops-timeline .tl-content{transition:.22s ease}.devops-timeline .tl-content:hover{transform:translateX(4px);border-color:rgba(34,211,238,.30)}.proof-gallery{padding-top:30px}.trajectory-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.trajectory-gallery img{width:100%;height:330px;object-fit:cover;object-position:top;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:#050507;box-shadow:0 18px 60px rgba(0,0,0,.35)}.agent-cta-card{display:grid;grid-template-columns:1fr 430px;gap:22px;align-items:center;background:linear-gradient(135deg,rgba(34,211,238,.07),rgba(34,197,94,.06));border:1px solid rgba(34,211,238,.22);border-radius:24px;padding:26px}.agent-download-box{background:#05070a;border:1px solid rgba(34,197,94,.25);border-radius:18px;padding:18px}.agent-download-box .big{width:100%;text-align:center;margin-bottom:14px}.agent-download-box code{display:block;white-space:pre-line;color:#b7ffd1;background:#020704;border:1px solid rgba(34,197,94,.18);border-radius:12px;padding:14px;font-size:12px;line-height:1.7}.devops-landing .startup-cta{padding:58px 0 90px}.devops-landing .startup-cta h2{font-size:44px;letter-spacing:-.045em}@media(max-width:980px){.story-hero,.agent-cta-card{grid-template-columns:1fr}.story-hero h1{font-size:44px}.trajectory-gallery{grid-template-columns:1fr}.trajectory-gallery img{height:auto}.interactive-loop{grid-template-columns:1fr}.interactive-loop .loop-arrow{display:none}.so-ia-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.so-ia-grid{grid-template-columns:1fr}.top-actions{width:100%}.top-actions .btn{flex:1;text-align:center}.story-hero h1{font-size:36px}}

/* =========================================================
   PROVAS VISUAIS — FULL WIDTH / SEM CORTE
   ========================================================= */
.proof-gallery-full{padding-top:44px;}
.proof-gallery-full .section-lead{max-width:980px;margin-bottom:24px;}
.trajectory-gallery-full{display:flex !important;flex-direction:column !important;gap:34px !important;width:100%;}
.trajectory-frame{margin:0;width:100%;background:linear-gradient(180deg,rgba(10,14,22,.96),rgba(2,4,8,.98));border:1px solid rgba(34,211,238,.22);border-radius:24px;padding:14px;box-shadow:0 22px 70px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.025);overflow:visible;}
.trajectory-frame figcaption{font-size:13px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc;margin:0 0 12px;font-weight:800;}
.trajectory-gallery-full img,.trajectory-frame img{display:block !important;width:100% !important;max-width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;object-position:center top !important;border-radius:18px !important;border:1px solid rgba(255,255,255,.10) !important;background:#02040a;box-shadow:0 12px 42px rgba(0,0,0,.38);}
@media(max-width:720px){.trajectory-frame{padding:8px;border-radius:16px}.trajectory-frame figcaption{font-size:11px;margin-bottom:8px}.trajectory-frame img{border-radius:12px !important}}

/* ===== TRAJETÓRIA IMAGES (about.html) ===== */
.traj-images{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 32px}
.traj-img-wrap{background:linear-gradient(180deg,rgba(10,14,22,.96),rgba(2,4,8,.98));border:1px solid rgba(124,58,237,.20);border-radius:18px;padding:10px;overflow:hidden}
.traj-img-wrap img{width:100%;height:280px;object-fit:cover;object-position:top;border-radius:12px;display:block;border:1px solid rgba(255,255,255,.08);transition:.3s ease}
.traj-img-wrap img:hover{transform:scale(1.02);object-position:center}
.traj-img-label{font-size:11px;color:var(--muted);text-align:center;margin-top:8px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:760px){.traj-images{grid-template-columns:1fr}}


/* ══════════════════════════════════════════════════════════════════
   MISSION CONTROL ORB — V2.0 Interativo
═══════════════════════════════════════════════════════════════════ */
.mc-panel{padding:16px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(8,8,14,.98),rgba(5,5,8,.98));border-color:rgba(168,85,247,.3)}
.mc-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(124,58,237,.12),transparent 68%);pointer-events:none}

/* Orb container */
.mc-orb-wrap{position:relative;width:240px;height:240px;margin:10px auto 14px;display:grid;place-items:center}

/* Anéis */
.mc-ring{position:absolute;border-radius:50%;border:1px solid;animation:mcSpin linear infinite}
.mc-ring-1{width:160px;height:160px;border-color:rgba(168,85,247,.35);animation-duration:18s}
.mc-ring-2{width:204px;height:204px;border-color:rgba(34,211,238,.2);animation-duration:32s;animation-direction:reverse}
.mc-ring-3{width:238px;height:238px;border-color:rgba(255,255,255,.07);animation-duration:55s}
@keyframes mcSpin{to{transform:rotate(360deg)}}

/* Núcleo central */
.mc-core{position:absolute;width:72px;height:72px;display:grid;place-items:center;cursor:default;z-index:4}
.mc-core-hex{position:absolute;width:64px;height:64px;background:linear-gradient(135deg,rgba(124,58,237,.9),rgba(34,211,238,.7));clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);animation:mcHexPulse 3.5s ease-in-out infinite;box-shadow:0 0 32px rgba(124,58,237,.6)}
@keyframes mcHexPulse{0%,100%{box-shadow:0 0 22px rgba(124,58,237,.5),0 0 45px rgba(124,58,237,.2)}50%{box-shadow:0 0 38px rgba(124,58,237,.85),0 0 70px rgba(34,211,238,.25)}}
.mc-core-status{position:relative;z-index:2;font-size:9px;font-weight:700;letter-spacing:.18em;color:#fff;text-shadow:0 0 12px rgba(168,85,247,.9);margin-bottom:2px}
.mc-core-sub{position:relative;z-index:2;font-size:7px;color:rgba(255,255,255,.55);letter-spacing:.12em}
.mc-core.running .mc-core-hex{animation-duration:1.2s;background:linear-gradient(135deg,rgba(34,197,94,.9),rgba(34,211,238,.8))}
.mc-core.blocked .mc-core-hex{background:linear-gradient(135deg,rgba(255,77,91,.85),rgba(239,68,68,.7))}

/* Nós orbitais */
.mc-node{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:5;transition:.2s ease}
.mc-node-icon{width:30px;height:30px;border-radius:50%;background:rgba(10,10,14,.95);border:1px solid rgba(168,85,247,.4);display:grid;place-items:center;font-size:13px;color:var(--purple2);transition:.2s;box-shadow:0 0 14px rgba(124,58,237,.25)}
.mc-node-label{font-size:7.5px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.7);text-align:center;margin-top:3px;line-height:1.3}
.mc-node-label small{color:rgba(255,255,255,.4);font-weight:400;display:block}
.mc-node:hover .mc-node-icon{transform:scale(1.18);border-color:var(--cyan);box-shadow:0 0 22px rgba(34,211,238,.45);color:var(--cyan)}

/* Posições dos nós (12h → sentido horário) */
.mc-node--top   {top:5%;left:50%;transform:translate(-50%,-50%)}
.mc-node--tr    {top:18.2%;left:81.8%;transform:translate(-50%,-50%)}
.mc-node--right {top:50%;left:95%;transform:translate(-50%,-50%)}
.mc-node--br    {top:81.8%;left:81.8%;transform:translate(-50%,-50%)}
.mc-node--bottom{top:95%;left:50%;transform:translate(-50%,-50%)}
.mc-node--left  {top:81.8%;left:18.2%;transform:translate(-50%,-50%)}
.mc-node--tl    {top:50%;left:5%;transform:translate(-50%,-50%)}

/* Tooltip */
.mc-tooltip{position:absolute;background:rgba(6,6,12,.96);border:1px solid rgba(168,85,247,.4);border-radius:10px;padding:8px 11px;font-size:11px;color:#e4e4f0;pointer-events:none;opacity:0;transition:.15s;z-index:20;white-space:nowrap;backdrop-filter:blur(8px);box-shadow:0 8px 28px rgba(0,0,0,.6)}
.mc-tooltip.visible{opacity:1}

/* Métricas estilo LionClaw */
.mc-metrics-header{display:flex;justify-content:space-between;align-items:center;margin:12px 0 8px}
.mc-live-badge{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--green);animation:mcLive 1.6s infinite}
@keyframes mcLive{0%,100%{opacity:.6}50%{opacity:1}}
.mc-metrics-grid{display:flex;flex-direction:column;gap:5px}
.mc-metric-row{display:grid;grid-template-columns:80px 1fr 46px;gap:8px;align-items:center}
.mc-metric-name{font-size:10px;color:rgba(255,255,255,.7);font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-metric-bar-wrap{background:rgba(255,255,255,.06);border-radius:20px;height:5px;overflow:hidden}
.mc-metric-bar{height:100%;border-radius:20px;transition:width .8s cubic-bezier(.34,1.56,.64,1)}
.mc-metric-val{font-size:10px;font-weight:600;text-align:right}

/* Custo total */
.mc-cost-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.mc-cost-label{font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.45)}
.mc-cost-val{font-size:14px;font-weight:600;color:var(--yellow)}

/* Tabs */
.mc-tabs{display:flex;gap:6px;margin:12px 0 8px}
.mc-tab{flex:1;background:rgba(10,10,14,.8);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px;font:500 10px Inter,system-ui;color:rgba(255,255,255,.5);cursor:pointer;letter-spacing:.1em;transition:.15s}
.mc-tab.active{background:rgba(124,58,237,.2);border-color:rgba(168,85,247,.5);color:var(--purple2)}
.mc-tab-pane{display:none}
.mc-tab-pane.active{display:block}

/* Pipeline status mini */
.mc-pipeline-status{display:flex;flex-direction:column;gap:4px}
.mc-ps-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.mc-ps-label{font-size:11px;color:rgba(255,255,255,.6)}
.mc-ps-badge{font-size:9px;font-weight:700;letter-spacing:.12em;padding:2px 7px;border-radius:6px}
.mc-ps-badge.ok{background:rgba(34,197,94,.15);color:var(--green);border:1px solid rgba(34,197,94,.3)}
.mc-ps-badge.gold{background:rgba(250,204,21,.15);color:var(--yellow);border:1px solid rgba(250,204,21,.3)}
.mc-ps-badge.fail{background:rgba(255,77,91,.15);color:var(--red);border:1px solid rgba(255,77,91,.3)}
.mc-ps-badge.warn{background:rgba(250,204,21,.12);color:var(--yellow);border:1px solid rgba(250,204,21,.25)}

/* V2.7.1 — HERO REPOSICIONADO ABAIXO DO MISSION CONTROL */
.hero-under-mission{
  margin:18px 0 22px 0;
  background:rgba(10,10,18,.72);
  border-color:rgba(168,85,247,.24);
}
#mission .hero-under-mission h2{ margin-top:8px; }

/* === v23-ui-system.css === */
/* VISION CORE V2.3 UI SYSTEM PATCH */
:root{--bg:#030306;--panel:#07070c;--panel2:#0b0712;--line:rgba(168,85,247,.22);--purple:#7c3aed;--purple2:#a855f7;--purple3:#c084fc;--cyan:#a855f7;--soft:#4a4a55;--text:#f8f7ff;--muted:#a7a1b8}html{background:#030306}body{background:radial-gradient(circle at 4% 2%,rgba(168,85,247,.18),transparent 28%),radial-gradient(circle at 82% 16%,rgba(124,58,237,.12),transparent 30%),linear-gradient(180deg,#030306 0%,#05030a 48%,#030306 100%)!important;color:var(--text)}.shell{width:min(1540px,calc(100% - 28px))}.top{background:rgba(3,3,6,.96)!important;border-bottom:1px solid rgba(168,85,247,.20)!important;box-shadow:0 8px 28px rgba(0,0,0,.38);backdrop-filter:blur(10px)}.topin{min-height:68px}.v23-brand-block{display:flex;align-items:center;gap:14px}.v23-top-eye{width:58px;height:40px;display:grid;place-items:center;flex:0 0 auto}.v23-eye{position:relative;width:54px;height:32px;border:2px solid rgba(168,85,247,.88);border-radius:58% 42% 58% 42%/50%;background:radial-gradient(circle at 50% 50%,rgba(168,85,247,.26),rgba(9,7,15,.96) 64%,#030306 100%);box-shadow:0 0 20px rgba(168,85,247,.55),inset 0 0 14px rgba(255,255,255,.06);display:grid;place-items:center;overflow:hidden}.v23-pupil{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 9%,#ddd6fe 10% 18%,#a855f7 38%,#5b21b6 72%,#090014 100%);box-shadow:0 0 22px rgba(168,85,247,.95);animation:v23PupilPulse 2.6s ease-in-out infinite}.v23-eye:before,.v23-eye:after{content:"";position:absolute;left:0;width:100%;height:0;background:#030306;z-index:2;transition:height .65s cubic-bezier(.2,.8,.2,1)}.v23-eye:before{top:0;border-bottom:1px solid rgba(255,255,255,.12)}.v23-eye:after{bottom:0;border-top:1px solid rgba(255,255,255,.12)}.v23-eye:hover:before,.v23-eye:hover:after{height:50%}.v23-eye:hover .v23-pupil{transform:scale(1.08) rotate(8deg)}@keyframes v23PupilPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.brand{font-size:22px;font-weight:700;letter-spacing:-.035em}.sub{color:#a79db9!important;letter-spacing:.13em}.grid{grid-template-columns:260px minmax(620px,1fr) 360px;gap:16px}.panel{background:linear-gradient(180deg,rgba(10,8,16,.96),rgba(4,4,8,.98))!important;border:1px solid rgba(168,85,247,.22)!important;box-shadow:0 18px 70px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.015)}.panel:hover{border-color:rgba(168,85,247,.36)!important}.btn{background:#24202d;border-color:rgba(168,85,247,.30);border-radius:15px}.btn:hover{background:#332647;border-color:rgba(192,132,252,.75);box-shadow:0 0 22px rgba(168,85,247,.18)}.btn.github,.btn.agent-download,.btn:not(.ghost):not(.mini){background:linear-gradient(135deg,#7c3aed,#a855f7);border-color:#a855f7}.btn.agent-download{background:linear-gradient(135deg,#9333ea,#6d28d9)}.menu a.active{background:linear-gradient(90deg,rgba(124,58,237,.30),rgba(168,85,247,.08));border-left-color:#a855f7;color:#e9d5ff}.menu a:hover{border-color:rgba(168,85,247,.35);color:#fff;background:rgba(168,85,247,.06)}.premium-logo .eye-wrap{display:none!important}.premium-logo{padding:16px!important;text-align:left!important}.premium-logo h1{font-size:22px;margin:0 0 8px!important}.premium-logo .cyan{display:inline-block;color:#c084fc!important;border:1px solid rgba(168,85,247,.40);background:rgba(168,85,247,.10);padding:7px 12px;border-radius:8px}.marketing-link{display:block;color:#d8d1e8;margin-top:10px}.hero-copy h2{font-size:34px}.eyebrow{color:#b26cff!important}.mission{background:#50505a!important;border:1px solid #666674!important;color:#fff!important;border-radius:22px!important;min-height:96px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.mission::placeholder{color:#c4c4cf!important}.select{background:#111019!important;border-color:rgba(168,85,247,.25)!important}.mc-panel{padding:16px!important}.mc-orb-wrap{width:188px!important;height:188px!important;margin:6px auto 10px!important}.mc-ring-1{width:124px!important;height:124px!important}.mc-ring-2{width:158px!important;height:158px!important}.mc-ring-3{width:184px!important;height:184px!important}.mc-core{width:56px!important;height:56px!important}.mc-core-hex{width:50px!important;height:50px!important;background:linear-gradient(135deg,#7c3aed,#a855f7)!important}.mc-core-status{font-size:8px!important}.mc-core-sub{font-size:6px!important}.mc-node-icon{width:25px!important;height:25px!important;font-size:11px!important;border-color:rgba(168,85,247,.58)!important;color:#c084fc!important}.mc-node-label{font-size:6.5px!important}.mc-node--tr{right:-3%!important}.mc-node--right{right:-12px!important}.mc-node--br{right:-3%!important}.mc-node--tl{left:-3%!important}.mc-node--left{left:-12px!important}.mc-metrics-grid .mc-metric-row,.mc-pipeline-status .mc-ps-row{background:rgba(168,85,247,.035);border-color:rgba(168,85,247,.13)}.bar span,.mc-metric-bar{background:linear-gradient(90deg,#7c3aed,#c084fc)!important}.green{color:#22c55e!important}.cyan{color:#c084fc!important}.yellow{color:#facc15!important}.logs{background:#050409;border:1px solid rgba(168,85,247,.18);border-radius:12px;padding:12px}#runtimeMonitor{border-color:rgba(168,85,247,.42)!important;color:#c084fc!important;background:rgba(6,3,12,.72)!important}#runtimeDot{background:#a855f7!important}@media(max-width:1180px){.grid{grid-template-columns:1fr}.v23-brand-block{align-items:flex-start}.top-actions{width:100%}.top-actions .btn{flex:1;text-align:center}.premium-logo{text-align:center!important}}

/* === v231-colors-agents.css === */

/* VISION CORE V2.3.4 — cores finais + métricas/agentes */
:root{
  --vc-black:#030306;
  --vc-panel:#07080d;
  --vc-card:#101116;
  --vc-line:rgba(255,255,255,.10);
  --vc-purple:#9b4dff;
  --vc-purple2:#6d28d9;
  --vc-violet:#a855f7;
  --vc-cyan:#22d3ee;
  --vc-green:#00d084;
  --vc-yellow:#facc15;
  --vc-orange:#f59e0b;
  --vc-pink:#f472b6;
  --vc-blue:#3b82f6;
}

/* topo igual ao print escolhido */
.top .shell.topin{width:min(1580px,calc(100% - 28px));gap:16px}
.v231-topnav{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:12px;height:68px}
.v231-topnav a{
  color:#f7f2ff;text-decoration:none;font-weight:800;font-size:13px;
  padding:22px 6px 18px;border-bottom:3px solid transparent;
  opacity:.9;white-space:nowrap;letter-spacing:-.01em
}
.v231-topnav a:hover,.v231-topnav a.active{
  color:#fff;border-bottom-color:var(--vc-purple);text-shadow:0 0 14px rgba(168,85,247,.7)
}
.top-actions{gap:10px}
.top-actions .btn{height:42px;padding:0 20px;border-radius:16px;font-weight:900}
.btn.github{
  background:linear-gradient(135deg,#7c3aed,#a855f7)!important;
  color:#fff!important;border-color:#a855f7!important;
  box-shadow:0 0 26px rgba(168,85,247,.24)
}
.btn.agent-download{
  background:linear-gradient(135deg,#06b6d4,#22c55e)!important;
  color:#030306!important;border-color:rgba(34,211,238,.8)!important;
  box-shadow:0 0 26px rgba(34,211,238,.18)
}
.top-actions .btn[href="#mission"], .top-actions a.btn:not(.ghost):not(.github):not(.agent-download){
  background:linear-gradient(135deg,#7c3aed,#b453ff)!important;
  color:#fff!important;border-color:#a855f7!important
}
.btn.ghost{background:#111116!important;border-color:rgba(255,255,255,.15)!important;color:#fff!important}

/* olho pequeno no canto esquerdo */
.v23-brand-block{min-width:330px}
.v23-top-eye{width:58px;height:40px}
.v23-eye{border-color:#b066ff!important;box-shadow:0 0 20px rgba(168,85,247,.72), inset 0 0 18px rgba(168,85,247,.14)!important}

/* Preto/roxo base */
body{background:#030306!important}
.panel{background:linear-gradient(180deg,rgba(9,10,13,.96),rgba(3,3,6,.98))!important;border-color:rgba(255,255,255,.11)!important}
.panel:hover{border-color:rgba(168,85,247,.30)!important}
.menu a{font-size:14px;border-radius:14px;padding:13px 16px}
.menu a.active{
  background:linear-gradient(90deg,rgba(124,58,237,.72),rgba(91,33,182,.34))!important;
  border-left:3px solid #b453ff!important;
  color:white!important;
  box-shadow:0 0 28px rgba(124,58,237,.28)
}
.menu a:hover{background:rgba(124,58,237,.18)!important;color:#fff!important}

/* Campo chat/missão cinza */
.mission, textarea.mission{
  background:#575760!important;
  border:1px solid #70707a!important;
  color:#fff!important;
  border-radius:22px!important;
}
.mission::placeholder{color:#d4d4dc!important}

/* reativar cores originais do print nas métricas pequenas */
.mc-metric-row .mc-metric-bar[data-color="purple"], .metric-fill.purple{background:linear-gradient(90deg,#7c3aed,#c084fc)!important}
.mc-metric-row .mc-metric-bar[data-color="green"], .metric-fill.green{background:linear-gradient(90deg,#16a34a,#22c55e)!important}
.mc-metric-row .mc-metric-bar[data-color="cyan"], .metric-fill.cyan{background:linear-gradient(90deg,#06b6d4,#22d3ee)!important}
.mc-metric-row .mc-metric-bar[data-color="orange"], .metric-fill.orange{background:linear-gradient(90deg,#f97316,#f59e0b)!important}
.mc-metric-row .mc-metric-bar[data-color="yellow"], .metric-fill.yellow{background:linear-gradient(90deg,#f59e0b,#facc15)!important}
.mc-metric-row .mc-metric-bar[data-color="pink"], .metric-fill.pink{background:linear-gradient(90deg,#ec4899,#f472b6)!important}
.mc-metric-row .mc-metric-val.cyan{color:#22d3ee!important}
.mc-metric-row .mc-metric-val.green{color:#22c55e!important}
.mc-metric-row .mc-metric-val.yellow{color:#facc15!important}

/* Timeline com cores do print 2 */
.timelineBox .tstep.done, .timeline-node.done{
  border-color:var(--vc-green)!important;color:var(--vc-green)!important;box-shadow:0 0 18px rgba(0,208,132,.35)!important
}
.timelineBox .tstep.gold, .timeline-node.gold{
  border-color:var(--vc-yellow)!important;color:var(--vc-yellow)!important;box-shadow:0 0 18px rgba(250,204,21,.35)!important
}
.timelineBox .line.done,.timeline-line.done{background:linear-gradient(90deg,var(--vc-green),var(--vc-green))!important}
.timelineBox .line.to-gold,.timeline-line.to-gold{background:linear-gradient(90deg,var(--vc-green),var(--vc-yellow))!important}
.timelineBox .line.pending,.timeline-line.pending{background:#666a72!important}

/* seções novas */
.section-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.section-headline h2{margin:0 0 6px;font-size:22px}
.section-headline p{margin:0;color:#a7a1b8;font-size:13px}
.live-pill{
  display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;
  background:rgba(0,208,132,.10);border:1px solid rgba(0,208,132,.35);
  color:#00d084;font-weight:900;font-size:12px;white-space:nowrap
}
.metrics-bars-large{display:flex;flex-direction:column;gap:9px}
.metric-big-row{
  display:grid;grid-template-columns:150px 78px 1fr 82px;gap:12px;align-items:center;
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,.045)
}
.metric-big-row:last-child{border-bottom:0}
.metric-agent-name{font-weight:800;color:#d6d1dd;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-mode{
  display:inline-flex;justify-content:center;padding:3px 8px;border-radius:6px;
  background:rgba(59,130,246,.16);color:#60a5fa;font-size:10px;font-weight:900;text-transform:uppercase
}
.metric-mode.auto{background:rgba(34,197,94,.16);color:#22c55e}
.metric-mode.loop{background:rgba(245,158,11,.16);color:#f59e0b}
.metric-track{height:18px;background:#232327;border-radius:5px;overflow:hidden}
.metric-fill{height:100%;border-radius:5px;box-shadow:0 0 18px rgba(168,85,247,.18)}
.metric-cost{font-weight:900;text-align:right}
.metric-cost.purple{color:#c084fc}.metric-cost.green{color:#22c55e}.metric-cost.cyan{color:#22d3ee}.metric-cost.orange{color:#f59e0b}.metric-cost.yellow{color:#facc15}.metric-cost.pink{color:#f472b6}.metric-cost.blue{color:#3b82f6}
.metrics-total{
  display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);letter-spacing:.16em;color:#8f879c;font-weight:900
}
.metrics-total strong{color:#facc15;font-size:22px;letter-spacing:0}

/* cards de agentes extras */
.agents-grid-real{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.agent-real-card{
  background:#151519;border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:10px 12px;
  min-height:0;position:relative;overflow:hidden;
}
.agent-real-card:before{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(168,85,247,.18),transparent 38%);
  pointer-events:none
}
.agent-real-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;position:relative}
.agent-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.36);color:#f59e0b;font-size:18px
}
.agent-title{font-weight:900;font-size:13px;color:#fff;margin-top:6px;position:relative}
.agent-key{font-size:10px;color:#8f879c;text-transform:uppercase;margin:1px 0 6px;position:relative}
.agent-role{font-size:11px;line-height:1.35;color:#c8c2d2;position:relative}
.agent-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;position:relative}
.agent-tag{font-size:9px;padding:2px 5px;border-radius:4px;background:#242429;color:#bab4c7}
.agent-status-chip{color:#00d084;font-weight:900;font-size:11px}
.agent-real-card.core .agent-icon{background:rgba(168,85,247,.13);border-color:rgba(168,85,247,.45);color:#c084fc}
.agent-real-card.reserve .agent-icon{background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.45);color:#f59e0b}
.agent-real-card .agent-actions{position:absolute;right:12px;top:12px;display:flex;gap:10px;opacity:.58}
.agent-real-card .agent-actions span{font-size:13px;color:#aaa}

/* pequenos ajustes de responsividade */
@media(max-width:1450px){
  .v231-topnav{display:none}
}
@media(max-width:900px){
  .metric-big-row{grid-template-columns:1fr;gap:6px}
  .agents-grid-real{grid-template-columns:1fr}
}

/* === v233-realtime.css === */
/* VISION CORE V2.3.4 — REAL-TIME MODE
   Mantém o layout do print 1. Só adiciona estados vivos, animação e SSE. */
:root{
  --vc-purple:#a855f7;
  --vc-purple-2:#7c3aed;
  --vc-green:#00d084;
  --vc-yellow:#facc15;
  --vc-red:#ef4444;
  --vc-cyan:#22d3ee;
  --vc-chat-gray:#5b5b64;
}

/* chat/textarea cinza como pedido */
textarea.mission,
#missionText{
  background:linear-gradient(180deg,#5f5f68,#55555e) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#f7f7fb !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
textarea.mission::placeholder,
#missionText::placeholder{color:#d6d6df !important;opacity:.72}

/* botão/menus nas cores do print 1 */
.btn,
.top-actions .btn,
#executeBtn{
  background:linear-gradient(135deg,#7c3aed,#b14cff) !important;
  border:1px solid rgba(168,85,247,.70) !important;
  color:#fff !important;
  box-shadow:0 0 18px rgba(168,85,247,.20) !important;
}
.btn.ghost{background:#101014 !important;border-color:rgba(255,255,255,.14) !important;box-shadow:none !important}
.btn.github{background:linear-gradient(135deg,#7c3aed,#a855f7) !important}
.btn.agent-download{background:linear-gradient(135deg,#06b6d4,#22c55e) !important;color:#020405 !important;border-color:rgba(34,197,94,.45) !important}
.menu a.active,
.v231-topnav a.active{background:linear-gradient(90deg,rgba(168,85,247,.32),rgba(124,58,237,.18)) !important;border-color:rgba(168,85,247,.60) !important}

/* status vivo no orb pequeno do canto e no painel direito */
.v23-top-eye.vc-running .v23-eye,
.eye-wrap.vc-running .ai-eye{animation:vcEyePulse 1.05s infinite ease-in-out;border-color:var(--vc-purple)}
.v23-top-eye.vc-gold .v23-eye,
.eye-wrap.vc-gold .ai-eye{border-color:var(--vc-yellow);box-shadow:0 0 28px rgba(250,204,21,.50), inset 0 0 18px rgba(250,204,21,.18)}
.v23-top-eye.vc-fail .v23-eye,
.eye-wrap.vc-fail .ai-eye{border-color:var(--vc-red);box-shadow:0 0 24px rgba(239,68,68,.45), inset 0 0 18px rgba(239,68,68,.18)}
@keyframes vcEyePulse{0%,100%{box-shadow:0 0 18px rgba(168,85,247,.40)}50%{box-shadow:0 0 34px rgba(168,85,247,.85)}}

#mcCore.vc-running .mc-core-hex{animation:vcCoreSpin 1.8s linear infinite;filter:drop-shadow(0 0 18px rgba(168,85,247,.75))}
#mcCore.vc-gold .mc-core-hex{filter:drop-shadow(0 0 20px rgba(250,204,21,.78)) hue-rotate(65deg)}
#mcCore.vc-fail .mc-core-hex{filter:drop-shadow(0 0 18px rgba(239,68,68,.72)) hue-rotate(150deg)}
@keyframes vcCoreSpin{to{transform:rotate(360deg)}}

/* logs SSE */
.v233-sse-line{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55;color:#d7d3df}
.v233-sse-line .ts{color:var(--vc-green);margin-right:6px}
.v233-sse-line.ok,.v233-sse-line.green{color:#d7ffe9}
.v233-sse-line.running,.v233-sse-line.yellow{color:#fde68a}
.v233-sse-line.fail,.v233-sse-line.red{color:#fecaca}
.v233-sse-line.info{color:#c7d2fe}
.v233-sse-line.event{color:#c084fc}

/* painel de timeline atualizado em tempo real */
.timelineStep.live{border-color:rgba(168,85,247,.60);box-shadow:0 0 18px rgba(168,85,247,.12)}
.timelineStep.ok{border-color:rgba(0,208,132,.40)}
.timelineStep.running{border-color:rgba(250,204,21,.50)}
.timelineStep.fail{border-color:rgba(239,68,68,.55)}

/* barra LIVE inferior */
#runtimeMonitor.realtime{border-color:rgba(168,85,247,.55);box-shadow:0 0 22px rgba(168,85,247,.20)}
#runtimeMonitor.gold{border-color:rgba(250,204,21,.55);color:var(--vc-yellow)}
#runtimeMonitor.fail{border-color:rgba(239,68,68,.55);color:var(--vc-red)}

/* V2.3.6 — small live interaction screen above chat */
.vc-process-screen{
  margin:14px 0 12px;
  min-height:82px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid rgba(139,92,246,.30);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(16,16,24,.96),rgba(35,28,56,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 36px rgba(124,58,237,.10);
}
.vc-process-orb{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  color:#22d3ee;background:radial-gradient(circle,rgba(34,211,238,.25),rgba(124,58,237,.10) 60%,rgba(0,0,0,.35));
  border:1px solid rgba(34,211,238,.35);box-shadow:0 0 24px rgba(34,211,238,.16);
  font-size:20px;
}
.vc-process-copy strong{display:block;color:#fff;font-size:15px;margin-bottom:5px;letter-spacing:.01em}
.vc-process-copy span{display:block;color:#c6c7d2;font-size:13px;line-height:1.45}
.vc-process-stage{font:700 11px/1 JetBrains Mono,Cascadia Mono,monospace;letter-spacing:.12em;color:#a78bfa;border:1px solid rgba(167,139,250,.35);border-radius:999px;padding:10px 12px;background:rgba(10,10,16,.70)}
.vc-process-screen.running{border-color:rgba(34,211,238,.42);box-shadow:0 0 42px rgba(34,211,238,.12)}
.vc-process-screen.running .vc-process-orb{animation:vcOrbPulse 1.1s infinite alternate;color:#67e8f9}
.vc-process-screen.gold{border-color:rgba(34,197,94,.48);box-shadow:0 0 42px rgba(34,197,94,.14)}
.vc-process-screen.gold .vc-process-stage{color:#86efac;border-color:rgba(34,197,94,.45)}
.vc-process-screen.fail{border-color:rgba(248,113,113,.48);box-shadow:0 0 42px rgba(248,113,113,.12)}
.vc-process-screen.fail .vc-process-stage{color:#fca5a5;border-color:rgba(248,113,113,.45)}
@keyframes vcOrbPulse{from{transform:scale(.96);filter:brightness(1)}to{transform:scale(1.08);filter:brightness(1.35)}}
@media(max-width:720px){.vc-process-screen{grid-template-columns:auto 1fr}.vc-process-stage{grid-column:1 / -1;width:max-content}}

/* V2.3.6 PRESERVED — add-ons only: compact timeline + copiloto in Mission Control */
.v236-compact-timeline{
  margin: 12px 0 10px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: linear-gradient(180deg,rgba(8,11,18,.78),rgba(4,5,9,.72));
  display: grid;
  grid-template-columns: 82px 1fr 82px 1fr 108px 1fr 82px 1fr 96px 1fr 82px;
  gap: 8px;
  align-items: center;
  box-shadow: inset 0 0 0 1px rgba(168,85,247,.08);
}
.v236-compact-timeline i{height:3px;border-radius:999px;background:linear-gradient(90deg,#00d084,#facc15);opacity:.85;display:block}
.v236-compact-timeline i.pending{background:rgba(255,255,255,.22)}
.v236-tl-step{text-align:center;color:#cfd3e9;font-size:11px;cursor:pointer;transition:.18s ease;user-select:none}
.v236-tl-step b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;border:2px solid #00d084;color:#00d084;box-shadow:0 0 18px rgba(0,208,132,.25);font-size:15px}
.v236-tl-step span{display:block;font-weight:800;white-space:nowrap}.v236-tl-step small{display:block;color:#8b91a7;margin-top:2px;font-size:10px}.v236-tl-step.running b{border-color:#22d3ee;color:#22d3ee;box-shadow:0 0 22px rgba(34,211,238,.45);animation:v236Pulse 1s infinite}.v236-tl-step.done b{background:rgba(0,208,132,.14)}.v236-tl-step.gold b,.v236-tl-step.gold.done b{border-color:#facc15;color:#facc15;box-shadow:0 0 24px rgba(250,204,21,.45);background:rgba(250,204,21,.10)}.v236-tl-step.pending{opacity:.55}.v236-tl-step.pending b{border-color:rgba(255,255,255,.28);box-shadow:none;color:#7a7f91}
@keyframes v236Pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.v236-copilot-screen{align-items:flex-start;min-height:108px;}
.v236-copilot-mini-chat{margin-top:9px;max-height:92px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding-right:6px}.v236-copilot-msg{font-size:12px;line-height:1.35;padding:7px 9px;border-radius:11px;border:1px solid rgba(255,255,255,.08)}.v236-copilot-msg.bot{background:rgba(168,85,247,.10);color:#e9ddff}.v236-copilot-msg.user{background:rgba(255,255,255,.07);color:#fff;margin-left:24px;text-align:right}.v236-action-row{grid-template-columns:auto auto 1fr auto auto!important;align-items:center}.v236-file-btn,.v236-copilot-btn{white-space:nowrap}.v236-file-note{font-size:12px;color:#a7acc0;margin-top:8px}.v236-file-note b{color:#cdb7ff}
@media(max-width:980px){.v236-compact-timeline{grid-template-columns:repeat(3,1fr)}.v236-compact-timeline i{display:none}.v236-action-row{grid-template-columns:1fr!important}.v236-copilot-msg.user{margin-left:0}}

/* V2.3.6 ajuste fino: chat abaixo do Copiloto, sem redesign */
#mission{
  display:flex;
  flex-direction:column;
}
#mission .project-strip{order:0;}
#mission .v236-compact-timeline{order:1;}
#mission .v236-copilot-screen{order:2;margin-top:14px;margin-bottom:14px;}
#mission #missionText{order:3;margin-top:0;}
#mission .v236-action-row{order:4;margin-top:14px;}
#mission .v236-file-note{order:5;}

/* V2.3.7 ajuste fino: Copiloto -> chat -> Mission Control + timeline viva */
#mission{display:flex;flex-direction:column;}
#mission > h2{order:4;margin-top:16px;}
#mission > p{order:5;}
#mission .project-strip{order:6;}
#mission .v236-compact-timeline{order:1;}
#mission .v236-copilot-screen{order:2;margin-top:14px;margin-bottom:14px;}
#mission #missionText{order:3;margin-top:0;}
#mission .v236-action-row{order:7;margin-top:14px;}
#mission .v236-file-note{order:8;}
.v236-compact-timeline i{background:rgba(255,255,255,.18)!important;opacity:.65;transition:.22s ease;}
.v236-compact-timeline i.done{background:linear-gradient(90deg,#00d084,#a855f7)!important;opacity:1;box-shadow:0 0 16px rgba(168,85,247,.35);}
.v236-compact-timeline i.running{background:linear-gradient(90deg,#a855f7,#22d3ee,#a855f7)!important;background-size:220% 100%;opacity:1;animation:v236Flow 1.1s linear infinite;box-shadow:0 0 18px rgba(34,211,238,.35);}
.v236-tl-step{opacity:.62;}
.v236-tl-step b{border-color:rgba(255,255,255,.28)!important;color:#7a7f91!important;box-shadow:none!important;background:rgba(255,255,255,.03)!important;transition:.2s ease;}
.v236-tl-step.running{opacity:1;}
.v236-tl-step.running b{border-color:#a855f7!important;color:#fff!important;background:rgba(168,85,247,.18)!important;box-shadow:0 0 24px rgba(168,85,247,.58)!important;animation:v236Pulse 1s infinite;}
.v236-tl-step.done{opacity:1;}
.v236-tl-step.done b{border-color:#00d084!important;color:#00d084!important;background:rgba(0,208,132,.14)!important;box-shadow:0 0 18px rgba(0,208,132,.28)!important;}
.v236-tl-step.fail{opacity:1;}
.v236-tl-step.fail b{border-color:#ef4444!important;color:#ef4444!important;background:rgba(239,68,68,.12)!important;box-shadow:0 0 18px rgba(239,68,68,.28)!important;}
.v236-tl-step.gold.done b,.v236-tl-step.gold.running b{border-color:#facc15!important;color:#facc15!important;background:rgba(250,204,21,.12)!important;box-shadow:0 0 26px rgba(250,204,21,.46)!important;}
.v236-tl-step.pending{opacity:.50;}
.v236-tl-step.pending.done,.v236-tl-step.pending.running{opacity:1;}
@keyframes v236Flow{0%{background-position:0% 50%}100%{background-position:220% 50%}}

/* === v233-topbar-final-fix.css === */
/* VISION CORE V2.3.4 FINAL — TOPBAR FIX
   Mantém o layout do print 1 e impede quebra dos botões do topo.
   Regras: botões sempre em uma linha; menu central some antes; cores originais preservadas. */

.top{
  overflow:visible !important;
}

.top .shell.topin{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  min-height:68px !important;
  width:min(1580px,calc(100% - 28px)) !important;
  padding:0 !important;
}

.v23-brand-block{
  flex:0 0 auto !important;
  min-width:245px !important;
  max-width:310px !important;
}

.v231-topnav{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  justify-content:center !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}

.top-actions{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  white-space:nowrap !important;
}

.top-actions .btn,
.top-actions a.btn,
.top-actions button.btn{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:auto !important;
  height:42px !important;
  padding:0 20px !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-weight:900 !important;
  line-height:1 !important;
}

/* Cores pedidas dos prints */
.top-actions .btn.github{
  background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%) !important;
  color:#fff !important;
  border-color:rgba(168,85,247,.95) !important;
  box-shadow:0 0 22px rgba(168,85,247,.18), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.top-actions .btn.agent-download{
  background:linear-gradient(135deg,#06b6d4 0%,#22c55e 100%) !important;
  color:#020405 !important;
  border-color:rgba(34,197,94,.55) !important;
  box-shadow:0 0 22px rgba(34,197,94,.14), inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.top-actions .btn[href="#mission"],
.top-actions a.btn:not(.ghost):not(.github):not(.agent-download){
  background:linear-gradient(135deg,#8b5cf6 0%,#c044ff 100%) !important;
  color:#fff !important;
  border-color:rgba(192,68,255,.95) !important;
  box-shadow:0 0 22px rgba(192,68,255,.18), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.top-actions .btn.ghost{
  background:#101014 !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
}

/* Primeiro reduz um pouco, sem mudar o print em desktop largo */
@media(max-width:1540px){
  .v23-brand-block{min-width:230px !important;max-width:285px !important}
  .v231-topnav{gap:10px !important;margin-right:6px !important}
  .v231-topnav a{font-size:12px !important;padding:8px 6px !important}
  .top-actions{gap:9px !important}
  .top-actions .btn,
  .top-actions a.btn,
  .top-actions button.btn{height:42px !important;padding:0 16px !important;font-size:13px !important}
}

/* Ponto crítico do seu print 3: em largura média, some o menu central, NÃO quebra botões. */
@media(max-width:1380px){
  .v231-topnav{display:none !important}
  .top .shell.topin{justify-content:space-between !important}
  .v23-brand-block{min-width:220px !important;max-width:300px !important}
  .top-actions .btn,
  .top-actions a.btn,
  .top-actions button.btn{height:44px !important;padding:0 18px !important;font-size:14px !important}
}

/* Em telas menores ainda, mantém tudo numa faixa rolável horizontal em vez de quebrar linha. */
@media(max-width:980px){
  .top .shell.topin{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:thin !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .v23-brand-block{min-width:210px !important}
  .sub{display:none !important}
  .top-actions{min-width:max-content !important}
  .top-actions .btn,
  .top-actions a.btn,
  .top-actions button.btn{height:42px !important;padding:0 14px !important;font-size:12px !important}
}

/* === v272-layout-force.css === */

/* V2.7.2 definitive layout fix: hero appears only below the full Mission Control block */
.moved-below-mission-control{
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  border:1px solid rgba(165,92,255,.28)!important;
  box-shadow:0 0 0 1px rgba(132,65,255,.10), 0 16px 45px rgba(0,0,0,.32)!important;
}
#mission > .hero-copy:not(.moved-below-mission-control){display:none!important;}


/* V2.7.2 headline animado — IAs criam. VISION CORE corrige */
.pipeline-headline{position:relative!important;overflow:hidden!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:54px!important;margin:0!important;padding:8px 14px!important;border-radius:13px!important;border:1px solid rgba(168,85,247,.55)!important;background:radial-gradient(circle at 50% 0%,rgba(168,85,247,.16),transparent 48%),linear-gradient(180deg,rgba(16,9,26,.88),rgba(5,5,8,.96))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 0 22px rgba(168,85,247,.16)!important;color:rgba(255,255,255,.82)!important;font-size:24px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.035em!important;text-align:center!important;isolation:isolate!important;animation:vcHeadlineFade 1.1s ease-out both,vcHeadlineBreath 4.5s ease-in-out infinite 1.1s!important}
.pipeline-headline::before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(110deg,transparent 0%,transparent 36%,rgba(255,255,255,.20) 47%,rgba(168,85,247,.34) 50%,rgba(34,211,238,.18) 53%,transparent 64%,transparent 100%)!important;transform:translateX(-130%) skewX(-16deg)!important;animation:vcHeadlineScan 3.2s cubic-bezier(.22,.61,.36,1) infinite 1.2s!important}
.pipeline-headline::after{content:""!important;position:absolute!important;left:16%!important;right:16%!important;bottom:0!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(168,85,247,.85),rgba(34,211,238,.55),transparent)!important;opacity:.72!important;filter:blur(.2px)!important}
.pipeline-headline span,.pipeline-headline strong{position:relative!important;z-index:1!important;white-space:nowrap!important;text-shadow:0 0 12px rgba(255,255,255,.10)!important}
.pipeline-headline strong{color:#a855f7!important;font-weight:900!important;letter-spacing:-.045em!important;text-shadow:0 0 10px rgba(168,85,247,.65),0 0 22px rgba(168,85,247,.25)!important}
@keyframes vcHeadlineFade{from{opacity:0;transform:translateY(-8px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes vcHeadlineScan{0%{transform:translateX(-130%) skewX(-16deg);opacity:0}16%{opacity:.95}45%{transform:translateX(130%) skewX(-16deg);opacity:0}100%{transform:translateX(130%) skewX(-16deg);opacity:0}}
@keyframes vcHeadlineBreath{0%,100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 0 18px rgba(168,85,247,.13)}50%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 30px rgba(168,85,247,.24)}}
@media(max-width:720px){.pipeline-headline{font-size:17px!important;min-height:46px!important;gap:5px!important;padding:7px 10px!important}}

/* =========================================================
   V2.7.2 ULTRA DENSE — remove espaços mortos do layout inteiro
   Mantém identidade visual, apenas compacta gaps/paddings/alturas.
   ========================================================= */
:root{--vc-dense-gap:8px;--vc-dense-radius:12px}
html,body{overflow-x:clip!important}  /* V3.5: clip not hidden */body{font-size:12px!important;line-height:1.25!important}.shell{width:min(1588px,calc(100% - 20px))!important}.top{position:sticky!important}.top .shell.topin{min-height:56px!important;height:56px!important;gap:10px!important;width:min(1600px,calc(100% - 20px))!important}.v23-brand-block{min-width:270px!important;max-width:300px!important;gap:10px!important}.v23-top-eye{width:50px!important;height:34px!important}.v23-eye{width:48px!important;height:30px!important}.v23-pupil{width:19px!important;height:19px!important}.brand{font-size:22px!important;line-height:1!important}.sub{font-size:10px!important;line-height:1.05!important;letter-spacing:.14em!important}.v231-topnav{height:56px!important;gap:12px!important;margin-right:6px!important}.v231-topnav a{padding:17px 5px 14px!important;font-size:12px!important;line-height:1!important}.top-actions{gap:8px!important}.top-actions .btn,.top-actions a.btn,.top-actions button.btn{height:38px!important;padding:0 15px!important;border-radius:14px!important;font-size:12px!important;line-height:1!important}.grid{grid-template-columns:282px minmax(0,1fr) 392px!important;gap:10px!important;padding:10px 0!important;align-items:start!important}.panel{padding:12px!important;border-radius:12px!important}.panel+br,section>br,main>br{display:none!important}aside{display:flex!important;flex-direction:column!important;gap:10px!important}.logo.premium-logo{min-height:0!important;padding:14px!important}.logo h1{font-size:24px!important;margin:4px 0 6px!important;line-height:1!important}.logo p,.premium-logo p{margin:0!important}.marketing-link{display:block!important;margin-top:10px!important;line-height:1.2!important}.eye-wrap{display:none!important}.menu.premium-menu{padding:12px!important}.menu a{padding:9px 12px!important;margin:0!important;border-radius:11px!important;font-size:13px!important;line-height:1.12!important}.menu a+a{margin-top:3px!important}.menu-badge{font-size:9px!important;padding:2px 7px!important}h1,h2,h3{margin:0 0 8px!important;line-height:1.08!important}.panel h2{font-size:20px!important}.panel p,p{margin:0 0 8px!important;line-height:1.35!important;font-size:12px!important}.eyebrow{font-size:9px!important;line-height:1.2!important;margin-bottom:7px!important}.project-strip{grid-template-columns:125px 1fr auto!important;gap:8px!important;margin:4px 0 8px!important}.project-strip label{font-size:9px!important}.select{height:38px!important;padding:0 12px!important;border-radius:12px!important;font-size:12px!important}.btn.mini,.btn{min-height:38px!important;padding:0 13px!important;border-radius:12px!important;font-size:12px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}#mission{gap:8px!important;padding:10px 12px!important}.pipeline-headline{min-height:40px!important;height:40px!important;margin:0!important;padding:0 10px!important;border-radius:11px!important;font-size:22px!important;line-height:1!important;gap:7px!important}.pipeline-headline::after{bottom:0!important}.v236-compact-timeline{margin:0!important;padding:9px 12px!important;min-height:72px!important;border-radius:14px!important;gap:6px!important;grid-template-columns:74px 1fr 74px 1fr 104px 1fr 70px 1fr 88px 1fr 72px!important}.v236-tl-step{font-size:10px!important;line-height:1!important}.v236-tl-step b{width:30px!important;height:30px!important;margin:0 auto 5px!important;font-size:14px!important}.v236-tl-step small{font-size:9px!important;margin-top:2px!important}.v236-compact-timeline i{height:3px!important}.vc-process-screen,.v236-copilot-screen{margin:0!important;min-height:82px!important;padding:12px 14px!important;gap:12px!important;border-radius:15px!important;align-items:center!important}.vc-process-orb{width:40px!important;height:40px!important;font-size:17px!important}.vc-process-copy strong{font-size:16px!important;margin-bottom:4px!important;line-height:1.05!important}.vc-process-copy span{font-size:12px!important;line-height:1.28!important}.vc-process-stage{padding:8px 11px!important;font-size:10px!important}.v236-copilot-mini-chat{margin-top:8px!important;max-height:48px!important;gap:4px!important}.v236-copilot-msg{padding:6px 8px!important;font-size:11px!important;line-height:1.22!important;border-radius:9px!important}#missionText,.mission,textarea.mission{min-height:76px!important;height:76px!important;padding:12px 16px!important;border-radius:18px!important;font-size:13px!important;line-height:1.25!important;margin:0!important;resize:vertical!important}#mission>h2{margin-top:4px!important;margin-bottom:6px!important;font-size:20px!important}.v236-action-row,.row{gap:8px!important;margin:0!important;align-items:center!important}.v236-action-row{display:grid!important;grid-template-columns:auto auto minmax(230px,1fr) 130px 118px!important}.v236-action-row .select{min-width:0!important}.compact-select{max-width:none!important}#executeBtn{height:52px!important;min-width:108px!important}.moved-below-mission-control{margin-top:10px!important;margin-bottom:10px!important;padding:12px!important}.hero-copy h2{font-size:24px!important;line-height:1.06!important;margin-bottom:6px!important}.hero-copy p{font-size:12px!important;line-height:1.35!important;margin-bottom:7px!important}.mini-pipeline{gap:5px!important;margin-top:8px!important}.mini-pipeline span{padding:6px 8px!important;border-radius:9px!important;font-size:11px!important}.saas-panel,.logs-panel,#timeline,#runtime,#hermes,#score,#diff,#vault,#memory,#opensquad,#osint,#githubPanel,#marketplace,#metricsBoard,#agentsBoard{margin-top:10px!important}.plans{gap:7px!important;margin-top:8px!important}.plan{padding:9px!important;min-height:68px!important;border-radius:12px!important}.plan strong{font-size:13px!important;margin-bottom:4px!important}.plan span,.plan small{font-size:10px!important;line-height:1.2!important;margin-top:3px!important}.cards,.toolGrid{gap:8px!important}.card,.tool{padding:10px!important;border-radius:11px!important}.card strong,.tool strong{font-size:13px!important}.card span,.tool span{font-size:10px!important;margin-top:4px!important}.health{grid-template-columns:68px 1fr 36px!important;gap:7px!important;margin:6px 0!important;font-size:11px!important}.gate{padding:6px 0!important;font-size:12px!important}.logs{min-height:180px!important;max-height:260px!important;padding:8px!important;font-size:10px!important;line-height:1.35!important}.timelineBox{gap:7px!important}.timelineStep{grid-template-columns:130px 54px 1fr!important;gap:8px!important;padding:8px!important;border-radius:10px!important;font-size:11px!important}.diffViewer{min-height:150px!important;padding:10px!important;font-size:11px!important}.premium-mission-control{padding:12px!important}.mc-orb-wrap{width:220px!important;height:220px!important;margin:0 auto 8px!important}.mc-core{width:64px!important;height:64px!important}.mc-node-icon{width:28px!important;height:28px!important}.mc-metrics-grid{gap:3px!important}.mc-metric-row{grid-template-columns:78px 1fr 48px!important;gap:7px!important;font-size:11px!important}.mc-total{margin-top:8px!important;padding-top:8px!important}.mc-tabs{gap:6px!important;margin-top:8px!important}.mc-tab{height:30px!important;padding:0 10px!important;font-size:11px!important;border-radius:10px!important}.mc-tab-pane{padding-top:7px!important}.mc-pipeline-status{gap:4px!important}.mc-status-row{min-height:28px!important;padding:4px 0!important}.status-pill{padding:3px 8px!important;font-size:10px!important}.operator-auth-card,.inline-auth-card{padding:10px!important;border-radius:12px!important;margin-top:8px!important}.section-headline{gap:10px!important;margin-bottom:10px!important}.metrics-bars-large{gap:5px!important}.metric-big-row{grid-template-columns:130px 62px 1fr 70px!important;gap:8px!important;padding:5px 0!important}.metric-track{height:13px!important}.agents-grid-real{gap:8px!important}.agent-real-card{padding:10px!important;border-radius:12px!important}.agent-tags{gap:4px!important;margin-top:7px!important}.agent-tag{font-size:9px!important;padding:3px 6px!important}.api-form,.provider-grid{gap:8px!important}.api-input{height:38px!important;padding:0 10px!important}.api-provider{padding:9px!important}.auth-modal{padding:18px!important;border-radius:16px!important}.auth-modal h2{font-size:24px!important;margin-bottom:8px!important}.signup-input{height:46px!important}.oauth{height:44px!important;font-size:14px!important}.runtime-monitor,#runtimeMonitor{right:12px!important;bottom:10px!important;padding:6px 9px!important;font-size:11px!important}.hero-under-mission{order:9!important}#missionHeroBelowControl{display:block!important}#missionHeroBelowControl .mini-pipeline{display:flex!important}.mc-panel,.right-panel{padding:10px!important}.mc-orb-label{font-size:9px!important}.mc-node-label{font-size:9px!important;line-height:1.05!important}@media(max-width:1540px){.grid{grid-template-columns:276px minmax(0,1fr) 382px!important;gap:10px!important}.top-actions .btn,.top-actions a.btn,.top-actions button.btn{padding:0 13px!important;font-size:12px!important}.v23-brand-block{min-width:255px!important}.v231-topnav{gap:9px!important}.v231-topnav a{font-size:11px!important}}@media(max-width:1380px){.grid{grid-template-columns:250px minmax(0,1fr) 340px!important}.v236-action-row{grid-template-columns:1fr 1fr 1.6fr .8fr .8fr!important}.pipeline-headline{font-size:19px!important}}@media(max-width:1180px){.grid{grid-template-columns:1fr!important}.panel{padding:12px!important}.v236-compact-timeline{grid-template-columns:repeat(6,1fr)!important}.v236-compact-timeline i{display:none!important}.v236-action-row{grid-template-columns:1fr 1fr!important}#executeBtn{grid-column:auto!important}.top .shell.topin{overflow-x:auto!important}}@media(max-width:720px){.shell{width:calc(100% - 14px)!important}.top .shell.topin{height:auto!important;min-height:52px!important;padding:6px 0!important}.pipeline-headline{font-size:15px!important;height:34px!important;min-height:34px!important}.v236-compact-timeline{grid-template-columns:repeat(3,1fr)!important;min-height:0!important}.vc-process-screen{grid-template-columns:36px 1fr!important}.vc-process-stage{grid-column:1/-1!important}.v236-action-row{grid-template-columns:1fr!important}.project-strip{grid-template-columns:1fr!important}#missionText,.mission,textarea.mission{height:88px!important}}

/* =========================================================
   V2.7.2 ULTRA DENSE PATCH 2 — corrige botão deslocado + remove espaço morto real
   ========================================================= */
#mission{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#mission > br{display:none!important;}

.pipeline-headline{
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 10px!important;
  font-size:20px!important;
  border-radius:10px!important;
}
.v236-compact-timeline{
  margin:0!important;
  padding:7px 10px!important;
  min-height:62px!important;
  height:62px!important;
  border-radius:12px!important;
}
.v236-tl-step b{
  width:28px!important;
  height:28px!important;
  margin-bottom:3px!important;
}
.v236-tl-step span{line-height:1!important;}
.v236-tl-step small{line-height:1!important;margin-top:1px!important;}
.vc-process-screen,
.v236-copilot-screen{
  min-height:76px!important;
  padding:10px 14px!important;
  margin:0!important;
}
.v236-copilot-mini-chat{
  margin-top:5px!important;
  max-height:42px!important;
  overflow:hidden!important;
}
.v236-copilot-msg{
  padding:5px 8px!important;
  line-height:1.15!important;
}
#missionText,
.mission,
textarea.mission{
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:11px 15px!important;
}
#mission > h2{
  margin-top:4px!important;
  margin-bottom:4px!important;
}
#mission > p{
  margin-bottom:4px!important;
}
.project-strip{
  margin:2px 0 6px!important;
}

/* Botões 100% dentro do painel: sem invadir a coluna direita */
.v236-action-row,
#mission .v236-action-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(155px,190px) minmax(100px,125px) minmax(210px,1fr) minmax(105px,130px) minmax(96px,108px)!important;
  gap:7px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
#mission .v236-action-row > *{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#mission .v236-action-row .btn,
#mission .v236-action-row .select{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  white-space:nowrap!important;
}
#executeBtn{
  width:100%!important;
  min-width:0!important;
  max-width:108px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 8px!important;
  justify-self:end!important;
  line-height:1.05!important;
  transform:none!important;
  position:relative!important;
  right:auto!important;
}

/* Compactação fina das margens entre cards principais */
#mission + .panel,
#missionHeroBelowControl,
.moved-below-mission-control{
  margin-top:6px!important;
}
.grid{gap:8px!important;}
.panel{margin:0!important;}

@media(max-width:1380px){
  .v236-action-row,
  #mission .v236-action-row{
    grid-template-columns:minmax(145px,1fr) minmax(100px,.7fr) minmax(190px,1.4fr) minmax(95px,.7fr) minmax(92px,.65fr)!important;
  }
  #executeBtn{max-width:none!important;}
}
@media(max-width:1180px){
  .v236-action-row,
  #mission .v236-action-row{
    grid-template-columns:1fr 1fr!important;
    overflow:visible!important;
  }
  #executeBtn{justify-self:stretch!important;width:100%!important;}
}

/* === v273-sddf-command-chat.css === */
/* V2.7.3 — SDDF Harness Command Chat */
#mission.panel{overflow:hidden!important}.vc-process-screen.v236-copilot-screen{padding:10px 14px!important;min-height:96px!important;max-height:none!important;gap:10px!important;align-items:flex-start!important}.vc-process-copy{min-width:0!important;width:100%!important;display:flex!important;flex-direction:column!important;gap:4px!important}#processTitle{font-size:19px!important;line-height:1.05!important;margin:0!important}#processMessage{font-size:13px!important;line-height:1.18!important;margin:0!important;opacity:.96!important}#processStage{flex:0 0 auto!important;margin-top:18px!important}#v236CopilotMiniChat{display:none!important}.v273-command-panel{margin-top:4px!important;border:1px solid rgba(160,78,255,.28);border-radius:10px;background:linear-gradient(180deg,rgba(118,47,184,.20),rgba(31,16,49,.35));box-shadow:inset 0 0 18px rgba(151,71,255,.08);max-height:94px;overflow:auto;padding:5px 6px;scrollbar-width:thin}.v273-chat-msg{display:grid;grid-template-columns:72px 1fr;gap:7px;align-items:flex-start;padding:4px 6px;border-radius:7px;color:rgba(255,255,255,.92);font-size:12px;line-height:1.18;margin:2px 0;background:rgba(255,255,255,.035)}.v273-chat-msg.user{background:rgba(168,85,247,.18)}.v273-chat-msg.assistant{background:rgba(34,211,238,.055)}.v273-chat-msg.system{background:rgba(250,204,21,.075)}.v273-chat-msg .role{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b982ff;white-space:nowrap}.v273-chat-msg .text{white-space:pre-wrap;word-break:break-word}.v273-chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.v273-chip{border:1px solid rgba(168,85,247,.35);background:rgba(35,19,55,.72);color:#f5eaff;border-radius:999px;padding:3px 8px;font-size:10px;line-height:1;cursor:pointer}.v273-chip:hover{border-color:#22d3ee;box-shadow:0 0 12px rgba(34,211,238,.16)}.v273-sddf-bar{margin-top:4px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.v273-sddf-bar span{display:block;text-align:center;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#b8a9d9;padding:3px 4px;border-radius:6px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}.v273-sddf-bar span.active{color:#22d3ee;border-color:rgba(34,211,238,.45);box-shadow:0 0 12px rgba(34,211,238,.12)}.v273-sddf-bar span.pass{color:#00e887;border-color:rgba(0,232,135,.45)}.v273-sddf-bar span.gold{color:#facc15;border-color:rgba(250,204,21,.55);box-shadow:0 0 14px rgba(250,204,21,.15)}#missionText.mission{margin-top:8px!important;height:78px!important;min-height:78px!important;max-height:92px!important;padding:13px 16px!important}.v236-action-row{display:grid!important;grid-template-columns:minmax(160px,.9fr) minmax(118px,.65fr) minmax(230px,1.45fr) minmax(115px,.65fr) minmax(128px,.72fr)!important;gap:8px!important;align-items:center!important;width:100%!important;max-width:100%!important;overflow:hidden!important;margin-top:10px!important}.v236-action-row .btn,.v236-action-row .select{width:100%!important;min-width:0!important;max-width:100%!important;height:43px!important;white-space:nowrap!important}#executeBtn{padding-left:10px!important;padding-right:10px!important;font-size:12px!important;transform:none!important;position:static!important}.pipeline-headline{margin-bottom:6px!important}.v236-compact-timeline{margin-top:0!important;margin-bottom:7px!important}#missionHeroBelowControl{margin-top:8px!important}@media(max-width:1200px){.v236-action-row{grid-template-columns:1fr 1fr!important}.v273-sddf-bar{grid-template-columns:repeat(3,1fr)}}

/* === v290-hardening.css === */
/* VISION CORE V2.9 HARDENED */
html,body{max-width:100%;overflow-x:clip}  /* V3.5: clip not hidden — hidden creates scroll container, breaks sticky */
*,*::before,*::after{box-sizing:border-box}
.v273-chat-msg .text{white-space:pre-wrap;overflow-wrap:anywhere}
.v28-api-status{position:fixed;right:18px;bottom:58px;z-index:9999;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;border:1px solid rgba(168,85,247,.35);background:rgba(10,8,18,.86);backdrop-filter:blur(10px);color:rgba(255,255,255,.78);font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 22px rgba(168,85,247,.20)}
.v28-api-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 10px #f59e0b}
.v28-api-status.ok::before{background:#00e887;box-shadow:0 0 10px #00e887}
.v28-api-status.fail::before{background:#ef4444;box-shadow:0 0 10px #ef4444}
@media(max-width:900px){body{overflow-x:hidden!important}.topbar,header,nav,.shell,.main-grid,.layout,.dashboard,main{max-width:100vw;overflow-x:clip}.mission-actions,.control-row,.actions-row{flex-wrap:wrap!important}button,.btn{max-width:100%}.v28-api-status{right:10px;bottom:52px;transform:scale(.92);transform-origin:right bottom}}

/* === vision-v297-ui.css === */
/* V2.9.7 fine tuning: keeps original DNA */
:root{--vc-red:#ef4444;--vc-yellow:#facc15;--vc-green:#00e0a4;--vc-purple:#a855f7;--vc-cyan:#22d3ee}
.v236-compact-timeline{min-height:42px!important;padding:8px 12px!important;gap:10px!important;border-radius:14px!important;overflow:hidden!important}
.v236-compact-timeline .v236-tl-step{display:flex!important;align-items:center!important;gap:6px!important;flex:1 1 0!important;justify-content:center!important}
.v236-compact-timeline .v236-tl-step b{width:22px!important;height:22px!important;border-radius:999px!important;display:grid!important;place-items:center!important;font-size:12px!important;border:1px solid rgba(34,211,238,.35)!important}
.v236-compact-timeline .v236-tl-step span{font-size:11px!important;font-weight:800!important;line-height:1!important}.v236-compact-timeline .v236-tl-step small{font-size:9px!important;opacity:.75!important}
.v236-compact-timeline>i{height:3px!important;min-width:32px!important;border-radius:999px!important;background:linear-gradient(90deg,var(--vc-cyan),var(--vc-purple))!important;opacity:.8!important}
.v236-tl-step.running b{border-color:var(--vc-purple)!important;color:var(--vc-purple)!important;box-shadow:0 0 18px rgba(168,85,247,.8)!important}.v236-tl-step.done b{border-color:var(--vc-green)!important;color:var(--vc-green)!important;box-shadow:0 0 18px rgba(0,224,164,.35)!important}.v236-tl-step.fail b{border-color:var(--vc-red)!important;color:var(--vc-red)!important;box-shadow:0 0 18px rgba(239,68,68,.45)!important}.v236-tl-step.gold b{border-color:var(--vc-yellow)!important;color:var(--vc-yellow)!important;box-shadow:0 0 22px rgba(250,204,21,.5)!important}
.mc-panel{padding:12px!important}.mc-orb-wrap{min-height:220px!important;transform:scale(.86);transform-origin:center top;margin-bottom:-20px}.mc-core.running{box-shadow:0 0 24px rgba(168,85,247,.7)!important}.mc-core.success{box-shadow:0 0 26px rgba(250,204,21,.75)!important}.mc-core.blocked,.mc-core.fail{box-shadow:0 0 26px rgba(239,68,68,.75)!important}
.v297-chat-shell{margin:0 0 14px;border:1px solid rgba(168,85,247,.36);background:linear-gradient(180deg,rgba(34,17,54,.82),rgba(7,7,12,.86));border-radius:16px;padding:12px}.v297-chat-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.v297-chat-head strong{display:block;color:#fff;letter-spacing:.08em}.v297-chat-head span{display:block;color:rgba(255,255,255,.68);font-size:12px;margin-top:2px}#v297ChatStatus{font-size:11px;color:var(--vc-cyan);border:1px solid rgba(34,211,238,.35);border-radius:999px;padding:5px 9px}.v297-chat-log{max-height:180px;overflow:auto;background:rgba(5,5,9,.48);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:10px}.v297-msg{font-size:13px;line-height:1.45;margin:7px 0;padding:9px 10px;border-radius:10px;white-space:pre-wrap}.v297-msg.bot{background:rgba(168,85,247,.14);border:1px solid rgba(168,85,247,.2)}.v297-msg.user{background:rgba(34,211,238,.11);border:1px solid rgba(34,211,238,.2)}.v297-chat-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
body.v297-pipeline-fail .v236-compact-timeline{border-color:rgba(239,68,68,.6)!important}body.v297-pipeline-gold .v236-compact-timeline{border-color:rgba(250,204,21,.6)!important}body.v297-pipeline-ok .v236-compact-timeline{border-color:rgba(0,224,164,.45)!important}
@media(max-width:920px){.v236-compact-timeline{overflow-x:auto!important;justify-content:flex-start!important}.v236-compact-timeline .v236-tl-step{min-width:92px!important}.mc-orb-wrap{transform:scale(.78);margin-bottom:-38px}}

/* === vision-v298-command-chat.css === */

/* VISION CORE V2.9.8 — Command Chat inspirado no TechNet AI
   Incremental only: mantém DNA roxo/preto e não remove menus. */

:root{
  --v298-bg:#05070b;
  --v298-panel:rgba(8,10,18,.92);
  --v298-panel2:rgba(18,10,35,.88);
  --v298-border:rgba(168,85,247,.34);
  --v298-purple:#a855f7;
  --v298-purple2:#7c3aed;
  --v298-cyan:#22d3ee;
  --v298-green:#00e0a4;
  --v298-yellow:#facc15;
  --v298-red:#ef4444;
  --v298-text:#f8fafc;
  --v298-muted:rgba(248,250,252,.66);
}

/* Esconde apenas o chat pequeno antigo, preservando estrutura e IDs originais. */
#v297UniversalChat,
.v236-copilot-mini-chat{
  display:none !important;
}

/* O card da missão vira Command Center, sem redesenhar o grid externo. */
#mission{
  position:relative;
  overflow:hidden;
}

/* Cria área TechNet-style dentro do Vision Core */
.v298-command-chat{
  margin:14px 0 0;
  border:1px solid var(--v298-border);
  background:
    radial-gradient(circle at 18% 0%, rgba(168,85,247,.22), transparent 35%),
    linear-gradient(180deg, rgba(9,10,16,.96), rgba(4,5,10,.96));
  border-radius:18px;
  box-shadow:0 0 34px rgba(168,85,247,.14), inset 0 1px 0 rgba(255,255,255,.04);
  min-height:520px;
  display:flex;
  flex-direction:column;
}

.v298-command-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid rgba(168,85,247,.22);
}

.v298-command-title strong{
  display:block;
  font-size:15px;
  letter-spacing:.16em;
  color:var(--v298-text);
}

.v298-command-title span{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:var(--v298-muted);
}

.v298-command-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(34,211,238,.28);
  background:rgba(34,211,238,.07);
  color:var(--v298-cyan);
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  white-space:nowrap;
}

.v298-command-status::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--v298-cyan);
  box-shadow:0 0 12px var(--v298-cyan);
}

.v298-chat-stream{
  flex:1;
  min-height:280px;
  max-height:480px;
  overflow:auto;
  padding:18px;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:32px 32px;
}

.v298-empty-hint{
  margin:48px auto;
  max-width:620px;
  text-align:center;
  color:var(--v298-muted);
  line-height:1.6;
  font-size:14px;
}

.v298-message{
  max-width:86%;
  margin:12px 0;
  border-radius:16px;
  padding:12px 14px;
  line-height:1.55;
  font-size:14px;
  white-space:pre-wrap;
  word-break:break-word;
}

.v298-message.user{
  margin-left:auto;
  background:linear-gradient(135deg, rgba(124,58,237,.9), rgba(168,85,247,.7));
  border:1px solid rgba(216,180,254,.34);
  color:#fff;
  box-shadow:0 0 20px rgba(168,85,247,.18);
}

.v298-message.bot{
  margin-right:auto;
  background:rgba(15,23,42,.75);
  border:1px solid rgba(34,211,238,.16);
  color:var(--v298-text);
}

.v298-message.system{
  max-width:100%;
  background:rgba(250,204,21,.08);
  border:1px solid rgba(250,204,21,.22);
  color:#fde68a;
  font-size:13px;
}

.v298-message.error{
  max-width:100%;
  background:rgba(239,68,68,.1);
  border:1px solid rgba(239,68,68,.32);
  color:#fecaca;
}

.v298-composer{
  border-top:1px solid rgba(168,85,247,.22);
  padding:14px;
  background:linear-gradient(180deg, rgba(10,10,18,.96), rgba(5,5,10,.98));
}

.v298-input-wrap{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:stretch;
}

.v298-input{
  width:100%;
  min-height:86px;
  max-height:180px;
  resize:vertical;
  border-radius:16px;
  border:1px solid rgba(168,85,247,.24);
  background:rgba(255,255,255,.08);
  color:#fff;
  padding:14px 16px;
  font-size:14px;
  outline:none;
}

.v298-input:focus{
  border-color:rgba(168,85,247,.7);
  box-shadow:0 0 0 3px rgba(168,85,247,.12);
}

.v298-send-stack{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.v298-send,
.v298-run{
  min-width:132px;
  border:0;
  border-radius:14px;
  padding:12px 14px;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.v298-send{
  background:linear-gradient(135deg, var(--v298-purple), var(--v298-purple2));
}

.v298-run{
  background:linear-gradient(135deg, var(--v298-cyan), var(--v298-green));
  color:#031014;
}

.v298-tool-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
  align-items:center;
}

.v298-tool-btn,
.v298-select{
  min-height:38px;
  border-radius:12px;
  border:1px solid rgba(168,85,247,.22);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:9px 11px;
  font-size:12px;
  font-weight:700;
}

.v298-tool-btn{
  cursor:pointer;
}

.v298-select{
  min-width:160px;
}

.v298-file-note{
  margin-top:8px;
  color:var(--v298-muted);
  font-size:12px;
}

.v298-state-running .v298-command-status{
  color:var(--v298-purple);
  border-color:rgba(168,85,247,.45);
}
.v298-state-running .v298-command-status::before{background:var(--v298-purple);box-shadow:0 0 12px var(--v298-purple);}

.v298-state-fail .v298-command-status{
  color:var(--v298-red);
  border-color:rgba(239,68,68,.45);
}
.v298-state-fail .v298-command-status::before{background:var(--v298-red);box-shadow:0 0 12px var(--v298-red);}

.v298-state-gold .v298-command-status{
  color:var(--v298-yellow);
  border-color:rgba(250,204,21,.45);
}
.v298-state-gold .v298-command-status::before{background:var(--v298-yellow);box-shadow:0 0 12px var(--v298-yellow);}

/* Integração visual com timeline e agent local existentes */
body.v298-pipeline-running .mc-core{box-shadow:0 0 26px rgba(168,85,247,.78)!important;}
body.v298-pipeline-fail .mc-core{box-shadow:0 0 28px rgba(239,68,68,.78)!important;}
body.v298-pipeline-gold .mc-core{box-shadow:0 0 30px rgba(250,204,21,.82)!important;}

body.v298-pipeline-fail .v236-compact-timeline{border-color:rgba(239,68,68,.62)!important;}
body.v298-pipeline-gold .v236-compact-timeline{border-color:rgba(250,204,21,.62)!important;}
body.v298-pipeline-running .v236-compact-timeline{border-color:rgba(168,85,247,.62)!important;}

@media(max-width:900px){
  .v298-command-chat{min-height:480px;}
  .v298-command-head{align-items:flex-start;flex-direction:column;}
  .v298-input-wrap{grid-template-columns:1fr;}
  .v298-send-stack{flex-direction:row;}
  .v298-send,.v298-run{flex:1;min-width:0;}
  .v298-select{flex:1 1 160px;}
}

/* === vision-v298-final-hardened.css === */

/* VISION CORE V2.9.8 FINAL HARDENED
   Patch final incremental: dropdown dark, timeline única, spacing, replay/logs. */

/* 1. Remove timeline antiga/duplicada, mantendo a primeira timeline compacta do topo */
#mission .v236-compact-timeline ~ .v236-compact-timeline,
#mission .v236-compact-timeline.v298-duplicated,
#mission .v236-compact-timeline[data-v298-hidden="true"]{
  display:none!important;
}

/* 2. Command Center spacing refinado */
#mission{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.v298-command-chat{
  margin-top:8px!important;
  margin-bottom:10px!important;
  min-height:560px!important;
}

.v298-chat-stream{
  min-height:330px!important;
  max-height:520px!important;
}

.v298-composer{
  padding:12px!important;
}

.v298-input-wrap{
  gap:8px!important;
}

.v298-tool-row{
  margin-top:8px!important;
  gap:8px!important;
}

/* 3. Esconde selects nativos substituídos por dropdowns custom */
.v298-select.v298-native-hidden{
  display:none!important;
}

/* 4. Dropdown custom dark */
.v298-dropdown{
  position:relative;
  min-width:170px;
}

.v298-dropdown-btn{
  width:100%;
  min-height:38px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(168,85,247,.28);
  color:#fff;
  padding:9px 34px 9px 12px;
  border-radius:12px;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  text-align:left;
  white-space:nowrap;
  position:relative;
}

.v298-dropdown-btn::after{
  content:"⌄";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  opacity:.78;
}

.v298-dropdown.open .v298-dropdown-btn{
  border-color:rgba(168,85,247,.72);
  box-shadow:0 0 0 3px rgba(168,85,247,.12);
}

.v298-dropdown-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  background:#090912;
  border:1px solid rgba(168,85,247,.42);
  border-radius:12px;
  min-width:100%;
  width:max-content;
  max-width:260px;
  display:none;
  z-index:99999;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.55),0 0 26px rgba(168,85,247,.16);
}

.v298-dropdown.open .v298-dropdown-menu{
  display:block;
}

.v298-dropdown-menu div{
  padding:10px 12px;
  cursor:pointer;
  color:#ddd;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.v298-dropdown-menu div:hover,
.v298-dropdown-menu div.active{
  background:rgba(168,85,247,.24);
  color:#fff;
}

/* 5. Botões utilitários finais */
.v298-tool-btn.v298-hard-action{
  border-color:rgba(34,211,238,.32);
  color:#c7f9ff;
}

.v298-tool-btn.v298-danger-soft{
  border-color:rgba(239,68,68,.25);
  color:#fecaca;
}

/* 6. Timeline visual mais limpa */
.v236-compact-timeline{
  margin-bottom:10px!important;
}

.v236-tl-step small{
  opacity:.62!important;
  font-size:10px!important;
}

.v236-tl-step span{
  white-space:nowrap!important;
}

/* 7. Estados globais */
body.v298-final-running .v298-command-chat{
  border-color:rgba(168,85,247,.62)!important;
}

body.v298-final-fail .v298-command-chat{
  border-color:rgba(239,68,68,.72)!important;
}

body.v298-final-gold .v298-command-chat{
  border-color:rgba(250,204,21,.72)!important;
}

/* 8. Mobile hardening */
@media(max-width:900px){
  .v298-command-chat{
    min-height:500px!important;
  }
  .v298-chat-stream{
    min-height:260px!important;
  }
  .v298-dropdown{
    flex:1 1 100%;
  }
  .v298-dropdown-menu{
    bottom:auto;
    top:calc(100% + 8px);
    width:100%;
  }
}

/* === vision-v298-final-hard-fix2.css === */

/* V2.9.8 FINAL HARDENED FIX2
   Remove select nativo branco e timeline duplicada abaixo do chat. */

/* timeline antiga abaixo do chat */
#mission .v298-command-chat ~ .v236-compact-timeline,
#mission .v298-command-chat ~ .timeline,
#mission .v298-command-chat ~ [class*="timeline"]{
  display:none!important;
}

/* caso existam duas timelines, deixa só a primeira antes do chat */
#mission .v236-compact-timeline:nth-of-type(n+2){
  display:none!important;
}

/* nunca mostrar select nativo do command chat */
#v298Mode,
#v298Model,
#v298Streaming,
.v298-command-chat select,
.v298-select{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  position:absolute!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  max-width:0!important;
  max-height:0!important;
}

/* dropdown custom real */
.v298-dd{
  position:relative;
  min-width:170px;
  flex:0 0 auto;
}

.v298-dd-btn{
  width:100%;
  min-height:38px;
  border-radius:12px;
  border:1px solid rgba(168,85,247,.34);
  background:linear-gradient(180deg,rgba(24,18,36,.96),rgba(10,10,18,.98));
  color:#fff;
  padding:9px 34px 9px 12px;
  font-size:12px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.v298-dd-btn::after{
  content:"⌄";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:#c4b5fd;
}

.v298-dd.open .v298-dd-btn{
  border-color:#a855f7;
  box-shadow:0 0 0 3px rgba(168,85,247,.13),0 0 18px rgba(168,85,247,.2);
}

.v298-dd-menu{
  display:none;
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  min-width:100%;
  width:max-content;
  max-width:260px;
  background:#090912!important;
  border:1px solid rgba(168,85,247,.48);
  border-radius:12px;
  overflow:hidden;
  z-index:2147483647;
  box-shadow:0 22px 48px rgba(0,0,0,.72),0 0 24px rgba(168,85,247,.22);
}

.v298-dd.open .v298-dd-menu{
  display:block;
}

.v298-dd-item{
  display:block;
  padding:10px 12px;
  color:#e5e7eb;
  background:#090912;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.v298-dd-item:hover,
.v298-dd-item.active{
  background:rgba(168,85,247,.32);
  color:#fff;
}

/* compactar área inferior */
.v298-tool-row{
  align-items:center!important;
  gap:8px!important;
}

.v298-file-note{
  margin-top:6px!important;
}

/* evitar espaço morto */
.v298-command-chat{
  min-height:520px!important;
}

.v298-chat-stream{
  min-height:300px!important;
}

@media(max-width:900px){
  .v298-dd{flex:1 1 100%;width:100%}
  .v298-dd-menu{bottom:auto;top:calc(100% + 8px);width:100%}
}

/* === vision-v33-orbit.css === */
/* ── FIX CRÍTICO: mc-panel não pode cortar os nodes orbitais ──── */
.mc-panel {
  overflow: visible !important;
  /* O sticky wrapper (#v33StickyWrap) continua com overflow normal */
}

/* Garantir que o aside e paineis vizinhos não criem clipping context */


/* ═══════════════════════════════════════════════════════════════
   VISION CORE V3.3 ENTERPRISE — ORBIT CSS
   Arquivo: vision-v33-orbit.css
   Patch cirúrgico: só afeta .mc-panel e .mc-node/.mc-core
   NÃO altera grid, chat, sidebar, layout geral
   ═══════════════════════════════════════════════════════════════ */

/* ── STICKY REAL — coluna direita completa acompanha scroll ─────
 * MÉTODO CORRETO: sticky no aside (coluna grid), não no #agentDownload
 * aside é filho direto de main.shell.grid → scroll container = viewport
 * overflow-x:clip (não hidden) nos ancestors → sem criar scroll container
 */

/* 1. O aside direito (coluna VISION AGENT LOCAL) sticky como coluna inteira */
main.shell.grid > aside:last-of-type {
  position: sticky !important;
  top: 24px !important;
  align-self: start !important;
  height: fit-content !important;
  max-height: calc(100vh - 32px) !important;
  overflow-y: auto !important;   /* scroll interno — todo conteúdo visível */
  overflow-x: visible !important;
  z-index: 20 !important;
  /* scrollbar fina discreta */
  scrollbar-width: thin;
  scrollbar-color: rgba(168,85,247,.35) transparent;
}

/* 2. #agentDownload: remover sticky conflitante — é filho normal do aside */
#agentDownload {
  position: relative !important;
  top: auto !important;
  align-self: auto !important;
  overflow: visible !important;
}

/* 3. Neutralizar wrappers JS de patches anteriores */
#v32StickyWrap,
#v33StickyWrap,
#v34StickyWrap {
  position: static !important;
  top: auto !important;
  transform: none !important;
  will-change: auto !important;
}

/* ── ORB WRAP — ocupa todo o espaço disponível do mc-panel ────── */
/* mc-panel content ≈ 352px. Nodes ficam dentro do wrap. */
.mc-orb-wrap {
  width: 260px !important;
  height: 260px !important;
  margin: 6px auto 10px !important;
  position: relative;
  overflow: visible !important;
}

/* ── RINGS animados ─────────────────────────────────────────────── */
.mc-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border-style: dashed;
  border-color: rgba(168, 85, 247, .15);
  pointer-events: none;
}

.mc-ring-1 {
  width: 170px !important;
  height: 134px !important;
  border-width: 1px;
  border-color: rgba(168, 85, 247, .22) !important;
  animation: v33RingA 22s linear infinite;
}

.mc-ring-2 {
  width: 248px !important;
  height: 196px !important;
  border-width: 1px;
  border-color: rgba(168, 85, 247, .13) !important;
  animation: v33RingB 32s linear infinite reverse;
}

.mc-ring-3 {
  width: 316px !important;
  height: 250px !important;
  border-width: 1px;
  border-color: rgba(168, 85, 247, .07) !important;
  animation: v33RingA 48s linear infinite;
}

@keyframes v33RingA {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes v33RingB {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(-360deg); }
}

/* ── CORE READY ─────────────────────────────────────────────────── */
.mc-core {
  width: 72px !important;
  height: 56px !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: radial-gradient(circle at 38% 32%, #9333ea, #4c1d95 68%, #130a2a) !important;
  box-shadow: 0 0 20px rgba(147, 51, 234, .55), inset 0 0 12px rgba(255,255,255,.05) !important;
  z-index: 10;
  transition: background .5s, box-shadow .5s;
  cursor: default;
}

.mc-core-hex {
  display: none !important; /* substituído pelo radial-gradient no próprio core */
}

.mc-core-status {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  color: #e9d5ff !important;
  line-height: 1.1 !important;
}

.mc-core-sub {
  font-size: 7px !important;
  color: #a78bfa !important;
  letter-spacing: .1em !important;
  margin-top: 2px !important;
}

/* Core states */
.mc-core.running {
  background: radial-gradient(circle at 38% 32%, #0ea5e9, #1e40af 68%, #0c1a3d) !important;
  box-shadow: 0 0 32px rgba(14,165,233,.8), inset 0 0 14px rgba(255,255,255,.07) !important;
  animation: v33CorePulse 1.1s ease-in-out infinite !important;
}

.mc-core.success {
  background: radial-gradient(circle at 38% 32%, #fde047, #b45309 68%, #1c0f00) !important;
  box-shadow: 0 0 40px rgba(250,204,21,.9), inset 0 0 16px rgba(255,255,255,.08) !important;
  animation: none !important;
}

.mc-core.fail {
  background: radial-gradient(circle at 38% 32%, #ef4444, #7f1d1d 68%, #1c0000) !important;
  box-shadow: 0 0 30px rgba(239,68,68,.85) !important;
  animation: none !important;
}

@keyframes v33CorePulse {
  0%,100% { transform: translate(-50%,-50%) scale(1); }
  50%      { transform: translate(-50%,-50%) scale(1.06); }
}

/* ── NODES — posições para 280px wrap ────────────────────────────── */
/* Ring de nodes = 104px de raio do centro = 280/2=140px center */
/* Posicionamento relativo ao wrapper 280px                       */

.mc-node {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  z-index: 5;
  transition: opacity .3s, transform .2s;
}

/* Reposicionar para 280px wrap — 7 nodes em círculo              */
/* Raio visual = 104px do centro do wrap (140px)                  */
/* node-icon é 28px → offset -14px para centrar                  */

.mc-node--top    { top: 3px;   left: 50%; transform: translateX(-50%); }
.mc-node--tr     { top: 11%;  right: 9%; }
.mc-node--right  { top: 50%;  right: 3px; transform: translateY(-50%); }
.mc-node--br     { bottom: 11%; right: 9%; }
.mc-node--bottom { bottom: 3px; left: 50%; transform: translateX(-50%); }
.mc-node--left   { top: 50%;  left: 3px; transform: translateY(-50%); }
.mc-node--tl     { top: 11%;  left: 9%; }

.mc-node-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(8,6,18,.95) !important;
  border: 1.5px solid rgba(168,85,247,.4) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 13px !important;
  color: var(--purple2) !important;
  transition: border-color .3s, color .3s, box-shadow .3s !important;
}

.mc-node-label {
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  color: rgba(255,255,255,.75) !important;
  text-align: center !important;
  margin-top: 3px !important;
  line-height: 1.25 !important;
  white-space: nowrap;
}

.mc-node-label small {
  color: rgba(255,255,255,.4) !important;
  font-weight: 400 !important;
  display: block !important;
  font-size: 7px !important;
}

/* ── NODE PIPELINE STATES ───────────────────────────────────────── */

/* idle dim */
.mc-node.v33-idle { opacity: .45; }

/* running — pulse + color */
.mc-node.v33-running .mc-node-icon {
  border-color: currentColor !important;
  animation: v33NodePulse 1s ease-in-out infinite !important;
}
.mc-node.v33-running { opacity: 1 !important; }

/* done — green check glow */
.mc-node.v33-done .mc-node-icon {
  border-color: rgba(34,197,94,.7) !important;
  box-shadow: 0 0 12px rgba(34,197,94,.5) !important;
  color: #22c55e !important;
}
.mc-node.v33-done { opacity: .9 !important; }

/* fail */
.mc-node.v33-fail .mc-node-icon {
  border-color: #ef4444 !important;
  box-shadow: 0 0 12px rgba(239,68,68,.6) !important;
  color: #ef4444 !important;
}

@keyframes v33NodePulse {
  0%,100% { opacity: 1; box-shadow: none; }
  50%      { opacity: .6; box-shadow: 0 0 14px currentColor; }
}

/* ── NODE COLORS per data-key ───────────────────────────────────── */
[data-key="openclaw"].v33-running .mc-node-icon { color: #a855f7 !important; border-color: #a855f7 !important; }
[data-key="scanner"].v33-running  .mc-node-icon { color: #22c55e !important; border-color: #22c55e !important; }
[data-key="hermes"].v33-running   .mc-node-icon { color: #f59e0b !important; border-color: #f59e0b !important; }
[data-key="patchengine"].v33-running .mc-node-icon { color: #22d3ee !important; border-color: #22d3ee !important; }
[data-key="aegis"].v33-running    .mc-node-icon { color: #22c55e !important; border-color: #22c55e !important; }
[data-key="passgold"].v33-running .mc-node-icon { color: #facc15 !important; border-color: #facc15 !important; }
[data-key="github"].v33-running   .mc-node-icon { color: #94a3b8 !important; border-color: #94a3b8 !important; }

[data-key="passgold"].v33-done .mc-node-icon { color: #facc15 !important; border-color: #facc15 !important; box-shadow: 0 0 18px rgba(250,204,21,.8) !important; }

/* ── ORBIT ARC — SVG connector (injetado via JS) ────────────────── */
#v33-orbit-arc {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 3;
}

/* ── LIVE REPORT CARD ───────────────────────────────────────────── */
.v33-report {
  background: linear-gradient(155deg, rgba(12,8,24,.98), rgba(7,5,16,.98));
  border: 1px solid rgba(250,204,21,.4);
  border-radius: 12px;
  padding: 12px;
  margin-top: 8px;
  box-shadow: 0 0 24px rgba(250,204,21,.1);
}

.v33-report-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #facc15;
  margin-bottom: 9px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.v33-report-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
  border-bottom: 1px solid rgba(168,85,247,.08);
  font-size: 10px;
}
.v33-report-row:last-child { border-bottom: none; }

.v33-report-lbl { color: #a78bfa; flex-shrink: 0; margin-right: 8px; }
.v33-report-val { color: #e9d5ff; text-align: right; word-break: break-all; }
.v33-report-gold { color: #facc15 !important; font-weight: 700 !important; }

.v33-report-btn {
  display: block;
  margin-top: 9px;
  padding: 6px 10px;
  background: rgba(250,204,21,.1);
  border: 1px solid rgba(250,204,21,.35);
  border-radius: 8px;
  color: #facc15;
  font-size: 10px;
  text-align: center;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .07em;
  transition: background .2s;
}
.v33-report-btn:hover { background: rgba(250,204,21,.2); }

/* ═══════════════════════════════════════════════════════════════
   VISION CORE V4.4 — RUNTIME CONSISTENCY PASS CSS
   Sticky real + Mission Report card + clipping guards
   ═══════════════════════════════════════════════════════════════ */
html, body { overflow-x: clip !important; }
main.shell.grid { align-items: start !important; overflow: visible !important; transform: none !important; contain: none !important; }
main.shell.grid > aside:last-of-type {
  position: sticky !important;
  top: 24px !important;
  align-self: start !important;
  height: fit-content !important;
  max-height: calc(100vh - 32px) !important;
  overflow: visible !important;
  z-index: 20 !important;
}
#agentDownload { position: relative !important; top: auto !important; overflow: visible !important; }
.v44-mission-report {
  background: linear-gradient(155deg, rgba(12,8,24,.98), rgba(7,5,16,.98));
  border: 1px solid rgba(250,204,21,.42);
  border-radius: 12px;
  padding: 12px;
  margin: 8px 0;
  box-shadow: 0 0 24px rgba(250,204,21,.1);
}
.v44-report-title {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #facc15;
  margin-bottom: 8px;
  text-align: center;
  line-height: 1.6;
}
.v44-report-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(168,85,247,.08);
  font-size: 10px;
}
.v44-report-row span { color: #a78bfa; }
.v44-report-row b { color: #e9d5ff; text-align: right; word-break: break-word; }
.v44-report-row b.gold { color: #facc15; }

/* ── Scrollbar fina no painel direito (Webkit) ───────────────── */
main.shell.grid > aside:last-of-type::-webkit-scrollbar {
  width: 4px;
}
main.shell.grid > aside:last-of-type::-webkit-scrollbar-track {
  background: transparent;
}
main.shell.grid > aside:last-of-type::-webkit-scrollbar-thumb {
  background: rgba(168, 85, 247, .30);
  border-radius: 2px;
}

/* === vision-gold.css === */
/* ── Mission Input Decagon — V15.4A ──────────────────────────── */
.mi-decagon-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 460 / 480;
  margin: 10px 0;
  overflow: visible;
}

.mi-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

.mi-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20%;
  height: 20%;
  min-width: 68px;
  min-height: 68px;
  border-radius: 50%;
  background: rgba(139, 92, 246, 0.12);
  border: 1.5px solid rgba(192, 132, 252, 0.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 10;
  cursor: default;
  gap: 1px;
}

.mi-center-label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #c084fc;
  line-height: 1.3;
}

.mi-center-sub {
  font-size: 6.5px;
  color: #7c6fa0;
  line-height: 1.3;
}

.mi-center-hint {
  font-size: 5px;
  color: #4a3f6b;
  line-height: 1.3;
  text-align: center;
  margin-top: 1px;
  letter-spacing: 0.2px;
}

.mi-tooltip {
  position: absolute;
  bottom: 4%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(10, 6, 20, 0.96);
  border: 0.5px solid rgba(192, 132, 252, 0.3);
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 8px;
  color: #c084fc;
  pointer-events: none;
  white-space: nowrap;
  max-width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 20;
}

.mi-tooltip:not(:empty) {
  opacity: 1;
}

.mi-node {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition: opacity 0.3s;
  z-index: 5;
  gap: 2px;
}

.mi-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid;
  flex-shrink: 0;
}

.mi-icon--p { background: rgba(139, 92, 246, 0.15); border-color: rgba(192, 132, 252, 0.55); }
.mi-icon--t { background: rgba(52, 211, 153, 0.13);  border-color: rgba(52, 211, 153, 0.50); }
.mi-icon--b { background: rgba(96, 165, 250, 0.13);  border-color: rgba(96, 165, 250, 0.50); }
.mi-icon--y { background: rgba(251, 191, 36, 0.13);  border-color: rgba(251, 191, 36, 0.50); }
.mi-icon--r { background: rgba(248, 113, 113, 0.13); border-color: rgba(248, 113, 113, 0.50); }
.mi-icon--c { background: rgba(34, 211, 238, 0.13);  border-color: rgba(34, 211, 238, 0.50); }

.mi-name {
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-align: center;
  line-height: 1.2;
}

.mi-role {
  font-size: 6.5px;
  color: #7c6fa0;
  text-align: center;
  line-height: 1.2;
}

.mi-status {
  display: block;
  font-size: 6px;
  color: #5d5470;
  text-align: center;
  letter-spacing: 0.5px;
}

/* State keyframe animations — V15.4B */
@keyframes glow-running {
  0%, 100% { box-shadow: 0 0 6px 2px currentColor; opacity: 1; }
  50%       { box-shadow: 0 0 18px 6px currentColor; opacity: 0.85; }
}

@keyframes glow-done {
  0%, 100% { box-shadow: 0 0 8px 3px currentColor; }
  50%       { box-shadow: 0 0 4px 1px currentColor; }
}

@keyframes glow-fail {
  0%, 100% { box-shadow: 0 0 10px 4px #f87171; }
  50%       { box-shadow: 0 0 3px 1px #f87171; opacity: 0.7; }
}

/* State classes — driven by vision-agent-local.js */
.mi-node.v33-idle { opacity: 0.45; animation: none; }
.mi-node.v33-running .mi-icon { box-shadow: 0 0 8px rgba(192, 132, 252, 0.5); animation: glow-running 1.2s ease-in-out infinite; }
.mi-node.v33-done { opacity: 1; }
.mi-node.v33-done .mi-icon { box-shadow: 0 0 10px rgba(52, 211, 153, 0.4); animation: glow-done 2s ease-in-out infinite; }
.mi-node.v33-fail { opacity: 0.9; }
.mi-node.v33-fail .mi-icon { border-color: rgba(248, 113, 113, 0.8) !important; animation: glow-fail 0.6s ease-in-out infinite; }

/* Mission Input legend */
.mi-legend {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 6px 0 10px;
  padding: 7px 9px;
  background: rgba(255, 255, 255, 0.02);
  border: 0.5px solid rgba(192, 132, 252, 0.12);
  border-radius: 8px;
}

.mi-leg-item {
  font-size: 8px;
  color: #7c6fa0;
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.4;
}

.mi-dot { font-size: 7px; }
.mi-dot--p { color: #c084fc; }
.mi-dot--t { color: #34d399; }
.mi-dot--b { color: #60a5fa; }
.mi-dot--y { color: #fbbf24; }
.mi-dot--r { color: #f87171; }
.mi-dot--c { color: #22d3ee; }

/* === vc-metrics-reserve.css === */
/* ================================================================
   VISION CORE V2.9.10 CLEAN FRONT
   vc-metrics-reserve.css
   Agent Metrics + Reserve Agents panels — static, no API
   ================================================================ */

/* ── Agent Metrics Panel ─────────────────────────────────────── */
.vc-agent-metrics-panel {
  /* inherits .panel glass from parent */
}

.vc-metrics-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.vc-metrics-headline-text .eyebrow {
  font-size: 10px;
  letter-spacing: .14em;
  color: #7c6fa0;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.vc-metrics-headline-text h2 {
  margin: 0 0 4px;
  font-size: 16px;
  color: #f8fafc;
}

.vc-metrics-headline-text p {
  margin: 0;
  font-size: 12px;
  color: #7c6fa0;
  line-height: 1.5;
}

.vc-ui-local-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(168, 85, 247, .32);
  background: rgba(168, 85, 247, .08);
  color: #c084fc;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  white-space: nowrap;
}

.vc-ui-local-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c084fc;
  box-shadow: 0 0 8px #c084fc;
}

/* Metric rows */
.vc-agent-metric-row {
  display: grid;
  grid-template-columns: 130px 90px 1fr 64px;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .04);
}

.vc-agent-metric-row:last-child {
  border-bottom: none;
}

.vc-agent-metric-name {
  font-size: 12px;
  font-weight: 700;
  color: #e2e8f0;
  letter-spacing: .04em;
}

.vc-agent-method-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: 1px solid;
  white-space: nowrap;
}

.vc-agent-method-chip.conversa  { color: #a855f7; border-color: rgba(168, 85, 247, .35); background: rgba(168, 85, 247, .08); }
.vc-agent-method-chip.loop      { color: #f59e0b; border-color: rgba(245, 158, 11, .35); background: rgba(245, 158, 11, .08); }
.vc-agent-method-chip.adaptive  { color: #94a3b8; border-color: rgba(148, 163, 184, .30); background: rgba(148, 163, 184, .06); }
.vc-agent-method-chip.auto      { color: #22d3ee; border-color: rgba(34, 211, 238, .30); background: rgba(34, 211, 238, .06); }

.vc-agent-bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  overflow: hidden;
}

.vc-agent-bar-fill {
  height: 100%;
  border-radius: 999px;
  transition: width .4s ease;
}

.vc-bar-purple  { background: linear-gradient(90deg, #7c3aed, #a855f7); }
.vc-bar-green   { background: linear-gradient(90deg, #16a34a, #22c55e); }
.vc-bar-cyan    { background: linear-gradient(90deg, #0891b2, #22d3ee); }
.vc-bar-orange  { background: linear-gradient(90deg, #c2410c, #f59e0b); }
.vc-bar-gray    { background: linear-gradient(90deg, #374151, #6b7280); }
.vc-bar-yellow  { background: linear-gradient(90deg, #a16207, #facc15); }
.vc-bar-pink    { background: linear-gradient(90deg, #9d174d, #ec4899); }

.vc-agent-cost {
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  color: #22d3ee;
  font-family: 'Courier New', monospace;
  letter-spacing: .02em;
}

.vc-agent-cost.gray { color: #6b7280; }

.vc-total-pipeline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(250, 204, 21, .06);
  border: 1px solid rgba(250, 204, 21, .22);
}

.vc-total-pipeline .vc-total-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #7c6fa0;
  text-transform: uppercase;
}

.vc-total-pipeline .vc-total-value {
  font-size: 20px;
  font-weight: 900;
  color: #facc15;
  font-family: 'Courier New', monospace;
  letter-spacing: .04em;
  text-shadow: 0 0 20px rgba(250, 204, 21, .4);
}

/* ── Reserve Agents Panel ────────────────────────────────────── */
.vc-reserve-panel {
  /* inherits .panel */
}

.vc-reserve-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.vc-reserve-headline-text .eyebrow {
  font-size: 10px;
  letter-spacing: .14em;
  color: #7c6fa0;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.vc-reserve-headline-text h2 {
  margin: 0 0 4px;
  font-size: 16px;
  color: #f8fafc;
}

.vc-reserve-headline-text p {
  margin: 0;
  font-size: 12px;
  color: #7c6fa0;
  line-height: 1.5;
}

.vc-reserve-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (max-width: 1100px) {
  .vc-reserve-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .vc-reserve-grid { grid-template-columns: 1fr; }
}

.vc-reserve-card {
  border: 1px solid rgba(168, 85, 247, .22);
  border-radius: 14px;
  background:
    radial-gradient(circle at 20% 0%, rgba(124, 58, 237, .10), transparent 50%),
    rgba(8, 8, 16, .88);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
  position: relative;
}

.vc-reserve-card:hover {
  border-color: rgba(168, 85, 247, .55);
  box-shadow: 0 0 18px rgba(168, 85, 247, .12);
}

.vc-reserve-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.vc-reserve-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  background: rgba(124, 58, 237, .2);
  border: 1px solid rgba(168, 85, 247, .3);
  flex-shrink: 0;
}

.vc-reserve-icon.orange { background: rgba(234, 88, 12, .18); border-color: rgba(249, 115, 22, .3); }

.vc-reserve-status {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #22c55e;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(34, 197, 94, .1);
  border: 1px solid rgba(34, 197, 94, .28);
}

.vc-reserve-type {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #7c6fa0;
  text-transform: uppercase;
}

.vc-reserve-name {
  font-size: 13px;
  font-weight: 700;
  color: #f1f5f9;
  line-height: 1.3;
}

.vc-reserve-desc {
  font-size: 11px;
  color: #6b7280;
  line-height: 1.5;
  flex: 1;
}

.vc-reserve-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.vc-reserve-tag {
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .08);
  color: #94a3b8;
}

.vc-reserve-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.vc-reserve-method {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 2px 7px;
  border-radius: 5px;
  border: 1px solid;
  text-transform: uppercase;
}

.vc-reserve-method.conversa  { color: #a855f7; border-color: rgba(168, 85, 247, .35); background: rgba(168, 85, 247, .08); }
.vc-reserve-method.cirurgico { color: #22d3ee; border-color: rgba(34, 211, 238, .30); background: rgba(34, 211, 238, .06); }
.vc-reserve-method.loop      { color: #f59e0b; border-color: rgba(245, 158, 11, .30); background: rgba(245, 158, 11, .06); }
.vc-reserve-method.consulta  { color: #94a3b8; border-color: rgba(148, 163, 184, .25); background: rgba(148, 163, 184, .05); }

/* Mode buttons */
.vc-reserve-modes {
  display: flex;
  gap: 4px;
  margin-left: auto;
}

.vc-mode-btn {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 2px 7px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, .1);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
}

.vc-mode-btn.active-off  { color: #ef4444; border-color: rgba(239, 68, 68, .45);   background: rgba(239, 68, 68, .1); }
.vc-mode-btn.active-auto { color: #22c55e; border-color: rgba(34, 197, 94, .45);   background: rgba(34, 197, 94, .1); }
.vc-mode-btn.active-on   { color: #a855f7; border-color: rgba(168, 85, 247, .45);  background: rgba(168, 85, 247, .1); }

/* ── Prompt Preview Panel ────────────────────────────────────── */
.vc-prompt-preview-panel {
  display: none;
  position: fixed;
  bottom: 70px;
  right: 24px;
  width: min(460px, 94vw);
  max-height: 70vh;
  overflow-y: auto;
  background: rgba(8, 6, 20, .97);
  border: 1px solid rgba(168, 85, 247, .45);
  border-radius: 16px;
  box-shadow: 0 0 40px rgba(124, 58, 237, .22);
  z-index: 8888;
  padding: 18px 20px;
  font-size: 13px;
  backdrop-filter: blur(8px);
}

.vc-prompt-preview-panel.visible {
  display: block;
}

.vc-prompt-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(168, 85, 247, .2);
}

.vc-prompt-preview-title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
}

.vc-prompt-preview-close {
  background: none;
  border: none;
  color: #4b5563;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 0;
}

.vc-prompt-preview-close:hover { color: #ef4444; }

.vc-prompt-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }

.vc-prompt-meta-chip {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid rgba(168, 85, 247, .3);
  color: #a855f7;
  background: rgba(168, 85, 247, .08);
}

.vc-prompt-body {
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 12px;
  color: #cbd5e1;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  margin-bottom: 10px;
}

.vc-prompt-perms {
  font-size: 11px;
  color: #4b5563;
  margin-bottom: 6px;
}

.vc-prompt-perms strong { color: #22c55e; font-size: 10px; letter-spacing: .08em; }
.vc-prompt-prohib strong { color: #ef4444; font-size: 10px; letter-spacing: .08em; }

.vc-prompt-perm-list,
.vc-prompt-prohib-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.vc-perm-chip {
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(34, 197, 94, .08);
  border: 1px solid rgba(34, 197, 94, .2);
  color: #86efac;
}

.vc-prohib-chip {
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(239, 68, 68, .08);
  border: 1px solid rgba(239, 68, 68, .2);
  color: #fca5a5;
}

/* === vc-project-builder.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-project-builder.css
   Project Builder / Agent Orchestration Panel — local UI only
   ================================================================ */

/* ── Panel wrapper ───────────────────────────────────────────── */
.vc-project-builder-panel {
  /* inherits .panel glass */
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-pb-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}

.vc-pb-headline-text .eyebrow {
  font-size: 10px;
  letter-spacing: .14em;
  color: #7c6fa0;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.vc-pb-headline-text h2 {
  margin: 0 0 4px;
  font-size: 16px;
  color: #f8fafc;
}

.vc-pb-headline-text p {
  margin: 0;
  font-size: 12px;
  color: #7c6fa0;
  line-height: 1.5;
}

/* ── Section labels ──────────────────────────────────────────── */
.vc-pb-section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #7c6fa0;
  text-transform: uppercase;
  margin: 0 0 10px;
  padding: 0 0 6px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}

.vc-pb-section {
  margin-bottom: 20px;
}

/* ── Section A — Project Type ────────────────────────────────── */
.vc-project-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

@media (max-width: 1100px) { .vc-project-type-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .vc-project-type-grid { grid-template-columns: repeat(2, 1fr); } }

.vc-project-type-card {
  border: 1px solid rgba(168,85,247,.18);
  border-radius: 10px;
  background: rgba(8,8,16,.75);
  padding: 10px 12px;
  cursor: pointer;
  transition: border-color .18s, box-shadow .18s, background .18s;
  display: flex;
  flex-direction: column;
  gap: 4px;
  user-select: none;
}

.vc-project-type-card:hover {
  border-color: rgba(168,85,247,.50);
  box-shadow: 0 0 14px rgba(168,85,247,.10);
}

.vc-project-type-card.selected {
  border-color: rgba(168,85,247,.85);
  background: rgba(124,58,237,.14);
  box-shadow: 0 0 18px rgba(168,85,247,.18);
}

.vc-project-type-icon {
  font-size: 16px;
  color: #a855f7;
  line-height: 1;
}

.vc-project-type-label {
  font-size: 11px;
  font-weight: 700;
  color: #e2e8f0;
  letter-spacing: .02em;
  line-height: 1.3;
}

/* ── Section B — Project Size ────────────────────────────────── */
.vc-project-size-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vc-size-chip {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 5px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: #6b7280;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
  text-transform: uppercase;
}

.vc-size-chip:hover { border-color: rgba(255,255,255,.28); color: #e2e8f0; }

.vc-size-chip.selected-cyan   { border-color: rgba(34,211,238,.65);  color: #22d3ee; background: rgba(34,211,238,.10); }
.vc-size-chip.selected-green  { border-color: rgba(34,197,94,.65);   color: #22c55e; background: rgba(34,197,94,.10); }
.vc-size-chip.selected-purple { border-color: rgba(168,85,247,.65);  color: #a855f7; background: rgba(168,85,247,.10); }
.vc-size-chip.selected-yellow { border-color: rgba(250,204,21,.65);  color: #facc15; background: rgba(250,204,21,.08); }
.vc-size-chip.selected-red    { border-color: rgba(239,68,68,.65);   color: #ef4444; background: rgba(239,68,68,.10); }

.vc-size-hint {
  font-size: 10px;
  color: #4b5563;
  margin-top: 6px;
  letter-spacing: .06em;
}

/* ── Section C — Stack ───────────────────────────────────────── */
.vc-stack-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vc-stack-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: #6b7280;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}

.vc-stack-chip:hover { border-color: rgba(34,211,238,.35); color: #cbd5e1; }

.vc-stack-chip.selected {
  border-color: rgba(34,211,238,.60);
  color: #22d3ee;
  background: rgba(34,211,238,.08);
}

/* ── Section D — Orchestration Mode ─────────────────────────── */
.vc-orchestration-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vc-mode-chip {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 6px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
  text-transform: uppercase;
}

.vc-mode-chip:hover { border-color: rgba(168,85,247,.40); color: #a855f7; }

.vc-mode-chip.selected {
  border-color: rgba(168,85,247,.75);
  color: #a855f7;
  background: rgba(168,85,247,.12);
  box-shadow: 0 0 10px rgba(168,85,247,.12);
}

.vc-mode-desc {
  font-size: 11px;
  color: #4b5563;
  margin-top: 7px;
  line-height: 1.5;
  min-height: 18px;
  transition: color .2s;
}

.vc-mode-desc.active { color: #94a3b8; }

/* ── Section E — Agent Control Matrix ───────────────────────── */
.vc-agent-matrix {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

@media (max-width: 700px) { .vc-agent-matrix { grid-template-columns: 1fr; } }

.vc-agent-matrix-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 8px;
  background: rgba(255,255,255,.02);
  transition: border-color .15s;
}

.vc-agent-matrix-row.vc-agent-recommended {
  border-color: rgba(168,85,247,.30);
  background: rgba(168,85,247,.06);
}

.vc-agent-matrix-row.vc-agent-selected {
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.05);
}

.vc-agent-matrix-name {
  font-size: 11px;
  font-weight: 700;
  color: #e2e8f0;
  flex: 1;
  letter-spacing: .03em;
}

.vc-agent-matrix-badge {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
}

.vc-agent-matrix-badge.rec   { color: #a855f7; background: rgba(168,85,247,.12); border: 1px solid rgba(168,85,247,.25); }
.vc-agent-matrix-badge.norec { color: #374151; background: rgba(55,65,81,.08);   border: 1px solid rgba(55,65,81,.18); }

.vc-agent-matrix-modes {
  display: flex;
  gap: 3px;
}

.vc-matrix-mode-btn {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: #374151;
  cursor: pointer;
  transition: all .12s;
}

.vc-matrix-mode-btn.active-off  { color: #ef4444; border-color: rgba(239,68,68,.45);  background: rgba(239,68,68,.10); }
.vc-matrix-mode-btn.active-auto { color: #22c55e; border-color: rgba(34,197,94,.45);  background: rgba(34,197,94,.10); }
.vc-matrix-mode-btn.active-on   { color: #a855f7; border-color: rgba(168,85,247,.45); background: rgba(168,85,247,.10); }

/* ── Section F — Orchestration Preview ──────────────────────── */
.vc-builder-preview {
  background: rgba(124,58,237,.05);
  border: 1px solid rgba(168,85,247,.22);
  border-radius: 12px;
  padding: 14px 16px;
}

.vc-preview-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.vc-preview-row {
  display: flex;
  gap: 6px;
  font-size: 11px;
  margin-bottom: 5px;
  line-height: 1.5;
}

.vc-preview-label {
  color: #4b5563;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: nowrap;
  min-width: 130px;
  font-size: 10px;
  text-transform: uppercase;
}

.vc-preview-value {
  color: #94a3b8;
  flex: 1;
}

.vc-preview-value.highlight { color: #a855f7; font-weight: 700; }
.vc-preview-value.green     { color: #22c55e; }
.vc-preview-value.cyan      { color: #22d3ee; }

.vc-safety-gate-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

.vc-safety-gate-chip {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 5px;
  background: rgba(239,68,68,.08);
  border: 1px solid rgba(239,68,68,.22);
  color: #fca5a5;
  letter-spacing: .06em;
}

/* ── Section G — Generate Plan Button ───────────────────────── */
.vc-generate-plan-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 10px;
  border: 1px solid rgba(168,85,247,.55);
  background: rgba(124,58,237,.14);
  color: #c084fc;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .18s;
}

.vc-generate-plan-btn:hover {
  background: rgba(124,58,237,.24);
  border-color: rgba(192,132,252,.75);
  color: #e9d5ff;
  box-shadow: 0 0 18px rgba(168,85,247,.18);
}

.vc-generate-plan-btn:active {
  transform: scale(.98);
}

/* ── Section G — Local Plan Output ──────────────────────────── */
.vc-local-plan-output {
  display: none;
  margin-top: 14px;
  background: rgba(8,6,20,.90);
  border: 1px solid rgba(168,85,247,.28);
  border-radius: 12px;
  padding: 16px 18px;
}

.vc-local-plan-output.visible { display: block; }

.vc-builder-plan {
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.7;
  white-space: pre-wrap;
  word-break: break-word;
}

.vc-plan-section-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #a855f7;
  text-transform: uppercase;
  margin: 12px 0 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(168,85,247,.18);
}

.vc-plan-section-title:first-child { margin-top: 0; }

.vc-plan-agent-block {
  padding: 7px 10px;
  margin: 4px 0;
  border-radius: 7px;
  border-left: 3px solid rgba(168,85,247,.40);
  background: rgba(168,85,247,.04);
}

.vc-plan-agent-name { font-weight: 700; color: #e2e8f0; font-size: 11px; }
.vc-plan-agent-prompt { color: #6b7280; font-size: 10px; margin-top: 2px; }
.vc-plan-agent-mode  { color: #22c55e; font-size: 9px; font-weight: 800; letter-spacing: .08em; }

.vc-plan-prohib-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

/* === vc-project-templates.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-project-templates.css
   Project Template Packs — local blueprint UI only
   No API. No fetch. No execution. No file creation.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-template-packs {
  margin-top: 4px;
}

/* ── Template pack headline ──────────────────────────────────── */
.vc-tpl-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-tpl-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(34,211,238,.08);
  border: 1px solid rgba(34,211,238,.30);
  color: #22d3ee;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Template grid ───────────────────────────────────────────── */
.vc-template-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

@media (max-width: 1200px) { .vc-template-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px)  { .vc-template-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .vc-template-grid { grid-template-columns: 1fr; } }

/* ── Template card ───────────────────────────────────────────── */
.vc-template-card {
  border: 1px solid rgba(34,211,238,.14);
  border-radius: 10px;
  background: rgba(8,8,16,.75);
  padding: 10px 12px;
  cursor: pointer;
  transition: border-color .18s, box-shadow .18s, background .18s;
  display: flex;
  flex-direction: column;
  gap: 4px;
  user-select: none;
}

.vc-template-card:hover {
  border-color: rgba(34,211,238,.42);
  box-shadow: 0 0 14px rgba(34,211,238,.08);
}

.vc-template-card.selected {
  border-color: rgba(34,211,238,.80);
  background: rgba(34,211,238,.08);
  box-shadow: 0 0 18px rgba(34,211,238,.14);
}

.vc-template-card-icon {
  font-size: 14px;
  color: #22d3ee;
  line-height: 1;
}

.vc-template-card-name {
  font-size: 11px;
  font-weight: 700;
  color: #e2e8f0;
  letter-spacing: .02em;
  line-height: 1.3;
}

.vc-template-card-type {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ── Template detail panel ───────────────────────────────────── */
.vc-template-detail {
  display: none;
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(34,211,238,.22);
  border-radius: 14px;
  padding: 18px 20px;
  margin-top: 2px;
}

.vc-template-detail.visible { display: block; }

.vc-template-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.vc-template-detail-title {
  font-size: 13px;
  font-weight: 800;
  color: #22d3ee;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 4px;
}

.vc-template-detail-summary {
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.55;
  margin: 0;
}

.vc-template-detail-bp-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(168,85,247,.08);
  border: 1px solid rgba(168,85,247,.28);
  color: #c084fc;
  white-space: nowrap;
}

/* ── Detail section labels ───────────────────────────────────── */
.vc-tpl-section-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #4b5563;
  text-transform: uppercase;
  margin: 14px 0 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}

.vc-tpl-section-label:first-of-type { margin-top: 0; }

/* ── Recommended stack row ───────────────────────────────────── */
.vc-template-stack-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.vc-tpl-stack-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 3px 9px;
  border-radius: 6px;
  border: 1px solid rgba(34,211,238,.32);
  background: rgba(34,211,238,.06);
  color: #22d3ee;
}

/* ── Folder structure tree ───────────────────────────────────── */
.vc-template-tree {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vc-tpl-tree-item {
  font-size: 10px;
  color: #6b7280;
  font-family: 'Courier New', monospace;
  padding: 2px 0 2px 8px;
  border-left: 2px solid rgba(168,85,247,.14);
  letter-spacing: .02em;
}

/* ── File list ───────────────────────────────────────────────── */
.vc-template-file-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vc-tpl-file-item {
  font-size: 10px;
  color: #4b5563;
  font-family: 'Courier New', monospace;
  padding: 2px 0;
  letter-spacing: .01em;
}

.vc-tpl-file-item::before {
  content: '○ ';
  color: rgba(34,211,238,.40);
}

/* ── Agent list ──────────────────────────────────────────────── */
.vc-template-agent-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.vc-tpl-agent-chip {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .07em;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid rgba(168,85,247,.25);
  background: rgba(168,85,247,.06);
  color: #a855f7;
  text-transform: uppercase;
}

/* ── Prompt sequence ─────────────────────────────────────────── */
.vc-template-prompt-sequence {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vc-tpl-prompt-step {
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.5;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(168,85,247,.04);
  border-left: 3px solid rgba(168,85,247,.25);
}

/* ── Validation checklist ────────────────────────────────────── */
.vc-template-validation-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vc-tpl-check-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.45;
}

.vc-tpl-check-item::before {
  content: '✓';
  color: #22c55e;
  font-weight: 800;
  flex-shrink: 0;
  font-size: 10px;
  margin-top: 1px;
}

/* ── Risk warnings ───────────────────────────────────────────── */
.vc-template-risk-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vc-tpl-risk-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 11px;
  color: #fca5a5;
  line-height: 1.45;
}

.vc-tpl-risk-item::before {
  content: '⚠';
  flex-shrink: 0;
  font-size: 10px;
  margin-top: 1px;
}

/* ── Forbidden actions row ───────────────────────────────────── */
.vc-template-forbidden-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.vc-tpl-forbidden-chip {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .07em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(239,68,68,.07);
  border: 1px solid rgba(239,68,68,.25);
  color: #fca5a5;
  text-transform: uppercase;
}

/* ── Next safe action ────────────────────────────────────────── */
.vc-template-next-action {
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(34,211,238,.06);
  border: 1px solid rgba(34,211,238,.22);
  font-size: 11px;
  color: #22d3ee;
  font-weight: 600;
  line-height: 1.5;
}

.vc-template-next-action-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #4b5563;
  text-transform: uppercase;
  margin-bottom: 5px;
}

/* ── Two-column layout for tree + files ──────────────────────── */
.vc-tpl-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 700px) { .vc-tpl-two-col { grid-template-columns: 1fr; } }

/* === vc-mission-composer.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-mission-composer.css
   Template-to-Mission Plan Composer — local UI only
   No API. No fetch. No execution. No file creation.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-mission-composer {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-composer-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-composer-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(168,85,247,.08);
  border: 1px solid rgba(168,85,247,.30);
  color: #c084fc;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Config rows ─────────────────────────────────────────────── */
.vc-composer-row {
  margin-bottom: 14px;
}

/* ── Worker target chips ─────────────────────────────────────── */
.vc-worker-target-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vc-worker-chip {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  padding: 5px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
  text-transform: uppercase;
}

.vc-worker-chip:hover {
  border-color: rgba(192,132,252,.40);
  color: #c084fc;
}

.vc-worker-chip.selected {
  border-color: rgba(168,85,247,.75);
  color: #a855f7;
  background: rgba(168,85,247,.12);
  box-shadow: 0 0 10px rgba(168,85,247,.10);
}

/* ── Output mode chips ───────────────────────────────────────── */
.vc-output-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vc-output-mode-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}

.vc-output-mode-chip:hover {
  border-color: rgba(34,211,238,.35);
  color: #94a3b8;
}

.vc-output-mode-chip.selected {
  border-color: rgba(34,211,238,.65);
  color: #22d3ee;
  background: rgba(34,211,238,.08);
}

/* ── Composer options ────────────────────────────────────────── */
.vc-composer-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

@media (max-width: 700px) { .vc-composer-options { grid-template-columns: 1fr; } }

.vc-composer-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
  cursor: pointer;
  transition: all .14s;
  user-select: none;
}

.vc-composer-option:hover {
  border-color: rgba(168,85,247,.25);
  background: rgba(168,85,247,.04);
}

.vc-composer-option.active {
  border-color: rgba(34,197,94,.30);
  background: rgba(34,197,94,.04);
}

.vc-composer-option-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.18);
  background: transparent;
  flex-shrink: 0;
  transition: all .14s;
}

.vc-composer-option.active .vc-composer-option-dot {
  background: #22c55e;
  border-color: rgba(34,197,94,.80);
  box-shadow: 0 0 6px rgba(34,197,94,.40);
}

.vc-composer-option-label {
  font-size: 11px;
  color: #4b5563;
  transition: color .14s;
}

.vc-composer-option.active .vc-composer-option-label {
  color: #e2e8f0;
}

/* ── Generated prompt panel ──────────────────────────────────── */
.vc-generated-prompt-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(168,85,247,.22);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-generated-prompt-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-generated-prompt-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
}

.vc-prompt-metric {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .06em;
}

.vc-prompt-metric span {
  color: #22d3ee;
  font-weight: 700;
}

.vc-local-only-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(34,211,238,.06);
  border: 1px solid rgba(34,211,238,.25);
  color: #22d3ee;
  text-transform: uppercase;
}

.vc-generated-prompt-output {
  width: 100%;
  min-height: 220px;
  max-height: 480px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-generated-prompt-output:read-only {
  cursor: default;
}

.vc-generated-prompt-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-composer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-composer-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(168,85,247,.50);
  background: rgba(124,58,237,.12);
  color: #c084fc;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-composer-btn:hover {
  background: rgba(124,58,237,.22);
  border-color: rgba(192,132,252,.70);
  color: #e9d5ff;
  box-shadow: 0 0 16px rgba(168,85,247,.15);
}

.vc-composer-btn:active { transform: scale(.97); }

.vc-composer-btn.secondary {
  border-color: rgba(34,211,238,.40);
  background: rgba(34,211,238,.06);
  color: #22d3ee;
}

.vc-composer-btn.secondary:hover {
  background: rgba(34,211,238,.12);
  border-color: rgba(34,211,238,.70);
  box-shadow: 0 0 14px rgba(34,211,238,.10);
}

.vc-composer-btn.danger {
  border-color: rgba(239,68,68,.30);
  background: transparent;
  color: #4b5563;
}

.vc-composer-btn.danger:hover {
  border-color: rgba(239,68,68,.55);
  color: #fca5a5;
}

/* ── Copy status message ─────────────────────────────────────── */
.vc-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  transition: opacity .3s;
  display: none;
}

.vc-copy-status.visible { display: inline; }
.vc-copy-status.error   { color: #fca5a5; }

/* === vc-worker-handoff.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-worker-handoff.css
   Worker Handoff Packages — local UI only
   No API. No fetch. No execution. No file creation. No export.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-worker-handoff {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-handoff-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-handoff-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(250,204,21,.07);
  border: 1px solid rgba(250,204,21,.28);
  color: #facc15;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Config rows ─────────────────────────────────────────────── */
.vc-handoff-row {
  margin-bottom: 14px;
}

/* ── Handoff type chips ──────────────────────────────────────── */
.vc-handoff-type-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vc-handoff-type-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}

.vc-handoff-type-chip:hover {
  border-color: rgba(250,204,21,.35);
  color: #94a3b8;
}

.vc-handoff-type-chip.selected {
  border-color: rgba(250,204,21,.65);
  color: #facc15;
  background: rgba(250,204,21,.07);
}

/* ── Handoff target chips ────────────────────────────────────── */
.vc-handoff-target-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vc-handoff-target-chip {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  padding: 5px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
  text-transform: uppercase;
}

.vc-handoff-target-chip:hover {
  border-color: rgba(168,85,247,.40);
  color: #c084fc;
}

.vc-handoff-target-chip.selected {
  border-color: rgba(168,85,247,.75);
  color: #a855f7;
  background: rgba(168,85,247,.10);
  box-shadow: 0 0 10px rgba(168,85,247,.08);
}

/* ── Handoff preview panel ───────────────────────────────────── */
.vc-handoff-preview-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(250,204,21,.18);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-handoff-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-handoff-preview-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #facc15;
  text-transform: uppercase;
}

.vc-handoff-metric {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .05em;
}

.vc-handoff-metric span {
  color: #facc15;
  font-weight: 700;
}

.vc-manual-handoff-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(250,204,21,.06);
  border: 1px solid rgba(250,204,21,.25);
  color: #facc15;
  text-transform: uppercase;
}

.vc-handoff-output {
  width: 100%;
  min-height: 200px;
  max-height: 460px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-handoff-output:read-only { cursor: default; }

.vc-handoff-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Per-agent package blocks ────────────────────────────────── */
.vc-agent-package-block {
  padding: 10px 12px;
  margin: 6px 0;
  border-radius: 8px;
  border-left: 3px solid rgba(168,85,247,.45);
  background: rgba(168,85,247,.04);
  font-size: 11px;
}

.vc-agent-package-name {
  font-weight: 800;
  color: #e2e8f0;
  font-size: 12px;
  letter-spacing: .03em;
  margin-bottom: 4px;
}

.vc-agent-package-meta {
  color: #6b7280;
  font-size: 10px;
  letter-spacing: .05em;
  margin-bottom: 6px;
}

.vc-agent-package-prompt {
  color: #94a3b8;
  font-size: 10px;
  line-height: 1.55;
  font-family: 'Courier New', monospace;
  white-space: pre-wrap;
  word-break: break-word;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-handoff-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-handoff-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(250,204,21,.45);
  background: rgba(250,204,21,.07);
  color: #facc15;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-handoff-btn:hover {
  background: rgba(250,204,21,.13);
  border-color: rgba(250,204,21,.70);
  box-shadow: 0 0 16px rgba(250,204,21,.10);
}

.vc-handoff-btn:active { transform: scale(.97); }

.vc-handoff-btn.secondary {
  border-color: rgba(34,211,238,.38);
  background: rgba(34,211,238,.05);
  color: #22d3ee;
}

.vc-handoff-btn.secondary:hover {
  background: rgba(34,211,238,.10);
  border-color: rgba(34,211,238,.65);
}

.vc-handoff-btn.danger {
  border-color: rgba(239,68,68,.28);
  background: transparent;
  color: #4b5563;
}

.vc-handoff-btn.danger:hover {
  border-color: rgba(239,68,68,.50);
  color: #fca5a5;
}

/* ── Copy status ─────────────────────────────────────────────── */
.vc-handoff-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  display: none;
}

.vc-handoff-copy-status.visible { display: inline; }
.vc-handoff-copy-status.error   { color: #fca5a5; }

/* === vc-export-preview.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-export-preview.css
   Project Export Preview — local UI only
   No file creation. No write. No download. No export. No API.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-export-preview {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-export-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-export-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(239,68,68,.08);
  border: 1px solid rgba(239,68,68,.35);
  color: #fca5a5;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Preview mode chips ──────────────────────────────────────── */
.vc-export-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}

.vc-export-mode-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}

.vc-export-mode-chip:hover {
  border-color: rgba(168,85,247,.35);
  color: #94a3b8;
}

.vc-export-mode-chip.selected {
  border-color: rgba(168,85,247,.65);
  color: #a855f7;
  background: rgba(168,85,247,.08);
}

/* ── Export source summary ───────────────────────────────────── */
.vc-export-source-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 800px) { .vc-export-source-summary { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-export-source-summary { grid-template-columns: 1fr; } }

.vc-export-source-item {
  padding: 7px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-export-source-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #374151;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.vc-export-source-value {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 600;
  line-height: 1.3;
}

/* ── File creation lock grid ─────────────────────────────────── */
.vc-export-lock-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 800px) { .vc-export-lock-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-export-lock-grid { grid-template-columns: 1fr; } }

.vc-export-lock-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-export-lock-card.locked {
  border-color: rgba(239,68,68,.22);
  background: rgba(239,68,68,.04);
}

.vc-export-lock-card.approved {
  border-color: rgba(34,197,94,.22);
  background: rgba(34,197,94,.04);
}

.vc-export-lock-icon {
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
}

.vc-export-lock-card.locked  .vc-export-lock-icon { color: #ef4444; }
.vc-export-lock-card.approved .vc-export-lock-icon { color: #22c55e; }

.vc-export-lock-text {
  flex: 1;
}

.vc-export-lock-name {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #4b5563;
  text-transform: uppercase;
}

.vc-export-lock-status {
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
}

.vc-export-lock-card.locked  .vc-export-lock-status { color: #fca5a5; }
.vc-export-lock-card.approved .vc-export-lock-status { color: #22c55e; }

/* ── Preview output panel ────────────────────────────────────── */
.vc-export-output-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(168,85,247,.18);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-export-output-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-export-output-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
}

.vc-export-metric {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .05em;
}

.vc-export-metric span {
  color: #a855f7;
  font-weight: 700;
}

.vc-creation-locked-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(239,68,68,.07);
  border: 1px solid rgba(239,68,68,.30);
  color: #fca5a5;
  text-transform: uppercase;
}

.vc-export-output {
  width: 100%;
  min-height: 200px;
  max-height: 440px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-export-output:read-only { cursor: default; }

.vc-export-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-export-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(168,85,247,.48);
  background: rgba(124,58,237,.10);
  color: #c084fc;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-export-btn:hover {
  background: rgba(124,58,237,.20);
  border-color: rgba(192,132,252,.68);
  box-shadow: 0 0 16px rgba(168,85,247,.12);
}

.vc-export-btn:active { transform: scale(.97); }

.vc-export-btn.secondary {
  border-color: rgba(34,211,238,.38);
  background: rgba(34,211,238,.05);
  color: #22d3ee;
}

.vc-export-btn.secondary:hover {
  background: rgba(34,211,238,.10);
  border-color: rgba(34,211,238,.65);
}

.vc-export-btn.danger {
  border-color: rgba(239,68,68,.28);
  background: transparent;
  color: #4b5563;
}

.vc-export-btn.danger:hover {
  border-color: rgba(239,68,68,.50);
  color: #fca5a5;
}

/* ── Copy status ─────────────────────────────────────────────── */
.vc-export-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  display: none;
}

.vc-export-copy-status.visible { display: inline; }
.vc-export-copy-status.error   { color: #fca5a5; }

/* === vc-human-approval.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-human-approval.css
   Human Approval Gate — local UI only
   No file creation. No write. No download. No export. No API.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-human-approval {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-human-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-human-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(251,146,60,.08);
  border: 1px solid rgba(251,146,60,.35);
  color: #fb923c;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Gate summary grid ───────────────────────────────────────── */
.vc-human-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 900px) { .vc-human-summary-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-human-summary-grid { grid-template-columns: 1fr; } }

.vc-human-summary-card {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-human-summary-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #374151;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.vc-human-summary-value {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 600;
  line-height: 1.3;
  word-break: break-word;
}

/* ── Acknowledgement checklist ───────────────────────────────── */
.vc-human-checklist {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.vc-human-ack-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
  cursor: pointer;
  transition: border-color .15s, background .15s;
  user-select: none;
}

.vc-human-ack-item:hover {
  border-color: rgba(168,85,247,.30);
  background: rgba(168,85,247,.04);
}

.vc-human-ack-item.checked {
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.04);
}

.vc-human-ack-box {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1.5px solid rgba(255,255,255,.18);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: transparent;
  margin-top: 1px;
  transition: border-color .15s, background .15s;
}

.vc-human-ack-item.checked .vc-human-ack-box {
  border-color: #22c55e;
  background: rgba(34,197,94,.15);
  color: #22c55e;
}

.vc-human-ack-text {
  font-size: 11px;
  color: #6b7280;
  line-height: 1.5;
  flex: 1;
  transition: color .15s;
}

.vc-human-ack-item.checked .vc-human-ack-text {
  color: #94a3b8;
}

/* ── Locked capabilities grid ────────────────────────────────── */
.vc-human-lock-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 800px) { .vc-human-lock-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-human-lock-grid { grid-template-columns: 1fr; } }

.vc-human-lock-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-human-lock-card.locked {
  border-color: rgba(239,68,68,.22);
  background: rgba(239,68,68,.04);
}

.vc-human-lock-icon {
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
  color: #ef4444;
}

.vc-human-lock-text {
  flex: 1;
}

.vc-human-lock-name {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #4b5563;
  text-transform: uppercase;
}

.vc-human-lock-status {
  font-size: 10px;
  font-weight: 700;
  color: #fca5a5;
  margin-top: 2px;
}

/* ── Gate status badge ───────────────────────────────────────── */
.vc-human-status {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  text-transform: uppercase;
}

.vc-human-status.incomplete {
  background: rgba(251,146,60,.07);
  border: 1px solid rgba(251,146,60,.28);
  color: #fb923c;
}

.vc-human-status.ready {
  background: rgba(34,197,94,.07);
  border: 1px solid rgba(34,197,94,.35);
  color: #22c55e;
}

/* ── Receipt panel ───────────────────────────────────────────── */
.vc-human-receipt-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(168,85,247,.18);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-human-receipt-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-human-receipt-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
}

.vc-human-ack-metric {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .05em;
}

.vc-human-ack-metric span {
  color: #a855f7;
  font-weight: 700;
}

.vc-human-receipt-output {
  width: 100%;
  min-height: 220px;
  max-height: 480px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-human-receipt-output:read-only { cursor: default; }

.vc-human-receipt-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-human-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-human-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(168,85,247,.48);
  background: rgba(124,58,237,.10);
  color: #c084fc;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-human-btn:hover {
  background: rgba(124,58,237,.20);
  border-color: rgba(192,132,252,.68);
  box-shadow: 0 0 16px rgba(168,85,247,.12);
}

.vc-human-btn:active { transform: scale(.97); }

.vc-human-btn.secondary {
  border-color: rgba(34,211,238,.38);
  background: rgba(34,211,238,.05);
  color: #22d3ee;
}

.vc-human-btn.secondary:hover {
  background: rgba(34,211,238,.10);
  border-color: rgba(34,211,238,.65);
}

.vc-human-btn.danger {
  border-color: rgba(239,68,68,.28);
  background: transparent;
  color: #4b5563;
}

.vc-human-btn.danger:hover {
  border-color: rgba(239,68,68,.50);
  color: #fca5a5;
}

/* ── Copy status ─────────────────────────────────────────────── */
.vc-human-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  display: none;
}

.vc-human-copy-status.visible { display: inline; }
.vc-human-copy-status.error   { color: #fca5a5; }

/* === vc-real-file-command.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-real-file-command.css
   Real File Creation Command Package — local UI only
   No file creation. No write. No download. No export. No API.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-real-file-command {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-real-command-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-real-command-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(34,211,238,.07);
  border: 1px solid rgba(34,211,238,.32);
  color: #22d3ee;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Mode selector ───────────────────────────────────────────── */
.vc-real-command-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}

.vc-real-command-mode-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}

.vc-real-command-mode-chip:hover {
  border-color: rgba(168,85,247,.35);
  color: #94a3b8;
}

.vc-real-command-mode-chip.selected {
  border-color: rgba(168,85,247,.65);
  color: #a855f7;
  background: rgba(168,85,247,.08);
}

/* ── Worker selector ─────────────────────────────────────────── */
.vc-real-command-worker-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}

.vc-real-command-worker-chip {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  padding: 5px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
  text-transform: uppercase;
}

.vc-real-command-worker-chip:hover {
  border-color: rgba(34,211,238,.40);
  color: #22d3ee;
}

.vc-real-command-worker-chip.selected {
  border-color: rgba(34,211,238,.72);
  color: #22d3ee;
  background: rgba(34,211,238,.08);
  box-shadow: 0 0 10px rgba(34,211,238,.08);
}

/* ── Authority grid ──────────────────────────────────────────── */
.vc-real-authority-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 600px) { .vc-real-authority-grid { grid-template-columns: 1fr; } }

.vc-real-authority-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-real-authority-card.locked {
  border-color: rgba(239,68,68,.22);
  background: rgba(239,68,68,.04);
}

.vc-real-authority-card.required {
  border-color: rgba(251,146,60,.22);
  background: rgba(251,146,60,.04);
}

.vc-real-authority-card.external {
  border-color: rgba(34,211,238,.20);
  background: rgba(34,211,238,.03);
}

.vc-real-authority-icon {
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
}

.vc-real-authority-card.locked   .vc-real-authority-icon { color: #ef4444; }
.vc-real-authority-card.required .vc-real-authority-icon { color: #fb923c; }
.vc-real-authority-card.external .vc-real-authority-icon { color: #22d3ee; }

.vc-real-authority-text { flex: 1; }

.vc-real-authority-name {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #4b5563;
  text-transform: uppercase;
}

.vc-real-authority-val {
  font-size: 10px;
  font-weight: 700;
  margin-top: 2px;
}

.vc-real-authority-card.locked   .vc-real-authority-val { color: #fca5a5; }
.vc-real-authority-card.required .vc-real-authority-val { color: #fb923c; }
.vc-real-authority-card.external .vc-real-authority-val { color: #22d3ee; }

/* ── Readiness grid ──────────────────────────────────────────── */
.vc-real-readiness-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 800px) { .vc-real-readiness-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-real-readiness-grid { grid-template-columns: 1fr; } }

.vc-real-readiness-card {
  padding: 7px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-real-readiness-card.ready {
  border-color: rgba(34,197,94,.25);
  background: rgba(34,197,94,.04);
}

.vc-real-readiness-card.blocked {
  border-color: rgba(251,146,60,.22);
  background: rgba(251,146,60,.04);
}

.vc-real-readiness-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  color: #374151;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.vc-real-readiness-val {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
}

.vc-real-readiness-card.ready   .vc-real-readiness-val { color: #22c55e; }
.vc-real-readiness-card.blocked .vc-real-readiness-val { color: #fb923c; }
.vc-real-readiness-card:not(.ready):not(.blocked) .vc-real-readiness-val { color: #4b5563; }

/* ── Command output panel ────────────────────────────────────── */
.vc-real-command-output-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(34,211,238,.15);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-real-command-output-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-real-command-output-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #22d3ee;
  text-transform: uppercase;
}

.vc-real-command-metric {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .05em;
}

.vc-real-command-metric span {
  color: #22d3ee;
  font-weight: 700;
}

.vc-external-only-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(34,211,238,.06);
  border: 1px solid rgba(34,211,238,.28);
  color: #22d3ee;
  text-transform: uppercase;
}

.vc-real-command-output {
  width: 100%;
  min-height: 240px;
  max-height: 500px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-real-command-output:read-only { cursor: default; }

.vc-real-command-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-real-command-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-real-command-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(34,211,238,.45);
  background: rgba(34,211,238,.07);
  color: #22d3ee;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-real-command-btn:hover {
  background: rgba(34,211,238,.14);
  border-color: rgba(34,211,238,.70);
  box-shadow: 0 0 16px rgba(34,211,238,.10);
}

.vc-real-command-btn:active { transform: scale(.97); }

.vc-real-command-btn.secondary {
  border-color: rgba(168,85,247,.40);
  background: rgba(168,85,247,.06);
  color: #c084fc;
}

.vc-real-command-btn.secondary:hover {
  background: rgba(168,85,247,.12);
  border-color: rgba(168,85,247,.68);
}

.vc-real-command-btn.danger {
  border-color: rgba(239,68,68,.28);
  background: transparent;
  color: #4b5563;
}

.vc-real-command-btn.danger:hover {
  border-color: rgba(239,68,68,.50);
  color: #fca5a5;
}

/* ── Copy status ─────────────────────────────────────────────── */
.vc-real-command-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  display: none;
}

.vc-real-command-copy-status.visible { display: inline; }
.vc-real-command-copy-status.error   { color: #fca5a5; }

/* === vc-worker-result-receipt.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-worker-result-receipt.css
   External Worker Result Receipt — local UI only
   No file read/write. No commands. No download. No API.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-worker-result-receipt {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-result-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-result-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(168,85,247,.08);
  border: 1px solid rgba(168,85,247,.32);
  color: #a855f7;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Review mode chips ───────────────────────────────────────── */
.vc-result-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}

.vc-result-mode-chip {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}

.vc-result-mode-chip:hover {
  border-color: rgba(168,85,247,.35);
  color: #94a3b8;
}

.vc-result-mode-chip.selected {
  border-color: rgba(168,85,247,.65);
  color: #a855f7;
  background: rgba(168,85,247,.08);
}

/* ── Worker report input panel ───────────────────────────────── */
.vc-worker-report-input-panel {
  background: rgba(8,6,20,.88);
  border: 1px solid rgba(168,85,247,.15);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 14px;
}

.vc-worker-report-input-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-worker-report-input-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
}

.vc-worker-report-input {
  width: 100%;
  min-height: 180px;
  max-height: 380px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  color: #e2e8f0;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre-wrap;
  word-break: break-word;
  transition: border-color .15s;
}

.vc-worker-report-input:focus {
  border-color: rgba(168,85,247,.45);
}

.vc-worker-report-input::placeholder {
  color: #374151;
  font-style: italic;
}

/* ── Evidence checklist grid ─────────────────────────────────── */
.vc-evidence-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 700px) { .vc-evidence-checklist-grid { grid-template-columns: 1fr; } }

.vc-evidence-card {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 11px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-evidence-card.present {
  border-color: rgba(34,197,94,.28);
  background: rgba(34,197,94,.04);
}

.vc-evidence-card.missing {
  border-color: rgba(239,68,68,.22);
  background: rgba(239,68,68,.04);
}

.vc-evidence-card.review {
  border-color: rgba(251,146,60,.22);
  background: rgba(251,146,60,.04);
}

.vc-evidence-icon {
  font-size: 11px;
  flex-shrink: 0;
  margin-top: 1px;
  line-height: 1;
}

.vc-evidence-card.present  .vc-evidence-icon { color: #22c55e; }
.vc-evidence-card.missing  .vc-evidence-icon { color: #ef4444; }
.vc-evidence-card.review   .vc-evidence-icon { color: #fb923c; }
.vc-evidence-card:not(.present):not(.missing):not(.review) .vc-evidence-icon { color: #374151; }

.vc-evidence-text { flex: 1; min-width: 0; }

.vc-evidence-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #4b5563;
  margin-bottom: 2px;
}

.vc-evidence-status {
  font-size: 10px;
  font-weight: 700;
}

.vc-evidence-card.present  .vc-evidence-status { color: #22c55e; }
.vc-evidence-card.missing  .vc-evidence-status { color: #fca5a5; }
.vc-evidence-card.review   .vc-evidence-status { color: #fb923c; }
.vc-evidence-card:not(.present):not(.missing):not(.review) .vc-evidence-status { color: #374151; }

.vc-evidence-marker {
  font-size: 9px;
  color: #4b5563;
  margin-top: 2px;
  font-style: italic;
  word-break: break-word;
}

/* ── Authority panel ─────────────────────────────────────────── */
.vc-result-authority-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 600px) { .vc-result-authority-grid { grid-template-columns: 1fr; } }

.vc-result-authority-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-result-authority-card.locked {
  border-color: rgba(239,68,68,.22);
  background: rgba(239,68,68,.04);
}

.vc-result-authority-icon {
  font-size: 11px;
  flex-shrink: 0;
  color: #ef4444;
  line-height: 1;
}

.vc-result-authority-text { flex: 1; }

.vc-result-authority-name {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  color: #4b5563;
  text-transform: uppercase;
}

.vc-result-authority-val {
  font-size: 10px;
  font-weight: 700;
  color: #fca5a5;
  margin-top: 2px;
}

/* ── Receipt output panel ────────────────────────────────────── */
.vc-result-output-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(168,85,247,.18);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-result-output-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-result-output-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #a855f7;
  text-transform: uppercase;
}

.vc-result-metric {
  font-size: 9px;
  color: #4b5563;
  letter-spacing: .05em;
}

.vc-result-metric span {
  color: #a855f7;
  font-weight: 700;
}

.vc-manual-evidence-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(168,85,247,.07);
  border: 1px solid rgba(168,85,247,.28);
  color: #a855f7;
  text-transform: uppercase;
}

.vc-result-output {
  width: 100%;
  min-height: 220px;
  max-height: 480px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-result-output:read-only { cursor: default; }

.vc-result-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-result-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-result-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(168,85,247,.48);
  background: rgba(124,58,237,.10);
  color: #c084fc;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-result-btn:hover {
  background: rgba(124,58,237,.20);
  border-color: rgba(192,132,252,.68);
  box-shadow: 0 0 16px rgba(168,85,247,.12);
}

.vc-result-btn:active { transform: scale(.97); }

.vc-result-btn.secondary {
  border-color: rgba(34,211,238,.38);
  background: rgba(34,211,238,.05);
  color: #22d3ee;
}

.vc-result-btn.secondary:hover {
  background: rgba(34,211,238,.10);
  border-color: rgba(34,211,238,.65);
}

.vc-result-btn.danger {
  border-color: rgba(239,68,68,.28);
  background: transparent;
  color: #4b5563;
}

.vc-result-btn.danger:hover {
  border-color: rgba(239,68,68,.50);
  color: #fca5a5;
}

/* ── Copy status ─────────────────────────────────────────────── */
.vc-result-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  display: none;
}

.vc-result-copy-status.visible { display: inline; }
.vc-result-copy-status.error   { color: #fca5a5; }

/* ── Evidence summary counter ────────────────────────────────── */
.vc-evidence-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.vc-evidence-count-chip {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 3px 10px;
  border-radius: 6px;
  text-transform: uppercase;
}

.vc-evidence-count-chip.complete {
  background: rgba(34,197,94,.07);
  border: 1px solid rgba(34,197,94,.30);
  color: #22c55e;
}

.vc-evidence-count-chip.incomplete {
  background: rgba(239,68,68,.07);
  border: 1px solid rgba(239,68,68,.28);
  color: #fca5a5;
}

.vc-evidence-count-chip.review {
  background: rgba(251,146,60,.07);
  border: 1px solid rgba(251,146,60,.28);
  color: #fb923c;
}

/* === vc-final-product-dashboard.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-final-product-dashboard.css
   Final Product Operator Dashboard — local UI only
   No file read/write. No commands. No download. No API. No exec.
   ================================================================ */

/* ── Section wrapper ─────────────────────────────────────────── */
.vc-final-product-dashboard {
  margin-top: 4px;
}

/* ── Headline ────────────────────────────────────────────────── */
.vc-final-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vc-final-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(34,211,238,.07);
  border: 1px solid rgba(34,211,238,.30);
  color: #22d3ee;
  white-space: nowrap;
  margin-top: 2px;
}

/* ── Product chain timeline ──────────────────────────────────── */
.vc-final-timeline {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 14px;
}

.vc-final-timeline-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-final-timeline-item.ready {
  border-color: rgba(34,197,94,.22);
  background: rgba(34,197,94,.03);
}

.vc-final-timeline-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: rgba(255,255,255,.12);
}

.vc-final-timeline-item.ready .vc-final-timeline-dot {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34,197,94,.45);
}

.vc-final-timeline-label {
  font-size: 11px;
  color: #6b7280;
  font-weight: 600;
  flex: 1;
}

.vc-final-timeline-item.ready .vc-final-timeline-label { color: #94a3b8; }

.vc-final-timeline-tags {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}

.vc-final-tag {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .09em;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
}

.vc-final-tag.local {
  background: rgba(168,85,247,.07);
  border: 1px solid rgba(168,85,247,.25);
  color: #a855f7;
}

.vc-final-tag.locked {
  background: rgba(239,68,68,.06);
  border: 1px solid rgba(239,68,68,.20);
  color: #fca5a5;
}

/* ── Context grid ────────────────────────────────────────────── */
.vc-final-context-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 900px) { .vc-final-context-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-final-context-grid { grid-template-columns: 1fr; } }

.vc-final-context-card {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-final-context-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  color: #374151;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.vc-final-context-value {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 600;
  line-height: 1.3;
  word-break: break-word;
}

/* ── Readiness grid ──────────────────────────────────────────── */
.vc-final-readiness-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 600px) { .vc-final-readiness-grid { grid-template-columns: 1fr; } }

.vc-final-readiness-card {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-final-readiness-card.ready {
  border-color: rgba(34,197,94,.25);
  background: rgba(34,197,94,.04);
}

.vc-final-readiness-card.waiting {
  border-color: rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
}

.vc-final-readiness-card.review {
  border-color: rgba(251,146,60,.22);
  background: rgba(251,146,60,.04);
}

.vc-final-readiness-icon {
  font-size: 12px;
  flex-shrink: 0;
  line-height: 1;
}

.vc-final-readiness-card.ready   .vc-final-readiness-icon { color: #22c55e; }
.vc-final-readiness-card.waiting .vc-final-readiness-icon { color: #374151; }
.vc-final-readiness-card.review  .vc-final-readiness-icon { color: #fb923c; }

.vc-final-readiness-text { flex: 1; }

.vc-final-readiness-name {
  font-size: 10px;
  font-weight: 700;
  color: #6b7280;
  margin-bottom: 2px;
}

.vc-final-readiness-card.ready   .vc-final-readiness-name { color: #94a3b8; }

.vc-final-readiness-status {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vc-final-readiness-card.ready   .vc-final-readiness-status { color: #22c55e; }
.vc-final-readiness-card.waiting .vc-final-readiness-status { color: #374151; }
.vc-final-readiness-card.review  .vc-final-readiness-status { color: #fb923c; }

/* ── Authority lock grid ─────────────────────────────────────── */
.vc-final-authority-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

@media (max-width: 800px) { .vc-final-authority-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .vc-final-authority-grid { grid-template-columns: 1fr; } }

.vc-final-authority-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-final-authority-card.locked {
  border-color: rgba(239,68,68,.20);
  background: rgba(239,68,68,.03);
}

.vc-final-authority-icon {
  font-size: 11px;
  flex-shrink: 0;
  color: #ef4444;
  line-height: 1;
}

.vc-final-authority-text { flex: 1; }

.vc-final-authority-name {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  color: #4b5563;
  text-transform: uppercase;
}

.vc-final-authority-val {
  font-size: 10px;
  font-weight: 700;
  color: #fca5a5;
  margin-top: 1px;
}

/* ── Decision chips ──────────────────────────────────────────── */
.vc-final-decision-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.vc-final-decision-chip {
  font-size: 11px;
  font-weight: 600;
  padding: 9px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.07);
  background: transparent;
  color: #4b5563;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
  text-align: left;
  line-height: 1.45;
}

.vc-final-decision-chip:hover {
  border-color: rgba(34,211,238,.30);
  color: #94a3b8;
}

.vc-final-decision-chip.selected {
  border-color: rgba(34,211,238,.65);
  color: #22d3ee;
  background: rgba(34,211,238,.07);
}

/* ── Final output panel ──────────────────────────────────────── */
.vc-final-output-panel {
  background: rgba(8,6,20,.92);
  border: 1px solid rgba(34,211,238,.15);
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 4px;
}

.vc-final-output-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vc-final-output-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #22d3ee;
  text-transform: uppercase;
}

.vc-summary-only-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 2px 8px;
  border-radius: 5px;
  background: rgba(34,211,238,.06);
  border: 1px solid rgba(34,211,238,.25);
  color: #22d3ee;
  text-transform: uppercase;
}

.vc-final-output {
  width: 100%;
  min-height: 260px;
  max-height: 520px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}

.vc-final-output:read-only { cursor: default; }

.vc-final-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── Action buttons ──────────────────────────────────────────── */
.vc-final-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.vc-final-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 9px;
  border: 1px solid rgba(34,211,238,.45);
  background: rgba(34,211,238,.07);
  color: #22d3ee;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .17s;
  user-select: none;
}

.vc-final-btn:hover {
  background: rgba(34,211,238,.14);
  border-color: rgba(34,211,238,.70);
  box-shadow: 0 0 16px rgba(34,211,238,.10);
}

.vc-final-btn:active { transform: scale(.97); }

.vc-final-btn.secondary {
  border-color: rgba(168,85,247,.40);
  background: rgba(168,85,247,.06);
  color: #c084fc;
}

.vc-final-btn.secondary:hover {
  background: rgba(168,85,247,.12);
  border-color: rgba(168,85,247,.68);
}

.vc-final-btn.danger {
  border-color: rgba(239,68,68,.28);
  background: transparent;
  color: #4b5563;
}

.vc-final-btn.danger:hover {
  border-color: rgba(239,68,68,.50);
  color: #fca5a5;
}

/* ── Copy status ─────────────────────────────────────────────── */
.vc-final-copy-status {
  font-size: 10px;
  color: #22c55e;
  letter-spacing: .05em;
  display: none;
}

.vc-final-copy-status.visible { display: inline; }
.vc-final-copy-status.error   { color: #fca5a5; }

/* === vc-final-stabilization.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-final-stabilization.css
   FRONT-PRODUCT-10 — Final Stabilization / Visual QA Pass
   ----------------------------------------------------------------
   CSS-only override layer applied after all product CSS files.
   No new logic. No new authority. No new product flow.
   No file read/write. No API. No execution. No download.
   ================================================================ */

/* ── 1. Global page overflow guard ──────────────────────────────
   Prevent horizontal scroll caused by wide panels at any width. */
body,
.shell,
.grid {
  overflow-x: hidden;
}

.panel {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* ── 2. Project Builder section rhythm ───────────────────────────
   Consistent spacing between every FP sub-section.             */

/* Separator rule above each FP section inside the builder panel */
.vc-pb-section + .vc-pb-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.045);
}

/* First child gets no top border */
.vc-pb-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/* Section labels — unified across all FP products */
.vc-pb-section-label,
.vc-tpl-section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  color: #4b5563;
  text-transform: uppercase;
  margin: 0 0 10px;
  padding: 0 0 6px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  display: block;
}

/* Headline separators within product panels */
.vc-pb-headline,
.vc-tpl-headline,
.vc-mc-headline,
.vc-handoff-headline,
.vc-export-headline,
.vc-human-headline,
.vc-real-command-headline,
.vc-result-headline,
.vc-final-headline {
  margin-bottom: 18px;
}

/* ── 3. Responsive grid hardening ────────────────────────────────
   All product grids collapse cleanly at ≤1100px and ≤720px.   */

/* Context / stat grids: 4-col → 2-col → 1-col */
.vc-final-context-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
@media (max-width: 1100px) {
  .vc-final-context-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .vc-final-context-grid { grid-template-columns: 1fr; }
}

/* Authority grids: 3-col → 2-col → 1-col */
.vc-final-authority-grid,
.vc-result-authority-grid {
  display: grid;
  gap: 6px;
}
.vc-final-authority-grid { grid-template-columns: repeat(3, 1fr); }
.vc-result-authority-grid { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 1100px) {
  .vc-final-authority-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .vc-final-authority-grid,
  .vc-result-authority-grid { grid-template-columns: 1fr; }
}

/* Readiness grids: 2-col → 1-col */
.vc-final-readiness-grid,
.vc-human-lock-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
@media (max-width: 720px) {
  .vc-final-readiness-grid,
  .vc-human-lock-grid { grid-template-columns: 1fr; }
}

/* Evidence checklist: 2-col → 1-col */
.vc-evidence-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
@media (max-width: 720px) {
  .vc-evidence-checklist-grid { grid-template-columns: 1fr; }
}

/* Export / real-file readiness pairs: 2-col → 1-col */
.vc-export-readiness-grid,
.vc-real-readiness-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
@media (max-width: 720px) {
  .vc-export-readiness-grid,
  .vc-real-readiness-grid { grid-template-columns: 1fr; }
}

/* ── 4. Textarea readability ─────────────────────────────────────
   Unified readable style for all readonly + editable outputs.  */

/* Readonly output textareas */
.vc-export-output,
.vc-handoff-output,
.vc-human-receipt-output,
.vc-real-command-output,
.vc-result-output,
.vc-final-output {
  width: 100%;
  min-height: 240px;
  max-height: 540px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11.5px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.70;
  padding: 12px 14px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
  tab-size: 2;
  word-break: normal;
}

.vc-export-output:read-only,
.vc-handoff-output:read-only,
.vc-human-receipt-output:read-only,
.vc-real-command-output:read-only,
.vc-result-output:read-only,
.vc-final-output:read-only { cursor: default; }

/* Editable input textareas (FP8 worker report input) */
.vc-worker-report-input {
  min-height: 200px;
  max-height: 400px;
  font-size: 11.5px;
  line-height: 1.68;
  resize: vertical;
  overflow: auto;
  tab-size: 2;
  box-sizing: border-box;
}

/* Empty state dimming */
.vc-export-output.empty,
.vc-handoff-output.empty,
.vc-human-receipt-output.empty,
.vc-real-command-output.empty,
.vc-result-output.empty,
.vc-final-output.empty {
  color: #374151;
  font-style: italic;
}

/* ── 5. Chip / badge rows — wrapping ─────────────────────────────
   All chip rows wrap cleanly. No overflow beyond parent.       */

.vc-result-mode-row,
.vc-real-command-mode-row,
.vc-real-command-worker-row,
.vc-human-ack-list,
.vc-handoff-mode-row,
.vc-export-mode-row,
.vc-template-stack-row,
.vc-project-size-row,
.vc-stack-row,
.vc-orchestration-mode-row,
.vc-evidence-summary,
.vc-result-actions,
.vc-final-actions,
.vc-human-actions,
.vc-real-command-actions,
.vc-export-actions,
.vc-handoff-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 100%;
  overflow: hidden;
}

/* Decision chip rows — column layout, max-width constrained */
.vc-final-decision-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 100%;
}

.vc-final-decision-chip {
  max-width: 100%;
  white-space: normal;
  word-break: break-word;
  line-height: 1.5;
}

/* ── 6. Authority / locked card consistency ──────────────────────
   All locked authority cards: clear red tone + FALSE readable.  */

.vc-final-authority-card.locked,
.vc-export-authority-card.locked,
.vc-human-lock-card.locked,
.vc-real-authority-card.locked,
.vc-result-authority-card.locked {
  border-color: rgba(239,68,68,.22) !important;
  background: rgba(239,68,68,.04) !important;
}

.vc-final-authority-icon,
.vc-export-authority-icon,
.vc-result-authority-icon {
  color: #ef4444 !important;
  flex-shrink: 0;
}

.vc-final-authority-val,
.vc-export-authority-val,
.vc-result-authority-val {
  color: #fca5a5 !important;
  font-weight: 700;
  font-size: 10px;
}

.vc-final-authority-name,
.vc-export-authority-name,
.vc-result-authority-name {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  color: #4b5563;
  text-transform: uppercase;
}

/* ── 7. Ready / review / waiting color semantics ─────────────────
   Green = local artifact readiness only.
   Orange = review / waiting states.
   Red = locked real authority flags (never green for those).   */

/* Local readiness — green OK */
.vc-final-readiness-card.ready,
.vc-real-readiness-card.ready,
.vc-export-readiness-card.ready,
.vc-evidence-card.present {
  border-color: rgba(34,197,94,.25) !important;
  background: rgba(34,197,94,.04) !important;
}

/* Review state — orange */
.vc-final-readiness-card.review,
.vc-real-readiness-card.blocked,
.vc-evidence-card.review {
  border-color: rgba(251,146,60,.22) !important;
  background: rgba(251,146,60,.04) !important;
}

/* Waiting / missing — muted */
.vc-final-readiness-card.waiting,
.vc-evidence-card.missing {
  border-color: rgba(239,68,68,.20) !important;
  background: rgba(239,68,68,.03) !important;
}

/* ── 8. Final dashboard polish ───────────────────────────────────
   Timeline, readiness grid, operator decisions, report output.  */

/* Timeline items — no crowding */
.vc-final-timeline {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.vc-final-timeline-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
  min-height: 34px;
}

.vc-final-timeline-item.ready {
  border-color: rgba(34,197,94,.22);
  background: rgba(34,197,94,.03);
}

.vc-final-timeline-label {
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  flex: 1;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
}
.vc-final-timeline-item.ready .vc-final-timeline-label { color: #94a3b8; }

.vc-final-timeline-tags {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

/* Context grid card values — wrap safely */
.vc-final-context-value {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 600;
  line-height: 1.4;
  word-break: break-word;
  white-space: normal;
}

/* Readiness cards — consistent min-height */
.vc-final-readiness-card {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
  min-height: 44px;
}

/* Report output — large enough to inspect long reports */
.vc-final-output {
  min-height: 300px;
  max-height: 580px;
}

/* Output panel — no bleed */
.vc-final-output-panel,
.vc-result-output-panel,
.vc-real-command-output-panel,
.vc-export-output-panel,
.vc-human-receipt-panel,
.vc-handoff-output-panel {
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* ── 9. Section header spacing ───────────────────────────────────
   Prevent section label from sitting flush against prior content. */
.vc-pb-section-label + .vc-final-timeline,
.vc-pb-section-label + .vc-final-context-grid,
.vc-pb-section-label + .vc-final-readiness-grid,
.vc-pb-section-label + .vc-final-authority-grid,
.vc-pb-section-label + .vc-final-decision-row,
.vc-pb-section-label + .vc-final-output-panel,
.vc-pb-section-label + .vc-human-checklist,
.vc-pb-section-label + .vc-human-lock-grid,
.vc-pb-section-label + .vc-evidence-checklist-grid,
.vc-pb-section-label + .vc-result-authority-grid,
.vc-pb-section-label + .vc-real-authority-grid,
.vc-pb-section-label + .vc-export-authority-grid {
  margin-top: 2px;
}

/* ── 10. Secondary label contrast boost ──────────────────────────
   Weak contrast labels get a slight lift for readability.      */

.vc-final-context-label,
.vc-final-authority-name,
.vc-result-authority-name,
.vc-real-authority-name,
.vc-export-authority-name,
.vc-evidence-label,
.vc-final-readiness-name,
.vc-result-mode-chip,
.vc-real-command-mode-chip {
  letter-spacing: .09em;
}

/* ── 11. Button row alignment ────────────────────────────────────
   Action button rows: consistent gap, wrap, vertical alignment. */

.vc-final-actions,
.vc-result-actions,
.vc-human-actions,
.vc-real-command-actions,
.vc-export-actions,
.vc-handoff-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

/* Buttons min-width so short labels don't collapse */
.vc-final-btn,
.vc-result-btn,
.vc-human-btn,
.vc-real-command-btn,
.vc-export-btn,
.vc-handoff-btn {
  min-width: 0;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── 12. Mobile overflow guard ───────────────────────────────────
   At <= 720px everything must remain in-column with no bleed.  */
@media (max-width: 720px) {
  .vc-final-timeline-tags { display: none; } /* hide tag chips on small screens */
  .vc-final-actions,
  .vc-result-actions,
  .vc-human-actions,
  .vc-real-command-actions,
  .vc-export-actions,
  .vc-handoff-actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .vc-final-btn,
  .vc-result-btn,
  .vc-human-btn,
  .vc-real-command-btn,
  .vc-export-btn,
  .vc-handoff-btn {
    width: 100%;
    justify-content: center;
  }
  .vc-final-output-header,
  .vc-result-output-header,
  .vc-real-command-output-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* ── 13. Project builder large card padding ──────────────────────
   Large inner card-like containers get consistent padding.     */
.vc-template-detail,
.vc-export-output-panel,
.vc-handoff-output-panel,
.vc-human-receipt-panel,
.vc-real-command-output-panel,
.vc-result-output-panel,
.vc-worker-report-input-panel,
.vc-final-output-panel {
  padding: 14px 16px;
  box-sizing: border-box;
}

/* ── 14. Evidence count chips — flex-wrap ────────────────────────  */
.vc-evidence-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

/* ── 15. Agent mode button rows — no overflow ────────────────────
   Reserve + matrix mode buttons stay inline, no bleed.        */
.vc-reserve-modes,
.vc-agent-matrix-modes {
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}

/* ── 16. Final stabilization marker (no behavior) ────────────────
   Attribute present on stabilized panels for audit tracing.   */
[data-fp10-stabilized] {
  /* marker only — no visual change */
}

/* ── 17. Engineer-only section — Advanced Safety Gate ────────────
   Human Approval Gate hidden from normal user flow.
   Collapsed by default via <details>. No JS required.
   Local-only. No backend. No authority change.                */

/* Outer wrapper — same spacing as a normal vc-pb-section */
.vc-engineer-only-section {
  margin-top: 0;
}

/* details element — no default marker, clean background */
.vc-engineer-details {
  border: 1px solid rgba(168,85,247,.14);
  border-radius: 10px;
  background: rgba(8,6,20,.60);
  overflow: hidden;
}

/* summary — clickable affordance bar */
.vc-engineer-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background .15s;
}

.vc-engineer-summary::-webkit-details-marker { display: none; }
.vc-engineer-summary::marker { content: ''; }

.vc-engineer-summary:hover {
  background: rgba(168,85,247,.06);
}

.vc-engineer-details[open] .vc-engineer-summary {
  border-bottom: 1px solid rgba(168,85,247,.14);
  background: rgba(168,85,247,.04);
}

/* Icon */
.vc-engineer-summary-icon {
  font-size: 14px;
  color: #6b7280;
  flex-shrink: 0;
  line-height: 1;
  transition: color .15s;
}
.vc-engineer-details[open] .vc-engineer-summary-icon { color: #a855f7; }

/* Text block */
.vc-engineer-summary-text {
  flex: 1;
  min-width: 0;
}
.vc-engineer-summary-text strong {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .10em;
  color: #6b7280;
  text-transform: uppercase;
  margin-bottom: 2px;
  transition: color .15s;
}
.vc-engineer-details[open] .vc-engineer-summary-text strong { color: #a855f7; }

.vc-engineer-summary-text span {
  display: block;
  font-size: 10px;
  color: #374151;
  line-height: 1.4;
  font-weight: 400;
  white-space: normal;
}

/* Badge */
.vc-engineer-badge {
  flex-shrink: 0;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 5px;
  background: rgba(168,85,247,.07);
  border: 1px solid rgba(168,85,247,.28);
  color: #a855f7;
  white-space: nowrap;
}

/* Content area — inner padding when open */
.vc-engineer-details[open] .vc-human-approval {
  padding: 16px;
}

/* Collapse chevron indicator via CSS */
.vc-engineer-summary::after {
  content: '▸';
  font-size: 10px;
  color: #374151;
  flex-shrink: 0;
  transition: transform .18s;
}
.vc-engineer-details[open] .vc-engineer-summary::after {
  transform: rotate(90deg);
  color: #a855f7;
}

/* Suppress the vc-pb-section separator inside the engineer section */
.vc-engineer-only-section.vc-pb-section + .vc-pb-section,
.vc-pb-section + .vc-engineer-only-section {
  margin-top: 28px;
  padding-top: 0;
  border-top: none;
}
.vc-engineer-only-section + .vc-pb-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.045);
}

/* ── 18. SaaS & API Connectors Roadmap — locked/static display ───
   No auth. No OAuth. No billing. No key storage. No API calls.
   Visible=true. Enabled=false. Display only.                   */

.vc-saas-api-roadmap {
  /* inherits .vc-pb-section rhythm */
}

/* Headline */
.vc-saas-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

/* Roadmap badge */
.vc-saas-roadmap-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(239,68,68,.06);
  border: 1px solid rgba(239,68,68,.22);
  color: #fca5a5;
  white-space: nowrap;
  margin-top: 2px;
}

/* Locked capability grid */
.vc-saas-locked-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}
@media (max-width: 1100px) { .vc-saas-locked-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px)  { .vc-saas-locked-grid { grid-template-columns: 1fr; } }

/* Locked card base */
.vc-saas-locked-card {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border-radius: 8px;
  border: 1px solid rgba(239,68,68,.18);
  background: rgba(239,68,68,.03);
}

/* Required variant — orange */
.vc-saas-locked-card.required {
  border-color: rgba(251,146,60,.20);
  background: rgba(251,146,60,.03);
}

.vc-saas-locked-icon {
  font-size: 11px;
  flex-shrink: 0;
  color: #ef4444;
  line-height: 1;
}
.vc-saas-locked-card.required .vc-saas-locked-icon { color: #fb923c; }

.vc-saas-locked-text { flex: 1; }

.vc-saas-locked-name {
  font-size: 10px;
  font-weight: 700;
  color: #6b7280;
  margin-bottom: 2px;
}

.vc-saas-locked-status {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #fca5a5;
}
.vc-saas-locked-status.required { color: #fb923c; }

/* Engineer-only collapsible details */
.vc-saas-engineer-details {
  border: 1px solid rgba(168,85,247,.12);
  border-radius: 9px;
  background: rgba(8,6,20,.55);
  overflow: hidden;
  margin-top: 4px;
}

.vc-saas-engineer-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background .15s;
}

.vc-saas-engineer-summary::-webkit-details-marker { display: none; }
.vc-saas-engineer-summary::marker { content: ''; }

.vc-saas-engineer-summary:hover { background: rgba(168,85,247,.05); }
.vc-saas-engineer-details[open] .vc-saas-engineer-summary {
  border-bottom: 1px solid rgba(168,85,247,.12);
  background: rgba(168,85,247,.04);
}

.vc-saas-engineer-summary-icon {
  font-size: 12px;
  color: #4b5563;
  flex-shrink: 0;
}
.vc-saas-engineer-details[open] .vc-saas-engineer-summary-icon { color: #a855f7; }

.vc-saas-engineer-summary-label {
  flex: 1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #4b5563;
  transition: color .15s;
}
.vc-saas-engineer-details[open] .vc-saas-engineer-summary-label { color: #a855f7; }

.vc-saas-engineer-summary::after {
  content: '▸';
  font-size: 10px;
  color: #374151;
  flex-shrink: 0;
  transition: transform .18s;
}
.vc-saas-engineer-details[open] .vc-saas-engineer-summary::after {
  transform: rotate(90deg);
  color: #a855f7;
}

/* Plan content */
.vc-saas-plan-content {
  padding: 14px 16px;
}

.vc-saas-plan-note {
  font-size: 10px;
  color: #374151;
  line-height: 1.5;
  margin: 0 0 12px;
  font-style: italic;
}

.vc-saas-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
@media (max-width: 720px) { .vc-saas-plan-grid { grid-template-columns: 1fr; } }

.vc-saas-plan-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 7px 10px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.04);
  background: rgba(255,255,255,.02);
}

.vc-saas-plan-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #374151;
}

.vc-saas-plan-val {
  font-size: 10px;
  font-weight: 600;
  color: #6b7280;
}

/* ── Software Factory panels: cockpit-scoped hide ─────────────
   #projectBuilder hidden in cockpit only (scoped to #vcCockpitView).
   When JS moves it into #vcSfOriginalProjectBuilderMount the scoped
   rule no longer applies; the SF-page rule below makes it visible.
   JS init functions (initProjectBuilder etc.) still run safely.
   ───────────────────────────────────────────────────────────── */
#vcCockpitView #projectBuilder { display: none !important; }
#vcSoftwareFactoryPage #projectBuilder { display: block !important; }
/* === vc-software-factory-page.css === */
/* ================================================================
   VISION CORE V2.9.10
   vc-software-factory-page.css
   Software Factory Builder Page — Visual DNA aligned with cockpit
   Horizontal module nav · Horizontal SDDF timeline · 3-col layout
   Local UI only. No API. No execution. No file write.
   ================================================================ */

/* ── Full-page overlay ───────────────────────────────────────── */
.vc-sf-page {
  position: fixed;
  inset: 0;
  background: #060414;
  z-index: 300;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Page header ─────────────────────────────────────────────── */
.vc-sf-page-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 18px;
  border-bottom: 1px solid rgba(139,92,246,.20);
  background: rgba(6,2,20,.95);
  flex-shrink: 0;
}

.vc-sf-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 7px;
  border: 1px solid rgba(139,92,246,.35);
  background: rgba(139,92,246,.07);
  color: #a78bfa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .15s;
  flex-shrink: 0;
  user-select: none;
}
.vc-sf-back-btn:hover {
  background: rgba(139,92,246,.16);
  border-color: rgba(139,92,246,.62);
  box-shadow: 0 0 12px rgba(139,92,246,.14);
}

.vc-sf-page-identity { flex: 1; min-width: 0; }

.vc-sf-eyebrow {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #a78bfa;
  margin: 0 0 2px;
  line-height: 1;
}

.vc-sf-title {
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .05em;
  color: #f3f4f6;
  margin: 0;
  line-height: 1;
  text-transform: uppercase;
}

.vc-sf-local-badge {
  flex-shrink: 0;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 5px;
  background: rgba(139,92,246,.07);
  border: 1px solid rgba(139,92,246,.28);
  color: #a78bfa;
  white-space: nowrap;
}

/* ── Horizontal module nav ───────────────────────────────────── */
.vc-sf-module-nav-h {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  flex-shrink: 0;
  background: rgba(6,2,20,.85);
  border-bottom: 1px solid rgba(139,92,246,.12);
  padding: 0 14px;
  gap: 1px;
  scrollbar-width: none;
}
.vc-sf-module-nav-h::-webkit-scrollbar { display: none; }

.vc-sf-module-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 13px 8px;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #374151;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: all .13s;
  user-select: none;
  flex-shrink: 0;
}

.vc-sf-module-btn:hover {
  color: #94a3b8;
  background: rgba(139,92,246,.06);
  border-bottom-color: rgba(139,92,246,.30);
}

.vc-sf-module-btn.active {
  color: #a78bfa;
  border-bottom-color: #a78bfa;
  background: rgba(139,92,246,.08);
}

.vc-sf-module-num {
  font-size: 8px;
  font-weight: 900;
  color: #374151;
  flex-shrink: 0;
}

.vc-sf-module-btn.active .vc-sf-module-num { color: #a78bfa; }

/* ── Horizontal SDDF timeline ────────────────────────────────── */
.vc-sf-sddf-timeline-h {
  display: flex;
  align-items: center;
  padding: 10px 18px;
  background: rgba(4,2,14,.70);
  border-bottom: 1px solid rgba(255,255,255,.04);
  overflow-x: auto;
  flex-shrink: 0;
  scrollbar-width: none;
}
.vc-sf-sddf-timeline-h::-webkit-scrollbar { display: none; }

#vcSfSddfSteps {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 700px;
}

.vc-sf-sddf-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 72px;
  cursor: pointer;
  transition: opacity .13s;
}
.vc-sf-sddf-step:hover { opacity: .85; }

.vc-sf-sddf-node-circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 900;
  color: #374151;
  background: rgba(6,4,18,.90);
  position: relative;
  z-index: 1;
  transition: all .18s;
  flex-shrink: 0;
}

.vc-sf-sddf-step.active .vc-sf-sddf-node-circle {
  border-color: #a78bfa;
  background: rgba(139,92,246,.16);
  color: #a78bfa;
  box-shadow: 0 0 14px rgba(139,92,246,.45);
}

.vc-sf-sddf-step.done .vc-sf-sddf-node-circle {
  border-color: #22c55e;
  background: rgba(34,197,94,.10);
  color: #22c55e;
  box-shadow: 0 0 9px rgba(34,197,94,.30);
}

.vc-sf-sddf-step-name {
  font-size: 8px;
  font-weight: 700;
  color: #374151;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 80px;
  line-height: 1.2;
}

.vc-sf-sddf-step.active .vc-sf-sddf-step-name { color: #94a3b8; }
.vc-sf-sddf-step.done   .vc-sf-sddf-step-name { color: #4b5563; }

/* Connector line between nodes */
.vc-sf-sddf-connector {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(139,92,246,.20), rgba(139,92,246,.08));
  margin-bottom: 22px; /* align with circle vertical center */
  min-width: 8px;
  flex-shrink: 0;
}

.vc-sf-sddf-connector.done {
  background: rgba(34,197,94,.25);
}

/* ── Three-column layout ─────────────────────────────────────── */
.vc-sf-columns {
  display: grid;
  grid-template-columns: 218px 1fr 208px;
  gap: 10px;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 10px 14px 12px;
}

@media (max-width: 1100px) {
  .vc-sf-columns {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }
}

.vc-sf-col-left,
.vc-sf-col-right {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  min-height: 0;
}

.vc-sf-col-center {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
  min-height: 0;
}

/* ── Panel boxes (left + right columns) ──────────────────────── */
.vc-sf-panel-box {
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(8,4,24,.55);
  border-radius: 10px;
  padding: 11px 13px;
  flex-shrink: 0;
}

.vc-sf-panel-box-title {
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #374151;
  margin-bottom: 9px;
}

.vc-sf-stat-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.vc-sf-stat-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.vc-sf-stat-key {
  font-size: 9px;
  color: #4b5563;
  font-weight: 600;
}

.vc-sf-stat-val {
  font-size: 10px;
  color: #6b7280;
  font-weight: 700;
  text-align: right;
}

.vc-sf-stat-val.highlight { color: #a78bfa; }
.vc-sf-stat-val.blocked   { color: #ef4444; }
.vc-sf-stat-val.ready     { color: #22c55e; }

/* Progress bar */
.vc-sf-progress-bar {
  height: 3px;
  border-radius: 3px;
  background: rgba(255,255,255,.05);
  margin: 6px 0 4px;
  overflow: hidden;
}

.vc-sf-progress-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #a78bfa, #22d3ee);
  transition: width .4s ease;
}

/* Agent list */
.vc-sf-agent-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vc-sf-agent-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 7px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.04);
  background: rgba(255,255,255,.01);
}

.vc-sf-agent-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}

.vc-sf-agent-dot.active { background: #22c55e; box-shadow: 0 0 4px rgba(34,197,94,.40); }
.vc-sf-agent-dot.standby { background: #a78bfa; box-shadow: 0 0 4px rgba(139,92,246,.30); }
.vc-sf-agent-dot.locked  { background: #374151; }

.vc-sf-agent-name {
  font-size: 9px;
  font-weight: 700;
  color: #4b5563;
  flex: 1;
}

.vc-sf-agent-status {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.vc-sf-agent-status.active  { color: #22c55e; }
.vc-sf-agent-status.standby { color: #a78bfa; }
.vc-sf-agent-status.locked  { color: #374151; }

/* Activity feed */
.vc-sf-activity-feed {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.vc-sf-activity-item {
  font-size: 9px;
  color: #374151;
  padding: 3px 0;
  border-bottom: 1px solid rgba(255,255,255,.03);
  line-height: 1.4;
}

.vc-sf-activity-item span {
  color: #4b5563;
}

/* Next action */
.vc-sf-next-action-box {
  padding: 9px 11px;
  border-radius: 8px;
  border: 1px solid rgba(34,211,238,.12);
  background: rgba(34,211,238,.03);
}

.vc-sf-next-action-label {
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #22d3ee;
  margin-bottom: 5px;
}

.vc-sf-next-action-text {
  font-size: 10px;
  color: #4b5563;
  line-height: 1.5;
}

/* ── CENTER: LLM Control ─────────────────────────────────────── */
.vc-sf-llm-control {
  flex-shrink: 0;
  border: 1px solid rgba(34,211,238,.14);
  border-radius: 12px;
  background: rgba(4,2,16,.85);
  overflow: hidden;
}

.vc-sf-llm-control-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 14px 8px;
  border-bottom: 1px solid rgba(34,211,238,.08);
}

.vc-sf-llm-title {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #22d3ee;
}

.vc-sf-llm-status {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(34,211,238,.07);
  border: 1px solid rgba(34,211,238,.22);
  color: #22d3ee;
  text-transform: uppercase;
}

.vc-sf-chat-stream {
  min-height: 52px;
  max-height: 100px;
  overflow-y: auto;
  padding: 8px 14px;
}

.vc-sf-chat-hint {
  font-size: 11px;
  color: #374151;
  font-style: italic;
}

.vc-sf-chat-msg {
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.55;
  margin-bottom: 4px;
}

.vc-sf-chat-msg.user { color: #a78bfa; }

.vc-sf-chat-composer {
  display: flex;
  gap: 7px;
  align-items: flex-end;
  padding: 8px 12px 10px;
  background: rgba(4,2,16,.90);
  border-top: 1px solid rgba(255,255,255,.04);
}

.vc-sf-chat-input {
  flex: 1;
  min-height: 36px;
  max-height: 80px;
  resize: vertical;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(34,211,238,.14);
  border-radius: 7px;
  color: #94a3b8;
  font-size: 11px;
  font-family: inherit;
  padding: 7px 10px;
  outline: none;
  box-sizing: border-box;
  line-height: 1.5;
  transition: border-color .14s;
}
.vc-sf-chat-input:focus { border-color: rgba(34,211,238,.34); }
.vc-sf-chat-input::placeholder { color: #374151; }

.vc-sf-chat-btn-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}

.vc-sf-chat-send {
  padding: 7px 12px;
  border-radius: 6px;
  border: 1px solid rgba(34,211,238,.38);
  background: rgba(34,211,238,.07);
  color: #22d3ee;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  cursor: pointer;
  transition: all .13s;
  user-select: none;
  white-space: nowrap;
}
.vc-sf-chat-send:hover {
  background: rgba(34,211,238,.14);
  border-color: rgba(34,211,238,.62);
}

.vc-sf-run-btn {
  padding: 7px 12px;
  border-radius: 6px;
  border: 1px solid rgba(139,92,246,.35);
  background: rgba(139,92,246,.07);
  color: #a78bfa;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  cursor: pointer;
  transition: all .13s;
  user-select: none;
  white-space: nowrap;
}
.vc-sf-run-btn:hover {
  background: rgba(139,92,246,.14);
  border-color: rgba(139,92,246,.60);
}

/* ── Module content (center column) ──────────────────────────── */
.vc-sf-module-content {
  flex: 1;
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 10px;
  background: rgba(8,4,24,.50);
  padding: 14px 16px 18px;
  min-height: 0;
}

.vc-sf-module-panel { display: none; }
.vc-sf-module-panel.active { display: block; }

.vc-sf-module-panel-header {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}

.vc-sf-module-panel-num {
  font-size: 11px;
  font-weight: 900;
  color: #374151;
  flex-shrink: 0;
  padding-top: 2px;
}

.vc-sf-module-panel-title {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #e2e8f0;
  margin: 0 0 3px;
}

.vc-sf-module-panel-desc {
  font-size: 10px;
  color: #4b5563;
  line-height: 1.5;
  margin: 0;
}

.vc-sf-module-panel-badge {
  flex-shrink: 0;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid rgba(139,92,246,.28);
  background: rgba(139,92,246,.06);
  color: #a78bfa;
  margin-top: 2px;
}

.vc-sf-module-panel-badge.locked {
  border-color: rgba(239,68,68,.24);
  background: rgba(239,68,68,.04);
  color: #fca5a5;
}

/* ── Module inner components ─────────────────────────────────── */
.vc-sf-section-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #374151;
  margin: 12px 0 6px;
}

.vc-sf-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 8px;
}

.vc-sf-chip {
  font-size: 10px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.02);
  color: #4b5563;
  cursor: pointer;
  transition: all .12s;
  user-select: none;
}
.vc-sf-chip:hover {
  border-color: rgba(139,92,246,.28);
  color: #94a3b8;
}
.vc-sf-chip.active {
  border-color: rgba(139,92,246,.55);
  background: rgba(139,92,246,.09);
  color: #a78bfa;
}

.vc-sf-module-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
  margin-bottom: 10px;
}

.vc-sf-card {
  padding: 9px 11px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.02);
}

.vc-sf-card-label {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #374151;
  margin-bottom: 3px;
}

.vc-sf-card-value {
  font-size: 11px;
  color: #6b7280;
  font-weight: 600;
  line-height: 1.3;
  word-break: break-word;
}

.vc-sf-output {
  width: 100%;
  min-height: 130px;
  max-height: 280px;
  background: rgba(4,4,12,.90);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  color: #94a3b8;
  font-size: 11px;
  font-family: 'Courier New', 'Lucida Console', monospace;
  line-height: 1.65;
  padding: 10px 13px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  letter-spacing: .01em;
  white-space: pre;
  overflow: auto;
}
.vc-sf-output:read-only { cursor: default; }
.vc-sf-output.empty { color: #374151; font-style: italic; }

.vc-sf-authority-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 9px;
}

.vc-sf-authority-chip {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 2px 8px;
  border-radius: 5px;
  border: 1px solid rgba(239,68,68,.20);
  background: rgba(239,68,68,.03);
  color: #fca5a5;
  text-transform: uppercase;
}

.vc-sf-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.vc-sf-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 7px;
  border: 1px solid rgba(139,92,246,.38);
  background: rgba(139,92,246,.07);
  color: #a78bfa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .14s;
  user-select: none;
}
.vc-sf-btn:hover {
  background: rgba(139,92,246,.14);
  border-color: rgba(139,92,246,.62);
}
.vc-sf-btn:active { transform: scale(.97); }

.vc-sf-btn.secondary {
  border-color: rgba(34,211,238,.32);
  background: rgba(34,211,238,.05);
  color: #22d3ee;
}
.vc-sf-btn.secondary:hover {
  background: rgba(34,211,238,.11);
  border-color: rgba(34,211,238,.58);
}

/* Locked capability grid (Module 08) */
.vc-sf-locked-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 10px;
}

.vc-sf-locked-card {
  padding: 9px 11px;
  border-radius: 8px;
  border: 1px solid rgba(239,68,68,.17);
  background: rgba(239,68,68,.03);
}
.vc-sf-locked-card.required {
  border-color: rgba(251,146,60,.18);
  background: rgba(251,146,60,.03);
}
.vc-sf-locked-card-icon { font-size: 13px; margin-bottom: 4px; display: block; }
.vc-sf-locked-card-name { font-size: 10px; font-weight: 700; color: #6b7280; margin-bottom: 2px; }
.vc-sf-locked-card-status {
  font-size: 8px; font-weight: 800; letter-spacing: .09em;
  text-transform: uppercase; color: #ef4444;
}
.vc-sf-locked-card.required .vc-sf-locked-card-status { color: #fb923c; }

/* Chain list (Module 09) */
.vc-sf-chain-list { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }

.vc-sf-chain-item {
  display: flex; align-items: center; gap: 8px; padding: 6px 10px;
  border-radius: 7px; border: 1px solid rgba(255,255,255,.04);
  background: rgba(255,255,255,.01);
}
.vc-sf-chain-item.ready {
  border-color: rgba(34,197,94,.18);
  background: rgba(34,197,94,.03);
}
.vc-sf-chain-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
  background: rgba(255,255,255,.09);
}
.vc-sf-chain-item.ready .vc-sf-chain-dot {
  background: #22c55e;
  box-shadow: 0 0 5px rgba(34,197,94,.38);
}
.vc-sf-chain-name { font-size: 10px; font-weight: 600; color: #4b5563; flex: 1; }
.vc-sf-chain-item.ready .vc-sf-chain-name { color: #94a3b8; }
.vc-sf-chain-tag {
  font-size: 8px; font-weight: 800; letter-spacing: .08em;
  padding: 2px 6px; border-radius: 4px;
  background: rgba(139,92,246,.07); border: 1px solid rgba(139,92,246,.20);
  color: #a78bfa; text-transform: uppercase;
}

/* Non-authority notice */
.vc-sf-non-authority {
  padding: 10px 13px; border-radius: 8px;
  border: 1px solid rgba(34,211,238,.11);
  background: rgba(34,211,238,.03); margin-top: 12px;
}
.vc-sf-non-authority-label {
  font-size: 8px; font-weight: 900; letter-spacing: .13em;
  text-transform: uppercase; color: #22d3ee; margin-bottom: 4px;
}
.vc-sf-non-authority-text { font-size: 10px; color: #4b5563; line-height: 1.5; }

/* ── Nav entry button (cockpit nav) ──────────────────────────── */
.vc-sf-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  border-radius: 7px;
  border: 1px solid rgba(139,92,246,.33);
  background: rgba(139,92,246,.07);
  color: #a78bfa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .14s;
  user-select: none;
  white-space: nowrap;
}
.vc-sf-nav-btn:hover {
  background: rgba(139,92,246,.14);
  border-color: rgba(139,92,246,.58);
}

/* Sidebar menu link */
.vc-sf-sidebar-link {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 14px; font-size: 11px; font-weight: 700;
  color: #4b5563; cursor: pointer; border-left: 2px solid transparent;
  transition: all .12s; user-select: none; text-decoration: none;
  background: none; border-top: none; border-right: none; border-bottom: none;
  width: 100%;
}
.vc-sf-sidebar-link:hover {
  color: #a78bfa; background: rgba(139,92,246,.07);
  border-left-color: rgba(139,92,246,.35);
}

/* ── Original #projectBuilder reused in SF page ──────────────── */
/* JS moves #projectBuilder into this mount on showSoftwareFactoryPage() */
#vcSfOriginalProjectBuilderMount {
  display: block;
  width: 100%;
}

/* Simplified placeholder panels no longer used — stay hidden */
#vcSoftwareFactoryPage .vc-sf-module-panel {
  display: none !important;
}

/* Make #projectBuilder look right inside the SF page center column */
#vcSoftwareFactoryPage #projectBuilder {
  display: block !important;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 20px 16px;
  box-shadow: none;
  border: 1px solid rgba(139,92,246,.15);
  border-radius: 6px;
  background: rgba(17,24,39,.65);
  box-sizing: border-box;
}

/* ── Home / Workspace exclusive toggle ────────────────────────── */
/* Home fills the entire center column when visible */
#vcSfHomeControl {
  display: flex;          /* toggled to none in workspace mode */
  flex-direction: column;
  gap: 18px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 0 20px;
  justify-content: center;
}
/* Workspace fills the entire center column when visible */
#vcSfModuleWorkspace {
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

/* ── Hero intro ───────────────────────────────────────────────── */
.vc-sf-hero {
  text-align: center;
  padding: 4px 16px 0;
  flex-shrink: 0;
}
.vc-sf-hero-title {
  font-size: 20px;
  font-weight: 900;
  color: #e2e8f0;
  letter-spacing: .04em;
  margin-bottom: 10px;
  line-height: 1.2;
}
.vc-sf-hero-subtitle {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.65;
  max-width: 560px;
  margin: 0 auto;
}

/* ── LLM Control large on HOME ────────────────────────────────── */
#vcSfHomeControl .vc-sf-llm-control {
  flex-shrink: 0;
  border-color: rgba(34,211,238,.26);
  box-shadow: 0 0 36px rgba(34,211,238,.07), 0 2px 24px rgba(0,0,0,.35);
}
#vcSfHomeControl .vc-sf-llm-control-header {
  padding: 14px 22px 12px;
}
#vcSfHomeControl .vc-sf-llm-title {
  font-size: 11px;
  letter-spacing: .18em;
}
#vcSfHomeControl .vc-sf-chat-stream {
  min-height: 90px;
  max-height: 180px;
  padding: 14px 22px;
}
#vcSfHomeControl .vc-sf-chat-hint {
  font-size: 13px;
  font-style: italic;
  color: #374151;
  line-height: 1.6;
}
#vcSfHomeControl .vc-sf-chat-composer {
  padding: 12px 18px 18px;
  gap: 12px;
  align-items: flex-end;
}
#vcSfHomeControl .vc-sf-chat-input {
  min-height: 100px;
  max-height: 200px;
  font-size: 13px;
  padding: 12px 14px;
  line-height: 1.6;
}
#vcSfHomeControl .vc-sf-chat-btn-group {
  gap: 8px;
}
#vcSfHomeControl .vc-sf-chat-send,
#vcSfHomeControl .vc-sf-run-btn {
  padding: 10px 16px;
  font-size: 10px;
  border-radius: 8px;
}

/* ── Quick action grid ────────────────────────────────────────── */
.vc-sf-action-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  padding: 0 4px;
  flex-shrink: 0;
}
.vc-sf-action-btn {
  padding: 9px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.03);
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  cursor: pointer;
  transition: all .13s;
  white-space: nowrap;
}
.vc-sf-action-btn:hover {
  border-color: rgba(34,211,238,.28);
  color: #22d3ee;
  background: rgba(34,211,238,.05);
}
.vc-sf-action-btn.primary {
  border: 1.5px solid rgba(139,92,246,.55);
  background: rgba(139,92,246,.14);
  color: #c4b5fd;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .09em;
  padding: 11px 24px;
  text-transform: uppercase;
}
.vc-sf-action-btn.primary:hover {
  background: rgba(139,92,246,.28);
  border-color: #8b5cf6;
  color: #fff;
}

/* ── HOME button in module nav ────────────────────────────────── */
#vcSfHomeBtn {
  border-color: rgba(139,92,246,.33);
  color: #a78bfa;
}
#vcSfHomeBtn.active {
  background: rgba(139,92,246,.2) !important;
  border-color: #8b5cf6 !important;
  color: #fff !important;
}
