.booking-dialog{width:min(1100px,96vw);max-height:94vh;padding:0;border:1px solid #bfd5da;border-radius:18px;color:#183e50;background:#f5f9f9}.booking-dialog::backdrop{background:#0b2839aa}.booking-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 25px;background:#113444;color:white;position:sticky;top:0;z-index:3}.booking-top h2{font-size:25px;margin:0;color:white}.booking-top small{color:#a4d5d4;display:block;margin-bottom:5px}.booking-body{padding:24px}.booking-body h3{margin-top:0}.booking-card{background:white;border:1px solid #ccdde0;border-radius:14px;padding:20px;margin-bottom:18px}.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.booking-grid label,.booking-body label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#456270;align-self:start}.booking-grid input,.booking-grid select,.booking-grid textarea{box-sizing:border-box;width:100%;min-height:42px;padding:10px;border:1px solid #bed1d8;border-radius:8px;background:white;color:#183e50;font-size:14px}.booking-wide{grid-column:1/-1}.booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:16px 0}.booking-actions button,.booking-body button{font-size:13px;padding:10px 14px;min-height:40px;border-radius:9px}.booking-body .secondary-action{background:#eef6f6;color:#12676d;border:1px solid #b9d6d8}.booking-body .danger{background:#fff0ee;color:#a12424;border:1px solid #dfb0ae}.booking-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.booking-stats div{background:#e7f2f2;padding:15px;border-radius:10px}.booking-stats strong{display:block;font-size:21px;color:#087d84}.booking-stats small{display:block;color:#516d78;margin-bottom:7px}.booking-list{display:grid;gap:12px}.booking-row{padding:14px;background:#f1f6f7;border:1px solid #d6e3e5;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.booking-row.booking-row-superseded{background:#eeeeef;border-color:#d8dcdf}.booking-row small{display:block;color:#637c87}.booking-note{color:#647b84;font-size:13px;line-height:1.65}.booking-warning{background:#fff1d7;color:#785017;border:1px solid #e8ce98;padding:12px;border-radius:8px}.booking-error{color:#ab2525;background:#fff0ec;padding:12px;border-radius:8px}.booking-status{position:sticky;bottom:0;background:#fff;padding:10px 24px;border-top:1px solid #cbdde0;z-index:5;min-height:22px;font-size:14px}.booking-pill{display:inline-block;background:#e4f1f1;color:#12676d;padding:5px 9px;border-radius:14px;font-size:12px;margin:4px}.booking-repeat{border:1px solid #cbdde0;background:#f1f6f7;border-radius:10px;padding:14px;margin:12px 0}.booking-contract-table{overflow-x:auto}.booking-contract-table table{width:100%;font-size:12px}.booking-contract-table th,.booking-contract-table td{text-align:left;padding:8px;border-bottom:1px solid #d5e1e3}.booking-check{flex-direction:row!important;align-items:center;gap:9px!important}.booking-check input{width:auto!important;min-height:0!important}.booking-body fieldset{border:0;margin:0;padding:0;min-width:0}.booking-body details>summary{cursor:pointer;padding:12px;font-weight:600;color:#106a72}.booking-body details{margin-bottom:10px}.booking-source{font-size:11px;color:#6b777f}.booking-readonly{background:#edf3f4;padding:10px;border-radius:8px;white-space:pre-wrap}.booking-body a{color:#087d84}.booking-timeline{border-left:3px solid #77bdbb;margin-left:10px;padding-left:18px}.booking-timeline article{padding:8px 0 17px}.booking-timeline p{margin:5px 0;white-space:pre-wrap}.booking-toolbar{margin-bottom:16px;display:flex;gap:10px;flex-wrap:wrap}.booking-balance{display:block;margin-top:8px;font-size:12px;color:#13666b}
@media(max-width:700px){.booking-grid{grid-template-columns:1fr 1fr}.booking-stats{grid-template-columns:1fr 1fr}.booking-body{padding:15px}.booking-top{padding:15px}.booking-top h2{font-size:21px}.booking-row{align-items:flex-start}}@media(max-width:420px){.booking-grid{grid-template-columns:1fr}}
.hotel-contract-dialog .booking-repeat>[data-remove]{margin-top:16px}
.hotel-import-progress{margin-top:18px;padding:18px;background:#e6f3f2;border:1px solid #b6d8d6;border-radius:12px}
.hotel-import-progress>div{display:flex;justify-content:space-between;gap:16px;color:#12676d}.hotel-import-progress progress{display:block;width:100%;height:14px;margin:12px 0;accent-color:#087d84;border:0;border-radius:20px;overflow:hidden}.hotel-import-progress progress::-webkit-progress-bar{background:#cbdfe1;border-radius:20px}.hotel-import-progress progress::-webkit-progress-value{background:#087d84;border-radius:20px;transition:width .5s}.hotel-import-progress small{font-size:12px;color:#456270}.hotel-import-progress.is-error{background:#fff0ec;border-color:#d99393}
.contract-feedback{padding:16px;margin-bottom:18px;background:#fff0ec;border:1px solid #d99393;border-radius:10px;color:#a12424}.contract-feedback[hidden]{display:none}.booking-body .contract-error-link{display:block;text-align:left;background:transparent;color:#a12424;text-decoration:underline;border:0;margin-top:5px;padding:5px 0;min-height:32px}.hotel-contract-dialog .contract-field-error{background:#fff0ec;padding:9px;border-radius:8px;outline:1px solid #d99393}.hotel-contract-dialog [aria-invalid=true]{border-color:#bf3232}.contract-field-error small{color:#a12424;line-height:1.5;font-size:12px;display:block}.hotel-contract-dialog [data-contract-invalid]{scroll-margin-block:130px}

.booking-drafts{background:#eaf5f2;border-color:#bcdad2}.booking-finance{background:#edf2fa;border-color:#c6d4e9}.booking-hotels{background:#fbf2e3;border-color:#e8d4b2}.booking-activity{background:#f2edf8;border-color:#d6c9e6}.booking-section-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:7px;border-radius:8px;background:#176d70;color:white;font:600 15px sans-serif}.booking-finance .booking-section-number{background:#42668e}.booking-hotels .booking-section-number{background:#96651e}.booking-activity .booking-section-number{background:#795990}.booking-voucher-success{flex-basis:100%;margin:0;padding:10px 12px;border-radius:7px;background:#dcefe4;color:#205d3e;font-size:14px}.booking-body button:disabled{opacity:.65;cursor:wait}

[data-confirmation-control]{display:grid;gap:10px;max-width:100%}
.booking-staff{background:#e9f1f8;border-color:#bdcede}.booking-staff .booking-section-number{background:#3c6285}.staff-response{display:inline-block;border-radius:20px;padding:5px 11px;font-size:13px;font-weight:700;background:#e8edf2;color:#35516b}.staff-response.accepted{background:#d9eee1;color:#225b3d}.staff-response.declined{background:#f9e3dc;color:#943d2e}.staff-response.assigned{background:#fff0cc;color:#7a591a}.staff-history{margin-top:24px}.staff-history>.booking-card{margin-top:14px}.staff-daily{display:grid;gap:12px;margin:16px 0}.staff-daily>details{border:1px solid #c7d8e1;border-radius:12px;background:#f3f7fa;padding:16px}.staff-daily summary{cursor:pointer;font-weight:600;color:#294d61}.staff-day-editor{display:grid;gap:16px;margin-top:20px}#staff-assignment-form{display:grid;gap:18px;margin-top:20px}#staff-assignment-form h4{margin:12px 0 0}#staff-assignment-form label{align-content:start}#staff-assignment-form input,#staff-assignment-form select{min-height:44px}#staff-assignment-form [data-person]{padding:14px;border-radius:10px;background:#edf3f1;font-size:14px}#staff-assignment-form [data-guide-slot]:empty{display:none}

.hotel-contract-workspace>.booking-body{padding:0}.hotel-contract-workspace>.booking-status{position:static;border:0;padding:10px 0;min-height:0}.hotel-contract-workspace>.booking-status:empty{display:none}.hotel-contract-workspace .booking-wide{flex-basis:100%;min-width:0}.hotel-contract-workspace .booking-row{overflow-wrap:anywhere}


.booking-card.booking-staff{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.booking-staff>h3,.booking-staff>.booking-note{flex-basis:100%;margin-bottom:0}.booking-staff>button{margin:0}
