.bottom-nav{grid-template-columns:repeat(8,minmax(0,1fr))!important}.bottom-nav .nav-btn{min-width:0;font-size:8px;overflow-wrap:normal;white-space:nowrap}
@media(max-width:780px){.admin-mobile-nav{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important}.admin-mobile-nav button{min-width:0;font-size:8px;padding-left:0;padding-right:0}}
[data-page="calendar"] .subpage-hero,[data-admin="calendar"] .coach-page-hero{background-image:url('header-checkin.webp');background-position:center}
.app-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.app-calendar-layout>.card{min-width:0;margin-bottom:16px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-toolbar h2{font:500 20px Georgia,serif;margin:0;text-transform:capitalize}.calendar-toolbar .btn{padding:8px 12px;min-width:36px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:10px;text-align:center;color:#cbbca7;margin:18px 0 8px}.calendar-day{position:relative;min-width:0;min-height:42px;aspect-ratio:1;border:1px solid transparent;border-radius:9px;background:#1c1916;color:#e5d9c9;cursor:pointer;font:inherit;font-size:13px}.calendar-day.today{border-color:#ad9472}.calendar-day.selected{background:#dfd0bb;color:#17130e}.calendar-dot{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:currentColor}.calendar-event{display:block;box-sizing:border-box;width:100%;text-align:left;margin-top:12px;padding:14px;border:1px solid #514536;border-radius:12px;background:#201b16;color:#eadac4;font:inherit;cursor:pointer}.calendar-event strong{font-size:13px}.calendar-event span{display:block;font-size:12px;color:#c7b59d;margin-top:5px}
@media(max-width:900px){.app-calendar-layout{grid-template-columns:minmax(0,1fr)}}

/* The month fills the page and every event is readable within its day. */
.app-calendar-layout{grid-template-columns:minmax(0,1fr);gap:0}
.calendar-month{padding:24px!important}
.calendar-days{gap:6px;align-items:stretch}
.calendar-day{aspect-ratio:auto;min-height:145px;padding:6px;cursor:default;text-align:left}
.calendar-day.selected{background:#2b241c;color:#eadac4;border-color:#dfd0bb}
.calendar-date{display:block;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-weight:600;min-width:28px;min-height:28px;cursor:pointer;padding:4px}
.calendar-day.selected .calendar-date{background:#dfd0bb;color:#17130e}
.calendar-cell-events{display:grid;gap:5px;margin-top:7px}
.calendar-cell-event{display:block;min-width:0;width:100%;border:0;border-left:2px solid #b99b70;border-radius:4px;background:#3b3023;color:#f0e6d6;padding:6px;text-align:left;font:inherit;font-size:12px;line-height:1.4;overflow-wrap:normal;white-space:nowrap;cursor:pointer}
.calendar-cell-event.is-completed{background:#29332c;border-color:#a6b8a8}
.calendar-cell-event small{display:block;font-size:.9em;opacity:.8;margin-top:3px}
.calendar-agenda{margin-top:8px}.workout-scheduled-day{display:inline;font:inherit;font-size:.8em;font-weight:400;color:var(--muted,#c9bcaa);white-space:normal}
@media(max-width:600px){.calendar-month{padding:12px!important}.calendar-days{gap:3px}.calendar-day{min-height:110px;padding:3px 1px}.calendar-weekdays{font-size:10px}.calendar-date{min-width:24px;min-height:26px;padding:2px;font-size:12px}.calendar-cell-events{gap:4px;margin-top:5px}.calendar-cell-event{font-size:10px;padding:4px 2px;border-left-width:1px}.calendar-toolbar h2{font-size:19px}}

.calendar-view-switch{display:inline-flex;gap:3px;border:1px solid #514536;border-radius:10px;padding:3px;margin:16px 16px 8px 0}
.calendar-view-switch button{border:0;border-radius:7px;padding:8px 18px;background:transparent;color:#dfd0bb;font:inherit;font-size:13px;cursor:pointer}
.calendar-view-switch button[aria-pressed="true"]{background:#dfd0bb;color:#17130e}
.calendar-view-month .calendar-cell-event{font-size:9px;line-height:1.3;padding:4px 2px;letter-spacing:normal}
.calendar-view-week .calendar-day{min-height:230px}
.calendar-view-week .calendar-date{border-radius:7px;font-size:12px;text-align:left}
.calendar-view-week .calendar-cell-event{font-size:13px}
.calendar-view-week .calendar-weekdays{display:none}
.calendar-view-week .calendar-days{margin-top:16px}
@media(max-width:600px){.calendar-view-month .calendar-cell-event{font-size:8px;line-height:1.25;padding:3px 1px}.calendar-view-week .calendar-days{grid-template-columns:minmax(0,1fr);gap:8px}.calendar-view-week .calendar-day{min-height:90px;padding:10px;display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:start}.calendar-view-week .calendar-cell-events{margin-top:0}.calendar-view-week .calendar-cell-event{font-size:13px;padding:8px}.calendar-view-week .calendar-date{font-size:13px;min-height:32px}.calendar-view-week .calendar-toolbar h2{font-size:16px}}

/* Task colors are shared by the month, week and day agenda. */
.calendar-cell-event,.calendar-event{--event-bg:#3b3023;--event-border:#b99b70;--event-text:#f0e6d6;background:var(--event-bg);border-color:var(--event-border);color:var(--event-text)}
.calendar-cell-event.event-workouts,.calendar-event.event-workouts{--event-bg:#4d301b;--event-border:#e5a05a;--event-text:#ffe0bd}
.calendar-cell-event.event-payments,.calendar-event.event-payments{--event-bg:#492626;--event-border:#df8585;--event-text:#ffe0e0}
.calendar-cell-event.event-checkin,.calendar-event.event-checkin{--event-bg:#3b3023;--event-border:#b99b70;--event-text:#f0e6d6}
.calendar-cell-event.event-progress,.calendar-event.event-progress{--event-bg:#24394f;--event-border:#8ab8e8;--event-text:#e0efff}
.calendar-cell-event.is-completed,.calendar-event.is-completed{--event-bg:#253e2e;--event-border:#91c9a2;--event-text:#e0f6e7;background:var(--event-bg);border-color:var(--event-border)}
.calendar-event span{color:inherit;opacity:.85}

/* Month rows fit the busiest day of that week, with four event previews at most. */
.calendar-view-month .calendar-days{grid-auto-rows:auto;align-content:start;align-items:stretch}
.calendar-view-month .calendar-day{min-height:36px;aspect-ratio:auto;padding:3px;align-self:stretch}
.calendar-view-month .calendar-date{min-width:24px;min-height:24px;padding:3px;font-size:11px}
.calendar-view-month .calendar-cell-events{gap:3px;margin-top:3px}
.calendar-view-month .calendar-cell-events:empty{margin-top:0}
.calendar-view-month .calendar-cell-event{font-size:8px;line-height:1.2;padding:3px 2px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.calendar-view-month .calendar-cell-event small{font-size:.9em;margin-top:1px}
.calendar-more{display:block;width:100%;border:0;border-radius:4px;background:transparent;color:#dfd0bb;font:inherit;font-size:16px;line-height:1;min-height:20px;padding:0;cursor:pointer}
.calendar-agenda{scroll-margin-top:20px}
@media(max-width:600px){.calendar-view-month .calendar-day{min-height:30px;padding:2px 1px}.calendar-view-month .calendar-date{font-size:10px;min-width:22px;min-height:22px;padding:2px}.calendar-view-month .calendar-cell-event{font-size:7px;padding:2px 1px;line-height:1.2}.calendar-view-month .calendar-cell-events{gap:2px;margin-top:2px}}

.calendar-add{position:absolute;right:2px;top:2px;border:0;background:transparent;color:#ccb8dc;border-radius:4px;font:inherit;font-size:17px;line-height:1;min-width:20px;min-height:24px;padding:1px;cursor:pointer}
.calendar-date{max-width:calc(100% - 23px)}
.calendar-cell-event.event-custom,.calendar-event.event-custom{--event-bg:#402b51;--event-border:#b68bd7;--event-text:#f1e1ff}
.calendar-task-description{white-space:pre-wrap;overflow-wrap:normal;white-space:nowrap;line-height:1.5}
.calendar-cell-event .calendar-task-description{display:block;margin-top:5px;font-size:.95em;opacity:.9}
.calendar-task-status{color:#e3a6a0;min-height:20px}
@media(max-width:600px){.calendar-view-month .calendar-add{min-width:15px;min-height:20px;font-size:14px;right:0;top:1px}.calendar-view-month .calendar-date{max-width:calc(100% - 15px);min-width:18px}.calendar-view-week .calendar-add{right:5px;top:5px}.calendar-view-week .calendar-cell-events{padding-right:18px}}

.calendar-cell-event.custom-by-coach,.calendar-event.custom-by-coach{--event-bg:#33254f;--event-border:#a496ee;--event-text:#ede8ff}
.calendar-cell-event.custom-by-client,.calendar-event.custom-by-client{--event-bg:#402b51;--event-border:#b68bd7;--event-text:#f1e1ff}
.calendar-task-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}

/* Keep all eight client destinations in one row, including Nutrition. */
.bottom-nav{box-sizing:border-box;grid-auto-flow:column;gap:0}.bottom-nav .nav-btn{white-space:nowrap;overflow-wrap:normal;font-size:clamp(6px,2vw,9px)}
