/* Approved single-day booking view. One overall dialog scroll, no nested timeline scroll. */
#booking-dialog.booking-wizard{width:75vw;max-width:none;height:auto;max-height:calc(100dvh - 32px);padding:14px;margin:auto;border-radius:5px;overflow:auto;color:#252935}
#booking-dialog .meeting-dialog-header h2{font-size:1.35rem;letter-spacing:-.025em}
.booking-steps{display:flex;list-style:none;gap:20px;margin:5px 0 0;padding:0;color:#737c8b;font-size:.8125rem}.booking-steps [aria-current=step]{color:#334fbd;font-weight:600}
.booking-wizard>.booking-hint{margin:5px 0 10px}.booking-wizard .field{margin-bottom:8px}
.person-combobox{position:relative;max-width:520px}.search-input{position:relative}.search-input input{padding-right:44px;border-radius:4px;height:42px}.search-input>button{position:absolute;right:3px;top:3px;bottom:3px;width:38px;border:0;background:none;color:#63758e}
#person-results{position:absolute;left:0;right:0;top:100%;z-index:4;background:#fff;border:1px solid #dce2eb;border-radius:4px;box-shadow:0 5px 18px #10244818;padding:4px}
#person-results [role=option]{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 10px;font-size:.875rem;cursor:pointer;border-radius:3px}#person-results [role=option]:hover,#person-results [aria-selected=true]{background:#edf1ff}#person-results [role=option] strong{font-weight:500}#person-results [role=option] span{color:#68778c;font-size:.8125rem}
.booking-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.5fr);gap:24px;border-top:1px solid #e4e6eb;padding-top:10px;margin-top:10px;align-items:start}
.booking-panels fieldset{min-width:0;margin:0;padding:0;border:0}.booking-panels fieldset:disabled{opacity:.5}.booking-panels form{min-width:0;border-left:1px solid #e4e6eb;padding-left:24px;position:sticky;top:0;background:white}
.section-state{font-size:.8125rem;line-height:1.5;margin:0 0 8px;color:#656c7c;min-height:20px}
.availability-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.availability-header h3,#details-heading{margin:0;font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:0}.availability-header h3:focus{outline:none}.availability-header select{width:128px;font-size:.8125rem;padding:8px;border-radius:4px}
.availability-date{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.availability-date input{flex:1;max-width:175px;min-width:120px;height:38px;padding:6px 8px;font-size:.875rem;border-radius:4px}.availability-date .dash-button{min-height:38px;padding:6px 10px}
#availability-days{gap:0;padding:0;border:1px solid #e4e6eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.booking-wizard .day-option{border-left:1px solid #e4e6eb;border-radius:0;min-height:54px;padding:6px 2px}.booking-wizard .day-option:first-child{border-left:0}.booking-wizard .day-option.selected{background:#edf1ff;color:#334fbd}.booking-wizard .day-option:disabled{opacity:.5}
.timeline-toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:10px}.timeline-toolbar strong{font-size:.875rem;font-weight:500}.timeline-toolbar select{width:auto;font-size:.8125rem;padding:6px 8px;border-radius:4px}
#availability-zone{font-size:.75rem;color:#656c7c;margin:8px 0 12px}.slot-heading{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px;font-size:.75rem;color:#68758a}.slot-heading strong{font-weight:400}.timeline-legend{display:flex;gap:10px;align-items:center}.timeline-legend span{display:flex;gap:4px;align-items:center}.timeline-legend i{display:inline-block;width:9px;height:9px;background:#eeeaf8;border-left:3px solid #8170aa}.timeline-legend .own{background:#edf0f4;border-color:#65758d}
.availability-slots{display:block;max-height:none;overflow:visible;padding:0}.day-timeline{--timeline-row-height:20px;position:relative;display:grid;grid-template-columns:65px minmax(0,1fr);grid-template-rows:repeat(var(--timeline-rows),var(--timeline-row-height));border-bottom:1px solid #dce2eb}
.timeline-hour{grid-column:1;min-width:0;font-size:.6875rem;color:#63758e;text-align:right;padding:2px 8px 0 0;line-height:1.2}.timeline-slot{grid-column:2;min-width:0;min-height:0;height:auto;padding:0 8px;border:0;border-left:1px solid #c7ccd7;border-right:1px solid #c7ccd7;border-top:1px dotted #e6e9ef;border-radius:0;background:#fff;text-align:left;color:#334fbd;font-size:.75rem}.timeline-slot.half-hour{border-top:1px solid #dce2eb}.timeline-slot.unavailable{background:#f5f6f8;cursor:not-allowed}.timeline-slot.free:hover,.timeline-slot.free:focus-visible{background:#edf1ff}.timeline-slot span{visibility:hidden}.timeline-slot.free:hover span,.timeline-slot.free:focus-visible span{visibility:visible}.timeline-slot:focus-visible{position:relative;z-index:3;outline-offset:-2px}
.timeline-block{position:absolute;left:69px;right:4px;z-index:2;display:flex;gap:10px;align-items:center;min-width:0;padding:1px 8px;overflow:hidden;pointer-events:none;background:#eeeaf8;border-left:3px solid #8170aa;border-radius:3px;color:#4d4266;font-size:.75rem;line-height:1.1}.timeline-block strong{font-weight:500;white-space:nowrap}.timeline-block span{font-size:.6875rem}.timeline-block.own-busy{background:#edf0f4;border-color:#65758d;color:#49586c}.timeline-block.selection{background:#e7edff;border-color:#334fbd;color:#243f9e}
.chosen-slot{font-size:.8125rem;line-height:1.5;margin:12px 0;color:#365376;min-height:22px}.booking-wizard .primary{border-radius:4px;min-height:42px;font-size:.875rem;background:#334fbd;border-color:#334fbd}.booking-wizard button:disabled{cursor:not-allowed}.booking-summary{background:#f5f6f8;border-radius:4px;padding:10px;margin:10px 0 12px;min-height:72px}.booking-summary>strong,.booking-summary>span{display:block;overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}.booking-summary>strong{font-weight:500}.booking-summary>span{color:#656c7c;font-size:.8125rem;margin-top:4px}.booking-summary .text-button{font-size:.8125rem;padding:7px 0}.booking-wizard input,.booking-wizard textarea{border-radius:4px}.booking-wizard textarea{min-height:108px}.booking-wizard label{font-weight:500;font-size:.875rem}
@media(max-width:1050px){.booking-panels{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.booking-panels form{padding-left:16px}.timeline-block{gap:5px;padding:1px 5px}}
@media(max-width:800px){#booking-dialog.booking-wizard{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px}.booking-panels{grid-template-columns:1fr;gap:22px}.booking-panels form{position:static;border-left:0;border-top:1px solid #e4e6eb;padding:18px 0 0}.person-combobox{max-width:none}.section-state{min-height:0}.day-timeline{--timeline-row-height:28px}.timeline-block{font-size:.8125rem}.timeline-block span{font-size:.75rem}}
/* Shared instant alignment across participant-local clocks. */
.person-combobox{max-width:620px}.selected-people{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.person-chip{display:inline-flex;align-items:center;gap:8px;border-radius:4px;background:#edf1ff;color:#334fbd;padding:3px 6px 3px 9px;font-size:.8125rem}.person-chip button{border:0;background:none;min-width:28px;min-height:28px;padding:2px;font-size:1.1rem;color:inherit}
#person-results [role=option]{justify-content:flex-start;align-items:center;padding:9px 10px}#person-results .person-option-id{margin-left:auto}#person-results .option-check{display:inline-flex;width:18px;height:18px;border:1px solid #8999b8;border-radius:3px;color:#334fbd;align-items:center;justify-content:center;flex-shrink:0}#person-results .keyboard-active{outline:2px solid #7898ff;outline-offset:-2px}#person-results [aria-selected=true] .option-check{background:#334fbd;color:white;border-color:#334fbd}
#availability-zone{display:flex;gap:5px 12px;flex-wrap:wrap;margin:4px 0 8px;font-size:.75rem;line-height:1.5}#availability-zone>span{display:block}#availability-zone strong{font-weight:500;color:#334b70}
.timeline-toolbar{justify-content:flex-end;margin-bottom:7px}.availability-date{margin-bottom:6px}.local-meeting-time{display:block;padding:5px 0;border-bottom:1px solid #e4e6eb;font-size:.75rem}.local-meeting-time:last-child{border:0}.local-meeting-time strong{font-weight:500}
.availability-comparison{--timeline-row-height:22px;--axis-width:54px}.calendar-headings,.comparison-body{display:grid;grid-template-columns:var(--axis-width) repeat(var(--calendar-columns),minmax(0,1fr));min-width:0}.calendar-headings{border-bottom:1px solid #dce2eb}.calendar-person{padding:7px 5px;background:#f7f8fa;border-left:1px solid #dce2eb;min-width:0;overflow-wrap:anywhere}.calendar-person strong{display:block;font-size:.8125rem;font-weight:500}.calendar-person>span{display:block;font-size:.6875rem;color:#65758d;margin-top:2px}.axis-heading{padding:8px 4px;font-size:.6875rem;color:#65758d}
.timeline-axis,.calendar-lane{display:grid;grid-template-rows:repeat(var(--timeline-rows),var(--timeline-row-height));min-width:0;position:relative}.timeline-axis{grid-template-columns:1fr}.timeline-axis .timeline-hour{grid-column:1;padding-right:7px;font-size:.6875rem}.timeline-hour small{display:block;font-size:.625rem}.calendar-lane{grid-template-columns:1fr;border-left:1px solid #c7ccd7;border-bottom:1px solid #c7ccd7}.calendar-lane:last-child{border-right:1px solid #c7ccd7}
.calendar-lane .timeline-slot{grid-column:1;border-left:0;border-right:0;padding:0 4px;background:#f7f8fa}.calendar-lane .timeline-slot.free{background:#eef6f4;color:#366957}.calendar-lane .timeline-slot.free:hover,.calendar-lane .timeline-slot.free:focus-visible{background:#dceee8}.calendar-lane .timeline-slot .local-tick{visibility:visible;color:#78889b;font-size:.6875rem}.calendar-lane .timeline-slot .slot-hover{display:none}.calendar-lane .timeline-slot.free:hover .local-tick{color:#245b47}.calendar-lane .timeline-block{left:2px;right:2px;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:1px 4px;line-height:1.15;font-size:.75rem}.calendar-lane .timeline-block strong{white-space:normal}.calendar-lane .timeline-block span{font-size:.6875rem;white-space:normal;overflow-wrap:anywhere}.calendar-lane .short-block span{display:none}.calendar-lane .timeline-block.selection{background:#dce5ff}.is-single .timeline-block{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}
@media(min-width:801px){.booking-panels:has(.is-multi){grid-template-columns:minmax(0,1fr) 220px;gap:14px}.booking-panels:has(.is-multi) form{padding-left:14px}}
@media(max-width:800px){#booking-dialog.booking-wizard{padding:12px}.booking-panels{gap:14px}.booking-panels form{padding-top:12px}.availability-comparison{--timeline-row-height:28px;--axis-width:42px}.calendar-person{padding:6px 3px}.calendar-person strong{font-size:.75rem}.calendar-person>span{font-size:.6875rem}.calendar-lane .timeline-block{font-size:.6875rem;padding:1px 3px}.calendar-lane .timeline-block span{font-size:.6875rem}.timeline-axis .timeline-hour{padding-right:3px}.is-single .timeline-block{font-size:.8125rem}.is-single .timeline-block span{font-size:.75rem}}

.booking-field-hint{font-size:.75rem;line-height:1.4;color:#65758d}#booking-form .error{margin-top:2px}#booking-submit-error{margin:10px 0 0}#booking-form [aria-invalid=true]{border-color:#b3273b}
