:root{--bg:#0b0f12;--surface:#11171b;--surface-2:#172025;--line:#273238;--text:#f4f7f5;--muted:#89979c;--green:#64f3ad;--green-2:#123b2b;--amber:#f2c46d;--red:#ff7f78;--radius:18px;font-family:Inter,"Segoe UI",system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -10%,#18372e 0,transparent 36%),var(--bg);color:var(--text);min-height:100vh}.shell{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:42px 0 70px}.topbar,.panel-head,.actions,.pool-card,.top-actions,.pool-actions,.node-identity,.row-actions{display:flex;align-items:center;justify-content:space-between}.topbar{margin-bottom:28px}.eyebrow{margin:0 0 5px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.2em}.topbar h1,.panel h2,.pool-card h2{margin:0}.topbar h1{font-size:32px;letter-spacing:-.04em}.top-actions,.pool-actions,.row-actions{gap:9px}.status-pill{border:1px solid var(--line);background:#10171a;border-radius:999px;padding:9px 13px;font-size:13px;color:#b8c4c7}.status-pill span{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.status-pill.offline span{background:var(--red);box-shadow:0 0 14px rgba(255,127,120,.5)}.status-pill b{font-weight:600}.text-button{border:0;background:transparent;color:var(--muted);cursor:pointer}.overview-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:18px}.pool-card,.metric,.panel,.login-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(23,32,37,.94),rgba(15,21,24,.96));border-radius:var(--radius);box-shadow:0 18px 55px rgba(0,0,0,.16)}.pool-card{padding:25px}.muted{margin:0 0 7px;color:var(--muted);font-size:13px}.endpoint{margin:14px 0 0;color:var(--green);font-family:"Cascadia Code",monospace;overflow-wrap:anywhere}.metric{padding:24px;display:flex;flex-direction:column;justify-content:center}.metric strong{font-size:38px;line-height:1}.metric span{color:var(--muted);margin-top:9px;font-size:13px}.panel{padding:26px}.panel-head{margin-bottom:20px}.format-chip{border:1px solid var(--line);border-radius:8px;padding:6px 9px;color:var(--muted);font:11px "Cascadia Code",monospace}.primary,.secondary,.ghost,.icon-button{border:0;border-radius:11px;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease}.primary:hover,.secondary:hover,.ghost:hover,.icon-button:hover{transform:translateY(-1px)}button:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.primary{background:var(--green);color:#052217;padding:11px 16px}.secondary{background:#e8eeeb;color:#17201d;padding:10px 15px}.ghost{background:transparent;color:var(--green);border:1px solid #315445;padding:8px 12px}.wide{width:100%}.import-box{background:#0c1215;border:1px dashed #334249;border-radius:14px;padding:17px;margin-bottom:18px}.import-box label{display:block;font-size:13px;margin-bottom:10px}.import-box textarea,.login-form input{width:100%;border:1px solid var(--line);background:#11191d;color:var(--text);border-radius:10px;padding:12px;font:13px "Cascadia Code",monospace;outline:none}.import-box textarea{min-height:84px;resize:vertical}.import-box textarea:focus,.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(100,243,173,.08)}.actions{margin-top:10px}.actions span{color:var(--muted);font-size:12px}.table-head,.node-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(165px,1fr) minmax(135px,.75fr) auto;align-items:center;gap:18px}.table-head{padding:8px 11px;color:#647378;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.node-row{padding:15px 10px;border-top:1px solid var(--line);transition:opacity .15s ease}.node-row.disabled{opacity:.45}.node-identity{justify-content:flex-start;gap:13px;min-width:0}.health{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.health.ok{background:var(--green);box-shadow:0 0 12px rgba(100,243,173,.5)}.health.checking{background:var(--amber);animation:pulse 1.2s infinite}.health.down{background:var(--red)}@keyframes pulse{50%{opacity:.35}}.node-main{display:flex;flex-direction:column;gap:4px;min-width:0}.node-main strong,.node-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-main span,.port,.latency{font-size:12px;color:var(--muted);font-family:"Cascadia Code",monospace}.port{color:#c4d1cd}.latency.ok{color:var(--green)}.latency.checking{color:var(--amber)}.latency.down{color:var(--red)}.icon-button{width:33px;height:33px;padding:0;border:1px solid var(--line);background:#11191d;color:#bcc8c4}.icon-button.danger{color:var(--red)}.empty-state{text-align:center;padding:44px 20px 30px;color:var(--muted)}.empty-state[hidden]{display:none}.empty-state h3{margin:12px 0 5px;color:var(--text)}.empty-state p{margin:0;font-size:13px}.empty-mark{margin:auto;width:45px;height:45px;display:grid;place-items:center;border:1px dashed #3a4b50;border-radius:14px;color:var(--green);font-size:24px}.toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:360px;padding:13px 16px;border-radius:11px;background:#e7fff3;color:#103426;font-weight:700;box-shadow:0 18px 50px rgba(0,0,0,.35)}.toast.error{background:#ffe8e7;color:#541f1b}.toast[hidden],.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,5,6,.78);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(430px,100%);padding:28px;background:#12191d;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.5);text-align:center}.modal-card h2{margin:0}.modal-close{position:absolute;top:13px;right:13px;width:34px;height:34px;border:0;border-radius:50%;background:#1e292e;color:var(--muted);font-size:22px;cursor:pointer}.qr-frame{width:244px;height:244px;margin:22px auto 14px;padding:12px;background:white;border-radius:16px}.qr-frame img{display:block;width:100%;height:100%}.modal-note{color:var(--muted);font-size:12px;line-height:1.6;margin:14px 0 0}.modal-open{overflow:hidden}.login-page{display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:34px}.login-card h1{margin:0;font-size:31px;letter-spacing:-.04em}.login-copy{margin:10px 0 24px;color:var(--muted)}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:8px;font-size:12px;color:#bac5c2}.alert{padding:11px 13px;margin:0 0 17px;border-radius:10px;font-size:13px}.alert.error{background:#3b1d1e;color:#ffb3ae;border:1px solid #653031}
@media(max-width:860px){.table-head{display:none}.node-row{grid-template-columns:1fr auto}.node-identity{grid-column:1}.port,.latency{grid-column:1}.row-actions{grid-column:2;grid-row:1/4;flex-wrap:wrap;max-width:86px;justify-content:flex-end}.overview-grid{grid-template-columns:1fr 1fr}.pool-card{grid-column:1/-1}}
@media(max-width:600px){.shell{width:min(100% - 22px,1120px);padding-top:24px}.topbar{align-items:flex-start}.status-pill b{display:none}.panel{padding:17px}.pool-card{align-items:flex-start;gap:18px}.pool-actions{flex-direction:column;align-items:stretch}.actions{align-items:flex-start;gap:12px}.actions span{max-width:55%}.format-chip{display:none}.node-row{padding:15px 0}.node-main strong{max-width:190px}.toast{left:12px;right:12px;bottom:12px}.qr-frame{width:220px;height:220px}}
