:root{--bg: #0b0d12;--surface: #14171f;--surface-2: #1c2030;--border: #2a2f42;--text: #e8eaf2;--text-dim: #9aa0b3;--accent: #6c8cff;--accent-hover: #8aa2ff;--danger: #ff6b6b;--ok: #5fcf80;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}h1{font-size:1.875rem;margin:0 0 1rem}h2{font-size:1.375rem;margin:0 0 .75rem}input,button,select,textarea{font:inherit;color:inherit}input[type=email],input[type=password],input[type=text],textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.55rem .75rem;width:100%}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}button{background:var(--accent);color:#0b0d12;border:none;border-radius:8px;padding:.6rem 1rem;font-weight:600;cursor:pointer}button:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:var(--surface-2)}button.danger{background:var(--danger);color:#fff}.app{max-width:920px;margin:0 auto;padding:1.5rem}.nav{display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1.5rem}.nav .spacer{flex:1}.nav a{color:var(--text-dim)}.nav a.active{color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.row{display:flex;gap:.75rem;align-items:center}.col{display:flex;flex-direction:column;gap:.75rem}.muted{color:var(--text-dim)}.error{color:var(--danger)}.ok{color:var(--ok)}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.field label{font-size:.875rem;color:var(--text-dim)}.tag{display:inline-block;padding:.1rem .5rem;background:var(--surface-2);border-radius:999px;font-size:.75rem;color:var(--text-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
