.google-auth { margin: 20px 0 12px; }
.google-provider { max-width: 100%; min-width: 0; }
.google-auth > .google-provider { width: min(100%, 340px); margin-inline: auto; }
.google-provider:empty { display: none; }
.google-info { font-size: 12px; line-height: 1.6; margin: 10px 0; }
.google-auth > .google-info { text-align: center; }
.google-info a { color: var(--muted, #afb8c1); text-underline-offset: 3px; }
.google-divider { display: flex; align-items: center; gap: 10px; margin: 18px 0 8px; font-size: 12px; color: var(--muted, #afb8c1); }
.google-divider::before, .google-divider::after { content: ''; flex: 1; height: 1px; background: currentColor; opacity: .22; }
.google-hint { font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.google-onboarding { padding: 20px; border: 1px solid var(--border, #344850); background: var(--panel, #122026); box-shadow: inset 3px 0 var(--accent, #9be64d); }
.google-onboarding h3 { margin: 12px 0 8px; }
.google-pixel { display: inline-grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; color: var(--accent, #9be64d); border: 1px solid currentColor; box-shadow: 3px 3px currentColor; font-size: 22px; }
.google-pending .modal-card > label, .google-pending #authSubmit, .google-pending #passkeyLoginBtn, .google-pending #forgotPasswordBtn, .google-pending #authMessage { display: none !important; }
.google-security { grid-column: 1 / -1; min-width: 0; }
.google-security-heading { display: flex; gap: 18px; align-items: center; margin-bottom: 22px; }
.google-security-heading h2, .google-security-heading p { margin: 0; }
.google-security-heading p { margin-top: 6px; }
.google-security-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.google-security-columns > div { min-width: 0; }
.google-security-columns h3 { margin-top: 0; }
.google-security label, .google-onboarding label { display: grid; gap: 8px; margin: 14px 0; font-size: 14px; }
.google-security input, .google-onboarding input { box-sizing: border-box; min-width: 0; width: 100%; }
.google-status { display: inline-block; font: inherit; font-size: 11px; padding: 4px 7px; border: 1px solid var(--border, #344850); vertical-align: middle; }
.google-status.is-linked { color: var(--accent, #9be64d); }
.google-security summary { cursor: pointer; padding: 12px; border: 1px solid var(--border, #344850); font-weight: 700; }
.google-security .google-provider:not(:empty) { margin-top: 14px; }
.google-security button:disabled { opacity: .55; cursor: default; }
.google-security .message:empty, .google-onboarding .message:empty { display: none; }
@media (max-width: 640px) {
  .google-security-columns { grid-template-columns: 1fr; gap: 22px; }
  .google-onboarding { padding: 14px; }
  .google-security-heading { align-items: flex-start; }
  .google-security input, .google-onboarding input { font-size: 16px; }
}
