/* South Indian stall: banana-leaf green, terracotta, and warm paper. */
body.auth-page{margin:0;background:#f4efdf;color:#244735;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;min-height:100svh}
.auth-page .auth-shell{min-height:100svh;padding:32px;background:radial-gradient(ellipse at 5% 10%,#dddcb740,transparent 45%),radial-gradient(ellipse at 95% 95%,#e7c5a140,transparent 40%)}
.auth-card{display:grid;grid-template-columns:1.12fr 1fr;width:min(1120px,100%);margin:auto;border:1px solid #dcd6bf;border-radius:22px;overflow:hidden;background:#fffdf7;box-shadow:0 22px 70px #4a472312}
.auth-intro{position:relative;display:flex;flex-direction:column;padding:33px 38px 22px;background:#e9edda;border-right:1px solid #dce2cb;overflow:hidden}
.stall-brand{display:flex;align-items:center;gap:11px;color:#214c37;font-size:21px;font-weight:800;letter-spacing:-.8px;overflow-wrap:anywhere}.stall-brand:hover{color:#214c37}.stall-brand-icon{display:grid;place-items:center;background:#285b43;color:#f3dfad;width:40px;height:43px;border-radius:12px;font-size:18px;flex-shrink:0}.stall-brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:600;color:#738169;margin-top:5px}
.stall-story{margin-top:42px;position:relative;z-index:1}.stall-kicker{font-size:8px;letter-spacing:1.5px;color:#737e5f;font-weight:700}.stall-story h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4.1vw,52px);font-weight:400;letter-spacing:-1.8px;line-height:1.08;color:#214c37;margin:16px 0}.stall-story h1 em{color:#bd663f;font-weight:400}.stall-story p{font-size:12px;color:#6c795f;line-height:1.8;margin:0}.food-stall-art{margin:6px -20px -2px}.food-stall-art svg{display:block;width:100%;height:auto;max-height:260px}.stall-footer{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;color:#708066;padding-top:8px;letter-spacing:.2px}.stall-dot{color:#c87846;font-size:17px}
.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:55px 48px;background:#fffdf7}.auth-form-content{width:100%;max-width:330px}.auth-status{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:700;letter-spacing:1.6px;color:#878b72;margin-bottom:22px}.auth-status>span{width:6px;height:6px;border-radius:50%;background:#779757;box-shadow:0 0 0 4px #ecf0df}.auth-title{font-family:Georgia,'Times New Roman',serif;font-size:38px;letter-spacing:-1.3px;color:#254936;font-weight:400;margin-bottom:9px}.welcome-wave{color:#c88b46;font-size:27px;vertical-align:middle}.auth-subtitle{font-size:12px;color:#888b79;line-height:1.7}.auth-page .form-label{font-size:11px;font-weight:600;color:#4c5944;margin-bottom:8px}.auth-page .form-control{font-size:12px;min-height:43px;border:1px solid #e2dfce;border-radius:8px;background:#f9f8f0;color:#344532;padding:11px 13px;box-shadow:none}.auth-page .form-control::placeholder{color:#a1a390}.auth-page .form-control:focus{border-color:#819575;background:#fffef9;box-shadow:0 0 0 3px #7b915015}.auth-page .form-control.is-invalid{border-color:#bd4d39}.password-field{position:relative}.password-field input{padding-right:67px!important}.password-toggle{position:absolute;right:4px;top:1px;min-width:54px;height:41px;background:transparent;border:0;font-size:10px;color:#58714d;border-radius:6px}.auth-page .form-check-input{border-color:#cdd2ba;box-shadow:none}.auth-page .form-check-input:checked{background-color:#285b43;border-color:#285b43}.auth-page .form-check-label{font-size:10px;color:#7d826d;padding:2px 0}.auth-page .btn-primary{min-height:44px;background:#285b43;border:1px solid #285b43;color:#fff9e8;font-size:12px;font-weight:600;border-radius:8px;box-shadow:0 5px 12px #285b4314}.auth-page .btn-primary:hover,.auth-page .btn-primary:focus{background:#1d4833;border-color:#1d4833}.auth-footnote{text-align:center;font-size:10px;color:#91937f;line-height:1.8;margin-top:4px}.auth-bottom-note{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:38px;padding-top:22px;border-top:1px dashed #dedfce;font-size:9px;color:#93947f}.auth-bottom-note svg{color:#c58b52;font-size:17px}.mobile-stall-brand{display:none}.auth-page .alert{font-size:12px}.auth-page a:focus-visible,.auth-page button:focus-visible,.auth-page input:focus-visible{outline:3px solid #c48b51;outline-offset:3px}
@media(min-width:1400px){.auth-card{min-height:680px}.auth-intro{padding-top:38px}.food-stall-art{margin-top:auto}}
@media(max-width:991.98px){.auth-page .auth-shell{padding:22px}.auth-intro{padding:28px 25px 20px}.auth-form-panel{padding:40px 28px}.stall-story h1{font-size:40px}.stall-kicker{font-size:7px}.stall-footer{font-size:8px;gap:7px}.stall-brand{font-size:19px}}
@media(max-width:767.98px){.auth-page .auth-shell{padding:18px 14px;align-items:flex-start!important}.auth-card{grid-template-columns:1fr;max-width:460px;border-radius:18px}.auth-intro{padding:22px 25px 19px;border-right:0;border-bottom:1px solid #dce2cb}.stall-brand{font-size:20px}.stall-brand-icon{width:34px;height:36px;font-size:16px}.stall-story{margin-top:22px}.stall-kicker{font-size:7px;letter-spacing:1.1px}.stall-story h1{font-size:32px;line-height:1.04;margin:11px 0 5px;max-width:240px}.stall-story h1 br:first-of-type{display:none}.stall-story p,.stall-footer{display:none}.food-stall-art{position:absolute;width:200px;right:-17px;bottom:8px;opacity:.4;pointer-events:none;margin:0}.auth-form-panel{padding:28px 25px 24px}.auth-form-content{max-width:none}.auth-status{font-size:7px;margin-bottom:13px}.auth-title{font-size:32px}.auth-subtitle{font-size:12px}.auth-page .form-control{font-size:16px;min-height:46px}.password-toggle{height:44px}.auth-page .btn-primary{min-height:46px}.auth-page .form-check-label{font-size:11px}.auth-bottom-note{margin-top:24px;padding-top:18px}.auth-page .form-check{min-height:28px}.stall-story{z-index:1}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important}}
/* Fit the sign-in card to the available screen, reserving overflow for keyboards/zoom. */
.auth-page .auth-shell{height:100svh;height:100dvh;min-height:0;box-sizing:border-box;padding:clamp(12px,3vh,28px)}
.auth-page .auth-card{height:min(660px,100%);min-height:0;max-height:100%;grid-template-rows:minmax(0,1fr)}
.auth-page .auth-intro{min-height:0;padding:clamp(18px,3vh,32px) 32px 18px}
.auth-page .stall-story{margin-top:clamp(16px,3vh,32px)}
.auth-page .stall-story h1{font-size:clamp(32px,5.8vh,48px)}
.auth-page .food-stall-art{flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;margin-top:8px}
.auth-page .food-stall-art svg{height:100%;max-height:230px;width:100%;min-height:0}
.auth-page .stall-footer{flex-shrink:0}
.auth-page .auth-form-panel{min-height:0;overflow-y:auto;padding:24px 38px}
.auth-page .auth-form-content{margin-block:auto}
.auth-page .auth-bottom-note{margin-top:24px;padding-top:16px}
@media(min-width:768px) and (max-height:650px){
 .auth-page .auth-status{margin-bottom:12px}
 .auth-page .auth-title{font-size:32px}
 .auth-page .auth-bottom-note{display:none}
 .auth-page .stall-story p{display:none}
 .auth-page .auth-form-panel{padding-block:18px}
 .auth-page .auth-subtitle.mb-4,.auth-page .form-check.mb-4{margin-bottom:14px!important}
}
@media(max-width:767.98px){
 .auth-page .auth-shell{padding:12px;align-items:center!important}
 .auth-page .auth-card{height:min(720px,100%);grid-template-rows:clamp(90px,24dvh,180px) minmax(0,1fr)}
 .auth-page .auth-intro{padding:16px 22px}
 .auth-page .stall-story{margin-top:12px}
 .auth-page .stall-story h1{font-size:26px;margin:6px 0 0}
 .auth-page .stall-kicker{display:none}
 .auth-page .food-stall-art{height:120px;width:190px;right:-15px;bottom:0;margin:0}
 .auth-page .auth-form-panel{padding:18px 22px}
 .auth-page .auth-status{margin-bottom:10px}
 .auth-page .auth-title{font-size:29px;margin-bottom:6px}
 .auth-page .auth-subtitle.mb-4{margin-bottom:16px!important}
 .auth-page .auth-bottom-note{margin-top:16px;padding-top:12px}
 .auth-page .form-check.mb-4{margin-bottom:14px!important}
}
@media(max-width:767.98px) and (max-height:740px){
 .auth-page .auth-card{grid-template-rows:90px minmax(0,1fr)}
 .auth-page .stall-story,.auth-page .auth-bottom-note{display:none}
 .auth-page .auth-intro{justify-content:center}
 .auth-page .food-stall-art{height:85px;width:155px;opacity:.25}
 .auth-page .auth-status{display:none}
 .auth-page .auth-form-panel{padding-block:16px}
}
@media(max-height:470px){
 .auth-page .auth-shell{padding:8px}
 .auth-page .auth-form-panel{justify-content:flex-start}
 .auth-page .auth-form-content{margin-block:0}
 .auth-page .auth-bottom-note,.auth-page .auth-status{display:none}
}
