:root{color-scheme:dark;--bg:#090e1b;--panel:#11192b;--panel2:#151f35;--line:#273451;--text:#e8edf7;--muted:#91a0bd;--blue:#67a7ff;--green:#43d19e;--red:#ff7c85;--amber:#f3c86a;--sidebar:238px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#0e1526;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#5f8fff,#7b65e9);font-weight:800}.brand b,.brand small{display:block}.brand b{font-size:17px}.brand small{color:var(--muted)}nav{display:grid;gap:6px}.nav{border:0;background:transparent;color:var(--muted);padding:11px 12px;border-radius:10px;text-align:left;font:inherit;cursor:pointer}.nav span{display:inline-block;width:27px}.nav:hover,.nav.active{color:#fff;background:#1a2540}.sidebar-foot{margin-top:auto;padding:13px 10px;border-top:1px solid var(--line);color:var(--muted);display:flex;gap:9px;align-items:center}.dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 12px var(--green)}.app{margin-left:var(--sidebar);min-height:100vh}.topbar{height:76px;padding:0 28px;display:flex;align-items:center;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);background:#0d1424;position:sticky;top:0;z-index:10}.topbar h1{font-size:21px;margin:0}.topbar p{margin:2px 0 0;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:14px;color:var(--muted)}.pill{border:1px solid var(--green);color:var(--green);padding:6px 10px;border-radius:999px;font-size:11px}.icon-btn{display:none;border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:9px;padding:7px 10px;font-size:18px;cursor:pointer}main{padding:26px;max-width:1450px;margin:auto}.page{display:none}.page.active{display:block}.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#182541,#11192d);padding:27px;border:1px solid #2a3958;border-radius:16px}.hero h2{font-size:34px;margin:7px 0}.hero p,.page-intro p{margin:0;color:var(--muted)}.hero-side{text-align:right}.hero-side span,.hero-side b{display:block}.hero-side span{color:var(--muted);font-size:11px}.hero-side b{margin-top:5px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:18px 0}.card,article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.card strong{display:block;font-size:28px;margin-top:7px}.muted,small{color:var(--muted)}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.article-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}h3{font-size:16px;margin:0}.link{border:0;background:none;color:var(--blue);cursor:pointer}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 0;border-top:1px solid #222d47}.row:first-child{border-top:0}.row b{overflow-wrap:anywhere}.ok{color:var(--green)}.failed,.dispatch_failed{color:var(--red)}.running,.queued,.submitted{color:var(--blue)}.ready,.planned,.pending{color:var(--amber)}.completed{color:var(--green)}.bar{height:7px;background:#202b45;border-radius:9px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:var(--blue)}.page-intro{margin-bottom:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid #222d47;vertical-align:top}.table th{color:var(--muted);font-size:11px;text-transform:uppercase}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:#151f35}.truncate{max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters{display:flex;gap:8px;margin-bottom:14px}.filter{border:1px solid var(--line);background:#0f1728;color:var(--muted);padding:7px 11px;border-radius:999px;cursor:pointer}.filter.active{background:#243252;color:#fff}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kv{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid #222d47}.kv:first-of-type{margin-top:12px}.drawer-backdrop{position:fixed;inset:0;background:#0008;opacity:0;visibility:hidden;transition:.2s;z-index:30}.drawer{position:fixed;inset:0 0 0 auto;width:min(520px,92vw);background:#0e1526;border-left:1px solid var(--line);padding:22px;transform:translateX(100%);transition:.22s;z-index:31;overflow:auto}.drawer.open{transform:none}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.drawer .icon-btn{display:block}.drawer h2{margin:4px 0 0}.detail-block{padding:15px 0;border-bottom:1px solid var(--line)}.detail-block label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;margin-bottom:5px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.empty{color:var(--muted);padding:20px 0}.error-banner{background:#3a1c25;color:#ffb3bb;padding:12px;border-radius:10px}@media(max-width:1050px){.cards{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:1fr}.truncate{max-width:260px}}@media(max-width:780px){:root{--sidebar:230px}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app{margin-left:0}.icon-btn{display:block}.topbar{padding:0 16px}.top-actions #updated{display:none}main{padding:16px}.grid.two{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start}.hero-side{display:none}.table-wrap{overflow:auto}.table{min-width:720px}}
.login-body{min-height:100vh;display:grid;place-items:center;background:#0b1020}.login-card{width:min(420px,calc(100% - 32px));background:#151c30;border:1px solid #2b3655;border-radius:18px;padding:32px;box-shadow:0 24px 80px #0008}.login-card h1{margin:12px 0 4px}.login-card label{display:block;margin:18px 0;color:#b9c4dc}.login-card input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border-radius:9px;border:1px solid #3b4768;background:#0d1426;color:#fff}.login-card button{width:100%;padding:12px;border:0;border-radius:9px;font-weight:700;cursor:pointer}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#111;font-weight:900}.muted{opacity:.7}.login-error{color:#ff8f8f;min-height:1.2em}

.session-bar{position:fixed;right:18px;top:14px;z-index:20;display:flex;gap:10px;align-items:center;font-size:12px}.session-bar button{padding:6px 10px;border-radius:7px;border:1px solid #3b4768;background:#151c30;color:#fff}
/* Build 32: non-overlapping session controls and interactive job phase 1 */
.top-actions{min-width:0;flex-wrap:nowrap}.session-identity{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:650}.logout-btn,.primary-btn,.secondary-btn,.job-action{border:1px solid var(--line);border-radius:9px;padding:8px 12px;font:inherit;cursor:pointer}.logout-btn,.secondary-btn{background:var(--panel);color:var(--text)}.primary-btn{background:#316fd8;border-color:#4c86e8;color:white;font-weight:700}.primary-btn:hover{background:#3d7be3}.page-intro-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.job-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.job-action{background:#182541;color:#fff}.job-action:disabled{opacity:.45;cursor:not-allowed}.artifact-preview{white-space:pre-wrap;background:#080d19;border:1px solid var(--line);border-radius:10px;padding:12px;max-height:300px;overflow:auto;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.modal-backdrop{position:fixed;inset:0;background:#000a;z-index:50;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal{width:min(680px,100%);background:#10192b;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 30px 100px #000}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:3px 0 0}.modal-close{background:transparent;border:0;color:#fff;font-size:25px;cursor:pointer}.modal label{display:block;margin:14px 0;color:var(--text)}.modal input{display:block;width:100%;margin-top:7px;background:#0a1120;color:#fff;border:1px solid #35425f;border-radius:9px;padding:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-error{min-height:1.3em;color:#ff9ba3}.action-result{margin-top:12px;padding:10px;border-radius:9px;background:#102b25;color:#82e6c4}.action-error{margin-top:12px;padding:10px;border-radius:9px;background:#361d25;color:#ffabb3}@media(max-width:980px){.top-actions{gap:8px}.top-actions #updated{display:none}.session-identity{max-width:120px}}@media(max-width:600px){.top-actions .pill{display:none}.session-identity{max-width:90px}.page-intro-actions{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}}

.danger-btn{border:1px solid #d95b68;background:#8d2834;color:#fff;padding:9px 14px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}.danger-btn:hover{background:#a93442}.artifact-preview{max-height:320px;overflow:auto}

.wide-modal{max-width:850px}.path-picker{display:flex;gap:8px}.path-picker input{flex:1}.file-browser{max-height:280px;overflow:auto;border:1px solid #334155;border-radius:10px;padding:10px;margin:10px 0}.browser-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.browser-entry{display:block;width:100%;text-align:left;padding:9px;border:0;background:transparent;color:inherit;border-radius:7px}.browser-entry:hover{background:#172033}.preview-result{max-height:260px;overflow:auto;margin:10px 0}.preview-list div{padding:6px;border-bottom:1px solid #263247}.preview-list small{display:block;color:#94a3b8}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input{width:auto!important}

/* Build 37: Dashboard Creation Wizard */
.wizard-modal{width:min(940px,100%);max-height:94vh;overflow:auto}.wizard-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 22px}.wizard-step{border:1px solid var(--line);background:#0c1424;color:var(--muted);border-radius:10px;padding:9px 7px;font:inherit;font-size:12px;cursor:default}.wizard-step span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#202c45;margin-right:5px}.wizard-step.active{border-color:#4c86e8;color:#fff;background:#162440}.wizard-step.done{color:var(--green);border-color:#2c6b5b}.wizard-panel{display:none;min-height:330px}.wizard-panel.active{display:block}.wizard-panel h3{font-size:20px;margin:4px 0 8px}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.mode-card{position:relative;display:grid!important;grid-template-columns:auto 1fr;column-gap:13px;align-items:center;border:1px solid var(--line);background:#0c1424;border-radius:14px;padding:20px!important;cursor:pointer;margin:0!important}.mode-card input{position:absolute;opacity:0}.mode-card b,.mode-card small{grid-column:2}.mode-card small{margin-top:5px}.mode-card.selected{border-color:#5b8ff1;background:#172541;box-shadow:0 0 0 1px #5b8ff155}.mode-icon{grid-row:1/3;font-size:30px;color:#79a7ff}.worker-choice-list{display:grid;gap:12px;margin-top:20px}.worker-choice{border:1px solid var(--line);background:#0c1424;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.worker-choice.selected{border-color:#5b8ff1;background:#172541}.worker-choice .status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block;margin-right:8px}.selected-path{border:1px solid #30405f;background:#0a1120;border-radius:10px;padding:12px;margin:14px 0}.selected-path span,.selected-path b{display:block}.selected-path span{font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:5px}.selected-path b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.wizard-browser{display:block!important;max-height:310px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.review-item{border:1px solid var(--line);background:#0b1322;border-radius:10px;padding:12px}.review-item small,.review-item b{display:block}.review-item b{margin-top:5px;overflow-wrap:anywhere}.wizard-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.advanced-toggle{text-align:right;margin-top:10px}@media(max-width:720px){.wizard-steps{grid-template-columns:repeat(5,42px);justify-content:space-between}.wizard-step{font-size:0}.wizard-step span{font-size:12px;margin:0}.mode-cards,.review-grid{grid-template-columns:1fr}.wizard-panel{min-height:380px}}

/* Build 38: Recursive Batch Wizard UX */
.browser-stats{display:block;margin-top:4px}.browser-entry{display:flex;align-items:center;justify-content:space-between;gap:12px}.browser-entry small{white-space:nowrap}.review-wide{grid-column:1/-1}.preview-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.preview-summary>div{border:1px solid var(--line);background:#0b1322;border-radius:10px;padding:12px}.preview-summary small,.preview-summary b{display:block}.preview-summary b{font-size:17px;margin-top:5px}.preview-list{max-height:290px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:12px 0}.preview-list div{padding:9px 11px}.form-error:empty{display:none}@media(max-width:760px){.preview-summary{grid-template-columns:1fr 1fr}}

.profile-heading{margin-top:22px}.profile-choice-list,.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.profile-card{border:1px solid var(--line,#dce3ea);border-radius:12px;padding:14px;background:var(--panel,#fff);text-align:left}.profile-card.selectable{cursor:pointer}.profile-card.selected{border-color:#2f80ed;box-shadow:0 0 0 2px rgba(47,128,237,.12)}.profile-card.unavailable{opacity:.62}.profile-card small,.profile-card span{display:block;margin-top:5px}.profile-badge{display:inline-block!important;width:auto;padding:3px 8px;border-radius:999px;background:#e9f7ef;color:#237a49;font-size:12px}.profile-card.unavailable .profile-badge{background:#f3f4f6;color:#6b7280}
