.social-card { width: min(100%, 520px); }
.social-card h1 { margin-bottom: .2rem; }
.social-title { font: 700 1rem/1.3 system-ui, sans-serif !important; margin: 1.1rem 0 .65rem !important; }
.beta-offer { padding: .7rem .8rem; border: 1px solid #bd8b3d66; background: #faf4e7; color: #6b4b1d; font-size: .78rem; font-weight: 750; }
.beta-places { margin: .4rem 0; color: #63736f; font-size: .75rem; }
.social-actions { display: grid; gap: .6rem; }
.social-button { display: grid; grid-template-columns: 28px 1fr 28px; align-items: center; column-gap: .35rem; min-height: 48px; width: 100%; padding: .65rem .85rem; border: 1px solid #d9d1c1; border-radius: 4px; background: #fff; color: #173e39; text-decoration: none; text-align: center; cursor: pointer; }
.social-button span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: 1.15rem; font-weight: 800; }
.social-button.facebook { background: #1877f2; border-color: #1877f2; color: #fff; }
.social-button.facebook span { background: #fff; color: #1877f2; }
.secondary-providers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; }
.secondary-providers .social-button { grid-template-columns: 24px 1fr; min-height: 42px; padding: .45rem; font-size: .68rem; }
.secondary-providers .social-button span { width: 24px; height: 24px; font-size: .95rem; }
.social-button.instagram, .social-button.telegram, .social-button.tiktok, .social-button.disabled { opacity: .52; cursor: not-allowed; }
.social-button.instagram { background: linear-gradient(120deg,#833ab4,#fd1d1d,#fcb045); color: #fff; border-color: transparent; }
.social-button.telegram { background: #229ed9; color: #fff; border-color: #229ed9; }
.social-button.tiktok { background: #111; color: #fff; border-color: #111; }
.provider-note { margin: .55rem 0 0 !important; color: #944b36 !important; }.social-unavailable { margin: .55rem 0 0 !important; color: #63736f !important; }
.email-auth { margin-top: 1rem; padding: .85rem; border: 1px solid #d9d1c1; background: #fffdf8; }
.email-auth.disabled { opacity: .68; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; margin-bottom: .8rem; padding: .25rem; background: #edf2ef; border-radius: 4px; }
.auth-tabs button { min-height: 44px; border: 0; border-radius: 3px; background: transparent; color: #38544f; font-weight: 750; cursor: pointer; }
.auth-tabs button.active { background: #fff; color: #143f3a; box-shadow: 0 1px 4px #143f3a1a; }
.email-auth-form { display: grid; gap: .65rem; }
.email-auth-form[hidden] { display: none; }
.email-auth-form label, .legacy-login label { display: grid; gap: .3rem; text-align: left; font-size: .76rem; font-weight: 700; }
.email-auth-form input, .legacy-login input { width: 100%; min-height: 46px; padding: .65rem .7rem; border: 1px solid #cfc7b8; border-radius: 3px; background: #fff; color: #173e39; font: inherit; }
.email-auth-form small { color: #63736f; line-height: 1.45; }
.text-button { min-height: 44px; border: 0; background: transparent; color: #176d62; text-decoration: underline; cursor: pointer; }
#email-auth-status { margin: .65rem 0 0; min-height: 1.2em; }
#email-auth-status.success { color: #176d62; }
.login-divider { display: flex; align-items: center; gap: .8rem; margin: 1rem 0; color: #63736f; font-size: .72rem; }
.login-divider::before, .login-divider::after { content: ""; height: 1px; flex: 1; background: #d9d1c1; }
.legacy-login { border: 1px solid #d9d1c1; padding: .75rem; }
.legacy-login summary { cursor: pointer; font-size: .8rem; font-weight: 750; }
.legacy-login form { display: grid; gap: .65rem; margin-top: .75rem; }
.legacy-login .primary { margin-top: .8rem; }
.social-card > .form-error { margin-bottom: 0; }
.gate-language button { min-width: 44px; min-height: 44px; }
@media (max-width: 420px) {
  .social-card { padding: 1rem; }
  .social-card h1 { font-size: 2.15rem; }
  .social-button { min-height: 46px; }
  .beta-offer { padding: .55rem; }
  .email-auth { padding: .65rem; }
  .gate-language { margin-bottom: .65rem; }
  .secondary-providers { grid-template-columns: 1fr; }
}
