/* Shared booking surfaces; field content remains owned by each room workflow. */
.booking-flow-dialog{position:fixed;inset:0;margin:auto;width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border-light,#ddd);border-radius:16px;background:var(--bg-card,#fff);color:var(--text-primary);box-shadow:0 24px 80px #0003;overflow:auto}
.booking-flow-dialog::backdrop{background:#17202d88;backdrop-filter:blur(3px)}
.booking-flow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--border-light,#ddd);background:var(--bg-card,#fff);position:sticky;top:0;z-index:2}
.booking-flow-header h2{margin:0}.booking-flow-header p{margin:6px 0 0;color:var(--text-secondary);font-size:.85rem}
.booking-flow-close{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:var(--bg-secondary,#eee);color:var(--text-primary);font-size:24px;cursor:pointer}
.booking-flow-dialog form{margin:0!important;padding:20px;display:flex!important;flex-direction:column;gap:14px!important}
.booking-flow-dialog :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-light,#ddd);border-radius:8px;font:inherit;color:var(--text-primary);background:var(--bg-card,#fff)}
.booking-flow-dialog textarea{min-height:96px;resize:vertical}
.booking-flow-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:16px;border-top:1px solid var(--border-light,#ddd);margin-top:8px}
.booking-flow-actions button,.booking-flow-launch{min-height:44px;padding:10px 16px!important;border-radius:8px;font-size:.9rem!important;cursor:pointer}
#quickBookModal .modal-content{width:min(640px,calc(100vw - 32px));max-width:640px;border-radius:16px;max-height:calc(100dvh - 32px);overflow:auto}
#quickBookModal .modal-header{padding:20px;border-bottom:1px solid var(--border-light,#ddd)}
#quickBookModal .modal-body{padding:20px}
#quickBookModal .modal-footer{gap:10px!important;padding:16px 20px!important;flex-wrap:wrap}
#quickBookModal .modal-footer button,#bookingForm .btn{min-height:44px;border-radius:8px}
#quickBookModal .modal-close{min-width:40px;min-height:40px;border-radius:50%}
@media(max-width:600px){.booking-flow-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.booking-flow-header,.booking-flow-dialog form{padding:16px}.booking-flow-actions button{flex:1}#quickBookModal .modal-content{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.booking-flow-dialog input,.booking-flow-dialog select,.booking-flow-dialog textarea{font-size:16px!important}}
