/* Spreadsheet workspace: inputs appear only while a cell is being edited. */
#root .booking-sheet td{height:32px;padding:0!important;border-color:#e2e6ea!important}
#root .booking-sheet th{height:34px;background:#f0f3f5!important;font-size:12px!important;font-weight:500!important;border-color:#d9dfe5!important}
.booking-sheet-cell{height:32px;line-height:32px;padding:0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none;cursor:cell;font-size:13px}
.booking-sheet-cell:focus,.booking-sheet-cell:focus-within{outline:2px solid #1a73e8;outline-offset:-2px;background:#fff;position:relative;z-index:1}
.booking-sheet-cell input{display:block;width:100%;height:100%;border:0!important;border-radius:0!important;background:white;padding:0;outline:none;font:inherit;line-height:normal;user-select:text}
.booking-sheet-cell[aria-readonly=true]{color:#697386}
.booking-sheet td:nth-child(5),.booking-sheet th:nth-child(5){position:sticky!important;left:136px!important;background:#f0f3f5!important;z-index:3}
.booking-sheet td:nth-child(6),.booking-sheet th:nth-child(6){position:sticky!important;left:212px!important;background:#fff!important;z-index:3;border-right:2px solid #c5ced8!important}
.booking-sheet th:nth-child(5),.booking-sheet th:nth-child(6){z-index:5;background:#f0f3f5!important}
.hub-draft-admissions{background:#f8fafb;padding:8px 12px}
.hub-draft-scroll td{padding:0}.hub-draft-scroll input{border:0;border-radius:0;padding:6px 9px;background:transparent}.hub-draft-scroll input:focus{outline:2px solid #1a73e8;outline-offset:-2px;background:#fff}
.booking-inline-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;border-bottom:1px solid #d9dfe5;background:#f8fafb;font-size:12px;flex-shrink:0}
.booking-inline-tools button{padding:7px 12px;border:1px solid #d9dfe5;border-radius:5px;background:#fff;color:#1967d2;cursor:pointer}.booking-inline-tools button:disabled{opacity:.5;cursor:default}.booking-inline-tools span{color:#596579}
#root .booking-sheet .booking-draft-row td{background:#f6fbff;border-bottom:1px solid #dce6ee;text-align:left}
.booking-draft-row td:nth-child(-n+5){text-align:center!important;color:#59758e;font-size:11px}.booking-draft-row td:nth-child(-n+4){width:34px;min-width:34px}.booking-draft-row td:nth-child(5){width:76px;min-width:76px}.booking-draft-row button{border:0;background:none;font-size:18px;color:#667085;cursor:pointer;width:100%;height:30px}
.booking-draft-failed,.booking-inline-tools .booking-draft-failed{color:#b3261e!important}.booking-draft-row:has(.booking-draft-failed){outline:1px solid #b3261e;outline-offset:-1px}
/* Keep frozen headings above frozen body cells while scrolling vertically. */
#root .booking-sheet thead th{position:sticky!important;top:0!important;z-index:10!important}
#root .booking-sheet thead th:nth-child(-n+6){z-index:12!important}
#root .booking-sheet tbody td:nth-child(-n+4){position:sticky;z-index:2}
#root .booking-sheet tbody td:nth-child(1){left:0}
#root .booking-sheet tbody td:nth-child(2){left:34px}
#root .booking-sheet tbody td:nth-child(3){left:68px}
#root .booking-sheet tbody td:nth-child(4){left:102px}
/* v47: compact controls, leaving the page height for the spreadsheet. */
#root .booking-titlebar{padding:5px 12px!important;min-height:40px;flex-shrink:0;gap:8px!important}
#root .booking-titlebar>div:first-of-type{overflow:hidden}
#root .booking-titlebar>div:first-of-type>div:first-child{font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-child-select{height:28px;max-width:240px;min-width:120px;border:1px solid #d9dfe5;border-radius:4px;background:#fff;color:#526174;padding:0 7px;font:inherit;font-size:11px}
#root .booking-toolbar{padding:5px 12px!important;gap:5px!important;flex-wrap:nowrap!important;min-height:43px;flex-shrink:0;position:relative;z-index:15}
#root .booking-toolbar>input{height:30px;width:clamp(140px,17vw,230px)!important;min-width:100px;padding:4px 8px!important}
#root .booking-toolbar>input[inputmode=tel]{width:125px!important;min-width:100px}
#root .booking-toolbar button{height:30px;font-size:12px;flex-shrink:0}
#root .booking-toolbar .booking-icon{display:inline-flex;align-items:center;justify-content:center;gap:0;width:30px;min-width:30px!important;padding:5px!important}
#root .booking-toolbar>span{white-space:nowrap}
#root .booking-toolbar .booking-inline-tools{display:flex;gap:5px;flex-wrap:nowrap;padding:0;border:0;background:transparent;font-size:11px}
.booking-inline-tools .booking-new-save{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;background:#1967d2;color:#fff;white-space:nowrap}
.booking-warning{display:inline-flex;gap:3px;align-items:center;color:#9a6700;font-size:11px;cursor:help}
.booking-save-state{font-size:14px!important}
.booking-help{position:relative;flex-shrink:0}
.booking-help summary{display:flex;align-items:center;justify-content:center;width:30px;height:30px;list-style:none;border:1px solid #d9dfe5;border-radius:5px;color:#596579;background:#fff;cursor:pointer}
.booking-help summary::-webkit-details-marker{display:none}
.booking-help-panel{position:absolute;right:0;top:35px;width:290px;padding:12px;border:1px solid #d9dfe5;border-radius:6px;background:#fff;box-shadow:0 4px 14px #0002;color:#526174;line-height:1.6;z-index:30}
.booking-help-panel p+p{margin-top:8px}
.booking-draft-notice{max-width:100px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.booking-workspace>.booking-draft-failed{padding:5px 12px;font-size:12px;background:#fff2f0}
body:has(.booking-workspace) .hub-header{min-height:46px;height:46px;padding-top:5px;padding-bottom:5px}
body:has(.booking-workspace) .hub-nav{min-height:36px;height:36px}
body:has(.booking-workspace) .hub-nav a{padding-top:8px;padding-bottom:8px}
#root .booking-toolbar button:focus-visible,.booking-help summary:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}
@media(max-width:1100px){#root .booking-toolbar{flex-wrap:wrap!important}.booking-draft-notice{display:none}.booking-titlebar>span:last-child{display:none}.booking-child-select{max-width:160px}}
@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;font-display:block;src:url('/assets/material-symbols-outlined.ttf') format('truetype')}
.material-symbols-outlined{font-family:'Material Symbols Outlined'!important;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased;flex-shrink:0;vertical-align:middle}
.booking-parent-button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:4px 8px;border:1px solid #c8daf5;border-radius:5px;background:#eef5ff;color:#1967d2;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}
.booking-parent-button:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}

.booking-save-primary,.booking-new-save{min-width:104px!important;width:auto!important;background:#1a73e8!important;color:#fff!important;border:1px solid #1a73e8!important;border-radius:6px!important;padding:8px 14px!important;font-weight:600!important;box-shadow:0 2px 5px #1a73e833;display:inline-flex;gap:7px;align-items:center;justify-content:center}
.booking-save-primary:disabled,.booking-new-save:disabled{background:#e8edf4!important;color:#6c7788!important;border-color:#dce3ed!important;box-shadow:none}
.booking-dismiss{float:right;border:0;background:transparent;color:inherit;cursor:pointer;display:inline-flex}
.booking-phone-lookup{position:relative}.booking-phone-lookup summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:6px;border:1px solid #dadce0;border-radius:5px;color:#1a73e8}.booking-phone-lookup summary::-webkit-details-marker{display:none}
.booking-phone-panel{position:absolute;top:36px;left:0;z-index:40;background:white;border:1px solid #dadce0;border-radius:8px;padding:10px;box-shadow:0 4px 16px #0002;display:flex;gap:6px;align-items:center}.booking-phone-panel button{cursor:pointer}
