/* ============================================================
   Check-in de treino (12/10/2026) + hierarquia nova do Início.
   Três pesos de botão: principal (lima cheio, 48 px, um por tela),
   secundário (.btn--out, contorno claro), link (.lnk, texto lima com seta).
   ============================================================ */

/* ---------- pesos de botão ---------- */
.btn--lime{min-height:48px;font-size:15px}
.btn--out{border:1.5px solid rgba(255,255,255,.55);background:transparent;color:var(--paper)}
@media (hover:hover){.btn--out:hover{border-color:var(--paper);background:rgba(255,255,255,.06)}}
.lnk{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 2px;color:var(--paper);text-decoration:none;border-bottom:1px solid var(--line-2);text-align:left}
.lnk span{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--mute)}
.lnk b{font-size:15px;color:var(--lime);font-weight:800}
.lnk i{font-style:normal;color:var(--lime);font-size:18px;transition:transform .2s var(--e)}
@media (hover:hover){.lnk:hover i{transform:translateX(3px)}}
.lnk:focus-visible,.btn--out:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.lnk--sm{border-bottom:0;justify-content:flex-start;gap:8px;padding:6px 0}
.lnk--sm b{font-size:13px;color:var(--mute);font-weight:700}
.lnk--sm i{font-size:14px;color:var(--mute)}
.coach-l{margin-top:34px;opacity:.85}

/* ---------- bloco do check-in ---------- */
.ck{padding:18px 16px 16px;border-radius:22px;background:radial-gradient(120% 90% at 0% 0%,rgba(197,255,26,.12),transparent 55%),var(--ink-3);border:1px solid rgba(197,255,26,.22);outline:none}
.ck__h{font-family:var(--disp);font-weight:900;font-size:clamp(38px,11vw,46px);line-height:.9;text-transform:uppercase;margin:6px 0 14px;text-wrap:balance}
.ck__h em{font-style:normal;color:var(--lime)}
/* 03/11/2026 (Jordan: "transforme isso em um carrossel"): com a turma, os 4 dias passavam 8 px e cortavam a ponta do Hoje ou do Sábado.
   O trilho sangra até a borda do card (design.md § 5), com encaixe e scroll-padding no respiro do card */
.ck__days{display:flex;gap:6px;margin:0 -16px 12px;padding:0 16px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-inline:16px;overscroll-behavior-x:contain}
.ck__days>.chip{scroll-snap-align:start}
.ck__days::-webkit-scrollbar{display:none}
.ck__days:empty{display:none}
.ck__list{display:flex;flex-direction:column;gap:8px}
/* check final 25/10/2026: o carregando reserva a altura de dois horários (178 px medidos), senão a Loja pula 260 px quando a agenda chega */
/* 31/10/2026: o carregando reserva a altura da lista + botão (medido a 390 e 360: 294 a 345) e, onde dá, a linha dos dias, que entra por cima e empurrava a lista (CLS 0,05 a 0,14) */
.ck__load{display:grid;place-items:center;min-height:306px}
#checkin:has(.ck__load) .ck__days:empty{display:block;height:44px}
/* 31/10/2026: calendário antes do histórico chegar (js/checkin.js calEsqueleto): mesma altura, sem contador nem marca */
.cal.is-esq .cal__n,.cal.is-esq .cal__leg{visibility:hidden}
.ck__empty{font-size:13.5px;color:var(--mute);padding:6px 0}
.ss{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:16px;background:var(--ink-2);border:1px solid var(--line);text-align:left;transition:border-color .25s,background .25s}
.ss[aria-pressed="true"]{border-color:var(--lime);background:rgba(197,255,26,.07)}
.ss.is-closed{opacity:.6}
.ss__top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ss__n{font-family:var(--disp);font-weight:800;font-size:22px;line-height:1;text-transform:uppercase}
.ss__h{font-family:var(--mono);font-size:12px;color:var(--lime)}
.ss__g{font-size:11.5px;color:var(--mute)}
/* turma fechada (OAB/SC, 29/10/2026): selo com a logo dela, mesmo desenho do chip "Você" */
.ss__turma{display:inline-flex;align-items:center;gap:6px;align-self:center;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--wh,#fafafa);border:1px solid var(--line);border-radius:var(--rp);padding:2px 8px 2px 4px}
.ss__turma img{display:block;height:32px;width:auto;max-width:none;margin:-6px 0}
.ss__turma b{font-weight:600}
.ss__who{display:flex;align-items:center;margin-top:8px;min-height:26px}
.ss__cnt{margin-left:8px;font-size:12px;color:var(--mute)}
.ss__mine{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#0a0a0a;background:var(--lime);border-radius:var(--rp);padding:3px 8px;margin-left:8px}
.ss__c{width:26px;height:26px;border-radius:8px;border:1.5px solid var(--mute-2);display:grid;place-items:center;transition:background .2s,border-color .2s}
.ss__c svg{width:15px;height:15px;fill:none;stroke:#0a0a0a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.ss[aria-pressed="true"] .ss__c{background:var(--lime);border-color:var(--lime)}
.ss[aria-pressed="true"] .ss__c svg{opacity:1}
.ini{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#0a0a0a;border:2px solid var(--ink-2);margin-left:-7px;flex:none}
.ini:first-child{margin-left:0}
.ini--me{box-shadow:0 0 0 2px var(--lime)}
.ck__foot{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.ck__foot:empty{display:none}
.ck__ok{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px}
.ck__ok b{color:var(--lime)}
.ck__undo{font-size:12.5px;color:var(--mute);text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.ck__undo:focus-visible{outline:2px solid var(--lime)}
.ck__note{font-size:11.5px;color:var(--mute);text-align:center}

/* ---------- X1 menor, abaixo do check-in ---------- */

/* ---------- loja e pra ir além ---------- */
.ck-cta{margin-top:14px}

/* ---------- faixa fixa ---------- */
.ckbar{position:absolute;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:35;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;border-radius:var(--rp);background:rgba(18,18,18,.94);border:1px solid rgba(197,255,26,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.5);animation:ckIn .3s var(--e) both}
.ckbar__t{font-family:var(--mono);font-size:12px;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ckbar .btn{min-height:40px;padding:0 18px;font-size:14px;flex:none}
@keyframes ckIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- sheet do cadastro e do treinador ---------- */
.ckf{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}
.ckf__h{font-family:var(--disp);font-weight:900;font-size:34px;line-height:.92;text-transform:uppercase}
.ckf__h em{font-style:normal;color:var(--lime)}
.ckf__p{font-size:13px;color:var(--mute)}
.ckf__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ckf__f{display:flex;flex-direction:column;gap:5px;min-width:0}
.ckf__f label,.ckf__l{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ckf__f input{width:100%;min-height:46px;padding:0 13px;border-radius:12px;background:var(--ink-3);border:1px solid var(--line);color:var(--paper);font:500 16px var(--body)}
.ckf__f input:focus{outline:none;border-color:var(--lime)}
.ckf__cats{display:flex;flex-wrap:wrap;gap:6px}
.ckf__resp{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px dashed rgba(255,255,255,.18)}
.ckf__resp p{font-size:12.5px;color:var(--mute)}
.ckf__hp{display:none}
.ckf__f input[aria-invalid="true"]{border-color:#ff8a7a;box-shadow:0 0 0 3px rgba(255,138,122,.18)}
.ckf__err{font-size:13px;color:#ff8a7a}
.ckf__why{font-size:11.5px;color:var(--mute);text-align:center}

.co__day{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.co__s{margin-top:14px}
.co__sh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.co__sh b{font-family:var(--disp);font-weight:800;font-size:20px;text-transform:uppercase}
.co__sh span{font-family:var(--mono);font-size:11px;color:var(--mute)}
.co__list{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.co__p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--line-2)}
.co__p:first-child{border-top:0}
.co__n{font-weight:700;font-size:14px;min-width:0}
.co__n small{display:block;font-weight:500;font-size:11.5px;color:var(--mute)}
.co__new{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;background:var(--lime);color:#0a0a0a;border-radius:var(--rp);padding:2px 7px;margin-left:6px;vertical-align:middle}
.co__acts{display:flex;gap:6px}
.co__acts button{height:32px;padding:0 10px;border-radius:var(--rp);border:1px solid var(--line);font-size:12px;font-weight:700;color:#cfcfcf}
.co__acts button[aria-pressed="true"]{background:var(--paper);color:#0a0a0a;border-color:var(--paper)}
.co__none{padding:12px;font-size:12.5px;color:var(--mute)}
.co__wa{margin-top:16px;padding:12px;border-radius:12px;background:#1f2c33;color:#e9edef;font-size:13px;white-space:pre-line;max-height:180px;overflow:auto}

@media (prefers-reduced-motion:reduce){.ckbar{animation:none}}
.btn[aria-disabled="true"]{opacity:.45}

/* ============================================================
   Calendário do mês + celebração do check-in + demo + ajustes (12/10/2026, v2)
   Só se conta dia, nunca porcentagem nem ranking (regra JB7).
   v2 (correção do Jordan): círculo menor com respiro entre os dias, foi = lima
   cheio, marcado = só o pontilhado; celebração enxuta no padrão do pin
   "Correct Tick Spark" (linha que corre o círculo, preenche, check, faíscas).
   ============================================================ */
.cal{margin-top:14px;padding:16px 14px 14px;border-radius:22px;background:var(--ink-3);border:1px solid var(--line-2);outline:none}
.cal__top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.cal__h{font-family:var(--disp);font-weight:900;font-size:clamp(28px,8.4vw,34px);line-height:.9;text-transform:uppercase;margin-top:6px}
.cal__n{display:flex;gap:14px;text-align:right}
.cal__n span{display:flex;flex-direction:column;align-items:flex-end}
.cal__n b{font-family:var(--mono);font-weight:700;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.cal__foi b{color:var(--lime)}
.cal__tot b{color:var(--paper)}
.cal__n small{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:4px;white-space:nowrap}
.cal__wd,.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:4px}
.cal__grid{row-gap:8px}
.cal__wd span{text-align:center;font-family:var(--mono);font-size:10px;color:var(--mute-2);padding-bottom:8px}
.cd{position:relative;justify-self:center;width:min(32px,78%);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-family:var(--mono);font-size:12px;color:var(--mute-2);font-variant-numeric:tabular-nums;box-sizing:border-box}
.cd--tr{color:var(--paper)}
.cd--tr::after{content:"";position:absolute;left:50%;bottom:-5px;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--mute-2)}
.cd--foi{background:var(--lime);color:#0a0a0a;font-weight:700}
.cd--foi::after,.cd--vai::after{display:none}
.cd--vai{color:var(--lime);font-weight:700;border:1.5px dotted var(--lime)}
.cd--hoje:not(.cd--foi){color:var(--paper);font-weight:700}
.cd--hoje::before{content:"";position:absolute;left:50%;top:-6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--paper)}
.cd.is-pop{animation:calPop .5s var(--e) both}
.cd.is-wait.cd--foi{background:transparent;color:var(--paper);font-weight:400}
.cd.is-wait.cd--vai{border-color:transparent;color:var(--paper);font-weight:400}
.cal__msg{font-size:13px;color:#cfcfcf;margin:14px 2px 0;text-wrap:pretty}
.cal__msg:empty{display:none}
.cal__leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:11px;color:var(--mute)}
.cal__leg span{display:inline-flex;align-items:center;gap:6px}
.lg{width:10px;height:10px;border-radius:50%;display:inline-block;box-sizing:border-box}
.lg--foi{background:var(--lime)}
.lg--vai{border:1.5px dotted var(--lime)}
.lg--tr{width:3px;height:3px;background:var(--mute-2);margin:0 3px}
/* as mesmas faíscas da celebração, na bolinha do dia que acabou de entrar */
.cd__sp{position:absolute;left:50%;top:50%;width:230%;height:230%;transform:translate(-50%,-50%);pointer-events:none;overflow:visible}
.cd__sp line{stroke:var(--lime);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:12 40;stroke-dashoffset:12;opacity:0;animation:calSpark .7s cubic-bezier(.22,1,.36,1) .05s forwards}
@keyframes calSpark{0%{opacity:1;stroke-dashoffset:12}55%{opacity:1}100%{opacity:0;stroke-dashoffset:-20}}
@keyframes calPop{0%{transform:scale(.6)}60%{transform:scale(1.1)}100%{transform:scale(1)}}

/* "você foi?" no dia seguinte (o atleta confirma, decisão do Jordan 12/10) */
.ckq{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 12px 14px;margin-bottom:12px;border-radius:16px;background:rgba(197,255,26,.08);border:1px solid rgba(197,255,26,.28)}
.ckq p{font-size:13.5px;line-height:1.3}
.ckq p b{color:var(--lime)}
.ckq__a{display:flex;gap:6px;flex:none}
.ckq__a button{height:38px;padding:0 14px;border-radius:var(--rp);font-size:13px;font-weight:800}
.ckq__a [data-ckq="1"]{background:var(--lime);color:#0a0a0a}
.ckq__a [data-ckq="0"]{border:1.5px solid rgba(255,255,255,.4);color:var(--paper)}

/* celebração: o ponto nasce, a linha corre o círculo, o círculo enche de lima,
   o check se desenha e, no instante em que ele fecha, as faíscas saem */
.cel{position:absolute;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(5,5,5,.9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .3s var(--e);pointer-events:none}
.cel.is-on{opacity:1}
.cel__ring{width:96px;height:96px;margin-bottom:12px}
.cel__ring svg{width:100%;height:100%;overflow:visible}
.cel__trk{fill:none;stroke:rgba(197,255,26,.12);stroke-width:2.5;opacity:0}
.cel__c{fill:none;stroke:var(--lime);stroke-width:3;stroke-linecap:round;stroke-dasharray:188.5;stroke-dashoffset:188.5;transform:rotate(-90deg);transform-origin:50px 50px;opacity:0}
.cel__fill{fill:var(--lime);transform:scale(0);transform-origin:50px 50px}
.cel__k{fill:none;stroke:#0a0a0a;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.cel__sp line{stroke:var(--lime);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:8 30;stroke-dashoffset:8;opacity:0}
.cel__t{padding:0 32px;text-align:center;text-wrap:balance;font-family:var(--disp);font-weight:900;font-size:26px;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--paper);opacity:0;transform:translateY(8px)}
.cel__s{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--lime);opacity:0;transform:translateY(6px)}
.cel.is-go .cel__trk{animation:celFade .2s ease-out .05s forwards}
.cel.is-go .cel__c{animation:celDot .16s ease-out .05s forwards,celDraw .62s cubic-bezier(.65,0,.35,1) .18s forwards}
.cel.is-go .cel__fill{animation:celFill .42s cubic-bezier(.34,1.56,.64,1) .78s forwards}
.cel.is-go .cel__k{animation:celCheck .3s cubic-bezier(.65,0,.35,1) 1.02s forwards}
.cel.is-go .cel__sp line{animation:celSpark .5s cubic-bezier(.22,1,.36,1) 1.3s forwards}
.cel.is-go .cel__ring{animation:celBump .36s cubic-bezier(.34,1.56,.64,1) 1.28s both}
.cel.is-go .cel__t{animation:celUp .4s var(--e) 1.32s forwards}
.cel.is-go .cel__s{animation:celUp .4s var(--e) 1.42s forwards}
@keyframes celFade{to{opacity:1}}
@keyframes celDot{to{opacity:1}}
@keyframes celDraw{to{stroke-dashoffset:0}}
@keyframes celFill{from{transform:scale(.3)}to{transform:scale(1)}}
@keyframes celCheck{to{stroke-dashoffset:0}}
@keyframes celSpark{0%{opacity:1;stroke-dashoffset:8}55%{opacity:1}100%{opacity:0;stroke-dashoffset:-14}}
@keyframes celBump{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes celUp{to{opacity:1;transform:none}}

/* modo demonstração */
.demo{position:absolute;left:0;right:0;top:0;z-index:250;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px;background:var(--lime);color:#0a0a0a;font-size:11.5px}
.demo__t{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.demo__x{flex:none;font-weight:800;color:#0a0a0a;text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
.is-demo .top{padding-top:calc(40px + env(safe-area-inset-top))}

/* loja com as peças de verdade (teste, 12/10) */

/* ajustes (Perfil) */
.aj{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.aj__row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;text-align:left;color:var(--paper)}
.aj__row + .aj__row{border-top:1px solid var(--line-2)}
/* Novidades dentro da engrenagem (17/10/2026: o sino saiu do topo) */
.aj__sec{font-family:var(--disp);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;margin-top:14px}
.ckf .nov{display:flex;flex-direction:column;gap:10px}
.aj__row span{display:flex;flex-direction:column;gap:3px;min-width:0}
.aj__row b{font-size:14.5px}
.aj__row small{font-size:12px;color:var(--mute);line-height:1.35}
.aj__sw{flex:none;width:44px;height:26px;border-radius:13px;background:var(--ink-4);border:1px solid var(--line);position:relative;transition:background .2s}
.aj__sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--mute);transition:transform .25s var(--e),background .2s}
.aj__row[aria-checked="true"] .aj__sw{background:var(--lime);border-color:var(--lime)}
.aj__row[aria-checked="true"] .aj__sw::after{transform:translateX(18px);background:#0a0a0a}
.aj__x{flex:none;height:34px;padding:0 14px;border-radius:var(--rp);border:1px solid var(--line);font-size:12.5px;font-weight:700;color:#cfcfcf}
.aj__row:focus-visible,.aj__x:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}

@media (prefers-reduced-motion:reduce){
  .cd.is-pop{animation:none}
  .cd__sp{display:none}
  .cel{transition:none}
  .cel .cel__trk,.cel .cel__c{opacity:1}.cel .cel__c{stroke-dashoffset:0}.cel .cel__fill{transform:scale(1)}.cel .cel__k{stroke-dashoffset:0}
  .cel .cel__t,.cel .cel__s{opacity:1;transform:none}
  .cel.is-go .cel__trk,.cel.is-go .cel__c,.cel.is-go .cel__fill,.cel.is-go .cel__k,.cel.is-go .cel__sp line,.cel.is-go .cel__ring,.cel.is-go .cel__t,.cel.is-go .cel__s{animation:none}
}

/* ---------- cadastro e editar perfil: nascimento e as duas caixas (Sessão E, 14/10/2026) ---------- */
.ckf__hint{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--lime)}
.ckf__hint[hidden]{display:none}
.ckf__resp[hidden]{display:none}
.ckf__ok{display:flex;flex-direction:column;gap:4px;padding-top:2px}
.ckf__cb{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ckf__cb input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ckf__cbx{flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;border:1.5px solid rgba(255,255,255,.32);background:var(--ink-3);display:grid;place-items:center;transition:background .2s,border-color .2s}
.ckf__cbx::after{content:"";width:10px;height:6px;border-left:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform .18s cubic-bezier(.23,1,.32,1)}
.ckf__cb input:checked+.ckf__cbx{background:var(--lime);border-color:var(--lime)}
.ckf__cb input:checked+.ckf__cbx::after{transform:translateY(-1px) rotate(-45deg) scale(1)}
.ckf__cb input:focus-visible+.ckf__cbx{box-shadow:0 0 0 3px rgba(197,255,26,.35)}
.ckf__cbt{font-size:13.5px;line-height:1.45;color:var(--paper)}
.ckf__cbn{font-size:11.5px;color:var(--mute);margin:-6px 0 2px 34px}
.ckf__why a{color:var(--mute);text-decoration:underline;text-underline-offset:2px}
@media (prefers-reduced-motion:reduce){.ckf__cbx,.ckf__cbx::after{transition:none}}
.ckf__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ckf__row--3 label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pc__acts .pc__x{margin-top:0}
.pc__falta{color:var(--lime);font-size:12px}

/* ============================================================
   Sessão D 14/10: eventos do Joel no calendário e no check-in, folha do dia,
   botão de atualizar e puxar pra baixo. Legenda única: cheio lima = foi,
   contorno lima = marcou, ponto = treino, vermelho = cancelado (anel no dia
   inteiro, ponto num horário só), amarelo = evento ou aviso.
   ============================================================ */
:root{--ck-red:#ff5a4d;--ck-amb:#ffd166}
html,body{overscroll-behavior:none}
.scr{overscroll-behavior-y:contain}

/* calendário: o dia virou botão (abre a folha do dia) */
button.cd{padding:0;cursor:pointer}
button.cd:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.cd--vai{border-style:solid}
.cd--tr::after{content:none}
.cd--x{border:1.5px solid var(--ck-red);color:var(--ck-red);font-weight:700}
.cd__m{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:flex;gap:3px;pointer-events:none}
.cd__p{width:4px;height:4px;border-radius:50%;background:var(--mute-2)}
.cd__p--x{background:var(--ck-red)}
.cd__p--a{background:var(--ck-amb)}
.cal__leg{gap:6px 12px}
.cal__leg span{gap:5px;white-space:nowrap}
@media (max-width:380px){.cal__leg{gap:6px 9px;font-size:10.5px}}
.lg--vai{border-style:solid}
.lg--tr{width:4px;height:4px;margin:0 3px}
.lg--x{border:1.5px solid var(--ck-red)}
.lg--a{width:6px;height:6px;background:var(--ck-amb);margin:0 2px}

/* check-in: horário cancelado riscado, com o motivo; faixa amarela do evento */
.ss.is-cancel{border-color:rgba(255,90,77,.4);background:rgba(255,90,77,.06);opacity:1}
.ss.is-cancel .ss__n,.ss.is-cancel .ss__h{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--ck-red);text-decoration-thickness:2px}
.ss.is-cancel .ss__g{color:var(--ck-red);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.ss__why{display:block;margin-top:6px;font-size:12.5px;line-height:1.35;color:#ffb3ab;text-wrap:pretty}
.ckev{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 12px;border-radius:12px;background:rgba(255,209,102,.09);border:1px solid rgba(255,209,102,.38);color:var(--paper);text-align:left;font-size:13px;font-weight:700}
.ckev i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--ck-amb)}
.ckev span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ckev b{flex:none;color:var(--ck-amb);font-size:18px;line-height:1}
.ckev:focus-visible{outline:2px solid var(--ck-amb);outline-offset:2px}

/* folha do dia */
.dv{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--line)}
.dv--x{border-color:rgba(255,90,77,.45);background:rgba(255,90,77,.07)}
.dv--a{border-color:rgba(255,209,102,.45);background:rgba(255,209,102,.07)}
.dv__tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.dv--x .dv__tag{color:var(--ck-red)}
.dv--a .dv__tag{color:var(--ck-amb)}
.dv__t{font-size:16px;line-height:1.25}
.dv__p{font-size:13.5px;line-height:1.45;color:#d6d6d6;text-wrap:pretty}
.dv__q{font-family:var(--mono);font-size:11px;color:var(--mute)}
.dv__eu{font-size:14px;line-height:1.4;color:var(--paper)}
/* 22/10/2026: quem vai, horário por horário, dentro da folha do dia */
.dvq{display:flex;flex-direction:column;gap:12px;margin-top:6px;min-width:0}
.dvq__s{display:flex;flex-direction:column;gap:8px;min-width:0}
.dvq__h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.dvq__h b{font-size:15px;line-height:1.25}
.dvq__h .num{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mute);white-space:nowrap}

/* atualizar: botão do topo e puxar pra baixo */
.atu.is-spin svg{animation:atuGira .8s linear infinite}
@keyframes atuGira{to{transform:rotate(360deg)}}
.ptr{position:absolute;left:50%;top:0;z-index:15;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink-3);border:1px solid var(--line);color:var(--mute);opacity:0;transform:translate(-50%,-48px);pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.ptr svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ptr.is-ok{color:var(--lime);border-color:rgba(197,255,26,.5)}
.ptr.is-solto{transition:transform .25s var(--e),opacity .2s}
.ptr.is-spin svg{animation:atuGira .8s linear infinite}
@media (max-width:380px){.top__r{gap:5px}.top__r .icon-btn,.top__r .me-btn{width:35px;height:35px}}
@media (prefers-reduced-motion:reduce){
  .atu.is-spin svg,.ptr.is-spin svg{animation:none}
  .atu.is-spin{border-color:var(--lime);color:var(--lime)}
  .ptr.is-solto{transition:opacity .2s}
}

/* ============================================================
   21/10/2026: lista completa de quem vai, gênero no cadastro e no perfil,
   espera do pedido de acesso
   ============================================================ */
/* os rostinhos continuam iguais; o toque neles abre a lista (área de toque maior que o desenho) */
.ss__who[data-sswho]{position:relative;cursor:pointer;align-self:flex-start}
.ss__who[data-sswho]::after{content:"";position:absolute;inset:-9px -6px -9px -4px}
.ss__who[data-sswho] .ss__cnt{text-decoration:underline;text-decoration-color:rgba(255,255,255,.22);text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.ss__who[data-sswho]:hover .ss__cnt{color:var(--paper);text-decoration-color:var(--lime)}}
/* 25/10/2026: ninguém percebia que os rostinhos abrem a lista. Rótulo explícito ao lado */
.ss__ver{display:inline-flex;align-items:center;gap:3px;margin-left:10px;padding:3px 9px 3px 10px;border-radius:var(--rp);border:1px solid rgba(197,255,26,.4);
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);white-space:nowrap}
.ss__ver b{font-family:var(--body);font-size:13px;line-height:1;font-weight:700}
.ss__who[data-sswho] .ss__cnt{text-decoration:none}
.ss__who{flex-wrap:wrap;row-gap:6px}
.ss__cnt,.ss__mine{white-space:nowrap}

.qv__l{list-style:none;display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--ink-3)}
.qv__p{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 12px;border-top:1px solid var(--line-2)}
.qv__p:first-child{border-top:0}
.qv__av.ini{width:36px;height:36px;margin-left:0;font-size:12px;border:0}
.qv__n{font-weight:700;font-size:14.5px;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.qv__n small{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0a0a0a;background:var(--lime);border-radius:var(--rp);padding:2px 7px;margin-left:6px;vertical-align:middle}

.ckf__gen button{min-height:44px}
.ckf__opc{font-size:inherit;letter-spacing:inherit;text-transform:none;color:var(--mute-2)}

.pd{align-items:flex-start}
.pd__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:radial-gradient(80% 80% at 50% 30%,#1d2a0c,#0a0a0a);box-shadow:0 0 0 2px var(--lime),0 0 22px rgba(197,255,26,.22)}
.pd__ic svg{width:26px;height:26px;fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pd__p{font-size:14px;color:#cfcfcf;line-height:1.45}
.pd__msg{font-size:13px;color:var(--lime);min-height:1.2em}
.pd__msg:empty{display:none}
