@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@600;700&family=JetBrains+Mono:wght@500&display=swap";:root{--bg: #0f172a;--panel: #ffffff;--line: #e2e8f0;--ink: #0f172a;--muted: #64748b;--primary: #0369a1;--primary-ink: #ffffff;--danger: #b91c1c;--ok: #047857}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#f1f5f9;-webkit-font-smoothing:antialiased}.app-shell{min-height:100%;display:flex;flex-direction:column}.center{align-items:center;justify-content:center}.muted{color:var(--muted)}.mono{font-family:JetBrains Mono,monospace;font-size:13px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:linear-gradient(180deg,#1e293b,#0f172a);color:#f8fafc}.brand,.login-brand{display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--primary);box-shadow:inset 0 1px #fff3,0 2px 8px -2px #0369a199}.brand strong,.login-brand strong{display:block;font-family:Inter Tight,Inter,sans-serif;font-size:15px;font-weight:700;line-height:1.2}.brand span,.login-brand span{display:block;font-size:12px;color:#94a3b8;margin-top:2px}.login-brand strong{color:var(--ink)}.login-brand span{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:14px}.who{font-size:13px;color:#cbd5e1}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:28px 24px 64px;display:flex;flex-direction:column;gap:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:0 1px 2px #0f172a0a}.card h2{margin:0 0 4px;font-family:Inter Tight,sans-serif;font-size:20px}.card h3{margin:0 0 14px;font-family:Inter Tight,sans-serif;font-size:15px}.back{align-self:flex-start}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:1px solid var(--line)}.tbl td{padding:11px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.tbl .num{text-align:center;font-variant-numeric:tabular-nums}.tbl tr.row-off{opacity:.55}.actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.on{background:#dcfce7;color:var(--ok)}.badge.off{background:#fee2e2;color:var(--danger)}.btn{font:inherit;font-size:13px;font-weight:600;padding:9px 14px;border-radius:9px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-ink)}.btn-primary:hover:not(:disabled){background:#075985}.btn-ghost{background:#f8fafc;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{background:#eef2f7}.btn-danger-ghost{background:#fff;border-color:#fecaca;color:var(--danger)}.btn-danger-ghost:hover{background:#fef2f2}.link{background:none;border:none;padding:0;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}.link:hover{text-decoration:underline}.create-fields{display:flex;gap:10px;align-items:center}.create-fields.wrap{flex-wrap:wrap}.create-fields input{flex:1;min-width:160px}input{font:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0369a11f}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--muted)}.field input{width:100%}.inline-error{margin-top:10px;color:var(--danger);font-size:13px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}.login-shell{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#1e293b,#0f172a)}.login-card{width:100%;max-width:380px;background:#fff;border-radius:16px;padding:30px 28px;box-shadow:0 20px 60px -20px #00000080}.login-card h1{margin:22px 0 4px;font-family:Inter Tight,sans-serif;font-size:22px}.login-card .hint{margin:0 0 18px;color:var(--muted);font-size:14px}.login-card .btn-primary{width:100%;margin-top:6px;padding:11px}.create-row .create-fields{margin-top:2px}@media(max-width:720px){.create-fields{flex-direction:column;align-items:stretch}.tbl th:nth-child(3),.tbl td:nth-child(3){display:none}.actions{justify-content:flex-start}}
