.calendar-schedule{width:min(900px,100%)}.calendar-schedule-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;align-items:end;gap:14px;margin:18px 18px 8px;padding:16px;border:1px solid #e5dcd8;border-radius:12px;background:#fff}.calendar-schedule-tools label{display:grid;gap:6px;color:#786a70;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-schedule-tools select{border:1px solid #d9cfcb;border-radius:8px;padding:10px;background:#fff;color:#49353e}.schedule-month-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;border:1px solid #ddd3cf;border-radius:9px;overflow:hidden;background:#fff}.schedule-month-nav button{height:38px;border:0;background:#f5efec;color:#5e444f;font-size:20px;cursor:pointer}.schedule-month-nav strong{text-align:center;text-transform:capitalize;font:700 15px Georgia;color:#4e3842}.schedule-selection-help{margin:0 18px 10px;padding:9px 12px;border-radius:8px;background:#efe8eb;color:#765f68;font-size:11px}.schedule-month-calendar{margin:0 18px 18px;border:1px solid #dfd5d1;border-radius:13px;overflow:hidden;background:#fff}.schedule-calendar-days,.schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr))}.schedule-weekdays b{padding:8px;text-align:center;background:#5b414c;color:#fff;font-size:9px;letter-spacing:.12em}.schedule-calendar-days>i{min-height:90px;background:#faf8f7;border-right:1px solid #eee7e4;border-bottom:1px solid #eee7e4}.schedule-calendar-days>button{position:relative;display:grid;align-content:start;gap:4px;min-height:90px;padding:8px;border:0;border-right:1px solid #eee7e4;border-bottom:1px solid #eee7e4;background:#fff;text-align:left;color:#523d46;cursor:pointer}.schedule-calendar-days>button:hover{background:#f8f2f4;box-shadow:inset 0 0 0 2px #c9abb6}.schedule-calendar-days>button:disabled{background:#f5f3f2;color:#bbb;cursor:not-allowed}.schedule-calendar-days>button span{text-transform:capitalize;color:#9b898f;font-size:8px}.schedule-calendar-days>button strong{font:700 20px Georgia}.schedule-calendar-days>button small{font-size:9px;color:#8a767e;line-height:1.3}.schedule-calendar-days>button.open{background:#e4f2ea;color:#2f674d}.schedule-calendar-days>button.open small{color:#3d765b}.schedule-calendar-days>button.selected{background:#f4e4cc;box-shadow:inset 0 0 0 2px #d59a4e}.schedule-calendar-days>button.conflict{background:#f8dddd;box-shadow:inset 0 0 0 2px #c96363}.schedule-calendar-days>button.focused{box-shadow:inset 0 0 0 3px #704d5c}.schedule-calendar-days>button em{color:#a52e36;font-size:9px;font-style:normal;font-weight:900}.schedule-multi-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:12px 18px;border-top:1px solid #d8ceca;background:#fff;box-shadow:0 -6px 18px #4d354010}.schedule-multi-bar span{margin-right:auto;color:#705b64;font-size:11px}.schedule-day-detail{margin:0 18px 18px;border:1px solid #dfd5d1;border-radius:12px;background:#fff;overflow:hidden}.schedule-day-detail>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#f4eeee}.schedule-day-detail h3{margin:2px 0 0;text-transform:capitalize}.schedule-day-detail>header small{font-size:8px;letter-spacing:.12em;color:#927b84}.schedule-day-detail>header>button{border:0;background:none;font-size:18px}.schedule-day-detail article{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid #eee6e3}.schedule-day-detail article span{color:#88747c;font-size:10px}.schedule-day-detail article div{display:flex;gap:7px}.schedule-time-dialog{width:min(520px,calc(100vw - 30px))}.schedule-time-dialog>small{display:block;color:#9a7d89;font-size:9px;text-transform:capitalize}.schedule-time-dialog>p{color:#806e75}.schedule-time-dialog .add-time-range{margin:8px 0 18px}.schedule-time-dialog .schedule-edit-times button{border:0;background:none;color:#a34b55;font-size:18px}.schedule-room-picker{display:grid;gap:6px;margin:12px 0 16px}.schedule-room-picker>span{font-weight:800;color:#5d4650}.schedule-room-picker select{width:100%;padding:10px 12px;border:1px solid #d9cfcb;border-radius:8px;background:#fff;color:#49353e}.schedule-room-picker small{color:#88747c;line-height:1.35}.schedule-message{display:block;width:calc(100% - 36px);border:0;text-align:left;cursor:pointer}@media(max-width:760px){.calendar-schedule-tools{grid-template-columns:1fr}.schedule-calendar-days,.schedule-weekdays{grid-template-columns:repeat(7,minmax(48px,1fr))}.schedule-calendar-days>button,.schedule-calendar-days>i{min-height:70px}.schedule-calendar-days>button{padding:5px}.schedule-calendar-days>button span{display:none}.schedule-calendar-days>button strong{font-size:16px}.schedule-calendar-days>button small{font-size:7px}.schedule-day-detail article{grid-template-columns:1fr}.schedule-multi-bar{flex-wrap:wrap}}.overlay.availability-overlay{z-index:1100;overflow-y:auto;padding:24px;align-items:center;justify-content:center}.availability-overlay>.modal.availability-dialog{position:relative;display:block!important;width:min(900px,100%)!important;max-width:900px!important;max-height:calc(100dvh - 48px);overflow-y:auto;padding:28px;border-radius:20px;background:#fff;box-sizing:border-box;color:#342d2b;text-align:left;outline:none}.availability-dialog h2{margin:0 40px 8px 0;font-size:28px}.availability-dialog .availability-intro{margin:0 28px 20px 0;color:#796c68;line-height:1.5}.availability-dialog .availability-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px;margin:0 0 16px}.availability-dialog label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;min-width:0}.availability-dialog input,.availability-dialog select{width:100%;min-width:0;box-sizing:border-box;background:#fff;color:#342d2b;border:1px solid #d9cbc5;border-radius:10px;padding:11px;font-size:15px}.availability-dialog .availability-explanation,.availability-dialog .availability-range{font-size:13px;line-height:1.5;color:#786f68}.availability-dialog .availability-results{display:flex!important;flex-direction:column!important;align-items:stretch!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;width:100%;margin:16px 0}.availability-dialog .availability-results>.availability-result{display:block!important;flex:none!important;width:100%!important;min-width:0;box-sizing:border-box;border:1px solid #c8ddd2;border-left:4px solid #4d866e;border-radius:12px;background:#f7fbf8;padding:0;overflow:hidden}.availability-dialog .availability-time{display:flex!important;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:0;border:0;border-radius:0;background:transparent;color:inherit;padding:16px 18px;text-align:left;cursor:pointer}.availability-dialog .availability-time:hover{background:#edf5ee}.availability-dialog .availability-result-title{display:flex!important;flex-direction:column!important;gap:6px;min-width:0;font-size:15px;overflow-wrap:anywhere}.availability-dialog .availability-result-title strong{font-size:18px;color:#28523e}.availability-dialog .availability-result-action{flex-shrink:0;color:#315e47;font-weight:700;font-size:14px}.availability-dialog .availability-service-summary{margin:0;padding:0 18px 15px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.availability-dialog .availability-service-summary small{display:block;color:#82756c;font-size:13px;margin-top:4px}.availability-dialog .availability-service-choice{padding:0 18px 16px}.availability-dialog .availability-empty{padding:22px;background:#f8f5f1;border-radius:12px;color:#706159;line-height:1.6}.availability-dialog .availability-footer{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.availability-dialog .availability-footer button{width:auto;margin:0}.availability-overlay .availability-error{z-index:1200;display:flex;align-items:center;justify-content:center}@media(max-width:650px){.overlay.availability-overlay{padding:12px}.availability-overlay>.modal.availability-dialog{max-height:calc(100dvh - 24px);padding:22px 16px}.availability-dialog .availability-filters{grid-template-columns:minmax(0,1fr)!important}.availability-dialog .availability-time{align-items:flex-start;flex-direction:column}.availability-dialog .availability-footer{justify-content:stretch}.availability-dialog .availability-footer button{flex:1 1 auto}}