:root{--bg: #0d0a24;--surface: #191348;--surface-2: #241b63;--border: #3a2f80;--text: #f2f0ff;--text-muted: #a69fd6;--accent: #8b5cf6;--accent-contrast: #ffffff;--ok: #34d399;--warn: #fbbf24;--danger: #fb7185;--link: #22d3ee;--ai: #e879f9;--focus: #22d3ee;--radius: 16px;--shadow: 0 12px 30px rgb(5 2 25 / 45%);--grad: linear-gradient(135deg, #22d3ee 0%, #8b5cf6 100%);--grad-heading: linear-gradient(90deg, #22d3ee 0%, #a78bfa 50%, #e879f9 100%);--row-hover: rgba(167, 139, 250, .1);--glow-a: rgba(139, 92, 246, .38);--glow-b: rgba(34, 211, 238, .1);--series-1: #22d3ee;--chart-track: #241b63;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:dark}:root[data-theme=light]{--bg: #f4f1fd;--surface: #ffffff;--surface-2: #efebfb;--border: #ddd5f7;--text: #1c1540;--text-muted: #5f5794;--accent: #7c3aed;--accent-contrast: #ffffff;--ok: #047857;--warn: #b45309;--danger: #be123c;--link: #6d28d9;--ai: #a21caf;--focus: #7c3aed;--shadow: 0 1px 2px rgb(76 29 149 / 8%), 0 4px 12px rgb(76 29 149 / 6%);--grad: linear-gradient(135deg, #06b6d4 0%, #7c3aed 100%);--grad-heading: linear-gradient(90deg, #0e7490 0%, #7c3aed 50%, #c026d3 100%);--row-hover: rgba(124, 58, 237, .06);--glow-a: rgba(139, 92, 246, .12);--glow-b: rgba(34, 211, 238, .1);--series-1: #7c3aed;--chart-track: #efebfb;color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=light]){--bg: #f4f1fd;--surface: #ffffff;--surface-2: #efebfb;--border: #ddd5f7;--text: #1c1540;--text-muted: #5f5794;--accent: #7c3aed;--accent-contrast: #ffffff;--ok: #047857;--warn: #b45309;--danger: #be123c;--link: #6d28d9;--ai: #a21caf;--focus: #7c3aed;--shadow: 0 1px 2px rgb(76 29 149 / 8%), 0 4px 12px rgb(76 29 149 / 6%);--grad: linear-gradient(135deg, #06b6d4 0%, #7c3aed 100%);--grad-heading: linear-gradient(90deg, #0e7490 0%, #7c3aed 50%, #c026d3 100%);--row-hover: rgba(124, 58, 237, .06);--glow-a: rgba(139, 92, 246, .12);--glow-b: rgba(34, 211, 238, .1);--series-1: #7c3aed;--chart-track: #efebfb;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(900px 520px at 88% -6%,var(--glow-a),transparent 65%),radial-gradient(780px 500px at -10% 35%,var(--glow-b),transparent 60%),var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--link)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.45rem .85rem;font:inherit;text-decoration:none;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--grad);border-color:transparent;color:#fff;font-weight:600}.btn.primary:hover{background:var(--grad);filter:brightness(1.08)}.auth-card{max-width:420px;margin:3rem auto}.auth-card h1{margin:0 0 .25rem;font-size:1.5rem}.auth-card .lead{margin:0 0 1.25rem;color:var(--text-muted)}.auth-card .footer-links{margin-top:1.25rem;display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.form{display:grid;gap:1rem}.field{display:grid;gap:.3rem}.field label{font-weight:600;font-size:.9rem}.field input[type=text],.field input[type=email],.field input[type=password]{font:inherit;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.field input[type=text]:focus-visible,.field input[type=email]:focus-visible,.field input[type=password]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field input[type=text][aria-invalid=true],.field input[type=email][aria-invalid=true],.field input[type=password][aria-invalid=true]{border-color:var(--danger)}.field .hint{color:var(--text-muted);font-size:.85rem}.field .error{color:var(--danger);font-size:.85rem}.check{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.alert{border-radius:8px;padding:.7rem .85rem;border:1px solid var(--border);background:var(--surface-2);font-size:.92rem}.alert.error{border-color:var(--danger);color:var(--danger)}.alert.success{border-color:var(--ok);color:var(--ok)}.btn{justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.block{width:100%}.btn.link{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--text-muted)}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:1.5rem 0 1rem}.page-head h1{margin:0;font-size:1.5rem}select,input[type=search],input[type=number],input[type=date],textarea{font:inherit;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.field textarea,.field select,.field input[type=number],.field input[type=date],.field input[type=search]{width:100%}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.6rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.data-table th{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.data-table th.num,.data-table td.num{text-align:right}@media(max-width:760px){.data-table thead{display:none}.data-table tr{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.data-table td{border:none;padding:0}.data-table td[data-label]:before{content:attr(data-label);display:block;font-size:.75rem;color:var(--text-muted)}.data-table td.num{text-align:left}.data-table td.wide{grid-column:1/-1}}dialog.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0;width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:0 10px 40px #00000040}dialog.modal::backdrop{background:#00000073}dialog.modal .modal-brand{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface-2)}dialog.modal .modal-brand .name{font-size:1.15rem;font-weight:700;line-height:1.2;letter-spacing:-.01em;background:var(--grad-heading);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}dialog.modal .modal-body{padding:1.25rem}dialog.modal .modal-body h2{margin:0 0 .4rem;font-size:1.2rem}dialog.modal .modal-body p{margin:0;color:var(--text-muted)}dialog.modal .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.25rem;border-top:1px solid var(--border)}.btn.danger{border-color:var(--danger);color:var(--danger)}.empty{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.auth-card h1,.page-head h1{background:var(--grad-heading);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.data-table tbody tr:hover td{background:var(--row-hover)}input[type=checkbox],input[type=radio]{accent-color:var(--link)}
