.login-modal{--modal-inset:8px;border:0;border-radius:28px;padding:var(--modal-inset);width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;overflow:hidden;background:#fff;color:#141c2c;box-shadow:0 24px 100px #11182730;overscroll-behavior:contain;font-family:'Open Runde',system-ui,sans-serif}
.modal-scroll{max-height:calc(100dvh - 40px - 2 * var(--modal-inset));overflow-y:auto;overflow-x:hidden;border-radius:20px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7c3c8 transparent}
.modal-scroll::-webkit-scrollbar{width:6px}
.modal-scroll::-webkit-scrollbar-track{background:transparent}
.modal-scroll::-webkit-scrollbar-thumb{border-radius:10px;background:#c7c3c8}
.modal-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}
.login-modal>.login-modal-close{z-index:2;background:#fff}
.login-modal::backdrop{background:rgba(20,29,46,.5);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.login-modal[open]{animation:login-appear .25s ease-out}
.login-modal-content{padding:52px 50px 44px}
.login-modal-close{position:absolute;right:18px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#73829b;font:30px/1 system-ui;display:grid;place-items:center;cursor:pointer}
.login-modal-close:hover{background:#f5f5f6;color:#8b0836}
.login-modal-logo{width:250px;height:auto;margin-bottom:32px}
.login-modal h2{font-size:36px;line-height:1.2;letter-spacing:-.03em;font-weight:600;margin:0 0 10px}
.login-modal #login-modal-description{font-size:16px;line-height:1.5;color:#73839e;margin:0 0 24px;font-weight:500}
.login-modal-field{position:relative;background:#f9f9f9;border:1px solid transparent;border-radius:9px;padding:8px 16px;margin-bottom:22px}
.login-modal-field:focus-within{border-color:#8b0836;box-shadow:0 0 0 3px #8b083610}
.login-modal-field label{display:block;color:#65718b;font-size:12px;line-height:18px}
.login-modal-field label span{color:#8b0836}
.login-modal-field input{display:block;width:100%;border:0;outline:0;background:transparent;padding:2px 0 0;font:500 14px/22px 'Open Runde',system-ui,sans-serif;color:#141c2c;box-shadow:none;border-radius:0}
.login-modal-field input::placeholder{color:#9ca8bb;opacity:1}
.login-password-field{padding-right:54px}
.login-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:36px;padding:0;border:0;background:transparent;color:#7b8192;cursor:pointer}
.login-password-toggle[aria-pressed=true]{color:#8b0836}
.login-forgot{display:inline-block;font-size:14px;line-height:22px;font-weight:600;color:#8b0836;margin:2px 0 30px}
.login-forgot:hover,.login-create a:hover{text-decoration:none}
.login-modal-submit{display:block;width:100%;min-height:56px;border:0;border-radius:8px;background:#80072f;color:white;font:600 14px/22px 'Open Runde',system-ui,sans-serif;padding:16px;cursor:pointer;transition:background .2s}
.login-modal-submit:hover{background:#680526}
.login-modal-submit:disabled{cursor:wait;opacity:.7}
.login-modal .login-create{text-align:center;font-size:14px;line-height:22px;font-weight:500;color:#73839e;margin:30px 0 0}
.login-create a{color:#8b0836;font-weight:600}
.login-modal-error{background:#fff1f2;color:#9f1239;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5;margin:0 0 18px}
.login-modal-error[hidden]{display:none}
html.login-modal-open,html.login-modal-open body{overflow:hidden}
@keyframes login-appear{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.login-modal{border-radius:22px;max-height:calc(100dvh - 24px)}.modal-scroll{max-height:calc(100dvh - 24px - 2 * var(--modal-inset));border-radius:14px}.login-modal-content{padding:38px 18px 24px}.login-modal-logo{width:210px;margin-bottom:28px}.login-modal h2{font-size:30px}.login-modal #login-modal-description{font-size:14px}.login-modal .login-create{font-size:12px}}
@media(prefers-reduced-motion:reduce){.login-modal[open]{animation:none}}
html{scrollbar-gutter:stable}
html.login-modal-open,html.checkout-modal-open{scrollbar-gutter:auto}
/* Shared SPA auth screens reuse the login modal's visual system. */
[data-auth-panel][hidden]{display:none}
.auth-description{font-size:16px;line-height:1.5;color:#73839e;margin:0 0 24px;font-weight:500}
.login-modal-field select{display:block;width:100%;border:0;outline:0;background:transparent;padding:2px 0 0;font:500 14px/22px 'Open Runde',system-ui,sans-serif;color:#141c2c;min-height:24px}
.auth-terms{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.5;color:#65718b;margin:4px 0 24px;cursor:pointer}
.auth-terms input{margin:0;accent-color:#8b0836;width:16px;height:16px;flex-shrink:0}
.auth-field-error{font-size:12px;line-height:1.5;color:#9f1239;margin:-14px 0 18px}
.auth-field-error[hidden],.auth-modal-status[hidden]{display:none}
.login-modal-field:has([aria-invalid=true]){border-color:#be123c}
.auth-modal-status{padding:12px 14px;margin:0 0 20px;background:#edf7f0;border-radius:8px;font-size:13px;line-height:1.5;color:#236742}
.auth-secondary-form{text-align:center;margin-top:18px}
.auth-text-button{border:0;background:transparent;color:#8b0836;font:600 13px/1.5 'Open Runde',system-ui,sans-serif;text-decoration:none;padding:5px;cursor:pointer}
.auth-text-button:disabled{opacity:.55;cursor:wait}
.auth-success-icon{display:grid;place-items:center;width:54px;height:54px;background:#f9edf1;color:#8b0836;font-size:26px;border-radius:50%;margin:0 0 22px}
.login-modal a.login-modal-submit{text-align:center}
[data-auth-panel]:not([hidden]){animation:auth-screen-enter .2s ease-out}
@keyframes auth-screen-enter{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:600px){.auth-description{font-size:14px}.login-modal-content{padding-top:34px}.login-modal-logo{margin-bottom:26px}}
