:root{--bg: #0f0f0f;--bg-card: #1a1a1a;--bg-input: #222222;--border: #2e2e2e;--text: #e8e8e8;--text-muted: #888888;--accent: #f97316;--accent-dim: #c2520a;--danger: #ef4444;--success: #22c55e;--warning: #eab308;--radius: 6px;--font: "Segoe UI", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;background:radial-gradient(circle at top center,rgba(249,115,22,.06),transparent 34rem),#101010;color:var(--text)}body{background:linear-gradient(90deg,rgba(255,255,255,.015) 0 1px,transparent 1px 100%),#101010;background-size:48px 48px,auto;font-family:var(--font);line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:420px}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-group input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;padding:.6rem .8rem;width:100%;transition:border-color .15s}.form-group input:focus{outline:none;border-color:var(--accent)}.form-group input::placeholder{color:var(--text-muted)}.btn{border:none;border-radius:var(--radius);cursor:pointer;font-size:1rem;font-weight:600;padding:.65rem 1.4rem;transition:background .15s,opacity .15s;width:100%}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dim)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:var(--radius);font-size:.9rem;margin-bottom:1.2rem;padding:.75rem 1rem}.alert-error{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.alert-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.4);color:#86efac}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1rem}.auth-page .logo{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.3rem;color:var(--text)}.auth-page .logo span{color:var(--accent)}.auth-page .tagline{font-size:.85rem;color:var(--text-muted);margin-bottom:2rem}.auth-page h1{font-size:1.3rem;font-weight:700;margin-bottom:1.5rem}.auth-footer{margin-top:1.2rem;font-size:.9rem;color:var(--text-muted);text-align:center}
