.rh-range{border:1px solid #dce2e0;border-top:5px solid var(--range-color);border-radius:12px;background:#fff;margin:0 0 24px;overflow:hidden}.rh-range-header{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:color-mix(in srgb,var(--range-color) 13%,white);gap:10px}.rh-range-header h3{margin:0 0 4px;color:#14251c;font-size:17px}.rh-range-header small{font-size:12px;color:#394b42}.rh-scroll{overflow:auto}.rh-week{min-width:780px}.rh-day{min-width:850px}.rh-day-head{display:grid;grid-template-columns:58px repeat(var(--day-count),1fr);position:sticky;top:0;background:#fff;z-index:3;font-size:12px;border-bottom:1px solid #cbd4cf}.rh-day-head>*{padding:12px 6px;text-align:center}.rh-grid-body{position:relative}.rh-week .rh-grid-body{display:grid;grid-template-columns:58px repeat(var(--day-count),minmax(0,1fr));height:var(--grid-height);margin-bottom:14px}.rh-time-labels{position:relative;color:#495b50;font-variant-numeric:tabular-nums;font-size:11px;z-index:2;pointer-events:none}.rh-time-labels span{position:absolute;transform:translateY(-50%);right:6px}.rh-time-labels span:first-child{transform:none}.rh-time-labels span:last-child{transform:translateY(-100%)}.rh-time-surface{position:relative;border-left:1px solid #d7dfda;background:color-mix(in srgb,var(--range-color) 5%,white);overflow:hidden;touch-action:pan-x pan-y;user-select:none;min-width:0}.rh-lines{position:absolute;inset:0;pointer-events:none}.rh-lines i{position:absolute;left:0;right:0;border-top:1px solid #dfe6e1}.rh-booking{position:absolute;z-index:2;min-width:0;border:1px solid color-mix(in srgb,var(--range-color) 75%,black);border-left:4px solid var(--range-color);background:color-mix(in srgb,var(--range-color) 20%,white);color:#10251a;border-radius:5px;text-align:left;overflow:hidden;padding:3px 5px;font-size:10px;line-height:1.3;cursor:pointer}.rh-booking strong,.rh-booking span,.rh-booking small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rh-booking strong{font-variant-numeric:tabular-nums}.rh-booking:hover,.rh-booking:focus-visible{outline:2px solid #1a3324;z-index:4}.rh-hold{border-style:dashed}.rh-closed{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#e7e9e8,#e7e9e8 5px,#f1f2f1 5px,#f1f2f1 10px);pointer-events:none;color:#657168;font-size:10px;overflow:hidden}.rh-closed span{padding:4px;display:block}.rh-day .rh-day-head{display:none}.rh-day .rh-grid-body{padding-top:30px}.rh-day .rh-time-labels{height:30px;position:absolute;top:0;left:0;right:0}.rh-day .rh-time-labels span{right:auto;top:5px;transform:translateX(-50%)}.rh-day .rh-time-labels span:first-child{transform:none}.rh-day .rh-time-labels span:last-child{transform:translateX(-100%)}.rh-day .rh-lines i{top:0;bottom:0;right:auto;border-top:0;border-left:1px solid #dfe6e1}.rh-day .rh-closed{top:0;bottom:0;right:auto}.rh-draft{position:absolute;z-index:5;border:2px dashed #123d71;background:#d1e6ffdc;color:#102d52;font-weight:700;font-size:11px;padding:4px;pointer-events:none;overflow:hidden;border-radius:5px}.rh-week .rh-draft{left:0;right:0}.rh-day .rh-draft{top:4px;bottom:4px}.rh-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dce2e0;background:#fff;border-radius:8px;overflow:hidden}.rh-month>strong{text-align:center;padding:12px;font-size:12px}.rh-month-day{background:#fff;min-height:135px;border:0;border-top:1px solid #dce2e0;border-right:1px solid #dce2e0;padding:7px;text-align:left;cursor:pointer;overflow:hidden}.rh-month-day>strong{display:block;margin-bottom:7px}.rh-month-day>span{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-left:4px solid var(--range-color);background:color-mix(in srgb,var(--range-color) 16%,white);font-size:10px;margin:3px 0;padding:4px;color:#14251c}.is-today{background:#e8f1ff!important}.outside{opacity:.55}.rh-calendar-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:14px}.rh-calendar-nav .btn{min-height:40px}.rh-interval{font-size:16px;font-weight:750;flex:1;text-align:center}.rh-booking-panel{position:fixed!important;inset:76px 12px 12px auto!important;margin:0!important;width:420px!important;max-width:calc(100vw - 24px)!important;height:auto!important;max-height:calc(100vh - 88px)!important;z-index:30;border:1px solid #c6d4ca;box-shadow:0 10px 40px #10251a26}.rh-booking-panel::backdrop{display:none;backdrop-filter:none;background:none}.rh-booking-panel .drawer-header,.rh-booking-panel .drawer-body,.rh-booking-panel .drawer-foot{padding:18px}.rh-booking-panel .form-grid{grid-template-columns:1fr}.calendar-editing #main{padding-right:456px}.rh-eligibility{font-size:12px;margin:12px 0;border-radius:6px;padding:10px;background:#eff5f1;color:#183d25}.rh-eligibility.blocked{background:#fff1e8;color:#703007;border-left:4px solid #b84d20}.customer-combo{position:relative}.customer-combo select{display:none!important}.customer-combo input{width:100%;min-height:42px}.customer-combo-list{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow:auto;background:white;border:1px solid #a6b9ac;border-radius:5px;z-index:100;box-shadow:0 6px 18px #0002}.customer-combo-list[hidden]{display:none}.customer-combo-list button{display:block;width:100%;border:0;border-bottom:1px solid #edf0ed;background:#fff;text-align:left;padding:10px;color:#183523;font-size:13px;cursor:pointer}.customer-combo-list button:hover,.customer-combo-list button:focus,.customer-combo-list button.active{background:#e4f1e9}.customer-combo-list p{padding:10px;font-size:12px}.hours-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px;padding:8px 0;align-items:center}.hours-row input{min-width:0;width:100%}.hours-row>label{display:flex;gap:5px;align-items:center;font-size:12px}.hours-row input[type=checkbox]{width:auto}.background-preview{height:120px;border-radius:8px;position:relative;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#13271a;font-weight:700;border:1px solid #cbd4cd;margin:8px 0}.impact-list{border-left:3px solid #b84d20;padding:8px 14px;background:#fff3e9;margin:15px 0;font-size:12px}.rh-busy-summary{padding:12px;background:#edf1ee;border-radius:6px;margin:10px 0}.rh-alerts{border:1px solid #e4ab76;background:#fff6e9;padding:16px;margin-bottom:18px;border-radius:8px}.rh-queue-card{border:1px solid #d3ded5;border-left:4px solid #49745c;padding:14px;margin:10px 0;border-radius:6px}.rh-queue-card h3{font-size:15px;margin:0 0 6px}.rh-queue-card p{font-size:12px;margin:5px 0}.rh-bg-home{background-size:cover;background-position:var(--bg-position,center);background-attachment:fixed}.rh-bg-sidebar{background-size:cover!important}.rh-bg-calendar{background-size:cover;background-position:center;padding:14px;border-radius:12px}.mobile-bottom{z-index:35}.calendar-editing .mobile-bottom{display:none}
@media(max-width:1100px){.calendar-editing #main{padding-right:24px}.rh-booking-panel{width:360px!important}.calendar-editing .rh-scroll{margin-right:0}.rh-week{min-width:720px}}
@media(max-width:760px){.rh-range-header{padding:12px}.rh-range-header h3{font-size:15px}.rh-week{min-width:680px}.rh-day{min-width:700px}.rh-booking-panel{inset:auto 8px 8px 8px!important;width:auto!important;max-width:none!important;max-height:64dvh!important}.rh-booking-panel .drawer-header{padding:10px 14px}.rh-booking-panel .drawer-header h2{font-size:18px}.rh-booking-panel .drawer-header p{display:none}.rh-booking-panel .drawer-body{padding:12px}.calendar-editing #main{padding-right:16px;padding-bottom:64dvh}.rh-interval{font-size:13px;min-width:140px}.rh-month-day{min-height:95px;padding:3px}.rh-month-day>span{font-size:8px;padding:3px 1px;border-left-width:3px}.rh-month>strong{padding:8px 2px}.rh-queue-card .actions{flex-wrap:wrap}.hours-row{grid-template-columns:75px 1fr 1fr;gap:5px}.rh-range{margin-bottom:18px}.site-tools{flex-wrap:wrap}.customer-combo-list{max-height:180px}}
/* A non-modal dialog needs its own scrolling body, including on touch screens. */
.rh-booking-panel[open]{display:flex;flex-direction:column;overflow:hidden}.rh-booking-panel>.drawer-header{position:static;flex:none}.rh-booking-panel>form{display:flex;flex-direction:column;min-height:0;flex:1}.rh-booking-panel .drawer-body{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}.rh-booking-panel .drawer-foot{position:static;flex:none}

.rh-week .rh-grid-body{grid-template-rows:minmax(0,1fr)}.rh-week .rh-time-surface{height:100%;min-height:0}.rh-booking{min-height:0;box-sizing:border-box}
