/* Customer authentication only; reuse the portal/funnel palette without global overrides. */
.customer-signup,.customer-auth-page{--signup-ink:var(--brand,var(--brand-dark));--signup-line:var(--line,var(--border-strong));--signup-bg:var(--bg-shell,white);--signup-muted:var(--muted,var(--text-muted));--signup-gold:var(--gold,var(--brand-accent));--signup-aqua:var(--aqua,var(--brand-light));--signup-success:#0f766e;color:var(--ink,var(--text-main));line-height:1.5}
.customer-signup [hidden]{display:none!important}
.customer-signup *{box-sizing:border-box;min-width:0}
.customer-signup fieldset{border:0;padding:0;margin:0}
.customer-signup legend{font-weight:750;padding:0}
.customer-signup label,.customer-auth-login label{display:block;font-weight:700;margin:16px 0 6px}
.customer-signup input:not([type=radio]),.customer-auth-login input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--signup-line);border-radius:12px;background:var(--signup-bg);color:inherit;font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}
.customer-signup input:not([type=radio]):hover,.customer-auth-login input:hover{border-color:color-mix(in srgb,var(--signup-ink) 45%,var(--signup-line))}
.customer-signup input:not([type=radio]):focus,.customer-auth-login input:focus{border-color:var(--signup-ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--signup-aqua) 70%,transparent);outline:0}
.customer-signup button:focus-visible,.customer-signup a:focus-visible{outline:3px solid var(--signup-ink);outline-offset:3px}
.customer-signup .signup-types,.customer-auth-login .signup-types{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 20px}
.customer-signup .signup-types label,.customer-auth-login .signup-types label{display:flex;align-items:center;gap:9px;border:1px solid var(--signup-line);border-radius:12px;padding:12px;margin:0;cursor:pointer}
.customer-signup .signup-types label:has(:checked),.customer-auth-login .signup-types label:has(:checked){background:var(--signup-aqua);border-color:var(--signup-ink)}
.customer-signup input[type=radio],.customer-auth-login input[type=radio]{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--signup-ink);flex:none;padding:0}
.customer-signup [data-company],.customer-auth-login [data-company]{padding:16px;margin:16px 0;background:var(--soft,var(--bg-body));border-radius:12px}
.customer-signup [data-company] legend,.customer-auth-login [data-company] legend{padding-top:12px;font-weight:800}
.customer-auth-login .signup-label{font-weight:800;margin:18px 0 8px;color:inherit}
.signup-hint{font-size:.85rem;color:var(--signup-muted);margin:7px 0 12px;font-weight:500;line-height:1.45}
.signup-progress{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:800;color:var(--signup-ink);margin:4px 0 20px;padding:7px 11px;border-radius:999px;background:var(--signup-aqua)}
.signup-progress span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--signup-ink);color:#fff;font-size:.75rem}
.customer-signup button,.customer-auth-login button{font:inherit;cursor:pointer;min-height:50px;border-radius:13px;padding:12px 16px;font-weight:800;white-space:normal;overflow-wrap:anywhere;transition:transform .15s,box-shadow .15s,background .15s}
.customer-signup .signup-primary,.customer-auth-login .signup-primary{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--signup-gold);color:var(--signup-ink);border:1px solid var(--signup-gold);width:100%;margin-top:20px;box-shadow:0 8px 20px color-mix(in srgb,var(--signup-gold) 28%,transparent)}
.customer-signup .signup-primary:hover,.customer-auth-login .signup-primary:hover{transform:translateY(-1px);box-shadow:0 11px 24px color-mix(in srgb,var(--signup-gold) 38%,transparent)}
.customer-signup .signup-secondary{background:var(--signup-bg);color:var(--signup-ink);border:1px solid var(--signup-line);width:100%;margin-top:12px}
.customer-signup .signup-text{border:0;background:transparent;color:var(--signup-ink);text-decoration:underline;width:100%;margin-top:8px}
.customer-signup button:disabled{opacity:.65;cursor:default}
.customer-signup [data-sms]:not([hidden]),.customer-phone-login [data-sms]:not([hidden]){display:grid;justify-items:stretch}
.auth-sms-intro{text-align:center;margin:2px auto 8px;max-width:440px}
.auth-profile-intro{margin-bottom:18px}
.auth-sms-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:999px;background:var(--signup-aqua);color:var(--signup-ink);font-size:1.35rem;font-weight:900;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signup-ink) 12%,transparent)}
.auth-sms-title{font-size:1.25rem;line-height:1.25;margin:0;color:inherit}
.auth-sms-intro p{margin:8px 0 0!important;color:var(--signup-muted)}
.auth-phone-hint{display:inline-block;color:var(--signup-ink);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.auth-otp-field{text-align:center;margin-top:8px}
.auth-otp-field label{margin:10px 0 8px}
.customer-signup .auth-otp-input,.customer-auth-login .auth-otp-input{display:block;width:min(100%,300px);min-height:64px;margin:0 auto;padding:10px 14px;text-align:center;font-size:1.65rem;font-weight:850;letter-spacing:.32em;text-indent:.32em;font-variant-numeric:tabular-nums;border-width:2px;border-color:color-mix(in srgb,var(--signup-ink) 30%,var(--signup-line));background:color-mix(in srgb,var(--signup-aqua) 26%,var(--signup-bg))}
.auth-otp-field .signup-hint{max-width:390px;margin:8px auto 4px}
.auth-otp-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.auth-otp-actions .signup-secondary,.auth-otp-actions .signup-text{margin-top:0!important}
.signup-message{padding:12px 14px;border:1px solid color-mix(in srgb,var(--signup-ink) 35%,var(--signup-line));background:var(--signup-aqua);border-radius:12px;margin:12px 0;overflow-wrap:anywhere;font-weight:650}
.signup-message[data-tone="success"]{border-color:color-mix(in srgb,var(--signup-success) 45%,white);background:#ecfdf5;color:#065f46}
.signup-message[data-tone="error"]{border-color:#fecaca;background:#fff1f2;color:#9f1239}
.signup-login{font-size:.9rem;text-align:center;color:var(--signup-muted);margin:20px 0 0}
.customer-signup a,.customer-auth-page a{color:var(--signup-ink);font-weight:700}
.customer-auth-page{max-width:560px;margin:40px auto;padding:0 16px 40px}
.customer-auth-page .customer-brand{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;margin:0 0 24px;font-size:1.2rem}
.customer-auth-page .customer-brand img{width:48px;height:54px;object-fit:contain}
.customer-auth-card{background:var(--signup-bg);padding:30px;border:1px solid var(--signup-line);border-radius:22px;box-shadow:0 18px 50px rgba(0,62,83,.1)}
.customer-auth-card h1{font-size:1.8rem;line-height:1.2;margin:16px 0 12px}
.customer-auth-card>p,.customer-auth-login p{color:var(--signup-muted);overflow-wrap:anywhere}
.customer-auth-support{text-align:center;font-size:.85rem;color:var(--signup-muted)}
#account-modal #account-close{display:block;width:100%;min-height:44px;margin:12px 0 0;border:0;border-top:1px solid var(--line);padding:12px;background:transparent;color:var(--brand);font:inherit;font-weight:700;cursor:pointer}
.customer-auth-page *{box-sizing:border-box;min-width:0}
.customer-auth-page [hidden],.customer-login-alternatives[hidden]{display:none!important}
.customer-auth-page :is(button,a,summary):focus-visible{outline:3px solid var(--signup-ink);outline-offset:3px}
.customer-phone-login fieldset{border:0;padding:0;margin:0}
.customer-phone-login legend{font-weight:750;padding:0}
.customer-phone-field{--customer-phone-ui:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.customer-phone-country{position:relative;min-width:0}
.customer-phone-country select{display:block;appearance:auto;width:100%;min-height:52px;padding:12px;border:1px solid var(--signup-line);border-radius:10px;color:var(--signup-ink);background:var(--signup-bg);font:inherit;font-size:16px;cursor:pointer}
.customer-phone-country-display{display:none}
.customer-phone-field.is-enhanced{flex-direction:row;gap:0;border:1px solid var(--signup-line);border-radius:13px;background:var(--signup-bg);transition:border-color .15s,box-shadow .15s}
.customer-phone-field.is-enhanced:focus-within{border-color:var(--signup-ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--signup-aqua) 70%,transparent);outline:0}
.customer-phone-field.is-enhanced .customer-phone-country{flex:0 0 116px;border-right:1px solid var(--signup-line);margin:8px 0}
.customer-phone-field.is-enhanced select{position:absolute;inset:-8px 0;width:100%;height:calc(100% + 16px);opacity:0;z-index:1}
.customer-phone-field.is-enhanced .customer-phone-country-display{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;min-height:36px;padding:0 10px;font-size:16px;font-weight:700;color:var(--signup-ink);pointer-events:none;white-space:nowrap}
.customer-phone-field [data-country-flag]{font-size:21px;line-height:1}
.customer-phone-field.is-enhanced input[type=tel]{flex:1;min-width:0;width:0;min-height:52px;border:0;border-radius:0 12px 12px 0;background:transparent;padding:12px;font-variant-numeric:tabular-nums;box-shadow:none}
.customer-phone-field.is-enhanced input:focus-visible{outline:0}
.customer-phone-field.is-enhanced .customer-phone-country:focus-within .customer-phone-country-display{background:var(--signup-aqua);border-radius:8px}
.customer-phone-country select:focus-visible{outline:3px solid var(--signup-ink);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.customer-phone-field.is-enhanced{transition:none}}
.customer-auth-login .signup-secondary{background:var(--signup-bg);color:var(--signup-ink);border:1px solid var(--signup-line);width:100%;margin-top:12px}
.customer-auth-login .signup-text{border:0;background:transparent;color:var(--signup-ink);text-decoration:underline;width:100%;margin-top:8px}
.customer-auth-login button:disabled{opacity:.65;cursor:default}
.customer-login-divider{display:flex;align-items:center;gap:16px;color:var(--signup-muted);margin:24px 0 16px;font-size:.9rem}
.customer-login-divider::before,.customer-login-divider::after{content:"";height:1px;background:var(--signup-line);flex:1}
.customer-email-login summary{padding:13px 15px;border:1px solid var(--signup-line);border-radius:13px;cursor:pointer;font-weight:750;color:var(--signup-ink);min-height:50px;overflow-wrap:anywhere;text-align:center}
.customer-email-login[open] summary{background:var(--signup-aqua)}
@media(max-width:540px){.customer-auth-page{margin:16px auto}.customer-auth-card{padding:20px;border-radius:18px}.customer-signup .signup-types,.customer-auth-login .signup-types{gap:8px}.customer-signup .signup-types label,.customer-auth-login .signup-types label{padding:10px;font-size:.93rem}#account-modal{padding:10px}#account-modal .modal{padding:18px;max-height:calc(100dvh - 20px);border-radius:18px}.customer-signup [data-company],.customer-auth-login [data-company]{padding:12px}.auth-otp-actions{grid-template-columns:1fr}.customer-signup .auth-otp-input,.customer-auth-login .auth-otp-input{width:min(100%,280px);font-size:1.55rem;min-height:60px}.auth-sms-icon{width:46px;height:46px}.signup-progress{margin-bottom:16px}}
