.auth-page{background:radial-gradient(55% 45% at 50% 0%, #a4e6ff38 0%, #a4e6ff00 70%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:36px 32px 32px;animation:.3s fadeIn;position:relative;overflow:hidden}.auth-card:before{content:"";background:var(--gold-gradient);height:3px;position:absolute;top:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-brand{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:28px;padding-bottom:20px;display:flex}.auth-logo-mark{color:var(--accent-primary);flex-shrink:0;display:block}.auth-brand-text h2{font-family:var(--font-brand), var(--font-sans);color:#0c1f38;letter-spacing:-.03em;margin:0;font-size:.9375rem;font-weight:800;line-height:1.2}.auth-brand-tld{color:var(--accent-primary);margin-left:-.03em}.auth-brand-text p{color:var(--text-muted);letter-spacing:.01em;margin:0;font-size:.75rem;line-height:1.35}.auth-title{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:6px;font-size:1.375rem;font-weight:700;line-height:1.25}.auth-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:.875rem;line-height:1.5}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-label{color:var(--text-primary);letter-spacing:.006em;margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;left:11px}.auth-input{width:100%;height:42px;font-size:.9375rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--speed) var(--ease-out), box-shadow var(--speed) var(--ease-out);box-sizing:border-box;outline:none;padding:0 12px 0 34px}.auth-input:hover{border-color:var(--gold)}.auth-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--accent-primary-alpha)}.auth-input::placeholder{color:var(--text-muted);opacity:.7}.auth-pwd-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;right:10px}.auth-pwd-toggle:hover{color:var(--text-secondary)}.auth-hint{color:var(--text-muted);margin-top:4px;font-size:.75rem;line-height:1.4}.auth-hint a,.auth-subtitle a{color:var(--gold-deep);font-weight:600}.auth-hint a:hover,.auth-subtitle a:hover{color:var(--accent-primary-hover);text-decoration:underline}.auth-btn{color:#fff;letter-spacing:.01em;width:100%;height:42px;font-size:.9375rem;font-weight:700;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--speed) var(--ease-out), box-shadow var(--speed) var(--ease-out), background var(--speed) var(--ease-out);background:#0a0a0a;border:none;justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.auth-btn:hover:not(:disabled){background:#1f1f1f;transform:translateY(-1px);box-shadow:0 6px 18px #0003}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn--ghost{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);margin-top:12px}.auth-btn--ghost:hover:not(:disabled){background:var(--bg-primary);box-shadow:none}.auth-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-footer{color:var(--text-secondary);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:.8125rem;display:flex}.auth-link-btn{cursor:pointer;color:var(--gold-deep);font-size:.8125rem;font-weight:700;font-family:var(--font-sans);transition:color var(--speed) var(--ease-out);background:0 0;border:none;padding:0}.auth-link-btn:hover{color:var(--accent-primary-hover);text-decoration:underline}.auth-dot{color:var(--border-color)}
