.devise-body{font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;background:#0a0e1a !important;background-color:#0a0e1a !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}.webview-mode .devise-container{min-height:auto !important}.devise-background{position:absolute;top:0;left:0;right:0;bottom:0;background:#0a0e1a;z-index:1;overflow:hidden}.devise-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 100% 80% at 50% 0%, black 40%, transparent 100%)}.devise-glow{position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:800px;height:500px;background:radial-gradient(ellipse, rgba(0,212,170,0.2) 0%, rgba(0,168,255,0.1) 40%, transparent 70%);filter:blur(80px);pointer-events:none}.devise-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden}.devise-orbs .orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:0.3;animation:deviseFloat 25s ease-in-out infinite}.devise-orbs .orb-1{top:10%;left:5%;width:250px;height:250px;background:#00d4aa}.devise-orbs .orb-2{bottom:10%;right:5%;width:300px;height:300px;background:#00a8ff;animation-delay:-8s}.devise-orbs .orb-3{top:50%;left:50%;width:180px;height:180px;background:#a855f7;animation-delay:-16s}@keyframes deviseFloat{0%,100%{transform:translate(0, 0) scale(1)}33%{transform:translate(20px, -25px) scale(1.05)}66%{transform:translate(-15px, 15px) scale(0.95)}}.devise-pattern{display:none}.devise-content{position:relative;z-index:2;width:100%;max-width:460px}.devise-card{background:rgba(15,20,40,0.85);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);overflow:hidden;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);position:relative}.devise-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%)}.devise-card:hover{box-shadow:0 20px 50px rgba(0,212,170,0.15);border-color:rgba(0,212,170,0.2)}.devise-header{padding:2rem 2rem 1.25rem;text-align:center;border-bottom:1px solid rgba(255,255,255,0.06)}.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 span{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{text-decoration:none;transform:scale(1.02)}.devise-body-content{padding:1.75rem 2rem 2rem}.devise-form .form-group{margin-bottom:1.25rem}.devise-form .form-label{color:#94a3b8;font-weight:500;margin-bottom:0.4rem;font-size:0.85rem;display:block}.devise-form .form-control{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;color:#ffffff;padding:0.85rem 1rem;font-size:1rem;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);width:100%}.devise-form .form-control:focus{background:rgba(0,212,170,0.05);border-color:#00d4aa;box-shadow:0 0 0 3px rgba(0,212,170,0.1);color:#ffffff;outline:none}.devise-form .form-control::placeholder{color:#64748b}.devise-form .form-control:invalid:not(:placeholder-shown){border-color:#ff6b6b}.devise-form .form-check{margin-bottom:1rem}.devise-form .form-check .form-check-input{background:rgba(255,255,255,0.05);border:2px solid rgba(255,255,255,0.15);border-radius:4px;width:18px;height:18px}.devise-form .form-check .form-check-input:checked{background:linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);border-color:transparent}.devise-form .form-check .form-check-input:focus{box-shadow:0 0 0 3px rgba(0,212,170,0.15)}.devise-form .form-check .form-check-label{color:#94a3b8;font-size:0.9rem}.devise-btn{width:100%;padding:0.875rem 1.5rem;font-size:0.95rem;font-weight:600;border-radius:12px;border:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);text-transform:uppercase;letter-spacing:0.5px;cursor:pointer;position:relative}.devise-btn.btn-primary{background:linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);color:#0a0e1a;box-shadow:0 4px 15px rgba(0,212,170,0.25)}.devise-btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,212,170,0.4)}.devise-btn.btn-primary:active{transform:translateY(0);box-shadow:0 4px 15px rgba(0,212,170,0.25)}.devise-btn.btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none}.devise-btn.btn-secondary{background:rgba(255,255,255,0.05);color:#ffffff;border:1px solid rgba(255,255,255,0.08)}.devise-btn.btn-secondary:hover{background:rgba(255,255,255,0.1);border-color:rgba(0,212,170,0.3);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:#94a3b8;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:#64748b;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:#64748b;font-size:0.8rem;margin:0}.devise-title{font-size:1.75rem;font-weight:700;margin-bottom:0.5rem;text-align:center;background:linear-gradient(135deg, #00d4aa 0%, #00a8ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.devise-subtitle{color:#94a3b8;font-size:0.95rem;margin-bottom:1.75rem;text-align:center;line-height:1.5}@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}}@media (max-width: 575px){.webview-mode body.d-flex.flex-column{min-height:auto !important;height:100vh !important;height:100dvh !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch !important}.webview-mode #main-content{flex-grow:0 !important;min-height:auto !important;padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px)) !important}.webview-mode .devise-container{padding:0.5rem 0.5rem !important;align-items:flex-start !important;padding-top:1.5rem !important;min-height:auto !important;height:auto !important;display:flex !important;flex-direction:column !important}.webview-mode .devise-content{flex:0 0 auto !important}.webview-mode .devise-content{max-width:100% !important}.webview-mode .devise-card{margin:0 !important;border-radius:12px !important}.webview-mode .devise-header{padding:1rem 1rem 0.75rem !important}.webview-mode .devise-header .devise-logo{font-size:1.25rem !important}.webview-mode .devise-header .devise-logo i{font-size:1.4rem !important}.webview-mode .devise-body-content{padding:1rem !important}.webview-mode .devise-title{font-size:1.25rem !important;margin-bottom:0.35rem !important}.webview-mode .devise-subtitle{font-size:0.85rem !important;margin-bottom:1rem !important}.webview-mode .devise-form .form-group{margin-bottom:1rem !important}.webview-mode .devise-form .form-label{font-size:0.8rem !important;margin-bottom:0.35rem !important}.webview-mode .devise-form .form-control{padding:0.6rem 0.75rem !important;font-size:16px !important;min-height:44px !important}.webview-mode .devise-form .form-check{margin-bottom:0.75rem !important}.webview-mode .devise-form .form-check .form-check-label{font-size:0.8rem !important}.webview-mode .devise-btn{padding:0.7rem 1rem !important;font-size:0.9rem !important;min-height:44px !important}.webview-mode .devise-links{margin-top:1rem !important}.webview-mode .devise-links a{font-size:0.8rem !important}.webview-mode .alert{padding:0.75rem !important;margin-bottom:1rem !important;font-size:0.85rem !important}}.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)}}.oauth-section{margin-bottom:1.5rem}.oauth-divider{display:flex;align-items:center;margin:1.5rem 0}.oauth-divider::before,.oauth-divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right, transparent, rgba(255,255,255,0.2), transparent)}.oauth-divider span{padding:0 1rem;color:#94a3b8;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em}.oauth-buttons{display:flex;flex-direction:column;gap:0.75rem}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:0.75rem;width:100%;padding:0.875rem 1.25rem;border-radius:12px;font-size:0.95rem;font-weight:500;cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);border:1px solid rgba(255,255,255,0.15)}.oauth-btn .oauth-icon{width:20px;height:20px;flex-shrink:0}.oauth-btn span{flex-shrink:0}.oauth-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.oauth-btn:active{transform:translateY(0)}.oauth-google{background:#ffffff;color:#3c4043;border-color:#dadce0}.oauth-google:hover{background:#f8f9fa;border-color:#c6c6c6}.oauth-apple{background:#000000;color:#ffffff;border-color:#333}.oauth-apple:hover:not(:disabled){background:#1a1a1a;border-color:#555}.oauth-apple .oauth-icon{font-size:1.25rem}.oauth-disabled{opacity:0.5;cursor:not-allowed;position:relative}.oauth-disabled:hover{transform:none;box-shadow:none}.oauth-disabled .oauth-badge{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.2);color:rgba(255,255,255,0.8);font-size:0.65rem;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:0.05em}.oauth-microsoft{background:rgba(255,255,255,0.03);color:#ffffff;border-color:rgba(255,255,255,0.2)}.oauth-microsoft:hover{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.3)}.oauth-terms{margin-top:1rem;font-size:0.75rem;color:#64748b;text-align:center;line-height:1.5}.oauth-terms a{color:#00d4aa;text-decoration:none}.oauth-terms a:hover{text-decoration:underline}@media (max-width: 576px){.oauth-btn{padding:0.75rem 1rem;font-size:0.9rem;border-radius:10px}.oauth-btn .oauth-icon{width:18px;height:18px}.oauth-divider span{font-size:0.75rem;padding:0 0.75rem}}@media (min-width: 577px) and (max-width: 768px){.oauth-buttons{flex-direction:row;flex-wrap:wrap}.oauth-buttons .oauth-btn{flex:1 1 calc(50% - 0.5rem);min-width:0}.oauth-buttons .oauth-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.webview-mode .oauth-btn{min-height:48px;padding:0.875rem 1rem}.webview-mode .oauth-section{margin-bottom:1rem}
