/* ==========================================================================
   Conta WS Trainer — telas de acesso e da conta (sobre o WS Design System 2027)
   ========================================================================== */
.conta { background: var(--ws-bg); min-height: 100dvh; }
.conta-boot { display: flex; align-items: center; justify-content: center; gap: var(--ws-space-3); padding: var(--ws-space-16) var(--ws-space-4); color: var(--ws-text-2); }
.conta-gate { min-height: 100dvh; display: grid; place-items: center; align-content: center; gap: var(--ws-space-6); padding: var(--ws-space-8) max(var(--ws-gutter), env(safe-area-inset-left, 0px)); }
.conta-card { width: min(100%, 28rem); }
.conta-logo { height: 2.25rem; width: auto; }
.conta-brand { display: flex; align-items: center; gap: var(--ws-space-3); }
.conta-brand strong { font-family: var(--ws-font-display); font-size: var(--ws-text-lg); letter-spacing: -0.01em; }
.conta-title { margin: var(--ws-space-4) 0 var(--ws-space-2); font-size: var(--ws-text-2xl); }
.conta-actions { display: flex; flex-wrap: wrap; gap: var(--ws-space-3); margin-top: var(--ws-space-5); }
.conta-origin { display: flex; align-items: center; gap: var(--ws-space-2); padding: var(--ws-space-3) var(--ws-space-4); border: 1px solid var(--ws-border); border-radius: var(--ws-radius-sm); background: var(--ws-surface-solid); font-size: var(--ws-text-sm); color: var(--ws-text-2); width: min(100%, 28rem); }
.conta-origin strong { color: var(--ws-text); }
.conta-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ws-space-4); font-size: var(--ws-text-xs); color: var(--ws-text-3); }
.conta-foot a { color: inherit; }
.conta-doc { margin-top: var(--ws-space-4); line-height: var(--ws-leading-normal); }

/* Área logada */
.conta-top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: var(--ws-z-header); display: flex; align-items: center; gap: var(--ws-space-3); min-height: var(--ws-header-h);
  padding: var(--ws-space-2) max(var(--ws-gutter), env(safe-area-inset-right, 0px)) var(--ws-space-2) max(var(--ws-gutter), env(safe-area-inset-left, 0px));
  background: var(--ws-surface); border-bottom: 1px solid var(--ws-border); -webkit-backdrop-filter: blur(var(--ws-blur)); backdrop-filter: blur(var(--ws-blur)); }
.conta-top__actions { margin-left: auto; display: flex; align-items: center; gap: var(--ws-space-2); }
.conta-main { width: min(100%, 52rem); margin: 0 auto; padding: var(--ws-space-8) max(var(--ws-gutter), env(safe-area-inset-right, 0px)) var(--ws-space-16) max(var(--ws-gutter), env(safe-area-inset-left, 0px)); display: flex; flex-direction: column; gap: var(--ws-space-6); outline: none; }
.conta-hello { margin: 0; font-size: var(--ws-text-2xl); }
.conta-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--ws-space-3); }
.conta-link { display: flex; align-items: center; gap: var(--ws-space-3); padding: var(--ws-space-4); border: 1px solid var(--ws-border); border-radius: var(--ws-radius-md); background: var(--ws-surface-solid); color: var(--ws-text); text-decoration: none; }
.conta-link:hover { border-color: var(--ws-border-strong); }
.conta-link span { display: flex; flex-direction: column; }
.conta-link small { color: var(--ws-text-3); }
.conta-students { display: flex; flex-wrap: wrap; gap: var(--ws-space-2); }
@media (max-width: 480px) { .conta-top__actions .ws-btn span { display: none; } }

/* Textos longos (e-mails) e botões quebram dentro da tela pequena, sem rolagem horizontal */
.conta-main > * { min-width: 0; }
.conta-main p, .conta-main .ws-alert, .conta-main .ws-input { overflow-wrap: anywhere; }
.conta-main .ws-btn { white-space: normal; height: auto; min-height: var(--ws-touch); padding-block: var(--ws-space-2); text-align: center; max-width: 100%; }
/* Foco programático no título da tela (leitor de tela) sem contorno verde em volta do cartão */
#wa-main:focus:not(:focus-visible), #wa-main:focus { outline: none; box-shadow: none; }
