/* MyEvo — coach.css : painel do personal */
.coach-screen{ display:block; align-items:initial; justify-content:initial; padding:0; overflow-y:auto; }

.coach-head{
  display:flex; align-items:center; gap:12px; padding:16px;
  border-bottom:1px solid #1d1d1d; position:sticky; top:0; background:#000; z-index:5;
}
.coach-head .coach-logo{ width:84px; margin:0; }
.coach-who{ flex:1; }
.coach-name{ font-weight:800; font-size:16px; }
.coach-role{ color:#8a8a8a; font-size:12px; }
.coach-out{ background:#161616; color:#ddd; border:0; border-radius:10px; padding:9px 14px; cursor:pointer; font-weight:600; }

.coach-nav{ display:flex; gap:6px; padding:12px 16px; position:sticky; top:64px; background:#000; z-index:4; }
.coach-nav .cn{
  flex:1; padding:10px; border:0; border-radius:10px; cursor:pointer;
  background:#141414; color:#9a9a9a; font-weight:600; font-size:14px;
}
.coach-nav .cn.on{ background:#F16719; color:#fff; }

.coach-content{ padding:8px 16px 40px; max-width:640px; margin:0 auto; }

.coach-section-h{ font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:#8a8a8a; margin:14px 2px 10px; }
.coach-count{ background:#F16719; color:#fff; border-radius:999px; padding:1px 9px; font-size:12px; margin-left:6px; }

.coach-listg{ display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.coach-row{ display:flex; align-items:center; gap:12px; background:#121212; border:1px solid #1f1f1f; border-radius:12px; padding:12px 14px; }
.coach-av{ width:40px; height:40px; border-radius:50%; background:#242424; display:grid; place-items:center; font-weight:800; font-size:14px; color:#eee; }
.coach-row-t{ font-weight:600; }

.coach-empty{ color:#8a8a8a; background:#0e0e0e; border:1px dashed #262626; border-radius:12px; padding:22px 16px; text-align:center; line-height:1.5; }
.coach-soon{ color:#F16719; font-weight:600; }
.coach-muted{ color:#8a8a8a; padding:16px; text-align:center; }
.coach-erro{ color:#FF6B5E; background:#1a0f0d; border:1px solid #3a1a14; border-radius:12px; padding:14px; }

.coach-primary{ width:100%; padding:14px; border:0; border-radius:12px; cursor:pointer; background:#F16719; color:#fff; font-weight:700; font-size:15px; }
.coach-primary:disabled{ opacity:.6; }

.coach-card{ background:#121212; border:1px solid #1f1f1f; border-radius:14px; padding:16px; margin-top:12px; display:flex; flex-direction:column; gap:12px; }
.coach-card-h{ font-weight:700; }
.coach-card input{ width:100%; padding:13px 14px; border-radius:10px; border:1px solid #2a2a2a; background:#0e0e0e; color:#fff; font-size:15px; }
.coach-code{ font-size:26px; font-weight:800; letter-spacing:.08em; text-align:center; background:#0e0e0e; border:1px dashed #333; border-radius:12px; padding:16px; color:#F16719; }
.coach-hint{ color:#9a9a9a; font-size:13px; line-height:1.5; margin:0; }
.coach-set-table{ width:100%; border-collapse:collapse; margin-top:8px; }
.coach-set-table td{ padding:6px 4px; font-size:13.5px; color:#ddd; border-top:1px solid #1f1f1f; }
.coach-set-table td:first-child{ color:#8a8a8a; width:26px; }

/* --- Treinos: linhas com ações --- */
.coach-row-acts{ display:flex; gap:6px; flex-wrap:wrap; }
.cbtn{ background:#1c1c1c; color:#ddd; border:0; border-radius:8px; padding:7px 11px; cursor:pointer; font-size:13px; font-weight:600; }
.cbtn-d{ color:#FF8a80; }
.cbtn-atr{ color:#F16719; }
/* superset (exercícios combinados) no editor */
.ex-card.is-super{ border-left:3px solid #F16719; }
.ex-super-chip{ display:inline-block; background:#F16719; color:#fff; font-size:10px; font-weight:800; letter-spacing:.5px; padding:2px 6px; border-radius:6px; margin-right:8px; vertical-align:middle; }
.ex-link{ display:block; width:100%; margin:-4px 0 10px; padding:7px; border:1px dashed #333; border-radius:8px; background:transparent; color:#888; font-size:12.5px; font-weight:600; cursor:pointer; }
.ex-link:hover{ border-color:#F16719; color:#F16719; }
.ex-link.on{ border-style:solid; border-color:#F16719; color:#F16719; background:rgba(241,103,25,.08); }
.cbtn-x{ background:transparent; color:#888; border:0; cursor:pointer; font-size:12px; }
.coach-input{ width:100%; padding:13px 14px; border-radius:10px; border:1px solid #2a2a2a; background:#0e0e0e; color:#fff; font-size:15px; margin-bottom:12px; }
.coach-ghost{ width:100%; padding:12px; border:1px dashed #333; border-radius:12px; cursor:pointer; background:transparent; color:#bbb; font-weight:600; margin-bottom:12px; }

/* editor de exercício */
.ex-card{ background:#121212; border:1px solid #1f1f1f; border-radius:14px; padding:12px 14px; margin-bottom:10px; }
.ex-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ex-name{ font-weight:700; }
.set-list{ display:flex; flex-direction:column; gap:6px; }
/* ESCOPADO em #coach: fora daqui, .set-row é a <tr> da tabela de séries do
   aluno (app.js). Sem o escopo, o display:flex quebrava aquela tabela. */
#coach .set-list{ display:flex; flex-direction:column; gap:6px; }
/* grid garante colunas alinhadas: #  |  kg  |  ×  |  reps  |  tipo  |  ✕ */
#coach .set-row{ display:grid; grid-template-columns:20px 1fr 12px 1fr 1.25fr 26px; align-items:center; gap:8px; }
#coach .set-head{ display:grid; grid-template-columns:20px 1fr 12px 1fr 1.25fr 26px; align-items:center; gap:8px; margin:2px 0 2px; }
#coach .set-head span{ font-size:10px; text-transform:uppercase; letter-spacing:.4px; color:#777; text-align:center; }
#coach .set-head span:first-child{ text-align:left; }
#coach .set-n{ width:auto; color:#777; font-size:13px; text-align:center; }
#coach .set-x{ color:#666; text-align:center; }
#coach .set-w, #coach .set-r{ width:100%; padding:8px; border-radius:8px; border:1px solid #2a2a2a; background:#0e0e0e; color:#fff; text-align:center; }
#coach .set-t{ width:100%; padding:8px; border-radius:8px; border:1px solid #2a2a2a; background:#0e0e0e; color:#fff; }

/* rótulos e campos do editor */
.coach-lbl{ display:block; font-size:12px; color:#9a9a9a; font-weight:600; margin:4px 0 6px; }
.coach-ta{ min-height:64px; resize:vertical; font-family:inherit; line-height:1.4; overflow-wrap:anywhere; word-break:break-word; }
.coach-for{ color:#F16719; font-weight:600; font-size:14px; }
.coach-sub-h{ font-size:12px; text-transform:uppercase; letter-spacing:.4px; color:#777; margin:14px 0 6px;
  display:flex; align-items:center; gap:6px; cursor:pointer; user-select:none; }
.coach-sub-arrow{ display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px;
  border-radius:6px; background:#1c1c1c; border:1px solid #2a2a2a; font-size:11px; color:#F16719;
  transition:transform .15s; flex-shrink:0; }
.coach-sub-h:active .coach-sub-arrow{ background:#242424; }
.coach-sub-h.is-collapsed .coach-sub-arrow{ transform:rotate(-90deg); }

/* linha de treino inativo */
.coach-row.is-off{ opacity:.6; }
.tag-off{ font-size:11px; color:#c98; background:#2a1e12; border:1px solid #4a3011; border-radius:6px; padding:1px 6px; margin-left:6px; vertical-align:middle; }

/* cabeçalho do exercício + olhinho + instruções */
.ex-head-acts{ display:flex; align-items:center; gap:8px; }
.cbtn-eye{ display:inline-grid; place-items:center; width:30px; height:30px; border-radius:8px; border:1px solid #2a2a2a; background:#0e0e0e; color:#888; cursor:pointer; }
.cbtn-eye.on{ color:#F16719; border-color:#F16719; }
.ex-instr{ margin:8px 0; }
.ex-instr.hidden{ display:none; }
.ex-instr-t{ width:100%; min-height:56px; resize:vertical; padding:9px 10px; border-radius:10px; border:1px solid #2a2a2a; background:#0e0e0e; color:#fff; font-size:13px; font-family:inherit; line-height:1.4; overflow-wrap:anywhere; word-break:break-word; }
.ex-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.rest-l{ color:#9a9a9a; font-size:13px; }
.rest-i{ width:64px; padding:6px; border-radius:8px; border:1px solid #2a2a2a; background:#0e0e0e; color:#fff; text-align:center; }
.editor-acts{ display:flex; gap:10px; margin-top:8px; }
.editor-acts .coach-ghost, .editor-acts .coach-primary{ margin-bottom:0; }

/* picker de exercícios */
.picker{ background:#0e0e0e; border:1px solid #1f1f1f; border-radius:12px; padding:10px; margin-bottom:12px; }
.pick-list{ max-height:320px; overflow-y:auto; display:flex; flex-direction:column; gap:4px; }
.pick-row{ display:flex; align-items:center; gap:10px; padding:8px; border-radius:10px; cursor:pointer; }
.pick-row:hover{ background:#161616; }
.pick-img{ width:40px; height:40px; border-radius:8px; object-fit:cover; background:#222; display:inline-block; }
.pick-n{ font-weight:600; font-size:14px; }
.pick-m{ color:#888; font-size:12px; }

/* --- Exercícios (biblioteca do personal): mídia + pendentes de foto --- */
.cex-th{ width:44px; height:44px; border-radius:10px; flex:0 0 44px; background:#0e0e0e center/cover no-repeat; border:1px solid #2a2a2a; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#888; }
.cex-th--none{ background:#0e0e0e; }
.cex-sub{ color:#9a9a9a; font-size:12.5px; margin-top:2px; }
.cex-warn{ color:#F16719; font-weight:600; }
.cex-pend{ border-color:#5a3410; background:#181008; }
.cex-ok{ border-color:#234a23; background:#0d150d; }
.cex-media{ display:flex; gap:12px; align-items:flex-start; margin-bottom:6px; }
.cex-prev{ width:96px; height:96px; flex:0 0 96px; border-radius:12px; background:#0e0e0e center/cover no-repeat; border:1px solid #2a2a2a; display:flex; align-items:center; justify-content:center; color:#666; font-size:12px; }
.cex-prev--none{ border-style:dashed; }
.cex-vprev{ width:180px; max-width:60%; border-radius:12px; border:1px solid #2a2a2a; background:#000; }
.cex-media-acts{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.cex-file{ width:auto; display:inline-block; margin-bottom:0; padding:10px 14px; }
.cex-status{ color:#9a9a9a; font-size:12.5px; }
.cex-media-hint{ margin-top:6px !important; }
.cex-status--err{ color:#FF6B5E !important; font-weight:600; }

/* --- Picker: filtro por grupo muscular --- */
.pick-chips{ display:flex; gap:6px; overflow-x:auto; padding:8px 0 4px; -webkit-overflow-scrolling:touch; }
.pick-chip{ flex:0 0 auto; background:#121212; border:1px solid #2a2a2a; color:#bbb; border-radius:999px; padding:6px 12px; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.pick-chip.on{ background:#F16719; border-color:#F16719; color:#fff; }

/* --- Adesão dos alunos (aba Alunos) --- */
.ad-resumo{ background:#121212; border:1px solid #1f1f1f; border-radius:12px; padding:12px 14px; margin-bottom:10px; color:#cfcfcf; font-size:14px; }
.ad-resumo b{ color:#fff; }
.ad-sub{ color:#9a9a9a; font-size:12.5px; margin-top:3px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.ad-badge{ display:inline-block; padding:2px 9px; border-radius:999px; font-weight:600; font-size:12px; }
.ad-ok{ background:#0d150d; color:#7bd67b; border:1px solid #234a23; }
.ad-warn{ background:#181008; color:#e0a15a; border:1px solid #5a3410; }
.ad-none{ background:#1a0e0e; color:#e08a8a; border:1px solid #4a2323; }

/* --- Agenda: chips de dia da semana por treino atribuído --- */
.coach-row--col{ flex-direction:column; align-items:stretch; gap:10px; }
.coach-row-top{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; row-gap:8px; }
.coach-row-top .coach-row-main{ flex:1 1 180px; min-width:140px; }
.coach-row-top .coach-row-acts{ flex:0 1 auto; }
.coach-row-t{ overflow-wrap:anywhere; }
.asg-days{ display:flex; gap:5px; flex-wrap:wrap; }
.asg-day{ flex:0 0 auto; min-width:40px; background:#0e0e0e; border:1px solid #2a2a2a; color:#9a9a9a; border-radius:9px; padding:7px 6px; font-size:12.5px; font-weight:600; cursor:pointer; }
.asg-day.on{ background:#F16719; border-color:#F16719; color:#fff; }

/* --- Exercício: seletor Foto/Vídeo + miniatura de vídeo --- */
.cex-toggle{ display:inline-flex; background:#0e0e0e; border:1px solid #2a2a2a; border-radius:10px; padding:3px; gap:3px; margin-bottom:4px; }
.cex-tg{ background:transparent; border:none; color:#bbb; font-weight:600; font-size:14px; padding:8px 20px; border-radius:8px; cursor:pointer; }
.cex-tg.on{ background:#F16719; color:#fff; }
.cex-th--vid{ background:#0e0e0e; color:#F16719; font-size:16px; }
.cex-prev--yt{ color:#F16719; font-weight:700; }

/* Reordenar treinos (setas) */
.cbtn-mv{ min-width:34px; padding:6px 8px; font-size:15px; line-height:1; }
.cbtn-mv:disabled{ opacity:.35; }

/* --- Triagem de alunos (Alunos): pior primeiro, agrupado por risco --- */
.tri-chips{ display:flex; gap:8px; flex-wrap:wrap; margin:2px 0 14px; }
.tri-chip{ flex:1 1 auto; text-align:center; background:#141414; border:1px solid #262626; border-radius:11px; padding:9px 6px; font-size:12.5px; color:#aaa; }
.tri-chip b{ font-size:17px; display:block; color:#eee; line-height:1.1; }
.tri-chip.tri-risco{ border-color:#5a2020; } .tri-chip.tri-risco b{ color:#FF6B5E; }
.tri-chip.tri-atencao{ border-color:#5a4a1a; } .tri-chip.tri-atencao b{ color:#FFB020; }
.tri-chip.tri-emdia{ border-color:#204a2e; } .tri-chip.tri-emdia b{ color:#34D399; }
.tri-row{ align-items:center; }
.tri-dot{ flex:0 0 auto; width:8px; height:8px; border-radius:50%; background:#3a3a3a; }
.tri-row.tri-risco .tri-dot{ background:#FF6B5E; }
.tri-row.tri-atencao .tri-dot{ background:#FFB020; }
.tri-ver{ flex:0 0 auto; white-space:nowrap; }
.tri-ok-msg{ background:#101a12; border:1px solid #204a2e; color:#8fe0aa; border-radius:11px; padding:14px; text-align:center; font-size:14px; }

/* --- Overlay "Copiar treino para alunos" --- */
.coach-ov{ position:fixed; inset:0; background:rgba(0,0,0,.6); display:flex; align-items:flex-end; justify-content:center; z-index:50; }
.coach-ov-card{ width:100%; max-width:460px; background:#161616; border:1px solid #2a2a2a; border-radius:16px 16px 0 0; padding:18px 16px 20px; max-height:80vh; overflow:auto; }
@media(min-width:520px){ .coach-ov{ align-items:center; } .coach-ov-card{ border-radius:16px; } }
.coach-ov-h{ font-size:17px; font-weight:700; color:#fff; margin-bottom:6px; }
.copy-list{ display:flex; flex-direction:column; gap:6px; margin:12px 0; }
.copy-item{ display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #2a2a2a; border-radius:11px; background:#121212; cursor:pointer; }
.copy-item input{ width:18px; height:18px; accent-color:#F16719; }
.copy-nm{ flex:1; min-width:0; }
.coach-ov-msg{ font-size:13px; color:#9a9a9a; margin-bottom:10px; min-height:16px; }
.coach-ov-msg.ok{ color:#34D399; } .coach-ov-msg.err{ color:#FF6B5E; }
.coach-ov-x{ width:100%; margin-top:8px; }

/* Legenda das categorias de triagem */
.tri-legenda{ margin:-4px 0 14px; font-size:13px; }
.tri-legenda summary{ color:#cfcfcf; cursor:pointer; padding:8px 12px; list-style:none;
  display:inline-flex; align-items:center; gap:6px; background:#161616; border:1px solid #262626;
  border-radius:999px; font-weight:600; }
.tri-legenda summary::-webkit-details-marker{ display:none; }
.tri-legenda summary::before{ content:'▸'; font-size:11px; color:#F16719; transition:transform .15s; }
.tri-legenda[open] summary::before{ transform:rotate(90deg); }
.tri-legenda summary:active{ background:#1f1f1f; }
.tri-legenda p{ margin:10px 2px 6px; color:#bdbdbd; line-height:1.4; }
.tri-c-risco{ color:#FF6B5E; } .tri-c-atencao{ color:#FFB020; } .tri-c-emdia{ color:#34D399; }

/* Guia de uso (overlay do personal) */
.guia-card{ max-width:560px; max-height:84vh; overflow-y:auto; text-align:left; }
.guia-sec{ border:1px solid #242424; border-radius:11px; margin-bottom:8px; background:#141414; }
.guia-sec summary{ cursor:pointer; padding:12px 14px; font-weight:700; font-size:14.5px; color:#eee; list-style:none; }
.guia-sec summary::-webkit-details-marker{ display:none; }
.guia-sec[open] summary{ color:#F16719; }
.guia-b{ padding:0 14px 14px; font-size:14px; line-height:1.55; color:#c9c9c9; }
.guia-b b{ color:#eaeaea; }
.guia-b .g-r{ color:#FF6B5E; } .guia-b .g-a{ color:#FFB020; } .guia-b .g-e{ color:#34D399; }
.coach-help{ width:30px; height:30px; border-radius:50%; border:1px solid #2f2f2f; background:#161616; color:#bbb; font-weight:800; cursor:pointer; margin-right:8px; }
.coach-help:hover{ color:#F16719; border-color:#F16719; }

/* Plano / assinatura (personal) */
.plano-banner{ display:block; width:100%; text-align:left; background:#141414; border:1px solid #2a2a2a; border-radius:12px; padding:11px 14px; margin:2px 0 14px; color:#cfcfcf; font-size:13.5px; cursor:pointer; }
.plano-banner b{ color:#eee; }
.plano-banner.is-pro{ border-color:#204a2e; }
.plano-banner.is-pro b{ color:#34D399; }
.plano-cta{ color:#F16719; font-weight:700; }
.plano-atual{ background:#141414; border:1px solid #2a2a2a; border-radius:11px; padding:12px 14px; margin-bottom:12px; font-size:14.5px; color:#ddd; }
.plano-atual.is-pro{ border-color:#204a2e; }
.plano-lista{ margin:0 0 14px; padding-left:18px; color:#c9c9c9; font-size:14px; line-height:1.7; }
.plano-alerta{ background:#2a1a12; border:1px solid #5a3a1a; color:#ffc196; border-radius:10px; padding:10px 12px; margin-bottom:12px; font-size:13.5px; }
.plano-ciclo,.plano-ciclo-b{}

/* ===== Painel do dono (admin) ===== */
.cn-admin{color:#FFB86B}
.admin-wrap{padding:4px 2px 24px}
.admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.admin-kpi{background:#161618;border:1px solid #2A2A2E;border-radius:14px;padding:14px}
.admin-kpi-v{font-size:22px;font-weight:800;color:#EDEDED}
.admin-kpi-l{font-size:12px;color:#8A8A90;margin-top:4px}
.admin-card{background:#161618;border:1px solid #2A2A2E;border-radius:14px;padding:14px;margin-bottom:12px}
.admin-h{font-weight:700;color:#EDEDED;margin-bottom:8px}
.admin-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-top:1px solid #232327;color:#C9C9CE}
.admin-row:first-of-type{border-top:none}
.admin-tag{font-style:normal;font-size:11px;color:#8A8A90;background:#232327;border-radius:6px;padding:1px 6px;margin-left:6px}
.admin-obs{font-size:12px;color:#8A8A90;margin-top:8px;line-height:1.5}
.admin-erro{background:#161618;border:1px solid #402024;border-radius:14px;padding:16px;color:#FF9B8A}
