/* Fluxo de inscrição — estilo fixo (não usa tokens de tema) */
.flow {
  --f-bg:#080d09; --f-surface:#0e150f; --f-surface2:#131c15; --f-line:#22301f;
  --f-ink:#f3f7f2; --f-muted:#8aa08f; --f-green:#17b24f; --f-green2:#22d465; --f-cream:#eef1e6;
  min-height:100dvh; background:var(--f-bg); color:var(--f-ink);
  font-family:'Space Grotesk', system-ui, sans-serif;
}
.flow-bar {
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding:18px clamp(16px,4vw,40px); border-bottom:1px solid var(--f-line);
}
.flow-bar__back { justify-self:start; background:none; border:0; color:var(--f-ink); font:600 .8rem 'Space Grotesk',sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.flow-bar__brand { justify-self:center; font-family:'Archivo Black',sans-serif; letter-spacing:.02em; }
.flow-bar__brand b { color:var(--f-green2); }
.flow-bar__tag { justify-self:end; color:var(--f-muted); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
@media (max-width:640px){ .flow-bar__tag{ display:none; } }

.flow-steps { display:flex; gap:6px; padding:16px clamp(16px,4vw,40px); border-bottom:1px solid var(--f-line); overflow-x:auto; }
.flow-steps__item { flex:1; min-width:max-content; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--f-muted); border-top:2px solid var(--f-line); padding-top:8px; transition:color .2s,border-color .2s; }
.flow-steps__item--done { color:var(--f-ink); border-color:var(--f-green); }
.flow-steps__item--active { color:var(--f-green2); border-color:var(--f-green2); }

.flow-body { display:grid; gap:0; max-width:1180px; margin:0 auto; }
.flow-main { padding:clamp(28px,5vw,64px) clamp(16px,4vw,40px); }
.flow-aside { padding:clamp(24px,4vw,40px); background:var(--f-surface); border-top:1px solid var(--f-line); }
@media (min-width:900px){
  .flow-body { grid-template-columns:1fr 360px; }
  .flow-aside { border-top:0; border-left:1px solid var(--f-line); }
}

.flow-eyebrow { color:var(--f-green2); font-size:.75rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.flow-title { font-family:'Archivo Black',sans-serif; text-transform:uppercase; font-size:clamp(2.2rem,7vw,3.6rem); line-height:.98; margin:10px 0; }
.flow-title span { color:var(--f-green2); }
.flow-sub { color:var(--f-muted); margin-bottom:24px; }

.flow-panel { display:none; }
.flow-panel--active { display:block; animation:flowIn .3s ease both; }
@keyframes flowIn { from{opacity:0;transform:translateY(10px);} to{opacity:1;} }

.flow-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:560px){ .flow-row{ grid-template-columns:1fr; } }
.flow-field { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.flow-field label { font-weight:600; font-size:.9rem; }
.flow-opt { color:var(--f-muted); font-weight:400; }
.flow-field input, .flow-field select, .flow-field textarea {
  background:var(--f-surface); border:1px solid var(--f-line); border-radius:10px; color:var(--f-ink);
  font:1rem 'Space Grotesk',sans-serif; padding:14px; width:100%;
}
.flow-field textarea { min-height:120px; resize:vertical; }
.flow-field input:focus, .flow-field select:focus, .flow-field textarea:focus { outline:none; border-color:var(--f-green); }
.flow-field--invalid input, .flow-field--invalid select, .flow-field--invalid textarea { border-color:#e5484d; }
.flow-error { color:#e5484d; font-size:.82rem; min-height:1.1em; }

.flow-cities { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px){ .flow-cities{ grid-template-columns:1fr; } }
.flow-city { position:relative; border:1px solid var(--f-line); border-radius:14px; padding:20px; cursor:pointer; display:grid; gap:6px; transition:border-color .15s, background .15s; }
.flow-city input { position:absolute; opacity:0; pointer-events:none; }
.flow-city:has(input:checked) { border-color:var(--f-green); background:rgba(23,178,79,.08); }
.flow-city__ping { color:var(--f-green2); }
.flow-city__nome { font-family:'Archivo Black',sans-serif; text-transform:uppercase; font-size:1.4rem; }
.flow-city__data { font-weight:600; }
.flow-city__local { color:var(--f-muted); font-size:.9rem; }
.flow-city__check { position:absolute; top:16px; right:16px; color:var(--f-green2); opacity:0; }
.flow-city:has(input:checked) .flow-city__check { opacity:1; }

.flow-nav { display:flex; justify-content:space-between; gap:12px; margin-top:12px; }
.flow-btn { display:inline-flex; align-items:center; gap:8px; background:var(--f-green); color:#04140b; border:1px solid transparent; border-radius:999px; padding:14px 30px; font:800 .9rem 'Space Grotesk',sans-serif; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; transition:background .2s,transform .15s; }
.flow-btn:hover { background:var(--f-green2); transform:translateY(-1px); }
.flow-btn--ghost { background:none; border-color:var(--f-line); color:var(--f-ink); }
.flow-btn--ghost:hover { background:var(--f-surface); }
.flow-btn:disabled { opacity:.4; cursor:not-allowed; transform:none; }

.flow-review { display:grid; gap:0; margin-bottom:22px; }
.flow-review__row { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; border-top:1px solid var(--f-line); padding:16px 2px; }
.flow-review__row:last-child { border-bottom:1px solid var(--f-line); }
.flow-review__row small { color:var(--f-muted); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:4px; }
.flow-review__edit { background:none; border:0; color:var(--f-green2); font:600 .85rem 'Space Grotesk',sans-serif; cursor:pointer; }
.flow-consent label { display:flex; gap:10px; align-items:flex-start; color:var(--f-muted); font-size:.92rem; cursor:pointer; }
.flow-consent input { width:auto; padding:0; background:none; border:0; margin-top:3px; accent-color:var(--f-green); flex:0 0 auto; }

.flow-aside__title { color:var(--f-green2); font-size:.75rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; }
.flow-aside__img { width:100%; border-radius:12px; margin-bottom:16px; }
.flow-aside__peneira { font-family:'Archivo Black',sans-serif; text-transform:uppercase; font-size:1.3rem; margin-bottom:14px; }
.flow-aside__row { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--f-line); font-size:.92rem; }
.flow-aside__row span { color:var(--f-muted); }
.flow-aside__note { display:flex; gap:8px; color:var(--f-muted); font-size:.8rem; margin-top:14px; }

/* pagamento (passo 5) */
.pay { display:grid; gap:26px; }
@media (min-width:720px){ .pay{ grid-template-columns:auto 1fr; align-items:start; } }
.pay__qr { background:#fff; border-radius:14px; padding:16px; width:min(240px,72vw); }
.pay__qr svg { width:100%; height:auto; display:block; }
.pay__hint { color:var(--f-muted); font-size:.82rem; text-align:center; margin-top:8px; }
.pay__timer { color:var(--f-green2); font-weight:700; margin-bottom:10px; }
.pay__desc { color:var(--f-muted); margin-bottom:16px; }
.pay__code { display:flex; gap:8px; margin-bottom:14px; }
.pay__code input { flex:1; background:var(--f-surface); border:1px solid var(--f-line); border-radius:10px; color:var(--f-muted); font:.78rem ui-monospace,monospace; padding:12px; }
.pay__copy { background:var(--f-surface); border:1px solid var(--f-line); border-radius:10px; color:var(--f-ink); width:46px; cursor:pointer; font-size:1rem; }
.flow-btn--block { width:100%; justify-content:center; }
.pay__note { color:var(--f-muted); font-size:.8rem; text-align:center; margin-top:8px; }
.pay__expired { display:flex; gap:12px; align-items:center; margin-top:14px; color:#e5484d; }
.pay__confirming { display:flex; gap:12px; align-items:center; justify-content:center; padding:26px; color:var(--f-muted); }
.pay__spin { width:26px; height:26px; border-radius:50%; border:3px solid var(--f-line); border-top-color:var(--f-green2); animation:flowspin .8s linear infinite; }
@keyframes flowspin { to{ transform:rotate(360deg); } }

/* área do atleta */
.cred { max-width:1080px; margin:0 auto; padding:clamp(28px,5vw,64px) clamp(16px,4vw,40px); }
.cred__hero { font-family:'Archivo Black',sans-serif; text-transform:uppercase; font-size:clamp(2.4rem,8vw,4.4rem); line-height:.96; color:var(--f-cream); margin:8px 0; animation:flowIn .5s ease both; }
.cred__hero span { color:var(--f-green2); }
.cred__code { color:var(--f-muted); margin-bottom:26px; }
.cred__code b { color:var(--f-ink); }
.cred__grid { display:grid; gap:18px; margin-bottom:26px; }
@media (min-width:820px){ .cred__grid{ grid-template-columns:1.4fr 1fr; } }
.cred__card { background:var(--f-surface); border:1px solid var(--f-line); border-radius:16px; padding:26px; display:grid; gap:16px; }
.cred__label { color:var(--f-green2); font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.cred__peneira { font-family:'Archivo Black',sans-serif; text-transform:uppercase; font-size:1.6rem; }
.cred__rows { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cred__rows small { color:var(--f-muted); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:2px; }
.cred__qr { background:#fff; border-radius:12px; padding:14px; width:170px; justify-self:start; }
.cred__qr svg { width:100%; height:auto; display:block; }
.cred__art { border-radius:16px; overflow:hidden; border:1px solid var(--f-line); }
.cred__art img { width:100%; height:100%; object-fit:cover; display:block; }
.cred__actions { display:grid; gap:12px; margin-bottom:26px; }
@media (min-width:720px){ .cred__actions{ grid-template-columns:repeat(3,1fr); } }
.cred__action { text-align:left; background:var(--f-surface); border:1px solid var(--f-line); border-radius:14px; padding:18px; cursor:pointer; color:var(--f-ink); display:grid; gap:3px; transition:border-color .15s,transform .15s; font-family:'Space Grotesk',sans-serif; }
.cred__action:hover { border-color:var(--f-green); transform:translateY(-1px); }
.cred__action b { font-size:1rem; }
.cred__action span { color:var(--f-muted); font-size:.86rem; }
.cred__checklist { background:var(--f-surface); border:1px solid var(--f-line); border-radius:16px; padding:24px; }
.cred__checklist ul { list-style:none; padding:0; margin-top:12px; display:grid; gap:10px; }
@media (min-width:600px){ .cred__checklist ul{ grid-template-columns:1fr 1fr; } }
.cred__checklist li { display:flex; gap:10px; }
.cred__checklist li::before { content:'✓'; color:var(--f-green2); font-weight:800; }
.horarios-list { list-style:none; padding:0; display:grid; gap:8px; }
.horarios-list span { display:inline-block; min-width:56px; color:var(--green-bright); font-weight:800; }

/* login estilo fluxo */
.login-flow { display:grid; place-items:start center; padding:clamp(40px,8vw,90px) 16px; }
.login-flow__card { width:100%; max-width:440px; background:var(--f-surface); border:1px solid var(--f-line); border-radius:18px; padding:34px; text-align:center; }
.login-flow__card > img { width:64px; margin:0 auto 14px; }
.login-flow__card .flow-title { font-size:1.8rem; }
.login-flow__card .flow-sub { margin:8px auto 20px; }
.login-flow__card form { text-align:left; }
.login-flow__aviso { color:var(--gold, #E9A21B); font-size:.88rem; margin-top:14px; }
.login-flow__aviso a { color:var(--f-green2); }
