:root{--bg:#060a13;--side:#0a111e;--panel:#111b2c;--line:#273652;--text:#f4f7fb;--muted:#95a5bb;--cyan:#5de6ff;--green:#86f7ba;--danger:#ff7d8a}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 70% 10%,#172b50,transparent 38%)}.login-brand,.side-brand{font-weight:900;letter-spacing:.15em}.login-brand{position:absolute;left:40px;top:34px}.login-brand span,.side-brand span,.eyebrow{color:var(--cyan)}.login-card{width:min(460px,100%);padding:36px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 30px 90px #0008}.login-card h1,header h1{margin:8px 0 12px;font-size:clamp(2.4rem,5vw,4.6rem);letter-spacing:-.055em;line-height:1}.login-card>p:not(.eyebrow),header>p:last-child{color:var(--muted);line-height:1.6}.eyebrow{font-size:.75rem;font-weight:850;letter-spacing:.16em}form{display:grid;gap:17px;margin-top:28px}label{display:grid;gap:8px;color:var(--muted);font-size:.88rem;font-weight:750}input,select{width:100%;padding:14px 15px;border:1px solid #344462;border-radius:10px;background:#080e19;color:var(--text)}button{border:0;border-radius:10px;padding:13px 17px;background:linear-gradient(110deg,var(--cyan),var(--green));color:#07111b;font-weight:850;cursor:pointer}.portal-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.portal-shell aside{position:sticky;top:0;height:100vh;padding:30px 20px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column}.side-brand{padding:0 13px 34px}.portal-shell nav{display:grid;gap:8px}.portal-shell nav button,.signout{background:transparent;color:var(--muted);text-align:left}.portal-shell nav button.active{background:#18263b;color:var(--text)}.portal-shell nav button span{margin-left:12px}.signout{margin-top:auto}.portal-shell main{padding:54px clamp(28px,6vw,88px);max-width:1400px;width:100%}.page{display:none}.page.active{display:block}header{margin-bottom:38px}header h1{font-size:3.6rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.stats article,.panel,.device-card{padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}.stats span{display:block;color:var(--muted);font-size:.85rem}.stats strong{display:block;margin-top:18px;font-size:2.7rem}.stats .small-value{font-size:1.2rem;line-height:1.3}.panel h2{margin-top:0}.device-list article{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.device-list span,.device-card p{color:var(--muted)}.narrow{max-width:600px}.manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.device-card h2{margin:0}.device-card button{width:100%;margin-top:18px}.message{min-height:25px;margin-top:18px;color:var(--green)}.message.error{color:var(--danger)}.global-message{position:fixed;right:28px;bottom:20px;padding:10px 16px;border-radius:10px;background:#121d2f}dialog{width:min(520px,calc(100% - 30px));border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:28px}dialog::backdrop{background:#02050bc9}.dialog-heading{display:flex;justify-content:space-between}.dialog-heading h2{margin:5px 0}.icon-button{background:transparent;color:var(--text);font-size:2rem;padding:0}.secondary{background:#24324a;color:var(--text)}.danger{background:#40212a;color:#ff9eaa}small{color:var(--muted)}@media(max-width:760px){.portal-shell{grid-template-columns:1fr}.portal-shell aside{position:fixed;z-index:3;left:0;right:0;bottom:0;top:auto;height:72px;padding:8px 12px;display:block;border-right:0;border-top:1px solid var(--line)}.side-brand,.signout{display:none}.portal-shell nav{display:grid;grid-template-columns:repeat(3,1fr)}.portal-shell nav button{text-align:center;padding:10px 5px}.portal-shell nav button span{display:block;margin:3px 0 0;font-size:.72rem}.portal-shell main{padding:30px 20px 100px}.stats{grid-template-columns:1fr}.login-brand{left:22px;top:22px}header h1{font-size:2.8rem}}.brand-logo{display:block;object-fit:contain;height:auto}.login-brand{width:220px}.side-brand{width:185px;padding:0 13px 26px}\n
