:root{color-scheme:light;--canvas:#eef2f6;--canvas-grid:rgba(71,88,111,0.055);--surface:#fbfcfe;--surface-raised:#ffffff;--surface-soft:#f3f6f9;--surface-strong:#e5ebf2;--sidebar:#e8edf3;--text:#17212b;--muted:#627083;--subtle:#8b97a7;--line:#d4dce6;--line-strong:#b8c4d2;--primary:#2c5fd5;--primary-deep:#2048a8;--primary-soft:#e8eefc;--good:#16806a;--good-soft:#e2f2ee;--warn:#b66e15;--warn-soft:#f9eddc;--bad:#c33b4b;--bad-soft:#f8e5e8;--unknown:#748198;--code-bg:#111a2b;--code-surface:#172238;--code-line:#2a3952;--code-text:#e8eef8;--code-muted:#93a4bd;--shadow:20,34,52;--font-ui:"Avenir Next","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-display:"Arial Narrow","Avenir Next Condensed","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace}:root[data-theme=dark]{color-scheme:dark;--canvas:#17202e;--canvas-grid:rgba(180,198,224,0.045);--surface:#1d2838;--surface-raised:#222e40;--surface-soft:#192434;--surface-strong:#2a394e;--sidebar:#131d2b;--text:#edf2f8;--muted:#a1aec0;--subtle:#76859b;--line:#34445a;--line-strong:#50627a;--primary:#7197f5;--primary-deep:#91acf2;--primary-soft:rgba(113,151,245,0.15);--good:#57bea5;--good-soft:rgba(87,190,165,0.13);--warn:#e4a854;--warn-soft:rgba(228,168,84,0.13);--bad:#ee7887;--bad-soft:rgba(238,120,135,0.13);--unknown:#97a4b7;--code-bg:#0e1625;--code-surface:#141f33;--code-line:#2b3a53;--code-text:#ecf2fb;--code-muted:#93a3bb;--shadow:0,0,0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px),var(--canvas);background-size:28px 28px;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent);border-color:var(--primary)}::selection{background:color-mix(in srgb,var(--primary) 24%,transparent)}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:9px 12px;border-radius:6px;background:var(--text);color:var(--surface);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:100vh;display:flex;flex-direction:column;gap:18px;padding:18px 14px 14px;overflow:hidden;border-right:1px solid var(--line);background:color-mix(in srgb,var(--sidebar) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;padding:7px 8px 13px;border-bottom:1px solid var(--line)}.brand>span:last-child{min-width:0;display:grid;grid-gap:2px;gap:2px}.brand-mark{width:36px;height:38px;display:grid;align-content:center;grid-gap:4px;gap:4px;flex:0 0 auto;padding:7px 6px;border:1px solid color-mix(in srgb,var(--primary) 65%,var(--line));border-radius:7px;background:var(--primary);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.brand-mark span{height:3px;border-radius:4px;background:rgba(255,255,255,.88)}.brand-mark span:after{content:"";display:block;width:3px;height:3px;margin-left:auto;border-radius:50%;background:#b9f3df}.brand-title{font-family:var(--font-display);font-size:16px;font-stretch:condensed;letter-spacing:.02em}.brand-subtitle{color:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em}.primary-nav{display:grid;grid-gap:5px;gap:5px}.primary-nav-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:14px;font-weight:700}.primary-nav-item.active,.primary-nav-item:hover{border-color:var(--line);background:color-mix(in srgb,var(--surface-raised) 70%,transparent);color:var(--text)}.primary-nav-item.active{border-left:3px solid var(--primary);padding-left:8px}.fleet-nav{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:9px}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:var(--muted);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em}.sidebar-section-head span:last-child{min-width:21px;padding:2px 5px;border-radius:10px;background:var(--surface-strong);text-align:center}.fleet-search,.sidebar-search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--muted)}.sidebar-search{padding:0 9px}.fleet-search input,.sidebar-search input{min-width:0;width:100%;border:0;background:transparent;color:var(--text)}.sidebar-search input{height:34px;font-size:12px}.fleet-nav-list{min-height:0;display:grid;align-content:start;grid-gap:4px;gap:4px;overflow:auto;scrollbar-width:thin}.fleet-nav-item{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:48px;padding:7px 9px;border:1px solid transparent;border-radius:7px}.fleet-nav-item.active,.fleet-nav-item:hover{border-color:var(--line);background:var(--surface-soft)}.fleet-nav-item.active{box-shadow:inset 3px 0 var(--primary)}.fleet-node{width:7px;height:25px;border-radius:2px;background:var(--unknown)}.fleet-node.state-healthy{background:var(--good)}.fleet-node.state-degraded{background:var(--warn)}.fleet-node.state-critical{background:var(--bad)}.fleet-node.state-paused{background:var(--subtle)}.fleet-nav-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.fleet-nav-copy small,.fleet-nav-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-nav-copy strong{font-size:13px}.fleet-nav-copy small{color:var(--muted);font-family:var(--font-mono);font-size:9px}.sidebar-empty{padding:18px 9px;color:var(--muted);font-size:12px}.sidebar-footer{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.host-chip{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;padding:7px 8px}.host-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--primary)}.host-chip>span:last-child{min-width:0;display:grid;grid-gap:2px;gap:2px}.host-chip strong{font-size:12px}.host-chip small{display:flex;align-items:center;gap:4px;color:var(--good);font-size:10px}.sidebar-logout{display:flex;align-items:center;gap:7px;justify-content:center;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.sidebar-logout:hover{background:var(--surface-strong);color:var(--text)}.mobile-shell-head{display:none}.content{min-width:0;padding:24px}.content-inner{width:min(1380px,100%);margin:0 auto}.dashboard-page,.project-page{display:grid;grid-gap:16px;gap:16px}.page-header{min-height:70px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-header h1{margin:3px 0 0;font-family:var(--font-display);font-size:clamp(29px,3vw,39px);font-stretch:condensed;line-height:1;letter-spacing:-.025em}.page-header p{margin:8px 0 0;color:var(--muted);font-size:14px}.eyebrow,.section-kicker{color:var(--primary);font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.actions,.page-tools,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.freshness{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;color:var(--muted);font-size:12px}.freshness>span{width:7px;height:7px;border-radius:50%}.freshness .live{background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 13%,transparent)}.freshness .offline{background:var(--bad)}.panel{min-width:0;padding:17px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 12px 30px rgba(var(--shadow),.045)}.fleet-head,.row,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.fleet-head h2,.operation-panel h2,.runtime-panel h2,.section-heading h2{margin:3px 0 0;font-family:var(--font-display);font-size:19px;font-stretch:condensed;letter-spacing:-.01em}.stack{display:grid;grid-gap:14px;gap:14px}.meta{color:var(--muted);font-size:12px}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);color:var(--text);cursor:pointer;font-size:13px;font-weight:700;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.button:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-1px)}.button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.button.soft{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));background:var(--primary-soft);color:var(--primary-deep)}.button.danger{border-color:color-mix(in srgb,var(--bad) 30%,var(--line));background:var(--bad-soft);color:var(--bad)}.button.danger-solid{border-color:var(--bad);background:var(--bad);color:#fff}.button:disabled{cursor:not-allowed;opacity:.54;transform:none}.theme-toggle{white-space:nowrap}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.alert-banner,.notice-banner{display:flex;align-items:center;gap:9px;min-height:43px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--bad) 33%,var(--line));border-radius:8px;background:var(--bad-soft);color:var(--bad);font-size:13px}.notice-banner{border-color:color-mix(in srgb,var(--good) 33%,var(--line));background:var(--good-soft);color:var(--good)}.alert-banner span,.notice-banner span{flex:1 1}.alert-banner button,.notice-banner button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:800}.control-deck{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:20px;gap:20px;overflow:hidden;padding:22px 22px 0;border:1px solid #365376;border-radius:11px;background:linear-gradient(110deg,rgba(85,126,182,.19),transparent 42%),linear-gradient(135deg,#233753,#1c2d46 68%,#243b5d);color:#f4f8fd;box-shadow:0 18px 46px rgba(20,37,62,.18)}.control-deck:after{content:"";position:absolute;top:-70px;right:90px;width:210px;height:210px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.018),0 0 0 64px rgba(255,255,255,.014);pointer-events:none}.control-deck .section-kicker{color:#8fb1ff}.deck-actions,.deck-copy{position:relative;z-index:1}.deck-status-line{display:flex;align-items:center;gap:14px;margin-top:10px}.deck-orb{width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.23);border-radius:50%;background:rgba(255,255,255,.055)}.deck-orb span{width:12px;height:12px;border-radius:50%;background:#63d5b8;box-shadow:0 0 16px rgba(99,213,184,.75)}.deck-degraded .deck-orb span{background:#f1b866;box-shadow:0 0 16px rgba(241,184,102,.7)}.deck-critical .deck-orb span{background:#ff8090;box-shadow:0 0 16px rgba(255,128,144,.72)}.deck-status-line h2{margin:0;font-family:var(--font-display);font-size:clamp(23px,2.3vw,32px);font-stretch:condensed;letter-spacing:-.02em}.deck-status-line p{margin:5px 0 0;color:#aebdd0;font-size:12px}.deck-actions{align-self:center;display:flex;gap:8px}.deck-button,.deck-refresh{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#f5f8fc}.deck-button:hover:not(:disabled),.deck-refresh:hover:not(:disabled){border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.16)}.deck-button.danger-quiet{color:#ffbbc3}.deck-refresh{width:37px;min-width:37px;padding:0;border-radius:7px;cursor:pointer}.power-rail{position:relative;z-index:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1px;gap:1px;margin:20px -22px 0;border-top:1px solid rgba(255,255,255,.13);background:rgba(0,0,0,.18)}.rail-segment{min-width:0;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:11px 16px;border-right:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02);transition:background .16s ease}.rail-segment:hover{background:rgba(255,255,255,.07)}.rail-light{width:7px;height:7px;border-radius:2px;background:var(--unknown)}.rail-segment.state-healthy .rail-light{background:#63d5b8;box-shadow:0 0 8px rgba(99,213,184,.55)}.rail-segment.state-degraded .rail-light{background:#f1b866}.rail-segment.state-critical .rail-light{background:#ff8090}.rail-segment.state-paused .rail-light{background:#8290a5}.rail-name{overflow:hidden;color:#dce6f2;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.rail-state{color:#8fa1b8;font-family:var(--font-mono);font-size:9px}.dashboard-split{display:grid;grid-template-columns:1.08fr 1fr 1fr;grid-gap:14px;gap:14px}.queue-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-strong);color:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:800}.queue-count.has-items{background:var(--warn-soft);color:var(--warn)}.activity-list,.attention-list,.telemetry-list{display:grid;grid-gap:4px;gap:4px;margin-top:12px}.attention-item{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:8px;border-radius:7px}.attention-item:hover{background:var(--surface-soft)}.attention-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:var(--warn-soft);color:var(--warn)}.severity-critical .attention-symbol{background:var(--bad-soft);color:var(--bad)}.attention-item>span:nth-child(2){min-width:0;display:grid;grid-gap:2px;gap:2px}.attention-item small,.attention-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-item strong{font-size:12px}.attention-item small{color:var(--muted);font-size:11px}.healthy-empty{min-height:140px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--good)}.healthy-empty>div{display:grid;grid-gap:3px;gap:3px}.healthy-empty strong{font-size:13px}.healthy-empty span{color:var(--muted);font-size:11px}.uptime{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.telemetry-row{display:grid;grid-template-columns:32px minmax(0,1fr) 43px;align-items:center;grid-gap:9px;gap:9px;padding:7px 0}.telemetry-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--primary)}.telemetry-copy{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.telemetry-copy strong{font-size:11px}.telemetry-copy span{color:var(--muted);font-family:var(--font-mono);font-size:9px}.meter{height:4px;overflow:hidden;border-radius:4px;background:var(--surface-strong)}.meter span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.telemetry-value{color:var(--text);font-family:var(--font-mono);font-size:11px;text-align:right}.activity-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:7px 2px;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent)}.activity-item:last-child{border-bottom:0}.activity-mark{width:6px;height:6px;border-radius:2px;background:var(--bad)}.activity-mark.ok,.activity-mark.started{background:var(--good)}.activity-mark.partial{background:var(--warn)}.activity-copy{min-width:0;display:grid;grid-gap:1px;gap:1px}.activity-copy small,.activity-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-copy strong{font-size:11px}.activity-copy small{color:var(--muted);font-size:9px}.activity-result{color:var(--bad);font-size:9px;font-weight:700}.activity-result.ok,.activity-result.started{color:var(--good)}.activity-result.partial{color:var(--warn)}.panel-empty{padding:34px 0;color:var(--muted);font-size:12px;text-align:center}.fleet-panel{padding:0;overflow:hidden}.fleet-head{padding:17px 17px 11px}.fleet-search{width:min(320px,42vw);padding:0 10px}.fleet-search input{height:36px;font-size:12px}.fleet-filters{display:flex;gap:4px;padding:0 17px 13px;border-bottom:1px solid var(--line)}.config-tabs button,.fleet-filters button{min-height:29px;padding:5px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:700}.config-tabs button.active,.config-tabs button:hover,.fleet-filters button.active,.fleet-filters button:hover{border-color:var(--line);background:var(--surface-strong);color:var(--text)}.fleet-table{display:grid}.fleet-row,.fleet-table-head{display:grid;grid-template-columns:minmax(250px,1.5fr) 112px minmax(132px,.8fr) minmax(150px,.9fr) 112px 38px;align-items:center;grid-gap:12px;gap:12px}.fleet-table-head{min-height:33px;padding:0 17px;background:var(--surface-soft);color:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.fleet-row{min-height:68px;padding:9px 17px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);scroll-margin-top:18px}.fleet-row:hover{background:color-mix(in srgb,var(--primary-soft) 35%,transparent)}.fleet-identity{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.project-glyph{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-left:4px solid var(--unknown);border-radius:6px;background:var(--surface-soft);color:var(--muted);font-size:13px;font-weight:800}.project-glyph.state-healthy{border-left-color:var(--good);color:var(--good)}.project-glyph.state-degraded{border-left-color:var(--warn);color:var(--warn)}.project-glyph.state-critical{border-left-color:var(--bad);color:var(--bad)}.project-glyph.state-paused{border-left-color:var(--subtle)}.fleet-git,.fleet-identity>span:last-child,.fleet-resource,.fleet-runtime{min-width:0;display:grid;grid-gap:3px;gap:3px}.fleet-git small,.fleet-git strong,.fleet-identity small,.fleet-identity strong,.fleet-resource small,.fleet-resource strong,.fleet-runtime small,.fleet-runtime strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-identity strong{font-size:13px}.fleet-identity small{color:var(--muted);font-size:10px}.fleet-git strong,.fleet-resource strong,.fleet-runtime strong{font-family:var(--font-mono);font-size:10px}.fleet-git small,.fleet-resource small,.fleet-runtime small{color:var(--muted);font-size:9px}.fleet-git strong span{color:var(--muted)}.fleet-open{display:grid;justify-content:end}.fleet-open a{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.fleet-open a:hover{border-color:var(--primary);color:var(--primary)}.fleet-empty{padding:32px;color:var(--muted);text-align:center;font-size:12px}.status-pill{width:max-content;display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.status-pill.compact{padding:4px 8px;font-size:10px}.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:2px;background:var(--unknown)}.state-healthy .status-dot,.status-pill.state-running .status-dot,.status-pill.state-scheduled .status-dot{background:var(--good)}.state-degraded .status-dot{background:var(--warn)}.state-critical .status-dot,.status-pill.state-failed .status-dot{background:var(--bad)}.state-paused .status-dot,.status-pill.state-stopped .status-dot{background:var(--subtle)}.status-pill.state-healthy{border-color:color-mix(in srgb,var(--good) 26%,var(--line));background:var(--good-soft);color:var(--good)}.status-pill.state-degraded{border-color:color-mix(in srgb,var(--warn) 28%,var(--line));background:var(--warn-soft);color:var(--warn)}.status-pill.state-critical{border-color:color-mix(in srgb,var(--bad) 28%,var(--line));background:var(--bad-soft);color:var(--bad)}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(13,23,37,.58);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.confirm-dialog{width:min(520px,100%);max-height:min(720px,calc(100vh - 40px));display:grid;grid-gap:14px;gap:14px;overflow:auto;padding:20px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface-raised);box-shadow:0 30px 80px rgba(0,0,0,.25)}.dialog-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px}.dialog-icon.safe{background:var(--good-soft);color:var(--good)}.dialog-icon.danger{background:var(--bad-soft);color:var(--bad)}.dialog-head{display:flex;justify-content:space-between;gap:10px}.dialog-head h2{margin:3px 0 0;font-family:var(--font-display);font-size:23px}.icon-plain{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.icon-plain:hover{background:var(--surface-strong);color:var(--text)}.confirm-dialog>p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.dialog-targets{display:grid;grid-gap:5px;gap:5px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.dialog-targets>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px;border-radius:5px;background:var(--surface-raised)}.dialog-targets span{font-size:12px;font-weight:700}.dialog-targets small{color:var(--muted);font-family:var(--font-mono);font-size:9px}.dialog-targets .skipped{opacity:.58}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:24px;background:linear-gradient(rgba(92,116,150,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(92,116,150,.08) 1px,transparent 1px),radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 45%),var(--canvas);background-size:34px 34px,34px 34px,auto,auto}.login-atmosphere{position:absolute;top:50%;left:50%;width:min(900px,100vw);height:1px;display:flex;justify-content:space-around;background:var(--line);transform:translate(-50%,-50%)}.login-atmosphere span{width:8px;height:8px;border:2px solid var(--canvas);border-radius:2px;background:var(--good);transform:translateY(-4px)}.login-card{position:relative;z-index:1;width:min(430px,100%);padding:25px;border:1px solid var(--line-strong);border-radius:11px;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:0 28px 70px rgba(var(--shadow),.15);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.login-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--primary);color:#fff}.login-card h1{margin:6px 0 0;font-family:var(--font-display);font-size:31px;letter-spacing:-.025em}.login-card>p{margin:9px 0 23px;color:var(--muted);font-size:13px;line-height:1.65}.login-card form{display:grid;grid-gap:13px;gap:13px}.field{display:grid;grid-gap:6px;gap:6px}.field label,.field>label,.field>span:first-child{color:var(--text);font-size:12px;font-weight:750}.password-field{display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);color:var(--muted)}.password-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.password-field input{width:100%;height:42px;border:0;background:transparent;color:var(--text)}.form-error{padding:9px 11px;border:1px solid color-mix(in srgb,var(--bad) 26%,var(--line));border-radius:7px;background:var(--bad-soft);color:var(--bad);font-size:12px}.login-submit{width:100%;margin-top:2px}.login-trust{display:flex;align-items:center;gap:6px;margin-top:18px;color:var(--muted);font-size:10px}.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;grid-gap:13px;gap:13px;color:var(--muted);font-family:var(--font-mono);font-size:11px}.loader-orb{width:22px;height:22px;border:2px solid var(--line-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.project-header{align-items:center}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.summary-tile{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.summary-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--primary)}.summary-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.summary-copy small,.summary-copy span,.summary-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-copy small,.summary-copy span{color:var(--muted);font-size:9px}.summary-copy strong{font-family:var(--font-mono);font-size:11px}.mobile-section-tabs{display:none}#config,#logs,#status{scroll-margin-top:72px}.operation-panel{border-left:3px solid var(--primary)}.config-empty,.protected-note{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--muted)}.config-empty>div,.protected-note>span{display:grid;grid-gap:2px;gap:2px}.config-empty strong,.protected-note strong{color:var(--text);font-size:12px}.config-empty span,.protected-note span{font-size:11px}.operation-message{padding:9px 11px;border-radius:7px;background:var(--surface-soft);color:var(--muted);font-size:12px}.action-output{max-height:180px;margin:0;padding:11px;overflow:auto;border-radius:7px;background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);font-size:10px;white-space:pre-wrap}.operation-facts,.runtime-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px}.operation-facts>div,.runtime-facts>div{min-width:0;display:grid;grid-gap:3px;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}.operation-facts span,.runtime-facts span{color:var(--muted);font-size:9px}.operation-facts strong,.runtime-facts strong{overflow:hidden;font-family:var(--font-mono);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,.9fr);align-items:start;grid-gap:14px;gap:14px}.dirty-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--good);font-size:10px;font-weight:700}.dirty-indicator:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--good)}.dirty-indicator.dirty{color:var(--warn)}.dirty-indicator.dirty:before{background:var(--warn)}.config-tabs{display:flex;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}.notice-list{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-left:3px solid var(--primary);border-radius:0 7px 7px 0;background:var(--primary-soft);color:var(--muted);font-size:11px;line-height:1.55}.config-field-groups{display:grid;grid-gap:10px;gap:10px}.config-field-group{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.config-field-group>summary{min-height:54px;display:grid;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:10px 12px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.config-field-group>summary::-webkit-details-marker{display:none}.config-field-group>summary:before{content:"›";color:var(--primary);font-family:var(--font-mono);font-size:18px;font-weight:800;transform-origin:center;transition:transform .16s ease}.config-field-group[open]>summary:before{transform:rotate(90deg)}.config-field-group>summary:hover{background:var(--surface-strong)}.config-field-group>summary>span:first-child{min-width:0;display:grid;grid-gap:2px;gap:2px}.config-field-group>summary strong{font-size:12px}.config-field-group>summary small{color:var(--muted);font-size:10px}.config-field-group .group-count{color:var(--muted);font-family:var(--font-mono);font-size:9px}.config-field-group>.form-grid{padding:14px 12px;border-top:1px solid var(--line);background:var(--surface-raised)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:13px;gap:13px}.field-wide{grid-column:1/-1}.field-help{color:var(--muted);font-size:10px;line-height:1.5}.input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);color:var(--text);font-size:12px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.textarea{min-height:220px;resize:vertical;font-family:var(--font-mono);font-size:11px;line-height:1.55}.toggle-control{min-height:38px;gap:9px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);color:var(--muted);cursor:pointer;font-size:11px;font-weight:700;text-align:left}.toggle-control,.toggle-track{display:flex;align-items:center}.toggle-track{width:31px;height:17px;padding:2px;border-radius:10px;background:var(--line-strong);transition:background .16s ease}.toggle-track span{width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .16s ease}.toggle-control.enabled{color:var(--good)}.toggle-control.enabled .toggle-track{background:var(--good)}.toggle-control.enabled .toggle-track span{transform:translateX(14px)}.config-savebar{position:-webkit-sticky;position:sticky;bottom:8px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line-strong);border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:0 10px 28px rgba(var(--shadow),.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.config-savebar>span{color:var(--muted);font-size:10px}.config-savebar>div{display:flex;gap:7px}.config-check{display:grid;grid-gap:8px;gap:8px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--good) 30%,var(--line));border-left:3px solid var(--good);border-radius:7px;background:var(--good-soft)}.config-check.failed{border-color:color-mix(in srgb,var(--bad) 30%,var(--line));border-left-color:var(--bad);background:var(--bad-soft)}.config-check>div{display:flex;align-items:center;gap:7px;color:var(--good);font-size:11px}.config-check.failed>div{color:var(--bad)}.config-check pre{max-height:230px;margin:0;padding:10px;overflow:auto;border-radius:6px;background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);font-size:9px;line-height:1.55;white-space:pre-wrap}.runtime-facts{grid-template-columns:1fr}.project-issues{display:grid;grid-gap:6px;gap:6px}.project-issues>div,.runtime-ok{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:6px;background:var(--warn-soft);color:var(--warn);font-size:10px}.project-issues>.severity-critical{background:var(--bad-soft);color:var(--bad)}.project-issues>.severity-notice{background:var(--surface-soft);color:var(--muted)}.runtime-ok{background:var(--good-soft);color:var(--good)}.project-links{display:flex;flex-wrap:wrap;gap:7px}.keyword-group,.keyword-groups{display:grid;grid-gap:12px;gap:12px}.keyword-group{padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.keyword-group-head{display:grid;grid-template-columns:minmax(220px,1fr) 110px 130px 36px;align-items:end;grid-gap:9px;gap:9px}.compact-field{min-width:0}.rule-list{display:grid;grid-gap:7px;gap:7px}.rule-row{display:grid;grid-template-columns:90px minmax(0,1fr) 36px;align-items:center;grid-gap:7px;gap:7px}.llm-grid{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;grid-gap:9px;gap:9px}.small-textarea{min-height:88px}.icon-button{width:36px;padding:0}.log-panel{overflow:hidden}.tabs{display:flex;align-items:flex-end;flex-wrap:wrap;gap:7px}.tabs .field{margin-left:auto}.log-shell{overflow:hidden;border:1px solid var(--code-line);border-radius:8px;background:var(--code-bg)}.log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid var(--code-line);background:var(--code-surface)}.terminal-title{color:var(--code-text);font-family:var(--font-mono);font-size:11px;font-weight:800}.terminal-state{color:var(--code-muted);font-size:10px;font-weight:700}.terminal-stream{min-height:390px;max-height:64vh;overflow:auto;padding:5px 0;background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);font-size:11px;line-height:1.55}.log-empty{padding:20px;color:var(--code-muted)}.terminal-line{min-width:780px;display:grid;grid-template-columns:52px minmax(700px,1fr)}.terminal-line:hover{background:rgba(148,163,184,.075)}.terminal-gutter{position:-webkit-sticky;position:sticky;left:0;z-index:1;display:block;padding:1px 10px 1px 6px;border-right:1px solid rgba(148,163,184,.11);background:var(--code-bg);color:#66778f;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.terminal-text{margin:0;padding:1px 12px;color:var(--code-text);overflow-wrap:anywhere;-moz-tab-size:2;tab-size:2;white-space:pre-wrap}.ansi-bold{font-weight:800}.ansi-dim{opacity:.72}.ansi-italic{font-style:italic}.ansi-underline{text-decoration:underline}.ansi-fg-black{color:#111827}.ansi-fg-red{color:#ef4444}.ansi-fg-green{color:#22c55e}.ansi-fg-yellow{color:#eab308}.ansi-fg-blue{color:#3b82f6}.ansi-fg-magenta{color:#d946ef}.ansi-fg-cyan{color:#06b6d4}.ansi-fg-white{color:#e5e7eb}.ansi-fg-bright-black{color:#64748b}.ansi-fg-bright-red{color:#f87171}.ansi-fg-bright-green{color:#4ade80}.ansi-fg-bright-yellow{color:#facc15}.ansi-fg-bright-blue{color:#60a5fa}.ansi-fg-bright-magenta{color:#e879f9}.ansi-fg-bright-cyan{color:#22d3ee}.ansi-fg-bright-white{color:#f8fafc}.ansi-bg-black{background:#111827}.ansi-bg-red{background:#7f1d1d}.ansi-bg-green{background:#14532d}.ansi-bg-yellow{background:#713f12}.ansi-bg-blue{background:#1e3a8a}.ansi-bg-magenta{background:#701a75}.ansi-bg-cyan{background:#164e63}.ansi-bg-white{background:#e5e7eb;color:#111827}.ansi-bg-bright-black{background:#334155}.ansi-bg-bright-red{background:#dc2626}.ansi-bg-bright-green{background:#16a34a}.ansi-bg-bright-yellow{background:#ca8a04}.ansi-bg-bright-blue{background:#2563eb}.ansi-bg-bright-magenta{background:#c026d3}.ansi-bg-bright-cyan{background:#0891b2}.ansi-bg-bright-white{background:#f8fafc;color:#111827}@media (max-width:1180px){.dashboard-split{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-panel{grid-column:1/-1}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.fleet-row,.fleet-table-head{grid-template-columns:minmax(230px,1.4fr) 105px minmax(120px,.8fr) minmax(140px,.9fr) 36px}.fleet-resource{display:none}}@media (max-width:980px){.app-shell{display:block;padding-top:52px}.sidebar{display:none}.mobile-shell-head{position:fixed;inset:0 0 auto;z-index:30;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.mobile-host{color:var(--muted);font-family:var(--font-mono);font-size:9px}.content{padding:18px}.control-deck{grid-template-columns:1fr}.deck-actions{justify-self:start}.detail-grid{grid-template-columns:1fr}.runtime-facts{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.mobile-section-tabs{position:-webkit-sticky;position:sticky;top:60px;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;padding:5px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.section-tab{min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px;border-radius:6px;color:var(--muted);font-size:11px;font-weight:800}.section-tab.state,.section-tab:hover{background:var(--surface-strong);color:var(--text)}}@media (max-width:760px){.content{padding:14px}.page-header{min-height:0;align-items:flex-start}.page-header h1{font-size:29px}.page-header p{max-width:90%;font-size:12px}.freshness{display:none}.theme-toggle{width:36px;padding:0;font-size:0}.control-deck{padding:18px 16px 0}.control-deck:after{display:none}.deck-status-line{align-items:flex-start}.deck-status-line h2{font-size:23px}.deck-actions{width:100%}.deck-button{flex:1 1}.power-rail{grid-template-columns:repeat(2,minmax(0,1fr));margin:17px -16px 0}.rail-segment{padding:10px 12px}.rail-state{display:none}.dashboard-split{grid-template-columns:1fr}.activity-panel{grid-column:auto}.activity-list{grid-template-columns:1fr}.fleet-head{align-items:flex-start;flex-direction:column}.fleet-search{width:100%}.fleet-filters{overflow-x:auto}.fleet-table-head{display:none}.fleet-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 15px}.fleet-row>*{grid-column:1}.fleet-row .fleet-open{grid-column:2;grid-row:1}.fleet-row>div:nth-child(2){grid-column:2;grid-row:2;justify-self:end}.fleet-runtime{grid-row:2}.fleet-git{grid-row:3}.fleet-resource{display:none}.fleet-identity small{white-space:normal}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.log-heading,.section-heading{align-items:flex-start}.keyword-group-head,.llm-grid,.rule-row{grid-template-columns:1fr}.keyword-group-head .icon-button,.rule-row .icon-button{width:100%}.config-savebar{align-items:stretch;flex-direction:column}.config-savebar>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.tabs .field{width:100%;margin-left:0}.terminal-line{grid-template-columns:43px minmax(510px,1fr);min-width:560px}.terminal-stream{min-height:340px;font-size:10px}}@media (max-width:480px){.page-header{gap:10px}.page-header p{max-width:100%}.panel{padding:14px}.power-rail,.summary-strip{grid-template-columns:1fr}.mobile-section-tabs{grid-template-columns:repeat(3,1fr)}.mobile-section-tabs .state{display:none}.deck-actions{flex-wrap:wrap}.deck-refresh{flex:0 0 37px}.dialog-targets>div{align-items:flex-start;flex-direction:column;gap:3px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}