:root{--ink:#17203b;--muted:#6d7892;--line:#e7eaf1;--bg:#f6f7fb;--purple:#6847e8;--green:#13976e;--amber:#c47e09}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#8e7cff 0,#f4f2ff 26%,#f7f8fc 60%)}.login-card{width:min(390px,90vw);background:white;padding:36px;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px #202c4a18}.mark{background:var(--purple);color:white;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:20px}.eyebrow,.product{font-size:11px;letter-spacing:1.2px;color:#7f89a6;font-weight:800}.login-card h1{margin:7px 0;font-size:29px}.login-card p:not(.eyebrow){color:var(--muted);font-size:14px;margin-bottom:24px}label{display:grid;gap:6px;font-size:13px;font-weight:700;margin:13px 0}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:11px;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:85px}.login-card button,.toolbar button,dialog button:not(.x){width:100%;background:var(--purple);border:0;color:#fff;padding:12px;border-radius:8px;font-weight:800;cursor:pointer;margin-top:8px}#login-error{color:#bf2940;min-height:16px}#app{display:flex;min-height:100vh}aside{width:245px;background:#151b31;color:#d9dcef;padding:27px 18px;display:flex;flex-direction:column}.brand{font-size:22px;font-weight:800;color:#fff;display:flex;gap:10px;align-items:center}.brand b{background:var(--purple);height:30px;width:30px;border-radius:9px;display:grid;place-items:center}.product{margin:35px 12px 14px}.nav{border:0;background:transparent;color:#b8bfd7;text-align:left;border-radius:8px;padding:12px 14px;margin:3px 0;font-size:14px;cursor:pointer}.nav.active,.nav:hover{background:#293153;color:white}.side-bottom{margin-top:auto;color:#aab2cc;font-size:12px;line-height:1.7}.side-bottom a{color:#fff}main{width:calc(100% - 245px);padding:33px 42px}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:28px}h1{font-size:28px;margin:3px 0}h2{font-size:17px;margin:0 0 14px}.notice{border:1px solid #d9d2fe;background:#f1efff;padding:13px 15px;border-radius:10px;font-size:13px;color:#4b36a1;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metrics article,.panel{background:white;border:1px solid var(--line);border-radius:12px}.metrics article{padding:19px}.metrics span{color:var(--muted);font-size:12px}.metrics strong{font-size:29px;display:block;margin-top:8px}.green{color:var(--green)}.amber{color:var(--amber)}.panel{padding:19px}.page{display:none}.page.active{display:block}.toolbar{display:flex;gap:12px;margin-bottom:16px}.toolbar input{flex:1;max-width:470px}.toolbar button{width:auto;margin:0;padding:10px 14px}.device{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr auto;align-items:center;gap:10px;padding:14px 4px;border-top:1px solid var(--line);font-size:13px}.device strong{display:block;font-size:14px}.device small{color:var(--muted)}.online{color:var(--green);font-weight:700}.offline{color:var(--amber);font-weight:700}.lost{color:#bf2940;font-weight:700}.manage{border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:white;cursor:pointer;color:var(--ink)}.audit{padding:13px 3px;border-top:1px solid var(--line);font-size:13px}.audit small{display:block;color:var(--muted);margin-top:4px}dialog{border:0;border-radius:14px;padding:0;width:min(430px,92vw);box-shadow:0 20px 70px #18213d4d}dialog::backdrop{background:#11182c80}dialog form{padding:27px;position:relative}.x{position:absolute;right:13px;top:9px;border:0;background:transparent;font-size:24px;cursor:pointer}.danger{background:#c83349!important}code{display:block;word-break:break-all;background:#f4f5fa;padding:12px;border-radius:7px;font-size:12px}#toast{position:fixed;right:25px;bottom:24px;background:#17203b;color:#fff;padding:12px 15px;border-radius:9px;opacity:0;transition:.2s}#toast.show{opacity:1}@media(max-width:780px){aside{width:67px;padding:20px 9px}.brand{justify-content:center}.brand:not(b),.brand{font-size:0}.brand b{font-size:18px}.product,.nav,.side-bottom{display:none}main{width:calc(100% - 67px);padding:24px 16px}.metrics{grid-template-columns:repeat(2,1fr)}.device{grid-template-columns:1.5fr .8fr auto}.device .hide{display:none}}
