/* Poppins from Google Fonts, distributed under the bundled SIL Open Font License. */
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url('fonts/poppins-light.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/poppins-regular.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/poppins-bold.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url('fonts/poppins-extrabold.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url('fonts/poppins-black.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:italic;font-weight:400;font-display:swap;src:url('fonts/poppins-italic.woff2') format('woff2')}
:root{--teal:#168b8f;--gold:#f2bd35;--mint:#def5eb;--ink:#183c3d;--line:#75c5c6}
*{box-sizing:border-box}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:#ead7b8}
header{background:var(--teal);color:white;padding:14px 20px;display:flex;align-items:center;gap:10px}.grow{flex:1}
.gold{background:var(--gold);padding:8px 20px;font-weight:800}.wrap{max-width:1450px;margin:auto;padding:16px}
.card{background:white;border:2px solid var(--line);border-radius:20px;padding:12px;box-shadow:0 7px 20px #2448}
.tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:14px}button{border:0;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}
.primary{background:var(--teal);color:white}.soft{background:var(--mint);color:var(--ink)}select,input,textarea{font:inherit;padding:9px;border:1.5px solid #9dcac9;border-radius:10px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dow{text-align:center;font-size:11px;font-weight:900}
.day{min-height:112px;background:#fffaf3;border:1px solid #d8e7e5;border-radius:12px;padding:7px;cursor:pointer}.today{outline:3px solid var(--teal);background:#effbf6}.dim{opacity:.45}
.ev{width:100%;display:block;margin-top:4px;padding:5px;border-radius:7px;background:var(--teal);color:white;text-align:left;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.stat{background:var(--mint);border-radius:13px;padding:11px;margin:8px 0}.agenda{border:1px solid #d6e6e4;border-radius:14px;overflow:hidden;margin-bottom:10px}.agendaHead{background:var(--teal);color:white;padding:7px 10px;font-weight:900}
.agendaItem{display:grid;grid-template-columns:105px 1fr auto;gap:10px;padding:10px;border-top:1px solid #e6eeee;cursor:pointer}
.modal{position:fixed;inset:0;background:#173d3d88;display:none;align-items:center;justify-content:center;padding:15px;z-index:10}.modal.show{display:flex}.modal.modalUnderlay{z-index:10}.modal.modalStackTop{z-index:11}.dialog{width:min(720px,100%);max-height:92vh;overflow:auto;background:white;border:3px solid var(--line);border-radius:24px;padding:18px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:5px}.full{grid-column:1/-1}label{font-size:11px;font-weight:900;text-transform:uppercase}.actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}
.warning{display:none;background:#fff0f0;border:2px solid #e9aaaa;padding:10px;border-radius:12px;color:#8e2020;margin-top:10px}.available{padding:9px;border-radius:10px;background:#eefaf5;margin:5px 0}.busy{background:#fff0f0}
@media(max-width:850px){.layout{grid-template-columns:1fr}.side{order:-1}.cal{grid-template-columns:1fr}.dow{display:none}.day{min-height:58px}.form{grid-template-columns:1fr}.full{grid-column:auto}.monthOnly{display:none}.agendaItem{grid-template-columns:90px 1fr}.agendaItem span{display:none}}
/* Refine the original layout and colors without replacing the prototype. */
:root{--teal:#0b8589;--gold:#f7cd62;--mint:#def5eb;--ink:#183c3d}
body{font-size:16px;background:#eee9de url('light-wood.png') repeat;background-size:760px auto;line-height:1.4}
[hidden]{display:none!important}h1{font-size:25px;line-height:1.2;margin:0 0 4px}header{flex-wrap:wrap}header small{font-size:12px;letter-spacing:.05em}
header{background:linear-gradient(110deg,#0c999c,#13ac9b)}header .soft{font-size:14px}
.findSpaceButton{display:inline-flex;align-items:center;justify-content:center;gap:7px}.findSpaceButton svg{flex:none}
.card{box-shadow:0 5px 16px #183c3d14;background:#fffffffa}.prototypeNote{font-size:13px;margin:0 0 10px;color:#385c5d;background:#f3fbf9ef;border-radius:10px;padding:8px 12px}
#feedbackNotice{font-size:14px;background:var(--mint);padding:8px 12px;border-radius:10px;margin-bottom:10px}
.dismissibleNotice{position:relative}.dismissibleNotice.noticeDismissed{display:none!important}.dismissibleNotice#prototypeNote,.dismissibleNotice#legacyImportNotice,.dismissibleNotice#feedbackNotice{padding-right:46px}
button.noticeDismiss{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#597b76;font-size:22px;font-weight:400;line-height:1}button.noticeDismiss:hover{background:#183c3d0d;color:var(--ink);filter:none}button.noticeDismiss:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.storageNotice:not([hidden]){display:block}.tools #filter{min-width:160px;width:320px;max-width:100%;background:white}.tools #range{font-size:18px}
button{font:inherit;font-size:14px;font-weight:700;line-height:1.3;min-height:38px}button:hover{filter:brightness(.96)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8d6900;outline-offset:3px}
button:disabled{cursor:default;opacity:.6}small{font-size:13px}.side h3{font-size:18px;margin:8px 0 12px}.stat>b{font-size:22px}.todayBooking{width:100%;text-align:left;color:var(--ink);white-space:normal}.todayBooking>b{font-size:15px}
.cal{grid-template-columns:repeat(7,minmax(0,1fr))}.dow{font-size:13px;padding:4px 0}.day{min-width:0;min-height:112px;background:#fbfdfb}.day.today{background:#e8f8f2;outline-width:2px}.dim{opacity:.6}.dayNumber{min-height:26px;min-width:26px;padding:2px 4px;background:transparent;color:var(--ink);border-radius:6px}.ev{font-size:12px;min-height:28px;padding:6px}.more{font-size:12px;padding:4px;background:var(--mint);color:var(--ink);min-height:26px}.cancelled{opacity:.65;text-decoration:line-through}
.agendaItem{border-radius:0;background:white;color:var(--ink);width:100%;text-align:left;font-weight:400;grid-template-columns:115px minmax(0,1fr) auto}.agendaItem>div{overflow-wrap:anywhere}.agendaItem .status{font-size:13px;white-space:normal}.agendaHead{font-size:15px}.agendaItem small{font-size:14px}
label{font-size:13px;letter-spacing:.035em}input,select,textarea{width:100%;min-width:0;background:white;color:var(--ink)}textarea{min-height:70px;resize:vertical}.dialog h2{margin:0 0 16px;font-size:23px}.dialog{max-height:calc(100dvh - 30px)}.modal-open{overflow:hidden}.form{grid-template-columns:repeat(2,minmax(0,1fr))}.available{display:flow-root;overflow-wrap:anywhere}.available button{float:right;margin-left:8px}.availabilitySummary{font-size:14px;font-weight:700}.warning{font-size:14px}
@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr) 245px}.tools #filter{width:240px}.wrap{padding:12px}.agendaItem{grid-template-columns:95px minmax(0,1fr)}.agendaItem .status{grid-column:2}}
@media(max-width:850px){.layout{grid-template-columns:1fr}.side{order:0}.side>.stat{display:inline-block;width:calc(50% - 5px);vertical-align:top}.tools #filter{width:auto;flex:1 1 100%}.tools .grow{display:none}.tools #range{margin-left:auto;font-size:16px}.monthOnly{display:inline-block}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.dow{display:block;font-size:12px}.day{padding:3px;min-height:80px}.dayNumber{font-size:13px}.ev{font-size:12px;padding:3px;min-height:24px}.agendaItem{grid-template-columns:90px minmax(0,1fr)}.agendaItem .status{display:block}.form{grid-template-columns:minmax(0,1fr)}.full{grid-column:auto}header{padding:14px}header>.grow{display:none}header>div:first-child{width:100%}.gold{font-size:13px;padding:9px 14px}.dialog{padding:15px}.actions{flex-wrap:wrap}.prototypeNote{font-size:12px}.wrap{padding:10px}.card{padding:10px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Location names stay in the original typeface; setting and floor use italic labels. */
.locationIndicators{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px;vertical-align:middle;margin:4px 0 0}
.locationTag{display:inline-block;font-family:Poppins,Arial,sans-serif;font-style:italic;font-size:14px;font-weight:400;line-height:1.3;padding:3px 9px;border:1px solid transparent;border-radius:999px;white-space:nowrap}
.locationTag.inside{color:#000;background:#e4f6f3;border-color:#abd9d4}.locationTag.outside{color:#173b70;background:#edf3fc;border-color:#bdcde5}
.locationTag.floor{color:#46575e;background:#f1f4f4;border-color:#d3dcdc}.locationTag.upstairs{color:#6d5021;background:#fff7e8;border-color:#e5d5b9}
.locationFilter{display:grid;gap:6px;width:320px;max-width:100%;min-width:0}.tools .locationFilter #filter{width:100%;min-width:0}.locationFilter>div:empty{display:none}
.agendaItem .locationIndicators,.todayBooking .locationIndicators{display:flex}.agendaItem .locationTag{display:inline-block}
.available>.locationIndicators{margin:4px 6px;display:inline-flex}.eventLocation{display:block;font:italic 12px/1.3 Poppins,Arial,sans-serif;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.95}
@media(max-width:1100px){.locationFilter{width:260px}}
@media(max-width:850px){.locationFilter{width:100%;flex:1 1 100%}.tools .locationFilter #filter{width:100%;max-width:100%}.agendaItem .locationIndicators{display:flex}.agendaItem .locationTag{display:inline-block}.locationTag{font-size:13px}.available>.locationIndicators{display:flex;margin:5px 0}}

/* Demand groups use the staff rankings; every option remains selectable. */
#location,#filter{font-weight:700;color:#111}
optgroup.demand-1,optgroup.demand-2,option.demand-1,option.demand-2{color:#111;font-weight:700}
optgroup.demand-3,option.demand-3,#location.demand-3,#filter.demand-3{color:#a0a5a8;font-weight:400}
optgroup.demand-3{font-weight:700}
.demandHeading{font-size:16px;color:#111;margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid #d6e6e4}
.demandHeading small{display:block;font-size:12px;font-weight:400;margin-top:2px}
.available .locationName{color:#111;font-weight:800}
.demandHeading.demand-3,.available.demand-3 .locationName{color:#a0a5a8}
.available.demand-3{background:#f3f4f4}
.available.demand-3.busy{background:#fff0f0}
.available.demand-3 .locationName{font-weight:400}
.available.demand-3 .locationTag.floor{color:#a0a5a8;background:#f7f8f8;border-color:#dadddf}
.eventLocation.inside{color:#000;background:#e4f6f3}
.eventLocation.outside{color:#173b70;background:#edf3fc}
.eventLocation.inside,.eventLocation.outside{padding:2px 4px;border-radius:4px;opacity:1}

/* Rich location menus preserve individual colors in every browser. */
.locationPicker{min-width:0;width:100%}
.locationPickerTrigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:9px;border:1.5px solid #9dcac9;border-radius:10px;background:#fff;text-align:left;font-size:16px;color:#111}
.locationPickerTrigger:disabled{cursor:not-allowed;border-color:#d5dcda;background:#f1f3f2;color:#8d9995;box-shadow:none}.locationPickerPlaceholder{font-style:italic;font-weight:600}
.locationPickerValue{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px}
.locationChoiceName{font-weight:700;color:#111;overflow-wrap:anywhere}
.locationPickerValue .locationIndicators{margin:0}
.locationPickerArrow{flex:none;color:#183c3d}
.locationPickerPanel{position:fixed;z-index:30;overflow-y:auto;overscroll-behavior:contain;padding:6px;background:#fff;border:2px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #183c3d33;text-align:left}
.locationPickerHeading{padding:10px 9px 6px;font-size:13px;font-weight:800;color:#111;border-top:1px solid #e6eeee;margin-top:4px}
.locationChoice{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;min-height:42px;padding:8px 28px 8px 9px;border-radius:7px;cursor:pointer;font-size:14px;line-height:1.4}
.locationChoice.unavailable{cursor:not-allowed;background:#fff6f6;color:#9b5353;opacity:.72}.locationChoice.unavailable:hover{background:#fff1f1}.locationAvailabilityState{margin-left:auto;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.locationAvailabilityState.available{background:#dff3e8;color:#176043}.locationAvailabilityState.notAvailable{background:#fde2e2;color:#9a3333}.spaceNotReady{opacity:.78}
.locationChoice .locationIndicators{margin:0}
.locationChoice .locationTag{font-size:13px;padding:2px 7px}
.locationChoice:hover{background:#f1faf7}
.locationChoice.active{background:#eef8f5;outline:2px solid #75c5c6;outline-offset:-2px}
.locationChoice[aria-selected="true"]::after{content:"✓";position:absolute;right:9px;color:#0b8589;font-weight:800}
.locationChoice.demand-3 .locationChoiceName,.locationPickerValue.demand-3 .locationChoiceName,.locationPickerHeading.demand-3{color:#a0a5a8}
.locationChoice.demand-3 .locationChoiceName,.locationPickerValue.demand-3 .locationChoiceName{font-weight:400}
.locationSectionHeading{font:italic 13px/1.4 Poppins,Arial,sans-serif;color:#000;background:#f1f7f5;padding:5px 9px;margin:7px 0 4px;border-radius:6px}
.locationSectionHeading.outside{color:#173b70;background:#edf3fc}
#availabilityResults .locationSectionHeading{font-size:15px;margin-top:14px}
#availabilityResults .available{clear:both}.availabilityResultMain{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.availabilityLocationDetails{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;min-width:0}.availabilityResultMain .locationName{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow-wrap:anywhere}.unavailableSpaceIcon,.availableSpaceCheck{display:inline-flex;align-items:center;justify-content:center;flex:none}.unavailableSpaceIcon{color:#9b2f2f}.notAvailableLabel{justify-self:end;padding:5px 9px;border:1px solid #e5b7b7;border-radius:999px;background:#f9dddd;color:#8d2b2b;font-size:12px;font-weight:800;white-space:nowrap}.availabilityConflict{display:block;margin-top:5px;padding-left:24px}.available .availabilityBookButton{float:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;justify-self:end;margin-left:0;padding:5px 9px}.availabilityActionArrow{flex:none}.rareAvailabilityBookButton{padding:5px 10px;text-align:center;line-height:1.2}.rareAvailabilityBookText{display:grid;gap:1px}.rareAvailabilityBookText strong{font-size:12px}.rareAvailabilityBookText small{font-size:10px;font-weight:600;white-space:nowrap}@media(max-width:540px){.availabilityResultMain{grid-template-columns:minmax(0,1fr) auto;align-items:start}.availabilityConflict{padding-left:0}.available .availabilityBookButton{align-self:start}}
.locationEmoji{display:inline-block;white-space:nowrap;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-style:normal;font-weight:400}
.partnerEmoji{display:inline-block;white-space:nowrap;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-style:normal;font-weight:400}
.demand-3 .locationEmoji{filter:grayscale(1);opacity:.5}

/* Centered calendar controls and reusable space filters. */
.calendarToolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin-bottom:12px}
.dateControls{display:grid;gap:5px;min-width:0}.dateControls>div{display:flex;gap:5px}.dateControls #range{font-size:14px;overflow-wrap:anywhere}
.dateControls>div:first-child{min-width:0;max-width:100%}.dateControls .todayDateLabel{font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;text-align:left;color:var(--ink);background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;min-height:0;white-space:normal}.dateControls .todayDateLabel:hover{background:transparent;filter:none;text-decoration:underline;text-underline-offset:3px}.dateControls .todayDateLabel:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.calendarToolbar .locationFilter{justify-self:end;width:100%;max-width:320px}
.viewSwitch{display:flex;gap:3px;padding:4px;border:1px solid #a6d7cb;border-radius:999px;background:var(--mint);justify-self:center}
.viewSegment{color:var(--ink);background:transparent;white-space:nowrap;min-height:38px;padding:8px 15px;font-size:14px}
.viewSegment.active{background:var(--teal);color:#fff;box-shadow:0 2px 5px #183c3d22}
.quickFilters{margin-bottom:14px;padding:14px}.quickFilterHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.quickFilterHeader h2{font-size:16px;margin:0 0 3px}.quickFilterHeader p{font-size:12px;margin:0;color:#56706e}
.quickFilterStatus{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:12px;color:#456761;text-align:right}
.quickFilterStatus button{font-size:12px;min-height:30px;padding:5px 10px;white-space:nowrap}
.quickFilterGroup{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;margin-top:8px;align-items:start}
.quickFilterGroup h3{font-size:12px;margin:7px 0 0;color:#111}.spacePills{display:flex;flex-wrap:wrap;gap:6px}
.spacePill{display:inline-flex;align-items:center;max-width:100%;background:#f1faf6;border:1px solid #b7d8d0;border-radius:999px;overflow:hidden}
.spacePill.selected{background:var(--teal);border-color:var(--teal)}
.spacePillToggle{background:transparent;color:#111;min-height:32px;padding:6px 10px;font-size:12px;text-align:left;overflow-wrap:anywhere;border-radius:999px;line-height:1.35}
.spacePill.selected .spacePillToggle{color:white}.spacePillRemove{min-height:24px;height:24px;width:24px;min-width:24px;margin-right:5px;padding:0;font-size:19px;font-weight:400;line-height:1;background:#ffffffcf;color:#3b6866}
.demandGroup-3{padding-top:8px;border-top:1px solid #dde3e0}.demandGroup-3 h3{color:#66736d}.spacePill.demand-3{background:#f0f2f1;border-color:#cbd2ce}.spacePill.demand-3 .spacePillToggle{color:#68736e;font-weight:400}.spacePill.demand-3 .locationEmoji{filter:grayscale(1);opacity:.5}.spacePill.demand-3.selected{background:var(--teal);border-color:var(--teal)}.spacePill.demand-3.selected .spacePillToggle{color:#fff;font-weight:700}.spacePill.demand-3.selected .locationEmoji{filter:none;opacity:1}
.spacePillToggle:focus-visible,.spacePillRemove:focus-visible{outline-offset:-3px}
.dailyAgendaHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.dailyAgendaHead button{font-size:12px;min-height:30px;padding:6px 10px;white-space:nowrap}
.calendarScheduleHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;margin-bottom:12px}.agenda>.calendarScheduleHeader{border-radius:0;margin-bottom:0}.calendarScheduleHeading{min-width:0}.calendarScheduleHeading h2{font-size:16px;font-weight:800;line-height:1.4;margin:0;overflow-wrap:anywhere}.calendarFilterContext{display:inline-block;width:fit-content;max-width:100%;padding:2px 8px;border-radius:999px;background:#fff;color:var(--teal);font-size:12px;font-weight:800;line-height:1.35;margin:4px 0 0;overflow-wrap:anywhere}.calendarScheduleHeader>button{font-size:12px;min-height:32px;padding:7px 11px;white-space:nowrap;flex:none}.pastScheduleHeader h2{color:#e1e5e2}
.calendarDateNavigation{display:flex;align-items:center;gap:5px;min-width:0}.calendarDateNavigation h2{min-width:0}.calendarHeaderArrow{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:32px;min-height:32px;padding:0;border-radius:8px;background:transparent;color:inherit;font-family:inherit;font-size:29px;font-weight:800;line-height:1}.calendarHeaderArrow:hover{background:#ffffff20;filter:none}.calendarHeaderArrow:focus-visible{outline:2px solid #fff;outline-offset:0;background:#ffffff20}.pastScheduleHeader .calendarHeaderArrow{color:#e1e5e2}.calendarScheduleHeading .calendarFilterContext{max-width:calc(100% - 35px);margin-left:35px}
@media(max-width:540px){.calendarScheduleHeader{align-items:flex-start;flex-wrap:wrap;padding:10px}.calendarScheduleHeading h2{font-size:15px}}
.emptySchedule{padding:20px;color:#56706e;font-size:14px}.dayView .agenda{margin-bottom:0}
.weekGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekDay{min-width:0;border:1px solid #d7e7e2;border-radius:12px;background:#fbfdfb;padding:6px;display:flex;flex-direction:column;align-items:stretch;gap:7px}
.weekDay.weekToday{border:2px solid var(--teal);background:#eaf8f2;padding:5px}.weekDayHeading{display:flex;align-items:center;justify-content:space-between;padding:5px;background:transparent;color:var(--ink);border-radius:6px;font-size:12px}.weekDayHeading b{font-size:19px}
.weekEvent{display:flex;flex-direction:column;gap:5px;padding:8px;border-radius:8px;background:var(--mint);color:var(--ink);text-align:left;font-size:12px;font-weight:400;overflow-wrap:anywhere}.weekEvent>small{font-size:11px}.weekEvent .locationIndicators{display:flex;margin:0}.weekEvent .locationTag{font-size:11px;padding:2px 5px}
.weekEmpty{font-size:12px;color:#718780;text-align:center;margin:12px 0}.weekAdd{margin-top:auto;font-size:12px;min-height:30px;padding:5px}
@media(max-width:1050px){.calendarToolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.viewSwitch{grid-row:1;grid-column:1/-1}.dateControls{grid-row:2}.calendarToolbar .locationFilter{grid-row:2}.quickFilterGroup{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:850px){.weekGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekDay:last-child{grid-column:1/-1}.quickFilterGroup{grid-template-columns:1fr;gap:5px}.quickFilterGroup h3{margin:2px 0}.quickFilterHeader{flex-wrap:wrap}.quickFilterStatus{justify-content:flex-start;text-align:left}.agendaItem .locationEmoji{display:inline-block}}
@media(max-width:540px){.calendarToolbar{grid-template-columns:minmax(0,1fr)}.viewSwitch{width:100%;justify-content:center}.viewSegment{flex:1;font-size:13px;padding:8px 10px}.dateControls{justify-items:center}.calendarToolbar .locationFilter{grid-row:3;max-width:none}.quickFilters{padding:11px}.spacePillToggle{font-size:12px}.weekGrid{grid-template-columns:minmax(0,1fr)}.weekDay{min-height:120px}.dailyAgendaHead{flex-wrap:wrap}.quickFilterHeader p{line-height:1.5}}
.filterCardTopRow{display:flex;align-items:center;gap:18px;flex-wrap:nowrap;min-width:0;padding:3px}
.filterCardSummary{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:38px;color:var(--ink);background:transparent;padding:0;text-align:left;border-radius:7px;flex:none;white-space:nowrap}
.filterCardSummary::-webkit-details-marker{display:none}.filterCardSummary strong{font-size:16px;flex:none}.filterCardSummary #filterTotals{font-size:14px;font-weight:700;line-height:1.35;color:var(--ink);margin-left:0;text-align:left;padding:6px 11px;background:var(--mint);border:1px solid #b7d8d0;border-radius:999px}
.filterCardChevron{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;color:#075d61;background:var(--mint)}.filterCardSummary[aria-expanded="true"] .filterCardChevron svg{transform:rotate(180deg)}
.filterHeadingText{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;min-width:0}
.quickViewControls{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.quickViewLabel{flex:none;font-size:13px;font-weight:300;letter-spacing:.07em;white-space:nowrap;color:var(--ink)}
.spaceShortcutSwitch{display:flex;align-items:stretch;flex-wrap:nowrap;gap:3px;padding:4px;border:1px solid #a6d7cb;border-radius:999px;background:var(--mint);flex:1;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7bbdb2 transparent;scroll-padding-inline:4px}
.spaceShortcut{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 11px;background:transparent;color:var(--ink);font-size:14px;white-space:nowrap;flex:none}
.allSpacesIcon{flex:none}
.spaceShortcut[aria-pressed="true"]{background:var(--teal);color:white;box-shadow:0 2px 5px #183c3d22}.spaceShortcut:focus-visible{outline-offset:-2px}
@media(max-width:850px){.filterCardTopRow{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7bbdb2 transparent}.quickViewControls{flex:none}.spaceShortcutSwitch{flex:none;max-width:none;overflow:visible}}
@media(max-width:540px){.filterCardTopRow{gap:12px}.spaceShortcut{font-size:13px;padding:8px}}
.filterCardSummary:focus-visible{outline:3px solid #8d6900;outline-offset:3px;border-radius:7px}.filterCardBody{margin-top:12px;border-top:1px solid #d6e6e0;padding-top:12px}
.partnerFilters{margin-top:14px;padding:12px;background:#fff5df;border:1px solid #ead394;border-radius:13px}
.partnerFilters .quickFilterHeader{margin-bottom:10px}.partnerFilters .quickFilterHeader p,.partnerFilters .quickFilterStatus{color:#74623d}.partnerFilters .quickFilterStatus a{color:#68501f;font-size:12px;white-space:nowrap;text-underline-offset:3px}
.partnerFilters .spacePill{background:#fffdf8;border-color:#e4cb91}.partnerFilters .spacePill.selected{background:var(--gold);border-color:#cda442}.partnerFilters .spacePill.selected .spacePillToggle{color:#332910}.partnerFilters .spacePillRemove{color:#73581e;background:#fff9eddd}
.partnerFilters .soft{background:#f8e8c2;color:#65501f}.partnerFilters h3{font-size:12px;margin:12px 0 7px;color:#74623d}.fieldHelp{font-size:12px;color:#56706e}
@media(max-width:540px){.filterCardSummary{gap:8px}.filterCardSummary strong{font-size:14px}.filterCardSummary #filterTotals{font-size:14px;padding:6px 9px}.partnerFilters{padding:10px}}
.rentalSummaryCard{grid-column:1/-1;grid-row:2;min-width:0;border:1px solid #c3ded5;border-radius:15px;overflow:hidden;background:white}
.rentalSummaryHeader{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid #d8e8e1}
.rentalSummaryHeader h2{font-size:16px;margin:0}.rentalSummaryHeader p{font-size:13px;color:#456761;margin:0}
.rentalSummaryColumns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.rentalSummarySection{padding:14px 16px;min-width:0;overflow-wrap:anywhere}
.regularRentals{background:#f0faf5}.occasionalRentals{background:#fff7e6;border-left:1px solid #e8d7af}
.rentalSummarySection h3{display:table;max-width:100%;font-size:16px;font-weight:700;margin:0 0 9px;padding:7px 13px;border:1px solid #b7d8cc;border-radius:999px;background:#def2e8}.occasionalRentals h3{background:#fbedc7;border-color:#e4ce91}.rentalSummaryDescription{font-size:14px;margin:0 0 12px;color:#46625b}.occasionalRentals .rentalSummaryDescription{color:#705c37}
.rentalSummaryText{font-size:16px;line-height:1.55;color:#243e3a;padding-top:12px;border-top:1px solid #c5dfd4}.occasionalRentals .rentalSummaryText{border-top-color:#e4d4ad}.rentalSummaryText p{margin:0}.rentalSummaryText p+p{margin-top:10px;padding-top:10px;border-top:1px solid #183c3d15}
.rentalSummaryEmpty{color:#526961}.rentalSummaryMore{margin-top:12px}.rentalSummaryMore summary{cursor:pointer;font-size:14px;color:#286360;text-decoration:underline;text-underline-offset:3px}.rentalSummaryMore[open] summary{margin-bottom:10px}
.parkBanner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px}.internalUsePill{display:inline-block;max-width:100%;padding:6px 13px;border:0;border-radius:999px;background:#fff;color:#215d46;font-size:12px;font-weight:700;line-height:1.4}
.summaryRooms{display:grid;grid-template-columns:repeat(var(--summary-columns,4),minmax(0,1fr));gap:18px 14px}.summaryRoom{min-width:0}.summaryRoom h4{font-size:14px;line-height:1.4;font-weight:800;margin:0 0 12px;color:#183c3d}.summaryRoom .rentalSummaryEmpty{font-size:14px}.occasionalRentals .summaryRooms{grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr))}
.summaryBookingCard{min-width:0}.summaryBookingCard+.summaryBookingCard{margin-top:14px;padding-top:14px;border-top:1px solid #c8dfd4}.occasionalRentals .summaryBookingCard+.summaryBookingCard{border-top-color:#e4d4ad}
.summaryBookingPill{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:48px;padding:8px 11px;margin-bottom:8px;border:1px solid #9acbbb;border-radius:18px;background:#def2e8;color:#154c45;text-align:left;font-size:12px;font-weight:400}.summaryBookingPill>span{min-width:0}.summaryBookingPill strong{font-size:12px;font-weight:700}.summaryBookingTime{display:block;font-size:12px;line-height:1.5}.summaryBookingPill svg{flex:none}.summaryBookingPill:hover{background:#ccecdf}.occasionalRentals .summaryBookingPill{background:#fbedc7;border-color:#d9bf78;color:#57451e}.occasionalRentals .summaryBookingPill:hover{background:#f8e4ac}
.rentalSummaryText .summaryBookingCard p{margin:3px 0 0;padding:0;border:0;overflow-wrap:anywhere}.summaryBookingTitle{font-size:13px;font-weight:700;line-height:1.45}.summaryBookingMeta{font-size:12px;line-height:1.5;color:#4a655c}.occasionalRentals .summaryBookingMeta{color:#705c37}.summaryRoom .rentalSummaryMore summary{font-size:12px;line-height:1.5}
.bookingDetailsDialog{width:min(640px,100%)}.bookingDetailsHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.bookingDetailsHeader h2{margin:0}.bookingDetailsClose{flex:none;width:38px;height:38px;padding:0;font-size:27px;font-weight:400}.bookingDetailsName{margin:0 0 16px;padding:13px 15px;background:var(--mint);border-radius:14px;font-size:19px;overflow-wrap:anywhere}.bookingDetailsFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:0}.bookingDetailsFields dt{font-size:12px;font-weight:700;color:#527268;margin-bottom:3px}.bookingDetailsFields dd{margin:0;font-size:14px;overflow-wrap:anywhere}.bookingDetailsDates,.bookingDetailsNotes{margin-top:17px;padding-top:14px;border-top:1px solid #d8e8e1}.bookingDetailsDates h3,.bookingDetailsNotes h3{margin:0 0 6px;font-size:14px}.bookingDetailsDates ul{padding-left:20px;margin:0;font-size:14px;line-height:1.7}.bookingDetailsNotes p{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.bookingDetailsFields .locationEmoji,.bookingDetailsFields .partnerEmoji{display:inline-block;margin-right:3px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-style:normal}.bookingDetailStatus{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;line-height:1.2}.bookingDetailStatus.booked,.bookingDetailStatus.concluded{background:#dff4e8;border-color:#aed6bf;color:#1f623a}.bookingDetailStatus.pending,.bookingDetailStatus.notApproved{background:#fff0c9;border-color:#e3c777;color:#775615}.bookingDetailStatus.cancelled{background:#f3dddd;border-color:#dfb4b4;color:#8b3030}
.bookingEditSuccessDialog{width:min(480px,100%)}.bookingEditSuccessMessage{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid #acd8c0;border-radius:14px;background:#e8f8ef;color:#1d5937}.bookingEditSuccessMessage>span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:50%;background:#25764a;color:#fff;font-size:21px;font-weight:800}.bookingEditSuccessMessage p{margin:0;font-size:16px;font-weight:700;line-height:1.5}
.summaryBookingCard{cursor:pointer}.bookingDetailsDates label{display:block;margin-bottom:6px}.bookingDetailsDates select{font-size:14px}.bookingDetailsActions{margin-top:18px;padding-top:14px;border-top:1px solid #d8e8e1}.bookingDetailsActions>p{font-size:12px;line-height:1.6;color:#526e65;margin:0}.iconAction{display:inline-flex;align-items:center;justify-content:center;gap:7px}.iconAction svg{flex:none}.dangerSoft{background:#fbe7e3;color:#912e25}.dangerAction{background:#a83930;color:#fff}.bookingScopeDialog{width:min(560px,100%)}.scopeDescription{font-size:15px;overflow-wrap:anywhere}.scopeHint{padding:12px;background:#fff6df;border:1px solid #e6d09b;border-radius:12px;font-size:14px;line-height:1.6}.deleteBookingDescription{display:grid;gap:7px;padding:14px;border-radius:14px;background:#fff2e9;font-size:14px;overflow-wrap:anywhere}.deleteBookingDescription strong{font-size:16px}.deleteBookingError{color:#912e25;font-size:14px;line-height:1.5}.deleteBookingError:empty{display:none}#deleteBookingScope{font-size:15px;line-height:1.6}
.bookingChoiceGroup{display:grid;gap:9px;margin:0;padding:0;border:0}.bookingChoiceGroup legend{margin-bottom:8px;font-size:13px;font-weight:800;color:#527268}.bookingChoice{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #b8d8ce;border-radius:13px;background:#f7fcfa;cursor:pointer}.bookingChoice:has(input:checked){border-color:#0d8e91;background:#e1f5ee;box-shadow:0 0 0 1px #0d8e91}.bookingChoice.disabled{background:#f1f3f2;border-color:#d7dfdc;color:#8a9692;cursor:not-allowed}.bookingChoice input,.bookingAvailabilityChoice input{flex:none;width:auto;margin:3px 0 0;accent-color:#0d8e91}.bookingChoice span{display:grid;gap:3px}.bookingChoice strong{font-size:14px;line-height:1.35}.bookingChoice small{font-size:12px;line-height:1.4;font-weight:400;color:#527268}.bookingChoice.disabled small{color:#8a9692}.numberedChoices{margin-top:2px}.bookingUpdateOptionsDialog{max-height:min(92vh,720px);overflow:auto}.bookingUpdateChoices{margin-top:13px}.bookingUpdateChoices h3{margin:0 0 7px;font-size:14px}.bookingAvailabilityContext{margin:0 0 9px;font-size:13px;color:#527268}.bookingAvailabilityList{display:grid;gap:7px;max-height:210px;padding:2px 4px 2px 0;overflow-y:auto;overscroll-behavior:contain}.bookingAvailabilityChoice{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid #c8ddd6;border-radius:11px;background:#fff;cursor:pointer}.bookingAvailabilityChoice:has(input:checked){border-color:#0d8e91;background:#e7f7f1}.bookingAvailabilityChoice span{display:grid;gap:2px}.bookingAvailabilityChoice strong{font-size:13px}.bookingAvailabilityChoice small{font-size:11px;color:#527268}.timeChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.bookingAvailabilityEmpty{margin:0;padding:11px;border-radius:11px;background:#f2f4f3;color:#66736f;font-size:13px}.bookingUpdateOptionsDialog>.actions{position:sticky;bottom:-20px;margin:14px -20px -20px;padding:12px 20px 20px;background:#fff}
.timeRangeField{gap:8px}.timeRangeLabel{font-size:13px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.timeRangeControl{position:relative;height:56px;margin:2px 9px 0}.timeRangeTrack{position:absolute;top:12px;left:0;right:0;height:6px;border-radius:999px;background:#c9cfcd;box-shadow:inset 0 1px 2px #183c3d22}.timeRangeSelection{position:absolute;top:0;height:100%;border-radius:inherit;background:#118f91}.timeRangeInput{position:absolute;top:0;left:0;width:100%;height:30px;margin:0;padding:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none}.timeRangeInput::-webkit-slider-runnable-track{height:6px;background:transparent}.timeRangeInput::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border:3px solid #fff;border-radius:50%;background:#126865;box-shadow:0 1px 5px #183c3d66;pointer-events:auto;cursor:grab;appearance:none;-webkit-appearance:none}.timeRangeInput::-moz-range-track{height:6px;background:transparent}.timeRangeInput::-moz-range-thumb{width:16px;height:16px;border:3px solid #fff;border-radius:50%;background:#126865;box-shadow:0 1px 5px #183c3d66;pointer-events:auto;cursor:grab}.timeRangeInput:focus-visible::-webkit-slider-thumb{outline:3px solid #f2c94c;outline-offset:2px}.timeRangeInput:focus-visible::-moz-range-thumb{outline:3px solid #f2c94c;outline-offset:2px}.timeRangeStart{z-index:3}.timeRangeEnd{z-index:4}.timeRangeMarkers{position:absolute;top:31px;left:0;right:0;display:flex;justify-content:space-between;color:#8a9491;font-size:10px;font-weight:600}.timeRangeMarkers span{transform:translateX(-50%)}.timeRangeMarkers span:first-child{transform:none}.timeRangeMarkers span:last-child{transform:none}.timeRangeSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #c6ded6;border-radius:12px;background:#f2faf7}.timeRangeSummary>span{display:grid;gap:2px;padding:8px 11px}.timeRangeSummary>span+span{border-left:1px solid #c6ded6}.timeRangeSummary small{color:#5a746c;font-size:10px;font-weight:700;text-transform:uppercase}.timeRangeSummary strong{font-size:14px}.timeSelectFallback{display:none}@media(max-width:500px){.timeRangeControl{margin-inline:5px}.timeRangeMarkers{font-size:9px}.timeRangeSummary>span{padding:7px}.timeRangeSummary strong{font-size:12px}}
.timeRangeField{padding:11px 12px 12px;border:1px solid #c6ded6;border-radius:14px;background:#f2faf7}.timeRangeSummary{margin:0 -12px -12px;border:0;border-top:1px solid #c6ded6;border-radius:0 0 13px 13px;background:#e8f6f1}.timeRangeControl{height:66px;margin-inline:24px;border:0;background:transparent}.timeRangeControl::before{content:"";position:absolute;top:0;left:0;right:0;height:38px;border:1.5px solid #9dcac9;border-radius:15px;background:#fff}.timeRangeTrack{top:16px;left:18px;right:18px;z-index:1}.timeRangeInput{top:4px;left:18px;width:calc(100% - 36px)}.timeRangeMarkers{top:42px;left:0;right:0}@media(max-width:500px){.timeRangeControl{margin-inline:10px}.timeRangeTrack{left:16px;right:16px}.timeRangeInput{left:16px;width:calc(100% - 32px)}}
.lockedBookingParty{padding:11px 13px;border:1.5px solid #9dcac9;border-radius:10px;background:#e8f6f1;font-weight:800}.bookingQuestion{margin:0;padding:11px 12px;border:1px solid #c6ded6;border-radius:14px;background:#f7fcfa}.bookingQuestion legend{padding:0 4px;font-size:13px;font-weight:900;letter-spacing:.02em}.choiceSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.choiceSwitch label{position:relative;text-transform:none;letter-spacing:0}.choiceSwitch input{position:absolute;opacity:0;pointer-events:none}.choiceSwitch span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:7px 10px;border:1px solid #b8d8ce;border-radius:999px;background:#fff;text-align:center;cursor:pointer}.choiceSwitch input:checked+span{border-color:#0b8589;background:#dff4eb;color:#15554b;box-shadow:inset 0 0 0 1px #0b8589}.additionalDayChoices{margin-top:11px;padding-top:10px;border-top:1px solid #d2e5de}.additionalDayChoices p{margin:0 0 10px;font-size:12px;color:#527268}.additionalDayGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.additionalDayChoice{position:relative;text-transform:none;letter-spacing:0}.additionalDayChoice input{position:absolute;opacity:0}.additionalDayChoice span{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:8px 11px;border:1px solid #c7ddd6;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.additionalDayChoice span::before{content:"";display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border:1.5px solid #7faaa1;border-radius:4px;background:#fff;color:#fff;font-size:13px;font-weight:900;line-height:1}.additionalDayChoice input:focus-visible+span{outline:3px solid #8d6900;outline-offset:2px}.additionalDayChoice input:checked+span{border-color:#0b8589;background:#dff4eb;font-weight:800}.additionalDayChoice input:checked+span::before{content:"✓";border-color:#0b8589;background:#0b8589}.bookingDayProgress{margin:0;padding:8px 10px;border-radius:10px;background:#e1f2ff;color:#24526a;font-size:13px;font-weight:700}.sessionWeeksWrap{display:grid;gap:5px;margin-top:10px}.sessionFinalDates{margin:2px 0 0;padding:8px 10px;border-radius:10px;background:#e8f6f1;font-size:12px;line-height:1.5}.specialRequestField{padding:10px 12px;border:1px solid #c6ded6;border-radius:14px;background:#f7fcfa}.checkChoice{display:flex;align-items:center;gap:9px;text-transform:none}.checkChoice input{width:20px;height:20px;accent-color:#0b8589}.specialRequestField>small{padding-left:29px;color:#527268}@media(max-width:560px){.choiceSwitch,.additionalDayGrid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1050px){.regularRentals .summaryRooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.bookingDetailsFields{grid-template-columns:minmax(0,1fr)}.summaryRooms{gap:16px 10px}.summaryBookingPill{padding:8px}.internalUsePill{font-size:11px}}
@media(max-width:1050px){.rentalSummaryCard{grid-row:3}}
@media(max-width:650px){.rentalSummaryColumns{grid-template-columns:minmax(0,1fr)}.occasionalRentals{border-left:0;border-top:1px solid #e8d7af}.rentalSummarySection{padding:12px}.rentalSummaryHeader{padding:10px 12px}}
@media(max-width:540px){.rentalSummaryCard{grid-row:4}}
/* Keep the quick-view controls visible by compacting the header labels. */
.filterCardTopRow{gap:10px;padding:2px}.filterCardSummary{gap:6px}.filterHeadingText{gap:6px}.filterCardSummary strong{font-size:13px}.filterCardSummary #filterTotals{font-size:12px;padding:4px 7px}.filterCardChevron{width:26px;height:26px}.filterCardChevron svg{width:18px;height:18px}.quickViewControls{gap:6px}.quickViewLabel{font-size:12px;letter-spacing:.04em}
@media(min-width:851px) and (max-width:1450px){.spaceShortcut{font-size:13px;padding:8px 6px;gap:4px}.spaceShortcutSwitch{gap:1px}.allSpacesIcon{width:15px;height:15px}}
/* Date and range dropdowns retain access to previous bookings. */
.dateControls>.dateRangePicker{position:relative;display:block;min-width:0}.dateRangeButton{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 7px;border-radius:8px;background:#edf8f3;color:var(--ink);text-align:left;min-height:32px}.dateRangeButton svg{flex:none}.dateRangeButton.pastDateRange{color:#697570;background:#f1f3f2}
.datePickerPanel{position:absolute;top:calc(100% + 7px);left:0;z-index:30;width:340px;max-width:calc(100vw - 40px);padding:14px;background:#fff;border:1px solid #8ecbc0;border-radius:16px;box-shadow:0 10px 30px #183c3d26}
.datePickerHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.datePickerHeader strong{font-size:16px}.datePickerHeader button{min-height:28px;width:28px;padding:0;font-size:20px;font-weight:400}
.datePickerNavigation{display:flex;align-items:center;gap:6px;margin-bottom:12px}.datePickerNavigation>button{flex:none;width:28px;min-height:34px;padding:0;font-size:20px}.datePickerNavigation select{font-size:13px;padding:6px;flex:1;width:0}.datePickerNavigation input{font-size:14px;padding:6px;width:84px}.datePickerNavigation select[hidden]+input{flex:1;text-align:center}
.pickerDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.pickerWeekday{font-size:11px;font-weight:700;text-align:center;color:#5b7068;padding:4px 0}
.pickerChoice{border:1px solid transparent;border-radius:8px;min-height:34px;padding:5px 2px;font-size:13px;font-weight:600;background:#f5fbf8;color:var(--ink)}.pickerChoice.pastDate{color:#6b7671;background:#f2f4f3}.pickerChoice.adjacentMonth{background:white;color:#8a938f}.pickerChoice.selected{background:var(--mint);border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.pickerChoice[aria-current="date"]{text-decoration:underline;text-underline-offset:4px}.pickerChoice:hover{background:#dff2e9;filter:none}.pickerChoice:focus-visible{outline-offset:0}
.pickerChoice:disabled,.pickerChoice:disabled:hover{cursor:not-allowed;border-color:#f0f2f1;background:#fafbfa;color:#b7bfbb;filter:none;opacity:1}
.pickerWeeks{display:grid;gap:5px}.pickerWeeks .pickerChoice{padding:8px;text-align:left;font-size:14px}.pickerMonths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pickerMonths .pickerChoice{padding:10px 3px}.datePickerHint{font-size:12px;line-height:1.5;margin:12px 0 0;color:#61736b}.datePickerError{color:#8e2020;font-size:13px;margin:0 0 9px}
.day.pastDate,.weekDay.pastDate{background:#f3f5f4}.day.pastDate .dayNumber,.weekDay.pastDate .weekDayHeading{color:#697570}.pastAgenda .dailyAgendaHead{background:#edf1ee;color:#697570}
@media(max-width:540px){.datePickerPanel{left:50%;transform:translateX(-50%)}.dateRangeButton{font-size:13px}}
.ev,.agendaItem,.weekEvent,.todayBooking{position:relative}.bookingEye{position:absolute;right:8px;top:50%;transform:translateY(-50%);flex:none}.ev{padding-right:28px}.agendaItem{padding-right:40px}.weekEvent,.todayBooking{padding-right:30px}.weekEvent .bookingEye{top:10px;transform:none}
/* Booked days expand above the grid, keeping neighboring days in place. */
.calendarDay{--day-height:240px;position:relative;height:var(--day-height);min-height:0;padding:0;border:0;background:transparent;cursor:pointer;isolation:auto}
.weekDay.calendarDay{--day-height:380px;padding:0;border:0;display:block}.calendarDay.today{outline:0}.calendarDay.dim{opacity:1}
.day.calendarDay{--day-height:112px;height:auto;min-height:var(--day-height)}.day.calendarDay.hasBookings{--day-height:240px}
.daySurface{position:absolute;top:0;left:0;width:100%;min-height:var(--day-height);max-height:var(--day-height);display:flex;flex-direction:column;gap:7px;padding:7px;border:1px solid #d8e7e5;border-radius:12px;background:#fbfdfb;overflow:hidden;transition:width .2s ease,max-height .24s ease,min-height .2s ease,left .2s ease,box-shadow .2s ease}
.calendarDay.pastDate{background:transparent}.pastDate>.daySurface{background:#f3f5f4}.dim .dayNumber{color:#8d9691}.today>.daySurface,.weekToday>.daySurface{border:2px solid var(--teal);background:#e8f8f2}
.daySurface>.dayNumber{align-self:flex-start}.daySurface>.weekDayHeading{flex:none}.dayEventList{display:grid;gap:5px;flex:none;min-width:0}.dayEventList .ev{margin:0}.dayEventList .weekEvent{min-width:0;gap:4px}.dayExtraBooking,.expandedBookingMeta,.expandedMore{display:none}
.day>.daySurface{height:100%;min-height:100%;max-height:none}
.calendarBookingTitle,.calendarBookingLocation{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.weekEvent .calendarBookingTitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.4;max-height:2.8em}.calendarBookingLocation{font-size:11px}
.dayMore{display:flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:28px;padding:4px 5px;border-radius:8px;background:#def2e8;color:#185c55;font-size:11px}.dayMore svg{flex:none}.daySurface>.weekAdd{flex:none}.daySurface .eventLocation{font-size:10px}.daySurface .bookingEye{top:10px;transform:none}
.calendarDay.dayExpanded{z-index:5}.dayExpanded>.daySurface{left:var(--expanded-left,0px);width:var(--expanded-width,310px);min-height:calc(var(--day-height) + 24px);max-height:var(--expanded-max-height,680px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;border-color:var(--teal);box-shadow:0 12px 32px #183c3d38}
.day.dayExpanded>.daySurface{height:auto}
.dayExpanded .dayExtraBooking{display:block}.dayExpanded .weekEvent.dayExtraBooking{display:flex}.dayExpanded .calendarBookingTitle,.dayExpanded .calendarBookingLocation,.dayExpanded .eventLocation{display:block;white-space:normal;overflow:visible;text-overflow:clip;max-height:none;-webkit-line-clamp:unset;overflow-wrap:anywhere}.dayExpanded .expandedBookingMeta{display:block;font-size:12px;line-height:1.5;font-weight:400;white-space:normal;overflow-wrap:anywhere;margin-top:3px}.dayExpanded .collapsedMore{display:none}.dayExpanded .expandedMore{display:inline}.dayExpanded .dayMore svg{transform:rotate(-90deg)}
.expandedDayActions{display:none}.dayExpanded .expandedDayActions{position:sticky;bottom:-7px;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;padding:8px 0 0;background:linear-gradient(to bottom,#fbfdfb00 0,#fbfdfb 8px)}.dayExpanded .expandedDayActions button{min-height:34px;padding:6px;font-size:11px}.dayExpanded .dayMore,.dayExpanded .weekAdd{display:none}
@media(max-width:380px){.dayExpanded .expandedDayActions{grid-template-columns:1fr}}
@media(max-width:850px){.monthView .daySurface{padding:4px;gap:5px}.monthView .dayMore{font-size:10px;flex-wrap:wrap}.monthView .dayExpanded .dayMore{flex-wrap:nowrap}.monthView .dayEventList .ev{padding:6px 23px 6px 4px}.monthView .daySurface .bookingEye{right:4px;width:15px}.monthView .dayExpanded .daySurface{padding:8px}.monthView .dayExpanded .dayMore{font-size:12px}}
@media(prefers-reduced-motion:reduce){.daySurface{transition:none}}

.expandedBookingMeta>span,.expandedBookingMeta>em{display:block}
/* Concise text bookings; full details remain available through the eye icon. */
.compactBooking{position:relative;min-width:0;padding:7px 26px 7px 8px;font-size:12px;line-height:1.35;text-align:left;white-space:normal;font-weight:400}
.ev.compactBooking,.weekEvent.compactBooking{background:#e1f2e9;color:#183c3d;border:1px solid #b6d7c8;border-radius:9px;padding:7px 8px}.dayEventList .compactBookingWho,.dayEventList .compactBookingLocation{padding-right:18px}
.compactBookingBody{display:grid;gap:2px;min-width:0;width:100%}.compactBookingWho{display:block;min-width:0;font-size:12px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactBookingLocation{display:block;min-width:0;color:#466059;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compactBookingTime{display:block;min-width:0;font-size:11px;font-weight:400;line-height:1.35;white-space:nowrap}.compactBookingState{display:block;justify-self:start;font-size:10px;font-style:italic;font-weight:400;line-height:1.35;color:#67746e}.compactBookingState.booked{color:#21673c;font-style:normal;font-weight:800}.compactBookingState.pending{color:#805b19;font-style:italic}.compactBooking.pendingBooking{background:#fff4d9;border-color:#dfc586}.compactBooking .bookingEye{right:7px;top:8px;transform:none;width:16px;height:16px}
.summaryBookingPill.compactBooking{margin:0;min-height:0;border-radius:12px;padding:8px 29px 8px 10px}.summaryBookingPill.compactBooking .compactBookingWho{white-space:normal;overflow-wrap:anywhere}.summaryBookingCard+.summaryBookingCard{margin-top:7px;padding-top:7px}.summaryRoom h4{margin-bottom:8px}
.weekDay.calendarDay{--day-height:390px}.day.calendarDay.hasBookings{--day-height:260px}.dayExpanded .compactBookingWho,.dayExpanded .compactBookingLocation{white-space:normal;overflow:visible;overflow-wrap:anywhere}.dayExpanded .compactBookingTime{white-space:normal}.dayExpanded .compactBooking.dayExtraBooking{display:block}
@media(max-width:850px){.monthView .compactBookingTime{font-size:10px}.monthView .dayExpanded .compactBookingTime{font-size:11px}.monthView .daySurface .compactBooking .bookingEye{width:13px;right:4px}.monthView .compactBooking{padding-right:21px}}

/* A quiet test control stays within reach while browsing a full calendar. */
.demoCalendarTools{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:9;display:flex;align-items:center;gap:8px;pointer-events:auto}
.demoCalendarButton{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid #b9d8cb;border-radius:50%;background:#f0faf6;color:#637f78;box-shadow:0 2px 10px #183c3d26;opacity:.82;visibility:visible}.demoCalendarButton:hover,.demoCalendarButton[aria-pressed="true"]{background:#def5eb;color:#136b68;border-color:#168b8f;opacity:1}.demoCalendarButton:focus-visible{outline:3px solid #168b8f;outline-offset:3px}
.demoCalendarTools #exitDemoButton{font-size:12px;padding:9px 13px;border:1px solid #9ecac0;box-shadow:0 2px 8px #183c3d1a}.demoCalendarTools [hidden]{display:none}
.demoCalendarNotice{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap;margin-bottom:12px;padding:10px 14px;border:1px solid #d1b264;border-radius:14px;background:#fff4d4;color:#5e4a20;font-size:13px}.demoCalendarNotice[hidden]{display:none}.demoCalendarNotice strong{font-size:14px}
.demoCalendarDialog{width:min(460px,100%)}.demoCalendarDialog p{font-size:14px;line-height:1.65}.demoCalendarDialog label{display:block;font-size:14px;font-weight:700;margin:18px 0 6px}.demoCalendarDialog input{width:100%}.demoCalendarDialog .demoPasswordError{min-height:22px;color:#a32e2e;font-size:13px;margin:6px 0}.demoCalendarDialog .actions{flex-wrap:wrap}

.demoCalendarNotice button{margin-left:auto;font-size:12px;white-space:nowrap}

/* Calendar cards read: space and time, renter, then approval state. */
.compactBooking{container-type:inline-size}.compactBookingWhen{display:flex;align-items:baseline;gap:2px;min-width:0;padding-right:0}.dayEventList .compactBooking{padding-inline:7px}.compactBookingPlace{display:inline-flex;align-items:baseline;min-width:0;color:#466059;font-size:11px}.compactBookingPlace>span:last-child{flex:none}.dayEventList .compactBookingPlace .compactBookingLocation{padding-right:0}.compactBookingWhen .compactBookingTime{flex:none}.dayEventList .compactBookingWho{padding-right:18px}.dayEventList .compactBooking .bookingEye{top:25px}
.dayExpanded .compactBookingWhen{flex-wrap:wrap;padding-right:18px}.dayExpanded .compactBooking .bookingEye{top:8px}.dayExpanded .compactBookingPlace{max-width:100%}.dayExpanded .compactBookingWhen .compactBookingTime{white-space:normal}
.compactBookingState.concluded{color:#50675b;font-style:normal;font-weight:700}.compactBookingState.notApproved{color:#775c31;font-style:italic}.compactBookingState.pending{white-space:nowrap}.ev.compactBooking.historicalBooking,.weekEvent.compactBooking.historicalBooking{background:#edf1ee;border-color:#cbd5ce}
@container (max-width:105px){.compactBookingState .pendingApprovalSuffix{display:none}}

/* Summary cards keep time and status on one compact row. */
.summaryBookingPill.compactBooking{padding:7px 9px}.summaryBookingPill .compactBookingWho{padding-right:20px}.summaryBookingMetaRow{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;min-width:0}.summaryBookingMetaRow>.compactBookingTime{flex:none}.summaryBookingStateSlot{container:summary-status / inline-size;flex:1 1 50px;min-width:50px}.summaryBookingStateSlot .compactBookingState{white-space:nowrap}.summaryBookingStateSlot .pendingApprovalSuffix{display:none}
@container summary-status (min-width:90px){.summaryBookingStateSlot .pendingApprovalSuffix{display:inline}}

/* Calendar cards pair time and status above the renter to save a line. */
.calendarBookingMetaRow{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 4px;min-width:0}.calendarBookingMetaRow .compactBookingWhen{flex:none;padding-right:0}.calendarBookingMetaRow .compactBookingWhen.withLocation{flex:1 1 100px;min-width:100px}.calendarBookingStateSlot{container:calendar-status / inline-size;flex:1 1 48px;min-width:48px}.calendarBookingStateSlot.concluded{min-width:54px;flex-basis:54px}.calendarBookingStateSlot.notApproved{min-width:64px;flex-basis:64px}.calendarBookingStateSlot .compactBookingState{white-space:nowrap}.calendarBookingStateSlot .pendingApprovalSuffix{display:none}
@container calendar-status (min-width:90px){.calendarBookingStateSlot .pendingApprovalSuffix{display:inline}}
.calendarBookingRenterRow{display:flex;align-items:flex-start;gap:4px;min-width:0}.dayEventList .calendarBookingRenterRow .compactBookingWho{flex:1;min-width:0;padding-right:0}.dayEventList .calendarBookingRenterRow .bookingEye{position:static;flex:none;transform:none;margin:0}.dayEventList .compactBooking{padding:5px 7px}.dayEventList{gap:4px}.dayMore[hidden]{display:none}

.dayEventList .compactBooking{padding:5px}.calendarBookingMetaRow{column-gap:3px}.calendarBookingMetaRow .compactBookingTime{font-size:10px}.calendarBookingStateSlot{min-width:44px;flex-basis:44px}.calendarBookingStateSlot.booked{min-width:40px;flex-basis:40px}.calendarBookingStateSlot.concluded{min-width:52px;flex-basis:52px}.calendarBookingStateSlot.notApproved{min-width:62px;flex-basis:62px}

/* The summary section opens by default, with its disclosure centered in the bar. */
.rentalSummaryHeader{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:12px}.rentalSummaryHeaderText{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;min-width:0}.summaryDisclosure{display:grid;place-items:center;width:42px;height:42px;padding:0;background:#def5eb;color:#0b676a;border:1px solid #93c9c1;box-shadow:0 2px 5px #183c3d14}.summaryDisclosure:hover{background:#c7ebdf}.summaryDisclosure:focus-visible{outline:3px solid #168b8f;outline-offset:3px}.summaryDisclosure[aria-expanded="true"] svg{transform:rotate(180deg)}.rentalSummaryColumns[hidden]{display:none}
.summaryBookingDates{min-width:0;max-width:100%;font-size:10px;line-height:1.35;color:#466059}.summaryBookingDate{white-space:nowrap}.summaryBookingMetaRow{column-gap:5px}
@media(max-width:600px){.rentalSummaryHeader{gap:8px;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.summaryDisclosure{width:38px;height:38px}.rentalSummaryHeader h2{font-size:14px}.rentalSummaryHeader p{font-size:11px}}

.summaryBookingDate{display:inline-flex;align-items:center;gap:3px}.summaryBookingPill .summaryWeekdayPill{display:inline-block;min-width:19px;padding:1px 4px;border:1px solid #9bcbbb;border-radius:999px;background:#c9e9dd;color:#174e46;font-size:10px;font-weight:800;line-height:1.2;text-align:center}.occasionalRentals .summaryWeekdayPill,.pendingBooking .summaryWeekdayPill{background:#f9e7b7;border-color:#dfc47b;color:#65501e}

.summaryBookingStateSlot:has(.notApproved){min-width:64px;flex-basis:64px}.summaryBookingStateSlot:has(.concluded){min-width:56px;flex-basis:56px}

.summaryMonthlyDates{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:3px}.summaryBookingPill .summaryMonthDayPill{display:inline-flex;align-items:baseline;gap:4px;min-width:0;max-width:100%;padding:2px 5px;border-radius:10px;font-weight:400;line-height:1.35;text-align:left;white-space:normal}.summaryBookingPill .summaryMonthDayPill strong{flex:none;font-size:10px;font-weight:800;line-height:inherit}.summaryMonthDateList{min-width:0}.summaryMonthDate{white-space:nowrap}

.rentalSummaryText .summaryPeriodHeader{margin:0 0 12px;padding:9px 12px;border-radius:8px;background:#145f5c;color:#fff;font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}

.headerScheduleActions,.headerBookingButtons,.calendarScheduleActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}.headerScheduleActions{max-width:64%}.bookingCountPills{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.approvedCountPill,.pendingApprovalPill{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid transparent;border-radius:999px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.35}.approvedCountPill{background:#d9f2e5;border-color:#99cab1;color:#195b3b}.pendingApprovalPill{background:#b43139;border-color:#ffd1ce;color:#fff;max-width:100%;white-space:normal}.pendingApprovalPill svg{flex:none}.pendingApprovalPill:hover{background:#98272e;filter:none}.pendingApprovalPill:focus-visible{outline:3px solid #f5bf52;outline-offset:3px}.pendingApprovalPill:disabled{background:#edf0ee;border-color:#ccd5d0;color:#58675f;cursor:default}.sideApprovalCounts{margin:12px 0}.sideApprovalCounts>small{display:block;margin-bottom:5px;color:#46625b}.sideApprovalCounts .bookingCountPills{align-items:center;flex-direction:row}.sideApprovalCounts .pendingApprovalPill{flex:1;min-width:130px}.calendarScheduleActions{max-width:56%}.calendarScheduleActions .bookingCountPills{justify-content:flex-end}.calendarScheduleHeader .pendingApprovalPill{color:#fff}.calendarScheduleHeader .pendingApprovalPill:disabled{color:#58675f}.bookingDetailsActions .actions{flex-wrap:wrap}.bookingDetailsActions [hidden]{display:none}.pendingApprovalRow{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:8px 0;padding:12px;border:1px solid #e4c6bd;border-radius:12px;background:#fff8ee;color:var(--ink);text-align:left;font-family:inherit;font-size:13px;font-weight:400;white-space:normal}.pendingApprovalRow>span:first-child{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.pendingApprovalRow strong{font-size:14px}.pendingApprovalRow:hover{background:#fff0db}.approvalReviewLabel{display:inline-flex;align-items:center;gap:5px;flex:none;font-weight:700}.pendingApprovalsDialog #pendingApprovalsCount{font-size:14px;color:#46625b}#todayCountLabel{display:inline-block;font-size:12px;line-height:1.6}
@media(max-width:850px){.headerScheduleActions{max-width:100%}.calendarScheduleActions{max-width:100%;justify-content:flex-start}.calendarScheduleActions .bookingCountPills{justify-content:flex-start}.headerScheduleActions .bookingCountPills{justify-content:flex-end}}

.periodNavigation,.toolbarPeriodNavigation{display:flex;align-items:center;gap:5px;min-width:0}.periodHeadingText{min-width:0;margin:0;font:inherit;line-height:1.45;overflow-wrap:anywhere}.periodDuration{color:#b9f0d7;white-space:nowrap;font-weight:700}.summaryPeriodHeader .periodNavigation{gap:5px}.rentalSummaryText .summaryPeriodHeader{padding:6px 7px}.summaryPeriodHeader .periodHeadingText{font-size:14px;font-weight:800}.summaryPeriodHeader .calendarHeaderArrow{color:#fff}.toolbarPeriodNavigation .dateRangeButton{flex:1;min-width:0}.toolbarPeriodText{min-width:0}.toolbarPeriodNavigation .periodDuration,.summaryRangeContext .periodDuration{display:inline-block;background:#d9f2e5;color:#215d46;padding:0 5px;border-radius:9px}.toolbarPeriodNavigation .calendarHeaderArrow,.summaryRangeContext .calendarHeaderArrow{color:#145f5c}.toolbarPeriodNavigation .calendarHeaderArrow:hover,.summaryRangeContext .calendarHeaderArrow:hover{background:#d9f2e5}.toolbarPeriodNavigation .calendarHeaderArrow:focus-visible,.summaryRangeContext .calendarHeaderArrow:focus-visible{outline-color:#145f5c}.summaryRangeContext{min-width:0;width:100%}.summaryRangeContext .periodHeadingText{font-size:12px;font-weight:700}.summaryRangeContext p{padding-left:35px;margin-top:3px}.rentalSummaryHeaderText{align-items:center}.pendingApprovalText{display:grid;gap:1px;text-align:center;line-height:1.2}.pendingApprovalText strong{font-size:12px;font-weight:800}.pendingApprovalText em{font-size:11px;font-weight:400;font-style:italic}.pendingApprovalPill:not(:disabled){background:#b32e36;border-color:#ffbbb8;box-shadow:0 0 0 1px #ffffff26}.pendingApprovalPill:not(:disabled):hover{background:#96252d}

.bookingDetailsDialog{width:min(720px,100%);padding:14px 16px}.bookingDetailsDialog .bookingDetailsHeader{gap:10px;margin-bottom:9px}.bookingDetailsDialog .bookingDetailsHeader h2{font-size:22px}.bookingDetailsDialog .bookingDetailsClose{width:32px;height:32px;font-size:25px}.bookingDetailsName{font-size:17px;line-height:1.4;padding:9px 11px;margin-bottom:10px;border-radius:11px}.bookingDetailsFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.bookingDetailsFields dt{font-size:11px;line-height:1.35;margin-bottom:2px}.bookingDetailsFields dd{font-size:13px;line-height:1.4}.bookingDetailsDates,.bookingDetailsNotes{margin-top:9px;padding-top:8px}.bookingDetailsDates h3,.bookingDetailsNotes h3{font-size:13px;margin-bottom:3px}.bookingDetailsDates ul{font-size:13px;line-height:1.45;padding-left:18px}.bookingDetailsNotes p{font-size:13px;line-height:1.45}.bookingDetailsDates label{font-size:11px;margin-bottom:3px}.bookingDetailsDates select{font-size:13px;padding:6px 8px}.bookingDetailsActions{margin-top:10px;padding-top:8px}.bookingDetailsActions>p{font-size:11px;line-height:1.4}.bookingDetailsActions .actions{flex-wrap:nowrap;gap:6px;margin-top:9px}.bookingDetailsActions .iconAction{flex:1 1 auto;min-width:0;gap:5px;padding:8px 9px;font-family:inherit;font-size:12px;line-height:1.3;white-space:nowrap}.bookingDetailsActions .iconAction svg{width:16px;height:16px}.bookingDetailsActions .iconAction .actionLabel{min-width:0}
@media(max-width:480px){.bookingDetailsDialog{padding:12px}.bookingDetailsActions .iconAction{padding:8px 5px;font-size:11px;gap:3px}.bookingDetailsActions .iconAction svg{width:14px;height:14px}.bookingDetailsActions .actionBookingSuffix{display:none}.bookingDetailsFields{gap:7px 10px}.bookingDetailsFields dd{font-size:12px}}
@media(max-height:620px){.bookingDetailsDialog{padding:10px 14px}.bookingDetailsDialog .bookingDetailsHeader{margin-bottom:6px}.bookingDetailsName{padding:7px 10px;margin-bottom:7px}.bookingDetailsFields{gap:5px 14px}.bookingDetailsDates,.bookingDetailsNotes{margin-top:6px;padding-top:6px}.bookingDetailsActions{margin-top:7px;padding-top:6px}}

.periodDistance{display:inline-block;max-width:100%;color:#ffedab;font-size:.9em;font-weight:700;white-space:normal;vertical-align:baseline}.periodDistance[hidden]{display:none}.toolbarPeriodNavigation .periodDistance{background:transparent;color:inherit;padding:0;border-radius:0;font-style:italic;font-weight:400}.summaryRangeContext .periodDistance{background:#fff0bf;color:#705419;padding:0 5px;border-radius:9px}

header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}.headerBrand{display:contents}header h1{grid-row:1;grid-column:1}header>.grow{display:none}.headerScheduleActions{grid-row:1;grid-column:2;max-width:100%}.headerSubtitleRow{grid-row:2;grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.headerSubtitleRow .internalUsePill{padding:4px 10px;font-size:11px}.headerSubtitleRow>small{white-space:nowrap}
@media(max-width:850px){header h1{grid-column:1/-1}.headerScheduleActions{grid-row:3;grid-column:1/-1;justify-content:flex-start}.headerScheduleActions .bookingCountPills{justify-content:flex-start}}

.rareTodayPill{display:inline-block;max-width:100%;margin-top:8px;padding:5px 10px;border-radius:999px;background:#b32e36;color:#fff;font-size:12px;font-weight:700;line-height:1.4}.rareTodayPill[hidden]{display:none}

/* Request decisions use the compact booking dialog spacing. */
.requestDecisionDialog,.requestMessageDialog{width:min(640px,100%);padding:14px 16px}.requestDecisionDialog .bookingDetailsHeader,.requestMessageDialog .bookingDetailsHeader{margin-bottom:8px}.requestDecisionDialog h2,.requestMessageDialog h2{margin:0;font-size:22px}.requestDecisionDialog p,.requestMessageDialog p{font-size:12px;line-height:1.5;margin:8px 0}.requestDecisionDialog label,.requestMessageDialog label{font-size:12px;letter-spacing:0;text-transform:none}.requestDecisionDialog select,.requestDecisionDialog textarea,.requestMessageDialog textarea{font-size:13px;padding:7px 9px}.requestDecisionDescription{padding:9px 11px;background:var(--mint);border-radius:10px;overflow-wrap:anywhere}.requestDecisionScopeHint{color:#526e65}.recommendationChoice{border:0;padding:0;margin:12px 0 9px}.recommendationChoice legend{font-size:12px;font-weight:600;margin-bottom:6px}.recommendationChoice>div{display:flex;gap:20px}.recommendationChoice label{display:inline-flex;align-items:center;gap:6px;font-weight:500;cursor:pointer}.recommendationChoice input{width:16px;height:16px;margin:0;accent-color:var(--teal)}.requestNotificationNotice{padding:9px 11px;border-radius:10px;background:#fff2db;color:#714e15}.requestDecisionDialog [hidden],.requestHistoryButton[hidden]{display:none}.requestDecisionDialog .actions,.requestMessageDialog .actions{flex-wrap:nowrap;gap:8px;margin-top:10px}.requestDecisionDialog .actions button,.requestMessageDialog .actions button{font-size:12px;padding:8px 14px}.requestHistoryButton{display:block;padding:4px 0;min-height:30px;background:transparent;color:#155e59;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px;margin-top:4px}.requestMessageDialog textarea{display:block;line-height:1.55;resize:vertical;margin-top:5px}#requestMessageCopyStatus{min-height:18px;color:#155e59}

/* Keep the review icon in its own flex slot instead of the global eye overlay. */
.pendingApprovalRow .approvalReviewLabel{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;white-space:nowrap}.pendingApprovalRow .approvalReviewLabel .bookingEye{position:static;inset:auto;transform:none;width:18px;height:18px;margin:0;flex:none}

/* Reversed monthly weekday/date pill preview. */
.summaryBookingPill .summaryMonthDayPill,.occasionalRentals .summaryMonthDayPill,.pendingBooking .summaryMonthDayPill{background:#174e46;border-color:#174e46;color:#fff}.summaryBookingPill .summaryMonthDayPill strong,.summaryBookingPill .summaryMonthDayPill .summaryMonthDateList,.summaryBookingPill .summaryMonthDayPill .summaryMonthDate{color:#fff}

/* Light blue identifies occasional bookings; card colors continue to show approval state. */
.occasionalRentals{background:#eef8fd;border-left-color:#b9d9e8}.occasionalRentals h3{background:#dceff8;border-color:#a9d2e5;color:#174c63}.occasionalRentals .rentalSummaryDescription{color:#46625b}.occasionalRentals .rentalSummaryText,.occasionalRentals .summaryBookingCard+.summaryBookingCard{border-color:#bddbe8}.occasionalRentals .summaryBookingPill{background:#def2e8;border-color:#9acbbb;color:#154c45}.occasionalRentals .summaryBookingPill:hover{background:#ccecdf}.occasionalRentals .summaryBookingPill.pendingBooking{background:#fff4d9;border-color:#dfc586;color:#57451e}.occasionalRentals .summaryBookingPill.pendingBooking:hover{background:#f8e4ac}.rareTodayPill{background:#dceff8;border:1px solid #9bcde2;color:#174c63}
@media(max-width:650px){.occasionalRentals{border-top-color:#b9d9e8}}

.adminAccessDisclosure{position:relative;margin:0 0 0 auto;font-weight:400}.adminAccessDisclosure>summary{display:inline-flex;align-items:center;gap:4px;padding:2px 3px;color:#315d57;font-size:12px;font-style:italic;font-weight:400;line-height:1.5;cursor:pointer;list-style:none;white-space:nowrap}.adminAccessDisclosure>summary::-webkit-details-marker{display:none}.adminAccessDisclosure>summary:hover{color:#174c46}.adminAccessDisclosure>summary:focus-visible{outline:2px solid #168b8f;outline-offset:3px;border-radius:4px}.adminAccessDisclosure>summary svg{flex:none;transition:transform .18s ease}.adminAccessDisclosure[open]>summary svg{transform:rotate(90deg)}.adminAccessNotice{position:absolute;z-index:12;top:calc(100% + 8px);right:0;width:min(620px,calc(100vw - 28px));display:flex;align-items:flex-start;gap:9px;margin:0;padding:9px 12px;border:1px solid #a9d7cd;border-left:5px solid #168b8f;border-radius:11px;background:#f2fbf7;color:#315d57;box-shadow:0 8px 24px #183c3d26}.adminAccessNotice svg{flex:none;margin-top:1px;color:#167a75}.adminAccessNotice p{margin:0;font-size:12px;line-height:1.55}.adminAccessNotice em{font-weight:400}.adminAccessNotice strong{font-weight:700;color:#183c3d}@media(max-width:650px){.parkBanner{align-items:flex-start}.adminAccessDisclosure{width:100%}.adminAccessDisclosure>summary{margin-left:auto}.adminAccessNotice{right:-2px}}

.pendingApprovalRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.pendingApprovalInfo{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.pendingApprovalActions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:none}.pendingApprovalActions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:5px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;line-height:1}.quickApproveButton{background:#d9f2e5;border-color:#99cab1!important;color:#195b3b}.quickDenyButton{background:#fbe7e3;border-color:#e9bdb7!important;color:#912e25}.pendingApprovalActions .approvalReviewLabel{background:transparent;border-color:transparent;color:#183c3d;font-size:12px}.pendingApprovalActions .approvalReviewLabel:hover{background:#f4e8d9}.pendingApprovalsFeedback{min-height:0;margin:5px 0;color:#21673c;font-size:12px;font-weight:700}.pendingApprovalsFeedback:empty{display:none}@media(max-width:520px){.pendingApprovalRow{gap:8px;padding:10px}.pendingApprovalActions{gap:3px}.pendingApprovalActions button{padding:5px 6px}.quickDecisionText{display:none}.quickDecisionButton{width:30px}.pendingApprovalActions .approvalReviewLabel{font-size:11px}}
.requestHistoryToggleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:7px 9px;border:1px solid #d4e3de;border-radius:10px;background:#f7faf9;color:#4e6760;font-size:11px;font-weight:700}.requestHistoryToggle{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:3px 7px 3px 4px;border:0;border-radius:999px;background:transparent;color:#315d57;font-family:inherit;font-size:11px;font-weight:700}.requestHistoryToggle:hover{background:#e8f1ee;filter:none}.requestHistoryToggleTrack{position:relative;display:block;flex:none;width:31px;height:17px;border-radius:999px;background:#aab6b1}.requestHistoryToggleTrack>span{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #173d3d44;transition:transform .18s ease}.requestHistoryToggle[aria-checked="true"] .requestHistoryToggleTrack{background:#60706a}.requestHistoryToggle[aria-checked="true"] .requestHistoryToggleTrack>span{transform:translateX(14px)}.requestHistoryRow{border-color:#cbd2cf;background:#eef0ef;color:#53615b}.requestHistoryRow:hover{background:#e4e8e6}.requestHistoryRow em{font-size:11px;color:#68766f}.requestDecisionBadge{display:inline-flex;width:max-content;padding:3px 7px;border:1px solid #b9c2be;border-radius:999px;background:#dfe4e1;color:#4e5e56;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.requestDecisionBadge.denied{border-color:#c9b8b5;background:#e8dfdd;color:#6f4540}.requestHistoryRow>.approvalReviewLabel{align-self:center;border:0;background:transparent;color:#4c5d56;font-size:12px}@media(max-width:560px){.requestHistoryToggleRow{align-items:flex-start;flex-direction:column}.requestHistoryRow{grid-template-columns:1fr}.requestHistoryRow>.approvalReviewLabel{justify-self:start}}
.availabilityFinderDialog{display:flex;flex-direction:column;width:min(900px,100%);height:min(92vh,calc(100dvh - 30px));max-height:calc(100dvh - 30px);padding:0;overflow:hidden}.availabilityFinderDialog>.bookingDetailsHeader{flex:0 0 auto;margin:0;padding:17px 20px;background:var(--teal);color:#fff}.availabilityFinderDialog>.bookingDetailsHeader h2{color:#fff}.availabilityFinderDialog>.bookingDetailsHeader .bookingDetailsClose{border:1px solid #ffffff99;background:#ffffff24;color:#fff}.availabilityFinderBody{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 20px 22px}.availabilityMethodQuestion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:0;border:0}.availabilityMethodQuestion legend{grid-column:1/-1;margin:0;font-size:16px;font-weight:900}.availabilityMethodQuestion>p{grid-column:1/-1;margin:-4px 0 2px;color:#61776f;font-size:12px}.availabilityMethodQuestion>label{display:block;cursor:pointer}.availabilityMethodQuestion input{position:absolute;opacity:0;pointer-events:none}.availabilityMethodQuestion label>span{display:grid;align-content:start;gap:3px;height:100%;min-height:76px;padding:10px 11px;border:1px solid #c6dcd5;border-radius:12px;background:#fff;color:#183c3d}.availabilityMethodQuestion label>span::before{content:"";width:14px;height:14px;border:1.5px solid #8fb8af;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #fff}.availabilityMethodQuestion label strong{font-size:12px}.availabilityMethodQuestion label small{color:#61776f;font-size:10px;line-height:1.4}.availabilityMethodQuestion input:checked+span{border-color:#109598;background:#e4f5ef;box-shadow:inset 0 0 0 1px #109598}.availabilityMethodQuestion input:checked+span::before{background:#109598}.availabilityMethodPanel{padding:12px;border:1px solid #c8dfd7;border-radius:14px;background:#f6fbf9}.availabilityMethodPanel[hidden]{display:none}.availabilitySettingFilter{margin:0;padding:0;border:0}.availabilitySettingFilter legend{margin-bottom:7px;font-size:12px;font-weight:800}.availabilityFinderActions{margin:13px 0 4px}.flexibleAvailabilityResult .availabilityLocationDetails>small{display:block;margin-top:5px;color:#486a62;font-weight:700}@media(max-width:680px){.availabilityMethodQuestion{grid-template-columns:1fr}.availabilityMethodQuestion label>span{min-height:0}.availabilityFinderBody{padding:13px}.availabilityFinderDialog>.bookingDetailsHeader{padding:14px 15px}}

header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px}.headerBrand{display:flex;align-items:center;gap:12px;min-width:0}.headerLogo{display:block;flex:none;width:96px;height:48px;object-fit:contain}.headerBrandCopy{min-width:0}.headerBrand h1{grid-row:auto;grid-column:auto;margin:0 0 4px}.headerSubtitleRow{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px}.headerScheduleActions{grid-row:1;grid-column:2}.headerBrand .internalUsePill{padding:3px 9px;font-size:10px}@media(max-width:850px){header{grid-template-columns:minmax(0,1fr)}.headerBrand{grid-row:1;grid-column:1}.headerScheduleActions{grid-row:2;grid-column:1;justify-content:flex-start}.headerLogo{width:82px;height:44px}}@media(max-width:520px){.headerLogo{width:68px;height:40px}.headerBrand{gap:8px}.headerBrand h1{font-size:20px}.headerSubtitleRow>small{font-size:10px}}

/* The schedule can switch between booking identities and booking-derived space availability. */
.scheduleModeToggle{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:5px 9px;border:1px solid #9bcfc4;border-radius:999px;background:#f2faf7;color:#174d47;font-size:12px;text-align:left}.scheduleModeToggle:hover{background:#e7f6f0;filter:none}.scheduleModeTrack{position:relative;display:block;flex:none;width:38px;height:21px;border-radius:999px;background:#145f5c;box-shadow:inset 0 0 0 1px #0d4c49}.scheduleModeKnob{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #183c3d55;transition:transform .18s ease}.scheduleModeToggle.availabilityActive .scheduleModeTrack{background:#248b68}.scheduleModeToggle.availabilityActive .scheduleModeKnob{transform:translateX(17px)}#scheduleModeLabel{font-weight:700;line-height:1.3}.availabilityMode #partnerFilters{display:none}
.availabilityPrivacyNote{margin:0 0 10px;padding:8px 11px;border:1px solid #b7d8d0;border-radius:10px;background:#f2faf7;color:#456761;font-size:12px;line-height:1.5}.availabilityAgenda .availabilityPrivacyNote{margin:0;border-width:1px 0;border-radius:0}.availabilitySpaceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.availabilitySpace{min-width:0;padding:9px 10px;border:1px solid #c7ddd6;border-radius:11px;background:#fff}.availabilitySpace>strong{display:block;margin-bottom:6px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.availabilitySegments{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.availabilitySegment{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:700;line-height:1.35}.availableTime{background:#d9f2e5;border-color:#99cab1;color:#195b3b}.unavailableTime{background:#e4e8e6;border-color:#c1cac5;color:#53615a}.availabilityOverview{display:grid;align-content:start;gap:5px}.availabilityOverview .availabilitySegment{display:flex;width:100%;white-space:normal}.availabilityOverview small,.availabilitySidebar small{font-size:10px;line-height:1.4;color:#65766f}.availabilityDayContent{display:grid;gap:5px;min-width:0;overflow:hidden}.availabilityDay .availabilitySpace{padding:6px;background:transparent}.availabilityDay .availabilitySpace>strong{font-size:10px;margin-bottom:4px}.availabilityDay .availabilitySegment{min-height:22px;padding:3px 5px;font-size:9px}.availabilityDay .availabilitySegments{gap:3px}.availabilityWeekGrid .availabilityDayContent{overflow:auto;max-height:175px;scrollbar-width:thin}.availabilitySidebar{display:grid;gap:6px}.availabilitySidebar .availabilitySegment{display:flex;width:100%;justify-content:center}.side .availabilitySpace{margin-bottom:7px}.pastAvailability{background:#e6e9e7;border-color:#bbc4bf}.pastAvailability .availabilitySegment{filter:grayscale(1);opacity:.7}.availabilityView .pastDate>.daySurface{background:#e1e5e3;border-color:#b8c2bd}.availabilityView .pastDate .availabilityDayContent{filter:grayscale(1);opacity:.66}.monthView.availabilityView .calendarDay{--day-height:150px}
.day.pastDate,.weekDay.pastDate{background:#e8ecea}.pastDate>.daySurface{background:#e8ecea;border-color:#c0c9c4}.pastDate .dayEventList{filter:grayscale(.55);opacity:.72}.pastAgenda{background:#eef1ef}.pastAgenda .agendaItem{background:#e8ecea;color:#5c6962}.pastAgenda .availabilityPrivacyNote{background:#e5e9e7;color:#5d6963}.ev.compactBooking.historicalBooking,.weekEvent.compactBooking.historicalBooking{background:#e1e6e3;border-color:#b9c4be;color:#58655f}

/* Daily agenda: compact timing, duration, approval state, and booking cadence. */
.agendaItem{grid-template-columns:145px minmax(0,1fr) auto}
.agendaTime{display:grid;align-content:start;gap:2px}
.agendaTime strong{white-space:nowrap}
.agendaTime em,.agendaItem .status em{font-size:12px;font-style:italic;font-weight:300;line-height:1.35}
.agendaTime em{color:#52706a}
.agendaItem .status{display:grid;gap:2px;justify-items:end;text-align:right}
.agendaItem .status strong{font-weight:700}
.agenda:not(.pastAgenda) .agendaItem.agendaStatus-booked,.agenda:not(.pastAgenda) .agendaItem.agendaStatus-concluded{background:#effaf5}
.agenda:not(.pastAgenda) .agendaItem.agendaStatus-pending,.agenda:not(.pastAgenda) .agendaItem.agendaStatus-notApproved{background:#fff9e8}
@media(max-width:1100px){.agendaItem{grid-template-columns:140px minmax(0,1fr)}.agendaItem .status{grid-column:2;justify-items:start;text-align:left}}
@media(max-width:850px){.agendaItem .agendaTime,.agendaItem .status{display:grid}}
@media(max-width:520px){.agendaItem{grid-template-columns:1fr}.agendaItem .status{grid-column:1}.agendaTime{padding-right:24px}}
@media(max-width:720px){.availabilitySpaceGrid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:540px){.scheduleModeToggle{font-size:11px}.availabilitySpaceGrid{padding:8px}.availabilityDay .availabilitySegment{font-size:10px}}

.requesterSubscriptionSection{display:grid;gap:8px;margin-top:10px;padding:11px 12px;border:1px solid #c6ded6;border-radius:12px;background:#f2faf7}.requesterSubscriptionSection[hidden]{display:none}.requesterSubscriptionSection p{margin:0;font-size:13px;font-weight:800}.requesterSubscriptionSection>.checkChoice{width:max-content}.requesterSubscriptionSection>small{color:#61776f}.requesterContactFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:2px;padding-top:10px;border-top:1px solid #d2e5de}.requesterContactFields[hidden]{display:none}.requesterContactFields>div{display:grid;gap:5px}.requesterContactFields>small{grid-column:1/-1;color:#61776f}@media(max-width:560px){.requesterContactFields{grid-template-columns:minmax(0,1fr)}}
input[type="date"]{cursor:pointer;background-color:#fff}input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}
.bookingEditorHeading h2{margin-bottom:2px}.bookingEditorHeading p{margin:0;color:#66827a;font-size:13px;font-style:italic;font-weight:500;line-height:1.3}
#bookingModal .dialog{padding:0;overflow:hidden}#bookingModal .bookingDetailsHeader{margin:0;padding:18px 20px;background:var(--teal);color:#fff;border-radius:20px 20px 0 0}#bookingModal .bookingEditorHeading h2,#bookingModal .bookingEditorHeading p{color:#fff}#bookingModal .bookingDetailsClose{border:1px solid #ffffff99;background:#ffffff24;color:#fff}#bookingModal .bookingDetailsClose:hover{background:#ffffff38;filter:none}#bookingModal .form{max-height:calc(92vh - 94px);overflow:auto;padding:18px 20px 20px}
@media(max-width:850px){#bookingModal .bookingDetailsHeader{padding:15px 17px}#bookingModal .form{max-height:calc(100dvh - 112px);padding:15px 17px 18px}}
#bookingModal .dialog{display:flex;flex-direction:column;height:min(92vh,calc(100dvh - 30px));max-height:calc(100dvh - 30px)}#bookingModal .bookingDetailsHeader{flex:0 0 auto}#bookingModal .form{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
#bookingModal .actions{grid-column:1/-1;margin-top:18px;padding:0 4px 8px}
.labelExplanation{font-weight:500;text-transform:none;letter-spacing:0;color:#61776f}.fieldHelp{display:block;margin-top:5px;color:#61776f;font-size:13px;line-height:1.35}
.bookingNameExample{margin:2px 0 7px;font-style:italic;font-weight:400}
.requiredLabel{display:inline-block;margin-left:5px;color:#198754;font-size:9px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.07em;vertical-align:middle}
.bookingCompletionDialog{max-width:720px}.bookingCompletionSummary>p{margin:14px 0 10px}.bookingCompletionList{display:grid;gap:8px;max-height:min(50vh,420px);overflow:auto;padding-right:4px}.bookingCompletionList>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #c9e0da;border-radius:13px;background:#f4faf8}.bookingCompletionList span{min-width:0}.bookingCompletionList .statusPill{justify-self:end;border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px}.bookingCompletionList .statusPill.booked{background:#dff3e8;color:#185f43}.bookingCompletionList .statusPill.pending{background:#fff0bd;color:#79520b}
@media(max-width:640px){.bookingCompletionList>div{grid-template-columns:1fr}.bookingCompletionList .statusPill{justify-self:start}}
#additionalDayRequirement.required{padding:8px 10px;border-radius:9px;background:#fff2cf;color:#79520b}
.sessionBreakNote{margin:5px 2px 0;font-size:12px;line-height:1.45;color:#315d54}.sessionBreakNote strong{font-weight:900}
.bookingDayStepSummary{padding:10px 12px;border:1px solid #b9dcd2;border-radius:12px;background:#e8f6f1;color:#315d54;font-weight:800}.bookingDayStepSummary[hidden]{display:none}
.bookingAuditSection{margin-top:12px;padding-top:12px;border-top:1px solid #d8e8e1}.bookingAuditSection h3{margin:0 0 9px;font-size:14px}.bookingAuditGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bookingAuditGrid article{display:grid;gap:3px;padding:10px 11px;border:1px solid #c9e0da;border-radius:11px;background:#f3faf7}.bookingAuditGrid h4{margin:0;color:#527268;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.bookingAuditGrid strong{font-size:13px}.bookingAuditGrid span,.bookingAuditGrid small{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.bookingAuditGrid small{color:#527268}@media(max-width:560px){.bookingAuditGrid{grid-template-columns:1fr}}
.unavailableTime{gap:5px}.availabilityViewBooking{display:inline-grid;place-items:center;flex:none;width:16px;height:16px;min-width:0;min-height:0;margin:0 -3px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;line-height:0}.availabilityViewBooking:hover{background:#fff9;filter:none}.availabilityViewBooking:focus-visible{outline:2px solid #168b8f;outline-offset:1px}.availabilityViewBooking .bookingEye{position:static;inset:auto;transform:none;width:14px;height:14px;margin:0}

/* Availability date cards expand to show every combined-space detail on hover or keyboard focus. */
.availabilityExpandedContent{display:none}.availabilityWeekGrid .availabilityDayContent{overflow:hidden;max-height:175px}.dayExpanded.availabilityDay .availabilityDayContent{overflow:visible;max-height:none}.dayExpanded.availabilityDay .availabilityCollapsedContent{display:none}.dayExpanded.availabilityDay .availabilityExpandedContent{display:grid;gap:6px}.dayExpanded.availabilityDay .availabilitySpace{background:#fff}.dayExpanded.availabilityDay .availabilitySpace>strong{font-size:12px}.dayExpanded.availabilityDay .availabilitySegment{font-size:10px}

/* Find-space option descriptions and flexible duration slider. */
.availabilityMethodQuestion label small{font-weight:400}.flexibleDurationControl{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:10px 12px;border:1px solid #c6dcd5;border-radius:12px;background:#fff}.flexibleDurationControl input[type=range]{grid-column:1/-1;width:100%;height:24px;margin:0;accent-color:var(--teal);cursor:pointer}.flexibleDurationMarkers{display:flex;justify-content:space-between;color:#71847f;font-size:11px;font-weight:700}.flexibleDurationControl output{min-width:86px;padding:5px 9px;border-radius:9px;background:#e4f5ef;color:#164b43;font-size:14px;font-weight:900;text-align:center}

/* Weekly space availability stays inside the finder so spaces can be compared quickly. */
.finderWeeklyAvailability{margin-top:14px;border:1px solid #bcd9d2;border-radius:14px;overflow:visible;background:#f7fbfa}.finderWeekSummary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#e4f5ef;border-radius:13px 13px 0 0}.finderWeekSummary>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.finderWeekSummary>span{color:#486a62;font-size:12px;font-weight:700;text-align:right}.finderWeeklyAvailability .availabilityPrivacyNote{margin:0;border-width:1px 0;border-radius:0}.finderAgendaWeekGrid{grid-template-columns:repeat(7,minmax(118px,1fr));gap:7px;overflow-x:auto;overflow-y:visible;padding:9px;scrollbar-width:thin}.finderAgendaWeekGrid .finderAgendaDay{--day-height:390px}.finderAgendaWeekGrid .daySurface{background:#fff}.finderAgendaWeekGrid .pastDate>.daySurface{background:#eef1ef}.finderAgendaWeekGrid .dayExpanded{z-index:8}@media(max-width:850px){.finderAgendaWeekGrid{grid-template-columns:repeat(7,minmax(118px,1fr))}}@media(max-width:680px){.finderWeekSummary{align-items:flex-start;flex-direction:column}.finderWeekSummary>span{text-align:left}}
.finderAgendaWeekGrid .compactBookingWhen.withLocation{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:1px;width:100%}.finderAgendaWeekGrid .compactBookingPlace{display:flex;max-width:100%;overflow:hidden}.finderAgendaWeekGrid .compactBookingLocation{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finderAgendaWeekGrid .compactBookingWhen .compactBookingTime{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Keep Space Finder option copy in the same sentence-case style as its prompt. */
.availabilityMethodQuestion>label{text-transform:none;letter-spacing:0}

/* Account access stays compact in the header while clearly separating approvers from requesters. */
header{grid-template-columns:auto minmax(0,1fr) auto}.headerAccount{grid-row:1;grid-column:1;display:flex;align-items:center;width:auto!important}.headerBrand{grid-row:1;grid-column:2}.headerScheduleActions{grid-row:1;grid-column:3}.headerAccountButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 11px;border:1px solid #ffffffb8;background:#fff;color:var(--teal);box-shadow:0 2px 8px #123c3c20}.headerAccountButton:hover{background:#eefbf7;filter:none}.headerAccountButton svg{flex:none}.headerAccountButton.signedIn{background:var(--mint);border-color:#b8e1d2}.headerAccountButton #accountGreeting{font-size:12px;font-weight:800;white-space:nowrap}
.accountDialog{width:min(650px,100%);padding:0;overflow:hidden}.accountDialogHeader{margin:0;padding:16px 18px;background:var(--teal);color:#fff}.accountDialogHeader h2{margin:0;color:#fff}.accountDialogHeader .bookingDetailsClose{border:1px solid #ffffff99;background:#ffffff24;color:#fff}.accountPanel{padding:18px}.accountPanel>h3{margin:0 0 6px;font-size:18px}.accountPanel>p{font-size:13px}.accountAccessMessage{margin:0 0 12px;padding:9px 11px;border-radius:10px;background:#eef8f5;color:#315d57;font-size:13px}.accountAccessMessage:empty{display:none}.accountLoginFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.accountPrototypeNote{margin:12px 0 0;padding:9px 11px;border:1px solid #ead49b;border-radius:10px;background:#fff7e2;color:#665027;line-height:1.5}.accountActions{flex-wrap:wrap}.accountSignedInCard{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #b9dcd2;border-radius:14px;background:#eef9f5}.accountAvatar{display:inline-grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--teal);color:#fff}.accountSignedInCard h3{margin:0 0 5px;font-size:19px}.accountSignedInCard p{margin:8px 0 0;font-size:13px;color:#45665e}.accountRoleBadge{display:inline-flex;padding:3px 8px;border-radius:999px;background:#d8eee7;color:#195d4d;font-size:11px;font-weight:800}.accountRoleBadge.admin{background:#d8eee7;color:#155c40}.accountRoleBadge.requester{background:#edf2f0;color:#4d625a}.credentialRequestConfirmation .bookingEditSuccessMessage{margin-bottom:12px}
@media(max-width:850px){header{grid-template-columns:auto minmax(0,1fr)}.headerAccount{grid-row:1;grid-column:1}.headerBrand{grid-row:1;grid-column:2}.headerScheduleActions{grid-row:2;grid-column:1/-1}.headerAccountButton #accountGreeting{display:none}.headerAccountButton{width:42px;padding:8px}.headerBrand{gap:8px}}@media(max-width:600px){.accountLoginFields{grid-template-columns:minmax(0,1fr)}.accountPanel{padding:15px}.headerLogo{display:none}.headerBrand h1{font-size:19px}}
.requestOnlyApprovalPill{cursor:default;opacity:.78}.requestOnlyApprovalPill:hover{filter:none}

/* Compact selection context, aligned with the original teal calendar. */
.calendarFilterContext,#filterTotals{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;max-width:100%}
.selectionPill{display:inline-block;align-items:center;max-width:100%;padding:2px 8px;border-radius:999px;background:#fff;color:var(--teal);font-size:12px;line-height:1.35;font-weight:800;white-space:normal;overflow-wrap:anywhere;border:1px solid #d6ece7}
.calendarFilterContext .selectionPill{border-color:#fff}.headerAccount{position:relative;align-self:center;z-index:30}.headerAccountButton{min-height:36px;padding:7px 10px;box-shadow:none;background:#ffffff15;border:1px solid #ffffff80;color:#fff;gap:5px}.headerAccountButton:hover{background:#ffffff30}.headerAccountButton.signedIn{background:#ffffff15;color:#fff}.headerAccountButton #accountGreeting{font-size:13px}.accountCaret{font-size:11px}
.accountDropdown{position:absolute;top:calc(100% + 9px);left:0;min-width:230px;width:max-content;max-width:calc(100vw - 32px);padding:6px;border:1px solid #c6dcd5;border-radius:12px;background:#fff;color:#204c48;box-shadow:0 8px 28px #174c4930}.accountDropdown[hidden],.accountDropdown [hidden],.accountPanel[hidden],.legacyImportNotice[hidden],#accountGreeting[hidden]{display:none!important}.accountDropdown button{display:block;width:100%;padding:9px 10px;text-align:left;border:0;border-radius:7px;background:transparent;color:var(--teal);font-size:14px;font-weight:700}.accountDropdown button:hover{background:#e9f7f1}.accountMenuIdentity{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid #e3eeea;margin-bottom:4px}.accountMenuIdentity strong{font-size:15px}.accountMenuIdentity span{font-size:13px;color:#56756d}
.accountDialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow-y:auto}.accountPanel{padding:16px}.accountPanel>p,.accountPanel label{font-size:14px}.accountPanel textarea{min-height:64px}.accountPanel .field label{font-size:13px;letter-spacing:0;text-transform:none}.accountPanel input,.accountPanel select,.accountPanel textarea{font-size:16px}.accessRequestRow{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid #d8e9e2;overflow-wrap:anywhere}.accessRequestRow p{margin:4px 0;font-size:14px}.accessRequestRow span{font-size:13px}.legacyImportNotice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff5d2;padding:10px 14px;border-radius:10px;margin-bottom:8px;font-size:14px}
@media(max-width:850px){.headerAccountButton.signedIn{width:auto;max-width:145px}.headerAccountButton.signedIn #accountGreeting{display:inline;max-width:100px;overflow:hidden;text-overflow:ellipsis}.headerAccountButton{width:auto;min-width:36px}.headerAccount{align-self:start;margin-top:3px}.accountDropdown{max-width:calc(100vw - 32px)}header{column-gap:10px}.headerBrand h1{overflow-wrap:anywhere}}
@media(max-width:600px){.accountPanel{padding:14px}.accountLoginFields{gap:8px}.accountDialogHeader{padding:12px 14px}.accountDropdown button{min-height:40px}.calendarFilterContext{margin-top:6px!important}.selectionPill{font-size:12px;padding:2px 7px}.headerBrand h1{font-size:17px!important}.headerAccountButton.signedIn{max-width:112px}.headerAccountButton.signedIn #accountGreeting{max-width:74px;font-size:12px}.accountActions{gap:7px}}
@media(max-width:850px){.filterCardTopRow{flex-wrap:wrap;overflow:visible;gap:8px}.filterCardSummary{flex:1 1 100%;min-width:0;white-space:normal}.filterHeadingText{flex-wrap:wrap;min-width:0}.quickViewControls{flex:1 1 100%;width:100%;min-width:0}.quickViewLabel{flex:none}.spaceShortcutSwitch{flex:1;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}.spaceShortcut{flex:none}}

/* Account control follows Add Booking at the right edge of the green header. */
header{grid-template-columns:minmax(0,1fr) auto}.headerBrand{grid-column:1}.headerScheduleActions{grid-column:2}.headerBookingButtons .headerAccount{grid-area:auto;align-self:center;margin:0;flex:none}.accountDropdown{left:auto;right:0}
@media(max-width:850px){header{grid-template-columns:minmax(0,1fr)}.headerBrand{grid-row:1;grid-column:1}.headerScheduleActions{grid-row:2;grid-column:1;width:100%}.headerBookingButtons{width:100%;justify-content:flex-end;flex-wrap:nowrap;gap:6px}.headerBookingButtons>.soft{padding-inline:10px;white-space:nowrap}.headerBookingButtons .headerAccount{margin-left:auto}}
@media(max-width:420px){.headerBookingButtons>.soft{font-size:12px;padding-inline:8px}}
@media(max-width:360px){.headerBookingButtons .findSpaceButton>span{display:none}.headerBookingButtons .findSpaceButton{gap:0}}

/* Keep the account control behind open dialogs. */
.modal-open .headerAccount{z-index:auto}

/* Personal booking rows share the Pending approval dialog layout. */
.myBookingsViews{display:inline-flex;max-width:100%;gap:4px;padding:4px;background:var(--mint);border:1px solid #b8e1d2;border-radius:999px}.myBookingsViews[hidden]{display:none}.myBookingsViews button{background:transparent;color:var(--teal);padding:7px 12px;font-size:14px;white-space:nowrap}.myBookingsViews button[aria-pressed="true"]{background:var(--teal);color:#fff}
.myBookingsDialog #myBookingsCount{font-size:14px;color:#46625b}.myBookingsDialog #myBookingsError:empty{display:none}.myBookingActions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.myBookingActions .bookingDetailStatus{gap:4px;white-space:nowrap}.myBookingActions .bookingDetailStatus.cancelled{opacity:1;text-decoration:none}.myBookingActions .approvalReviewLabel{background:transparent;color:var(--ink);border:0;padding:7px 5px;font-size:13px}.myBookingActions .approvalReviewLabel:hover{background:#f4e8d9}.myBookingsEmpty{padding:12px 0;color:#46625b}.myBookingRow .pendingApprovalInfo{font-size:14px}.myBookingRow .pendingApprovalInfo strong{font-size:15px}
@media(max-width:560px){.myBookingRow{grid-template-columns:minmax(0,1fr)}.myBookingActions{justify-content:space-between;flex-wrap:wrap;gap:8px}.myBookingsDialog .scopeDescription{font-size:13px}.myBookingRow .pendingApprovalInfo{font-size:13px}.myBookingRow .pendingApprovalInfo strong{font-size:14px}}
/* Let long date labels wrap while keeping the calendar actions together. */
.calendarScheduleHeader{flex-wrap:wrap}
.calendarScheduleHeading{flex:1 1 320px}
.calendarScheduleHeading .periodNavigation{display:block;position:relative;padding-left:35px}
.calendarScheduleHeading .periodHeadingText{display:inline}
.calendarScheduleHeading .calendarPrevious{position:absolute;left:0;top:0}
.calendarScheduleHeading .calendarNext{vertical-align:middle;width:24px;height:28px;min-height:28px;margin-left:4px}
@media(min-width:541px){.calendarScheduleActions{flex:0 0 auto;max-width:none;margin-left:auto;flex-wrap:nowrap}.calendarScheduleActions .bookingCountPills{flex-wrap:nowrap}.calendarScheduleActions .approvedCountPill,.calendarScheduleActions .pendingApprovalPill,.calendarScheduleActions>.soft{white-space:nowrap}}

/* Admin rental fee controls use the scheduler's existing mint and teal surfaces. */
.bookingInvoiceSection{padding:10px 12px;border:1px solid #b8dcd3;border-radius:12px;background:#f3faf7;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bookingInvoiceSection[hidden]{display:none}.invoiceToggle{display:inline-flex;align-items:center;gap:8px;padding:5px 0;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:700;text-align:left}.invoiceToggleTrack{flex:none;width:34px;height:20px;border-radius:999px;background:#a4b7b2;position:relative}.invoiceToggleTrack:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:white;transition:transform .15s}.invoiceToggle[aria-checked="true"] .invoiceToggleTrack{background:var(--teal)}.invoiceToggle[aria-checked="true"] .invoiceToggleTrack:after{transform:translateX(14px)}.invoiceTextButton{background:transparent;color:var(--teal);padding:4px 6px;font-size:13px;text-decoration:underline}.bookingInvoiceSection>span{font-size:13px;color:#46625b}.invoiceDialog{width:min(650px,100%)}.invoiceFields{padding:0;margin:0;border:0;min-width:0}.invoiceFields>label,.invoiceContacts label{display:block;margin:6px 0;font-size:14px;font-weight:700;letter-spacing:0}.invoiceApprovalQuestion{margin:16px 0;padding:12px;border:1px solid #b8dcd3;border-radius:12px}.invoiceApprovalQuestion legend{font-size:16px;font-weight:700}.invoiceChoice{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-size:14px;letter-spacing:0}.invoiceChoice input{width:auto;min-height:0;flex:none;margin-top:5px}.invoiceChoice span{display:grid;gap:3px}.invoiceChoice small{font-size:13px;font-weight:400}.invoiceContacts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoiceDeliveryHeading{margin:12px 0 4px;font-size:14px;font-weight:700}.invoiceDeliveryStatus,.bookingInvoiceDetails{padding:12px;margin-top:12px;border:1px solid #b8dcd3;border-radius:12px;background:#f3faf7;font-size:14px;line-height:1.5}.invoiceDeliveryStatus p,.bookingInvoiceDetails p{margin:4px 0}.invoiceDeliveryStatus a,.bookingInvoiceDetails a{color:var(--teal);font-weight:700}.invoiceSaveMessage{font-size:14px;color:#46625b}.invoiceSaveMessage:empty,#invoiceError:empty{display:none}.pendingApprovalInfo .invoiceToggle{align-self:start;font-size:13px}.invoiceCardSummary{font-size:12px;color:#46625b}.invoiceDialog .actions{flex-wrap:wrap}.invoiceFields:disabled{opacity:.8}@media(max-width:560px){.invoiceContacts{grid-template-columns:1fr}.invoiceApprovalQuestion legend{font-size:14px}.invoiceDialog h2{font-size:21px}.invoiceDialog{padding:15px}}

.invoiceFields>.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.invoiceChoice,.invoiceChoice small{text-transform:none}.invoiceDialog .scopeDescription{font-size:14px}.invoiceFields>.fieldHelp{font-size:13px}

/* Keep the calendar icon beside Dashboard, opposite the park logo. */
.dashboardTitleEnd{white-space:nowrap}.dashboardCalendarIcon{display:inline-block;width:1.05em;height:1.05em;min-width:20px;min-height:20px;margin-left:.32em;vertical-align:-.12em;color:#fff}

/* Partner labels use readable gold inside the shared white selection pill. */
.selectionPill .selectionPartners{color:#936900}

/* Quiet reset links appear only while their filter selection is active. */
.filterDisclosureGroup{display:flex;flex-direction:column;align-items:flex-start;flex:none}
.filterSectionHeading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px}
button.clearFilterLink{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 0;border:0;border-radius:3px;background:transparent;color:#16a34a;font-size:12px;font-weight:400;line-height:1.4;text-align:left;white-space:nowrap;box-shadow:none}
button.clearAllFilters{margin-left:32px}
button.clearFilterLink:hover{color:#15803d;text-decoration:underline;text-underline-offset:3px;filter:none}
button.clearFilterLink:focus-visible{outline:2px solid #16a34a;outline-offset:3px}

.clearFilterIcon{display:block;flex:none;width:14px;height:14px}

/* Booking message actions remain separate from the booking-detail buttons. */
.bookingMessageCard,.agendaMessageCard{position:relative;min-width:0}
.bookingMessageCard>.compactBooking{width:100%}
.bookingMessageCard .calendarBookingRenterRow{padding-right:25px}
button.bookingMessageButton{position:absolute;right:4px;bottom:3px;display:grid;place-items:center;width:24px;height:24px;min-height:24px;padding:2px;border-radius:7px;background:#fff;color:#0b8589;border:1px solid #a5cfc5;z-index:1}
.bookingMessageButton svg{width:17px;height:17px;display:block;flex:none}
.bookingMessageCard>.bookingMessageButton{opacity:0;pointer-events:none}
.calendarDay:hover .bookingMessageButton,.calendarDay:focus-within .bookingMessageButton,.dayExpanded .bookingMessageButton{opacity:1;pointer-events:auto}
.agendaMessageCard>.agendaItem{padding-right:74px}
.agendaMessageCard>.bookingMessageButton{right:37px;top:50%;bottom:auto;transform:translateY(-50%)}
.bookingMessageDetailsActions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid #d6e6e0}
.bookingMessageDetailsActions svg{flex:none}
#bookingMessageModal{z-index:40}
.bookingMessageDialog{width:min(700px,100%)}
.bookingMessageDialog h2{font-size:23px;margin:0}.messageBookingContext{font-size:13px;color:#46625b;margin:0 0 12px;overflow-wrap:anywhere}
.messageTabBar{display:flex;gap:6px;border-bottom:1px solid #d6e6e0;padding-bottom:10px}.messageTabBar button[aria-pressed="true"]{background:var(--teal);color:white}
.bookingMessageDialog .field{margin:12px 0}.bookingMessageDialog small,.messageHelp{font-size:12px;color:#56706e;overflow-wrap:anywhere}
.messageCc{border:1px solid #d6e6e0;border-radius:12px;padding:10px;margin:12px 0}.messageCc summary{cursor:pointer;font-size:13px;font-weight:700}.messageCc>label{display:block;margin:10px 0 4px}.messageCc>input{width:100%}
#bookingMessageCcChoices{max-height:180px;overflow:auto;margin-top:8px}.messageContactChoice{display:flex;align-items:center;gap:8px;padding:6px 2px;text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}.messageContactChoice input{flex:none}.messageContactChoice span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.messageChannels{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid #b8d8ce;border-radius:12px;margin:12px 0;padding:10px}.messageChannels legend{font-size:12px;font-weight:700}.messageChannels label{display:flex;align-items:center;gap:6px;font-size:13px;text-transform:none}.messageChannels input,.messageCc input[type="checkbox"]{accent-color:#0b8589;width:17px;height:17px}
.messageSetup{padding:10px;background:#fff6df;border-radius:10px;font-size:12px;color:#74623d}.bookingMessageDialog textarea{width:100%;resize:vertical}
.bookingMessageHistoryItem{display:grid;gap:5px;margin:10px 0;padding:12px;border:1px solid #bad8cf;border-radius:12px;background:#f4fbf8;overflow-wrap:anywhere}.bookingMessageHistoryItem>div{display:flex;flex-wrap:wrap;gap:5px 10px}.bookingMessageHistoryItem>div>span{font-size:12px;color:#56706e}.bookingMessageHistoryItem p{white-space:pre-wrap;margin:5px 0}.bookingMessageHistoryItem button{justify-self:start;font-size:12px}.messageDeliveryBadge{font-size:12px;color:#17694c}#bookingMessageStatus{font-size:13px;color:#17694c}
@media(hover:none),(pointer:coarse){.bookingMessageCard>.bookingMessageButton{opacity:1;pointer-events:auto}}
@media(max-width:540px){.bookingMessageDialog{padding:14px}.bookingMessageDialog .actions{gap:6px}.bookingMessageDialog .actions button{font-size:12px}.messageChannels small{width:100%}.bookingMessageDetailsActions button{font-size:12px}}

/* Booking communication and invoice status stay compact on the calendar. */
.bookingCardUpdates{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;min-width:0;white-space:normal}
.bookingUpdateBadge{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 6px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:700;line-height:1.35;white-space:normal;text-align:left}
.bookingUpdateBadge svg{width:13px;height:13px;flex:none}.bookingUpdateBadge.replyNeeded{background:#d8f8df;color:#146b32;border-color:#81ce97}
.bookingUpdateBadge.invoicePaid{background:#d8f3df;color:#146334;border-color:#95c8a4}.bookingUpdateBadge.invoiceDraft{background:#edf1ef;color:#58685f;border-color:#cbd5cf}
.bookingUpdateBadge.invoiceSent{background:#e1f3f4;color:#176b70;border-color:#afd1d4}.bookingUpdateBadge.invoiceUnpaid{background:#fff4d6;color:#7c5915;border-color:#dfc68a}.bookingUpdateBadge.invoiceIssue{background:#fce6e3;color:#963b31;border-color:#e5b5ae}
.bookingMessageCard .bookingCardUpdates{display:none;padding-right:25px}.dayExpanded .bookingMessageCard .bookingCardUpdates{display:flex}
.bookingMessageButton.hasReplyNeeded{color:#146b32;background:#d8f8df;border-color:#65bd7b;opacity:1;pointer-events:auto}
.messageCountBadge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#199b45;color:#fff;font-size:11px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.messageCountBadge[hidden]{display:none!important}.headerAccountButton{position:relative}.profileMessageCount{position:absolute;right:-7px;top:-8px;box-shadow:0 0 0 2px #0fa399}
.bookingMessageCount{position:absolute;right:-6px;top:-8px;min-width:16px;height:16px;padding:0 4px;font-size:9px;box-shadow:0 0 0 2px #fff}
.accountDropdown .accountMessagesButton{display:flex;align-items:center;justify-content:space-between;gap:12px}
.messageInboxRow.awaitingReply{background:#f0fcf3;border-color:#9bd6aa}.messageInboxActions{display:grid;justify-items:end;gap:10px}.messageInboxActions .replyNeeded{font-size:12px}.messageInboxActions .approvalReviewLabel{background:transparent;font-size:13px;padding:5px 0}.messageInboxCurrent,.messageInboxRow small{font-size:12px;color:#527262}#messagesInboxCount{font-size:14px;color:#46625b}
@media(max-width:540px){.messageInboxRow{grid-template-columns:minmax(0,1fr)}.messageInboxActions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}}
.agendaItem{row-gap:0}.agendaItem>.agendaTime{grid-column:1;grid-row:1}.agendaItem>div{grid-column:2;grid-row:1}.agendaItem>.status{grid-column:3;grid-row:1/3}
.agendaItem .agendaBookingMetaRow{display:grid;grid-column:1/3;grid-row:2;grid-template-columns:145px minmax(0,1fr);align-items:center;column-gap:10px;margin-top:4px}.agendaItem .agendaBookingMetaRow .bookingCardUpdates{display:flex;grid-column:1;grid-row:1;margin:0}.agendaItem .agendaBookingMetaRow .locationIndicators{display:flex;grid-column:2;grid-row:1;margin:0}.agendaItem .bookingUpdateBadge{display:inline-flex}
@media(max-width:1100px){.agendaItem .agendaBookingMetaRow{grid-template-columns:140px minmax(0,1fr)}.agendaItem>.status{grid-column:2;grid-row:3;margin-top:6px}}
@media(max-width:520px){.agendaItem>div{grid-column:1;grid-row:2;margin-top:10px}.agendaItem .agendaBookingMetaRow{display:flex;flex-wrap:wrap;grid-column:1;grid-row:3;gap:5px}.agendaItem .agendaBookingMetaRow .locationIndicators,.agendaItem .agendaBookingMetaRow .bookingCardUpdates{display:contents}.agendaItem>.status{grid-column:1;grid-row:4}}

.addBookingPartner{margin-top:10px;padding:12px;border:1px solid #acd6cb;border-radius:12px;background:#effaf5}.addBookingPartner[hidden]{display:none}.addBookingPartner>label{display:block;margin-bottom:5px}.addBookingPartner>small{display:block;margin-top:6px;color:#526e66}.bookingPartnerActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}.bookingPartnerError{color:#a53030;font-size:13px;margin:5px 0}.bookingPartnerError:empty{display:none}

.accountFormLink{margin:4px 0 0}
.linkButton{min-height:44px;padding:0;border:0;background:none;color:var(--teal);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.peopleActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.peopleActions select{width:auto;min-height:44px;padding:6px 10px;border:1px solid #c6dcd5;border-radius:10px;background:#fff;font-size:14px}
.peopleActions button{min-height:44px}
