/* Shared public authentication layout. */
.auth-page{--auth-accent:#16a765;--auth-accent-dark:#087a49;min-height:100vh;margin:0;color:#171927;background:#f3f6f4;font-family:Manrope,Inter,sans-serif}.auth-page.auth-theme-ramadan{--auth-accent:#0b8f71;--auth-accent-dark:#075f4d}.auth-page.auth-theme-sale{--auth-accent:#e24b37;--auth-accent-dark:#b82f20}.auth-page.auth-theme-anniversary{--auth-accent:#d29522;--auth-accent-dark:#986711}.auth-page-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none}.auth-page-bg:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(75,99,87,.12) 1px,transparent 1px);background-size:24px 24px}.auth-page-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--auth-accent) 13%,transparent),transparent 27%),radial-gradient(circle at 90% 84%,color-mix(in srgb,var(--auth-accent) 11%,transparent),transparent 30%)}
.auth-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);width:min(1120px,calc(100% - 64px));min-height:680px;margin:32px auto;padding:14px;border:1px solid #dbe5df;border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 32px 80px rgba(31,61,47,.12);backdrop-filter:blur(18px)}.auth-side{position:relative;display:flex;overflow:hidden;align-items:flex-start;justify-content:space-between;flex-direction:column;min-height:650px;padding:42px;border-radius:20px;color:#fff;background:linear-gradient(145deg,var(--auth-accent-dark),var(--auth-accent))}.auth-side:before{content:"";position:absolute;right:-110px;top:-100px;width:360px;height:360px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.045),0 0 0 130px rgba(255,255,255,.025)}.auth-side:after{content:"";position:absolute;left:-60px;bottom:-90px;width:270px;height:270px;border:1px dashed rgba(255,255,255,.28);border-radius:50%}.auth-side-brand{position:relative;z-index:2;display:flex;align-items:center;gap:12px;color:#fff}.auth-side-mark{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:rgba(255,255,255,.14);box-shadow:0 15px 35px rgba(0,0,0,.12);backdrop-filter:blur(10px)}.auth-side-mark img{max-width:32px;max-height:32px;object-fit:contain}.auth-side-mark svg{width:24px;height:24px}.auth-side-mark.has-motion{animation:authSharedFloat 3.8s ease-in-out infinite}.auth-side-brand strong,.auth-side-brand small{display:block}.auth-side-brand strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:1rem}.auth-side-brand small{margin-top:2px;color:rgba(255,255,255,.65);font-size:.62rem}.auth-side-story{position:relative;z-index:2;max-width:460px}.auth-side-story>span{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-size:.67rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.auth-side-story>span:before{content:"";width:8px;height:8px;border-radius:50%;background:#f3ca42;box-shadow:0 0 0 5px rgba(243,202,66,.15)}.auth-side-story h2{margin:0;color:#fff;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(2.35rem,4vw,3.7rem);font-weight:800;line-height:1.05;letter-spacing:-.055em}.auth-side-story p{max-width:430px;margin-top:20px;color:rgba(255,255,255,.76);font-size:.9rem;line-height:1.75}.auth-side-steps{position:relative;z-index:2;display:grid;gap:8px;width:100%}.auth-side-steps span{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:rgba(255,255,255,.84);background:rgba(255,255,255,.07);font-size:.65rem}.auth-side-steps b{display:flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;color:var(--auth-accent-dark);background:#fff;font-size:.55rem}
.auth-content{display:flex;align-items:center;justify-content:center;padding:38px 50px}.auth-content-inner{width:100%;max-width:410px}.auth-heading{margin-bottom:25px}.auth-heading-icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;margin-bottom:18px;border-radius:14px;color:#fff;background:var(--auth-accent);box-shadow:0 12px 25px color-mix(in srgb,var(--auth-accent) 24%,transparent)}.auth-heading-icon svg{width:23px;height:23px}.auth-heading h1{margin:0;color:#191c29;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.9rem;font-weight:800;letter-spacing:-.045em}.auth-heading p{margin-top:8px;color:#7a837e;font-size:.78rem;line-height:1.6}.auth-card{padding:27px;border:1px solid #e0e7e3;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(30,55,43,.08)}.auth-label{display:block;margin-bottom:7px;color:#626b66;font-size:.7rem;font-weight:750}.auth-field{position:relative}.auth-field svg{position:absolute;left:14px;top:50%;width:18px;height:18px;color:color-mix(in srgb,var(--auth-accent) 58%,#94a3b8);transform:translateY(-50%);pointer-events:none}.auth-input{width:100%;height:50px;padding:0 14px 0 43px;border:1px solid #dce4df;border-radius:11px;color:#20242d;background:#f6f8f7;font-size:.82rem;outline:none;transition:.16s}.auth-input:focus{border-color:var(--auth-accent);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--auth-accent) 14%,transparent)}.auth-input:user-invalid:not(:placeholder-shown){border-color:#df7568}.auth-submit{display:flex;width:100%;height:51px;align-items:center;justify-content:center;gap:9px;margin-top:16px;border:0;border-radius:11px;color:#fff;background:var(--auth-accent);box-shadow:0 13px 25px color-mix(in srgb,var(--auth-accent) 23%,transparent);font-size:.78rem;font-weight:850;transition:.18s}.auth-submit:hover{background:var(--auth-accent-dark);transform:translateY(-1px)}.auth-note{display:flex;gap:9px;margin-top:14px;padding:11px 12px;border-radius:10px;color:#78817c;background:#f4f7f5;font-size:.6rem;line-height:1.55}.auth-note svg{flex:0 0 15px;width:15px;height:15px;color:var(--auth-accent)}.auth-back{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:15px 17px;border:1px solid #dce5e0;border-radius:15px;background:#fff}.auth-back span strong,.auth-back span small{display:block}.auth-back strong{color:#242833;font-size:.74rem}.auth-back small{margin-top:3px;color:#858d88;font-size:.58rem}.auth-back a{flex-shrink:0;padding:9px 13px;border-radius:999px;color:#fff;background:var(--auth-accent);font-size:.62rem;font-weight:850}.auth-flash{display:flex;align-items:flex-start;gap:9px;margin-bottom:13px;padding:12px 13px;border:1px solid;border-radius:11px;font-size:.7rem;line-height:1.5}.auth-flash svg{flex:0 0 16px;width:16px;height:16px}.auth-flash.is-error{border-color:#f2c9c4;color:#a33d32;background:#fff3f1}.auth-flash.is-success{border-color:#bfe3cf;color:#19724a;background:#effaf4}.auth-page-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1120px,calc(100% - 64px));margin:0 auto 25px;color:#8b938f;font-size:.6rem}.auth-page-footer strong{color:#515954}.auth-page-footer a{color:var(--auth-accent);font-weight:800}
.dark .auth-page{background:#151917;color:#eef3f0}.dark .auth-shell{border-color:#343d38;background:rgba(28,34,31,.9)}.dark .auth-heading h1,.dark .auth-back strong{color:#eef3f0}.dark .auth-heading p{color:#a8b3ad}.dark .auth-card,.dark .auth-back{border-color:#37413c;background:#222824}.dark .auth-input{border-color:#3b4640;color:#eef3f0;background:#282f2b}.dark .auth-note{color:#adb7b2;background:#29312d}
@keyframes authSharedFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(2deg)}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;width:min(600px,calc(100% - 40px));min-height:0;margin:20px auto}.auth-side{min-height:260px;padding:28px}.auth-side-story h2{font-size:2.2rem}.auth-side-story p{margin-top:12px}.auth-side-steps{display:none}.auth-content{padding:32px 28px}.auth-page-footer{width:min(600px,calc(100% - 40px))}}
@media(max-width:560px){.auth-shell{width:calc(100% - 24px);margin:12px auto;padding:8px;border-radius:20px}.auth-side{min-height:210px;padding:22px;border-radius:15px}.auth-side-mark{width:42px;height:42px}.auth-side-story h2{font-size:1.75rem}.auth-side-story p{font-size:.74rem}.auth-content{padding:26px 14px 20px}.auth-card{padding:21px}.auth-back{align-items:flex-start;flex-direction:column}.auth-back a{width:100%;text-align:center}.auth-page-footer{align-items:flex-start;flex-direction:column;width:calc(100% - 32px);gap:6px;margin-bottom:18px}}
@media(max-width:360px){.auth-side{min-height:195px;padding:18px}.auth-side-story h2{font-size:1.55rem}.auth-content{padding-inline:10px}.auth-card{padding:18px}.auth-heading h1{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.auth-side-mark.has-motion{animation:none}.auth-submit{transition:none}}

/* Registration-specific first impression. */
.auth-register-shell{grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr);min-height:760px}.auth-register-shell .auth-side{min-height:730px}.auth-register-badge{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08)}.auth-register-badge>span{display:flex}.auth-register-badge i{display:flex;width:30px;height:30px;align-items:center;justify-content:center;margin-left:-7px;border:2px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;background:#172a22;font-size:.56rem;font-style:normal;font-weight:850}.auth-register-badge i:first-child{margin-left:0;background:#e7a325}.auth-register-badge i:nth-child(2){background:#16825c}.auth-register-badge strong,.auth-register-badge small{display:block}.auth-register-badge strong{font-size:.68rem}.auth-register-badge small{margin-top:3px;color:rgba(255,255,255,.66);font-size:.55rem}.auth-progress{display:flex;align-items:center;gap:8px;margin-bottom:18px}.auth-progress span{height:4px;flex:1;border-radius:4px;background:#e4eae6}.auth-progress span.is-active{background:var(--auth-accent)}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-form-grid .is-wide{grid-column:1/-1}.auth-password-meter{display:flex;gap:5px;margin-top:7px}.auth-password-meter i{height:3px;flex:1;border-radius:5px;background:#e0e6e2;transition:.18s}.auth-password-meter[data-strength="1"] i:first-child{background:#e35a47}.auth-password-meter[data-strength="2"] i:nth-child(-n+2){background:#dda52c}.auth-password-meter[data-strength="3"] i:nth-child(-n+3){background:#34a873}.auth-password-meter[data-strength="4"] i{background:#168d5b}.auth-field-status{min-height:15px;margin-top:4px;color:#8b938f;font-size:.55rem}.auth-field-status.is-error{color:#c14e40}.auth-field-status.is-success{color:#178454}.auth-terms{display:flex;align-items:flex-start;gap:9px;color:#727b76;font-size:.58rem;line-height:1.55}.auth-terms input{margin-top:2px;accent-color:var(--auth-accent)}.auth-referral{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #cce4d7;border-radius:10px;color:#42715b;background:#f0faf5;font-size:.6rem}.auth-google{display:flex;width:100%;height:48px;align-items:center;justify-content:center;gap:9px;border:1px solid #dce4df;border-radius:11px;color:#3b423e;background:#fff;font-size:.7rem;font-weight:750;transition:.18s}.auth-google:hover{border-color:#bccac2;background:#f8faf9}.auth-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:#9aa19d;font-size:.58rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e1e7e3}.auth-login-link{text-align:center;color:#7d8581;font-size:.66rem}.auth-login-link a{color:var(--auth-accent);font-weight:850}.dark .auth-google{border-color:#3c4741;color:#dae2de;background:#252c28}.dark .auth-referral{border-color:#345b47;color:#9fd2b9;background:#21352b}
@media(max-width:900px){.auth-register-shell{grid-template-columns:1fr;min-height:0}.auth-register-shell .auth-side{min-height:270px}.auth-register-badge{display:none}}
@media(max-width:560px){.auth-form-grid{grid-template-columns:1fr;gap:12px}.auth-form-grid .is-wide{grid-column:auto}.auth-register-shell .auth-side{min-height:220px}.auth-register-shell .auth-content{padding-top:25px}.auth-terms{font-size:.56rem}}
.auth-submit{text-decoration:none}

/* Softer auth typography: readable spacing without an aggressive headline. */
.auth-side-story{max-width:480px}.auth-side-story>span{margin-bottom:16px;font-size:.64rem;letter-spacing:.075em}.auth-side-story h2{max-width:470px;font-size:clamp(2rem,3.25vw,3.15rem);font-weight:750;line-height:1.13;letter-spacing:-.038em;word-spacing:.04em;text-wrap:balance}.auth-side-story p{max-width:455px;margin-top:19px;color:rgba(255,255,255,.8);font-size:.88rem;font-weight:450;line-height:1.85;letter-spacing:-.008em;word-spacing:.055em}.auth-heading h1{font-size:1.75rem;line-height:1.2;letter-spacing:-.035em}.auth-heading p{max-width:390px;font-size:.76rem;line-height:1.7;word-spacing:.025em}
@media(max-width:900px){.auth-side-story h2{font-size:2rem;line-height:1.15}.auth-side-story p{max-width:480px;font-size:.8rem;line-height:1.75}}
@media(max-width:560px){.auth-side-story>span{margin-bottom:11px;font-size:.58rem}.auth-side-story h2{font-size:1.62rem;line-height:1.18;letter-spacing:-.03em}.auth-side-story p{margin-top:11px;font-size:.72rem;line-height:1.65}.auth-heading h1{font-size:1.55rem}.auth-heading p{font-size:.7rem}}
