.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);padding:2rem 1rem;position:relative;overflow:hidden}.auth-container::before{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:drift 20s linear infinite}@keyframes drift{0%{transform:translate(0,0)}100%{transform:translate(50px,50px)}}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg),0 20px 40px rgba(0,0,0,.15);overflow:hidden}@media(min-width:576px){.auth-card{max-width:450px}}.auth-header{background:linear-gradient(135deg,rgba(102,126,234,.05) 0%,rgba(118,75,162,.05) 100%);padding:3rem 2rem 2rem;text-align:center;border-bottom:2px solid var(--border-color)}.auth-logo{width:60px;height:60px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:var(--shadow-md)}.auth-header h1{font-size:1.75rem;font-weight:700;color:var(--dark-text);margin-bottom:.5rem}.auth-subtitle{color:var(--light-text);font-size:.95rem;margin:0}.auth-form{padding:2rem}.form-group{display:flex;flex-direction:column}.form-label{font-weight:600;color:var(--dark-text);margin-bottom:.75rem;font-size:.95rem}.form-label i{width:18px;text-align:center;color:var(--primary-color)}.form-control,.form-control-lg{border:2px solid var(--border-color);border-radius:8px;padding:.875rem 1rem;font-size:1rem;transition:all .3s ease;background-color:#fff;color:var(--dark-text)}.form-control:hover,.form-control-lg:hover{border-color:#cbd5e0;background-color:#fafbfc}.form-control:focus,.form-control-lg:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(102,126,234,.1);outline:0;background-color:#fff}.form-control.is-invalid,.form-control-lg.is-invalid{border-color:var(--danger-color)}.form-control.is-invalid:focus,.form-control-lg.is-invalid:focus{box-shadow:0 0 0 4px rgba(245,101,101,.1)}.invalid-feedback{font-size:.875rem;color:var(--danger-color);margin-top:.5rem;display:block}.form-text{font-size:.8rem!important;color:var(--light-text)!important;margin-top:.375rem}.form-check{padding-right:0;margin-bottom:1rem}.form-check-input{float:right!important;width:18px;height:18px;margin-top:.25rem;margin-left:.75rem!important;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.form-check-input:focus{box-shadow:0 0 0 4px rgba(102,126,234,.1)}.form-check-label{cursor:pointer;color:var(--dark-text);font-size:.95rem;user-select:none}.form-check-label a{color:var(--primary-color);text-decoration:none}.form-check-label a:hover{text-decoration:underline}.btn{font-weight:600;border-radius:8px;transition:all .3s ease;cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center}.btn-lg{padding:.875rem 1.5rem;font-size:1.05rem;min-height:48px}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.btn-primary:focus{outline:0;box-shadow:0 0 0 4px rgba(102,126,234,.3)}.btn-primary:active{transform:translateY(0)}.btn-outline-primary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline-primary:hover{background-color:var(--primary-color);color:#fff}.btn-link{background:none;border:0;color:var(--primary-color);text-decoration:none;font-weight:500;font-size:.95rem}.btn-link:hover{color:var(--secondary-color);text-decoration:underline}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--light-text);font-size:.9rem}.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background-color:var(--border-color)}.auth-divider span{padding:0 1rem;white-space:nowrap}.auth-links{display:flex;flex-direction:column;gap:.75rem}.auth-footer{padding:1.5rem 2rem;background-color:var(--light-bg);border-top:1px solid var(--border-color);text-align:center}.auth-footer p{margin:0;font-size:.85rem}.alert{border-radius:8px;border:0;padding:1rem;margin-bottom:1.5rem}.alert-danger{background-color:rgba(245,101,101,.1);color:var(--danger-color)}.alert-danger i{margin-right:.75rem}.btn-close{background:none;border:0;color:var(--danger-color);opacity:.7;cursor:pointer;transition:opacity .2s ease}.btn-close:hover{opacity:1}.was-validated .form-control:valid{border-color:var(--success-color)}.was-validated .form-control:valid:focus{box-shadow:0 0 0 4px rgba(72,187,120,.1)}.was-validated .form-control:invalid{border-color:var(--danger-color)}.was-validated .form-control:invalid:focus{box-shadow:0 0 0 4px rgba(245,101,101,.1)}@media(max-width:576px){.auth-container{padding:1rem}.auth-card{max-width:100%}.auth-header{padding:2rem 1.5rem 1.5rem}.auth-header h1{font-size:1.5rem}.auth-logo{width:50px;height:50px;font-size:1.75rem}.auth-form{padding:1.5rem}.form-label{font-size:.9rem}.form-control,.form-control-lg{padding:.75rem .875rem;font-size:.95rem}.btn-lg{padding:.75rem 1rem;font-size:1rem}.auth-footer{padding:1rem 1.5rem}}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-loading::after{content:'';width:14px;height:14px;margin-left:.5rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.password-strength{margin-top:.75rem;height:4px;background-color:var(--border-color);border-radius:2px;overflow:hidden}.password-strength-bar{height:100%;width:0;background:transparent;transition:width .3s ease}.password-strength-bar.weak{width:33%;background-color:var(--danger-color)}.password-strength-bar.fair{width:66%;background-color:var(--warning-color)}.password-strength-bar.strong{width:100%;background-color:var(--success-color)}.password-strength-text{font-size:.8rem;margin-top:.25rem}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:slideInUp .5s ease-out}.form-group{animation:slideInUp .5s ease-out backwards}.form-group:nth-child(1){animation-delay:.1s}.form-group:nth-child(2){animation-delay:.2s}.form-group:nth-child(3){animation-delay:.3s}