.customer-login-panel{background:var(--account-surface,#fff)!important;color:var(--account-text,#172033)!important;border:1px solid var(--account-border,#dce3ed)!important;border-radius:var(--account-radius,24px)!important;box-shadow:0 24px 80px #10233b26;overflow:hidden;font-family:system-ui,sans-serif;text-align:left}
.customer-login-modal .modal-dialog{max-width:480px}
.customer-login-hero{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 28px 22px!important;border-bottom:1px solid var(--account-border,#dce3ed)!important}
.account-texture-gradient .customer-login-hero{background:linear-gradient(125deg,color-mix(in srgb,var(--account-accent,#2563eb) 12%,transparent),transparent 80%)}
.account-texture-dots .customer-login-hero{background-image:radial-gradient(color-mix(in srgb,var(--account-accent,#2563eb) 25%,transparent) 1px,transparent 1px);background-size:12px 12px}
.customer-login-emblem{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--account-accent,#2563eb) 12%,var(--account-surface,#fff));color:var(--account-accent,#2563eb);font-size:23px}
.customer-login-hero h2,.customer-login-hero h3{margin:0;font-size:24px;font-weight:650;line-height:1.25;letter-spacing:-.4px;color:inherit}
.customer-login-hero p{margin:0;font-size:14px;line-height:1.6;color:var(--account-muted,#64748b)}
.customer-login-close{position:absolute;right:16px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:28px;line-height:1}
.customer-login-panel .form-label{font-size:13px;font-weight:600;color:var(--account-text,#172033)}
.customer-login-panel .form-control,.customer-login-panel .form-select{min-height:46px;border-color:var(--account-border,#dce3ed)!important;background-color:var(--account-input,#f8fafc)!important;color:var(--account-text,#172033)!important;font-size:14px;border-radius:10px}
.customer-login-panel .form-control::placeholder{color:var(--account-muted,#64748b);opacity:.9}
.customer-login-panel .form-control:focus,.customer-login-panel .form-select:focus{border-color:var(--account-accent,#2563eb)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--account-accent,#2563eb) 18%,transparent)}
.customer-login-panel .input-group>.form-control{border-start-start-radius:10px!important;border-end-start-radius:10px!important}
.customer-login-panel .customer-login-identifier-group{display:flex;flex-direction:column;gap:8px}
.customer-login-panel .customer-login-identifier-group>.form-select,.customer-login-panel .customer-login-identifier-group>.form-control{width:100%;max-width:none;flex:auto;margin:0;border-radius:10px!important}
.customer-login-panel .btn-outline-secondary{border-color:var(--account-border,#dce3ed);color:var(--account-muted,#64748b);font-size:13px}
.customer-login-panel .form-check-label,.customer-login-panel .small{font-size:13px}
.customer-login-panel a{color:var(--account-accent,#2563eb)}
.customer-login-panel .form-check-input:checked{background-color:var(--account-accent,#2563eb);border-color:var(--account-accent,#2563eb)}
.customer-login-panel .modal-footer{padding:0 24px 20px;border:0;display:flex;flex-direction:column;gap:8px}
.customer-login-panel .modal-footer>button{margin:0}
.customer-login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border:0;border-radius:11px;background:var(--account-accent,#2563eb);color:var(--account-button-text,#fff);font:inherit;font-weight:600;padding:12px 18px;cursor:pointer}
.customer-login-submit:hover{filter:brightness(.93)}
.customer-login-cancel{background:none;color:var(--account-muted,#64748b);border:0;padding:6px 14px;font-size:13px}
.customer-login-panel button:focus-visible{outline:3px solid var(--account-accent,#2563eb);outline-offset:3px}
@media(max-width:575px){.customer-login-modal .modal-dialog{margin:12px}.customer-login-hero{padding:24px!important}.customer-login-hero h2{font-size:22px}}

/* Shared public account palette. Validation errors retain their semantic colors. */
.customer-account-forms{color:var(--account-text);--bs-link-color:var(--account-accent);--bs-link-hover-color:var(--account-accent)}
.customer-account-forms .card{background:var(--account-surface);color:var(--account-text);border-radius:var(--account-radius)}
.customer-account-forms :is(h1,h2,h3,legend,.form-label){color:var(--account-text)}
.customer-account-forms :is(.text-body-secondary,.text-muted,.form-text){color:var(--account-muted)!important}
.customer-account-forms :is(.form-control,.form-select,.input-group-text){background-color:var(--account-input);color:var(--account-text);border-color:var(--account-border)}
.customer-account-forms .form-control::placeholder{color:var(--account-muted)}
.customer-account-forms :is(.form-control,.form-select):focus{border-color:var(--account-accent);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--account-accent) 18%,transparent)}
.customer-account-forms :is(.btn-primary,.btn-dark){--bs-btn-bg:var(--account-accent);--bs-btn-color:var(--account-button-text);--bs-btn-border-color:var(--account-accent);--bs-btn-hover-bg:color-mix(in srgb,var(--account-accent) 88%,#000);--bs-btn-hover-color:var(--account-button-text);--bs-btn-hover-border-color:var(--account-accent);--bs-btn-active-bg:var(--account-accent);--bs-btn-active-color:var(--account-button-text)}
.customer-account-forms .btn-outline-secondary{color:var(--account-text);border-color:var(--account-border)}
.customer-account-forms .form-check-input:checked{background-color:var(--account-accent);border-color:var(--account-accent)}
.customer-account-forms .alert-info{color:var(--account-text);background:color-mix(in srgb,var(--account-accent) 8%,var(--account-surface));border-color:var(--account-border)}
