/* Page styles for the properties area — owned by that area's redesign. Build on theme.css tokens (--ui-*) and ui-* classes.
   Covers: stay calendar (+ bed management partial, stay capsules), room/bed/property
   forms, maintenance ticket form, bookings dashboard/form, integrations dashboard/form.
   Every selector is scoped under a page wrapper (.pg-*). */

/* ───────────── Shared: simple form pages ───────────── */
.pg-form .pg-form-card { width: 100%; max-width: 720px; }
.pg-form .pg-danger-zone { width: 100%; max-width: 720px; border-color: #f3d4d4; }
.pg-form .pg-danger-zone form { display: flex; }
.pg-form .ds-form .ds-field:has(> input[type="checkbox"]) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pg-form .ds-form .ds-field:has(> input[type="checkbox"]) > label { order: 2; }
.pg-form .ds-form .ds-field:has(> input[type="checkbox"]) > input { order: 1; width: 16px; height: 16px; margin: 0; accent-color: var(--ui-primary); }
.pg-form .ds-form .ds-field:has(> input[type="checkbox"]) > p { order: 3; flex-basis: 100%; margin: 0; }
.pg-form .ds-field-help, .pg-form .ds-field-error { margin: 0; }
.pg-form .ds-form :where(select[multiple]) { min-height: 120px; }

/* ───────────── Maintenance ticket form ───────────── */
.pg-maint-form .maintenance-ticket-form .ds-field-help, .pg-maint-form .maintenance-ticket-form .ds-field-error { margin: 0; }
.pg-maint-form .priority-picker { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-maint-form .priority-option {
  display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px;
  border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); background: var(--ui-surface);
  color: var(--ui-text-2); font-size: 13px; font-weight: 700; cursor: pointer;
}
.pg-maint-form .priority-option .lucide { width: 15px; height: 15px; }
.pg-maint-form .priority-option:hover { border-color: var(--ui-border-strong); }
.pg-maint-form .priority-option:has(input:focus-visible) { box-shadow: var(--ui-focus-ring); border-color: var(--ui-primary); }
.pg-maint-form .priority-option.priority-high:has(input:checked) { background: var(--ui-bad-bg); border-color: #f3c4c4; color: var(--ui-bad); }
.pg-maint-form .priority-option.priority-medium:has(input:checked) { background: var(--ui-warn-bg); border-color: #fde3b5; color: var(--ui-warn); }
.pg-maint-form .priority-option.priority-low:has(input:checked) { background: var(--ui-good-bg); border-color: #c8ecd6; color: var(--ui-good); }
.pg-maint-form .quick-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-maint-form .quick-tags .chip-link {
  height: 28px; padding: 0 10px; border: 1px solid var(--ui-border); border-radius: 999px;
  background: var(--ui-sunken); color: var(--ui-text-2); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
}
.pg-maint-form .quick-tags .chip-link:hover { border-color: var(--ui-primary); background: var(--ui-primary-soft); color: var(--ui-primary); }
.pg-maint-form .pg-maint-facts { grid-template-columns: minmax(0, 1fr); }
.pg-maint-form .pg-maint-guide { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pg-maint-form .pg-maint-guide li { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: start; gap: 10px; color: var(--ui-text-2); font-size: 13px; }
.pg-maint-form .pg-maint-guide .ui-tag { justify-content: center; }

/* ───────────── Bookings dashboard ───────────── */
.pg-bookings .ui-kpi.is-urgent .ui-kpi-value { color: var(--ui-warn); }
.pg-bookings .ui-kpi-sub .ui-tag { margin-right: 4px; }
.pg-bookings .pg-bookings-filter { padding: 12px 20px; border-bottom: 1px solid var(--ui-hairline); }
.pg-bookings .pg-bookings-filter .ui-tabs { max-width: 100%; }
.pg-bookings .pg-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; white-space: nowrap; }
.pg-bookings .pg-th-right { text-align: right; }
.pg-bookings .pg-bookings-pager:not(:empty) { padding: 12px 20px; border-top: 1px solid var(--ui-hairline); }
.pg-bookings .pg-bookings-pager .pms-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0; }
.pg-bookings .pg-bookings-pager .pms-pagination-status { color: var(--ui-muted); font-size: 12px; font-weight: 600; }
.pg-bookings .ui-list-row .ui-avatar .lucide, .pg-integrations .ui-list-row .ui-avatar .lucide { width: 16px; height: 16px; }
.pg-nowrap { white-space: nowrap; }

/* Kebab menus (shared markup with the bed map) */
:is(.pg-bookings, .pg-stay-cal) .action-dropdown-menu {
  padding: 6px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-surface); box-shadow: var(--ui-shadow-pop);
}
:is(.pg-bookings, .pg-stay-cal) .action-dropdown-menu a,
:is(.pg-bookings, .pg-stay-cal) .action-dropdown-menu form button { padding: 8px 10px; border-radius: 8px; color: var(--ui-text); font-size: 13px; }
:is(.pg-bookings, .pg-stay-cal) .action-dropdown-menu a:hover,
:is(.pg-bookings, .pg-stay-cal) .action-dropdown-menu form button:hover { background: var(--ui-sunken); }
.pg-bookings .action-dropdown-menu form button.is-danger,
.pg-bookings .action-dropdown-menu form button.is-danger .lucide { color: var(--ui-bad); }

/* ───────────── Integrations dashboard ───────────── */
.pg-integrations .pg-time { font-size: 12px; font-weight: 600; white-space: nowrap; }

/* ───────────── Stay calendar ───────────── */
.pg-stay-cal .pg-stay-tabs-row { display: flex; }
.pg-stay-cal .ui-tabs .lucide { width: 14px; height: 14px; }

/* KPI strip meter (occupancy) */
.pg-stay-cal .pg-meter { display: block; height: 6px; margin-top: 2px; border-radius: 999px; background: var(--ui-hairline); overflow: hidden; }
.pg-stay-cal .pg-meter > span { display: block; height: 100%; border-radius: inherit; background: var(--ui-primary); }

/* Room view occupancy bar */
.pg-stay-cal .pg-occ { display: flex; align-items: center; gap: 10px; }
.pg-stay-cal .pg-occ .room-occupancy-bar { flex: 1; height: 6px; background: var(--ui-hairline); }
.pg-stay-cal .pg-occ .room-occupancy-bar > span { background: var(--ui-primary); }
.pg-stay-cal .pg-occ-label { min-width: 38px; color: var(--ui-text-2); font-size: 12px; font-weight: 700; text-align: right; }

/* Legend tab */
.pg-stay-cal .pg-stay-legend .legend-section { padding: 0; }
.pg-stay-cal .pg-stay-legend .legend-section + .legend-section { padding-top: 14px; border-top: 1px solid var(--ui-hairline); }
.pg-stay-cal .pg-stay-legend .legend-section h3 { margin-bottom: 10px; color: var(--ui-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pg-stay-cal .pg-stay-legend .legend-list li { color: var(--ui-text-2); }
.pg-stay-cal .pg-stay-legend .legend-note { padding: 10px 0 0; color: var(--ui-muted); }
.pg-stay-cal .legend-note a { color: var(--ui-primary); }

/* Timeline card */
.pg-stay-cal .stay-calendar-controls { overflow: visible; }
.pg-stay-cal .stay-calendar-controls > .pg-stay-head { flex-wrap: wrap; align-items: center; border-bottom: 0; }
.pg-stay-cal .stay-calendar-nav { gap: 6px; }
.pg-stay-cal .stay-calendar-nav .ui-icon-btn .lucide { width: 16px; height: 16px; }
.pg-stay-cal .stay-calendar-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-stay-cal .stay-calendar-filter :is(select, input[type="date"]),
.pg-stay-cal #stayCalendarStatusFilter {
  min-height: 34px; height: 34px; padding: 0 10px; border: 1px solid var(--ui-border); border-radius: 9px;
  background: var(--ui-surface); color: var(--ui-text); font: inherit; font-size: 12.5px; font-weight: 700;
}
.pg-stay-cal .stay-calendar-filter :is(select, input):focus,
.pg-stay-cal #stayCalendarStatusFilter:focus { outline: none; border-color: var(--ui-primary); box-shadow: var(--ui-focus-ring); }
.pg-stay-cal #stayCalendarStatusFilter { height: 38px; border-radius: var(--ui-radius-sm); }
.pg-stay-cal .stay-calendar-toolbar-row { padding: 0 20px 14px; border-bottom: 1px solid var(--ui-hairline); }
.pg-stay-cal .stay-calendar-view-select { border: 0; background: #eceef4; border-radius: var(--ui-radius-sm); }
.pg-stay-cal .stay-calendar-view-select a { height: 32px; display: inline-flex; align-items: center; color: var(--ui-text-2); font-weight: 700; }
.pg-stay-cal .stay-calendar-view-select a.active { background: var(--ui-surface); color: var(--ui-text); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.pg-stay-cal .stay-calendar-search { max-width: 340px; padding: 0; border: 0; background: none; }
.pg-stay-cal .stay-calendar-search input { min-height: 38px; font-weight: 500; }

/* Grid chrome, re-toned to the kit */
.pg-stay-cal .stay-calendar-wrap { padding: 16px 20px 18px; }
.pg-stay-cal .stay-calendar-grid { border-color: var(--ui-border); border-radius: var(--ui-radius-sm); background: var(--ui-surface); }
.pg-stay-cal :is(.stay-calendar-corner, .stay-calendar-date-head) { background: #fafbfd; border-color: var(--ui-border); }
.pg-stay-cal .stay-calendar-corner { color: var(--ui-muted); font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.pg-stay-cal .stay-calendar-date-head { border-left-color: var(--ui-hairline); }
.pg-stay-cal .stay-calendar-date-head span { color: var(--ui-muted); text-transform: uppercase; letter-spacing: .03em; font-size: 10.5px; }
.pg-stay-cal .stay-calendar-date-head strong { color: var(--ui-text); font-weight: 800; }
.pg-stay-cal .stay-calendar-date-head.is-weekend { background: #f5f6fa; }
.pg-stay-cal .stay-calendar-date-head.is-today { background: var(--ui-primary-soft); box-shadow: inset 0 -2px 0 var(--ui-primary); }
.pg-stay-cal .stay-calendar-date-head.is-today strong { color: var(--ui-primary); }
.pg-stay-cal :is(.stay-calendar-roomtype-row, .stay-calendar-type-avail-cell) { background: var(--ui-sunken); border-color: var(--ui-border); }
.pg-stay-cal .stay-calendar-roomtype-row { color: var(--ui-text-2); font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.pg-stay-cal .stay-calendar-type-avail-cell { border-left-color: var(--ui-hairline); }
.pg-stay-cal .stay-calendar-type-avail-cell.is-weekend { background: #f1f2f7; }
.pg-stay-cal .stay-calendar-type-avail-cell.is-today { background: var(--ui-primary-soft); }
.pg-stay-cal .avail-pill { border-radius: 999px; font-weight: 800; }
.pg-stay-cal .avail-pill-good { background: var(--ui-good-bg); color: var(--ui-good); }
.pg-stay-cal .avail-pill-danger { background: var(--ui-bad-bg); color: var(--ui-bad); }
.pg-stay-cal :is(.stay-calendar-room-label, .stay-calendar-bed-label) { background: var(--ui-surface); border-top-color: var(--ui-hairline); }
.pg-stay-cal .stay-calendar-room-label-text strong { color: var(--ui-text); font-weight: 800; }
.pg-stay-cal .stay-calendar-room-summary { color: var(--ui-muted); font-weight: 600; }
.pg-stay-cal .stay-calendar-bed-label { color: var(--ui-text-2); font-weight: 600; }
.pg-stay-cal .stay-calendar-bed-track { border-top-color: var(--ui-hairline); }
.pg-stay-cal .stay-calendar-bed-cell-bg.is-weekend { background: rgba(15, 23, 42, .022); }
.pg-stay-cal .stay-calendar-bed-cell-bg.is-today { background: rgba(11, 15, 138, .05); }
.pg-stay-cal .room-collapse-toggle { color: var(--ui-muted); }
.pg-stay-cal .pg-stay-grid-empty { grid-column: 1 / -1; }

/* Empty-track flags: same tag language as the rest of the app */
.pg-stay-cal .stay-track-flag, .pg-stay-cal .stay-track-flag-legend { font-weight: 700; }
.pg-stay-cal :is(.stay-track-flag, .stay-track-flag-legend).stay-track-flag-available { background: var(--ui-good-bg); color: var(--ui-good); }
.pg-stay-cal :is(.stay-track-flag, .stay-track-flag-legend).stay-track-flag-cleaning { background: var(--ui-warn-bg); color: var(--ui-warn); }
.pg-stay-cal :is(.stay-track-flag, .stay-track-flag-legend):is(.stay-track-flag-maintenance, .stay-track-flag-blocked) { background: var(--ui-bad-bg); color: var(--ui-bad); }
.pg-stay-cal :is(.stay-track-flag, .stay-track-flag-legend).stay-track-flag-reserved { background: var(--ui-primary-soft); color: var(--ui-primary); }
.pg-stay-cal .stay-track-flag-active { background: var(--ui-primary); color: #fff; }
.pg-stay-cal .stay-track-book-hint { border-color: #c9cdf5; background: var(--ui-primary-soft); color: var(--ui-primary); }

/* Stay capsules (reservation bars) — same states, kit colours */
.pg-stay-cal .stay-capsule { border-radius: 9px; }
.pg-stay-cal .stay-capsule-active { background: var(--ui-primary); border-color: var(--ui-primary); color: #fff; }
.pg-stay-cal .stay-capsule-upcoming { background: var(--ui-primary-soft); border-color: #dfe2fb; border-left-color: var(--ui-primary); color: var(--ui-primary); }
.pg-stay-cal .stay-capsule-pending { background: var(--ui-warn-bg); border-color: #fde3b5; border-left-color: #e59a1a; color: #7c3f05; }
.pg-stay-cal .stay-capsule-departed { background: var(--ui-sunken); border-color: var(--ui-border); border-left-color: var(--ui-muted); color: var(--ui-text-2); }
.pg-stay-cal .stay-capsule-open-start { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
.pg-stay-cal .stay-capsule-open-end { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }
.pg-stay-cal .stay-capsule-overlap { outline-color: var(--ui-bad); }
.pg-stay-cal .stay-capsule-tooltip { border-radius: 10px; background: var(--ui-text); box-shadow: var(--ui-shadow-pop); }
.pg-stay-cal .stay-capsule-legend-swatch.stay-capsule-legend-active { background: var(--ui-primary); }
.pg-stay-cal .stay-capsule-legend-swatch.stay-capsule-legend-upcoming { background: var(--ui-primary-soft); border: 1px solid var(--ui-primary); }
.pg-stay-cal .stay-capsule-legend-swatch.stay-capsule-legend-pending { background: var(--ui-warn-bg); border: 1px solid #e59a1a; }
.pg-stay-cal .stay-capsule-legend-swatch.stay-capsule-legend-departed { background: var(--ui-sunken); border: 1px solid var(--ui-muted); }

/* Colour key under the grid */
.pg-stay-cal .stay-calendar-legend-bar { padding: 14px 20px; border-top: 1px solid var(--ui-hairline); background: #fafbfd; border-radius: 0 0 var(--ui-radius) var(--ui-radius); }
.pg-stay-cal .legend-chip { padding: 3px 9px; font-weight: 700; }
.pg-stay-cal .legend-chip-active { background: var(--ui-primary); color: #fff; }
.pg-stay-cal .legend-chip-upcoming { background: var(--ui-primary-soft); border-color: #dfe2fb; color: var(--ui-primary); }
.pg-stay-cal .legend-chip-pending { background: var(--ui-warn-bg); border-color: #fde3b5; color: #7c3f05; }
.pg-stay-cal .legend-chip-departed { background: var(--ui-sunken); border-color: var(--ui-border); color: var(--ui-text-2); }
.pg-stay-cal .legend-chip-flag.legend-chip-cleaning { background: var(--ui-warn-bg); color: var(--ui-warn); }
.pg-stay-cal .legend-chip-flag:is(.legend-chip-maintenance, .legend-chip-blocked) { background: var(--ui-bad-bg); color: var(--ui-bad); }

/* ───────────── Bed Management (collapsible section + partial) ───────────── */
.pg-stay-cal details.bed-management-section { display: block; margin-top: 0; overflow: hidden; }
.pg-stay-cal .bed-management-section > summary.ui-card-head { align-items: center; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer; }
.pg-stay-cal .bed-management-section > summary:hover { background: #fafbfe; }
.pg-stay-cal .bed-management-section > summary:focus-visible { outline: none; box-shadow: inset var(--ui-focus-ring); }
.pg-stay-cal .bed-management-section > summary h2 { font-size: 15px; font-weight: 700; }
.pg-stay-cal .bed-management-section > summary p { margin-top: 2px; color: var(--ui-muted); font-size: 12px; }
.pg-stay-cal .bed-management-toggle { color: var(--ui-muted); }
.pg-stay-cal .bed-management-section[open] > summary { border-bottom: 1px solid var(--ui-hairline); }
.pg-stay-cal .bed-management-body { gap: 16px; padding: 20px; border: 0; border-radius: 0; background: var(--ui-bg); }
.pg-stay-cal .bed-management-body.is-saving { opacity: .6; transition: opacity .15s; }

/* Status summary: KPI strip with a coloured dot + label per status */
.pg-stay-cal .pg-bed-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pg-stay-cal .pg-bed-kpis .ui-kpi { padding: 12px 16px; }
.pg-stay-cal .pg-bed-kpis .ui-kpi-value { font-size: 22px; }
.pg-stay-cal .pg-dot { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--ui-muted); }
.pg-stay-cal .pg-dot.is-available { background: var(--ui-good); }
.pg-stay-cal .pg-dot.is-occupied { background: var(--ui-info); }
.pg-stay-cal .pg-dot.is-cleaning { background: #e59a1a; }
.pg-stay-cal .pg-dot.is-maintenance { background: var(--ui-bad); }
.pg-stay-cal .pg-dot.is-reserved { background: var(--ui-primary); }
.pg-stay-cal .pg-dot.is-blocked { background: #64748b; }

/* Bed map board */
.pg-stay-cal .room-map-board { padding: 18px 20px; border-color: var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow); }
.pg-stay-cal .room-map-board > .panel-head { margin-bottom: 0; }
.pg-stay-cal .room-map-board h2 { color: var(--ui-text); font-size: 15px; font-weight: 700; }
.pg-stay-cal .room-map-board > .panel-head p { margin-top: 2px; color: var(--ui-muted); font-size: 12px; font-weight: 500; }
.pg-stay-cal .room-map-board .link-button { color: var(--ui-primary); font-size: 12.5px; font-weight: 700; }
.pg-stay-cal .room-map-card { border-color: var(--ui-border); border-radius: 12px; background: var(--ui-surface); }
.pg-stay-cal .room-map-card strong { color: var(--ui-text); font-weight: 800; }
.pg-stay-cal .room-map-card header span:not(.select-all-room-box) { color: var(--ui-muted); font-weight: 600; }
.pg-stay-cal .room-map-card-actions > b { padding: 3px 8px; border-radius: 999px; background: var(--ui-good-bg); color: var(--ui-good); font-size: 11px; font-weight: 700; }

/* Bed tiles: status palette mapped to the kit's tag colours */
.pg-stay-cal .room-bed { border-radius: 12px; border-width: 1px; }
.pg-stay-cal .room-bed.available { border-color: #c8ecd6; background: var(--ui-good-bg); color: var(--ui-good); }
.pg-stay-cal .room-bed.occupied { border-color: #cddcff; background: var(--ui-info-bg); color: var(--ui-info); }
.pg-stay-cal .room-bed.cleaning { border-color: #fde3b5; background: var(--ui-warn-bg); color: var(--ui-warn); }
.pg-stay-cal .room-bed.maintenance { border-color: #f8caca; background: var(--ui-bad-bg); color: var(--ui-bad); }
.pg-stay-cal .room-bed.reserved { border-color: #d6daf8; background: var(--ui-primary-soft); color: var(--ui-primary); }
.pg-stay-cal .room-bed.blocked { border-color: var(--ui-border-strong); background: var(--ui-sunken); color: #475569; }
.pg-stay-cal .room-bed select { border-radius: 7px; font-weight: 700; }

/* Bulk status bar chips — same palette as the tiles */
.pg-stay-cal .bulk-status-bar { border-color: var(--ui-border); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-pop); }
.pg-stay-cal .bulk-status-chip { border-width: 1px; font-weight: 700; }
.pg-stay-cal .bulk-status-chip.status-available { background: var(--ui-good-bg); border-color: #c8ecd6; color: var(--ui-good); }
.pg-stay-cal .bulk-status-chip.status-occupied { background: var(--ui-info-bg); border-color: #cddcff; color: var(--ui-info); }
.pg-stay-cal .bulk-status-chip.status-cleaning { background: var(--ui-warn-bg); border-color: #fde3b5; color: var(--ui-warn); }
.pg-stay-cal .bulk-status-chip.status-maintenance { background: var(--ui-bad-bg); border-color: #f8caca; color: var(--ui-bad); }
.pg-stay-cal .bulk-status-chip.status-reserved { background: var(--ui-primary-soft); border-color: #d6daf8; color: var(--ui-primary); }
.pg-stay-cal .bulk-status-chip.status-blocked { background: var(--ui-sunken); border-color: var(--ui-border-strong); color: #475569; }

/* Rooms table card inside the section */
.pg-stay-cal .pg-rooms-card .rooms-ledger td small { display: block; margin-top: 2px; color: var(--ui-muted); font-size: 12px; }

@media (max-width: 1100px) {
  .pg-stay-cal .pg-bed-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pg-stay-cal .pg-bed-kpis .ui-kpi:nth-child(3n + 1) { border-left: 0; }
  .pg-stay-cal .pg-bed-kpis .ui-kpi:nth-child(n + 4) { border-top: 1px solid var(--ui-hairline); }
}
@media (max-width: 720px) {
  .pg-stay-cal .stay-calendar-toolbar-row { padding: 0 16px 14px; }
  .pg-stay-cal .stay-calendar-wrap { padding: 12px 16px 16px; }
  .pg-stay-cal .stay-calendar-search { max-width: none; }
  .pg-stay-cal .bed-management-body { padding: 14px; }
  .pg-stay-cal .pg-bed-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-stay-cal .pg-bed-kpis .ui-kpi { border-left: 1px solid var(--ui-hairline); border-top: 0; }
  .pg-stay-cal .pg-bed-kpis .ui-kpi:nth-child(odd) { border-left: 0; }
  .pg-stay-cal .pg-bed-kpis .ui-kpi:nth-child(n + 3) { border-top: 1px solid var(--ui-hairline); }
  .pg-bookings .pg-bookings-filter { padding: 12px 16px; overflow-x: auto; }
  .pg-bookings .pg-bookings-filter .ui-tabs { flex-wrap: nowrap; }
  .pg-maint-form .pg-maint-guide li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* New booking: Existing / New guest switch */
.pg-booking-form .bk-guest-mode { align-self: flex-start; display: inline-flex; width: auto; }
.app-shell .pg-booking-form label.bk-mode-option { position: relative; display: inline-flex; align-items: center; margin: 0; cursor: pointer; }
.app-shell .pg-booking-form .bk-mode-option input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.pg-booking-form .bk-mode-option span {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border-radius: 8px;
  color: var(--ui-text-2); font-size: 12.5px; font-weight: 700; white-space: nowrap;
}
.pg-booking-form .bk-mode-option span .lucide { width: 14px; height: 14px; }
.pg-booking-form .bk-mode-option.active span,
.pg-booking-form .bk-mode-option input:checked + span { background: var(--ui-surface); color: var(--ui-text); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.pg-booking-form .bk-mode-option input:focus-visible + span { box-shadow: var(--ui-focus-ring); }
.pg-booking-form .bk-panel { display: grid; gap: 10px; }
.pg-booking-form .bk-panel[hidden] { display: none; }
.pg-booking-form .bk-panel .ui-help { display: flex; align-items: center; gap: 6px; }
.pg-booking-form .bk-panel .ui-help .lucide { width: 14px; height: 14px; }
