.auth-page{background:var(--bg-primary);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-visual{background:radial-gradient(circle at 20% 20%,#f39c1226,transparent 50%),radial-gradient(circle at 80% 80%,#e74c3c1f,transparent 50%),var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-visual-glow{background:var(--primary-gradient);filter:blur(120px);opacity:.25;pointer-events:none;border-radius:50%;width:500px;height:500px;position:absolute;top:-20%;right:-10%}.auth-visual-logo{z-index:1;text-decoration:none;position:relative}.auth-visual-copy{z-index:1;max-width:480px;position:relative}.auth-visual-copy h2{letter-spacing:-.02em;margin-bottom:16px;font-size:40px;font-weight:800;line-height:1.2}.auth-visual-copy p{color:var(--text-secondary);font-size:17px;line-height:1.6}.auth-visual-stats{z-index:1;gap:40px;display:flex;position:relative}.auth-visual-stats>div{flex-direction:column;gap:4px;display:flex}.auth-stat-number{background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700}.auth-stat-label{color:var(--text-secondary);font-size:13px}.auth-panel{justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-card{width:100%;max-width:420px}.auth-card-logo{margin-bottom:32px;text-decoration:none;display:none}.auth-card h1{letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:800}.auth-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:15px}.auth-error{color:#e74c3c;border-radius:var(--radius-md);background:#e74c3c1a;border:1px solid #e74c3c4d;margin-bottom:20px;padding:12px 16px;font-size:14px;font-weight:500}.auth-success{color:#27ae60;border-radius:var(--radius-md);background:#27ae601a;border:1px solid #27ae604d;margin-bottom:20px;padding:12px 16px;font-size:14px;font-weight:500}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field label{color:var(--text-secondary);font-size:13px;font-weight:600}.auth-field-label-row{justify-content:space-between;align-items:baseline;display:flex}.auth-forgot-link{color:#f39c12;font-size:13px;font-weight:600;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-field-hint{color:var(--text-secondary);opacity:.8;font-size:12px}.auth-field input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-base);background:#ffffff0d;padding:14px 16px;font-size:15px}.auth-field input:focus{background:#ffffff14;border-color:#f39c12;outline:none}.auth-password-wrapper{display:flex;position:relative}.auth-password-wrapper input{padding-right:46px}.auth-password-toggle{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.auth-password-toggle svg{fill:currentColor;width:18px;height:18px}.auth-password-strength{align-items:center;gap:10px;margin-top:4px;display:flex}.auth-strength-bars{flex:1;gap:4px;display:flex}.auth-strength-bars span{background:var(--bg-hover);height:4px;transition:background var(--transition-base);border-radius:2px;flex:1}.auth-strength-bars span.filled.s1{background:#e74c3c}.auth-strength-bars span.filled.s2{background:#e67e22}.auth-strength-bars span.filled.s3{background:#f39c12}.auth-strength-bars span.filled.s4{background:#2ecc71}.auth-strength-bars span.filled.s5{background:#27ae60}.auth-strength-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.auth-submit{background:var(--primary-gradient);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-base);border:none;margin-top:4px;padding:15px;font-size:16px;font-weight:700}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #f39c1259}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-secondary);margin-top:28px;font-size:14px}.auth-switch a{color:#f39c12;font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-guard-loading{background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.auth-guard-spinner{border:3px solid var(--border-color);border-top-color:#f39c12;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}@media (max-width:960px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-card-logo{display:inline-flex}}@media (max-width:480px){.auth-field-row{grid-template-columns:1fr}.auth-card h1{font-size:26px}}
