body{min-height:100vh}[hidden]{display:none!important}.auth-wrapper{display:flex;min-height:100vh}.auth-visual{flex:1;min-width:0;position:relative;overflow:hidden;background:linear-gradient(120deg,#051417 0%,#0a2830 45%,#123a3f 75%,#1c4a45 100%);display:flex;flex-direction:column;justify-content:space-between;padding:44px 50px}.auth-visual .logo-tagline{color:#cdd6d4}.auth-visual .logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.auth-visual .logo-icon{display:block;height:110px}.auth-illustration{position:relative;flex:1}.auth-visual.login-visual{background-image:linear-gradient(120deg,rgb(5 20 23 / .90) 0%,rgb(10 40 48 / .80) 45%,rgb(18 58 63 / .62) 75%,rgb(28 74 69 / .45) 100%),url(../images/login-hero.webp);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}.auth-visual.register-visual{background-image:linear-gradient(120deg,rgb(5 20 23 / .90) 0%,rgb(10 40 48 / .80) 45%,rgb(18 58 63 / .62) 75%,rgb(28 74 69 / .45) 100%),url(../images/register-hero.webp);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}.auth-visual.admin-visual{background-image:linear-gradient(120deg,rgb(5 20 23 / .90) 0%,rgb(10 40 48 / .80) 45%,rgb(18 58 63 / .62) 75%,rgb(28 74 69 / .45) 100%),url(../images/admin-login-hero.webp);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}.auth-visual-heading{display:none}.auth-quote{color:#e7e7e2;font-size:16px;font-style:italic;line-height:1.8;max-width:380px}.auth-form-panel{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--cream)}.auth-form-box{width:100%;max-width:400px}.auth-form-box h1{font-size:26px;font-weight:800;color:var(--heading-text);margin-bottom:8px}.auth-subtitle{color:var(--text-gray);font-size:14px;margin-bottom:26px}.social-btn{width:100%;justify-content:center;gap:10px;text-decoration:none;font-weight:600;font-size:14px}.social-btn svg,.social-btn img{width:18px;height:18px;flex-shrink:0}.social-btn i{font-size:16px}.auth-divider{position:relative;text-align:center;margin-bottom:22px}.auth-divider::before{content:"";position:absolute;top:50%;right:0;left:0;height:1px;background:var(--border-light)}.auth-divider span{position:relative;background:var(--cream);padding:0 14px;font-size:12px;color:var(--text-gray)}.form-field{margin-bottom:18px}.form-field label{display:block;font-size:13px;font-weight:700;color:var(--heading-text);margin-bottom:8px}.input-with-icon{position:relative;display:flex;align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;padding:0 14px;transition:border-color .15s ease}.input-with-icon:focus-within{border-color:var(--teal)}.input-with-icon i:first-child{color:var(--text-gray);font-size:14px}.input-with-icon input{flex:1;border:none;outline:none;background:none;padding:12px 12px;font-size:14px;font-family:inherit}.toggle-password{color:var(--text-gray);font-size:14px;padding:4px}.toggle-password:hover{color:var(--heading-text)}.field-error{display:block;color:var(--danger);font-size:12px;margin-top:6px;min-height:0}.form-row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dark);cursor:pointer}.checkbox-row input{accent-color:var(--teal);width:16px;height:16px;cursor:pointer}.forgot-link{font-size:13px;color:var(--teal);font-weight:700}.forgot-link:hover{text-decoration:underline}.terms-row{align-items:flex-start;margin-bottom:22px}.terms-row input{margin-top:3px}.terms-row a{color:var(--teal);font-weight:700}.btn.full{width:100%;justify-content:center;padding:14px;font-size:15px}.form-success{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--success);font-size:13px;font-weight:700;margin-top:14px}.auth-switch{text-align:center;font-size:13px;color:var(--text-gray);margin-top:24px}.auth-switch a{color:var(--teal);font-weight:700}.auth-switch a:hover{text-decoration:underline}.password-strength{display:flex;align-items:center;gap:10px;margin-top:8px}.strength-bar{flex:1;height:5px;border-radius:4px;background:var(--track-bg);overflow:hidden}.strength-fill{height:100%;width:0;border-radius:4px;transition:width .2s ease,background .2s ease}.strength-label{font-size:11px;font-weight:700;color:var(--text-gray);min-width:50px}@media (max-width:900px){.auth-wrapper{flex-direction:column}.auth-visual{min-height:260px;padding:28px 30px}.auth-visual.login-visual{background-image:linear-gradient(120deg,rgb(5 20 23 / .90) 0%,rgb(10 40 48 / .80) 45%,rgb(18 58 63 / .62) 75%,rgb(28 74 69 / .45) 100%),url(../images/login-hero-sm.webp)}.auth-visual.register-visual{background-image:linear-gradient(120deg,rgb(5 20 23 / .90) 0%,rgb(10 40 48 / .80) 45%,rgb(18 58 63 / .62) 75%,rgb(28 74 69 / .45) 100%),url(../images/register-hero-sm.webp)}.auth-visual.admin-visual{background-image:linear-gradient(120deg,rgb(5 20 23 / .90) 0%,rgb(10 40 48 / .80) 45%,rgb(18 58 63 / .62) 75%,rgb(28 74 69 / .45) 100%),url(../images/admin-login-hero-sm.webp)}.auth-illustration{display:none}.auth-quote{display:none}.auth-form-panel{padding:36px 20px 50px}.auth-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.auth-visual .logo{display:block;position:static;transform:none}.auth-visual .logo-icon{height:44px;width:auto}.auth-visual .auth-visual-heading{display:block;color:#fff;font-size:26px;font-weight:800;text-align:center}.auth-form-heading{display:none}}.auth-visual-badge{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .18);color:#e7e7e2;font-size:13px;font-weight:700}.auth-visual-badge i{color:var(--gold)}.auth-form-box .admin-alert{margin-bottom:18px}.otp-input{text-align:center;letter-spacing:6px;font-weight:800;font-size:18px!important}.auth-secondary-action{margin-top:12px}@media (max-width:900px){.auth-visual-badge{align-self:center}}