/* Babou Coach 5.7.6 — planning lisible, séance Santé et saisie kiné après coup */
.v57-planning-head{overflow:hidden;border-color:rgba(105,230,199,.3);background:radial-gradient(circle at 100% 0,rgba(105,230,199,.13),transparent 38%),linear-gradient(150deg,rgba(16,34,51,.98),rgba(9,24,39,.98))}
.v57-planning-head h1{margin:4px 0 7px;font-size:clamp(2rem,6vw,3rem)}
.v57-planning-head p{max-width:680px;line-height:1.55}
.v57-planning-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;margin-top:20px}
.v57-planning-actions button{min-height:50px}
.v57-planning-overview{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.6fr);gap:12px;margin:14px 0 16px;padding:14px;border:1px solid rgba(105,230,199,.22);border-radius:24px;background:rgba(12,28,44,.86)}
.v57-planning-overview.partial{border-color:rgba(233,197,101,.28)}
.v57-planning-status{display:flex;flex-direction:column;justify-content:center;min-height:142px;padding:18px;border-radius:19px;background:linear-gradient(145deg,rgba(105,230,199,.16),rgba(105,230,199,.045))}
.v57-planning-overview.partial .v57-planning-status{background:linear-gradient(145deg,rgba(233,197,101,.15),rgba(233,197,101,.04))}
.v57-planning-status>span{font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--v5-mint,#69e6c7)}
.v57-planning-overview.partial .v57-planning-status>span{color:var(--gold,#e9c565)}
.v57-planning-status>strong{margin:4px 0;font-size:2.55rem;line-height:1;color:#fff}
.v57-planning-status>small{color:var(--v5-muted,var(--muted));line-height:1.45}
.v57-planning-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v57-planning-kpis article{display:flex;flex-direction:column;justify-content:center;padding:17px;border:1px solid rgba(255,255,255,.07);border-radius:19px;background:rgba(255,255,255,.035)}
.v57-planning-kpis span{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--v5-muted,var(--muted))}
.v57-planning-kpis strong{margin:7px 0 5px;font-size:1.02rem;line-height:1.35;color:#fff}
.v57-planning-kpis small{color:var(--v5-muted,var(--muted));line-height:1.4}
.v57-upcoming-list{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1fr);gap:9px;align-items:stretch;padding-top:2px}
.v57-upcoming-list>div{display:flex;flex-direction:column;justify-content:center;padding:11px 14px}
.v57-upcoming-list>div>span{font-size:.77rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--v5-muted,var(--muted))}
.v57-upcoming-list>div>small{margin-top:5px;color:var(--v5-muted,var(--muted));line-height:1.35}
.v57-upcoming-session{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 13px;border:1px solid rgba(105,230,199,.16);border-radius:15px;background:rgba(105,230,199,.05);text-align:left}
.v57-upcoming-session>span{min-width:0}
.v57-upcoming-session strong,.v57-upcoming-session small{display:block}
.v57-upcoming-session strong{color:#fff}
.v57-upcoming-session small{margin-top:3px;color:var(--v5-muted,var(--muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v57-upcoming-session>b{flex:0 0 auto;color:var(--v5-mint,#69e6c7);font-size:.78rem}
.v57-planning-tabs{position:sticky;top:calc(var(--v5-header-height,70px) + 6px);left:auto;right:auto;z-index:12;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;min-width:0;box-sizing:border-box;transform:none;overflow:hidden;gap:5px;margin:0 0 16px;padding:5px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(7,20,34,.94);backdrop-filter:blur(16px)}
.v57-planning-tabs button{display:block;width:auto;min-width:0;min-height:42px;padding:8px 4px;border:0;border-radius:12px;background:transparent;color:var(--v5-muted,var(--muted));font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v57-planning-tabs button.active{background:rgba(105,230,199,.14);color:var(--v5-mint,#69e6c7);box-shadow:inset 0 0 0 1px rgba(105,230,199,.18)}
.v57-planning-panel{display:grid;gap:16px}
.v57-planning-panel.hidden{display:none!important}
.v56-planning-workspace>.v57-planning-panel>.v57-planning-card{margin:0;border-color:rgba(105,230,199,.16);box-shadow:0 18px 45px rgba(0,0,0,.12)}
.v57-planning-panel .section-title{align-items:flex-start}
.v57-planning-panel .planner-week-nav,.v57-planning-panel .calendar-month-nav{margin-top:18px;padding:6px;border-radius:16px;background:rgba(255,255,255,.035)}
.v57-planning-panel .planner-current-period{min-height:42px;border-style:dashed}
.v57-planning-panel #smartPlannerDays{display:grid;gap:9px;margin-top:10px}
.v57-planning-panel .planner-day{position:relative;grid-template-columns:minmax(150px,1.25fr) minmax(155px,1fr) 105px;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:rgba(255,255,255,.025)}
.v57-planning-panel .planner-day:first-child{border-top:1px solid rgba(255,255,255,.075)}
.v57-planning-panel .planner-day-label strong{text-transform:capitalize;font-size:1rem}
.v57-planning-panel .planner-day-label span{margin-top:3px;line-height:1.35}
.v57-planning-panel .planner-day-constraints{padding-top:2px;border:0;line-height:1.4}
.v57-planning-panel .planner-actions{position:sticky;bottom:12px;z-index:8;padding:8px;border:1px solid rgba(105,230,199,.17);border-radius:17px;background:rgba(7,20,34,.92);backdrop-filter:blur(15px)}
.v57-planning-panel .planner-result-card{padding:16px;border-radius:18px}
.v57-planning-panel .plan-comparison{padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}
.v57-planning-panel .plan-comparison-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
.v57-planning-panel .plan-comparison-row>span{min-width:0}
.v57-planning-panel .plan-comparison-edit{min-height:34px;padding:6px 10px;border:1px solid rgba(105,230,199,.18);border-radius:10px;background:rgba(105,230,199,.08);color:var(--v5-mint,#69e6c7);font-size:.75rem;font-weight:850}
.calendar-weekday{display:grid;place-items:center;min-height:28px;color:var(--v5-muted,var(--muted));font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.v57-planning-panel .calendar{gap:7px}
.v57-planning-panel .calendar .day{min-height:58px;aspect-ratio:auto;padding:7px;border-radius:13px;font-size:.78rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.v57-planning-panel .calendar .day:hover{transform:translateY(-1px);border-color:rgba(105,230,199,.35)}
.v57-planning-panel .calendar .day.today{box-shadow:inset 0 0 0 1px var(--v5-mint,#69e6c7)}
.v57-planning-panel .calendar .day.done{background:rgba(105,230,199,.09)}
.v57-session-extras{border-color:rgba(105,230,199,.2)}
.v57-extra-session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:15px}
.v57-extra-session{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.03)}
.v57-extra-session>span{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:14px;background:rgba(255,255,255,.07);font-size:1.6rem}
.v57-extra-session>div{min-width:0;flex:1}
.v57-extra-session strong,.v57-extra-session small{display:block}
.v57-extra-session strong{font-size:1.05rem}
.v57-extra-session small{min-height:40px;margin:5px 0 12px;color:var(--v5-muted,var(--muted));line-height:1.4}
.v57-extra-session button{width:100%;min-height:45px}
.v57-extra-session.health{border-color:rgba(105,230,199,.2)}
.v57-extra-session.kine{border-color:rgba(116,154,255,.23)}
.v57-extra-session.aisds{border-color:rgba(233,197,101,.26)}
.v57-kine-actions{display:grid;gap:8px}
.v57-modal{position:fixed;inset:0;z-index:1000;display:grid;align-items:end;justify-items:center;padding:18px}
.v57-modal.hidden{display:none}
.v57-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(1,8,16,.78);backdrop-filter:blur(8px)}
.v57-modal-sheet{position:relative;z-index:1;width:min(720px,100%);max-height:92vh;overflow:auto;padding:22px;border:1px solid rgba(105,230,199,.24);border-radius:26px 26px 20px 20px;background:linear-gradient(155deg,#102238,#081725);box-shadow:0 28px 90px rgba(0,0,0,.5)}
.v57-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.v57-modal-head h2{margin:4px 0 6px;font-size:1.7rem}
.v57-modal-close{width:42px;height:42px;flex:0 0 42px;padding:0;border-radius:13px;background:rgba(255,255,255,.07);font-size:1.6rem;color:#fff}
.v57-kine-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}
.v57-kine-meta label,.v57-kine-machine label,.v57-kine-optional label{margin:0;color:var(--v5-muted,var(--muted));font-size:.8rem;font-weight:800}
.v57-kine-meta input,.v57-kine-meta select,.v57-kine-machine input,.v57-kine-optional textarea{margin:6px 0 0}
.v57-kine-machine-list{display:grid;gap:10px}
.v57-kine-machine{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03)}
.v57-kine-machine-name{font-weight:850;color:#fff}
.v57-kine-series-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.v57-kine-series-grid>div>span{display:block;margin-bottom:6px;color:var(--v5-muted,var(--muted));font-size:.76rem}
.v57-stepper{display:grid;grid-template-columns:42px 1fr 42px;gap:5px}
.v57-stepper button{min-height:42px;padding:0;border-radius:12px;background:rgba(105,230,199,.1);color:var(--v5-mint,#69e6c7);font-size:1.1rem}
.v57-stepper input{min-width:0;margin:0;text-align:center;font-weight:900}
.v57-kine-optional{margin-top:13px;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}
.v57-kine-optional summary{cursor:pointer;font-weight:850;color:var(--v5-mint,#69e6c7)}
.v57-kine-reminder{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0;padding:12px 14px;border-radius:15px;background:rgba(105,230,199,.08)}
.v57-kine-reminder strong,.v57-kine-reminder span{font-size:.82rem}
.v57-kine-reminder span{color:var(--v5-mint,#69e6c7);text-align:right}
.v57-kine-save{width:100%;min-height:50px}
@media(max-width:680px){
 .v57-planning-actions,.v57-planning-overview,.v57-planning-kpis,.v57-extra-session-grid,.v57-upcoming-list{grid-template-columns:1fr}
 .v57-planning-status{min-height:108px}
 .v57-planning-panel .planner-day{grid-template-columns:1fr 105px}
 .v57-planning-panel .planner-day select{grid-column:1/2}
 .v57-planning-panel .planner-day-time{grid-column:2/3}
 .v57-planning-panel .planner-day-constraints{grid-column:1/-1}
 .v57-planning-panel .plan-comparison-summary{grid-template-columns:1fr 1fr}
 .v57-kine-meta,.v57-kine-series-grid{grid-template-columns:1fr}
 .v57-modal{padding:0;align-items:end}
 .v57-modal-sheet{max-height:95vh;border-radius:25px 25px 0 0;padding:19px 16px calc(20px + env(safe-area-inset-bottom))}
 .v57-extra-session small{min-height:0}
}
@media(max-width:430px){
 .v57-planning-panel .planner-day{grid-template-columns:1fr}
 .v57-planning-panel .planner-day select,.v57-planning-panel .planner-day-time{grid-column:1}
 .v57-planning-tabs button{font-size:.77rem}
 .v57-planning-panel .calendar{gap:4px}
 .v57-planning-panel .calendar .day{min-height:48px;padding:4px;font-size:.72rem}
 .v57-planning-panel .plan-comparison-row{grid-template-columns:minmax(0,1fr) auto}
 .v57-planning-panel .plan-comparison-row .plan-comparison-edit{grid-column:1/-1;width:100%;margin-top:3px}
}
