/* Breakpoints only. Desktop ≥1024, tablet 768–1023, mobile ≤767. */

@media (max-width: 1023px) {
  .kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dash-grid,
  .booking-layout,
  .hub-workspace {
    grid-template-columns: 1fr;
  }

  .hub-form-card {
    position: static;
  }

  .hub-stats {
    grid-template-columns: minmax(140px, 1fr);
  }

  .rooms-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .booking-form,
  .room-form-grid,
  .my-bookings-toolbar {
    grid-template-columns: 1fr;
  }
}

/* Tablet: compact icon sidebar */
@media (min-width: 768px) and (max-width: 1023px) {
  .sidebar {
    width: var(--sidebar-compact);
  }

  .app-body {
    margin-left: var(--sidebar-compact);
  }

  .brand-text,
  .nav-label {
    display: none;
  }

  .sidebar-brand {
    justify-content: center;
    padding: 0;
  }

  .nav-item {
    justify-content: center;
    padding: 10px;
  }

  .nav-item.is-active {
    box-shadow: none;
  }
}

/* Mobile: hamburger off-canvas overlay */
@media (max-width: 767px) {
  .nav-toggle {
    display: grid;
    place-items: center;
  }

  .sidebar {
    width: var(--sidebar-width);
    transform: translateX(-100%);
    transition: transform 0.2s ease;
  }

  .app-body {
    margin-left: 0;
  }

  .nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: var(--z-overlay);
    background: var(--overlay);
  }

  body.nav-open .sidebar {
    transform: translateX(0);
  }

  body.nav-open .nav-overlay {
    display: block;
  }

  .header {
    padding: 0 var(--space-2);
  }

  .main {
    padding: var(--space-2);
  }

  .identity-meta {
    display: none;
  }

  .lang-btn {
    min-width: 36px;
    min-height: 26px;
    padding: 2px 8px;
  }

  .kpi-grid,
  .rooms-toolbar,
  .settings-grid {
    grid-template-columns: 1fr;
  }

  .schedule-item,
  .meeting-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .page-title {
    font-size: var(--text-lg);
  }

  .cal-view {
    min-width: 640px;
  }

  .hub-calendar-card .cal-view,
  .hub-calendar-card .cal-month-grid,
  .hub-calendar-card .cal-week-cols,
  .hub-calendar-card .cal-week-head,
  .hub-calendar-card .cal-month-head {
    min-width: 0;
  }

  .hub-stat-value {
    font-size: 22px;
  }

  .hub-calendar-scroll {
    min-height: 420px;
  }

  .hub-calendar-card .cal-month-cell {
    min-height: 72px;
  }
}
