:root{--bg:#031322;--bg2:#061a2b;--panel:#071d30;--panel2:#09243a;--line:#173f5d;--text:#f3f8ff;--muted:#86a7c3;--blue:#1195ff;--cyan:#11d5e8;--green:#22e47d;--red:#ff4e62;--yellow:#f9bd24;--purple:#9c65ff;--shadow:0 20px 60px rgba(0,0,0,.32);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(circle at 70% 0,#07335a 0,transparent 32%),var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#041626,#03111f);border-right:1px solid #12304a;padding:18px 13px;display:flex;flex-direction:column;z-index:30}.brand{height:64px;display:flex;align-items:center;gap:12px;padding:0 10px 15px;border-bottom:1px solid #0e2a42}.brand-shield,.logo-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;color:#001722;background:linear-gradient(135deg,#10e4da,#58ff72);box-shadow:0 0 28px rgba(16,228,218,.28)}.brand strong{font-size:23px;letter-spacing:1px;color:#23dce8}.brand span{display:block;font-size:8px;letter-spacing:2.1px;color:#b4cadc;margin-top:2px}.nav-group{margin-top:18px}.nav-group label{display:block;font-size:10px;color:#5f819c;letter-spacing:1.2px;padding:0 10px 7px}.nav-group button{width:100%;height:39px;border:1px solid transparent;background:transparent;color:#a8c1d6;border-radius:8px;display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;margin:2px 0}.nav-group button:hover{background:#08223a;color:#fff}.nav-group button.active{color:#fff;background:linear-gradient(90deg,rgba(17,149,255,.22),rgba(17,213,232,.07));border-color:#0d8cf1;box-shadow:inset 3px 0 0 #12d9e7,0 0 20px rgba(17,149,255,.12)}.nav-group button:first-letter{color:#2eb9ff}.server-card{margin-top:auto;border:1px solid #174565;border-radius:10px;background:#062039;padding:12px;color:#a9c7dc}.server-card div{display:flex;align-items:center;gap:8px;color:#5af09a}.server-card span:not(.dot){display:block;margin-top:7px;font-weight:700;color:white}.server-card small{display:block;color:#5c9fc7;margin-top:3px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.ok{background:var(--green);box-shadow:0 0 10px rgba(34,228,125,.6)}
.workspace{margin-left:244px;width:calc(100% - 244px);min-height:100vh}.topbar{height:62px;position:sticky;top:0;z-index:25;background:rgba(3,19,34,.9);backdrop-filter:blur(14px);border-bottom:1px solid #12304a;display:flex;align-items:center;padding:0 22px;gap:18px}.icon-btn{width:38px;height:38px;border:1px solid #184d73;border-radius:8px;background:#061b2e;color:#b7d2e6}.top-search{width:min(520px,45vw);height:38px;border:1px solid #18537d;background:#04192b;border-radius:8px;display:flex;align-items:center;padding:0 11px;color:#63a7d0}.top-search input{flex:1;border:0;outline:0;background:transparent;color:white;padding:0 9px}.top-search kbd{font-size:10px;border:1px solid #1f4d6e;padding:3px 6px;border-radius:5px;color:#7fa9c6}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.status-pill{height:34px;border-radius:7px;border:1px solid #14633a;background:#06261f;padding:0 11px;display:flex;align-items:center;gap:7px;font-size:12px}.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--green)}.profile{height:42px;background:transparent;border:0;color:white;display:flex;align-items:center;gap:9px;border-left:1px solid #14334b;padding-left:13px}.profile>span{text-align:left;font-weight:700}.profile small{display:block;font-size:10px;color:#7299b7;font-weight:400;margin-top:2px}.page{padding:24px 26px 42px;max-width:1780px;margin:auto}.page-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:20px}.page-head h1{font-size:27px;line-height:1;margin:0 0 7px}.page-head p{margin:0;color:#82a5c0}.page-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.btn{height:38px;border-radius:7px;border:1px solid #1b5d89;background:#08243a;color:#d5eaff;padding:0 14px;font-weight:600}.btn:hover{filter:brightness(1.1)}.btn.primary{background:linear-gradient(180deg,#128eff,#086fd0);border-color:#2aa1ff;color:white;box-shadow:0 7px 20px rgba(15,132,240,.16)}.btn.success{background:#0c6c3f;border-color:#12a35e}.btn.danger{background:#3b1420;border-color:#b7364b;color:#ff98a6}.btn.ghost{background:#061827}.btn.wide{width:100%}.btn.sm{height:30px;padding:0 9px;font-size:12px}.grid{display:grid;gap:12px}.kpis{grid-template-columns:repeat(5,minmax(155px,1fr));margin-bottom:14px}.kpi{min-height:92px;border:1px solid #164767;border-radius:10px;background:linear-gradient(135deg,#08253c,#061b2e);padding:15px 16px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:currentColor;opacity:.035;right:-30px;top:-30px}.kpi .label{font-size:11px;color:#80a4c1}.kpi strong{display:block;font-size:25px;margin-top:7px;letter-spacing:.2px}.kpi small{display:block;color:#5edc9b;margin-top:5px}.kpi.blue{color:#3aaaff}.kpi.green{color:#27e583}.kpi.purple{color:#a46eff}.kpi.yellow{color:#ffc542}.kpi.red{color:#ff6678}.panel{border:1px solid #16445f;border-radius:10px;background:linear-gradient(180deg,rgba(8,31,50,.96),rgba(5,24,40,.96));box-shadow:0 12px 35px rgba(0,0,0,.08)}.panel-head{height:52px;padding:0 15px;border-bottom:1px solid #153a55;display:flex;align-items:center;gap:10px}.panel-head h2{font-size:15px;margin:0}.panel-head p{font-size:11px;color:#7299b7;margin-left:8px}.panel-head .right{margin-left:auto;display:flex;gap:8px}.panel-body{padding:15px}.two-col{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr)}.three-col{grid-template-columns:repeat(3,1fr)}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.chart-box{height:235px;padding:16px;display:flex;align-items:flex-end;gap:10px}.bar{flex:1;min-width:10px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#14b6ff,#0d62d8);position:relative}.bar span{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:10px;color:#668ca9}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:26px;min-height:235px}.donut{width:148px;height:148px;border-radius:50%;background:conic-gradient(var(--green) 0 68%,var(--red) 68% 92%,var(--yellow) 92% 100%);display:grid;place-items:center}.donut:after{content:"";width:95px;height:95px;background:#071d30;border-radius:50%}.legend{display:grid;gap:10px}.legend div{display:flex;align-items:center;gap:8px;color:#b8cddd}.legend i{width:8px;height:8px;border-radius:2px;background:var(--green)}.legend .r{background:var(--red)}.legend .y{background:var(--yellow)}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th{height:39px;text-align:left;padding:0 11px;color:#84a9c5;font-size:11px;font-weight:600;background:#071b2c;border-bottom:1px solid #1a4d6f;position:sticky;top:0}.data-table td{height:45px;padding:0 11px;border-bottom:1px solid #123950;color:#d6e8f6;font-size:12px}.data-table tbody tr:hover{background:#09273f}.badge{display:inline-flex;align-items:center;height:24px;border-radius:6px;padding:0 8px;border:1px solid;font-size:11px}.badge.ok{color:#51ef95;background:#08351f;border-color:#167642}.badge.warn{color:#ffd95e;background:#372b05;border-color:#84640c}.badge.die{color:#ff7c8b;background:#36131b;border-color:#943047}.badge.info{color:#7fc8ff;background:#092a43;border-color:#1c6598}.toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #153a55}.toolbar input,.toolbar select,.field input,.field select,.field textarea{height:36px;background:#041827;border:1px solid #1b5277;border-radius:7px;color:#dcefff;padding:0 10px;outline:none}.toolbar input{min-width:250px}.toolbar .grow{flex:1}.empty{padding:45px;text-align:center;color:#678eab}.forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;color:#7da2bd}.field textarea{height:105px;padding:9px;resize:vertical}.field.full{grid-column:1/-1}.setting-row{min-height:50px;border-bottom:1px solid #11364e;display:flex;align-items:center;gap:14px}.setting-row:last-child{border-bottom:0}.setting-row .desc{flex:1}.setting-row .desc b{display:block}.setting-row .desc small{color:#6e95b1}.toggle{width:43px;height:24px;border-radius:20px;background:#233b4f;border:0;position:relative}.toggle:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.toggle.on{background:#14a85d}.toggle.on:after{left:22px}.metric-list{display:grid;gap:9px}.metric-line{display:grid;grid-template-columns:120px 1fr 52px;align-items:center;gap:9px}.meter{height:8px;background:#102f46;border-radius:10px;overflow:hidden}.meter i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#138dff,#14d6df)}
.auth-gate{position:fixed;inset:0;background:radial-gradient(circle at 50% 20%,#0b3a63 0,transparent 38%),#020d17;display:grid;place-items:center;z-index:1000}.auth-card{width:min(430px,calc(100vw - 30px));border:1px solid #1b557a;border-radius:16px;background:rgba(5,24,40,.97);box-shadow:var(--shadow);padding:28px}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-logo b{display:block;font-size:23px;color:#22dce6}.auth-logo small{font-size:8px;letter-spacing:2px;color:#8aa7bc}.auth-card h1{font-size:24px;margin:0 0 7px}.auth-card p{color:#7c9eb8;margin:0 0 22px}.auth-card label{display:block;font-size:11px;color:#89abc3;margin:12px 0 7px}.auth-card input{width:100%;height:42px;border-radius:8px;border:1px solid #22628c;background:#031727;padding:0 12px;color:white;outline:0}.password-wrap{display:flex}.password-wrap input{border-radius:8px 0 0 8px}.password-wrap button{width:60px;border:1px solid #22628c;border-left:0;background:#092840;color:#8fc9f1;border-radius:0 8px 8px 0}.auth-card .btn{margin-top:18px;height:43px}.auth-error{min-height:20px;margin-top:11px;color:#ff7182;font-size:12px}.auth-foot{margin-top:20px;padding-top:16px;border-top:1px solid #123851;color:#7197b2;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,7,13,.7);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:200}.modal{width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid #23658f;border-radius:13px;background:#061c2e;box-shadow:var(--shadow)}.modal.small{width:min(500px,calc(100vw - 28px))}.modal-head{height:58px;padding:0 17px;display:flex;align-items:center;border-bottom:1px solid #194560}.modal-head h2{font-size:17px;margin:0}.modal-head button{margin-left:auto}.modal-body{padding:18px}.modal-foot{padding:13px 17px;border-top:1px solid #194560;display:flex;justify-content:flex-end;gap:8px}.steps{display:flex;gap:5px;margin-bottom:18px}.step{flex:1;height:5px;background:#123650;border-radius:10px}.step.active{background:#1197ff}.license-box{border:1px solid #2179af;background:#062a43;padding:16px;border-radius:9px;text-align:center}.license-box strong{display:block;font-size:21px;letter-spacing:1px;color:#54dfff;margin:8px 0}.toast-root{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:400}.toast{min-width:300px;max-width:420px;border:1px solid #23618a;background:#071f34;border-radius:9px;padding:12px 14px;box-shadow:var(--shadow)}.toast.ok{border-color:#1f965b}.toast.err{border-color:#a93749}.toast b{display:block;margin-bottom:3px}.toast small{color:#8eaac0}
@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.two-col,.split{grid-template-columns:1fr}.three-col{grid-template-columns:1fr 1fr}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0;width:100%}.top-search{display:none}.page{padding:18px 12px}.kpis{grid-template-columns:1fr 1fr}.forms{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head{flex-wrap:wrap}.page-actions{width:100%;margin-left:0}}@media(max-width:520px){.kpis{grid-template-columns:1fr}.top-actions .status-pill{display:none}.three-col{grid-template-columns:1fr}}
