/* TocaYAvanza v2 — Responsive */

/* RESPONSIVE — 768px (tablet / sidebar collapse) */
@media (max-width: 768px) {
  body { overflow: auto; }
  #hamburger { display: flex; }
  #sidebar {
    position: fixed; left: -260px; top: 0; z-index: 200;
    width: 260px; min-width: 0;
    transition: left 0.25s cubic-bezier(.4,0,.2,1);
    height: 100vh;
  }
  #sidebar.open { left: 0; }
  #sidebar-overlay.open { display: block; }
  #main { width: 100%; min-width: 0; }
  #topbar { padding: 0 14px; gap: var(--space-2); }
  #topbar h2 { font-size: var(--text-md); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  #content { padding: 14px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid.cols-3 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .modal { border-radius: var(--radius-lg) var(--radius-lg) 0 0; max-height: 96vh; }
  .modal-bg { align-items: flex-end; padding: 0; }
  .month-grid { grid-template-columns: repeat(3, 1fr); }
  table { font-size: var(--text-xs); }
  thead th, tbody td { padding: var(--space-2) var(--space-2); }
  .btn { padding: var(--space-2) var(--space-3); font-size: var(--text-xs); }
  .btn-sm { padding: 5px var(--space-2); font-size: var(--text-xs); }
  .search-bar { gap: var(--space-2); }
  .search-bar input { max-width: 100%; }
  #balance-grid { grid-template-columns: 1fr !important; }
  #events-grid  { grid-template-columns: 1fr !important; }
}

/* RESPONSIVE — 640px (mobile calendar) */
@media (max-width: 640px) {
  .cal-mobile-day-strip { display: flex; }
  .cal-section-scroll { overflow-x: hidden; }
  .cal-week-grid, .cal-room-grid { min-width: unset !important; font-size: var(--text-xs); }
  .cal-toolbar { gap: 6px; flex-wrap: wrap; }
  .cal-toolbar .tabs { display: none; }
  .cal-toolbar select { max-width: 140px !important; font-size: var(--text-xs); }
  .cal-legend { display: none; }
  .cal-week-label { min-width: 100px !important; font-size: var(--text-xs); white-space: nowrap; }
  .cal-toolbar-absence { display: none !important; }
  .cal-event { padding: 3px 5px !important; min-height: 38px !important; }
  .cal-event .ev-prof    { display: none !important; }
  .cal-event .ev-patient { font-size: var(--text-xs) !important; font-weight: var(--fw-bold) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .cal-event .ev-time    { font-size: 9px !important; }
  .cal-mobile-day-pill .pill-dot { display: block; }
}

/* RESPONSIVE — 600px (schedule slot rows) */
@media (max-width: 600px) {
  .schedule-slot-row { grid-template-columns: 1fr 1fr; }
}

/* RESPONSIVE — 480px (small mobile) */
@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr; }
  .month-grid { grid-template-columns: repeat(2, 1fr); }
}

/* RESPONSIVE — 480px (wizard mobile) */
@media (max-width: 480px) {
  .wiz-step span { display: none; }
  .wiz-step { padding: var(--space-1); }
}
