:root{color-scheme:dark;--bg-root: #070b14;--bg-panel: #0f1626;--bg-elevated: #151f33;--bg-hover: #1b2740;--border: #24324d;--border-strong: #35507a;--text: #e7edf8;--text-muted: #8b9bb8;--text-dim: #5c6d8c;--accent: #4f8cff;--accent-soft: rgba(79, 140, 255, .14);--flow: #2dd4bf;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--radius: 14px;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-ui);background:radial-gradient(circle at top left,rgba(79,140,255,.12),transparent 28%),radial-gradient(circle at 80% 0%,rgba(45,212,191,.08),transparent 24%),var(--bg-root);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--border);background:#0a101ceb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.brand-mark{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--flow)}.brand-title{font-size:22px;font-weight:700;line-height:1.1}.brand-sub{color:var(--text-muted);font-size:13px}.nav-list{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:var(--text-muted);transition:background .15s ease,color .15s ease}.nav-link:hover,.nav-link.active{background:var(--accent-soft);color:var(--text)}.main{padding:28px 32px 48px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-title{margin:0;font-size:28px;font-weight:700}.page-desc{margin:8px 0 0;color:var(--text-muted);max-width:720px}.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.panel{background:linear-gradient(180deg,#151f33f5,#0f1626f5);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--border)}.panel-title{margin:0;font-size:15px;font-weight:600}.stat-card{padding:18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-panel)}.stat-label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.stat-value{margin-top:10px;font-size:28px;font-weight:700;font-family:var(--font-mono)}.stat-foot{margin-top:8px;color:var(--text-muted);font-size:12px}.muted{color:var(--text-muted)}.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.quick-link{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05;color:var(--text-muted);font-size:13px}.quick-link:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.health-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#ffffff05}.health-key{font-size:12px;color:var(--text-muted)}.health-value{margin-top:4px;font-weight:600}.health-value.ok{color:var(--success)}.health-value.warn{color:var(--warning)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progress-wrap{display:inline-flex;align-items:center;gap:8px;min-width:110px}.progress-track{flex:1;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--flow))}.progress-label{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);min-width:36px}.engine-meta{margin-top:16px;padding:10px 2px;color:var(--text-dim);font-size:12px;font-family:var(--font-mono)}@media(max-width:960px){.overview-grid{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;font-family:var(--font-mono)}.badge.running{background:#4f8cff29;color:#93c5fd}.badge.success{background:#22c55e29;color:#86efac}.badge.warning{background:#f59e0b29;color:#fcd34d}.badge.danger{background:#ef444429;color:#fca5a5}.badge.muted{background:#94a3b81f;color:#cbd5e1}.table-wrap{overflow:auto}table.data-table{width:100%;border-collapse:collapse;font-size:14px}table.data-table th,table.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}table.data-table th{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em}table.data-table tr:hover td{background:#ffffff05}.mono{font-family:var(--font-mono)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer}.btn:hover{background:var(--bg-hover)}.btn.primary{background:linear-gradient(180deg,#5b94ff,#3b74df);border-color:transparent}.btn.danger{background:#ef44441f;border-color:#ef444459;color:#fecaca}.btn:disabled{opacity:.55;cursor:not-allowed}.form-grid{display:grid;gap:14px}.form-row{display:grid;gap:8px}.form-row label{color:var(--text-muted);font-size:13px}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid var(--border);background:var(--bg-root);color:var(--text);border-radius:10px;padding:10px 12px}.form-row textarea{min-height:280px;font-family:var(--font-mono);font-size:13px;line-height:1.5}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:8px 14px;cursor:pointer}.tab.active{background:var(--accent-soft);color:var(--text);border-color:var(--border-strong)}.empty,.error,.loading{padding:28px;text-align:center;color:var(--text-muted)}.error{color:#fecaca}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metric-item{padding:14px;border:1px solid var(--border);border-radius:12px;background:#ffffff05}.metric-key{color:var(--text-dim);font-size:12px}.metric-value{margin-top:8px;font-family:var(--font-mono);font-size:18px}.metric-group-title{margin-bottom:10px;color:var(--text-dim);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.metric-detail{color:var(--text-muted);font-weight:400}.dag-list{display:grid;gap:10px}.dag-node{border:1px solid var(--border);border-left:3px solid var(--flow);border-radius:12px;padding:12px 14px;background:#ffffff05}.inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;cursor:pointer}.inline-check input{accent-color:var(--accent)}.tabs.compact{margin-bottom:0}.metrics-pre{white-space:pre-wrap;word-break:break-word;max-height:480px;overflow:auto;margin:0;font-size:12px;line-height:1.5;padding:14px;border:1px solid var(--border);border-radius:12px;background:#00000040}.dag-graph{display:grid;gap:16px}.dag-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dag-flow-item{display:flex;align-items:center;gap:8px}.dag-node-card{min-width:180px;max-width:260px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#ffffff05}.dag-node-type{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.dag-node-name{margin-top:6px;font-weight:600}.dag-node-meta,.dag-node-path{margin-top:6px;font-size:12px;color:var(--text-muted)}.dag-arrow{color:var(--text-dim);font-size:20px;padding:0 4px}.dag-edge-list{display:grid;gap:6px;padding:12px 14px;border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);font-size:12px}.cron-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.cron-preset-card{text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#ffffff05;color:var(--text);cursor:pointer}.cron-preset-card:hover,.cron-preset-card.active{border-color:var(--accent);background:var(--accent-soft)}.cron-preset-title{font-weight:600;font-size:14px}.cron-preset-hint{margin-top:4px;font-size:12px;color:var(--text-muted)}.cron-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cron-weekday-grid{display:flex;flex-wrap:wrap;gap:8px}.cron-weekday{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:13px}.cron-weekday.active{border-color:var(--accent);background:var(--accent-soft)}.cron-weekday input{accent-color:var(--accent)}.cron-preview{padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;background:#ffffff05}.cron-preview-title{font-size:12px;color:var(--text-muted);margin-bottom:6px}.cron-preview-expr{margin-top:8px;font-size:12px;color:var(--text-dim)}.cron-help{margin-top:8px;font-size:12px;color:var(--text-muted)}.schedule-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);color:var(--text-muted)}.schedule-badge.enabled{border-color:#22c55e59;color:var(--success);background:#22c55e14}.schedule-inline{align-items:center;color:inherit;display:inline-flex;gap:8px;max-width:280px;min-width:0;text-decoration:none;white-space:nowrap}.schedule-inline:hover .schedule-period{color:var(--accent)}.schedule-period{color:var(--text-muted);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}.login-shell{min-height:100vh}.login-card{width:min(420px,100%);display:grid;gap:14px;padding:28px 24px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#151f33f5,#0f1626f5);box-shadow:var(--shadow)}.login-title{margin:0;font-size:28px}.sidebar-user{margin-top:auto;padding-top:18px;border-top:1px solid var(--border)}.sidebar-user-name{font-weight:600}.sidebar-user-role{margin-top:4px;font-size:12px;color:var(--text-muted)}.config-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(245,158,11,.35);border-radius:12px;background:#f59e0b14;color:var(--warning)}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.main{padding:20px 16px 32px}}:root{color-scheme:dark;--bg-root:#06101d;--bg-panel:#0b1728;--bg-elevated:#0f2036;--bg-hover:#142a46;--border:rgba(137,170,210,.16);--border-strong:rgba(91,173,255,.48);--text:#f0f6ff;--text-muted:#8fa1bc;--text-dim:#61748f;--accent:#1677ff;--accent-soft:rgba(30,129,255,.16);--flow:#22d3c5;--success:#36d399;--warning:#f4b44b;--danger:#ff676b;--shadow:0 18px 55px rgba(0,7,19,.32);--radius:12px;--font-ui:"IBM Plex Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;--font-mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace}body{background:var(--bg-root);letter-spacing:-.01em}body:before{background:linear-gradient(115deg,rgba(20,95,184,.11),transparent 35%),linear-gradient(295deg,rgba(12,208,191,.045),transparent 30%);content:"";top:0;right:0;bottom:0;left:0;opacity:.72;pointer-events:none;position:fixed}button,input,select,textarea{letter-spacing:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4b9dff;outline-offset:2px}.app-shell{background:#07111e;grid-template-columns:236px minmax(0,1fr)}.sidebar{background:#050e1af5;border-right-color:#97bbe521;padding:22px 14px 16px;z-index:4}.brand{gap:12px;margin:2px 8px 32px}.brand-lockup{align-items:center;display:flex;gap:10px}.brand-orbit{align-items:center;background:#0b2a4a;border:1px solid rgba(66,192,255,.45);border-radius:10px;color:#4cd7ff;display:flex;height:34px;justify-content:center;position:relative;width:34px}.brand-orbit:after{border:1px solid rgba(52,213,190,.5);border-radius:50%;content:"";height:7px;position:absolute;right:-4px;top:-3px;width:7px}.brand-title{color:#f5f9ff;font-size:17px;font-weight:750;letter-spacing:-.04em}.brand-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;margin-top:2px;text-transform:uppercase}.brand-mark{color:#4f6685;font-family:var(--font-mono);font-size:9px;letter-spacing:.13em}.nav-list{gap:2px}.nav-section-label{color:#4b607c;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;margin:0 10px 7px;text-transform:uppercase}.nav-section-spaced{margin-top:22px}.nav-link{border:1px solid transparent;border-radius:8px;color:#8da1bc;font-size:13px;font-weight:520;gap:11px;min-height:38px;padding:9px 10px}.nav-link svg{color:#66809f;transition:color .18s ease,transform .18s ease}.nav-link:hover{background:#1b3a636b;color:#e9f3ff}.nav-link:hover svg{color:#75bcff;transform:translate(1px)}.nav-link.active{background:linear-gradient(90deg,#1268d63b,#1547891a);border-color:#4897ff26;box-shadow:inset 2px 0 #35b9ff;color:#f4f8ff}.nav-link.active svg{color:#4ec9ff}.sidebar-user{align-items:center;border-top:1px solid rgba(151,187,229,.14);display:grid;gap:0 8px;grid-template-columns:30px 1fr auto;margin-top:auto;padding:16px 7px 2px}.sidebar-user-avatar{align-items:center;background:#1b3554;border:1px solid rgba(126,197,255,.34);border-radius:50%;color:#cbe5ff;display:flex;font-family:var(--font-mono);font-size:12px;grid-row:1/3;height:30px;justify-content:center;width:30px}.sidebar-user-name{color:#dceaff;font-size:12px;font-weight:650}.sidebar-user-role{color:#667d9a;font-size:10px;margin-top:2px}.sidebar-user-caret{color:#617892;grid-row:1/3}.sidebar-user .actions{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1}.sidebar-user .btn{font-size:11px;min-height:29px;padding:5px 8px}.sidebar-user form{grid-column:1/-1}.main{min-width:0;padding:0 32px 42px;position:relative}.app-topbar{align-items:center;border-bottom:1px solid var(--border);display:flex;height:76px;justify-content:space-between;position:relative}.command-trigger{align-items:center;background:#0f2238ad;border:1px solid rgba(123,164,208,.23);border-radius:9px;color:#7890ad;display:flex;font-size:12px;gap:9px;min-height:38px;padding:0 11px;text-align:left;transition:.18s ease;width:min(430px,42vw)}.command-trigger:hover{background:#10243d;border-color:#59abff8c;color:#cbdcf1}.command-trigger svg{color:#4db9ff}kbd{align-items:center;background:#80a5cc1a;border:1px solid rgba(153,186,219,.13);border-radius:4px;color:#9db2ca;display:inline-flex;font-family:var(--font-mono);font-size:10px;gap:2px;margin-left:auto;padding:3px 5px}.topbar-actions{align-items:center;display:flex;gap:14px}.connection-indicator{align-items:center;color:#93a8bf;display:flex;font-size:11px;gap:7px;white-space:nowrap}.connection-dot{background:#657b98;border-radius:50%;height:6px;width:6px}.connection-dot.live{animation:connection-pulse 2.4s infinite;background:#32d89a;box-shadow:0 0 0 4px #32d89a1a}@keyframes connection-pulse{50%{box-shadow:0 0 0 7px #32d89a00}}.btn{align-items:center;background:#142b469e;border-color:#7eaee24d;border-radius:7px;color:#c9dcf4;display:inline-flex;font-size:12px;font-weight:600;gap:7px;justify-content:center;min-height:35px;padding:7px 12px;transition:.18s ease}.btn:hover:not(:disabled){background:#17385e;border-color:#4b9dff;transform:translateY(-1px)}.btn.primary{background:#1269db;border-color:#2f8cff;box-shadow:0 7px 20px #035bd533;color:#fff}.btn.primary:hover:not(:disabled){background:#237cf1}.btn.ghost{background:transparent}.btn.compact{min-height:34px;padding:6px 10px}.btn.danger{background:#e7455321;border-color:#ff667057;color:#ffadb2}.icon-button{align-items:center;background:transparent;border:1px solid rgba(133,178,226,.25);border-radius:7px;color:#93b9df;cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:.18s ease;width:34px}.icon-button:hover{background:#153558;border-color:#4b9dff;color:#fff}.command-menu{background:#102239;border:1px solid rgba(82,158,242,.38);border-radius:10px;box-shadow:0 22px 50px #00050e85;left:0;padding:8px;position:absolute;top:62px;width:310px;z-index:10}.command-menu-label{color:#6e87a6;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;padding:7px 8px;text-transform:uppercase}.command-menu a{align-items:center;border-radius:6px;color:#c8daef;display:flex;font-size:12px;gap:10px;padding:10px 8px}.command-menu a:hover{background:#2d7ad733;color:#fff}.command-menu svg{color:#55c8ff}.workspace-page{animation:surface-in .45s ease both;padding-top:27px}@keyframes surface-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.workspace-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:22px}.eyebrow,.section-kicker{color:#6f91b7;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.eyebrow{align-items:center;display:flex;gap:7px}.eyebrow-pulse{animation:connection-pulse 2.5s infinite;background:#25d8c5;border-radius:50%;height:6px;width:6px}.workspace-title{color:#f5f9ff;font-size:clamp(27px,2.5vw,34px);letter-spacing:-.05em;line-height:1.05;margin:6px 0 0}.workspace-header p{color:#8096b1;font-size:13px;margin:7px 0 0}.workspace-actions{align-items:center;display:flex;gap:9px}.refresh-toggle{align-items:center;color:#839bb6;cursor:pointer;display:flex;font-family:var(--font-mono);font-size:10px;gap:7px}.refresh-toggle input{display:none}.refresh-toggle span{background:#2cd59f;border-radius:50%;box-shadow:0 0 0 3px #2cd59f17;height:6px;width:6px}.refresh-toggle input:not(:checked)+span{background:#7386a0;box-shadow:none}.filter-drawer{align-items:end;animation:surface-in .2s ease;background:#0d1f33e6;border:1px solid rgba(82,158,242,.24);border-radius:10px;display:grid;gap:14px;grid-template-columns:1.3fr 1fr 1fr auto;margin:-6px 0 18px;padding:14px}.filter-title,.filter-help{display:block}.filter-title{color:#dceafa;font-size:12px;font-weight:650}.filter-help{color:#7189a6;font-size:11px;margin-top:4px}.filter-drawer label{display:grid;gap:5px}.filter-drawer label span{color:#7d96b4;font-size:10px}.filter-drawer input{min-height:33px}.signal-strip{align-items:stretch;background:linear-gradient(92deg,#0f243df2,#0a192beb);border:1px solid rgba(120,171,222,.22);border-radius:12px;display:grid;grid-template-columns:1.25fr repeat(4,minmax(94px,1fr)) auto;margin-bottom:18px;overflow:hidden}.signal-health,.signal-metric{border-right:1px solid rgba(137,170,210,.14);min-height:90px;padding:18px 20px}.signal-health{align-items:center;display:flex;gap:12px}.health-orb{background:#586d87;border-radius:50%;height:10px;position:relative;width:10px}.health-orb.healthy{background:#37dd9d;box-shadow:0 0 0 5px #37dd9d17}.health-orb.healthy:after{animation:beacon 2.4s infinite;border:1px solid rgba(55,221,157,.48);border-radius:50%;content:"";top:-6px;right:-6px;bottom:-6px;left:-6px;position:absolute}@keyframes beacon{to{opacity:0;transform:scale(1.8)}}.signal-health span:not(.health-orb),.signal-metric>span{color:#7791af;display:block;font-size:11px}.signal-health strong{color:#dcf8ec;display:block;font-size:16px;margin-top:4px}.signal-metric{display:flex;flex-direction:column;justify-content:center}.signal-metric strong{color:#f0f5fd;font-family:var(--font-mono);font-size:23px;letter-spacing:-.06em;line-height:1;margin:7px 0}.signal-metric small{color:#69809d;font-size:10px}.signal-metric.attention strong{color:#f7c363}.signal-metric.danger strong{color:#ff878d}.signal-metric .version-value{font-size:15px;letter-spacing:-.02em}.signal-cta{align-self:center;margin:0 16px;min-width:112px}.workflow-board{background:#0a192bc2;border:1px solid var(--border);border-radius:12px;margin-bottom:18px;overflow:hidden}.workflow-board-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 20px}.section-kicker{color:#4a9fc7;font-size:9px}.workflow-board h2,.data-surface h2{color:#eef6ff;font-size:17px;letter-spacing:-.025em;margin:5px 0 0}.workflow-board p{color:#7890ad;font-size:11px;margin:5px 0 0}.workflow-legend{align-items:center;color:#7189a5;display:flex;font-size:10px;gap:13px;padding-top:10px}.workflow-legend span{align-items:center;display:flex;gap:5px}.legend-dot{border-radius:50%;height:5px;width:5px}.legend-dot.scheduled{background:#71a7ff}.legend-dot.running{background:#20d9ca}.legend-dot.pending{background:#ad7bff}.workflow-lanes{padding:0 18px 18px}.flow-lane{border-bottom:1px solid rgba(137,170,210,.12);display:grid;grid-template-columns:142px 1fr;min-height:88px}.flow-lane:last-child{border-bottom:0}.flow-lane-label{align-items:center;border-right:1px solid rgba(137,170,210,.12);display:flex;gap:9px;padding:11px 12px 11px 2px}.flow-lane-label strong{color:#dbe9f8;display:block;font-size:12px}.flow-lane-label span:not(.flow-lane-icon){color:#7187a3;display:block;font-family:var(--font-mono);font-size:10px;margin-top:3px}.flow-lane-icon{color:#75c7fa;display:flex}.flow-lane:nth-child(2) .flow-lane-icon{color:#2ce4d4}.flow-lane:nth-child(3) .flow-lane-icon{color:#b091ff}.flow-lane-track{align-items:center;display:flex;gap:24px;min-width:0;overflow:hidden;padding:13px 18px;position:relative}.flow-lane-track:before{border-top:1px dashed rgba(103,157,213,.29);content:"";left:0;position:absolute;right:0;top:50%}.flow-node{background:#0b1c30;border:1px solid rgba(98,153,211,.32);border-radius:7px;flex:0 0 min(210px,30%);min-width:150px;padding:10px 12px;position:relative;transition:.18s ease;z-index:1}.flow-node:after{border-top:1px dashed rgba(117,168,219,.46);content:"";left:100%;position:absolute;top:50%;width:24px}.flow-node:last-child:after{display:none}.flow-node:hover{background:#102945;border-color:#5fc8ff;transform:translateY(-2px)}.flow-node.running{border-color:#1fdac8a3;box-shadow:0 0 0 1px #1fdac81a,0 0 24px #16c2d31a}.flow-node.pending{border-color:#b37dff99}.flow-node.scheduled{border-color:#71a7ff8c}.flow-node-title{color:#e3effc;font-family:var(--font-mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node-subtitle{color:#7590ae;font-size:10px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.35;display:flex;flex-direction:column;gap:2px}.flow-node-line{display:flex;align-items:baseline;gap:0;min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.flow-node-label{color:#6b849f;flex:0 0 auto;font-size:9px;letter-spacing:.04em}.flow-node-sep{color:#5f7a96;flex:0 0 auto;margin:0 4px 0 1px}.flow-node-value{color:#b7cce2;flex:1 1 auto;min-width:0}.flow-live-dot{animation:live-dot 1.4s infinite;background:#25e0ce;border-radius:50%;height:6px;position:absolute;right:10px;top:10px;width:6px}@keyframes live-dot{50%{box-shadow:0 0 0 4px #25e0ce00}}.flow-empty{align-items:center;background:#0c1f3580;border:1px dashed rgba(114,156,202,.32);border-radius:7px;color:#7d9abb;display:flex;font-size:11px;gap:8px;min-height:42px;padding:10px 13px;position:relative;z-index:1}.flow-empty:hover{border-color:#58b7ff;color:#d4eaff}.flow-empty.quiet{color:#7188a3}.plus-mark{align-items:center;border:1px solid currentColor;border-radius:50%;display:inline-flex;font-size:14px;height:16px;justify-content:center;line-height:1;width:16px}.operations-grid{display:grid;gap:18px;grid-template-columns:minmax(320px,.9fr) minmax(480px,1.3fr);margin-bottom:18px}.data-surface{background:#0a192bc2;border:1px solid var(--border);border-radius:12px;overflow:hidden}.surface-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:17px 20px}.surface-header a{align-items:center;color:#69baff;display:inline-flex;font-size:11px;gap:3px}.surface-header a:hover{color:#b8e2ff}.surface-meta{color:#6b829f;font-family:var(--font-mono);font-size:10px}.capacity-cards{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 16px 12px}.capacity-card{background:#10263fb8;border:1px solid rgba(137,170,210,.14);border-radius:10px;display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 13px}.capacity-card-label{align-items:center;color:#86a0bc;display:inline-flex;font-size:11px;gap:5px;line-height:1.2}.capacity-card-label svg{color:#42baf6;flex:0 0 auto}.capacity-card-value{color:#eef6ff;font-family:var(--font-mono);font-size:22px;font-weight:650;letter-spacing:-.03em;line-height:1.15;margin-top:2px}.capacity-card-foot{color:#6f87a4;font-size:11px;line-height:1.3}.capacity-bar{background:#6284a82e;border-radius:999px;height:5px;margin-top:6px;overflow:hidden}.capacity-bar>i{background:linear-gradient(90deg,#1bcbbd,#4aa7ef);border-radius:inherit;display:block;height:100%;min-width:0}.worker-mini-list{border-top:1px solid var(--border)}.worker-mini-list>div{align-items:center;border-bottom:1px solid rgba(137,170,210,.1);display:grid;gap:8px;grid-template-columns:8px 1fr auto minmax(70px,.6fr);min-height:37px;padding:0 20px}.worker-mini-list>div:last-child{border:0}.worker-mini-list code{color:#bdd0e5;font-size:10px}.worker-mini-list>div>span:not(.worker-state){color:#7087a3;font-size:10px}.worker-state{background:#37dba0;border-radius:50%;height:5px;width:5px}.data-empty{color:#748aa5;display:block!important;font-size:11px;padding:16px 20px!important}.meter{align-items:center;display:flex;gap:7px;min-width:65px}.meter-track{background:#7ea0c721;border-radius:4px;height:4px;overflow:hidden;width:100%}.meter-track i{background:#36c8ff;border-radius:inherit;display:block;height:100%}.meter>span{color:#7d96b2;font-family:var(--font-mono);font-size:9px;min-width:26px}.data-muted{color:#607791;font-family:var(--font-mono);font-size:10px}.job-ledger{padding:4px 20px 14px}.job-ledger-head,.job-ledger-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(130px,1.2fr) 88px 110px 18px}.job-ledger-head{border-bottom:1px solid rgba(137,170,210,.12);color:#627a97;font-family:var(--font-mono);font-size:9px;height:32px;text-transform:uppercase}.job-ledger-row{border-bottom:1px solid rgba(137,170,210,.1);color:#9db1c8;min-height:46px;transition:background .15s ease}.job-ledger-row:hover{background:#1f4b7733}.job-ledger-row>span:first-child{min-width:0}.job-ledger-row strong{color:#dbeafb;display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-ledger-row code{color:#6380a2;display:block;font-size:9px;margin-top:3px}.job-ledger-row>svg{color:#4d85bc}.job-ledger-time{color:#8298b2;font-family:var(--font-mono);font-size:10px}.job-ledger-empty{align-items:center;color:#6e87a4;display:grid;gap:11px;grid-template-columns:auto 1fr auto;min-height:128px}.job-ledger-empty>svg{color:#467cae}.job-ledger-empty strong{color:#c7d9ed;display:block;font-size:12px}.job-ledger-empty span{display:block;font-size:10px;margin-top:4px}.job-ledger-empty a{align-items:center;color:#63b8ff;display:flex;font-size:11px;gap:3px}.attention-callout{align-items:center;background:#8f511629;border-top:1px solid rgba(244,180,75,.28);color:#f8cf80;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:11px 20px}.attention-callout span strong,.attention-callout span small{display:block}.attention-callout span strong{font-size:11px}.attention-callout span small{color:#bb9764;font-size:10px;margin-top:2px}.node-surface{margin-bottom:18px}.node-ledger{padding:3px 20px 9px}.node-row{align-items:center;border-bottom:1px solid rgba(137,170,210,.1);display:grid;gap:18px;grid-template-columns:145px 1fr minmax(150px,1fr) minmax(150px,1fr) 80px 20px;min-height:52px}.node-row:last-child{border:0}.node-role{align-items:center;color:#b5cae1;display:flex;font-size:11px;gap:7px}.node-role i{background:#36da9e;border-radius:50%;height:5px;width:5px}.node-row code{color:#86a6c8;font-size:10px}.node-label{color:#69829f;display:block;font-size:9px;margin-bottom:5px}.node-threads{color:#d5e3f2;font-family:var(--font-mono);font-size:12px}.node-threads small{color:#6e88a4;font-family:var(--font-ui);font-size:9px}.row-menu{background:transparent;border:0;color:#6682a2;cursor:pointer;padding:2px}.row-menu:hover{color:#c5e3ff}.page-header{align-items:flex-end;border-bottom:1px solid var(--border);margin:0 0 21px;padding:27px 0 19px}.page-title{color:#f2f7ff;font-size:27px;letter-spacing:-.045em}.page-desc{color:#8096b1;font-size:13px;margin-top:7px}.panel{background:#0a192bc2;border-color:var(--border);border-radius:11px;box-shadow:none}.panel-header{border-bottom-color:var(--border);padding:15px 18px}.panel-title{color:#e9f3ff;font-size:14px;font-weight:680}.panel-body{padding:18px}.grid.stats{gap:12px}.stat-card{background:#0d2036ad;border-color:var(--border);border-radius:9px;padding:16px}.stat-label,.metric-key{color:#7891ad;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em}.stat-value{color:#f1f7ff;font-size:25px;margin-top:8px}.stat-foot{color:#7188a5;font-size:11px}.metric-item{background:#10263f99;border:1px solid rgba(137,170,210,.12);border-radius:8px;padding:12px}.metric-value{color:#e1edf9;font-size:13px;margin-top:7px}.metric-grid{gap:10px}.data-table{border-collapse:separate;border-spacing:0}.data-table th{background:#0b1c2f80;border-bottom-color:#89aad229;color:#647d9a;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding:11px 12px;text-transform:uppercase}.data-table td{border-bottom-color:#89aad21a;color:#bed0e4;font-size:12px;padding:12px}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#1f4b7733}.data-table a{color:#68bbff}.table-wrap{border:1px solid rgba(137,170,210,.14);border-radius:8px}.badge{border-radius:5px;font-size:10px;letter-spacing:.03em;padding:4px 7px}.tabs{border-bottom-color:var(--border);gap:5px}.tab{border-radius:6px 6px 0 0;color:#7d95af;font-size:12px;padding:9px 12px}.tab:hover,.tab.active{background:#1b4b7c47;color:#ddecfd}.tab.active{box-shadow:inset 0 -2px #3eb9ff}.form-row label{color:#94aac4;font-size:11px;font-weight:600}.form-row input,.form-row select,.form-row textarea,input,select,textarea{background:#081728c2;border-color:#7fa8d43d;border-radius:7px;color:#dceafa;font-size:12px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus,input:focus,select:focus,textarea:focus{border-color:#48a4ff;box-shadow:0 0 0 3px #3597ff21}.loading,.empty{color:#7791ad;min-height:120px;padding:34px 18px}.error{background:#b8354324;border:1px solid rgba(255,105,115,.31);border-radius:8px;color:#ffb5ba}.config-banner{background:#a26c122e;border:1px solid rgba(244,180,75,.28);border-radius:8px;margin-top:18px}.quick-link{background:#122a459e;border-color:#85b2e233;border-radius:7px}.progress-track{background:#7ea0c721;height:4px}.progress-fill{background:#33c4ff}.progress-label{color:#7f97b3;font-size:10px}@media(max-width:1160px){.signal-strip{grid-template-columns:1.25fr repeat(2,1fr)}.signal-cta{grid-column:span 1}.signal-metric:nth-of-type(4){border-top:1px solid var(--border)}.operations-grid{grid-template-columns:1fr}.node-row{gap:11px;grid-template-columns:135px 1fr 1fr 1fr 64px 20px}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:12px;position:relative}.brand{margin:0 4px 12px}.nav-list{flex-direction:row;flex-wrap:wrap}.nav-section-label,.nav-section-spaced{display:none}.nav-link{min-height:34px;padding:7px 9px}.sidebar-user{display:none}.main{padding:0 18px 32px}.app-topbar{height:62px}.command-trigger{width:min(330px,64vw)}.connection-indicator{display:none}.workspace-header{align-items:flex-start;flex-direction:column;gap:15px}.workflow-board-header{align-items:flex-start;flex-direction:column;gap:10px}.flow-lane{grid-template-columns:112px 1fr}.flow-lane-track{gap:12px}.flow-node{flex-basis:185px}.node-row{grid-template-columns:1fr 1fr;padding:10px 0}.node-row>div,.node-threads{display:none}.row-menu{justify-self:end}}@media(max-width:620px){.topbar-actions .btn{font-size:0;min-width:35px;padding:7px}.workspace-actions{width:100%}.workspace-actions .btn{margin-left:auto}.signal-strip{grid-template-columns:1fr 1fr}.signal-health{grid-column:span 2}.signal-metric{border-top:1px solid var(--border);min-height:74px;padding:14px}.signal-cta{grid-column:span 2;margin:10px 14px}.workflow-legend{display:none}.flow-lane{display:block;padding:12px 0}.flow-lane-label{border:0;padding:0 2px 9px}.flow-lane-track{padding:0 2px}.flow-node{flex-basis:180px}.filter-drawer{grid-template-columns:1fr}.job-ledger-head,.job-ledger-row{grid-template-columns:1fr 75px 16px}.job-ledger-time,.job-ledger-head span:nth-child(3){display:none}.capacity-cards{grid-template-columns:1fr;padding:12px 14px}.worker-mini-list>div{grid-template-columns:7px 1fr auto;padding:0 14px}.worker-mini-list .meter{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.login-shell{background:linear-gradient(135deg,#06101d,#0a1d32);position:relative}.login-card{background:#0b192beb;border-color:#6fb2f042;border-radius:14px;box-shadow:0 24px 70px #00040f73}.login-card:before{background:#34d4c4;border-radius:5px;content:"";display:block;height:3px;width:42px}.login-title{color:#f0f7ff;letter-spacing:-.04em}.account-control{position:relative}.account-trigger{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#c7d9ed;cursor:pointer;display:flex;gap:8px;min-height:38px;padding:4px 6px;transition:.18s ease}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:#18395e94;border-color:#69adef4d;color:#f1f7ff}.account-avatar{align-items:center;background:linear-gradient(145deg,#1e5683,#133251);border:1px solid rgba(126,197,255,.48);border-radius:50%;color:#e1f3ff;display:inline-flex;font-family:var(--font-mono);font-size:11px;font-weight:700;height:28px;justify-content:center;width:28px}.account-identity{display:grid;gap:1px;line-height:1;text-align:left}.account-identity strong,.account-menu-summary strong{color:#dbeafa;font-size:11px;font-weight:650}.account-identity small,.account-menu-summary small{color:#7490ae;font-size:9px}.account-trigger>svg{color:#718ba9}.account-menu{background:#102239;border:1px solid rgba(82,158,242,.38);border-radius:10px;box-shadow:0 22px 50px #00050e85;padding:7px;position:absolute;right:0;top:calc(100% + 8px);width:204px;z-index:12}.account-menu-summary{align-items:center;border-bottom:1px solid rgba(137,170,210,.14);display:flex;gap:9px;padding:8px 7px 11px}.account-menu-summary>span:last-child{display:grid;gap:3px}.account-menu-actions{display:grid;gap:2px;padding-top:6px}.account-menu-actions button{align-items:center;background:transparent;border:0;border-radius:6px;color:#c5d8ed;cursor:pointer;display:flex;font:inherit;font-size:12px;gap:9px;padding:9px 8px;text-align:left}.account-menu-actions button:hover{background:#2d7ad733;color:#fff}.account-menu-actions button svg{color:#5cc2fa}.account-menu-actions .account-logout{color:#f1a9ad}.account-menu-actions .account-logout svg{color:#ff8189}.modal-backdrop{align-items:center;background:#020912b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:30}.password-modal{animation:modal-in .2s ease;background:linear-gradient(145deg,#10263f,#0b192a);border:1px solid rgba(93,169,244,.38);border-radius:13px;box-shadow:0 28px 75px #00020a9e;max-width:440px;padding:21px;width:100%}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.password-modal-header{align-items:flex-start;border-bottom:1px solid rgba(137,170,210,.14);display:flex;justify-content:space-between;padding-bottom:17px}.modal-kicker{color:#55bdf3;font-family:var(--font-mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase}.password-modal h2{color:#eff7ff;font-size:21px;letter-spacing:-.035em;margin:5px 0 0}.password-modal p{color:#7d95b1;font-size:12px;margin:6px 0 0}.password-modal-header .icon-button{font-size:21px;line-height:1}.password-form{display:grid;gap:15px;padding-top:18px}.password-form .form-row{display:grid;gap:7px}.password-hint{color:#6f88a6;font-size:10px}.password-feedback{border-radius:7px;font-size:12px;padding:9px 10px}.password-feedback.success{background:#36d3991a;border:1px solid rgba(54,211,153,.28);color:#78e4b4}.password-feedback.error{margin:0}.password-modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:3px}.password-modal-actions .btn{min-width:91px}@media(max-width:860px){.account-identity{display:none}.account-trigger{padding:4px}.account-menu{right:0}.sidebar-user{display:none}}@media(max-width:620px){.topbar-actions{gap:7px}.account-trigger>svg{display:none}.password-modal{padding:18px}.password-modal-actions .btn{min-width:0}}.signal-strip{grid-template-columns:1.25fr repeat(4,minmax(94px,1fr))}:root[data-theme=light]{color-scheme:light;--bg-root:#eef4fa;--bg-panel:#fff;--bg-elevated:#f7faff;--bg-hover:#e8f1fb;--border:rgba(37,72,112,.18);--border-strong:rgba(28,104,190,.42);--text:#172b43;--text-muted:#5c728d;--text-dim:#7b8ea5;--accent:#146ed1;--accent-soft:rgba(20,110,209,.12);--flow:#078f8a;--success:#15855c;--warning:#b86c00;--danger:#ca3c4b;--shadow:0 18px 55px rgba(32,69,108,.13)}:root[data-theme=light] body{background:#eef4fa;color:var(--text)}:root[data-theme=light] body:before{background:linear-gradient(115deg,rgba(41,123,211,.12),transparent 38%),linear-gradient(295deg,rgba(4,160,149,.07),transparent 32%)}:root[data-theme=light] .app-shell{background:#eef4fa}:root[data-theme=light] .sidebar{background:#fbfdfff0;border-right-color:#3659802b}:root[data-theme=light] .brand-orbit{background:#e8f4ff;border-color:#207fd16b;color:#0872c4}:root[data-theme=light] .brand-title,:root[data-theme=light] .page-title,:root[data-theme=light] .workspace-title{color:#162c45}:root[data-theme=light] .brand-mark,:root[data-theme=light] .nav-section-label{color:#6d849e}:root[data-theme=light] .nav-link{color:#5b718c}:root[data-theme=light] .nav-link svg{color:#738aa4}:root[data-theme=light] .nav-link:hover{background:#eaf3ff;color:#173d66}:root[data-theme=light] .nav-link.active{background:linear-gradient(90deg,#2a84e529,#4195e80a);border-color:#267ad22e;box-shadow:inset 2px 0 #168bc4;color:#143b67}:root[data-theme=light] .app-topbar{border-bottom-color:#2e51772b}:root[data-theme=light] .command-trigger,:root[data-theme=light] .btn:not(.primary),:root[data-theme=light] .icon-button{background:#ffffffb3;border-color:#3a628d3d;color:#48627f}:root[data-theme=light] .command-trigger:hover,:root[data-theme=light] .btn:not(.primary):hover,:root[data-theme=light] .icon-button:hover{background:#fff;border-color:#4692df;color:#193a5d}:root[data-theme=light] .connection-indicator{color:#526d89}:root[data-theme=light] .signal-strip{background:linear-gradient(92deg,#fff,#f4f9ff);border-color:#3469a13b;box-shadow:0 10px 26px #24598f0f}:root[data-theme=light] .signal-health,:root[data-theme=light] .signal-metric{border-right-color:#31577e21}:root[data-theme=light] .signal-health strong,:root[data-theme=light] .signal-metric strong{color:#193755}:root[data-theme=light] .signal-health span:not(.health-orb),:root[data-theme=light] .signal-metric>span{color:#58718f}:root[data-theme=light] .signal-metric small{color:#7890aa}:root[data-theme=light] .workflow-board,:root[data-theme=light] .data-surface,:root[data-theme=light] .panel{background:#ffffffd4;border-color:#32577d2b;box-shadow:0 9px 25px #2a55810b}:root[data-theme=light] .workflow-board-header,:root[data-theme=light] .surface-header{border-bottom-color:#32577d24}:root[data-theme=light] .workflow-board h2,:root[data-theme=light] .data-surface h2,:root[data-theme=light] .panel-title{color:#1a334e}:root[data-theme=light] .workflow-board p,:root[data-theme=light] .page-desc{color:#607893}:root[data-theme=light] .flow-lane,:root[data-theme=light] .flow-lane-label{border-color:#32577d1f}:root[data-theme=light] .flow-lane-label strong,:root[data-theme=light] .flow-node-title{color:#243f5d}:root[data-theme=light] .flow-lane-label span:not(.flow-lane-icon),:root[data-theme=light] .flow-node-subtitle{color:#6e86a1}:root[data-theme=light] .flow-node-label,:root[data-theme=light] .flow-node-sep{color:#7a91ab}:root[data-theme=light] .flow-node-value{color:#243f5d}:root[data-theme=light] .flow-lane-track:before,:root[data-theme=light] .flow-node:after{border-color:#3470ad4f}:root[data-theme=light] .flow-node,:root[data-theme=light] .flow-empty{background:#f8fbff;border-color:#3b70aa45}:root[data-theme=light] .flow-node:hover{background:#f0f7ff;border-color:#4398dd}:root[data-theme=light] .filter-drawer,:root[data-theme=light] .metric-item,:root[data-theme=light] .stat-card{background:#f8fbff;border-color:#38618c2e}:root[data-theme=light] .metric-key,:root[data-theme=light] .metric-group-title,:root[data-theme=light] .stat-label{color:#4f6d8d}:root[data-theme=light] .metric-value,:root[data-theme=light] .stat-value{color:#1c3d5d}:root[data-theme=light] .metric-value a{color:#0877bd;font-weight:600}:root[data-theme=light] .metrics-pre{background:#f4f8fc;border-color:#38618c38;color:#254563}:root[data-theme=light] .capacity-card{background:#f8fbff;border-color:#38618c2e}:root[data-theme=light] .capacity-card-label{color:#5f7a98}:root[data-theme=light] .capacity-card-value{color:#1c3d5d}:root[data-theme=light] .capacity-card-foot{color:#6e86a1}:root[data-theme=light] .capacity-bar{background:#38618c24}:root[data-theme=light] .node-threads{color:#1e3c5a}:root[data-theme=light] .worker-mini-list,:root[data-theme=light] .worker-mini-list>div,:root[data-theme=light] .node-row,:root[data-theme=light] .job-ledger-head,:root[data-theme=light] .job-ledger-row{border-color:#32577d1f}:root[data-theme=light] .worker-mini-list code,:root[data-theme=light] .node-row code,:root[data-theme=light] .job-ledger-row strong{color:#315373}:root[data-theme=light] .data-table th{background:#f3f8fd;color:#637d99}:root[data-theme=light] .data-table td{color:#405d7c}:root[data-theme=light] .data-table tbody tr:hover,:root[data-theme=light] .job-ledger-row:hover{background:#f1f7fd}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{background:#fff;border-color:#3a628d47;color:#223d5a}:root[data-theme=light] .account-trigger:hover,:root[data-theme=light] .account-trigger[aria-expanded=true]{background:#eaf3fc;border-color:#367abe47;color:#1a3d62}:root[data-theme=light] .account-avatar{background:linear-gradient(145deg,#d6ecff,#b8ddf8);border-color:#2676be61;color:#155587}:root[data-theme=light] .account-identity strong,:root[data-theme=light] .account-menu-summary strong{color:#243f5c}:root[data-theme=light] .account-menu{background:#fff;border-color:#386ca145;box-shadow:0 20px 46px #2a4d732e}:root[data-theme=light] .account-menu-summary{border-bottom-color:#32577d24}:root[data-theme=light] .account-menu-actions button{color:#365572}:root[data-theme=light] .account-menu-actions button:hover{background:#edf6ff;color:#173c62}:root[data-theme=light] .modal-backdrop{background:#1e354e59}:root[data-theme=light] .password-modal{background:linear-gradient(145deg,#fff,#f4f9ff);border-color:#3979bb59;box-shadow:0 28px 75px #1b3e633b}:root[data-theme=light] .password-modal-header{border-bottom-color:#32577d24}:root[data-theme=light] .password-modal h2{color:#1d3957}:root[data-theme=light] .password-modal p,:root[data-theme=light] .password-hint{color:#68809b}:root[data-theme=light] .task-basic-panel .metric-item{background:#f8fbff;border-color:#38618c33}:root[data-theme=light] .task-basic-panel .metric-key,:root[data-theme=light] .task-basic-panel .metric-group-title{color:#4f6d8d}:root[data-theme=light] .task-basic-panel .metric-value{color:#1c3d5d}:root[data-theme=light] .task-basic-panel .metric-value a{color:#0877bd;font-weight:600}:root[data-theme=light] .task-basic-panel .metrics-pre{background:#f4f8fc;border-color:#38618c38;color:#254563}:root[data-theme=light] .task-schedule-panel .metric-item{background:#f8fbff;border-color:#38618c33}:root[data-theme=light] .task-schedule-panel .metric-key{color:#4f6d8d}:root[data-theme=light] .task-schedule-panel .metric-value{color:#1c3d5d}:root[data-theme=light] .task-schedule-panel .inline-check{color:#365572}:root[data-theme=light] .task-schedule-panel .form-row>label,:root[data-theme=light] .task-schedule-panel .cron-time-row label{color:#355574}:root[data-theme=light] .task-schedule-panel .cron-preset-card{background:#fff;border-color:#38618c3d;color:#183a5b}:root[data-theme=light] .task-schedule-panel .cron-preset-card:hover,:root[data-theme=light] .task-schedule-panel .cron-preset-card.active{background:#eaf4ff;border-color:#2486d8}:root[data-theme=light] .task-schedule-panel .cron-preset-hint,:root[data-theme=light] .task-schedule-panel .cron-help,:root[data-theme=light] .task-schedule-panel .cron-preview-title{color:#526f8d}:root[data-theme=light] .task-schedule-panel .cron-weekday{border-color:#38618c40;color:#244664}:root[data-theme=light] .task-schedule-panel .cron-preview{background:#f4f8fc;border-color:#38618c40;color:#1f405f}:root[data-theme=light] .task-schedule-panel .cron-preview-expr{color:#456583}:root[data-theme=light] .task-schedule-panel .error{background:#fff1f2;border-color:#e9949d;color:#962b38}.login-shell{--login-line-a:#1a8fbf;--login-line-b:#2bb39a;--login-packet:#1aa7c4;background:#eef5fb;display:flex;flex-direction:column;isolation:isolate;min-height:100svh;overflow:hidden;padding:0;position:relative}.login-shell.is-dark{--login-line-a:#4ec8ef;--login-line-b:#3ee0c4;--login-packet:#7ce7ff;background:#071221}.login-flow,.login-flow-wash,.login-flow-grid,.login-flow-svg,.login-flow-grain{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.login-flow{z-index:0}.login-flow-wash{background:radial-gradient(1200px 640px at 18% 12%,rgba(255,255,255,.72),transparent 58%),linear-gradient(180deg,#eef5fb8c,#eef5fbeb 78%);z-index:1}.login-shell.is-dark .login-flow-wash{background:radial-gradient(1000px 560px at 16% 10%,rgba(18,72,118,.35),transparent 55%),linear-gradient(180deg,#07122159,#071221e0 80%)}.login-flow-grid{background-image:linear-gradient(rgba(36,92,138,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(36,92,138,.08) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 78%);opacity:.7;z-index:1}.login-shell.is-dark .login-flow-grid{background-image:linear-gradient(rgba(98,176,230,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(98,176,230,.08) 1px,transparent 1px)}.login-flow-svg{height:100%;width:100%;z-index:1}.login-flow-paths path{stroke-width:1.15;stroke-dasharray:8 18;animation:login-dash 18s linear infinite;opacity:.55}.login-flow-paths path:nth-child(2){animation-duration:24s;opacity:.4}.login-flow-paths path:nth-child(3){animation-duration:21s;opacity:.48}.login-flow-paths path:nth-child(4){animation-duration:28s;opacity:.32;stroke-width:.9}@keyframes login-dash{to{stroke-dashoffset:-260}}.login-flow-orb{border-radius:50%;filter:blur(48px);position:absolute;z-index:0}.login-flow-orb-a{animation:login-orb 16s ease-in-out infinite alternate;background:#20a8ba47;height:280px;left:8%;top:18%;width:280px}.login-flow-orb-b{animation:login-orb 21s ease-in-out infinite alternate-reverse;background:#1a76c438;height:340px;right:4%;top:42%;width:340px}@keyframes login-orb{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(28px,-22px,0) scale(1.08)}}.login-flow-grain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");opacity:.12;z-index:2;mix-blend-mode:multiply}.login-shell.is-dark .login-flow-grain{mix-blend-mode:overlay;opacity:.18}.login-topbar{align-items:center;box-sizing:border-box;display:flex;gap:24px;justify-content:space-between;margin:0 auto;max-width:1120px;padding:24px 32px;position:relative;width:100%;z-index:2}.login-topbar-actions{align-items:center;display:flex;flex:0 0 auto;gap:12px;margin-left:auto}.login-brand-lockup{align-items:center;color:#16334f;display:flex;flex:0 1 auto;gap:10px;min-width:0}.login-shell.is-dark .login-brand-lockup{color:#e6f1ff}.login-brand-lockup>span:last-child{display:grid;gap:2px}.login-brand-lockup strong{font-size:16px;letter-spacing:-.04em}.login-brand-lockup small{color:#68839d;font-family:var(--font-mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase}.login-brand-orbit{align-items:center;background:#e3f2fd;border:1px solid rgba(49,127,196,.38);border-radius:9px;color:#1877b9;display:flex;height:32px;justify-content:center;position:relative;width:32px}.login-brand-orbit:after{background:#25b8a5;border:2px solid #eef5fb;border-radius:50%;content:"";height:7px;position:absolute;right:-4px;top:-3px;width:7px}.login-shell.is-dark .login-brand-orbit{background:#0f2b49;border-color:#44b0f66b;color:#5ed6ff}.login-shell.is-dark .login-brand-orbit:after{border-color:#071221}.login-theme-toggle{align-items:center;background:#ffffff8f;border:1px solid rgba(43,98,148,.21);border-radius:8px;color:#41627f;cursor:pointer;display:flex;height:36px;justify-content:center;transition:.18s ease;width:36px}.login-theme-toggle:hover{background:#fff;border-color:#4692df;color:#173c62;transform:translateY(-1px)}.login-shell.is-dark .login-theme-toggle{background:#0d233ab8;border-color:#7eaee240;color:#9ac5ed}.login-github-link{align-items:center;background:#ffffff8f;border:1px solid rgba(43,98,148,.21);border-radius:8px;color:#41627f;display:inline-flex;font-size:12px;font-weight:650;gap:6px;min-height:36px;padding:0 11px;text-decoration:none;transition:.18s ease}.login-github-link:hover{background:#fff;border-color:#4692df;color:#173c62;transform:translateY(-1px)}.login-shell.is-dark .login-github-link{background:#0d233ab8;border-color:#7eaee240;color:#9ac5ed}.login-shell.is-dark .login-github-link:hover{background:#12304ee6;color:#e6f1ff}.login-stage{display:grid;gap:28px;justify-items:center;margin:0 auto;max-width:560px;min-height:calc(100svh - 96px);padding:8px 24px 72px;position:relative;text-align:center;z-index:2}.login-hero{max-width:520px}.login-eyebrow{color:#3e7597;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;margin:0;text-transform:uppercase}.login-shell.is-dark .login-eyebrow{color:#7ab4d8}.login-hero h1{margin:14px 0 0}.login-wordmark{color:#122c45;display:block;font-family:IBM Plex Sans Condensed,IBM Plex Sans,sans-serif;font-size:clamp(34px,5.8vw,56px);font-weight:700;letter-spacing:-.045em;line-height:1.05;max-width:16ch;margin-inline:auto;text-wrap:balance}.login-shell.is-dark .login-wordmark{color:#f3f8ff}.login-lead{color:#5b758f;font-size:15px;line-height:1.7;margin:18px auto 0;max-width:420px}.login-shell.is-dark .login-lead{color:#8fa6bf}.login-form{background:#ffffffc7;border:1px solid rgba(57,115,169,.22);border-radius:16px;box-shadow:0 24px 60px #204d781f;display:grid;gap:14px;padding:26px 24px 22px;position:relative;text-align:left;width:min(420px,100%)}.login-form:before{background:linear-gradient(90deg,#1a9ecf,#38c2ad);border-radius:999px;content:"";height:3px;left:24px;position:absolute;top:0;width:48px}.login-shell.is-dark .login-form{background:#0a1b2fc7;border-color:#69abeb47;box-shadow:0 24px 60px #00020b66}.login-form-kicker{align-items:center;color:#3e719a;display:flex;font-family:var(--font-mono);font-size:10px;gap:7px;letter-spacing:.08em;text-transform:uppercase}.login-shell.is-dark .login-form-kicker{color:#70c9ee}.login-form h2{color:#173552;font-size:22px;letter-spacing:-.04em;margin:0}.login-form>p{color:#6a829b;font-size:13px;margin:0}.login-form .login-demo-hint{background:#146ed114;border:1px solid rgba(20,110,209,.16);border-radius:8px;color:#2f5f8a;font-family:var(--font-mono);font-size:11px;margin:0;padding:9px 11px}.login-shell.is-dark .login-form h2{color:#e6f1ff}.login-shell.is-dark .login-form>p{color:#89a2bf}.login-shell.is-dark .login-form .login-demo-hint{background:#4ea8ff1a;border-color:#4ea8ff38;color:#9ec8ef}.login-form .form-row{display:grid;gap:7px}.login-form .form-row label{color:#54708d;font-size:11px}.login-shell.is-dark .login-form .form-row label{color:#a1bad3}.login-form input{background:#fbfdffeb;border:1px solid rgba(52,105,154,.25);color:#1d3b59;min-height:42px;padding:0 12px}.login-form input:focus{background:#fff;border-color:#3e97d9;box-shadow:0 0 0 3px #2c8ada21}.login-shell.is-dark .login-form input{background:#051424d1;border-color:#6fa4d84a;color:#e0eeff}.login-error{font-size:12px;padding:10px}.login-submit{justify-content:center;margin-top:4px;min-height:42px;width:100%}.login-form-footer{align-items:center;border-top:1px solid rgba(53,105,153,.13);color:#7990a6;display:flex;font-size:10px;gap:7px;margin-top:4px;padding-top:14px}.login-shell.is-dark .login-form-footer{border-color:#89aad224;color:#7793af}.login-card-status{background:#26a879;border-radius:50%;height:6px;width:6px}.lang-switch{background:#ffffff80;border:1px solid rgba(58,98,141,.22);border-radius:8px;display:inline-flex;overflow:hidden}.lang-switch button{background:transparent;border:0;color:#5b758f;cursor:pointer;font:inherit;font-size:11px;font-weight:650;min-height:34px;padding:0 10px}.lang-switch button.active{background:#146ed1;color:#fff}.lang-switch.compact button{min-height:32px;padding:0 9px}.login-shell.is-dark .lang-switch,:root[data-theme=dark] .lang-switch{background:#0d233ab8;border-color:#7eaee240}.login-shell.is-dark .lang-switch button,:root[data-theme=dark] .lang-switch button{color:#9ac5ed}.silent-refresh-bar{animation:silent-refresh 1.1s linear infinite;background:linear-gradient(90deg,transparent,var(--flow),transparent);background-size:200% 100%;height:2px;margin:-4px 0 10px}@keyframes silent-refresh{to{background-position:-200% 0}}.pagination{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:14px}.pagination-summary,.pagination-page{font-family:var(--font-mono);font-size:11px}.pagination-controls{align-items:center;display:flex;gap:8px}.pagination-size{align-items:center;display:flex;font-size:11px;gap:8px}.pagination-size select{min-height:32px}@media(max-width:720px){.login-topbar{gap:16px;padding:18px 16px}.login-topbar-actions{gap:8px}.login-github-link span{display:none}.login-github-link{justify-content:center;padding:0;width:36px}.login-stage{padding:12px 18px 48px}.login-wordmark{font-size:32px;max-width:none}.pagination{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.login-flow-paths path,.login-flow-orb-a,.login-flow-orb-b,.silent-refresh-bar{animation:none!important}}.run-space{--run-surface:#0b1a2b;--run-surface-raised:#10243a;--run-rule:rgba(151,189,228,.22);--run-rule-soft:rgba(151,189,228,.13);--run-ink:#edf5ff;--run-muted:#a8bad0;--run-faint:#7890ab;display:grid;gap:18px;padding-top:26px}.run-page-header{align-items:flex-end;border-bottom:1px solid var(--run-rule);display:flex;gap:24px;justify-content:space-between;padding:0 0 19px}.run-page-kicker,.run-panel-kicker{color:#62bfff;display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.run-page-title{color:var(--run-ink);font-size:30px;font-weight:700;letter-spacing:-.045em;line-height:1.12;margin:5px 0 0}.run-page-desc{color:var(--run-muted);font-size:14px;line-height:1.55;margin:8px 0 0;max-width:730px}.run-page-actions,.run-panel-header-actions,.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.run-refresh-control{align-items:center;color:var(--run-muted);cursor:pointer;display:inline-flex;font-size:12px;gap:8px;min-height:35px;padding:0 4px;-webkit-user-select:none;user-select:none}.run-refresh-control input{accent-color:#42bbf7;height:15px;margin:0;width:15px}.run-notice{border:1px solid var(--run-rule);border-left:3px solid #4cbcf6;border-radius:8px;color:var(--run-ink);font-size:13px;line-height:1.5;padding:12px 14px}.run-notice.success{background:#1d876529;border-color:#49d3a26b;border-left-color:#49d3a2}.run-notice.error{background:#c63a472b;border-color:#ff7d886b;border-left-color:#ff7d88}.run-panel{background:var(--run-surface);border:1px solid var(--run-rule);border-radius:10px;overflow:hidden}.run-panel-header{align-items:center;background:#10243a9e;border-bottom:1px solid var(--run-rule);display:flex;gap:18px;justify-content:space-between;min-height:70px;padding:13px 18px}.run-panel-header h2{color:var(--run-ink);font-size:16px;font-weight:680;letter-spacing:-.02em;line-height:1.25;margin:3px 0 0}.run-panel-meta{color:var(--run-muted);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.run-panel-body{padding:16px}.run-panel-body.table-wrap{border:0;border-radius:0;padding:0}.run-space .table-wrap{border-color:var(--run-rule);border-radius:8px}.run-table{min-width:760px;width:100%}.run-space .data-table th{background:#0e2238;border-bottom-color:var(--run-rule);color:#a9bfd7;font-family:var(--font-ui);font-size:12px;font-weight:650;letter-spacing:0;padding:12px 14px;text-align:left;text-transform:none;white-space:nowrap}.run-space .data-table td{border-bottom-color:var(--run-rule-soft);color:#d9e6f5;font-size:13px;line-height:1.45;padding:14px}.run-space .data-table tbody tr:hover{background:#2d6ca62e}.run-space .data-table a{color:#78c9ff}.run-table-primary{color:#dceeff!important;font-weight:650}.run-table-primary:hover{color:#a8dcff!important;text-decoration:underline;text-underline-offset:3px}.run-table-secondary{color:var(--run-muted);font-size:12px;line-height:1.4;margin-top:4px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-table-empty{color:var(--run-muted)!important;padding:32px 14px!important;text-align:center}.run-space .mono{font-size:12px}.task-table td:first-child{min-width:200px}.task-table td:nth-child(3){min-width:154px}.schedule-description{max-width:160px}.run-space .schedule-badge{font-size:11px;padding:4px 7px}.row-actions{flex-wrap:nowrap}.row-actions .btn{white-space:nowrap}.run-tabs{border-bottom:1px solid var(--run-rule);display:flex;gap:4px}.run-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--run-muted);cursor:pointer;font:inherit;font-size:14px;font-weight:600;min-height:42px;padding:0 15px;transition:background .15s ease,color .15s ease}.run-tab:hover{background:#377cbc24;color:var(--run-ink)}.run-tab.active{border-bottom-color:#45bdf8;color:#edf7ff}.run-filter-bar{align-items:center;background:var(--run-surface);border:1px solid var(--run-rule);border-radius:9px;display:flex;flex-wrap:wrap;gap:7px;padding:9px}.run-filter-chip{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--run-muted);cursor:pointer;font:inherit;font-size:12px;min-height:31px;padding:0 10px}.run-filter-chip:hover{background:#377cbc26;color:var(--run-ink)}.run-filter-chip.active{background:#3491e03b;border-color:#61bdf959;color:#e6f4ff}.select-column{width:44px}.select-column input{height:15px;margin:0;width:15px}.run-queue-layout{display:grid;gap:18px}.run-queue-summary{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.run-queue-stat{background:var(--run-surface);border:1px solid var(--run-rule);border-top:3px solid #4ebcf4;border-radius:9px;display:grid;gap:5px;min-height:116px;padding:15px 16px}.run-queue-stat.attention{border-top-color:#f2b84f}.run-queue-stat.healthy{border-top-color:#47d09a}.run-queue-stat-label{align-items:center;color:var(--run-muted);display:flex;font-size:12px;gap:7px}.run-queue-stat-label svg{color:#f2b84f}.run-queue-stat strong{color:var(--run-ink);font-family:var(--font-mono);font-size:30px;letter-spacing:-.055em;line-height:1.08}.run-queue-stat span{color:var(--run-faint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-dashboard{gap:18px}.run-dashboard .workspace-header p{color:var(--run-muted);font-size:14px}.run-dashboard .workspace-title{color:var(--run-ink);font-size:32px}.run-dashboard .eyebrow,.run-dashboard .section-kicker{font-size:11px}.run-dashboard .signal-strip,.run-dashboard .workflow-board,.run-dashboard .data-surface{border-color:var(--run-rule);box-shadow:none}.run-dashboard .signal-health span:not(.health-orb),.run-dashboard .signal-metric>span{color:var(--run-muted);font-size:12px}.run-dashboard .signal-health strong{font-size:17px}.run-dashboard .signal-metric strong{font-size:25px}.run-dashboard .signal-metric small{color:var(--run-faint);font-size:11px}.run-dashboard .workflow-board h2,.run-dashboard .data-surface h2{font-size:18px}.run-dashboard .workflow-board p{color:var(--run-muted);font-size:12px}.run-dashboard .workflow-legend{color:var(--run-muted);font-size:11px}.run-dashboard .flow-lane-label strong,.run-dashboard .flow-node-title{font-size:12px}.run-dashboard .flow-lane-label span:not(.flow-lane-icon),.run-dashboard .flow-node-subtitle{color:var(--run-muted);font-size:11px}.run-dashboard .flow-node{border-color:var(--run-rule);padding:12px}.run-dashboard .flow-node.running{border-color:#32dccaad}.run-dashboard .flow-node.pending{border-color:#c38fffad}.run-dashboard .flow-node.scheduled{border-color:#80b1ffa3}.run-dashboard .flow-empty{color:var(--run-muted);font-size:12px}.run-dashboard .worker-mini-list code,.run-dashboard .node-row code{font-size:11px}.run-dashboard .worker-mini-list>div>span:not(.worker-state),.run-dashboard .node-label{color:var(--run-muted);font-size:11px}.run-dashboard .job-ledger-head{color:var(--run-muted);font-size:10px}.run-dashboard .job-ledger-row strong{font-size:12px}.run-dashboard .job-ledger-row code,.run-dashboard .job-ledger-time{font-size:10px}.run-dashboard .node-role{font-size:12px}.run-dashboard .node-threads{font-size:13px}:root[data-theme=light] .run-space{--run-surface:#fff;--run-surface-raised:#f4f8fc;--run-rule:rgba(35,73,111,.22);--run-rule-soft:rgba(35,73,111,.13);--run-ink:#172f4b;--run-muted:#516b88;--run-faint:#7186a0}.run-space .run-panel-header{background:var(--run-surface-raised)}:root[data-theme=light] .run-space .data-table th{background:#edf4fa;color:#405d7b}:root[data-theme=light] .run-space .data-table td{color:#29445f}:root[data-theme=light] .run-space .data-table tbody tr:hover{background:#eef6fd}:root[data-theme=light] .run-space .run-table-primary{color:#143d66!important}:root[data-theme=light] .run-space .run-table-primary:hover{color:#0877bd!important}:root[data-theme=light] .run-space .run-tab.active,:root[data-theme=light] .run-space .run-filter-chip.active{color:#123d66}:root[data-theme=light] .run-space .run-tabs{border-color:var(--run-rule)}:root[data-theme=light] .run-dashboard .signal-strip,:root[data-theme=light] .run-dashboard .workflow-board,:root[data-theme=light] .run-dashboard .data-surface{background:#fff}@media(max-width:980px){.run-page-header{align-items:flex-start;flex-direction:column}.run-queue-summary{grid-template-columns:1fr}.run-page-actions{width:100%}.run-dashboard .operations-grid{grid-template-columns:1fr}.run-dashboard .signal-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.run-dashboard .signal-health{grid-column:1/-1}}@media(max-width:680px){.run-space{gap:14px;padding-top:18px}.run-page-header{gap:15px;padding-bottom:15px}.run-page-title{font-size:26px}.run-page-desc{font-size:13px}.run-page-actions{align-items:stretch;flex-direction:column}.run-page-actions .btn{width:100%}.run-refresh-control{min-height:30px}.run-panel-header{align-items:flex-start;flex-direction:column;gap:10px;padding:14px}.run-panel-header-actions{justify-content:space-between;width:100%}.run-panel-body{padding:10px}.run-dashboard .signal-strip{grid-template-columns:1fr}.run-dashboard .signal-health{grid-column:auto}.run-dashboard .signal-health,.run-dashboard .signal-metric{border-bottom:1px solid var(--run-rule-soft);border-right:0;min-height:76px}.run-dashboard .workflow-board-header{flex-direction:column;gap:10px}.run-dashboard .workflow-lanes{padding:0 12px 12px}.run-dashboard .flow-lane{grid-template-columns:1fr}.run-dashboard .flow-lane-label{border-bottom:1px solid var(--run-rule-soft);border-right:0}.run-dashboard .flow-lane-track{overflow-x:auto;padding:12px}.run-dashboard .node-ledger{overflow-x:auto;padding:3px 14px}.run-dashboard .node-row{min-width:740px}.row-actions{flex-wrap:wrap}}.task-table .schedule-inline{align-items:center;color:inherit;display:inline-flex;gap:8px;max-width:300px;min-width:0;text-decoration:none;white-space:nowrap}.task-table .schedule-period{color:var(--run-muted);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}:root[data-theme=light] .task-table .schedule-period{color:#6e86a1}
