    /* ── RESPONSIVE ADAPTABILITY (ALL SCREEN SIZES) ───── */
    /* Tudo no fim do arquivo de propósito: uma regra base declarada depois
       de um @media ganha dele por ordem (era o que travava os cartões do
       Resumo em 4 colunas em qualquer largura). */

    /* 0. Ultrawide */
    @media (min-width: 1700px) {
      :root { --nav-w: 264px; }
      .main { padding: 30px 48px 60px; }
    }

    /* 1. Laptop / Notebook Screen (e.g. 1366x768, 1280x800) */
    @media (max-width: 1366px) {
      .top-header { padding: 0 18px; }
      .main { padding: 18px 20px 36px; }
      #view-pendencias .split, #view-matriz .split {
        grid-template-columns: 250px minmax(0, 1fr);
        gap: 12px;
      }
      .co-list { height: calc(100vh - 154px); max-height: calc(100vh - 154px); }
      .co-list li { padding: 12px 14px 12px 18px; }
      .co-hd-inner { padding: 14px 16px; }
    }

    /* 2. Compact Desktop / Half-Screen Windows (1024px - 1160px) */
    @media (max-width: 1160px) {
      .fx-item { grid-template-columns: 26px 1fr minmax(190px, 240px); }
      .fx-origem { grid-column: 2 / -1; justify-content: flex-start; }
      #view-pendencias .split, #view-matriz .split {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 12px;
      }
      .pd-hd-main {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
      }
      .pd-hd-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
      }
      .pd-chips-group { width: 100%; }
      .pd-acoes { width: 100%; }
      .kpi-grid-4 { grid-template-columns: repeat(2, 1fr); }
    }

    /* 3. Tablet / Narrow Desktop (max 960px) */
    @media (max-width: 960px) {
      .shell { flex-direction: column; }
      .sidebar {
        width: 100%; height: auto; position: static;
        flex-direction: row; align-items: center; justify-content: space-between;
        padding: 8px 14px; border-right: none; border-bottom: 1px solid var(--ink-line);
      }
      .sidebar .brand { padding: 0; border-bottom: none; }
      .brand .mark { width: 32px; height: 32px; }
      .sidebar-footer { display: none; }
      .nav {
        flex-direction: row; overflow-x: auto; padding: 0; gap: 4px;
        scrollbar-width: none;
      }
      .nav-label { display: none; }
      .nav-item {
        width: auto; min-width: 64px; padding: 6px 8px; flex-shrink: 0;
        border-radius: 8px;
      }
      .nav-item svg { width: 22px; height: 22px; }
      .nav-ico { width: 24px; height: 24px; }
      .top-header { height: 52px; padding: 0 14px; box-shadow: none; }
      .co-detail .co-hd { top: 52px; }
      .lp-empresa-row { font-size: var(--fs-md); }
      .main { padding: 14px 12px 32px; }
      .kpi-grid { grid-template-columns: 1fr; }
      #view-pendencias .split, #view-matriz .split {
        grid-template-columns: 1fr;
      }
      #view-pendencias .co-list, #view-matriz .co-list {
        display: none;
      }
      .co-select {
        display: block;
        margin-bottom: 12px;
      }
      .cat-custom-list { grid-template-columns: 1fr; }
    }

    /* 4. Mobile / Smart Phone (max 640px) */
    @media (max-width: 640px) {
      .top-btn span { display: none; }
      .top-btn { padding: 8px 10px; }
      .top-actions { gap: 6px; }
      .kpi-grid-4 { grid-template-columns: 1fr; }
      .pd-chips-group { justify-content: space-between; }
      .mat-toolbar { flex-direction: column; align-items: stretch; }
      .mat-toolbar .subtabs { width: 100%; overflow-x: auto; }
      .doc-setor { display: none; }
    }

    @media (max-width: 520px) {
      .head-meta { gap: 10px; }
      .head-meta .meta-item.hide-xs { display: none; }
    }

