/* Shared customer authentication design, isolated from seller screens. */
.store-panel :is(.customer-login,.customer-registration) { padding:40px 20px; background:radial-gradient(ellipse at 15% 20%,#e3ebf0,transparent 55%),#f5f7f8 !important; }
.store-panel :is(.customer-login,.customer-registration) .custom-container { max-width:500px; padding:36px; border:1px solid #d7e1e8; border-radius:24px; box-shadow:0 20px 60px #172c4310 !important; background:#fff; }
:is(.customer-login,.customer-registration) .auth-store-link { min-height:44px; padding:8px 0; margin-bottom:20px; font-size:13px; color:#36516a; }
:is(.customer-login,.customer-registration) .panel-auth-heading::before { display:none; }
.customer-auth-brand { display:flex; align-items:center; gap:12px; margin-bottom:28px; color:#172c43; font-size:19px; font-weight:700; line-height:1.3; }
.customer-auth-brand small { display:block; margin-top:3px; font-size:11px; font-weight:500; color:#53697e; }
.customer-auth-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid #d7e1e8; border-radius:14px; background:#edf2f6; color:#203e63; font-size:24px; }
:is(.customer-login,.customer-registration) .panel-auth-heading { margin-bottom:28px; }
:is(.customer-login,.customer-registration) .panel-auth-heading h1 { font-size:clamp(26px,4vw,32px); letter-spacing:-1px; line-height:1.2; margin:12px 0; color:#172c43; }
:is(.customer-login,.customer-registration) .panel-auth-heading p { font-size:14px; line-height:1.7; color:#53697e; }
:is(.customer-login,.customer-registration) form { display:grid; gap:20px; }
:is(.customer-login,.customer-registration) form .form-group { margin:0; }
:is(.customer-login,.customer-registration) form label { display:block; margin-bottom:8px; color:#41566a; font-size:13px; font-weight:650; }
.store-panel :is(.customer-login,.customer-registration) .form-control { min-height:50px; padding:12px 14px; font-size:16px; border:1px solid #b8cbd9; border-radius:12px; background:#f7f9fa; color:#172c43; }
:is(.customer-login,.customer-registration) form .btn-primary { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; min-height:52px; margin-top:4px; padding:14px; border-radius:12px; background:#203e63; border-color:#203e63; color:#fff; font-size:14px; font-weight:650; }
:is(.customer-login,.customer-registration) form .btn-primary:hover { background:#172c43; border-color:#172c43; }
.customer-auth-register { display:grid; gap:4px; margin-top:28px; padding:18px; background:#f1f5f8; border:1px solid #d7e1e8; border-radius:14px; text-align:center; }
.customer-auth-register p { margin:0; color:#53697e; font-size:13px; }
.customer-auth-register a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; color:#203e63; font-size:14px; font-weight:650; }
.customer-auth-help { margin:20px 0 12px; font-size:12px; line-height:1.7; color:#53697e; text-align:center; }
:is(.customer-login,.customer-registration) .panel-back-link { display:flex; justify-content:center; align-items:center; gap:8px; min-height:44px; margin:0; font-size:13px; color:#36516a; }
:is(.customer-login,.customer-registration) .mp-notice { border-radius:12px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
:is(.customer-login,.customer-registration) :is(a,input,button):focus-visible { outline:3px solid #385a9b; outline-offset:3px; }
.store-panel[data-shop-theme="dark"] :is(.customer-login,.customer-registration) { background:#162230 !important; }
.store-panel[data-shop-theme="dark"] :is(.customer-login,.customer-registration) .custom-container { background:#223345; border-color:#60798e; }
.store-panel[data-shop-theme="dark"] :is(.customer-auth-brand,.customer-auth-brand small,.customer-auth-help,:is(.customer-login,.customer-registration) .panel-back-link) { color:#e7eff6; }
.store-panel[data-shop-theme="dark"] :is(.customer-auth-icon,.customer-auth-register) { background:#172a3a; color:#e7eff6; border-color:#60798e; }
.store-panel[data-shop-theme="luxury"] :is(.customer-login,.customer-registration) { background:#f6f1e8 !important; }
.store-panel[data-shop-theme="luxury"] :is(.customer-auth-icon,.customer-auth-register) { background:#f6f1e8; border-color:#d8c7a9; }
@media(max-width:575px) {
 .store-panel :is(.customer-login,.customer-registration) { padding:20px 12px; align-items:flex-start !important; min-height:100vh; min-height:100dvh; }
 .store-panel :is(.customer-login,.customer-registration) .custom-container { padding:24px 20px; border-radius:20px; }
 .customer-auth-brand { margin-bottom:22px; }
 .customer-auth-register { padding:14px; }
}

.store-panel .customer-registration .custom-container { max-width:560px; }
.customer-register-group { display:grid; gap:18px; min-width:0; margin:0; padding:20px; border:1px solid #d7e1e8; border-radius:14px; }
.customer-register-group legend { float:none; width:auto; margin:0; padding:0 8px; color:#36516a; font-size:14px; font-weight:650; line-height:1.6; }
.customer-register-group legend i { margin-right:6px; }
.customer-register-group .mp-help { margin:8px 0 0; font-size:12px; line-height:1.7; color:#53697e; }
.customer-register-group > .mp-help { margin:0; }
.store-panel[data-shop-theme="dark"] .customer-register-group { border-color:#60798e; }
.store-panel[data-shop-theme="dark"] .customer-register-group :is(legend,.mp-help) { color:#e7eff6; }
.store-panel[data-shop-theme="luxury"] .customer-register-group { border-color:#d8c7a9; }
@media(max-width:575px) {
 .customer-register-group { padding:16px 12px; gap:16px; }
 .customer-registration .panel-auth-heading { margin-bottom:24px; }
}
