/* V88.52: compact, theme-aware customer sign-in */
.fp-customer-login{--auth-surface:#f5f6f2;--auth-ink:#213127;--auth-muted:#5b665f;--auth-line:#dce1d8;grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;padding:22px;border:1px solid var(--auth-line);border-radius:12px;background:var(--auth-surface);color:var(--auth-ink);margin:0 0 18px;line-height:1.65}
html[data-theme=dark] .fp-customer-login{--auth-surface:#202a24;--auth-ink:#f2f5ef;--auth-muted:#bdc7bf;--auth-line:#3b483e}
.fp-customer-login[hidden]{display:none!important}
html body .fp-customer-login .fp-customer-title{font-size:19px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--auth-ink);margin:0 0 8px;font-weight:700}
html body .fp-customer-login p{font-size:14px;line-height:1.7;color:var(--auth-muted);margin:0 0 18px;overflow-wrap:anywhere}
.fp-customer-actions{display:flex;flex-wrap:wrap;gap:10px}
html body .fp-customer-login .fp-customer-provider{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;max-width:100%;box-sizing:border-box;padding:11px 20px;border:1px solid #dadce0;border-radius:6px;background:#fff;color:#1f1f1f;text-decoration:none;margin:0;font-size:15px;font-weight:600;line-height:1.5;box-shadow:0 2px 6px #00000008;transition:box-shadow .15s,border-color .15s}
.fp-customer-provider svg{width:20px;height:20px;flex:none}
html body .fp-customer-login .fp-customer-provider:hover{border-color:#aab7ac;box-shadow:0 3px 12px #00000018}
html body .fp-customer-login .fp-customer-provider.facebook{background:#1877f2;color:#fff;border-color:#1877f2}
.fp-customer-provider:focus-visible{outline:3px solid #dfbb25;outline-offset:4px}
html body .fp-customer-login .fp-customer-privacy{font-size:12px;line-height:1.8;margin:16px 0 0;color:var(--auth-muted)}
.fp-customer-privacy a{color:inherit;text-decoration:underline;text-underline-offset:3px}
html body .fp-customer-login:has(.fp-customer-signed){padding:10px 14px;border-left:3px solid #c5a72c;border-radius:6px}
html body .fp-customer-login .fp-customer-signed{margin:0;color:var(--auth-ink);font-size:13px}
html body #branchChatPanel.fp-chat-auth-locked .fp-chat-messages,
html body #branchChatPanel .fp-chat-form.fp-customer-locked>:not(.fp-customer-login){display:none!important}
html body #branchChatPanel.fp-chat{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;padding:22px;border-radius:16px;box-shadow:0 18px 64px #0005}
html body #branchChatPanel.fp-chat .fp-chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}
html body #branchChatPanel.fp-chat .fp-chat-head strong{font-size:20px;line-height:1.5}
html body #branchChatPanel.fp-chat .fp-chat-head button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px 10px;border-radius:8px;font-size:14px;line-height:1.5}
html body #branchChatPanel.fp-chat>p.fp-chat-note{font-size:14px;line-height:1.75;margin:0 0 16px}
html body #branchChatPanel.fp-chat>select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;font-size:14px;line-height:1.5;padding:10px 12px;border-radius:8px;margin:0 0 16px}
html body #branchChatPanel.fp-chat-auth-locked{height:auto;min-height:0}
html body #branchChatPanel.fp-chat-auth-locked .fp-chat-form{display:block;min-height:0;margin:0;padding:0;border:0}
html body #branchChatPanel.fp-chat .fp-customer-login{padding:22px 18px;margin:0 0 12px;text-align:center}
html body #branchChatPanel.fp-chat-auth-locked .fp-customer-login{margin:0}
html body #branchChatPanel.fp-chat .fp-customer-actions{justify-content:center}
html body #branchChatPanel.fp-chat .fp-customer-provider{width:100%}
html body #branchChatPanel.fp-chat .fp-customer-title{font-size:18px}
html body #branchChatPanel.fp-chat .fp-chat-messages{min-height:100px;max-height:min(260px,32dvh);overflow-y:auto}
html body #branchChatPanel.fp-chat .fp-chat-form label{font-size:14px;line-height:1.6}
html body #branchChatPanel.fp-chat .fp-chat-form input:not([type=checkbox]),html body #branchChatPanel.fp-chat .fp-chat-form textarea{box-sizing:border-box;max-width:100%;width:100%;min-width:0;font-size:16px;line-height:1.6;padding:10px 12px}
html body #branchChatPanel.fp-chat .fp-chat-form .fp-chat-consent{font-size:12px;line-height:1.8}
html body #branchChatPanel.fp-chat.fp-chat-embedded{position:relative;inset:auto;width:100%;max-width:680px;margin:0 auto;max-height:none;box-shadow:none}
@media(max-width:760px){.fp-customer-login{padding:18px}.fp-customer-actions .fp-customer-provider{width:100%}html body #branchChatPanel.fp-chat:not(.fp-chat-embedded){right:12px;left:auto;top:auto;bottom:calc(144px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);max-width:420px;max-height:calc(100dvh - 164px - env(safe-area-inset-bottom,0px));padding:18px}html body .fp-customer-login .fp-customer-title{font-size:18px}}

/* V88.53 */
html body .fp-customer-login:has(.fp-customer-signed){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
html body .fp-customer-login .fp-customer-logout{appearance:none;flex:none;width:auto;min-height:44px;padding:8px 16px;margin:0;border:1px solid var(--auth-line);border-radius:6px;background:transparent;color:var(--auth-ink);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fp-customer-logout:focus-visible{outline:3px solid #dfbb25;outline-offset:3px}

/* V88.66: account identity and action have distinct visual hierarchy. */
html body .fp-customer-login .fp-customer-signed{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 180px}
.fp-account-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;box-sizing:border-box;border:1px solid #cfbd8a;border-radius:50%;background:#f3ecdb;color:#735e2e;font-size:13px;font-weight:700;letter-spacing:.03em}
.fp-account-details{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.5}
.fp-account-caption{display:block;font-size:11px;font-weight:400;color:var(--auth-muted,#706b61)}
.fp-account-name{display:block;font-size:14px;font-weight:600;color:var(--auth-ink,#28292c);overflow-wrap:anywhere}
