:root{--bg: #0f172a;--panel: #1e293b;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #ef4444}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:#60a5fa}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:2rem;width:100%;max-width:26rem}.brand{font-size:1.6rem;font-weight:700;margin:0 0 .25rem}.sub{color:var(--muted);margin:0 0 1.5rem}label{display:block;font-size:.85rem;color:var(--muted);margin:.8rem 0 .3rem}input{width:100%;padding:.7rem .8rem;border-radius:9px;border:1px solid var(--border);background:#0b1220;color:var(--text);font-size:1rem}button{width:100%;margin-top:1.2rem;padding:.75rem;border:0;border-radius:9px;background:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger);font-size:.9rem;margin-top:.8rem}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:var(--panel);border-right:1px solid var(--border);padding:1.2rem}.side h2{font-size:1.2rem;margin:0 0 1.5rem}.nav a{display:block;padding:.6rem .7rem;border-radius:8px;color:var(--text);text-decoration:none;margin-bottom:.3rem}.nav a.active,.nav a:hover{background:#0b1220}.main{padding:2rem}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.logout{width:auto;margin:0;padding:.5rem .9rem;background:transparent;border:1px solid var(--border)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.qrbox{background:#fff;padding:1rem;border-radius:10px;display:inline-block}.muted{color:var(--muted)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:6px;background:#0b1220;border:1px solid var(--border);font-size:.8rem}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pagehead h1{margin:0}select{width:100%;padding:.55rem .6rem;border-radius:8px;border:1px solid var(--border);background:#0b1220;color:var(--text);font-size:.95rem}.btn-inline{width:auto;margin:0;padding:.55rem .9rem;font-size:.9rem}.btn-sm{padding:.35rem .7rem;font-size:.82rem}.ok{color:#4ade80;font-size:.9rem;margin-top:.6rem}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem 1.2rem}.formgrid label{margin-top:0}.formactions{grid-column:1 / -1;display:flex;justify-content:flex-end}table.grid{width:100%;border-collapse:collapse;font-size:.92rem}table.grid th,table.grid td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--border);vertical-align:middle}table.grid th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}table.grid tbody tr:hover{background:#0b1220}table.grid select{width:auto;min-width:9rem;padding:.35rem .5rem}.pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.pill-ok{background:#4ade8026;color:#4ade80}.pill-off{background:#ef444426;color:#f87171}.checklist{display:grid;gap:.2rem;max-height:22rem;overflow-y:auto}.checkrow{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.4rem .3rem;border-bottom:1px solid var(--border);margin:0}.checkrow input{width:auto}@media (max-width: 720px){.formgrid{grid-template-columns:1fr}}.pill-warn{background:#f59e0b26;color:#fbbf24}.rowactions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.rowactions select{min-width:8rem}.btn-danger{background:transparent;border:1px solid var(--danger);color:#f87171}.btn-danger:hover{background:#ef44441f}.otpbox{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-color:var(--accent);margin-bottom:1.2rem}.otpcode{font-size:2rem;font-weight:700;letter-spacing:.3rem;color:#fff;margin:.2rem 0}.brand-logo{display:block;width:100%;height:auto;margin:.2rem 0 1.4rem}.side .brand-logo{max-width:170px}.brand-logo-login{max-width:200px;margin:0 auto 1.2rem}
