.social-auth { margin: 18px 0; }
.social-auth[hidden], .social-dialog [hidden] { display: none !important; }
.social-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.social-button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:10px 14px; border:1px solid light-dark(#b9bdc7, var(--night-border)); border-radius:10px; background:light-dark(#fff, var(--night-raised)); color:light-dark(#202124, var(--night-text)); font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.social-button svg { width:20px; height:20px; flex:none; }
.social-button[data-provider="apple.com"] { background:#111; color:#fff; border-color:#111; }
.social-button:disabled { opacity:.6; cursor:wait; }
.social-button:focus-visible, .social-dialog button:focus-visible { outline:3px solid light-dark(#8b7bec, var(--night-primary)); outline-offset:3px; }
.social-separator { display:flex; align-items:center; gap:12px; color:var(--text-muted,light-dark(#667085, var(--night-muted))); font-size:12px; margin:16px 0 0; }
.social-separator::before,.social-separator::after { content:''; height:1px; background:var(--border-color,light-dark(#e5e7eb, var(--night-surface))); flex:1; }
.social-dialog { margin:auto; position:fixed; inset:0; width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); box-sizing:border-box; overflow:auto; border:1px solid var(--border-color,light-dark(#e5e7eb, var(--night-border))); border-radius:20px; padding:26px; background:var(--card-bg,light-dark(#fff, var(--night-surface))); color:var(--text-main,light-dark(#172033, var(--night-text))); font-family:inherit; }
.social-dialog::backdrop { background:light-dark(rgba(15,23,42,.55), var(--night-overlay)); backdrop-filter:blur(4px); }
.social-dialog h2 { font-size:21px; margin:0 0 10px; }
.social-dialog p { color:var(--text-muted,light-dark(#667085, var(--night-muted))); font-size:14px; line-height:1.8; }
.social-dialog label { display:block; font-size:14px; margin:14px 0 6px; }
.social-dialog input:not([type=checkbox]), .social-dialog select { box-sizing:border-box; width:100%; min-height:45px; padding:10px 12px; border:1px solid var(--border-color,light-dark(#d0d5dd, var(--night-border))); border-radius:10px; background:var(--bg-secondary,light-dark(#f9fafb, var(--night-raised))); color:inherit; font:inherit; }
.social-dialog .social-terms { display:flex; align-items:flex-start; gap:9px; font-size:13px; line-height:1.8; }
.social-dialog a { color:var(--primary,light-dark(#6250df, var(--night-primary))); }
.social-dialog .social-email { direction:ltr; text-align:center; overflow-wrap:anywhere; background:var(--bg-secondary,light-dark(#f5f3ff, var(--night-surface))); padding:10px; border-radius:10px; }
.social-dialog .social-error { color:light-dark(#cf3030, var(--night-danger)); min-height:1em; }
.social-dialog .social-cancel { display:block; margin:14px auto 0; padding:8px 16px; background:transparent; border:0; font:inherit; color:var(--text-muted,light-dark(#667085, var(--night-muted))); cursor:pointer; }
.social-dialog .btn-submit { width:100%; margin-top:16px; }
@media(max-width:390px) { .social-buttons { grid-template-columns:1fr; } .social-dialog { padding:20px; } }
