:root{--blau:#0055a5;--blau-dunkel:#05254e;--brombeere:#4e314a;--brombeere-hell:#a783a6;--bg:#f6f3f6;--surface:#fff;--surface-2:#efe9ee;--text:#1d1a1f;--muted:#6b6470;--border:#ddd3dc;--accent:var(--blau);--sweep:var(--brombeere);--ok:#1e7d3a;--warn:#b35c00;--danger:#c0262d;--radius:10px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141117;--surface:#1e1a22;--surface-2:#29232e;--text:#f2eef3;--muted:#a79fae;--border:#3a3240;--accent:#5aa5ec;--sweep:#c9a4c7;--ok:#4cc06e;--warn:#f0a33a;--danger:#ff5a60}}:root[data-theme=dark]{--bg:#141117;--surface:#1e1a22;--surface-2:#29232e;--text:#f2eef3;--muted:#a79fae;--border:#3a3240;--accent:#5aa5ec;--sweep:#c9a4c7;--ok:#4cc06e;--warn:#f0a33a;--danger:#ff5a60}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}button{font:inherit}.tabular{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.grid-form{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:12px 16px;display:grid}.field{gap:4px;font-size:.9rem;font-weight:600;display:grid}.field .hint{color:var(--muted);font-size:.8rem;font-weight:400}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:7px;min-width:0;padding:7px 9px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--blau);color:#fff;border-color:#0000}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.msg-error{color:var(--danger)}.msg-ok{color:var(--ok)}
