/* ME GUSTA FIT v3.6.4 — COHERENT DARK THEME: COACH + CLIENT + FULL CONTRAST AUDIT */
:root{
  --mgf-bg:#050607;
  --mgf-bg2:#080a0c;
  --mgf-panel:#0f1317;
  --mgf-panel2:#151a1f;
  --mgf-line:#2a3037;
  --mgf-text:#f7f8f9;
  --mgf-muted:#aeb4bb;
  --mgf-orange:#ff5a0a;
  --mgf-orange2:#ff7418;
  --mgf-green:#78e89e;
  --mgf-red:#ff9595;
}

html,body{background:var(--mgf-bg)!important;color:var(--mgf-text)!important}
body{background:radial-gradient(circle at 100% 0,rgba(255,90,10,.08),transparent 25%),linear-gradient(180deg,var(--mgf-bg),var(--mgf-bg2) 52%,var(--mgf-bg))!important}

/* Shared top header: this is outside .clientApp in the real DOM */
.top{
  background:linear-gradient(145deg,#0b0e11,#12161b)!important;
  color:var(--mgf-text)!important;
  border:1px solid var(--mgf-line)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.36)!important;
}
.top *{color:var(--mgf-text)!important}
.top .muted,.top>div:last-child>span{color:var(--mgf-muted)!important}
.top .btn,.top button{
  background:#151a1f!important;
  color:#fff!important;
  border:1px solid #343b43!important;
  box-shadow:none!important;
}
.top .btn.orange,.top button.orange{background:linear-gradient(180deg,var(--mgf-orange2),var(--mgf-orange))!important;border:0!important}
.top .logo,.top img{background:transparent!important;filter:none!important;mix-blend-mode:normal!important}

/* Coach shell */
.wrap{color:var(--mgf-text)!important}
.layout{color:var(--mgf-text)!important}
.side{
  background:linear-gradient(180deg,#0c0f12,#11161a)!important;
  color:#fff!important;
  border:1px solid var(--mgf-line)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.28)!important;
}
.side img{background:#11161a!important;border:1px solid var(--mgf-line)!important}
.nav{color:#b6bcc3!important}
.nav:hover{background:#171c21!important;color:#fff!important}
.nav.active{background:linear-gradient(180deg,var(--mgf-orange2),var(--mgf-orange))!important;color:#fff!important;box-shadow:0 8px 22px rgba(255,90,10,.22)!important}

/* Main surfaces */
.card,.row,.bookingDay,.clientBookingDay,.progressAccordion,.coachDetailCard,.login,
.layout [class*="card" i],.layout [class*="panel" i],.layout [class*="box" i],
[role="dialog"],.modal,.dialog,fieldset{
  background:linear-gradient(180deg,#13181d,#0e1216)!important;
  color:var(--mgf-text)!important;
  border-color:var(--mgf-line)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.24)!important;
}
.hero{
  background:radial-gradient(circle at 100% 100%,rgba(255,90,10,.55),rgba(255,90,10,.12) 28%,transparent 52%),linear-gradient(135deg,#080a0c,#12171b 70%,#231006)!important;
  color:#fff!important;
  border:1px solid rgba(255,90,10,.45)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.32)!important;
}
.hero h1,.hero h2,.hero h3,.hero strong{color:#fff!important}.hero p{color:#c9cdd2!important}.eyebrow{color:var(--mgf-orange)!important}

/* Typography */
.layout h1,.layout h2,.layout h3,.layout h4,.layout h5,.layout h6,
.layout strong,.layout b,.layout .name,.layout .section h2,.layout .kpi strong,
.layout td,.layout th,.card h1,.card h2,.card h3,.card h4,.card strong,.row strong,
.bookingDayTitle,.clientBookingDayTitle,.progressHead strong{color:var(--mgf-text)!important}
.layout p,.layout small,.layout .muted,.layout .history,.layout label,.layout .kpi small,
.card .muted,.row .muted,.bookingDayMeta,.clientBookingDayMeta,.progressMeta{color:var(--mgf-muted)!important}
.section{color:var(--mgf-text)!important}
.divider{background:var(--mgf-line)!important}
.exercise{border-color:var(--mgf-line)!important}

/* Inputs/forms everywhere */
input,select,textarea,
.layout input,.layout select,.layout textarea,.layout .field input,.layout .field select,.layout .field textarea,
.wrap>main input,.wrap>main select,.wrap>main textarea{
  background:#0b0f12!important;
  background-color:#0b0f12!important;
  color:var(--mgf-text)!important;
  border:1px solid #343b43!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder,
.layout input::placeholder,.layout textarea::placeholder,.wrap>main input::placeholder,.wrap>main textarea::placeholder{color:#747c85!important}
input:focus,select:focus,textarea:focus,.layout input:focus,.layout select:focus,.layout textarea:focus{border-color:var(--mgf-orange)!important;box-shadow:0 0 0 3px rgba(255,90,10,.14)!important}
select option,select optgroup,.layout select option,.layout select optgroup{background:#0b0f12!important;color:#fff!important}

/* Buttons */
.layout .btn,.layout button,.card .btn,.card button,.login .btn,.login button{
  background:#181d22!important;
  color:#fff!important;
  border:1px solid #343b43!important;
  box-shadow:none!important;
}
.layout .btn.orange,.layout button.orange,.card .btn.orange,.card button.orange,.login .btn.orange,.login button.orange{
  background:linear-gradient(180deg,var(--mgf-orange2),var(--mgf-orange))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 8px 22px rgba(255,90,10,.24)!important;
}
.layout .btn.light,.layout button.light,.card .btn.light,.card button.light{background:#1b2025!important;color:#fff!important;border-color:#343b43!important}

/* Lists / tables / rows */
.row{border:1px solid var(--mgf-line)!important}
.row:hover{background:linear-gradient(180deg,#171c21,#11161a)!important;border-color:#39414a!important}
.avatar{background:rgba(255,90,10,.16)!important;color:#ff9b5d!important}
.layout table{color:var(--mgf-text)!important;border-color:var(--mgf-line)!important}
.layout tr,.layout td,.layout th{border-color:var(--mgf-line)!important}

/* Pills/status */
.pill.gray{background:#1d2329!important;color:#c5cad0!important}
.pill.orange{background:rgba(255,90,10,.16)!important;color:#ff9a5c!important}
.pill.green{background:rgba(83,209,126,.13)!important;color:var(--mgf-green)!important}
.pill.red{background:rgba(220,70,70,.15)!important;color:var(--mgf-red)!important}

/* Accordions and booking internals */
.bookingDayHead,.clientBookingDayHead,.progressHead,.progressBody,.bookingDayBody,.clientBookingDayBody{
  background:transparent!important;
  color:var(--mgf-text)!important;
  border-color:var(--mgf-line)!important;
}
.bookingSlotRow,.clientBookingSlot{background:#11161a!important;color:var(--mgf-text)!important;border-color:var(--mgf-line)!important}
.bookingDayAction,.clientBookingDayAction{color:var(--mgf-orange)!important}

/* Coach agenda */
.mgfAgendaDayControls{background:#11161a!important;border-color:var(--mgf-line)!important;color:var(--mgf-text)!important}
.mgfAgendaDayStatus{color:var(--mgf-muted)!important}
.mgfAgendaDayBtn{background:#171c21!important;color:#fff!important;border:1px solid #343b43!important}
.weekPlannerWrap,.weekPlanner,.weekGrid{background:#0c1013!important;color:var(--mgf-text)!important}
.weekGridHeader{background:#0b0e11!important;color:#fff!important;border-color:var(--mgf-line)!important}
.weekTimeCell{background:#0e1216!important;color:#f1f3f4!important;border-color:var(--mgf-line)!important}
.weekCell{background:#11161a!important;color:var(--mgf-text)!important;border-color:var(--mgf-line)!important}
.weekCell small{color:var(--mgf-muted)!important}
.weekPerson{background:#1b2127!important;color:#fff!important;border-color:#343b43!important}

/* Agenda slot modal: keep it inside the same dark theme.
   The legacy component still declared background:#fff, while body text is now white. */
.weekSlotModal{background:rgba(0,0,0,.72)!important}
.weekSlotModalCard{
  background:linear-gradient(180deg,#151a1f,#0e1216)!important;
  color:var(--mgf-text)!important;
  border:1px solid var(--mgf-line)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.58)!important;
}
.weekSlotModalCard h1,.weekSlotModalCard h2,.weekSlotModalCard h3,.weekSlotModalCard strong{color:var(--mgf-text)!important}
.weekSlotModalCard label,.weekSlotModalCard .muted,.weekSlotModalCard small{color:var(--mgf-muted)!important}
.weekSlotModalCard .divider{background:var(--mgf-line)!important}
.weekModalPerson{border-color:var(--mgf-line)!important;color:var(--mgf-text)!important}
.weekSlotModalCard .coachDetailClose{
  background:#171c21!important;
  color:#fff!important;
  border:1px solid #343b43!important;
  box-shadow:none!important;
}
.weekSlotModalCard .btn{background:#181d22!important;color:#fff!important;border:1px solid #343b43!important;box-shadow:none!important}
.weekSlotModalCard .btn.orange{background:linear-gradient(180deg,var(--mgf-orange2),var(--mgf-orange))!important;border:0!important;box-shadow:0 8px 22px rgba(255,90,10,.24)!important}

/* Coach dashboard: legacy cards were still white after the dynamic contrast audit
   was intentionally scoped away from the coach area. */
#coachArea .studioNowCard,
#coachArea .todayRow,
#coachArea .dayCloseSummary,
#coachArea .coachNotifItem,
#coachArea .alertStrong{
  background:linear-gradient(180deg,#151a1f,#0e1216)!important;
  color:var(--mgf-text)!important;
  border-color:var(--mgf-line)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
#coachArea .todayTime,
#coachArea .dashPersonName,
#coachArea .dashFuturePerson>div>span,
#coachArea .dayCloseSummary strong,
#coachArea .studioBlock>strong{color:var(--mgf-text)!important}
#coachArea .dashPersonRow,
#coachArea .dashFuturePerson{border-color:var(--mgf-line)!important}
#coachArea .dashSmartMeta,
#coachArea .dashSmartMeta span,
#coachArea .dayCloseSummary span{color:var(--mgf-muted)!important}
#coachArea .todayBadge{background:#050607!important;color:#fff!important;border:1px solid #343b43!important}
#coachArea .dangerSoft{background:#181d22!important;color:#fff!important;border-color:#343b43!important}

/* Photo modal and standalone overlays */
.photoModal{background:rgba(0,0,0,.94)!important}
.photoModal button{background:#171c21!important;color:#fff!important;border:1px solid #343b43!important}
.toast{background:#12161b!important;color:#fff!important;border:1px solid var(--mgf-line)!important}

/* Defensive contrast: old inline white/dark surfaces anywhere in app */
body [style*="background:#fff"],body [style*="background: #fff"],
body [style*="background:white"],body [style*="background: white"],
body [style*="background:#ffffff"],body [style*="background: #ffffff"],
body [style*="background:#f4f4f2"],body [style*="background: #f4f4f2"],
body [style*="background:#f7f7f7"],body [style*="background: #f7f7f7"]{
  background:#11161a!important;color:var(--mgf-text)!important;border-color:var(--mgf-line)!important;
}
body [style*="color:#111"],body [style*="color: #111"],body [style*="color:black"],body [style*="color: black"]{color:var(--mgf-text)!important}
body [style*="color:#707070"],body [style*="color: #707070"],body [style*="color:#666"],body [style*="color: #666"]{color:var(--mgf-muted)!important}

/* Client shell remains consistent */
.clientApp{background:radial-gradient(circle at 100% 0,rgba(255,90,10,.13),transparent 25%),linear-gradient(180deg,#050607 0%,#080a0c 50%,#050607 100%)!important}
.clientMain,.clientPage{color:var(--mgf-text)!important}
.clientNav{background:rgba(8,10,12,.985)!important;border-color:var(--mgf-line)!important}

/* Last-resort readability rules */
.card,.row,.bookingDay,.clientBookingDay,.progressAccordion,.login,.top,.layout,.clientApp,.clientPage{
  --text:var(--mgf-text)!important;
  --muted:var(--mgf-muted)!important;
  --card:var(--mgf-panel)!important;
  --bg:var(--mgf-bg)!important;
  --line:var(--mgf-line)!important;
}

@media(max-width:850px){
  .side{background:#0d1114!important;border-radius:18px!important}
  .layout{gap:12px!important}
}
@media(max-width:560px){
  .top{border-radius:0 0 26px 26px!important;padding:12px 14px!important}
  .top .logo{mix-blend-mode:normal!important}
}


/* ===== v3.6.4 COMPLETE LEGACY-SURFACE DARK AUDIT =====
   Prevents old light components from becoming white-on-white after the global dark theme.
   Visual-only: no booking, package, attendance or client logic is changed. */

/* Standalone overlays / modals rendered outside #coachArea */
.sessionPickerCard,
.agendaModalCard,
.privacyCard,
.consentCard,
.passwordSetupCard{
  background:linear-gradient(180deg,#151a1f,#0e1216)!important;
  color:var(--mgf-text)!important;
  border:1px solid var(--mgf-line)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.58)!important;
}
.sessionPickerCard h1,.sessionPickerCard h2,.sessionPickerCard h3,.sessionPickerCard strong,
.agendaModalCard h1,.agendaModalCard h2,.agendaModalCard h3,.agendaModalCard strong,
.privacyCard h1,.privacyCard h2,.privacyCard h3,.privacyCard strong,
.consentCard h1,.consentCard h2,.consentCard h3,.consentCard strong,
.passwordSetupCard h1,.passwordSetupCard h2,.passwordSetupCard h3,.passwordSetupCard strong{
  color:var(--mgf-text)!important;
}
.sessionPickerCard label,.sessionPickerCard .muted,.agendaModalCard label,.agendaModalCard .muted,
.privacyCard .muted,.consentCard .muted,.passwordSetupCard .muted{color:var(--mgf-muted)!important}

.sessionPickerClose,.privacyClose,.agendaModalCard .coachDetailClose{
  background:#171c21!important;color:#fff!important;border:1px solid #343b43!important;
}
.sessionPickerCard textarea,.sessionPickerCard input,.sessionPickerCard select,
.agendaModalCard textarea,.agendaModalCard input,.agendaModalCard select,
.privacyCard textarea,.privacyCard input,.privacyCard select,
.consentCard textarea,.consentCard input,.consentCard select,
.passwordSetupCard input{
  background:#0b0f12!important;color:var(--mgf-text)!important;border-color:#343b43!important;
}

/* Smart-training / "Seduta svolta" popup */
.smartTrainingLoading,.smartLast,.smartSuggestion.empty,.smartHistory,
.fixedSlotItem,.sessionItem,.monthSummary span{
  background:#11161a!important;color:var(--mgf-text)!important;border-color:var(--mgf-line)!important;
}
.smartTrainingLoading,.smartLast span,.smartLast small,.smartSuggestion.empty span,
.smartSuggestion.empty small,.smartHistory summary{color:var(--mgf-muted)!important}
.smartSuggestion.empty strong{color:var(--mgf-text)!important}
.smartRotation{background:rgba(255,90,10,.10)!important;color:var(--mgf-text)!important;border:1px solid rgba(255,90,10,.22)!important}
.smartRotation b{background:#181d22!important;color:#fff!important;border-color:#4a3329!important}
.smartRotation i{color:var(--mgf-muted)!important}
.smartHistoryRow{border-color:var(--mgf-line)!important;color:var(--mgf-text)!important}
.sessionPickerError{background:rgba(180,50,50,.15)!important;color:#ffb0b0!important;border:1px solid rgba(255,149,149,.25)!important}
.workoutChoice{background:#11161a!important;color:#fff!important;border-color:#343b43!important}
.workoutChoice.orange,.workoutChoice.smartRecommended{background:linear-gradient(180deg,var(--mgf-orange2),var(--mgf-orange))!important;color:#fff!important;border-color:transparent!important}

/* Coach legacy cards and sub-pages */
#coachArea .agendaHour,
#coachArea .agendaClientCard,
#coachArea .agendaDoneInfo,
#coachArea .programDay,
#coachArea .bookingCalendar,
#coachArea .calendarDays,
#coachArea .calendarDay,
#coachArea .coachClientAccordion,
#coachArea .coachClientAccordionHead,
#coachArea .coachClientAccordionBody,
#coachArea .progressNewBox,
#coachArea .progressEditItem,
#coachArea .exerciseRenameRow,
#coachArea .priorityAction,
#coachArea .feedbackReviewAction,
#coachArea .feedbackLineFocus,
#coachArea .coachFocusFlash,
#coachArea .templateCard,
#coachArea .templateBody,
#coachArea .tplDay,
#coachArea .tplAddBox,
#coachArea .clientProSummary>div,
#coachArea .weekMobileDay,
#coachArea .weekMobileSlot{
  background:#11161a!important;
  color:var(--mgf-text)!important;
  border-color:var(--mgf-line)!important;
  box-shadow:none!important;
}
#coachArea .coachClientAccordionHead,
#coachArea .weekMobileSlot,
#coachArea .priorityAction{color:var(--mgf-text)!important}
#coachArea .coachClientAccordionBody,
#coachArea .templateBody{border-color:var(--mgf-line)!important}
#coachArea .coachClientQuickNav button,
#coachArea .templateFilters button,
#coachArea .templateLevelFilters button{
  background:#171c21!important;color:#fff!important;border-color:#343b43!important;
}
#coachArea .coachClientQuickNav button:hover,
#coachArea .templateFilters button:hover,
#coachArea .templateLevelFilters button:hover,
#coachArea .priorityAction:hover,
#coachArea .weekMobileSlot:active{
  background:#1d2329!important;border-color:#46505a!important;
}
#coachArea .calendarSlot,
#coachArea .dashPersonRow,
#coachArea .dashFuturePerson,
#coachArea .agendaClientCard,
#coachArea .agendaDoneInfo{border-color:var(--mgf-line)!important}

/* Legacy agenda status chips keep meaning but use dark-compatible contrast */
#coachArea .agendaStatus.done{background:rgba(83,209,126,.13)!important;color:var(--mgf-green)!important}
#coachArea .agendaStatus.noshow{background:rgba(220,70,70,.15)!important;color:var(--mgf-red)!important}
#coachArea .agendaStatus.request{background:rgba(255,90,10,.14)!important;color:#ff9a5c!important}
#coachArea .agendaStatus.booked{background:#1d2329!important;color:#d7dbe0!important}
#coachArea .weekPerson.requested{background:rgba(255,90,10,.14)!important;color:#ffb080!important}
#coachArea .eventStatus.no{background:rgba(220,70,70,.15)!important;color:#ffabab!important}
#coachArea .audienceBadge.donna,#coachArea .levelBadge.intermedio{
  background:rgba(255,90,10,.12)!important;color:#ffb080!important;border-color:rgba(255,90,10,.26)!important;
}

/* Inputs previously forced back to white by legacy components */
#coachArea .quickRenew input,#coachArea .quickRenew select,
#coachArea input,#coachArea select,#coachArea textarea{
  background:#0b0f12!important;color:var(--mgf-text)!important;border-color:#343b43!important;
}

/* Generic coach fallback: any remaining named legacy surface with pale background */
#coachArea .card[style*="background:#fafafa"],
#coachArea .card[style*="background: #fafafa"],
#coachArea [style*="background:#fff"],
#coachArea [style*="background: #fff"],
#coachArea [style*="background:#fafafa"],
#coachArea [style*="background: #fafafa"],
#coachArea [style*="background:#f4f4f4"],
#coachArea [style*="background: #f4f4f4"]{
  background:#11161a!important;color:var(--mgf-text)!important;border-color:var(--mgf-line)!important;
}

/* Privacy / consent choices also remain readable in the dark theme */
.consentChoice,.consentHealthBox,.statMini,.clientLowAlert{
  background:#11161a!important;color:var(--mgf-text)!important;border-color:var(--mgf-line)!important;
}
.consentChoice label,.consentHealthBox label{color:var(--mgf-text)!important}

@media(max-width:560px){
  .sessionPicker{align-items:flex-end!important;padding:8px!important}
  .sessionPickerCard{max-height:90vh!important;border-radius:24px 24px 18px 18px!important}
}
