#hospitalityBranchVoucherModal .hospitality-branch-form {
  width: min(920px, calc(100vw - 32px));
  max-width: 920px;
  max-height: min(880px, calc(100vh - 32px));
  padding: 0;
  overflow: auto;
  border: 1px solid #dbe5f1;
  border-radius: 22px;
  box-shadow: 0 28px 80px rgba(15, 35, 65, .28);
}

#hospitalityBranchVoucherModal .hospitality-branch-form > header {
  position: sticky;
  top: 0;
  z-index: 3;
  margin: 0;
  padding: 24px 28px 20px;
  background: linear-gradient(135deg, #071a33 0%, #113f79 72%, #1769e8 100%);
  border: 0;
  color: #fff;
}

#hospitalityBranchVoucherModal .hospitality-branch-form > header span { color: #8fd3ff; }
#hospitalityBranchVoucherModal .hospitality-branch-form > header h3 { margin: 6px 0 0; color: #fff; font-size: 1.2rem; }
#hospitalityBranchVoucherModal .hospitality-branch-form > header > button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 1.25rem;
}

.hospitality-voucher-inheritance {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 22px 28px 0;
  padding: 15px 17px;
  border: 1px solid #cbdcf5;
  border-radius: 14px;
  background: #f4f8ff;
  color: #183b66;
  font-weight: 800;
}

.hospitality-voucher-inheritance input { width: 19px; height: 19px; accent-color: #1769e8; }
#hospitalityBranchVoucherModal .hospitality-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 20px 28px 24px; }
.hospitality-voucher-group { overflow: hidden; border: 1px solid #dce5ef; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(30,57,91,.06); }
.hospitality-voucher-group > header { padding: 18px 20px; border-bottom: 1px solid #e5edf5; background: #f7faff; }
.hospitality-voucher-group > header span { font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #1769e8; }
.hospitality-voucher-group > header h4 { margin: 5px 0 4px; color: #102943; font-size: 1.03rem; }
.hospitality-voucher-group > header p { margin: 0; color: #687b91; font-size: .78rem; line-height: 1.5; }
.hospitality-voucher-group.is-family { border-color: #f5d37d; }
.hospitality-voucher-group.is-family > header { background: linear-gradient(135deg, #fff9e8, #fffdf7); }
.hospitality-voucher-group.is-family > header span { color: #b06a00; }
.hospitality-voucher-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 18px 20px; }
.hospitality-voucher-fields label { display: grid; align-content: start; gap: 7px; color: #60738b; font-size: .76rem; font-weight: 800; }
.hospitality-voucher-fields label.hospitality-checkbox { grid-column: 1/-1; display: flex !important; align-items: center; min-height: 48px; padding: 12px 14px; border: 1px solid #dce6f1; border-radius: 12px; background: #f9fbfe; color: #243d5a; }
.hospitality-voucher-group.is-family label.hospitality-checkbox { border-color: #f3dd9c; background: #fffbef; }
.hospitality-voucher-fields input:not([type="checkbox"]) { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #ccd9e7; border-radius: 11px; background: #fff; color: #132a44; font: inherit; font-size: .9rem; outline: none; transition: border-color .18s, box-shadow .18s; }
.hospitality-voucher-fields input:not([type="checkbox"]):focus { border-color: #1769e8; box-shadow: 0 0 0 3px rgba(23,105,232,.12); }
.hospitality-voucher-fields input[type="checkbox"] { width: 20px; height: 20px; margin: 0 11px 0 0; accent-color: #1769e8; }
.hospitality-voucher-fields input:disabled { cursor: not-allowed; background: #edf2f7; color: #8190a3; }
.hospitality-voucher-modal-footer { position: sticky; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 28px; border-top: 1px solid #e3ebf4; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.hospitality-voucher-modal-footer p { max-width: 510px; margin: 0; color: #6b7d91; font-size: .77rem; line-height: 1.45; }
.hospitality-voucher-modal-footer .hospitality-primary-button { flex: 0 0 auto; min-height: 44px; padding: 0 19px; border-radius: 11px; box-shadow: 0 9px 20px rgba(23,105,232,.2); }

@media (max-width: 760px) {
  #hospitalityBranchVoucherModal .hospitality-branch-form { width: min(96vw, 620px); max-height: 94vh; border-radius: 18px; }
  #hospitalityBranchVoucherModal .hospitality-form-grid { grid-template-columns: 1fr; padding: 16px; }
  .hospitality-voucher-inheritance { margin: 16px 16px 0; }
  .hospitality-voucher-modal-footer { align-items: stretch; flex-direction: column; padding: 15px 16px; }
  .hospitality-voucher-modal-footer .hospitality-primary-button { width: 100%; }
}

@media (max-width: 460px) {
  .hospitality-voucher-fields { grid-template-columns: 1fr; }
  .hospitality-voucher-fields label.hospitality-checkbox { grid-column: auto; }
  #hospitalityBranchVoucherModal .hospitality-branch-form > header { padding: 20px; }
}
