@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{
  --ameixa:#3D1E2B; --leveza:#F4F0EA; --autoridade:#24211F; --presenca:#6E3548; --acolhimento:#CBB8AD; --sofisticacao:#9A8E9F;
  --card:#ffffff; --borda:#e6dfd8; --mut:#7a716d;
  --serif:'DM Serif Display',Georgia,serif; --sans:'Manrope',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--leveza);color:var(--autoridade);font-family:var(--sans);line-height:1.55}
.app{display:flex;min-height:100vh}

/* coluna lateral */
.lateral{overflow-y:auto;width:250px;flex:0 0 250px;background:var(--ameixa);color:#f4eaee;padding:26px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.marca{font-family:var(--serif);font-size:1.45rem;color:#fff;margin:0 8px}
.marca-sub{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#dcc3cd;margin:4px 8px 22px}
.grupo{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#cfaebb;margin:20px 10px 8px}
.item{display:block;width:100%;text-align:left;background:none;border:0;color:#f4eaee;font:inherit;font-size:.92rem;padding:10px 12px;border-radius:10px;cursor:pointer}
.item:hover{background:rgba(255,255,255,.08)}
.item.ativo{background:rgba(255,255,255,.16);font-weight:600}
.rodape-lat{margin-top:auto;border-top:1px solid rgba(255,255,255,.18);padding-top:14px;font-size:.85rem;display:flex;gap:10px;align-items:center}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--acolhimento);color:var(--presenca);display:grid;place-items:center;font-family:var(--serif)}

/* conteúdo */
.principal{flex:1;min-width:0;padding:40px clamp(18px,4vw,56px) 70px;max-width:1100px}
h1{font-family:var(--serif);font-weight:400;font-size:2.2rem;margin:0 0 22px}
h2{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin:0 0 8px}
.rotulo{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sofisticacao)}
.mut{color:var(--mut)}
.card{background:var(--card);border:1px solid var(--borda);border-radius:18px;padding:22px 26px;margin:0 0 18px}
.destaque{background:var(--presenca);border-color:var(--presenca);color:#fff}
.destaque .rotulo{color:#dcc3cd}.destaque p{color:#f4eaee}
.botao{background:var(--presenca);color:#fff;border:0;border-radius:99px;padding:12px 24px;font:inherit;font-weight:600;cursor:pointer}
.botao:hover{filter:brightness(1.1)}
.destaque .botao{background:var(--leveza);color:var(--presenca)}
.botao.sec{background:transparent;color:var(--presenca);border:1px solid var(--presenca)}
.botao:disabled{opacity:.5;cursor:default}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:18px}
.grade .card{margin:0}
.etapa-atual{border:2px solid var(--presenca)}
.fechada{opacity:.62}
.pilula{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:3px 10px;margin:6px 0}
.p-ok{background:var(--acolhimento);color:var(--autoridade)}
.p-and{background:var(--presenca);color:#fff}
.p-fec{background:#e9e4ec;color:var(--sofisticacao)}
.selos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.selo{background:#efe6ea;color:var(--presenca);border-radius:99px;padding:6px 14px;font-size:.85rem;font-weight:600}
label{display:block;font-weight:600;margin:18px 0 6px}
input,textarea{width:100%;padding:12px 14px;border:1px solid var(--borda);border-radius:12px;background:var(--leveza);color:var(--autoridade);font:inherit}
textarea{min-height:92px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--sofisticacao);outline-offset:1px}
pre{white-space:pre-wrap;font:inherit;margin:0}
.erro{color:#a8323e;margin-top:10px}
.aviso{background:#efe6ea;border-radius:14px;padding:14px 18px;margin:0 0 18px}
a{color:var(--presenca)}
@media(max-width:780px){
  .app{flex-direction:column}
  .lateral{position:static;width:100%;height:auto;flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;padding:14px}
  .marca-sub,.grupo,.rodape-lat{display:none}.marca{margin-right:12px}
  .item{width:auto}
}

/* ondas 2 e 3 */
.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.coluna{background:#ebe5dd;border-radius:16px;padding:12px;min-height:140px}
.coluna h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sofisticacao);margin:2px 4px 10px;font-weight:500}
.tarefa{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:.92rem}
.tarefa .mover{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.mini{background:transparent;border:1px solid var(--borda);border-radius:99px;padding:3px 10px;font:inherit;font-size:.74rem;color:var(--presenca);cursor:pointer}
.mini:hover{background:#efe6ea}
.check{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--borda);cursor:pointer}
.check:last-child{border-bottom:0}
.check input{width:20px;height:20px;accent-color:var(--presenca);flex:none}
.barra{height:10px;background:#e6dfd8;border-radius:99px;overflow:hidden;margin:10px 0}
.barra>div{height:100%;background:var(--presenca);border-radius:99px}
.notas{display:flex;gap:6px;flex-wrap:wrap}
.notas label{display:inline-flex;margin:0;font-weight:500;gap:4px;align-items:center;border:1px solid var(--borda);border-radius:99px;padding:6px 14px;cursor:pointer}
.notas input{width:auto;accent-color:var(--presenca)}
.linha-tempo{border-left:2px solid var(--acolhimento);margin:8px 0 0 8px;padding-left:18px}
.linha-tempo .ponto{margin:0 0 16px;position:relative}
.linha-tempo .ponto::before{content:"";position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--presenca)}
.data{font-family:var(--mono);font-size:.7rem;color:var(--sofisticacao);letter-spacing:.06em}
.niveis{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.nivel{border:1px solid var(--borda);border-radius:99px;padding:6px 14px;font-size:.85rem;color:var(--mut)}
.nivel.on{background:var(--presenca);color:#fff;border-color:var(--presenca);font-weight:600}
.numerao{font-family:var(--serif);font-size:3rem;line-height:1;color:var(--presenca)}
.vazio{border:1.5px dashed var(--acolhimento);border-radius:16px;padding:26px;text-align:center;color:var(--mut)}
.estado-avancando{background:#dfeee6;color:#2f6a4b}.estado-parada{background:#f4e3c9;color:#8a5a12}.estado-sumida{background:#f2d9dc;color:#a8323e}
.dois{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:780px){.kanban,.dois{grid-template-columns:1fr}}

/* menu estilo Acelera */
.pill-comece{display:block;width:100%;background:var(--acolhimento);color:var(--presenca);border:0;border-radius:99px;padding:14px;font:inherit;font-weight:700;font-size:.98rem;cursor:pointer;margin:0 0 6px}
.pill-comece:hover,.pill-comece.on{background:#dccdc4}
.item{display:flex;align-items:center;gap:12px}
.item svg{flex:none;opacity:.85}

/* comece aqui */
.construir{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.construir-item{display:flex;align-items:center;gap:10px}
.construir-item .num{width:26px;height:26px;border-radius:50%;background:var(--acolhimento);color:var(--presenca);display:grid;place-items:center;font-size:.8rem;font-weight:700;flex:none}
.mantra{background:var(--ameixa);border-color:var(--ameixa);color:#fff}
.mantra .rotulo{color:var(--acolhimento)}
.mantra h2{color:#fff;font-size:1.55rem;margin:0 0 4px}
.mantra .dourado{color:var(--acolhimento);font-family:var(--serif);font-size:1.15rem;margin:16px 0 10px}
.mantra p{color:#f4eaee}

.construir-item{align-items:flex-start}.construir-item strong{font-family:var(--serif);font-weight:400;font-size:1.1rem}

/* formulário de perfil */
.form-grade{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.form-grade.um{grid-template-columns:1fr}
.form-grade.tres{grid-template-columns:1fr 1fr 1fr}
.form-grade.rua{grid-template-columns:1fr 2fr 1fr}
.form-grade.cidade{grid-template-columns:1.2fr 1fr 1fr .7fr}
.campo label{margin:12px 0 6px}
select{width:100%;padding:12px 14px;border:1px solid var(--borda);border-radius:12px;background:var(--leveza);color:var(--autoridade);font:inherit}
.subcard{border:1px solid var(--borda);border-radius:16px;padding:18px 20px;margin-top:18px;background:#faf8f5}
.subcard h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin:0 0 2px}
details summary{cursor:pointer;color:var(--presenca);font-weight:600;margin:10px 0}
@media(max-width:780px){.form-grade,.form-grade.tres,.form-grade.rua,.form-grade.cidade{grid-template-columns:1fr}}

.dois-grupos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.dois-grupos .card{display:flex;flex-direction:column}
.dois-grupos .card .botao{align-self:flex-start;margin-top:auto}

.horario{background:#efe6ea;border-left:4px solid var(--presenca);border-radius:10px;padding:12px 14px;margin:12px 0}
.horario .rotulo{display:block;color:var(--presenca);margin-bottom:2px}
.horario strong{font-size:1.02rem;color:var(--autoridade);font-weight:700}

.portao{list-style:none;padding:0;margin:8px 0 14px;font-size:1.02rem}
.portao li{padding:4px 0;color:#dcc3cd}
.portao li.feito{color:#fff;font-weight:600}
.ok{color:#2f6a4b;font-weight:600;margin:10px 0 0}
.card.destaque button:disabled{opacity:.45}

/* jornada em lista */
.jornada-lista{margin:8px 0 22px}
.etapa-linha{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--borda)}
.etapa-linha:last-child{border-bottom:0}
.etapa-num{flex:none;width:48px;height:28px;border-radius:99px;background:var(--presenca);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;margin-top:6px}
.etapa-num.ok{background:var(--acolhimento);color:var(--presenca);font-weight:700}
.etapa-linha.fechada .etapa-num{background:#e9e4ec;color:var(--sofisticacao)}
.etapa-corpo h2{font-size:1.7rem;margin:0}
.etapa-corpo .rotulo{margin:2px 0 8px}
.etapa-corpo p{margin:0 0 8px;max-width:560px}
.etapa-corpo strong{color:var(--presenca)}
.etapa-linha.fechada{opacity:.6}

/* início estilo painel */
.hero-nivel{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--ameixa);color:#f4eaee;border-radius:20px;padding:22px 28px;margin:6px 0 22px}
.hero-nivel .numerao{color:#fff}
.hero-nivel .rotulo{color:var(--acolhimento)}
.hero-linha{font-size:.92rem;color:#dcc3cd;margin-bottom:8px}
.hero-pts{font-family:var(--serif);font-size:1.6rem;color:#fff}
.hero-dir{text-align:right}
.barra.escura{background:rgba(255,255,255,.16);height:8px;margin:0}
.barra.escura>div{background:var(--acolhimento)}
.stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;margin:6px 0 24px;position:relative}
.passo{text-align:center;cursor:pointer;padding:6px 2px}
.bola{width:44px;height:44px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;background:#ece6ef;color:var(--sofisticacao);font-size:1.05rem;border:2px solid transparent}
.passo.ok .bola{background:var(--acolhimento);color:var(--presenca);font-weight:700}
.passo.on .bola{background:#fff;border-color:var(--presenca);color:var(--presenca)}
.passo-n{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.passo-nome{font-size:.8rem;color:var(--autoridade);margin-top:2px}
.par{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:18px}
.par .card{margin:0}
.check.marco{justify-content:flex-start}
.marco-t{flex:1}.marco-p{font-family:var(--mono);font-size:.74rem;color:var(--mut)}
.proximo-marco{background:#efe1e6;border-color:#e5cfd7}
.link{background:none;border:0;color:var(--presenca);font:inherit;font-weight:700;padding:0;margin-top:14px;cursor:pointer}
.atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.atalho{margin:0}
.atalho-ic{width:38px;height:38px;border-radius:10px;background:var(--ameixa);color:#fff;display:grid;place-items:center;margin-bottom:14px}
.atalho h2{font-size:1.2rem}
@media(max-width:780px){.hero-nivel,.par{grid-template-columns:1fr}.hero-dir{text-align:left}}

.hero-boasvindas{background:var(--ameixa);color:#f4eaee;border-radius:22px;padding:34px 36px;margin:0 0 18px}
.hero-boasvindas .rotulo{color:var(--acolhimento);margin-bottom:10px}
.hero-boasvindas h1{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.15;margin:0 0 12px;max-width:760px}
.hero-boasvindas h1 em{color:var(--acolhimento);font-style:italic}
.hero-boasvindas p{margin:0;max-width:620px;color:#dcc3cd}

.regras li{margin:8px 0}.sub-regras{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin:18px 0 2px}.palavras{columns:2;list-style:none;padding:0;margin:8px 0 0}.palavras li{margin:6px 0;break-inside:avoid}@media(max-width:780px){.palavras{columns:1}}

/* calendário */
.cal-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 14px}
.cal-topo h2{margin:0}.cal-topo h2::first-letter{text-transform:uppercase}
.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:26px}
.cal-dia-nome{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sofisticacao);text-align:center;padding:4px 0}
.cal-cel{min-height:84px;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:6px 8px;overflow:hidden}
.cal-vazio{min-height:84px}
.cal-cel.hoje{border-color:var(--presenca);box-shadow:0 0 0 1px var(--presenca) inset}
.cal-cel.tem{background:#f3e8ed}
.cal-num{font-size:.8rem;color:var(--mut)}
.cal-ev{margin-top:4px;font-size:.72rem;line-height:1.25;background:var(--presenca);color:#fff;border-radius:6px;padding:3px 6px}
.cal-botoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cal-botoes .botao{text-decoration:none;display:inline-block;margin:0}
@media(max-width:780px){.cal-cel{min-height:56px;padding:4px}.cal-ev{font-size:.62rem}}

/* trilha da jornada */
.item .seta{margin-left:auto;font-size:.8rem;opacity:.8}
.submenu{margin:2px 0 8px 18px;border-left:1px solid rgba(255,255,255,.16);padding-left:6px}
.subitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;color:#e9dce2;font:inherit;font-size:.86rem;padding:7px 10px;border-radius:8px;cursor:pointer}
.subitem:hover{background:rgba(255,255,255,.07)}
.subitem.ativo{background:rgba(255,255,255,.14);color:#fff;font-weight:600}
.subitem .sn{font-family:var(--mono);font-size:.7rem;color:var(--acolhimento);min-width:18px}
.subitem .seta{margin-left:auto;font-size:.75rem}
.subitem.trancada{opacity:.65}
h1 em{color:var(--presenca);font-style:italic}
.etapas-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:0 0 18px}
.etapa-card{cursor:pointer;margin:0;transition:transform .12s}
.etapa-card:hover{transform:translateY(-2px)}
.etapa-card h2{margin:4px 0}

/* plano de ação em quadro */
.plano-topo{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:6px}
.plano-topo h1{margin:2px 0 6px}.plano-topo p{max-width:520px;margin:0}
.plano-dir{display:flex;gap:12px;align-items:center}
.badge-feitas{background:#efe6ea;color:var(--presenca);border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:600}
.botao.escuro{background:var(--ameixa);margin:0}
.plano-barra{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border-top:1px solid var(--borda);padding-top:16px;margin:16px 0 20px}
.plano-barra .barra{margin:0}
.kb-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.kb-col{background:#ebe5dd;border-radius:16px;padding:12px;min-height:160px;transition:background .15s}
.kb-col.sobre{background:#e2d6da}
.kb-titulo{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sofisticacao);padding:2px 6px 10px}
.kb-card{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:grab}
.kb-texto{font-weight:600;line-height:1.35}
.kb-tag{display:inline-block;background:#f0ece6;border-radius:6px;padding:2px 8px;font-size:.74rem;color:var(--mut);margin-top:8px}
.kb-tag i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sofisticacao)}
.kb-atraso{display:inline-block;background:#fbe3dc;color:#a8323e;border-radius:6px;padding:2px 8px;font-size:.74rem;margin-top:8px}
.kb-rodape{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:.82rem}
.kb-av{width:26px;height:26px;border-radius:50%;background:#ece6ef;color:var(--presenca);display:grid;place-items:center;font-size:.72rem;font-weight:700}
.kb-card .mover{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;opacity:.0;max-height:0;overflow:hidden;transition:all .15s}
.kb-card:hover .mover,.kb-card:focus-within .mover{opacity:1;max-height:60px}
.kb-stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:18px}
.kb-stats .card{margin:0}
@media(max-width:780px){.kb-grade,.kb-stats{grid-template-columns:1fr}.plano-barra{grid-template-columns:1fr}.kb-card .mover{opacity:1;max-height:60px}}

.link-ajuda{background:none;border:0;color:var(--acolhimento);font:inherit;font-size:.78rem;padding:2px 0 0;margin:0;cursor:pointer;text-decoration:underline}
.link-ajuda:hover{color:#fff}

/* aulas por módulo e marco */
.aula-linha{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--borda)}
.aula-linha:first-of-type{border-top:0}
.aula-texto{min-width:0}
.aula-linha .botao{margin:0;text-decoration:none;white-space:nowrap}
.aulas-marco{background:#f7f2f5;border-radius:12px;padding:2px 14px;margin:-4px 0 12px 34px}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 18px}
.chip{background:#fff;border:1px solid var(--borda);color:var(--autoridade);border-radius:99px;padding:7px 16px;font:inherit;font-size:.85rem;cursor:pointer;margin:0}
.chip.on{background:var(--ameixa);border-color:var(--ameixa);color:#fff}

/* projeto: treinos em vídeo */
.semana-topo{display:flex;align-items:center;gap:12px;margin:26px 0 12px}
.semana-topo h2{margin:0}
.treinos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.treino{background:#fff;border:1px solid var(--borda);border-radius:16px;overflow:hidden;position:relative}
.treino a{display:block;position:relative;line-height:0}
.treino img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#e9e4ec}
.treino .play{position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;color:#fff;background:linear-gradient(0deg,rgba(61,30,43,.45),rgba(61,30,43,.05));line-height:1}
.treino .info{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}
.treino.feito{opacity:.72}
.feito-check{display:flex;align-items:center;gap:6px;margin:0;font-weight:500;font-size:.85rem;cursor:pointer}
.feito-check input{width:18px;height:18px;accent-color:var(--presenca)}

.evo-linha{display:flex;gap:26px;flex-wrap:wrap;margin:6px 0 10px}

.meta-linha{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 4px 18px}
.evo-linha{gap:40px}

.hist-linha{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--borda);font-size:.92rem}
.hist-linha .data{min-width:86px}

.selo.apagado{background:#ece6ef;color:var(--sofisticacao);font-weight:500}

.silhuetas{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin:14px 0 8px}
.silhueta{width:130px;text-align:center}
.silhueta .rotulo{margin-top:6px}

.alim-linha{padding:10px 0;border-top:1px solid var(--borda)}
.alim-linha:first-of-type{border-top:0}

/* movimento: painel de cartões pequenos */
.mini-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px}
.mini-card{margin:0;cursor:pointer;padding:16px 18px;transition:transform .12s}
.mini-card:hover{transform:translateY(-2px)}
.mini-card p{margin:6px 0 0;font-size:.95rem}
.dias{display:inline-flex;gap:6px;vertical-align:middle;margin-left:6px}
.dia{width:14px;height:14px;border-radius:50%;background:#e6dfd8}
.dia.on{background:var(--presenca)}
.escala{margin:14px 0 8px}
.escala-barra{position:relative;display:flex;height:12px;border-radius:99px;overflow:hidden}
.zona.abaixo{background:#9A8E9F}.zona.saudavel{background:#8fc3a6}.zona.sobre{background:#e7c27d}.zona.acima{background:#d98a7e}
.marcador{position:absolute;top:-3px;width:4px;height:18px;background:var(--autoridade);border-radius:2px;transform:translateX(-2px)}
.escala-leg{display:flex;justify-content:space-between;font-size:.72rem;color:var(--mut);margin-top:6px}

/* passos do movimento e banner da central */
.passo-topo{display:flex;align-items:center;gap:14px;margin:26px 0 12px}
.passo-num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--presenca);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:.85rem}
.passo-topo h2{margin:0}
.banner-central{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,var(--ameixa),var(--presenca));color:#fff;border-radius:22px;padding:34px 38px;margin:26px 0 8px}
.banner-central h2{color:#fff;font-size:1.9rem;margin:2px 0 6px}
.banner-central p{margin:0;color:#f4eaee;max-width:520px}
.banner-central .rotulo{color:var(--acolhimento)}
.banner-central .botao{background:var(--leveza);color:var(--presenca);margin:0}

.ritual-linha{padding:12px 0;border-top:1px solid var(--borda)}
.ritual-linha:first-of-type{border-top:0}
.ebook-dentro{margin-top:18px;padding-top:14px;border-top:1px solid var(--borda)}

.afirmacoes{margin-top:8px;padding:12px 16px;background:#f3e8ed;border-radius:12px;font-family:var(--serif);font-size:1.15rem;color:var(--presenca);line-height:1.7}

.playlist{margin-top:18px;padding-top:16px;border-top:1px solid var(--borda)}

/* ===== modo aplicativo (celular) ===== */
.topo-mobile,.abas,.fundo-gaveta{display:none}
@media(max-width:780px){
  html{-webkit-text-size-adjust:100%}
  body{padding-bottom:0;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
  .app{display:block;min-height:100vh}
  .topo-mobile{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;background:var(--ameixa);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 18px 10px}
  .topo-mobile .marca{margin:0;font-size:1.3rem}
  .topo-mobile .avatar{width:32px;height:32px;font-size:.9rem}
  .lateral{position:fixed !important;top:0;left:0;bottom:0;width:84%;max-width:330px;height:100vh !important;flex:none;flex-direction:column !important;flex-wrap:nowrap !important;align-items:stretch !important;transform:translateX(-105%);transition:transform .22s ease;z-index:70;padding:calc(22px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom)) !important;overflow-y:auto;box-shadow:6px 0 24px rgba(0,0,0,.25)}
  .lateral.aberta{transform:none}
  .lateral .marca-sub,.lateral .grupo,.lateral .rodape-lat{display:flex !important}
  .lateral .marca-sub{display:block !important}
  .lateral .grupo{display:block !important}
  .fundo-gaveta{display:block;position:fixed;inset:0;background:rgba(20,10,15,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:65}
  .fundo-gaveta.on{opacity:1;pointer-events:auto}
  .principal{padding:18px 16px calc(96px + env(safe-area-inset-bottom)) !important;max-width:none}
  body:not(.com-abas) .principal{padding-bottom:28px !important}
  h1{font-size:1.7rem}
  .abas{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--borda);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(60,30,40,.08)}
  .abas[hidden]{display:none}
  .aba{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;color:var(--mut);font:inherit;font-size:.68rem;padding:8px 2px;margin:0;border-radius:12px;cursor:pointer;min-height:52px}
  .aba svg{width:22px;height:22px}
  .aba.on{color:var(--presenca);font-weight:700}
  .item,.subitem{min-height:46px}
  .botao,.chip,.mini{min-height:44px}
  input,textarea,select{font-size:16px !important}
  .card{padding:18px 18px}
  .hero-boasvindas{padding:24px 22px}
  .hero-nivel{padding:18px 20px}
  .banner-central{padding:24px 22px}
  .stepper{grid-template-columns:repeat(4,1fr)}
  .etapa-linha{gap:12px}
  .etapa-corpo h2{font-size:1.4rem}
  .cal-botoes .botao{flex:1;text-align:center}
  .mini-cards{grid-template-columns:1fr 1fr}
  .treinos{grid-template-columns:1fr}
}
@media(max-width:380px){.mini-cards{grid-template-columns:1fr}}

/* mantra do Movimento: claro */
.mantra-claro{background:#fff;border:1px solid var(--borda);border-left:4px solid var(--presenca);color:var(--presenca)}
.mantra-claro .rotulo{color:var(--sofisticacao)}
.mantra-claro h2{color:var(--presenca);font-style:italic}

/* desafio */
.desafio-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin:6px 0 18px}
.desafio-pts{text-align:right}
.desafio-cols{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:start}
.rank-linha{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--borda)}
.rank-linha:first-of-type{border-top:0}
.rank-linha.eu{background:var(--leveza);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:10px}
.rank-pos{width:30px;font-family:var(--mono);color:var(--mut)}
.rank-nome{flex:1}
.acao-topo{display:flex;justify-content:space-between;gap:12px}
.acao-pts{font-family:var(--mono);color:var(--presenca);white-space:nowrap}
.acao-card p{margin:4px 0 12px}
.premio{background:var(--leveza);border-radius:14px;padding:16px 18px}
.premio ul{margin:8px 0 0;padding-left:18px}
@media(max-width:780px){.desafio-cols{grid-template-columns:1fr}.desafio-pts{text-align:left}}

.rank-nome{flex:1}

.pontos-grande{text-align:center;padding:26px}
.pontos-num{font-family:var(--serif);font-size:4.2rem;line-height:1;color:var(--presenca);margin:8px 0}

.hs-duvida{border-top:1px solid var(--borda);padding:16px 0}
.hs-l{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:12px 0 3px}
.hs-imgs{display:flex;gap:10px;flex-wrap:wrap}
.hs-imgs img{width:130px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--borda)}

.filtro-mes{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.filtro-mes label{margin:0;font-weight:600}
.filtro-mes select{width:auto;min-width:220px}

/* login e termos (sem o menu lateral) */
body.sem-login .lateral,body.sem-login .topo-mobile,body.sem-login .abas,body.sem-login .fundo-gaveta{display:none !important}
body.sem-login .app{display:block}
body.sem-login .principal{margin:0 auto;max-width:480px;padding:clamp(24px,8vh,80px) 18px 40px !important}
.login-marca{font-family:var(--serif);font-size:2rem;color:var(--ameixa);text-align:center}
.login-sub{text-align:center;color:var(--mut,#6b625e);margin:2px 0 22px;font-size:.9rem}
body.sem-login .principal:has(.login.largo){max-width:720px}
.termos{max-height:46vh;overflow-y:auto;border:1px solid #e2d8cf;border-radius:10px;padding:4px 16px 10px;margin-top:12px;background:#fffdfb}
.termos h3{font-size:.95rem;color:var(--ameixa);margin:16px 0 4px}.termos p{margin:4px 0;font-size:.9rem;line-height:1.5}

/* documentos da aluna */
.doc-card summary{cursor:pointer;font-size:1.02rem;list-style-position:inside}
.doc{margin-top:14px;line-height:1.55;font-size:.95rem}
.doc h2{font-family:var(--serif);font-size:1.5rem;margin:6px 0 8px;color:var(--ameixa)}
.doc h3{font-size:1.08rem;margin:20px 0 6px;color:var(--ameixa)}
.doc h4{font-size:.98rem;margin:16px 0 4px}
.doc p{margin:7px 0}.doc ul{margin:6px 0 10px;padding-left:20px}.doc li{margin:3px 0}
.doc blockquote{margin:10px 0;padding:8px 14px;border-left:3px solid var(--ameixa);background:#faf3f5;border-radius:0 8px 8px 0}
.doc hr{border:0;border-top:1px solid #e2d8cf;margin:18px 0}
.doc a{color:var(--ameixa);text-decoration:underline}

/* passos da etapa */
.barra-passos{height:8px;background:#e8dfd6;border-radius:99px;overflow:hidden;margin-top:10px}.barra-passos div{height:100%;background:var(--ameixa);border-radius:99px}
.passo-cab{display:flex;align-items:center;gap:10px;margin-bottom:6px}.passo-n{font-family:var(--mono,monospace);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ameixa);font-weight:700}.passo-cab .marco-p{margin-left:auto}
.passo.feito{opacity:.85}.passo h2{margin:2px 0 6px}
.como-fazer{margin:12px 0;border:1px solid #e2d8cf;border-radius:10px;padding:10px 14px;background:#fffdfb}.como-fazer summary{cursor:pointer;font-weight:700;color:var(--ameixa)}
.passo .doc-card{box-shadow:none;border:1px solid #e2d8cf;margin-top:12px}
.passo,.passo .como-fazer,.passo .doc,.passo .doc-card{text-align:left}
.passo .doc ul,.passo .doc ol{text-align:left}
.passo-cab{flex-wrap:wrap}

/* ponto A e ponto B */
.ab-grade{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
@media(max-width:780px){.ab-grade{grid-template-columns:1fr}}
.ab{text-align:left}.ab-lista{list-style:none;padding:0;margin:8px 0 0}.ab-lista li{margin:8px 0;line-height:1.45;font-size:.93rem}
.ab-grade .ab:last-child{border-top:3px solid var(--ameixa)}

/* quadro de tarefas: arrastar e editar */
.kb-card{cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.kb-card.arrastando{opacity:.35}
.kb-card.fantasma{position:fixed;z-index:200;pointer-events:none;opacity:.95;box-shadow:0 12px 30px rgba(0,0,0,.25);transform:rotate(2deg);margin:0}
body.arrastando-tarefa{cursor:grabbing;user-select:none}
.cal-tarefa{background:#e9e1f0;color:#4a2b57}
.modal-fundo{position:fixed;inset:0;background:rgba(40,25,32,.55);z-index:300;display:grid;place-items:center;padding:18px;overflow-y:auto}
.modal{background:#fff;border-radius:16px;padding:22px;width:min(560px,100%);box-shadow:0 20px 50px rgba(0,0,0,.3);text-align:left;max-height:92vh;overflow-y:auto}
.modal-botoes{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.modal-botoes .link{margin-left:auto}
