/* The login state has #forgotPassword; registration and recovery do not. */
.auth-shell:has(#forgotPassword){grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:var(--neblina);color:var(--tinta);font-family:var(--events-fonte-corpo);font-size:var(--events-corpo);line-height:var(--events-altura-corpo);color-scheme:light}
.auth-shell:has(#forgotPassword) .auth-hero{min-width:0;min-height:100dvh;gap:var(--events-espaco-8);padding:var(--events-respiro-hero) var(--events-respiro-lateral);border:0;background:var(--sol);color:var(--tinta)}
.auth-shell:has(#forgotPassword) .brand-wordmark{color:var(--tinta);font-family:var(--events-fonte-titulo);font-size:var(--events-corpo-grande);font-weight:var(--events-peso-titulo);letter-spacing:var(--events-espaco-titulo)}
.auth-shell:has(#forgotPassword) .auth-story{padding:0}
.auth-shell:has(#forgotPassword) .auth-story .eyebrow{display:inline-flex;min-height:var(--events-altura-toque);gap:0;padding:var(--events-espaco-2) var(--events-espaco-4);border-radius:var(--events-raio-botao);background:var(--tinta);color:var(--events-branco);font-size:var(--events-rotulo);font-weight:var(--events-peso-forte);letter-spacing:var(--events-espaco-rotulo)}
.auth-shell:has(#forgotPassword) .auth-story .eyebrow::before{display:none}
.auth-shell:has(#forgotPassword) .auth-story h1{max-width:var(--events-largura-erro);margin:var(--events-espaco-6) 0; color:var(--tinta);font-family:var(--events-fonte-titulo);font-size:var(--events-login-titulo);font-weight:var(--events-peso-titulo);line-height:var(--events-altura-titulo);letter-spacing:var(--events-espaco-titulo)}
.auth-shell:has(#forgotPassword) .auth-story h1 em{color:var(--tinta);font-style:normal;font-weight:var(--events-peso-titulo)}
.auth-shell:has(#forgotPassword) .auth-story p{max-width:var(--events-largura-erro);margin:0;color:var(--tinta);font-size:var(--events-corpo);line-height:var(--events-altura-corpo)}
.auth-shell:has(#forgotPassword) .admission-ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;width:min(100%,var(--events-login-cartaz-largura));min-height:var(--events-login-cartaz-altura);margin:0 auto var(--events-espaco-4);border:0;border-radius:var(--events-raio-arco);background:var(--uva);color:var(--events-branco);box-shadow:none}
.auth-shell:has(#forgotPassword) .admission-ticket>div:first-child{display:grid;align-content:end;gap:var(--events-espaco-2);padding:var(--events-espaco-8)}
.auth-shell:has(#forgotPassword) .admission-ticket .eyebrow,.auth-shell:has(#forgotPassword) .admission-ticket .ticket-caption{color:var(--events-branco);font-size:var(--events-corpo-pequeno)}.auth-shell:has(#forgotPassword) .admission-ticket .eyebrow{letter-spacing:var(--events-espaco-rotulo)}
.auth-shell:has(#forgotPassword) .admission-ticket strong{color:var(--events-branco);font-family:var(--events-fonte-titulo);font-size:var(--events-painel-subtitulo);font-weight:var(--events-peso-titulo);line-height:var(--events-altura-titulo);letter-spacing:var(--events-espaco-titulo)}
.auth-shell:has(#forgotPassword) .ticket-stub{position:absolute;top:var(--events-espaco-6);right:calc(var(--events-espaco-6) * -1);display:flex;width:var(--events-login-selo);height:var(--events-login-selo);padding:var(--events-espaco-4);border:0;border-radius:var(--events-raio-botao);background:var(--rosa);color:var(--tinta);text-align:center}
.auth-shell:has(#forgotPassword) .ticket-stub span{color:var(--tinta);font-size:var(--events-rotulo);font-weight:var(--events-peso-forte);letter-spacing:var(--events-espaco-rotulo)}
.auth-shell:has(#forgotPassword) .auth-foot{align-items:end;gap:var(--events-espaco-4);color:var(--tinta);font-size:var(--events-corpo-pequeno)}
.auth-shell:has(#forgotPassword) .auth-foot a{color:var(--tinta);font-weight:var(--events-peso-forte);text-decoration:underline}
.auth-shell:has(#forgotPassword) .auth-side{min-width:0;padding:var(--events-respiro-hero) var(--events-respiro-lateral);gap:var(--events-espaco-8);background:var(--neblina)}
.auth-shell:has(#forgotPassword) .auth-top{max-width:var(--events-largura-painel);width:100%;margin:0 auto}
.auth-shell:has(#forgotPassword) .auth-top>.small{color:var(--tinta);font-size:var(--events-rotulo);font-weight:var(--events-peso-forte)}
.auth-shell:has(#forgotPassword) .theme-toggle{min-height:var(--events-altura-toque);padding:var(--events-espaco-2) var(--events-espaco-4);border:var(--events-borda) solid var(--tinta);border-radius:var(--events-raio-botao);background:transparent;color:var(--tinta);font-size:var(--events-corpo-pequeno)}
.auth-shell:has(#forgotPassword) .theme-toggle:hover{background:var(--tinta);color:var(--events-branco)}
.auth-shell:has(#forgotPassword) .auth-card{width:100%;max-width:var(--events-largura-painel);padding:var(--events-respiro-painel);border:0;border-radius:var(--events-raio-painel);background:var(--events-branco);box-shadow:none}
.auth-shell:has(#forgotPassword) .auth-card .eyebrow{color:var(--uva);font-size:var(--events-rotulo);font-weight:var(--events-peso-forte)}
.auth-shell:has(#forgotPassword) .auth-card h2{max-width:none;margin:var(--events-espaco-4) 0;color:var(--tinta);font-family:var(--events-fonte-titulo);font-size:var(--events-login-subtitulo);font-weight:var(--events-peso-titulo);line-height:var(--events-altura-titulo);letter-spacing:var(--events-espaco-titulo)}
.auth-shell:has(#forgotPassword) .auth-card>p{margin:0 0 var(--events-espaco-6);color:var(--tinta);font-size:var(--events-corpo-medio);line-height:var(--events-altura-corpo)}
.auth-shell:has(#forgotPassword) .auth-card .form-grid{gap:var(--events-espaco-4)}
.auth-shell:has(#forgotPassword) .auth-card .field label{color:var(--tinta);font-size:var(--events-corpo-medio);font-weight:var(--events-peso-forte)}
.auth-shell:has(#forgotPassword) .auth-card .field input{min-height:var(--events-altura-botao);padding:var(--events-espaco-3) var(--events-espaco-4);border:var(--events-borda) solid var(--uva);border-radius:var(--events-raio-campo);background:var(--events-branco);color:var(--tinta);font-size:var(--events-corpo)}
.auth-shell:has(#forgotPassword) .auth-submit{min-height:var(--events-altura-botao);justify-content:center;gap:var(--events-espaco-2);padding:var(--events-espaco-3) var(--events-espaco-6);border:0;border-radius:var(--events-raio-botao);background:var(--tinta);color:var(--events-branco);font-size:var(--events-corpo-medio);font-weight:var(--events-peso-forte);transition:none}
.auth-shell:has(#forgotPassword) .auth-submit:hover:not(:disabled){background:var(--uva);color:var(--events-branco);opacity:1}
.auth-shell:has(#forgotPassword) .recovery-link{margin:0}
.auth-shell:has(#forgotPassword) .text-button{min-height:var(--events-altura-toque);padding:var(--events-espaco-2) 0;color:var(--uva);font-size:var(--events-corpo-medio);font-weight:var(--events-peso-forte);text-decoration:underline}
.auth-shell:has(#forgotPassword) .auth-switch{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--events-espaco-1);margin-top:var(--events-espaco-6);color:var(--tinta);font-size:var(--events-corpo-medio);text-align:center}
.auth-shell:has(#forgotPassword) .auth-switch .muted{color:var(--tinta)}
.auth-shell:has(#forgotPassword) .auth-switch a{color:var(--uva);font-weight:var(--events-peso-forte);text-decoration:underline;text-underline-offset:var(--events-espaco-1)}
.auth-shell:has(#forgotPassword) .auth-bottom{max-width:var(--events-largura-painel);width:100%;margin:0 auto;color:var(--tinta)}
.auth-shell:has(#forgotPassword) .auth-bottom .small,.auth-shell:has(#forgotPassword) .auth-bottom a{color:var(--tinta);font-size:var(--events-corpo-pequeno)}
.auth-shell:has(#forgotPassword) :is(a,button,input,select):focus-visible{outline:var(--events-borda-foco) solid var(--uva);outline-offset:var(--events-offset-foco)}

:root[data-theme=dark] .auth-shell:has(#forgotPassword),:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-hero{background:var(--tinta);color:var(--events-branco)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-story h1,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-story h1 em,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-story p,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-hero .brand-wordmark,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-foot,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-foot a{color:var(--events-branco)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-story .eyebrow{background:var(--sol);color:var(--tinta)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-side{background:var(--uva)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-top>.small,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-bottom .small,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-bottom a{color:var(--events-branco)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .theme-toggle{border-color:var(--events-branco);color:var(--events-branco)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .theme-toggle:hover{background:var(--sol);border-color:var(--sol);color:var(--tinta)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-submit{background:var(--sol);color:var(--tinta)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-submit:hover:not(:disabled){background:var(--neblina);color:var(--tinta)}
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-bottom :is(a,button):focus-visible,:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-hero :is(a,button):focus-visible{outline-color:var(--sol)}

@media(max-width:800px){.auth-shell:has(#forgotPassword){grid-template-columns:minmax(0,1fr)}.auth-shell:has(#forgotPassword) .auth-hero{display:flex;min-height:0;gap:var(--events-espaco-6);padding:var(--events-espaco-8) var(--events-espaco-6)}.auth-shell:has(#forgotPassword) .auth-story h1{font-size:var(--events-login-titulo-movel)}.auth-shell:has(#forgotPassword) .auth-story p{font-size:var(--events-corpo-medio)}.auth-shell:has(#forgotPassword) .admission-ticket,.auth-shell:has(#forgotPassword) .auth-foot{display:none}.auth-shell:has(#forgotPassword) .auth-side{min-height:0;padding:var(--events-espaco-8) var(--events-espaco-6)}}
@media(max-width:520px){.auth-shell:has(#forgotPassword) .auth-hero{padding:var(--events-espaco-6) var(--events-espaco-4)}.auth-shell:has(#forgotPassword) .auth-side{padding:var(--events-espaco-6) var(--events-espaco-4)}.auth-shell:has(#forgotPassword) .auth-card{padding:var(--events-espaco-6)}.auth-shell:has(#forgotPassword) .auth-bottom{align-items:start;flex-direction:column}.auth-shell:has(#forgotPassword) .auth-story h1{margin:var(--events-espaco-5) 0}}
@media(prefers-reduced-motion:reduce){.auth-shell:has(#forgotPassword) .auth-submit,.auth-shell:has(#forgotPassword) .theme-toggle{transition:none;animation:none}}

@media (min-width: 801px) and (max-height: 900px) {
  .auth-shell:has(#forgotPassword) .auth-hero { gap: var(--events-espaco-4); padding-block: var(--events-espaco-6); }
  .auth-shell:has(#forgotPassword) .auth-side { gap: var(--events-espaco-4); padding-block: var(--events-espaco-6); }
  .auth-shell:has(#forgotPassword) .auth-story h1 { font-size: var(--events-login-titulo-compacto); margin: var(--events-espaco-4) 0; }
  .auth-shell:has(#forgotPassword) .admission-ticket { min-height: var(--events-login-cartaz-compacto); max-width: var(--events-login-cartaz-largura-compacta); }
  .auth-shell:has(#forgotPassword) .admission-ticket > div:first-child { padding: var(--events-espaco-5); }
  .auth-shell:has(#forgotPassword) .ticket-stub { width: var(--events-login-selo-compacto); height: var(--events-login-selo-compacto); }
  .auth-shell:has(#forgotPassword) .auth-card { padding: var(--events-espaco-6); }
  .auth-shell:has(#forgotPassword) .auth-card h2 { font-size: var(--events-painel-subtitulo); }
  .auth-shell:has(#forgotPassword) .auth-card > p { margin-bottom: var(--events-espaco-4); }
  .auth-shell:has(#forgotPassword) .auth-card .form-grid { gap: var(--events-espaco-3); }
  .auth-shell:has(#forgotPassword) .auth-switch { margin-top: var(--events-espaco-3); }
}
/* Dark mode: dark-contrast.css whitens every .admission-ticket span; the stub sits on rosa and keeps ink. */
:root[data-theme=dark] .auth-shell:has(#forgotPassword) .auth-hero .admission-ticket .ticket-stub span{color:var(--tinta)}
