 :root {
    --azul-escuro: #00406F;
    --azul-claro:  #0072C5;
    --dourado:     #E2B259;
    --branco:      #ffffff;
    --cinza-linha: #dce6ef;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  .tabela {
    font-family: 'IBM Plex Sans', sans-serif;
    background: #ffffff;
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  h2{
    color: #002A46;
    text-align: center;
    font-family: "IBM Plex Sans";
    font-size: 38px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.38px;
    text-transform: uppercase;
  }

  .wrapper {
    max-width: 1140px;
    margin: 0 auto;
    border-radius: 2px;
    overflow: hidden;
  }
  
  table {
    width: 1140px;
    max-width: 100%;
    border: 4px solid var(--dourado);
    border-collapse: collapse;
  }

  @media (max-width: 1140px) {
    .tabela{
      padding: 40px 20px;
    }
    .wrapper {
      overflow: scroll;
      max-height: 90vh;
      max-width: 100%;
    }
    table {
      overflow-x: auto;
      width: 90%;
    }
  }

    thead th:nth-child(1), tbody td:nth-child(1) { width: 15%; min-width: 130px; }
  thead th:nth-child(2), tbody td:nth-child(2) { width: 45%; min-width: 260px; }
  thead th:nth-child(3), tbody td:nth-child(3) { width: 28%; min-width: 180px; }
  thead th:nth-child(4), tbody td:nth-child(4) { width: 12%; min-width: 80px;  }

  /* ── HEADER ── */
  thead th {
    background: var(--azul-escuro);
    color: var(--branco);
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 0.24px;
    text-transform: uppercase;
    padding: 13px 16px;
    text-align: left;
    border-right: 4px solid var(--dourado);
  }
  thead th:last-child { border-right: none; }
  @media (max-width: 600px) {
    thead th{
      font-size: 18px;
    }
  }

  tbody tr.row-data td {
    font-size: 13px;
    padding: 7px 16px;
    vertical-align: top;
    border-right: 4px solid var(--dourado);
  }
  tbody tr.row-data td:last-child { border-right: none; }

  .bg-white{
    background-color: var(--branco);
    color: var(--azul-escuro);
  }
  .bg-blue{
    background-color: var(--azul-escuro);
    color: var(--branco);
  }

  @media (max-width: 600px) {
    tbody tr.row-data td {
    font-size: 13px;
    padding: 4px 10px;
  }
  }

  .mod-label-white {
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.16px;
  }
  .mod-label-blue {

    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.16px;
  }


  /* ── TOTAL ROW ── */
  tr.row-total td {
    background: var(--azul-claro);
    color: var(--branco);
    font-weight: 600;
    font-size: 12.5px;
    padding: 6px 16px;
    border-right: 4px solid var(--dourado);
  }
  tr.row-total td:last-child { border-right: none; }
  tr.row-total .total-label  { text-align: left; padding-right: 6px; }

  tr.row-grand td {
    background: var(--dourado);
    color: var(--branco);
    font-weight: 700;
    font-size: 13px;
    padding: 10px 16px;
  }
  tr.row-grand td:last-child { border-right: none; }
  tr.row-grand .grand-label  { text-align: right; padding-right: 6px; }

  .btn-back{
    color: #FFF;
    text-align: center;
    font-family: "IBM Plex Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.24px;
    text-transform: uppercase;
    text-decoration: none;

    background: #E2B259;
    padding: 20px 40px;

    
    outline: 2px solid #ffffff;
    outline-offset: -10px;
  }
  .btn-back:hover{
    background: #c09648;
    outline-offset: -8px;
    transition: all 0.3s ease;
  }


