.weekly-planner{margin-top:24px}
.planner-days{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px)/3);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.planner-day{border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always}
.planner-day-total{margin-top:auto;padding-top:.6rem}
.planner-day-total small{display:block}
.planner-navigation{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.planner-day>header{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:4px;height:auto;min-height:48px;padding:0 0 10px;border:0;font-size:12px}
.planner-day>header span{display:block!important;font-size:10px;letter-spacing:0}
.planner-today{border:2px solid #dc825c;background:#fff9f5}
.planner-entry{background:#edf4f7;border-radius:8px;margin:6px 0}
.planner-entry>button{display:flex;flex-direction:column;text-align:left;gap:7px;width:100%;padding:10px;white-space:normal}
.planner-entry strong{font-size:13px;overflow-wrap:anywhere}
.planner-entry span,.planner-entry small{font-size:10px}
.planner-entry>div{display:flex;justify-content:space-between;padding:0 5px}
.planner-entry>div button{font-size:11px;padding:6px}
.planner-add{width:100%;font-size:12px;margin-top:8px}
@media(max-width:650px){.planner-day{padding:5px}.planner-entry>div{flex-wrap:wrap}}

.planner-timetable{margin-block:12px;padding:12px;border:1px solid #d7e2ec;border-radius:8px}.planner-timetable summary{cursor:pointer;font-weight:600}.planner-class-results{max-height:220px;overflow:auto}.planner-class-results button{text-align:left}

.planner-entry{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}.planner-entry>div{grid-column:1/-1}.planner-entry .planner-check{display:flex;align-items:center;justify-content:center;margin:4px 0 0 4px;min-width:28px;min-height:34px}.planner-check input{width:16px;height:16px;margin:0;accent-color:#23816b}.planner-recorded{box-shadow:inset 3px 0 #23816b}.planner-add{display:block;width:auto;margin:8px 0 0 auto}

.training-time-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:9px}.training-time-switch button{padding:5px 10px;font-size:12px;border-radius:6px}.training-time-switch button[aria-pressed=true]{background:#edf4f7;font-weight:700}.training-time-value{display:block;font-size:32px;margin-top:10px}.training-time-range{font-size:13px}.training-time-date[hidden]{display:none}.training-time-date select{width:auto}

.fighter-board-active #add,.fighter-board-active #quickLog,.fighter-board-active .studio-today{display:none!important}

nav button[data-view=setup]{display:none!important}.programme-setup{text-align:right;margin-bottom:8px}
.planner-calories { margin:0 0 .5rem; font-size:.82rem }
.planner-calories summary { cursor:pointer; font-weight:650 }
.planner-calories ul { margin:.35rem 0; padding-left:1rem }
.planner-calorie-settings { margin-top:1rem }
.planner-calorie-weight { display:flex; align-items:end; flex-wrap:wrap; gap:.5rem; margin:.6rem 0 }
.planner-calorie-weight input { width:8rem }

.planner-entry[draggable="true"] { cursor: grab }
.planner-day .planner-calories { margin: .6rem 0 0 }
body:has(.food-week) #quickLog { display:none }
body:has(#weeklyActivitySummary) #quickLog {display:none}
.weekly-activity-counts {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:.65rem;margin:0}
.weekly-activity-counts > div {display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;background:#edf4f7}
.weekly-activity-counts dt {font-weight:600}
.weekly-activity-counts dd {margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.food-week-controls {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.food-scroll {overflow-x:auto;padding-bottom:.5rem}
.food-days {display:grid;grid-template-columns:repeat(7,minmax(117px,1fr));gap:.55rem;align-items:stretch}
.food-carousel {container-type:inline-size;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.food-carousel .food-days {
  --food-gap:.55rem;
  --food-width:88cqw;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:max-content;
  gap:var(--food-gap);
  box-sizing:border-box;
  width:max-content;
  padding-inline:calc((100cqw - var(--food-width)) / 2);
}
.food-carousel .food-day {box-sizing:border-box;width:var(--food-width);scroll-snap-align:center;scroll-snap-stop:always}
.food-carousel .food-today {width:calc(var(--food-width) * .75)}
.food-week .card-head {flex-wrap:wrap;gap:.6rem}
.food-day {background:var(--surface,#fff);border:1px solid #dbe5ed;border-radius:14px;padding:.65rem;min-width:0}
.food-today {border-color:#d88668;background:#fff8f4}
.food-day header {display:flex;justify-content:space-between;gap:.2rem;flex-wrap:wrap}
.food-pie {width:min(100%,90px);aspect-ratio:1;border-radius:50%;background:#e8edf2;margin:.7rem auto}
.food-today .food-pie {width:min(100%,160px);position:relative}
.food-today .food-day-body {display:grid;gap:.75rem;align-items:start}
.food-today .food-day-details {justify-self:end;width:min(100%,16rem)}
@container (min-width:440px) {
  .food-today .food-day-body {grid-template-columns:minmax(0,1fr) minmax(7.5rem,1fr);align-items:start}
  .food-today .food-day-details {margin-top:.7rem}
}
.food-pie-grams {position:absolute;transform:translate(-50%,-50%);white-space:nowrap;color:#fff;text-shadow:0 1px 3px #152940;font-size:.7rem;font-weight:700}
.weekly-muscle-table {width:100%;border-collapse:collapse;margin:.5rem 0 1rem}
.weekly-muscle-table th,.weekly-muscle-table td {padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left}
.weekly-muscle-table thead th {background:#edf4f7}
.weekly-muscle-table tbody th {font-weight:500}
.weekly-muscle-table tr > :last-child {text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.food-macros {display:grid;gap:.15rem;font-size:.7rem}
.food-macros span {display:flex;align-items:center;gap:.25rem}
.food-macros b {margin-left:auto;white-space:nowrap}
.food-macros i {width:.5rem;height:.5rem;border-radius:50%;flex:none}
.food-kcal {display:block;margin:.55rem 0;font-size:.95rem}
.food-day ul {padding:0;margin:.4rem 0;list-style:none}
.food-day li+li {margin-top:.4rem}
.food-day li button {width:100%;text-align:left;padding:.3rem;overflow-wrap:anywhere;font-size:.8rem}
.food-day img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;margin-bottom:.25rem}

.food-list { margin-top: .5rem }
.food-list summary { cursor:pointer; padding:.45rem .35rem; border:1px solid #dbe5ed; border-radius:8px; font-size:.8rem }
.food-list p { font-size:.8rem; margin:.4rem 0 }
.food-rest { display:block; margin-top:.35rem; font-weight:700; letter-spacing:.08em }
.planner-entry > button[data-planner-start] { grid-column:1/-1; padding-top:4px }

.planner-totals {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-top:1rem}
.planner-totals > div {padding:.45rem;border-top:1px solid var(--line)}
.planner-totals small {display:block;font-size:.75rem}
.planner-week-hours {margin:.6rem 0 0;text-align:right}
@media(max-width:650px){.planner-totals{grid-template-columns:repeat(4,minmax(0,1fr))}}
.food-energy small { display:block; margin-bottom:.25rem } .food-energy-settings { margin:.6rem 0 1rem } .food-energy-settings input { max-width:9rem }
