.devise-body{font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;background:#0a0e27 !important;background-color:#0a0e27 !important;min-height:100vh;margin:0;padding:0;overflow-x:hidden}.devise-container{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.devise-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, #050811 0%, #0a0e27 25%, #1a1f3a 50%, #0a0e27 75%, #050811 100%);z-index:1}.devise-background::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%, rgba(0,212,170,0.1) 0%, transparent 50%),radial-gradient(circle at 80% 80%, rgba(0,168,255,0.1) 0%, transparent 50%),radial-gradient(circle at 50% 50%, rgba(168,85,247,0.05) 0%, transparent 70%);animation:backgroundShift 30s ease-in-out infinite}.devise-pattern{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(45deg, transparent 48%, rgba(0,212,170,0.05) 49%, rgba(0,212,170,0.05) 51%, transparent 52%),linear-gradient(-45deg, transparent 48%, rgba(0,168,255,0.05) 49%, rgba(0,168,255,0.05) 51%, transparent 52%);background-size:300px 300px, 300px 300px;animation:lineMove 40s linear infinite}.devise-content{position:relative;z-index:2;width:100%;max-width:450px}.devise-card{background:linear-gradient(145deg, #1a1f3a 0%, #2d3748 100%);border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,0.3);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);overflow:hidden;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.devise-card:hover{box-shadow:0 20px 40px rgba(0,212,170,0.2);transform:translateY(-2px)}.devise-header{padding:2rem 2rem 1rem;text-align:center;border-bottom:1px solid rgba(255,255,255,0.1)}.devise-header .devise-logo{display:inline-flex;align-items:center;gap:0.75rem;text-decoration:none;color:#ffffff;font-size:1.5rem;font-weight:700;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.devise-header .devise-logo i{font-size:1.75rem;background:linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.devise-header .devise-logo:hover{color:#00d4aa;text-decoration:none;transform:scale(1.05)}.devise-body-content{padding:2rem}.devise-form .form-group{margin-bottom:1.5rem}.devise-form .form-label{color:#ffffff;font-weight:600;margin-bottom:0.5rem;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px}.devise-form .form-control{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:8px;color:#ffffff;padding:0.75rem 1rem;font-size:1rem;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.devise-form .form-control:focus{background:rgba(255,255,255,0.1);border-color:#00d4aa;box-shadow:0 0 0 0.2rem rgba(0,212,170,0.25);color:#ffffff}.devise-form .form-control::placeholder{color:#718096}.devise-form .form-check{margin-bottom:1rem}.devise-form .form-check .form-check-input{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2)}.devise-form .form-check .form-check-input:checked{background-color:#00d4aa;border-color:#00d4aa}.devise-form .form-check .form-check-input:focus{box-shadow:0 0 0 0.2rem rgba(0,212,170,0.25)}.devise-form .form-check .form-check-label{color:#a0aec0;font-size:0.9rem}.devise-btn{width:100%;padding:0.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);text-transform:uppercase;letter-spacing:0.5px}.devise-btn.btn-primary{background:linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);color:white}.devise-btn.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 25px rgba(0,212,170,0.3)}.devise-btn.btn-primary:active{transform:translateY(0)}.devise-btn.btn-secondary{background:rgba(255,255,255,0.1);color:#ffffff;border:1px solid rgba(255,255,255,0.2)}.devise-btn.btn-secondary:hover{background:rgba(255,255,255,0.15);color:#ffffff}.devise-btn.btn-link{color:#00d4aa;text-decoration:none;padding:0.5rem 0}.devise-btn.btn-link:hover{color:#00a8ff;text-decoration:underline}.devise-links{text-align:center;margin-top:1.5rem}.devise-links a{color:#a0aec0;text-decoration:none;font-size:0.9rem;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.devise-links a:hover{color:#00d4aa;text-decoration:underline}.devise-links .divider{color:#718096;margin:0 0.5rem}.alert{border-radius:8px;border:none;margin-bottom:1.5rem;padding:1rem}.alert.alert-success{background:rgba(0,212,170,0.1);color:#00d4aa;border-left:4px solid #00d4aa}.alert.alert-danger{background:rgba(255,107,107,0.1);color:#ff6b6b;border-left:4px solid #ff6b6b}.alert.alert-info{background:rgba(0,168,255,0.1);color:#00a8ff;border-left:4px solid #00a8ff}.devise-footer{padding:1rem 2rem 2rem;text-align:center;border-top:1px solid rgba(255,255,255,0.1)}.devise-footer p{color:#718096;font-size:0.8rem;margin:0}.devise-title{color:#ffffff;font-size:1.75rem;font-weight:700;margin-bottom:0.5rem;text-align:center}.devise-subtitle{color:#a0aec0;font-size:1rem;margin-bottom:2rem;text-align:center}@media (max-width: 768px){.devise-container{padding:1rem 0.5rem}.devise-card{margin:0}.devise-header,.devise-body-content{padding:1.5rem}.devise-footer{padding:1rem 1.5rem 1.5rem}}.password-strength-checker{margin-top:0.75rem;padding:1rem;background:linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.05);animation:slideDown 0.3s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.password-requirements{margin-bottom:1rem}.requirement{display:flex;align-items:center;margin-bottom:0.5rem;font-size:0.875rem;transition:all 0.3s ease}.requirement:last-child{margin-bottom:0}.requirement.valid .requirement-icon{color:#10b981;transform:scale(1.1)}.requirement.valid .requirement-text{color:#059669;font-weight:500}.requirement.invalid .requirement-icon{color:#ef4444}.requirement.invalid .requirement-text{color:#dc2626}.requirement-icon{width:16px;height:16px;margin-right:0.5rem;font-size:0.75rem;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center}.requirement-text{color:#6b7280;transition:all 0.3s ease}.password-strength-meter{margin-top:1rem}.strength-bar{width:100%;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:0.5rem}.strength-fill{height:100%;width:0%;transition:all 0.5s ease;border-radius:3px}.strength-fill.very-weak{width:20%;background:linear-gradient(90deg, #ef4444, #f87171)}.strength-fill.weak{width:40%;background:linear-gradient(90deg, #f59e0b, #fbbf24)}.strength-fill.fair{width:60%;background:linear-gradient(90deg, #eab308, #facc15)}.strength-fill.good{width:80%;background:linear-gradient(90deg, #22c55e, #4ade80)}.strength-fill.strong{width:100%;background:linear-gradient(90deg, #10b981, #34d399)}.strength-text{font-size:0.875rem;font-weight:500;text-align:center;transition:all 0.3s ease}.strength-text.very-weak{color:#dc2626}.strength-text.weak{color:#d97706}.strength-text.fair{color:#ca8a04}.strength-text.good{color:#16a34a}.strength-text.strong{color:#059669}.password-hint{margin-top:0.5rem}.password-hint small{font-size:0.75rem;color:#6b7280}.password-input,.password-confirmation-input{transition:all 0.3s ease}.password-input:focus,.password-confirmation-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.password-input.password-valid,.password-confirmation-input.password-valid{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,0.1)}.password-input.password-invalid,.password-confirmation-input.password-invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,0.1)}.password-match-indicator,.password-mismatch-indicator{display:flex;align-items:center;margin-top:0.5rem;font-size:0.875rem;font-weight:500;animation:fadeIn 0.3s ease-in-out}.password-match-indicator i,.password-mismatch-indicator i{margin-right:0.5rem;font-size:0.75rem}@keyframes fadeIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.password-strength-checker{padding:0.75rem}.requirement{font-size:0.8rem}.requirement-icon{width:14px;height:14px;font-size:0.7rem}}@keyframes backgroundShift{0%,100%{transform:translateX(0) translateY(0)}25%{transform:translateX(20px) translateY(-20px)}50%{transform:translateX(-20px) translateY(20px)}75%{transform:translateX(20px) translateY(20px)}}@keyframes lineMove{0%{transform:translateX(0) translateY(0)}100%{transform:translateX(300px) translateY(300px)}}.was-validated .form-control:valid,.form-control.is-valid{border-color:#00d4aa;background-image:none}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff6b6b;background-image:none}.valid-feedback{color:#00d4aa;font-size:0.8rem}.invalid-feedback{color:#ff6b6b;font-size:0.8rem}.recaptcha-container{display:flex;justify-content:center;margin:1.5rem 0;padding:1rem;background:rgba(255,255,255,0.05);border-radius:12px;border:1px solid rgba(255,255,255,0.1)}.recaptcha-container iframe{border-radius:8px}.g-recaptcha{transform:scale(0.9);transform-origin:center}@media (max-width: 768px){.recaptcha-container{padding:0.5rem}.g-recaptcha{transform:scale(0.8)}}
