:root{--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--muted:#94a3b8;--primary:#4f46e5;--primary-hover:#4338ca;--border:#334155;--error:#ef4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:420px}.auth-logo{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:.5rem}.auth-subtitle{color:var(--muted);text-align:center;margin-bottom:2rem;font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--text);font-size:.95rem;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--primary)}.auth-button{background:var(--primary);color:white;border:none;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.auth-button:hover{background:var(--primary-hover)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:var(--error)}.auth-error,.auth-link{font-size:.875rem;text-align:center}.auth-link{color:var(--muted);margin-top:1rem}.auth-link a{color:var(--primary);text-decoration:none}.auth-link a:hover{text-decoration:underline}