/* ══════════════════════════════════════════════════════════════
   Coach do Concurseiro — Responsividade
   Breakpoints: sm=576 md=768 lg=992 xl=1200
   ══════════════════════════════════════════════════════════════ */

/* ── Overlay da Sidebar (mobile) ─────────────────────────────── */
.sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(13,27,75,0.55);
  z-index: calc(var(--z-sidebar) - 1);
}

/* ── XL: Sidebar recolhida via toggle ────────────────────────── */
@media (max-width: 1200px) {
  :root { --sidebar-width: 220px; }
}

/* ── LG ──────────────────────────────────────────────────────── */
@media (max-width: 992px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }

  .page-wrapper { padding: var(--space-6); }
}

/* ── MD: Sidebar vira drawer ─────────────────────────────────── */
@media (max-width: 768px) {
  /* Sidebar como drawer fora da tela */
  .sidebar {
    transform: translateX(-100%);
    width: var(--sidebar-width) !important;
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .sidebar-overlay.visible {
    display: block;
  }

  /* Conteúdo ocupa tela toda */
  .app-content {
    margin-left: 0 !important;
  }

  /* Topbar mostra botão hamburguer */
  .topbar {
    padding: 0 var(--space-4);
  }

  /* Grid para coluna única */
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }

  .page-wrapper { padding: var(--space-4); }

  .page-title { font-size: var(--text-xl); }

  /* Modal fullscreen em mobile */
  .modal {
    max-width: 100%;
    max-height: 100%;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    margin-top: auto;
  }

  .modal-overlay { align-items: flex-end; padding: 0; }

  /* Tabela scroll horizontal */
  .table-wrap { -webkit-overflow-scrolling: touch; }

  /* Topbar breadcrumb simplificado */
  .topbar-breadcrumb .breadcrumb-sep,
  .topbar-breadcrumb a:not(:last-child) { display: none; }

  /* Botões empilhados */
  .modal-footer {
    flex-direction: column-reverse;
  }

  .modal-footer .btn { width: 100%; justify-content: center; }
}

/* ── SM ──────────────────────────────────────────────────────── */
@media (max-width: 576px) {
  .grid-4 { grid-template-columns: 1fr; }
  .stat-card { padding: var(--space-4); }
  .card { padding: var(--space-4); }

  .btn-group {
    flex-direction: column;
    width: 100%;
  }

  .btn-group .btn {
    border-radius: var(--radius-md) !important;
    margin: 0;
  }

  /* Oculta colunas secundárias de tabela */
  .table .col-hide-sm { display: none; }
}

/* ── Print ───────────────────────────────────────────────────── */
@media print {
  .sidebar, .topbar, .toast-container { display: none !important; }
  .app-content { margin-left: 0 !important; }
  .page-wrapper { padding: 0; }
  .card { box-shadow: none; border: 1px solid #e2e8f0; }
}
