:root{color:#eaf2f7;font-synthesis:none;background:#081018;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.centered{place-items:center;min-height:100vh;display:grid}.loader{border:3px solid #263845;border-top-color:#38e4b4;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(circle at 15% 20%,#123046,#081018 45%);grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);min-height:100vh;display:grid}.brand-panel,.login-panel{padding:clamp(40px,6vw,92px)}.brand-panel{border-right:1px solid #20303a;flex-direction:column;justify-content:space-between;display:flex}.brand-mark{color:#06110e;background:#38e4b4;border-radius:14px;place-items:center;width:52px;height:52px;font-size:26px;font-weight:900;display:grid;box-shadow:0 12px 40px #38e4b433}.brand-mark.small{border-radius:9px;width:34px;height:34px;font-size:17px}.eyebrow{color:#6f8c9d;letter-spacing:.18em;margin:0 0 14px;font-size:11px;font-weight:800}h1{letter-spacing:-.055em;margin:0;font-size:clamp(44px,5vw,76px);line-height:.98}.brand-copy{color:#9bb0bd;max-width:540px;font-size:18px;line-height:1.6}.security-note{color:#66808f;font-size:13px}.login-panel{background:#09131bbb;place-items:center;display:grid}.login-card{background:#101d26;border:1px solid #263a47;border-radius:22px;gap:24px;width:min(440px,100%);padding:42px;display:grid;box-shadow:0 30px 80px #0007}h2{letter-spacing:-.03em;margin:0;font-size:30px}.muted{color:#839aa8;line-height:1.5}label{color:#b8c8d1;gap:9px;font-size:13px;font-weight:700;display:grid}input{color:#eef7fa;background:#09131a;border:1px solid #2c414e;border-radius:10px;outline:none;width:100%;padding:14px 15px}input:focus{border-color:#38e4b4;box-shadow:0 0 0 3px #38e4b419}button{color:#06110e;cursor:pointer;background:#38e4b4;border:0;border-radius:10px;padding:14px 18px;font-weight:850}button:disabled{opacity:.55;cursor:wait}.error{color:#ff9d9d;margin:-8px 0 0;font-size:13px}.dashboard-shell{background:#09121a;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid;overflow-x:hidden}aside{background:#0d1820;border-right:1px solid #21313b;flex-direction:column;gap:44px;padding:26px 20px;display:flex}.sidebar-brand{align-items:center;gap:12px;display:flex}.sidebar-brand strong{font-size:19px}nav{gap:8px;display:grid}nav a,nav span{color:#77909f;border-radius:8px;padding:11px 13px}nav .active{color:#eaf6f2;background:#172832}.profile{background:#101f28;border-radius:11px;gap:3px;margin-top:auto;padding:14px;display:grid;overflow:hidden}.profile span{text-overflow:ellipsis;overflow:hidden}.profile small{color:#73909f;text-transform:uppercase}.text-button{color:#38e4b4;text-align:left;background:0 0;padding:8px 0 0}.workspace{min-width:0;padding:clamp(28px,5vw,70px)}.workspace header{border-bottom:1px solid #21323c;justify-content:space-between;align-items:start;padding-bottom:34px;display:flex}.section-copy{color:#78919f;margin:8px 0 0}.refresh-button{color:#a9c3cf;background:#14242e;border:1px solid #29404d;width:auto;padding:10px 16px;font-size:13px}.refresh-button:hover{color:#eaf2f7;border-color:#3b5968}.summary-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin:28px 0;display:grid}.summary-card{background:#0f1c25;border:1px solid #21343f;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:112px;padding:20px;display:flex}.summary-card span{color:#7993a1;font-size:12px}.summary-card strong{letter-spacing:-.04em;font-size:30px}.summary-card.green strong{color:#55e3ba}.summary-card.amber strong{color:#ffca68}.summary-card.red strong{color:#ff8989}.nodes-panel{background:#0e1a22;border:1px solid #21343f;border-radius:16px;width:100%;min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid #21343f;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:18px 22px;display:flex}.panel-heading h3{margin:0 0 5px;font-size:17px}.panel-heading p,.panel-heading>span{color:#6f8998;margin:0;font-size:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:840px}th{color:#647f8d;letter-spacing:.1em;text-align:left;text-transform:uppercase;background:#0b171e;padding:13px 18px;font-size:10px}td{color:#b8cad3;border-top:1px solid #1b2b35;padding:17px 18px;font-size:13px}tbody tr:hover{background:#12212a}td>strong{color:#e7f1f5;font-size:14px;display:block}td>small{color:#6f8997;margin-top:5px;display:block}.status-badge{color:#9db1bc;background:#17262f;border-radius:20px;align-items:center;gap:7px;width:max-content;padding:6px 9px;font-size:11px;font-weight:750;display:flex}.status-badge i{background:currentColor;border-radius:50%;width:7px;height:7px}.status-badge.ready{color:#55e3ba;background:#102b27}.status-badge.pending,.status-badge.draining{color:#ffca68;background:#2a2518}.status-badge.error{color:#ff8989;background:#2c1d20}.status-badge.offline,.status-badge.disabled{color:#718894}.access-badge{color:#55e3ba;background:#102b27;border-radius:20px;align-items:center;gap:7px;width:max-content;padding:6px 9px;font-size:11px;font-weight:750;display:flex}.access-badge i{background:currentColor;border-radius:50%;width:7px;height:7px}.access-badge.degraded{color:#ffca68;background:#2a2518}.access-badge.critical{color:#ff8989;background:#2c1d20}.access-cell{justify-items:start;gap:7px;display:grid}.policy-button{color:#7993a1;background:0 0;border-radius:0;padding:0;font-size:11px;font-weight:650}.policy-button:hover{color:#38e4b4}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#02070bbf;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.policy-modal{background:#101d26;border:1px solid #2a414e;border-radius:18px;gap:22px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 30px 90px #000b}.policy-modal h3{margin:0;font-size:22px}.policy-modal>div>p:last-child{color:#78919f;margin:8px 0 0;font-size:13px}.policy-modal label small{color:#6f8998;font-weight:400}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions button{width:auto;padding:11px 16px}.cancel-button{color:#a9c3cf;background:#192933}.metric-cell{color:#e7f1f5;font-size:15px;font-weight:750}.capacity{gap:7px;min-width:110px;display:grid}.capacity span{color:#728d9b;font-size:11px}.capacity b{color:#c5d5dc}.capacity>i{background:#23333c;border-radius:3px;height:4px;overflow:hidden}.capacity em{border-radius:inherit;background:#38e4b4;height:100%;display:block}.heartbeat{gap:4px;display:grid}.heartbeat b{color:#b6c8d0;font-size:12px}.heartbeat small{color:#617c8a}.heartbeat.missing{color:#647d89}.panel-state{text-align:center;place-content:center;justify-items:center;min-height:330px;padding:40px;display:grid}.panel-state .loader{margin-bottom:14px}.panel-state h3{margin:14px 0 0}.panel-state p{color:#78919f;max-width:460px}.panel-state button{width:auto;margin-top:8px;padding:10px 16px}.error-state h3{color:#ff9d9d}.status{color:#8fa4af;align-items:center;gap:8px;font-size:13px;display:flex}.status i{background:#38e4b4;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #38e4b4}.empty-state{text-align:center;place-content:center;justify-items:center;min-height:65vh;display:grid}.empty-state h3{margin:18px 0 6px;font-size:24px}.empty-state p{color:#78919f;max-width:500px;line-height:1.6}.empty-icon{color:#38e4b4;background:#102a29;border:1px solid #236453;border-radius:50%;place-items:center;width:54px;height:54px;font-size:24px;display:grid}@media (width<=1200px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.login-page{grid-template-columns:1fr}.brand-panel{display:none}.login-panel{padding:24px}.login-card{padding:28px}.dashboard-shell{grid-template-columns:1fr}aside{display:none}.workspace header{flex-direction:column;gap:20px}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-card{min-height:96px}}@media (width<=480px){.summary-grid{grid-template-columns:1fr}.workspace{padding:20px}.panel-heading{flex-direction:column;align-items:start}}
