/* Authentication has its own mobile typography and touch targets. */
.auth-refresh{padding:0 22px max(22px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 90% 5%,#31452345,transparent 42%)}
.auth-refresh header{height:76px;gap:12px}
.auth-refresh .brand{font-size:23px}
.auth-hello{display:flex;align-items:center;gap:6px;font-size:12px;color:#c3ceb7;white-space:nowrap}
.auth-hello>span{width:6px;height:6px;border-radius:50%;background:var(--lime)}
.auth-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:190px;background:#e0ecc4;border:1px solid #e3efcf;border-radius:24px;color:#23341b}
.auth-welcome-copy{position:relative;z-index:2;width:66%;padding:24px 0 23px 19px}
.auth-kicker{display:block;font-size:9px;font-weight:750;letter-spacing:1.2px;color:#53693d}
.auth-refresh .auth-welcome h1{font-size:31px;line-height:1.08;letter-spacing:-1.4px;margin:13px 0 10px}
.auth-refresh .auth-welcome h1 span{color:#47672d}
.auth-welcome-copy p{font-size:13px;line-height:1.55;color:#4a603a}
.auth-person{position:absolute;z-index:1;width:217px;height:217px;object-fit:contain;right:-51px;bottom:-13px;filter:drop-shadow(0 10px 15px #35451e25)}
.auth-person-halo{position:absolute;width:185px;height:185px;right:-37px;top:22px;border-radius:50%;background:#c5dc98;box-shadow:0 0 0 16px #cfdfa84d}
.auth-welcome-star{position:absolute;right:17px;top:14px;font-size:24px;color:#617f38}
.auth-panel{padding:25px 0 0}
.auth-heading h2{font-size:25px;line-height:1.25;letter-spacing:-.8px;color:#f3f6ec}
.auth-heading p{font-size:14px;color:#a8b39d;line-height:1.6;margin-top:6px}
.auth-refresh .auth-tabs{display:flex;gap:5px;padding:5px;border:1px solid #37412e;background:#1c2418;border-radius:14px;margin:21px 0 24px}
.auth-refresh .auth-tabs button{min-height:45px;padding:10px;font-size:15px;font-weight:650;border-radius:9px;color:#b7c3ab}
.auth-refresh .auth-tabs button.active{background:#d3f69c;color:#233515;box-shadow:0 2px 5px #0002}
.auth-refresh .auth-tabs button.active:after{display:none}
.auth-refresh #auth-form>label{font-size:15px;font-weight:600;color:#dce5d4;margin:0 0 9px;line-height:1.4}
.auth-refresh .input-wrap{min-height:56px;border-radius:14px;padding:0 14px;background:#1b2418;border:1px solid #3a4731;margin:0 0 19px;gap:11px}
.auth-refresh .input-wrap:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px #c7f75a18}
.auth-refresh .input-wrap>.icon{width:20px;height:20px;color:#a4b58f}
.auth-refresh .input-wrap input{font-size:16px;font-weight:400;line-height:1.5;padding:15px 0;min-height:54px;color:#f1f4e9;background:transparent;border:0;border-radius:0}
.auth-refresh .input-wrap input::placeholder{color:#97a58b;opacity:1}
.auth-refresh #toggle-password{min-width:44px;min-height:48px;margin-right:-8px;display:grid;place-items:center;color:#b5c3a8}
.auth-refresh .auth-submit{min-height:56px;border-radius:14px;font-size:16px;font-weight:750;padding:16px 19px;box-shadow:0 5px 20px #a6d33c12}
.auth-refresh .auth-submit .icon{width:21px;height:21px}
.auth-refresh .error{font-size:14px;line-height:1.55;margin:0 0 15px}
.auth-field-hint{font-size:13px;color:#a8b69b;margin:-9px 0 19px}
.auth-refresh .terms{font-size:12px;line-height:1.7;margin:18px 0 0;color:#a3b197}
.auth-refresh .terms button{font-size:12px;min-height:30px;color:#cfdeb9;text-underline-offset:3px}
.auth-refresh .auth-footer{border-top:1px solid #303d27;margin-top:22px;padding-top:18px;font-size:12px;color:#a2b091}
.auth-refresh .auth-footer-brand{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#b4c3a3;margin:0}
.auth-refresh .auth-footer .icon{width:15px;height:15px;margin:0}
.auth-refresh .auth-footer>span:last-child{font-size:11px;color:#879b77;margin-top:9px}
@media(min-width:400px){.auth-refresh{padding-left:26px;padding-right:26px}.auth-welcome{min-height:200px}.auth-person{width:231px;height:231px;right:-49px;bottom:-16px}.auth-welcome-copy{padding-top:26px}.auth-refresh .auth-welcome h1{font-size:34px}}
@media(max-width:359px){.auth-refresh{padding-left:16px;padding-right:16px}.auth-refresh header{height:70px}.auth-refresh .brand{font-size:21px}.auth-hello{font-size:11px;gap:4px}.auth-welcome-copy{padding-left:15px;width:72%}.auth-kicker{font-size:8px;letter-spacing:.8px}.auth-refresh .auth-welcome h1{font-size:28px}.auth-person{width:197px;height:197px;right:-64px}.auth-welcome-copy p{font-size:13px}.auth-heading h2{font-size:24px}.auth-heading p{font-size:14px}}
/* Spacious form card, with consistent sizing even on narrow phones. */
.auth-refresh{padding-left:16px;padding-right:16px}
.auth-refresh header{padding:0 5px;height:76px}
.auth-welcome{min-height:208px;border-radius:26px;background:linear-gradient(125deg,#eef5da,#d5e8af)}
.auth-welcome-copy{width:60%;padding:31px 0 26px 19px}
.auth-kicker{font-size:10px;letter-spacing:1px}
.auth-refresh .auth-welcome h1{font-size:32px;letter-spacing:-1.5px;line-height:1.1;margin:14px 0 12px}
.auth-welcome-copy p{font-size:13px;color:#465e33}
.auth-person{width:221px;height:221px;right:-24px;bottom:-9px}
.auth-person-halo{width:178px;height:178px;right:-5px;top:22px;background:#c2db99;box-shadow:0 0 0 18px #d0e4b166}
.auth-welcome-star{right:15px;top:12px;font-size:21px}
.auth-panel{margin-top:18px;padding:23px 19px 19px;border:1px solid #3c4a32;border-radius:26px;background:linear-gradient(155deg,#222d1b,#192016 70%);box-shadow:0 12px 28px #0002}
.auth-heading h2{font-size:27px;letter-spacing:-.8px}
.auth-heading p{font-size:14px;line-height:1.6;color:#bdc9b2}
.auth-refresh .auth-tabs{margin:19px 0 23px;background:#111a0e;border-color:#3d4d32;padding:5px}
.auth-refresh .auth-tabs button{min-height:46px;font-size:16px}
.auth-refresh #auth-form>label{font-size:16px;color:#edf3e7;margin-bottom:10px}
.auth-refresh .input-wrap{min-height:60px;background:#11190e;border-color:#4a5a3d;margin-bottom:20px}
.auth-refresh .input-wrap input{min-height:58px;padding:17px 0;font-size:16px}
.auth-refresh .input-wrap input::placeholder{color:#a8b59c}
.auth-refresh #toggle-password{min-height:52px}
.auth-refresh .auth-submit{min-height:60px;font-size:17px;border-radius:15px;background:linear-gradient(110deg,#d9ff80,#bff15b)}
.auth-refresh .terms{color:#b2bfa6;font-size:13px;margin-top:18px}
.auth-refresh .terms button{font-size:13px;min-height:32px}
.auth-refresh .auth-footer{border:0;margin-top:17px;padding-top:0;padding-bottom:4px}
@media(max-width:359px){
 .auth-refresh{padding-left:12px;padding-right:12px}
 .auth-refresh header{height:70px;padding:0 4px}
 .auth-welcome{min-height:198px}
 .auth-welcome-copy{width:65%;padding:28px 0 23px 15px}
 .auth-kicker{font-size:9px;letter-spacing:.8px}
 .auth-refresh .auth-welcome h1{font-size:27px;letter-spacing:-1.2px}
 .auth-welcome-copy p{font-size:12px}
 .auth-person{width:194px;height:194px;right:-28px;bottom:-4px}
 .auth-person-halo{width:146px;height:146px;right:-8px;top:33px}
 .auth-panel{padding:22px 15px 18px;border-radius:22px}
 .auth-heading h2{font-size:25px}
 .auth-heading p{font-size:14px}
 .auth-refresh .input-wrap{padding-left:11px;padding-right:11px;gap:9px}
}
