:root{
    --bg:#090909;
    --panel:#141414;
    --panel-2:#101010;
    --panel-3:#1a1a1a;
    --line:#2b2b2b;
    --line-2:#3a3a3a;
    --text:#f1f1f1;
    --muted:#a8a8a8;
    --accent:#d8d8d8;
    --amber-1:#4f4023;
    --amber-2:#201a11;
    --slate-1:#2f3338;
    --slate-2:#15171a;
    --red-1:#4b2f31;
    --red-2:#1b1314;
    --ok:#84cc16;
    --warn:#f59e0b;
    --bad:#ef4444;
}
*{box-sizing:border-box}
body{
    margin:0;
    background:linear-gradient(180deg,#050505,#0a0a0a 30%,#090909);
    color:var(--text);
    font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;
    display:flex;
    min-height:100vh;
}
.sidebar{
    width:250px;
    background:linear-gradient(180deg,#111111,#090909);
    border-right:1px solid var(--line);
    padding:26px 20px;
    position:sticky;
    top:0;
    height:100vh;
}
.brand-kicker,.eyebrow{
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11px;
    color:#8f8f8f;
}
h1{font-size:28px;line-height:1.05;margin:6px 0 30px}
h2{font-size:34px;margin:6px 0 10px}
h3{font-size:24px;margin:0}
h4{font-size:18px;margin:0 0 6px}
p{margin:0}
.muted,small{color:var(--muted)}
.smallhint{font-size:13px}
nav a{
    display:block;
    color:#c9c9c9;
    text-decoration:none;
    padding:13px 14px;
    margin:6px 0;
    border:1px solid transparent;
    background:transparent;
}
nav a:hover{background:#181818;border-color:var(--line)}
.logout{margin-top:25px;color:#ffb4b4!important}
.page-shell{padding:28px 30px 36px;max-width:1700px;width:100%}
.page-head,.panel-title-row,.run-head,.job-card-top,.head-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.head-actions{flex-wrap:wrap}
.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;margin-bottom:20px}
.hero-card,.panel,.job-card,.metric-box,.browser,.logbox,pre,input,select,button,.data-table{border:1px solid var(--line);border-radius:0}
.hero-card{
    padding:18px;
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:linear-gradient(135deg,#161616,#0d0d0d);
}
.accent-amber{background:linear-gradient(135deg,var(--amber-1),var(--amber-2) 70%)}
.accent-slate{background:linear-gradient(135deg,var(--slate-1),var(--slate-2) 70%)}
.accent-red{background:linear-gradient(135deg,var(--red-1),var(--red-2) 70%)}
.hero-label{color:#d0d0d0;font-size:14px}
.hero-value{font-size:40px;font-weight:800;line-height:1}
.hero-sub{color:#c1c1c1;font-size:14px}
.panel{
    background:linear-gradient(180deg,#111111,#0b0b0b);
    padding:20px;
    margin-bottom:20px;
}
.progress-panel{background:linear-gradient(180deg,#171717,#0d0d0d)}
.job-cards{display:grid;grid-template-columns:repeat(2,minmax(340px,1fr));gap:18px}
.job-card{padding:18px;background:linear-gradient(180deg,#151515,#0d0d0d)}
.job-card.is-disabled{opacity:.7}
.job-state{padding:8px 12px;border:1px solid var(--line-2);text-transform:uppercase;font-size:12px;letter-spacing:.08em;background:#101010}
.job-state.success{color:var(--ok)}
.job-state.warning,.job-state.partial{color:var(--warn)}
.job-state.error,.job-state.interrupted{color:var(--bad)}
.job-state.running,.job-state.queued,.job-state.scanning{color:#d8d8d8}
.metric-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.metric-box{padding:14px;background:linear-gradient(90deg,#141414,#0d0d0d);position:relative}
.metric-box.accent-left::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:#666}
.metric-box.amber::before{background:#9d7f44}
.metric-box.slate::before{background:#6b7280}
.metric-box .label{color:#b4b4b4;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.metric-box .value{font-size:28px;font-weight:800;margin-top:8px}
.metric-box .sub{color:#b1b1b1;font-size:13px;margin-top:6px}
.job-meta-grid,.run-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px 18px;margin-top:10px}
.job-meta-grid span,.run-meta-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.job-meta-grid strong,.run-meta-grid strong{display:block;margin-top:5px}
.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(260px,1fr))}
label{display:block;color:#bfbfbf;font-size:14px}
input,select{width:100%;margin-top:8px;padding:12px 13px;background:#0c0c0c;color:white}
button{background:linear-gradient(180deg,#d8d8d8,#bdbdbd);border-color:#8a8a8a;color:#101010;padding:10px 14px;font-weight:800;cursor:pointer}
button:hover{filter:brightness(1.05)}
button.ghost{background:linear-gradient(180deg,#242424,#171717);border-color:#3a3a3a;color:#f1f1f1}
button.danger{background:linear-gradient(180deg,#722525,#4a1a1a);border-color:#8f3535;color:#fff}
summary{cursor:pointer;font-size:18px}
.data-table{width:100%;border-collapse:collapse;background:#0d0d0d;overflow:hidden}
th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:#bebebe;font-weight:700;background:#161616}
.compact-table th,.compact-table td{padding:10px 11px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tabs button{background:linear-gradient(180deg,#202020,#141414);color:#f0f0f0;border-color:#3a3a3a}
.tab{display:none}.tab.active{display:block}
pre{white-space:pre-wrap;background:#090909;padding:14px;color:#ddd;max-height:460px;overflow:auto}
.logbox{background:#090909;padding:14px;max-height:340px;overflow:auto}.logbox.big{max-height:75vh}.dashboard-log{max-height:280px}
.logbox div{padding:8px 0;border-bottom:1px solid #202020}
.browsergrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.browser{background:#090909;min-height:240px;max-height:420px;overflow:auto;padding:10px}.item{padding:10px;border-bottom:1px solid #1d1d1d;cursor:pointer}.item:hover{background:#141414}.folder:before{content:'📁 ';}.file:before{content:'📄 ';}
.inline{display:flex;gap:8px;align-items:end}.inline input{flex:1}.topGap{margin-top:18px}
.bar{height:16px;background:#0a0a0a;border:1px solid var(--line);overflow:hidden;margin:12px 0}.bar i{display:block;height:100%;background:linear-gradient(90deg,#6d6d6d,#d0d0d0)}
.actions{margin:18px 0;display:flex;gap:8px;flex-wrap:wrap}.actions.compact{margin:14px 0 0}
.alert{padding:12px 14px;margin-bottom:14px}.alert.bad{background:#3a1018;color:#fecaca;border:1px solid #7f1d1d}
.loginBody{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#060606,#101010)}
.loginBox{width:min(440px,calc(100vw - 28px));margin:20px;background:linear-gradient(180deg,#171717,#0d0d0d);padding:20px;border:1px solid var(--line)}
.loginBox h1{margin-bottom:10px}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}.split-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.empty-state{padding:24px;border:1px dashed #3a3a3a;color:#bbb;background:#0e0e0e}
@media(max-width:1180px){.job-cards,.hero-grid,.split-panel,.browsergrid,.two{grid-template-columns:1fr}}
@media(max-width:980px){body{display:block}.sidebar{width:auto;height:auto;position:relative}.page-shell{padding:18px}.inline{display:block}.page-head,.panel-title-row,.run-head{display:block}.head-actions{margin-top:12px}.job-meta-grid,.run-meta-grid,.metric-duo{grid-template-columns:1fr}}
.metric-duo.triple{grid-template-columns:repeat(3,minmax(160px,1fr))}
.metric-box.red::before{background:#8b3a3a}
.system-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}
.run-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
button:disabled{opacity:.45;cursor:not-allowed;filter:none}
@media(max-width:1180px){.metric-duo.triple,.system-grid{grid-template-columns:1fr}}
html,body{max-width:100%;overflow-x:hidden}
.page-shell{min-width:0;overflow-x:hidden}
pre,.logbox,.logEntry,.data-table,td,th{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.logEntry{padding:8px 0;border-bottom:1px solid #202020}.logEntry summary{font-size:13px;line-height:1.45;cursor:pointer}.logEntry pre{margin:8px 0 0;max-height:220px;overflow:auto;white-space:pre-wrap;background:#050505}
.tableWrap{max-height:70vh;overflow:auto;border:1px solid var(--line)}
.current-file{margin-top:14px;padding:12px;border:1px solid var(--line);background:#0b0b0b;display:grid;gap:6px}.current-file span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.current-file strong{overflow-wrap:anywhere}
.clickable{cursor:pointer}.clickable:hover{filter:brightness(1.15)}
.linkbtn{background:transparent;color:#f1f1f1;border:0;padding:0;text-decoration:underline;font-weight:700}
.modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.modalBox{width:min(1200px,96vw);max-height:90vh;overflow:hidden;background:#101010;border:1px solid var(--line);padding:18px}
.jobs-table td:nth-child(2),.jobs-table td:nth-child(3){max-width:260px}
.hero-grid.system-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.hero-grid.system-grid{grid-template-columns:1fr 1fr}.modalBackdrop{align-items:flex-start}}
@media(max-width:780px){.hero-grid.system-grid{grid-template-columns:1fr}}
.queue-box{margin:14px 0;padding:12px;border:1px solid var(--line);background:#0b0b0b;display:grid;gap:4px}
.queue-box strong{font-size:18px}.queue-box small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
label small{display:block;margin-top:6px;color:var(--muted);line-height:1.35}
.job-list{display:grid;gap:12px}
.job-config{border:1px solid var(--line);background:linear-gradient(180deg,#121212,#0b0b0b);padding:0}
.job-config>summary{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(230px,.8fr) auto;gap:16px;align-items:center;padding:14px 16px;list-style:none}
.job-config>summary::-webkit-details-marker{display:none}
.job-config[open]>summary{border-bottom:1px solid var(--line);background:#111}
.job-summary-main{display:grid;gap:4px;min-width:0}.pathline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.job-summary-meta{display:grid;gap:6px;justify-items:start}.job-summary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pill{display:inline-block;border:1px solid var(--line-2);padding:6px 10px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;background:#0b0b0b;color:#ddd}.pill.running,.pill.scanning{color:#fff}.pill.queued,.pill.partial{color:#f59e0b}.pill.paused{color:#facc15}.pill.error,.pill.stopping{color:#ef4444}.pill.success{color:#84cc16}
.job-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;padding:16px}.job-live-line{margin:0 16px 16px;padding:12px;border:1px solid var(--line);background:#090909;color:#d0d0d0;overflow-wrap:anywhere}.job-live-line span{color:var(--muted)}
.smallValue{font-size:18px!important;line-height:1.25}.hidden{display:none!important}
.live-job-grid{display:grid;grid-template-columns:repeat(2,minmax(340px,1fr));gap:14px;margin-top:14px}.live-job-card{border:1px solid var(--line);background:linear-gradient(180deg,#141414,#090909);padding:16px}.live-summary{margin-bottom:12px}.run-list{margin-top:14px;border:1px solid var(--line);padding:12px;background:#090909}.run-list summary{font-size:15px}
.miniBar{height:8px;background:#050505;border:1px solid var(--line);margin-top:8px}.miniBar i{display:block;height:100%;background:linear-gradient(90deg,#6d6d6d,#d0d0d0)}
@media(max-width:1200px){.job-config>summary{grid-template-columns:1fr}.job-summary-actions{justify-content:flex-start}.job-detail-grid,.live-job-grid{grid-template-columns:1fr}}
