/* MP Fit · v2 do app do aluno: correr, social, insígnias, câmera, piscina, clube, novidades */

/* tema por unidade: MP Family ganha acento azul-piscina (a marca MP continua laranja no logo) */
body[data-uni="family"]{--or:#1fc8e3;--or2:#5fdcf0;--or3:#a8eef8;--glow:rgba(31,200,227,.42);--orbg:rgba(31,200,227,.11)}
body[data-uni="family"]{background:radial-gradient(700px 520px at 50% -120px,rgba(31,200,227,.16),transparent 70%),var(--bg)}
body[data-uni="family"] .abas .qrb{color:#02262c}
body[data-uni="family"] .btn:not(.sec):not(.ghost):not(.ok):not(.bad){color:#02262c}

.txt-ok{color:var(--ok)}.txt-warn{color:var(--warn)}
.topo-d{display:flex;gap:8px;align-items:center}
.topo-ava{width:44px;height:44px;font-size:16px;overflow:hidden;border:2px solid var(--line2)}
.ava img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.abas button .ic{width:23px;height:23px}

/* hero e segmentos */
.hero-correr{padding:4px 2px 0}
.hero-correr h1{font-size:46px}.hero-correr h1 em{color:var(--or);font-style:inherit}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.seg button{min-height:42px;border-radius:12px;font-weight:700;color:var(--mut);font-size:14px}
.seg button.on{background:var(--or);color:#160700}
body[data-uni="family"] .seg button.on{color:#02262c}
.sep{width:1px;background:var(--line2);margin:0 4px}

/* correr: hub */
.modos .modo{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;min-height:150px}
.modo-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--orbg);color:var(--or);margin-bottom:6px}
.modo-ic .ic{width:28px;height:28px}
.modo b{font-family:var(--cond);font-style:italic;font-weight:800;font-size:28px;text-transform:uppercase;line-height:1}
.corrida-ativa{display:flex;align-items:center;gap:12px;border-color:rgba(43,214,123,.4);text-align:left;width:100%}
.corrida-ativa>.ic:first-child{color:var(--ok);width:28px;height:28px}.corrida-ativa div{flex:1;display:flex;flex-direction:column}
.mes-correr{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.mes-correr div{display:flex;flex-direction:column}.mes-correr b{font-size:34px;line-height:1}.mes-correr span{font-size:12px;color:var(--mut)}
.recs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rec{padding:12px;display:flex;flex-direction:column;gap:2px}.rec b{font-size:24px;color:var(--or2)}.rec.off b{color:var(--mut2)}
.ativs{display:flex;flex-direction:column;gap:8px}
.ativ{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:10px}
.ativ>div{flex:1;display:flex;flex-direction:column;min-width:0}
.ativ>.ic{color:var(--mut2)}
.thumb{width:88px;height:64px;border-radius:12px;background:#0b0b0e;border:1px solid var(--line);display:grid;place-items:center;flex:0 0 auto;overflow:hidden}
.thumb .rota-svg{width:100%;height:100%}
.thumb-ic .ic{width:28px;height:28px;color:var(--or)}
.thumb-ic.g{width:100%;height:150px;display:grid;place-items:center}.thumb-ic.g .ic{width:56px;height:56px}
.ao-vivo-tag{display:inline-flex;align-items:center;gap:6px;color:var(--bad);font-size:14px;letter-spacing:.06em;vertical-align:3px}
.ao-vivo-tag .dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.chip.vivo{background:var(--bad);color:#fff}
.evento-c{display:flex;gap:12px;align-items:center;text-align:left;width:100%}
.evento-c.ao_vivo{border-color:rgba(255,77,87,.45);background:linear-gradient(135deg,rgba(255,77,87,.1),var(--s1))}
.ev-data{width:58px;height:62px;border-radius:14px;background:var(--orbg);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;color:var(--or2)}
.ev-data b{font-size:28px;line-height:1}.ev-data span{font-size:11px;font-weight:700;letter-spacing:.1em}
.ev-i{flex:1;display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0}
.ev-i>b{font-size:16px;line-height:1.2}
.evento-c>.ic{color:var(--mut2)}

/* corrida ao vivo */
.corrida{gap:10px}
.mapa-box{height:44vh;min-height:240px;max-height:420px;border-radius:22px;overflow:hidden;border:1px solid var(--line2);background:#0a0a0d;position:relative}
.mapa-box.curto{height:240px;min-height:0}
.mapa-mp .maplibregl-ctrl-attrib{background:rgba(0,0,0,.55)!important;color:#888;font-size:10px}
.mapa-mp .maplibregl-ctrl-attrib a{color:#aaa}
.mapa-svg{position:relative;width:100%;height:100%}
.mapa-svg svg{width:100%;height:100%;display:block}
.mk{position:relative}
.mk.eu i,.mk.ini i{display:block;width:20px;height:20px;border-radius:50%;background:var(--or);border:3px solid #fff;box-shadow:0 0 0 6px var(--orbg),0 0 18px var(--glow)}
.mk.ini i{width:14px;height:14px;background:#fff;border-color:var(--or)}
.mk.eu.centro{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.mk.part{position:absolute;transform:translate(-50%,-50%)}
.mapa-box .maplibregl-marker.mk.part,.mapa-box .maplibregl-marker.mk{position:absolute}
.mk.part span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1d1d24;border:2px solid var(--or);color:#fff;font-size:11px;font-weight:700}
.mk.part.eu span{background:var(--or);color:#160700}
.gps-st{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:8px 12px;border-radius:12px;background:var(--s1);border:1px solid var(--line)}
.gps-st .ic{width:18px;height:18px}
.gps-st.ok{color:var(--ok)}.gps-st.warn{color:var(--warn)}.gps-st.bad{color:var(--bad)}
.aviso-tela{display:flex;gap:12px;align-items:flex-start}
.aviso-tela>.ic{color:var(--warn);width:24px;height:24px;margin-top:2px}
.aviso-tela div{display:flex;flex-direction:column;gap:2px}
.ev-sel{display:flex;flex-direction:column;gap:8px}
.painel-run{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:22px;background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--line)}
.painel-run.correndo{border-color:rgba(43,214,123,.35)}
.painel-run.pausado{border-color:rgba(255,197,58,.35)}
.run-km{display:flex;align-items:flex-end;gap:10px}
.run-km b{font-size:84px;line-height:.8;text-shadow:0 0 30px var(--glow)}
.run-km span{font-family:var(--cond);font-style:italic;font-weight:800;font-size:26px;color:var(--or);text-transform:uppercase}
.run-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.run-g div{display:flex;flex-direction:column;min-width:0}
.run-g span{font-size:11.5px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.run-g b{font-size:26px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.splits{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.splits:empty{display:none}
.splits span{flex:0 0 auto;font-size:12.5px;padding:5px 10px;border-radius:99px;background:var(--s3);color:var(--mut)}.splits b{color:var(--txt)}
.run-b{display:flex;flex-direction:column;gap:8px}
.btn.grande{min-height:58px;font-size:22px}
.esteira-top{display:flex;gap:12px;align-items:center}
.esteira-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--orbg);color:var(--or);flex:0 0 auto}
.esteira-top div{display:flex;flex-direction:column}
.ajustes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ajuste{display:flex;flex-direction:column;gap:6px;align-items:center;padding:10px;border-radius:14px;background:rgba(255,255,255,.03)}
.ajuste>span{font-size:12px;color:var(--mut);font-weight:600;text-transform:uppercase}
.ajuste .passo b{font-size:30px;display:flex;align-items:baseline;gap:3px}.ajuste small{font-size:13px;color:var(--mut)}

/* atividade */
.salvou{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;text-align:center}
.salvou .ic{width:46px;height:46px;padding:10px;border-radius:50%;background:var(--okbg);color:var(--ok)}
.salvou b{font-family:var(--cond);font-style:italic;font-weight:800;font-size:30px;text-transform:uppercase}
.ativ-ic{display:grid;place-items:center;height:150px}.ativ-ic .ic{width:70px;height:70px;color:var(--or);filter:drop-shadow(0 0 14px var(--glow))}
.ativ-num{display:flex;flex-direction:column;gap:12px}
.h2s{font-size:20px;margin-bottom:8px}
.splits-t{display:flex;flex-direction:column;gap:6px}
.splits-t div{display:grid;grid-template-columns:44px 1fr 56px;gap:8px;align-items:center;font-size:13px}
.splits-t i{height:10px;border-radius:99px;background:var(--s3)}
.splits-t i.melhor{background:var(--or);box-shadow:0 0 10px var(--glow)}
.splits-t b{text-align:right;font-size:17px}
.compartilhar{display:flex;flex-direction:column;gap:10px}
.fmt{display:flex;gap:8px}.fmt .chip,.filtro .chip{min-height:40px;height:40px;padding:0 14px;font-size:13.5px}
.card-prev{display:flex;justify-content:center;background:#050506;border-radius:16px;padding:10px;min-height:120px}
.card-prev .cv{width:auto;max-width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.card-prev .cv.stories{max-height:460px}.card-prev .cv.feed{max-height:380px}
.card-prev .skel{width:100%;min-height:300px}

/* evento */
.ev-cab{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ev-cab h1{font-size:36px}
.ev-cab.ao_vivo{border-color:rgba(255,77,87,.45)}
.ev-meta{display:flex;flex-direction:column;gap:6px;font-size:14px}
.ev-meta span{display:flex;gap:8px;align-items:center}.ev-meta .ic{width:17px;height:17px;color:var(--or2)}
.ev-cab p{margin:0}
.patro{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.patro .chip i{width:9px;height:9px;border-radius:50%}.patro em{color:var(--warn);font-style:normal;font-size:11px}
#ev-acao{width:100%;display:flex;flex-direction:column;gap:10px}
.ev-inscrito{display:flex;justify-content:space-between;align-items:center}
.toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.toggle input{position:absolute;opacity:0;width:1px;height:1px}
.toggle>span{width:46px;height:28px;border-radius:99px;background:var(--s3);position:relative;flex:0 0 auto;transition:.2s;margin-top:2px}
.toggle>span::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s}
.toggle input:checked+span{background:var(--or)}.toggle input:checked+span::after{left:21px}
.toggle input:focus-visible+span{box-shadow:0 0 0 3px var(--orbg)}
.toggle>div{display:flex;flex-direction:column;gap:2px}
.ranking-ev,.lista-rk{padding:6px}
.rk-l{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;width:100%;text-align:left;min-height:56px}
.rk-l+.rk-l{border-top:1px solid var(--line)}
.rk-l.eu{background:var(--orbg)}
.rk-l em{font-style:normal;font-size:11px;color:var(--or2);font-weight:700;text-transform:uppercase}
.rk-p{width:28px;text-align:center;font-size:22px;color:var(--mut)}
.rk-l.top1 .rk-p{color:#ffd24a}.rk-l.top2 .rk-p{color:#d4dbe2}.rk-l.top3 .rk-p{color:#e2965a}
.rk-n{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.rk-n b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-n .bar{height:5px}
.rk-v{display:flex;flex-direction:column;align-items:flex-end}.rk-v b{font-size:20px}
.sua-pos{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--orbg);border:1px solid rgba(255,106,19,.35)}
.sua-pos div{display:flex;flex-direction:column}
.sua-pos.fixa{position:sticky;bottom:calc(92px + var(--sab));z-index:5;backdrop-filter:blur(10px);background:rgba(30,16,8,.9)}
body[data-uni="family"] .sua-pos.fixa{background:rgba(6,30,36,.92);border-color:rgba(31,200,227,.4)}

/* social */
.grupo-l,.grupo-cab{display:flex;align-items:center;gap:12px;text-align:left;width:100%}
.grupo-l div,.grupo-cab div{flex:1;display:flex;flex-direction:column;min-width:0}
.grupo-cab h1{font-size:32px}
.g-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--orbg);color:var(--or);flex:0 0 auto}
.temporada{display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,106,19,.18),var(--s1));border-color:rgba(255,106,19,.35)}
body[data-uni="family"] .temporada{background:linear-gradient(135deg,rgba(31,200,227,.16),var(--s1));border-color:rgba(31,200,227,.35)}
.temporada h2{font-size:34px}
.temporada>.ic{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:64px;height:64px;color:var(--or);opacity:.35}
.optin{display:flex;gap:12px;align-items:center}.optin>.ic{color:var(--or)}.optin div{flex:1;display:flex;flex-direction:column}
.podio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end;padding-top:6px}
.pd{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 0;border-radius:18px 18px 8px 8px;background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--line);position:relative;min-width:0;text-align:center}
.pd b{font-size:13.5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd span{font-size:12px;color:var(--mut)}
.pd i{font-style:italic;font-size:34px;margin-top:2px;padding-bottom:6px}
.pd1{min-height:178px;border-color:rgba(255,210,74,.5);box-shadow:0 -10px 40px -18px rgba(255,210,74,.5)}.pd1 i{color:#ffd24a}
.pd2{min-height:150px}.pd2 i{color:#d4dbe2}.pd3{min-height:136px}.pd3 i{color:#e2965a}
.pd .ava.g{width:54px;height:54px;font-size:20px}
.pd1 .ava.g{width:64px;height:64px;box-shadow:0 0 0 3px #ffd24a}
.ult-temp{display:flex;flex-direction:column;gap:6px}
.regras summary{cursor:pointer;display:flex;gap:8px;align-items:center;font-weight:700;min-height:40px}
.regras ul{margin:8px 0;padding-left:18px;color:#d4d4da;font-size:14px}.regras li{margin-bottom:4px}
.desafio{display:flex;gap:12px;align-items:center}
.desafio.ok{border-color:rgba(43,214,123,.4)}
.ds-i{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.ins{display:inline-block;line-height:0}
.ins svg{width:100%;height:auto}
.mini-ins{width:58px;flex:0 0 auto}
.destaque .dq{display:flex;gap:12px;align-items:center;margin-top:8px}.destaque .dq div{flex:1;display:flex;flex-direction:column}
.destaque .dq>.ic{width:34px;height:34px;color:#ffd24a}
.aniv{display:flex;gap:12px;align-items:center}.aniv>.ic{color:var(--or);width:28px;height:28px}.aniv div{display:flex;flex-direction:column}
.posts{display:flex;flex-direction:column;gap:10px}
.post{display:flex;flex-direction:column;gap:10px}
.post header{display:flex;gap:10px;align-items:center}.post header div{flex:1;display:flex;flex-direction:column}
.post p{margin:0}
.post-foto{width:100%;border-radius:14px;aspect-ratio:4/5;object-fit:cover;background:#111}
.post-ativ{display:flex;flex-direction:column;gap:6px;border-radius:14px;overflow:hidden;background:#0a0a0d;border:1px solid var(--line);text-align:left;width:100%}
.post-ativ .rota-svg{width:100%;height:150px}
.post-ativ div{display:flex;gap:10px;align-items:baseline;padding:0 12px 10px}.post-ativ div b{font-size:28px}.post-ativ div span{color:var(--mut);font-size:13px}
.post footer{display:flex}
.curtir{display:flex;align-items:center;gap:6px;min-height:40px;min-width:40px;padding:0 10px;border-radius:12px;color:var(--mut);font-weight:700}
.curtir.on{color:var(--or);background:var(--orbg)}
.compor{display:flex;flex-direction:column;gap:8px}
.compor textarea{min-height:70px}
.compor-b{display:flex;gap:6px;flex-wrap:wrap}.compor-b .btn{flex:1}
.ico-b{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--mut);background:var(--s2);border:1px solid var(--line);flex:0 0 auto}

/* perfil público e insígnias */
.perfil-pub{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding-top:22px}
.pp-ava{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--or),#7a2a00);font-family:var(--cond);font-style:italic;font-weight:800;font-size:40px;box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--or),0 10px 40px -10px var(--glow);overflow:hidden;flex:0 0 auto}
.pp-ava img{width:100%;height:100%;object-fit:cover}
.perfil-pub h1{font-size:38px;margin-top:6px}
.pp-num{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;margin-top:10px}
.pp-num div{display:flex;flex-direction:column;padding:10px 4px;border-radius:12px;background:rgba(255,255,255,.03)}
.pp-num b{font-size:26px;line-height:1}.pp-num span{font-size:11px;color:var(--mut)}
.vitrine{display:flex;flex-direction:column;gap:10px}
.vit{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.vit-i{width:calc(20% - 7px);min-width:58px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.vit-i span{font-size:10.5px;color:var(--mut);line-height:1.15}
.ins-cab{display:flex;align-items:center;gap:12px}
.ins-cab>div{flex:1;display:flex;flex-direction:column;gap:6px}.ins-cab h1{font-size:32px}.ins-cab h1 b{color:var(--or)}
.ins-cab>.ic{width:54px;height:54px;color:var(--or)}
.ins-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ins-c{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:16px;background:var(--s1);border:1px solid var(--line);text-align:center;min-width:0}
.ins-c .ins{width:78%}
.ins-c b{font-size:12px;line-height:1.15}
.ins-c .bar{width:90%;height:4px}
.ins-c.sel{border-color:var(--or);background:var(--orbg)}
.ins-svg.bloq{opacity:.85}
.ins-det{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.ins.grande{width:200px}
.ins-det .bar{width:100%}
.chip.aro-bronze{background:rgba(233,164,106,.15);color:#e9a46a}.chip.aro-prata{background:rgba(220,228,236,.12);color:#dfe5ec}.chip.aro-ouro{background:rgba(255,214,90,.14);color:#ffd65a}.chip.aro-neon{background:rgba(255,106,19,.18);color:#ff8a3d}
.conquista{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:rgba(5,5,6,.92);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s}
.conquista.on{opacity:1}
.cq-raios{position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg,rgba(255,106,19,.12) 0 8deg,transparent 8deg 20deg);animation:gira 18s linear infinite;mask:radial-gradient(circle,#000 10%,transparent 55%);-webkit-mask:radial-gradient(circle,#000 10%,transparent 55%)}
@keyframes gira{to{transform:rotate(360deg)}}
.cq-in{position:relative;width:min(380px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.cq-in h2{font-size:40px}.cq-in p{margin:0;color:var(--mut)}
.cq-ins{width:220px;animation:surge .9s cubic-bezier(.2,1.4,.3,1) both;filter:drop-shadow(0 20px 50px var(--glow))}
@keyframes surge{0%{transform:scale(.2) rotate(-25deg);opacity:0}60%{transform:scale(1.1) rotate(4deg);opacity:1}100%{transform:none}}
.cq-ins .ins{width:100%}

/* primeira semana, atalhos e banners */
.semana{display:flex;flex-direction:column;gap:10px;border-color:rgba(255,106,19,.35)}
.semana h2{font-size:24px}
.passos{display:flex;flex-direction:column;gap:4px}
.passo-l{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 6px;border-radius:12px;text-align:left;width:100%}
.passo-l span:nth-child(2){flex:1}
.passo-l b{color:var(--or2);font-size:13px}
.pc{width:26px;height:26px;border-radius:8px;border:2px solid var(--line2);display:grid;place-items:center;flex:0 0 auto}
.passo-l.ok .pc{background:var(--ok);border-color:var(--ok);color:#03200f}.passo-l.ok span:nth-child(2){color:var(--mut);text-decoration:line-through}
.pc .ic{width:16px;height:16px;stroke-width:3}
.atalhos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.atalhos button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:16px;background:var(--s1);border:1px solid var(--line);min-width:0}
.atalhos span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--orbg);color:var(--or)}
.atalhos b{font-size:12px;font-weight:600;text-align:center;line-height:1.15}
.banner-ano{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:linear-gradient(120deg,#ff6a13,#8a2be2);border:0}
.banner-ano div{flex:1;display:flex;flex-direction:column}.banner-ano b{font-family:var(--cond);font-style:italic;font-size:24px;text-transform:uppercase}
.carrossel{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;scroll-snap-type:x mandatory}
.carrossel::-webkit-scrollbar{display:none}
.car-i{flex:0 0 72%;max-width:280px;scroll-snap-align:start;text-align:left}
.nov{padding:0;overflow:hidden;display:flex;flex-direction:column}
.nov-f{height:130px;background:linear-gradient(135deg,var(--or),#4a1800) center/cover;position:relative;display:grid;place-items:center;color:rgba(255,255,255,.85)}
.nov.novidade .nov-f{background-color:#123;background-image:linear-gradient(135deg,#2bd67b,#0a3a22)}
.nov.aviso .nov-f{background-image:linear-gradient(135deg,#3a3a44,#15151a)}
.nov-f .ic{width:46px;height:46px}
.nov.g .nov-f{height:180px}
.selo-desc{position:absolute;top:10px;left:10px;background:#fff;color:#111;font-family:var(--cond);font-style:italic;font-weight:800;font-size:22px;padding:2px 10px;border-radius:10px;transform:rotate(-4deg)}
.selo-desc.novo{background:var(--ok);color:#03200f;font-size:18px}
.nov-i{padding:12px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.nov-i>b{font-size:16px}
.preco{display:flex;gap:8px;align-items:baseline}.preco s{color:var(--mut2);font-size:13px}.preco b{font-size:26px;color:var(--or2)}
.termina{font-size:12.5px;font-weight:700;color:var(--warn)}
.novs{display:flex;flex-direction:column;gap:12px}

/* piscina, família, clube */
.piscina-st{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,rgba(31,200,227,.18),var(--s1));border-color:rgba(31,200,227,.35)}
.piscina-st.manutencao,.piscina-st.fechada{background:linear-gradient(135deg,rgba(255,197,58,.14),var(--s1));border-color:rgba(255,197,58,.35)}
.pst-onda{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(31,200,227,.18);color:#5fdcf0;flex:0 0 auto}
.piscina-st>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.piscina-st h2{font-size:30px}
.temp{display:flex;flex-direction:column;align-items:center}.temp b{font-size:40px;line-height:1;color:#5fdcf0}.temp span{font-size:11px;color:var(--mut)}
.niveis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.nv{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:12px;font-weight:600;color:var(--mut)}
.nv.ok{color:var(--txt)}.nv .ins{width:100%}
.nado-f{display:flex;flex-direction:column;gap:10px}
.dep{display:flex;flex-direction:column;gap:12px}
.dep-cab{display:flex;gap:12px;align-items:center}.dep-cab div{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.dep-aulas{display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.dep-aulas span{display:flex;gap:6px;align-items:center}.dep-aulas .ic{width:15px;height:15px;color:var(--or2)}
.clube-cab{position:relative;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,rgba(255,106,19,.2),var(--s1));border-color:rgba(255,106,19,.4)}
.clube-cab b{font-size:62px;line-height:1}
.clube-cab>.ic{position:absolute;right:16px;top:16px;width:70px;height:70px;color:var(--or);opacity:.35}
.recomp{display:flex;flex-direction:column;gap:8px}
.rc{display:flex;gap:10px;align-items:center}.rc>div:first-child{flex:1;display:flex;flex-direction:column;gap:2px}
.rc-d{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.rc-d b{font-size:24px;color:var(--or2);line-height:1}.rc-d span{font-size:11px;color:var(--mut)}
.parceiros{display:flex;flex-direction:column;gap:8px}
.pc{display:flex;gap:12px;align-items:center}.pc>div{flex:1;display:flex;flex-direction:column;min-width:0}
.pc-logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--c);color:#111;font-weight:800;flex:0 0 auto;overflow:hidden}
.pc-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.ex{font-style:normal;font-size:10.5px;color:var(--warn);text-transform:uppercase;letter-spacing:.06em}
.cupom{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:44px;min-width:60px;padding:6px 10px;border-radius:12px;border:1px dashed var(--or);color:var(--or2)}
.cupom .ic{width:15px;height:15px}.cupom b{font-size:12px}
.codigo{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:14px;border:1px dashed rgba(255,106,19,.5);width:100%}
.codigo b{font-size:36px;color:var(--or)}

/* escolha de unidade */
.escolha-uni{position:fixed;inset:0;z-index:250;background:rgba(5,5,6,.96);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .25s;overflow:auto}
.escolha-uni.on{opacity:1}
.eu-in{width:min(440px,100%);display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
.eu-in h1{font-size:40px}.eu-in p{margin:0}
.eu-c{display:flex;gap:14px;align-items:center;width:100%;padding:18px;border-radius:22px;text-align:left;border:1px solid var(--line2);min-height:110px}
.eu-c div{flex:1;display:flex;flex-direction:column;gap:2px}
.eu-c b{font-family:var(--cond);font-style:italic;font-weight:800;font-size:32px;text-transform:uppercase;line-height:1}
.eu-c.fit{background:linear-gradient(135deg,rgba(255,106,19,.28),#121216 70%)}.eu-c.fit .eu-ic{background:#ff6a13;color:#160700}
.eu-c.family{background:linear-gradient(135deg,rgba(31,200,227,.26),#121216 70%)}.eu-c.family .eu-ic{background:#1fc8e3;color:#02262c}
.eu-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto}.eu-ic .ic{width:30px;height:30px}

/* selfie, perfil, ano */
.selfie-ini{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
.selfie-ini>.ic{width:56px;height:56px;color:var(--or)}
.selfie-ini h2{font-size:32px}.selfie-ini p{margin:0}
.selfie-ini label.btn{cursor:pointer}
#s-edit{display:flex;flex-direction:column;gap:10px}
#s-edit[hidden]{display:none}
#s-edit label.btn{cursor:pointer}
.ed-foto{display:flex;gap:14px;align-items:center}.ed-foto .pp-ava{width:80px;height:80px;font-size:30px}
.ed-foto>div:last-child{display:flex;flex-direction:column;gap:6px}
.ed-foto label{cursor:pointer}
.form{display:flex;flex-direction:column;gap:12px}
.pv-l{display:flex;flex-direction:column;gap:6px}.pv-l span{font-size:13px;color:var(--mut);font-weight:600}
.ano-cab{background:linear-gradient(135deg,#ff6a13,#5b1fae);border:0}.ano-cab h1{font-size:40px}.ano-cab .mut{color:#fff}
.ano-lista{display:flex;flex-direction:column}
.ano-l{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;border-top:1px solid var(--line)}.ano-l:first-child{border-top:0}
.ano-l span{color:var(--mut)}

@media (max-width:370px){
  .run-km b{font-size:70px}.run-g b{font-size:22px}
  .ins-grade{grid-template-columns:repeat(2,1fr)}
  .atalhos{grid-template-columns:repeat(4,1fr);gap:6px}.atalhos b{font-size:11px}
  .hero-correr h1{font-size:40px}.seg button{font-size:13px}
  .pp-num b{font-size:22px}
}
@media (prefers-reduced-motion:reduce){.cq-raios{animation:none}.cq-ins{animation:none}}
.maplibregl-ctrl-attrib-button{width:40px!important;height:40px!important;background-position:center!important}
.duo>.btn,.duo>a.btn{min-width:0;white-space:normal;line-height:1.1;text-align:center;padding:0 12px}
.ajustes{grid-template-columns:repeat(2,minmax(0,1fr))}
.ajuste{min-width:0}.ajuste .passo{gap:6px}.ajuste .passo b{font-size:24px;min-width:0}
.ajuste .ico-btn{width:40px;height:40px}

/* mapa: fundo de reserva (sem tiles) e marcos da base offline */
.mapa-box.offline,.mapa-mp.offline{background:radial-gradient(120% 90% at 30% 20%,#14141a,#0a0a0d 70%),#0a0a0d}
.mapa-mp.offline::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.9;
  background-image:repeating-linear-gradient(82deg,transparent 0 38px,rgba(255,255,255,.045) 38px 40px),repeating-linear-gradient(172deg,transparent 0 46px,rgba(255,255,255,.045) 46px 48px),linear-gradient(82deg,transparent 47%,rgba(255,255,255,.07) 47% 48.5%,transparent 48.5%)}
.mapa-mp.offline::after{content:'mapa offline · sua rota continua sendo gravada';position:absolute;left:12px;bottom:10px;z-index:3;font-size:11.5px;font-weight:600;color:#7a7a85;letter-spacing:.02em;pointer-events:none}
.mapa-mp .maplibregl-canvas-container{position:relative;z-index:1}
.mk-rot{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#8f8f9a;background:rgba(10,10,13,.75);padding:2px 7px;border-radius:99px;border:1px solid rgba(255,255,255,.08);white-space:nowrap;pointer-events:none}
.mk-rot.mp{color:#160700;background:var(--or);border-color:transparent}

/* ================= temas sazonais =================
   O tema troca o acento (via variáveis no body), enfeita o logo e mostra o banner do Início.
   O resto do app continua com a identidade da MP. */
body[data-tema]{background:radial-gradient(700px 520px at 50% -120px,var(--orbg),transparent 70%),var(--bg)}
body[data-tema] .abas .qrb,body[data-tema] .btn:not(.sec):not(.ghost):not(.ok):not(.bad),body[data-tema] .seg button.on{color:var(--tema-tinta)}
.perfil-logo{display:flex;justify-content:center;align-items:center;margin:18px auto 4px;min-height:44px;min-width:120px;padding:10px 12px;opacity:.85}
.sel-tema{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.selo-tema{position:absolute;left:8px;bottom:8px;background:var(--or);color:var(--tema-tinta,#111);font:800 italic 13px/1 var(--cond);text-transform:uppercase;padding:5px 8px;border-radius:6px;letter-spacing:.04em}
.nov-f{position:relative}
.tema-des p{margin:6px 0 12px}
.tema-ins{display:flex;gap:14px;align-items:center}.tema-ins .ins{width:84px;flex:0 0 84px}.tema-ins>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.tx-tema{flex-wrap:wrap}
.desafio.tema{width:100%;text-align:left;border-color:color-mix(in srgb,var(--or) 45%,transparent)}
.sel-tema .chip,.tx-tema .chip{min-height:40px}
.desafio.tema{display:flex;gap:12px;align-items:center;max-width:100%;overflow:hidden}.desafio.tema .ds-i{flex:1;min-width:0}.desafio.tema .kick{white-space:normal}
