.rental-schedule { max-width: 720px; margin-inline: auto; }
.rental-schedule-intro {
  max-width: 48ch;
  margin-top: 7px;
  color: var(--muted);
  font-size: 15px;
}
.rental-schedule-surface {
  min-width: 0;
  margin-top: 20px;
  padding: clamp(12px, 4vw, 28px);
  border-radius: 22px;
  background: #fff;
}
.rental-calendar-header {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 4px;
  margin-bottom: 12px;
  text-align: center;
}
.rental-calendar-month { font-size: clamp(17px, 4.4vw, 22px); letter-spacing: -.035em; }
.rental-calendar-arrow {
  width: 44px;
  height: 44px;
  padding: 0 0 5px;
  border: 0;
  border-radius: 50%;
  color: var(--deep-blue);
  background: #eff5f9;
  font-size: 28px;
  line-height: 1;
}
.rental-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: clamp(1px, .7vw, 6px);
}
.rental-calendar-week {
  margin-bottom: 5px;
  text-align: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}
.rental-calendar-day {
  position: relative;
  min-width: 0;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 11px;
  color: var(--ink);
  background: transparent;
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.rental-calendar-day[aria-current='date'] { color: var(--deep-blue); background: #e9f2f8; }
.rental-calendar-day:hover, .rental-calendar-arrow:hover { background: #e1edf6; }
.rental-calendar-day[aria-pressed='true'] { color: #fff; background: var(--deep-blue); }
.rental-calendar-day.has-booking::after {
  position: absolute;
  bottom: 6px;
  left: calc(50% - 2px);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #c36c24;
  content: '';
}
.rental-calendar-day[aria-pressed='true'].has-booking::after { background: #ffc07e; }
.rental-calendar-detail { margin-top: 16px; padding: clamp(11px, 3vw, 19px); border-radius: 15px; background: #f1f6f9; }
.rental-calendar-date { font-size: 16px; letter-spacing: -.025em; }
.rental-calendar-events, .rental-bookings-list { margin: 0; padding: 0; list-style: none; }
.rental-calendar-events li { display: flex; flex-wrap: wrap; column-gap: 9px; font-size: 14px; }
.rental-calendar-events span { color: var(--muted); }
.rental-schedule-message { margin-block: 5px; color: var(--muted); font-size: 14px; }
.rental-schedule-message:empty { margin: 0; }
.rental-schedule-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.rental-schedule-actions .button { min-height: 44px; padding: 8px 12px; }
.rental-calendar-detail .button.plain { background: transparent; }
.rental-schedule-refresh { min-height: 44px; margin-inline-start: auto; padding-inline: 6px; }
.rental-bookings-surface { margin-top: 12px; }
.rental-bookings-empty { padding-block: 12px; }
.rental-bookings-empty h2, .rental-booking-summary h2 { font-size: 17px; letter-spacing: -.02em; }
.rental-bookings-empty p, .rental-booking-row p { color: var(--muted); font-size: 14px; }
.rental-booking-row { overflow-wrap: anywhere; }
.rental-booking-row + .rental-booking-row { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.rental-booking-summary, .rental-booking-footer { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.rental-booking-footer { margin-top: 5px; }
.rental-booking-reference { color: var(--deep-blue); font-size: 13px; font-weight: 650; }
.rental-booking-badge { flex: none; padding: 3px 8px; border-radius: 999px; color: #46617a; background: #eaf1f6; font-size: 12px; font-weight: 650; }
.rental-booking-badge[data-status='Pending'] { color: #824c1d; background: #fff1e2; }
.rental-booking-badge[data-status='Confirmed'], .rental-booking-badge[data-status='On rent'] { color: #286044; background: #eaf4ed; }
.rental-booking-badge[data-status='Cancelled'] { color: #684d4c; background: #f5edeb; }
