/* ============================================================
   SJC ERP - Mobile Responsive Stylesheet
   ============================================================ */

/* ─── Large Screens (>= 1400px) ──────────────────────────── */
@media (min-width: 1400px) {
  .dashboard-stats-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ─── Medium Large (< 1200px) ────────────────────────────── */
@media (max-width: 1199px) {
  .dashboard-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-row        { grid-template-columns: 1fr; }
  .dashboard-row.wide-left { grid-template-columns: 1fr; }
  .quick-actions        { grid-template-columns: repeat(4, 1fr); }
  .profile-layout       { grid-template-columns: 1fr; }
  .profile-sidebar      { position: static; }
  .grid-4               { grid-template-columns: repeat(2, 1fr); }
  .topbar-search        { min-width: 160px; }
}

/* ─── Tablet (< 992px) ────────────────────────────────────── */
@media (max-width: 991px) {
  :root {
    --sidebar-w: 260px;
  }

  .sidebar {
    transform: translateX(-100%);
    width: var(--sidebar-w) !important;
  }
  .sidebar.mobile-open {
    transform: translateX(0);
  }
  .main-content {
    margin-left: 0 !important;
  }
  .sidebar-overlay.show { display: block; }

  .topbar { padding: 0 16px; }
  .topbar-search { display: none; }
  .page-body { padding: 18px; }

  .dashboard-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .quick-actions { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-grid.three { grid-template-columns: 1fr; }
  .id-card-container { flex-direction: column; align-items: center; }
}

/* ─── Mobile (< 768px) ────────────────────────────────────── */
@media (max-width: 767px) {
  .page-body { padding: 14px; }
  .topbar { padding: 0 14px; height: 58px; gap: 8px; }
  .topbar-profile .profile-info { display: none; }
  .topbar-breadcrumb .bc-sep,
  .topbar-breadcrumb .bc-item { display: none; }

  .page-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .page-header-right { width: 100%; flex-wrap: wrap; }
  .page-header-right .btn { flex: 1; justify-content: center; }

  .dashboard-stats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .stat-card { padding: 14px; }
  .stat-value { font-size: 20px !important; }
  .stat-icon { width: 42px; height: 42px; font-size: 18px; }

  .quick-actions { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .quick-action-btn { padding: 16px 10px; }
  .quick-action-btn i { font-size: 18px; }

  .card-body { padding: 16px; }
  .card-header { padding: 14px 16px; }

  .profile-stats-mini .val { font-size: 15px; }

  .table-wrap { border-radius: var(--radius); }
  .table th, .table td { padding: 10px 12px; }

  .tab-btn { min-width: 70px; padding: 7px 10px; font-size: 12px; }

  .id-card { width: 290px; }

  .modal-box { max-width: 95%; }
  .modal-body { padding: 16px; }
  .modal-head { padding: 14px 16px; }

  #toastContainer { right: 12px; bottom: 12px; }
  .toast { min-width: 260px; }
}

/* ─── Small Mobile (< 480px) ─────────────────────────────── */
@media (max-width: 479px) {
  .dashboard-stats-grid { grid-template-columns: 1fr; }
  .quick-actions { grid-template-columns: repeat(2, 1fr); }
  .page-header-right { flex-direction: column; }
  .page-header-right .btn { width: 100%; }
  .tab-nav { gap: 2px; }
  .tab-btn { font-size: 11px; padding: 6px 8px; }
  .stat-card { flex-direction: column; text-align: center; gap: 10px; }
  .stat-info .stat-label { text-align: center; }
  .topbar-actions .topbar-btn { width: 34px; height: 34px; }
}

/* ─── Print Styles ────────────────────────────────────────── */
@media print {
  .sidebar, .topbar, .page-header-right,
  .no-print, button { display: none !important; }
  .main-content { margin-left: 0 !important; }
  .page-body { padding: 0 !important; }
  body { background: #FFF !important; }
  .card { box-shadow: none !important; border: 1px solid #E2E8F0 !important; break-inside: avoid; }
  .id-card { box-shadow: none !important; }
  #pageLoader { display: none !important; }
}
