/* Coach.AI · Produto V.1 — adaptação do protótipo (molduras fixas 390/1440)
   para uma página real com rolagem, + poucas classes novas do app.
   Valores de design vêm de tokens.css; nada de cor nova fora dos tokens. */

html, body { margin: 0; background: var(--abyss); }
body { min-height: 100vh; }
.a { min-height: 100vh; overflow: visible; }
.a-scroll { position: static; overflow: visible; }
/* tab bar e toast ficam no viewport (no protótipo eram absolutos na moldura) */
.a-tabs { position: fixed; padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
.a-toast { position: fixed; }
.a-offbar { position: sticky; top: 0; }
.a-sheetwrap { position: fixed; }
.a--tabs .a-page { padding-bottom: 132px; }
.a-flow, .a-coach, .a-mode { min-height: 100vh; }
#conteudo { display: block; }
.a-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 2px solid var(--aqua); outline-offset: 2px; }
button[disabled] { cursor: not-allowed; }
a.a-cta { text-decoration: none; }

/* listas e linhas simples */
.a-row__r { display: inline-flex; align-items: center; gap: 8px; color: var(--t2); }
.a-card__list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.a-crow__m { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.a-dayp__h { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.a-wlist .a-row[data-w="atual"] { border-color: rgba(53,184,201,.45); }
.a-wlist .a-row[data-w="futura"] .a-row__t { color: var(--t2); }

/* zona: cor + nome + código */
.a-zc { display: inline-flex; align-items: center; gap: 6px; font: 500 12px/1 var(--f-data); color: var(--t2); }
.a-zc i, .a-mixleg i, .a-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; flex: none; }
.a-mixleg, .a-legend { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.a-mixleg li, .a-legend li { display: flex; align-items: center; gap: 10px; font: 400 13.5px/1.3 var(--f-text); color: var(--t2); }
.a-mixleg li b { margin-left: auto; font-weight: 500; font-size: 12px; color: var(--t1); }
.a-legend li span { margin-left: auto; color: var(--t3); }
.a-sheet .a-legend li { color: var(--sheet-text-2); }
.a-sheet .a-legend li b { color: var(--sheet-text); }

/* aviso (âmbar: dor forte, atraso, offline — nunca vermelho fora do SOS) */
.a-warn { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 12px 14px; border-radius: 14px;
  background: var(--amber-bg); border: 1px solid var(--amber-bd); color: var(--t1); font: 400 13.5px/1.45 var(--f-text); }
.a-warn .a-ic { color: var(--amber); flex: none; margin-top: 1px; }

/* resultado: anéis */
.a-ring--adj { background: rgba(53,184,201,.14); color: var(--aqua-2); }
.a-ring--sos { background: var(--err-bg); color: var(--err); }
.a-sosr .a-q { color: var(--t1); }

/* painel */
.a-counts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.a-counts > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 10px; border-radius: 14px; background: var(--glass); border: 1px solid var(--glass-bd); }
.a-counts b { font-size: 22px; font-weight: 500; color: var(--t1); }
.a-counts span:not(.a-st) { font: 500 10px/1.25 var(--f-data); letter-spacing: .06em; text-transform: uppercase; color: var(--t3); }
.a-sw { width: 12px; height: 8px; border-radius: 3px; display: inline-block; margin-right: 6px; vertical-align: middle; }
.a-sw--v { background: var(--aqua); }
.a-sw--p { background: rgba(53,184,201,.25); }
.a-sw--cur { background: transparent; box-shadow: inset 0 0 0 1.5px var(--aqua); }
.a-sw--rec { background: repeating-linear-gradient(45deg, rgba(255,255,255,.35) 0 2px, transparent 2px 4px); }
.a-sw--gold { background: var(--gold); }
.a-chart { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; align-items: end; height: 140px; margin-top: 8px; }
.a-chart__c { position: relative; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.a-chart__c > span { position: absolute; bottom: 18px; width: 70%; border-radius: 4px 4px 0 0; }
.a-chart__c .a-chart__p { background: rgba(53,184,201,.22); }
.a-chart__c .a-chart__v { background: var(--aqua); width: 44%; }
.a-chart__c small { position: absolute; bottom: 0; font: 500 10px/1 var(--f-data); color: var(--t3); }

/* competições, marcas */
.a-cmp__t { font: 600 18px/1.3 var(--f-text); color: var(--t1); margin-top: 8px; }
.a-mk__s { display: block; font: 400 12.5px/1.35 var(--f-text); color: var(--t3); margin-top: 3px; }

/* fluxos */
.a-za__intro { max-width: 560px; }
.a-login .a-brand { justify-content: flex-start; }
.a-sosflow .a-q { margin-top: 16px; }

@media (max-width: 699px) {
  .a-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .a--tabs .a-page { padding-bottom: 64px; }
  .a-tabs { display: none; }
  .a-toast { bottom: 40px; }
}
@media (max-width: 1099px) {
  .a-bar { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .a * { animation: none !important; transition-duration: 1ms !important; }
}

/* visibilidade por breakpoint (no protótipo vinha da moldura .a--d) */
@media (max-width: 1099px) { .a .a-d { display: none !important; } }
@media (min-width: 1100px) { .a .a-m { display: none !important; } }
button.a-row { width: 100%; text-align: left; }
.a-set__q--txt { font-size: 18px; line-height: 1.2; white-space: normal; }
.a-time[type="date"], .a-time[type="email"], .a-time[type="password"] { font-size: 18px; }
