:root{--ink:#0e1217;--panel:#161c24;--panel2:#1d2530;--line:#273140;--text:#e9edf2;--muted:#8d99a8;--lamp:#ffb938;--lamp2:#ff8a3d;--mint:#6fd8b4;--red:#ff6b6b;--r:18px}*{box-sizing:border-box}html,body{margin:0;background:var(--ink);color:var(--text);font:15px/1.5 Avenir Next,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;letter-spacing:-.01em}h2{font-size:26px}h3{font-size:15px;color:var(--muted);font-weight:600;margin:28px 0 12px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}.muted{color:var(--muted)}.tiny{font-size:12.5px}.right{text-align:right}.shell{max-width:1100px;margin:0 auto;padding:0 18px 60px}.top{display:flex;align-items:center;gap:20px;padding:16px 0;position:sticky;top:0;background:linear-gradient(var(--ink) 75%,transparent);z-index:5;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px}.lamp{width:14px;height:14px;border-radius:50%;background:var(--lamp);box-shadow:0 0 18px 4px #ffb93899}nav{display:flex;gap:6px;flex:1}nav button,.icon{background:none;border:0;border-radius:12px;padding:8px 12px;display:flex;align-items:center;gap:8px;color:var(--muted)}nav button:hover,.icon:hover{background:var(--panel)}nav button.on{background:var(--panel2);color:var(--text)}.who{display:flex;align-items:center;gap:6px;color:var(--muted)}.icon.danger:hover{color:var(--red)}main{padding-top:10px}.head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.sw{position:relative;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:4px;transition:background .25s,box-shadow .25s,border-color .25s}.sw strong{font-size:17px;margin-top:10px}.sw .state{font-size:13px;color:var(--muted)}.ring{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);color:var(--muted);transition:all .25s}.net{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-top:6px}.net.up{color:var(--mint)}.sw.lit{background:linear-gradient(160deg,#2a2112,var(--panel) 70%);border-color:#6b4d16;box-shadow:0 0 36px -8px #ffb9388c}.sw.lit .ring{background:var(--lamp);color:#2a1a00;box-shadow:0 0 26px 4px #ffb9388c}.sw.lit .state{color:var(--lamp)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px}.stack{display:grid;gap:10px;margin-top:14px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:end}.form>.err,.form>.days,.form>.checks{grid-column:1/-1}.inline{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.inline input{flex:1;min-width:160px}label{display:grid;gap:6px;font-size:13px;color:var(--muted)}input,select{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--text);min-width:0}input:focus,select:focus{border-color:var(--lamp);outline:none}.primary{background:var(--lamp);color:#2a1a00;border:0;border-radius:12px;padding:10px 18px;font-weight:700}.primary:hover{background:#ffc766}.primary:disabled{opacity:.6}.pill{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:6px 14px;display:inline-flex;gap:6px;align-items:center;font-size:13px}.pill.on{border-color:var(--mint);color:var(--mint)}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12.5px;font-style:normal;margin-left:6px}.chip.live{color:var(--lamp);border-color:#6b4d16;margin:0}.chip.off{color:var(--red)}.chip button{background:none;border:0;color:var(--muted);padding:0}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags .chip{margin:0}.days{display:flex;gap:6px;flex-wrap:wrap}.days button{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 12px}.days button.on{background:var(--lamp);color:#2a1a00;border-color:var(--lamp)}.checks{display:flex;gap:8px 18px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:8px;color:var(--text)}.err{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.4);color:#ffb3b3;border-radius:12px;padding:10px 14px;margin:10px 0}.table-wrap{overflow-x:auto;margin-top:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:640px}th{text-align:left;font-weight:600;color:var(--muted);font-size:13px}th,td{padding:12px 14px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}code{background:var(--ink);padding:2px 8px;border-radius:8px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;overflow:hidden}.glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(255,185,56,.28),transparent 65%);top:8%;left:50%;transform:translate(-50%);pointer-events:none}.login-card{position:relative;width:100%;max-width:380px;background:#161c24db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:24px;padding:32px;display:grid;gap:16px}.login-card p{margin:0}.bulb{width:46px;height:46px;border-radius:50%;background:var(--lamp);box-shadow:0 0 40px 10px #ffb93880;animation:warm 1.4s ease-out both}@keyframes warm{0%{opacity:.15;box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:640px){nav button span{display:none}.who>span{display:none}.top{gap:10px}}
