:root{--login-bg:#f4f5f9;--card-bg:#ffffff;--primary-color:#974e88;--primary-dark:#7e1479;--text-color:#333333;--border-color:#e1e1e1}body{background-color:var(--bg-site,var(--login-bg));font-family:var(--font-site, "IRANYekanX", sans-serif);height:100vh;display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden}.login-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.bg-decoration{position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;overflow:hidden}.bg-circle{position:absolute;border-radius:50%;opacity:.1;filter:blur(60px)}.bg-circle-1{width:400px;height:400px;background:var(--main-color-one,var(--primary-color));top:-100px;right:-100px}.bg-circle-2{width:300px;height:300px;background:var(--main-color-two,#ffd100);bottom:-50px;left:-50px}.login-card{background:var(--card-bg);width:900px;max-width:100%;height:550px;max-height:90vh;border-radius:30px;box-shadow:0 20px 60px rgba(0,0,0,.08);display:flex;overflow:hidden;position:relative}.login-visual{flex:1;background:linear-gradient(135deg,var(--main-color-one,#974e88) 0,var(--main-color-three,#7e1479) 100%);position:relative;display:flex;flex-direction:column;justify-content:end;align-items:center;color:#fff;text-align:center;padding:40px 40px 0;overflow:hidden}.login-visual::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.visual-content{position:relative;z-index:2;margin-bottom:10px;margin-top:30px}.visual-title{color:#fff;font-size:2rem;font-weight:900;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.visual-desc{color:#eee;font-size:1.1rem;opacity:.9;line-height:1.6}.character-container{position:relative;width:100%;height:300px;display:flex;justify-content:center;align-items:flex-end;z-index:2}.character-img{max-height:110%;width:auto;filter:drop-shadow(0 10px 20px rgba(0, 0, 0, .2));transition:transform .3s}.character-img:hover{transform:scale(1.05) translateY(-5px)}.img-placeholder{width:180px;height:260px;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.3);border-radius:20px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.9rem;margin:0 10px}.login-form-side{flex:0 0 450px;background:#fff;padding:50px;display:flex;flex-direction:column;justify-content:center;position:relative}.form-header{text-align:center;margin-bottom:40px}.logo-img{width:160px;margin-bottom:20px}.form-title{font-size:1.5rem;font-weight:800;color:var(--text-color);margin-bottom:5px}.form-subtitle{color:#888;font-size:.95rem}.input-group-custom{position:relative;margin-bottom:25px}.form-control-custom{width:100%;padding:15px 20px 15px 45px;border:2px solid #f0f0f0;border-radius:15px;background:#f9f9f9;font-size:1rem;transition:.3s;color:var(--text-color);font-family:inherit}.form-control-custom:focus{background:#fff;border-color:var(--main-color-one,#974e88);box-shadow:0 0 0 4px var(--main-color-one-shadow,rgba(151,78,136,.1));outline:0}.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#aaa;font-size:1.2rem;transition:color .3s}.form-control-custom:focus+.input-icon{color:var(--main-color-one,#974e88)}.floating-label{position:absolute;right:15px;top:17px;color:#999;pointer-events:none;transition:.2s;background:0 0;padding:0 5px}.form-control-custom:focus~.floating-label,.form-control-custom:not(:placeholder-shown)~.floating-label{top:-10px;right:10px;font-size:.8rem;background:#fff;color:var(--main-color-one,#974e88);font-weight:600}.btn-submit{width:100%;padding:16px;border:none;border-radius:15px;background:var(--main-color-one,#974e88);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:.3s;box-shadow:0 10px 20px var(--main-color-one-shadow,rgba(151,78,136,.2));display:flex;align-items:center;justify-content:center;gap:10px}.btn-submit span{color:#fff}.btn-submit:hover{background:var(--main-color-one-hover,#793e6d);transform:translateY(-2px);box-shadow:0 15px 25px var(--main-color-one-shadow,rgba(151,78,136,.3))}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-text{transition:opacity .2s}.btn-submit.loading .btn-text{opacity:0}.btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;opacity:0;visibility:hidden;transition:.2s;display:flex;align-items:center;justify-content:center}.btn-submit.loading .btn-loader{opacity:1;visibility:visible}.btn-submit.success{background:#198754!important;box-shadow:0 10px 20px rgba(25,135,84,.3)!important}.btn-submit.error{background:#dc3545!important;box-shadow:0 10px 20px rgba(220,53,69,.3)!important;animation:.4s ease-in-out shake}.login-footer{margin-top:auto;text-align:center;padding-top:20px}.back-link{color:#888;font-size:.9rem;display:inline-flex;align-items:center;gap:5px;transition:color .2s}.back-link:hover{color:var(--main-color-one,#974e88)}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out forwards fadeIn}.hidden{display:none}@media (max-width:992px){.login-card{flex-direction:column;height:auto;max-width:500px;overflow:hidden}.login-visual{padding:30px 20px 0;min-height:220px;flex:0 0 auto;justify-content:start!important;overflow:visible;padding-bottom:40px!important}.character-container{display:none}.character-img{width:100%;height:auto;max-height:none;display:block;transform:none!important}.character-img:hover{transform:none!important}.img-placeholder{width:90px;height:130px;font-size:.7rem;margin:0 5px}.login-form-side{flex:1;padding:30px 25px;border-top-left-radius:30px;border-top-right-radius:30px;margin-top:-20px;z-index:10}}@media (max-width:576px){.login-wrapper{padding:0;align-items:flex-start}.login-card{border-radius:0;height:100%;max-height:none;max-width:100%;box-shadow:none;overflow-y:auto}.login-visual{display:flex;flex:1;min-height:35vh;padding-bottom:0!important;border-radius:0}.character-container{display:flex!important;position:relative;height:100%!important}.character-container img{position:absolute;top:0}.visual-content{margin-top:10px;margin-bottom:20px}.visual-title{font-size:1.5rem}.visual-desc{font-size:.9rem;display:none}.login-form-side{flex:0 0 auto;border-radius:30px 30px 0 0;padding:40px 25px;min-height:auto;box-shadow:0 -10px 20px rgba(0,0,0,.05)}.form-header{margin-bottom:15px}.logo-img{width:140px}.login-footer{margin-bottom:20px}}.bring-bottom{top:unset!important;bottom:20px!important}.otp-input-container{display:flex;justify-content:space-between;gap:10px;margin-bottom:25px;direction:ltr}.otp-digit{width:50px;height:60px;border:2px solid #f0f0f0;border-radius:12px;background:#f9f9f9;font-size:1.5rem;font-weight:700;text-align:center;color:var(--text-color);transition:.3s;outline:0}.otp-digit:focus{background:#fff;border-color:var(--main-color-one,#974e88);box-shadow:0 0 0 4px var(--main-color-one-shadow,rgba(151,78,136,.1));transform:translateY(-2px)}.otp-digit.error{border-color:#dc3545;background:#fff5f5;color:#dc3545;animation:.4s ease-in-out shake}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media (max-width:400px){.otp-digit{width:40px;height:50px;font-size:1.2rem}}@media (max-width:992px){body.registration-mode .login-visual{display:none!important}body.registration-mode .login-card{height:100%;border-radius:0;overflow-y:auto}body.registration-mode .login-form-side{border-radius:0;padding-top:40px;min-height:100%;justify-content:flex-start}}.toast-custom{background:#fff;color:#333;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.15);border:none;border-right:5px solid #ccc}.toast-success{border-right-color:#198754}.toast-error{border-right-color:#dc3545}.toast-warning{border-right-color:#ffc107}.toast-neutral{border-right-color:#6c757d}.custom-select-wrapper{position:relative;user-select:none;width:100%}.custom-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;padding:15px 20px 15px 45px;font-size:1rem;font-weight:400;color:#999;background:#f9f9f9;border:2px solid #f0f0f0;border-radius:15px;cursor:pointer;transition:.3s;height:58px}.custom-select-trigger.has-value{color:var(--text-color)}.custom-select-wrapper.open .custom-select-trigger{border-color:var(--main-color-one,#974e88);background:#fff;box-shadow:0 0 0 4px var(--main-color-one-shadow,rgba(151,78,136,.1));border-bottom-left-radius:0;border-bottom-right-radius:0}.custom-options{position:absolute;display:block;top:100%;left:0;right:0;border:2px solid var(--main-color-one,#974e88);border-top:0;border-bottom-left-radius:15px;border-bottom-right-radius:15px;background:#fff;transition:.3s;opacity:0;visibility:hidden;pointer-events:none;z-index:100;max-height:200px;overflow-y:auto;box-shadow:0 10px 20px rgba(0,0,0,.05)}.custom-select-wrapper.open .custom-options{opacity:1;visibility:visible;pointer-events:all}.custom-option{position:relative;display:block;padding:12px 20px;font-size:.95rem;font-weight:400;color:var(--text-color);cursor:pointer;transition:.2s}.custom-option:hover{background-color:#f4f5f9;color:var(--main-color-one,#974e88)}.custom-option.selected{background-color:var(--main-color-one,#974e88);color:#fff}.custom-arrow{position:relative;height:10px;width:10px;margin-right:10px}.custom-arrow::after,.custom-arrow::before{content:"";position:absolute;bottom:0;width:.15rem;height:100%;transition:.3s;background-color:#aaa}.custom-arrow::before{left:-3px;transform:rotate(-45deg)}.custom-arrow::after{left:3px;transform:rotate(45deg)}.custom-select-wrapper.open .custom-arrow::before{left:-3px;transform:rotate(45deg)}.custom-select-wrapper.open .custom-arrow::after{left:3px;transform:rotate(-45deg)}.input-group-custom.z-index-high{z-index:100}#step1,#step2,#step3{position:relative;z-index:20}.btn-submit{position:relative;z-index:10}.native-select-hidden{display:none}.form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}