    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: Arial, Helvetica, sans-serif;
      
    }

    /* body {
      background-color: #f8f9fa;
      padding: 20px;
      display: flex;
      justify-content: center;
    } */

    .table-container {
      overflow-x: auto;
      max-width: 100%;
       display: flex;
    }

    .plans-table {
      border-collapse: separate;
      border-spacing: 4px 3px;
      text-align: center;
      font-size: 16px;
    }

    /* Célula lateral vertical */
    .vertical-header {
/*      background-color: #7a1d60;*/
      background-image: linear-gradient(to top, #D5CC94 0%, #A5884B 100%);
      color: #fff;
      font-weight: bold;
      text-align: center;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      padding: 10px 5px;
      border-radius: 6px;
      font-size: 15px;
      letter-spacing: 1px;
      /* Adicionado sombra de texto para melhor legibilidade no fundo claro */
      text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
    }

    /* Cabeçalhos Principais (Linha Topo) */
    .header-main {
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      padding: 10px;
      border-radius: 12px;
      box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.2);
    }

    .dark {
      background: linear-gradient(180deg, #595959 0%, #3a3a3a 100%);
    }

    .gold {
      background: linear-gradient(180deg, #c3a137 0%, #a48220 100%);
    }

    .green {
      background: linear-gradient(180deg, #48b846 0%, #298a28 100%);
    }

    .orange {
      background: linear-gradient(180deg, #e67324 0%, #bd4f04 100%);
    }

    .relative {
      position: relative;
    }

    /* Tag NOVO */
    .badge-novo {
      position: absolute;
      top: -8px;
      left: -8px;
      background-color: #93228d;
      color: white;
      font-size: 10px;
      font-weight: bold;
      padding: 6px 10px;
      transform: rotate(-25deg);
      border-radius: 3px;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    }

    /* Sub-cabeçalhos (Eletivo, Urgência, etc.) */
    .sub-header {
      padding: 6px;
      font-weight: bold;
    }

    .dark-sub {
      background-color: #797979;
      color: #fff;
      border-radius: 4px;
    }

    .gold-sub {
      background-color: #d1b452;
      color: #fff;
    }

    .green-sub {
      background-color: #55be53;
      color: #fff;
    }

    .orange-sub {
      background-color: #eb7a2b;
      color: #fff;
    }

    .gold-dark {
      background-color: #92751f;
      color: #fff;
    }

    .green-dark {
      background-color: #1a7844;
      color: #fff;
    }

    .orange-dark {
      background-color: #a44007;
      color: #fff;
    }

    .ans-code {
      font-size: 11px;
      padding: 4px;
    }

    /* Estilo das linhas de valores */
    .age-group {
      font-weight: bold;
      background-color: #fbf9e6;
      color: #000;
      padding: 6px;
      white-space: nowrap;
    }

    .row-even {
      background-color: #ffffff;
    }

    .row-odd {
      background-color: #f7f9e8;
    }

    .plans-table td {
      padding: 6px 10px;
    }

    .price {
      color: #2b2b2b;
      white-space: nowrap;
    }  