.fatb-auth-open { overflow: hidden; }
.fatb-auth-modal[hidden] { display: none !important; }
.fatb-auth-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 24px; position: fixed; z-index: 1000000; }
.fatb-auth-backdrop { background: rgba(10, 24, 48, .62); border: 0; inset: 0; padding: 0; position: absolute; }
.fatb-auth-dialog { background: #fff; border-radius: 18px; box-shadow: 0 24px 70px rgba(10, 24, 48, .28); color: var(--fatb-primary, #1a2b49); max-height: calc(100vh - 32px); max-width: 460px; overflow: auto; padding: 34px; position: relative; width: 100%; z-index: 1; }
.fatb-auth-close { background: transparent; border: 0; color: #1a2b49; cursor: pointer; font-size: 28px; line-height: 1; padding: 8px; position: absolute; right: 13px; top: 10px; }
.fatb-auth-mark { align-items: center; background: #ff553d; border-radius: 12px; color: #fff; display: flex; font-family: Arial, sans-serif; font-size: 22px; font-weight: 800; height: 44px; justify-content: center; margin-bottom: 20px; width: 44px; }
.fatb-auth-dialog h2 { color: #1a2b49; font-size: 26px; line-height: 1.2; margin: 0 0 8px; padding: 0; }
.fatb-auth-intro { color: #5d6b82; margin: 0 0 24px; }
.fatb-auth-dialog form label { display: block; font-size: 14px; font-weight: 700; margin: 0 0 7px; }
.fatb-auth-dialog input { border: 1px solid #aeb8c7; border-radius: 10px; font: inherit; height: 50px; margin: 0 0 14px; padding: 0 14px; width: 100%; }
.fatb-auth-dialog input:focus { border-color: #0071eb; box-shadow: 0 0 0 2px rgba(0, 113, 235, .14); outline: 0; }
.fatb-auth-primary, .fatb-auth-google { align-items: center; border-radius: 999px; cursor: pointer; display: flex; font: inherit; font-weight: 700; height: 50px; justify-content: center; width: 100%; }
.fatb-auth-primary { background: #0071eb; border: 1px solid #0071eb; color: #fff; }
.fatb-auth-primary:hover { background: #1a2b49; border-color: #1a2b49; }
.fatb-auth-google { background: #fff; border: 1px solid #aeb8c7; color: #1a2b49; gap: 12px; }
.fatb-auth-google span { color: #4285f4; font-family: Arial, sans-serif; font-size: 19px; font-weight: 800; }
.fatb-auth-divider { align-items: center; color: #7a879a; display: flex; gap: 12px; margin: 18px 0; }
.fatb-auth-divider::before, .fatb-auth-divider::after { background: #d8dee8; content: ''; flex: 1; height: 1px; }
.fatb-auth-error { background: #fff0f1; border-radius: 8px; color: #a2152a; font-size: 14px; margin-bottom: 15px; padding: 10px 12px; }
.fatb-auth-back { background: transparent; border: 0; color: #1a2b49; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; margin: 0 0 12px; padding: 0; }
.fatb-auth-selected-email { font-weight: 700; margin: 0 0 16px; }
.fatb-auth-legal { color: #6b778c; font-size: 12px; margin: 18px 0 0; text-align: center; }
.fatb-auth-dialog form.is-busy { opacity: .65; }
@media (max-width: 520px) { .fatb-auth-modal { align-items: flex-end; padding: 0; } .fatb-auth-dialog { border-radius: 18px 18px 0 0; max-height: 92vh; max-width: none; padding: 28px 22px; } }
