.reservations-page { max-width: 980px; margin: 0 auto; padding: 42px 20px 72px; }
.reservations-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:28px 0 20px; padding:18px 20px; }
.reservations-toolbar__label { display:block; margin-bottom:4px; color:var(--color-text-muted); font-size:.82rem; font-weight:700; }
.reservations-toolbar strong { font-size:1.15rem; }
.reservations-list { display:grid; gap:14px; }
.reservation-card { padding:20px; }
.reservation-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.reservation-card__identity { min-width:0; }
.reservation-card__eyebrow { margin:0 0 5px; color:var(--color-text-muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.reservation-card h2 { margin:0; font-size:1.08rem; letter-spacing:-.015em; }
.reservation-card__items { display:grid; gap:7px; margin:16px 0; padding:14px 0; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.reservation-card__item { display:flex; justify-content:space-between; gap:14px; color:var(--color-text-muted); font-size:.92rem; }
.reservation-card__item strong { color:var(--color-text); }
.reservation-card__meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:16px; color:var(--color-text-muted); font-size:.84rem; }
.reservation-card__status { display:inline-flex; align-items:center; min-height:30px; padding:5px 10px; border-radius:999px; background:var(--color-accent-soft); color:var(--color-accent-dark); font-size:.76rem; font-weight:800; }
.reservation-card__status--expired { background:var(--color-surface-subtle); color:var(--color-text-muted); }
.reservation-card__status--cancelled { background:var(--color-surface-subtle); color:var(--color-text-muted); }
.reservation-card__actions { display:flex; flex-wrap:wrap; gap:8px; }
.reservations-empty { padding:42px 24px; text-align:center; }
.reservations-empty h2 { margin:0 0 8px; font-size:1.15rem; }
.reservations-empty p { margin:0 auto 18px; max-width:520px; color:var(--color-text-muted); line-height:1.55; }
@media(max-width:640px) {
  .reservations-page { padding:30px 16px 56px; }
  .reservations-toolbar { align-items:flex-start; flex-direction:column; }
  .reservations-toolbar .btn { width:100%; }
  .reservation-card__top { flex-direction:column; }
  .reservation-card__actions .btn { flex:1 1 140px; }
}
