@media(max-width:720px){
 #addNewBooking.modal{padding:0!important;overflow:hidden}
 #addNewBooking .modal-dialog{width:100%!important;height:100%;margin:0!important;min-height:0;max-width:100%!important}
 #addNewBooking .modal-content{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;overflow:hidden}
 #addNewBooking .modal-header{flex:none;align-items:center;padding:16px!important}
 #addNewBooking .modal-title{font-size:20px;line-height:1.3}
 #addNewBooking .close{min-width:44px;min-height:44px;padding:8px;margin:-8px -8px -8px 8px;float:none}
 #addNewBooking .modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px!important;-webkit-overflow-scrolling:touch}
 #addNewBooking .form-row{margin:0;gap:12px;display:flex;flex-wrap:wrap}
 #addNewBooking .form-row>.form-group{display:block!important;flex:0 0 100%;width:100%;max-width:100%;padding:0;margin:0 0 4px!important;min-width:0}
 #addNewBooking .form-row>div.col-md-12{width:100%;padding:0}
 #addNewBooking label.form-label{display:block;width:100%;margin:0 0 7px;line-height:1.4;font-size:13px}
 #addNewBooking .checkinout>.form-group{display:block}
 #addNewBooking .input-group{width:100%!important;min-width:0;flex-wrap:nowrap;margin:0;align-items:stretch}
 #addNewBooking .input-group .form-control{min-width:0;width:1%;flex:1 1 0;min-height:44px;font-size:16px;padding:10px}
 #addNewBooking .input-group-addon{flex:0 0 40px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;white-space:nowrap}
 #addNewBooking .input-group-append{display:flex;flex:none}
 #addNewBooking .input-group .btn{min-height:44px;white-space:nowrap}
 #addNewBooking .checkinout .input-group{border:0;box-shadow:none}
 #addNewBooking .checkinout .pass .form-control{border-color:var(--ok)!important}
 #addNewBooking .checkinout .error .form-control{border-color:var(--bad)!important}
 #addNewBooking .validation-free-room{padding:10px 12px;border-radius:8px;background:var(--ok-tint);color:var(--ok);font-size:13px;line-height:1.5}
 #addNewBooking .portasDeUsoComum>[data-toggle]{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}
 #addNewBooking .chosen-container{width:100%!important;max-width:100%;min-width:0}
 #addNewBooking .chosen-container-single .chosen-single{height:44px;line-height:42px}
 #addNewBooking .chosen-container-multi .chosen-choices{min-height:44px;padding:4px 8px;border-radius:8px;background:var(--surface);border-color:var(--line)}
 #addNewBooking .chosen-container .chosen-search input,#addNewBooking .chosen-container .search-field input{min-height:30px;box-shadow:none;border-radius:0}
 #addNewBooking .chosen-container .search-field{max-width:100%}
 #addNewBooking .select2-container{width:100%!important;max-width:100%;min-width:0}
 #addNewBooking .select2-container .select2-selection{min-height:44px;border-radius:8px;box-shadow:none}
 #addNewBooking .select2-selection--single .select2-selection__rendered{line-height:42px;padding-left:12px;padding-right:28px}
 #addNewBooking .select2-selection--single .select2-selection__arrow{height:42px}
 #addNewBooking .select2-selection--multiple{padding:4px 8px}
 #addNewBooking .select2-search--inline .select2-search__field{border:0!important;border-radius:0;background:transparent!important;box-shadow:none;min-height:24px;padding:0;margin-top:4px;max-width:100%}
 #addNewBooking .clientselect .input-group>.select2-container{flex:1 1 0;width:1%!important}
 #addNewBooking .clientselect .input-group .select2-selection{border-radius:0}
 #addNewBooking .clientselect .form-group{display:block;width:100%;padding:0}
 #addNewBooking .justify-content-between{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:16px 0}
 #addNewBooking .justify-content-between>.form-group:last-child{grid-column:1/-1}
 #addNewBooking .pinrfid{margin-top:16px!important}
 #addNewBooking .pinrfid .form-group:has(#rfid)>.input-group{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0;row-gap:8px}
 #addNewBooking .pinrfid #rfid,#addNewBooking .pinrfid #rfid2{width:100%;border-radius:0 8px 8px 0}
 #addNewBooking .modal-content>.modal-footer{flex:none;position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;margin:0;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -4px 16px #14233208}
 #addNewBooking .modal-footer>.btn{margin:0;float:none!important;min-height:44px}
 #addNewBooking .modal-footer>.booking-notification-group{grid-column:1/-1;max-width:none;width:100%;margin:0;display:block}
 #addNewBooking .booking-notification-group>.btn{width:100%;min-height:44px;border-radius:8px!important}
 #addNewBooking .booking-notification-group .dropdown-menu{bottom:100%;top:auto;max-height:45vh;overflow-y:auto;max-width:100%;width:100%;margin-bottom:4px}
 #addNewBooking~.v2-remote-tab,body.modal-open .v2-remote-tab{display:none}
}

/* Shared reservation form geometry, including desktop. */
#addNewBooking .form-group.col{display:block!important}#addNewBooking .form-label{display:block;white-space:nowrap;margin-bottom:8px}#addNewBooking .addNewBooking-rooms-combo>.select2-container,#addNewBooking .portasDeUsoComum .select2-container{width:100%!important;max-width:100%}#addNewBooking .clientselect .input-group>.select2-container{width:1%!important;flex:1 1 0;min-width:0}#addNewBooking .input-group-addon{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:5px}#addNewBooking .checkinout>.form-group{display:block!important;min-width:0}#addNewBooking .checkinout .input-group{width:100%!important}#addNewBooking .checkinout label{white-space:nowrap}#addNewBooking .pinrfid .form-group:has(.bcolorPickSelector){min-width:64px}#addNewBooking .bcolorPickSelector{display:block!important;min-width:32px!important;width:32px!important;height:32px!important;overflow:visible}#addNewBooking .input-group .form-control{min-width:0}#colorPick{position:fixed!important;z-index:2300;max-width:calc(100vw - 24px);box-sizing:border-box}#addNewBooking .validation-free-room.error-msg{background:var(--bad-tint);color:var(--bad)}

#addNewBooking.show .modal-dialog,#addNewBooking.in .modal-dialog{transform:none!important}#addNewBooking .select2-search--inline .select2-search__field{border:0!important;border-radius:0;min-height:24px;box-shadow:none;background:transparent!important;padding:0;max-width:100%}

#addNewBooking .clientselect{margin-inline:0}#addNewBooking .clientselect .clients-select{padding-inline:0}@media(min-width:721px){#addNewBooking .pinrfid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 64px;gap:16px}#addNewBooking .pinrfid>.form-group{width:100%;max-width:none;margin-left:0!important;padding:0;min-width:0}}
/* Align guest selection with its adjacent action; keep tokens and selected room readable. */
#addNewBooking .clientselect .input-group{align-items:stretch;--guest-control-height:44px}#addNewBooking .clientselect .select2-selection--single{height:var(--guest-control-height)!important;min-height:var(--guest-control-height)!important;border-radius:0!important;display:flex;align-items:center}#addNewBooking .clientselect .select2-selection__rendered{line-height:normal!important;min-width:0;width:100%;padding-left:12px;padding-right:28px}#addNewBooking .clientselect .select2-selection__arrow{height:100%!important}#addNewBooking .clientselect .input-group-addon,#addNewBooking #add-new-client-toggle{height:var(--guest-control-height)!important;min-height:var(--guest-control-height)!important;box-sizing:border-box;margin:0}#addNewBooking #add-new-client-toggle{border-radius:0 8px 8px 0!important;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}#addNewBooking .clientselect .input-group-append{display:flex;margin-left:-1px}#addNewBooking .clientselect .select2-container{align-self:stretch}
[data-theme="dark"] #addNewBooking #select2-addNewBooking-rooms-container,[data-theme="dark"] #addNewBooking #select2-addNewBooking-rooms-container *,[data-theme="dark"] #addNewBooking .portasDeUsoComum .select2-selection__choice,[data-theme="dark"] #addNewBooking .portasDeUsoComum .select2-selection__choice *{color:#fff!important}

/* Guest actions replace reservation actions while the guest form is active. */
#addNewBooking.v2-guest-mode .modal-footer:not(.v2-guest-footer){display:none!important}#addNewBooking .v2-guest-footer{flex:none;background:var(--surface);border-top:1px solid var(--line)}
@media(max-width:720px){#addNewBooking .modal-content{max-height:100dvh}#addNewBooking .modal-footer:has(#addNewBooking_delete)>.booking-notification-group{grid-column:auto;min-width:0}#addNewBooking .modal-footer:has(#addNewBooking_delete) .booking-notification-group>.btn{white-space:normal;font-size:12px;padding:8px 6px}#addNewBooking .modal-footer>.btn{min-width:0;font-size:13px;padding:8px}#addNewBooking .modal-footer>.booking-notification-group .dropdown-menu{width:max-content;min-width:100%;max-width:calc(100vw - 32px)}#addNewBooking .v2-guest-footer>.btn{width:100%;margin:0!important;min-height:44px}#addNewBooking.v2-guest-mode .modal-body{height:auto!important}}

/* Guest information and creation actions share a single input group. */
#addNewBooking #booking-guest-info{height:var(--guest-control-height)!important;min-height:var(--guest-control-height)!important;border-radius:0!important;display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:0;white-space:nowrap}#addNewBooking #booking-guest-info:disabled{opacity:.5}@media(max-width:720px){#addNewBooking #booking-guest-info .v2-guest-info-label{display:none}#addNewBooking #booking-guest-info{min-width:42px;padding:8px 10px}}

/* Distinguish consultation from guest creation in both themes. */
#addNewBooking #booking-guest-info{background:var(--surface-2);color:var(--ink);border-color:var(--line)}#addNewBooking #booking-guest-info:hover:not(:disabled),#addNewBooking #booking-guest-info:focus-visible{background:var(--surface);color:var(--brand-text);border-color:var(--brand)}

/* Centre reservation date values inside their input fields. */
#addNewBooking #checkin,#addNewBooking #checkout{text-align:center}

/* Reservation saved confirmation, matching the mockup. */
.v2-save-confirmation{position:fixed;inset:0;z-index:2400;display:flex;align-items:center;justify-content:center;background:rgba(8,18,28,.45);padding:16px;animation:v2-save-fade .18s ease-out}
.v2-save-confirmation-box{background:var(--surface);color:var(--ink);border-radius:18px;box-shadow:var(--pop);padding:32px 28px;max-width:460px;width:100%;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:v2-save-pop .35s cubic-bezier(.2,1.3,.4,1)}
.v2-save-confirmation-box p{margin:20px 0 0;font-weight:600;font-size:18px;line-height:1.4;overflow-wrap:anywhere}.v2-save-check{width:96px;height:96px;display:block;margin:0 auto}
.v2-save-check circle{fill:none;stroke:var(--ok);stroke-width:4;stroke-dasharray:166;stroke-dashoffset:166;stroke-linecap:round;transform-origin:center;animation:v2-save-draw .55s .05s ease-out forwards}
.v2-save-check path{fill:none;stroke:var(--ok);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:v2-save-draw .35s .5s ease-out forwards}
.v2-save-check .v2-save-check-fill{fill:var(--ok);stroke:none;opacity:0;animation:v2-save-fill .3s .45s ease-out forwards}
@keyframes v2-save-draw{to{stroke-dashoffset:0}}@keyframes v2-save-fill{to{opacity:.14}}@keyframes v2-save-fade{from{opacity:0}}@keyframes v2-save-pop{from{transform:scale(.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.v2-save-check circle,.v2-save-check path{animation:none;stroke-dashoffset:0}.v2-save-check .v2-save-check-fill{animation:none;opacity:.14}.v2-save-confirmation-box,.v2-save-confirmation{animation:none}}

/* Guest consultation and common-door controls use the same form geometry on every screen. */
#addNewBooking #booking-guest-info{background:var(--brand-tint)!important;color:var(--brand-text)!important;border:1px solid var(--line)!important;min-width:72px;flex:0 0 auto;padding:8px 12px;box-shadow:none}
#addNewBooking #booking-guest-info:hover:not(:disabled),#addNewBooking #booking-guest-info:focus-visible{background:var(--surface-2)!important;border-color:var(--brand)!important}
#addNewBooking .clientselect .input-group{display:flex;flex-wrap:nowrap;width:100%;min-width:0}
#addNewBooking .clientselect .input-group-append{flex:0 0 auto}
#addNewBooking .portasDeUsoComum{min-width:0}
#addNewBooking .portasDeUsoComum>[data-toggle]{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--muted)}
#addNewBooking .addNewBooking-CDoors-combo{padding:0;margin:0;min-width:0}
#addNewBooking .portasDeUsoComum .select2-container{display:block;width:100%!important;max-width:100%;min-width:0}
#addNewBooking .portasDeUsoComum .select2-selection--multiple{display:block;min-height:44px;padding:4px 8px;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--surface)!important;box-sizing:border-box}
#addNewBooking .portasDeUsoComum .select2-selection__rendered{display:flex;align-items:center;flex-wrap:wrap;gap:4px;width:100%;padding:0;margin:0;min-height:34px;box-sizing:border-box}
#addNewBooking .portasDeUsoComum .select2-selection__choice{display:flex;align-items:center;gap:6px;max-width:100%;margin:0!important;padding:5px 8px;background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:6px;color:var(--ink)!important;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
#addNewBooking .portasDeUsoComum .select2-selection__choice__remove{flex:none;color:var(--muted)!important;margin:0!important;padding:0 3px}
#addNewBooking .portasDeUsoComum .select2-search--inline{min-width:24px;max-width:100%;margin:0;flex:1 1 40px}
#addNewBooking .portasDeUsoComum .select2-search--inline .select2-search__field{width:100%!important;min-width:24px;height:30px;min-height:30px;margin:0!important;padding:2px!important;color:var(--ink)!important}
@media(max-width:720px){#addNewBooking #booking-guest-info{min-width:44px;padding:8px 10px}}
#addNewBooking #portasComuns{margin-inline:0;width:100%}

/* The embedded guest form needs a bounded dialog, not a collapsed flex body. */
#addNewBooking.v2-guest-mode .modal-content{display:flex;flex-direction:column;height:min(760px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden}
#addNewBooking.v2-guest-mode .modal-header,#addNewBooking.v2-guest-mode .v2-guest-footer{flex:0 0 auto}
#addNewBooking.v2-guest-mode .modal-body{flex:1 1 auto;min-height:0;height:auto!important;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
#addNewBooking.v2-guest-mode .v2-guest-footer{position:static;margin:0}
#addNewBooking.v2-guest-mode #clients-new{height:auto!important;min-height:0;max-height:none}
@media(max-width:720px){#addNewBooking.v2-guest-mode .modal-content{height:100dvh;max-height:100dvh}}