/* Two projections of the same Calendar records. All dimensions below are presentation units. */
#schedule-week.calendar-views{display:block;padding:0;overflow:hidden;width:100%;min-width:0}
.calendar-toolbar{flex-wrap:wrap;row-gap:14px}.calendar-view-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-view-controls select{height:33px;padding:5px 24px 5px 9px;border:1px solid #dce2ec;border-radius:6px;background:#fff;color:#52627c;font-size:11px;max-width:180px}.calendar-view-controls select[hidden]{display:none}
.calendar-view-switch{display:inline-flex;padding:3px;border:1px solid #dfe5ef;border-radius:7px;background:#f5f7fb;gap:2px}.calendar-view-switch button{border:0;border-radius:4px;background:transparent;padding:6px 10px;min-height:28px;font-size:11px;color:#6a7992;box-shadow:none}.calendar-view-switch button[aria-pressed=true]{background:#fff;color:#253858;box-shadow:0 1px 3px #172d5015}.calendar-view-switch button:focus-visible{outline:2px solid #35588e;outline-offset:1px}
.calendar-views{--cv-rule:#e7eaf0;--cv-ink:#233250;--cv-muted:#7a869b;--cv-hour:48px;--cv-head-height:68px;--cv-label-width:52px;--cv-resource-width:144px}
.calendar-views .cv-hours-scroll,.calendar-views .cv-resources-scroll{width:100%;min-width:0;max-height:570px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.calendar-views .cv-time-grid{min-width:0}
.calendar-views .cv-days-head,.calendar-views .cv-resource-head{display:grid;grid-template-columns:var(--cv-label-width) repeat(var(--cv-day-count,7),minmax(0,1fr));position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--cv-rule)}
.calendar-views .cv-days-head{height:var(--cv-head-height)}
.calendar-views .cv-date{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 5px;color:var(--cv-muted);border-left:1px solid var(--cv-rule);font-size:11px}
.calendar-views .cv-date strong{display:grid;place-items:center;width:29px;height:29px;font-size:14px;font-weight:600;color:var(--cv-ink);border-radius:50%}
.calendar-views .cv-date.cv-today strong{background:#293f70;color:#fff}
.calendar-views .cv-corner{display:flex;align-items:center;padding:12px;font-size:11px;color:var(--cv-muted);background:#fff}
.calendar-views .cv-hours-grid{display:grid;grid-template-columns:var(--cv-label-width) repeat(var(--cv-day-count,7),minmax(0,1fr));height:calc(var(--cv-hour) * 24);position:relative}
.calendar-views .cv-hour-labels{position:relative;z-index:2;background:#fff}
.calendar-views .cv-hour-labels span{position:absolute;right:9px;transform:translateY(-50%);font-size:10px;color:var(--cv-muted);white-space:nowrap}
.calendar-views .cv-hour-labels span:first-child{transform:none;padding-top:3px}
.calendar-views .calendar-day.cv-time-day{position:relative;min-width:0;min-height:0;padding:0;border:0;border-left:1px solid var(--cv-rule);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--cv-hour) - 1px),var(--cv-rule) calc(var(--cv-hour) - 1px),var(--cv-rule) var(--cv-hour))}
.calendar-views .cv-booking{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-width:0;margin:0;padding:6px 7px;border:1px solid #d6dfef;border-left:3px solid #7f99c6;border-radius:4px;background:#edf2fb;box-shadow:none;text-align:left;font:inherit;text-transform:none;color:var(--cv-ink);cursor:pointer;overflow:hidden}
.calendar-views .cv-booking:hover{background:#e1eaf9;border-color:#bccde6;box-shadow:none;color:var(--cv-ink)}
.calendar-views .cv-booking:focus-visible{outline:2px solid #35588e;outline-offset:1px;z-index:6}
.calendar-views .cv-booking strong{font:600 11px/1.35 Manrope,sans-serif;letter-spacing:0;color:inherit;overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%}
.calendar-views .cv-booking span{font:500 10px/1.35 Manrope,sans-serif;letter-spacing:0;color:#526786;text-transform:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-views .cv-timed-booking{position:absolute;top:var(--cv-top);height:max(24px,var(--cv-height));left:calc(var(--cv-lane) * 100% / var(--cv-lane-count) + 2px);width:calc(100% / var(--cv-lane-count) - 4px);z-index:3}
.calendar-views .cv-spanning{display:grid;grid-template-columns:var(--cv-label-width) minmax(0,1fr);position:sticky;top:var(--cv-head-height);z-index:4;max-height:184px;overflow-y:auto;border-bottom:1px solid var(--cv-rule);background:#fbfcfe;scrollbar-width:thin}
.calendar-views .cv-spanning-label{padding:12px 4px;text-align:center;color:var(--cv-muted);font-size:10px}
.calendar-views .cv-spanning-track{position:relative;height:calc(var(--cv-lanes) * 36px + 8px);background:repeating-linear-gradient(to right,var(--cv-rule) 0,var(--cv-rule) 1px,transparent 1px,transparent calc(100% / var(--cv-day-count,7)))}
.calendar-views .cv-span-booking{position:absolute;left:calc(var(--cv-start) + 3px);width:calc(var(--cv-span) - 6px);top:calc(var(--cv-lane) * 36px + 4px);height:30px;flex-direction:row;align-items:center;gap:9px;padding-block:4px}
.calendar-views .cv-span-booking strong{display:block;white-space:nowrap;text-overflow:ellipsis}
.calendar-views .cv-span-booking span{flex-shrink:0}
.calendar-views .cv-resource-grid{min-width:700px}
.calendar-views .cv-resource-head{grid-template-columns:var(--cv-resource-width) repeat(var(--cv-resource-day-count,7),minmax(0,1fr));z-index:7}
.calendar-views .cv-resource-head .cv-corner{position:sticky;left:0;z-index:8}
.calendar-views .cv-resource-row{display:grid;grid-template-columns:var(--cv-resource-width) minmax(0,1fr);min-height:60px;border-bottom:1px solid var(--cv-rule)}
.calendar-views .cv-resource-row:last-child{border-bottom:0}
.calendar-views .cv-resource-row{box-sizing:border-box;height:calc(var(--cv-lanes) * 44px + 17px)}
.calendar-views .cv-resource-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--cv-rule);background:#fff}
.calendar-views .cv-resource-controls .contact-search{min-width:0;max-width:346px;flex:1 1 220px;width:auto}
.calendar-views .cv-resource-controls .contact-search input{box-sizing:border-box;width:100%;min-height:38px}
.calendar-views .cv-resource-controls .record-pagination{flex:0 0 auto;margin-left:auto}
.calendar-views .cv-resources .cv-resources-scroll{height:var(--cv-resource-viewport-height,678px);max-height:min(75vh,920px);min-height:130px;overflow-anchor:none}
.calendar-views .cv-resource-spacer{width:100%;pointer-events:none}.calendar-views .cv-resource-no-results{display:flex;align-items:center;justify-content:center;min-height:130px;font-size:12px;color:var(--cv-muted)}
.calendar-views .cv-resource-name{position:sticky;left:0;z-index:4;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 16px;background:#fff;border-right:1px solid var(--cv-rule);min-width:0}
.calendar-views .cv-resource-name strong{font-size:12px;font-weight:600;color:var(--cv-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-views .cv-resource-name small{font-size:10px;color:var(--cv-muted);text-transform:capitalize}
.calendar-views .cv-resource-track{position:relative;min-width:0;height:calc(var(--cv-lanes) * 44px + 16px);background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / var(--cv-divisions,7) - 1px),var(--cv-rule) calc(100% / var(--cv-divisions,7) - 1px),var(--cv-rule) calc(100% / var(--cv-divisions,7)))}
.calendar-views .cv-resource-day .cv-resource-grid{min-width:1100px}.calendar-views .cv-resource-day .cv-resource-head{grid-template-columns:var(--cv-resource-width) repeat(12,minmax(0,1fr))}.calendar-views .cv-time-tick{justify-content:center;min-height:52px}
.calendar-views .cv-resource-bar{position:absolute;top:calc(var(--cv-lane) * 44px + 8px);left:var(--cv-start);width:var(--cv-span);height:36px;border-radius:4px;gap:2px;padding:4px 6px}
.calendar-views .cv-resource-bar strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-views .cv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;padding:36px 24px;text-align:center}
.calendar-views .cv-empty>span{font-size:28px;color:#8c9bb2}.calendar-views .cv-empty strong{font-size:15px;font-weight:600;color:var(--cv-ink)}.calendar-views .cv-empty p{font-size:12px;line-height:1.6;color:var(--cv-muted);margin:0;max-width:300px}
.calendar-views .cv-month-scroll{width:100%;min-width:0;max-height:680px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.calendar-views .cv-month-weekdays,.calendar-views .cv-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}
.calendar-views .cv-month-weekdays{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--cv-rule)}
.calendar-views .cv-month-weekday{padding:12px 5px;text-align:center;font-size:11px;font-weight:500;color:var(--cv-muted)}
.calendar-views .cv-month-day{min-width:0;min-height:112px;padding:7px 5px 10px;border-right:1px solid var(--cv-rule);border-bottom:1px solid var(--cv-rule);background:#fff}
.calendar-views .cv-month-day:nth-child(7n){border-right:0}
.calendar-views .cv-month-day>header{display:flex;justify-content:flex-end;padding:0 2px 7px}
.calendar-views .cv-month-day time{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:12px;font-weight:500;color:var(--cv-ink)}
.calendar-views .cv-month-day.cv-today time{background:#293f70;color:#fff}
.calendar-views .cv-month-day.cv-outside-month{background:#fafbfd}.calendar-views .cv-outside-month time{color:#9ba5b6}
.calendar-views .cv-month-items{display:grid;align-content:start;gap:4px;min-width:0}
.calendar-views .cv-month-booking{display:flex;flex-direction:column;gap:1px;width:100%;padding:4px 5px;border:0;border-left:2px solid #92a8cd;border-radius:3px;background:#f0f4fb;min-height:0}
.calendar-views .cv-month-booking strong{display:block;font-size:10px;line-height:1.4;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.calendar-views .cv-month-booking span{order:-1;font-size:9px;line-height:1.3;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
@media(max-width:720px){.calendar-views .cv-month-day{min-height:100px;padding:5px 2px 7px}.calendar-views .cv-month-day>header{padding-right:0}.calendar-views .cv-month-day time{font-size:11px;width:23px;height:23px}.calendar-views .cv-month-weekday{padding:10px 2px;font-size:10px}.calendar-views .cv-month-booking{padding:3px 2px;border-left-width:2px}.calendar-views .cv-month-booking strong{font-size:9px}.calendar-views .cv-month-booking span{font-size:8px}}
@media(max-width:720px){.calendar-views .cv-resource-controls{flex-wrap:wrap;gap:10px}.calendar-views .cv-resource-controls .contact-search{flex-basis:100%;max-width:none}.calendar-views .cv-resource-controls .record-pagination{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}.calendar-views .cv-resource-controls [data-record-page-label]{flex:1;text-align:center}}
@media(max-width:720px){.calendar-views .cv-time-grid{min-width:730px}.calendar-views .cv-resource-grid{min-width:740px}.calendar-views .cv-hours-scroll,.calendar-views .cv-resources-scroll{max-height:520px}.calendar-views{--cv-resource-width:126px}}

.calendar-views .cv-timed-booking.cv-short-booking{padding:2px 4px;justify-content:center;gap:0}
.calendar-views .cv-short-booking strong{display:block;white-space:nowrap;text-overflow:ellipsis;line-height:16px}
.calendar-views .cv-short-booking span{display:none}
.calendar-views .cv-schedule-day .cv-time-grid{min-width:0}
.calendar-views .cv-resource-month .cv-resource-grid{min-width:calc(var(--cv-resource-width) + var(--cv-resource-day-count) * 64px)}
