/* RXFIT V27 · engajamento: resumo do treino, conquistas, calendário e painel de alunos em risco */
:root{--eg-gold:#ffc568;--eg-line:#26343f;--eg-card:#10171e;--eg-mut:#8ea3ae;--eg-ok:#3ddc97;--eg-red:#ff2533;--eg-warn:#ff9a3d}
.eg-up{color:var(--eg-ok)}.eg-down{color:#ff8a93}.eg-muted{color:var(--eg-mut)}
.eg-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;color:var(--eg-mut);text-decoration:none;font-weight:800;font-size:14px}
.eg-back:hover{color:#fff}

/* ---------- cartões extras do dashboard do aluno ---------- */
.dv2-quick.two{grid-template-columns:repeat(2,1fr)}
.dv2-quick .ic.gold{background:#2a2112}
.dv2-quick .eg-novo{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--eg-red);color:#fff;font-size:10px;font-weight:900;vertical-align:middle}
@media(max-width:600px){.dv2-quick.two{grid-template-columns:1fr}}

/* ---------- resumo do treino ---------- */
.rs-hero{position:relative;overflow:hidden;padding:26px 24px;margin-bottom:16px;border-radius:26px;border:1px solid #1f5a46;
  background:radial-gradient(circle at 92% 8%,rgba(61,220,151,.35),transparent 42%),linear-gradient(135deg,#0d2a21,#12181f 70%)}
.rs-hero small{color:#70edbd;font-weight:900;font-size:12px;letter-spacing:.4px}
.rs-hero h1{font-size:32px;line-height:1.1;margin:8px 0 6px}
.rs-hero p{margin:0;color:#c3ced4}
.rs-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.rs-kpi{padding:16px;border-radius:18px;border:1px solid var(--eg-line);background:var(--eg-card)}
.rs-kpi span{display:block;color:var(--eg-mut);font-size:12px;font-weight:800}
.rs-kpi b{display:block;font-size:26px;line-height:1.15;margin-top:4px}
.rs-kpi em{display:block;margin-top:4px;font-style:normal;font-size:12px;font-weight:800}
.rs-box{padding:18px;margin-bottom:16px;border-radius:20px;border:1px solid var(--eg-line);background:var(--eg-card)}
.rs-box h2{margin:0 0 12px;font-size:18px}
.rs-box.gold{border-color:#6b4f1a;background:linear-gradient(135deg,#2a2112,#12181f 75%)}
.rs-box.gold h2{color:var(--eg-gold)}
.rs-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--eg-line)}
.rs-line:last-child{border-bottom:0;padding-bottom:0}
.rs-line:first-of-type{padding-top:0}
.rs-line b{display:block}.rs-line small{display:block;color:var(--eg-mut);margin-top:3px}
.rs-line .val{font-weight:900;white-space:nowrap}
.rs-pr-tag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#3a2c10;color:var(--eg-gold);font-size:10px;font-weight:900;vertical-align:middle}
.rs-medals{display:flex;gap:12px;flex-wrap:wrap}
.rs-medal{display:flex;align-items:center;gap:12px;flex:1 1 220px;padding:12px;border-radius:16px;background:rgba(255,197,104,.07);border:1px solid #4a3a16}
.rs-medal .m{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:#2a2112;box-shadow:0 0 0 2px #5a4414}
.rs-medal b{display:block}.rs-medal small{color:#c9b98f}
.rs-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.rs-actions>*{flex:1 1 180px;text-align:center;min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px}
.rs-share{background:linear-gradient(90deg,#e00016,#ff3b2f);box-shadow:0 10px 26px rgba(255,37,51,.3)}
@media(max-width:700px){.rs-kpis{grid-template-columns:1fr 1fr}.rs-hero h1{font-size:26px}}

/* ---------- conquistas ---------- */
.cq-hero{display:flex;align-items:center;gap:20px;padding:22px;margin-bottom:18px;border-radius:24px;border:1px solid #6b4f1a;
  background:radial-gradient(circle at 92% 8%,rgba(255,197,104,.28),transparent 45%),linear-gradient(135deg,#2a2112,#12181f 70%)}
.cq-ring{--p:0;width:104px;height:104px;flex:0 0 104px;border-radius:50%;padding:7px;background:conic-gradient(var(--eg-gold) calc(var(--p)*1%),#2d3944 0)}
.cq-ring>div{width:100%;height:100%;border-radius:50%;background:#14110a;display:grid;place-items:center;text-align:center;font-weight:900;font-size:24px;line-height:1}
.cq-ring small{display:block;font-size:11px;color:#c9b98f;margin-top:3px;font-weight:700}
.cq-hero h1{margin:0 0 6px;font-size:28px;line-height:1.1}
.cq-hero p{margin:0;color:#d8cba9}
.cq-grupo{margin-bottom:22px}
.cq-grupo h2{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 12px;font-size:18px}
.cq-grupo h2 span{font-size:13px;color:var(--eg-mut);font-weight:700}
.cq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.cq-badge{position:relative;padding:16px 14px;border-radius:18px;border:1px solid var(--eg-line);background:var(--eg-card);text-align:center}
.cq-badge.on{border-color:#6b4f1a;background:linear-gradient(180deg,#241c0e,#10171e)}
.cq-medal{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:#1a232b;box-shadow:0 0 0 3px #26323c;filter:grayscale(1);opacity:.55}
.cq-badge.on .cq-medal{filter:none;opacity:1;background:radial-gradient(circle at 35% 30%,#4a3813,#241c0e);box-shadow:0 0 0 3px #7a5a16,0 0 22px rgba(255,197,104,.28)}
.cq-badge b{display:block;font-size:14px;line-height:1.25}
.cq-badge small{display:block;margin-top:5px;color:var(--eg-mut);font-size:12px;line-height:1.35}
.cq-bar{height:6px;margin-top:10px;border-radius:99px;background:#26323c;overflow:hidden}
.cq-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff2533,#ff9a3d)}
.cq-prog{margin-top:5px;font-size:11px;font-weight:800;color:var(--eg-mut)}
.cq-badge.on .cq-prog{color:var(--eg-gold)}
.cq-nova{position:absolute;top:8px;right:8px;padding:2px 7px;border-radius:999px;background:var(--eg-red);color:#fff;font-size:10px;font-weight:900}

/* ---------- calendário ---------- */
.cal-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.cal-top h1{margin:0;font-size:24px;line-height:1.1}
.cal-nav{display:flex;gap:8px}
.cal-nav a,.cal-nav span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--eg-line);background:var(--eg-card);color:#fff;text-decoration:none;font-weight:900}
.cal-nav span{opacity:.35}
.cal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.cal-stats div{padding:14px;border-radius:16px;border:1px solid var(--eg-line);background:var(--eg-card)}
.cal-stats b{display:block;font-size:22px;line-height:1.15}.cal-stats span{font-size:12px;color:var(--eg-mut);font-weight:800}
.cal-card{padding:16px;margin-bottom:14px;border-radius:20px;border:1px solid var(--eg-line);background:var(--eg-card)}
.cal-head,.cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-head span{text-align:center;font-size:11px;font-weight:900;color:var(--eg-mut);padding-bottom:6px}
.cal-row{margin-bottom:6px}
.cal-d{position:relative;aspect-ratio:1/1;min-height:42px;padding:0;border-radius:12px;border:1px solid var(--eg-line);background:#0e151b;color:#cfd9de;font-size:14px;font-weight:800;display:grid;place-items:center;cursor:default}
.cal-d.fora{opacity:.25}
.cal-d.futuro{opacity:.4}
.cal-d.hoje{box-shadow:0 0 0 2px var(--eg-red) inset}
.cal-d.treino{cursor:pointer;background:#0f3a2c;border-color:#1f6a50;color:#eafff6}
.cal-d.treino.n2{background:#13694a;border-color:#2fb17f}
.cal-d.sel{outline:2px solid var(--eg-gold);outline-offset:1px}
.cal-d i{position:absolute;right:6px;bottom:5px;font-style:normal;font-size:10px;font-weight:900;color:#9ff0cc}
.cal-det{display:none;margin-top:10px;padding:14px;border-radius:14px;background:#0e151b;border:1px solid var(--eg-line)}
.cal-det.show{display:block}
.cal-det h3{margin:0 0 8px;font-size:15px}
.cal-det .s{padding:9px 0;border-top:1px solid var(--eg-line)}
.cal-det .s:first-of-type{border-top:0}
.cal-det .s small{display:block;color:var(--eg-mut);margin-top:3px}
.hm-wrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hm{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:4px}
.hm i{border-radius:3px;background:#1a232b}
.hm i.l1{background:#1f6a50}.hm i.l2{background:#3ddc97}.hm i.fut{opacity:.25}
.hm-info b{display:block;font-size:20px}.hm-info span{color:var(--eg-mut);font-size:12px}
@media(max-width:600px){.cal-stats{grid-template-columns:1fr 1fr}.cal-d{min-height:38px;font-size:13px;border-radius:10px}.cal-top h1{font-size:20px}}

/* ---------- painel de alunos em risco ---------- */
.rk-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.rk-sum button{all:unset;box-sizing:border-box;cursor:pointer;padding:14px;border-radius:16px;border:1px solid var(--eg-line);background:var(--eg-card);color:#fff}
.rk-sum button b{display:block;font-size:26px;line-height:1.1}.rk-sum button span{font-size:12px;font-weight:800;color:var(--eg-mut)}
.rk-sum button.on{border-color:#fff}
.rk-sum .critico b{color:#ff6b78}.rk-sum .atencao b{color:var(--eg-warn)}.rk-sum .ciclo b{color:var(--eg-gold)}.rk-sum .ok b{color:var(--eg-ok)}
.rk-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:16px;margin-bottom:10px;border-radius:18px;border:1px solid var(--eg-line);border-left-width:5px;background:var(--eg-card)}
.rk-card.critico{border-left-color:#ff2533;background:linear-gradient(90deg,#1d1014,var(--eg-card) 55%)}
.rk-card.atencao{border-left-color:var(--eg-warn)}
.rk-card.ciclo{border-left-color:var(--eg-gold)}
.rk-card.ok{border-left-color:#1f6a50}
.rk-who{display:flex;gap:12px;align-items:center;min-width:0}
.rk-who .avatar,.rk-who img{width:46px;height:46px;flex:0 0 46px;border-radius:50%;object-fit:cover}
.rk-who h3{margin:0;font-size:16px}
.rk-meta{margin:3px 0 0;color:var(--eg-mut);font-size:12px}
.rk-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rk-chips span{padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#1a232b;border:1px solid var(--eg-line);color:#d3dde2}
.rk-card.critico .rk-chips span:first-child{background:#3a141b;border-color:#6a2530;color:#ffb3ba}
.rk-card.atencao .rk-chips span:first-child{background:#33200f;border-color:#6b4318;color:#ffc58f}
.rk-act{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rk-act form{margin:0}
.rk-act .btn,.rk-act button{min-height:40px}
.rk-sent{font-size:12px;color:var(--eg-ok);font-weight:800;align-self:center}
.rk-info{padding:14px 16px;margin-bottom:14px;border-radius:16px;border:1px dashed #31414b;color:#a9b6bd;font-size:13px;line-height:1.5}
.rk-info b{color:#fff}
.rk-empty{padding:26px;text-align:center;border-radius:18px;border:1px dashed #31414b;color:var(--eg-mut)}
.rk-alert{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px;border-radius:18px;border:1px solid #6a2530;
  background:linear-gradient(90deg,#2a0f16,#12181f 70%);color:#fff;text-decoration:none}
.rk-alert.calmo{border-color:#1f5a46;background:linear-gradient(90deg,#0d2a21,#12181f 70%)}
.rk-alert b{display:block;font-size:16px}.rk-alert small{display:block;margin-top:3px;color:#c3ced4}
.rk-alert span.go{font-weight:900;color:#ff8a93;white-space:nowrap}.rk-alert.calmo span.go{color:#70edbd}
@media(max-width:700px){.rk-sum{grid-template-columns:1fr 1fr}.rk-card{grid-template-columns:1fr}.rk-act{justify-content:flex-start}}

/* ---------- ajustes do dashboard (V28) ---------- */
.rx-student-next.solo{margin:0 0 16px}
.rx-student-risk{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0}
.rx-student-risk span{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#1a232b;border:1px solid #26343f;color:#c9d6dc}
.rx-pill.info{background:#1b2230;color:#9db8ff;border:1px solid #33476e}
