/* Schedule hierarchy: choose a view, see missions, refine only when needed. */
.mcPlanner .mcBrowseBar { display:block; }
.mcPlanner .mcPlannerTabs { width:100%; max-width:440px; }
.mcPlanner .mcPlannerTabs button { flex:1; justify-content:center; }
.mcBrowseOptions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.mcBrowseOptions .mcChips { flex-shrink:0; }
.mcFilterToggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:0; background:transparent; min-height:44px; padding:8px 0 8px 10px; color:#176b83; font:600 13px/1.3 var(--mc-body); white-space:nowrap; }
.mcFilterToggle[aria-expanded=true] { color:#0b0e11; }
.mcFilterToggle [data-mc-filter-count] { display:grid; place-items:center; background:#dceff5; border-radius:50%; width:21px; height:21px; font-size:11px; }
.mcFilterToggle [hidden],.mcFilterPanel[hidden],.mcCalendarCaption[hidden] { display:none; }
.mcFilterPanel { padding:20px; margin:0 0 16px; background:#fff; border:1px solid #dce0e4; border-radius:16px; }
.mcPlanner .mcFilterPanel .mcSearch input { width:100%; min-height:46px; font-size:16px!important; background:#f6f7f9!important; }
.mcPlanner .mcFilterPanel .mcFilterRow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:18px 0; }
.mcPage .mcFilterPanel .mcFilterRow>.mcProvider { min-width:0; width:100%; max-width:none; margin:0; }
.mcPlanner .mcFilterPanel .mcProvider select { font-size:16px!important; min-height:44px; text-overflow:ellipsis; }
.mcFilterPanel .mcSearch>span,.mcFilterPanel .mcProvider>span,.mcFilterPanel .mcDateRange label { font-size:12px; color:#526171; }
.mcFilterPanel .mcDateRange { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:480px; margin:18px 0; }
.mcFilterPanel .mcDateRange[hidden] { display:none; }
.mcFilterPanel .mcDateRange label { min-width:0; }
.mcFilterPanel .mcDateRange input { box-sizing:border-box; width:100%; min-width:0; font-size:16px; min-height:44px; }
.mcFilterFooter { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.mcFilterFooter .mcTimezone { gap:4px; }
.mcFilterFooter .mcTimezone select { font-size:16px!important; width:auto; max-width:none; padding-right:8px; }
.mcFilterFooter .mcButton { padding:10px 16px; min-height:44px; font-size:13px; }
.mcPlanner .mcActiveFilters { min-height:40px; box-sizing:border-box; padding:0 10px 0 12px; margin-bottom:12px; font-size:12px; }
.mcPlanner .mcActiveFilters>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mcPlanner .mcActiveFilters button { flex-shrink:0; }
.mcPlanner .mcCalendarTools { display:grid; grid-template-columns:44px minmax(0,190px) 44px auto; align-items:center; gap:8px; border:0; margin:12px 0 8px; padding:0; max-width:760px; }
.mcPlanner .mcCalendarTools[hidden] { display:none; }
.mcPlanner .mcCalendarTools label { min-width:0; }
.mcPlanner .mcCalendarTools input { box-sizing:border-box; min-width:0; width:100%; max-width:100%; padding:8px 6px; font-size:17px; font-weight:600; border:0; background:transparent; }
.mcPlanner .mcCalendarTools .mcRoundButton { border-color:#dce0e4; background:#fff; border-radius:50%; }
.mcPlanner .mcCalendarTools .mcTextButton { justify-self:end; margin:0; padding:8px 2px 8px 10px; }
.mcPlanner .mcDayPicker { padding:0; margin:0; }
.mcPlanner .mcMonthGrid { box-sizing:border-box; padding:10px; background:#fff; border:1px solid #dce0e4; border-radius:16px; gap:3px; }
.mcPlanner .mcDayPicker .mcMonthGrid button { display:flex; align-items:center; justify-content:center; gap:2px; height:48px; min-height:48px; border:0!important; border-radius:10px; background:transparent!important; padding:4px 0!important; }
.mcPlanner .mcDayPicker .mcMonthGrid button[disabled] { opacity:1; color:#a3abb3; }
.mcPlanner .mcDayPicker .mcMonthGrid button[aria-pressed=true] { color:#155569!important; background:#dceff5!important; box-shadow:inset 0 0 0 1px #75bfd1; }
.mcPlanner .mcDayPicker .mcMonthGrid strong { font-size:16px; line-height:22px; font-weight:600; }
.mcPlanner .mcWeekday { padding:4px; font-size:11px; }
.mcDayMarkers { display:flex; align-items:center; justify-content:center; gap:3px; min-height:5px; }
.mcDayMarkers i { width:4px; height:4px; border-radius:50%; background:#2695af; }
.mcPlanner .mcDayPicker>.mcTextButton { border:0!important; background:transparent!important; padding:4px 0!important; margin:2px 0 0; min-height:36px; font-size:12px; }
.mcCalendarCaption { margin:0; color:#526171; font-size:12px; line-height:1.5; }
.mcPlanner .mcCalendarSubscribe { padding:12px 16px; margin:14px 0; }
.mcPlanner .mcCalendarSubscribe summary { font-size:14px; min-height:20px; }
@media(max-width:760px) {
 .mcSchedulePage .mcPageHeader { padding:20px 0 16px!important; }
 .mcSchedulePage .mcPageHeader p { margin:8px 0 0; font-size:14px!important; }
 .mcPlanner .mcPlannerTabs { max-width:none; }
 .mcBrowseOptions { gap:8px; margin:8px 0; }
 .mcBrowseOptions .mcChips button { padding:8px 10px; font-size:13px; }
 .mcFilterToggle { font-size:12px; gap:5px; padding-left:4px; }
 .mcPlanner .mcFilterPanel .mcFilterRow { grid-template-columns:1fr 1fr; gap:14px 12px; }
 .mcFilterPanel { padding:16px; }
 .mcPlanner .mcCalendarTools { grid-template-columns:40px minmax(0,1fr) 40px auto; gap:4px; margin:8px 0; }
 .mcPlanner .mcCalendarTools .mcRoundButton { width:40px; height:44px; }
 .mcPlanner .mcCalendarTools input { font-size:16px; text-align:center; }
 .mcPlanner .mcCalendarTools .mcTextButton { font-size:12px; padding-left:8px; }
 .mcPlanner .mcMonthGrid { padding:8px; gap:2px; }
 .mcPlanner .mcDayPicker .mcMonthGrid button { height:44px; min-height:44px; }
}
.mcCalendarFoot { display:flex; align-items:center; justify-content:space-between; color:#526171; font-size:12px; max-width:760px; }
.mcPlanner .mcDayPicker .mcCalendarFoot button { min-height:36px; width:auto; border:0!important; background:transparent!important; padding:4px 0!important; margin:0; font-size:12px; }
.mcPlanner .mcCalendarFoot span { font-size:12px; }
@media(max-width:760px) {
 .mcSchedulePage:has([data-view=calendar]) .mcPageHeader p { display:none; }
 .mcSchedulePage:has([data-view=calendar]) .mcPageHeader { padding:16px 0!important; }
}
@media(max-width:360px) {
 .mcFilterFooter { flex-direction:column; align-items:stretch; }
 .mcFilterFooter .mcTimezone { justify-content:space-between; }
 .mcFilterFooter .mcButton { width:100%; }
}
/* On a wide screen, selecting a date keeps its missions alongside the calendar. */
@media(min-width:1000px) {
 .mcPlanner[data-view=calendar] { display:grid; grid-template-columns:minmax(320px,420px) minmax(0,1fr); column-gap:32px; grid-template-areas:"browse browse" "options options" "filters filters" "active active" "month status" "calendar results" "saved saved" "error error" "more more" "empty empty" "subscription subscription" "note note"; }
 .mcPlanner[data-view=calendar] .mcPlannerControls { display:contents; }
 .mcPlanner[data-view=calendar] .mcBrowseBar { grid-area:browse; }
 .mcPlanner[data-view=calendar] .mcBrowseOptions { grid-area:options; }
 .mcPlanner[data-view=calendar] .mcFilterPanel { grid-area:filters; }
 .mcPlanner[data-view=calendar] .mcActiveFilters { grid-area:active; }
 .mcPlanner[data-view=calendar] .mcCalendarTools { grid-area:month; }
 .mcPlanner[data-view=calendar] .mcDayPicker { grid-area:calendar; align-self:start; }
 .mcPlanner[data-view=calendar] .mcPlannerStatus { grid-area:status; align-self:center; }
 .mcPlanner[data-view=calendar] [data-mc-list] { grid-area:results; }
 .mcPlanner[data-view=calendar] [data-mc-saved-note] { grid-area:saved; }
 .mcPlanner[data-view=calendar] [data-mc-error] { grid-area:error; }
 .mcPlanner[data-view=calendar] [data-mc-more] { grid-area:more; justify-self:start; }
 .mcPlanner[data-view=calendar] [data-mc-empty] { grid-area:empty; }
 .mcPlanner[data-view=calendar] [data-mc-subscribe] { grid-area:subscription; }
 .mcPlanner[data-view=calendar] .mcDataNote { grid-area:note; }
 .mcPlanner[data-view=calendar] .mcDayGroup:first-child>h2 { margin-top:0; }
}
