/* v129.4 — Apple/Google + rôles du foyer */
.social-auth { margin: 18px 0 14px; }
.social-auth-button {
  width: 100%; min-height: 48px; margin: 0 0 10px; padding: 0 16px;
  display: grid; grid-template-columns: 28px 1fr 28px; align-items: center;
  border: 1px solid rgba(38,48,60,.12); border-radius: 14px;
  background: rgba(255,255,255,.9); color: #15191e;
  font: inherit; font-weight: 700; cursor: pointer;
}
.social-auth-button > span:nth-child(2) { grid-column: 2; text-align: center; }
.social-auth-mark { grid-column: 1; font-size: 20px; line-height: 1; font-weight: 800; }
.social-auth-button.apple { background:#111; border-color:#111; color:#fff; }
.social-auth-button.google { background:#fff; }
.google-mark { font-family: Arial, Helvetica, sans-serif; font-size: 18px; }
.social-auth-divider { display:flex; align-items:center; gap:12px; color:var(--muted,#7c8794); font-size:12px; margin: 4px 0 12px; }
.social-auth-divider::before,.social-auth-divider::after { content:""; height:1px; flex:1; background:rgba(38,48,60,.1); }

.household-access-select {
  min-height: 36px; max-width: 180px; padding: 0 30px 0 10px;
  border: 1px solid rgba(38,48,60,.12); border-radius: 10px;
  background: rgba(255,255,255,.9); color: inherit; font: inherit; font-size: 12px;
}
.household-member-actions { align-items:center; flex-wrap:wrap; }
.household-readonly .readonly-write-control { opacity:.42; }
.household-readonly #quick-add-open,
.household-readonly .income-add,
.household-readonly #transaction-add-recurring,
.household-readonly #add-fixed-category,
.household-readonly #add-variable-category,
.household-readonly #cloud-backup-create { opacity:.38; }
.household-readonly .profile-account-card::after { content:none; }

@media (prefers-color-scheme: dark) {
  html[data-theme="dark"] .social-auth-button.google,
  html[data-theme="dark"] .household-access-select { background:#24282d; color:#f5f7f8; border-color:rgba(255,255,255,.12); }
  html[data-theme="dark"] .social-auth-divider::before,
  html[data-theme="dark"] .social-auth-divider::after { background:rgba(255,255,255,.12); }
}
