/* OnePad's compact four-field flow, in Diamond's existing glass palette. */
.account-toggle.is-signed-in{color:#395caa;background:#fff8;box-shadow:inset 0 1px #fff}
.account-dialog{width:min(450px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:2px solid #fffffff2;border-radius:28px;background:linear-gradient(135deg,#f7fcfff2,#deeeffed 58%,#f4dfefed);color:var(--ink);box-shadow:inset 0 2px 3px #fff,inset 0 -2px 3px #547ca32e,0 24px 80px #20395730;backdrop-filter:blur(28px) saturate(1.8);-webkit-backdrop-filter:blur(28px) saturate(1.8);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.account-dialog::backdrop{background:#23395632;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.account-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.account-heading h2{font-size:1.625rem;line-height:1.25;letter-spacing:-.035em;margin:0;font-weight:800}
.account-heading .close{position:static;flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #fff;border-radius:50%;background:#ffffff75;line-height:1;font-size:25px;color:#577197}
.auth-form{display:grid;gap:13px}
.account-field{display:grid;gap:6px;min-width:0}
.account-field label{font-size:.875rem;font-weight:650;color:#2c476d;line-height:1.5}
.account-field input{display:block;width:100%;min-width:0;min-height:48px;border:2px solid #ffffffed;border-radius:13px;background:linear-gradient(115deg,#ffffffcf,#eff7ff93);padding:11px 13px;color:#1d385c;font:inherit;font-size:1rem;line-height:1.5;box-shadow:inset 0 1px 2px #6984ab14,0 0 0 1px #7494be24;outline:none;transition:border-color .2s,box-shadow .2s}
.account-field input:focus{border-color:#7797ca;box-shadow:0 0 0 3px #8ab6ff26,inset 0 1px #fff}
.account-field input[aria-invalid=true]{border-color:#b75b7b}
.account-field input::placeholder{color:#657a99}
.password-field{position:relative;min-width:0}
.password-field input{padding-right:48px}
#password-visibility{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:39px;height:39px;border-radius:10px;color:#577197}
#password-visibility:hover{background:#ffffff8c}
#password-visibility svg{width:20px;height:20px}
.account-hint{font-size:.75rem;font-weight:600;line-height:1.5;color:#405b7e}
.account-field .field-error:empty,.account-error:empty{display:none}
.account-error{margin:0;font-size:.875rem;line-height:1.5;color:#983a59;overflow-wrap:anywhere}
.account-submit{width:100%;min-height:50px;margin-top:3px;line-height:1.5;font-size:.9375rem;font-weight:800;gap:0;background:linear-gradient(120deg,#d5f0ffd9,#adcefac9 56%,#edcfe8d4);border:2px solid #fff;color:#1e3d67;box-shadow:inset 0 2px 3px #fff,0 8px 24px #41679513}
.account-submit:hover{background:linear-gradient(120deg,#e1f6ff,#c0daff,#f6d9f0)}
.account-submit:disabled{opacity:.65;cursor:wait;transform:none}
.account-switch{font-size:.875rem;font-weight:600;text-align:center;margin:19px 0 0;line-height:1.7;color:#3e587d}
.account-switch button{padding:2px 3px;color:#31599a;font-weight:750;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#7393c16b}
.registration-loyalty{margin-top:24px;padding-top:18px;border-top:1px solid #7897be33}
.registration-loyalty>p{font-size:.8125rem;font-weight:650;color:#345279;margin:0 0 12px;text-align:center}
.loyalty-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.loyalty-tiers>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 5px;border:1px solid #fff;border-radius:14px;background:linear-gradient(125deg,#ffffff80,#d5e8ff40);box-shadow:inset 0 1px 1px #ffffffc4;min-width:0}
.loyalty-tiers strong{font-size:1.25rem;font-weight:800;color:#2b4d7a;line-height:1.2}
.loyalty-tiers span{font-size:.75rem;font-weight:650;color:#365477;line-height:1.5;text-align:center}
.member-identity{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:22px}
.member-identity>div{min-width:0}
.member-identity h3{margin:0 0 4px;font-size:1.0625rem;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.member-identity p{margin:0;font-size:.875rem;font-weight:600;color:#365475;overflow-wrap:anywhere;line-height:1.5}
#member-phone{margin-top:5px;font-variant-numeric:tabular-nums}
.member-program-title{margin:0 0 12px;font-size:.875rem;font-weight:700;color:#28466d}
.program-note,.registration-loyalty>.program-note{margin:14px 0 18px;font-size:.8125rem;font-weight:600;line-height:1.6;text-align:center;color:#3e5779}
.member-identity button{font-size:.875rem;font-weight:750;color:#244b8b;white-space:nowrap;padding:0 0 4px;text-decoration:underline;text-underline-offset:4px}
.loyalty-current{padding:22px;border:2px solid #fff;border-radius:23px;background:linear-gradient(130deg,#d9f1ffd6,#afccf585 48%,#f2cfeabf);box-shadow:inset 0 2px 3px #fff,0 9px 28px #516f9912;display:grid;gap:5px;text-align:center}
.loyalty-current>span{font-size:.875rem;font-weight:650;color:#34527a}
.loyalty-current>strong{font-size:4rem;font-weight:750;letter-spacing:-.06em;line-height:1.2;color:#2d548f;font-variant-numeric:tabular-nums}
.loyalty-balance{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:24px 0 12px;font-size:.875rem;font-weight:650;color:#34527a}
.loyalty-balance strong{font-size:1.125rem;color:#24436e;font-variant-numeric:tabular-nums}
#loyalty-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:9px;overflow:hidden;border:1px solid #ffffffc4;border-radius:20px;background:#b9cce175;color:#698fca}
#loyalty-progress::-webkit-progress-bar{background:#b9cce175;border-radius:20px}
#loyalty-progress::-webkit-progress-value{border-radius:20px;background:linear-gradient(90deg,#71aff0,#8b77c4)}
#loyalty-progress::-moz-progress-bar{border-radius:20px;background:linear-gradient(90deg,#71aff0,#8b77c4)}
.loyalty-next{margin:11px 0 21px;font-size:.875rem;font-weight:600;color:#34527a;line-height:1.6}
.member-tiers>div.is-unlocked{border-color:#89a4ce;background:linear-gradient(130deg,#d2eaffb5,#ecdbf3b3)}
.loyalty-rules{font-size:.8125rem;font-weight:600;line-height:1.7;color:#3e5779;margin:18px 0}
.account-loading{padding:32px 0;text-align:center;font-size:1rem;color:#587397}
.cart-loyalty{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid #7796bd29;color:#4e6894;font-size:.875rem}
.cart-loyalty button{padding:0;font-weight:650;color:#345f9c;text-decoration:underline;text-underline-offset:3px}
.cart-discount-row{display:flex;justify-content:space-between;gap:16px;font-size:.875rem;margin:8px 0;color:#4a6591}
@media(max-width:640px){.account-dialog{padding:23px;border-radius:24px}.account-heading{margin-bottom:21px}.account-heading h2{font-size:1.5rem}.account-submit{font-size:.9375rem}.header-actions{gap:2px}.header .account-toggle{width:32px}.account-dialog .account-field .field-error{font-size:.8125rem}}
@media(max-width:360px){.header{padding-inline:10px}.brand img{width:94px}.header-actions{gap:0}.account-dialog{padding:19px}.loyalty-tiers{gap:5px}.loyalty-tiers span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.account-dialog,.account-field input,.account-submit{animation:none;transition:none}}
