.launch-splash{position:fixed;inset:0;z-index:30;display:grid;place-content:center;justify-items:center;gap:7px;background:#f8f7f2;animation:splash-out .5s ease 2.65s forwards;pointer-events:none}
.launch-splash img{width:66px;height:76px;animation:brand-arrive .85s cubic-bezier(.2,.8,.2,1) both;filter:drop-shadow(0 9px 14px #1c513b1d)}
.launch-splash strong{color:#20241f;font-size:22px;letter-spacing:-.8px;opacity:0;animation:word-arrive .55s ease .28s forwards}
.launch-splash small{color:#74796f;font-size:9px;font-weight:800;letter-spacing:1.8px;opacity:0;animation:word-arrive .55s ease .4s forwards}
@keyframes brand-arrive{0%{opacity:0;transform:translateY(10px) scale(.83) rotate(-12deg)}65%{opacity:1;transform:translateY(-2px) scale(1.06) rotate(3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes word-arrive{to{opacity:1;transform:translateY(0)}}
@keyframes splash-out{to{opacity:0;visibility:hidden}}
.welcome-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#10251dcc;backdrop-filter:blur(8px);animation:welcome-in .22s ease both}
.welcome-overlay[hidden]{display:none}
@keyframes welcome-in{from{opacity:0}to{opacity:1}}
.welcome-card{position:relative;width:min(480px,100%);max-height:min(92dvh,760px);overflow:auto;padding:34px 32px 27px;border:1px solid #e8e7df;border-radius:28px;background:#f8f7f2;box-shadow:0 28px 90px #0003;text-align:center}
.welcome-close{position:absolute;top:13px;right:13px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#657264;font-size:22px}
.welcome-logo{width:53px;height:61px;margin:0 auto 12px;filter:drop-shadow(0 7px 11px #1c513b1a)}
.welcome-card .eyebrow{font-size:9px;padding:7px 10px}
.welcome-card h1{margin:15px 0 9px;color:#20241f;font-size:clamp(29px,8vw,39px);line-height:1.05;letter-spacing:-1.7px}
.welcome-card h1 em{color:#1c513b;font-style:normal}
.welcome-lede{max-width:350px;margin:0 auto;color:#74796f;font-size:13px;line-height:1.55}
.welcome-actions{display:grid;gap:10px;margin:22px 0 11px;text-align:left}
.welcome-actions[hidden]{display:none}
.welcome-logout-actions{display:grid;gap:9px;margin:22px 0 11px;text-align:center}
.welcome-logout-actions[hidden]{display:none}
.welcome-logout-actions p{margin:0 0 5px;color:#74796f;font-size:12px;line-height:1.5}
.welcome-logout-actions button{min-height:44px;padding:11px 14px;border:0;border-radius:12px;font-size:12px;font-weight:850}
.welcome-logout-actions .welcome-primary{background:#1c513b;color:#fff}
.welcome-logout-actions .welcome-secondary{border:1px solid #e4e8dc;background:#fff;color:#1c513b}
.welcome-actions button{display:flex;align-items:center;gap:13px;width:100%;min-height:66px;padding:12px 15px;border-radius:16px;text-align:left;transition:transform .15s,box-shadow .15s}
.welcome-actions button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #20332813}
.welcome-actions button>span:first-child{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#ffffff24;font-size:20px}
.welcome-actions strong,.welcome-actions small{display:block}
.welcome-actions strong{font-size:13px}
.welcome-actions small{margin-top:3px;font-size:10px;opacity:.77}
.welcome-primary{border:0;background:#1c513b;color:#fff}
.welcome-secondary{border:1px solid #e4e8dc;background:#fff;color:#1c513b}
.welcome-switch,.welcome-explore{display:block;width:100%;padding:9px;border:0;background:transparent;color:#1c513b;font-size:11px;font-weight:850}
.welcome-explore{color:#74796f;font-weight:700}
.welcome-footnote{margin:9px 0 0;color:#8a9087;font-size:9px;line-height:1.45}
.entry-button{border:1px solid #dfe6d9;border-radius:999px;background:#fff;color:#1c513b;padding:10px 14px;font-size:12px;font-weight:850;white-space:nowrap;box-shadow:0 3px 10px #20332808}
.entry-button:hover{background:#edf3e3;border-color:#cbd8bc}
.social-auth{display:grid;gap:9px;margin:12px 0 15px}
.social-auth-divider{display:flex;align-items:center;gap:9px;color:#879083;font-size:10px}
.social-auth-divider::before,.social-auth-divider::after{content:"";height:1px;flex:1;background:#e8ece4}
.social-auth-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.social-auth-buttons button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #dfe5db;border-radius:11px;background:#fff;color:#29362d;font-size:11px;font-weight:800}
.social-auth-buttons button:hover{background:#f4f7ee;border-color:#bac9b5}
.google-g{font-size:15px;font-weight:950;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 25% 48%,#fbbc05 48% 70%,#ea4335 70% 88%,#4285f4 88%);background-clip:text;color:transparent}
.social-auth-hint{margin:0;color:#8a9087;font-size:9px;line-height:1.4;text-align:center}
@media(max-width:760px){.welcome-overlay{align-items:end;padding:0;background:#10251dcc}.welcome-card{width:100%;max-height:93dvh;padding:29px 22px calc(23px + env(safe-area-inset-bottom));border-radius:27px 27px 0 0}.welcome-card::before{content:"";display:block;width:38px;height:4px;margin:-14px auto 17px;border-radius:99px;background:#d5dbd0}.welcome-logo{width:46px;height:53px}.welcome-card h1{font-size:32px}.welcome-lede{font-size:12px}.welcome-actions{margin-top:18px}}
@media(max-width:760px){.entry-button{padding:8px 9px;font-size:10px}.topactions .location{max-width:110px;padding:8px 9px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.launch-splash{animation:none!important;opacity:1!important;visibility:visible!important}.launch-splash img,.launch-splash strong,.launch-splash small,.welcome-overlay{animation:none!important;transition:none!important}.launch-splash img,.launch-splash strong,.launch-splash small{opacity:1!important;transform:none!important}}

.auth-password-control{position:relative;display:flex;align-items:center;width:100%}
.auth-password-control>input{width:100%;padding-right:76px!important}
.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:7px 9px;border:0;border-radius:8px;background:#edf3e3;color:#1c513b;font-size:11px;font-weight:700;cursor:pointer}
.auth-password-toggle:focus-visible{outline:2px solid #1c513b;outline-offset:2px}

.welcome-confirmed-note{margin:0 0 3px;color:#74796f;font-size:12px;line-height:1.5;text-align:center}
.account-profile-form{display:grid;gap:12px;margin:18px 0}
.account-profile-form label,.account-danger-confirm label{display:grid;gap:6px;color:#475247;font-size:12px;font-weight:750}
.account-profile-form input,.account-danger-confirm input{width:100%;min-height:45px;padding:11px 12px;border:1px solid #dfe5db;border-radius:12px;background:#fff;color:#20241f;font:inherit;font-weight:500}
.account-profile-actions{display:flex;gap:10px;margin:10px 0}
.account-profile-actions>*{flex:1}
.account-danger-zone{margin-top:19px;padding:17px;border:1px solid #f0d8d1;border-radius:16px;background:#fff9f7}
.account-danger-zone h3{margin:0 0 7px;color:#743b32;font-size:14px}
.account-danger-zone>p{margin:0 0 13px;color:#7c6a66;font-size:11px;line-height:1.55}
.account-danger-button{min-height:42px;padding:10px 13px;border:1px solid #b94d3f;border-radius:11px;background:#fff;color:#a33b30;font-size:12px;font-weight:850}
.account-danger-confirm{display:grid;gap:11px;margin-top:14px}
.account-danger-confirm[hidden],.account-danger-button[hidden]{display:none}
.account-danger-confirm .account-danger-button{background:#a33b30;color:#fff}
.customer-profile{max-width:650px;margin:auto}
@media(max-width:760px){.account-profile-actions{flex-direction:column}.account-danger-zone{padding:14px}}
