:root{--brand:#6d5ef6;--brand-dark:#5a49e8;--brand-2:#22d3ee;--sidebar:#1b1830;--sidebar-muted:#a49fc7;--bg:#f6f5fb;--text:#221c46;--muted:#6b6790;--border:#ece9f5;--brand-tint:#edebfe;--brand-gradient:linear-gradient(135deg,#6d5ef6,#8b6ff9);--brand-gradient-accent:linear-gradient(135deg,#6d5ef6,#22d3ee 130%);--sidebar-gradient:linear-gradient(180deg,#221c46,#17142a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1{font-size:24px;letter-spacing:-.4px}h2{font-size:17px;letter-spacing:-.2px}.shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:visible;z-index:100;transition:width .2s ease}.shell.collapsed .sidebar{width:64px}.sidebar-inner{position:absolute;inset:0;width:236px;background:var(--sidebar-gradient);color:#fff;display:flex;flex-direction:column;padding:20px 14px;overflow:hidden;z-index:40;transition:width .2s ease,box-shadow .2s ease}.shell.collapsed .sidebar-inner{width:64px}.shell.collapsed .sidebar:hover .sidebar-inner{width:236px;box-shadow:10px 0 34px rgba(0,0,0,.4)}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 20px}.brand-word{font-size:20px;font-weight:800;letter-spacing:-.4px;color:#fff}.side-toggle{margin-left:auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid hsla(0,0%,100%,.16);background:hsla(0,0%,100%,.1);color:#fff;cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s,transform .12s,opacity .14s}.side-toggle:hover{background:var(--brand-gradient-accent);border-color:transparent;transform:translateY(-1px)}.side-toggle svg{width:17px;height:17px;flex-shrink:0}.side-label{white-space:nowrap;transition:opacity .14s ease}.shell.collapsed .brand-word,.shell.collapsed .side-label,.shell.collapsed .side-toggle{opacity:0;pointer-events:none}.shell.collapsed .sidebar:hover .brand-word,.shell.collapsed .sidebar:hover .side-label,.shell.collapsed .sidebar:hover .side-toggle{opacity:1;pointer-events:auto}.shell.collapsed .side-sublink{padding-left:12px}.shell.collapsed .sidebar:hover .side-sublink{padding-left:30px}.shell.collapsed .side-group-label{height:0;padding:0;margin:0;overflow:hidden}.shell.collapsed .sidebar:hover .side-group-label{height:auto;padding:10px 12px 2px}.shell.collapsed .side-link{position:relative}.shell.collapsed .side-badge{position:absolute;top:5px;left:30px;min-width:9px;height:9px;padding:0;font-size:0}.shell.collapsed .sidebar:hover .side-badge{position:static;min-width:20px;height:20px;font-size:11px;padding:0 6px}.side-nav{display:flex;flex-direction:column;gap:4px}.side-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--sidebar-muted);text-decoration:none;transition:background .12s,color .12s}.side-link svg{width:18px;height:18px;flex-shrink:0}.side-link:hover{background:hsla(0,0%,100%,.06);color:#fff}.side-link.active{background:var(--brand-gradient-accent);color:#fff;box-shadow:0 6px 16px rgba(109,94,246,.35)}.side-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 0 0 2px rgba(239,68,68,.25)}.side-group-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-muted);opacity:.65;padding:10px 12px 2px}.side-sublink{padding-left:30px}.side-live-dot{width:9px;height:9px;border-radius:999px;background:#34d399;box-shadow:0 0 6px #34d399;display:inline-block;flex-shrink:0;animation:sideLivePulse 1.6s infinite}@keyframes sideLivePulse{0%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.side-foot{margin-top:auto;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.08)}.side-logout{width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--sidebar-muted);background:transparent;border:none;cursor:pointer}.side-logout:hover{background:hsla(0,0%,100%,.06);color:#fff}.main{flex:1 1;min-width:0;padding:28px 34px}.main-bare{padding:0}.main-inner{max-width:1040px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}.subtitle{color:var(--muted);margin-top:0}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(27,24,48,.04)}form{gap:12px}form,label{display:flex;flex-direction:column}label{font-size:13px;font-weight:600;gap:5px}input,select,textarea{padding:10px 12px;border:1px solid var(--border);border-radius:9px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}input:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(109,94,246,.15)}input[type=color]{padding:2px;height:40px;width:56px}input[type=range]{accent-color:var(--brand);padding:0}button{cursor:pointer;border:none;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:700;background:var(--brand-gradient);color:#fff;transition:filter .12s,box-shadow .12s}button:hover{filter:brightness(1.05);box-shadow:0 6px 16px rgba(109,94,246,.3)}button:disabled{opacity:.6;cursor:default;filter:none}button.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:#faf9fe;filter:none}.error{color:#dc2626;font-size:13px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge,th{font-size:12px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-weight:700}.badge.on{background:var(--brand-tint);color:var(--brand-dark)}.badge.off{background:#f1f0f7;color:var(--muted)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 20% -10%,rgba(109,94,246,.12),transparent),var(--bg)}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(27,24,48,.08)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.auth-brand .brand-word{color:var(--text)}