:root{--bg:#080b10;--p:#0f151e;--p2:#121a25;--line:#202c3b;--txt:#eef5ff;--muted:#8d9bad;--green:#55f0a7;--blue:#6fa8ff;--amber:#ffc866;--red:#ff727c;--r:15px}*{box-sizing:border-box}body{margin:0;height:100vh;overflow:hidden;background:radial-gradient(circle at 80% -10%,#173328 0,transparent 32%),var(--bg);color:var(--txt);font:13px Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:246px 1fr;height:100%}.side{background:#0a0f16;border-right:1px solid var(--line);padding:16px 13px;overflow:auto}.brand{display:flex;gap:10px;align-items:center;padding:5px 7px 18px}.logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#2ebc7d);color:#05170e;font-weight:900}.brand b{display:block;font-size:16px}.brand small{color:#718095;text-transform:uppercase;letter-spacing:.14em}.label{padding:10px 9px 6px;color:#536277;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.nav{width:100%;border:0;background:transparent;color:#9aa9ba;display:flex;gap:10px;align-items:center;padding:10px 11px;border-radius:10px;cursor:pointer}.nav:hover{background:#101923;color:#fff}.nav.active{background:linear-gradient(90deg,rgba(85,240,167,.14),rgba(85,240,167,.02));color:var(--green);box-shadow:inset 3px 0 0 var(--green)}.nav span:last-child{margin-left:auto;font-size:10px;background:#16212c;border:1px solid #263545;border-radius:999px;padding:1px 6px}.tenant{margin-top:18px;border:1px solid var(--line);background:#0e151e;border-radius:13px;padding:11px}.tenant small{display:block;color:var(--muted);margin-top:3px}.main{min-width:0;display:grid;grid-template-rows:64px 1fr}.top{border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;background:rgba(8,11,16,.86);backdrop-filter:blur(12px);gap:9px}.crumb{color:var(--muted)}.crumb b{color:#fff}.spacer{flex:1}.pill,.topbtn,.btn{border:1px solid var(--line);background:#101821;color:#dce6f2;border-radius:10px;padding:8px 10px;cursor:pointer}.topbtn:hover,.btn:hover{background:#18232f}.pill{color:#92f6bf;background:#0d1a14;border-color:#1e4936}.btn.primary{background:linear-gradient(#5bf2ab,#38cb88);border-color:#2e8d62;color:#062015;font-weight:800}.btn.danger{background:#2a151a;border-color:#5a2930;color:#ff9ca3}.btn.sm{padding:5px 8px;font-size:11px}.content{overflow:auto;padding:22px}.page{display:none}.page.active{display:block;animation:fade .18s}@keyframes fade{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}.head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.head h2{margin:0;font-size:24px;letter-spacing:-.03em}.head p{margin:5px 0 0;color:var(--muted)}.actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.card{background:linear-gradient(180deg,var(--p),#0d131b);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 30px rgba(0,0,0,.16)}.pad{padding:15px}.metric{padding:15px;overflow:hidden}.k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.v{font-size:28px;font-weight:850;letter-spacing:-.04em;margin-top:5px}.good{color:#79efb0}.warn{color:var(--amber)}.bad{color:var(--red)}.section{font-weight:800;margin:18px 0 9px}.section span{color:var(--muted);font-weight:500}.cardtitle{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center}.cardtitle .right{margin-left:auto}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{position:sticky;top:0;background:#0f151e;color:#6f7f92;text-transform:uppercase;letter-spacing:.07em;font-size:9px;text-align:left;padding:10px 11px;border-bottom:1px solid var(--line)}.table td{padding:10px 11px;border-bottom:1px solid #18222d;white-space:nowrap}.table tr:hover td{background:#111a24}.link{font-weight:800;color:#e3eefc;cursor:pointer}.tag{display:inline-flex;padding:3px 7px;border-radius:999px;background:#121c27;border:1px solid #2a394a;font-size:10px}.tag.good{background:#0d1d16;border-color:#24523d}.tag.warn{background:#231d10;border-color:#5a4720}.tag.bad{background:#281419;border-color:#5c2930}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:11px}.search{flex:1;min-width:220px}.search input,.select,.field input,.field select,.field textarea{width:100%;background:#0d131a;color:#edf5ff;border:1px solid var(--line);border-radius:10px;padding:9px 10px;outline:none}.select{width:auto}.split{display:grid;grid-template-columns:1.6fr .8fr;gap:13px}.event{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-bottom:1px solid #19232e}.event:last-child{border-bottom:0}.event i{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#12231b;color:var(--green);font-style:normal}.event b{font-size:11px}.event p{font-size:10px;color:var(--muted);margin:3px 0}.event time{margin-left:auto;color:#647386;font-size:9px}.bar{height:8px;background:#1a2531;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#35c985,var(--green))}.health{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center}.ring{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 96.7%,#1d2834 96.7%);position:relative}.ring:after{content:"";position:absolute;inset:9px;background:#0f151e;border-radius:50%}.ring b{z-index:1;font-size:22px}.bars{display:grid;gap:9px}.bars>div{display:grid;grid-template-columns:75px 1fr 38px;gap:8px;align-items:center;font-size:10px;color:var(--muted)}.canvas{height:230px;padding:10px 13px}.canvas canvas{width:100%;height:100%}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin:15px 0 13px;overflow:auto}.tab{border:0;background:transparent;color:#8190a2;padding:10px 11px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.tab.active{color:#fff;border-color:var(--green)}.hero{display:flex;gap:12px;align-items:center}.icon{width:46px;height:46px;border-radius:13px;background:#15202b;border:1px solid #2a3948;display:grid;place-items:center;font-size:20px}.hero h3{font-size:20px;margin:0}.hero p{margin:4px 0 0;color:var(--muted);font-size:11px}.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.kv>div{background:#0d131a;border:1px solid #1d2834;padding:10px;border-radius:10px}.kv small{display:block;color:#6e7e91;font-size:9px;text-transform:uppercase}.kv b{display:block;margin-top:4px;font-size:11px}.policy{display:flex;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #19232e}.policy:last-child{border-bottom:0}.policy .txt{flex:1}.policy b{font-size:11px}.policy p{margin:3px 0;color:var(--muted);font-size:10px}.toggle{width:40px;height:23px;border-radius:99px;padding:3px;background:#25313e;border:1px solid #344354;cursor:pointer}.toggle i{display:block;width:15px;height:15px;border-radius:50%;background:#758396;transition:.2s}.toggle.on{background:#16462f;border-color:#28714f}.toggle.on i{transform:translateX(17px);background:var(--green)}.notice{border:1px solid #22513c;background:#0d1d16;color:#a1f5c8;padding:11px;border-radius:11px;font-size:10px;line-height:1.5}.map{height:290px;position:relative;overflow:hidden;background:linear-gradient(25deg,transparent 49%,rgba(78,95,112,.14) 50%,transparent 51%),linear-gradient(-20deg,transparent 49%,rgba(78,95,112,.12) 50%,transparent 51%),#0b1118;background-size:70px 70px,90px 90px}.pin{position:absolute;width:13px;height:13px;border-radius:50% 50% 50% 0;background:var(--green);transform:rotate(-45deg);box-shadow:0 0 0 5px rgba(85,240,167,.11)}.maplabel{position:absolute;background:#0e151e;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:9px}.modalwrap{position:fixed;inset:0;background:rgba(2,4,8,.73);backdrop-filter:blur(8px);display:none;place-items:center;z-index:50;padding:18px}.modalwrap.open{display:grid}.modal{width:min(600px,100%);max-height:85vh;overflow:auto;background:#101720;border:1px solid #2a394b;border-radius:17px;box-shadow:0 30px 100px rgba(0,0,0,.6)}.modalhead,.modalfoot{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.modalfoot{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.modalhead h3{margin:0;font-size:14px}.close{margin-left:auto;border:0;background:none;color:#8b99a9;font-size:20px;cursor:pointer}.modalbody{padding:16px}.field{margin-bottom:11px}.field label{display:block;font-size:9px;color:#78879a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.field textarea{min-height:80px}.form2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:100}.toast{min-width:270px;background:#101821;border:1px solid #2b3c4e;border-radius:11px;padding:11px 13px;box-shadow:0 18px 60px rgba(0,0,0,.5)}.toast b{font-size:11px}.toast p{margin:3px 0 0;color:var(--muted);font-size:9px}.bulk{position:fixed;left:268px;right:18px;bottom:16px;background:#101720;border:1px solid #2b4258;border-radius:13px;padding:9px 11px;display:none;align-items:center;gap:10px;z-index:20}.bulk.show{display:flex}.bulk .ba{margin-left:auto;display:flex;gap:7px}.mobile{display:none}.code{font:10px ui-monospace,monospace;background:#090e14;border:1px solid #1d2834;border-radius:9px;padding:10px;color:#a9b8c9;overflow:auto}.mini{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.mini>div{border:1px solid #1f2a37;background:#0d131a;border-radius:9px;padding:9px}.mini small{display:block;color:#728194;font-size:8px}.mini b{display:block;margin-top:3px}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.kv{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){body{overflow:auto}.app{grid-template-columns:1fr}.side{position:fixed;z-index:40;inset:0 auto 0 0;width:246px;transform:translateX(-100%);transition:.2s}.side.open{transform:none}.main{min-height:100vh}.content{padding:14px}.mobile{display:block}.grid4,.grid3,.grid2{grid-template-columns:1fr}.head{flex-direction:column}.actions{margin-left:0}.bulk{left:12px;right:12px}.mini{grid-template-columns:repeat(3,1fr)}}

.authgate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 10%,rgba(44,105,79,.22),transparent 38%),#080d13;overflow:auto}.authgate[hidden]{display:none}.authshell{width:min(480px,100%);background:#101720;border:1px solid #2a394b;border-radius:18px;box-shadow:0 35px 120px rgba(0,0,0,.7);padding:22px}.authbrand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.authbrand .logo{width:42px;height:42px}.authbrand b{display:block;font-size:15px}.authbrand small{display:block;color:var(--muted);margin-top:3px}.authtabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:18px}.authtabs button{border:1px solid var(--line);background:#0c1219;color:#8291a3;border-radius:9px;padding:9px 7px;font-size:9px;cursor:pointer}.authtabs button.active{background:#153226;border-color:#2d7655;color:#adf7cf}.authview{display:none}.authview.active{display:block}.authview h2{margin:0 0 5px;font-size:20px}.authview>p{margin:0 0 16px;color:var(--muted);font-size:10px;line-height:1.6}.authview .btn{width:100%;justify-content:center;padding:11px}.autherror{border:1px solid #71363b;background:#241316;color:#ffb3b9;border-radius:10px;padding:10px;margin-bottom:12px;font-size:10px;line-height:1.5}.authfine{margin-top:17px;padding-top:13px;border-top:1px solid var(--line);color:#647386;font-size:9px;line-height:1.5}.disabled{pointer-events:none;opacity:.48}.engine-kv{grid-template-columns:repeat(2,1fr)}.enrollment-result{margin-top:13px;border:1px solid #2d7655;background:#0c2118;border-radius:12px;padding:13px}.enrollment-result small{display:block;color:#87ae9a;text-transform:uppercase;font-size:8px;letter-spacing:.09em}.enrollment-result strong{display:block;margin:8px 0 5px;color:#9af6c6;font:600 16px ui-monospace,monospace;letter-spacing:.05em;overflow-wrap:anywhere}.enrollment-result p{margin:0;color:var(--muted);font-size:9px}.invite-result{font:600 14px ui-monospace,monospace;color:#9af6c6;overflow-wrap:anywhere}

@media(max-width:560px){.authshell{padding:16px}.authtabs{grid-template-columns:1fr}.engine-kv{grid-template-columns:1fr}}
