    :root {
      --senado-azul: #174c74;
      --senado-marinho: #005b9e;
      --texto: #424242;
      --borda: #dce2e6;
    }

    /* Base */
    body {
      margin: 0;
      color: var(--texto);
      background: #fff;
      font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      font-size: 16px;
      font-weight: 400;
      line-height: 1.4;
    }

    a { color: var(--senado-azul); }
    a:focus:not(:focus-visible) {outline: none;}


    /* Margin */
    .mt-0 { margin-top: 0; }
    .mt-1 { margin-top: 4px; }
    .mt-2 { margin-top: 8px; }
    .mt-3 { margin-top: 16px; }
    .mt-4 { margin-top: 24px; }
    .mt-5 { margin-top: 48px; }

    .mb-0 { margin-bottom: 0; }
    .mb-1 { margin-bottom: 4px; }
    .mb-2 { margin-bottom: 8px; }
    .mb-3 { margin-bottom: 16px; }
    .mb-4 { margin-bottom: 24px; }
    .mb-5 { margin-bottom: 48px; }

    /* Padding */
    .p-0 { padding: 0; }
    .p-1 { padding: 4px; }
    .p-2 { padding: 8px; }
    .p-3 { padding: 16px; }
    .p-4 { padding: 24px; }
    .p-5 { padding: 48px; }

    /* Horizontal */
    .px-3 {
      padding-left: 16px;
      padding-right: 16px;
    }

    /* Vertical */
    .py-3 {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .py-5 {
      padding-top: 25px;
      padding-bottom: 25px;
    }    

    /* Backgrounds institucionais */
    .bg-primary   { background-color: #00315c; }
    .bg-secondary { background-color: #00569a; }
    .bg-dark      { background-color: #192f59; }
    .bg-light     { background-color: #f7f7f7; }
    .bg-white     { background-color: #ffffff; }
    .bg-transparent { background-color: transparent; }

    /* Backgrounds semânticos */
    .bg-success { background-color: #dff0d8; }
    .bg-info    { background-color: #d9edf7; }
    .bg-warning { background-color: #fcf8e3; }
    .bg-danger  { background-color: #f2dede; }

    /* Escala de azul do Senado */
    .bg-blue-50  { background-color: #dee8ff; }
    .bg-blue-100 { background-color: #bcd2ff; }
    .bg-blue-200 { background-color: #69a7ff; }
    .bg-blue-300 { background-color: #007edd; }
    .bg-blue-400 { background-color: #00569a; }
    .bg-blue-500 { background-color: #00315c; }
    .bg-blue-600 { background-color: #00294e; }
    .bg-blue-700 { background-color: #002040; }
    .bg-blue-800 { background-color: #001832; }
    .bg-blue-900 { background-color: #000e22; }
    .bg-blue-950 { background-color: #000816; }

    /* Cores de texto */
    .text-white       { color: #ffffff; }
    .text-black       { color: #000000; }
    .text-dark        { color: #212529; }
    .text-light       { color: #f7f7f7; }
    .text-gray        { color: #747474; }
    .text-secondary   { color: #656565; }

    /* Cores institucionais */
    .text-senado      { color: #00315c; }
    .text-senado-dark { color: #192f59; }

    /* Escala de azul do Senado */
    .text-blue-50  { color: #dee8ff; }
    .text-blue-100 { color: #bcd2ff; }
    .text-blue-200 { color: #69a7ff; }
    .text-blue-300 { color: #007edd; }
    .text-blue-400 { color: #00569a; }
    .text-blue-500 { color: #00315c; }
    .text-blue-600 { color: #00294e; }
    .text-blue-700 { color: #002040; }
    .text-blue-800 { color: #001832; }
    .text-blue-900 { color: #000e22; }
    .text-blue-950 { color: #000816; }