:root{--bg:#050505;--card:#111;--card2:#181818;--red:#e32121;--white:#fff;--muted:#aaa;--border:#2a2a2a;--green:#173217;--gold:#c79b35;--danger:#ff5c5c}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{position:relative;isolation:isolate;width:min(100%,1100px);margin:0 auto;padding:20px;min-height:100vh}.shell::before{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.94) 30%,rgba(5,5,5,.9) 56%,rgba(5,5,5,.82) 100%),radial-gradient(circle at 86% 24%,rgba(227,33,33,.18),transparent 26%),url('/images/everton-app-bg-v24.jpg');background-size:cover,cover,cover;background-position:center,center,70% center;background-repeat:no-repeat;opacity:.62;z-index:-2;pointer-events:none}.shell::after{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 20%),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,30px 30px,30px 30px;opacity:.11;z-index:-1;pointer-events:none}.center-shell{min-height:100vh;display:grid;place-items:center;align-content:center;gap:14px;padding:24px}.login-card{width:min(100%,520px);padding:26px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#101010,#090909)}.brand{display:block;width:min(100%,280px);height:auto;margin:0 auto 26px}.kicker{color:var(--red);font-size:11px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.title{font-size:clamp(28px,5vw,38px);font-weight:900;margin:6px 0 8px}.subtitle,.muted{color:var(--muted)}.subtitle{line-height:1.55;margin-bottom:20px}.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:12px;font-weight:800;color:#ddd}.input,.textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:#0c0c0c;color:#fff;padding:13px 14px;outline:none}.input:focus,.textarea:focus{border-color:var(--red)}.textarea{min-height:110px;resize:vertical}.btn{width:100%;border:0;border-radius:13px;background:var(--red);color:#fff;padding:14px 16px;font-size:12px;font-weight:900;letter-spacing:.7px;margin-top:10px}.btn.secondary{background:#141414;border:1px solid var(--border)}.btn.small{width:auto;padding:10px 13px;margin:0}.btn:disabled{opacity:.55;cursor:not-allowed}.link-btn{border:0;background:transparent;color:var(--red);font-weight:800;padding:15px 0}.error-box,.info-box{border-radius:14px;padding:14px 16px;margin:14px 0;line-height:1.45}.error-box{background:#2a0e0e;border:1px solid #6b2424;color:#ffd7d7}.info-box{background:#101820;border:1px solid #243b50;color:#d8ecff}.topbar{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:8px 0 22px}.topbar img{width:200px;max-width:55%;height:auto}.top-actions{display:flex;gap:8px;align-items:center}.hero{background:linear-gradient(135deg,rgba(227,33,33,.88),rgba(129,14,14,.88));padding:22px;border-radius:22px;margin:18px 0;box-shadow:0 18px 60px rgba(0,0,0,.3)}.hero h2{font-size:25px;margin:7px 0}.hero p{color:#ffe3e3}.hero button{border:1px solid #fff;background:#fff;color:#111;width:auto;margin-top:8px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile,.panel,.exercise,.student,.session{background:rgba(17,17,17,.88);backdrop-filter:blur(4px);border:1px solid rgba(58,58,58,.9);border-radius:16px;padding:16px}.tile{min-height:110px;text-align:left;color:#fff}.tile .line{height:4px;width:34px;background:var(--red);border-radius:4px;margin-bottom:14px}.tile strong{font-size:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px}.section-head h2{margin:0;font-size:22px}.back{width:auto;background:#151515;border:1px solid var(--border);margin:0}.exercise{margin-top:12px}.exercise h3{margin:0 0 8px}.exercise-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.pill{font-size:11px;border-radius:999px;padding:6px 9px;background:#1b1b1b;border:1px solid var(--border);color:#ddd}.set-grid{display:grid;grid-template-columns:46px 1fr 1fr 1fr 46px;gap:7px;align-items:center;margin-top:8px}.set-grid input{min-width:0;text-align:center;padding:9px}.set-num{text-align:center;font-weight:900}.check{height:38px;border-radius:10px;border:1px solid var(--border);background:#111;color:#fff}.check.on{background:var(--green);border-color:#4b754b}.history-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #242424}.history-row:last-child{border-bottom:0}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px;border-radius:13px;background:#0b0b0b;border:1px solid var(--border)}.metric small{display:block;color:var(--muted);margin-bottom:4px}.metric strong{font-size:19px}.empty{padding:20px;border:1px dashed #333;border-radius:14px;color:var(--muted);text-align:center}.student{margin-top:10px}.student strong{display:block}.student small{color:var(--muted)}.loader{width:36px;height:36px;border:3px solid #333;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer-note{text-align:center;color:#666;font-size:12px;margin-top:18px}.status{font-size:12px;color:var(--muted);margin-top:8px}.danger{color:var(--danger)}@media(max-width:700px){.shell{padding:14px}.grid,.metric-grid{grid-template-columns:1fr}.set-grid{grid-template-columns:36px 1fr 1fr 1fr 40px;gap:5px}.topbar img{width:160px}.top-actions .label{display:none}.login-card{padding:20px;border-radius:18px}}

/* Painel do treinador */
.coach-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 8px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#0d0d0d}.coach-toolbar strong{display:block;font-size:13px}.coach-toolbar small{display:block;color:var(--muted);margin-top:3px}.coach-list{display:grid;gap:10px}.student-button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:16px;text-align:left;color:#fff}.student-button:hover{border-color:#555;background:#151515}.student-workout{text-align:right}.student-workout span{display:block;color:var(--muted);font-size:11px}.student-workout b{display:block;margin-top:3px;font-size:13px}.arrow{font-size:24px;color:var(--red)}.student-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#121212,#0b0b0b);border:1px solid var(--border);border-radius:18px;padding:18px;margin:16px 0}.student-summary h2{margin:4px 0 0}.coach-action{width:auto;background:var(--red);margin:0}.coach-workout-card{margin:10px 0}.coach-workout-card.active-workout{border-color:#7e2424;box-shadow:inset 4px 0 0 var(--red)}.coach-workout-main{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.coach-workout-main h3{margin:5px 0}.coach-card-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.danger-btn{background:#2a1010!important;border:1px solid #5c2323!important;color:#ffb7b7!important}.back-inline{width:auto;margin:0 0 14px}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.active-pill{border-color:#315e31;background:#102010;color:#b9efb9}.coach-form{margin:14px 0}.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.coach-exercise{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center}.coach-exercise-index{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-weight:900}.coach-exercise-body h3{margin:0 0 8px}.coach-exercise-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:#151515;color:#fff;font-weight:900}.icon-btn:hover{border-color:#555}.coach-exercise-actions .btn{margin:0}
@media(max-width:800px){.student-summary,.coach-workout-main{align-items:stretch;flex-direction:column}.coach-action{width:100%}.coach-card-actions{justify-content:stretch}.coach-card-actions .btn{flex:1}.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-exercise{grid-template-columns:34px minmax(0,1fr)}.coach-exercise-actions{grid-column:1/-1;justify-content:flex-start;padding-left:48px}.student-button{grid-template-columns:minmax(0,1fr) 24px}.student-workout{grid-column:1/-1;text-align:left}.student-button .arrow{grid-column:2;grid-row:1}}
@media(max-width:520px){.form-grid-4{grid-template-columns:1fr}.coach-card-actions{display:grid;grid-template-columns:1fr}.coach-exercise-actions{padding-left:0}.coach-exercise-actions .btn{flex:1}.editor-head{align-items:stretch;flex-direction:column}.student-button{padding:14px}}

/* V19 - biblioteca, vídeos, dieta e descanso */
.select-input{appearance:auto}.video-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid #3a3a3a;background:#181818;color:#fff;font-size:11px;font-weight:900;text-decoration:none}.video-toggle:hover{border-color:var(--red)}.video-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--border);margin:8px 0 14px}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.rest-timer{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:9999;width:min(calc(100% - 28px),560px);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #7b2424;border-radius:18px;background:rgba(16,16,16,.97);box-shadow:0 18px 60px rgba(0,0,0,.55),inset 4px 0 0 var(--red);backdrop-filter:blur(10px)}.rest-timer>div:first-child{display:grid;gap:2px}.rest-timer small{color:var(--red);font-size:10px;font-weight:900;letter-spacing:1.4px}.rest-timer strong{font-size:32px;line-height:1;font-variant-numeric:tabular-nums}.rest-timer span{font-size:11px;color:var(--muted)}.rest-actions{display:flex;gap:7px}.rest-actions button{border:1px solid var(--border);border-radius:10px;background:#181818;color:#fff;padding:9px 11px;font-size:11px;font-weight:900}.rest-timer.done{border-color:#315e31;box-shadow:0 18px 60px rgba(0,0,0,.55),inset 4px 0 0 #4b9b4b}.rest-timer.done strong{color:#7bdf7b}.student-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.student-actions .coach-action{white-space:nowrap}.macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.macro{padding:12px;border-radius:12px;background:#0b0b0b;border:1px solid var(--border)}.macro small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px}.macro strong{display:block;margin-top:4px;font-size:17px}.meal-list{display:grid;gap:10px;margin-top:12px}.meal-card,.meal-edit-card{border:1px solid var(--border);border-radius:16px;background:var(--card);padding:16px}.meal-title,.meal-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.meal-title h3{margin:4px 0 0}.meal-items{margin-top:13px;line-height:1.7;color:#eee}.meal-name-time{display:grid;grid-template-columns:2fr 1fr;gap:10px}.meal-edit-card{margin:10px 0;background:#0d0d0d}.meal-edit-head strong{font-size:13px}.meal-edit-head .icon-btn{margin-left:auto}.nutrition-head h2{margin-top:5px}
@media(max-width:700px){.rest-timer{top:50%;bottom:auto}.rest-timer strong{font-size:27px}.macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-name-time{grid-template-columns:1fr}.student-actions{width:100%}.student-actions .coach-action{flex:1;min-width:140px}}

/* V20 — biblioteca pesquisável e movimentos personalizados */
.exercise-library-panel{margin:14px 0}.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.library-head h2{margin:4px 0}.library-head .muted{margin:6px 0 0}.library-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:10px;margin:16px 0 12px}.library-results{display:grid;gap:7px;max-height:390px;overflow:auto;padding-right:3px}.library-result{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;align-items:stretch}.library-pick{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid var(--border);background:#0b0b0b;color:#fff;border-radius:12px;padding:12px 14px}.library-pick:hover{border-color:#555;background:#141414}.library-pick span{min-width:0}.library-pick strong{display:block;font-size:13px}.library-pick small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.library-pick b{color:var(--red);font-size:10px;white-space:nowrap}.library-delete{border:1px solid #5c2323;background:#251010;color:#ffb7b7;border-radius:12px;font-size:20px;font-weight:900}.library-empty{margin:0}.custom-library-intro{margin:14px 0}.custom-library-intro h2{margin:5px 0}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:720px){.library-head{display:grid}.library-head .coach-action{width:100%}.library-filters,.form-grid-2{grid-template-columns:1fr}.library-results{max-height:430px}.library-pick{padding:11px}.library-pick b{display:none}}

/* V21 — cadastro de alunos direto na área do treinador */
.new-student-intro{margin:12px 0}.new-student-intro h2{margin:5px 0}.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.password-row .btn{width:auto;margin:0}.success-box{margin-top:14px;padding:14px 16px;border:1px solid #315e31;border-radius:13px;background:#0e1b0e;color:#c8efc8;line-height:1.5}.coach-toolbar .coach-action{margin-left:auto}
@media(max-width:700px){.coach-toolbar{align-items:stretch;flex-direction:column}.coach-toolbar .coach-action{width:100%;margin-left:0}.password-row{grid-template-columns:1fr}.password-row .btn{width:100%}}

/* V22 — gestão avançada e biblioteca ampliada */
.coach-toolbar-actions{display:flex;gap:8px;align-items:center}.archived-student{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#0d0d0d}.archived-student strong{display:block}.archived-student small{display:block;color:var(--muted);margin-top:4px}.copy-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.library-filters{grid-template-columns:minmax(0,2fr) minmax(160px,1fr) minmax(160px,1fr)}
@media(max-width:760px){.coach-toolbar-actions,.copy-actions{display:grid;grid-template-columns:1fr}.coach-toolbar-actions .btn{width:100%}.archived-student{align-items:stretch;flex-direction:column}.library-filters{grid-template-columns:1fr}}

/* V23 — treino do dia, monitoramento e fotos de evolução */
.student-workout-list{display:grid;gap:10px;margin:10px 0 20px}.student-workout-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:12px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:16px;background:#101010;color:#fff;padding:16px}.student-workout-card strong{display:block;font-size:16px;margin:4px 0}.student-workout-card small{display:block;color:var(--muted);line-height:1.4}.student-workout-card:hover{border-color:#555}.student-workout-card.today-workout{border-color:#8b2828;box-shadow:inset 4px 0 0 var(--red);background:linear-gradient(100deg,#1a0c0c,#101010)}.today-card{border-color:#8b2828!important;box-shadow:inset 4px 0 0 var(--red)}
.coach-mini-stats{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.coach-mini-stats span{font-size:10px;padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted)}.mini-status.ok{color:#aee8ae;border-color:#315e31;background:#0f1d0f}.mini-status.pending{color:#d6d6d6}.coach-monitor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.monitor-card{padding:15px;border:1px solid var(--border);border-radius:14px;background:#0d0d0d}.monitor-card small{display:block;color:var(--muted);font-size:10px;letter-spacing:.8px;margin-bottom:6px}.monitor-card strong{font-size:15px}.good-text{color:#8ee38e}.activity-feed{padding:4px 16px}.activity-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:13px 0;border-bottom:1px solid #242424}.activity-row:last-child{border-bottom:0}.activity-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#271313;color:#ffb0b0;font-weight:900}.activity-icon.ok{background:#102010;color:#94df94}.activity-row strong,.activity-row small{display:block}.activity-row small{color:var(--muted);margin-top:3px}.activity-row p{color:#ddd;margin:7px 0 0;font-size:13px}.checkin-scores{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.checkin-scores span{font-size:10px;color:#bbb;border:1px solid var(--border);border-radius:999px;padding:4px 7px}
.photo-upload-panel{margin:12px 0}.photo-upload-panel h2{margin:5px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-photo{margin:0;border:1px solid var(--border);border-radius:15px;overflow:hidden;background:#0c0c0c}.progress-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#050505}.progress-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px}.progress-photo figcaption strong,.progress-photo figcaption small{display:block}.progress-photo figcaption small{color:var(--muted);font-size:10px;margin-top:3px}
@media(max-width:800px){.coach-monitor{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.coach-monitor,.photo-grid{grid-template-columns:1fr}.coach-dashboard-student .student-workout{grid-column:1/-1}.student-workout-card{padding:14px}}


/* V25 — dashboard inicial do treinador */
.coach-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.coach-dashboard-hero h2{margin:5px 0 0}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.dashboard-stat-card{padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(17,17,17,.88)}.dashboard-stat-card small{display:block;color:var(--muted);font-size:10px;letter-spacing:.9px;margin-bottom:7px}.dashboard-stat-card strong{display:block;font-size:30px;line-height:1.1}.dashboard-stat-card span{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.4}.coach-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.quick-student-grid{display:grid;gap:10px}.quick-student-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:12px;align-items:center;text-align:left;background:#101010;color:#fff;border:1px solid var(--border);border-radius:16px;padding:15px}.quick-student-card:hover{border-color:#555}.quick-student-card strong{display:block;font-size:15px;margin:4px 0}.quick-student-card small{display:block;color:var(--muted);line-height:1.45}.quick-student-card.warning{border-color:#5a2424;background:linear-gradient(120deg,#1a0d0d,#101010)}
@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-dashboard-grid{grid-template-columns:1fr}.coach-dashboard-hero{align-items:stretch;flex-direction:column}.coach-dashboard-hero .coach-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dashboard-stats,.coach-dashboard-hero .coach-toolbar-actions{grid-template-columns:1fr}.dashboard-stat-card strong{font-size:26px}}


/* V26 — ícones dos atalhos do aluno */
.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-height:118px}.tile-icon{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,rgba(227,33,33,.18),rgba(227,33,33,.05));border:1px solid rgba(227,33,33,.35);color:#ff6d6d;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.tile-icon svg{width:26px;height:26px}.tile strong{line-height:1.3}

/* V27 — busca, filtros, gráficos, comparação de fotos e modelos */
.coach-search-panel{display:grid;gap:12px;margin:12px 0}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid var(--border);background:#111;color:#bbb;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:900;letter-spacing:.5px}.filter-chip.active,.filter-chip:hover{border-color:#7d2b2b;background:#261010;color:#fff}.evolution-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.chart-card{border:1px solid var(--border);border-radius:16px;background:rgba(12,12,12,.9);padding:14px;overflow:hidden}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.chart-head strong{display:block;font-size:20px;margin-top:4px}.chart-head small{color:var(--muted);font-size:10px}.progress-chart{width:100%;height:auto;margin-top:8px}.chart-axis{stroke:#444;stroke-width:1}.chart-line{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#fff;stroke:var(--red);stroke-width:2}.chart-dates{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.chart-empty{min-height:120px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px}.photo-compare{border:1px solid var(--border);border-radius:18px;background:rgba(12,12,12,.9);padding:14px;margin-bottom:16px}.compare-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-grid figure{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#050505}.compare-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.compare-grid figcaption{padding:10px;color:#ddd;font-size:11px}.editor-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nutrition-save-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.template-list{display:grid;gap:10px}.template-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(13,13,13,.9)}.template-card strong{display:block;font-size:15px;margin:4px 0}.template-card small{display:block;color:var(--muted)}.template-actions{display:flex;gap:7px;flex-wrap:wrap}.coach-dashboard-hero .coach-toolbar-actions{flex-wrap:wrap}
@media(max-width:900px){.evolution-charts{grid-template-columns:1fr}.template-card{align-items:stretch;flex-direction:column}.template-actions .btn{flex:1}}
@media(max-width:620px){.compare-controls,.compare-grid,.nutrition-save-actions{grid-template-columns:1fr}.filter-chips{display:grid;grid-template-columns:1fr 1fr}.editor-head-actions{width:100%;justify-content:space-between}.template-actions{display:grid;grid-template-columns:1fr}}

/* V28 — calendário, metas, recordes, progressão e renovação */
.weekly-goal{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0}.weekly-goal h2{margin:5px 0}.weekly-goal p{margin:5px 0 0}.goal-ring{--pct:0deg;width:82px;height:82px;flex:0 0 82px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--red) var(--pct),#242424 0);position:relative}.goal-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#111}.goal-ring strong{position:relative;z-index:1;font-size:18px}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:10px 0 20px}.week-day{min-height:112px;padding:12px 10px;border:1px solid var(--border);border-radius:14px;background:rgba(13,13,13,.9);display:flex;flex-direction:column;gap:6px}.week-day small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.8px}.week-day strong{font-size:20px}.week-day span{font-size:10px;color:#aaa;line-height:1.35;overflow-wrap:anywhere}.week-day.today{border-color:#7d2d2d;box-shadow:inset 0 3px 0 var(--red)}.week-day.done{background:linear-gradient(145deg,#102010,#0d0d0d);border-color:#315e31}.week-day.done span{color:#9be29b}.plan-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;border:1px solid var(--border);font-size:9px;font-weight:900;letter-spacing:.5px}.plan-badge.ok{color:#a9e9a9;border-color:#315e31;background:#0e1c0e}.plan-badge.warning{color:#ffd487;border-color:#73551b;background:#241a08}.plan-badge.danger{color:#ffb2b2;border-color:#6b2424;background:#270d0d}.plan-badge.neutral{color:#bbb}.plan-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.plan-date{font-size:11px;color:var(--muted)}.record-strip{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}.record-strip span{font-size:10px;border:1px solid #604a1c;background:#211807;color:#ffe2a0;border-radius:999px;padding:6px 9px}.record-strip b{color:#fff}.student-management-panel{margin:14px 0}.status-field{min-height:48px;display:flex;align-items:center}.dashboard-stats.five{grid-template-columns:repeat(5,minmax(0,1fr))}.coach-mini-stats .plan-badge{font-size:9px;padding:5px 8px}
@media(max-width:1050px){.dashboard-stats.five{grid-template-columns:repeat(3,minmax(0,1fr))}.week-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.weekly-goal{align-items:flex-start}.week-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats.five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.weekly-goal{flex-direction:column}.week-calendar,.dashboard-stats.five{grid-template-columns:1fr}.week-day{min-height:auto}}


/* V29 — mobile app, consistência, WhatsApp e financeiro */
.consistency-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 18px}.consistency-card small{display:block;color:var(--muted);font-size:10px;letter-spacing:.9px}.consistency-card strong{display:block;font-size:24px;margin:6px 0}.consistency-card span{color:var(--muted);font-size:12px}.payment-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.5px}.payment-badge.ok{color:#aee8ae;border:1px solid #315e31;background:#0f1d0f}.payment-badge.pending{color:#ffc7c7;border:1px solid #6b2424;background:#281010}.finance-subhead{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.finance-subhead h3{margin:4px 0 0}.whatsapp-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-color:#2d6d43!important}.mobile-app-nav{display:none}.shell{padding-bottom:88px}
@media(max-width:700px){.consistency-grid{grid-template-columns:1fr 1fr}.mobile-app-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:10px;z-index:9998;background:rgba(12,12,12,.96);border:1px solid #343434;border-radius:18px;padding:7px;box-shadow:0 18px 45px rgba(0,0,0,.55);backdrop-filter:blur(12px)}.mobile-app-nav button{border:0;background:transparent;color:#ddd;padding:7px 5px;display:grid;gap:3px;place-items:center;font-size:18px}.mobile-app-nav button span{font-size:9px;font-weight:800;letter-spacing:.2px}.coach-mobile-nav{grid-template-columns:repeat(3,1fr)}.top-actions #homeBtn{display:none}.shell{padding-bottom:98px}}
@media(max-width:430px){.consistency-grid{grid-template-columns:1fr}}

.dashboard-stats.six{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.dashboard-stats.six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.dashboard-stats.six{grid-template-columns:1fr}}


/* V30 — comunicação, feedback e relatório */
.message-thread{display:grid;gap:10px;max-height:52vh;overflow:auto;padding:10px 2px 14px;margin:10px 0}.message-bubble{max-width:82%;padding:11px 13px;border-radius:16px;border:1px solid var(--border);background:#101010}.message-bubble.mine{margin-left:auto;background:linear-gradient(135deg,#4b1111,#271010);border-color:#702525}.message-bubble.theirs{margin-right:auto}.message-bubble p{margin:0;white-space:pre-wrap;line-height:1.5}.message-bubble small{display:block;color:var(--muted);margin-top:6px;font-size:10px}.message-form{border-top:1px solid var(--border);padding-top:12px}.feedback-panel h2{margin:6px 0}.feedback-list{display:grid;gap:9px}.feedback-row{padding:12px;border:1px solid var(--border);border-radius:13px;background:#0c0c0c}.feedback-row.warning{border-color:#783030;background:#1a0e0e}.feedback-row strong,.feedback-row small{display:block}.feedback-row small{color:#ffb6b6;margin-top:5px}.feedback-row p{margin:7px 0 0;color:#ddd;line-height:1.45}.dashboard-stat-card.alert-card{border-color:#6f2a2a;background:linear-gradient(135deg,rgba(64,18,18,.8),rgba(17,17,17,.9))}.report-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.report-head h2{margin:5px 0}.report-measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.report-measures span{padding:11px;border:1px solid var(--border);border-radius:12px;color:var(--muted)}.report-measures b{display:block;color:#fff;margin-top:3px}.report-row{padding:12px 0;border-bottom:1px solid #252525}.report-row:last-child{border-bottom:0}.report-row strong,.report-row small{display:block}.report-row small{color:var(--muted);margin-top:4px}.report-row p{margin:6px 0 0}.dashboard-stats.nine{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.report-measures{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats.nine{grid-template-columns:repeat(2,minmax(0,1fr))}.report-head{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.message-bubble{max-width:92%}.report-measures,.dashboard-stats.nine{grid-template-columns:1fr}.mobile-app-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-app-nav button{font-size:14px}.mobile-app-nav button span{font-size:8px}}
@media print{body{background:#fff!important;color:#111!important}.print-report{width:100%;max-width:none;color:#111;background:#fff}.print-report::before,.print-report::after,.print-report .topbar,.no-print,.mobile-app-nav{display:none!important}.print-report .panel,.print-report .dashboard-stat-card{background:#fff!important;color:#111!important;border-color:#bbb!important;box-shadow:none!important}.print-report .muted,.print-report small,.print-report span{color:#555!important}.print-report strong,.print-report h1,.print-report h2,.print-report h3{color:#111!important}.print-report .dashboard-stats{grid-template-columns:repeat(4,1fr)!important}}


/* V31 — visual refinado + tipos de aluno + calendário personal */
:root{--surface:rgba(15,15,16,.86);--surface-strong:rgba(20,20,22,.94);--soft-border:rgba(255,255,255,.09);--shadow:0 20px 55px rgba(0,0,0,.32)}
body{background:radial-gradient(circle at 85% 5%,rgba(227,33,33,.08),transparent 24%),#050505}
.shell{width:min(100%,1160px);padding:24px 24px 104px}
.shell::before{border-radius:34px;opacity:.52;filter:saturate(.85)}
.topbar{padding:12px 4px 22px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:20px}.topbar img{width:185px}.top-actions .btn{border-radius:999px;padding-inline:15px}
.title{font-size:clamp(30px,4.5vw,44px);letter-spacing:-1px}.subtitle,.muted{color:#a8a8ad}
.panel,.tile,.exercise,.student,.session{background:linear-gradient(155deg,rgba(21,21,23,.92),rgba(11,11,12,.88));border:1px solid var(--soft-border);box-shadow:0 12px 32px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.panel{border-radius:20px}.tile{border-radius:20px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tile:hover{transform:translateY(-2px);border-color:rgba(227,33,33,.42);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.btn{border-radius:14px;box-shadow:0 8px 24px rgba(227,33,33,.12);transition:transform .16s ease,filter .16s ease}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.secondary{background:rgba(24,24,26,.88);border-color:rgba(255,255,255,.1);box-shadow:none}
.hero{border-radius:26px;background:linear-gradient(130deg,rgba(227,33,33,.95),rgba(111,10,10,.86));box-shadow:0 24px 70px rgba(131,9,9,.28);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;right:-55px;top:-55px;width:180px;height:180px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.015)}.hero>*{position:relative;z-index:1}
.dashboard-stat-card{border-radius:18px;background:linear-gradient(145deg,rgba(22,22,24,.94),rgba(10,10,11,.9));border:1px solid var(--soft-border);box-shadow:0 12px 32px rgba(0,0,0,.18)}.dashboard-stat-card strong{font-size:32px;letter-spacing:-1px}.dashboard-stat-card small{color:#d15b5b}
.student-button{border-radius:18px;padding:18px;transition:transform .16s ease,border-color .16s ease}.student-button:hover{transform:translateY(-1px);border-color:rgba(227,33,33,.36)}
.student-name-line,.student-profile-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.student-profile-title h2{margin:4px 0}
.service-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900;letter-spacing:.75px;border:1px solid}.service-badge.consultoria{color:#b8ccff;border-color:#30456e;background:#0e1729}.service-badge.personal{color:#ffd2d2;border-color:#7e2d2d;background:#2a1010}
.personal-calendar-tile{border-color:rgba(227,33,33,.28)}
.calendar-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 20px;padding:20px 22px}.calendar-hero h2{margin:5px 0}.calendar-month{margin:20px 0}.calendar-count{font-size:11px;color:var(--muted);border:1px solid var(--soft-border);padding:7px 10px;border-radius:999px}.personal-session-list{display:grid;gap:10px}.personal-session-card{display:grid;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--soft-border);border-radius:18px;background:linear-gradient(145deg,rgba(19,19,21,.94),rgba(10,10,11,.92));box-shadow:0 12px 30px rgba(0,0,0,.2)}.personal-session-card.scheduled{border-left:4px solid var(--red)}.personal-session-card.completed{border-left:4px solid #3e8b4a}.personal-session-card.cancelled{opacity:.58;border-left:4px solid #666}.session-date-box{display:grid;place-items:center;text-align:center;padding:10px;border-radius:14px;background:#0b0b0c;border:1px solid rgba(255,255,255,.07)}.session-date-box strong{font-size:22px}.session-date-box small{font-size:9px;color:var(--muted);margin-top:3px}.session-main strong{font-size:15px}.session-main small{display:block;margin-top:6px;color:#bbb}.session-main p{margin:7px 0 0;color:#ddd;line-height:1.45}.session-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-status{font-size:9px;font-weight:900;letter-spacing:.7px;border-radius:999px;padding:5px 8px}.session-status.scheduled{background:#2d1111;color:#ffb7b7;border:1px solid #662626}.session-status.completed{background:#102010;color:#a8e7a8;border:1px solid #315e31}.session-status.cancelled{background:#181818;color:#aaa;border:1px solid #444}.session-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.appointment-form{max-width:760px;margin:18px auto}.appointment-form h2{margin:6px 0 14px}
.input,.textarea{background:rgba(8,8,9,.88);border-color:rgba(255,255,255,.1);border-radius:14px}.input:focus,.textarea:focus{box-shadow:0 0 0 3px rgba(227,33,33,.12)}
@media(max-width:800px){.shell{padding:15px 14px 104px}.personal-session-card{grid-template-columns:72px minmax(0,1fr)}.session-actions{grid-column:1/-1;justify-content:stretch}.session-actions .btn{flex:1}.calendar-hero{align-items:stretch;flex-direction:column}.calendar-hero .btn{width:100%}}
@media(max-width:520px){.shell::before,.shell::after{border-radius:0}.topbar img{width:145px}.personal-session-card{grid-template-columns:1fr}.session-date-box{display:flex;justify-content:flex-start;gap:8px;text-align:left}.session-date-box strong{font-size:18px}.session-actions{display:grid;grid-template-columns:1fr}.grid{gap:10px}.tile{min-height:108px}}


/* V32 — agenda em lote e vencimento do plano */
.student-plan-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 18px;padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(20,20,20,.95),rgba(10,10,10,.92))}.student-plan-card h3{margin:5px 0 4px}.student-plan-card p{margin:0;color:var(--muted);font-size:13px}.student-plan-card.warning{border-color:#7b5a22;box-shadow:inset 4px 0 0 #d7a63e}.student-plan-card.danger{border-color:#6b2424;box-shadow:inset 4px 0 0 var(--red)}.student-plan-card.ok{border-color:#315e31;box-shadow:inset 4px 0 0 #4b9b4b}.calendar-actions{display:flex;gap:8px;flex-wrap:wrap}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday-option input{position:absolute;opacity:0;pointer-events:none}.weekday-option span{display:grid;place-items:center;min-height:44px;border:1px solid var(--border);border-radius:12px;background:#0c0c0c;color:#bbb;font-size:12px;font-weight:900;cursor:pointer}.weekday-option input:checked+span{border-color:#8b2828;background:#2a1010;color:#fff;box-shadow:inset 0 0 0 1px rgba(227,33,33,.25)}.batch-preview{margin:14px 0;padding:13px 15px;border-radius:13px;border:1px dashed #444;background:#0a0a0a}.batch-preview strong,.batch-preview small{display:block}.batch-preview small{margin-top:5px;color:var(--muted);line-height:1.5}.batch-preview span{color:var(--muted);font-size:12px}
@media(max-width:720px){.student-plan-card{align-items:flex-start;flex-direction:column}.calendar-actions{width:100%;display:grid;grid-template-columns:1fr}.weekday-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* V33 — meta semanal simplificada e agenda semanal do Personal */
.weekly-goal-bar{margin:14px 0;padding:18px 20px}.weekly-goal-copy{width:100%}.weekly-goal-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:5px 0 10px}.weekly-goal-title h2{margin:0}.weekly-goal-title>strong{font-size:20px;color:#fff}.weekly-progress-track{height:12px;border-radius:999px;background:#242426;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.weekly-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b31313,#ef2424,#ff5b5b);box-shadow:0 0 18px rgba(227,33,33,.35);transition:width .35s ease}.weekly-goal-bar p{margin:9px 0 0}
.personal-week-section{margin:18px 0 22px}.personal-week-section .section-head{margin-bottom:10px}.personal-week-list{display:grid;gap:10px}.personal-week-card{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 16px;border:1px solid var(--soft-border);border-radius:17px;background:linear-gradient(145deg,rgba(20,20,22,.94),rgba(11,11,12,.92));box-shadow:0 10px 28px rgba(0,0,0,.18)}.personal-week-card.completed{border-left:4px solid #3e8b4a}.personal-week-card:not(.completed){border-left:4px solid var(--red)}.personal-week-date{display:grid;gap:3px}.personal-week-date small{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.8px}.personal-week-date strong{font-size:22px}.personal-week-info{display:grid;gap:4px}.personal-week-info>strong{font-size:15px}.personal-week-info>span,.personal-week-info>small{color:var(--muted);font-size:11px}.personal-week-info>small{line-height:1.4}
@media(max-width:700px){.personal-week-card{grid-template-columns:1fr auto}.personal-week-date{grid-column:1}.personal-week-info{grid-column:1}.personal-week-card>.session-status{grid-column:2;grid-row:1/3;align-self:center}.personal-week-section .section-head{align-items:stretch;flex-direction:column}.personal-week-section .section-head .btn{width:100%}}
@media(max-width:430px){.weekly-goal-title{align-items:flex-start;flex-direction:column;gap:4px}.personal-week-card{grid-template-columns:1fr}.personal-week-card>.session-status{grid-column:1;grid-row:auto;width:max-content}}


/* V34 — valores do Personal e biblioteca importada */
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.session-price{margin-top:7px;color:#fff;font-size:15px;font-weight:900}.calendar-month-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-month-summary strong{color:#fff;font-size:15px}.batch-preview strong{display:block}.batch-preview small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:760px){.form-grid-3{grid-template-columns:1fr}}


/* V36 — treino do dia + grade visual de treinos */
.workout-library-heading{margin-bottom:12px}.workout-library-heading p{margin:6px 0 0}.workout-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:10px 0 24px}.workout-square-card{min-height:158px;padding:16px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;text-align:left;border-radius:18px;background:linear-gradient(145deg,rgba(22,22,22,.94),rgba(10,10,10,.92));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.workout-square-card:hover{transform:translateY(-2px);border-color:#555;box-shadow:0 14px 34px rgba(0,0,0,.24)}.workout-square-card.today-workout{border-color:#8b2828;box-shadow:inset 0 3px 0 var(--red),0 14px 34px rgba(0,0,0,.22);background:linear-gradient(145deg,rgba(45,13,13,.96),rgba(12,12,12,.94))}.workout-square-main{min-width:0}.workout-square-main strong{display:block;font-size:18px;line-height:1.15;margin:8px 0}.workout-square-main small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);line-height:1.45}.workout-square-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.workout-square-footer .arrow{font-size:20px}.today-hero{position:relative;overflow:hidden}.today-hero::after{content:"HOJE";position:absolute;right:18px;top:16px;font-size:10px;font-weight:900;letter-spacing:1.4px;color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 8px}
@media(max-width:700px){.workout-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.workout-square-card{min-height:142px;padding:13px}.workout-square-main strong{font-size:15px}.workout-square-main small{font-size:11px}.workout-square-footer{margin-top:12px}}
@media(max-width:390px){.workout-card-grid{grid-template-columns:1fr 1fr}.workout-square-card{min-height:132px}}


/* V37 — Financeiro mensal */
.finance-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0}.finance-hero h2{margin:5px 0}.finance-month-nav{display:flex;gap:8px}.finance-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.finance-student-list{display:grid;gap:10px}.finance-student-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,1.4fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(10,10,10,.75)}.finance-student-row strong,.finance-student-row small{display:block}.finance-student-row small{color:var(--muted);margin-top:4px}.finance-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.finance-values span{font-size:11px;color:var(--muted);padding:10px;border:1px solid var(--border);border-radius:11px}.finance-values b{display:block;color:#fff;font-size:14px;margin-top:3px}.finance-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.finance-payment-total{display:flex;justify-content:space-between;align-items:center;padding:18px;border:1px solid var(--border);border-radius:14px;margin:14px 0;background:#0b0b0b}.finance-payment-total strong{font-size:24px}.package-box{margin:14px 0;padding:15px;border:1px solid rgba(227,33,33,.35);border-radius:14px;background:rgba(227,33,33,.05)}.finance-check{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:#0c0c0c}.payment-badge.partial{color:#ffe2a0;border-color:#6b5620;background:#211b0b}
@media(max-width:1000px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-student-row{grid-template-columns:1fr}.finance-actions{justify-content:flex-start}}
@media(max-width:600px){.finance-summary-grid,.finance-values{grid-template-columns:1fr}.finance-hero{align-items:stretch;flex-direction:column}.finance-month-nav{width:100%}.finance-month-nav .btn{flex:1}}


/* V38 — cobrança do aluno + rotação automática de treinos */
.student-payment-section{margin:16px 0 20px}.student-payment-list{display:grid;gap:10px}.student-payment-card{padding:17px;border:1px solid rgba(227,33,33,.38);border-radius:18px;background:linear-gradient(145deg,rgba(31,12,12,.92),rgba(11,11,12,.94));box-shadow:0 12px 34px rgba(0,0,0,.2)}.student-payment-main{display:flex;align-items:center;justify-content:space-between;gap:18px}.student-payment-main h3{margin:8px 0 4px}.student-payment-main p{margin:0;color:var(--muted);font-size:12px}.student-payment-amount{text-align:right}.student-payment-amount small,.student-payment-amount span{display:block;color:var(--muted);font-size:10px}.student-payment-amount strong{display:block;font-size:26px;margin:4px 0}.pix-payment-box{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px;border:1px solid var(--border);border-radius:14px;background:#090909}.pix-payment-box small,.pix-payment-box span{display:block;color:var(--muted);font-size:10px}.pix-payment-box strong{display:block;margin:4px 0;font-size:17px;letter-spacing:.8px}.copy-pix-btn{margin:0;white-space:nowrap}.weekday-picker{grid-template-columns:repeat(7,minmax(90px,1fr))}
@media(max-width:760px){.student-payment-main,.pix-payment-box{align-items:stretch;flex-direction:column}.student-payment-amount{text-align:left}.copy-pix-btn{width:100%}.weekday-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V39 — confirmação de pagamento e sincronização financeira */
.student-payment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.paid-now-btn{white-space:nowrap}.student-payment-card .pix-payment-box{gap:14px}.student-payment-card .pix-payment-box>div:first-child{flex:1}@media(max-width:620px){.student-payment-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.student-payment-actions .btn{width:100%}}

/* V40 */
.finance-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.finance-hero-actions .finance-month-nav{display:flex;gap:6px}@media(max-width:720px){.finance-hero-actions{width:100%;justify-content:space-between}.finance-hero-actions>.btn{flex:1}.finance-hero{align-items:flex-start}}


/* V41 — bloqueio da Consultoria até pagamento */
.consult-lock-shell{background:radial-gradient(circle at 80% 20%,rgba(227,33,33,.12),transparent 28%),#050505}
.consult-lock-card{width:min(100%,680px);padding:30px}
.consult-lock-card .title{font-size:clamp(34px,6vw,58px);line-height:1.02;margin-bottom:16px}
.consult-lock-payment{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:22px 0 14px;padding:20px;border:1px solid #5b1f1f;border-radius:18px;background:linear-gradient(135deg,#1a0b0b,#101010)}
.consult-lock-payment h2{margin:10px 0 6px}.consult-lock-payment p{margin:0;color:var(--muted)}
.consult-lock-pix{margin:0 0 18px}.consult-lock-pix .student-payment-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:620px){.consult-lock-payment{align-items:flex-start;flex-direction:column}.consult-lock-payment .student-payment-amount{text-align:left}.consult-lock-pix{align-items:flex-start;flex-direction:column}.consult-lock-pix .student-payment-actions{width:100%}.consult-lock-pix .btn{flex:1}}
\n\n/* V42 - navegação móvel, persistência e avisos */
.back-top-btn{display:inline-flex}.new-message-notice{position:fixed;right:18px;bottom:86px;z-index:10020;width:min(390px,calc(100vw - 28px));display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid #7b2424;background:rgba(18,10,10,.98);color:#fff;box-shadow:0 22px 70px rgba(0,0,0,.55)}.new-message-notice>span{font-size:24px}.new-message-notice strong,.new-message-notice small{display:block}.new-message-notice small{margin-top:3px;color:#c9c9c9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.topbar{align-items:flex-start}.top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.top-actions .btn{padding:9px 11px;font-size:10px}.new-message-notice{left:14px;right:14px;bottom:82px;width:auto}.photo-upload-panel input[type=file]{min-height:48px}}

/* V43 */
.notice-permission-label{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font-size:10px;font-weight:900;color:var(--muted)}.notice-permission-label.ok{color:#9ee59e;border-color:#315e31}.danger-zone{margin-top:14px;border-color:#5b2323;background:linear-gradient(135deg,rgba(50,12,12,.7),rgba(14,14,14,.92))}.danger-zone h2{margin:6px 0}.danger-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.danger-actions .btn{width:auto;margin:0}


/* V44 — agenda compacta, calendário, mensagens e histórico financeiro */
.personal-week-list.compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.personal-week-card.compact{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start;padding:13px;border-radius:16px;min-height:132px}.personal-week-card.compact .personal-week-date{padding:9px;border-radius:12px;background:#0a0a0a;border:1px solid var(--border)}.personal-week-card.compact .personal-week-date strong{font-size:20px}.personal-week-card.compact .personal-week-info span,.personal-week-card.compact .personal-week-info small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.calendar-mini-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.mini-calendar-btn{display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px;border-radius:9px;border:1px solid var(--border);background:#111;color:#fff;text-decoration:none;font-size:9px;font-weight:900;letter-spacing:.4px}.mini-calendar-btn:hover{border-color:var(--red)}.calendar-head-actions{display:flex;gap:7px;flex-wrap:wrap}.coach-message-center-btn{position:relative}.message-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;margin-left:5px}.unread-message-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;border-color:#6e2a2a;background:linear-gradient(135deg,#1d0d0d,#101010)}.unread-message-panel h2{margin:5px 0}.message-inbox-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:13px 0;border:0;border-bottom:1px solid #252525;background:transparent;color:#fff}.message-inbox-row.unread{background:linear-gradient(90deg,rgba(227,33,33,.09),transparent);padding-left:8px;padding-right:8px}.message-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#241010;border:1px solid #5b2424;font-weight:900}.message-inbox-copy strong,.message-inbox-copy small{display:block}.message-inbox-copy small{margin-top:4px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-inbox-meta{text-align:right}.message-inbox-meta span{display:block;color:var(--muted);font-size:9px}.message-inbox-meta b{display:inline-grid;place-items:center;margin-top:5px;min-width:22px;height:22px;border-radius:999px;background:var(--red);font-size:10px}.finance-history-panel{margin-top:14px}.finance-history-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;min-height:190px}.finance-history-month{display:grid;gap:6px;text-align:center}.finance-history-bars{height:120px;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:6px;border-bottom:1px solid #333}.finance-history-bars span{width:14px;min-height:4px;border-radius:6px 6px 2px 2px}.finance-history-bars .expected,.finance-history-legend i.expected{background:#6b2b2b}.finance-history-bars .received,.finance-history-legend i.received{background:#55a75c}.finance-history-month small{font-size:9px;color:var(--muted)}.finance-history-legend{display:flex;gap:14px;justify-content:center;margin-top:12px;color:var(--muted);font-size:10px}.finance-history-legend span{display:flex;align-items:center;gap:6px}.finance-history-legend i{width:9px;height:9px;border-radius:2px}
@media(max-width:720px){.personal-week-list.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.personal-week-card.compact{grid-template-columns:1fr;min-width:0}.personal-week-card.compact .personal-week-date{display:flex;align-items:center;justify-content:space-between}.calendar-mini-actions{grid-template-columns:1fr}.calendar-head-actions{width:100%;display:grid;grid-template-columns:1fr}.unread-message-panel{align-items:stretch;flex-direction:column}.finance-history-grid{grid-template-columns:repeat(6,72px);overflow-x:auto;padding-bottom:8px;justify-content:flex-start}.message-inbox-row{grid-template-columns:38px minmax(0,1fr)}.message-inbox-meta{grid-column:2;text-align:left}.message-inbox-meta span{display:inline}.message-inbox-meta b{margin-left:8px}}
@media(max-width:430px){.personal-week-list.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.personal-week-card.compact{padding:10px}.personal-week-card.compact .personal-week-info strong{font-size:12px}.mini-calendar-btn{font-size:8px;padding:6px 4px}}


/* V44.1 — mensagens do treinador também notificam o aluno */
.message-tile{position:relative}.student-message-badge{position:absolute;top:10px;right:10px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 16px rgba(227,33,33,.35)}.message-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.message-thread-head h2{margin:5px 0}.message-thread-head .btn{margin:0}@media(max-width:620px){.message-thread-head{align-items:stretch;flex-direction:column}.message-thread-head .btn{width:100%}}

/* V46.4 — desempenho móvel, safe-area e alerta de descanso */
@supports(padding:max(0px)){
  .shell{padding-top:max(24px,calc(14px + env(safe-area-inset-top)));padding-left:max(24px,calc(14px + env(safe-area-inset-left)));padding-right:max(24px,calc(14px + env(safe-area-inset-right)))}
  .center-shell{padding-top:max(24px,calc(16px + env(safe-area-inset-top)));padding-bottom:max(24px,calc(16px + env(safe-area-inset-bottom)))}
  .mobile-app-nav{bottom:max(10px,env(safe-area-inset-bottom))}
}
.topbar{position:relative;z-index:30;min-height:72px}.top-actions{position:relative;z-index:31}.back-top-btn{min-height:44px;min-width:88px;touch-action:manipulation}.top-actions .btn{min-height:44px;touch-action:manipulation}
.rest-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(12,12,13,.9)}.rest-mode-bar small,.rest-mode-bar span{display:block}.rest-mode-bar small{color:#ff7777;font-size:9px;font-weight:900;letter-spacing:.8px}.rest-mode-bar span{margin-top:3px;color:#999;font-size:10px}.rest-mode-btn{flex:0 0 auto;border:1px solid #383838;border-radius:11px;background:#151515;color:#fff;padding:10px 12px;font-size:9px;font-weight:900;letter-spacing:.4px}.rest-mode-btn.active{border-color:#6e2929;background:#251010;color:#ffb7b7}
@media(max-width:700px){
  .shell{padding-top:max(18px,calc(12px + env(safe-area-inset-top)))!important;padding-left:14px!important;padding-right:14px!important}
  .topbar{align-items:center!important;padding-top:4px!important;min-height:82px;margin-bottom:18px}.topbar img{max-width:42%;width:145px}.top-actions{margin-left:auto;flex-wrap:nowrap!important;gap:6px}.top-actions .btn{padding:10px 12px!important;font-size:10px!important}.back-top-btn{min-width:88px}
  .rest-mode-bar{align-items:stretch;flex-direction:column}.rest-mode-btn{width:100%}
}
@media(max-width:390px){.topbar img{width:128px}.top-actions .btn{padding:10px 9px!important;font-size:9px!important}.back-top-btn{min-width:78px}}

/* V46.9 — Foto de perfil compartilhada aluno/treinador */
.profile-avatar{border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,#2a1010,#111);border:1px solid #553030;color:#fff;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar span{line-height:1}
.profile-avatar.sm{width:38px;height:38px;font-size:12px}.profile-avatar.md{width:52px;height:52px;font-size:15px}.profile-avatar.lg{width:76px;height:76px;font-size:22px}.profile-avatar.xl{width:88px;height:88px;font-size:24px}
.student-identity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center;margin:12px 0 18px;padding:15px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,#151515,#0c0c0c)}
.student-identity-copy small{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:1.4px}.student-identity-copy h2{margin:4px 0 2px;font-size:20px}.student-identity-copy p{margin:0;color:var(--muted);font-size:11px}.hidden-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.student-photo-action{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.payment-shortcut-btn{background:#e51920!important;border-color:#e51920!important;color:#fff!important}.profile-photo-link{margin-top:6px;padding:0;border:0;background:transparent;color:var(--red);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;cursor:pointer}.student-profile-head{display:flex;gap:14px;align-items:center;margin:6px 0 8px}.coach-student-main{display:flex;gap:12px;align-items:flex-start;min-width:0}.coach-student-main>div:last-child{min-width:0}.message-profile-avatar{align-self:center}
@media(max-width:620px){.student-identity-card{grid-template-columns:auto minmax(0,1fr);padding:13px}.student-photo-action{grid-column:1/-1}.student-photo-action .btn{flex:1 1 150px;width:auto}.profile-avatar.lg{width:64px;height:64px}.profile-avatar.xl{width:72px;height:72px}.student-profile-head{align-items:flex-start}.coach-dashboard-student{grid-template-columns:minmax(0,1fr) auto!important}.coach-dashboard-student>.student-workout{grid-column:1/-1;margin-left:64px}.coach-dashboard-student>.arrow{position:absolute;right:12px;top:18px}}

/* V46.10 — correção de overflow horizontal no mobile */
html,body,#app{width:100%;max-width:100%;overflow-x:hidden}
body{overscroll-behavior-x:none}
.shell,.topbar,.hero,.panel,.exercise,.student-identity-card,.student-workout-list,.grid,.section-head{max-width:100%;min-width:0}
.shell>*{min-width:0}
img,video,iframe,canvas,svg{max-width:100%}
h1,h2,h3,p,strong,span,small{overflow-wrap:anywhere}
.topbar{width:100%}
.top-actions{min-width:0}
.student-identity-card,.hero,.exercise{overflow:hidden}
@media(max-width:700px){
  .shell{width:100%!important;max-width:100vw!important;margin:0!important;overflow-x:hidden}
  .topbar{width:100%;max-width:100%}
  .topbar img{flex:0 1 auto;min-width:0}
  .top-actions{flex:0 0 auto;max-width:58%}
  .hero h2,.title{max-width:100%;word-break:break-word}
  .set-grid{width:100%;max-width:100%;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 38px}
  .set-grid .input{min-width:0;width:100%;padding-left:5px;padding-right:5px}
}

/* V46.10.2 — pedidos de renovação */
.renewal-lock-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.renewal-lock-actions .btn{margin:0}.renewal-request-panel{margin:14px 0;border-color:#6f2a2a;background:linear-gradient(135deg,rgba(70,16,16,.86),rgba(16,16,16,.95))}.renewal-request-list{display:grid;gap:9px}.renewal-request-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:#0d0d0e}.renewal-request-row>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.renewal-request-row strong,.renewal-request-row small{display:block}.renewal-request-row small{margin-top:3px;color:var(--muted);font-size:10px}.renewal-request-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:620px){.renewal-lock-actions{grid-template-columns:1fr}.renewal-request-row{align-items:stretch;flex-direction:column}.renewal-request-actions{display:grid;grid-template-columns:1fr 1fr}.renewal-request-actions .btn{width:100%}}


/* V46.10.3 — alerta persistente de pedidos de renovação */
.renewal-top-alert{display:flex;align-items:center;gap:16px;margin:0 0 18px;padding:18px;border:1px solid rgba(255,65,65,.42);border-radius:22px;background:linear-gradient(135deg,rgba(120,13,18,.38),rgba(18,18,18,.96));box-shadow:0 0 0 1px rgba(255,55,55,.04),0 18px 45px rgba(0,0,0,.22)}
.renewal-top-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,49,49,.14);border:1px solid rgba(255,67,67,.3);font-size:26px;color:#ff5555;font-weight:900}
.renewal-top-copy{min-width:0;flex:1}.renewal-top-copy .kicker{margin-bottom:4px}.renewal-top-copy h2{margin:0 0 8px;font-size:clamp(20px,3vw,28px)}.renewal-top-copy p{margin:8px 0 0;color:var(--muted);font-size:13px}
.renewal-top-names{display:flex;flex-wrap:wrap;gap:8px}.renewal-name-chip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:7px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.renewal-name-chip:hover{border-color:rgba(255,70,70,.45);background:rgba(255,70,70,.1)}.renewal-more{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;font-weight:800}
.renewal-top-open{flex:0 0 auto}.dashboard-stat-card.renewal-stat-alert{border-color:rgba(255,69,69,.45);background:linear-gradient(145deg,rgba(119,15,20,.25),rgba(20,20,20,.95))}.dashboard-stat-card.renewal-stat-alert strong{color:#ff5a5f}
@media(max-width:720px){.renewal-top-alert{align-items:flex-start;flex-wrap:wrap;padding:15px}.renewal-top-icon{width:44px;height:44px}.renewal-top-copy{flex:1 1 calc(100% - 62px)}.renewal-top-open{width:100%}}

/* V46.11.5 — notificações do aluno */
.student-notification-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,40,50,.045))}
.student-notification-copy{min-width:0}.student-notification-card h2{margin:4px 0 6px;font-size:clamp(20px,4vw,28px)}
.student-notification-card .btn,.student-notification-card .notice-permission-label{flex:0 0 auto}
.consult-lock-card .student-notification-card,.access-lock-card .student-notification-card{margin-top:18px;text-align:left;width:100%}
@media(max-width:640px){.student-notification-card{align-items:stretch;flex-direction:column}.student-notification-card .btn{width:100%}.student-notification-card .notice-permission-label{align-self:flex-start}}
\n\n/* V46.11.8 — símbolo discreto dentro do círculo do Treino do Dia */
.today-hero{position:relative;overflow:hidden;isolation:isolate;min-height:250px}
.today-hero-content{position:relative;z-index:2;max-width:100%}
.today-hero-brand{position:absolute;right:24px;top:26px;width:170px;height:170px;z-index:0;pointer-events:none;display:grid;place-items:center}
.today-hero-circle{width:100%;height:100%;border:1.5px solid rgba(255,255,255,.16);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.015)}
.today-hero-circle img{width:56%;height:auto;display:block;opacity:.09;filter:saturate(.55) brightness(1.15)}
@media(max-width:700px){
  .today-hero{min-height:270px;padding:22px 20px}
  .today-hero-content{max-width:100%}
  .today-hero-brand{right:16px;top:28px;width:150px;height:150px}
  .today-hero-circle img{width:54%;opacity:.075}
}
@media(max-width:430px){
  .today-hero-brand{right:12px;top:30px;width:142px;height:142px}
  .today-hero-circle img{width:52%;opacity:.07}
}


/* V46.13 — Avaliação física */
.assessment-profile{display:flex;align-items:center;justify-content:space-between;gap:20px}
.assessment-profile-data{display:flex;gap:12px;flex-wrap:wrap}
.assessment-profile-data>span,.pollock-result>span,.assessment-fold-summary>span{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:12px 14px;min-width:145px}
.assessment-profile-data small,.pollock-result small{display:block;color:var(--muted);font-size:.69rem;letter-spacing:.08em;margin-bottom:4px}
.assessment-profile-data strong,.pollock-result strong{font-size:1rem}
.assessment-group{margin:22px 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.assessment-group h3{margin:0 0 14px}
.assessment-date-field{max-width:180px;margin:0}
.pollock-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.pollock-result>span{min-width:0}
.assessment-history-card{margin-bottom:14px}
.assessment-metrics{margin-top:14px}
.assessment-diff{display:block;margin-top:4px;font-weight:700}.assessment-diff.down{color:#72d99a}.assessment-diff.up{color:#ffb3b3}.assessment-diff.neutral{color:var(--muted)}
.assessment-fold-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.assessment-fold-summary>span{font-size:.86rem;min-width:0}
.warning-box{padding:14px 16px;border-radius:14px;background:rgba(255,180,50,.08);border:1px solid rgba(255,180,50,.28);margin:14px 0}
@media(max-width:720px){.assessment-profile{align-items:flex-start;flex-direction:column}.assessment-profile-data{width:100%}.assessment-profile-data>span{flex:1;min-width:130px}.pollock-result{grid-template-columns:1fr}.assessment-date-field{max-width:none;width:100%}.assessment-fold-summary{display:grid;grid-template-columns:1fr}}

/* V46.13.2 — avaliação física visível ao aluno */
.latest-assessment-card{width:100%;display:block;text-align:left;color:inherit;margin:8px 0 20px;cursor:pointer;background:linear-gradient(145deg,rgba(115,12,18,.30),rgba(12,12,12,.96));transition:transform .18s ease,border-color .18s ease}
.latest-assessment-card:not(.empty-assessment):hover{transform:translateY(-1px);border-color:rgba(190,45,52,.55)}
.latest-assessment-card.empty-assessment{cursor:default}
.latest-assessment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.latest-assessment-head h2{margin:5px 0 0}
.assessment-open-arrow{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#f3b7ba;white-space:nowrap;margin-top:4px}
.latest-assessment-summary,.student-assessment-composition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.latest-assessment-summary>span,.student-assessment-composition>span{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:13px}
.latest-assessment-summary small,.student-assessment-composition small{display:block;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;margin-bottom:5px}
.latest-assessment-summary strong,.student-assessment-composition strong{font-size:1.04rem}
.assessment-card-note{margin:12px 0 0;color:var(--muted);font-size:.78rem}
.student-assessment-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.student-assessment-composition{margin-top:0;min-width:min(100%,470px)}
.assessment-method-note{color:var(--muted);font-size:.73rem;line-height:1.5;margin:10px 2px 24px}
.student-evolution-charts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:720px){.latest-assessment-head,.student-assessment-detail-head{flex-direction:column}.latest-assessment-summary,.student-assessment-composition,.student-evolution-charts{grid-template-columns:1fr}.student-assessment-composition{width:100%}.assessment-open-arrow{margin-top:0}}

/* V46.14 — Secretária IA / WhatsApp */
.secretaria-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}
.secretaria-status{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.8rem;letter-spacing:.08em;white-space:nowrap}.status-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.secretaria-stack{display:grid;gap:12px}.secretaria-pending-card,.secretaria-conversation,.secretaria-row{border:1px solid var(--line,rgba(255,255,255,.12));border-radius:16px;padding:14px;background:rgba(255,255,255,.025)}
.secretaria-pending-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.secretaria-pending-card strong{display:block;margin:5px 0 7px}.secretaria-pending-card p,.secretaria-row p{margin:5px 0;color:var(--muted,#9ca3af)}.secretaria-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.secretaria-conv-head,.secretaria-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.secretaria-conv-head strong,.secretaria-conv-head small,.secretaria-row strong,.secretaria-row small{display:block}.secretaria-bubbles{display:grid;gap:7px;margin-top:12px}.secretaria-bubble{max-width:88%;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.06)}.secretaria-bubble.out{margin-left:auto;background:rgba(212,175,55,.13);border:1px solid rgba(212,175,55,.22)}.secretaria-bubble span,.secretaria-bubble small{display:block}.secretaria-bubble small{font-size:.68rem;opacity:.65;margin-top:4px}
.btn.tiny{padding:7px 10px;font-size:.72rem;min-height:auto}.dashboard-stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.secretaria-hero,.secretaria-pending-card,.secretaria-row{flex-direction:column}.secretaria-actions{justify-content:flex-start}.dashboard-stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}.secretaria-bubble{max-width:96%}}
@media(max-width:560px){.dashboard-stats.four{grid-template-columns:1fr}.secretaria-status{white-space:normal}}


/* V46.15.2 — mensagem de aniversário para aluno ativo */
.birthday-backdrop{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:birthdayFadeIn .22s ease-out}
.birthday-modal{position:relative;isolation:isolate;overflow:hidden;width:min(520px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:34px 30px 28px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(155deg,#171717 0%,#0d0d0d 58%,#22090b 100%);box-shadow:0 30px 90px rgba(0,0,0,.62),0 0 0 1px rgba(214,31,38,.09);text-align:center;animation:birthdayPopIn .32s cubic-bezier(.2,.8,.2,1)}
.birthday-modal>*:not(.birthday-glow):not(.birthday-confetti){position:relative;z-index:2}
.birthday-glow{position:absolute;border-radius:50%;filter:blur(6px);opacity:.42;z-index:0;pointer-events:none}.birthday-glow-one{width:230px;height:230px;right:-115px;top:-105px;background:radial-gradient(circle,rgba(226,32,40,.48),rgba(226,32,40,0) 70%)}.birthday-glow-two{width:200px;height:200px;left:-110px;bottom:-100px;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,0) 70%)}
.birthday-logo{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);box-shadow:0 0 0 8px rgba(255,255,255,.018)}.birthday-logo img{width:62%;height:auto;display:block}
.birthday-kicker{color:#ef4444;letter-spacing:.18em;margin-bottom:8px}.birthday-modal h2{margin:0;font-size:clamp(28px,6vw,40px);line-height:1.06;color:#fff}.birthday-age{display:inline-flex;margin:12px auto 10px;padding:7px 13px;border-radius:999px;border:1px solid rgba(239,68,68,.32);background:rgba(239,68,68,.10);font-size:.78rem;font-weight:900;letter-spacing:.1em;color:#ffb8bb}
.birthday-modal p{margin:14px auto 0;max-width:430px;color:#d6d6d6;font-size:.98rem;line-height:1.65}.birthday-modal p strong{color:#fff}.birthday-signature{margin:18px 0 22px;color:#bdbdbd;font-size:.9rem;line-height:1.5}.birthday-signature strong{color:#fff;font-size:1rem}.birthday-close{width:100%;min-height:52px}
.birthday-confetti{position:absolute;inset:0;z-index:1;pointer-events:none}.birthday-confetti i{position:absolute;width:6px;height:14px;border-radius:3px;background:#e5252d;opacity:.62;transform:rotate(22deg)}.birthday-confetti i:nth-child(1){left:10%;top:12%;transform:rotate(-25deg)}.birthday-confetti i:nth-child(2){left:20%;top:22%;background:#fff;transform:rotate(48deg);opacity:.35}.birthday-confetti i:nth-child(3){right:12%;top:18%;transform:rotate(30deg)}.birthday-confetti i:nth-child(4){right:23%;top:9%;background:#fff;transform:rotate(-42deg);opacity:.30}.birthday-confetti i:nth-child(5){left:8%;bottom:24%;transform:rotate(55deg)}.birthday-confetti i:nth-child(6){right:9%;bottom:18%;background:#fff;transform:rotate(15deg);opacity:.28}.birthday-confetti i:nth-child(7){left:26%;bottom:10%;transform:rotate(-48deg)}.birthday-confetti i:nth-child(8){right:28%;bottom:8%;transform:rotate(65deg)}
@keyframes birthdayFadeIn{from{opacity:0}to{opacity:1}}@keyframes birthdayPopIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){.birthday-backdrop{padding:14px}.birthday-modal{padding:28px 20px 22px;border-radius:24px}.birthday-logo{width:72px;height:72px;margin-bottom:16px}.birthday-modal p{font-size:.92rem}.birthday-close{min-height:50px}}

/* V46.15.3 — Avisos gerais para alunos */
.general-announcement-backdrop{position:fixed;inset:0;z-index:99998;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.84);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:birthdayFadeIn .22s ease-out}
.general-announcement-modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(155deg,#171717 0%,#0c0c0c 68%,#19090a 100%);box-shadow:0 30px 90px rgba(0,0,0,.65);animation:birthdayPopIn .28s cubic-bezier(.2,.8,.2,1)}
.general-announcement-image{width:100%;max-height:330px;overflow:hidden;background:#080808}.general-announcement-image img{display:block;width:100%;height:100%;max-height:330px;object-fit:cover}
.general-announcement-body{padding:30px;text-align:center}.general-announcement-kicker{color:#ef4444;letter-spacing:.16em;margin-bottom:8px}.general-announcement-modal h2{margin:0;color:#fff;font-size:clamp(27px,6vw,38px);line-height:1.08}.general-announcement-message{margin:17px auto 0;max-width:470px;color:#dedede;line-height:1.68;font-size:.98rem;white-space:normal}.general-announcement-signature{margin:20px 0;color:#fff;font-weight:800}.general-announcement-close{width:100%;min-height:52px}
.announcement-manager-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.announcement-manager-badge{display:inline-flex;align-items:center;padding:10px 13px;border-radius:999px;border:1px solid rgba(239,68,68,.25);background:rgba(239,68,68,.08);font-size:.75rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.announcement-history-card{display:flex;gap:18px;align-items:stretch;margin-bottom:14px}.announcement-history-card.active{border-color:rgba(34,197,94,.22)}.announcement-history-card.scheduled{border-color:rgba(234,179,8,.22)}.announcement-history-card.ended{opacity:.82}.announcement-history-thumb{width:180px;min-height:150px;object-fit:cover;border-radius:14px;background:#080808}.announcement-history-copy{flex:1;min-width:0}.announcement-history-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.announcement-history-top h3{margin:6px 0 0}.announcement-history-top>strong{font-size:.78rem;color:var(--muted);white-space:nowrap}.announcement-history-copy p{color:#d7d7d7;line-height:1.55;margin:12px 0}.announcement-history-copy>small{display:block;color:var(--muted);line-height:1.5}.announcement-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.65rem;font-weight:900;letter-spacing:.08em}.announcement-status.active{color:#86efac;background:rgba(34,197,94,.11);border:1px solid rgba(34,197,94,.22)}.announcement-status.scheduled{color:#fde68a;background:rgba(234,179,8,.10);border:1px solid rgba(234,179,8,.23)}.announcement-status.ended{color:#b7b7b7;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}.announcement-history-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
@media(max-width:720px){.general-announcement-backdrop{padding:14px}.general-announcement-body{padding:24px 20px}.general-announcement-modal{border-radius:24px}.announcement-manager-hero,.announcement-history-card,.announcement-history-top{flex-direction:column}.announcement-manager-badge{white-space:normal}.announcement-history-thumb{width:100%;height:210px}.announcement-history-top>strong{white-space:normal}}

/* V46.15.5 — gerenciamento de mensagens */
.btn.danger{background:#3a1111;border-color:#7a2b2b;color:#ffdede}.btn.danger:hover{background:#501717;border-color:#a63d3d}.message-thread-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.message-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:10px 12px;border:1px solid #5d2b2b;border-radius:12px;background:#180d0d}.message-selection-bar>div{display:flex;gap:8px;flex-wrap:wrap}.message-bubble-wrap{display:flex;align-items:center;gap:8px}.message-bubble-wrap.selecting{padding:2px 0}.message-select-box{display:grid;place-items:center;flex:0 0 26px}.message-select-box input{width:18px;height:18px;accent-color:var(--red)}
@media(max-width:720px){.message-thread-head{align-items:flex-start}.message-thread-actions{width:100%;justify-content:flex-start}.message-selection-bar{align-items:stretch;flex-direction:column}.message-selection-bar>div{display:grid;grid-template-columns:1fr}.message-bubble-wrap{gap:6px}.message-select-box{flex-basis:22px}}

/* V46.15.8 — Planos de Consultoria Online */
.tier-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:950;letter-spacing:.85px;border:1px solid;text-transform:uppercase}.tier-badge.essential{color:#e4e4e4;border-color:#555;background:#181818}.tier-badge.performance{color:#ffd0d0;border-color:#8a3030;background:#2b1010}.tier-badge.premium{color:#ffe7a3;border-color:#806728;background:#241f0d}.tier-badge.personal{color:#d8f0ff;border-color:#335f78;background:#10202a}.identity-plan-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px}.identity-service-label{color:var(--muted);font-size:11px}.student-plan-level-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 18px;padding:17px 18px;border-radius:20px;border:1px solid var(--border);background:linear-gradient(135deg,#151515,#0c0c0c)}.student-plan-level-card.performance{border-color:rgba(227,33,33,.42);box-shadow:inset 4px 0 0 var(--red)}.student-plan-level-card.premium{border-color:rgba(204,164,56,.45);box-shadow:inset 4px 0 0 #caa438}.student-plan-level-card.essential{box-shadow:inset 4px 0 0 #777}.student-plan-level-card h3{margin:5px 0 3px;font-size:22px}.student-plan-level-card p{margin:0;color:var(--muted);font-size:13px}.student-plan-level-card .btn{margin:0;white-space:nowrap}.plan-locked-tile{border-style:dashed!important;opacity:.86}.tile-lock-label,.tile-plan-name{font-size:9px;font-weight:900;letter-spacing:.7px;color:#c9c9c9}.plan-tile{border-color:rgba(227,33,33,.35)!important}.my-plan-hero{padding:24px;border-radius:22px;margin:10px 0 16px;border:1px solid var(--border);background:linear-gradient(135deg,#161616,#0b0b0b)}.my-plan-hero.performance{border-color:#763030;background:linear-gradient(135deg,#2c1111,#0b0b0b)}.my-plan-hero.premium{border-color:#78652d;background:linear-gradient(135deg,#28220f,#0b0b0b)}.my-plan-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.my-plan-title h1{margin:5px 0;font-size:32px}.my-plan-hero p{color:var(--muted);margin-bottom:0}.plan-feature-list{display:grid;gap:0;padding:4px 18px}.plan-feature-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.07)}.plan-feature-row:last-child{border-bottom:0}.plan-feature-row>span{font-size:16px}.plan-feature-row strong{display:block;font-size:13px}.plan-feature-row small{display:block;color:var(--muted);margin-top:3px}.plan-feature-row.off{opacity:.58}.plan-locked-panel{max-width:650px;margin:34px auto;text-align:center;padding:28px}.plan-lock-icon{font-size:42px;margin-bottom:10px}.plan-locked-panel .info-box{text-align:left}.plan-locked-panel .btn{max-width:360px;margin-left:auto;margin-right:auto}
@media(max-width:620px){.student-plan-level-card{align-items:stretch;flex-direction:column}.student-plan-level-card .btn{width:100%}.my-plan-title h1{font-size:27px}}

/* V46.15.12 — login mais limpo */
.password-eye-btn{position:absolute;right:9px;top:50%;z-index:1;transform:translateY(-50%);width:38px;height:38px;padding:7px;border:1px solid #666;border-radius:10px;background:#292929;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:1;visibility:visible}
.password-eye-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-eye-btn:hover{color:#fff;border-color:#ff626a;background:#413032}.password-eye-btn:focus-visible{outline:2px solid #ff626a;outline-offset:2px}
.remember-access-check{appearance:none;-webkit-appearance:none;width:19px;height:19px;border:2px solid #111;border-radius:4px;background:#fff;display:grid;place-content:center;cursor:pointer;flex:0 0 auto}
.remember-access-check:checked{background:#111;border-color:#111}
.remember-access-check:checked::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}

/* V46.15.15 — acompanhamento ativo de alunos sem treino */
.dashboard-stat-button{appearance:none;-webkit-appearance:none;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.dashboard-stat-button:hover{border-color:rgba(239,68,68,.55);background:#131313;transform:translateY(-1px)}
.inactive-students-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.84);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.inactive-students-modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:#0d0d0d;box-shadow:0 30px 90px rgba(0,0,0,.65);padding:24px}
.inactive-students-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.inactive-students-title h2{margin:5px 0 6px}.inactive-modal-close{flex:0 0 40px;width:40px;height:40px;border:1px solid #343434;border-radius:12px;background:#171717;color:#fff;font-size:28px;line-height:1;cursor:pointer}.inactive-students-list{display:grid;gap:14px}.inactive-contact-card{border:1px solid #2a2a2a;border-radius:18px;background:#111;padding:18px}.inactive-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.inactive-contact-head h3{margin:4px 0}.inactive-contact-head small{color:var(--muted)}.inactive-message-label{display:block;font-size:.75rem;font-weight:900;letter-spacing:.07em;margin:3px 0 7px;color:#ddd}.inactive-message-text{min-height:132px;line-height:1.5}.inactive-contact-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.inactive-whatsapp-btn{background:#1f8f4e;border-color:#1f8f4e}.inactive-whatsapp-btn:hover{background:#197a42;border-color:#197a42}
@media(max-width:640px){.inactive-students-backdrop{padding:10px}.inactive-students-modal{padding:17px;border-radius:20px;max-height:calc(100vh - 20px)}.inactive-students-title,.inactive-contact-head{flex-direction:column}.inactive-modal-close{position:absolute;right:22px;top:22px}.inactive-students-title{padding-right:50px}.inactive-contact-actions .btn{width:100%}}

/* V47.15 — cards funcionais do painel: treinos de hoje e pagamentos pendentes */
.dashboard-contact-actions{flex-wrap:wrap}.dashboard-message-text{min-height:104px}.payment-blocked-card .inactive-contact-head{align-items:center}.payment-block-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:end;margin:12px 0 15px;padding:14px;border:1px solid #2b2b2b;border-radius:14px;background:#0b0b0b}.payment-block-summary span{grid-column:1/-1;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.payment-block-summary strong{min-width:0}.payment-block-summary b{font-size:1.08rem;color:#fff}.payment-dashboard-actions{justify-content:flex-end}
@media(max-width:640px){.dashboard-contact-actions,.payment-dashboard-actions{display:grid;grid-template-columns:1fr}.dashboard-contact-actions .btn,.payment-dashboard-actions .btn{width:100%}.payment-block-summary{grid-template-columns:1fr}.payment-block-summary b{margin-top:5px}}

/* V47.16 — revisão da agenda em lote */
.batch-review{padding:16px;border-style:solid}.batch-review-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.batch-review-head strong,.batch-review-head small{display:block}.batch-review-total{text-align:right}.batch-review-total small{display:block;color:var(--muted);font-size:10px}.batch-review-total strong{font-size:25px;color:#fff}.batch-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.batch-date-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #3d3d3d;border-radius:13px;background:#101010}.batch-date-card>div small,.batch-date-card>div span{display:block;color:var(--muted);font-size:10px}.batch-date-card>div strong{display:block;margin:3px 0;color:#fff;font-size:14px}.batch-date-card.removed{opacity:.48;border-style:dashed}.danger-outline{border-color:rgba(227,33,33,.65)!important;color:#fff!important;background:rgba(98,15,15,.26)!important}.student-payment-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.batch-review-head{align-items:flex-start;flex-direction:column}.batch-review-total{text-align:left}.batch-date-grid{grid-template-columns:1fr}.batch-date-card{align-items:center}.student-payment-actions{display:grid;width:100%;grid-template-columns:1fr}.student-payment-actions .btn{width:100%}}

/* V47.18 — Anamnese integrada */
.anam-status-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0 18px;padding:18px 20px;border:1px solid #343434;border-radius:20px;background:linear-gradient(135deg,#151515,#0b0b0b)}.anam-status-card h2,.anam-status-card h3{margin:5px 0}.anam-status-card p{margin:4px 0 0;color:var(--muted);line-height:1.5}.anam-status-card.pending{border-color:rgba(239,68,68,.5);box-shadow:inset 4px 0 0 #ef4444}.anam-status-card.submitted{border-color:rgba(234,179,8,.45);box-shadow:inset 4px 0 0 #d6a928}.anam-status-card.reviewed{border-color:rgba(34,197,94,.35);box-shadow:inset 4px 0 0 #22c55e}
.anam-gate-shell{padding-top:30px;padding-bottom:30px}.anam-gate-card{max-width:720px}.anam-gate-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.anam-gate-steps span{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #303030;border-radius:14px;background:#101010;color:#ddd;font-size:.78rem;line-height:1.35}.anam-gate-steps b{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#b91c1c;color:#fff}
.anam-form-hero{margin:8px 0 14px;padding:22px;border:1px solid #343434;border-radius:22px;background:linear-gradient(145deg,#1a0d0e,#0d0d0d)}.anam-form-hero h1{margin:6px 0}.anam-form-hero p{color:#d1d1d1;line-height:1.55}.anam-progress{height:8px;border-radius:999px;background:#292929;overflow:hidden;margin:18px 0 7px}.anam-progress span{display:block;height:100%;width:14.28%;border-radius:999px;background:#ef3038;transition:width .22s ease}.anam-form-hero>small{color:var(--muted);font-weight:800}.anam-form{padding:22px}.anam-step{display:none}.anam-step.active{display:block;animation:anamStepIn .18s ease}.anam-step h2{margin:6px 0 18px}.anam-step .field{margin-bottom:15px}.anam-step .textarea{min-height:100px}.anam-form-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #292929}.anam-form-nav .btn{margin:0;min-width:145px}.anam-warning{margin:0 0 18px;padding:13px 14px;border:1px solid rgba(234,179,8,.28);border-radius:14px;background:rgba(234,179,8,.07);color:#e5d9ad;font-size:.78rem;line-height:1.5}.anam-confirm{display:flex;gap:11px;align-items:flex-start;margin:18px 0 4px;padding:14px;border:1px solid #343434;border-radius:14px;background:#101010;color:#ddd;line-height:1.45}.anam-confirm input{width:20px;height:20px;margin-top:1px;accent-color:#ef3038;flex:0 0 auto}
.anam-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.62rem;font-weight:950;letter-spacing:.07em;border:1px solid #444;margin-bottom:6px}.anam-status.pending{color:#ffc1c4;border-color:#7c2d32;background:#2b1113}.anam-status.submitted{color:#ffe8a6;border-color:#6f5b22;background:#28210c}.anam-status.reviewed{color:#bff3cf;border-color:#27623a;background:#0e2617}.anam-answer-group{margin:0 0 16px;border:1px solid #2d2d2d;border-radius:16px;overflow:hidden}.anam-answer-group h3{margin:0;padding:13px 15px;background:#151515;border-bottom:1px solid #2d2d2d;font-size:.9rem}.anam-answer-row{padding:12px 15px;border-bottom:1px solid #242424}.anam-answer-row:last-child{border-bottom:0}.anam-answer-row small{display:block;color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.04em;margin-bottom:5px}.anam-answer-row strong{display:block;white-space:pre-wrap;line-height:1.5;font-size:.88rem}.anam-history-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:15px 16px;border:1px solid #303030;border-radius:16px;background:#101010}.anam-history-card>div strong,.anam-history-card>div small{display:block}.anam-history-card>div small{color:var(--muted);margin-top:3px}.anam-coach-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}.anam-coach-actions .btn{margin:0}.coach-anam-note{margin-top:18px}.anam-success-card{max-width:620px;text-align:center}.anam-success-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:#15351f;border:1px solid #2f7b47;color:#a9efbd;font-size:34px;font-weight:900}
@keyframes anamStepIn{from{opacity:.35;transform:translateX(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){.anam-status-card{align-items:stretch;flex-direction:column}.anam-status-card .btn{width:100%}.anam-gate-steps{grid-template-columns:1fr}.anam-form{padding:17px}.anam-form-hero{padding:18px}.anam-form-nav{display:grid;grid-template-columns:1fr}.anam-form-nav .btn{width:100%}.anam-history-card{align-items:stretch;flex-direction:column}.anam-history-card .btn{width:100%}.anam-coach-actions{display:grid;grid-template-columns:1fr}.anam-coach-actions .btn{width:100%}}

.advance-payment-panel{margin-top:18px}.future-payment-card{border-color:rgba(229,25,32,.35)}.payment-badge.paid{background:rgba(44,180,87,.16);color:#7ee39f;border-color:rgba(44,180,87,.35)}

/* V47.51 — visão de alunos ativos e resolução de alertas de dor */
.active-student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.active-student-tile{appearance:none;width:100%;min-width:0;border:1px solid #2b2b2b;border-radius:18px;background:#111;color:#fff;padding:16px;display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;cursor:pointer;transition:.18s ease}
.active-student-tile:hover{transform:translateY(-2px);border-color:#555;background:#151515}
.active-student-tile .profile-avatar{flex:0 0 auto}
.active-student-info{display:grid;gap:5px;min-width:0;width:100%}.active-student-info strong{font-size:.96rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-student-info small{font-size:.72rem;color:var(--muted);line-height:1.3;text-transform:capitalize}
.pain-alert-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}.pain-alert-item p{margin:8px 0 0;color:#ddd;line-height:1.45}
@media(max-width:900px){.active-student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.active-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.active-student-tile{padding:13px}.pain-alert-actions .btn{flex:1 1 140px}}

/* V47.52 — resumo diário clean e listas recolhíveis */
.coach-dashboard-grid>.panel{padding:18px;background:rgba(12,12,12,.82)}
.coach-dashboard-grid .section-head{margin-bottom:10px}
.quick-student-grid{gap:7px}
.dashboard-collapsible-item{display:block}
.dashboard-collapsible-item.hidden{display:none!important}
.quick-student-card{border-radius:12px;padding:12px 13px;background:#0d0d0d;border-color:#242424;box-shadow:none}
.quick-student-card.warning{background:#120d0d;border-color:#3e2222}
.quick-student-card .kicker{font-size:9px;letter-spacing:1px}
.quick-student-card strong{font-size:14px;margin:2px 0}
.quick-student-card small{font-size:11px}
.dashboard-show-more{width:100%;margin-top:8px;min-height:38px;border:1px solid #292929;border-radius:11px;background:#0b0b0b;color:#bdbdbd;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.8px;cursor:pointer}
.dashboard-show-more:hover{border-color:#4a4a4a;color:#fff}
.dashboard-show-more b{font-size:18px;line-height:1;color:#ef3d3d;font-weight:600}
.activity-feed .dashboard-show-more{margin:8px 0 10px}
.activity-feed .activity-row{padding:11px 0}
@media(max-width:900px){.coach-dashboard-grid>.panel{padding:15px}.dashboard-show-more{min-height:42px}}

/* V47.53 — ciclos arquivados compactos + modelos dentro de ciclos */
.archived-cycle-compact{padding:14px 16px;background:#0b0b0b;border-color:#252525;box-shadow:none}
.archived-cycle-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}
.archived-cycle-summary h3{margin:4px 0 3px;font-size:17px}.archived-cycle-summary p{margin:0;color:var(--muted);font-size:12px}
.archived-cycle-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.legacy-workout-panel{border-color:rgba(239,68,68,.28)}.legacy-workout-names{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.legacy-workout-names span{padding:7px 9px;border:1px solid #303030;border-radius:999px;background:#101010;color:#d7d7d7;font-size:11px}
@media(max-width:720px){.archived-cycle-summary{align-items:flex-start;flex-direction:column}.archived-cycle-actions{width:100%;justify-content:flex-start}.archived-cycle-actions .btn{flex:1}.legacy-workout-panel .section-head{align-items:stretch;flex-direction:column}.legacy-workout-panel .section-head .btn{width:100%}}

/* V47.56 — revisão visual em calendário na agenda em lote */
.batch-calendar-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.batch-month{border:1px solid #2e2e2e;border-radius:16px;background:#0b0b0b;padding:13px}
.batch-month-title{font-size:12px;font-weight:900;letter-spacing:.9px;color:#fff;margin-bottom:10px}
.batch-cal-weekdays,.batch-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.batch-cal-weekdays{margin-bottom:5px}.batch-cal-weekdays span{text-align:center;color:#777;font-size:9px;font-weight:900}
.batch-cal-day{position:relative;aspect-ratio:1/1;min-height:38px;border:1px solid #242424;border-radius:10px;background:#101010;color:#aaa;display:grid;place-items:center;cursor:pointer;font-weight:800;font-size:12px;transition:.15s ease}
.batch-cal-day:hover:not(:disabled){border-color:#555;background:#151515;color:#fff}.batch-cal-day.out,.batch-cal-day.empty{opacity:.18;cursor:default}.batch-cal-day.empty{border-color:transparent;background:transparent}
.batch-cal-day.auto{border-color:#4d3434}.batch-cal-day.selected{background:linear-gradient(145deg,#7d1518,#b3171d);border-color:#d82b31;color:#fff;box-shadow:0 4px 14px rgba(170,20,25,.22)}
.batch-cal-day i{position:absolute;right:4px;top:3px;font-size:8px;font-style:normal;color:#fff}.batch-cal-day span{line-height:1}
.batch-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:10px}.batch-calendar-legend span{display:flex;align-items:center;gap:6px}.batch-calendar-legend .dot{width:9px;height:9px;border-radius:50%;background:#242424;border:1px solid #3b3b3b}.batch-calendar-legend .dot.auto{background:#221515;border-color:#684040}.batch-calendar-legend .dot.selected{background:#b3171d;border-color:#d82b31}
@media(max-width:760px){.batch-calendar-wrap{grid-template-columns:1fr}.batch-cal-day{min-height:42px;font-size:13px}.weekday-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V47.57 — descanso premium em estilo painel esportivo */
.rest-timer-backdrop{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.rest-timer.rest-timer-premium{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:9999;width:min(calc(100% - 28px),620px);display:grid;grid-template-columns:1fr;align-items:center;justify-items:stretch;gap:18px;padding:30px 28px 26px;border:1px solid rgba(255,46,46,.72);border-radius:26px;background:linear-gradient(165deg,rgba(18,18,19,.99),rgba(5,5,5,.995));box-shadow:0 30px 90px rgba(0,0,0,.78),0 0 42px rgba(227,33,33,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-align:center;overflow:hidden}
.rest-timer.rest-timer-premium::before{content:"";position:absolute;inset:-45% -20% auto;height:68%;background:radial-gradient(circle,rgba(227,33,33,.16),transparent 65%);pointer-events:none}
.rest-timer-premium>*{position:relative;z-index:1}
.rest-eyebrow{font-size:15px;font-weight:950;letter-spacing:2.2px;color:#fff;text-transform:uppercase}
.rest-time{display:block!important;font-size:clamp(72px,18vw,132px)!important;line-height:.92!important;font-weight:1000;letter-spacing:-5px;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 10px 35px rgba(255,255,255,.08)}
.rest-progress{height:16px;border-radius:999px;background:#222;border:1px solid rgba(255,255,255,.12);overflow:hidden;box-shadow:inset 0 2px 8px rgba(0,0,0,.7)}
.rest-progress i{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#ff1717,#e32121);box-shadow:0 0 24px rgba(255,20,20,.6);transition:width .45s linear}
.rest-series{font-size:17px;font-weight:850;color:#f2f2f2;letter-spacing:.2px}
.rest-next{font-size:12px!important;color:#aaa!important;font-weight:750;letter-spacing:.5px;text-transform:uppercase}
.rest-timer-premium .rest-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.rest-timer-premium .rest-actions button{min-height:58px;border-radius:16px!important;font-size:13px!important;font-weight:950!important;letter-spacing:.7px;padding:12px 14px!important;cursor:pointer;transition:transform .14s ease,filter .14s ease,border-color .14s ease}
.rest-timer-premium .rest-actions button:active{transform:scale(.98)}
.rest-timer-premium .rest-add{background:linear-gradient(135deg,#511010,#260707)!important;border:1px solid #e32121!important;color:#fff!important;box-shadow:0 12px 28px rgba(227,33,33,.12)}
.rest-timer-premium .rest-skip{background:#121212!important;border:1px solid #484848!important;color:#fff!important}
.rest-timer.done.rest-timer-premium{min-height:280px;place-content:center;border-color:#3d853f;box-shadow:0 30px 90px rgba(0,0,0,.78),0 0 35px rgba(70,170,75,.18)}
.rest-timer.done.rest-timer-premium .rest-eyebrow{color:#77d67a}.rest-timer.done.rest-timer-premium .rest-time{color:#fff!important}.rest-timer.done.rest-timer-premium .rest-series{color:#9be39d}
@media(max-width:700px){.rest-timer.rest-timer-premium{width:calc(100% - 22px);padding:26px 20px 22px;border-radius:24px;gap:16px}.rest-time{font-size:clamp(70px,24vw,108px)!important}.rest-timer-premium .rest-actions{grid-template-columns:1fr}.rest-timer-premium .rest-actions button{min-height:54px}.rest-eyebrow{font-size:13px}.rest-series{font-size:15px}}
@media(max-height:650px){.rest-timer.rest-timer-premium{gap:10px;padding:18px 20px}.rest-time{font-size:64px!important}.rest-progress{height:11px}.rest-timer-premium .rest-actions button{min-height:46px}}

/* V47.58 — timer de descanso circular escolhido pelo Everton */
.rest-timer-backdrop-v58{background:rgba(0,0,0,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.rest-timer.rest-timer-v58{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:9999;width:min(calc(100% - 26px),520px);display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 22px 20px;border:0;border-radius:28px;background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(4,4,4,.995));box-shadow:0 30px 85px rgba(0,0,0,.8),0 0 50px rgba(255,20,28,.1);overflow:hidden;text-align:center}
.rest-timer-v58::before{content:"";position:absolute;inset:-30% -15% auto;height:58%;background:radial-gradient(circle,rgba(255,21,29,.16),transparent 66%);pointer-events:none}.rest-timer-v58>*{position:relative;z-index:1}
.rest-v58-circle{--rest-progress:100%;width:min(76vw,330px);aspect-ratio:1;border-radius:50%;padding:12px;background:conic-gradient(from -145deg,#ff242d 0 var(--rest-progress),#2c2c2e var(--rest-progress) 100%);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 30px rgba(255,25,32,.22),inset 0 0 22px rgba(0,0,0,.38);transition:background .2s linear}
.rest-v58-circle-inner{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#151515 0,#090909 56%,#030303 100%);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 24px rgba(255,255,255,.025),0 0 0 7px rgba(0,0,0,.2)}
.rest-v58-hourglass{font-size:24px;line-height:1;color:#ff2931;filter:saturate(1.4);margin-bottom:8px}.rest-v58-label{font-size:12px;font-weight:900;letter-spacing:4px;color:#f0f0f0}.rest-v58-time{display:block;font-size:clamp(58px,18vw,94px);line-height:.95;font-weight:1000;letter-spacing:-3px;color:#fff;font-variant-numeric:tabular-nums;margin:9px 0 7px;text-shadow:0 5px 20px rgba(255,255,255,.08)}
.rest-v58-subtitle{font-size:10px;font-weight:800;letter-spacing:4px;color:#aaa}.rest-v58-accent{display:block;width:38px;height:3px;background:#ff1e26;border-radius:999px;margin-top:12px;box-shadow:0 0 12px rgba(255,30,38,.55)}
.rest-v58-controls{display:grid;grid-template-columns:1fr 92px 1fr;gap:14px;width:100%;align-items:center}.rest-v58-controls button{cursor:pointer;-webkit-tap-highlight-color:transparent}.rest-v58-adjust{height:66px;border-radius:15px;border:1px solid #3a3a3d;background:linear-gradient(180deg,#121212,#0b0b0b);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.rest-v58-adjust b{font-size:30px;line-height:1;color:#ff222b}.rest-v58-adjust span{font-size:17px}.rest-v58-minus b{font-size:32px}.rest-v58-pause{width:92px;height:92px;border-radius:50%;border:3px solid #ff2028;background:radial-gradient(circle,#ef2028 0,#c80e15 58%,#6f070b 100%);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 7px #0d0d0d,0 0 0 9px #ad1218,0 0 28px rgba(255,25,32,.38)}.rest-v58-pause span{font-size:32px;font-weight:1000;line-height:1;transform:translateY(-1px)}.rest-timer-v58.paused .rest-v58-pause{background:radial-gradient(circle,#151515,#090909);box-shadow:0 0 0 7px #0d0d0d,0 0 0 9px #ff2028,0 0 24px rgba(255,25,32,.25)}
.rest-v58-skip{width:100%;height:58px;border-radius:13px;border:1.5px solid #ff2028;background:linear-gradient(180deg,rgba(95,8,12,.78),rgba(40,5,7,.84));color:#fff;font-size:14px;font-weight:1000;letter-spacing:.6px}.rest-v58-skip span{color:#ff2028;font-size:20px;margin-right:9px}.rest-v58-series{font-size:12px;font-weight:800;color:#8d8d8f;letter-spacing:.3px;margin-top:-2px}
.rest-v58-done{min-height:260px;justify-content:center;border:1px solid rgba(82,184,86,.55)!important}.rest-v58-done-label{font-size:13px;font-weight:950;letter-spacing:2px;color:#8ee192}.rest-v58-done-time{font-size:72px;line-height:1;color:#fff}.rest-v58-done-text{font-size:18px;font-weight:950;color:#b8efba}
@media(max-width:700px){.rest-timer.rest-timer-v58{width:calc(100% - 20px);padding:19px 16px 18px;border-radius:24px;gap:14px}.rest-v58-circle{width:min(74vw,300px);padding:10px}.rest-v58-time{font-size:clamp(56px,19vw,84px)}.rest-v58-controls{grid-template-columns:1fr 80px 1fr;gap:11px}.rest-v58-pause{width:80px;height:80px}.rest-v58-adjust{height:58px}.rest-v58-adjust b{font-size:26px}.rest-v58-adjust span{font-size:15px}.rest-v58-skip{height:54px}}
@media(max-height:690px){.rest-timer.rest-timer-v58{gap:9px;padding:12px 16px}.rest-v58-circle{width:min(58vh,250px);padding:8px}.rest-v58-time{font-size:62px}.rest-v58-controls{grid-template-columns:1fr 66px 1fr}.rest-v58-pause{width:66px;height:66px}.rest-v58-pause span{font-size:25px}.rest-v58-adjust{height:49px}.rest-v58-skip{height:48px}.rest-v58-series{display:none}}

/* V47.60 — timer pode ser minimizado sem interromper a contagem */
.rest-v58-minimize{position:absolute;right:16px;top:14px;z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(28,28,30,.86);color:#ddd;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.rest-v58-minimize:active{transform:scale(.96)}
.rest-timer-mini{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9997;width:min(calc(100% - 24px),620px);min-height:72px;display:grid;grid-template-columns:46px 1fr 34px;gap:11px;align-items:center;padding:12px 14px;border:1px solid rgba(255,45,52,.72);border-radius:18px;background:linear-gradient(180deg,rgba(17,17,18,.98),rgba(7,7,8,.99));box-shadow:0 18px 48px rgba(0,0,0,.58),0 0 24px rgba(255,30,38,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;-webkit-tap-highlight-color:transparent}
.rest-timer-mini:active{transform:translateX(-50%) scale(.99)}
.rest-timer-mini-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,31,40,.12);border:1px solid rgba(255,37,46,.38);font-size:22px}
.rest-timer-mini-main{min-width:0}.rest-timer-mini-main>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rest-timer-mini-main strong{font-size:12px;letter-spacing:1.8px;color:#fff}.rest-timer-mini-main span{font-size:24px;font-weight:950;color:#ff343b;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.rest-timer-mini-track{height:5px;border-radius:999px;background:#2b2b2d;overflow:hidden;margin-top:8px}.rest-timer-mini-track i{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#ff242d,#e31820);box-shadow:0 0 12px rgba(255,25,32,.45);transition:width .2s linear}
.rest-timer-mini-open{font-size:25px;color:#ddd;text-align:center;transform:translateY(2px)}
@media(max-width:700px){.rest-v58-minimize{right:12px;top:10px;width:38px;height:38px;font-size:27px}.rest-timer-mini{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 16px);min-height:66px;padding:10px 12px;border-radius:16px;grid-template-columns:42px 1fr 30px}.rest-timer-mini-icon{width:38px;height:38px;font-size:20px}.rest-timer-mini-main span{font-size:22px}}

/* V47.61 — Avaliação 2.0 integrada à alimentação */
.assessment-v2{overflow:hidden}.assessment-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 22px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0d0d0e}.assessment-tab{appearance:none;border:1px solid transparent;background:transparent;color:#aaa;padding:11px 16px;border-radius:11px;font-size:12px;font-weight:950;letter-spacing:1px;cursor:pointer}.assessment-tab.active{background:linear-gradient(180deg,#291010,#160707);border-color:#9b1d22;color:#fff;box-shadow:0 8px 22px rgba(220,20,28,.12)}.assessment-tab-panel{display:none}.assessment-tab-panel.active{display:block;animation:assessmentTabIn .18s ease}.assessment-group{margin:0 0 22px}.assessment-group>h3{margin:0 0 14px}.assessment-v2 .textarea{min-height:92px}.assessment-v2 input:disabled{opacity:.88;color:#ddd;background:#111}.assessment-summary-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.assessment-summary-chips span{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,59,65,.28);background:rgba(255,35,43,.08);font-size:12px;font-weight:800;color:#eee}.assessment-context-grid,.assessment-history-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.assessment-context-grid>div,.assessment-history-context>span{display:flex;flex-direction:column;gap:5px;padding:12px 13px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#0c0c0d}.assessment-context-grid small,.assessment-history-context small{color:#ff555a;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.assessment-context-grid strong,.assessment-history-context strong{font-size:13px;line-height:1.45;white-space:pre-wrap}.assessment-nutrition-summary{border-color:rgba(255,49,57,.22)}
@keyframes assessmentTabIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:700px){.assessment-tabs{display:grid;grid-template-columns:1fr 1fr}.assessment-tab{padding:10px 8px}.assessment-context-grid,.assessment-history-context{grid-template-columns:1fr}.assessment-nutrition-summary .section-head{align-items:flex-start}.assessment-nutrition-summary .section-head .btn{width:100%;margin-top:10px}}

/* V47.65 — painel do treinador: programas em lista + editor por fichas */
.program-list-panel{margin:18px 0 24px}.program-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.program-list-head h2{margin:4px 0}.program-list{display:grid;gap:10px}.program-row{border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#111,#0b0b0b);overflow:hidden}.program-row.active{border-color:#7e2424;box-shadow:inset 4px 0 0 var(--red)}.program-row-main{width:100%;display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(4,minmax(100px,.7fr)) 90px;gap:12px;align-items:center;padding:16px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.program-row-main:hover{background:#151515}.program-name small,.program-cell small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1px}.program-name strong,.program-cell strong{display:block;margin-top:4px}.program-name span{display:block;margin-top:5px;color:var(--muted);font-size:11px}.program-open{justify-self:end;color:#fff;font-weight:900;font-size:12px}.program-row-actions{display:flex;gap:7px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);background:#0b0b0b}.program-row-actions .btn{margin:0}.program-summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.program-summary h2{margin:4px 0}.program-summary p{margin:0;color:var(--muted)}.program-summary-count{min-width:90px;text-align:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:#0d0d0d}.program-summary-count small{display:block;color:var(--muted);font-size:10px}.program-summary-count strong{display:block;font-size:26px;margin-top:4px}.program-tabs-wrap{overflow-x:auto;margin:14px 0 12px;padding-bottom:2px}.program-tabs{display:flex;gap:7px;min-width:max-content}.program-tab{min-width:104px;border:1px solid var(--border);border-radius:12px 12px 0 0;background:#101010;color:#aaa;padding:10px 14px;text-align:left;cursor:pointer}.program-tab span{display:block;font-size:18px;font-weight:950;color:#fff}.program-tab small{display:block;margin-top:3px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-tab.active{border-color:var(--red);background:#1b0c0c;box-shadow:inset 0 -3px 0 var(--red);color:#fff}.program-tab.add{min-width:86px;text-align:center;border-style:dashed}.program-workout-panel{padding:0;overflow:hidden}.program-workout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px}.program-workout-head h2{margin:4px 0}.program-workout-head p{margin:5px 0 0}.program-workout-actions{display:flex;gap:8px;flex-wrap:wrap}.program-exercise-table{overflow-x:auto;border-top:1px solid var(--border)}.program-exercise-head,.program-exercise-row{display:grid;grid-template-columns:38px minmax(240px,1.7fr) 78px 90px 100px 100px 92px 150px;gap:8px;align-items:center;min-width:930px}.program-exercise-head{padding:10px 14px;background:#0a0a0a;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.8px}.program-exercise-row{padding:9px 14px;border-top:1px solid rgba(255,255,255,.06)}.program-exercise-row:hover{background:#121212}.program-ex-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#231010;color:#fff;font-weight:900}.program-exercise-row .input{margin:0;min-height:40px}.program-exercise-row .input.compact{padding:9px 8px;text-align:center}.program-ex-actions{display:flex;gap:6px;justify-content:flex-end}.program-ex-actions .btn,.program-ex-actions .icon-btn{margin:0}.quick-exercise-form{padding:16px;border-top:1px solid var(--border);background:#0c0c0c}.quick-ex-title{font-weight:900;font-size:12px;letter-spacing:.8px;margin-bottom:10px}.program-exercise-row.quick{padding:0;border:0;background:transparent}.program-exercise-row.quick:hover{background:transparent}
@media(max-width:900px){.program-row-main{grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(90px,.7fr)) 80px}.program-row-main .program-cell:nth-of-type(3),.program-row-main .program-cell:nth-of-type(5){display:none}.program-open{display:none}.program-workout-head{flex-direction:column}.program-workout-actions{width:100%}.program-workout-actions .btn{flex:1}}
@media(max-width:620px){.program-row-main{grid-template-columns:1fr 95px;padding:14px}.program-row-main .program-cell{display:none!important}.program-row-main .program-cell:nth-of-type(4){display:block!important}.program-row-actions{padding:9px 12px}.program-row-actions .btn{flex:1}.program-summary{align-items:flex-start}.program-summary-count{min-width:76px}.program-tab{min-width:86px;padding:9px 11px}.program-tab small{max-width:90px}.program-workout-panel{margin-left:-2px;margin-right:-2px}}

/* V47.66 — biblioteca integrada e exclusão de fichas somente no painel do treinador */
.program-tab-shell{position:relative;display:flex}.program-tab-shell .program-tab{padding-right:34px}.program-tab-delete{position:absolute;right:6px;top:5px;width:25px;height:25px;border:1px solid #502020;border-radius:7px;background:#220d0d;color:#ff7777;font-weight:900;font-size:20px;line-height:19px;cursor:pointer}.program-tab-delete:hover{background:#ae1717;color:white}.program-ex-name{position:relative;min-width:0}.quick-ex-suggestions{position:absolute;z-index:110;top:43px;left:0;right:0;max-height:280px;overflow:auto;border:1px solid #643030;background:#101010;box-shadow:0 12px 28px #000b;border-radius:9px}.quick-ex-suggestions.hidden{display:none}.quick-ex-option{display:flex;flex-direction:column;text-align:left;gap:3px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #292929;color:white;background:transparent;cursor:pointer}.quick-ex-option:hover,.quick-ex-option:focus{background:#301010}.quick-ex-option small,.quick-ex-selected{color:#a4a4a4;font-size:10px}.quick-ex-selected{display:block;padding:5px 2px}.quick-ex-no-match{padding:10px;color:#aaa;font-size:12px}.quick-exercise-form{overflow:visible}.program-workout-panel{overflow:visible}

/* V47.67 — painel mais limpo, gestão recolhida, avaliação remota e relatório personalizado */
.coach-management-details{padding:0;overflow:hidden}.coach-management-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer}.coach-management-summary::-webkit-details-marker{display:none}.coach-management-summary h2{margin:4px 0}.coach-management-summary p{margin:4px 0 0}.coach-management-toggle{font-size:11px;font-weight:950;letter-spacing:1px;color:#fff;border:1px solid #4a2525;border-radius:999px;padding:8px 12px;background:#1a0b0b}.coach-management-details[open] .coach-management-toggle::after{content:' · FECHAR'}.coach-management-body{padding:0 20px 20px;border-top:1px solid rgba(255,255,255,.07);padding-top:18px}.evolution-source-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.student-self-assessment{border-color:rgba(220,35,42,.26)}.weekly-checkin-intro.goal-hit{border-color:rgba(79,174,88,.45);box-shadow:inset 4px 0 0 #4fae58}.weekly-checkin-done{text-align:center;padding:30px}.report-brand-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.report-brand{display:flex;gap:14px;align-items:center}.report-brand img{width:60px;height:60px;object-fit:contain}.report-brand h1{margin:4px 0;font-size:28px}.report-brand p{margin:0;color:var(--muted)}.report-meta{display:grid;gap:8px;text-align:right}.report-meta span{font-size:11px;color:var(--muted)}.report-meta b{display:block;color:#fff;font-size:12px}.report-personal-note p{line-height:1.65}.report-signature{margin:26px 0 12px;padding-top:18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.report-signature strong{font-size:18px}.report-signature span{font-size:12px;color:var(--muted)}
@media(max-width:700px){.coach-management-summary,.evolution-source-card,.report-brand-head{align-items:flex-start;flex-direction:column}.coach-management-toggle,.evolution-source-card .btn{width:100%;text-align:center}.coach-management-body{padding:16px 14px}.report-meta{text-align:left}.report-brand h1{font-size:23px}}
@media print{.report-customizer{display:none!important}.report-brand-head{border:1px solid #bbb!important}.report-brand img{filter:none!important}.report-signature span{color:#555!important}}

/* V47.71 — ações compactas no topo do aluno + padrão visual no painel principal */
.student-summary{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(640px,1.62fr);
  align-items:start;
  gap:18px;
}
.student-summary>div:first-child{min-width:0}
.student-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 8px}.student-meta-card{padding:9px 11px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));box-shadow:none}.student-meta-card small{display:block;margin-bottom:4px;color:#8e8e8e;font-size:8px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}.student-meta-card strong{display:block;color:#e9e9e9;font-size:12px;line-height:1.15;word-break:break-word}.plan-summary{margin-top:0}
.student-actions{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:0;
  align-self:start;
}
.student-actions .coach-action,
.student-actions a.coach-action{
  width:100%;
  min-width:0;
  min-height:42px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
  line-height:1.05;
  padding:9px 8px;
  border-radius:11px;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.28px;
}

/* Painel principal: mesmo padrão compacto e alinhado */
.coach-dashboard-hero{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(500px,1.3fr);
  align-items:start;
  gap:18px;
}
.coach-dashboard-hero .coach-toolbar-actions{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:0;
  align-items:stretch;
}
.coach-dashboard-hero .coach-toolbar-actions .btn{
  width:100%;
  min-width:0;
  min-height:36px;
  margin:0;
  padding:8px 7px;
  border-radius:10px;
  font-size:9.5px;
  line-height:1.05;
  letter-spacing:.25px;
  white-space:normal;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.coach-dashboard-hero .coach-toolbar-actions .message-badge{flex:0 0 auto}

@media(max-width:980px){
  .student-summary,.coach-dashboard-hero{
    grid-template-columns:1fr;
  }
  .student-actions,.coach-dashboard-hero .coach-toolbar-actions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .student-meta-grid{grid-template-columns:1fr;gap:8px}
  .student-meta-card{padding:10px 11px}
  .student-meta-card strong{font-size:12px}
  .student-actions,.coach-dashboard-hero .coach-toolbar-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .student-actions .coach-action,
  .student-actions a.coach-action,
  .coach-dashboard-hero .coach-toolbar-actions .btn{
    min-height:42px;
    font-size:10px;
    padding:9px 8px;
  }
}



/* V47.73 — hierarquia visual: ações em destaque e dados do aluno compactos */
.student-summary{grid-template-columns:minmax(260px,.72fr) minmax(610px,1.55fr);gap:18px}
.student-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0 8px}
.student-meta-card{padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.025)}
.student-meta-card small{margin-bottom:3px;font-size:7.5px;letter-spacing:.75px}
.student-meta-card strong{font-size:11px;line-height:1.15}
.student-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.student-actions .coach-action,.student-actions a.coach-action{min-height:42px;padding:10px 8px;border-radius:11px;font-size:10.5px;line-height:1.1;letter-spacing:.3px}
.coach-dashboard-hero{grid-template-columns:minmax(260px,.7fr) minmax(620px,1.6fr)}
.coach-dashboard-hero .coach-toolbar-actions{gap:9px}
.coach-dashboard-hero .coach-toolbar-actions .btn{min-height:44px;padding:10px 10px;border-radius:11px;font-size:10.5px;line-height:1.1;letter-spacing:.3px}
@media(max-width:980px){
 .student-summary,.coach-dashboard-hero{grid-template-columns:1fr}
 .student-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .student-actions,.coach-dashboard-hero .coach-toolbar-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
 .student-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:9px 0 10px}
 .student-meta-card{padding:7px 8px}
 .student-meta-card small{font-size:7px;margin-bottom:2px}
 .student-meta-card strong{font-size:10.5px}
 .student-actions,.coach-dashboard-hero .coach-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .student-actions .coach-action,.student-actions a.coach-action,.coach-dashboard-hero .coach-toolbar-actions .btn{min-height:46px;font-size:10.5px;padding:10px 9px}
}

/* V47.74 — ajuste fino responsivo do painel do treinador e cabeçalho do aluno */
@media(min-width:981px){
  .student-summary{
    grid-template-columns:minmax(400px,.95fr) minmax(600px,1.4fr);
    gap:20px;
  }
  .student-meta-grid{
    grid-template-columns:minmax(150px,1.35fr) minmax(78px,.7fr) minmax(112px,1fr) minmax(130px,1.15fr);
    gap:7px;
  }
  .student-meta-card strong{
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
    font-size:11px;
  }
}
@media(max-width:700px){
  .coach-dashboard-hero .coach-toolbar-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
  }
  .coach-dashboard-hero .coach-toolbar-actions > #newStudentBtn{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}

/* V47.75 — correção definitiva de proporção do cabeçalho do aluno e CTA Novo Aluno no mobile */
@media(min-width:981px){
  .student-summary{
    grid-template-columns:minmax(0,46%) minmax(0,54%);
    gap:20px;
  }
  .student-summary>div:first-child,
  .student-actions{min-width:0}
  .student-meta-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(0,.72fr) minmax(0,1fr) minmax(0,1.15fr);
    gap:7px;
    width:100%;
  }
  .student-meta-card{min-width:0;overflow:hidden}
  .student-meta-card strong{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    word-break:normal;
    overflow-wrap:normal;
    font-size:11px;
  }
  .student-actions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .coach-dashboard-hero .coach-toolbar-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .coach-dashboard-hero .coach-toolbar-actions #newStudentBtn{
    grid-column:1 / span 2!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* V47.76 — CTA Novo Aluno full-width no mobile + cache bust */
@media (max-width:700px){
  .coach-dashboard-hero .coach-toolbar-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .coach-dashboard-hero .coach-toolbar-actions > #newStudentBtn{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
  }
}

/* OFICIAL V001 — perfil editável pelo aluno */
.profile-incomplete-note{display:block;margin-top:8px;color:#f1b44c;font-size:.78rem;font-weight:700;line-height:1.35}
.student-self-profile-form{max-width:760px;margin:0 auto}
.student-self-profile-form input[readonly]{opacity:.82;cursor:not-allowed}

/* OFICIAL 003 — visão mensal consolidada do Personal */
.coach-month-summary{margin-top:14px}.coach-month-calendar-panel{overflow-x:auto;padding:14px}.coach-month-weekdays,.coach-month-grid{min-width:820px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.coach-month-weekdays{margin-bottom:7px}.coach-month-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.7px;padding:4px}.coach-month-day{min-height:132px;border:1px solid var(--border);border-radius:14px;background:#0d0d0e;padding:9px;display:flex;flex-direction:column;gap:8px}.coach-month-day.empty-day{opacity:.22;background:#080808}.coach-month-day.today{border-color:#8a2d2d;box-shadow:inset 0 3px 0 var(--red)}.coach-month-day.has-session{background:linear-gradient(145deg,#151112,#0c0c0d)}.coach-month-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.coach-month-day-head strong{font-size:17px}.coach-month-day-head small{font-size:8px;color:var(--muted);font-weight:900}.coach-month-events{display:grid;gap:5px}.coach-month-event{width:100%;border:1px solid #4e2323;border-radius:9px;background:#241010;color:#fff;padding:6px 7px;text-align:left;display:grid;gap:2px;cursor:pointer}.coach-month-event:hover{border-color:#9a3434}.coach-month-event.completed{border-color:#315e31;background:#102010}.coach-month-event strong{font-size:11px}.coach-month-event span{font-size:10px;font-weight:800;line-height:1.25}.coach-month-event small{font-size:8px;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-month-no-session{color:#444;font-size:11px}.coach-month-calendar-hero{margin-bottom:14px}
@media(max-width:800px){.coach-month-calendar-panel{padding:10px}.coach-month-weekdays,.coach-month-grid{min-width:720px}.coach-month-day{min-height:118px;padding:7px}.coach-month-event span{font-size:9px}}
.nutrition-cycle-config{padding:0 0 22px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.13)}
.nutrition-cycle-config h2{margin:8px 0 18px}
.nutrition-cycle-card h3{margin:12px 0 8px;overflow-wrap:anywhere}
.nutrition-cycle-card .muted{white-space:normal}
.nutrition-cycle-card{border-left:4px solid #65656b}
.nutrition-cycle-active{border-left-color:#4ca876}
.nutrition-cycle-planned{border-left-color:#e8b650}
.nutrition-cycle-draft{border-left-color:#a0a0ac}
.nutrition-cycle-disabled{border-left-color:#d56b6b}
.nutrition-cycle-ended{border-left-color:#65656b}
.nutrition-cycle-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.nutrition-history-item summary{cursor:pointer;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}
.nutrition-history-content{margin-top:20px}
.nutrition-history-content .panel{background:transparent}
.nutrition-head .muted,.meal-card .muted{white-space:pre-line}
@media(max-width:600px){.nutrition-cycle-actions{display:grid;grid-template-columns:1fr}.nutrition-cycle-actions .btn{width:100%}.nutrition-cycle-config .form-grid-2{grid-template-columns:1fr}}

/* OFICIAL 006 — relatório mensal completo */
.report-current-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.report-current-grid>span{padding:12px;border:1px solid var(--border);border-radius:12px;background:#0d0d0d}.report-current-grid small{display:block;color:var(--muted);font-size:10px;letter-spacing:.7px}.report-current-grid strong{display:block;margin-top:5px;color:#fff;font-size:15px}.report-period-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.report-analysis{border-color:rgba(220,35,42,.28);background:linear-gradient(145deg,rgba(36,10,10,.88),rgba(15,15,15,.96))}.report-analysis-list{display:grid;gap:8px;margin-top:12px}.report-analysis-list p{margin:0;padding:11px 13px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(0,0,0,.24);line-height:1.55}.report-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.report-section-title h2{margin:4px 0}.report-data-origin{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(220,35,42,.36);background:#1b0d0d;color:#ffd0d0;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900;letter-spacing:.8px;white-space:nowrap}.report-measures-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.report-subsection{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.report-subsection h3{margin:0 0 10px}.report-method-line{margin:12px 0 0;line-height:1.5}.report-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.report-photo-grid figure{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#0c0c0c}.report-photo-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#111}.report-photo-grid figcaption{display:flex;flex-direction:column;gap:3px;padding:9px 10px}.report-photo-grid figcaption strong{font-size:11px}.report-photo-grid figcaption small{font-size:9px;color:var(--muted)}.report-data-quality p{margin:9px 0;line-height:1.5}.report-data-quality strong{color:#fff}
@media(max-width:850px){.report-current-grid,.report-measures-wide,.report-period-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.report-current-grid,.report-measures-wide,.report-period-stats,.report-photo-grid{grid-template-columns:1fr}.report-section-title{flex-direction:column}.report-data-origin{white-space:normal}}
@media print{.report-current-grid{grid-template-columns:repeat(3,1fr)!important}.report-period-stats{grid-template-columns:repeat(4,1fr)!important}.report-measures-wide{grid-template-columns:repeat(3,1fr)!important}.report-photo-grid{grid-template-columns:repeat(4,1fr)!important}.report-photo-grid figure{break-inside:avoid}.report-analysis,.report-current-grid>span,.report-analysis-list p,.report-photo-grid figure{background:#fff!important;color:#111!important;border-color:#bbb!important}.report-data-origin{background:#fff!important;color:#111!important;border-color:#999!important}}

/* OFICIAL 007 — serviços avulsos */
.service-badge.avulso{color:#ffd9a8;border-color:#7c5326;background:#2a1a0a}
.guest-event{border-color:#7c5326!important;background:linear-gradient(135deg,#3a210c,#1b1209)!important}
.guest-service-card{border-left-color:#c9812e!important}
.guest-client-card{display:grid;gap:16px}.guest-client-main{display:flex;justify-content:space-between;gap:18px;align-items:center}.guest-client-main h3{margin:4px 0 6px;font-size:20px}.guest-client-stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}.guest-client-stats span{padding:10px 12px;border:1px solid var(--soft-border);border-radius:12px;background:#0d0d0e}.guest-client-stats small,.guest-client-stats strong{display:block}.guest-client-stats small{font-size:8px;color:var(--muted);letter-spacing:.7px}.guest-client-stats strong{margin-top:4px;font-size:14px}.guest-assessment-history-card{break-inside:avoid}
@media(max-width:720px){.guest-client-main{align-items:stretch;flex-direction:column}.guest-client-stats{grid-template-columns:repeat(3,1fr)}.calendar-actions{width:100%;display:grid;grid-template-columns:1fr}.calendar-actions .btn{width:100%}}
@media(max-width:430px){.guest-client-stats{grid-template-columns:1fr}.guest-client-card .management-actions{display:grid;grid-template-columns:1fr}.guest-client-card .management-actions .btn{width:100%}}

/* OFICIAL 010 — central operacional, busca global, financeiro 2.0 e auditoria */
.ops-center{margin-bottom:18px}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ops-card{appearance:none;text-align:left;border:1px solid var(--border);border-radius:14px;background:#0d0d0d;color:#fff;padding:15px;min-height:106px;cursor:pointer}.ops-card.static{cursor:default}.ops-card small{display:block;color:var(--muted);font-size:10px;letter-spacing:.75px;font-weight:900;margin-bottom:8px}.ops-card strong{display:block;font-size:20px;line-height:1.1;margin-bottom:7px}.ops-card span{font-size:12px;color:#b8b8b8;line-height:1.35}.ops-card:hover:not(.static){border-color:#5a2a2d}.ops-card.danger{border-color:#733034;background:#1a0d0e}.ops-card.attention{border-color:#635423;background:#17140a}.ops-card.ok{border-color:#2d6035;background:#0d190f}.global-search-modal{max-width:720px}.global-search-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:#101010;color:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:8px;cursor:pointer}.global-search-row:hover{border-color:#633}.global-search-row b,.global-search-row small{display:block}.global-search-row small{color:var(--muted);margin-top:4px}.audit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:18px;align-items:start}.audit-row small{display:block;color:var(--muted);margin-top:5px}.audit-row pre{white-space:pre-wrap;word-break:break-word;background:#090909;border:1px solid var(--border);padding:12px;border-radius:10px;margin:0;color:#bdbdbd;font-size:11px}.student-operational-summary{margin:14px 0}.future-schedule-panel{border-color:#29384a}.future-row{opacity:.9}.future-row .payment-badge{white-space:nowrap}
@media(max-width:900px){.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-row{grid-template-columns:1fr}}
@media(max-width:560px){.ops-grid{grid-template-columns:1fr 1fr}.ops-card{min-height:96px;padding:12px}.ops-card strong{font-size:16px}.global-search-modal{width:min(94vw,720px)}}

/* OFICIAL 014 — relatório fotográfico compacto em formato de documento */
.report-photo-period-controls{margin-top:12px}
.report-photo-document{display:grid;gap:14px;margin-top:12px}
.report-photo-period-block{break-inside:avoid}
.report-photo-period-label{display:flex;align-items:baseline;gap:10px;margin-bottom:7px}
.report-photo-period-label small{font-size:9px;letter-spacing:.8px;color:var(--muted);font-weight:900}.report-photo-period-label strong{font-size:13px}
.report-photo-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.report-photo-thumb{margin:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#0c0c0c;min-width:0}
.report-photo-thumb img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#111}
.report-photo-thumb figcaption{padding:5px 6px;text-align:center}.report-photo-thumb figcaption strong{font-size:9px;line-height:1.1}
.report-photo-missing{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;text-align:center;color:var(--muted)}
.report-photo-missing strong{font-size:9px;color:#ddd}.report-photo-missing small{font-size:8px}
@media(max-width:620px){.report-photo-grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.report-photo-thumb figcaption{padding:4px 2px}.report-photo-thumb figcaption strong{font-size:7px}.report-photo-missing{min-height:68px;padding:4px}.report-photo-period-label{margin-bottom:5px}}
@media print{.report-photo-document{gap:10px!important}.report-photo-grid4{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.report-photo-thumb,.report-photo-missing{background:#fff!important;color:#111!important;border-color:#bbb!important}.report-photo-thumb img{height:150px!important;aspect-ratio:auto!important;object-fit:contain!important;background:#fff!important}.report-photo-thumb figcaption strong,.report-photo-missing strong,.report-photo-period-label strong{color:#111!important}.report-photo-missing{min-height:150px!important}}

/* OFICIAL 016 — evolução técnica sem poluir o painel */
.exercise-support-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}.exercise-support-actions .btn{margin:0;width:auto}.approved-alt-list{display:grid;gap:9px;margin-top:14px}.approved-alt-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0b0b0b}.approved-alt-card .btn{margin:0;width:auto}.execution-review-card{margin:14px 0}.execution-review-card video{width:100%;max-height:480px;border-radius:14px;background:#000;margin:12px 0}.technical-summary{margin:14px 0}.volume-list{display:grid;gap:8px;margin-top:12px}.volume-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:11px;border:1px solid var(--border);background:#0c0c0c}.reminder-list{display:grid;gap:8px;margin-top:14px}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0c0c0c}.reminder-row small{display:block;color:var(--muted);margin-top:4px}.reminder-row.done{opacity:.55}.reminder-row .btn{margin:0;width:auto}.diagnostic-list{display:grid;gap:9px;margin-top:15px}.diagnostic-row{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(180px,1.4fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0c0c0c}.diagnostic-row small{color:var(--muted);text-align:right}.warning-box{border-color:#65571f!important;background:#1a170b!important;color:#f5e6a8!important}@media(max-width:700px){.diagnostic-row{grid-template-columns:1fr auto}.diagnostic-row small{grid-column:1/-1;text-align:left}.approved-alt-card,.reminder-row{align-items:stretch;flex-direction:column}.approved-alt-card .btn,.reminder-row .btn{width:100%}}

/* OFICIAL 019 — métodos de treino */
.method-prescription-box{border:1px solid var(--line,#2b2b2b);border-radius:14px;padding:16px;margin:4px 0 18px;background:rgba(255,255,255,.025)}
.method-help{font-size:.86rem;line-height:1.45;color:var(--muted,#9d9d9d);padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035)}
.training-method-strip{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border-left:3px solid #d9272e;background:rgba(217,39,46,.09);border-radius:8px}
.training-method-strip strong{text-transform:uppercase;font-size:.78rem;letter-spacing:.05em}
.training-method-strip span{font-size:.88rem;line-height:1.4;color:var(--muted,#b7b7b7);flex:1 1 220px}
.method-companions{display:flex;flex-direction:column;gap:3px;margin:8px 0 12px;padding:10px 12px;border:1px dashed rgba(255,255,255,.18);border-radius:10px}
.method-companions small{font-size:.68rem;letter-spacing:.08em;color:var(--muted,#999)}
.method-companions strong{font-size:.9rem}
.method-group-warning,.method-group-ok{font-size:.76rem;margin:6px 0 8px;padding:7px 9px;border-radius:8px}
.method-group-warning{background:rgba(255,180,0,.12);border:1px solid rgba(255,180,0,.3)}
.method-group-ok{background:rgba(60,180,100,.1);border:1px solid rgba(60,180,100,.24)}
@media(max-width:600px){.training-method-strip{flex-direction:column}.method-prescription-box{padding:13px}}
.method-companions span{font-size:.78rem;line-height:1.35;color:var(--muted,#9d9d9d)}

/* OFICIAL 024: ações explícitas de arquivo PDF compatíveis com iOS */
.report-pdf-result{margin-top:14px;padding:16px;border-radius:14px;border:1px solid #734040;background:#1c1111;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.report-pdf-result p{width:100%;margin:0 0 5px;color:#f3e6e6}.report-pdf-result .btn{display:inline-flex;flex:1 1 220px;justify-content:center;text-align:center;min-height:46px;align-items:center}.report-pdf-result.error-box{display:block;color:#fff}

/* OFICIAL 030: modal obrigatório de aviso individual de vencimento */
.billing-notice-date{color:#f1f1f1;margin:18px 0 0;font-size:1rem}.billing-notice-date strong{color:#fff}.billing-notice-hint{font-size:.75rem;margin:12px 0 0;text-align:center}.general-announcement-backdrop .general-announcement-modal{overscroll-behavior:contain}
