/* ═══════════════════════════════════════════════════════════════════
   Cuarenta 40 · Reglas responsive (breakpoints).

   IMPORTANTE: este módulo se enlaza el ÚLTIMO en base.html (después de
   layout.css, components.css, toasts.css y utilities.css). Las media queries
   redefinen propiedades de selectores declarados en esos módulos (p. ej.
   .c-sidebar y .c-topbar viven en layout.css). Como tienen la misma
   especificidad, debe ganar el que se cargue después: por eso el responsive
   va aquí, al final, y no en base.css.
   ═══════════════════════════════════════════════════════════════════ */

/* Tablet: stats a 2 columnas, menos padding */
@media (max-width: 1100px) {
  .c-stats { grid-template-columns: repeat(2, 1fr); }
  .c-main { padding: 26px 24px; }
}

/* Móvil: sidebar off-canvas + topbar */
@media (max-width: 820px) {
  .c-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: var(--ink-800);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 30;
  }
  .c-topbar__menu {
    width: 40px; height: 40px;
    display: grid; place-items: center;
    border-radius: var(--r-sm);
    background: var(--ink-700);
    border: 1px solid var(--border);
    color: var(--text);
    font-size: 19px;
    cursor: pointer;
  }

  .c-control-wrap { flex-direction: column; }

  .c-sidebar {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    height: 100dvh;
    transform: translateX(-100%);
    transition: transform .26s cubic-bezier(.2,.8,.2,1);
    box-shadow: var(--shadow-lg);
    width: 280px;
  }
  .c-sidebar.open { transform: translateX(0); }

  .c-main { padding: 20px 16px; }

  .c-page-title { font-size: 20px; }
}

/* Móvil pequeño: stats apiladas */
@media (max-width: 520px) {
  .c-stats { grid-template-columns: 1fr; gap: 12px; }
  .c-main { padding: 16px 13px; }
  .c-page-head { margin-bottom: 20px; }
  .c-toast-stack { left: 12px; right: 12px; width: auto; }
}

@media (max-width: 640px) {
  .c-card--accent .u-grid-4.u-stat-grid-divider {
    grid-template-columns: repeat(2, 1fr);
  }
}