.auth-wrap{min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--text);font-family:var(--font-ui);padding:var(--s-6)}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);padding:var(--s-9) var(--s-8) var(--s-8)}.auth-logo{font-family:var(--font-display);font-weight:800;font-size:var(--text-h2);letter-spacing:-.02em;margin:0 0 var(--s-2)}.auth-logo i{color:var(--text-faint);font-style:normal;margin:0 2px}.auth-logo .ai{color:var(--brand)}.auth-sub{color:var(--text-muted);font-size:var(--text-body);margin:0 0 var(--s-8);line-height:var(--lh-body)}.auth-form{display:grid;gap:var(--s-4)}.field{display:grid;gap:var(--s-2)}.field>label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);padding:10px 12px;font-size:var(--text-body);font-family:inherit;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-quiet)}textarea.input{resize:vertical;min-height:76px;line-height:var(--lh-body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);border:1px solid transparent;border-radius:var(--r-md);padding:10px 16px;font-size:var(--text-body);font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),opacity var(--dur-2) var(--ease)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--brand);color:var(--brand-text-on)}.btn.primary:hover:not(:disabled){background:var(--brand-hover)}.btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.block{width:100%}.auth-error{background:var(--st-failed-bg);color:var(--st-failed);border-radius:var(--r-sm);padding:8px 12px}.auth-error,.auth-foot{font-size:var(--text-ui)}.auth-foot{margin-top:var(--s-7);color:var(--text-muted);text-align:center}.auth-foot a{color:var(--brand);font-weight:600}