:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#4f46e5;--primary-hover:#4338ca;--focus:#6366f1;--text:#111827;--text-muted:#64748b;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--success:#15803d;--warning:#b45309;--danger:#b91c1c;--danger-solid:#b91c1c;--link:#4338ca;--shadow:0 8px 24px #0f172a14;--radius-control:8px;--radius-panel:12px;--sidebar:240px;--font:Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary-hover:#6366f1;--focus:#a5b4fc;--text:#e5e7eb;--text-muted:#94a3b8;--bg:#0b1220;--surface:#111827;--border:#243044;--success:#86efac;--warning:#fdba74;--danger:#fca5a5;--link:#c7d2fe;--shadow:0 8px 24px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary-hover:#6366f1;--focus:#a5b4fc;--text:#e5e7eb;--text-muted:#94a3b8;--bg:#0b1220;--surface:#111827;--border:#243044;--success:#86efac;--warning:#fdba74;--danger:#fca5a5;--link:#c7d2fe;--shadow:0 8px 24px #00000059}}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:15px;line-height:1.45}a{color:var(--link)}button,input,select{font:inherit;color:inherit}button,.button{border-radius:var(--radius-control);background:var(--primary);color:#fff;cursor:pointer;border:0;padding:8px 14px}button:hover,.button:hover{background:var(--primary-hover)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button.secondary,.button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}button.danger{background:var(--danger-solid);color:#fff}input,select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;padding:8px 10px}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);height:100dvh;display:grid;overflow:hidden}.sidebar,.workspace{min-width:0}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:16px;padding:16px;display:flex}.brand img{width:auto;height:32px;display:block}.nav{flex-direction:column;gap:4px;display:flex}.nav a{color:var(--text);border-radius:var(--radius-control);padding:8px 10px;text-decoration:none}.nav a[aria-current=page],.nav a:hover{background:var(--bg)}.sidebar-foot{flex-direction:column;gap:8px;margin-top:auto;display:flex}.workspace{padding:24px;overflow:auto}.page-header{margin-bottom:16px}h1,h2{margin:0 0 6px;font-weight:650}.muted{color:var(--text-muted)}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin-bottom:20px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow);padding:16px}.metric{font-size:28px;font-weight:650}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 8px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;max-width:880px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.checks{flex-direction:column;gap:8px;display:flex}.checks label{align-items:center;gap:8px;display:flex}.checks input{width:auto}.alert{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--danger);border-radius:var(--radius-control);padding:10px 12px}.ok{border-left-color:var(--success)}.login{place-items:center;min-height:100dvh;padding:24px;display:grid}.login form{flex-direction:column;gap:12px;width:min(100%,420px);display:flex}.menu{margin-bottom:12px;display:none}@media (max-width:1023px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;width:min(280px,86vw);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.nav-open .sidebar{transform:none}.menu{display:inline-flex}.backdrop{z-index:10;background:#0f172a66;border:0;position:fixed;inset:0}}
