[data-hmdia-google-button] { display: block; width: 100%; min-width: 0; margin-block: 8px; }
[data-hmdia-google-button] .hmdia-google-button-target { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 40px; }
[data-hmdia-google-button] .hmdia-google-button-target > div { max-width: 100%; }
/* Core's method chooser owns the gap between rows; provider controls add none. */
.ui-auth-method-menu > [data-hmdia-google-button] { margin-block: 0; }
.ui-auth-method-menu > [data-hmdia-google-button] .hmdia-google-button-target { min-height: 42px; }
/* The official Google control retains its branding inside the GIS frame. */
.ui-wrap [data-hmdia-google-purpose="login"] .hmdia-google-button-target > div,
.ui-wrap [data-hmdia-google-purpose="registration"] .hmdia-google-button-target > div {
  border-radius: 4px;
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition: outline-color .15s ease, box-shadow .15s ease;
}
.ui-wrap [data-hmdia-google-purpose="login"] .hmdia-google-button-target > div:hover,
.ui-wrap [data-hmdia-google-purpose="login"] .hmdia-google-button-target > div:focus-within,
.ui-wrap [data-hmdia-google-purpose="registration"] .hmdia-google-button-target > div:hover,
.ui-wrap [data-hmdia-google-purpose="registration"] .hmdia-google-button-target > div:focus-within {
  outline-color: var(--ui-primary, #4f46e5);
  box-shadow: 0 0 0 1px var(--ui-primary, #4f46e5);
}
@media (prefers-reduced-motion: reduce) {
  .ui-wrap [data-hmdia-google-purpose="login"] .hmdia-google-button-target > div,
  .ui-wrap [data-hmdia-google-purpose="registration"] .hmdia-google-button-target > div { transition: none; }
}
.hmdia-google-status { margin-block: 6px 10px; color: var(--ui-muted, #64748b); font-size: 12px; line-height: 1.45; text-align: center; }
.hmdia-google-status[hidden], .hmdia-google-status:empty { display: none; }
.hmdia-google-status.is-error { color: #b91c1c; }
.hmdia-google-connect, .hmdia-google-disconnect, .hmdia-google-retry { min-height: 36px; padding: 8px 14px; border: 1px solid var(--ui-border, #d1d5db)!important; border-radius: 8px; background: var(--ui-field-bg, #fff)!important; color: var(--ui-text, #111827)!important; font: inherit; font-size: 13px; cursor: pointer; }
.hmdia-google-connect:hover:not(:disabled), .hmdia-google-disconnect:hover:not(:disabled), .hmdia-google-retry:hover:not(:disabled) { border-color:var(--ui-account-primary,var(--ui-primary,#4f46e5))!important; background:var(--ui-field-bg,#fff)!important; background:color-mix(in srgb,var(--ui-account-primary,var(--ui-primary,#4f46e5)) 8%,var(--ui-field-bg,#fff))!important; color:var(--ui-account-primary,var(--ui-primary,#4f46e5))!important; }
.hmdia-google-connect:focus-visible, .hmdia-google-disconnect:focus-visible, .hmdia-google-retry:focus-visible { border-color:var(--ui-account-primary,var(--ui-primary,#4f46e5))!important; outline: 2px solid var(--ui-account-primary,var(--ui-primary, #4f46e5))!important; outline-offset: 2px; }
.hmdia-google-connect:disabled, .hmdia-google-disconnect:disabled, .hmdia-google-retry:disabled { opacity: .6; cursor: default; }
.hmdia-google-dialog-overlay { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; overflow-y: auto; padding: 20px; background: rgba(15,23,42,.68); backdrop-filter: blur(3px); }
.hmdia-google-dialog { width: min(100%, 440px); max-height: calc(100vh - 40px); overflow-y: auto; box-sizing: border-box; padding: 22px; background: #fff; color: #111827; border: 1px solid #dbe4ff; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.3); font-family: system-ui, sans-serif; font-size: 14px; line-height: 1.5; }
.hmdia-google-dialog h3 { margin: 0 0 12px; color: #111827; font-size: 18px; line-height: 1.3; }
.hmdia-google-dialog p { margin: 0 0 16px; color: #475569; font-size: 14px; line-height: 1.5; }
.hmdia-google-dialog label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
.hmdia-google-dialog input { width: 100%; height: 40px; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; color: #111827; font-size: 14px; }
.hmdia-google-dialog input:focus { border-color:var(--ui-primary,#4f46e5)!important; outline: none!important; box-shadow: 0 0 0 1px var(--ui-primary,#4f46e5)!important; }
.hmdia-google-dialog .hmdia-google-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.hmdia-google-dialog button { min-height: 38px; padding: 8px 14px; border: 1px solid var(--ui-primary,#4f46e5)!important; border-radius: 8px; background: #fff!important; color:var(--ui-primary,#4f46e5)!important; font-size: 13px; font-weight: 600; line-height: 1.3; cursor: pointer; }
.hmdia-google-dialog button.is-primary { border-color:var(--ui-primary,#4f46e5)!important; background:var(--ui-primary,#4f46e5)!important; color: #fff!important; }
.hmdia-google-dialog button:hover:not(:disabled) { background:#eef2ff!important; background:color-mix(in srgb,var(--ui-primary,#4f46e5) 8%,#fff)!important; }
.hmdia-google-dialog button.is-primary:hover:not(:disabled) { background:var(--ui-primary,#4f46e5)!important; background:color-mix(in srgb,var(--ui-primary,#4f46e5) 88%,#000)!important; }
.hmdia-google-dialog button.is-danger { border-color: #fecaca!important; background: #fef2f2!important; color: #b91c1c!important; }
.hmdia-google-dialog button.is-danger:hover:not(:disabled) { background:#fee2e2!important; }
.hmdia-google-dialog button:disabled { opacity: .6; cursor: default; }
.hmdia-google-dialog button:focus-visible { outline: 2px solid var(--ui-primary,#4f46e5)!important; outline-offset: 2px; }
.hmdia-google-dialog-error { margin-top: 10px; color: #b91c1c; font-size: 13px; }
.hmdia-google-dialog-error[hidden] { display: none; }
@media (max-width: 480px) { .hmdia-google-dialog-overlay { padding: 12px; } .hmdia-google-dialog { padding: 18px; max-height: calc(100vh - 24px); } }
