/* ==========================================================================
   AUREN — Product Identity v1 · PRIMITIVAS (PASS 1, 2026-09-03)
   ==========================================================================
   Componentes visuais reutilizáveis, todos consumindo só tokens.css.
   Sem framework, sem JS: classes `.auren-*` que os passes seguintes usam
   ao redesenhar cada tela. Nada aqui altera comportamento — só forma.

   Carregado DEPOIS de estilo.css (legado): quando uma classe nova e uma
   antiga coexistirem no mesmo elemento, a nova vence.

   Uma tela nunca deve parecer ter três CTAs primários: um
   `.auren-btn`, o resto `.auren-btn--secondary` ou `.auren-btn--text`.
   ========================================================================== */

/* --- shell ----------------------------------------------------------------- */

body.auren,
body.auren *,
body.auren *::before,
body.auren *::after {
  box-sizing: border-box;
}

body.auren {
  margin: 0;
  padding: 0;
  max-width: none;
  background: var(--auren-bg);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  line-height: var(--auren-lh-body);
  -webkit-font-smoothing: antialiased;
}

.auren-main {
  max-width: var(--auren-container);
  margin: 0 auto;
  padding: var(--auren-space-5) var(--auren-gutter) var(--auren-space-7);
}

.auren-main--com-nav {
  padding-bottom: calc(var(--auren-nav-height) + var(--auren-safe-bottom) + var(--auren-space-6));
}

@media (min-width: 640px) {
  .auren-main { max-width: var(--auren-container-wide); padding-left: var(--auren-space-6); padding-right: var(--auren-space-6); }
}

/* --- wordmark ----------------------------------------------------------------
   AUREN é a assinatura. Sem símbolo, sem sombra, sem contorno, sem
   deformação. Área de respiro = um `space-4` em volta. */

.auren-wordmark {
  display: inline-block;
  font-family: var(--auren-font-ui);
  font-weight: var(--auren-weight-semibold);
  font-size: var(--auren-size-sm);
  letter-spacing: var(--auren-tracking-wordmark);
  color: var(--auren-text);
  text-decoration: none;
  padding: var(--auren-space-1) 0;
  margin: 0;
}

.auren-wordmark--editorial {
  font-family: var(--auren-font-display);
  font-weight: var(--auren-weight-regular);
  font-size: var(--auren-size-2xl);
  letter-spacing: 0.12em;
  line-height: var(--auren-lh-tight);
}

.auren-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--auren-space-4);
  margin-bottom: var(--auren-space-6);
}

/* --- headings ----------------------------------------------------------------
   Didot só aqui e nas primitivas emocionais; nunca em botão, campo,
   número ou timer. */

.auren-heading {
  font-family: var(--auren-font-display);
  font-weight: var(--auren-weight-regular);
  font-size: var(--auren-size-2xl);
  line-height: var(--auren-lh-tight);
  letter-spacing: var(--auren-tracking-display);
  color: var(--auren-text);
  margin: 0 0 var(--auren-space-5);
}

.auren-heading--hero { font-size: var(--auren-size-3xl); }
.auren-heading--card { font-size: var(--auren-size-xl); margin-bottom: var(--auren-space-3); }
/* Telas de segurança (PAR-Q, lesões, bloqueios): a pergunta é longa e
   científica; continua Didot, numa escala editorial menor para não
   dominar a tela em 375px. A copy não muda. */
.auren-heading--safety { font-size: var(--auren-size-xl); line-height: var(--auren-lh-snug); }
/* Ênfase editorial (nome na saudação): itálico, mesma cor do texto.
   Sage é orientação/feedback, nunca decoração. */
.auren-heading em { font-style: italic; color: inherit; }

.auren-section-heading {
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
  margin: 0 0 var(--auren-space-2);
}

.auren-lead {
  color: var(--auren-text-secondary);
  font-size: var(--auren-size-md);
  margin: 0 0 var(--auren-space-5);
}

.auren-note {
  color: var(--auren-text-muted);
  font-size: var(--auren-size-sm);
  margin: var(--auren-space-3) 0 0;
}

/* --- botões ------------------------------------------------------------------ */

.auren-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--auren-space-2);
  width: 100%;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-5);
  border-radius: var(--auren-radius-pill);
  border: var(--auren-border-w) solid var(--auren-action);
  background: var(--auren-action);
  color: var(--auren-text-on-inverse);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--auren-motion-fast) var(--auren-ease), border-color var(--auren-motion-fast) var(--auren-ease), opacity var(--auren-motion-fast) var(--auren-ease);
}

.auren-btn:hover { background: var(--auren-action-hover); border-color: var(--auren-action-hover); }
.auren-btn:active { opacity: 0.85; }

.auren-btn--secondary {
  background: transparent;
  color: var(--auren-text);
  border-color: var(--auren-border);
}

.auren-btn--secondary:hover { background: var(--auren-surface-quiet); border-color: var(--auren-border-strong); }

.auren-btn--inverse {
  background: transparent;
  color: var(--auren-text-on-inverse);
  border-color: var(--auren-text-on-inverse);
}

.auren-btn--text {
  width: auto;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-3);
  background: transparent;
  border-color: transparent;
  color: var(--auren-text-secondary);
  font-weight: var(--auren-weight-regular);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.auren-btn--text:hover { background: transparent; border-color: transparent; color: var(--auren-text); }

.auren-btn--inline { width: auto; }

.auren-btn:disabled,
.auren-btn[aria-disabled="true"] {
  background: var(--auren-disabled-bg);
  border-color: var(--auren-disabled-bg);
  color: var(--auren-disabled-text);
  cursor: not-allowed;
  text-decoration: none;
}

/* Foco visível, sempre com substituto: anel Sage fora do elemento. */
.auren-btn:focus-visible,
.auren-field__input:focus-visible,
.auren-choice:focus-within,
.auren-nav__item:focus-visible,
.nav-item:focus-visible,
.auren-focusable:focus-visible {
  outline: 2px solid var(--auren-focus);
  outline-offset: 2px;
}

/* --- superfícies --------------------------------------------------------------
   Cartão só quando o agrupamento precisa de fronteira perceptível. */

.auren-surface {
  background: var(--auren-surface);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-5);
  box-shadow: var(--auren-shadow-sm);
}

.auren-surface--quiet {
  background: var(--auren-surface-quiet);
  border: none;
  box-shadow: none;
  padding: var(--auren-space-4);
}

.auren-surface--inverse {
  background: var(--auren-surface-inverse);
  color: var(--auren-text-on-inverse);
  border: none;
  box-shadow: none;
}

.auren-stack { display: flex; flex-direction: column; gap: var(--auren-space-4); }
.auren-stack--tight { gap: var(--auren-space-2); }
.auren-stack--loose { gap: var(--auren-space-6); }

/* --- mensagens do treinador --------------------------------------------------- */

.auren-guidance {
  /* Bloco de texto corrido com a barra Sage à esquerda. É `position`,
     não flex: um <strong> no meio da frase precisa continuar inline. */
  display: block;
  position: relative;
  background: var(--auren-guidance-soft);
  color: var(--auren-guidance-text);
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-3) var(--auren-space-4) var(--auren-space-3) calc(var(--auren-space-4) + 4px + var(--auren-space-3));
  font-size: var(--auren-size-md);
  line-height: var(--auren-lh-snug);
  margin: 0 0 var(--auren-space-4);
}

.auren-guidance::before {
  content: "";
  position: absolute;
  left: var(--auren-space-4);
  top: var(--auren-space-3);
  bottom: var(--auren-space-3);
  width: 4px;
  border-radius: var(--auren-radius-pill);
  background: var(--auren-guidance);
}

/* Gold: só progressão, conquista, precisão e momento especial. */
.auren-moment {
  background: var(--auren-moment-soft);
  color: var(--auren-moment-text);
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-4) var(--auren-space-5);
  margin: 0 0 var(--auren-space-5);
}

.auren-moment__title {
  font-family: var(--auren-font-display);
  font-weight: var(--auren-weight-regular);
  font-size: var(--auren-size-xl);
  line-height: var(--auren-lh-tight);
  margin: 0 0 var(--auren-space-2);
  color: var(--auren-moment-text);
}

.auren-moment__value { font-variant-numeric: tabular-nums; color: var(--auren-moment-text); font-weight: var(--auren-weight-semibold); }

/* --- campos --------------------------------------------------------------------- */

.auren-field { display: flex; flex-direction: column; gap: var(--auren-space-2); margin: 0 0 var(--auren-space-5); }

.auren-field__label {
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
  font-weight: var(--auren-weight-medium);
  color: var(--auren-text-secondary);
}

.auren-field__label small,
.auren-field__hint {
  font-weight: var(--auren-weight-regular);
  color: var(--auren-text-muted);
  font-size: var(--auren-size-sm);
}

.auren-field__input {
  width: 100%;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-sm);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color var(--auren-motion-fast) var(--auren-ease);
}

.auren-field__input:focus { border-color: var(--auren-border-strong); outline: none; }
.auren-field__input::placeholder { color: var(--auren-text-muted); }
.auren-field__input[aria-invalid="true"] { border-color: var(--auren-error); }
.auren-field__input:disabled { background: var(--auren-surface-quiet); color: var(--auren-disabled-text); }
select.auren-field__input { padding-right: var(--auren-space-6); }
textarea.auren-field__input { min-height: calc(var(--auren-touch) * 2); padding: var(--auren-space-3) var(--auren-space-4); line-height: var(--auren-lh-body); }

.auren-field__error {
  color: var(--auren-error);
  font-size: var(--auren-size-sm);
  margin: 0;
}

/* --- escolhas: radio e checkbox como cartão de toque ------------------------------ */

.auren-choices { display: flex; flex-direction: column; gap: var(--auren-space-3); margin: 0 0 var(--auren-space-5); }

.auren-choice {
  display: flex;
  align-items: center;
  gap: var(--auren-space-3);
  min-height: var(--auren-touch);
  padding: var(--auren-space-3) var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-size: var(--auren-size-md);
  cursor: pointer;
  transition: border-color var(--auren-motion-fast) var(--auren-ease), background var(--auren-motion-fast) var(--auren-ease);
}

.auren-choice input {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--auren-guidance-text);
}

.auren-choice:hover { border-color: var(--auren-border-strong); }

/* Selecionado: Sage orienta. O estado não depende só da cor — o próprio
   controle nativo continua visível e marcado. */
.auren-choice:has(input:checked) {
  border-color: var(--auren-guidance);
  background: var(--auren-guidance-soft);
}

.auren-choice input:disabled ~ * { color: var(--auren-disabled-text); }
.auren-choice:has(input:disabled) { background: var(--auren-surface-quiet); cursor: not-allowed; }

.auren-choice__title { display: block; font-weight: var(--auren-weight-medium); }
.auren-choice__hint { display: block; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }

/* --- status: saving / saved / failed / unknown / warning --------------------------
   Cada estado tem cor E marca textual (o JS já escreve "✓", "⚠" e o
   texto), então nunca depende só da cor. */

.auren-status {
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-3) var(--auren-space-4);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  line-height: var(--auren-lh-snug);
  margin: var(--auren-space-3) 0;
  transition: opacity var(--auren-motion-base) var(--auren-ease-out);
}

.auren-status__detail { display: block; margin-top: var(--auren-space-1); font-weight: var(--auren-weight-regular); font-size: var(--auren-size-sm); }

.auren-status--saving { background: var(--auren-surface-quiet); color: var(--auren-text-secondary); }
.auren-status--saved { background: var(--auren-success-soft); color: var(--auren-success-text); }
.auren-status--failed { background: var(--auren-error-soft); color: var(--auren-error); }
.auren-status--unknown { background: var(--auren-warning-soft); color: var(--auren-warning); }
.auren-status--warning { background: var(--auren-warning-soft); color: var(--auren-warning); }

/* --- estado vazio ----------------------------------------------------------------- */

.auren-empty {
  text-align: left;
  color: var(--auren-text-secondary);
  padding: var(--auren-space-6) 0;
}

.auren-empty__title {
  font-family: var(--auren-font-display);
  font-weight: var(--auren-weight-regular);
  font-size: var(--auren-size-xl);
  line-height: var(--auren-lh-tight);
  color: var(--auren-text);
  margin: 0 0 var(--auren-space-2);
}

.auren-empty p { margin: 0 0 var(--auren-space-4); }

/* --- badge discreto (personalizado, sugerido) ------------------------------------- */

.auren-badge {
  display: inline-block;
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  padding: 2px var(--auren-space-2);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-guidance-soft);
  color: var(--auren-guidance-text);
}

.auren-badge--moment { background: var(--auren-moment-soft); color: var(--auren-moment-text); }
.auren-badge--muted { background: var(--auren-surface-quiet); color: var(--auren-text-muted); }

/* --- bottom nav --------------------------------------------------------------------
   Quatro destinos reais. Base Warm White, borda Stone sutil, item ativo em
   Sage (ícone e indicador) com texto Soft Black — o estado não depende só
   da cor. Alvo >= 48px. Some durante o treino (o shell só a renderiza
   quando a tela declara `aba`). */

/* Os seletores legados (.bottom-nav / .nav-item / .ativo) estão aqui de
   propósito: o markup da nav é fixado por teste, então o visual novo
   estiliza as classes que já existem em vez de renomeá-las. */
.auren-nav,
.bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  display: flex;
  height: calc(var(--auren-nav-height) + var(--auren-safe-bottom));
  padding-bottom: var(--auren-safe-bottom);
  background: var(--auren-bg);
  border-top: var(--auren-border-w) solid var(--auren-border);
}

.auren-nav__item,
.nav-item {
  position: relative;
  flex: 1;
  min-height: var(--auren-touch);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: var(--auren-text-muted);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-regular);
  transition: color var(--auren-motion-fast) var(--auren-ease);
}

.auren-nav__item svg,
.nav-item svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auren-nav__item--ativo,
.nav-item.ativo { color: var(--auren-text); font-weight: var(--auren-weight-medium); }
.auren-nav__item--ativo svg,
.nav-item.ativo svg { stroke: var(--auren-guidance); }
.auren-nav__item--ativo::before,
.nav-item.ativo::before {
  content: "";
  position: absolute;
  top: 0;
  width: 2rem;
  height: 2px;
  border-radius: var(--auren-radius-pill);
  background: var(--auren-guidance);
}

/* --- telas lineares (auth, onboarding) — PASS 2 ---------------------------------------
   Container estreito, muito ar, wordmark com presença. */

.auren-linear {
  max-width: 26rem;
  padding-top: var(--auren-space-7);
  padding-bottom: var(--auren-space-8);
}

.auren-linear .auren-header { margin-bottom: var(--auren-space-7); justify-content: flex-start; }
.auren-linear form { margin: 0; }
.auren-linear .auren-heading { margin-bottom: var(--auren-space-4); }
.auren-linear .auren-lead { margin-bottom: var(--auren-space-6); }
.auren-linear .auren-btn { margin-top: var(--auren-space-2); }

.auren-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--auren-space-2);
  margin-top: var(--auren-space-6);
  font-size: var(--auren-size-sm);
  color: var(--auren-text-secondary);
}

.auren-links a { color: var(--auren-text); text-underline-offset: 0.2em; }

/* Progresso discreto: segmentos, um por passo. */
.auren-progress {
  display: flex;
  gap: var(--auren-space-1);
  margin: 0 0 var(--auren-space-6);
}

.auren-progress__seg {
  flex: 1;
  height: 2px;
  border-radius: var(--auren-radius-pill);
  background: var(--auren-stone);
  transition: background var(--auren-motion-base) var(--auren-ease);
}

.auren-progress__seg--done { background: var(--auren-guidance); }

/* Escolhas em grade (poucos caracteres por opção, ex.: dias da semana). */
.auren-choices--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
}

.auren-choices--grid .auren-choice { justify-content: center; padding-left: var(--auren-space-2); padding-right: var(--auren-space-2); }

/* Grupo de pergunta dentro de uma tela com mais de uma pergunta. */
.auren-question {
  /* É um <fieldset> por semântica (grupo de rádios com legenda), mas sem
     o desenho padrão do navegador: nada de borda nem legenda encaixada. */
  border: 0;
  padding: 0;
  margin: 0 0 var(--auren-space-6);
  min-inline-size: 0;
}
.auren-question__title {
  display: block;
  float: left;
  width: 100%;
  padding: 0;
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  color: var(--auren-text);
  margin: 0 0 var(--auren-space-3);
}
/* A legenda flutua para sair do desenho de fieldset; o que vem depois
   dela desce para a linha seguinte. */
.auren-question__title + * { clear: both; }

/* Progressão de perguntas dentro de um formulário (onboarding_passos.js).
   Sem JS, todos os passos aparecem — o layout abaixo vale nos dois casos. */
.auren-passo__contador {
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-semibold);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
  margin: var(--auren-space-2) 0 var(--auren-space-3);
}
.auren-passo { margin: 0 0 var(--auren-space-5); }
/* Nota de contexto (ex.: escopo do beta) seguida de formulário: respiro
   antes da primeira pergunta/label, sem mudar a nota nas outras telas. */
.auren-linear .auren-note + form { margin-top: var(--auren-space-5); }
/* `hidden` tem que vencer o display das primitivas — é o que
   onboarding_passos.js usa para mostrar um passo por vez. */
.auren-passo[hidden],
.auren-passo__contador[hidden],
.auren-passo__acoes [hidden] { display: none; }
.auren-passo__acoes {
  display: flex;
  flex-direction: column;
  gap: var(--auren-space-2);
  align-items: stretch;
}
.auren-passo__acoes .auren-btn--text { align-self: center; }

/* ===========================================================================
   PASS 2C — fidelidade aos mocks do fundador (390px canônico).
   Ajustes nas PRIMITIVAS, não CSS por tela: todo valor vem de token.
   =========================================================================== */

/* Wordmark: menor, tracking largo, presente em todas as telas lineares. */
.auren-wordmark {
  font-size: var(--auren-size-sm);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-wordmark);
}
.auren-linear .auren-header { margin-bottom: var(--auren-space-7); }
.auren-linear { padding-top: var(--auren-space-6); }

/* Progresso: linha fina em segmentos espaçados, Sage escuro nos feitos. */
.auren-progress { gap: var(--auren-space-3); margin: 0 0 var(--auren-space-7); }
.auren-progress__seg { height: 3px; }
.auren-progress__seg--done { background: var(--auren-guidance-text); }

/* Headline editorial das telas lineares e Safety, nas escalas dos mocks. */
.auren-linear .auren-heading {
  font-size: var(--auren-size-headline);
  line-height: var(--auren-lh-tight);
  margin-bottom: var(--auren-space-4);
}
.auren-linear .auren-heading--safety {
  font-size: var(--auren-size-safety);
  line-height: var(--auren-lh-snug);
  margin-bottom: var(--auren-space-4);
}
/* Pergunta de um momento (perfil): Didot menor, abaixo do rótulo. */
.auren-heading--pergunta,
.auren-linear .auren-heading--pergunta {
  font-size: var(--auren-size-question);
  line-height: var(--auren-lh-snug);
  margin: 0 0 var(--auren-space-5);
}
.auren-heading--hero,
.auren-linear .auren-heading--hero { font-size: var(--auren-size-hero); }

/* Folha: ornamento da marca abaixo da headline (Sage, traço). */
.auren-folha {
  display: block;
  width: 1.75rem;
  height: 1.125rem;
  color: var(--auren-guidance);
  margin: 0 0 var(--auren-space-4);
}
.auren-folha svg { display: block; width: 100%; height: 100%; }
/* Folha + fio curto (Home, abaixo da saudação). */
.auren-ornamento {
  display: flex;
  align-items: center;
  gap: var(--auren-space-3);
  margin: 0 0 var(--auren-space-6);
}
.auren-ornamento .auren-folha { margin: 0; }
.auren-ornamento__fio { width: 2.5rem; height: 1px; background: var(--auren-guidance); }
/* Selo redondo com a folha (canto do cabeçalho da Home). */
.auren-header__selo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--auren-radius-pill);
  border: var(--auren-border-w) solid var(--auren-guidance-soft);
  background: var(--auren-surface);
  color: var(--auren-guidance);
}
.auren-header__selo .auren-folha { width: 1.125rem; height: 0.75rem; margin: 0; }

/* Texto de apoio abaixo da headline: corpo, secundário, respirado. */
.auren-linear .auren-lead,
.auren-linear .auren-note {
  font-size: var(--auren-size-md);
  line-height: var(--auren-lh-body);
  color: var(--auren-text-secondary);
  margin: 0 0 var(--auren-space-6);
}
.auren-linear .auren-note + form { margin-top: 0; }

/* Rótulo do momento ("PERGUNTA 1 DE 4"). */
.auren-passo__contador {
  font-size: var(--auren-size-sm);
  font-weight: var(--auren-weight-medium);
  color: var(--auren-text-secondary);
  margin: 0 0 var(--auren-space-3);
}
/* Pergunta de grupo (experiência, rotina) e sua ajuda. */
.auren-linear .auren-question__title {
  font-size: var(--auren-size-lg);
  font-weight: var(--auren-weight-medium);
  margin-bottom: var(--auren-space-4);
}
.auren-question__ajuda {
  font-size: var(--auren-size-sm);
  color: var(--auren-text-muted);
  margin: calc(-1 * var(--auren-space-2)) 0 var(--auren-space-4);
}

/* Campos: label em corpo escuro, input com raio médio e placeholder mudo. */
.auren-linear .auren-field { gap: var(--auren-space-3); margin-bottom: var(--auren-space-6); }
.auren-linear .auren-field__label { font-size: var(--auren-size-md); color: var(--auren-text); }
.auren-field__input { border-radius: var(--auren-radius-md); }
.auren-field__input::placeholder { color: var(--auren-text-muted); opacity: 1; }
/* Senha com "olho": o botão fica dentro do campo, à direita. */
.auren-field--senha { position: relative; }
.auren-field--senha .auren-field__input { padding-right: calc(var(--auren-space-4) + 2rem); }
.auren-field__olho {
  position: absolute;
  right: var(--auren-space-2);
  bottom: 0;
  width: var(--auren-touch);
  height: var(--auren-touch);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--auren-text-secondary);
  cursor: pointer;
}
.auren-field__olho svg { width: 1.375rem; height: 1.375rem; }

/* CTA com seta; "Voltar" com seta e só o rótulo sublinhado. */
.auren-btn__seta { font-size: 1.15em; line-height: 1; }
.auren-btn--voltar { text-decoration: none; color: var(--auren-text-secondary); }
.auren-btn--voltar .auren-btn__rotulo { text-decoration: underline; text-underline-offset: 0.2em; }
.auren-passo__acoes { margin-top: var(--auren-space-6); gap: var(--auren-space-3); }

/* Choices: cards com raio médio, mais respiro, rádio e checkbox desenhados. */
.auren-choices { gap: var(--auren-space-4); }
.auren-choice {
  padding: var(--auren-space-4) var(--auren-space-5);
  gap: var(--auren-space-4);
  border-radius: var(--auren-radius-md);
}
.auren-choices--grid { gap: var(--auren-space-3); }
.auren-choices--grid .auren-choice { padding: var(--auren-space-3) var(--auren-space-2); gap: var(--auren-space-2); }
.auren-choice input[type="radio"],
.auren-choice input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border: 2px solid var(--auren-border-strong);
  background: var(--auren-surface);
  cursor: pointer;
  transition: border-color var(--auren-motion-fast) var(--auren-ease), background var(--auren-motion-fast) var(--auren-ease);
}
.auren-choice input[type="radio"] { border-radius: var(--auren-radius-pill); }
.auren-choice input[type="radio"]:checked {
  border-color: var(--auren-guidance-text);
  background: var(--auren-guidance-text);
  box-shadow: inset 0 0 0 4px var(--auren-surface);
}
.auren-choice input[type="checkbox"] { border-radius: var(--auren-radius-sm); border-width: var(--auren-border-w); border-color: var(--auren-border-strong); }
.auren-choice input[type="checkbox"]:checked { border-color: var(--auren-guidance-text); background: var(--auren-guidance-text); }
.auren-choice input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 0.4rem;
  top: 0.15rem;
  width: 0.3rem;
  height: 0.6rem;
  border-right: 2px solid var(--auren-surface);
  border-bottom: 2px solid var(--auren-surface);
  transform: rotate(45deg);
}
.auren-choice input:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-choice__hint { color: var(--auren-text-muted); margin-top: 2px; }

/* Card da Home: sem borda, raio grande, sombra suave, CTA recuado. */
.auren-surface {
  border: 0;
  border-radius: var(--auren-radius-lg);
  padding: var(--auren-space-6);
  box-shadow: var(--auren-shadow-md);
}
.auren-surface > .auren-btn { width: calc(100% - 2 * var(--auren-space-5)); margin: var(--auren-space-3) auto 0; }
.auren-surface .auren-heading--card { margin-bottom: var(--auren-space-2); }
.auren-surface .auren-lead { margin-bottom: var(--auren-space-2); }
/* Orientação com ícone redondo à esquerda do texto. */
.auren-guidance--icone {
  display: flex;
  align-items: center;
  gap: var(--auren-space-4);
  padding-top: var(--auren-space-4);
  padding-bottom: var(--auren-space-4);
}
.auren-guidance__icone {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--auren-radius-pill);
  background: var(--auren-bg);
  color: var(--auren-guidance-text);
}
.auren-guidance__icone svg { width: 1.25rem; height: 1.25rem; }
.auren-guidance__texto { flex: 1 1 auto; }
.auren-escolher { margin: var(--auren-space-4) 0 var(--auren-space-6); }
.auren-links--centro { align-items: center; }
/* `hidden` vence as primitivas de texto (o JS esconde a confirmação fora
   do primeiro momento). */
.auren-guidance[hidden], .auren-note[hidden], .auren-lead[hidden] { display: none; }
/* Superfície quieta (bloqueios, avisos): sem sombra nem raio de card. */
.auren-surface--quiet { box-shadow: none; border-radius: var(--auren-radius-md); padding: var(--auren-space-5); }
/* Login (target): headline em escala display, links centralizados com
   mais ar, "Criar conta" em Sage, folhagem discreta atrás do conteúdo. */
.auren-heading--display,
.auren-linear .auren-heading--display {
  font-size: var(--auren-size-display);
  line-height: var(--auren-lh-tight);
  margin-bottom: var(--auren-space-3);
}
.auren-linear .auren-header--centro + .auren-heading--display { margin-top: var(--auren-space-8); }
.auren-links--entrada { gap: var(--auren-space-5); margin-top: var(--auren-space-7); font-size: var(--auren-size-md); }
.auren-links--entrada a { color: var(--auren-text-secondary); }
.auren-links--entrada a.auren-link--destaque,
.auren-link--destaque { color: var(--auren-guidance-text); }
.auren-fundo-botanico {
  position: fixed;
  left: 0;
  bottom: 0;
  /* Entra pelo canto inferior esquerdo e avança até o centro inferior. */
  width: min(92vw, 34rem);
  color: var(--auren-guidance);
  opacity: 0.16;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.auren-fundo-botanico svg { display: block; width: 100%; height: auto; }
.auren-linear { position: relative; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
  .auren-fundo-botanico { transition: opacity var(--auren-motion-slow) var(--auren-ease); }
}

/* --- Rotina (target do fundador): rótulo do bloco, barra local, cards de dias --- */
.auren-linear .auren-header--centro { justify-content: center; }
.auren-passo__contador--bloco {
  text-transform: uppercase;
  letter-spacing: var(--auren-tracking-label);
  font-size: var(--auren-size-sm);
  color: var(--auren-guidance-text);
  margin: 0 0 var(--auren-space-3);
}
[data-passo-progresso] .auren-progress { gap: var(--auren-space-1); margin-bottom: var(--auren-space-7); }
/* Legenda como pergunta em Didot (o mesmo estilo de .auren-heading--pergunta). */
.auren-linear .auren-question__title.auren-heading--pergunta {
  font-family: var(--auren-font-display);
  font-size: var(--auren-size-question);
  font-weight: var(--auren-weight-regular);
  line-height: var(--auren-lh-snug);
  letter-spacing: var(--auren-tracking-display);
  margin: 0 0 var(--auren-space-5);
}
/* Grid 3 colunas de cards quase quadrados; o card inteiro é o alvo. */
.auren-choices--dias {
  display: grid;
  /* minmax(0, 1fr): as colunas encolhem abaixo do conteúdo mínimo do
     rótulo — sem isso o grid estoura 1px em 375. */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--auren-space-3);
  margin-bottom: var(--auren-space-5);
}
.auren-choice--dia {
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--auren-space-1);
  aspect-ratio: 10 / 9;
  padding: var(--auren-space-3) var(--auren-space-2);
  min-width: 0;
  border-color: var(--auren-surface-quiet);
  text-align: center;
}
/* Rádio nativo fora da vista, mas focável e anunciado. */
.auren-choice--dia input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
.auren-choice__numero {
  font-family: var(--auren-font-display);
  font-size: var(--auren-size-xl);
  line-height: var(--auren-lh-tight);
  color: var(--auren-text);
}
.auren-choice__rotulo { font-size: var(--auren-size-xs); color: var(--auren-text-secondary); overflow-wrap: anywhere; }
.auren-choice--dia:has(input:checked) {
  border-color: var(--auren-guidance);
  background: var(--auren-surface-quiet);
}
/* Check circular Sage no canto superior direito do card selecionado. */
.auren-choice--dia:has(input:checked)::before {
  content: "";
  position: absolute;
  top: var(--auren-space-2);
  right: var(--auren-space-2);
  width: 1.125rem;
  height: 1.125rem;
  border-radius: var(--auren-radius-pill);
  background: var(--auren-guidance-text);
}
.auren-choice--dia:has(input:checked)::after {
  content: "";
  position: absolute;
  top: calc(var(--auren-space-2) + 0.3rem);
  right: calc(var(--auren-space-2) + 0.4rem);
  width: 0.28rem;
  height: 0.5rem;
  border-right: 2px solid var(--auren-surface);
  border-bottom: 2px solid var(--auren-surface);
  transform: rotate(45deg);
}
.auren-choice--dia:has(input:focus-visible) { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-note--apoio { margin: 0 0 var(--auren-space-5); }
.auren-surface + .auren-guidance { margin-top: var(--auren-space-5); }
.auren-main .auren-header { margin-bottom: var(--auren-space-7); }
.auren-guidance--icone { padding-top: var(--auren-space-5); padding-bottom: var(--auren-space-5); }
.auren-guidance + .auren-heading { margin-top: var(--auren-space-2); }
.auren-guidance__icone .auren-folha { width: 1.125rem; height: 0.75rem; margin: 0; }

/* --- semana do plano: um bloco por dia (details), o primeiro aberto ---------- */

.auren-semana { display: flex; flex-direction: column; gap: var(--auren-space-3); margin: 0 0 var(--auren-space-6); }
.auren-dia {
  background: var(--auren-surface);
  border-radius: var(--auren-radius-lg);
  box-shadow: var(--auren-shadow-sm);
  padding: var(--auren-space-5);
}
.auren-dia__resumo {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-right: var(--auren-space-6);
  list-style: none;
  cursor: pointer;
}
.auren-dia__resumo::-webkit-details-marker { display: none; }
/* Chevron discreto à direita; gira quando o dia está aberto. */
.auren-dia__resumo::after {
  content: "";
  position: absolute;
  right: var(--auren-space-1);
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1.5px solid var(--auren-text-muted);
  border-bottom: 1.5px solid var(--auren-text-muted);
  transform: translateY(-70%) rotate(45deg);
  transition: transform var(--auren-motion-fast) var(--auren-ease);
}
.auren-dia[open] .auren-dia__resumo::after { transform: translateY(-30%) rotate(-135deg); }
.auren-dia__resumo:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 4px; border-radius: var(--auren-radius-sm); }
.auren-dia__posicao {
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
.auren-dia__heading {
  font-family: var(--auren-font-display);
  font-size: var(--auren-size-xl);
  line-height: var(--auren-lh-tight);
  color: var(--auren-text);
}
.auren-dia__meta { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }
.auren-dia .auren-lista { margin-top: var(--auren-space-4); }
.auren-lista--exercicios li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--auren-space-3);
  padding: var(--auren-space-3) 0;
  border-top: var(--auren-border-w) solid var(--auren-border);
}
.auren-lista--exercicios .ex-nome { flex: 1 1 auto; }
.auren-lista--exercicios .ex-meta { flex: 0 0 auto; font-size: var(--auren-size-sm); color: var(--auren-text-secondary); white-space: nowrap; }
.auren-dia .auren-btn--text { margin-top: var(--auren-space-3); padding-left: 0; }
.auren-acoes { margin-top: var(--auren-space-6); }
.auren-acoes .auren-note { text-align: center; margin-top: var(--auren-space-2); }

/* --- Builder do treino atual (treino_atual.js renderiza estas classes) ---------
   O JS não mudou: só as classes/estrutura que ele já produz recebem a
   linguagem do produto — um card por dia, "Exercício N" por contador, o
   nome do exercício em Didot, prescrição em linha, ações discretas. */

#treino-atual-app .cartao-dia {
  background: var(--auren-surface);
  border-radius: var(--auren-radius-lg);
  box-shadow: var(--auren-shadow-sm);
  padding: var(--auren-space-5);
  margin: 0 0 var(--auren-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--auren-space-4);
  counter-reset: exercicio;
}
#treino-atual-app label {
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
/* Nome do dia: campo editorial, sem caixa. */
#treino-atual-app .cartao-dia > label { margin-bottom: calc(-1 * var(--auren-space-3)); }
#treino-atual-app .cartao-dia > input[type="text"] {
  font-family: var(--auren-font-display);
  font-size: var(--auren-size-xl);
  color: var(--auren-text);
  background: transparent;
  border: 0;
  border-bottom: var(--auren-border-w) solid var(--auren-border);
  border-radius: 0;
  padding: 0 0 var(--auren-space-2);
  min-height: var(--auren-touch);
}
#treino-atual-app .cartao-exercicio {
  background: var(--auren-surface-quiet);
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--auren-space-3);
  counter-increment: exercicio;
}
#treino-atual-app .cartao-exercicio::before {
  content: "Exercício " counter(exercicio);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
#treino-atual-app input[type="text"],
#treino-atual-app input[type="number"] {
  width: 100%;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-3);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
}
#treino-atual-app input::placeholder { color: var(--auren-text-muted); opacity: 1; }
#treino-atual-app input:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
#treino-atual-app input[type="number"] { text-align: center; }
/* Exercício escolhido: nome em Didot com a ação de trocar ao lado. */
#treino-atual-app .busca-exercicio { display: flex; flex-direction: column; gap: var(--auren-space-2); }
#treino-atual-app .busca-exercicio > .opcao {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--auren-space-3);
  font-size: var(--auren-size-md);
  color: var(--auren-text);
}
#treino-atual-app .busca-exercicio > .opcao strong {
  font-family: var(--auren-font-display);
  font-size: var(--auren-size-lg);
  font-weight: var(--auren-weight-regular);
  line-height: var(--auren-lh-snug);
}
/* Prescrição: Séries / Reps / Carga em linhas compactas, rótulo alinhado. */
#treino-atual-app .opcoes { display: flex; align-items: center; gap: var(--auren-space-2); flex-wrap: wrap; }
/* Rótulo da prescrição em linha própria; os campos numéricos ficam
   lado a lado embaixo — cabe em 375 sem quebrar "8 a 12". */
#treino-atual-app .opcoes > label { flex: 1 0 100%; margin-bottom: calc(-1 * var(--auren-space-1)); }
#treino-atual-app .opcoes input[type="number"] { width: 4.5rem; flex: 0 0 auto; }
/* Rótulos que são frases (busca, "Não sei") ficam em caixa normal. */
#treino-atual-app .busca-exercicio > label,
#treino-atual-app label.opcao { text-transform: none; letter-spacing: 0; font-size: var(--auren-size-sm); color: var(--auren-text-secondary); font-weight: var(--auren-weight-regular); }
#treino-atual-app .opcoes label.opcao { flex: 0 0 auto; margin: 0 0 0 var(--auren-space-2); }
#treino-atual-app .opcoes > span { color: var(--auren-text-muted); font-size: var(--auren-size-sm); }
#treino-atual-app .opcao { display: inline-flex; align-items: center; gap: var(--auren-space-2); font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }
#treino-atual-app .opcao input[type="checkbox"] { width: 1.125rem; height: 1.125rem; min-height: 0; accent-color: var(--auren-guidance-text); }
/* Resultados da busca: lista de escolhas, mesmo desenho dos choices. */
#treino-atual-app .resultados-busca { display: flex; flex-direction: column; gap: var(--auren-space-2); margin-top: var(--auren-space-1); }
#treino-atual-app .resultados-busca p { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); margin: 0; }
#treino-atual-app .resultados-busca button.opcao {
  width: 100%;
  justify-content: flex-start;
  min-height: var(--auren-touch);
  padding: var(--auren-space-3) var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-size: var(--auren-size-md);
  text-align: left;
}
/* Ações do builder: discretas (pílula leve); "+ Exercício" ocupa a largura. */
#treino-atual-app button {
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-4);
  border-radius: var(--auren-radius-pill);
  border: var(--auren-border-w) solid var(--auren-border);
  background: transparent;
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
  cursor: pointer;
  align-self: flex-start;
}
#treino-atual-app button:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
#treino-atual-app .cartao-dia > button { align-self: stretch; text-align: center; }
#treino-atual-app .cartao-exercicio > button,
#treino-atual-app .cartao-dia > button:last-child:not(:first-of-type) {
  border-color: transparent;
  color: var(--auren-text-secondary);
  padding-left: 0;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
#treino-atual-app .cartao-dia > button:last-child:not(:first-of-type) { align-self: center; text-align: center; }
#treino-atual-app .erro { color: var(--auren-error); font-size: var(--auren-size-sm); }
#treino-atual-app #botao-adicionar-dia { width: 100%; align-self: stretch; margin: 0 0 var(--auren-space-2); border-color: var(--auren-border); }
#treino-atual-app #botao-continuar,
#treino-atual-app .auren-btn:not(.auren-btn--secondary):not(.auren-btn--text) { width: 100%; align-self: stretch; background: var(--auren-action); color: var(--auren-text-on-inverse); border-color: var(--auren-action); font-size: var(--auren-size-md); }
#treino-atual-app .auren-btn--text { width: auto; align-self: center; border-color: transparent; }

/* =============================================================================
   Treino ativo (PASS 4A). Raiz `.treino.auren-treino`: as regras abaixo
   vencem as legadas de estilo.css (mesma especificidade, carregadas depois).
   Câmera (.camera-*) e descanso (#barra-descanso) continuam com o CSS
   legado, só alinhados aqui no que é cor/tipo.
   ============================================================================= */

.auren-treino {
  margin: 0;
  max-width: none;
  padding: 0 0 calc(var(--auren-space-8) + 4rem);
  font-size: var(--auren-size-md);
  line-height: var(--auren-lh-body);
  color: var(--auren-text);
}
/* Topo: wordmark + ações discretas; sem faixa branca fixa. */
.auren-treino .topo {
  position: static;
  background: transparent;
  border: 0;
  padding: 0;
  margin-bottom: var(--auren-space-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.auren-treino__acoes-topo { display: inline-flex; align-items: center; gap: var(--auren-space-2); }
.auren-treino .topo .discreto,
.auren-treino button.discreto {
  width: auto;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-3);
  background: transparent;
  border: 0;
  color: var(--auren-text-secondary);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.auren-treino .topo .dia { color: inherit; text-transform: none; letter-spacing: 0; }
.auren-treino__dia { text-transform: capitalize; margin-bottom: var(--auren-space-2); }
.auren-treino .progresso,
.auren-treino__progresso {
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
  margin: 0 0 var(--auren-space-2);
}
.auren-progress--treino { gap: var(--auren-space-1); margin-bottom: var(--auren-space-6); }

/* Exercício: um bloco por exercício; o aberto ganha superfície e sombra,
   os demais ficam quietos. */
.auren-treino .cartao {
  border: 0;
  border-radius: var(--auren-radius-lg);
  background: var(--auren-surface-quiet);
  margin: 0 0 var(--auren-space-3);
  padding: 0;
}
.auren-treino .cartao.aberto {
  background: var(--auren-surface);
  box-shadow: var(--auren-shadow-md);
}
.auren-treino .cartao-cabecalho {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  border: 0;
  gap: 2px;
  padding: var(--auren-space-4) var(--auren-space-5);
  cursor: pointer;
  position: relative;
}
.auren-treino .cartao-cabecalho:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: -2px; border-radius: var(--auren-radius-lg); }
.auren-exercicio__indice {
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
.auren-treino .cartao-cabecalho .nome {
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  color: var(--auren-text);
  padding-right: 0;
  text-align: left;
}
.auren-treino .cartao.aberto .auren-exercicio__heading {
  font-family: var(--auren-font-display);
  font-size: var(--auren-size-xl);
  padding-right: 5.5rem;
  font-weight: var(--auren-weight-regular);
  line-height: var(--auren-lh-tight);
}
/* Selo de estado (texto do JS): pílula quieta; "Concluído" em Sage. */
.auren-treino .cartao-cabecalho .selo {
  position: absolute;
  right: var(--auren-space-5);
  top: var(--auren-space-4);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-secondary);
  background: var(--auren-bg);
  border: 0;
  border-radius: var(--auren-radius-pill);
  padding: 2px var(--auren-space-2);
  max-width: none;
}
.auren-treino .cartao-cabecalho .selo:empty { display: none; }
.auren-treino .cartao-cabecalho .selo.pulado,
.auren-treino .cartao-cabecalho .selo.adiado { background: var(--auren-surface-quiet); color: var(--auren-text-muted); }
.auren-treino .cartao-cabecalho .selo.personalizado { background: var(--auren-guidance-soft); color: var(--auren-guidance-text); }
.auren-treino .cartao-corpo { padding: var(--auren-space-3) var(--auren-space-5) var(--auren-space-5); }
/* Rótulos soltos dos formulários (calibração): mesma voz dos demais. */
.auren-treino form > label:not(.opcao) {
  display: block;
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
  margin: var(--auren-space-4) 0 var(--auren-space-2);
}
/* A ação de filmar pertence ao exercício em foco; nos fechados fica
   fora da vista (o nó e o handler continuam os mesmos). */
.auren-treino .cartao:not(.aberto) .cartao-camera { display: none; }
/* Execution demo (Exercise Media Layer v1, P3C): poster + "Ver execução" no
   cartão aberto; o <video> só nasce no clique, um por vez (execucao_demo.js).
   16:9 sem corte sobre o Warm White do próprio asset; sem chrome, sem sombra. */
.auren-treino .cartao-execucao { margin: 0; padding: 0 var(--auren-space-5) var(--auren-space-3); }
.auren-treino .cartao:not(.aberto) .cartao-execucao { display: none; }
.auren-execucao__midia { aspect-ratio: 16 / 9; border-radius: var(--auren-radius-md); overflow: hidden; background: var(--auren-bg); }
.auren-execucao__poster,
.auren-execucao__video { display: block; width: 100%; height: 100%; object-fit: contain; }
.auren-execucao__poster[hidden] { display: none; }
.auren-execucao__midia[hidden] { display: none; }
.auren-execucao__acoes { margin: var(--auren-space-2) 0 0; padding: 0; }
.auren-execucao__acoes .auren-btn[hidden] { display: none; }
.auren-treino .cartao-corpo[hidden] { display: none; }

/* Prescrição: o que fazer, em linguagem compacta; carga em destaque. */
.auren-treino .prescricao { margin: 0 0 var(--auren-space-5); }
.auren-treino .prescricao .numeros {
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  color: var(--auren-text);
  margin: 0 0 var(--auren-space-2);
}
.auren-prescricao__carga {
  display: flex;
  align-items: baseline;
  gap: var(--auren-space-3);
  margin: var(--auren-space-2) 0 var(--auren-space-3);
}
.auren-prescricao__rotulo {
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
.auren-prescricao__valor { font-family: var(--auren-font-ui); font-size: var(--auren-size-xl); font-weight: var(--auren-weight-medium); font-variant-numeric: tabular-nums; line-height: 1; color: var(--auren-text); }
.auren-treino .prescricao .explicacao { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); margin: 0; }
.auren-treino .selo-personalizado,
.auren-treino .prescricao.personalizado .selo-personalizado,
.auren-treino .cartao-personalizado .selo-personalizado {
  display: inline-block;
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-guidance-text);
  background: var(--auren-guidance-soft);
  border: 0;
  border-radius: var(--auren-radius-pill);
  padding: 2px var(--auren-space-2);
  margin: 0 0 var(--auren-space-2);
}
.auren-treino .cartao-personalizado { padding: 0 var(--auren-space-5) var(--auren-space-5); }
.auren-treino .cartao-personalizado .ajuda { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); margin: 0; }

/* Séries: uma linha por série — número, dados, estado (texto + marca). */
.auren-treino .series-registradas,
.auren-treino .lista-series { margin: 0 0 var(--auren-space-5); border: 0; padding: 0; background: transparent; }
.auren-treino .lista-series .serie {
  display: grid;
  grid-template-columns: 4.25rem 1fr auto;
  align-items: center;
  gap: var(--auren-space-2);
  padding: var(--auren-space-3) 0;
  border-top: var(--auren-border-w) solid var(--auren-border);
  font-size: var(--auren-size-sm);
  color: var(--auren-text-secondary);
}
.auren-treino .lista-series .serie:last-child { border-bottom: var(--auren-border-w) solid var(--auren-border); }
.auren-treino .lista-series .serie-nome { font-weight: var(--auren-weight-medium); color: var(--auren-text); }
.auren-treino .lista-series .serie-dados { color: var(--auren-text); font-variant-numeric: tabular-nums; }
.auren-treino .lista-series .serie-status { font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; }
.auren-treino .lista-series .serie.salva .serie-status { color: var(--auren-guidance-text); }
.auren-treino .lista-series .serie.salvando .serie-status { color: var(--auren-text-muted); }
.auren-treino .lista-series .serie.nao_salva .serie-status { color: var(--auren-error); }
.auren-treino .lista-series .serie.nao_confirmada .serie-status { color: var(--auren-warning); }
.auren-treino .lista-series .serie.aguardando { color: var(--auren-text-muted); }
.auren-treino .lista-series .serie.aguardando .serie-nome { color: var(--auren-text-muted); font-weight: var(--auren-weight-regular); }

/* Status da série em curso: uma mensagem, um estado por vez. */
.auren-treino .status-serie {
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-3) var(--auren-space-4);
  margin: 0 0 var(--auren-space-4);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  border: 0;
}
.auren-treino .status-serie .apoio { font-size: var(--auren-size-sm); font-weight: var(--auren-weight-regular); }
.auren-treino .status-serie.salvando { background: var(--auren-surface-quiet); color: var(--auren-text-secondary); }
.auren-treino .status-serie.salva { background: var(--auren-guidance-soft); color: var(--auren-guidance-text); }
.auren-treino .status-serie.salva .apoio.aviso { color: var(--auren-warning); }
.auren-treino .status-serie.falhou { background: var(--auren-error-soft); color: var(--auren-error); }
.auren-treino .status-serie.desconhecido { background: var(--auren-warning-soft); color: var(--auren-warning); }

/* Registro da série: rótulos discretos, chips grandes, um CTA. */
.auren-serie-form__rotulo,
.auren-treino form > p {
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
  margin: var(--auren-space-4) 0 var(--auren-space-2);
}
.auren-treino .grade-opcoes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--auren-space-2);
  margin: 0 0 var(--auren-space-2);
}
.auren-treino .grade-opcoes button {
  width: auto;
  min-width: 3rem;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-3);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-regular);
  font-variant-numeric: tabular-nums;
}
.auren-treino .grade-opcoes button[aria-pressed="true"] {
  background: var(--auren-action);
  color: var(--auren-text-on-inverse);
  border-color: var(--auren-action);
  outline: 0;
  box-shadow: none;
}
.auren-treino .grade-opcoes button:not([aria-pressed="true"]) { opacity: 1; }
.auren-treino .grade-opcoes button:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-treino .campo-carga { display: flex; align-items: center; gap: var(--auren-space-2); margin: var(--auren-space-3) 0; }
.auren-treino .campo-carga input {
  width: 7rem;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-3);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-lg);
  text-align: center;
}
.auren-treino .campo-carga input:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-treino .link-discreto { width: auto; background: transparent; border: 0; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); padding: var(--auren-space-2) 0; margin: var(--auren-space-2) 0; text-decoration: underline; text-underline-offset: 0.2em; }
.auren-treino .cartao-corpo button.auren-btn,
.auren-treino .cartao-corpo button.auren-btn:disabled {
  width: 100%;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-5);
  border-radius: var(--auren-radius-pill);
  border: var(--auren-border-w) solid var(--auren-action);
  background: var(--auren-action);
  color: var(--auren-text-on-inverse);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  margin-top: var(--auren-space-4);
}
.auren-treino .cartao-corpo button.auren-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.auren-treino .cartao-corpo button.auren-btn--secondary { background: transparent; color: var(--auren-text); border-color: var(--auren-border); width: auto; margin-top: 0; }
.auren-treino .cartao-corpo button.auren-btn--text { background: transparent; border-color: transparent; color: var(--auren-text-secondary); width: auto; margin-top: 0; font-weight: var(--auren-weight-regular); }
/* Sessão avulsa (Preset Ad-Hoc Experience v1): o painel vive FORA dos cartões e
   herda o botão legado do treino; aqui a mesma hierarquia do corpo do cartão —
   um primário, secundários em contorno, textuais como link. */
.auren-treino #avulso-painel button.auren-btn,
.auren-treino #avulso-painel button.auren-btn:disabled {
  width: 100%;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-5);
  border-radius: var(--auren-radius-pill);
  border: var(--auren-border-w) solid var(--auren-action);
  background: var(--auren-action);
  color: var(--auren-text-on-inverse);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
  margin-top: 0;
}
.auren-treino #avulso-painel button.auren-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.auren-treino #avulso-painel button.auren-btn--secondary { background: transparent; color: var(--auren-text); border-color: var(--auren-border); }
.auren-treino #avulso-painel button.auren-btn--text { background: transparent; border-color: transparent; color: var(--auren-text-secondary); width: auto; align-self: center; font-weight: var(--auren-weight-regular); text-decoration: underline; text-underline-offset: 0.2em; }
.auren-treino #avulso-painel button.auren-troca__dia,
.auren-treino #avulso-painel button.auren-avulso__duracao { border-radius: var(--auren-radius-md); }
.auren-treino #avulso-painel button.auren-troca__dia[disabled] { opacity: 0.62; cursor: not-allowed; }
.auren-treino .opcao { display: inline-flex; align-items: center; gap: var(--auren-space-2); font-size: var(--auren-size-sm); color: var(--auren-text-secondary); margin: var(--auren-space-3) 0 0; }
.auren-treino .opcao input[type="checkbox"] { width: 1.125rem; height: 1.125rem; accent-color: var(--auren-guidance-text); }
.auren-treino .erro-inline { color: var(--auren-error); font-size: var(--auren-size-sm); margin: var(--auren-space-2) 0; }
.auren-treino .explicacao { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }

/* Rodapé do exercício: ações secundárias como texto; "Senti dor" claro
   mas calmo (só a palavra, sem alerta). */
.auren-treino .rodape-cartao {
  display: flex;
  gap: var(--auren-space-2);
  margin-top: var(--auren-space-5);
  padding-top: var(--auren-space-4);
  border-top: var(--auren-border-w) solid var(--auren-border);
}
.auren-treino .rodape-cartao--coluna { flex-direction: column; align-items: stretch; }
.auren-treino .rodape-cartao button {
  width: auto;
  flex: 1 1 auto;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-3);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-pill);
  background: transparent;
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
}
.auren-treino .rodape-cartao button.discreto { border-color: transparent; color: var(--auren-text-secondary); text-decoration: underline; text-underline-offset: 0.2em; }
.auren-treino button.perigo-texto {
  width: auto;
  background: transparent;
  border: 0;
  color: var(--auren-error);
  font-size: var(--auren-size-sm);
  padding: var(--auren-space-2) 0;
  margin-top: var(--auren-space-2);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.auren-treino .cartao-camera { padding: 0 var(--auren-space-5) var(--auren-space-4); }
.auren-treino .cartao-camera .discreto { padding-left: 0; }

/* Safety Integrity P0: exercício removido por segurança e aviso de
   avaliação desconhecida. Firme e calmo — Sage, nunca vermelho. */
.auren-treino .cartao-cabecalho .selo.removido { background: var(--auren-guidance-soft); color: var(--auren-guidance-text); }
.auren-treino .cartao.removido-seguranca .cartao-camera { display: none; }
.auren-aviso-seguranca {
  display: block;
  position: relative;
  background: var(--auren-guidance-soft);
  color: var(--auren-guidance-text);
  border-radius: var(--auren-radius-md);
  padding: var(--auren-space-3) var(--auren-space-4) var(--auren-space-3) calc(var(--auren-space-4) + 4px + var(--auren-space-3));
  font-size: var(--auren-size-sm);
  line-height: var(--auren-lh-snug);
  margin: 0 0 var(--auren-space-4);
}
.auren-aviso-seguranca::before { content: ""; position: absolute; left: var(--auren-space-4); top: var(--auren-space-3); bottom: var(--auren-space-3); width: 4px; border-radius: var(--auren-radius-pill); background: var(--auren-guidance); }
.auren-badge--seguranca { background: var(--auren-guidance-soft); color: var(--auren-guidance-text); }

/* Descanso: mesma barra e ids; só cor e tipo do sistema (PASS 4B redesenha). */
.auren-treino .descanso { background: var(--auren-surface-inverse); color: var(--auren-text-on-inverse); padding: var(--auren-space-4) var(--auren-gutter); }
.auren-treino .descanso .rotulo { color: var(--auren-text-on-inverse); opacity: 0.7; font-size: var(--auren-size-xs); letter-spacing: var(--auren-tracking-label); }
.auren-treino .descanso .tempo { font-family: var(--auren-font-ui); font-size: var(--auren-size-2xl); font-weight: var(--auren-weight-medium); }
.auren-treino .descanso button { width: auto; background: var(--auren-text-on-inverse); color: var(--auren-text); border: 0; border-radius: var(--auren-radius-pill); min-height: var(--auren-touch); padding: 0 var(--auren-space-4); font-size: var(--auren-size-sm); }

/* --- listas simples (Home, Plano) ---------------------------------------------------- */

.auren-lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.auren-lista li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--auren-space-3);
  padding: var(--auren-space-3) 0;
  border-bottom: var(--auren-border-w) solid var(--auren-border);
}

.auren-lista li:last-child { border-bottom: none; }
.auren-lista a { color: var(--auren-text); text-decoration: none; min-height: var(--auren-touch); display: inline-flex; align-items: center; }
.auren-lista--moment li { border-bottom-color: transparent; padding: var(--auren-space-2) 0; }

/* <details> "escolher outro treino": o summary é um botão de texto. */
.auren-escolher { margin: 0 0 var(--auren-space-6); }
.auren-escolher summary { list-style: none; cursor: pointer; display: inline-flex; }
.auren-escolher summary::-webkit-details-marker { display: none; }

/* --- utilitários mínimos ----------------------------------------------------------- */

.auren-tabular { font-variant-numeric: tabular-nums; }
.auren-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Exercise Calibration UX 2D-A — referência visual de reconhecimento na
   pergunta de cargas. Integrada à superfície: fundo quiet, raio do sistema,
   3:2 com teto de altura para não dominar o onboarding em 390px. Sem
   moldura, sem glow, sem texto sobre a foto. */
.auren-referencia-visual {
  margin: 0 0 var(--auren-space-5);
  border-radius: var(--auren-radius-md);
  overflow: hidden;
  background: var(--auren-surface-quiet);
  aspect-ratio: 3 / 2;
  max-height: 240px;
}
.auren-referencia-visual__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.auren-referencia-visual[hidden] { display: none; }
/* Nome do exercício como elemento editorial próprio, acima da pergunta. */
.auren-linear .auren-heading--exercicio { margin-bottom: var(--auren-space-2); }
.auren-field[hidden] { display: none; }

/* =============================================================================
   Profile & Account Hub (PROF-1, 2026-09-17). Editorial, calmo, sem
   "cartão em volta de cada linha": seções com rótulo em caixa alta, linhas
   finas de navegação com chevron, fatos em duas colunas, um único destaque
   Sage (Ajude a construir). Tudo em token; nenhuma cor nova.
   ============================================================================= */

/* Identidade: nome em Didot numa escala contida, e-mail mudo, ação discreta. */
.auren-identidade { margin: 0 0 var(--auren-space-7); }
.auren-heading--identidade {
  font-size: var(--auren-size-xl);
  line-height: var(--auren-lh-snug);
  margin: 0 0 var(--auren-space-1);
  overflow-wrap: anywhere;
}
.auren-identidade__email {
  margin: 0 0 var(--auren-space-3);
  color: var(--auren-text-secondary);
  font-size: var(--auren-size-sm);
  overflow-wrap: anywhere;
}
.auren-identidade__acao {
  display: inline-flex;
  align-items: center;
  min-height: var(--auren-touch);
  color: var(--auren-guidance-text);
  font-size: var(--auren-size-sm);
  font-weight: var(--auren-weight-medium);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Seção: rótulo em caixa alta, apoio opcional, fio superior fino. */
.auren-secao { margin: 0 0 var(--auren-space-7); }
.auren-secao > .auren-section-heading { margin-bottom: var(--auren-space-3); }
.auren-secao__apoio {
  margin: calc(-1 * var(--auren-space-1)) 0 var(--auren-space-4);
  color: var(--auren-text-secondary);
  font-size: var(--auren-size-sm);
}
.auren-texto { margin: 0 0 var(--auren-space-4); color: var(--auren-text); font-size: var(--auren-size-md); line-height: var(--auren-lh-body); }
.auren-texto:last-child { margin-bottom: 0; }
.auren-texto--vazio { color: var(--auren-text-muted); }
.auren-texto a, .auren-note a, .auren-lista-texto a, .auren-status a, .auren-guidance a { color: inherit; text-underline-offset: 0.2em; }
.auren-lista-texto { margin: 0; padding: 0 0 0 1.1em; display: flex; flex-direction: column; gap: var(--auren-space-3); color: var(--auren-text); line-height: var(--auren-lh-body); }

/* Fatos: rótulo à esquerda (mudo), valor à direita (texto), fio entre linhas. */
.auren-fatos { margin: 0; display: flex; flex-direction: column; }
.auren-fato {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--auren-space-4);
  padding: var(--auren-space-3) 0;
  border-top: var(--auren-border-w) solid var(--auren-border);
}
.auren-fato:first-child { border-top: 0; }
.auren-fato__rotulo { flex: 0 0 auto; margin: 0; color: var(--auren-text-muted); font-size: var(--auren-size-sm); }
.auren-fato__valor { flex: 1 1 auto; margin: 0; text-align: right; color: var(--auren-text); font-size: var(--auren-size-md); overflow-wrap: anywhere; }
.auren-fato__valor--vazio { color: var(--auren-text-muted); font-style: italic; }
.auren-fato__motivo { margin: calc(-1 * var(--auren-space-2)) 0 var(--auren-space-3); color: var(--auren-text-muted); font-size: var(--auren-size-xs); line-height: var(--auren-lh-snug); }

/* Card do perfil de treino: a única superfície "inteligente" do hub. */
.auren-perfil-treino {
  background: var(--auren-surface);
  border-radius: var(--auren-radius-lg);
  box-shadow: var(--auren-shadow-sm);
  padding: var(--auren-space-4) var(--auren-space-5) var(--auren-space-5);
}
.auren-perfil-treino .auren-fato { padding: var(--auren-space-3) 0; }
.auren-perfil-treino__nota { margin: var(--auren-space-3) 0 0; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }
.auren-perfil-treino__acao, .auren-plano-resumo__acao { margin-top: var(--auren-space-4); }

/* Resumo do plano: texto, sem card. */
.auren-plano-resumo { padding: 0; }
.auren-plano-resumo__titulo {
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-lg);
  font-weight: var(--auren-weight-medium);
  margin: 0 0 var(--auren-space-1);
}
.auren-plano-resumo__meta { margin: 0 0 var(--auren-space-2); color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }
.auren-plano-resumo__dias { margin: 0; color: var(--auren-text); font-size: var(--auren-size-md); }

/* Linhas de navegação: alvo inteiro, fio fino, chevron mudo à direita. */
.auren-linhas { list-style: none; margin: 0; padding: 0; border-top: var(--auren-border-w) solid var(--auren-border); }
.auren-linha { border-bottom: var(--auren-border-w) solid var(--auren-border); }
.auren-linha__acao,
.auren-linha--estatica {
  display: flex;
  align-items: center;
  gap: var(--auren-space-3);
  min-height: var(--auren-touch);
  padding: var(--auren-space-3) 0;
  color: var(--auren-text);
  text-decoration: none;
}
.auren-linha__acao:hover .auren-linha__rotulo { text-decoration: underline; text-underline-offset: 0.2em; }
.auren-linha__acao:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; border-radius: var(--auren-radius-sm); }
.auren-linha__texto { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.auren-linha__rotulo { font-size: var(--auren-size-md); color: var(--auren-text); }
.auren-linha__apoio { font-size: var(--auren-size-sm); color: var(--auren-text-muted); overflow-wrap: anywhere; }
.auren-linha__valor { flex: 0 0 auto; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); font-variant-numeric: tabular-nums; }
.auren-linha__chevron {
  flex: 0 0 auto;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: var(--auren-space-1);
  border-right: 1.5px solid var(--auren-text-muted);
  border-top: 1.5px solid var(--auren-text-muted);
  transform: rotate(45deg);
}
.auren-linha .auren-badge { flex: 0 0 auto; }

/* Destaque Sage: "Ajude a construir o AUREN". Guidance-soft, sem sombra. */
.auren-contribuir {
  background: var(--auren-guidance-soft);
  border-radius: var(--auren-radius-lg);
  padding: var(--auren-space-5);
  color: var(--auren-guidance-text);
}
.auren-contribuir__titulo {
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-lg);
  font-weight: var(--auren-weight-medium);
  color: var(--auren-text);
  margin: 0 0 var(--auren-space-1);
}
.auren-contribuir__texto { margin: 0 0 var(--auren-space-4); color: var(--auren-guidance-text); font-size: var(--auren-size-md); }
.auren-contribuir__acoes { display: flex; flex-direction: column; gap: var(--auren-space-2); }
.auren-contribuir__btn { width: 100%; }
.auren-contribuir .auren-btn--secondary { background: var(--auren-surface); border-color: transparent; }
.auren-contribuir--confirmacao { margin: 0 0 var(--auren-space-5); }
.auren-contribuir--confirmacao .auren-contribuir__texto { margin-bottom: 0; }

/* Sair: ação final, discreta, centralizada. */
.auren-sair { display: flex; justify-content: center; margin: var(--auren-space-2) 0 0; }
.auren-sair .auren-btn--text { color: var(--auren-text-secondary); }

/* Subtelas: voltar à esquerda, wordmark à direita; título em Didot menor. */
.auren-header--subtela { justify-content: space-between; }
.auren-voltar {
  display: inline-flex;
  align-items: center;
  gap: var(--auren-space-1);
  min-height: var(--auren-touch);
  color: var(--auren-text-secondary);
  font-size: var(--auren-size-sm);
  text-decoration: none;
}
.auren-voltar span:last-child { text-decoration: underline; text-underline-offset: 0.2em; }
.auren-voltar:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; border-radius: var(--auren-radius-sm); }
.auren-heading--subtela { font-size: var(--auren-size-xl); line-height: var(--auren-lh-snug); margin-bottom: var(--auren-space-3); }
.auren-heading--subtela + .auren-lead { margin-bottom: var(--auren-space-6); }

/* "Dado atual": rótulo mudo em cima, valor embaixo (e-mail, sessões). */
.auren-dado-atual { display: flex; flex-direction: column; gap: 2px; margin: 0 0 var(--auren-space-4); }
.auren-dado-atual__rotulo { font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-text-muted); }
.auren-dado-atual__valor { font-size: var(--auren-size-md); color: var(--auren-text); overflow-wrap: anywhere; }
.auren-pendente { margin: 0 0 var(--auren-space-4); }
.auren-pendente__titulo { margin: 0 0 var(--auren-space-1); font-weight: var(--auren-weight-medium); }
.auren-pendente__texto { margin: 0 0 var(--auren-space-2); color: var(--auren-text-secondary); font-size: var(--auren-size-sm); overflow-wrap: anywhere; }
.auren-note--antes-form { margin: 0 0 var(--auren-space-4); }
.auren-secao form .auren-btn { margin-top: var(--auren-space-2); }
.auren-secao form + .auren-note { margin-top: var(--auren-space-4); }
.auren-form-perfil .auren-question__title { font-size: var(--auren-size-md); }
.auren-choices--compactas .auren-choice { padding: var(--auren-space-3) var(--auren-space-4); }

/* FAQ: <details> com fio, sem marcador nativo. */
.auren-faq { border-top: var(--auren-border-w) solid var(--auren-border); padding: var(--auren-space-3) 0; }
.auren-faq:last-of-type { border-bottom: var(--auren-border-w) solid var(--auren-border); }
.auren-faq summary { list-style: none; cursor: pointer; min-height: var(--auren-touch); display: flex; align-items: center; justify-content: space-between; gap: var(--auren-space-3); font-weight: var(--auren-weight-medium); color: var(--auren-text); }
.auren-faq summary::-webkit-details-marker { display: none; }
.auren-faq summary::after { content: ""; flex: 0 0 auto; width: 0.5rem; height: 0.5rem; border-right: 1.5px solid var(--auren-text-muted); border-bottom: 1.5px solid var(--auren-text-muted); transform: rotate(45deg); transition: transform var(--auren-motion-fast) var(--auren-ease); }
.auren-faq[open] summary::after { transform: rotate(-135deg); }
.auren-faq summary:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; border-radius: var(--auren-radius-sm); }
.auren-faq p { margin: var(--auren-space-2) 0 var(--auren-space-2); color: var(--auren-text-secondary); line-height: var(--auren-lh-body); }

/* Destrutivo: claramente diferente do primário — contorno terroso, nunca
   um botão cheio. */
.auren-btn--perigo { background: transparent; color: var(--auren-error); border-color: var(--auren-error); }
.auren-btn--perigo:hover { background: var(--auren-error-soft); border-color: var(--auren-error); }
.auren-choice--confirmacao { align-items: flex-start; margin: 0 0 var(--auren-space-4); }
.auren-choice--confirmacao .auren-choice__title { font-weight: var(--auren-weight-regular); font-size: var(--auren-size-sm); }
.auren-lista--sessoes li { border-bottom: var(--auren-border-w) solid var(--auren-border); }
.auren-lista--sessoes .ex-meta { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); white-space: nowrap; }
.auren-note--exportar { margin: var(--auren-space-3) 0 var(--auren-space-7); }

/* --- Perfil (UX correction, 2026-09-17): herói do atleta e saídas ---------------
   O Perfil é editorial: um card branco para "quem eu sou para o AUREN",
   objetivo em Didot, ritmo em UI, contexto compacto, segurança só quando
   existe. As linhas com chevron ficam em Configurações. */
.auren-atleta {
  background: var(--auren-surface);
  border-radius: var(--auren-radius-lg);
  box-shadow: var(--auren-shadow-md);
  padding: var(--auren-space-5) var(--auren-space-5) var(--auren-space-5);
  margin: 0 0 var(--auren-space-7);
}
.auren-atleta > .auren-section-heading { margin-bottom: var(--auren-space-3); }
.auren-heading--atleta { font-size: var(--auren-size-2xl); line-height: var(--auren-lh-tight); margin: 0 0 var(--auren-space-1); }
.auren-atleta__experiencia { margin: 0 0 var(--auren-space-4); color: var(--auren-text-secondary); font-size: var(--auren-size-md); }
.auren-atleta__ritmo { margin: 0; color: var(--auren-text); font-size: var(--auren-size-lg); font-weight: var(--auren-weight-medium); font-variant-numeric: tabular-nums; }
.auren-atleta__ambiente { margin: 0 0 var(--auren-space-4); color: var(--auren-text-secondary); font-size: var(--auren-size-md); }
.auren-atleta__contexto { margin: 0 0 var(--auren-space-4); padding: var(--auren-space-3) 0 0; border-top: var(--auren-border-w) solid var(--auren-border); display: flex; flex-direction: column; gap: var(--auren-space-2); }
.auren-atleta__contexto div { display: flex; justify-content: space-between; gap: var(--auren-space-4); align-items: baseline; }
.auren-atleta__contexto dt { margin: 0; flex: 0 0 auto; color: var(--auren-text-muted); font-size: var(--auren-size-sm); }
.auren-atleta__contexto dd { margin: 0; flex: 1 1 auto; text-align: right; color: var(--auren-text); font-size: var(--auren-size-sm); overflow-wrap: anywhere; }
.auren-atleta__seguranca { margin: 0 0 var(--auren-space-4); display: flex; align-items: center; gap: var(--auren-space-2); flex-wrap: wrap; color: var(--auren-text); font-size: var(--auren-size-sm); }
.auren-atleta__apoio { margin: 0 0 var(--auren-space-3); color: var(--auren-text-muted); font-size: var(--auren-size-sm); }
.auren-atleta__acao { margin: 0; }
/* Plano: resumo em texto, ação de texto com seta. */
.auren-plano-resumo { margin: 0 0 var(--auren-space-7); }
.auren-plano-resumo > .auren-section-heading { margin-bottom: var(--auren-space-2); }
.auren-plano-resumo__acao { padding-left: 0; margin-top: var(--auren-space-2); text-decoration: none; color: var(--auren-text); font-weight: var(--auren-weight-medium); }
/* Duas saídas do Perfil: mesma linha fina, sem rótulo de seção acima. */
.auren-linhas--perfil { margin: 0 0 var(--auren-space-5); }
/* Configurações: respiro entre o título e o primeiro rótulo de seção. */
.auren-heading--subtela + .auren-secao,
.auren-heading--subtela + .auren-status + .auren-secao { margin-top: var(--auren-space-6); }

/* =============================================================================
   Evolução (EVO-1, 2026-09-17). Mesma linguagem do Perfil: três valores
   editoriais, um card branco para "Seu progresso" com gráfico SVG mínimo
   (barras Sage, traço de meta Stone, semana corrente mais clara, Gold só
   quando a meta foi atingida), linhas finas para sessões, orientação do
   treinador ao fim. Nada de grid, eixos, legenda de seis cores.
   ============================================================================= */
.auren-evo-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--auren-space-3); margin: 0 0 var(--auren-space-2); }
.auren-kpi { min-width: 0; padding: var(--auren-space-3) 0 0; border-top: var(--auren-border-w) solid var(--auren-border); }
.auren-kpi__valor { margin: 0; font-family: var(--auren-font-ui); font-size: var(--auren-size-2xl); font-weight: var(--auren-weight-medium); line-height: var(--auren-lh-tight); color: var(--auren-text); }
.auren-kpi__rotulo { margin: var(--auren-space-1) 0 0; font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-text-muted); overflow-wrap: anywhere; }
.auren-kpi--moment .auren-kpi__valor { color: var(--auren-moment-text); }
.auren-evo-resumo__nota { margin: 0 0 var(--auren-space-7); color: var(--auren-text-muted); font-size: var(--auren-size-sm); }

.auren-evo-progresso { background: var(--auren-surface); border-radius: var(--auren-radius-lg); box-shadow: var(--auren-shadow-md); padding: var(--auren-space-5); margin: 0 0 var(--auren-space-7); }
.auren-evo-progresso__topo { display: flex; align-items: center; justify-content: space-between; gap: var(--auren-space-3); margin: 0 0 var(--auren-space-3); }
.auren-evo-progresso__topo .auren-section-heading { margin: 0; }
.auren-segmentos { display: inline-flex; gap: 2px; padding: 2px; border-radius: var(--auren-radius-pill); background: var(--auren-surface-quiet); }
.auren-segmentos__item { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 var(--auren-space-3); border-radius: var(--auren-radius-pill); color: var(--auren-text-secondary); font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); text-decoration: none; white-space: nowrap; }
.auren-segmentos__item--ativo { background: var(--auren-surface); color: var(--auren-text); box-shadow: var(--auren-shadow-sm); }
.auren-segmentos__item:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-segmentos--metrica { margin: 0 0 var(--auren-space-4); }
.auren-grafico { margin: 0 0 var(--auren-space-4); }
.auren-grafico svg { display: block; width: 100%; height: auto; overflow: visible; }
.auren-grafico__base { stroke: var(--auren-border); stroke-width: 1; }
.auren-grafico__meta { stroke: var(--auren-border-strong); stroke-width: 1; stroke-dasharray: 3 3; }
.auren-grafico__barra { fill: var(--auren-guidance); }
.auren-grafico__barra--corrente { fill: var(--auren-guidance-soft); stroke: var(--auren-guidance); stroke-width: 1; }
.auren-grafico__barra--moment { fill: var(--auren-moment); }
.auren-grafico__valor { font-family: var(--auren-font-ui); font-size: 10px; fill: var(--auren-text-secondary); }
.auren-grafico__rotulo { font-family: var(--auren-font-ui); font-size: 9px; fill: var(--auren-text-muted); }
.auren-grafico__legenda { margin: var(--auren-space-2) 0 0; color: var(--auren-text-muted); font-size: var(--auren-size-xs); }
.auren-evo-insight { margin: 0 0 var(--auren-space-3); padding-top: var(--auren-space-4); border-top: var(--auren-border-w) solid var(--auren-border); color: var(--auren-text); font-size: var(--auren-size-md); line-height: var(--auren-lh-body); }
.auren-evo-comparacao { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--auren-space-1); color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }
.auren-evo-aumentos { margin: var(--auren-space-4) 0 0; color: var(--auren-text); font-size: var(--auren-size-sm); line-height: var(--auren-lh-body); }
.auren-evo-sessoes, .auren-evo-tecnica { margin: 0 0 var(--auren-space-7); }
.auren-evo-sessoes__todas { padding-left: 0; margin-top: var(--auren-space-2); text-decoration: none; color: var(--auren-text); font-weight: var(--auren-weight-medium); }
.auren-evo-passo { margin: 0 0 var(--auren-space-5); }
.auren-evo-passo a { color: inherit; font-weight: var(--auren-weight-medium); text-underline-offset: 0.2em; }
/* Detalhe de sessão */
.auren-evo-exercicio { margin: 0 0 var(--auren-space-6); }
.auren-evo-exercicio__nome { font-family: var(--auren-font-ui); font-size: var(--auren-size-lg); font-weight: var(--auren-weight-medium); margin: 0 0 var(--auren-space-2); }
.auren-evo-series { list-style: none; margin: 0; padding: 0; }
.auren-evo-serie { display: flex; align-items: baseline; gap: var(--auren-space-3); padding: var(--auren-space-2) 0; border-top: var(--auren-border-w) solid var(--auren-border); font-size: var(--auren-size-sm); }
.auren-evo-serie__ordem { flex: 0 0 4.5rem; color: var(--auren-text-muted); }
.auren-evo-serie__dados { flex: 1 1 auto; color: var(--auren-text); }

/* =============================================================================
   Home + Plano — sistema visual compartilhado (2026-09-18, pass de fidelidade
   à referência do fundador). Herói editorial com painel visual, CTA preto em
   pílula, faixa Sage de status, card quente de coaching, ícones em círculo,
   linhas finas de ajuste, chips de dia do programa. Tudo em token.
   ============================================================================= */

/* Ícone em círculo de superfície (todos os cards da referência). */
.auren-icone { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: var(--auren-radius-pill); background: var(--auren-surface); color: var(--auren-text-secondary); box-shadow: var(--auren-shadow-sm); }
.auren-icone svg { width: 1.25rem; height: 1.25rem; }
.auren-icone--sage { color: var(--auren-guidance-text); }
.auren-icone--quente { background: var(--auren-surface); color: var(--auren-guidance-text); }

/* Saudação: Didot grande à esquerda, lema mudo à direita, folhagem atrás. */
.auren-saudacao { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: var(--auren-space-4); margin: 0 0 var(--auren-space-2); }
.auren-saudacao .auren-heading--hero { margin: 0; font-size: var(--auren-size-display); line-height: 1.02; }
.auren-saudacao__momento { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: var(--auren-space-2); margin: 0 0 var(--auren-space-2); max-width: 9.5rem; }
.auren-saudacao__momento .auren-ornamento { margin: 0; gap: var(--auren-space-2); }
.auren-saudacao__momento .auren-folha { width: 1.1rem; height: 0.7rem; }
.auren-saudacao__lema { font-size: 0.6rem; font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-text-muted); line-height: 1.5; }
.auren-saudacao__momento .auren-ornamento__fio { width: 2.5rem; }
.auren-folhagem-saudacao { position: absolute; right: calc(-1 * var(--auren-gutter) + 0.25rem); top: -1.25rem; width: 6.25rem; height: auto; color: var(--auren-guidance); opacity: 0.28; pointer-events: none; z-index: 0; }
.auren-saudacao__texto, .auren-saudacao__momento { position: relative; z-index: 1; }
.auren-saudacao__apoio { margin: 0 0 var(--auren-space-5); }
@media (max-width: 359px) { .auren-saudacao__momento { display: none; } }

/* Herói do treino: texto à esquerda, painel editorial à direita, CTA preto. */
[data-hero="treino"] { position: relative; overflow: hidden; padding: var(--auren-space-5) var(--auren-space-5) var(--auren-space-5); min-height: 16rem; }
[data-hero="treino"] .auren-hero__texto { position: relative; z-index: 1; max-width: 62%; display: flex; flex-direction: column; gap: var(--auren-space-2); }
[data-hero="treino"] .auren-hero__titulo { font-size: var(--auren-size-headline); line-height: var(--auren-lh-tight); margin: 0 0 var(--auren-space-1); }
[data-hero="treino"] .auren-section-heading { margin-bottom: var(--auren-space-2); }
.auren-hero__meta { margin: 0 0 var(--auren-space-3); color: var(--auren-text-secondary); font-size: var(--auren-size-sm); overflow-wrap: anywhere; }
.auren-hero__metas { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--auren-space-2) var(--auren-space-4); }
.auren-hero__metas li { display: inline-flex; align-items: center; gap: var(--auren-space-2); white-space: nowrap; }
.auren-hero__icone { display: inline-flex; width: 1.1rem; height: 1.1rem; color: var(--auren-text-secondary); }
.auren-hero__icone svg { width: 100%; height: 100%; }
[data-hero="treino"] .auren-hero__texto > .auren-btn { width: auto; align-self: flex-start; min-width: 14rem; margin: var(--auren-space-2) 0 0; padding: 0 var(--auren-space-5); position: relative; z-index: 2; }
[data-hero="treino"] .auren-hero__texto .auren-btn__seta { margin-left: var(--auren-space-2); }
/* Estados sem painel (bloqueio, sessão anterior) usam a largura toda. */
[data-hero="treino"] > .auren-section-heading, [data-hero="treino"] > .auren-heading, [data-hero="treino"] > .auren-lead, [data-hero="treino"] > .auren-note, [data-hero="treino"] > form, [data-hero="treino"] > .auren-hero__meta, [data-hero="treino"] > .auren-btn { position: relative; z-index: 1; }

/* Painel editorial: superfície quente, objeto escuro com "AUREN", sombra. */
.auren-painel { position: absolute; top: 0; right: 0; bottom: 0; width: 42%; border-radius: 0 var(--auren-radius-lg) var(--auren-radius-lg) 0; overflow: hidden; background: var(--auren-surface-warm); }
.auren-painel__cena { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.auren-painel__fundo { fill: var(--auren-surface-warm); }
.auren-painel__luz { fill: var(--auren-surface); opacity: 0.55; }
.auren-painel__sombra { fill: var(--auren-soft-black); opacity: 0.12; }
.auren-painel__objeto { fill: var(--auren-soft-black); }
.auren-painel__objeto-brilho { fill: var(--auren-text-secondary); opacity: 0.35; }
.auren-painel__marca { font-family: var(--auren-font-ui); font-size: 7.5px; letter-spacing: 0.22em; fill: var(--auren-stone); opacity: 0.85; }
.auren-painel__objeto-borda { fill: none; stroke: var(--auren-text-secondary); stroke-width: 1; opacity: 0.5; }
.auren-painel__heading { position: absolute; left: var(--auren-space-4); top: var(--auren-space-4); margin: 0; max-width: 55%; font-family: var(--auren-font-display); font-style: italic; font-size: var(--auren-size-md); line-height: var(--auren-lh-snug); color: var(--auren-text); }
.auren-painel--escuro { background: var(--auren-surface-inverse); }
.auren-painel--escuro .auren-painel__fundo { fill: var(--auren-surface-inverse); }
.auren-painel--escuro .auren-painel__luz { fill: var(--auren-text-secondary); opacity: 0.25; }
.auren-painel--escuro .auren-painel__objeto { fill: var(--auren-action-hover); }
.auren-painel--escuro .auren-painel__marca { fill: var(--auren-text-muted); }
.auren-painel--escuro .auren-painel__heading { color: var(--auren-text-on-inverse); }

/* Link editorial (Ver plano completo). */
.auren-link-editorial { display: inline-flex; align-items: center; min-height: var(--auren-touch); color: var(--auren-text); font-size: var(--auren-size-md); text-decoration: underline; text-underline-offset: 0.25em; text-decoration-thickness: 1px; }
.auren-home-plano { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 var(--auren-space-4); margin: var(--auren-space-1) 0 var(--auren-space-4); }
.auren-home-plano__outro summary { font-size: var(--auren-size-sm); color: var(--auren-text-muted); }
.auren-home-plano__outro .auren-note, .auren-home-plano__outro .auren-lista { flex-basis: 100%; }
.auren-home-plano__outro[open] { flex-basis: 100%; }
.auren-home-plano .auren-escolher { margin: 0; }
.auren-home-plano .auren-escolher summary { padding-left: 0; }

/* Faixa Sage de status: ícone em círculo, duas linhas, barra à esquerda. */
.auren-guidance[data-faixa="semana"] { margin: 0 0 var(--auren-space-4); padding-top: var(--auren-space-4); padding-bottom: var(--auren-space-4); }
.auren-guidance[data-faixa="semana"] .auren-guidance__icone { background: var(--auren-surface); width: 3rem; height: 3rem; }
.auren-faixa-semana__apoio { display: block; margin-top: 2px; font-size: var(--auren-size-sm); color: var(--auren-guidance-text); }

/* Card quente de coaching (Ajustes, Dica): superfície warm, ícone, linhas. */
.auren-coach { background: var(--auren-surface-warm); border-radius: var(--auren-radius-lg); padding: var(--auren-space-5); margin: 0 0 var(--auren-space-4); }
.auren-coach__topo { display: flex; align-items: flex-start; gap: var(--auren-space-4); }
.auren-coach__topo .auren-section-heading { margin: var(--auren-space-1) 0 var(--auren-space-1); }
.auren-coach__apoio { margin: 0; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); line-height: var(--auren-lh-body); }
.auren-ajustes__lista { list-style: none; margin: var(--auren-space-4) 0 0; padding: 0; border-top: var(--auren-border-w) solid var(--auren-border); }
.auren-ajuste { display: flex; justify-content: space-between; align-items: baseline; gap: var(--auren-space-3); padding: var(--auren-space-3) 0; border-bottom: var(--auren-border-w) solid var(--auren-border); font-size: var(--auren-size-md); }
.auren-ajuste:last-child { border-bottom: 0; padding-bottom: 0; }
.auren-ajuste__nome { flex: 1 1 auto; color: var(--auren-text); min-width: 0; overflow-wrap: anywhere; }
.auren-ajuste__valor { flex: 0 0 auto; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }
.auren-ajuste--aumento .auren-ajuste__valor { color: var(--auren-text); font-weight: var(--auren-weight-medium); }
.auren-ajuste--seguranca .auren-ajuste__valor { color: var(--auren-guidance-text); }

/* Câmera: card Sage compacto — ícone, texto, CTA contornado. */
.auren-camera-home { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: center; gap: var(--auren-space-3); background: var(--auren-guidance-soft); border-radius: var(--auren-radius-lg); padding: var(--auren-space-4); margin: 0 0 var(--auren-space-5); }
.auren-camera-home__corpo { flex: 1 1 auto; min-width: 0; }
.auren-camera-home .auren-section-heading { margin: 0 0 2px; color: var(--auren-guidance-text); white-space: nowrap; }
.auren-camera-home__texto { margin: 0; color: var(--auren-guidance-text); font-size: var(--auren-size-sm); line-height: var(--auren-lh-snug); }
.auren-camera-home__texto a { color: inherit; text-underline-offset: 0.2em; }
.auren-camera-home__cta { background: var(--auren-surface); border-color: var(--auren-border-strong); white-space: nowrap; min-height: 2.5rem; padding: 0 var(--auren-space-3); font-size: var(--auren-size-xs); }
.auren-camera-home__texto { font-size: var(--auren-size-xs); }

/* Última sessão: linha mudinha, centralizada. */
.auren-ultima-sessao { margin: 0 0 var(--auren-space-4); text-align: center; }
.auren-ultima-sessao a { color: var(--auren-text-secondary); text-underline-offset: 0.2em; }

/* --- Plano (pass de fidelidade): header com pílula, chips de dia, herói,
   faixa de ciclo, cards do programa, cards de apoio, ajustes com ícone. --- */
.auren-header__pilula { display: inline-flex; align-items: center; gap: var(--auren-space-2); min-height: 2.5rem; padding: 0 var(--auren-space-4); border: var(--auren-border-w) solid var(--auren-border-strong); border-radius: var(--auren-radius-pill); background: var(--auren-surface); color: var(--auren-text); font-size: var(--auren-size-sm); font-weight: var(--auren-weight-medium); text-decoration: none; }
.auren-header__pilula svg { width: 1rem; height: 1rem; }
.auren-header__pilula:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-plano__titulo { margin: 0 0 var(--auren-space-1); }
.auren-plano__sub { margin: 0 0 var(--auren-space-5); }
.auren-plano__sub .auren-badge { margin-left: var(--auren-space-2); vertical-align: middle; }
/* Chips de dia do programa: cápsula vertical; selecionado em Sage. */
.auren-dias { display: flex; gap: var(--auren-space-2); margin: 0 0 var(--auren-space-4); overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.auren-dias::-webkit-scrollbar { display: none; }
.auren-dia-chip { flex: 1 0 4.1rem; display: flex; flex-direction: column; align-items: center; gap: 2px; min-height: 4.75rem; padding: var(--auren-space-3) var(--auren-space-2); border-radius: var(--auren-radius-md); background: var(--auren-surface); border: var(--auren-border-w) solid var(--auren-border); color: var(--auren-text-secondary); text-decoration: none; text-align: center; }
.auren-dia-chip__rotulo { font-size: 0.6rem; font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; }
.auren-dia-chip__numero { font-family: var(--auren-font-ui); font-size: var(--auren-size-lg); font-weight: var(--auren-weight-medium); color: var(--auren-text); line-height: 1.1; }
.auren-dia-chip__ponto { width: 0.4rem; height: 0.4rem; border-radius: var(--auren-radius-pill); background: var(--auren-border-strong); margin-top: 2px; }
.auren-dia-chip--feito .auren-dia-chip__ponto, .auren-dia-chip--aberto .auren-dia-chip__ponto { background: var(--auren-guidance-text); }
.auren-dia-chip--selecionado { background: var(--auren-guidance); border-color: var(--auren-guidance); color: var(--auren-text-on-inverse); }
.auren-dia-chip--selecionado .auren-dia-chip__numero { color: var(--auren-text-on-inverse); }
.auren-dia-chip--selecionado .auren-dia-chip__ponto { background: var(--auren-text-on-inverse); }
.auren-dia-chip:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
/* Herói do plano: painel escuro à direita do título, métricas, dois CTAs. */
.auren-plano-hero { position: relative; margin: 0 0 var(--auren-space-4); padding: var(--auren-space-5); }
.auren-plano-hero__topo { display: grid; grid-template-columns: minmax(0, 1fr) 42%; gap: var(--auren-space-4); align-items: stretch; margin: 0 0 var(--auren-space-4); }
.auren-plano-hero__topo .auren-painel { position: relative; width: auto; min-height: 8rem; border-radius: var(--auren-radius-md); }
.auren-plano-hero__titulo { font-size: var(--auren-size-headline); line-height: var(--auren-lh-tight); margin: 0 0 var(--auren-space-1); }
.auren-plano-hero__regioes { margin: 0; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }
/* Propósito do papel (PROGRAM STRATEGY FOUNDATION v1): frase derivada das regras, sem jargão de divisão. */
.auren-plano-hero__proposito, .auren-hero__proposito { margin: 0 0 4px; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); }
.auren-prescricao-item [data-proposito-dia] { display: block; }
.auren-plano-hero__seguranca { margin: var(--auren-space-2) 0 0; font-size: var(--auren-size-xs); color: var(--auren-text-secondary); line-height: var(--auren-lh-snug); }
.auren-plano-hero__seguranca .auren-badge { font-size: 0.55rem; vertical-align: middle; }
.auren-metricas { list-style: none; margin: 0 0 var(--auren-space-4); padding: var(--auren-space-3) 0; border-top: var(--auren-border-w) solid var(--auren-border); border-bottom: var(--auren-border-w) solid var(--auren-border); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--auren-space-3); }
.auren-metricas li { display: flex; align-items: center; gap: var(--auren-space-2); min-width: 0; }
.auren-metricas__icone { display: none; }
@media (min-width: 420px) { .auren-metricas__icone { display: inline-flex; } }
.auren-metricas li + li { border-left: var(--auren-border-w) solid var(--auren-border); padding-left: var(--auren-space-3); }
.auren-metricas__icone { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; color: var(--auren-text-secondary); }
.auren-metricas__icone svg { width: 100%; height: 100%; }
.auren-metricas__texto { display: flex; flex-direction: column; min-width: 0; }
.auren-metricas__valor { font-size: var(--auren-size-sm); font-weight: var(--auren-weight-medium); color: var(--auren-text); line-height: 1.2; }
.auren-metricas__rotulo { font-size: var(--auren-size-xs); color: var(--auren-text-muted); }
.auren-plano-hero .auren-btn + .auren-btn { margin-top: var(--auren-space-2); }
.auren-plano-hero .auren-btn--secondary { background: var(--auren-surface); }
.auren-plano-hero .auren-btn--concluido { background: var(--auren-guidance-soft); border-color: var(--auren-guidance-soft); color: var(--auren-guidance-text); cursor: default; }
/* Faixa do ciclo: texto à esquerda, "Ver progresso" à direita. */
.auren-faixa-ciclo { display: flex; align-items: center; gap: var(--auren-space-3); background: var(--auren-surface-quiet); border-radius: var(--auren-radius-md); padding: var(--auren-space-3) var(--auren-space-4); margin: 0 0 var(--auren-space-6); }
.auren-faixa-ciclo__texto { flex: 1 1 auto; min-width: 0; margin: 0; font-size: var(--auren-size-xs); color: var(--auren-text-secondary); line-height: var(--auren-lh-snug); }
.auren-faixa-ciclo__texto strong { display: block; color: var(--auren-text); font-weight: var(--auren-weight-medium); font-size: var(--auren-size-sm); }
.auren-faixa-ciclo__texto strong b { font-weight: var(--auren-weight-semibold); }
.auren-faixa-ciclo__link { flex: 0 0 auto; color: var(--auren-text); font-size: var(--auren-size-xs); text-decoration: none; white-space: nowrap; }
.auren-faixa-ciclo .auren-icone { width: 2.5rem; height: 2.5rem; }
/* Cabeçalho de seção com link à direita. */
.auren-secao-linha { display: flex; align-items: baseline; justify-content: space-between; gap: var(--auren-space-3); margin: 0 0 var(--auren-space-3); }
.auren-secao-linha__heading { margin: 0; font-family: var(--auren-font-display); font-size: var(--auren-size-lg); font-weight: var(--auren-weight-regular); color: var(--auren-text); }
.auren-secao-linha__link { color: var(--auren-text-secondary); font-size: var(--auren-size-sm); text-decoration: none; white-space: nowrap; }
/* Cards compactos do programa. */
.auren-programa { display: grid; grid-template-columns: repeat(auto-fit, minmax(7.25rem, 1fr)); gap: var(--auren-space-2); margin: 0 0 var(--auren-space-6); }
.auren-programa__card { display: flex; flex-direction: column; gap: 2px; padding: var(--auren-space-3); border-radius: var(--auren-radius-md); background: var(--auren-surface); border: var(--auren-border-w) solid var(--auren-border); color: var(--auren-text); text-decoration: none; min-height: 5.75rem; }
.auren-programa__card--selecionado { background: var(--auren-guidance-soft); border-color: var(--auren-guidance); }
.auren-programa__estado { display: inline-flex; align-items: center; justify-content: center; width: 1.25rem; height: 1.25rem; border-radius: var(--auren-radius-pill); border: 1.5px solid var(--auren-border-strong); color: var(--auren-text-on-inverse); margin-bottom: var(--auren-space-1); }
.auren-programa__estado svg { width: 0.8rem; height: 0.8rem; }
.auren-programa__estado--feito, .auren-programa__estado--aberto { background: var(--auren-guidance-text); border-color: var(--auren-guidance-text); }
.auren-programa__dia { font-size: 0.6rem; font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-text-muted); }
.auren-programa__nome { font-size: var(--auren-size-sm); font-weight: var(--auren-weight-medium); color: var(--auren-text); }
.auren-programa__meta { font-size: var(--auren-size-xs); color: var(--auren-text-secondary); }
.auren-programa__card:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
/* Card de apoio (Entenda seu plano, Dica): ícone, título, descrição, chevron. */
.auren-apoio { display: flex; align-items: center; gap: var(--auren-space-4); padding: var(--auren-space-4) var(--auren-space-5); border-radius: var(--auren-radius-lg); background: var(--auren-surface); border: var(--auren-border-w) solid var(--auren-border); color: var(--auren-text); text-decoration: none; margin: 0 0 var(--auren-space-3); }
.auren-apoio--quente { background: var(--auren-surface-warm); border-color: transparent; }
.auren-apoio__corpo { flex: 1 1 auto; min-width: 0; }
.auren-apoio__heading { display: block; margin: 0 0 2px; font-family: var(--auren-font-display); font-size: var(--auren-size-lg); font-weight: var(--auren-weight-regular); line-height: var(--auren-lh-snug); }
.auren-apoio__texto { display: block; margin: 0; font-size: var(--auren-size-sm); color: var(--auren-text-secondary); line-height: var(--auren-lh-snug); }
.auren-apoio .auren-linha__chevron { margin-right: 0; }
.auren-apoio .auren-icone { background: var(--auren-surface-quiet); box-shadow: none; }
.auren-apoio--quente .auren-icone { background: var(--auren-surface); }
/* Ajustes recentes: superfície branca com linhas de ícone + explicação. */
.auren-ajustes-plano { margin: var(--auren-space-4) 0 var(--auren-space-5); }
.auren-ajustes-plano__lista { list-style: none; margin: 0; padding: 0 var(--auren-space-4); background: var(--auren-surface); border: var(--auren-border-w) solid var(--auren-border); border-radius: var(--auren-radius-lg); }
.auren-ajuste-rico { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) auto; align-items: center; gap: var(--auren-space-3); padding: var(--auren-space-3) 0; border-bottom: var(--auren-border-w) solid var(--auren-border); }
.auren-ajuste-rico:last-child { border-bottom: 0; }
.auren-ajuste-rico .auren-icone { width: 2.25rem; height: 2.25rem; background: var(--auren-surface-quiet); box-shadow: none; }
.auren-ajuste-rico .auren-icone svg { width: 1rem; height: 1rem; }
.auren-ajuste-rico__nome { display: block; font-size: var(--auren-size-md); color: var(--auren-text); }
.auren-ajuste-rico__explica { display: block; font-size: var(--auren-size-xs); color: var(--auren-text-muted); }
.auren-ajuste-rico__valor { font-size: var(--auren-size-sm); color: var(--auren-text); font-weight: var(--auren-weight-medium); white-space: nowrap; }
.auren-ajuste-rico--manter .auren-ajuste-rico__valor { color: var(--auren-text-secondary); font-weight: var(--auren-weight-regular); }
/* Detalhe do treino (prescrição). */
.auren-prescricao-lista { list-style: none; margin: 0 0 var(--auren-space-5); padding: 0; }
.auren-prescricao-item { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) auto; gap: var(--auren-space-3); align-items: baseline; padding: var(--auren-space-3) 0; border-top: var(--auren-border-w) solid var(--auren-border); }
.auren-prescricao-item__ordem { font-size: var(--auren-size-xs); color: var(--auren-text-muted); font-variant-numeric: tabular-nums; }
.auren-prescricao-item__nome { font-size: var(--auren-size-md); color: var(--auren-text); }
.auren-prescricao-item__notas { display: flex; flex-wrap: wrap; gap: var(--auren-space-2); margin-top: 2px; }
.auren-prescricao-item__dose { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ==========================================================================
   CWA-1 — Falar com o AUREN (ajuste conversacional do treino, 2026-09-18)
   Folha inferior sobre a tela de treino: bolhas editoriais mínimas, proposta
   com SAI/ENTRA, ações. Sem avatar, sem "assistente". Tokens só.
   ========================================================================== */
.auren-treino button.auren-conversa-fab {
  position: fixed;
  left: 50%;
  bottom: calc(var(--auren-space-4) + var(--auren-safe-bottom));
  transform: translateX(-50%);
  z-index: 40;
  width: auto;
  max-width: calc(100% - 2 * var(--auren-gutter));
  display: inline-flex;
  align-items: center;
  gap: var(--auren-space-2);
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-5);
  border: var(--auren-border-w) solid var(--auren-border-strong);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
  font-weight: var(--auren-weight-medium);
  box-shadow: var(--auren-shadow-md);
  cursor: pointer;
  white-space: nowrap;
}
.auren-treino button.auren-conversa-fab[hidden] { display: none; }
/* Recuo do botão flutuante quando o cartão aberto passa pela faixa dele (treino.js ajustarFab). */
.auren-treino button.auren-conversa-fab { transition: transform var(--auren-motion-fast) var(--auren-ease), opacity var(--auren-motion-fast) var(--auren-ease); }
.auren-treino.fab-recuado button.auren-conversa-fab { transform: translate(-50%, 140%); opacity: 0; pointer-events: none; }
/* Check-in no shell oficial (Product Coherence Pass v1) */
.auren-checkin .auren-passo__contador { margin-bottom: var(--auren-space-2); }
.auren-checkin .auren-checkin__contexto { margin: 0 0 var(--auren-space-4); }
.auren-checkin .etapa[hidden] { display: none; }
.auren-checkin fieldset.etapa, .auren-checkin fieldset.natureza, .auren-checkin fieldset.intensidade { border: 0; padding: 0; margin: 0; min-width: 0; }
.auren-checkin fieldset.natureza, .auren-checkin fieldset.intensidade { margin-top: var(--auren-space-4); }
.auren-checkin .recheck-detalhe[hidden], .auren-checkin #bloco-regiao-dor[hidden], .auren-checkin #bloco-sintomas-alarme[hidden] { display: none; }
.auren-checkin .intensidade legend { font-family: var(--auren-font-ui); font-size: var(--auren-size-md); font-weight: var(--auren-weight-medium); color: var(--auren-text); }
.auren-checkin .auren-question { margin-top: var(--auren-space-4); }
.auren-conversa-fab__glifo { color: var(--auren-guidance-text); }
/* Com a barra de descanso visível, o botão sobe para não cobri-la. */
.auren-treino .auren-descanso:not([hidden]) + button.auren-conversa-fab { bottom: calc(var(--auren-space-8) + var(--auren-space-6) + var(--auren-safe-bottom)); }
.auren-treino { padding-bottom: calc(var(--auren-space-8) + var(--auren-touch)); }
.auren-treino button.auren-conversa-entrada { color: var(--auren-guidance-text); }
/* Última vez × Hoje (Product Coherence Pass v1): duas linhas com o mesmo
   desenho, rótulo à esquerda e valor tabular; "Por quê?" como texto discreto. */
.auren-treino .auren-prescricao__ultima { display: flex; align-items: baseline; gap: var(--auren-space-2); margin-top: var(--auren-space-1); color: var(--auren-text-secondary); }
.auren-treino .auren-prescricao__ultima .auren-prescricao__valor { font-size: var(--auren-size-sm); font-weight: var(--auren-weight-regular); color: var(--auren-text-secondary); }
.auren-treino .auren-prescricao__carga { flex-wrap: wrap; }
.auren-treino .cartao-corpo button.auren-porque { min-height: var(--auren-touch); padding: 0 var(--auren-space-2); margin: 0 0 0 auto; font-size: var(--auren-size-sm); color: var(--auren-guidance-text); text-decoration: underline; text-underline-offset: 0.2em; }
.auren-ultima-sessao__adaptacao { color: var(--auren-text-secondary); }
.auren-treino .rodape-cartao__linha { display: flex; justify-content: space-between; align-items: center; gap: var(--auren-space-2); flex-wrap: wrap; }
.auren-treino .rodape-cartao__linha .auren-conversa-entrada { padding-left: 0; text-decoration: none; }
.auren-treino .auren-ajustado {
  display: inline-block;
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-guidance-text);
  background: var(--auren-guidance-soft);
  border-radius: var(--auren-radius-pill);
  padding: 2px var(--auren-space-3);
  margin-bottom: var(--auren-space-2);
}
.auren-hero__ajustado { color: var(--auren-guidance-text); }
.auren-plano-hero__ajustado { margin: var(--auren-space-2) 0 0; }
/* Plano funcional (2026-10-02): "Concluído" é status, não botão; a linha de
   edição manual reaproveita a linha da conversa como link. */
.auren-plano-hero__status { margin: 0 0 var(--auren-space-3); }
a.auren-conversa-linha { text-decoration: none; color: inherit; box-sizing: border-box; }
.auren-conversa-linha + a.auren-conversa-linha { margin-top: calc(var(--auren-space-3) - var(--auren-space-5)); }
a.auren-conversa-linha .auren-conversa-linha__glifo svg { width: 1em; height: 1em; }

.auren-sheet { position: fixed; inset: 0; z-index: 90; display: flex; align-items: flex-end; justify-content: center; }
.auren-sheet[hidden] { display: none; }
.auren-sheet__fundo { position: absolute; inset: 0; background: var(--auren-soft-black); opacity: 0.35; }
.auren-sheet__painel {
  position: relative;
  width: 100%;
  max-width: var(--auren-container);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: var(--auren-bg);
  border-radius: var(--auren-radius-lg) var(--auren-radius-lg) 0 0;
  box-shadow: var(--auren-shadow-md);
  padding-bottom: var(--auren-safe-bottom);
  /* Sem animação de entrada: a folha aparece pronta (calma; Product Identity
     proíbe keyframes/bounce). O que se move são só os estados de botão. */
}
.auren-sheet__topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--auren-space-3);
  padding: var(--auren-space-4) var(--auren-gutter) var(--auren-space-3);
  border-bottom: var(--auren-border-w) solid var(--auren-border);
}
.auren-conversa__cabecalho { flex: 1 1 auto; min-width: 0; }
.auren-conversa__marca {
  display: block;
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-medium);
  letter-spacing: var(--auren-tracking-wordmark);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
.auren-conversa__heading {
  margin: var(--auren-space-1) 0 0;
  font-family: var(--auren-font-display);
  font-weight: var(--auren-weight-regular);
  font-size: var(--auren-size-xl);
  line-height: var(--auren-lh-snug);
  letter-spacing: var(--auren-tracking-display);
  color: var(--auren-text);
}
.auren-sheet button.auren-sheet__fechar {
  flex: 0 0 auto;
  width: var(--auren-touch);
  height: var(--auren-touch);
  border: 0;
  border-radius: var(--auren-radius-pill);
  background: transparent;
  color: var(--auren-text-secondary);
  font-size: var(--auren-size-xl);
  line-height: 1;
  cursor: pointer;
}
.auren-conversa__fluxo {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: var(--auren-space-4) var(--auren-gutter);
  display: flex;
  flex-direction: column;
  gap: var(--auren-space-3);
}
.auren-conversa__msg {
  max-width: 92%;
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  line-height: var(--auren-lh-body);
  color: var(--auren-text);
}
.auren-conversa__msg p { margin: 0; }
.auren-conversa__msg--auren { align-self: flex-start; }
.auren-conversa__msg--auren > p {
  display: inline-block;
  background: var(--auren-surface);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md) var(--auren-radius-md) var(--auren-radius-md) var(--auren-radius-sm);
  padding: var(--auren-space-3) var(--auren-space-4);
}
.auren-conversa__msg--pessoa {
  align-self: flex-end;
  background: var(--auren-soft-black);
  color: var(--auren-text-on-inverse);
  border-radius: var(--auren-radius-md) var(--auren-radius-md) var(--auren-radius-sm) var(--auren-radius-md);
  padding: var(--auren-space-3) var(--auren-space-4);
}
.auren-conversa__msg--seguranca > p { border-color: var(--auren-guidance); background: var(--auren-guidance-soft); color: var(--auren-guidance-text); }
.auren-conversa__msg--erro > p { border-color: var(--auren-warning); background: var(--auren-warning-soft); color: var(--auren-warning); }
.auren-conversa__msg--aplicada > p { border-color: var(--auren-guidance); color: var(--auren-guidance-text); }
.auren-conversa__msg--pensando { color: var(--auren-text-muted); letter-spacing: 0.2em; padding: 0 var(--auren-space-4); }
.auren-conversa__opcoes { display: flex; flex-wrap: wrap; gap: var(--auren-space-2); margin-top: var(--auren-space-2); }
.auren-sheet button.auren-conversa__opcao, .auren-sheet a.auren-conversa__opcao {
  min-height: var(--auren-touch); /* Conversation Hand-offs v1: escolhas ("Só hoje" / "Meu plano") com alvo de 48px */
  padding: 0 var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border-strong);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
  cursor: pointer;
}
.auren-sheet .auren-conversa__opcao--recomendada { border-color: var(--auren-guidance); color: var(--auren-guidance-text); }
.auren-sheet .auren-conversa__voltar { margin-top: var(--auren-space-3); }
.auren-conversa__entrada {
  display: flex;
  gap: var(--auren-space-2);
  padding: var(--auren-space-3) var(--auren-gutter) var(--auren-space-4);
  border-top: var(--auren-border-w) solid var(--auren-border);
  background: var(--auren-bg);
}
.auren-conversa__campo {
  flex: 1 1 auto;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border-strong);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-surface);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  color: var(--auren-text);
}
.auren-conversa__campo:focus-visible { outline: 2px solid var(--auren-focus); outline-offset: 2px; }
.auren-sheet button.auren-conversa__enviar {
  flex: 0 0 auto;
  width: var(--auren-touch);
  height: var(--auren-touch);
  border: 0;
  border-radius: var(--auren-radius-pill);
  background: var(--auren-action);
  color: var(--auren-text-on-inverse);
  font-size: var(--auren-size-lg);
  cursor: pointer;
}
.auren-sheet button.auren-conversa__enviar:disabled { background: var(--auren-disabled-bg); color: var(--auren-disabled-text); }
.auren-proposta {
  margin-top: var(--auren-space-3);
  padding: var(--auren-space-4);
  background: var(--auren-surface);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--auren-space-3);
}
.auren-proposta__troca { display: flex; align-items: stretch; gap: var(--auren-space-2); }
.auren-proposta__bloco { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: var(--auren-space-3); border-radius: var(--auren-radius-sm); background: var(--auren-surface-quiet); }
.auren-proposta__bloco--entra { background: var(--auren-guidance-soft); }
.auren-proposta__rotulo { font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-text-muted); }
.auren-proposta__bloco--entra .auren-proposta__rotulo { color: var(--auren-guidance-text); }
.auren-proposta__nome { font-size: var(--auren-size-sm); font-weight: var(--auren-weight-medium); color: var(--auren-text); overflow-wrap: anywhere; }
.auren-proposta__detalhe { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }
.auren-proposta__seta { align-self: center; color: var(--auren-text-muted); }
.auren-proposta__consequencia { margin: 0; font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }
.auren-proposta__acoes { display: flex; flex-direction: column; gap: var(--auren-space-2); }
/* Botões da folha: o legado `.treino button` (estilo.css) ganharia de `.auren-btn`
   pela especificidade — aqui a primitiva é reafirmada dentro da folha. */
.auren-sheet button.auren-btn, .auren-sheet a.auren-btn {
  width: 100%;
  min-height: var(--auren-touch);
  padding: 0 var(--auren-space-5);
  border: var(--auren-border-w) solid var(--auren-action);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-action);
  color: var(--auren-text-on-inverse);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-md);
  font-weight: var(--auren-weight-medium);
}
.auren-sheet button.auren-btn--secondary, .auren-sheet a.auren-btn--secondary {
  background: transparent;
  border-color: var(--auren-border-strong);
  color: var(--auren-text);
}
.auren-proposta__estado { margin: 0; font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-guidance-text); }
.auren-proposta[data-estado="rejeitada"] .auren-proposta__estado, .auren-proposta[data-estado="expirada"] .auren-proposta__estado { color: var(--auren-text-muted); }
.auren-sheet-aberta { overflow: hidden; }

/* CWA-1.1 — entradas da conversa fora do treino: Home (pílula sob a direção do
   dia) e Plano (linha secundária após o herói). Nomeadas, sempre visíveis,
   secundárias ao CTA. */
.auren-conversa-pilula {
  display: inline-flex;
  align-items: center;
  gap: var(--auren-space-2);
  min-height: 2.75rem;
  margin: calc(-1 * var(--auren-space-2)) 0 var(--auren-space-5);
  padding: 0 var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border-strong);
  border-radius: var(--auren-radius-pill);
  background: var(--auren-surface);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-sm);
  font-weight: var(--auren-weight-medium);
  cursor: pointer;
}
.auren-conversa-pilula__glifo, .auren-conversa-linha__glifo { color: var(--auren-guidance-text); }
.auren-conversa-linha {
  display: flex;
  align-items: center;
  gap: var(--auren-space-3);
  width: 100%;
  min-height: var(--auren-touch);
  margin: var(--auren-space-4) 0 var(--auren-space-5);
  padding: var(--auren-space-3) var(--auren-space-4);
  border: var(--auren-border-w) solid var(--auren-border);
  border-radius: var(--auren-radius-md);
  background: var(--auren-surface-quiet);
  color: var(--auren-text);
  font-family: var(--auren-font-ui);
  text-align: left;
  cursor: pointer;
}
.auren-conversa-linha__texto { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.auren-conversa-linha__heading { font-size: var(--auren-size-md); font-weight: var(--auren-weight-medium); }
.auren-conversa-linha__apoio { font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }
.auren-conversa-linha__seta { color: var(--auren-text-muted); font-size: var(--auren-size-lg); }
.auren-conversa__aviso { margin: var(--auren-space-1) 0 0; font-size: var(--auren-size-sm); color: var(--auren-guidance-text); }
.auren-conversa__link { display: inline-flex; align-items: center; gap: var(--auren-space-2); min-height: 2.5rem; margin-top: var(--auren-space-2); color: var(--auren-text); font-size: var(--auren-size-sm); font-weight: var(--auren-weight-medium); text-decoration: underline; text-underline-offset: 0.2em; }
.auren-conversa__msg--info > p { border-color: var(--auren-border); }
.auren-sheet a.auren-proposta__aplicar, .auren-sheet a.auren-conversa__opcao, .auren-sheet a.auren-conversa__voltar { text-decoration: none; }

/* CWA-1.2 — cartão persistente do rascunho ("Ajustes de hoje · N alterações") */
.auren-conversa__rascunho:empty { display: none; }
.auren-conversa__rascunho { flex: 0 0 auto; max-height: 46vh; overflow-y: auto; padding: 0 var(--auren-gutter) var(--auren-space-3); }
.auren-rascunho { padding: var(--auren-space-3) var(--auren-space-4); background: var(--auren-surface); border: var(--auren-border-w) solid var(--auren-border-strong); border-radius: var(--auren-radius-md); display: flex; flex-direction: column; gap: var(--auren-space-3); }
.auren-rascunho__topo { display: flex; justify-content: space-between; align-items: baseline; gap: var(--auren-space-3); }
.auren-rascunho__heading { font-family: var(--auren-font-ui); font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-text-muted); }
.auren-rascunho__n { font-size: var(--auren-size-sm); font-weight: var(--auren-weight-medium); color: var(--auren-guidance-text); }
.auren-rascunho__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.auren-rascunho__linha { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) auto; align-items: center; gap: var(--auren-space-2); padding: var(--auren-space-2) 0; border-top: var(--auren-border-w) solid var(--auren-border); }
.auren-rascunho__linha:first-child { border-top: 0; }
.auren-rascunho__indice { font-size: var(--auren-size-xs); color: var(--auren-text-muted); font-variant-numeric: tabular-nums; }
.auren-rascunho__troca { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--auren-space-2); min-width: 0; font-size: var(--auren-size-sm); }
.auren-rascunho__sai { color: var(--auren-text-secondary); }
.auren-rascunho__seta { color: var(--auren-text-muted); }
.auren-rascunho__entra { color: var(--auren-text); font-weight: var(--auren-weight-medium); }
.auren-rascunho__entra--sai { color: var(--auren-guidance-text); }
.auren-sheet button.auren-rascunho__remover { min-height: 2rem; padding: 0 var(--auren-space-2); border: 0; background: transparent; color: var(--auren-text-muted); font-size: var(--auren-size-xs); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
.auren-rascunho__acoes { display: flex; flex-direction: column; gap: var(--auren-space-2); }
.auren-rascunho__secundarias { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--auren-space-1) var(--auren-space-4); }
.auren-sheet button.auren-rascunho__link { min-height: 2.25rem; padding: 0; border: 0; background: transparent; color: var(--auren-text-secondary); font-size: var(--auren-size-sm); text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
.auren-rascunho__estado { margin: 0; font-size: var(--auren-size-xs); font-weight: var(--auren-weight-medium); letter-spacing: var(--auren-tracking-label); text-transform: uppercase; color: var(--auren-guidance-text); }
.auren-sheet a.auren-rascunho__aplicar { text-decoration: none; }
.auren-previa { margin-top: var(--auren-space-2); padding: var(--auren-space-3); background: var(--auren-surface-quiet); border-radius: var(--auren-radius-sm); font-size: var(--auren-size-sm); }
.auren-previa p { margin: 0; }
.auren-previa__contagem { font-weight: var(--auren-weight-medium); }
.auren-previa__regiao { color: var(--auren-guidance-text); }
.auren-previa__lista { color: var(--auren-text-secondary); margin-top: var(--auren-space-1); }
.auren-conversa__fluxo { min-height: 6rem; }

/* CWA-1.2A — aviso de recálculo pendente na tela de treino */
.auren-aviso-recalculo { margin-bottom: var(--auren-space-4); }

/* --- fechamento do treino (P1 daily-usable) -----------------------------------------
   A tela que fecha o ciclo diário. Mesmo shell das outras (nav inferior
   incluída); o único acento é o selo de conclusão em Moment/Gold, que nunca
   comunica sozinho — vem com ícone e texto. */

.auren-fechamento { padding-top: var(--auren-space-2); }
.auren-fechamento__selo { display: inline-flex; align-items: center; gap: var(--auren-space-2); margin: 0 0 var(--auren-space-4); }
/* Sem cor própria: herda o tom do selo (auren-badge--moment), que já é o
   acento de momento. Gold nunca aparece solto fora de um momento. */
.auren-fechamento__check { display: inline-flex; width: 1rem; height: 1rem; }
.auren-fechamento__check svg { width: 100%; height: 100%; }
.auren-fechamento__metricas { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
.auren-fechamento__proximo { margin-top: var(--auren-space-4); }
.auren-fechamento__acoes { margin-top: var(--auren-space-5); }
.auren-fechamento__acoes .auren-btn + .auren-btn { margin-top: var(--auren-space-2); }

/* Preferência de exercício (PRESCRIPTION ENGINE v1): ações lado a lado, quebrando em telas estreitas. */
.auren-preferencia { flex-wrap: wrap; gap: var(--auren-space-2, 8px); }
.auren-preferencia__acoes { display: flex; flex-wrap: wrap; gap: var(--auren-space-2, 8px); width: 100%; }
.auren-preferencia__acoes .auren-btn { min-height: 48px; }

/* Pre-Workout Experience (2026-10-05): em que etapa a pessoa está até o
   treino (check-in -> resultado -> treino) e o resultado do check-in. Só
   tokens já existentes; nenhum valor novo de cor ou tipo. */
.auren-etapas {
  display: flex;
  gap: var(--auren-space-2);
  list-style: none;
  margin: var(--auren-space-2) 0 var(--auren-space-4);
  padding: 0;
  font-family: var(--auren-font-ui);
  font-size: var(--auren-size-xs);
  font-weight: var(--auren-weight-semibold);
  letter-spacing: var(--auren-tracking-label);
  text-transform: uppercase;
  color: var(--auren-text-muted);
}
.auren-etapas__item { display: flex; align-items: center; gap: var(--auren-space-2); }
.auren-etapas__item + .auren-etapas__item::before { content: "›"; color: var(--auren-border-strong); }
.auren-etapas__item--atual { color: var(--auren-text); }
.auren-etapas__item--feita { color: var(--auren-success-text); }
.auren-resultado { margin: 0 0 var(--auren-space-5); }
.auren-resultado__lista { margin: 0; padding: 0 0 0 var(--auren-space-5); display: grid; gap: var(--auren-space-2); }
.auren-resultado__item { font-size: var(--auren-size-sm); line-height: 1.45; }
.auren-resultado[data-resultado="AJUSTADO"] { border-left: 4px solid var(--auren-guidance); }
.auren-choices--alarme { margin-top: var(--auren-space-4); }

/* Contextual Training P4 — cartão de PROPOSTA na folha de conversa (app/static/conversa.js,
   contrato em app.proposta_apresentacao). Só estrutura legível; nada de redesign. */
.auren-rascunho--proposta .auren-rascunho__mudancas { margin: 0; padding: 0; list-style: none; }
.auren-rascunho__exercicios { margin: 0; padding: 0 0 0 1.25rem; display: flex; flex-direction: column; gap: var(--auren-space-1); font-size: var(--auren-size-sm); }
.auren-rascunho__exercicio { display: flex; justify-content: space-between; gap: var(--auren-space-3); }
.auren-rascunho__series { color: var(--auren-text-secondary); white-space: nowrap; }
.auren-rascunho__limitacoes { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--auren-space-1); font-size: var(--auren-size-sm); color: var(--auren-text-secondary); }
.auren-rascunho__plano { margin: 0; font-size: var(--auren-size-xs); color: var(--auren-text-muted); }

/* Contextual Training P5 — entrada "Precisa adaptar o treino de hoje?" (Home, Plano, Resultado).
   Utilidade secundária: texto corrido com um botão de texto; nunca compete com o CTA. */
.auren-hero__adaptar, .auren-resultado__adaptar { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--auren-space-1) var(--auren-space-2); }
.auren-hero__adaptar .auren-btn--text, .auren-resultado__adaptar .auren-btn--text { width: auto; min-height: 2rem; padding: 0; margin: 0; border-color: transparent; background: transparent; text-decoration: underline; text-underline-offset: 0.2em; }
/* No treino, o legado `.treino button` (estilo.css) pinta fundo escuro + texto branco: o botão de texto
   da etapa Resultado usa `discreto` e fica como link de texto, visível sobre a superfície clara. */
.auren-treino .auren-resultado__adaptar button.discreto { display: inline; width: auto; min-height: 2rem; padding: 0; margin: 0; background: transparent; border: 0; color: var(--auren-text-secondary); font-size: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
