body[data-page=schedule] main{max-width:1800px}body[data-page=schedule] .intro{padding:22px 0}body[data-page=schedule] h1{font-size:27px}.calendar-app{display:grid;grid-template-columns:200px minmax(0,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;min-height:640px}.calendar-app button,#calendar-dialog button{border:1px solid #e6d9c8;background:white;color:#745234;border-radius:7px;padding:9px 12px;min-height:38px}.cal-sidebar{background:#fbf7f1;padding:20px;border-right:1px solid var(--line)}.cal-sidebar h2{font-size:18px;margin:0 0 20px}.cal-sidebar>button{display:block;width:100%;margin-bottom:9px}.cal-sidebar label{display:block;font-size:11px;color:#7d6c57;margin-top:20px}.cal-sidebar input,.resource-tools select{width:100%;padding:9px 7px;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;min-width:0}.cal-side-tabs{display:grid;gap:6px;margin:22px 0}.cal-side-tabs button{text-align:left;border:0;background:transparent;font-size:12px}.cal-side-tabs .selected{background:#f1dfca;color:#8d4a1b;font-weight:bold}#cal-search button{margin-top:10px;font-size:11px;padding:7px}.cal-note{font-size:10px;line-height:1.8;color:#8b7a63;margin-top:18px}.cal-main{padding:22px;min-width:0}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cal-toolbar>div{display:flex;gap:7px;align-items:center}.cal-toolbar strong{font-size:20px;margin-left:9px;letter-spacing:-.6px}.cal-toolbar button{font-size:12px}.cal-feedback{font-size:11px;min-height:18px;margin:12px 0;color:#a45c27}.calendar-scroll,.resource-scroll{overflow:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:735px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.weekday{text-align:center;padding:12px;background:#fbf8f3;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.weekday:first-child{color:#c46b52}.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;min-height:118px}.week .calendar-cell{min-height:470px}.cell-date{display:flex;justify-content:space-between;align-items:center;min-height:30px;margin-bottom:5px}.cell-date strong{font-size:11px;padding:4px 6px}.cell-date button{border:0;min-height:28px;padding:3px 7px;background:transparent}.is-today .cell-date strong{background:var(--accent);color:#fff;border-radius:20px}.outside{background:#faf9f7}.outside .cell-date strong{color:#aaa}.cal-event{display:flex!important;flex-direction:column;gap:5px;text-align:left;width:100%;background:#f6f0e7!important;border:0!important;border-left:3px solid #d7b083!important;border-radius:5px!important;padding:9px!important;margin:5px 0;overflow-wrap:anywhere}.cal-event.booked{background:#fce9d8!important;border-left-color:#e48d4c!important}.cal-event small{font-size:9px;color:#a96633}.cal-event strong{font-size:11px;color:#5b4736;line-height:1.5}.cal-event span{font-size:9px;line-height:1.5;color:#95816b}.no-events{font-size:10px;color:#bbb2a5;display:block;margin-top:25px;text-align:center}.cal-empty{text-align:center;padding:80px 20px;font-size:13px;color:#9d8b72;line-height:2}.list-event{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.list-event>div strong{font-size:13px}.list-event>div small{display:block;font-size:11px;color:#8e7d66;margin-top:8px}.resource-tools{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap;font-size:11px}.resource-tools label{display:flex;align-items:center;gap:8px;white-space:nowrap}.resource-tools select{width:auto;margin:0}.resource-tools>span{color:#8b7a63;font-size:10px}.resource-table{border-collapse:collapse;width:100%;min-width:1080px}.resource-table th,.resource-table td{border:1px solid var(--line);padding:0}.resource-table thead th{font-size:10px;font-weight:500;height:35px;background:#fbf7f1;min-width:35px}.resource-table th:first-child{width:190px;min-width:190px;text-align:left;padding:12px;position:sticky;left:0;background:#fffaf4;z-index:1}.resource-table th strong{display:block;font-size:12px}.resource-table th small{display:block;font-size:10px;color:#9a876f;font-weight:400;margin-top:7px}.resource-table .slot{width:100%;height:57px;border:0;border-radius:0;padding:0;background:#fff;min-width:35px}.resource-table .slot:hover{background:#f6e7d3}.resource-table .occupied{background:#f5d6b7;color:#a75d26}.booking-title{font-size:14px;margin-top:25px}.cal-main>.cal-event{max-width:650px}#calendar-dialog{max-width:700px;padding:26px;max-height:90vh;overflow:auto}#calendar-dialog h2{font-size:22px}#calendar-dialog fieldset{border:0;padding:0;margin:0;min-width:0}#calendar-dialog label{display:block;font-size:12px;color:#725d47;margin-top:14px}#calendar-dialog input:not([type=checkbox]),#calendar-dialog select,#calendar-dialog textarea{width:100%;display:block;margin-top:7px;padding:10px;border:1px solid #ddd1c1;border-radius:6px;background:#fff;min-width:0;color:#493d30;font-size:13px}#calendar-dialog .cal-check{display:flex;align-items:center;gap:7px}.cal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cal-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.cal-form-actions button{font-size:12px}#cal-error{color:#b83e22;font-size:12px}.resource-editor{border:1px solid var(--line);padding:15px;border-radius:10px;margin-bottom:12px;display:grid;grid-template-columns:1fr 100px;gap:0 12px}.resource-editor button{align-self:end}.resource-editor label{margin-top:4px!important}#resource-form>p{font-size:12px}@media(max-width:900px){.calendar-app{grid-template-columns:160px 1fr}.cal-sidebar{padding:15px}.cal-main{padding:15px}.cal-toolbar strong{font-size:15px}.cal-toolbar{flex-wrap:wrap}}@media(max-width:640px){.calendar-app{display:block}.cal-sidebar{border-right:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}.cal-sidebar h2{width:100%;margin-bottom:4px}.cal-sidebar>button{width:auto;margin:0;font-size:12px}.cal-sidebar>label{margin:0;flex:1;min-width:140px}.cal-sidebar>label input{margin:4px 0 0}.cal-side-tabs{display:flex;overflow:auto;width:100%;margin:5px 0;gap:3px}.cal-side-tabs button{white-space:nowrap;font-size:11px;padding:8px}#cal-search{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap}#cal-search label{margin:0;flex:1;min-width:110px}#cal-search input{margin-top:5px}.cal-sidebar .cal-note{margin:0;font-size:9px}.cal-toolbar{gap:6px}.cal-toolbar>div{gap:3px}.cal-toolbar strong{font-size:14px;margin-left:3px}.cal-toolbar button{font-size:10px;padding:8px}.cal-form-row{grid-template-columns:1fr;gap:0}.list-event{grid-template-columns:1fr;gap:4px}.list-event>div small{display:inline;margin-left:9px}#calendar-dialog{padding:20px}.resource-editor{grid-template-columns:1fr}.cal-main{padding:12px}.calendar-grid{min-width:770px}.week .calendar-cell{min-height:350px}}
.resource-filter{display:flex;align-items:center;gap:8px;white-space:nowrap}.resource-picker{position:relative}.resource-picker>button{font-size:11px;min-width:72px;text-align:left}.resource-category-options{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:grid;gap:2px;min-width:120px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #35241326}.resource-category-options[hidden]{display:none}.resource-category-options button{width:100%;min-height:34px;text-align:left;font-size:11px;border:0!important;background:#fff!important}.resource-category-options button:hover,.resource-category-options button[aria-selected=true]{background:#f3e6d7!important;color:#8d2637;font-weight:700}
.calendar-team-filter,.calendar-team-picker,.event-team-picker{position:relative}.calendar-team-filter{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px}.calendar-team-picker>button,.event-team-picker>button{font-size:11px;min-width:90px;text-align:left}.calendar-team-options,.event-team-options{position:absolute;top:calc(100% + 4px);left:0;z-index:8;display:grid;gap:2px;min-width:150px;max-height:280px;overflow:auto;padding:5px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #35241326}.calendar-team-options[hidden],.event-team-options[hidden]{display:none}.calendar-team-options button,.event-team-options button{width:100%;min-height:34px;text-align:left;font-size:11px;border:0!important;background:white!important}.calendar-team-options button:hover,.calendar-team-options button[aria-selected=true],.event-team-options button:hover,.event-team-options button[aria-selected=true]{background:#f3e6d7!important;color:#8d2637;font-weight:700}.event-team-picker{display:inline-block;margin-top:7px}.event-team-picker .event-team-options{min-width:100%;max-height:180px}
.calendar-cell.is-holiday .cell-date strong{color:#b3261e}.calendar-cell.is-today.is-holiday .cell-date strong{color:#fff}.calendar-holiday{margin:3px 0 7px;padding:4px 6px;border-radius:5px;background:#fff0ed;color:#b3261e;font-size:10px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.week-day.is-holiday:not(.selected) strong,.week-day.is-holiday:not(.selected) span{color:#b3261e}.holiday-event{background:#fff1ef!important;border-color:#c94e4e!important}.holiday-event .event-kind{color:#b3261e}.holiday-event h3{color:#8f1722}.holiday-list .cal-event{background:#fff1ef!important;border-left-color:#c94e4e!important}.holiday-list .cal-event strong{color:#8f1722}

/* Sunday, Saturday and public-holiday colors in home and full calendar date strips. */
.today-card .week-day.is-sunday:not(.selected) { background: #fff0f2; color: #cf7888; }
.today-card .week-day.is-sunday:not(.selected) span,
.today-card .week-day.is-sunday:not(.selected) strong { color: #c55e72; }
.today-card .week-day.is-saturday:not(.selected) { color: #3979c6; }
.today-card .week-day.is-saturday:not(.selected) span,
.today-card .week-day.is-saturday:not(.selected) strong { color: #3979c6; }
.today-card .week-day.is-sunday.selected,
.today-card .week-day.is-holiday.selected { background: #f8dfe3; color: #b3261e; }
.today-card .week-day.is-sunday.selected span,
.today-card .week-day.is-sunday.selected strong,
.today-card .week-day.is-holiday.selected span,
.today-card .week-day.is-holiday.selected strong { color: #b3261e; }
.today-card .week-day.is-holiday:not(.selected) { background: #fff0ed; outline: 1px solid #efc9c5; }
.today-card .week-holiday-label { color: #b3261e; font-size: 8px; line-height: 1; }
.today-card .week-day.selected .week-holiday-label { color: #b3261e; }
.calendar-grid .weekday.is-sunday { color: #c55e72; }
.calendar-grid .weekday.is-saturday { color: #3979c6; }
.calendar-cell.is-sunday:not(.is-holiday) .cell-date strong { color: #c55e72; }
.calendar-cell.is-saturday:not(.is-holiday) .cell-date strong { color: #3979c6; }
.calendar-cell.is-today:not(.is-holiday) .cell-date strong { color: #fff; }

/* Softer weekend tones; public holidays match Sunday without an extra outline. */
.today-card .week-day.is-sunday:not(.selected),
.today-card .week-day.is-holiday:not(.selected) {
  background: rgba(197, 94, 114, 0.055);
  outline: none;
  box-shadow: none;
  color: rgba(173, 91, 108, 0.78);
}
.today-card .week-day.is-sunday:not(.selected) span,
.today-card .week-day.is-sunday:not(.selected) strong,
.today-card .week-day.is-holiday:not(.selected) span,
.today-card .week-day.is-holiday:not(.selected) strong { color: rgba(173, 91, 108, 0.82); }
.today-card .week-day.is-saturday:not(.selected) span,
.today-card .week-day.is-saturday:not(.selected) strong { color: rgba(57, 121, 198, 0.76); }
.today-card .week-day.is-sunday.selected,
.today-card .week-day.is-holiday.selected { background: rgba(197, 94, 114, 0.13); color: #ad5b6c; }
.today-card .week-day.is-sunday.selected span,
.today-card .week-day.is-sunday.selected strong,
.today-card .week-day.is-holiday.selected span,
.today-card .week-day.is-holiday.selected strong { color: #ad5b6c; }
.today-card .week-holiday-label { color: rgba(173, 91, 108, 0.78); }
.calendar-grid .weekday.is-sunday,
.calendar-cell.is-sunday:not(.is-holiday) .cell-date strong,
.calendar-cell.is-holiday .cell-date strong { color: #c58e98; }
.calendar-grid .weekday.is-saturday,
.calendar-cell.is-saturday:not(.is-holiday) .cell-date strong { color: #7da4d1; }
.calendar-cell.is-today.is-holiday .cell-date strong { color: #fff; }

/* Schedule controls share one row above the calendar. */
.calendar-app.calendar-wide{grid-template-columns:minmax(0,1fr)}
.calendar-wide .cal-toolbar-actions{display:flex;gap:8px}
.calendar-wide #cal-search{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:20px;padding:16px;background:#fbf8f3;border-radius:10px}
.calendar-wide #cal-search label{display:flex;flex-direction:column;gap:7px;margin:0;min-width:110px;font-size:12px;color:#7d6c57;flex:0 1 auto}
.calendar-wide #cal-search input,.calendar-wide #cal-search select{height:38px;padding:8px 10px;margin:0;border:1px solid var(--line);border-radius:7px;background:white;color:#493d30;font:inherit;width:150px;min-width:0}
.calendar-wide #cal-search select{width:100px}
.calendar-wide #cal-search .cal-query-field input{width:200px}
.calendar-wide #cal-search button{margin:0;padding:9px 12px;font-size:12px;min-height:38px}
.calendar-wide .calendar-team-filter{flex-direction:column;align-items:flex-start;gap:7px;font-size:12px}
.calendar-wide .calendar-team-picker>button{min-width:110px}
@media(max-width:640px){.calendar-wide #cal-search{gap:10px;padding:12px}.calendar-wide #cal-search label{flex:1 1 130px}.calendar-wide #cal-search input,.calendar-wide #cal-search select,.calendar-wide #cal-search .cal-query-field input{width:100%}}
@media(min-width:641px){.calendar-wide #cal-search{gap:8px}.calendar-wide #cal-search label{min-width:0}.calendar-wide #cal-search input{width:120px}.calendar-wide #cal-search input[type=date]{width:140px}.calendar-wide #cal-search select{width:90px}.calendar-wide #cal-search .cal-query-field{flex:1 1 145px}.calendar-wide #cal-search .cal-query-field input{width:100%}.calendar-wide .calendar-team-picker>button{min-width:95px}}

.calendar-app .resource-month-day{display:block;text-align:left;border-radius:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:150px;color:#493d30;background:white;overflow:hidden}
.calendar-app .resource-month-day.outside{background:#faf9f7}
.calendar-app .resource-month-day:hover{background:#fcf6ee}
.resource-month-entry{display:flex;flex-direction:column;gap:3px;background:#fff1e4;border-radius:5px;padding:6px;margin:4px 0;overflow-wrap:anywhere}
.resource-month-entry small{font-size:10px;color:#a96633}.resource-month-entry strong{font-size:12px;line-height:1.5}.resource-month-day .cell-date small{font-size:10px;color:#9b7650}

.resource-month-count{display:block;font-size:12px;line-height:1.6;padding:4px 0;color:#745234;overflow-wrap:anywhere}

.resource-day-details{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);scroll-margin-top:20px}.resource-day-details>h3{margin:0 0 18px;font-size:18px}.calendar-app .resource-month-day.resource-day-selected{background:#f7eee2;box-shadow:inset 0 0 0 2px #cda976}

.calendar-cell.schedule-day-selected{background:#faf4eb;box-shadow:inset 0 0 0 2px #cda976}.calendar-app .cell-date .schedule-date-button{padding:0;min-height:30px;color:inherit;text-align:left}.schedule-date-button:hover strong{text-decoration:underline}#schedule-day-list .cal-event{margin:0}

.calendar-cell[data-schedule-cell]{cursor:pointer}.calendar-cell[data-schedule-cell]:hover{background:#fcf8f2}

.cal-resource-selection{margin-top:18px;font-size:12px;color:#725d47}.cal-resource-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:8px}#calendar-dialog .cal-resource-choices label{margin:0;padding:6px}

.cal-resource-groups{display:grid;gap:12px;margin-top:10px}.cal-resource-group h3{font-size:13px;margin:0 0 6px;color:#725234}.cal-resource-group .cal-resource-choices{margin-top:0}.cal-resource-group .cal-note{margin:0}
