#modal .dialog:has(.owner-room-form), #modal .dialog:has(.room-form-compact) {
  display: flex;
  flex-direction: column;
  width: min(900px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  max-height: calc(100dvh - 28px);
  overflow: hidden;
}
#modal .dialog:has(.owner-room-form) .dialog-head,
#modal .dialog:has(.room-form-compact) .dialog-head { flex: none; }
#modal .dialog:has(.owner-room-form) #modalBody,
#modal .dialog:has(.room-form-compact) #modalBody {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
#modal .owner-room-form { padding: 16px; gap: 10px 16px; }
#modal .owner-room-form .field { margin: 0; min-width: 0; gap: 4px; }
#modal .owner-room-form input, #modal .owner-room-form select {
  min-height: 40px; padding: 8px 10px;
}
.owner-room-form #websiteRoomControl { padding: 10px 12px; }
.owner-room-form #websiteRoomControl p { margin: 4px 0; }
.owner-room-form .btn { min-height: 36px; padding: 6px 12px; font-size: .875rem; }
.owner-room-booking { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.owner-room-form .form-actions { position: sticky; bottom: -16px; background: #fff; padding: 10px 0; margin: 0; }
@media(max-width:600px) { #modal .owner-room-form { grid-template-columns: 1fr; } }

#modal .dialog:not(.receipt-dialog):has(.room-status-form){width:min(460px,calc(100vw - 24px))}
#modalBody .room-status-form{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
#modalBody .room-status-form .field{margin:0}
#modalBody .room-status-form .note{margin:0;font-size:14px;line-height:1.6}
#modalBody .room-status-form .form-actions{margin:0;padding:8px 0 0}
