/* === RESPONSIVE === */
@media (max-width: 1024px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-close { display: block; }
  .main-content.with-sidebar { margin-left: 0; }
  .hamburger { display: block; }
  .top-bar-brand { display: flex; align-items: center; gap: 0.4rem; }
  .page-wrapper { padding: 1.25rem; }
  .form-row { grid-template-columns: 1fr; }
  .form-row-3 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
  .auth-left { display: none; }
  .auth-right { flex: none; width: 100%; }
  .landing-hero h1 { font-size: 2.5rem; }
  .pro-cards { grid-template-columns: 1fr; }
  .lead-cards { grid-template-columns: 1fr; }
  .project-cards { grid-template-columns: 1fr; }
  .profile-header { flex-direction: column; text-align: center; }
}

@media (max-width: 640px) {
  .page-wrapper { padding: 1rem; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .stat-value { font-size: 1.4rem; }
  .page-header { flex-direction: column; align-items: flex-start; }
  .page-header h1 { font-size: 1.25rem; }
  .hero-btns { flex-direction: column; width: 100%; max-width: 300px; }
  .hero-btns .btn { width: 100%; }
  .landing-hero h1 { font-size: 1.8rem; }
  .landing-hero p { font-size: 0.95rem; }
  .section-title { font-size: 1.5rem; }
  .features-grid { grid-template-columns: 1fr; }
  .role-selector { grid-template-columns: 1fr; }
  .pipeline { overflow-x: auto; padding-bottom: 0.5rem; }
  .pipeline-step { min-width: 70px; }
  .msg-bubble { max-width: 90%; }
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .chart-bars { height: 120px; }
  .tabs { overflow-x: auto; }
  .tab-btn { white-space: nowrap; padding: 0.6rem 0.85rem; font-size: 0.78rem; }
  .top-bar { padding: 0.65rem 1rem; }
  .filter-bar { flex-direction: column; align-items: stretch; }
  .filter-bar select { width: 100%; }
  table { font-size: 0.78rem; }
  th, td { padding: 0.5rem 0.65rem; }
}

/* Sidebar overlay on mobile */
@media (max-width: 1024px) {
  .sidebar-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 99;
    display: none;
  }
  .sidebar-overlay.show { display: block; }
}

/* Smooth scroll on touch */
@media (hover: none) {
  .table-wrap, .msg-container, .notif-list {
    -webkit-overflow-scrolling: touch;
  }
}
