@import url('./socialcof-tokens.css');
/* UI do SSO MedCof, preservando os fluxos de autenticação do Painel-B2B. */
.login-shell[data-socialcof-ds="auth"] {
  --bg-card: var(--sc-card); --text: var(--sc-ink); --text-soft: var(--sc-ink-muted);
  --text-muted: var(--sc-ink-muted); --border: var(--sc-border); --accent: var(--sc-brand);
  --accent-soft: var(--sc-danger-soft); --radius-sm: var(--sc-radius-pill);
  --login-panel-curve: 32px; --login-panel-overlap: 24px;
  font-family: var(--sc-font-ui); grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  background: var(--sc-brand); -webkit-font-smoothing: antialiased;
}
[data-socialcof-ds="auth"] .login-panel { padding: 56px 64px; box-shadow: 12px 0 0 rgba(0,0,0,.08); }
[data-socialcof-ds="auth"] .login-panel__inner { width: min(100%, 524px); }
[data-socialcof-ds="auth"] .landing-card { display: flex; flex-direction: column; min-height: min(600px, calc(100svh - 112px)); justify-content: center; }
[data-socialcof-ds="auth"] .login-brand { margin-bottom: 32px; }
[data-socialcof-ds="auth"] .landing-title { font-family: var(--sc-font-ui); font-size: 28px; font-weight: 700; letter-spacing: -.025em; white-space: normal; }
[data-socialcof-ds="auth"] .form-label { color: var(--sc-ink); font-size: 13px; font-weight: 500; }
[data-socialcof-ds="auth"] .form-input { min-height: 48px; border: 1px solid var(--sc-border); background: var(--sc-card); border-radius: var(--sc-radius-pill); box-shadow: none; }
[data-socialcof-ds="auth"] .form-input:focus { border-color: var(--sc-ink-muted); box-shadow: 0 0 0 3px var(--sc-border); }
[data-socialcof-ds="auth"] :is(.btn-login,.btn-google) { min-height: 48px; border-radius: var(--sc-radius-pill); font-weight: 500; }
[data-socialcof-ds="auth"] .btn-login { background: linear-gradient(135deg,var(--sc-button-from),var(--sc-button-to)); color: var(--sc-on-button); box-shadow: var(--sc-shadow-button); }
[data-socialcof-ds="auth"] .btn-login:hover:not(:disabled) { background: linear-gradient(135deg,var(--sc-button-hover-from),var(--sc-button-hover-to)); }
[data-socialcof-ds="auth"] .btn-login:disabled { background: var(--sc-muted); color: var(--sc-ink-muted); opacity: 1; box-shadow: var(--sc-shadow-card); }
[data-socialcof-ds="auth"] .btn-google { background: var(--sc-card); border: 1px solid var(--sc-border); }
[data-socialcof-ds="auth"] .login-first-access-banner { background: transparent; border: 0; padding: 0; color: var(--sc-ink-muted); }
[data-socialcof-ds="auth"] .login-first-access-banner__icon { display: none; }
[data-socialcof-ds="auth"] :is(.landing-footer,.footer) { margin-top: 48px; text-align: center; font-size: 13px; color: var(--sc-ink-muted); }
[data-socialcof-ds="auth"] :is(.landing-footer,.footer) a { color: var(--sc-brand); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
[data-socialcof-ds="auth"] .sc-auth-art { padding: 0; background: var(--sc-brand); }
[data-socialcof-ds="auth"] .sc-auth-art::before { display: none; }
.sc-auth-video { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; pointer-events: none; }
[data-socialcof-ds="auth"] :is(a,button,input):focus-visible { outline: 2px solid var(--sc-ink-muted); outline-offset: 3px; }
/* Mesma composição na etapa final de recuperação, sem alterar seu script. */
body.login-page:has(.sc-auth-reset) { display: block; padding: 0; }
.sc-auth-reset .card { position: static; width: 100%; padding: 0; background: transparent; border: 0; box-shadow: none; }
.sc-auth-reset .logo { width: 48px; height: 48px; margin: 0 0 24px; }
.sc-auth-reset .badge { display: none; }
.sc-auth-reset :is(.title,.subtitle) { text-align: left; }
.sc-auth-reset .title { font-size: 28px; margin-bottom: 16px; color: var(--sc-ink); }
.sc-auth-reset .subtitle { color: var(--sc-ink-muted); font-size: 15px; }
.sc-auth-reset .field label { color: var(--sc-ink); text-transform: none; letter-spacing: normal; }
.sc-auth-reset .field input { min-height: 48px; background: var(--sc-card); color: var(--sc-ink); border: 1px solid var(--sc-border); border-radius: var(--sc-radius-pill); }
.sc-auth-reset .field input:focus { border-color: var(--sc-ink-muted); box-shadow: 0 0 0 3px var(--sc-border); }
.sc-auth-reset .btn { min-height: 48px; border-radius: var(--sc-radius-pill); background: linear-gradient(135deg,var(--sc-button-from),var(--sc-button-to)); color: var(--sc-on-button); box-shadow: var(--sc-shadow-button); }
.sc-auth-reset .error { color: var(--sc-danger); }
@media (max-width: 900px) {
  .login-shell[data-socialcof-ds="auth"] { grid-template-columns: 1fr; }
  [data-socialcof-ds="auth"] .login-panel { margin: 0; padding: 40px 24px; min-height: 100svh; border-radius: 0; box-shadow: none; }
  [data-socialcof-ds="auth"] .sc-auth-art { display: none; }
  [data-socialcof-ds="auth"] .landing-card { min-height: auto; }
}
@media (prefers-reduced-motion: reduce) { .sc-auth-video { display: none; } }
/* Celular: leitura, áreas de toque e espaço para teclado/recortes da tela. */
@media (max-width: 600px) {
  [data-socialcof-ds="auth"] .login-panel {
    min-height: 100svh; min-height: 100dvh;
    padding: max(28px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  }
  [data-socialcof-ds="auth"] .login-panel__inner { max-width: 420px; min-width: 0; }
  [data-socialcof-ds="auth"] .login-brand { margin-bottom: 24px; }
  [data-socialcof-ds="auth"] .landing-logo--favicon,
  .sc-auth-reset .logo { width: 40px; height: 40px; }
  [data-socialcof-ds="auth"] .landing-title,
  .sc-auth-reset .title { font-size: 24px; line-height: 1.25; overflow-wrap: break-word; }
  [data-socialcof-ds="auth"] .landing-subtitle { font-size: 15px; line-height: 1.6; }
  [data-socialcof-ds="auth"] .form-input,
  .sc-auth-reset .field input { font-size: 16px; min-height: 50px; }
  [data-socialcof-ds="auth"] :is(.btn-login,.btn-google),
  .sc-auth-reset .btn { min-height: 50px; font-size: 16px; }
  [data-socialcof-ds="auth"] .form-row-options { flex-wrap: wrap; column-gap: 16px; row-gap: 4px; }
  [data-socialcof-ds="auth"] :is(.checkbox-remember,.form-forgot,.login-back-link) { min-height: 44px; display: inline-flex; align-items: center; }
  [data-socialcof-ds="auth"] :is(.field-pass-toggle,.eye-btn) { width: 44px; height: 44px; right: 4px; }
  [data-socialcof-ds="auth"] .field-input-wrap--has-toggle .form-input,
  .sc-auth-reset .pass-wrap input { padding-right: 52px; }
  [data-socialcof-ds="auth"] :is(.landing-footer,.footer) { margin-top: 32px; }
  [data-socialcof-ds="auth"] :is(.landing-footer,.footer) a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 900px) and (max-height: 650px) {
  [data-socialcof-ds="auth"] .login-panel { align-items: flex-start; }
}
