:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e2e5ea;--hover: #f0f2f5;--text: #1b1f24;--text-2: #57606a;--accent: #6d28d9;--accent-soft: #ede9fe;--ok: #15803d;--ok-soft: #dcfce7;--danger: #b91c1c;--danger-soft: #fee2e2;--warn-soft: #fef3c7;--warn: #92400e;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--surface: #171a21;--border: #2a2f3a;--hover: #1f232c;--text: #e6e8eb;--text-2: #9aa3ae;--accent: #a78bfa;--accent-soft: #2a2140;--ok: #4ade80;--ok-soft: #12301d;--danger: #f87171;--danger-soft: #3a1717;--warn-soft: #3a2c0f;--warn: #fbbf24;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}a{color:var(--accent)}.muted{color:var(--text-2)}.small{font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.page-head h1{margin:0}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.45rem .9rem;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent)}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.ok:hover:not(:disabled){filter:brightness(1.1);background:var(--ok)}.btn.danger{color:var(--danger)}.btn.ghost{border-color:transparent;background:transparent}label.field{display:block;margin-bottom:1rem}label.field>span{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}label.field>small{display:block;color:var(--text-2);font-size:.8rem;margin-top:.25rem}input[type=text],input[type=email],input[type=password],input[type=date],select,textarea{font:inherit;width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea{resize:vertical;min-height:4.5rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media(max-width:640px){.grid-2{grid-template-columns:1fr}}.badge{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:var(--hover);color:var(--text-2);font-weight:600}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.alert{padding:.65rem .9rem;border-radius:6px;margin-bottom:1rem;background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.empty{text-align:center;padding:3rem 1rem;color:var(--text-2)}
