:root{color-scheme:dark;font-family:Space Grotesk,IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;background:#06111d;color:#e8f5ff}*{box-sizing:border-box}body{margin:0;min-width:1280px;background:radial-gradient(circle at 20% 10%,#123252 0,transparent 28%),#06111d}button,input{font:inherit}.boot,.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(33,150,243,.22),transparent 34%),#06111d}.boot{gap:16px;align-content:center;color:#9fb8cd}.login-card{width:420px;padding:28px;border:1px solid rgba(99,187,255,.22);border-radius:24px;background:linear-gradient(145deg,#0b1f32eb,#06111deb);box-shadow:0 30px 90px #0006}.brand-row{display:flex;align-items:center;gap:14px;margin-bottom:28px}.brand-row h1{margin:0;font-size:26px}.brand-row p,.brand-row span{display:block;margin:2px 0 0;color:#81a0b9;font-size:13px}.brand-row.compact{margin-bottom:32px}.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#7be7ff;font-weight:800;background:linear-gradient(145deg,#07365e,#0a1020);border:1px solid rgba(82,185,255,.42);box-shadow:inset 0 0 24px #00aeff3d,0 0 32px #00aeff2e}.login-card label{display:grid;gap:8px;margin:18px 0;color:#adc6d9}.login-card input,.confirm{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(126,184,224,.2);background:#030d18b3;color:#e8f5ff;outline:none}.login-card button,.detail button{border:0;border-radius:14px;padding:12px 16px;background:#1287df;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.error{color:#ff8090;padding:8px 0}.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{padding:22px 16px;background:#030d18d1;border-right:1px solid rgba(126,184,224,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar button{width:100%;height:48px;margin:6px 0;display:flex;align-items:center;gap:12px;color:#b7cee1;background:transparent;border:1px solid transparent;border-radius:14px;padding:0 14px;cursor:pointer}.sidebar button.active,.sidebar button:hover{color:#e8f5ff;background:#2a89cf2e;border-color:#53b4ff3d}main{padding:22px 24px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1{margin:0;font-size:28px;letter-spacing:-.03em}.topbar p{margin:4px 0 0;color:#8da8bd}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#0b1f32cc;border:1px solid rgba(126,184,224,.18);color:#bad1e5}.ghost-btn{border:1px solid rgba(126,184,224,.2);border-radius:999px;padding:10px 14px;background:#0b1f329e;color:#bad1e5;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.ghost-btn:hover{color:#fff;border-color:#5dbeff73}.metrics-row{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px;margin:20px 0}.metric{min-height:86px;border:1px solid rgba(126,184,224,.16);border-radius:16px;padding:14px;background:linear-gradient(180deg,#0d2338d9,#071422bf)}.metric span{display:block;color:#a5bbcf;font-size:13px}.metric strong{display:block;margin-top:8px;font-size:27px;letter-spacing:-.04em}.metric small{color:#60e181}.metric.critical strong{color:#ff5d72}.metric.warning strong{color:#ffc35c}.metric.healthy strong{color:#60e181}.workspace{display:grid;grid-template-columns:minmax(780px,1fr) 380px;gap:18px;height:calc(100vh - 172px)}.split-screen{display:grid;grid-template-columns:minmax(480px,1fr) 440px;gap:18px;height:calc(100vh - 172px)}.content-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(420px,.75fr);gap:18px;height:calc(100vh - 172px)}.panel{overflow:auto;border-radius:24px;border:1px solid rgba(126,184,224,.16);background:linear-gradient(180deg,#0b1f32d1,#040d17db);padding:18px;box-shadow:inset 0 1px #ffffff0a}.panel-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.panel h2{margin:0;font-size:21px;letter-spacing:-.03em}.panel p,.panel-head p{margin:4px 0 0;color:#90a9bd}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.form-grid label{display:grid;gap:7px;color:#adc6d9;font-size:13px}.inline-form input,.form-grid input,select{width:100%;padding:12px 13px;border-radius:14px;border:1px solid rgba(126,184,224,.2);background:#030d18b3;color:#e8f5ff;outline:none}.panel button,.inline-form button{border:0;border-radius:14px;padding:12px 16px;background:#1287df;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.scene-card{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(126,184,224,.16);background:#071523;box-shadow:inset 0 0 80px #167ad314}.topology-warning{margin:-8px 0 14px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,179,71,.24);background:#ffb34717;color:#ffd495}.overlay-note{position:absolute;z-index:5;left:20px;top:20px;padding:12px 14px;border-radius:14px;background:#020c16b8;color:#b9d2e8;border:1px solid rgba(126,184,224,.18)}.overlay-note.error{color:#ff8090}.scene-fallback{height:100%;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;padding:28px;color:#b9d2e8;background:radial-gradient(circle at 50% 35%,rgba(255,76,99,.12),transparent 38%),#071523}.scene-fallback h2{margin:0}.scene-fallback p{max-width:520px;margin:0;color:#91aabe}.scene-fallback button{border:0;border-radius:14px;padding:11px 15px;background:#1287df;color:#fff;cursor:pointer}.scene-legend{display:flex;gap:10px;padding:8px 10px;border-radius:999px;background:#030d18b8;border:1px solid rgba(126,184,224,.16);color:#9fb8cd;font-size:11px;white-space:nowrap;pointer-events:none}.scene-legend span{display:inline-flex;align-items:center;gap:5px}.scene-legend i{width:18px;height:3px;border-radius:999px;display:inline-block;box-shadow:0 0 12px currentColor}.scene-legend .placement{background:#35a7ff;color:#35a7ff}.scene-legend .runs{background:#50f48e;color:#50f48e}.scene-legend .db{background:#ffbf5a;color:#ffbf5a}.scene-controls-hint{position:absolute;right:18px;bottom:18px;display:flex;flex-wrap:wrap;gap:7px;max-width:min(560px,calc(100% - 36px));padding:8px 10px;border-radius:999px;background:#030d18ad;border:1px solid rgba(126,184,224,.16);color:#a9c0d3;font-size:11px;pointer-events:none}.scene-controls-hint span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.deck-label{padding:5px 9px;border-radius:999px;background:#030d18b8;border:1px solid rgba(83,180,255,.22);color:#86d7ff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.node-label{min-width:104px;text-align:center;padding:5px 8px;border-radius:10px;background:#030d18b8;border:1px solid rgba(126,184,224,.18);color:#e8f5ff;box-shadow:0 12px 28px #0003;pointer-events:none}.node-label span{display:block;font-size:9px;color:#68d8ff;letter-spacing:.11em}.node-label strong{display:block;font-size:12px;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-label small{display:block;color:#96afc4;font-size:10px;white-space:nowrap}.node-label.host{min-width:132px}.node-label.worker{min-width:94px;padding:5px 7px;opacity:.9}.node-label.worker strong{max-width:98px;font-size:11px}.node-label.workload{min-width:96px;padding:5px 7px}.node-label.workload strong{font-size:11px;max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-label.critical{border-color:#ff4c6399}.node-label.warning{border-color:#ffb34799}.node-label.healthy{border-color:#44f07857}.node-label.selected{transform:scale(1.06)}.detail{overflow:auto;border-radius:24px;border:1px solid rgba(126,184,224,.16);background:linear-gradient(180deg,#0b1f32db,#040d17e0);padding:18px;box-shadow:inset 0 1px #ffffff0a}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid rgba(126,184,224,.12)}.detail-header h2{margin:4px 0}.detail-header small,.detail-header p,.muted{color:#90a9bd}.status-dot{width:14px;height:14px;min-width:14px;max-width:14px;min-height:14px;max-height:14px;flex:0 0 14px;align-self:center;aspect-ratio:1 / 1;border-radius:50%;background:#7894ad;box-shadow:0 0 20px currentColor}.status-dot.healthy{background:#44f078;color:#44f078}.status-dot.warning{background:#ffb347;color:#ffb347}.status-dot.critical{background:#ff4c63;color:#ff4c63}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.info{padding:12px;border-radius:14px;background:#0000002e;border:1px solid rgba(126,184,224,.1)}.info svg{width:18px;color:#62c8ff}.info span{display:block;color:#8fa9bd;font-size:12px;margin-top:5px}.info strong{display:block;margin-top:3px;font-size:14px;overflow-wrap:anywhere}.detail h3{margin:20px 0 10px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.detail button.danger{background:#b52f45}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.tabs button{border:1px solid rgba(126,184,224,.14);background:#0000002e;color:#9fb8cd;border-radius:999px;padding:8px 10px;cursor:pointer}.tabs button.active{color:#fff;background:#1287df4d;border-color:#53b4ff61}.empty-detail{min-height:180px;display:grid;place-items:center;text-align:center;color:#91aabe}.list{display:grid;gap:10px}.alert,.action-item,.row,.section-line{display:flex;gap:10px;padding:10px;border-radius:14px;background:#0000002e;border:1px solid rgba(126,184,224,.1)}.table-list{display:grid;gap:10px;min-width:0;max-height:100%}.row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(90px,.7fr) auto;align-items:center;text-align:left;color:#dbeeff;min-width:0}.panel button.row,button.row,.table-list .row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(90px,.7fr) auto;justify-content:initial;align-items:center;gap:10px;padding:10px;background:#0000002e;color:#dbeeff;border:1px solid rgba(126,184,224,.1);border-radius:14px}.panel button.row:hover,button.row:hover{background:#1287df29}.row.active{border-color:#53b4ff73;background:#1287df2e}.row.nested{margin-left:18px;width:calc(100% - 18px);opacity:.9}.row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.row small{color:#8fa9bd;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row b{color:#bfe2ff;font-size:12px;font-weight:600;justify-self:end;white-space:nowrap}.row svg{flex:0 0 auto}.section-line{align-items:center;justify-content:space-between}.section-line span{flex:1}.disk-card{padding:10px;border-radius:16px;border:1px solid rgba(126,184,224,.12);background:#00000024}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;margin-top:10px}.mini-grid .metric{min-height:64px;padding:10px}.mini-grid .metric strong{font-size:18px}.alert svg{color:#ffb347;flex:0 0 auto}.alert strong{font-size:13px}.alert p{margin:3px 0 0;color:#9bb3c8;font-size:12px}.alert.large{align-items:flex-start}.alert.large strong{font-size:15px}.compact-list .action-item{align-items:center;justify-content:space-between;font-size:12px;color:#b7cee1}.action-item{flex-wrap:wrap;align-items:center}.action-item span{flex:1}.action-item pre,.diagnostic{width:100%;max-height:220px;overflow:auto;margin:8px 0 0;padding:10px;border-radius:12px;background:#00000052;color:#b7cee1;white-space:pre-wrap;font-size:11px}.discovery-run{display:grid;gap:8px}.host-topology-list{display:grid;gap:10px;margin-top:14px}.host-topology-list h3{margin:4px 0}.worker-card{padding:11px;border-radius:16px;border:1px solid rgba(126,184,224,.12);background:#00000029}.worker-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:8px}.worker-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-card-head small{color:#8fa9bd;white-space:nowrap}.app-chip-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;color:#cfe5f7;font-size:12px}.app-chip-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-chip-row b{color:#8fa9bd;font-size:11px}.tight{margin-top:14px;font-size:12px}button:disabled{opacity:.55;cursor:not-allowed}
