:root{font-family:Inter,Segoe UI,sans-serif;color:#172033;background:#f4f7fb;line-height:1.45}*{box-sizing:border-box}body{margin:0}header{height:70px;padding:0 max(20px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;background:#172554;color:white}header strong{font-size:1.4rem}header span{margin-left:12px;color:#bfdbfe}main{max-width:1100px;margin:34px auto;padding:0 20px}.auth-shell{display:flex;justify-content:center;padding-top:20px}.auth-card{width:min(430px,100%)}.auth-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;background:#e8eef8;border-radius:11px;padding:4px;margin-bottom:24px}.mode-switch button{background:transparent;color:#475569}.mode-switch button.active{background:white;color:#1d4ed8;box-shadow:0 2px 8px #17255418}.card,.device{border:1px solid #dbe3ef;background:white;border-radius:18px;padding:24px;box-shadow:0 12px 30px #17255410}.card h1,.card h2{margin-top:0}label{display:block;font-weight:600;margin:14px 0}input,select{width:100%;padding:11px 12px;margin-top:6px;border:1px solid #bdc9d9;border-radius:9px;font:inherit}button,.button{border:0;border-radius:9px;background:#2563eb;color:white;padding:11px 17px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button:hover{filter:brightness(.95)}.ghost{background:#ffffff1c}.secondary{background:#e0e7ff;color:#243b78}.danger{background:#b91c1c}.hidden{display:none!important}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.device h3{margin:0 0 8px}.device .meta{color:#64748b}.device .status{font-weight:700;color:#15803d}.device .offline{color:#b45309}dialog{border:0;padding:0;background:transparent;max-width:min(760px,94vw)}dialog::backdrop{background:#0f172a99}.close{float:right;background:transparent;color:#64748b;font-size:28px;padding:0}.wide{width:720px;max-height:88vh;overflow:auto}fieldset{border:1px solid #dbe3ef;border-radius:12px;margin:16px 0;padding:15px}legend{font-weight:800}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.row,.interval{display:grid;grid-template-columns:1fr 1fr;gap:12px}.interval{grid-template-columns:110px 110px 1fr auto;align-items:end;margin:10px 0}.days{display:flex;flex-wrap:wrap;gap:6px}.days label{margin:0;font-size:.8rem}.days input{width:auto}.actions{display:flex;flex-wrap:wrap;gap:10px}footer{text-align:center;color:#64748b;padding:20px}footer a{color:#475569}.verify{text-align:center;max-width:520px;margin:15vh auto}#toast{position:fixed;right:18px;bottom:18px;background:#172554;color:white;padding:13px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1}@media(max-width:650px){header span{display:none}.toolbar{align-items:flex-start}.interval{grid-template-columns:1fr 1fr}.interval .days{grid-column:1/-1}.row{grid-template-columns:1fr}.actions button{flex:1}}
:root{--user-status-ok:#15803d;--user-status-blocked:#b45309}.user-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(190px,1.4fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e5eaf2}.user-row:last-child{border-bottom:0}.user-row .check{margin:0}.user-status{font-size:.9rem;color:var(--user-status-ok)}.user-status.blocked{color:var(--user-status-blocked)}.user-actions{display:flex;gap:6px}.user-actions button{padding:7px 9px;font-size:.82rem}@media(max-width:650px){.user-row{grid-template-columns:1fr}.user-actions{flex-wrap:wrap}}
