/* PMS2 domain responsive — boards, sprint, cost, timeline */
.board, .kanban, .timeline-wrap, .gantt-wrap, .cost-table-wrap {
  min-width: 0;
}

@media (max-width: 1023px) {
  .hub-grid, .proj-grid, .epic-grid, .cost-grid, .cost-kpis,
  .metrics-4, .metrics-5, .kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .backlog-layout, .ticket-layout, .inbox-layout, .proj-split,
  .client-layout, .fields-layout {
    grid-template-columns: 1fr !important;
  }
  .proj-toolbar, .board-toolbar { flex-wrap: wrap; gap: 8px; }
  .top-cap { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .prow {
    grid-template-columns: 32px minmax(0, 1fr) minmax(120px, 1.2fr) auto !important;
  }
}

@media (max-width: 767px) {
  .hub-grid, .proj-grid, .epic-grid, .cost-grid, .cost-kpis,
  .metrics-4, .metrics-5, .kpi-strip, .stat-tiles, .top-cap {
    grid-template-columns: 1fr 1fr !important;
  }
  .board, .kanban {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 12px;
  }
  .board-col, .kcol, .col {
    flex: 0 0 min(280px, 86vw);
  }
  .timeline-wrap, .gantt-wrap, .table-wrap, .cost-table-wrap,
  .track-hdr, .track-scroll, .capacity-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .prow {
    grid-template-columns: 32px minmax(0, 1fr) auto !important;
    gap: 10px;
  }
  .prow .track { grid-column: 1 / -1; min-width: 280px; }
  .side-panel, .detail-pane, .ticket-drawer {
    width: 100% !important;
    max-width: 100vw !important;
  }
  .search[style*="width"] {
    width: 100% !important;
    max-width: 100% !important;
  }
}
