body[data-page="profile"] .profile-owner-reservations { grid-template-columns: minmax(0, 1fr); }
body[data-page="profile"] .owner-booking-admin { min-width: 0; width: 100%; box-sizing: border-box; padding: clamp(18px, 3vw, 30px); margin-bottom: 24px; border: 1px solid #d9e2de; border-left: 4px solid #243b38; background: #f8faf9; border-radius: 8px; }
body[data-page="profile"] #ownerCalendar, body[data-page="profile"] .owner-appointment-shell,
body[data-page="profile"] .owner-appointment-editor, body[data-page="profile"] .owner-weekly-hours,
body[data-page="profile"] .owner-service-catalog { min-width: 0; max-width: 100%; box-sizing: border-box; }
body[data-page="profile"] .owner-booking-admin-head { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
body[data-page="profile"] .owner-booking-admin-head h2 { margin: 4px 0 0; font-size: clamp(20px, 2vw, 27px); }
body[data-page="profile"] .owner-booking-select { display: flex !important; align-items: center; gap: 10px; flex-wrap: wrap; }
body[data-page="profile"] .owner-booking-select label { font-weight: 700; }
body[data-page="profile"] .owner-booking-select select { flex: 1 1 220px; min-width: 0; min-height: 44px; padding: 0 12px; border: 1px solid #c9d0cf; border-radius: 6px; background: white; color: #1c2927; }
body[data-page="profile"] .owner-booking-metrics { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 22px 0; }
body[data-page="profile"] .owner-booking-metrics > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 14px; border: 1px solid #dbe2df; border-radius: 6px; background: white; }
body[data-page="profile"] .owner-booking-metrics strong { font-size: clamp(18px, 2vw, 25px); color: #1c2927; overflow-wrap: anywhere; }
body[data-page="profile"] .owner-booking-metrics span { font-size: 12px; color: #586663; }
body[data-page="profile"] .owner-booking-filters { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
body[data-page="profile"] .owner-booking-filters button { flex: 0 0 auto; padding: 9px 13px; border: 1px solid #ccd5d2; border-radius: 6px; background: white; color: #243b38; font: inherit; font-size: 13px; cursor: pointer; }
body[data-page="profile"] .owner-booking-filters button[aria-pressed="true"] { background: #243b38; color: white; border-color: #243b38; }
body[data-page="profile"] [data-owner-booking-ad][hidden], body[data-page="profile"] #ownerCalendar[hidden], body[data-page="profile"] #ownerBookingEmpty[hidden] { display: none !important; }
body[data-page="profile"] .owner-appointment-editor > .appointment-editor-head,
body[data-page="profile"] .owner-appointment-editor > .appointment-mode-grid,
body[data-page="profile"] .owner-appointment-editor > .owner-service-catalog,
body[data-page="profile"] .owner-appointment-editor > .owner-weekly-hours,
body[data-page="profile"] .owner-appointment-editor > button[type="submit"] { grid-column: 1 / -1; }
body[data-page="profile"] .owner-service-catalog, body[data-page="profile"] .owner-weekly-hours { margin: 10px 0; min-width: 0; }
body[data-page="profile"] .owner-service-catalog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
body[data-page="profile"] .owner-service-row { display: grid !important; grid-template-columns: minmax(130px, 2fr) minmax(95px, 1fr) minmax(110px, 1fr) auto; align-items: end; gap: 10px; padding: 12px 0; border-top: 1px solid #dce4e1; }
body[data-page="profile"] .owner-service-row label { display: grid; gap: 5px; min-width: 0; font-size: 12px; font-weight: 700; }
body[data-page="profile"] .owner-service-row input, body[data-page="profile"] .owner-service-row select,
body[data-page="profile"] .owner-weekly-row input[type="time"] { min-width: 0; width: 100%; min-height: 42px; padding: 7px 9px; border: 1px solid #cbd5d1; border-radius: 6px; background: white; color: #192723; }
body[data-page="profile"] .owner-weekly-hours > strong { display: block; margin-bottom: 10px; }
body[data-page="profile"] .owner-weekly-row { display: grid !important; grid-template-columns: minmax(130px, 1fr) minmax(105px, 130px) auto minmax(105px, 130px); align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid #dce4e1; }
body[data-page="profile"] .owner-weekly-row label { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; }
body[data-page="profile"] .owner-weekly-row input[type="checkbox"] { flex: 0 0 17px; width: 17px !important; height: 17px !important; min-height: 0 !important; margin: 0; accent-color: #243b38; }
.booking-service-picker { display: grid; gap: 7px; margin: 12px 0; }
.booking-service-picker label { font-size: 13px; font-weight: 800; }
.booking-service-picker select { width: 100%; min-height: 48px; padding: 8px 12px; border: 1px solid #bfcac6; border-radius: 6px; background: white; color: #192723; font: inherit; }
body[data-page="profile"] .owner-appointment-editor > .owner-time-rules { grid-column: 1 / -1; min-width: 0; }
body[data-page="profile"] .owner-time-rules > strong { display: block; margin-bottom: 12px; }
body[data-page="profile"] .owner-time-rule-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body[data-page="profile"] .owner-time-rule-grid label, body[data-page="profile"] .owner-closed-days { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
body[data-page="profile"] .owner-time-rule-grid input, body[data-page="profile"] .owner-time-rule-grid select,
body[data-page="profile"] .owner-closed-days input { width: 100%; min-width: 0; min-height: 42px; padding: 7px 9px; border: 1px solid #cbd5d1; border-radius: 6px; background: white; color: #192723; }
body[data-page="profile"] .owner-closed-days { margin-top: 18px; }
body[data-page="profile"] .owner-closed-days > div:first-of-type { display: flex; gap: 8px; flex-wrap: wrap; }
body[data-page="profile"] .owner-closed-days input { flex: 1 1 180px; }
body[data-page="profile"] .owner-closed-list { display: flex; flex-wrap: wrap; gap: 7px; }
body[data-page="profile"] .owner-closed-list button { padding: 7px 10px; border: 1px solid #bdccc6; border-radius: 5px; background: white; color: #243b38; cursor: pointer; }
body[data-page="listing"] .booking-day-picker { display: grid; gap: 10px; min-width: 0; }
body[data-page="listing"] .booking-day-picker > strong, body[data-page="listing"] .booking-time-title { font-size: 13px; font-weight: 800; }
body[data-page="listing"] .booking-day-picker > div { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 9px; scroll-snap-type: x proximity; }
body[data-page="listing"] .booking-day-picker button { display: grid; flex: 0 0 82px; gap: 2px; min-height: 84px; padding: 8px; border: 1px solid #cdd7d2; border-radius: 6px; background: #fff; color: #21332e; cursor: pointer; text-align: center; scroll-snap-align: start; }
body[data-page="listing"] .booking-day-picker button[aria-pressed="true"] { border-color: #243b38; background: #eaf0ec; box-shadow: inset 0 0 0 1px #243b38; }
body[data-page="listing"] .booking-day-picker button:disabled { opacity: .45; cursor: not-allowed; }
body[data-page="listing"] .booking-day-picker button span { font-size: 11px; text-transform: uppercase; }
body[data-page="listing"] .booking-day-picker button strong { font-size: 20px; }
body[data-page="listing"] .booking-day-picker button small { font-size: 10px; }
body[data-page="listing"] .booking-time-title { margin-top: 6px; }
body[data-page="listing"] .booking-day-picker + .booking-time-title + .simple-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-page="listing"] .booking-day-picker + .booking-time-title + .simple-slot-grid button { min-height: 72px; }
@media (max-width: 700px) {
  body[data-page="profile"] .owner-time-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="profile"] .owner-time-rule-grid label:last-child { grid-column: 1 / -1; }
  body[data-page="profile"] .profile-owner-reservations { padding: 12px !important; }
  body[data-page="profile"] .owner-booking-admin { padding: 16px; }
  body[data-page="profile"] .owner-appointment-editor { padding: 12px !important; }
  body[data-page="profile"] .owner-appointment-editor > .appointment-mode-grid { grid-template-columns: 1fr !important; }
  body[data-page="profile"] .owner-booking-select { align-items: stretch; }
  body[data-page="profile"] .owner-booking-select label { width: 100%; }
  body[data-page="profile"] .owner-booking-select select { flex-basis: 100%; }
  body[data-page="profile"] .owner-booking-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="profile"] .owner-service-row { grid-template-columns: 1fr; }
  body[data-page="profile"] .owner-service-row label:first-child { grid-column: auto; }
  body[data-page="profile"] .owner-weekly-row { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 5px; }
  body[data-page="profile"] .owner-weekly-row label { grid-column: 1 / -1; }
  body[data-page="profile"] .owner-weekly-row label { font-size: 11px; }
}
