/* ==========================================================================
   Responsive rules
   ========================================================================== */

@media (max-width: 1200px) {
  .stat-grid { grid-template-columns: repeat(3, 1fr); }
  .quick-action-grid { grid-template-columns: repeat(2, 1fr); }
  .calendar-grid { grid-template-columns: repeat(3, 1fr); overflow-x: auto; }
}

@media (max-width: 992px) {
  .two-col-charts { grid-template-columns: 1fr; }
  .activity-quick-grid { grid-template-columns: 1fr; }
  .login-illustration { display: none; }
  .login-stats-row { display: none; }
}

/* Tablet: sidebar auto-collapses (icon-only) */
@media (max-width: 991.98px) {
  .sidebar { width: var(--sidebar-w-collapsed); }
  .sidebar-brand__text, .nav-link-item span, .sidebar-user__text, .sidebar-section-label span { display: none; }
  .nav-link-item { justify-content: center; padding: 12px; }
  .app-main { margin-left: var(--sidebar-w-collapsed); }
  .sidebar-collapse-btn { display: none; }
}

/* Mobile: sidebar becomes off-canvas, hidden by default */
@media (max-width: 767.98px) {
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-action-grid { grid-template-columns: repeat(2, 1fr); }
  .calendar-grid { grid-template-columns: repeat(2, 1fr); }

  .sidebar {
    width: 280px;
    transform: translateX(-100%);
    box-shadow: var(--shadow-lg);
    z-index: 1050;
  }
  .sidebar-brand__text, .nav-link-item span, .sidebar-user__text, .sidebar-section-label span { display: inline !important; }
  .nav-link-item { justify-content: flex-start !important; padding: 11px 14px !important; }
  .sidebar-collapse-btn { display: none; }

  .app-shell.is-mobile-open .sidebar { transform: translateX(0); }
  .app-shell.is-mobile-open .sidebar-backdrop { display: block; }

  .app-main { margin-left: 0 !important; }

  .app-content { padding: 20px 16px 40px; }
  .topbar { padding: 0 16px; }
  .breadcrumb-custom .crumb-path { display: none; }
  .profile-chip .p-name, .profile-chip .p-role { display: none; }
  .profile-chip { padding: 6px; }

  .page-header { flex-direction: column; }
  .filter-bar { flex-direction: column; align-items: stretch; }
  .filter-field { min-width: 100%; }
}

@media (max-width: 575.98px) {
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .stat-card__value { font-size: 22px; }
  .quick-action-grid { grid-template-columns: 1fr; }
  .calendar-grid { grid-template-columns: 1fr; }
  .login-visual { display: none; }
  .login-form-side { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
