/* ==========================================================================
   RESPONSIVE — Tablet & Mobile
   ========================================================================== */

/* Tablet */
@media (max-width: 1024px) {
  .grid-2 { grid-template-columns: 1fr; }
  .grid-cols-3 { grid-template-columns: repeat(2, 1fr); }
  .stat-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
  .search-everywhere { max-width: 260px; }
}

/* Sidebar collapses into off-canvas drawer below this width */
@media (max-width: 900px) {
  .sidebar {
    transform: translateX(-100%);
    width: min(280px, 82vw);
    box-shadow: var(--shadow-lg);
  }
  .sidebar.mobile-open { transform: translateX(0); }
  .sidebar.collapsed { width: min(280px, 82vw); }
  .sidebar.collapsed .sidebar-brand span:not(.brand-mark),
  .sidebar.collapsed .sidebar-section-label,
  .sidebar.collapsed .sidebar-nav a span.label,
  .sidebar.collapsed .sidebar-collapse-btn span.label { display: inline; }
  .sidebar-collapse-btn { display: none; }

  .main-wrap, .sidebar.collapsed ~ .main-wrap { margin-left: 0; }

  .topbar .menu-toggle {
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: var(--radius-sm); border: 1px solid var(--color-border);
    background: var(--color-surface); color: var(--color-text);
  }
  .breadcrumb { display: none; }
  .search-everywhere { max-width: none; }

  .backdrop-scrim {
    position: fixed; inset: 0; background: rgba(10,16,14,0.4); z-index: 95;
    opacity: 0; pointer-events: none; transition: opacity var(--transition-base);
  }
  .backdrop-scrim.show { opacity: 1; pointer-events: auto; }
}

/* Mobile */
@media (max-width: 640px) {
  .page-content { padding: var(--space-4); }
  .form-row, .grid-cols-2, .grid-cols-3 { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: var(--space-3); }
  h1 { font-size: var(--fs-xl); }
  .topbar { padding: 0 var(--space-3); gap: var(--space-2); }
  .user-chip .who { display: none; }
  .modal { max-width: 100%; border-radius: var(--radius-md); }
  .card, .card-glass { padding: var(--space-4); border-radius: var(--radius-md); }
  .toast-stack { left: 12px; right: 12px; width: auto; top: 12px; }
  .login-page { grid-template-columns: 1fr; }
  .login-visual { display: none; }
  table.data-table { min-width: 560px; }
}

@media (max-width: 400px) {
  .stat-grid { grid-template-columns: 1fr; }
}

/* Print (used by reports export) */
@media print {
  .sidebar, .topbar, .no-print { display: none !important; }
  .main-wrap { margin-left: 0 !important; }
  body { background: #fff; }
}
