:root{
  color-scheme:dark; --bg:#080b10; --bg2:#0b0f15; --panel:#10151d; --panel2:#141a24; --line:#242d3a;
  --line2:#303b4b; --text:#eef3f9; --muted:#95a2b4; --soft:#bac4d1; --accent:#7aa2ff; --accent2:#a9c2ff;
  --green:#78d899; --red:#ff8787; --yellow:#f4c66a; --shadow:0 28px 80px rgba(0,0,0,.28);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif} button,input,textarea,select{font:inherit} button{cursor:pointer}.hidden{display:none!important}
a{color:var(--accent2);text-decoration:none} a:hover{text-decoration:underline}

/* Auth */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 50% 20%,#17243a 0,#0c1119 34%,#07090d 75%)}
.auth-shell{width:min(470px,100%)}.auth-brand{display:flex;align-items:center;gap:13px;margin:0 0 18px 4px}.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e7eeff,#8fb1ff);color:#07101f;font-weight:950;letter-spacing:-.05em;box-shadow:0 10px 30px rgba(94,139,255,.22)}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:14px}.brand-name{font-weight:850;letter-spacing:-.02em}.brand-version{font:750 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#7f8ca0;letter-spacing:.12em;margin-top:3px}.auth-card{background:rgba(16,21,29,.94);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow);backdrop-filter:blur(16px)}.auth-kicker,.page-kicker{font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;color:#8eaeff}.auth-card h1{font-size:31px;letter-spacing:-.035em;margin:9px 0}.auth-card>p{color:var(--muted);line-height:1.55;margin:0 0 23px}.auth-card form{display:grid;gap:16px}.auth-foot{text-align:center;color:#657287;font-size:12px;line-height:1.5;margin:17px 20px}
label{display:grid;gap:8px;font-size:13px;font-weight:750;color:#cbd4df}input,textarea,select{width:100%;border:1px solid var(--line2);border-radius:11px;background:#0a0e14;color:var(--text);padding:12px 13px;outline:none;transition:border-color .16s,box-shadow .16s}input:focus,textarea:focus,select:focus{border-color:#628cff;box-shadow:0 0 0 3px rgba(98,140,255,.12)}textarea{resize:vertical;line-height:1.55}.form-error{border:1px solid rgba(255,135,135,.32);background:rgba(255,90,90,.08);color:#ffb0b0;padding:10px 12px;border-radius:10px;font-size:12px;white-space:pre-wrap}.field-help{font-weight:500;color:#77859a;margin-left:4px}
.primary,.ghost,.secondary-button,.danger-button,.button-link{border:0;border-radius:10px;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:linear-gradient(180deg,#f0f4ff,#cbd9ff);color:#07101f;box-shadow:0 8px 24px rgba(111,151,255,.14)}.primary:hover{filter:brightness(1.04);text-decoration:none}.primary:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}.ghost{background:#161d27;color:#cbd5e2;border:1px solid var(--line)}.secondary-button,.button-link.secondary{background:#1a2230;color:#dce5f1;border:1px solid #2b3646}.danger-button{background:transparent;color:#ff9b9b;border:1px solid rgba(255,128,128,.25)}.wide{width:100%}

/* App shell */
.app-body{min-height:100vh;background:linear-gradient(180deg,#090c11,#080a0e)}.app-layout{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:20px 15px;border-right:1px solid #1f2732;background:#0b0f15;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:3px 7px 22px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#9aa7ba;border-radius:9px;padding:10px 12px;text-align:left;font-weight:720;display:flex;gap:10px;align-items:center}.nav-item:hover{background:#111822;color:#dce5f1}.nav-item.active{background:#172131;color:#f3f6fa;box-shadow:inset 0 0 0 1px #25354c}.nav-item span{width:17px;text-align:center;color:#779dff}.nav-section{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#596679;letter-spacing:.16em;padding:20px 12px 7px}.sidebar-foot{margin-top:auto;display:grid;gap:12px}.status-row{display:flex;align-items:center;gap:8px;color:#718096;font-size:11px;padding:0 7px}.status-dot{width:8px;height:8px;border-radius:50%;background:#667085}.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px rgba(120,216,153,.08)}.status-dot.bad{background:var(--red)}
.main-panel{min-width:0;padding:0 36px 64px}.topbar{height:96px;border-bottom:1px solid #1c232d;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(8,11,16,.88);backdrop-filter:blur(16px);z-index:10}.topbar h1{font-size:22px;letter-spacing:-.025em;margin:4px 0 0}.user-chip{display:flex;align-items:center;gap:10px;background:#0f141c;border:1px solid var(--line);border-radius:12px;padding:7px 11px 7px 7px}.avatar{width:32px;height:32px;border-radius:9px;background:#1b2940;color:#9fbdff;display:grid;place-items:center;font-weight:900}.user-chip strong{display:block;font-size:12px}.user-chip span{display:block;color:#738197;font-size:10px;text-transform:uppercase;margin-top:2px;letter-spacing:.08em}.view{display:none;padding-top:30px}.view.active{display:block}
.hero-grid{display:grid;grid-template-columns:1fr 210px;gap:18px;align-items:stretch;margin-bottom:20px}.hero-copy{padding:18px 3px}.hero-copy h2{font-size:clamp(34px,4.5vw,58px);letter-spacing:-.055em;line-height:1.01;margin:13px 0 13px;max-width:880px}.hero-copy p{font-size:16px;color:var(--muted);line-height:1.65;max-width:690px}.badge{display:inline-flex;border:1px solid #2a3b58;background:#101a2a;color:#91b1ff;border-radius:999px;padding:7px 10px;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.metric-card{border:1px solid var(--line);background:linear-gradient(180deg,#101721,#0d1219);border-radius:17px;padding:18px;display:flex;flex-direction:column;justify-content:center}.metric-card span{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;color:#74839a}.metric-card strong{font-size:46px;margin:10px 0 2px;letter-spacing:-.05em}.metric-card small{color:#7f8b9c}
.panel{border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,#10151d,#0e131a);box-shadow:0 18px 55px rgba(0,0,0,.12);padding:20px;margin-bottom:18px}.panel-head,.section-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel h3,.section-actions h2,.provider-card h3,.modal h2{margin:0;letter-spacing:-.025em}.panel-head p,.section-actions p{color:var(--muted);font-size:12px;margin:5px 0 0}.composer textarea{margin-top:18px;min-height:220px;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;background:#090d12}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}.muted{color:#758397;font-size:12px}.char-count{font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6f7d90}.progress{height:8px;background:#080c11;border-radius:999px;overflow:hidden;margin:18px 0}.progress div{height:100%;width:0;background:linear-gradient(90deg,#668fff,#99b6ff);transition:width .25s}.job-status{display:flex;align-items:center;gap:14px}.job-status span{font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#91b1ff;letter-spacing:.1em}.job-status strong{font-size:18px}.error{max-height:260px;overflow:auto;white-space:pre-wrap;color:#ffb0b0;background:#120d10;border:1px solid #3e2329;border-radius:11px;padding:12px}.outputs{display:flex;gap:8px;flex-wrap:wrap}.button-link{background:#e9eef7;color:#0a0f16}
.section-actions{align-items:center;margin-bottom:18px}.section-actions h2{font-size:27px}.providers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.provider-card{border:1px solid var(--line);background:linear-gradient(180deg,#111822,#0e131a);border-radius:16px;padding:17px}.provider-top{display:flex;justify-content:space-between;gap:12px}.provider-type{display:block;color:#7998dc;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.provider-health{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:6px 8px;border-radius:999px;height:max-content;border:1px solid}.provider-health.ok{color:#8ce6a9;border-color:#28583a;background:#0f2418}.provider-health.bad{color:#ff9c9c;border-color:#613131;background:#261313}.provider-health.neutral{color:#8897aa;border-color:#303a47;background:#151a21}.provider-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.provider-meta div{background:#0b1016;border:1px solid #202935;border-radius:10px;padding:10px}.provider-meta span{display:block;color:#68778b;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.provider-meta strong{display:block;font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.model-list{display:flex;flex-wrap:wrap;gap:6px}.model-list code{font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;background:#182131;color:#cbd8f1;border:1px solid #27354a;border-radius:7px;padding:5px 7px}.base-url,.test-message{color:#718096;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:11px;overflow-wrap:anywhere}.test-message{color:#8998ad}.card-actions{display:flex;gap:7px;margin-top:15px}.empty-state{border:1px dashed #344052;border-radius:16px;padding:48px;text-align:center;color:#8390a3;display:grid;gap:7px}.empty-state strong{color:#ccd5e0;font-size:17px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#6f7e91;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;padding:11px;border-bottom:1px solid #27303b}td{padding:13px 11px;border-bottom:1px solid #1c242e;color:#b8c2cf;vertical-align:top}td strong{color:#e8edf4;display:block}td small{display:block;color:#66758a;margin-top:5px;max-width:410px;line-height:1.45}.table-links{white-space:nowrap}.status-tag,.role-tag{display:inline-flex;border:1px solid #32415a;background:#131d2b;color:#9bbaff;border-radius:999px;padding:5px 7px;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.status-tag.done{color:#8de0a6;border-color:#27583a;background:#0e2116}.status-tag.failed{color:#ff9d9d;border-color:#5c2f34;background:#241316}.empty-cell{text-align:center;color:#68778a;padding:40px}.inline-actions{display:flex;gap:6px}.small{padding:7px 9px;font-size:10px}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.stack-form{display:grid;gap:14px;margin-top:18px}.security-card{display:flex;gap:15px;align-items:flex-start}.security-card p{color:#8794a6;line-height:1.65}.shield{width:42px;height:42px;flex:0 0 42px;border:1px solid #314467;background:#132039;color:#8fb0ff;border-radius:12px;display:grid;place-items:center;font-size:20px}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,5,9,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:22px;z-index:50}.modal{width:min(690px,100%);max-height:90vh;overflow:auto;border:1px solid #2b3542;background:#10161f;border-radius:19px;padding:22px;box-shadow:0 40px 120px rgba(0,0,0,.5)}.small-modal{width:min(480px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin-top:5px}.icon-button{border:0;background:#1a222d;color:#aab6c6;width:33px;height:33px;border-radius:9px;font-size:20px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-line{display:flex;align-items:center;gap:9px;align-self:end;height:43px}.toggle-line input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.toast{position:fixed;right:22px;bottom:22px;max-width:470px;border:1px solid #30405a;background:#142035;color:#d9e5ff;border-radius:12px;padding:12px 15px;box-shadow:var(--shadow);font-size:12px;z-index:80}.toast.bad{border-color:#603039;background:#271419;color:#ffb6b6}

/* Recorder */
.record-body{width:100vw;height:100vh;overflow:hidden;background:#07090c}.cinema-card{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 160px;background:radial-gradient(circle at 50% 35%,#18202b 0,#0b0e13 40%,#06080b 100%)}.cinema-card h1{font-size:64px;max-width:1500px;margin:18px 0}.cinema-card p{color:#c1cad6;font-size:25px;line-height:1.55;max-width:1200px;margin:0}.cinema-kicker{color:#9bc1ff;font:800 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em}.cinema-meta{margin-top:26px;color:#8491a3;font-size:17px}.outro-points{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 38px;max-width:1100px;text-align:left}.outro-points li{font-size:20px;color:#cfd8e5}.outro-points li::before{content:'✓';color:#79d98c;font-weight:900;margin-right:12px}.work{width:100vw;height:100vh;display:flex;flex-direction:column;background:#080a0d}.step-header{height:86px;flex:0 0 86px;padding:13px 25px;border-bottom:1px solid #252b35;background:#0e1218;display:grid;grid-template-columns:140px 1fr 120px;gap:20px;align-items:center}.step-count{color:#91a0b4;font:800 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.step-copy{min-width:0}.step-title{font-size:21px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-guide{margin-top:4px;color:#aeb8c6;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verified-pill{justify-self:end;color:#91dca0;border:1px solid #2e5b38;background:#102017;padding:8px 11px;border-radius:999px;font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.workspace{flex:1;min-height:0;position:relative}.workspace-view{width:100%;height:100%}.terminal-view{display:flex;flex-direction:column;background:#080a0d}.terminal-toolbar{height:38px;flex:0 0 38px;padding:0 22px;display:flex;align-items:center;color:#8390a1;border-bottom:1px solid #1d232c;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.terminal-dot{width:8px;height:8px;border-radius:50%;background:#78d58c;margin-right:10px}.terminal-full{margin:0;flex:1;min-height:0;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;padding:24px 30px 34px;color:#dce3ec;font:19px/1.48 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.browser-view{display:flex;flex-direction:column;background:#e7ebf0}.browser-chrome{height:46px;flex:0 0 46px;background:#171b21;display:flex;align-items:center;gap:8px;padding:0 16px}.browser-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.browser-dot.red{background:#ff645d}.browser-dot.yellow{background:#ffc043}.browser-dot.green{background:#54ca68}.browser-url{margin-left:10px;flex:1;height:28px;border-radius:7px;background:#252b33;color:#c8d0db;padding:6px 12px;font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browser-canvas{flex:1;min-height:0;overflow:hidden;display:grid;place-items:center;background:#fff}.browser-canvas img{width:100%;height:100%;object-fit:contain;object-position:top center}

@media(max-width:900px){.app-layout{grid-template-columns:76px 1fr}.sidebar{padding:14px 9px}.sidebar-brand .brand-name,.sidebar-brand .brand-version,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center}.nav-item span{font-size:16px}.nav-section{display:none}.sidebar-foot #health-text{display:none}.main-panel{padding:0 18px 40px}.hero-grid{grid-template-columns:1fr}.metric-card{display:none}.settings-grid{grid-template-columns:1fr}.providers-grid{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}}
@media(max-width:620px){.app-layout{display:block}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{padding:0}.nav-list{margin-left:auto;flex-direction:row}.nav-item{width:auto}.sidebar-foot{display:none}.topbar{height:78px}.user-chip{display:none}.hero-copy h2{font-size:38px}.panel-head,.section-actions,.composer-actions{flex-direction:column}.main-panel{padding:0 14px 30px}}

/* v0.8 natural screen-recording recorder */
.record-body{--record-step-height:56px}
.record-body .step-header.compact{height:var(--record-step-height);flex-basis:var(--record-step-height);padding:8px 18px;grid-template-columns:118px minmax(0,1fr);gap:14px;background:rgba(12,16,22,.97);box-shadow:0 1px 0 rgba(255,255,255,.04)}
.record-body .step-header.compact .step-count{font-size:11px;color:#8492a5}
.record-body .step-header.compact .step-title{font-size:17px;font-weight:750}
.record-body .step-header.compact .step-guide{font-size:12px;margin-top:2px;color:#8f9bab}
.record-body .terminal-toolbar{height:32px;flex-basis:32px;font-size:11px;padding:0 18px}
.record-body .terminal-full{font-size:18px;line-height:1.45;padding:18px 24px 28px}

/* v0.8 control plane additions */
.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin-top:14px}
.settings-stack{display:grid;gap:18px}.settings-save{display:flex;justify-content:flex-end;margin-bottom:30px}
.attempt-strip{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.attempt-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #334052;background:#111821;color:#aeb9c8;border-radius:999px;padding:6px 9px;font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.attempt-chip.ok{border-color:#28583a;background:#0f2418;color:#9de4b2}.attempt-chip.bad{border-color:#5f3338;background:#241417;color:#ffabab}.attempt-chip b{color:inherit}
.job-action-stack{display:grid;gap:8px;min-width:190px}.job-action-stack .inline-actions{flex-wrap:wrap}.status-tag.canceled{color:#c5b6ff;border-color:#50446d;background:#191625}.status-tag.recording,.status-tag.testing,.status-tag.generating,.status-tag.repairing,.status-tag.exporting,.status-tag.rendering,.status-tag.validated{color:#9bbaff;border-color:#32415a;background:#131d2b}
.model-health-list{display:grid;gap:7px;margin-top:13px}.model-health-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #222c38;background:#0b1016;border-radius:10px;padding:9px 10px}.model-health-row>div{min-width:0}.model-health-row code{display:block;color:#d8e3f7;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.model-health-row small{display:block;color:#69798e;font-size:9px;line-height:1.4;margin-top:4px;max-width:420px;overflow-wrap:anywhere}
#jobs-body input[type=checkbox],#select-all-jobs{width:16px;height:16px;accent-color:#8aa9ff}
@media(max-width:1050px){.form-grid.three{grid-template-columns:1fr 1fr}.toggle-grid{grid-template-columns:1fr}}
@media(max-width:700px){.form-grid.three{grid-template-columns:1fr}}
.vm-image-card .provider-meta{grid-template-columns:1.2fr .8fr 1fr}.or-divider{display:flex;align-items:center;gap:12px;color:#607084;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}.or-divider:before,.or-divider:after{content:"";height:1px;background:#27313d;flex:1}.status-tag.neutral{color:#8897aa;border-color:#303a47;background:#151a21}
/* v0.8 lab engine */
.discover-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.discovered-models{border:1px solid #263140;background:#0b1118;border-radius:12px;padding:12px}.discovery-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.discovery-head strong{font-size:12px;color:#dce6f3}.discovery-head span{font-size:10px;color:#718096}.model-chip-grid{display:flex;flex-wrap:wrap;gap:7px;max-height:230px;overflow:auto}.model-chip{border:1px solid #334052;background:#111821;color:#aeb9c8;border-radius:999px;padding:7px 9px;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.model-chip.selected{border-color:#416bb5;background:#172744;color:#cfe0ff}.record-body .terminal-toolbar.hidden{display:none}.record-body .terminal-full{padding-top:18px}input:disabled{opacity:.7;cursor:not-allowed}

/* v0.9 recording profile preview */
.video-preview-panel{margin-top:16px;border-top:1px solid #202935;padding-top:16px}.video-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.video-preview-head strong{display:block;font-size:12px;color:#dce5f1}.video-preview-head span{display:block;color:#74839a;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:4px}.video-preview-head small{color:#69778a;font-size:10px;line-height:1.45;max-width:320px;text-align:right}.video-preview-wrap{border:1px solid #263140;background:#080b10;border-radius:14px;padding:14px;display:grid;place-items:center;overflow:hidden}.video-preview{position:relative;width:min(100%,760px);aspect-ratio:16/9;border:1px solid #344052;background:#0b0f14;border-radius:10px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.26)}.video-preview-step{position:absolute;z-index:4;left:0;right:0;top:0;height:5.2%;min-height:18px;background:#0d1218;color:#edf2f8;border-bottom:1px solid #2a313c;display:flex;align-items:center;padding:0 2.1%;font:800 clamp(7px,1.05vw,12px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-preview-browser{position:absolute;z-index:3;left:0;right:0;top:5.2%;height:5.2%;min-height:17px;background:#1b2027;border-bottom:1px solid #303843;color:#8d98a7;display:flex;align-items:center;gap:1.2%;padding:0 1.7%;font:700 clamp(7px,.95vw,11px)/1 ui-monospace,SFMono-Regular,Menlo,monospace}.video-preview-browser>div{height:58%;border-radius:999px;background:#292f38;color:#bcc6d2;display:flex;align-items:center;padding:0 2%;flex:1;overflow:hidden;white-space:nowrap}.video-preview-content{position:absolute;inset:10.4% 0 0;background:linear-gradient(135deg,#f7f9fb 0 58%,#ecf1f6 58% 100%)}.video-preview-content:before{content:'';position:absolute;left:7%;top:12%;width:43%;height:9%;border-radius:8px;background:#dbe3ec;box-shadow:0 28px 0 #e5ebf1,0 56px 0 #edf1f5}.video-preview-content:after{content:'';position:absolute;right:8%;top:14%;width:27%;height:54%;border-radius:10px;background:#d8e2ec}.video-preview-cursor{position:absolute;left:57%;top:52%;width:13px;height:19px;background:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65));clip-path:polygon(0 0,0 100%,31% 70%,48% 100%,61% 92%,43% 64%,74% 64%);z-index:5}.video-preview.browser-off .video-preview-browser{display:none}.video-preview.browser-off .video-preview-content{inset:5.2% 0 0}.video-preview.pointer-off .video-preview-cursor{display:none}@media(max-width:700px){.video-preview-head{flex-direction:column}.video-preview-head small{text-align:left}}

/* ========================================================================== 
   Tutorial Lab v0.9.2 — Professional visual system
   Deliberately dependency-free: no remote fonts, icons, or runtime assets.
   ========================================================================== */
:root{
  --canvas:#07090d;
  --canvas-raised:#0b0e13;
  --surface-1:#0f131a;
  --surface-2:#131821;
  --surface-3:#181f2a;
  --surface-hover:#1c2430;
  --border-subtle:#202733;
  --border-strong:#2c3645;
  --text-1:#f4f7fb;
  --text-2:#c6cfdb;
  --text-3:#8996a8;
  --text-4:#667386;
  --brand:#4f7cff;
  --brand-hover:#648cff;
  --brand-soft:rgba(79,124,255,.12);
  --brand-border:rgba(105,145,255,.30);
  --success:#51c878;
  --success-soft:rgba(81,200,120,.10);
  --warning:#e6b85c;
  --danger:#f06c75;
  --danger-soft:rgba(240,108,117,.10);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.22),0 1px 0 rgba(255,255,255,.018) inset;
  --shadow-md:0 14px 35px rgba(0,0,0,.20),0 1px 0 rgba(255,255,255,.025) inset;
  --shadow-lg:0 28px 70px rgba(0,0,0,.34);
  --ease:cubic-bezier(.2,.7,.2,1);
  --bg:var(--canvas);
  --bg2:var(--canvas-raised);
  --panel:var(--surface-1);
  --panel2:var(--surface-2);
  --line:var(--border-subtle);
  --line2:var(--border-strong);
  --text:var(--text-1);
  --muted:var(--text-3);
  --soft:var(--text-2);
  --accent:var(--brand);
  --accent2:#9ab3ff;
  --green:var(--success);
  --red:var(--danger);
  --yellow:var(--warning);
  --shadow:var(--shadow-lg);
}
html{background:var(--canvas);scrollbar-color:#303948 #0a0d12}
body{font-feature-settings:"cv02","cv03","cv04","cv11";text-rendering:optimizeLegibility}
button,input,textarea,select{letter-spacing:0}
button{transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .12s var(--ease),box-shadow .16s var(--ease)}
button:active{transform:translateY(1px)}
::selection{background:rgba(79,124,255,.32);color:#fff}
:focus-visible{outline:2px solid rgba(109,148,255,.82);outline-offset:2px}

/* Identity */
.brand-mark{
  position:relative;overflow:hidden;background:linear-gradient(145deg,#6f96ff 0%,#4f7cff 52%,#365dcc 100%);
  color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 24px rgba(50,91,210,.25),inset 0 1px 0 rgba(255,255,255,.22);
  font-weight:850;letter-spacing:-.07em
}
.brand-mark:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%);pointer-events:none}
.brand-name{font-size:14px;font-weight:720;letter-spacing:-.018em;color:var(--text-1)}
.brand-version{font-size:8px;font-weight:650;color:var(--text-4);letter-spacing:.11em}
.page-kicker,.auth-kicker{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:10px;font-weight:700;letter-spacing:.115em;color:#7898f8}

/* App frame */
.app-body{background:var(--canvas)}
.app-layout{grid-template-columns:252px minmax(0,1fr)}
.sidebar{
  padding:18px 14px 16px;background:linear-gradient(180deg,#0a0d12 0%,#090c11 100%);
  border-right:1px solid #1a2029;box-shadow:1px 0 0 rgba(255,255,255,.012) inset
}
.sidebar-brand{padding:3px 7px 24px;gap:12px}
.brand-mark.small{width:36px;height:36px;border-radius:10px;font-size:13px}
.nav-list{gap:3px}
.nav-section{padding:22px 11px 8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;color:#566274}
.nav-item{
  min-height:42px;padding:9px 10px;border-radius:9px;color:#8f9aac;font-size:13px;font-weight:580;gap:11px;border:1px solid transparent
}
.nav-item:hover{background:#11161e;color:#d7deea;border-color:#171e28}
.nav-item.active{background:#151c27;color:#f5f7fb;border-color:#283446;box-shadow:var(--shadow-sm)}
.nav-icon{width:20px!important;height:20px;display:grid;place-items:center;color:#74859e!important;flex:0 0 20px}
.nav-item.active .nav-icon{color:#84a5ff!important}
.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;display:block}
.sidebar-foot{gap:10px;padding-top:16px;border-top:1px solid #171d25}
.status-row{padding:0 9px;color:#758195;font-size:10px}
.status-dot{width:7px;height:7px}
.status-dot.ok{box-shadow:0 0 0 3px rgba(81,200,120,.09)}

.main-panel{padding:0 34px 72px;max-width:1700px;width:100%;margin:0 auto}
.topbar{
  height:78px;border-bottom:1px solid #1b222c;background:rgba(7,9,13,.86);backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15)
}
.topbar h1{font-size:20px;font-weight:680;letter-spacing:-.026em;margin:3px 0 0}
.user-chip{background:#0c1016;border-color:#202834;border-radius:10px;padding:5px 9px 5px 5px;box-shadow:var(--shadow-sm)}
.avatar{width:30px;height:30px;border-radius:8px;background:#18223a;color:#9db5ff;font-size:11px}
.user-chip strong{font-size:11px;font-weight:650}.user-chip span{font-size:8px;letter-spacing:.08em;color:#6e7b8e}
.view{padding-top:26px}

/* Hero */
.hero-grid{grid-template-columns:minmax(0,1fr) 190px;gap:16px;margin:2px 0 22px;align-items:stretch}
.hero-copy{padding:12px 2px 14px}
.hero-copy h2{font-size:clamp(32px,3.4vw,48px);font-weight:720;letter-spacing:-.048em;line-height:1.04;margin:14px 0 12px;max-width:820px}
.hero-copy p{font-size:14px;line-height:1.65;color:#8e9aad;max-width:700px;margin:0}
.badge{padding:6px 9px;border-radius:7px;background:#0f1624;border-color:#263653;color:#88a7ff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.075em}
.metric-card{border-radius:14px;background:linear-gradient(180deg,#10161f,#0d1117);border-color:#222b37;box-shadow:var(--shadow-sm);padding:16px}
.metric-card span{font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;color:#6d7a8e;letter-spacing:.09em}
.metric-card strong{font-size:38px;font-weight:700;margin:8px 0 0}.metric-card small{font-size:10px;color:#667386}

/* Surfaces and typography */
.panel,.provider-card{
  border:1px solid #202833;background:linear-gradient(180deg,rgba(16,21,29,.98),rgba(13,17,24,.98));border-radius:14px;box-shadow:var(--shadow-sm)
}
.panel{padding:19px 20px;margin-bottom:16px}
.panel:hover{border-color:#242e3b}
.panel h3,.provider-card h3,.modal h2{font-weight:680;letter-spacing:-.025em}
.panel h3{font-size:15px}.panel-head p,.section-actions p{font-size:11px;line-height:1.5;color:#7f8b9c}
.section-actions{margin-bottom:16px}.section-actions h2{font-size:24px;font-weight:700}
.muted{font-size:11px;color:#758195;line-height:1.55}
code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}

/* Forms */
label{font-size:11px;font-weight:630;color:#b9c2cf;gap:7px}
.field-help{font-size:10px;color:#6f7b8d;font-weight:450}
input,textarea,select{
  border:1px solid #2a3340;border-radius:9px;background:#0a0e13;color:#e8edf4;padding:10px 11px;font-size:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.012);transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)
}
input:hover,textarea:hover,select:hover{border-color:#354153;background:#0b1016}
input:focus,textarea:focus,select:focus{border-color:#587fff;box-shadow:0 0 0 3px rgba(79,124,255,.11);background:#0b1016}
textarea{line-height:1.58}
.composer textarea{min-height:210px;margin-top:15px;background:#090d12;border-color:#27303c;font:13px/1.64 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.composer textarea::placeholder{color:#566274}
.composer-actions{margin-top:12px}
.char-count{font-size:10px;color:#687488}
.toggle-line{height:40px;font-size:11px;font-weight:560;color:#9eabba}
.toggle-line input,#jobs-body input[type=checkbox],#select-all-jobs{accent-color:var(--brand)}

/* Buttons */
.primary,.ghost,.secondary-button,.danger-button,.button-link{min-height:36px;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:650;box-shadow:none}
.primary{background:var(--brand);color:#fff;border:1px solid #6288ff;box-shadow:0 5px 16px rgba(47,85,193,.18)}
.primary:hover{background:var(--brand-hover);filter:none;box-shadow:0 7px 20px rgba(47,85,193,.23)}
.secondary-button,.button-link.secondary,.ghost{background:#121820;color:#b9c3d1;border:1px solid #293341}
.secondary-button:hover,.button-link.secondary:hover,.ghost:hover{background:#18202a;border-color:#354153;color:#eef2f7;text-decoration:none}
.danger-button{background:transparent;color:#e77a82;border:1px solid #3b262c}
.danger-button:hover{background:var(--danger-soft);border-color:#5a343b;color:#ff929a}
.button-link:not(.secondary){background:#e8edf5;color:#111721;border:1px solid #fff}.button-link:not(.secondary):hover{background:#fff;text-decoration:none}
.small{min-height:30px;padding:6px 8px;font-size:10px}
.icon-button{width:32px;height:32px;border-radius:8px;background:#151c25;color:#8d99aa;border:1px solid #27313e}.icon-button:hover{background:#1b2430;color:#edf2f8}

/* Progress, attempts and status */
.progress{height:5px;margin:16px 0;background:#090d12;border:1px solid #171e27}
.progress div{background:linear-gradient(90deg,#4f7cff,#7fa0ff);box-shadow:0 0 18px rgba(79,124,255,.28)}
.job-status{gap:10px}.job-status span{font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;color:#88a5f8;letter-spacing:.08em}.job-status strong{font-size:16px;font-weight:680}
.attempt-strip{gap:6px}.attempt-chip{border-radius:7px;background:#0d1219;border-color:#283240;color:#8d9aab;padding:5px 7px;font-size:9px}.attempt-chip.ok{background:var(--success-soft);border-color:#244b32;color:#79d695}.attempt-chip.bad{background:var(--danger-soft);border-color:#513038;color:#f18c94}
.status-tag,.role-tag,.provider-health{border-radius:6px;padding:5px 7px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;font-weight:720;letter-spacing:.055em}
.status-tag.done,.provider-health.ok{color:#73d594;border-color:#295239;background:#0e1d15}
.status-tag.failed,.provider-health.bad{color:#f28e95;border-color:#523038;background:#221216}
.status-tag.recording,.status-tag.testing,.status-tag.generating,.status-tag.repairing,.status-tag.exporting,.status-tag.rendering,.status-tag.validated{color:#8ca9ff;border-color:#30456f;background:#111b2d}

/* Gateway + cards */
.providers-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:13px}
.provider-card{padding:17px}
.provider-type{font-family:ui-sans-serif,system-ui,sans-serif;color:#788cae;font-size:8px;font-weight:720;letter-spacing:.09em;margin-bottom:6px}
.provider-top{align-items:flex-start}.provider-top h3{font-size:15px}
.provider-meta{gap:7px;margin:14px 0}.provider-meta div{background:#0a0f15;border-color:#1e2732;border-radius:9px;padding:9px}.provider-meta span{font-size:8px;color:#667386}.provider-meta strong{font-size:11px;font-weight:650;color:#dce3ec}
.model-list{gap:5px}.model-list code{background:#111926;border-color:#243147;color:#b5c5e5;border-radius:6px;padding:5px 7px;font-size:10px}
.model-health-list{gap:6px}.model-health-row{border-color:#1f2833;background:#0a0f15;border-radius:9px;padding:8px 9px}.model-health-row code{font-size:10px;color:#cfd9ea}.model-health-row small{font-size:8px;color:#68768a}
.card-actions{gap:6px;margin-top:14px;flex-wrap:wrap}.base-url,.test-message{font-size:9px;color:#657286}
.discovered-models{border-color:#26313e;background:#090e14;border-radius:10px}.model-chip{border-radius:7px;background:#101720;border-color:#2a3544;color:#9ba8b9;padding:6px 8px;font-size:9px}.model-chip:hover{background:#16202d;border-color:#3a4b62}.model-chip.selected{border-color:#4669ac;background:#16233b;color:#c7d7ff}

/* Tables */
.table-wrap{border:1px solid #1d2530;border-radius:10px;overflow:auto;background:#0b0f15}
table{font-size:11px}th{padding:10px 11px;background:#0c1117;border-bottom-color:#242d39;color:#68768a;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;font-weight:720;letter-spacing:.08em;position:sticky;top:0;z-index:1}td{padding:12px 11px;border-bottom-color:#191f28;color:#aab5c3}tbody tr:hover td{background:#0e131a}tbody tr:last-child td{border-bottom:0}td strong{font-weight:640;color:#e3e8ef}td small{font-size:9px;color:#657286}

/* Settings */
.settings-stack{gap:14px}.settings-grid{gap:14px}.form-grid.two,.form-grid.three{gap:10px}.toggle-grid{gap:5px 16px;margin-top:12px}.settings-save{position:sticky;bottom:12px;z-index:5;padding:10px 0;background:linear-gradient(180deg,transparent,rgba(7,9,13,.95) 38%)}
.security-card{background:linear-gradient(180deg,#10161f,#0d1218)}.shield{border-radius:10px;background:#13203a;border-color:#2d4475;color:#8faaff}
.video-preview-panel{margin-top:14px;padding-top:14px;border-top-color:#202833}.video-preview-wrap{background:#090d12;border-color:#222c38;border-radius:12px;padding:12px}.video-preview{border-radius:8px;border-color:#2d3744;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.video-preview-step{background:#0c1016;border-bottom-color:#262e39;color:#edf2f7;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:650;letter-spacing:.02em}.video-preview-browser{background:#171c23;border-bottom-color:#2a333e}.video-preview-browser>div{background:#242b34;color:#b3bdc9}

/* Modal / notifications */
.modal-backdrop{background:rgba(3,5,8,.78);backdrop-filter:blur(12px)}
.modal{border-color:#2a3441;background:#0f141b;border-radius:15px;padding:20px;box-shadow:0 32px 100px rgba(0,0,0,.52),0 1px 0 rgba(255,255,255,.025) inset}
.modal-head{margin-bottom:16px}.modal-head h2{font-size:18px}
.toast{right:20px;bottom:20px;border-color:#324362;background:#101b2d;color:#d8e4ff;border-radius:10px;padding:10px 13px;font-size:11px;box-shadow:0 16px 50px rgba(0,0,0,.36)}
.form-error,.error{border-color:#4b2d34;background:#1d1115;color:#f5a2a8;border-radius:9px}
.empty-state{border-color:#303a47;background:#0b1016;border-radius:13px;padding:44px;color:#778599}.empty-state strong{font-size:15px;color:#d6dee8}

/* Auth */
.auth-body{background:radial-gradient(900px 520px at 50% -8%,rgba(67,102,191,.20),transparent 62%),#07090d}
.auth-shell{width:min(440px,100%)}
.auth-brand{margin:0 0 16px 3px}
.auth-card{background:rgba(14,19,26,.96);border-color:#242d39;border-radius:16px;padding:27px;box-shadow:0 28px 85px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.025)}
.auth-card h1{font-size:27px;font-weight:720;letter-spacing:-.035em;margin:8px 0}.auth-card>p{font-size:12px;color:#7f8c9f;margin-bottom:20px}.auth-foot{font-size:10px;color:#5f6c7e}

/* Recorder — deliberately restrained so output reads like a real capture */
.record-body{background:#0b0f14;color:#eef2f6}
.record-body .step-header.compact{
  background:rgba(14,18,24,.985);border-bottom:1px solid #272f3a;box-shadow:0 1px 0 rgba(255,255,255,.02);
  padding:7px 20px;grid-template-columns:110px minmax(0,1fr);gap:16px
}
.record-body .step-header.compact .step-count{font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.07em;color:#738196}
.record-body .step-header.compact .step-title{font-size:15px;font-weight:650;letter-spacing:-.01em;color:#f1f4f8}
.record-body .step-header.compact .step-guide{font-size:11px;color:#8490a0}
.terminal-view{background:#0c1015}
.record-body .terminal-toolbar{height:36px;flex-basis:36px;padding:0 14px;border-bottom:1px solid #202731;background:#11161d;color:#7c8999;font-size:10px}
.terminal-window-controls{display:flex;align-items:center;gap:6px;width:62px;flex:0 0 62px}.terminal-window-controls span{width:9px;height:9px;border-radius:50%;background:#3c4654}.terminal-window-controls span:nth-child(1){background:#e15c64}.terminal-window-controls span:nth-child(2){background:#dba94d}.terminal-window-controls span:nth-child(3){background:#50b96f}
.terminal-session{display:flex;align-items:center;gap:6px;margin:auto;color:#a9b4c1;font-weight:560}.terminal-status-dot{width:6px;height:6px;border-radius:50%;background:#55c879;box-shadow:0 0 0 3px rgba(85,200,121,.08)}.terminal-separator{color:#46515f}.terminal-toolbar-meta{width:62px;flex:0 0 62px;text-align:right;color:#566273;font-size:8px;font-weight:700;letter-spacing:.09em}
.record-body .terminal-full{padding:20px 27px 30px;color:#d7dee7;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:17px;line-height:1.52;background:#0c1015}
.cinema-card{background:radial-gradient(800px 520px at 50% 35%,#151d29 0%,#0a0e14 55%,#06080b 100%)}.cinema-card h1{font-weight:720;letter-spacing:-.04em}.cinema-kicker{font-family:ui-sans-serif,system-ui,sans-serif;color:#86a5ff;font-size:12px;font-weight:700;letter-spacing:.13em}

/* Responsive polish */
@media(max-width:1100px){.app-layout{grid-template-columns:220px 1fr}.main-panel{padding-left:24px;padding-right:24px}.hero-grid{grid-template-columns:1fr 170px}.providers-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.app-layout{grid-template-columns:72px 1fr}.sidebar{padding:14px 9px}.sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-brand>div:last-child{display:none}.nav-item{justify-content:center;padding:9px}.nav-item{font-size:0}.nav-icon{margin:0}.nav-section{display:none}.main-panel{padding:0 18px 48px}.hero-grid{grid-template-columns:1fr}.metric-card{display:none}.settings-grid{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.topbar{height:70px}}
@media(max-width:620px){.app-layout{display:block}.sidebar{position:sticky;top:0;height:58px;z-index:20;flex-direction:row;padding:8px 10px;border-right:0;border-bottom:1px solid #202733}.sidebar-brand{padding:0}.brand-mark.small{width:34px;height:34px}.nav-list{margin-left:auto;flex-direction:row;gap:2px}.nav-item{width:38px;min-height:38px}.sidebar-foot{display:none}.main-panel{padding:0 13px 30px}.topbar{height:64px}.user-chip{display:none}.view{padding-top:18px}.hero-copy h2{font-size:34px}.hero-copy p{font-size:13px}.panel{padding:16px}.panel-head,.section-actions,.composer-actions,.video-preview-head{flex-direction:column;align-items:stretch}.form-grid.three{grid-template-columns:1fr}.toggle-grid{grid-template-columns:1fr}.card-actions{display:grid;grid-template-columns:1fr 1fr}.modal{padding:17px}.providers-grid{grid-template-columns:1fr}}

/* Marker used by smoke test. */
.control-plane-v091{display:none}

/* v0.10 product pipeline */
.job-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 4px}.job-pipeline span{position:relative;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700;text-align:center;letter-spacing:.02em}.job-pipeline span.done{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.08);color:var(--text)}.job-pipeline span.active{border-color:rgba(37,99,235,.55);background:rgba(37,99,235,.10);color:var(--text);box-shadow:0 0 0 2px rgba(37,99,235,.06) inset}.job-pipeline span.bad{border-color:rgba(220,38,38,.45);background:rgba(220,38,38,.08)}@media(max-width:700px){.job-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Live generation telemetry */
.job-runtime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 16px}.runtime-metric{min-width:0;border:1px solid #202a36;background:#0a0f15;border-radius:10px;padding:10px 11px}.runtime-metric span{display:block;color:#69788b;font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.runtime-metric strong{display:block;margin-top:5px;color:#eef3fa;font:680 17px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.03em}.runtime-metric small{display:block;margin-top:4px;color:#627084;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-live-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px}.job-live-head>div{display:flex;align-items:center;gap:7px}.job-live-head strong{font-size:10px;color:#cdd6e2;font-weight:680}.job-live-head small{font-size:9px;color:#627084}.live-dot{width:7px;height:7px;border-radius:50%;background:#66d38c;box-shadow:0 0 0 4px rgba(102,211,140,.08);animation:livePulse 1.8s ease-in-out infinite}.job-activity{display:grid;gap:0;border:1px solid #1d2631;background:#090d12;border-radius:10px;overflow:hidden;margin-bottom:12px}.activity-row{display:grid;grid-template-columns:72px 90px minmax(0,1fr);gap:10px;align-items:start;padding:9px 10px;border-bottom:1px solid #171e27}.activity-row:last-child{border-bottom:0}.activity-row time{font:600 9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:#66758a}.activity-stage{font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#86a6ff}.activity-message{font-size:10px;line-height:1.45;color:#aeb9c7}.activity-row.current{background:#0d1420}.activity-row.current .activity-message{color:#e2e8f0}.activity-empty{padding:12px;color:#66758a;font-size:10px}.job-status.running strong{font-variant-numeric:tabular-nums}@keyframes livePulse{0%,100%{opacity:.55}50%{opacity:1}}@media(max-width:760px){.job-runtime-grid{grid-template-columns:1fr}.job-live-head{align-items:flex-start;flex-direction:column}.activity-row{grid-template-columns:62px 75px minmax(0,1fr)}}

.job-command-card{border:1px solid #263548;background:linear-gradient(180deg,#0c131d 0%,#090e14 100%);border-radius:10px;margin:14px 0 12px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.job-command-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #1b2633}.job-command-head>div{display:flex;align-items:center;gap:8px}.job-command-head strong{font-size:10px;color:#dbe6f3;font-weight:720}.job-command-head small{font-size:9px;color:#74859a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%}.command-dot{width:7px;height:7px;border-radius:50%;background:#7ca5ff;box-shadow:0 0 0 4px rgba(124,165,255,.08)}#job-command{margin:0;padding:13px 14px;max-height:190px;overflow:auto;background:#070b10;color:#d8e3ef;font:600 11px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}#job-command code{font:inherit;color:inherit}.job-command-card.hidden{display:none!important}@media(max-width:760px){.job-command-head{align-items:flex-start;flex-direction:column}.job-command-head small{max-width:100%}}

/* ========================================================================== 
   v0.12 product UI refresh — generate + jobs
   ========================================================================== */
.generate-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:2px 0 18px;padding:0 2px}.generate-intro h2,.jobs-page-head h2{margin:0;color:var(--text-1);font-size:clamp(25px,3vw,34px);line-height:1.12;letter-spacing:-.04em;font-weight:730}.generate-intro p,.jobs-page-head p{margin:7px 0 0;color:var(--text-3);font-size:13px;line-height:1.55;max-width:700px}.gateway-pill{height:34px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #222b37;background:#0d1218;border-radius:999px;padding:0 11px;color:#7f8da0;font-size:10px}.gateway-pill strong{color:#dfe6ef;font-size:11px;font-weight:750}.gateway-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgba(81,200,120,.08)}

.composer-pro{padding:0;overflow:hidden;border-radius:14px;background:#0f1319;border-color:#202832;box-shadow:var(--shadow-sm)}.composer-pro .composer-label-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px 0}.composer-label-row label{font-size:12px;color:#dce3ec;font-weight:680}.composer-pro textarea{margin:11px 14px 0;width:calc(100% - 28px);min-height:190px;border-radius:10px;background:#090d12;border-color:#252f3c;padding:15px 16px;font-size:13px;line-height:1.68}.composer-pro textarea:focus{border-color:#446fda;box-shadow:0 0 0 3px rgba(79,124,255,.10)}.prompt-help-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px 14px}.prompt-help-row>span{color:#697689;font-size:10px;line-height:1.45}.generate-button{min-width:154px;min-height:38px;padding:9px 14px;justify-content:space-between}

.active-job-card{margin-top:18px;padding:0;overflow:hidden;border-radius:14px;background:#0d1117;border-color:#202833;box-shadow:var(--shadow-md)}.active-job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 18px 14px}.active-job-identity{min-width:0}.active-job-eyebrow{display:flex;align-items:center;gap:8px;color:#758398;font-size:9px;font-weight:740;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}.active-job-identity h3{font-size:17px;line-height:1.3;font-weight:700;color:#f1f4f8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:820px}.active-job-identity p{margin:5px 0 0;color:#8996a8;font-size:11px;line-height:1.45}.job-status-block{display:flex;align-items:center;gap:11px;flex:none}.job-status-block>strong{font:720 24px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#eef3f8;letter-spacing:-.045em}.job-status-pill{display:inline-flex;align-items:center;height:25px;border-radius:999px;padding:0 9px;border:1px solid #30405a;background:#141d2a;color:#9eb9ff;font-size:8px;font-weight:800;letter-spacing:.09em}.job-status-pill.done{background:rgba(81,200,120,.09);border-color:rgba(81,200,120,.27);color:#84dfa1}.job-status-pill.failed{background:rgba(240,108,117,.09);border-color:rgba(240,108,117,.27);color:#ff9ba3}.job-status-pill.canceled{background:#181620;border-color:#403a52;color:#bdb0dc}
.progress-pro{height:4px;border-radius:0;margin:0;background:#080b0f}.progress-pro div{border-radius:0;background:linear-gradient(90deg,#4875eb,#7ea0ff)}
.pipeline-pro{margin:0;padding:14px 18px 0;gap:7px}.pipeline-pro span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 10px;border-radius:8px;background:#0b1016;border-color:#202933;color:#687689;font-size:10px;font-weight:650}.pipeline-pro span b{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#171e28;color:#758398;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.pipeline-pro span.active{background:rgba(79,124,255,.08);border-color:rgba(79,124,255,.32);color:#d8e2fb;box-shadow:none}.pipeline-pro span.active b{background:#345fca;color:white}.pipeline-pro span.done{background:rgba(81,200,120,.05);border-color:rgba(81,200,120,.18);color:#bcd4c4}.pipeline-pro span.done b{background:#183523;color:#75d993}.pipeline-pro span.bad b{background:#3a1b20;color:#ff9ba3}
.runtime-pro{padding:0 18px;margin:10px 0 0}.runtime-pro .runtime-metric{background:#0a0e13;border-color:#1d2530;border-radius:9px;padding:10px 11px}.runtime-pro .runtime-metric span{font-size:7px;color:#617084;letter-spacing:.1em}.runtime-pro .runtime-metric strong{font-size:15px}.runtime-pro .runtime-metric small{font-size:8px;color:#586679}
.current-work-card{margin:12px 18px 0;border-color:#233144;background:#090e14}.current-work-card .job-command-head{padding:9px 11px}.current-work-card #job-command{padding:12px 13px;max-height:170px;font-size:10.5px;line-height:1.62}.activity-section{margin:13px 18px 0}.activity-section .job-live-head{margin:0 0 7px}.activity-section .job-live-head strong{font-size:10px}.activity-section .job-live-head small{font-size:8.5px}.activity-section .job-activity{margin-bottom:0;max-height:255px;overflow:auto;border-color:#1c242e;border-radius:9px}.activity-section .activity-row{grid-template-columns:70px 82px minmax(0,1fr);padding:8px 10px}.activity-section .activity-stage{font-size:7px}.activity-section .activity-message{font-size:9.5px}.activity-section .activity-row.current{background:#0c121a}
.active-job-card>.attempt-strip,.active-job-card>.error{margin-left:18px;margin-right:18px}.job-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 17px;margin-top:2px;border-top:1px solid #1a222c}.output-actions{margin:0}.output-actions .button-link{min-height:32px;padding:7px 11px;font-size:10px}.job-footer-actions>.danger-button{margin-left:auto;font-size:10px;padding:8px 11px}

.jobs-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 17px}.jobs-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.jobs-summary-card{border:1px solid #1f2731;background:#0d1117;border-radius:11px;padding:13px 14px}.jobs-summary-card span{display:block;color:#68768a;font-size:8px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.jobs-summary-card strong{display:block;margin-top:5px;font:690 23px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#edf2f7;letter-spacing:-.04em}.jobs-summary-card small{display:block;margin-top:5px;color:#59677a;font-size:8.5px}.jobs-panel{padding:0;overflow:hidden;border-radius:13px}.jobs-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 15px;border-bottom:1px solid #1c242e}.jobs-filters{display:flex;align-items:flex-end;gap:9px;min-width:0}.jobs-search,.jobs-filter{display:grid;gap:5px;color:#647286;font-size:8px;font-weight:740;text-transform:uppercase;letter-spacing:.08em}.jobs-search{width:min(330px,38vw)}.jobs-filter{width:145px}.jobs-search input,.jobs-filter select{height:34px;padding:7px 10px;border-radius:8px;border-color:#252e3a;background:#090d12;font-size:10.5px;color:#cbd5e0}.jobs-bulk-actions button{min-height:34px;padding:7px 10px;font-size:9px}.jobs-table-wrap{border:0;border-radius:0;background:#0b0f14}.jobs-table{font-size:11px}.jobs-table th{background:#0b0f14;padding:10px 12px;font-size:7.5px;letter-spacing:.11em;color:#5e6b7d;border-bottom-color:#1b222c}.jobs-table td{padding:12px;border-bottom-color:#171e27;vertical-align:middle}.jobs-table tbody tr{transition:background .13s}.jobs-table tbody tr:hover{background:#0f151d}.jobs-table th:first-child,.jobs-table td:first-child{width:38px;text-align:center}.job-primary{min-width:250px;max-width:520px}.job-title-line{display:flex;align-items:center;gap:7px}.job-primary strong{display:flex;align-items:center;gap:7px;color:#e7ecf2;font-size:10.5px;font-weight:680;line-height:1.4}.job-primary small{margin-top:4px;color:#69778a;line-height:1.4;max-width:490px}.job-primary code{display:block;margin-top:5px;color:#4f5d70;font:600 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.pin-mark{display:inline-flex;border:1px solid #394761;background:#151d29;color:#96abcf;border-radius:5px;padding:2px 4px;font-size:6px;letter-spacing:.08em}.job-state-cell{min-width:145px}.job-state-cell small{max-width:200px;margin-top:6px;color:#647286}.job-model{min-width:120px}.job-model strong{font-size:9px;color:#aab5c3}.job-model small{font:600 8px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;max-width:155px;color:#5f6e81}.job-date{white-space:nowrap;color:#8995a5;font-size:9.5px}.job-execution-cell{min-width:120px}.job-duration{font:650 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:#cfd8e3;white-space:nowrap}.job-duration-muted{color:#566476}.job-duration-meta{display:block;margin-top:5px;color:#657286;font-size:8px;line-height:1.3;white-space:nowrap}.job-muted{color:#566476}.jobs-table .job-action-stack{min-width:155px;gap:6px}.jobs-table .table-links{font-size:8.5px}.jobs-table .small{padding:6px 8px;font-size:8px;border-radius:7px}.jobs-empty-filter{padding:42px 16px;text-align:center;color:#687689;font-size:11px;border-top:1px solid #1b222c}.empty-cell{padding:46px 20px}.empty-cell strong{color:#cbd4df;font-size:12px}.empty-cell span{display:block;color:#657286;margin-top:6px;font-size:10px}

@media(max-width:980px){.jobs-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-toolbar{align-items:stretch;flex-direction:column}.jobs-filters{width:100%}.jobs-search{width:100%;flex:1}.jobs-filter{width:170px}.jobs-bulk-actions{justify-content:flex-end}.active-job-identity h3{max-width:600px}}
@media(max-width:700px){.generate-intro,.jobs-page-head{align-items:flex-start;flex-direction:column}.gateway-pill{align-self:flex-start}.prompt-help-row{align-items:stretch;flex-direction:column}.generate-button{width:100%}.active-job-top{flex-direction:column;gap:13px}.job-status-block{width:100%;justify-content:space-between}.pipeline-pro{grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-pro{grid-template-columns:1fr}.activity-section .activity-row{grid-template-columns:60px 68px minmax(0,1fr)}.job-footer-actions{align-items:stretch;flex-direction:column}.job-footer-actions>.danger-button{margin-left:0}.jobs-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-filters{flex-direction:column;align-items:stretch}.jobs-filter{width:100%}.jobs-bulk-actions{justify-content:stretch}.jobs-bulk-actions>*{flex:1}}

/* v0.13 Recovery Manager / Orchestrator */
.status-tag.needs_attention,.job-status-pill.needs_attention{color:#ffd48a;border-color:#6a5125;background:#251c0d}
.status-tag.waiting_resources,.status-tag.waiting_ai,.status-tag.waiting_infra,.job-status-pill.waiting_resources,.job-status-pill.waiting_ai,.job-status-pill.waiting_infra{color:#f0c77b;border-color:#5b4727;background:#211a0f}
.status-tag.reviewing,.status-tag.diagnosing,.status-tag.replanning,.job-status-pill.reviewing,.job-status-pill.diagnosing,.job-status-pill.replanning{color:#c6b5ff;border-color:#4d426c;background:#191624}
.manager-card{margin:12px 18px 0;padding:11px 12px;border:1px solid #222d3a;border-radius:10px;background:#0a0f15}.manager-card .job-live-head{margin:0 0 8px}.manager-decisions{display:grid;gap:6px}.manager-decision{border:1px solid #1d2732;border-radius:8px;background:#0c1219;padding:8px 9px}.manager-decision.current{border-color:#30476e;background:#0d1521}.manager-decision>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.manager-decision span{color:#a9bbdf;font-size:8px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.manager-decision time{color:#66758a;font:8px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.manager-decision p{margin:5px 0 0;color:#9aa7b8;font-size:9.5px;line-height:1.45}.attempt-chip em{font-style:normal;color:#7f8da0;font-size:8px;text-transform:uppercase;letter-spacing:.04em}

/* Public tutorial sharing */
.share-modal-copy{margin:-4px 0 16px;line-height:1.6}.share-current{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.share-current-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.share-current-head>div{display:flex;flex-direction:column;gap:4px}.share-current-head span:not(.status-tag){font-size:11px;color:var(--muted)}.share-link-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.share-link-row input{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.share-page{min-height:100vh;background:#090d12;color:var(--text);margin:0}.share-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 54px}.share-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.share-brand>div:last-child{display:flex;flex-direction:column;gap:2px}.share-brand span{font-size:11px;color:var(--muted)}.share-card,.share-content{border:1px solid var(--line);background:#0f141b;border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.2)}.share-card{width:min(520px,100%);margin:12vh auto 0;padding:28px}.share-card h1,.share-title-row h1{margin:8px 0 8px;letter-spacing:-.035em}.share-card p,.share-title-row p{color:var(--muted);line-height:1.6}.share-auth form{display:grid;gap:12px;margin-top:22px}.share-kicker{font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#8eaaf4}.share-loader{width:28px;height:28px;border-radius:50%;border:3px solid #26303d;border-top-color:#91adf8;animation:share-spin .8s linear infinite}@keyframes share-spin{to{transform:rotate(360deg)}}.share-content{padding:24px}.share-title-row{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.share-video-wrap{overflow:hidden;border-radius:12px;border:1px solid #252e3a;background:#030506}.share-video-wrap video{display:block;width:100%;max-height:72vh;background:#000}.share-note{margin-top:14px;color:var(--muted);font-size:11px;line-height:1.55}.share-unavailable{color:#ffb0b0}@media(max-width:620px){.share-shell{width:min(100% - 20px,1120px);padding-top:18px}.share-card{margin-top:8vh;padding:20px}.share-content{padding:14px}.share-link-row{grid-template-columns:1fr}.share-current-head{flex-direction:column}}

/* v0.13.10 AI output rejection is reachable-but-not-accepted, not provider downtime. */
.attempt-chip.warn{border-color:#665328;background:#241e11;color:#e8c77d}

/* ========================================================================== 
   Tutorial Lab v0.13.15 — Dual theme + layout balance
   Dashboard/auth/share only. Recorder remains deliberately dark and stable.
   ========================================================================== */
.topbar-actions{display:flex;align-items:center;gap:10px}
.theme-toggle{
  min-height:34px;display:inline-flex;align-items:center;gap:8px;border:1px solid #27313e;background:#10161e;color:#aeb8c6;
  border-radius:9px;padding:7px 10px;font-size:10px;font-weight:650;line-height:1;box-shadow:var(--shadow-sm)
}
.theme-toggle:hover{background:#161e28;border-color:#354153;color:#eef3f8}
.theme-toggle-glyph{width:17px;height:17px;display:grid;place-items:center;border-radius:6px;background:#1b2533;color:#9fb7ff;font-size:12px;line-height:1}
.theme-toggle-floating{position:fixed;right:22px;top:22px;z-index:20}
.share-brand{justify-content:space-between}
.share-brand-copy{display:flex!important;align-items:center;gap:10px}
.share-brand-copy>div:last-child{display:flex;flex-direction:column;gap:2px}

/* More balanced page width and spacing on large screens. */
.main-panel{padding-left:clamp(22px,3vw,42px);padding-right:clamp(22px,3vw,42px)}
.main-panel>.topbar,.main-panel>.view{width:min(100%,1480px);margin-left:auto;margin-right:auto}
.view{padding-top:30px}
.generate-intro,.jobs-page-head{margin-bottom:20px}
.panel,.provider-card,.active-job-card,.jobs-summary-card{transition:border-color .16s var(--ease),background-color .16s var(--ease),box-shadow .16s var(--ease)}
.composer-pro{box-shadow:0 7px 24px rgba(0,0,0,.10)}
.active-job-card{box-shadow:0 14px 38px rgba(0,0,0,.14)}
.jobs-summary-card{min-height:88px;display:flex;flex-direction:column;justify-content:center}

.owner-chat-modal{width:min(760px,100%);height:min(82vh,760px);display:flex;flex-direction:column;overflow:hidden}.owner-chat-quick{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 12px;border-bottom:1px solid var(--line)}.owner-chat-history{flex:1;min-height:180px;overflow:auto;margin:12px 0;border:1px solid #1d2631;border-radius:10px;background:#090d12;padding:10px}.owner-chat-entry{padding:11px 12px;border-bottom:1px solid #171e27}.owner-chat-entry:last-child{border-bottom:0}.owner-chat-answer-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.owner-chat-answer-head strong{font-size:9px;color:#9db8ff;text-transform:uppercase;letter-spacing:.07em}.owner-chat-answer-head small{font-size:8px;color:#68788e}.owner-chat-question{margin-top:6px;padding-left:9px;border-left:2px solid #31476d}.owner-chat-question span{font-size:7px;color:#65758a;text-transform:uppercase;letter-spacing:.06em}.owner-chat-question p{margin:3px 0;color:#7f8da0;font-size:9px;line-height:1.45}.owner-chat-answer{margin-top:8px;color:#d1d9e3;font-size:10px;line-height:1.6;word-break:break-word}.owner-chat-answer br{content:"";display:block;margin-top:3px}html[data-theme="light"] .owner-chat-history{background:#fff;border-color:#dfe6ed}html[data-theme="light"] .owner-chat-entry{border-color:#eef2f6}html[data-theme="light"] .owner-chat-answer{color:#35465c}html[data-theme="light"] .owner-chat-question{border-color:#9ab2ed}html[data-theme="light"] .owner-chat-answer-head strong{color:#416fdf}@media(max-width:700px){.owner-chat-quick{align-items:flex-start;flex-direction:column}.owner-chat-modal{height:min(88vh,760px)}}

html[data-theme="light"]{
  color-scheme:light;
  --canvas:#f5f7fb;
  --canvas-raised:#eef2f7;
  --surface-1:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#f1f5f9;
  --surface-hover:#edf2f7;
  --border-subtle:#dce3ec;
  --border-strong:#c9d3df;
  --text-1:#182231;
  --text-2:#3f4f63;
  --text-3:#69788c;
  --text-4:#8a97a8;
  --brand:#416fdf;
  --brand-hover:#3565d6;
  --brand-soft:rgba(65,111,223,.09);
  --brand-border:rgba(65,111,223,.24);
  --success:#2b9d59;
  --success-soft:rgba(43,157,89,.09);
  --warning:#b17b20;
  --danger:#d74f5c;
  --danger-soft:rgba(215,79,92,.08);
  --shadow-sm:0 1px 2px rgba(28,39,54,.06),0 1px 0 rgba(255,255,255,.75) inset;
  --shadow-md:0 12px 34px rgba(33,48,68,.09),0 1px 0 rgba(255,255,255,.82) inset;
  --shadow-lg:0 24px 60px rgba(31,45,63,.12);
  --bg:var(--canvas);
  --bg2:var(--canvas-raised);
  --panel:var(--surface-1);
  --panel2:var(--surface-2);
  --line:var(--border-subtle);
  --line2:var(--border-strong);
  --text:var(--text-1);
  --muted:var(--text-3);
  --soft:var(--text-2);
  --accent:var(--brand);
  --accent2:#496fce;
  --green:var(--success);
  --red:var(--danger);
  --yellow:var(--warning);
  --shadow:var(--shadow-lg);
}
html[data-theme="light"]{background:var(--canvas);scrollbar-color:#bdc8d6 #eef2f7}
html[data-theme="light"] ::selection{background:rgba(65,111,223,.20);color:#142033}

/* Application frame */
html[data-theme="light"] .app-body{background:linear-gradient(180deg,#f7f9fc 0%,#f3f6fa 100%)}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-right-color:#dfe5ed;box-shadow:1px 0 0 rgba(255,255,255,.9) inset}
html[data-theme="light"] .brand-name{color:#1b2635}
html[data-theme="light"] .brand-version{color:#8a96a6}
html[data-theme="light"] .nav-section{color:#98a3b1}
html[data-theme="light"] .nav-item{color:#69778a}
html[data-theme="light"] .nav-item:hover{background:#f1f4f8;color:#27364a;border-color:#e3e8ef}
html[data-theme="light"] .nav-item.active{background:#edf3ff;color:#21498f;border-color:#ccdafa;box-shadow:0 1px 2px rgba(40,70,120,.05)}
html[data-theme="light"] .nav-icon{color:#8796aa!important}
html[data-theme="light"] .nav-item.active .nav-icon{color:#416fdf!important}
html[data-theme="light"] .sidebar-foot{border-top-color:#e3e8ef}
html[data-theme="light"] .status-row{color:#7e8b9d}
html[data-theme="light"] .ghost{background:#f8fafc;color:#556477;border-color:#d9e1ea}
html[data-theme="light"] .ghost:hover{background:#eef2f7;border-color:#cbd5e1;color:#263548}

html[data-theme="light"] .topbar{background:rgba(247,249,252,.88);border-bottom-color:#dfe5ec;box-shadow:0 1px 0 rgba(255,255,255,.84) inset}
html[data-theme="light"] .topbar h1{color:#182231}
html[data-theme="light"] .page-kicker,html[data-theme="light"] .auth-kicker{color:#5274c8}
html[data-theme="light"] .user-chip{background:#ffffff;border-color:#dce3eb;box-shadow:0 1px 2px rgba(30,45,65,.05)}
html[data-theme="light"] .avatar{background:#edf3ff;color:#4169c8}
html[data-theme="light"] .user-chip strong{color:#253246}
html[data-theme="light"] .user-chip span{color:#8a96a6}
html[data-theme="light"] .theme-toggle{background:#ffffff;border-color:#d9e1ea;color:#59687a;box-shadow:0 1px 2px rgba(30,45,65,.05)}
html[data-theme="light"] .theme-toggle:hover{background:#f3f6fa;border-color:#cbd5e1;color:#243247}
html[data-theme="light"] .theme-toggle-glyph{background:#edf3ff;color:#416fdf}

/* Surfaces, cards and forms */
html[data-theme="light"] .panel,html[data-theme="light"] .provider-card{background:#ffffff;border-color:#dce3eb;box-shadow:var(--shadow-sm)}
html[data-theme="light"] .panel:hover{border-color:#cfd8e3}
html[data-theme="light"] .panel h3,html[data-theme="light"] .provider-card h3,html[data-theme="light"] .modal h2{color:#1d2938}
html[data-theme="light"] label{color:#435164}
html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select{background:#ffffff;color:#1f2a39;border-color:#cfd8e3;box-shadow:inset 0 1px 1px rgba(30,45,65,.025)}
html[data-theme="light"] input:hover,html[data-theme="light"] textarea:hover,html[data-theme="light"] select:hover{background:#fbfcfe;border-color:#bfcad7}
html[data-theme="light"] input:focus,html[data-theme="light"] textarea:focus,html[data-theme="light"] select:focus{background:#ffffff;border-color:#6f91e8;box-shadow:0 0 0 3px rgba(65,111,223,.10)}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:#9aa6b5}
html[data-theme="light"] .composer-pro{background:#ffffff;border-color:#d9e1ea}
html[data-theme="light"] .composer-label-row label{color:#314054}
html[data-theme="light"] .composer-pro textarea,html[data-theme="light"] .composer textarea{background:#fbfcfe;border-color:#d6dee8;color:#213047}
html[data-theme="light"] .prompt-help-row>span{color:#7b899b}
html[data-theme="light"] .gateway-pill{background:#ffffff;border-color:#dbe3ec;color:#738196;box-shadow:0 1px 2px rgba(30,45,65,.04)}
html[data-theme="light"] .gateway-pill strong{color:#314054}

/* Buttons */
html[data-theme="light"] .primary{background:#416fdf;border-color:#416fdf;color:#fff;box-shadow:0 5px 14px rgba(65,111,223,.17)}
html[data-theme="light"] .primary:hover{background:#3565d6;border-color:#3565d6}
html[data-theme="light"] .secondary-button,html[data-theme="light"] .button-link.secondary{background:#ffffff;color:#506075;border-color:#d5dee8}
html[data-theme="light"] .secondary-button:hover,html[data-theme="light"] .button-link.secondary:hover{background:#f1f5f9;border-color:#c5d0dd;color:#253449}
html[data-theme="light"] .button-link:not(.secondary){background:#26364d;color:#fff;border-color:#26364d}
html[data-theme="light"] .button-link:not(.secondary):hover{background:#18283f}
html[data-theme="light"] .danger-button{color:#c84955;border-color:#ecc8cc}
html[data-theme="light"] .danger-button:hover{background:#fff2f3;border-color:#e8b8bd;color:#b43e49}
html[data-theme="light"] .icon-button{background:#f4f7fa;color:#69788a;border-color:#dce3eb}
html[data-theme="light"] .icon-button:hover{background:#eaf0f6;color:#314054}

/* Active job */
html[data-theme="light"] .active-job-card{background:#ffffff;border-color:#d9e1ea;box-shadow:var(--shadow-md)}
html[data-theme="light"] .active-job-eyebrow{color:#7c899a}
html[data-theme="light"] .active-job-identity h3{color:#1e2a39}
html[data-theme="light"] .active-job-identity p{color:#6f7e91}
html[data-theme="light"] .job-status-block>strong{color:#263447}
html[data-theme="light"] .job-status-pill{background:#edf3ff;border-color:#cbd9f7;color:#4167b8}
html[data-theme="light"] .progress{background:#edf1f5;border-color:#dfe5ec}
html[data-theme="light"] .pipeline-pro span{background:#f8fafc;border-color:#dde4ec;color:#7b8797}
html[data-theme="light"] .pipeline-pro span.active{background:#edf3ff;border-color:#c7d6f7;color:#315cae}
html[data-theme="light"] .pipeline-pro span.active b{background:#dce7ff;color:#315cae}
html[data-theme="light"] .pipeline-pro span.done{background:#f0faf4;border-color:#cfe9d8;color:#518063}
html[data-theme="light"] .pipeline-pro span.done b{background:#dcefe3;color:#2c8b51}
html[data-theme="light"] .runtime-pro .runtime-metric{background:#f8fafc;border-color:#e0e6ed}
html[data-theme="light"] .runtime-pro .runtime-metric span,html[data-theme="light"] .runtime-pro .runtime-metric small{color:#8491a2}
html[data-theme="light"] .runtime-pro .runtime-metric strong{color:#2a3749}
html[data-theme="light"] .current-work-card{background:#f8fafc;border-color:#d8e1eb}
html[data-theme="light"] .job-command-card pre,html[data-theme="light"] .current-work-card #job-command{background:#f4f7fa;color:#25364d;border-color:#e1e7ee}
html[data-theme="light"] .job-command-head{border-bottom-color:#e1e7ee}
html[data-theme="light"] .job-activity{border-color:#dfe6ed;background:#ffffff}
html[data-theme="light"] .activity-row{border-bottom-color:#eef2f6}
html[data-theme="light"] .activity-row.current,html[data-theme="light"] .activity-section .activity-row.current{background:#f5f8fc}
html[data-theme="light"] .activity-row time{color:#8a96a5}
html[data-theme="light"] .activity-message{color:#566578}
html[data-theme="light"] .manager-card{background:#f8fafc;border-color:#dce4ed}
html[data-theme="light"] .manager-decision{background:#ffffff;border-color:#dfe6ee}
html[data-theme="light"] .manager-decision.current{background:#f1f5fc;border-color:#c9d7ef}
html[data-theme="light"] .manager-decision span{color:#5570a5}
html[data-theme="light"] .manager-decision time{color:#8c98a7}
html[data-theme="light"] .manager-decision p{color:#68788c}
html[data-theme="light"] .attempt-chip{background:#f5f7fa;border-color:#d9e1e9;color:#66768a}
html[data-theme="light"] .attempt-chip.ok{background:#edf8f1;border-color:#cce7d5;color:#397d51}
html[data-theme="light"] .attempt-chip.bad{background:#fff2f3;border-color:#edcdd1;color:#b94f59}
html[data-theme="light"] .attempt-chip.warn{background:#fff8e9;border-color:#ead8ac;color:#9a6c18}
html[data-theme="light"] .job-footer-actions{border-top-color:#e3e8ef}

/* Jobs and settings */
html[data-theme="light"] .jobs-summary-card{background:#ffffff;border-color:#dce3eb;box-shadow:var(--shadow-sm)}
html[data-theme="light"] .jobs-summary-card span,html[data-theme="light"] .jobs-summary-card small{color:#8390a1}
html[data-theme="light"] .jobs-summary-card strong{color:#263448}
html[data-theme="light"] .jobs-panel{background:#ffffff}
html[data-theme="light"] .jobs-toolbar{border-bottom-color:#e0e6ed}
html[data-theme="light"] .jobs-search,html[data-theme="light"] .jobs-filter{color:#7d8999}
html[data-theme="light"] .jobs-search input,html[data-theme="light"] .jobs-filter select{background:#ffffff;border-color:#d3dce6;color:#324156}
html[data-theme="light"] .jobs-table-wrap,html[data-theme="light"] .table-wrap{background:#ffffff;border-color:#dce3eb}
html[data-theme="light"] th,html[data-theme="light"] .jobs-table th{background:#f6f8fb;border-bottom-color:#dfe5ec;color:#7b8798}
html[data-theme="light"] td,html[data-theme="light"] .jobs-table td{border-bottom-color:#edf1f5;color:#5e6d80}
html[data-theme="light"] tbody tr:hover td,html[data-theme="light"] .jobs-table tbody tr:hover{background:#f7f9fc}
html[data-theme="light"] td strong,html[data-theme="light"] .job-primary strong{color:#253347}
html[data-theme="light"] td small,html[data-theme="light"] .job-primary small{color:#7a8798}
html[data-theme="light"] .job-primary code{color:#8a96a5}
html[data-theme="light"] .pin-mark{background:#eef3f8;border-color:#d6e0eb;color:#5f7391}
html[data-theme="light"] .job-model strong{color:#536277}
html[data-theme="light"] .job-model small,html[data-theme="light"] .job-muted{color:#8692a2}
html[data-theme="light"] .provider-meta div,html[data-theme="light"] .model-health-row{background:#f8fafc;border-color:#e0e6ed}
html[data-theme="light"] .provider-meta strong,html[data-theme="light"] .model-health-row code{color:#354458}
html[data-theme="light"] .model-list code{background:#f0f4fa;border-color:#d8e1ee;color:#4d6284}
html[data-theme="light"] .discovered-models{background:#f8fafc;border-color:#dce4ed}
html[data-theme="light"] .model-chip{background:#ffffff;border-color:#d7e0e9;color:#607085}
html[data-theme="light"] .model-chip:hover{background:#f0f4f8;border-color:#c7d2df}
html[data-theme="light"] .model-chip.selected{background:#edf3ff;border-color:#c6d6f7;color:#315dad}
html[data-theme="light"] .settings-save{background:linear-gradient(180deg,transparent,rgba(245,247,251,.96) 38%)}
html[data-theme="light"] .security-card{background:#ffffff}
html[data-theme="light"] .shield{background:#edf3ff;border-color:#cfdbf5;color:#5271bd}
html[data-theme="light"] .video-preview-panel{border-top-color:#e1e7ee}
html[data-theme="light"] .video-preview-wrap{background:#f6f8fb;border-color:#dce3eb}

/* Modal / notifications */
html[data-theme="light"] .modal-backdrop{background:rgba(34,48,67,.30)}
html[data-theme="light"] .modal{background:#ffffff;border-color:#d5dee8;box-shadow:0 30px 90px rgba(30,45,65,.20),0 1px 0 rgba(255,255,255,.9) inset}
html[data-theme="light"] .toast{background:#ffffff;border-color:#c8d6ea;color:#34465e;box-shadow:0 16px 46px rgba(30,45,65,.16)}
html[data-theme="light"] .toast.bad,html[data-theme="light"] .form-error,html[data-theme="light"] .error{background:#fff4f5;border-color:#edc8cd;color:#b84853}
html[data-theme="light"] .empty-state{background:#fafbfd;border-color:#ccd6e1;color:#7e8b9c}
html[data-theme="light"] .empty-state strong{color:#3a495c}

/* Auth */
html[data-theme="light"] .auth-body{background:radial-gradient(900px 520px at 50% -8%,rgba(91,129,217,.13),transparent 62%),#f4f7fb}
html[data-theme="light"] .auth-card{background:rgba(255,255,255,.97);border-color:#d9e1ea;box-shadow:0 28px 80px rgba(32,48,68,.13),inset 0 1px 0 rgba(255,255,255,.9)}
html[data-theme="light"] .auth-card h1{color:#1d2938}
html[data-theme="light"] .auth-card>p{color:#748296}
html[data-theme="light"] .auth-foot{color:#8793a3}

/* Shared tutorial */
html[data-theme="light"] .share-page{background:#f5f7fb;color:#1e2938}
html[data-theme="light"] .share-brand strong{color:#263447}
html[data-theme="light"] .share-card,html[data-theme="light"] .share-content{background:#ffffff;border-color:#d8e1ea;box-shadow:0 20px 60px rgba(32,48,68,.11)}
html[data-theme="light"] .share-card h1,html[data-theme="light"] .share-title-row h1{color:#1e2938}
html[data-theme="light"] .share-loader{border-color:#dce3eb;border-top-color:#5278d7}
html[data-theme="light"] .share-video-wrap{border-color:#d7dfe8;background:#0c0f14}

/* Status colors tuned separately for light contrast. */
html[data-theme="light"] .status-tag.done,html[data-theme="light"] .provider-health.ok,html[data-theme="light"] .job-status-pill.done{color:#277d49;border-color:#bfe2cc;background:#edf8f1}
html[data-theme="light"] .status-tag.failed,html[data-theme="light"] .provider-health.bad,html[data-theme="light"] .job-status-pill.failed{color:#b94651;border-color:#ecc6ca;background:#fff2f3}
html[data-theme="light"] .status-tag.needs_attention,html[data-theme="light"] .job-status-pill.needs_attention{color:#936316;border-color:#ead7a5;background:#fff8e7}
html[data-theme="light"] .status-tag.waiting_resources,html[data-theme="light"] .status-tag.waiting_ai,html[data-theme="light"] .status-tag.waiting_infra,html[data-theme="light"] .job-status-pill.waiting_resources,html[data-theme="light"] .job-status-pill.waiting_ai,html[data-theme="light"] .job-status-pill.waiting_infra{color:#8f651f;border-color:#e4d5b1;background:#fff9ec}
html[data-theme="light"] .status-tag.reviewing,html[data-theme="light"] .status-tag.diagnosing,html[data-theme="light"] .status-tag.replanning,html[data-theme="light"] .job-status-pill.reviewing,html[data-theme="light"] .job-status-pill.diagnosing,html[data-theme="light"] .job-status-pill.replanning{color:#6a52a7;border-color:#d8cef0;background:#f7f3ff}
html[data-theme="light"] .status-tag.recording,html[data-theme="light"] .status-tag.testing,html[data-theme="light"] .status-tag.generating,html[data-theme="light"] .status-tag.repairing,html[data-theme="light"] .status-tag.exporting,html[data-theme="light"] .status-tag.rendering,html[data-theme="light"] .status-tag.validated{color:#3f63b5;border-color:#cbd8f4;background:#eef3ff}

/* Never let the dashboard preference alter the recorded tutorial visual profile. */
html[data-theme="light"] .record-body{background:#0b0f14;color:#eef2f6}
html[data-theme="light"] .record-body .step-header.compact{background:rgba(14,18,24,.985);border-bottom-color:#272f3a}
html[data-theme="light"] .record-body .step-header.compact .step-title{color:#f1f4f8}
html[data-theme="light"] .record-body .terminal-toolbar{background:#11161d;border-bottom-color:#202731;color:#7c8999}
html[data-theme="light"] .record-body .terminal-full,html[data-theme="light"] .terminal-view{background:#0c1015;color:#d7dee7}

.theme-ready .app-body,.theme-ready .sidebar,.theme-ready .topbar,.theme-ready .panel,.theme-ready .provider-card,.theme-ready .auth-card,.theme-ready .share-card,.theme-ready .share-content{transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}

@media(max-width:900px){.topbar-actions{gap:7px}.theme-toggle{padding:7px 8px}.theme-toggle [data-theme-label]{display:none}}
@media(max-width:700px){.main-panel{padding-left:16px;padding-right:16px}.topbar{height:72px}.topbar-actions{gap:6px}.user-chip>div:last-child{display:none}.theme-toggle-floating{top:14px;right:14px}.view{padding-top:22px}}
body.theme-ready.app-body,body.theme-ready.auth-body,body.theme-ready.share-page{transition:background-color .18s var(--ease),color .18s var(--ease)}


/* v0.13.17 Agent Timeline — compact human-readable execution ledger */
.activity-section .job-activity{max-height:360px}
.timeline-row.activity-row{grid-template-columns:68px 18px minmax(0,1fr);gap:9px;padding:10px 11px;align-items:start}
.timeline-mark{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#9aa9ba;background:#131b25;border:1px solid #293646;margin-top:1px}
.timeline-row.result-success .timeline-mark{color:#75d59a;border-color:#28583a;background:#0d2116}
.timeline-row.result-failure .timeline-mark{color:#ff969e;border-color:#663139;background:#281114}
.timeline-row.result-decision .timeline-mark{color:#91adf8;border-color:#314a73;background:#101a2a}
.timeline-row.result-waiting .timeline-mark{color:#e0bb72;border-color:#604a25;background:#241b0e}
.timeline-row.result-running .timeline-mark{color:#88aafc;border-color:#355182;background:#111d31}
.timeline-copy{min-width:0}.timeline-main{display:flex;align-items:baseline;gap:8px;min-width:0}.timeline-main .activity-stage{flex:0 0 auto;font-size:7.5px}.timeline-main .activity-message{min-width:0;color:#c8d1dc;font-size:10px;line-height:1.45}
.timeline-details{margin-top:5px}.timeline-details>summary{display:inline-block;cursor:pointer;color:#667b98;font-size:8px;font-weight:700;letter-spacing:.02em}.timeline-details>summary::marker{display:none}.timeline-details p{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;margin:5px 0 0;padding:0;color:#7f8c9d;font-size:8.5px;line-height:1.45}.timeline-details p b{color:#65758a;font-size:7px;text-transform:uppercase;letter-spacing:.06em}
html[data-theme="light"] .timeline-mark{background:#f5f8fb;border-color:#d8e0e9;color:#65758a}
html[data-theme="light"] .timeline-row.result-success .timeline-mark{background:#eef9f2;border-color:#bfe3cc;color:#278c50}
html[data-theme="light"] .timeline-row.result-failure .timeline-mark{background:#fff1f2;border-color:#f0c5c9;color:#c84955}
html[data-theme="light"] .timeline-row.result-decision .timeline-mark,html[data-theme="light"] .timeline-row.result-running .timeline-mark{background:#eef4ff;border-color:#c8d7f5;color:#416fdf}
html[data-theme="light"] .timeline-main .activity-message{color:#435268}
html[data-theme="light"] .timeline-details>summary{color:#607694}
@media(max-width:700px){.timeline-row.activity-row{grid-template-columns:56px 18px minmax(0,1fr)}.timeline-main{align-items:flex-start;flex-direction:column;gap:2px}}

.ai-attempt-details{margin:10px 18px 0;border:1px solid #1d2631;border-radius:9px;background:#090d12;overflow:hidden}.ai-attempt-details>summary{cursor:pointer;padding:9px 11px;color:#65758a;font-size:8px;font-weight:750;letter-spacing:.04em}.ai-attempt-details>div{border-top:1px solid #171e27}.ai-attempt-row{display:grid;grid-template-columns:110px minmax(120px,1fr) auto;gap:8px;padding:7px 10px;border-bottom:1px solid #171e27;align-items:center;font-size:8px;color:#778699}.ai-attempt-row:last-child{border-bottom:0}.ai-attempt-row span{text-transform:uppercase;letter-spacing:.05em;font-weight:750}.ai-attempt-row b{font-weight:600;color:#9ca9b9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-attempt-row em{font-style:normal;font-weight:750}.ai-attempt-row.ok em{color:#65bd84}.ai-attempt-row.warn em{color:#d8b469}.ai-attempt-row.bad em{color:#e17b84}.ai-attempt-row small{grid-column:2/4;color:#657184;line-height:1.4}.attempt-strip{display:block!important;background:transparent!important;border:0!important;padding:0!important}.attempt-strip.hidden{display:none!important}
html[data-theme="light"] .ai-attempt-details{background:#fff;border-color:#dfe6ed}html[data-theme="light"] .ai-attempt-details>div,html[data-theme="light"] .ai-attempt-row{border-color:#eef2f6}html[data-theme="light"] .ai-attempt-row b{color:#526176}
@media(max-width:700px){.ai-attempt-row{grid-template-columns:1fr auto}.ai-attempt-row b{grid-column:1/3}.ai-attempt-row small{grid-column:1/3}}

/* v0.13.18 Full History — compact main timeline, complete append-only trace on demand */
.timeline-head-actions{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto}.timeline-history-button{border:0;background:transparent;color:#7e91ab;padding:0;font-size:8.5px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.timeline-history-button:hover{color:#a9bff0} .timeline-history-button.priority-link{color:#e9a15d}.timeline-history-button.priority-link:hover{color:#ffc27e}.timeline-history-button.priority-active{color:#ffcf85;text-decoration:none;animation:priorityPulse 1.2s ease-in-out infinite}@keyframes priorityPulse{0%,100%{opacity:.75}50%{opacity:1}}.history-modal{width:min(920px,100%);height:min(86vh,820px);display:flex;flex-direction:column;overflow:hidden}.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.history-filters{display:flex;gap:6px}.history-filter{border:1px solid #263240;background:#0c1219;color:#7f8fa4;border-radius:8px;padding:6px 9px;font-size:9px;font-weight:700;cursor:pointer}.history-filter.active{border-color:#3c5c91;background:#101b2b;color:#a9c1ff}.history-toolbar small{color:#68788e;font-size:9px}.full-history-list{flex:1;min-height:0;overflow:auto;margin-top:12px;border:1px solid #1d2631;border-radius:10px;background:#090d12}.full-history-row{display:grid;grid-template-columns:82px 22px minmax(0,1fr);gap:10px;padding:11px 12px;border-bottom:1px solid #171e27;align-items:start}.full-history-row:last-child{border-bottom:0}.full-history-row time{font:600 9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:#66758a}.full-history-copy{min-width:0}.full-history-main{display:flex;gap:9px;align-items:baseline}.full-history-actor{flex:0 0 auto;color:#89a9ff;font-size:8px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.full-history-summary{color:#cbd4df;font-size:10px;line-height:1.45}.full-history-meta{margin-top:4px;color:#66758a;font-size:8.5px;line-height:1.5}.full-history-details{margin-top:5px}.full-history-details>summary{cursor:pointer;color:#607694;font-size:8px;font-weight:700}.full-history-details p{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;margin:5px 0 0;color:#7f8c9d;font-size:8.5px;line-height:1.45}.full-history-details b{color:#65758a;font-size:7px;text-transform:uppercase;letter-spacing:.06em}html[data-theme="light"] .timeline-history-button{color:#58709a}html[data-theme="light"] .history-filter{background:#f7f9fb;border-color:#dce4ec;color:#65758a}html[data-theme="light"] .history-filter.active{background:#eef4ff;border-color:#c8d7f5;color:#416fdf}html[data-theme="light"] .full-history-list{background:#fff;border-color:#dfe6ed}html[data-theme="light"] .full-history-row{border-color:#eef2f6}html[data-theme="light"] .full-history-summary{color:#435268}@media(max-width:700px){.timeline-head-actions{width:100%;justify-content:space-between}.history-toolbar{align-items:flex-start;flex-direction:column}.full-history-row{grid-template-columns:64px 18px minmax(0,1fr)}.full-history-main{align-items:flex-start;flex-direction:column;gap:2px}}
.operator-log-modal{width:min(1120px,100%);height:min(90vh,900px);display:flex;flex-direction:column;overflow:hidden}.operator-log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.operator-log-toolbar>div{display:flex;flex-direction:column;gap:3px}.operator-log-toolbar strong{font-size:10px;color:#b8c7d9}.operator-log-toolbar small{font-size:8.5px;color:#65758a}.operator-log-text{flex:1;min-height:0;overflow:auto;margin:12px 0 0;padding:14px;border:1px solid #1d2631;border-radius:10px;background:#070b10;color:#aebdce;font:500 10px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;user-select:text}html[data-theme="light"] .operator-log-text{background:#fff;color:#425268;border-color:#dfe6ed}@media(max-width:700px){.operator-log-toolbar{align-items:flex-start;flex-direction:column}}

/* v0.13.27 Agentic Team / startup */
.startup-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#080b10;color:#e9eef5;transition:opacity .28s ease,visibility .28s ease}.startup-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.startup-card{width:min(460px,calc(100vw - 34px));padding:34px;border:1px solid #26303c;border-radius:18px;background:#0d1218;box-shadow:0 24px 80px rgba(0,0,0,.42);text-align:left}.startup-card .brand-mark{margin-bottom:22px}.startup-kicker{font-size:8px;font-weight:800;letter-spacing:.14em;color:#718096}.startup-card h1{margin:7px 0 5px;font-size:25px}.startup-card p{margin:0;color:#7f8da0;font-size:11px}.startup-progress{height:4px;margin-top:24px;background:#1b232d;border-radius:999px;overflow:hidden}.startup-progress span{display:block;height:100%;width:12%;background:#6e8cff;border-radius:999px;transition:width .28s ease}.startup-components{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.startup-component{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #1d2732;border-radius:8px;background:#0a0f14;color:#8b98a9;font-size:9px}.startup-component b{font-size:8px;color:#67758a}.startup-component.ready b{color:#82d89c}.startup-component.wait b{color:#b8c4d5}
.control-center-cases{display:grid;gap:12px}.cc-case{border:1px solid #1f2934;background:#0d1117;border-radius:13px;padding:15px}.cc-case-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cc-case-title{min-width:0}.cc-case-title strong{display:block;color:#e8edf3;font-size:12px}.cc-case-title small{display:block;margin-top:5px;color:#657286;font-size:9px}.cc-role{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #2b3a50;background:#121a25;color:#a9bce0;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap}.cc-focus{margin-top:13px;color:#9aa7b8;font-size:10px}.cc-focus code{color:#7185a4;font-size:8px}.cc-team{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.cc-member{padding:5px 8px;border:1px solid #202a35;border-radius:7px;color:#69788c;font-size:8px}.cc-member.active{border-color:#3a5274;background:#141e2c;color:#b5c9eb}.cc-budget{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}.cc-budget-item{padding:8px 9px;border-radius:8px;background:#0a0e13;border:1px solid #1a232d}.cc-budget-item span{display:block;color:#59677a;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.cc-budget-item strong{display:block;margin-top:4px;color:#cfd7e1;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace}.cc-events{margin-top:13px;border-top:1px solid #1a222c;padding-top:11px}.cc-event{display:grid;grid-template-columns:62px 1fr;gap:9px;padding:6px 0}.cc-event small{color:#536174;font-size:8px}.cc-event div{color:#8997a9;font-size:9px}.cc-empty{padding:40px;text-align:center;border:1px dashed #27313d;border-radius:13px;color:#667488;font-size:10px}
html[data-theme="light"] .startup-screen{background:#f4f7fb;color:#253246}html[data-theme="light"] .startup-card{background:#fff;border-color:#dbe3ec;box-shadow:0 24px 70px rgba(40,60,90,.12)}html[data-theme="light"] .startup-component{background:#f7f9fb;border-color:#e0e6ed}html[data-theme="light"] .cc-case{background:#fff;border-color:#dce3eb}html[data-theme="light"] .cc-case-title strong{color:#243145}html[data-theme="light"] .cc-budget-item{background:#f7f9fb;border-color:#e2e7ed}
@media(max-width:700px){.startup-card{padding:25px}.startup-components{grid-template-columns:1fr}.cc-case-head{flex-direction:column}.cc-budget{grid-template-columns:1fr}.cc-event{grid-template-columns:52px 1fr}}
.team-tasks-card{margin-top:12px;border:1px solid #1f2934;background:#0b1016;border-radius:12px;padding:12px}.team-tasks-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #18212b}.team-tasks-head strong{font-size:10px;color:#d7dee8}.team-tasks-head small{font-size:8px;color:#627086}.team-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid #151d26}.team-task-row:last-child{border-bottom:0}.team-task-main{display:flex;flex-direction:column;gap:3px;min-width:0}.team-task-main strong{font-size:8px;color:#89a9ff;text-transform:uppercase;letter-spacing:.05em}.team-task-main span{font-size:9px;color:#aab5c3;line-height:1.4}.team-task-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.team-task-meta span,.team-task-meta small{font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:4px 6px;border-radius:6px;border:1px solid #273442;color:#718096}.team-task-row.status-running .team-task-meta span{border-color:#3c5c91;color:#a9c1ff}.team-task-row.status-succeeded .team-task-meta span{border-color:#315744;color:#8bc5a0}.team-task-row.status-failed .team-task-meta span{border-color:#6a3434;color:#f0a3a3}.team-task-row.status-blocked .team-task-meta span,.team-task-row.status-stale .team-task-meta span{border-color:#66512d;color:#e0bd78}.owner-command-result{margin-top:8px;padding:10px;border:1px solid #29415f;background:#0d1724;border-radius:8px;color:#a9c4ee;font-size:9px;line-height:1.5}.owner-command-result small{color:#71829a}.team-communication-card{margin-top:12px;border:1px solid #1f2934;background:#0b1016;border-radius:12px;padding:12px}.team-communication-card .team-tasks-head{margin-bottom:2px}.team-communication-subhead{padding:10px 0 6px;color:#627086;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.team-message-row,.team-decision-row{padding:8px 0;border-bottom:1px solid #151d26}.team-message-row:last-child,.team-decision-row:last-child{border-bottom:0}.team-message-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.team-message-head strong{font-size:8px;color:#89a9ff;text-transform:uppercase;letter-spacing:.04em}.team-message-head small{font-size:7px;color:#627086}.team-message-row>b{display:block;margin-top:4px;color:#b9c5d3;font-size:8px}.team-message-row p{margin:4px 0 0;color:#8795a7;font-size:9px;line-height:1.45}.team-decision-active{margin-top:10px;padding:9px;border:1px solid #304566;background:#0d1724;border-radius:9px}.team-decision-active .team-message-head span{font-size:7px;color:#9ec0ff;text-transform:uppercase}.team-decision-main{display:flex;flex-direction:column;gap:3px;margin-top:6px}.team-decision-main b{font-size:8px;color:#a9c4ee;text-transform:uppercase}.team-decision-main span{font-size:9px;color:#c2ccd8;line-height:1.4}.team-decision-active>small{display:block;margin-top:6px;color:#71829a;font-size:7px;line-height:1.4}.team-decision-row>div{display:flex;gap:7px;align-items:center}.team-decision-row>div strong{font-size:8px;color:#9fb4d8;text-transform:uppercase}.team-decision-row>div span{font-size:7px;color:#66758a;text-transform:uppercase}.team-decision-row>small{display:block;margin-top:3px;color:#7d8b9e;font-size:8px;line-height:1.4}html[data-theme="light"] .team-communication-card{background:#fff;border-color:#dfe6ed}html[data-theme="light"] .team-communication-subhead,html[data-theme="light"] .team-communication-card{border-color:#eef2f6}html[data-theme="light"] .team-message-row,html[data-theme="light"] .team-decision-row{border-color:#eef2f6}html[data-theme="light"] .team-message-row>b{color:#435268}html[data-theme="light"] .team-message-row p,html[data-theme="light"] .team-decision-row>small{color:#5c6b7f}html[data-theme="light"] .team-decision-active{background:#f3f7ff;border-color:#d5e0f4}html[data-theme="light"] .team-decision-main span{color:#35465c}@media(max-width:700px){.team-message-head{align-items:flex-start;flex-direction:column;gap:2px}}
html[data-theme="light"] .team-tasks-card{background:#fff;border-color:#dfe6ed}html[data-theme="light"] .team-tasks-head{border-color:#eef2f6}html[data-theme="light"] .team-task-row{border-color:#eef2f6}html[data-theme="light"] .team-task-main span{color:#435268}html[data-theme="light"] .owner-command-result{background:#f3f7ff;border-color:#d5e0f4;color:#416fdf}@media(max-width:700px){.team-tasks-head{align-items:flex-start;flex-direction:column}.team-task-row{grid-template-columns:1fr}.team-task-meta{justify-content:flex-start}}

.team-task-guidance { display:block; margin-top:4px; opacity:.72; font-size:.78rem; }
.owner-agent-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.owner-agent-grid>.panel:first-child{grid-column:1/-1}.owner-agent-note{margin-bottom:14px}.owner-agent-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-role-card{border:1px solid var(--line);background:#0b1016;border-radius:13px;padding:13px}.ai-role-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.ai-role-head strong{font-size:13px}.ai-role-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.ai-role-add{display:flex;gap:7px;align-items:center}.ai-role-add select{min-width:0;flex:1}.ai-role-list{display:grid;gap:6px;margin-top:9px}.ai-role-row{display:grid;grid-template-columns:28px 1fr auto;gap:7px;align-items:center;border:1px solid #202935;background:#0f151d;border-radius:9px;padding:7px}.ai-role-rank{font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#73839a;text-align:center}.ai-role-model{font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#cbd8f1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-role-actions{display:flex;gap:3px}.ai-role-actions button{width:27px;height:27px;padding:0}.owner-agent-cache-actions{margin-top:14px;align-items:center}.owner-agent-cache-actions .field-help{margin-left:4px}.owner-agent-role-empty{border:1px dashed #344052;border-radius:10px;padding:12px;color:#7f8b9c;font-size:11px}.status-tag.done{color:#8ce6a9;border-color:#28583a;background:#0f2418}@media(max-width:900px){.owner-agent-grid{grid-template-columns:1fr}.owner-agent-grid>.panel:first-child{grid-column:auto}.owner-agent-role-grid{grid-template-columns:1fr}}

/* Stable case layout and explicit state colors in both themes. */
.cc-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.cc-legend small{color:var(--muted);font-size:10px}
.cc-case{--case-accent:#739ff6;border-left:4px solid var(--case-accent)}
.cc-case[data-cc-status="queued"]{--case-accent:#8996a8}
.cc-case:is([data-cc-status="waiting_ai"],[data-cc-status="waiting_infra"],[data-cc-status="waiting_resources"]){--case-accent:#e3ac49}
.cc-case:is([data-cc-status="diagnosing"],[data-cc-status="reviewing"],[data-cc-status="repairing"],[data-cc-status="replanning"],[data-cc-status="manager"]){--case-accent:#b597ef}
.cc-case:is([data-cc-status="recording"],[data-cc-status="validated"]){--case-accent:#56cabb}
.cc-case:is([data-cc-status="rendering"],[data-cc-status="exporting"],[data-cc-status="done"]){--case-accent:#69c888}
.cc-case:is([data-cc-status="needs_attention"],[data-cc-status="failed"]){--case-accent:#ef858e}
.cc-case[data-cc-status="canceled"]{--case-accent:#8996a8}
html[data-theme="light"] .cc-case{border-left-color:var(--case-accent)}
.cc-case-title strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;line-height:1.35}
.cc-case-title .status-tag{margin-top:8px}.cc-focus{min-height:2.8em;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-events{height:96px;overflow-y:auto;overflow-anchor:none}.cc-event div{line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-actions{margin-top:11px}.cc-actions [hidden]{display:none}
.status-tag.queued,.status-tag.canceled{color:#bac4d1;border-color:#495360;background:#19202a}
.status-tag.repairing,.status-tag.manager{color:#c6b5ff;border-color:#4d426c;background:#191624}
.status-tag.recording,.status-tag.validated{color:#7cddd0;border-color:#2d655f;background:#102a26}
.status-tag.rendering,.status-tag.exporting{color:#8ce6a9;border-color:#28583a;background:#0f2418}
.status-tag.needs_attention{color:#ffadb4;border-color:#773d45;background:#32191e}
html[data-theme="light"] .status-tag.queued,html[data-theme="light"] .status-tag.canceled{color:#536274;border-color:#d3dbe5;background:#f0f3f7}
html[data-theme="light"] .status-tag.repairing,html[data-theme="light"] .status-tag.manager{color:#6a52a7;border-color:#d8cef0;background:#f7f3ff}
html[data-theme="light"] .status-tag.recording,html[data-theme="light"] .status-tag.validated{color:#216f65;border-color:#b8ddd5;background:#edfaf7}
html[data-theme="light"] .status-tag.rendering,html[data-theme="light"] .status-tag.exporting{color:#277d49;border-color:#bfe2cc;background:#edf8f1}
html[data-theme="light"] .status-tag.needs_attention{color:#ad3446;border-color:#ebbec7;background:#fff0f3}

.cc-budget{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.cc-budget{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cc-budget{grid-template-columns:1fr}.cc-legend small{flex-basis:100%}}

.cc-filter{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--muted);font-size:11px}.cc-filter select{width:auto;min-width:200px}

.jobs-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;font-size:11px;color:var(--muted)}

/* ========================================================================== 
   Tutorial Lab v0.14.20 — UI normalization base
   Product-wide visual contract for dashboard, auth and shared-view surfaces.
   Recorder styling is intentionally excluded to preserve recording output.
   ========================================================================== */
:root{
  --ui-control-h:40px;
  --ui-control-h-sm:34px;
  --ui-card-radius:14px;
  --ui-control-radius:9px;
  --ui-gap-1:6px;
  --ui-gap-2:10px;
  --ui-gap-3:14px;
  --ui-gap-4:18px;
  --ui-gap-5:24px;
  --ui-fs-xs:11px;
  --ui-fs-sm:12px;
  --ui-fs-md:13px;
  --ui-fs-body:14px;
  --canvas:#090c11;
  --canvas-raised:#0c1016;
  --surface-1:#11161e;
  --surface-2:#151b24;
  --surface-3:#1a222d;
  --surface-hover:#202a37;
  --border-subtle:#252e3a;
  --border-strong:#344051;
  --border:var(--border-subtle);
  --text-1:#f3f6fa;
  --text-2:#cbd4df;
  --text-3:#8f9caf;
  --text-4:#6f7d91;
  --brand:#6488f5;
  --brand-hover:#7697ff;
  --brand-soft:rgba(100,136,245,.12);
  --brand-border:rgba(112,148,255,.32);
  --success:#5cca83;
  --warning:#e5b75c;
  --danger:#ee737d;
  --shadow-sm:0 1px 2px rgba(0,0,0,.22),0 1px 0 rgba(255,255,255,.025) inset;
  --shadow-md:0 12px 34px rgba(0,0,0,.20),0 1px 0 rgba(255,255,255,.028) inset;
}

html{font-size:14px}
body:not(.record-body){font-size:var(--ui-fs-body);line-height:1.5}
body:not(.record-body) button,
body:not(.record-body) input,
body:not(.record-body) textarea,
body:not(.record-body) select{font-size:var(--ui-fs-md)}

/* Shell and navigation */
.app-body{background:radial-gradient(1100px 700px at 72% -20%,rgba(76,111,205,.08),transparent 62%),var(--canvas)}
.app-layout{grid-template-columns:248px minmax(0,1fr)}
.sidebar{padding:18px 14px 16px;background:linear-gradient(180deg,#0c1016 0%,#090d12 100%);border-right-color:#202833}
.sidebar-brand{padding:2px 8px 20px}
.brand-mark.small{width:36px;height:36px;border-radius:10px}
.brand-name{font-size:14px;font-weight:720}
.brand-version{font-size:10px;line-height:1.35;letter-spacing:.08em}
.nav-list{gap:3px}
.nav-section{padding:18px 11px 7px;font-size:10px;letter-spacing:.10em;color:#667488}
.nav-item{min-height:42px;padding:9px 11px;border-radius:9px;font-size:13px;font-weight:590;color:#98a5b7;gap:11px;position:relative}
.nav-item:hover{background:#121923;border-color:#1d2733;color:#e2e8f0}
.nav-item.active{background:#172132;border-color:#2b3a52;color:#f6f8fb;box-shadow:none}
.nav-item.active:before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:3px;border-radius:999px;background:#7f9fff}
.nav-icon{width:19px!important;height:19px;flex-basis:19px}
.nav-icon svg{width:18px;height:18px;stroke-width:1.7}
.sidebar-foot{gap:11px;padding-top:15px}
.status-row{font-size:11px;color:#7d8a9d}
.main-panel{max-width:none;margin:0;padding:0 clamp(22px,3vw,42px) 72px}
.main-panel>.topbar,.main-panel>.view{width:min(100%,1440px);margin-left:auto;margin-right:auto}
.topbar{height:76px;background:rgba(9,12,17,.88);border-bottom-color:#202833}
.topbar h1{font-size:20px;font-weight:700}
.page-kicker,.auth-kicker{font-size:10px;letter-spacing:.10em;color:#8aa6ff}
.topbar-actions{gap:9px}
.user-chip{padding:5px 10px 5px 5px;border-radius:10px;background:#10161e;border-color:#28313e}
.user-chip strong{font-size:12px}.user-chip span{font-size:10px}
.avatar{width:31px;height:31px}
.theme-toggle{min-height:36px;border-radius:9px;padding:7px 10px;font-size:11px;background:#10161e;border-color:#28313e}
.view{padding-top:28px}

/* Page hierarchy */
.generate-intro,.jobs-page-head,.section-actions{margin:2px 0 20px;align-items:flex-end}
.generate-intro h2,.jobs-page-head h2,.section-actions h2{font-size:clamp(27px,2.5vw,34px);font-weight:730;letter-spacing:-.035em;line-height:1.12}
.generate-intro p,.jobs-page-head p,.section-actions p{font-size:13px;line-height:1.6;color:var(--text-3);margin-top:7px;max-width:760px}
.gateway-pill{height:36px;padding:0 12px;border-radius:999px;background:#10161e;border-color:#28323f;font-size:11px;color:#8390a3}
.gateway-pill strong{font-size:12px}

/* Core surfaces */
.panel,.provider-card,.active-job-card,.jobs-summary-card,.ai-role-card,.team-tasks-card,.team-communication-card,.cc-case{
  border-color:var(--border-subtle);
  background:var(--surface-1);
  border-radius:var(--ui-card-radius);
  box-shadow:var(--shadow-sm)
}
.panel{padding:21px 22px;margin-bottom:18px}
.panel:hover{border-color:var(--border-subtle)}
.panel h3,.provider-card h3,.modal h2{font-size:16px;font-weight:700;letter-spacing:-.02em}
.panel-head{gap:18px}
.panel-head p{font-size:12px;line-height:1.55;margin-top:6px}
.muted,.field-help{font-size:12px;line-height:1.55}
.empty-state{padding:48px 28px;border-radius:14px;font-size:13px;background:#0d1218}
.empty-state strong{font-size:16px}

/* Inputs and controls */
label{gap:7px;font-size:12px;font-weight:650;color:#c8d0db}
input,select{min-height:var(--ui-control-h)}
input,textarea,select{padding:10px 12px;border-radius:var(--ui-control-radius);background:#0b1016;border-color:#303a48;color:#edf2f7}
input:hover,textarea:hover,select:hover{background:#0d1219;border-color:#3a4658}
input:focus,textarea:focus,select:focus{border-color:#6f90f2;box-shadow:0 0 0 3px rgba(100,136,245,.12)}
textarea{line-height:1.58}
.form-grid.two,.form-grid.three{gap:14px}
.stack-form{gap:16px;margin-top:18px}
.toggle-grid{gap:8px 18px;margin-top:14px}
.toggle-line{min-height:40px;height:auto;padding:8px 0;font-size:12px;font-weight:560;line-height:1.45}
.toggle-line input{min-height:0}
.article-template-options{margin:12px 14px 0;border:1px solid #252f3c;border-radius:10px;background:#0c1117;overflow:hidden}
.article-template-options>summary{cursor:pointer;padding:11px 13px;color:#aeb9c7;font-size:12px;font-weight:650;list-style-position:inside}
.article-template-options[open]>summary{border-bottom:1px solid #222c38;background:#0f151d;color:#dbe3ed}
.article-template-options>label,.article-template-options>.form-grid,.article-template-options>p{margin:13px}
.article-template-options textarea{margin:0!important;width:100%!important;min-height:120px!important}
.or-divider{font-size:10px}

/* Buttons */
.primary,.ghost,.secondary-button,.danger-button,.button-link{min-height:var(--ui-control-h);border-radius:var(--ui-control-radius);padding:9px 14px;font-size:12px;font-weight:660;line-height:1.2}
.primary{background:#6488f5;border-color:#7395ff;box-shadow:0 5px 16px rgba(62,94,188,.18)}
.primary:hover{background:#7394fb;border-color:#86a5ff;box-shadow:0 7px 20px rgba(62,94,188,.23)}
.secondary-button,.ghost,.button-link.secondary{background:#151c25;border-color:#303b49;color:#d0d8e2}
.secondary-button:hover,.ghost:hover,.button-link.secondary:hover{background:#1b2430;border-color:#3c4859;color:#f2f5f8}
.danger-button{border-color:#513038;color:#f08a92}
.small{min-height:var(--ui-control-h-sm);padding:7px 10px;font-size:11px}
.icon-button{width:34px;height:34px;border-radius:9px}
.inline-actions{gap:8px}

/* Generate composer */
.composer-pro{border-radius:14px;background:#10151c;box-shadow:var(--shadow-md)}
.composer-pro .composer-label-row{padding:16px 18px 0}
.composer-label-row label{font-size:13px}
.char-count{font-size:11px}
.composer-pro textarea{margin:11px 16px 0;width:calc(100% - 32px);min-height:210px;padding:15px 16px;border-radius:10px;font-size:13px;line-height:1.65;background:#0a0e14}
.prompt-help-row{padding:13px 16px 16px;gap:18px}
.prompt-help-row>span{font-size:11.5px;line-height:1.5;color:#7f8c9e}
.generate-button{min-width:164px;min-height:40px}

/* Active job */
.active-job-card{margin-top:20px;border-radius:14px;background:#0f141b;box-shadow:var(--shadow-md)}
.active-job-top{padding:20px 20px 15px}
.active-job-eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:8px}
.active-job-identity h3{font-size:18px;max-width:900px}
.active-job-identity p{font-size:12px;line-height:1.5}
.job-status-pill{height:28px;padding:0 10px;font-size:10px;letter-spacing:.065em}
.job-status-block>strong{font-size:25px}
.progress-pro{margin:0 20px 16px;height:6px}
.pipeline-pro{gap:9px;margin:0 20px 16px}
.pipeline-pro span{min-height:42px;padding:10px 12px;border-radius:9px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px}
.pipeline-pro span b{font-size:10px}
.runtime-pro{gap:10px;margin:0 20px 18px}
.runtime-pro .runtime-metric{padding:12px 13px;border-radius:10px;background:#0b1016;border-color:#242e3a}
.runtime-pro .runtime-metric span{font-size:10px;letter-spacing:.06em}
.runtime-pro .runtime-metric strong{font-size:18px;margin-top:6px}
.runtime-pro .runtime-metric small{font-size:10px;margin-top:5px}
.current-work-card{margin:0 20px 14px;border-radius:10px}
.job-command-head{padding:11px 13px}
.job-command-head strong{font-size:11px}.job-command-head small{font-size:10px}
#job-command{padding:14px 15px;font-size:12px;line-height:1.6}
.activity-section{padding:0 20px 2px}
.job-live-head{margin:16px 0 9px}
.job-live-head strong{font-size:12px}.job-live-head small{font-size:10px}
.job-activity{border-radius:10px;background:#0b1016}
.activity-row{grid-template-columns:78px 104px minmax(0,1fr);gap:12px;padding:10px 12px}
.activity-row time{font-size:10px}.activity-stage{font-size:10px}.activity-message{font-size:11.5px;line-height:1.5}
.timeline-head-actions{gap:6px!important;flex-wrap:wrap;justify-content:flex-end}
.timeline-history-button{min-height:28px;padding:5px 8px;border:1px solid #293442;border-radius:7px;background:#121923;color:#91a0b4;font-size:10px;text-decoration:none}
.timeline-history-button:hover{background:#182230;border-color:#3b4b60;color:#cbd8ef}
.timeline-history-button.priority-link{color:#e9b36f;border-color:#4f3b24;background:#19140e}
.job-footer-actions{padding:15px 20px 18px}
.output-actions .button-link{min-height:34px;padding:7px 11px;font-size:11px}
.job-footer-actions>.danger-button{font-size:11px;padding:8px 12px}

/* Status system */
.status-tag,.role-tag,.provider-health{min-height:26px;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:720;letter-spacing:.045em;line-height:1.1}
.attempt-chip{padding:6px 8px;font-size:10px;border-radius:7px}
.attempt-chip em{font-size:10px}
.pin-mark{padding:3px 5px;font-size:9px;border-radius:5px}

/* Summary cards, jobs and tables */
.jobs-summary-grid{gap:12px;margin-bottom:17px}
.jobs-summary-card{min-height:96px;padding:16px 17px;border-radius:12px;background:#10151c}
.jobs-summary-card span{font-size:10px;letter-spacing:.07em;color:#778599}
.jobs-summary-card strong{margin-top:7px;font-size:26px}
.jobs-summary-card small{margin-top:6px;font-size:10px;color:#6f7c8f;line-height:1.4}
.jobs-panel{border-radius:14px}
.jobs-toolbar{padding:15px 16px;gap:18px}
.jobs-filters{gap:10px}
.jobs-search,.jobs-filter{gap:6px;font-size:10px;letter-spacing:.06em}
.jobs-search{width:min(360px,40vw)}.jobs-filter{width:160px}
.jobs-search input,.jobs-filter select{height:38px;min-height:38px;padding:8px 11px;border-radius:8px;font-size:12px}
.jobs-bulk-actions button{min-height:38px;padding:8px 11px;font-size:11px}
.table-wrap{border-radius:10px;background:#0d1218;border-color:#222c37}
table,.jobs-table{font-size:12px}
th,.jobs-table th{padding:11px 12px;font-size:10px;letter-spacing:.075em;color:#758297;background:#0e1319}
td,.jobs-table td{padding:13px 12px;color:#b5c0cd}
td small{font-size:10px}
.job-primary strong{font-size:12px;line-height:1.45}.job-primary small{font-size:10.5px}.job-primary code{font-size:10px;line-height:1.35;color:#66758a}
.job-state-cell small{font-size:10px}.job-model strong{font-size:11px}.job-model small{font-size:10px}.job-date{font-size:10.5px}.job-duration{font-size:11.5px}.job-duration-meta{font-size:10px}
.jobs-table .table-links{font-size:10px}.jobs-table .small{font-size:10.5px;padding:7px 9px}
.jobs-empty-filter{font-size:12px;padding:44px 18px}
.jobs-pagination{padding:15px;font-size:12px}

/* Gateway / image cards */
.providers-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.provider-card{padding:18px}
.provider-type{font-size:10px;letter-spacing:.07em}
.provider-top h3{font-size:16px}
.provider-meta{gap:8px;margin:15px 0}
.provider-meta div{padding:10px 11px;border-radius:9px;background:#0c1117}
.provider-meta span{font-size:10px}.provider-meta strong{font-size:12px}
.model-list code,.model-health-row code{font-size:11px}
.model-health-row{padding:9px 10px}.model-health-row small{font-size:10px}
.base-url,.test-message{font-size:10px;line-height:1.5}
.model-chip{font-size:10.5px;padding:6px 9px}
.card-actions{gap:8px}

/* Owner Agent / settings */
.owner-agent-grid{gap:16px}
.owner-agent-role-grid{gap:14px}
.ai-role-card{padding:15px;background:#0d1218}
.ai-role-head{margin-bottom:12px}.ai-role-head strong{font-size:14px}.ai-role-head small{font-size:11px}
.ai-role-list{gap:7px}.ai-role-row{padding:8px 9px;border-radius:9px;background:#111821}
.ai-role-rank{font-size:11px}.ai-role-model{font-size:12px}.ai-role-actions button{width:30px;height:30px}
.owner-agent-role-empty{font-size:12px;padding:14px}
.settings-stack{gap:16px}.settings-grid{gap:16px}
.settings-save{bottom:12px;padding:12px 0;background:linear-gradient(180deg,transparent,rgba(9,12,17,.96) 42%)}
.security-card p{font-size:12px;line-height:1.6}

/* Control Center */
.cc-legend{gap:7px;margin-bottom:16px}.cc-legend small{font-size:11px}
.cc-filter{gap:10px;margin-bottom:16px;font-size:12px}.cc-filter select{min-width:210px}
.control-center-cases{gap:14px}
.cc-case{padding:17px;border-left-width:4px;background:#10151c}
.cc-case-title strong{font-size:14px;line-height:1.4}.cc-case-title small{font-size:10px;margin-top:5px}
.cc-role{padding:6px 9px;font-size:10px}
.cc-focus{margin-top:14px;font-size:12px;line-height:1.5}.cc-focus code{font-size:10px}
.cc-team{gap:7px;margin-top:13px}.cc-member{padding:6px 9px;font-size:10px}
.cc-budget{gap:9px;margin-top:14px}.cc-budget-item{padding:10px 11px}.cc-budget-item span{font-size:10px}.cc-budget-item strong{font-size:12px;margin-top:5px}
.cc-events{height:118px;margin-top:14px;padding-top:12px}.cc-event{grid-template-columns:72px 1fr;gap:10px;padding:7px 0}.cc-event small{font-size:10px}.cc-event div{font-size:11px}
.cc-empty{padding:42px;font-size:12px}

/* Team / decision cards */
.manager-card{margin:14px 20px 0;padding:13px 14px;border-radius:10px;background:#0c1117}
.manager-decision{padding:10px 11px;border-radius:8px}.manager-decision span{font-size:10px}.manager-decision time{font-size:10px}.manager-decision p{font-size:11px;line-height:1.5}
.team-tasks-card,.team-communication-card{padding:14px;margin-top:14px;background:#0d1218}
.team-tasks-head{padding-bottom:10px}.team-tasks-head strong{font-size:12px}.team-tasks-head small{font-size:10px}
.team-task-row{padding:10px 0}.team-task-main strong{font-size:10px}.team-task-main span{font-size:11px;line-height:1.45}.team-task-guidance{font-size:10px!important}
.team-task-meta span,.team-task-meta small{font-size:10px;padding:4px 7px}
.team-communication-subhead{font-size:10px;padding:11px 0 7px}
.team-message-row,.team-decision-row{padding:10px 0}.team-message-head strong{font-size:10px}.team-message-head small{font-size:10px}.team-message-row>b{font-size:10px}.team-message-row p{font-size:11px;line-height:1.5}
.team-decision-active{padding:11px}.team-decision-active .team-message-head span{font-size:10px}.team-decision-main b{font-size:10px}.team-decision-main span{font-size:11px}.team-decision-active>small{font-size:10px}.team-decision-row>div strong{font-size:10px}.team-decision-row>div span{font-size:10px}.team-decision-row>small{font-size:10px}
.owner-command-result{padding:11px;font-size:11px}

/* Timeline details, history and operator log */
.timeline-row.activity-row{padding:10px 12px}
.timeline-mark{width:22px;height:22px;font-size:10px}
.timeline-main .activity-stage{font-size:10px}.timeline-details>summary{font-size:10px}.timeline-details p{grid-template-columns:78px minmax(0,1fr);font-size:10px}.timeline-details p b{font-size:10px}
.ai-attempt-details{margin:11px 20px 0;border-radius:9px}.ai-attempt-details>summary{padding:10px 12px;font-size:10px}.ai-attempt-row{grid-template-columns:120px minmax(120px,1fr) auto;padding:8px 11px;font-size:10px}.ai-attempt-row small{font-size:10px}
.history-modal{width:min(980px,100%)}
.history-filter{padding:7px 10px;font-size:10.5px}.history-toolbar small{font-size:10px}
.full-history-list{border-radius:10px}.full-history-row{grid-template-columns:88px 24px minmax(0,1fr);padding:12px 13px}.full-history-row time{font-size:10px}.full-history-actor{font-size:10px}.full-history-summary{font-size:11.5px}.full-history-meta{font-size:10px}.full-history-details>summary{font-size:10px}.full-history-details p{font-size:10px}.full-history-details b{font-size:10px}
.operator-log-toolbar strong{font-size:12px}.operator-log-toolbar small{font-size:10px}.operator-log-text{padding:15px;font-size:11px;line-height:1.62}
.owner-chat-history{padding:11px}.owner-chat-entry{padding:12px}.owner-chat-answer-head strong{font-size:10px}.owner-chat-answer-head small{font-size:10px}.owner-chat-question span{font-size:10px}.owner-chat-question p{font-size:10.5px}.owner-chat-answer{font-size:11.5px;line-height:1.6}

/* Modals and notifications */
.modal-backdrop{background:rgba(2,5,9,.72);backdrop-filter:blur(10px)}
.modal{border-radius:15px;padding:22px;border-color:#303a48;background:#11171f}
.modal-head{margin-bottom:18px}.modal-head h2{font-size:20px;margin-top:4px}
.modal-actions{gap:9px;margin-top:8px}
.toast{right:22px;bottom:22px;padding:11px 14px;border-radius:10px;font-size:12px}
.form-error,.error{font-size:12px;line-height:1.5}

/* Startup */
.startup-screen{background:radial-gradient(700px 440px at 50% 26%,rgba(83,116,211,.13),transparent 66%),#090c11}
.startup-card{width:min(480px,calc(100vw - 34px));padding:32px;border-radius:16px;background:#11161e;border-color:#2b3543}
.startup-kicker{font-size:10px;letter-spacing:.10em}.startup-card h1{font-size:27px}.startup-card p{font-size:12px}
.startup-progress{height:5px}.startup-components{gap:8px}.startup-component{padding:9px 10px;font-size:11px}.startup-component b{font-size:10px}

/* Auth and shared tutorial */
.auth-body{background:radial-gradient(900px 520px at 50% -8%,rgba(79,115,210,.18),transparent 62%),#090c11}
.auth-shell{width:min(450px,100%)}
.auth-card{padding:29px;border-radius:16px;background:rgba(17,22,30,.97);border-color:#2b3542}
.auth-card h1{font-size:28px}.auth-card>p{font-size:13px;line-height:1.6}.auth-foot{font-size:11px}
.share-page{background:radial-gradient(1100px 620px at 50% -16%,rgba(79,115,210,.12),transparent 62%),#090c11}
.share-shell{width:min(1180px,calc(100% - 36px));padding-top:28px}
.share-card,.share-content{border-radius:16px;background:#11161e;border-color:#2a3441;box-shadow:var(--shadow-md)}
.share-card{padding:30px}.share-card h1,.share-title-row h1{font-size:clamp(25px,3vw,34px)}.share-card p,.share-title-row p{font-size:13px}.share-note{font-size:12px}.share-kicker{font-size:10px}

/* Light theme parity */
html[data-theme="light"]{
  --canvas:#f5f7fa;
  --canvas-raised:#eef2f6;
  --surface-1:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#f0f4f8;
  --surface-hover:#edf2f7;
  --border-subtle:#dce3eb;
  --border-strong:#c8d2de;
  --text-1:#172231;
  --text-2:#405064;
  --text-3:#68788c;
  --text-4:#8794a5;
  --brand:#416fdf;
  --brand-hover:#3565d6;
  --shadow-sm:0 1px 2px rgba(28,39,54,.05),0 1px 0 rgba(255,255,255,.82) inset;
  --shadow-md:0 10px 30px rgba(33,48,68,.08),0 1px 0 rgba(255,255,255,.86) inset
}
html[data-theme="light"] .app-body{background:radial-gradient(1000px 620px at 72% -20%,rgba(65,111,223,.07),transparent 62%),var(--canvas)}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-right-color:#dfe5ec}
html[data-theme="light"] .nav-item{color:#66768a}
html[data-theme="light"] .nav-item:hover{background:#f1f4f8;border-color:#e2e8ef;color:#28384c}
html[data-theme="light"] .nav-item.active{background:#edf3ff;border-color:#cedaf5;color:#244d99}
html[data-theme="light"] .nav-item.active:before{background:#416fdf}
html[data-theme="light"] .topbar{background:rgba(245,247,250,.90);border-bottom-color:#dfe5ec}
html[data-theme="light"] .panel,
html[data-theme="light"] .provider-card,
html[data-theme="light"] .active-job-card,
html[data-theme="light"] .jobs-summary-card,
html[data-theme="light"] .ai-role-card,
html[data-theme="light"] .team-tasks-card,
html[data-theme="light"] .team-communication-card,
html[data-theme="light"] .cc-case{background:#fff;border-color:#dce3eb;box-shadow:var(--shadow-sm)}
html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select{background:#fff;border-color:#cbd5e0;color:#213047}
html[data-theme="light"] input:hover,html[data-theme="light"] textarea:hover,html[data-theme="light"] select:hover{background:#fbfcfe;border-color:#b9c5d2}
html[data-theme="light"] .article-template-options{background:#f8fafc;border-color:#dce3eb}
html[data-theme="light"] .article-template-options[open]>summary{background:#f1f5f9;border-bottom-color:#dfe6ee;color:#34465c}
html[data-theme="light"] .composer-pro{background:#fff;border-color:#d9e1ea}
html[data-theme="light"] .composer-pro textarea{background:#fbfcfe}
html[data-theme="light"] .gateway-pill,html[data-theme="light"] .user-chip,html[data-theme="light"] .theme-toggle{background:#fff;border-color:#d8e0e9}
html[data-theme="light"] .runtime-pro .runtime-metric,html[data-theme="light"] .job-activity,html[data-theme="light"] .provider-meta div,html[data-theme="light"] .ai-role-card{background:#f8fafc;border-color:#e0e6ed}
html[data-theme="light"] .timeline-history-button{background:#f8fafc;border-color:#d6dee8;color:#5d7090}
html[data-theme="light"] .timeline-history-button:hover{background:#eef3f8;border-color:#c7d2df;color:#344a6d}
html[data-theme="light"] .timeline-history-button.priority-link{background:#fff8ee;border-color:#ead7b9;color:#9a6b2b}
html[data-theme="light"] .table-wrap,html[data-theme="light"] .jobs-table-wrap{background:#fff;border-color:#dce3eb}
html[data-theme="light"] th,html[data-theme="light"] .jobs-table th{background:#f7f9fb;color:#718095}
html[data-theme="light"] td,html[data-theme="light"] .jobs-table td{color:#506074}
html[data-theme="light"] .settings-save{background:linear-gradient(180deg,transparent,rgba(245,247,250,.96) 42%)}
html[data-theme="light"] .manager-card,html[data-theme="light"] .team-decision-active{background:#f8fafc;border-color:#dce4ed}
html[data-theme="light"] .startup-screen{background:radial-gradient(700px 440px at 50% 26%,rgba(65,111,223,.10),transparent 66%),#f5f7fa;color:#172231}
html[data-theme="light"] .startup-card{background:#fff;border-color:#dce3eb;box-shadow:var(--shadow-md)}
html[data-theme="light"] .startup-card p{color:#68788c}
html[data-theme="light"] .startup-component{background:#f8fafc;border-color:#e0e6ed;color:#56677d}
html[data-theme="light"] .auth-body{background:radial-gradient(900px 520px at 50% -8%,rgba(65,111,223,.10),transparent 62%),#f5f7fa}
html[data-theme="light"] .auth-card,html[data-theme="light"] .share-card,html[data-theme="light"] .share-content{background:#fff;border-color:#dce3eb}
html[data-theme="light"] .share-page{background:radial-gradient(1100px 620px at 50% -16%,rgba(65,111,223,.08),transparent 62%),#f5f7fa}

/* Responsive normalization */
@media(max-width:1100px){
  .app-layout{grid-template-columns:220px minmax(0,1fr)}
  .main-panel{padding-left:24px;padding-right:24px}
  .form-grid.three{grid-template-columns:1fr 1fr}
  .providers-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .app-layout{grid-template-columns:72px minmax(0,1fr)}
  .main-panel{padding-left:18px;padding-right:18px}
  .nav-item{font-size:0;justify-content:center;padding:9px}
  .nav-item:before{left:2px}
  .sidebar-brand>div:last-child,.nav-section{display:none}
  .form-grid.two{grid-template-columns:1fr}
  .owner-agent-grid{grid-template-columns:1fr}
  .jobs-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .generate-intro,.jobs-page-head,.section-actions{align-items:flex-start;flex-direction:column}
  .panel{padding:17px}
  .composer-pro{padding:0}
  .active-job-top{padding:17px}
  .progress-pro,.pipeline-pro,.runtime-pro,.current-work-card{margin-left:17px;margin-right:17px}
  .activity-section{padding-left:17px;padding-right:17px}
  .activity-row{grid-template-columns:62px 80px minmax(0,1fr);gap:8px}
  .timeline-head-actions{width:100%;justify-content:flex-start!important;margin-left:0}
  .job-footer-actions{padding-left:17px;padding-right:17px}
  .form-grid.three{grid-template-columns:1fr}
  .toggle-grid{grid-template-columns:1fr}
  .cc-budget{grid-template-columns:1fr}
  .full-history-row{grid-template-columns:64px 20px minmax(0,1fr)}
}
@media(max-width:620px){
  .app-layout{display:block}
  .sidebar{position:sticky;top:0;height:58px;z-index:20;flex-direction:row;padding:8px 10px;border-right:0;border-bottom:1px solid #202833}
  .sidebar-brand{padding:0}
  .nav-list{margin-left:auto;flex-direction:row;gap:2px;overflow-x:auto;scrollbar-width:none}
  .nav-list::-webkit-scrollbar{display:none}
  .nav-item{width:38px;min-width:38px;min-height:38px}
  .nav-item.active:before{left:8px;right:8px;top:auto;bottom:0;width:auto;height:2px}
  .sidebar-foot{display:none}
  .main-panel{padding:0 13px 30px}
  .topbar{height:64px}
  .view{padding-top:20px}
  .generate-intro h2,.jobs-page-head h2,.section-actions h2{font-size:27px}
  .jobs-summary-grid{grid-template-columns:1fr 1fr}
  .jobs-summary-card{min-height:88px;padding:14px}
  .jobs-summary-card strong{font-size:24px}
  .prompt-help-row{align-items:stretch;flex-direction:column}
  .generate-button{width:100%}
  .jobs-toolbar,.jobs-filters{align-items:stretch;flex-direction:column}
  .jobs-search,.jobs-filter{width:100%}
  .jobs-bulk-actions>*{flex:1}
  .modal{padding:18px}
  .auth-card{padding:24px}
  .share-shell{width:min(100% - 20px,1180px)}
}

body:not(.record-body) .badge,body:not(.record-body) .metric-card span,body:not(.record-body) .job-status span{font-size:10px}

/* v0.16.0 independent Article Reviewer */
.quality-cell{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.quality-cell small,.quality-note{color:var(--muted);font-size:10px}.quality-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em;border:1px solid var(--line);white-space:nowrap}.quality-badge.green{background:#10251b;border-color:#26543c;color:#9ce2bd}.quality-badge.teal{background:#102326;border-color:#28545b;color:#9edbe4}.quality-badge.yellow{background:#2a2410;border-color:#5a4b22;color:#ecd67f}.quality-badge.orange{background:#2b1c10;border-color:#6a3e21;color:#f0b27b}.quality-badge.red{background:#2a1317;border-color:#6c2c37;color:#ff9da8}.quality-badge.neutral{background:#161d27;border-color:#303b49;color:#aab7c7}
.review-modal{width:min(940px,100%)}.review-score-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0b1016}.review-score-head>div{display:flex;flex-direction:column;gap:8px}.review-score-head>strong{font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#aebbd0}.review-summary{line-height:1.65;color:var(--text)}.review-command-summary{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.review-command-summary span{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:11px;color:var(--muted)}.review-command-summary b{color:var(--text)}.review-rubric{display:grid;gap:8px}.review-rubric-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:5px 14px;border-bottom:1px solid var(--line);padding:9px 0}.review-rubric-row span{text-transform:capitalize}.review-rubric-row small{grid-column:1/-1;color:var(--muted);line-height:1.5}.review-issues{display:grid;gap:8px}.review-issue{border:1px solid var(--line);border-radius:10px;padding:11px;display:grid;gap:5px}.review-issue span,.review-issue small{font-size:11px;color:var(--muted);line-height:1.5}.review-issue.severity-critical,.review-issue.severity-high{border-color:#61303a}.review-issue.severity-medium{border-color:#5a4b22}.review-video-note{margin:16px 0;color:var(--muted);font-size:11px}.review-actions{margin:16px 0;flex-wrap:wrap}.review-empty{padding:20px;border:1px dashed var(--line);border-radius:12px}.review-empty p{color:var(--muted)}
@media(max-width:760px){.review-score-head{flex-direction:column}.review-rubric-row{grid-template-columns:1fr auto}.jobs-filters{flex-wrap:wrap}}
.jobs-table tr.job-quality-critical td,.jobs-table tr.job-quality-poor td{background:linear-gradient(90deg,rgba(110,32,43,.10),transparent 28%)}
.jobs-table tr.job-quality-weak td{background:linear-gradient(90deg,rgba(120,70,25,.08),transparent 28%)}
.jobs-table tr.job-quality-needs_review td{background:linear-gradient(90deg,rgba(120,103,27,.06),transparent 28%)}

.review-history{display:grid;gap:8px}.review-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.review-history-row:last-child{border-bottom:0}.review-history-row small{color:var(--muted);text-align:right}

/* v0.16.2 Elena Review Center */
.review-center-panel{margin-top:18px}.review-center-actions{display:flex;gap:8px;flex-wrap:wrap}.review-center-stats{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:12px 0 16px}.review-center-stat{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px}.review-center-stat small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.review-center-stat strong{font-size:20px}.review-center-toolbar{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) minmax(220px,1.5fr);gap:10px;margin-bottom:12px}.review-center-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.review-center-search{min-width:220px}.review-center-table td{vertical-align:middle}.review-center-table td strong,.review-center-table td span{display:block}.review-center-table td small{display:block;color:var(--muted);margin-top:4px;max-width:260px}.review-center-stale{box-shadow:inset 3px 0 0 #b68a32}.reviewer-model-role{display:inline-block;margin-left:8px;font-size:9px;letter-spacing:.05em;color:var(--muted)}.danger-text{color:#ff9da8!important}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:1100px){.review-center-stats{grid-template-columns:repeat(3,1fr)}.review-center-toolbar{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.review-center-stats{grid-template-columns:repeat(2,1fr)}.review-center-toolbar{grid-template-columns:1fr}.review-center-actions{width:100%}}
.review-history-button{width:100%;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}.review-history-button:hover{background:var(--surface-2)}.review-history-button.viewing{outline:1px solid var(--accent);border-radius:8px;padding-left:8px;padding-right:8px}

/* v0.16.3 job workspace context */
.workspace-composer-actions{display:flex;align-items:center;gap:9px;justify-content:flex-end}
.composer-pro.workspace-job-context textarea[readonly]{cursor:default;background:rgba(10,14,20,.72);border-color:#2a3442}
.composer-pro.workspace-job-context select:disabled{opacity:.82;cursor:default}
.composer-pro.workspace-job-context .article-template-options{opacity:.92}
@media(max-width:700px){.workspace-composer-actions{width:100%;align-items:stretch;flex-direction:column}.workspace-composer-actions>*{width:100%}}

/* v0.16.8 Jobs table fit + reviewer action feedback */
#view-jobs .jobs-table{table-layout:fixed;width:100%;min-width:0}
#view-jobs .jobs-table th:nth-child(1),#view-jobs .jobs-table td:nth-child(1){width:3%}
#view-jobs .jobs-table th:nth-child(2),#view-jobs .jobs-table td:nth-child(2){width:23%}
#view-jobs .jobs-table th:nth-child(3),#view-jobs .jobs-table td:nth-child(3){width:16%}
#view-jobs .jobs-table th:nth-child(4),#view-jobs .jobs-table td:nth-child(4){width:13%}
#view-jobs .jobs-table th:nth-child(5),#view-jobs .jobs-table td:nth-child(5){width:10%}
#view-jobs .jobs-table th:nth-child(6),#view-jobs .jobs-table td:nth-child(6){width:10%}
#view-jobs .jobs-table th:nth-child(7),#view-jobs .jobs-table td:nth-child(7){width:9%}
#view-jobs .jobs-table th:nth-child(8),#view-jobs .jobs-table td:nth-child(8){width:16%}
#view-jobs .job-primary,#view-jobs .job-state-cell,#view-jobs .job-model,#view-jobs .job-execution-cell,#view-jobs .jobs-table .job-action-stack{min-width:0;max-width:100%}
#view-jobs .job-primary strong,#view-jobs .job-primary small,#view-jobs .job-model small,#view-jobs .job-state-cell small{overflow-wrap:anywhere}
#view-jobs .jobs-table .job-action-stack .inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
#view-jobs .jobs-table .job-action-stack .inline-actions>button{width:100%;min-width:0;padding-left:5px;padding-right:5px}
#view-jobs .jobs-table .table-links{white-space:normal;line-height:1.65;overflow-wrap:anywhere}
#view-jobs .job-date,#view-jobs .job-duration-meta{white-space:normal}
.review-suggestion-state{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:10px 12px;border:1px solid #2b3a50;border-radius:9px;background:#101925;color:#b9c8df;font-size:10px}
.review-suggestion-state strong{color:#dce7f7;font-size:11px}.review-suggestion-state.bad{border-color:#63323b;background:#251419;color:#ffb4bc}
@media(max-width:1280px){
  #view-jobs .jobs-table th:nth-child(5),#view-jobs .jobs-table td:nth-child(5){display:none}
  #view-jobs .jobs-table th:nth-child(2),#view-jobs .jobs-table td:nth-child(2){width:27%}
  #view-jobs .jobs-table th:nth-child(3),#view-jobs .jobs-table td:nth-child(3){width:18%}
  #view-jobs .jobs-table th:nth-child(8),#view-jobs .jobs-table td:nth-child(8){width:19%}
}
@media(max-width:1080px){
  #view-jobs .jobs-table th:nth-child(6),#view-jobs .jobs-table td:nth-child(6){display:none}
  #view-jobs .jobs-table th:nth-child(2),#view-jobs .jobs-table td:nth-child(2){width:31%}
  #view-jobs .jobs-table th:nth-child(3),#view-jobs .jobs-table td:nth-child(3){width:20%}
  #view-jobs .jobs-table th:nth-child(8),#view-jobs .jobs-table td:nth-child(8){width:22%}
}
#view-jobs .jobs-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1180px){#view-jobs .jobs-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#view-jobs .jobs-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.16.9 UI integrity patch: compact settings, provider-neutral gateway, custom VM catalog */
.owner-agent-panel-wide{grid-column:1/-1}
.owner-agent-grid .panel-head p{max-width:68ch}
.owner-agent-grid label>small{display:block;margin-top:6px;line-height:1.35;color:var(--muted)}

.gateway-grid{grid-template-columns:minmax(0,min(760px,100%));align-items:start}
.gateway-card{width:100%;max-width:760px}
.gateway-meta{grid-template-columns:.55fr 1.3fr .8fr}
.gateway-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.gateway-models,.gateway-diagnostics,.vm-image-details{border-top:1px solid #202a35;margin-top:11px;padding-top:10px}
.gateway-models summary,.gateway-diagnostics summary,.vm-image-details summary{cursor:pointer;color:#9aa9bc;font-size:11px;font-weight:650;list-style:none}
.gateway-models summary::-webkit-details-marker,.gateway-diagnostics summary::-webkit-details-marker,.vm-image-details summary::-webkit-details-marker{display:none}
.gateway-models summary:after,.gateway-diagnostics summary:after,.vm-image-details summary:after{content:'+';float:right;color:#64748a}
.gateway-models[open] summary:after,.gateway-diagnostics[open] summary:after,.vm-image-details[open] summary:after{content:'−'}
.gateway-models .model-health-list{margin-top:9px;display:grid;gap:6px}
.gateway-model-row{min-height:42px}
.gateway-diagnostics pre,.vm-image-details pre{margin:9px 0 0;max-height:150px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:10px;border-radius:8px;background:#090e14;border:1px solid #1c2631;color:#8493a6;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.gateway-actions{margin-top:14px}

.vm-image-card{display:flex;flex-direction:column;min-height:0}
.vm-image-meta{grid-template-columns:1.15fr .75fr 1fr}
.vm-image-card .card-actions{margin-top:auto;padding-top:13px}
.custom-vm-card{border-style:solid}
#custom-vm-image-modal .modal{max-width:760px}

@media(max-width:900px){
  .owner-agent-panel-wide{grid-column:auto}
  .gateway-grid{grid-template-columns:1fr}
  .gateway-meta,.vm-image-meta{grid-template-columns:1fr}
}

/* Runova operator shell */
:root{--accent:#6a9bff;--accent2:#9fbcff;--green:#38d9b1}
.admin-toggle{width:100%;background:none;color:var(--muted);border:0;text-align:left;display:flex;justify-content:space-between;align-items:center;font:700 11px/1.3 inherit;cursor:pointer;padding:0}.admin-toggle:hover{color:var(--text)}
.nav-item.admin-collapsed{display:none}.runova-admin-open .nav-item.admin-collapsed{display:flex}.runova-panel{padding:28px;display:grid;gap:15px;max-width:1000px}.runova-panel h2{margin:0}.runova-panel>form{display:grid;gap:15px}.runova-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.runova-stat{padding:18px;border:1px solid var(--line);background:var(--panel2);border-radius:14px;display:grid;gap:8px;min-width:0}.runova-stat>span{font-size:12px;color:var(--muted)}.runova-stat>strong{font-size:21px;overflow-wrap:anywhere}.runova-vm-field{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:14px}.runova-vm-field legend{font-weight:800;color:var(--accent2)}.runova-pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:12px;background:var(--bg2);padding:12px}.runova-attachments{padding:12px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}

/* Runova RC43 - task composer, operator plan, host utilization and VM profiles */
.runova-compose-context{padding:12px 16px 0;max-width:350px}.runova-compose-context label{font-size:12px}.runova-prompt-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 16px 6px}.runova-attach-button{display:inline-flex;align-items:center;gap:8px;font-weight:650}.runova-attachment-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 16px 10px}.runova-attachment-chip{display:flex;max-width:100%;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);font-size:12px}.runova-attachment-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.runova-attachment-chip button{border:0;background:transparent;color:var(--muted);font-size:19px;cursor:pointer;padding:0 3px}.runova-resources-settings{margin:12px 16px}.runova-vm-selector{display:grid;gap:12px;padding:14px 0}.runova-vm-selector label{font-size:12px}.runova-profile-summary{color:var(--muted);font-size:12px;line-height:1.6}.runova-vm-selector .runova-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.runova-resource-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.runova-resource-header p{margin:6px 0 0}.runova-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.runova-usage-card{border:1px solid var(--line);background:var(--panel2);padding:20px;border-radius:14px;display:flex;flex-direction:column;gap:12px;min-width:0}.runova-usage-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px}.runova-usage-heading>span{color:var(--muted);font-size:12px}.runova-usage-values{font-weight:800;font-size:24px;font-variant-numeric:tabular-nums;line-height:1.4}.runova-usage-values small{font-weight:500;font-size:15px;color:var(--muted)}.runova-usage-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:rgba(130,143,165,.19)}.runova-usage-fill{height:100%;border-radius:inherit;transition:width .25s ease}.runova-usage-fill.healthy{background:#22c55e}.runova-usage-fill.warning{background:#f59e0b}.runova-usage-fill.critical{background:#ef4444}.runova-usage-card>small{color:var(--muted);line-height:1.6}.runova-inventory{padding:15px;border:1px solid var(--line);border-radius:14px}.runova-inventory-title{display:flex;justify-content:space-between;gap:10px;font-size:13px}.runova-inventory-title span{color:var(--muted)}.runova-inventory-names{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;overflow-wrap:anywhere;font-size:12px}.runova-inventory-names code{padding:5px 8px;border:1px solid var(--line);border-radius:8px}.runova-plan-button{margin-top:10px;padding:6px 12px;font-size:12px}@media(max-width:650px){.runova-resource-header{align-items:flex-start;flex-direction:column}.runova-usage-values{font-size:22px}}

/* RC44: compact Account and editable per-workload VM profiles */
.runova-account-wrap{max-width:640px;margin:16px auto 0}.runova-account-card{padding:28px}.runova-account-head{display:flex;gap:14px;align-items:center;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--border, #293445)}.runova-account-head h3{margin:0}.runova-account-avatar{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#253965;color:#9bb9ff;font-weight:800;font-size:19px}.runova-profile-card{border:1px solid var(--border,#273242);border-radius:14px;padding:18px;margin-bottom:14px;background:rgba(255,255,255,.015)}.runova-profile-title{font-size:17px;font-weight:750;margin-bottom:14px}.runova-profile-card .runova-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:740px){.runova-profile-card .runova-grid{grid-template-columns:1fr}}

.runova-usage-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.runova-usage-metrics{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 24px}.runova-usage-mini{border:1px solid var(--border,#273242);border-radius:12px;padding:18px;min-width:170px;display:flex;flex-direction:column;gap:9px}.runova-usage-mini span{color:#93a2b7;font-size:12px}.runova-usage-mini strong{font-size:23px}.runova-usage-detail{border-radius:10px;padding:12px;background:rgba(90,130,245,.1);margin:10px 0}.runova-price-settings{border-top:1px solid var(--border,#273242);margin-top:24px;padding-top:20px}.runova-price-settings h3{margin-bottom:16px}.runova-price-list{margin-top:12px;color:#9bacbf;font-size:12px;line-height:1.9}

.runova-member-view-modal{max-width:770px}.runova-view-scoped-items{display:grid;gap:8px;margin:8px 0 20px}.runova-view-scoped-items>div{border:1px solid var(--border,#273242);padding:10px 12px;border-radius:8px;display:flex;justify-content:space-between;gap:12px}.runova-view-scoped-items small{color:#94a3b8}

.runova-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0!important}

/* RC45 compact editor: a single active preset replaces three stacked forms. */
.runova-vm-tabs{display:flex;gap:6px;flex-wrap:wrap;background:rgba(100,125,160,.07);border:1px solid var(--border,#273242);padding:5px;border-radius:12px;margin:18px 0 16px;width:fit-content}
.runova-vm-tabs button{background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted,#a4b1c2);padding:10px 19px;font:inherit;font-size:13px;cursor:pointer;font-weight:700}
.runova-vm-tabs button:hover{color:var(--text,#fff)}
.runova-vm-tabs button.active{background:#607ff0;color:white;box-shadow:0 3px 9px rgba(47,91,215,.2)}
.runova-vm-table-wrap{overflow-x:auto;border:1px solid var(--border,#273242);border-radius:12px}
.runova-vm-table{width:100%;border-collapse:collapse;table-layout:fixed}
.runova-vm-table th,.runova-vm-table td{text-align:left;padding:14px 17px;border-bottom:1px solid var(--border,#273242)}
.runova-vm-table tbody tr:last-child th,.runova-vm-table tbody tr:last-child td{border-bottom:0}
.runova-vm-table th{font-size:13px}
.runova-vm-table input{width:100%;max-width:150px;box-sizing:border-box}
.runova-vm-actions{display:flex;justify-content:flex-end;margin:18px 0 8px}
@media(max-width:650px){.runova-vm-table th,.runova-vm-table td{padding:8px}.runova-vm-table input{min-width:72px}}


/* RC46 consolidated Site Settings: high information density, no nested panels. */
.runova-site-panel{max-width:820px;gap:18px}
.runova-site-section{padding:20px 0;border-top:1px solid var(--line);display:grid;gap:12px}
.runova-site-section h3{font-size:15px;margin:0;font-weight:700}
.runova-site-section form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.runova-site-section form>label{flex:1;min-width:230px}
.runova-site-section form .primary-button{white-space:nowrap}
.runova-site-status{font-size:13px;color:var(--muted);padding:10px 12px;border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere}
.runova-site-https-status{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:16px;color:var(--muted)}
.runova-site-https-status strong{font-weight:650;color:var(--muted)}
@media(max-width:650px){.runova-site-section form{display:grid}.runova-site-section form>label{min-width:0}}

/* RC49 — cohesive, shared hierarchical sidebar component. Legacy shell rules
 * are deliberately overridden at the end to preserve page/route behavior. */
.app-layout{grid-template-columns:256px minmax(0,1fr)}
.sidebar{width:256px;min-width:0;height:100dvh;position:sticky;top:0;padding:15px 12px 12px;display:flex;flex-direction:column;overflow:hidden}
.sidebar-brand{min-height:58px;flex:0 0 auto;position:relative;padding:5px 10px 14px;gap:12px}
.sidebar .nav-list{min-width:0;min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:13px;margin:0;padding:7px 2px 15px;scrollbar-width:thin;scrollbar-color:#2e3c50 transparent;overscroll-behavior:contain}
.sidebar .nav-group{display:flex;flex-direction:column;gap:3px;min-width:0}
.sidebar .nav-section{min-height:26px;padding:10px 12px 5px;margin:0;color:#728198;font:700 10px/1.1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.105em}
.sidebar .nav-item{width:100%;height:40px;min-height:40px;max-height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 12px;font-size:12.5px;font-weight:600;line-height:1.2;border:1px solid transparent;border-radius:9px;white-space:nowrap;text-align:left;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.sidebar .nav-item .nav-icon{height:18px!important;width:18px!important;flex:0 0 18px!important;display:grid;place-items:center;color:#788aa3!important;margin:0}
.sidebar .nav-item .nav-icon svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;stroke-width:1.7}
.sidebar .nav-item .nav-label{min-width:0;width:auto!important;flex:1;display:block;overflow:hidden;text-overflow:ellipsis;text-align:left;color:inherit;font-size:inherit}
.sidebar .nav-item:hover{background:#151d29;color:#e4eaf3;border-color:#202c3c}
.sidebar .nav-item:focus-visible,.sidebar .admin-toggle:focus-visible,.sidebar-mobile-open:focus-visible,.sidebar-mobile-close:focus-visible{outline:2px solid #86a5ff;outline-offset:2px}
.sidebar .nav-item.active{background:#1a2840;color:#f5f8ff;border-color:#304362}
.sidebar .nav-item.active::before{left:0;top:8px;bottom:8px;width:3px;right:auto;height:auto;background:#86a5ff}
.sidebar .nav-item.active .nav-icon{color:#98b6ff!important}
.sidebar .nav-group-admin{margin-top:3px}
.sidebar .admin-toggle{width:100%;min-height:36px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;font:700 10px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.10em;color:#8594ac;border:0;border-radius:8px;background:transparent;cursor:pointer}
.sidebar .admin-toggle:hover{background:#141b26;color:#dbe6f6}
.sidebar .admin-caret{font-size:14px;line-height:1;letter-spacing:0;transition:transform .15s ease}
.sidebar .nav-submenu{margin:3px 0 0 11px;padding:2px 0 2px 10px;border-left:1px solid #2a384b;display:flex;flex-direction:column;gap:2px}
.sidebar .nav-submenu[hidden]{display:none!important}
.sidebar .nav-submenu .nav-child{padding-left:11px;color:#91a0b4}
.sidebar .nav-submenu .nav-child.active{color:#f5f8ff}
.sidebar .sidebar-account-region{flex:0 0 auto;padding:7px 2px 6px;border-top:1px solid #1d2836}
.sidebar .nav-account-group{gap:3px;display:flex;flex-direction:column}
.sidebar .nav-account-group .nav-section{padding-top:6px}
.sidebar .member-only{display:none!important}
body.runova-member-nav .sidebar .member-only{display:flex!important}
.sidebar .sidebar-foot{margin:0;flex:0 0 auto;padding:12px 2px 2px;display:grid;gap:11px;background:inherit}
.sidebar .sidebar-foot #logout{min-height:39px}
.sidebar-mobile-open,.sidebar-mobile-close,.sidebar-backdrop{display:none}
html[data-theme="light"] .sidebar .nav-submenu{border-left-color:#d5dfec}
html[data-theme="light"] .sidebar .admin-toggle{color:#738299}
html[data-theme="light"] .sidebar .nav-item:hover{background:#f0f4fa;color:#2b3c56;border-color:#e0e9f4}
html[data-theme="light"] .sidebar .nav-item.active{background:#eaf1ff;color:#244c93;border-color:#ccd9f5}
html[data-theme="light"] .sidebar .nav-account-group{border-top-color:#dce5f0}
@media(max-width:1100px) and (min-width:761px){.app-layout{grid-template-columns:256px minmax(0,1fr)}.sidebar{width:256px}}
@media(max-width:760px){
  .app-layout{display:block!important}
  .sidebar{position:fixed!important;top:0;left:0;bottom:0;width:min(256px,85vw)!important;height:100dvh!important;z-index:220;background:#0b1018!important;border-right:1px solid #273344;transform:translateX(-105%);transition:transform .22s ease;flex-direction:column!important;align-items:stretch!important;padding:15px 12px 12px!important;overflow:hidden}
  .sidebar.mobile-open{transform:translateX(0)}
  .sidebar .nav-list{display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;gap:13px!important}
  .sidebar .nav-item{width:100%!important;height:40px!important;min-height:40px!important;padding:0 12px!important;justify-content:flex-start!important;font-size:12.5px!important}
  .sidebar .nav-item .nav-label{display:block!important;font-size:12.5px!important}
  .sidebar .nav-section{display:block!important}
  .sidebar .sidebar-brand{padding:5px 10px 14px!important;justify-content:flex-start!important}
  .sidebar .sidebar-brand>div:last-of-type{display:block!important}
  .sidebar .sidebar-foot{display:grid!important}
  .sidebar-mobile-close{display:block;position:absolute;right:1px;top:2px;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#abb9ce;font-size:25px;cursor:pointer}
  .sidebar-mobile-open{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border:1px solid #2a384a;border-radius:9px;background:#131b26;color:#b4c7df;cursor:pointer}
  .sidebar-mobile-open svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .sidebar-backdrop{display:none;position:fixed;inset:0;z-index:210;background:rgba(1,5,10,.66)}
  body.runova-mobile-nav-open .sidebar-backdrop{display:block}
  body.runova-mobile-nav-open{overflow:hidden}
  .main-panel{padding:0 13px 30px}
  .topbar{display:flex;align-items:center;gap:12px;min-width:0}
  .topbar>div:first-of-type{min-width:0}
  .topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar .nav-item,.sidebar .admin-caret{transition:none!important}}
/* Restore readable branding and engine status in the mobile drawer. */
@media(max-width:760px){
  .sidebar .sidebar-brand .brand-name{font-size:14px!important;display:block!important}
  .sidebar .sidebar-brand .brand-version{font-size:10px!important;display:block!important}
  .sidebar .sidebar-foot #health-text{display:inline!important;font-size:10px}
}

/* RC54 workspace. Tokens are scoped to the app: recorder, shared articles and
   authentication pages retain their own presentation. No remote font/assets. */
/* RC55: Classic Blue is the default; Violet is now an explicit opt-in. */
.app-body{
  --bg:#07090d;--bg2:#0b0e13;--panel:#0f131a;--panel2:#131821;
  --line:#202733;--line2:#2c3645;--text:#f4f7fb;--muted:#9aa7b9;--soft:#c6cfdb;
  --accent:#9ab3ff;--accent2:#9ab3ff;--brand:#4f7cff;--green:#51c878;--red:#ff9ca5;
  --ui-accent-bg:#17243a;--ui-button:#416fdf;--ui-button-text:#ffffff;
  --ui-hover:#1c2430;--ui-shadow:0 10px 35px rgba(0,0,0,.09);
  --canvas:var(--bg);--canvas-raised:var(--bg2);--surface-1:var(--panel);--surface-2:var(--panel2);
  --surface-3:var(--panel2);--surface-hover:var(--ui-hover);--border:var(--line);
  --border-subtle:var(--line);--border-strong:var(--line2);--text-1:var(--text);--text-2:var(--soft);
  --text-3:var(--muted);--text-4:var(--muted);--brand-soft:var(--ui-accent-bg);--brand-border:var(--line2);
  background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;
}
html[data-theme="light"] .app-body{
  --bg:#f5f7fb;--bg2:#eef2f7;--panel:#ffffff;--panel2:#f8fafc;
  --line:#dce3ec;--line2:#c9d3df;--text:#182231;--muted:#5d6b7e;--soft:#3f4f63;
  --accent:#3565d6;--accent2:#3565d6;--brand:#416fdf;--green:#24764f;--red:#b53850;
  --ui-accent-bg:#edf3ff;--ui-button:#416fdf;--ui-button-text:#ffffff;
  --ui-hover:#edf2f7;--ui-shadow:0 8px 30px rgba(40,55,80,.04);
}
html[data-palette="slate"] .app-body{
  --bg:#10151b;--bg2:#161d25;--panel:#1a212a;--panel2:#222b36;
  --line:#35414e;--line2:#49596b;--text:#f2f5f8;--muted:#b2bdca;--soft:#d1dae4;
  --accent:#d0d9e3;--accent2:#d0d9e3;--brand:#c4cdd8;
  --ui-accent-bg:#303c4b;--ui-button:#c4cdd8;--ui-button-text:#15202e;--ui-hover:#303c4b;
}
html[data-theme="light"][data-palette="slate"] .app-body{
  --bg:#f3f4f6;--bg2:#edf0f3;--panel:#ffffff;--panel2:#f2f4f7;
  --line:#dce1e8;--line2:#bac4d1;--text:#1b2635;--muted:#566274;--soft:#344256;
  --accent:#334155;--accent2:#334155;--brand:#334155;
  --ui-accent-bg:#e5eaf0;--ui-button:#334155;--ui-button-text:#ffffff;--ui-hover:#e5eaf0;
}
html[data-palette="violet"] .app-body{
  --bg:#101116;--bg2:#14151c;--panel:#191b23;--panel2:#20222d;
  --line:#2c2e3b;--line2:#3c3f50;--text:#f0f0f6;--muted:#a4a6ba;--soft:#c3c5d4;
  --accent:#b5a4ff;--accent2:#c9bcff;--brand:#b5a4ff;
  --ui-accent-bg:#2c2645;--ui-button:#b9a7ff;--ui-button-text:#20163b;--ui-hover:#242631;
}
html[data-theme="light"][data-palette="violet"] .app-body{
  --bg:#f6f7fb;--bg2:#ffffff;--panel:#ffffff;--panel2:#f3f4f8;
  --line:#e2e4ed;--line2:#c9cdda;--text:#232334;--muted:#65677e;--soft:#4e5067;
  --accent:#7050c9;--accent2:#6240b7;--brand:#7050c9;
  --ui-accent-bg:#f0eafa;--ui-button:#7350cc;--ui-button-text:#ffffff;--ui-hover:#f0f1f6;
}
html[data-theme][data-palette="custom"] .app-body{
  --accent:var(--runova-custom-accent);--accent2:var(--runova-custom-accent);--brand:var(--runova-custom-accent);
  --ui-button:var(--runova-custom-button);--ui-button-text:var(--runova-custom-ink);--ui-accent-bg:var(--panel2);
}
html[data-theme] .app-body{background:var(--bg);color:var(--text)}
html[data-theme] .app-body :is(input,textarea,select):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ui-accent-bg)}
html[data-theme] .app-body :is(button,input,select,textarea){font-family:inherit}
html[data-theme] .app-body :is(button,a,summary,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html[data-theme] .app-body input,html[data-theme] .app-body select,html[data-theme] .app-body textarea{background:var(--bg2);border-color:var(--line2);color:var(--text);border-radius:9px;font-size:13px}
html[data-theme] .app-body input::placeholder,html[data-theme] .app-body textarea::placeholder{color:var(--muted);opacity:.85}
html[data-theme] .app-body label{font-size:12px;font-weight:600;color:var(--soft)}
html[data-theme] .app-body :is(.panel,.provider-card,.modal,.runova-panel){background:var(--panel);border-color:var(--line);box-shadow:var(--ui-shadow);border-radius:14px}
html[data-theme] .app-body :is(.primary,.primary-button,.button-link){background:var(--ui-button);color:var(--ui-button-text);box-shadow:none;font-size:12px;min-height:38px;font-weight:650;border:1px solid transparent;border-radius:8px;padding:9px 14px}
html[data-theme] .app-body :is(.secondary-button,.button-link.secondary,.ghost){background:var(--panel);color:var(--soft);border:1px solid var(--line);box-shadow:none;font-size:12px;min-height:36px;font-weight:600;border-radius:8px;padding:8px 12px}
html[data-theme] .app-body :is(.secondary-button,.button-link.secondary,.ghost):hover{background:var(--ui-hover);border-color:var(--line2);color:var(--text)}
html[data-theme] .app-body .danger-button{color:var(--red);border-color:var(--line2);font-size:12px;border-radius:8px;min-height:36px;font-weight:600}
html[data-theme] .app-body :is(.primary,.primary-button,.secondary-button,.danger-button):disabled{cursor:default}
html[data-theme] .app-body .field-help{color:var(--muted);font-size:12px}
html[data-theme] .app-body .text-button{border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:650;padding:8px 0}
.skip-to-workspace{position:fixed;left:16px;top:10px;z-index:300;background:var(--ui-button);color:var(--ui-button-text);border-radius:8px;padding:10px 16px;transform:translateY(-180%)}
.skip-to-workspace:focus{transform:translateY(0)}

/* Shell and navigation */
html[data-theme] .app-body .sidebar{background:var(--bg2);border-color:var(--line);padding:23px 15px 14px}
html[data-theme] .app-body .sidebar-brand{padding:0 10px 27px;gap:11px}
html[data-theme] .app-body .brand-mark{background:var(--ui-button);color:var(--ui-button-text);box-shadow:none;border-radius:11px;font-size:19px}
html[data-theme] .app-body .brand-name{color:var(--text);font-size:19px;font-weight:720;letter-spacing:-.04em}
html[data-theme] .app-body .brand-version{color:var(--muted);font-family:inherit;font-size:10px;font-weight:500;line-height:1.3;letter-spacing:0}
html[data-theme] .app-body .sidebar .nav-section,html[data-theme] .app-body .sidebar .admin-toggle{color:var(--muted);font-family:inherit;font-size:10px;font-weight:650;letter-spacing:.07em}
html[data-theme] .app-body .sidebar .nav-item{color:var(--muted);font-weight:550;box-shadow:none}
html[data-theme] .app-body .sidebar .nav-item .nav-icon{color:var(--muted)!important}
html[data-theme] .app-body .sidebar .nav-item:hover,html[data-theme] .app-body .sidebar .admin-toggle:hover{background:var(--ui-hover);border-color:transparent;color:var(--text)}
html[data-theme] .app-body .sidebar .nav-item.active{background:var(--ui-accent-bg);border-color:transparent;color:var(--accent);box-shadow:none}
html[data-theme] .app-body .sidebar .nav-item.active::before{display:none}
html[data-theme] .app-body .sidebar .nav-item.active .nav-icon{color:var(--accent)!important}
html[data-theme] .app-body .sidebar :is(.sidebar-account-region,.nav-submenu){border-color:var(--line)}
html[data-theme] .app-body .sidebar .sidebar-foot{border-top:1px solid var(--line);padding-top:17px}
html[data-theme] .app-body .status-row{color:var(--muted);font-size:10px}
html[data-theme] .app-body .main-panel{padding:0 38px 56px;max-width:1920px;width:100%;margin:0 auto}
html[data-theme] .app-body .topbar{height:80px;background:var(--bg);border-color:var(--line);box-shadow:none;backdrop-filter:none}
html[data-theme] .app-body .topbar>div:first-of-type{min-width:0;flex:1}
html[data-theme] .app-body .page-kicker{font:500 10px/1.2 ui-sans-serif,system-ui,sans-serif;color:var(--muted);letter-spacing:.06em}
html[data-theme] .app-body .topbar h1{font-size:15px;font-weight:650;color:var(--text);margin:3px 0 0;max-width:650px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme] .app-body .topbar-actions{display:flex;align-items:center;gap:17px}
html[data-theme] .app-body .theme-toggle{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--muted);min-height:35px;padding:6px 10px;font-size:11px}
html[data-theme] .app-body .user-chip{border:0;background:transparent;padding:0;gap:9px}
html[data-theme] .app-body .avatar{background:var(--ui-accent-bg);color:var(--accent);border:1px solid var(--line);width:33px;height:33px;border-radius:50%;font-size:12px}
html[data-theme] .app-body .user-chip strong{font-size:11px;color:var(--text);font-weight:600}
html[data-theme] .app-body .user-chip span{font-size:9px;color:var(--muted);letter-spacing:.03em;font-weight:500}
html[data-theme] .app-body .view{padding-top:32px}

/* Composer: goal first, optional controls second. */
html[data-theme] .app-body #view-generate{max-width:1100px;margin:0 auto}
html[data-theme] .app-body #view-generate.active{display:flex;flex-direction:column}
html[data-theme] .app-body #view-generate .generate-intro{order:0}
html[data-theme] .app-body #view-generate #create-form{order:1}
html[data-theme] .app-body #view-generate #active-job{order:2}
html[data-theme] .app-body #view-generate .workspace-starters{order:3}
html[data-theme] .app-body #view-generate .generate-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:17px 0 27px;padding:0}
html[data-theme] .app-body .workspace-eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.015em;margin:0 0 10px;text-transform:none}
html[data-theme] .app-body .generate-intro h2,html[data-theme] .app-body .workspace-welcome h2{font-size:clamp(27px,3vw,37px);font-weight:620;letter-spacing:-.045em;line-height:1.2;margin:0 0 11px;color:var(--text)}
html[data-theme] .app-body .generate-intro p,html[data-theme] .app-body .workspace-welcome p{font-size:13px;line-height:1.7;color:var(--muted);max-width:550px;margin:0}
html[data-theme] .app-body .gateway-pill{background:var(--panel);border-color:var(--line);color:var(--muted);font-size:10px;gap:7px;padding:8px 11px;white-space:nowrap;box-shadow:none;border-radius:7px}
html[data-theme] .app-body .gateway-pill strong{color:var(--text);font-size:11px}
html[data-theme] .app-body #view-generate .composer-pro{border:1px solid var(--line2);border-radius:15px;background:var(--panel);padding:0;margin:0 0 22px;box-shadow:var(--ui-shadow);overflow:hidden}
html[data-theme] .app-body #view-generate .composer-label-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:21px 23px 0}
html[data-theme] .app-body #request-label{font-size:13px;font-weight:650;color:var(--text)}
html[data-theme] .app-body .char-count{color:var(--muted);font-size:10px;letter-spacing:0;font-weight:400}
html[data-theme] .app-body #view-generate .composer-pro #prompt{height:136px;min-height:136px;max-height:360px;width:calc(100% - 46px);margin:12px 23px 0;padding:10px 0;background:transparent;color:var(--text);border:0;box-shadow:none;border-radius:0;font:400 14px/1.8 ui-sans-serif,system-ui,sans-serif;resize:vertical}
html[data-theme] .app-body #view-generate .composer-pro #prompt:focus-visible{outline-offset:5px;border-radius:3px}
html[data-theme] .app-body #view-generate .runova-prompt-toolbar{margin:6px 23px 0;gap:8px}
html[data-theme] .app-body #view-generate .runova-attach-button{background:transparent;min-height:33px;font-size:11px;padding:6px 10px}
html[data-theme] .app-body #view-generate .runova-attachment-chips{margin:10px 23px 0}
html[data-theme] .app-body #view-generate .runova-attachment-chips:empty{display:none}
html[data-theme] .app-body #view-generate .runova-compact-settings{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:15px 23px 18px}
html[data-theme] .app-body #view-generate .runova-compact-detail{margin:0;flex:0 0 auto;max-width:100%;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}
html[data-theme] .app-body #view-generate .runova-compact-detail>summary{display:flex;gap:8px;align-items:center;padding:8px 11px;min-height:35px;font-size:11px;font-weight:550;list-style:none;color:var(--soft);white-space:nowrap;cursor:pointer}
html[data-theme] .app-body #view-generate .runova-compact-detail>summary::-webkit-details-marker{display:none}
html[data-theme] .app-body #view-generate .runova-compact-detail>summary:after{content:'⌄';margin-left:5px;color:var(--muted)}
html[data-theme] .app-body #view-generate .runova-compact-detail[open]{flex:1 1 100%;width:100%;background:var(--panel2)}
html[data-theme] .app-body #view-generate .runova-compact-detail[open]>summary{border-bottom:1px solid var(--line);color:var(--text)}
html[data-theme] .app-body #view-generate .runova-compact-detail[open]>summary:after{transform:rotate(180deg)}
html[data-theme] .app-body #view-generate .runova-setting-value{color:var(--accent);font-weight:600}
html[data-theme] .app-body #view-generate .runova-vm-selector{padding:16px;gap:12px;max-width:100%}
html[data-theme] .app-body #view-generate .runova-vm-selector>label{max-width:460px}
html[data-theme] .app-body #view-generate .runova-profile-summary:empty{display:none}
html[data-theme] .app-body #view-generate .runova-advanced-body{padding:12px;display:grid;gap:9px}
html[data-theme] .app-body #view-generate .runova-subsection{border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}
html[data-theme] .app-body #view-generate .runova-subsection>summary{padding:12px;cursor:pointer;color:var(--soft);font-size:12px;font-weight:600}
html[data-theme] .app-body #view-generate .runova-subsection>.form-grid,html[data-theme] .app-body #view-generate .runova-subsection>label{margin:14px;display:grid;gap:10px}
html[data-theme] .app-body #view-generate .runova-subsection>label>textarea{margin:0;width:100%;min-height:118px;height:auto;max-height:300px}
html[data-theme] .app-body #view-generate .prompt-help-row{display:flex;align-items:center;justify-content:space-between;padding:17px 23px;margin:0;gap:18px;border-top:1px solid var(--line);background:var(--panel2)}
html[data-theme] .app-body #workspace-prompt-help{display:block;font-size:11px;line-height:1.6;color:var(--muted);max-width:360px}
html[data-theme] .app-body #view-generate .workspace-composer-actions{display:flex;gap:9px;flex:0 0 auto}
html[data-theme] .app-body #view-generate .generate-button{min-height:39px;padding:9px 16px;font-size:12px;gap:25px}
html[data-theme] .app-body .starter-heading{display:flex;justify-content:space-between;gap:10px;color:var(--soft);font-size:11px;margin:30px 0 13px}
html[data-theme] .app-body .starter-heading small{font-size:10px;color:var(--muted)}
html[data-theme] .app-body .starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
html[data-theme] .app-body .starter-card{display:grid;position:relative;grid-template-columns:1fr;gap:6px;min-width:0;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:18px;transition:background .15s,border-color .15s,transform .15s}
html[data-theme] .app-body .starter-card:hover{background:var(--ui-hover);border-color:var(--accent);transform:translateY(-2px)}
html[data-theme] .app-body .starter-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:var(--ui-accent-bg);color:var(--accent);margin:0 0 8px}
html[data-theme] .app-body .starter-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
html[data-theme] .app-body .starter-card strong{font-size:12px;font-weight:600}
html[data-theme] .app-body .starter-card>span:not(.starter-icon){font-size:11px;line-height:1.6;color:var(--muted)}
html[data-theme] .app-body .starter-card>b{position:absolute;right:17px;top:18px;color:var(--muted);font-weight:400;font-size:16px}
html[data-theme] .app-body .workspace-flow{display:flex;justify-content:center;align-items:center;gap:19px;margin:32px 0;color:var(--muted);font-size:10px}
html[data-theme] .app-body .workspace-flow b{font-weight:500;color:var(--soft);margin-left:5px}
html[data-theme] .app-body .workspace-flow i{font-style:normal;color:var(--line2)}
html[data-theme] .app-body #view-generate.runova-job-context.active{display:flex;flex-direction:column}
html[data-theme] .app-body #view-generate.runova-job-context .generate-intro,html[data-theme] .app-body .runova-job-context .workspace-starters{display:none}
html[data-theme] .app-body #view-generate.runova-job-context #active-job{order:0}
html[data-theme] .app-body #view-generate.runova-job-context #create-form{order:1;margin-top:8px}

/* Job: summary, current command, activity, then operator actions. */
html[data-theme] .app-body #active-job{padding:26px;border-color:var(--line);background:var(--panel);border-radius:15px}
html[data-theme] .app-body .active-job-eyebrow{color:var(--muted);font:500 10px/1.5 ui-sans-serif,system-ui,sans-serif;letter-spacing:.04em;gap:8px}
html[data-theme] .app-body #job-title{font-size:24px;letter-spacing:-.03em;line-height:1.35;font-weight:620;color:var(--text);margin:9px 0}
html[data-theme] .app-body #job-message{color:var(--muted);font-size:12px;line-height:1.7}
html[data-theme] .app-body .runova-plan-button{margin-top:10px;font-size:11px}
html[data-theme] .app-body #job-percent{font-size:29px;font-weight:500;letter-spacing:-.04em;color:var(--text)}
html[data-theme] .app-body .progress-pro{height:5px;background:var(--line);margin:23px 0}
html[data-theme] .app-body #job-bar{background:var(--ui-button)}
html[data-theme] .app-body .pipeline-pro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0 0 20px}
html[data-theme] .app-body .pipeline-pro>span{display:flex;align-items:center;justify-content:flex-start;gap:9px;background:transparent;border:0;padding:6px;color:var(--muted);font:500 12px/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-transform:none}
html[data-theme] .app-body .pipeline-pro>span b{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line2);border-radius:50%;background:transparent;color:var(--muted);font-size:10px}
html[data-theme] .app-body .pipeline-pro>span.active{color:var(--accent)}
html[data-theme] .app-body .pipeline-pro>span.active b{background:var(--ui-accent-bg);border-color:var(--accent);color:var(--accent)}
html[data-theme] .app-body .pipeline-pro>span.done b{background:var(--panel2);color:var(--green);border-color:var(--green)}
html[data-theme] .app-body .pipeline-pro>span.bad b{color:var(--red);border-color:var(--red)}
html[data-theme] .app-body .runtime-pro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);background:var(--panel2);border-radius:10px;margin-bottom:24px;overflow:hidden}
html[data-theme] .app-body .runtime-metric{padding:15px 18px;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}
html[data-theme] .app-body .runtime-metric:last-child{border-right:0}
html[data-theme] .app-body .runtime-metric>span{font:500 10px/1.4 ui-sans-serif,system-ui,sans-serif;color:var(--muted);letter-spacing:0;text-transform:none}
html[data-theme] .app-body .runtime-metric strong{font-size:21px;font-weight:550;color:var(--text);margin:5px 0;font-variant-numeric:tabular-nums}
html[data-theme] .app-body .runtime-metric small{font-size:10px;color:var(--muted)}
html[data-theme] .app-body #job-command-card{border:1px solid #303c4c;border-radius:10px;background:#0b1119;margin:0 0 25px;box-shadow:none}
html[data-theme] .app-body .job-command-head{padding:12px 16px;display:flex;flex-direction:row;align-items:center;background:#17202c;border-color:#303c4c}
html[data-theme] .app-body .job-command-head strong{color:#e3eaf4;font-size:11px;font-weight:600}
html[data-theme] .app-body .command-dot{background:var(--accent);box-shadow:none}
html[data-theme] .app-body .command-action{display:block;color:#b4c1d2;font-size:10px;padding:12px 16px 0;overflow-wrap:anywhere}
html[data-theme] .app-body #job-command{background:transparent;color:#d6eddd;padding:15px 16px 19px;max-height:320px;font:400 12px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme] .app-body .terminal-copy{background:transparent;border:1px solid #45576d;color:#d2deed;border-radius:6px;padding:5px 9px;font-size:10px}
html[data-theme] .app-body .activity-section{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin:0 0 21px;padding:0;overflow:hidden}
html[data-theme] .app-body .job-live-head{padding:16px 18px;border-bottom:1px solid var(--line);gap:12px;margin:0;align-items:center}
html[data-theme] .app-body .job-live-head>div:first-child{display:grid;gap:3px}
html[data-theme] .app-body .job-live-head strong{font-size:12px;color:var(--text);font-weight:600}
html[data-theme] .app-body .job-live-head small{font-size:10px;color:var(--muted)}
html[data-theme] .app-body .timeline-history-button{font-size:11px;color:var(--accent);font-weight:500;text-decoration:none;padding:7px 0}
html[data-theme] .app-body .job-activity{padding:0 18px;max-height:520px;overflow:auto;background:transparent;border:0;border-radius:0}
html[data-theme] .app-body .timeline-row{grid-template-columns:64px 23px minmax(0,1fr);gap:10px;padding:16px 0;border-color:var(--line);background:transparent;border-radius:0}
html[data-theme] .app-body .timeline-row.current{background:transparent;box-shadow:none}
html[data-theme] .app-body .timeline-row time{font-size:10px;color:var(--muted)}
html[data-theme] .app-body .timeline-mark{background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme] .app-body .result-success .timeline-mark{color:var(--green)}
html[data-theme] .app-body .result-failure .timeline-mark{color:var(--red)}
html[data-theme] .app-body .timeline-main{display:grid;gap:4px}
html[data-theme] .app-body .activity-stage{font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent)}
html[data-theme] .app-body .activity-message{font-size:12px;line-height:1.7;color:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme] .app-body .timeline-details>summary{font-size:10px;color:var(--muted);padding:4px 0}
html[data-theme] .app-body .timeline-details p{font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
html[data-theme] .app-body .timeline-details b{font-size:10px;color:var(--soft)}
html[data-theme] .app-body .owner-action-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0 21px;border-bottom:1px solid var(--line);margin-bottom:20px}
html[data-theme] .app-body .owner-action-bar strong{display:block;font-size:12px;font-weight:600;color:var(--text)}
html[data-theme] .app-body .owner-action-bar span{display:block;color:var(--muted);font-size:10px;margin-top:3px}
html[data-theme] .app-body .owner-action-buttons{display:flex;flex-wrap:wrap;gap:7px}
html[data-theme] .app-body .owner-action-buttons .secondary-button{font-size:10px;min-height:33px;padding:6px 9px}
html[data-theme] .app-body .job-footer-actions{border-color:var(--line);padding-top:18px;gap:10px}
html[data-theme] .app-body .job-status-pill{font-size:10px;letter-spacing:.02em;font-weight:600;border-radius:6px;padding:7px 10px}
html[data-theme] .app-body #active-job:is([data-status="done"],[data-status="failed"],[data-status="canceled"],[data-status="needs_attention"]) .live-dot{animation:none;background:var(--muted);box-shadow:none}

/* Project library: a single semantic table powers both layouts and selection. */
html[data-theme] .app-body .jobs-page-head{align-items:center;gap:20px;margin-bottom:25px}
html[data-theme] .app-body .jobs-page-head h2{color:var(--text);font-size:30px;font-weight:620;letter-spacing:-.035em;margin:0 0 7px}
html[data-theme] .app-body .jobs-page-head p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
html[data-theme] .app-body .page-head-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}
html[data-theme] .app-body #view-jobs .jobs-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:28px}
html[data-theme] .app-body .jobs-summary-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:16px;box-shadow:none}
html[data-theme] .app-body .jobs-summary-card>span{font:500 11px/1.3 ui-sans-serif,system-ui,sans-serif;color:var(--muted);text-transform:none;letter-spacing:0}
html[data-theme] .app-body .jobs-summary-card strong{font-size:26px;font-weight:550;color:var(--text);margin:7px 0 4px;letter-spacing:-.04em}
html[data-theme] .app-body .jobs-summary-card small{font-size:10px;line-height:1.5;color:var(--muted)}
html[data-theme] .app-body .project-library-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 13px}
html[data-theme] .app-body .runova-project-filter{margin:0}
html[data-theme] .app-body .runova-project-filter label{display:flex;align-items:center;gap:12px;font-size:12px}
html[data-theme] .app-body .runova-project-filter select{max-width:290px;min-width:210px;padding:9px 11px;font-size:11px}
html[data-theme] .app-body .jobs-layout-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
html[data-theme] .app-body .jobs-layout-switch button{display:flex;gap:6px;align-items:center;background:transparent;border:0;border-radius:5px;padding:7px 10px;font-size:10px;color:var(--muted)}
html[data-theme] .app-body .jobs-layout-switch button[aria-pressed="true"]{background:var(--ui-accent-bg);color:var(--accent)}
html[data-theme] .app-body .jobs-layout-switch svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
html[data-theme] .app-body .jobs-panel{padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}
html[data-theme] .app-body .jobs-toolbar{padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--panel);display:flex;flex-wrap:wrap;gap:16px;margin:0 0 16px}
html[data-theme] .app-body .jobs-filters{display:flex;flex:1;align-items:flex-end;flex-wrap:wrap;gap:12px;min-width:0}
html[data-theme] .app-body .jobs-filters label{font-size:10px;gap:6px;color:var(--muted)}
html[data-theme] .app-body .jobs-search{flex:1 1 200px;min-width:160px}
html[data-theme] .app-body .jobs-filter{flex:0 1 145px;min-width:125px}
html[data-theme] .app-body .jobs-filters :is(input,select){min-height:36px;font-size:11px;padding:8px 11px;background:var(--bg)}
html[data-theme] .app-body .jobs-bulk-actions{align-self:flex-end;gap:7px}
html[data-theme] .app-body .jobs-bulk-actions button{font-size:10px;min-height:36px}
html[data-theme] .app-body #view-jobs .jobs-table{table-layout:auto;min-width:1040px;width:100%}
html[data-theme] .app-body #view-jobs .jobs-table :is(th,td){width:auto;display:table-cell;border-color:var(--line);background:transparent}
html[data-theme] .app-body .jobs-table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:11px}
html[data-theme] .app-body .jobs-table th{font:600 10px/1.5 ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--muted);padding:12px}
html[data-theme] .app-body .jobs-table td{color:var(--soft);padding:15px 12px;font-size:11px;vertical-align:top}
html[data-theme] .app-body .select-page-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;white-space:nowrap}
html[data-theme] .app-body :is(.job-check,#select-all-jobs){width:15px;height:15px;accent-color:var(--accent);padding:0;margin:0;flex:0 0 15px;cursor:pointer}
html[data-theme] .app-body .select-page-label span{display:none}
html[data-theme] .app-body .job-primary{max-width:320px}
html[data-theme] .app-body .job-title-button{border:0;padding:0;background:transparent;color:var(--text);text-align:left;font-size:12px;font-weight:620;line-height:1.6;overflow-wrap:anywhere}
html[data-theme] .app-body .job-title-button:hover{color:var(--accent)}
html[data-theme] .app-body .job-primary small{font-size:11px;color:var(--muted);line-height:1.65;margin-top:7px;overflow-wrap:anywhere}
html[data-theme] .app-body .job-primary code{display:block;font-size:9px;color:var(--muted);margin-top:9px;word-break:break-all}
html[data-theme] .app-body .job-state-cell>small{font-size:10px;line-height:1.65;color:var(--muted);margin:7px 0 0;overflow-wrap:anywhere}
html[data-theme] .app-body .job-model strong{font-size:11px;color:var(--soft);font-weight:600}
html[data-theme] .app-body .job-model small,html[data-theme] .app-body .job-date{font-size:10px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
html[data-theme] .app-body .job-duration{font-size:12px;color:var(--text);font-weight:550;font-variant-numeric:tabular-nums}
html[data-theme] .app-body .job-duration-meta{font-size:9px;color:var(--muted);line-height:1.5;margin:3px 0 0}
html[data-theme] .app-body .job-quality-badge{font-size:10px}
html[data-theme] .app-body .status-tag{font:550 9px/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.01em;text-transform:none;border-radius:5px;padding:4px 7px;max-width:100%;white-space:normal}
html[data-theme] .app-body #view-jobs .job-action-stack .job-primary-actions{display:flex;flex-wrap:wrap;gap:6px}
html[data-theme] .app-body #view-jobs .job-primary-actions>button{width:auto;min-width:0;font-size:10px;min-height:31px;padding:6px 9px}
html[data-theme] .app-body .job-more{border:1px solid var(--line);border-radius:7px;min-height:31px;background:var(--panel);color:var(--soft)}
html[data-theme] .app-body .job-more>summary{cursor:pointer;list-style:none;font-size:10px;padding:7px 9px;line-height:1.5;display:flex;justify-content:space-between;gap:12px}
html[data-theme] .app-body .job-more>summary::-webkit-details-marker{display:none}
html[data-theme] .app-body .job-more[open]{flex:1 1 100%;background:var(--panel2)}
html[data-theme] .app-body .job-more-actions{display:flex;flex-wrap:wrap;gap:6px;padding:9px;border-top:1px solid var(--line)}
html[data-theme] .app-body .job-more-actions>button{font-size:10px;min-height:31px;padding:6px 9px}
html[data-theme] .app-body .table-links{white-space:normal;color:var(--line2);line-height:1.9;font-size:10px;margin-bottom:9px;overflow-wrap:anywhere}
html[data-theme] .app-body .table-links a{color:var(--accent);text-decoration:none}
html[data-theme] .app-body .jobs-pagination{display:flex;justify-content:center;gap:18px;align-items:center;margin:24px 0;font-size:11px;color:var(--muted)}
html[data-theme] .app-body .jobs-empty-filter{border:1px dashed var(--line2);border-radius:12px;padding:45px 20px;text-align:center;color:var(--muted);font-size:12px}
html[data-theme] .app-body .jobs-empty-filter strong{color:var(--text);font-size:16px;font-weight:600}
html[data-theme] .app-body .empty-cell{padding:50px 20px;text-align:center;color:var(--muted)}
html[data-theme] .app-body .empty-cell :is(strong,span){display:block;margin:8px 0;font-size:12px}
html[data-theme] .app-body .empty-cell strong{font-size:18px;color:var(--text);font-weight:600}
html[data-theme] .app-body .empty-cell .primary{margin:18px auto 0}
html[data-theme] .app-body .empty-cell .empty-run-icon{width:44px;height:44px;border-radius:12px;background:var(--ui-accent-bg);color:var(--accent);display:grid;place-items:center;font-size:23px;margin:0 auto 18px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .jobs-table-wrap{background:transparent;border:0;overflow:visible}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .jobs-table{display:block;min-width:0}
html[data-theme] .app-body #jobs-library[data-layout="cards"] thead,html[data-theme] .app-body #jobs-library[data-layout="cards"] thead tr{display:block}
html[data-theme] .app-body #jobs-library[data-layout="cards"] thead th{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0}
html[data-theme] .app-body #jobs-library[data-layout="cards"] thead th:first-child{position:static;width:auto;height:auto;overflow:visible;clip-path:none;border:0;padding:0 1px 13px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .select-page-label span{display:inline}
html[data-theme] .app-body #jobs-library[data-layout="cards"] tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
html[data-theme] .app-body #jobs-library[data-layout="cards"] tr[data-job-id]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px 20px;padding:22px;position:relative;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--ui-shadow);min-width:0}
html[data-theme] .app-body #jobs-library[data-layout="cards"] tr.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
html[data-theme] .app-body #jobs-library[data-layout="cards"] td{display:block;width:auto;border:0;padding:0;min-width:0}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-selection-cell{position:absolute;right:19px;top:21px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-title-cell{grid-column:1/-1;padding-right:26px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-primary{max-width:none}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-title-button{font-size:15px;line-height:1.55}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-primary>small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;font-size:11px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-state-column{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-state-cell>small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html[data-theme] .app-body #jobs-library[data-layout="cards"] td[data-label]::before{content:attr(data-label);display:block;font-size:9px;color:var(--muted);margin-bottom:5px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .job-actions-cell{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .jobs-empty-row{grid-column:1/-1;display:block}
html[data-theme] .app-body #jobs-library[data-layout="cards"] .jobs-empty-row td{display:block;border:1px dashed var(--line2);border-radius:12px;padding:45px 20px}

/* Overview and secondary panels share the workspace rhythm. */
html[data-theme] .app-body .workspace-welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 0 37px}
html[data-theme] .app-body .overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 32px}
html[data-theme] .app-body .overview-metrics .runova-stat{padding:20px;background:var(--panel);border-color:var(--line);border-radius:11px}
html[data-theme] .app-body .overview-metrics .runova-stat span{color:var(--muted);font-size:11px}
html[data-theme] .app-body .overview-metrics .runova-stat strong{color:var(--text);font-size:29px;letter-spacing:-.04em;font-weight:550;margin:9px 0 0}
html[data-theme] .app-body .overview-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
html[data-theme] .app-body .overview-section-head h3{color:var(--text);font-size:14px;font-weight:600;margin:0}
html[data-theme] .app-body .overview-recent-runs{display:grid;gap:10px}
html[data-theme] .app-body .recent-run{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;gap:15px;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);padding:17px 19px;text-align:left}
html[data-theme] .app-body .recent-run:hover{border-color:var(--line2);background:var(--ui-hover)}
html[data-theme] .app-body .recent-run-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--ui-accent-bg);color:var(--accent);font-size:18px}
html[data-theme] .app-body .recent-run strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
html[data-theme] .app-body .recent-run small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
html[data-theme] .app-body :is(.panel-head p,.section-actions p,.provider-card .base-url){font-size:12px;line-height:1.7;color:var(--muted)}
html[data-theme] .app-body :is(.team-tasks-card,.team-communication-card,.full-history-list){background:var(--panel2);border-color:var(--line);border-radius:10px}
html[data-theme] .app-body .modal h2{font-size:20px;color:var(--text);font-weight:600}
html[data-theme] .app-body .full-history-row{border-color:var(--line);padding:15px;gap:12px}
html[data-theme] .app-body .full-history-summary{font-size:12px;line-height:1.7;color:var(--soft)}
html[data-theme] .app-body .full-history-actor{font-size:10px;letter-spacing:0;text-transform:none;color:var(--accent)}
html[data-theme] .app-body .full-history-row time,html[data-theme] .app-body .full-history-meta{font-size:10px;color:var(--muted)}
html[data-theme] .app-body .full-history-details>summary{font-size:11px;color:var(--accent)}
html[data-theme] .app-body .full-history-details p{font-size:11px;line-height:1.7;color:var(--muted)}
html[data-theme] .app-body .full-history-details b{font-size:10px;letter-spacing:0;text-transform:none;color:var(--soft)}

@media(min-width:1650px){html[data-theme] .app-body #jobs-library[data-layout="cards"] tbody{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){
  html[data-theme] .app-body .main-panel{padding-right:25px;padding-left:25px}
  html[data-theme] .app-body .generate-intro{align-items:flex-start}
  html[data-theme] .app-body #view-generate .generate-intro{flex-wrap:wrap}
  html[data-theme] .app-body .gateway-pill{align-self:flex-start}
  html[data-theme] .app-body .jobs-page-head{align-items:flex-start;flex-direction:column}
  html[data-theme] .app-body #view-jobs .jobs-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  html[data-theme] .app-body .owner-action-bar{align-items:flex-start;flex-direction:column}
  html[data-theme] .app-body .starter-grid{gap:9px}
  html[data-theme] .app-body .starter-card{padding:14px}
  html[data-theme] .app-body .workspace-flow{gap:10px}
}
@media(max-width:900px){
  html[data-theme] .app-body .starter-grid{grid-template-columns:1fr}
  html[data-theme] .app-body .starter-card{grid-template-columns:34px minmax(0,1fr);gap:3px 12px;padding:15px 36px 15px 15px}
  html[data-theme] .app-body .starter-icon{grid-row:1/3;margin:0;align-self:center}
  html[data-theme] .app-body .starter-card>b{top:19px;right:17px}
  html[data-theme] .app-body .starter-heading small{display:none}
  html[data-theme] .app-body .workspace-flow{flex-wrap:wrap;gap:8px}
  html[data-theme] .app-body #jobs-library[data-layout="cards"] tbody{grid-template-columns:1fr}
  html[data-theme] .app-body .overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-theme] .app-body .workspace-welcome{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  html[data-theme] .app-body .sidebar{background:var(--bg2)!important;border-color:var(--line)}
  html[data-theme] .app-body .sidebar-mobile-open{background:var(--panel);border-color:var(--line);color:var(--soft)}
  html[data-theme] .app-body .main-panel{padding:0 17px 35px}
  html[data-theme] .app-body .topbar{height:71px;gap:12px}
  html[data-theme] .app-body .topbar>div:first-of-type{flex:1}
  html[data-theme] .app-body .topbar h1{max-width:43vw;font-size:13px}
  html[data-theme] .app-body .topbar-actions{gap:10px}
  html[data-theme] .app-body .user-chip>div:last-child{display:none}
  html[data-theme] .app-body .theme-toggle [data-theme-label]{display:none}
  html[data-theme] .app-body .view{padding-top:23px}
  html[data-theme] .app-body #view-generate .generate-intro{margin:9px 0 23px}
  html[data-theme] .app-body .generate-intro h2{font-size:29px}
  html[data-theme] .app-body #view-generate .composer-label-row{padding:18px 18px 0}
  html[data-theme] .app-body #view-generate .composer-pro #prompt{margin:9px 18px 0;width:calc(100% - 36px);font-size:13px}
  html[data-theme] .app-body #view-generate .runova-prompt-toolbar{margin:8px 18px 0}
  html[data-theme] .app-body #view-generate .runova-compact-settings{padding:14px 18px}
  html[data-theme] .app-body #view-generate .prompt-help-row{padding:15px 18px;align-items:stretch;flex-direction:column;gap:12px}
  html[data-theme] .app-body #view-generate .workspace-composer-actions{justify-content:flex-end}
  html[data-theme] .app-body #active-job{padding:18px}
  html[data-theme] .app-body #job-title{font-size:21px}
  html[data-theme] .app-body .runtime-metric{padding:13px 10px}
  html[data-theme] .app-body .runtime-metric strong{font-size:17px}
  html[data-theme] .app-body .pipeline-pro>span{gap:5px;padding:4px 0;font-size:10px}
  html[data-theme] .app-body .pipeline-pro>span b{width:22px;height:22px}
  html[data-theme] .app-body .job-live-head{flex-wrap:wrap;padding:14px}
  html[data-theme] .app-body .timeline-head-actions{margin-left:0}
  html[data-theme] .app-body .timeline-row{grid-template-columns:54px 19px minmax(0,1fr);gap:7px}
  html[data-theme] .app-body .job-activity{padding:0 13px}
  html[data-theme] .app-body .activity-message{font-size:11px}
  html[data-theme] .app-body .project-library-head{flex-wrap:wrap}
  html[data-theme] .app-body #view-jobs .jobs-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  html[data-theme] .app-body .jobs-summary-card{padding:13px}
  html[data-theme] .app-body .jobs-summary-card strong{font-size:24px}
  html[data-theme] .app-body .jobs-toolbar{padding:13px}
  html[data-theme] .app-body .jobs-search{flex-basis:100%}
  html[data-theme] .app-body .jobs-filter{flex:1 1 125px}
  html[data-theme] .app-body .jobs-bulk-actions{width:100%;justify-content:flex-end}
  html[data-theme] .app-body .jobs-pagination{gap:9px;font-size:10px;flex-wrap:wrap}
  html[data-theme] .app-body #jobs-library[data-layout="cards"] tr[data-job-id]{padding:18px;gap:13px 15px}
  html[data-theme] .app-body .recent-run{grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:14px}
  html[data-theme] .app-body .recent-run>b{display:none}
}
@media(prefers-reduced-motion:reduce){
  .app-body *, .app-body *::before, .app-body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* RC55 theme settings: personal browser preferences, visible to all roles. */
html[data-theme] .app-body #view-theme{max-width:1260px;margin:0 auto}
html[data-theme] .app-body .theme-settings-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:24px;align-items:start}
html[data-theme] .app-body .theme-settings-controls{min-width:0}
html[data-theme] .app-body .theme-settings-section{padding:23px;margin-bottom:20px}
html[data-theme] .app-body .theme-settings-section h3,html[data-theme] .app-body .theme-preview h3{margin:0;color:var(--text);font-size:16px;font-weight:650;letter-spacing:-.015em}
html[data-theme] .app-body .theme-settings-section>p{color:var(--muted);font-size:13px;line-height:1.7;margin:7px 0 20px}
html[data-theme] .app-body .theme-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html[data-theme] .app-body .theme-palette-card{position:relative;min-width:0;display:grid;gap:6px;text-align:left;background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:15px;color:var(--text);cursor:pointer}
html[data-theme] .app-body .theme-palette-card:hover{background:var(--ui-hover)}
html[data-theme] .app-body .theme-palette-card[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
html[data-theme] .app-body .theme-palette-card strong{font-size:13px;font-weight:650;line-height:1.5}
html[data-theme] .app-body .theme-palette-card strong>span{font-size:10px;color:var(--muted);font-weight:500;margin-left:3px}
html[data-theme] .app-body .theme-palette-card small{font-size:11px;color:var(--muted);line-height:1.6}
html[data-theme] .app-body .theme-selected-mark{display:none;position:absolute;right:10px;top:8px;color:var(--accent);font-size:15px;font-weight:600}
html[data-theme] .app-body .theme-palette-card[aria-pressed="true"] .theme-selected-mark{display:block}
html[data-theme] .app-body .theme-palette-swatches{display:flex;gap:0;height:26px;width:83px;border:1px solid var(--line2);border-radius:6px;overflow:hidden;margin:0 0 9px}
html[data-theme] .app-body .theme-palette-swatches i{display:block;width:28px;height:100%}
.swatch-classic-bg{background:#07090d}.swatch-classic-panel{background:#131821}.swatch-classic-accent,#theme-custom-swatch{background:#4f7cff}
.swatch-slate-bg{background:#10151b}.swatch-slate-panel{background:#303c4b}.swatch-slate-accent{background:#c4cdd8}
.swatch-violet-bg{background:#101116}.swatch-violet-panel{background:#2c2645}.swatch-violet-accent{background:#b5a4ff}
html[data-theme] .app-body .theme-custom-accent{padding-top:22px;margin-top:22px;border-top:1px solid var(--line);display:grid;gap:10px}
html[data-theme] .app-body .theme-custom-accent>label{font-size:13px;color:var(--text)}
html[data-theme] .app-body .theme-custom-accent>div{display:flex;gap:10px;align-items:center}
html[data-theme] .app-body #theme-accent-picker{width:49px;height:39px;padding:4px;cursor:pointer;flex:0 0 49px}
html[data-theme] .app-body #theme-accent-hex{max-width:170px;min-height:39px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
html[data-theme] .app-body .theme-custom-accent>small{color:var(--muted);font-size:12px;line-height:1.65}
html[data-theme] .app-body .theme-field-error{font-size:12px;line-height:1.6;color:var(--red);margin:0}
html[data-theme] .app-body .theme-mode-switch{display:flex;gap:10px;flex-wrap:wrap}
html[data-theme] .app-body .theme-mode-switch button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--soft);font-size:13px}
html[data-theme] .app-body .theme-mode-switch button[aria-pressed="true"]{color:var(--accent);border-color:var(--accent);background:var(--ui-accent-bg)}
html[data-theme] .app-body .theme-mode-switch svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round}
html[data-theme] .app-body .theme-save-status{font-size:12px;color:var(--muted);line-height:1.7;padding:0 3px;margin:0 0 20px}
html[data-theme] .app-body .theme-preview{padding:22px;position:sticky;top:103px;margin:0}
html[data-theme] .app-body .theme-preview-heading{display:grid;gap:6px;margin-bottom:20px}
html[data-theme] .app-body #theme-current-name{color:var(--muted);font-size:12px}
html[data-theme] .app-body .theme-preview-canvas{border:1px solid var(--line2);border-radius:10px;background:var(--bg);overflow:hidden}
html[data-theme] .app-body .theme-preview-nav{background:var(--bg2);padding:13px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}
html[data-theme] .app-body .theme-preview-logo{display:grid;place-items:center;width:27px;height:27px;background:var(--ui-button);color:var(--ui-button-text);border-radius:7px;font-weight:700;font-size:13px;margin-right:5px}
html[data-theme] .app-body .theme-preview-nav-item{font-size:11px;color:var(--muted);padding:7px 10px;border-radius:6px}
html[data-theme] .app-body .theme-preview-nav-item.active{background:var(--ui-accent-bg);color:var(--accent)}
html[data-theme] .app-body .theme-preview-content{padding:24px 20px}
html[data-theme] .app-body .theme-preview-content h4{font-size:23px;line-height:1.3;letter-spacing:-.025em;color:var(--text);margin:9px 0 11px;font-weight:600}
html[data-theme] .app-body .theme-preview-content>p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 22px}
html[data-theme] .app-body .theme-preview-input{border:1px solid var(--line2);background:var(--panel);color:var(--soft);font-size:12px;padding:12px;border-radius:7px}
html[data-theme] .app-body .theme-preview-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
html[data-theme] .app-body .theme-preview-primary,html[data-theme] .app-body .theme-preview-secondary{display:inline-block;border-radius:7px;padding:9px 12px;font-size:12px;font-weight:600;border:1px solid var(--line2)}
html[data-theme] .app-body .theme-preview-primary{background:var(--ui-button);color:var(--ui-button-text);border-color:transparent}
html[data-theme] .app-body .theme-preview-secondary{background:var(--panel);color:var(--soft)}
html[data-theme] .app-body .theme-preview-code{background:var(--panel2);border:1px solid var(--line);color:var(--soft);border-radius:7px;padding:13px;overflow:auto;font-size:11px}
html[data-theme] .app-body .theme-preview-note{font-size:12px;line-height:1.7;color:var(--muted);margin:18px 0 0}
html[data-theme] .app-body .runova-vm-tabs button.active{background:var(--ui-button);color:var(--ui-button-text)}
@media(max-width:1150px){html[data-theme] .app-body .theme-settings-layout{grid-template-columns:1fr}html[data-theme] .app-body .theme-preview{position:static;max-width:650px;width:100%}}
@media(max-width:500px){html[data-theme] .app-body .theme-settings-section,html[data-theme] .app-body .theme-preview{padding:17px}html[data-theme] .app-body .theme-palette-card{padding:13px}html[data-theme] .app-body .theme-mode-switch{gap:7px}html[data-theme] .app-body .theme-preview-content{padding:21px 16px}}

/* RC56: personal appearance lives in Account rather than a one-item Settings group. */
html[data-theme] .app-body #view-account{max-width:1260px;margin:0 auto}
html[data-theme] .app-body .account-tab-list{display:flex;align-items:center;gap:23px;border-bottom:1px solid var(--line);margin:0 0 25px}
html[data-theme] .app-body .account-tab-list>button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:10px 1px 13px;font-size:13px;font-weight:600;white-space:nowrap}
html[data-theme] .app-body .account-tab-list>button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}
html[data-theme] .app-body .account-tab-list>button:hover{color:var(--text)}
html[data-theme] .app-body #account-security-panel[hidden],html[data-theme] .app-body #view-theme[hidden]{display:none!important}
html[data-theme] .app-body .account-appearance-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px}
html[data-theme] .app-body .account-appearance-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
html[data-theme] .app-body .account-appearance-head .secondary-button{flex:0 0 auto}
@media(max-width:600px){html[data-theme] .app-body .account-tab-list{gap:20px}html[data-theme] .app-body .account-appearance-head{align-items:flex-start;flex-direction:column;gap:14px}}

/* Keep status hooks available without reserving space for removed helper copy. */
html[data-theme] .app-body p:empty,html[data-theme] .app-body small:empty,html[data-theme] .app-body .field-help:empty,html[data-theme] .app-body #workspace-prompt-help:empty,html[data-theme] .app-body #page-kicker[hidden]{display:none!important}
html[data-theme] .app-body #view-generate .workspace-composer-actions{margin-left:auto}
html[data-theme] .app-body .ui-reference>summary{cursor:pointer;color:var(--soft);font-size:13px;font-weight:600}
html[data-theme] .app-body .ui-reference[open]>summary{margin-bottom:14px}
html[data-theme] .app-body .ui-reference>p{color:var(--muted);font-size:12px;line-height:1.7}
html[data-theme] .app-body .theme-settings-section>h3{margin-bottom:18px}
@media(max-width:600px){html[data-theme] .app-body #view-generate .workspace-composer-actions{margin-left:0;justify-content:flex-end}}
