.auth-body{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#fff,#f1f5f9);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}.auth-body:before{content:"";position:absolute;top:-30%;right:-20%;width:60%;height:120%;background:radial-gradient(circle,rgba(37,99,235,.06) 0%,transparent 70%);pointer-events:none}.auth-body:after{content:"";position:absolute;bottom:-20%;left:-10%;width:40%;height:80%;background:radial-gradient(circle,rgba(37,99,235,.04) 0%,transparent 70%);pointer-events:none}.auth-container{width:100%;max-width:440px;margin:0 auto;position:relative;z-index:1}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border:1px solid #e2e8f0;overflow:hidden;position:relative;animation:slideUp .5s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card-body{padding:2.5rem 2rem}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{height:48px;width:auto;margin-bottom:1.25rem}.auth-brand{font-size:1.75rem;font-weight:700;color:#2563eb;margin-bottom:1rem}.auth-brand span{color:#1e293b}.auth-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem;letter-spacing:-.025em}.auth-subtitle{font-size:.9375rem;color:#64748b;margin-bottom:0}.auth-form .form-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.auth-form .form-control{height:48px;border-radius:.5rem;border:1px solid #e2e8f0;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s ease;background-color:#fff;color:#1e293b}.auth-form .form-control::-moz-placeholder{color:#94a3b8}.auth-form .form-control::placeholder{color:#94a3b8}.auth-form .form-control:hover{border-color:#cbd5e1}.auth-form .form-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.auth-form .form-control.is-invalid{border-color:#ef4444;background-image:none}.auth-form .form-control.is-invalid:focus{box-shadow:0 0 0 3px #ef44441a}.auth-form .invalid-feedback{font-size:.8125rem;color:#ef4444;margin-top:.375rem}.auth-form .form-check{padding-left:1.75rem}.auth-form .form-check-input{width:1.125rem;height:1.125rem;margin-top:.1rem;border:1.5px solid #cbd5e1;border-radius:.25rem;transition:all .15s ease}.auth-form .form-check-input:checked{background-color:#2563eb;border-color:#2563eb}.auth-form .form-check-input:focus{box-shadow:0 0 0 3px #2563eb1a}.auth-form .form-check-label{font-size:.875rem;color:#64748b;margin-left:.25rem}.auth-btn{height:48px;border-radius:.5rem;font-size:.9375rem;font-weight:600;transition:all .2s ease;letter-spacing:.01em}.auth-btn-primary{background:#2563eb;border:none;color:#fff}.auth-btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.auth-btn-primary:active{transform:translateY(0)}.auth-btn-primary:focus{box-shadow:0 0 0 3px #2563eb4d}.auth-link{color:#2563eb;text-decoration:none;font-weight:500;font-size:.875rem;transition:color .15s ease}.auth-link:hover{color:#1d4ed8;text-decoration:underline}.auth-link-muted{color:#64748b;font-size:.875rem}.auth-link-muted:hover{color:#2563eb}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #f1f5f9}.auth-footer-text{font-size:.875rem;color:#64748b}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:#94a3b8;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth-divider:before{margin-right:1rem}.auth-divider:after{margin-left:1rem}.auth-success{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #22c55e;color:#166534;padding:.875rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.alert-warning{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;color:#92400e;padding:.875rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper .form-control{padding-right:3rem}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;padding:.375rem;cursor:pointer;transition:color .15s ease;z-index:10}.password-toggle-btn:hover{color:#64748b}.password-toggle-btn i{font-size:1rem}.password-strength{height:4px;background:#e2e8f0;border-radius:2px;margin-top:.5rem;overflow:hidden}.password-strength-bar{height:100%;transition:all .3s ease;border-radius:2px}.password-strength-weak{width:33%;background:#ef4444}.password-strength-medium{width:66%;background:#f59e0b}.password-strength-strong{width:100%;background:#22c55e}.password-strength-text{font-size:.75rem;font-weight:500;margin-top:.25rem}.auth-btn.loading{position:relative;color:transparent;pointer-events:none}.auth-btn.loading:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-social-btn{height:48px;border:1px solid #e2e8f0;background:#fff;color:#374151;font-weight:500;font-size:.875rem;border-radius:.5rem;transition:all .2s ease}.auth-social-btn:hover{border-color:#cbd5e1;background:#f8fafc}@media(max-width:575.98px){.auth-body{padding:1rem;background:#fff}.auth-card{box-shadow:none;border:none}.auth-card-body{padding:1.5rem 1rem}.auth-title{font-size:1.25rem}.auth-form .form-control,.auth-btn{height:44px}}.dark-theme .auth-body{background:linear-gradient(135deg,#0f172a,#1e293b)}.dark-theme .auth-body:before,.dark-theme .auth-body:after{background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%)}.dark-theme .auth-card{background:#1e293b;border-color:#334155;box-shadow:0 4px 6px -1px #0000004d}.dark-theme .auth-card:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.dark-theme .auth-title{color:#f1f5f9}.dark-theme .auth-subtitle{color:#94a3b8}.dark-theme .auth-form .form-label{color:#cbd5e1}.dark-theme .auth-form .form-control{background-color:#0f172a;border-color:#334155;color:#f1f5f9}.dark-theme .auth-form .form-control::-moz-placeholder{color:#64748b}.dark-theme .auth-form .form-control::placeholder{color:#64748b}.dark-theme .auth-form .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.dark-theme .auth-form .form-check-input{background-color:#0f172a;border-color:#475569}.dark-theme .auth-form .form-check-input:checked{background-color:#3b82f6;border-color:#3b82f6}.dark-theme .auth-form .form-check-label{color:#94a3b8}.dark-theme .auth-btn-primary{background:#3b82f6}.dark-theme .auth-btn-primary:hover{background:#60a5fa}.dark-theme .auth-link{color:#60a5fa}.dark-theme .auth-link:hover{color:#93c5fd}.dark-theme .auth-link-muted{color:#64748b}.dark-theme .auth-footer{border-top-color:#334155}.dark-theme .auth-footer-text{color:#64748b}.dark-theme .auth-divider{color:#475569}.dark-theme .auth-divider:before,.dark-theme .auth-divider:after{background:#334155}.dark-theme .auth-success{background:#22c55e1a;border-color:#22c55e33;border-left-color:#22c55e;color:#4ade80}.dark-theme .password-toggle-btn{color:#64748b}.dark-theme .password-toggle-btn:hover{color:#94a3b8}.dark-theme .password-strength{background:#334155}.dark-theme .auth-social-btn{background:#0f172a;border-color:#334155;color:#e2e8f0}.dark-theme .auth-social-btn:hover{background:#1e293b;border-color:#475569}
