.booking-workspace{min-width:0;max-width:100%}.booking-workspace-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.booking-workspace-toolbar>.field:first-child{min-width:260px;flex:1;max-width:420px}.booking-workspace-toolbar>.field{margin:0;min-width:165px}.booking-workspace-toolbar>.k-button,.booking-workspace-toolbar>.button{margin-bottom:1px}.booking-mode-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:#718280;margin:10px 0 15px}.booking-tabs{margin-bottom:18px;max-width:100%;overflow:auto;white-space:nowrap}.booking-overview{display:flex;gap:25px;flex-wrap:wrap;padding:9px 0 17px}.booking-overview>span{display:flex;align-items:baseline;gap:8px;font-size:12px;color:#758683}.booking-overview strong{color:#2e5259;font-size:24px}.booking-view-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.booking-view-filters .field{min-width:170px;flex:1;max-width:300px;margin:0}.booking-reservation-card{cursor:pointer;display:flex;flex-direction:column;min-width:0;border-inline-start:4px solid #7d9fa7;transition:box-shadow .16s,border-color .16s}.booking-reservation-card:hover{box-shadow:0 5px 16px #22465512;border-color:#91abae}.booking-reservation-card.status-cancelled,.booking-reservation-card.status-no_show{border-inline-start-color:#b87876}.booking-reservation-card.status-seated{border-inline-start-color:#4e8d73}.booking-reservation-card.status-pending{border-inline-start-color:#b9a06a}.booking-reservation-card.status-completed{border-inline-start-color:#8299a9}.booking-reservation-top{display:flex;justify-content:space-between;gap:10px;align-items:center;min-width:0}.booking-reservation-top h3{margin:0;min-width:0;overflow-wrap:anywhere}.booking-reservation-top>strong{font-size:24px;color:#3e686d}.booking-status{font-size:11px;color:#5d7782;background:#eef4f7;padding:5px 9px;border-radius:20px;white-space:nowrap}.booking-status.seated{background:#e8f3ec;color:#397759}.booking-status.cancelled,.booking-status.no_show{background:#fbefee;color:#9d5b57}.booking-status.pending{background:#f8f2e6;color:#8a7242}.booking-card-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px}.booking-note-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.6}.booking-warning{display:block;color:#98624b;background:#fbf1e8;border-radius:7px;padding:7px 10px;font-size:12px;margin-top:10px}.booking-config-tabs,.booking-zone-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.booking-config-tabs .k-button{font-size:12px}.booking-workspace .secondary.active{background:#e4eff0!important;color:#275a62!important;border-color:#7fa3ac!important;box-shadow:none!important}.booking-resource-card{display:flex;flex-direction:column}.booking-resource-card h3{font-size:17px}.booking-resource-card>p{font-size:13px;line-height:1.5}.booking-inline-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-fieldset{border:0;border-top:1px solid #e4eaea;margin:18px 0;padding:15px 0 0;min-width:0}.booking-fieldset legend{font-size:13px;font-weight:600;padding-inline-end:14px;color:#677d86}.booking-choice-buttons{display:flex;flex-wrap:wrap;gap:8px}.booking-choice-buttons .k-button{min-height:38px;font-size:12px}.booking-choice-buttons .check-field{font-size:13px}.booking-rule{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}.booking-rule>.field{margin:0}.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;margin:25px 0}.booking-detail-grid dt{font-size:11px;color:#82939b;margin-bottom:6px}.booking-detail-grid dd{margin:0;overflow-wrap:anywhere;font-size:14px}.booking-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.booking-detail-heading h2{margin:0}.booking-history{padding-inline-start:20px;line-height:1.8;font-size:12px;color:#72828e}.booking-history li{margin:12px 0}.booking-dialog details{margin-top:22px;font-size:13px}.booking-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 ui-monospace,monospace;background:#f5f8f8;border-radius:10px;padding:16px;max-height:60vh;overflow:auto}.booking-floor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:20px}.booking-floor-canvas{border:1px solid #dbe6e3;border-radius:14px;min-width:0;background:#fbfdfc;overflow:hidden}.booking-floor-canvas>svg{display:block;width:100%;height:auto;min-height:220px}.booking-floor-table{cursor:pointer;outline:none}.booking-floor-table.draggable{cursor:grab;touch-action:none}.booking-floor-table>ellipse,.booking-floor-table>rect,.booking-floor-table>polygon{stroke:#a2bdb5;stroke-width:2;fill:#eaf3ed;transition:fill .15s,stroke .15s}.booking-floor-table.reserved>ellipse,.booking-floor-table.reserved>rect,.booking-floor-table.reserved>polygon{fill:#e4edf6;stroke:#8dabc4}.booking-floor-table.seated>ellipse,.booking-floor-table.seated>rect,.booking-floor-table.seated>polygon{fill:#cbe4d5;stroke:#5a9978}.booking-floor-table.blocked>ellipse,.booking-floor-table.blocked>rect,.booking-floor-table.blocked>polygon{fill:#efeeee;stroke:#b5aaa6}.booking-floor-table:hover>ellipse,.booking-floor-table:hover>rect,.booking-floor-table:hover>polygon{stroke:#426d70;fill:#d9e9e3}.booking-floor-table.selected>ellipse,.booking-floor-table.selected>rect,.booking-floor-table.selected>polygon,.booking-floor-table:focus-visible>ellipse,.booking-floor-table:focus-visible>rect,.booking-floor-table:focus-visible>polygon{stroke:#285968;stroke-width:4}.booking-floor-table text{fill:#45646b;font-size:13px;pointer-events:none}.booking-floor-table .booking-floor-table-name{font-weight:700;font-size:17px}.booking-floor-table .booking-floor-next{font-size:12px;fill:#819894}.booking-floor-legend{border-top:1px solid #e4ebe6;padding:12px;display:flex;gap:14px;flex-wrap:wrap;color:#647b75;font-size:11px}.booking-floor-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;background:#eaf3ed;border:1px solid #a2bdb5;margin-inline-end:5px}.booking-floor-legend .reserved:before{background:#e4edf6;border-color:#8dabc4}.booking-floor-legend .seated:before{background:#cbe4d5;border-color:#5a9978}.booking-floor-legend .blocked:before{background:#efeeee;border-color:#b5aaa6}.booking-floor-bookings{min-width:0;max-height:600px;overflow:auto}.booking-floor-bookings h3{font-size:16px}.booking-floor-bookings article{margin-bottom:10px}.booking-floor-open{display:flex;flex-direction:column;gap:7px;text-align:start;border:1px solid #dce7e2;background:white;width:100%;padding:14px;border-radius:12px;cursor:pointer;font:inherit;color:#345a60;transition:background .15s}.booking-floor-open:hover{background:#edf5ef;border-color:#90b4a7}.booking-floor-open b{font-size:13px}.booking-floor-open span,.booking-floor-open small{font-size:11px;color:#7b8c8b}.booking-timeline-scroll{max-width:100%;overflow:auto;border:1px solid #dce6e2;border-radius:12px}.booking-timeline-head,.booking-timeline-row{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:68px;border-bottom:1px solid #e3ebe7}.booking-timeline-head{min-height:42px;background:#f2f6f3;color:#6e8580}.booking-timeline-head>span,.booking-timeline-row>b{font-size:12px;padding:16px;position:sticky;left:0;background:#f7faf8;z-index:2}.booking-timeline-head>div,.booking-timeline-row>div{position:relative;border-inline-start:1px solid #dce6df;min-width:0}.booking-timeline-head>div>span{position:absolute;top:13px;font-size:11px}.booking-timeline-bar{position:absolute;top:14px;min-height:36px;border:1px solid #93afb7;border-radius:8px;background:#e7f0f4;color:#315a69;font:12px/1.2 inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px;cursor:pointer}.booking-timeline-bar.seated,.booking-timeline-bar.completed{background:#dfeee4;border-color:#8fb59c;color:#3b6d4d}.booking-timeline-bar:hover{background:#cddfe7;border-color:#4d7f90}.booking-timeline-bar.pending{background:#f2eadd;border-color:#c3ad81}.booking-period{display:flex;gap:12px}.booking-period>.field{margin:0}.booking-stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:20px 0}.booking-stat-cards>div{border:1px solid #dce7e3;border-radius:12px;padding:16px;background:#f8fbf9;min-width:0}.booking-stat-cards small{display:block;color:#788b83;font-size:11px}.booking-stat-cards strong{display:block;font-size:26px;color:#3c6866;margin-top:8px}.booking-chart{display:block;width:100%;max-height:320px;height:auto;margin:15px 0}.booking-source-bars{display:grid;gap:10px;margin:16px 0 24px}.booking-source-bars>div{display:grid;grid-template-columns:100px minmax(0,1fr) 45px;gap:12px;font-size:12px;align-items:center}.booking-source-bars meter{width:100%;height:12px;accent-color:#6d9482}.booking-data-scroll{max-height:400px;overflow:auto}.booking-data-scroll table{width:100%;border-collapse:collapse;text-align:start;font-size:12px}.booking-data-scroll th,.booking-data-scroll td{padding:10px;border-bottom:1px solid #e0e9e3}.booking-local-notice{background:#f1f6f4;border:1px solid #d6e5dd;border-radius:12px;padding:14px 18px;font-size:13px;color:#657e70}.booking-translation-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-bottom:1px solid #e3ebe5;padding:18px 0;align-items:start}.booking-translation-row small{color:#84918e;font-size:11px;overflow-wrap:anywhere}.booking-translation-row p{font-size:14px;line-height:1.6}.booking-translation-row .field{margin:0}.booking-restaurant-choice{display:flex;align-items:center;gap:18px;text-align:start;cursor:pointer;color:#344f56;font:inherit}.booking-restaurant-choice img{width:70px;height:55px;object-fit:contain;background:#f1f5f2;border-radius:8px}.booking-restaurant-choice:hover{border-color:#8faeaa;background:#f9fcfa}.booking-workspace .listing-card{min-width:0;overflow-wrap:anywhere}.booking-workspace .listing-card small{display:block}.booking-workspace .listing-card h3{font-size:17px}.booking-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1050px){.booking-floor-grid{grid-template-columns:minmax(0,1fr)}.booking-floor-bookings{max-height:300px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.booking-floor-bookings .section-head{grid-column:1/-1}.booking-workspace-toolbar>.field:first-child{min-width:220px}.booking-tabs{padding-bottom:3px}}@media(max-width:600px){.booking-workspace-toolbar>.field:first-child{min-width:100%;max-width:none}.booking-workspace-toolbar>.field{flex:1}.booking-workspace-toolbar>.k-button,.booking-workspace-toolbar>.button{flex:1;font-size:11px;white-space:normal}.booking-overview{gap:18px}.booking-view-filters>.field{min-width:140px}.booking-config-tabs{gap:5px}.booking-config-tabs .k-button{font-size:11px}.booking-period{flex-wrap:wrap;gap:7px}.booking-period>.field{width:100%}.booking-rule{grid-template-columns:1fr 1fr}.booking-detail-grid{grid-template-columns:1fr}.booking-translation-row{grid-template-columns:1fr;gap:8px}.booking-floor-legend{gap:8px}.booking-workspace .section-head{align-items:flex-start;gap:12px}.booking-dialog .form-grid{grid-template-columns:1fr}.booking-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.sidebar,.topbar,.studio-footer,.page-heading,.booking-workspace-toolbar,.booking-tabs,.booking-mode-banner,.booking-view-filters,.listing-filters,.listing-pager,.booking-card-actions,.booking-config-tabs,.booking-floor-legend,.booking-local-notice{display:none!important}.studio{display:block!important}.studio>main{margin:0!important;width:100%!important}.content{padding:0!important;max-width:none!important}.booking-reservation-card{break-inside:avoid;border:1px solid #ccc!important;box-shadow:none!important}.booking-agenda{grid-template-columns:repeat(2,minmax(0,1fr))!important}.booking-overview{padding:10px 0}.booking-workspace .panel{box-shadow:none}.booking-workspace .listing-card{padding:12px}.booking-workspace .booking-reservation-top>strong{font-size:18px}}

.booking-native-input{box-sizing:border-box;min-width:0;width:100%;min-height:42px;border:1px solid #dbe3ee;border-radius:8px;padding:8px 10px;background:white;color:#334155;font:inherit}.booking-native-input:hover{border-color:#94a3b8}.booking-native-input:focus{outline:3px solid #b9d6f7;outline-offset:1px;border-color:#4d78aa}

.booking-tabs .k-button.active{background:transparent!important;border-color:transparent!important;box-shadow:none!important;font-weight:700}.booking-tabs .k-button.active::before{background:transparent!important;box-shadow:none!important}

/* Keep labels inside their time span; the grips remain separate keyboard targets. */
.booking-timeline-bar{padding:0;display:flex;align-items:stretch;height:48px;min-height:0;min-width:0;box-sizing:border-box;overflow:hidden;isolation:isolate}
.booking-timeline-row{min-height:78px}
.booking-timeline-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;padding:5px 14px;border:0;background:transparent;color:inherit;font:inherit;overflow:hidden;cursor:pointer;touch-action:none;user-select:none}
.booking-timeline-bar.editable .booking-timeline-content{cursor:grab}
.booking-timeline-bar.adjusting{z-index:4;box-shadow:0 0 0 3px #bdd8dd;background:#d9e8ea}
.booking-timeline-bar.adjusting .booking-timeline-content{cursor:grabbing}
.booking-timeline-name,.booking-timeline-hours{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.25}
.booking-timeline-name{font-size:12px;font-weight:600}.booking-timeline-hours{font-size:10px;opacity:.85;font-variant-numeric:tabular-nums}
.booking-timeline-handle{position:absolute;inset-block:0;width:12px;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:transparent;color:inherit;cursor:ew-resize;touch-action:none;z-index:2}
.booking-timeline-handle.start{left:0}.booking-timeline-handle.end{right:0}.booking-timeline-handle span{height:18px;width:3px;border-radius:3px;background:currentColor;opacity:.45}
.booking-timeline-handle:hover{background:#315a691a}.booking-timeline-handle:hover span{opacity:1}.booking-timeline-content:hover{background:#315a690a;color:inherit}.booking-timeline-handle:focus-visible,.booking-timeline-content:focus-visible{outline:2px solid #416e81;outline-offset:-3px}
.booking-timeline-content:disabled,.booking-timeline-handle:disabled{cursor:wait}.booking-timeline-feedback{min-height:18px;font-size:12px;color:#416b66;font-variant-numeric:tabular-nums;margin:0 0 10px}
.booking-timeline-row>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

.booking-occupancy{margin:0 0 16px;min-width:0}.booking-occupancy-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.booking-occupancy-metric{display:flex;flex-direction:column;justify-content:space-between;gap:5px;padding:12px 13px;border:1px solid #dce6e6;border-radius:10px;background:#fff;min-width:0}.booking-occupancy-metric>span{color:#627b7b;font-size:11px;line-height:1.4}.booking-occupancy-metric>strong{color:#305c60;font-size:25px;line-height:1.15;font-weight:650;font-variant-numeric:tabular-nums}.booking-occupancy-metric>small{color:#81908e;font-size:10px;line-height:1.35;overflow-wrap:anywhere}.booking-occupancy-details{margin-top:8px;border:1px solid #e0e8e7;border-radius:9px;background:#fff}.booking-occupancy-details>summary{cursor:pointer;padding:10px 13px;font-size:11px;color:#466e75;border-radius:8px;font-weight:600}.booking-occupancy-details>summary:hover{background:#eef5f3;color:#224f58}.booking-occupancy-details>summary:focus-visible{outline:2px solid #99bfc8;outline-offset:2px}.booking-occupancy-details>summary>span{float:right;color:#798d8b;font-weight:400}.booking-occupancy-breakdown{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;padding:4px 15px 15px}.booking-occupancy-breakdown h3{font-size:12px;margin:10px 0;color:#3f6569}.booking-occupancy-states{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.booking-occupancy-state{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;border:1px solid #e0e9e6;border-inline-start:3px solid #a3b7be;border-radius:7px;padding:8px 10px;font-size:11px;min-width:0}.booking-occupancy-state>span{grid-column:1/-1;color:#5b707b}.booking-occupancy-state>b{font-weight:600;color:#34565d}.booking-occupancy-state>small{color:#7f8f93}.booking-occupancy-state.confirmed{border-inline-start-color:#6d96a7}.booking-occupancy-state.seated,.booking-occupancy-state.completed{border-inline-start-color:#729f87}.booking-occupancy-state.pending{border-inline-start-color:#b9a67a}.booking-occupancy-state.cancelled,.booking-occupancy-state.no_show{border-inline-start-color:#b88686}.booking-occupancy-table-summary dl{margin:0}.booking-occupancy-table-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:11px;border-bottom:1px solid #edf1f0}.booking-occupancy-table-summary dt{color:#718480}.booking-occupancy-table-summary dd{margin:0;font-weight:600;color:#385b61}.booking-occupancy-explanation{border-top:1px solid #edf1f0;padding:12px 15px;color:#7a898b;font-size:10px;line-height:1.6}.booking-occupancy-explanation p{margin:6px 0}.booking-occupancy-progress{height:8px;background:#e8efed;border-radius:6px;overflow:hidden}.booking-occupancy-progress>span{display:block;height:100%;background:#739b8e;border-radius:6px}.booking-occupancy-loading{padding:12px 0;color:#748784;font-size:12px;min-height:60px}
@media(max-width:1100px){.booking-occupancy-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.booking-occupancy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-occupancy-metric{padding:10px}.booking-occupancy-metric>strong{font-size:23px}.booking-occupancy-breakdown{grid-template-columns:minmax(0,1fr);gap:8px}.booking-occupancy-details>summary>span{float:none;display:block;margin:5px 0 0 13px}}

.booking-history .booking-history-status{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin:5px 0 9px;color:#5d6c62;font-size:12px;line-height:1.65}.booking-history-status b{font-weight:600;color:#34473a}.booking-history-status>span[aria-hidden]{color:#7a8c7b}
