﻿@media screen {
  :root {
    --dpe-green-900: #133c28;
    --dpe-green-800: #146c3a;
    --dpe-green-700: #168245;
    --dpe-green-600: #168245;
    --dpe-mint-100: #eaf6ee;
    --dpe-mint-050: #f5fbf7;
    --dpe-ink: #111111;
    --dpe-muted: #5b6b62;
    --dpe-line: #d8e7dd;
    --dpe-panel: #ffffff;
  }

  html {
    background: #f3f8f5;
  }

  body {
    background: #f3f8f5 !important;
    color: #061d1a;
    font-family: Roboto, Arial, sans-serif !important;
  }

  .bg-light {
    align-items: center;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(12px);
    border: 0 !important;
    border-bottom: 1px solid rgba(19, 122, 70, 0.14) !important;
    box-shadow: 0 8px 22px rgba(21, 61, 42, 0.08);
    min-height: 76px;
    padding: 3px 42px 3px 32px !important;
    transition: all 0.3s ease-in-out !important;
  }

  .navbar-brand {
    align-items: center;
    display: flex;
    flex: 0 0 104px;
    gap: 0;
    min-height: 70px;
    min-width: 104px;
    text-decoration: none !important;
    padding: 0 !important;
  }

  .navbar-brand img {
    content: url("../images/dpe-pa-logo.svg?v=20260617-25");
    display: block;
    background: transparent;
    border-radius: 0;
    height: 70px;
    max-width: none;
    object-fit: contain;
    object-position: left center;
    transform: translateX(-4px);
    width: 104px !important;
  }

  .navbar-brand__text {
    display: none !important;
  }

  .navbar-brand__text-line {
    display: block;
    text-align: left;
  }

  .navbar-collapse {
    align-items: center;
    flex-grow: 1;
    justify-content: flex-end;
    min-width: 0;
  }

  .navbar-nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    margin-left: auto;
    min-width: 0;
    transform: translateX(16px);
  }

  .navbar-nav > a,
  .navbar-nav > a:hover,
  .navbar-nav > a:focus,
  .navbar-nav > a:active {
    border: 0 !important;
    color: inherit !important;
    display: inline-flex;
    text-decoration: none !important;
  }

  .navbar-dark .navbar-nav .nav-link {
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
    margin-left: 0;
    padding: 10px 10px !important;
    position: relative !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.16s ease, color 0.16s ease;
  }

  .navbar-dark .navbar-nav .nav-link:hover,
  .navbar-dark .navbar-nav .nav-link:focus {
    background: rgba(255, 255, 255, 0.12);
    color: #fff !important;
  }

  body.theme-dark .navbar-dark .navbar-nav .nav-link:after,
  body.theme-light .navbar-dark .navbar-nav .nav-link:after {
    background: #27d16f;
    border-radius: 999px;
    bottom: 3px;
    content: "";
    height: 3px;
    left: 0 !important; /* Ajustado para ficar mais perto do texto */
    opacity: 0;
    position: absolute;
    right: 0 !important; /* Ajustado para ficar mais perto do texto */
    transform: scaleX(0.35);
    transition: opacity 0.16s ease, transform 0.16s ease;
  }

  .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.38) !important;
    border-radius: 8px;
    min-height: 42px;
  }

  .intro {
    align-items: center;
    /* Base styles for .intro, will be overridden by .landing-refresh */
    display: flex;
    opacity: 0;
    padding: 58px 0 76px;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0s linear 0.22s;
  }

  .intro.landing-refresh {
    opacity: 1 !important;
    visibility: visible !important;
    transition-delay: 0s;
  }

  .ini-title {
    color: #061d1a;
    font-size: 58px;
    font-weight: 900;
    line-height: 1.02;
    margin: 0 0 16px;
    padding-top: 0 !important;
    text-align: left;
    text-shadow: 0 10px 32px rgba(0, 0, 0, 0.24);
  }

  .ini-subtitle {
    color: #24352c;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.55;
    margin: 0;
    max-width: 620px;
    text-align: left;
  }

  .buttons {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    justify-content: flex-start;
    margin-top: 4px;
    width: min(100%, 760px);
  }

  .buttons a {
    flex: 1 1 0;
    min-width: 0;
    text-decoration: none !important;
  }

  .intro .buttons a {
  .dpe-btn {
    background: linear-gradient(180deg, #168245, #0d6934) !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-shadow: 0 10px 18px rgba(12, 91, 45, 0.24) !important;
    color: #ffffff !important;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    min-height: 48px;
    min-width: 0;
    padding: 12px 18px;
    transition: box-shadow 0.16s ease, transform 0.16s ease, background 0.16s ease;
    width: 100%;
  }

  .dpe-btn:hover,
  .dpe-btn:focus {
    background: linear-gradient(180deg, #1a9250, #0f733a) !important;
    box-shadow: 0 12px 22px rgba(12, 91, 45, 0.28) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
  }

  .App {
    background: #f4f7f5;
  }

  .App > header {
    background: #ffffff;
    border-bottom: 1px solid var(--dpe-line);
    box-shadow: 0 10px 26px rgba(21, 61, 42, 0.08);
    padding: 26px 24px 22px !important;
  }

  .logodpe {
    height: 118px !important;
    margin: 0 0 10px !important;
    max-width: 100%;
    object-fit: contain;
    width: auto;
  }

  .App-title {
    color: var(--dpe-ink) !important;
    font-size: 28px !important;
    font-weight: 900;
    line-height: 1.18;
    margin: 0;
  }

  .App > br,
  .App > div > br {
    display: none;
  }

  .inputs {
    background: var(--dpe-panel);
    border: 1px solid var(--dpe-line);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(21, 61, 42, 0.10);
    margin: 28px 20px 24px;
    padding: 24px 22px 12px !important;
    width: auto;
  }

  .inputs .row {
    row-gap: 24px;
  }

  .inputs .row > p:empty {
    display: none;
  }

  .inputs .row > [class*="col-"] {
    margin-bottom: 0;
  }

  .inputs .text-left {
    color: var(--dpe-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.02em;
    margin-bottom: 7px;
    text-transform: uppercase;
  }

  .inputs .form-control {
    background-color: #fbfdfc;
    border: 1px solid #cfe0d5;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--dpe-ink);
    font-size: 15px;
    min-height: 46px;
    padding: 10px 12px;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
  }

  .inputs .form-control:focus,
  .inputs .custom-select:focus {
    background-color: #fff;
    border-color: var(--dpe-green-700);
    box-shadow: 0 0 0 3px rgba(22, 130, 69, 0.14) !important;
    outline: none;
  }

  .inputs .form-control,
  .inputs .custom-select {
    min-height: 52px;
    padding: 12px 16px;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
  }

  .inputs select:focus,
  .inputs .custom-select:focus {
    border-color: var(--dpe-green-700);
    box-shadow: 0 0 0 3px rgba(22, 130, 69, 0.14) !important;
  }

  .inputs select option:checked,
  .inputs select option:focus,
  .inputs select option:hover,
  .inputs .custom-select option:checked,
  .inputs .custom-select option:focus,
  .inputs .custom-select option:hover {
    color: var(--dpe-ink) !important;
    background-color: rgba(22, 130, 69, 0.16) !important;
  }

  .inputs select option:hover,
  .inputs .custom-select option:hover {
    background-color: rgba(22, 130, 69, 0.08) !important;
  }

  .inputs select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
  }

  .inputs .input-group-text {
    background: var(--dpe-mint-100);
    border-color: #cfe0d5;
    color: var(--dpe-green-900);
    font-weight: 900;
    min-height: 46px;
  }

  .inputs .input-group .form-control {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
  }

  .inputs .input-group-prepend:empty + .form-control {
    border-bottom-left-radius: 8px !important;
    border-top-left-radius: 8px !important;
  }

  .inputs .input-group-prepend .input-group-text {
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
  }

  .inputs .input-group-append .input-group-text {
    border-bottom-right-radius: 8px;
    border-top-right-radius: 8px;
  }

  .botao {
    margin-top: 16px !important;
  }

  .inputs .btn-primary {
    background: var(--dpe-green-700) !important;
    border: 1px solid var(--dpe-green-700) !important;
    border-radius: 8px !important;
    box-shadow: 0 14px 26px rgba(19, 122, 70, 0.22);
    font-size: 15px;
    font-weight: 900;
    min-height: 50px;
    text-transform: uppercase;
    transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
  }

  .inputs .btn-primary:hover,
  .inputs .btn-primary:focus {
    background: var(--dpe-green-800) !important;
    box-shadow: 0 16px 30px rgba(19, 122, 70, 0.28);
    transform: translateY(-1px);
  }

  .react-datepicker {
    border-color: var(--dpe-line);
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(21, 61, 42, 0.14);
    font-family: Roboto, Arial, sans-serif;
    overflow: hidden;
  }

  .react-datepicker__header {
    background: var(--dpe-mint-100);
    border-bottom-color: var(--dpe-line);
  }

  .react-datepicker__close-icon:after {
    background-color: var(--dpe-green-700);
    color: #fff;
    transition: background-color 0.16s ease;
  }

  .react-datepicker__close-icon:hover:after,
  .react-datepicker__close-icon:focus:after {
    background-color: var(--dpe-green-800);
  }

  .react-datepicker__day--keyboard-selected,
  .react-datepicker__day--selected,
  .react-datepicker__day--in-range {
    background-color: var(--dpe-green-700);
    color: #fff;
  }

  .main-footer {
    color: rgba(245, 255, 249, 0.76);
    min-height: 58px;
    padding: 14px 24px;
    transition: all 0.3s ease-in-out !important;
  }

  .footer-title {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    max-width: 1100px;
  }

    .navbar-brand img {
      height: 52px;
    }

    .navbar-dark .navbar-nav .nav-link {
      margin-left: 0;
      margin-top: 0;
      padding-left: 2px !important;
      width: auto;
    }

    .navbar-nav {
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      margin-left: auto;
      padding-top: 0;
    }

    .intro-container {
      padding: 0 24px;
    }


  @media (max-width: 767px) {
    .intro {
      background-image:
        linear-gradient(180deg, rgba(8, 19, 27, 0.28), rgba(8, 19, 27, 0.10) 42%, rgba(8, 19, 27, 0.18)),
        url("../images/logo mobile.png") !important;
      min-height: calc(100vh - 78px) !important;
      padding: 48px 0 50px !important;
    }

    .ini-subtitle {
      font-size: 16px;
    }

    .buttons {
      flex-direction: column;
      width: 100%;
    }

    .navbar-nav {
      align-items: stretch;
      flex-wrap: wrap;
      gap: 0;
      margin-left: 0;
      padding-top: 8px;
      width: 100%;
    }

    .navbar-nav > a {
      width: 100%;
    }

    .navbar-dark .navbar-nav .nav-link {
      margin-top: 6px;
      padding-left: 12px !important;
      width: 100%;
    }

    .dpe-btn {
      width: 100%;
    }

    .App > header {
      padding: 22px 16px 18px !important;
    }

    .logodpe {
      height: 98px !important;
    }

    .App-title {
      font-size: 22px !important;
    }

    .inputs {
      margin: 18px 14px 20px;
      padding: 20px 14px 10px !important;
    }

    .inputs .form-control,
    .inputs .input-group-text {
      min-height: 44px;
    }
  }
}

@media screen {
  .bg-light {
    min-height: 72px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .navbar-brand {
    min-height: 72px !important;
  }

  .navbar-brand img {
    height: 64px !important;
    width: 96px !important;
  }

  .intro.landing-refresh {
    background-color: #f4f8f6 !important;
    background-image: url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-position: center !important;
    background-size: cover !important;
    min-height: calc(100vh - 72px) !important;
    padding: 0 !important;
    position: relative;
  }

  .intro.landing-refresh::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0.94) 0%,
      rgba(246,250,248,0.84) 45%,
      rgba(8,47,38,0.35) 100%
    ) !important;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
  }

  .landing-shell {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: 1440px !important;
    min-height: calc(100vh - 72px) !important;
    padding: 48px 0 36px !important;
    position: relative !important;
    width: 100% !important;
    z-index: 1 !important;
  }

  .landing-glass-card {
    align-self: flex-start !important;
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.66) !important;
    border: 1px solid rgba(255, 255, 255, 0.80) !important;
    border-radius: 18px !important;
    box-shadow: 0 26px 58px rgba(21, 61, 42, 0.14) !important;
    box-sizing: content-box !important;
    margin-left: 7vw !important;
    max-width: 620px !important;
    min-height: 420px !important;
    padding: 48px !important;
    position: relative !important;
    transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, color 0.35s ease !important;
    width: 620px !important;
    z-index: 2 !important;
  }

  .landing-glass-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  .landing-glass-card:hover {
    transform: translateY(-4px) !important; /* Suavizado */
    box-shadow: 0 15px 30px rgba(21, 61, 42, 0.15) !important; /* Sombra mais suave */
    border-color: rgba(255, 255, 255, 0.95) !important; /* Mantido */
    background: rgba(255, 255, 255, 0.75) !important; /* Mantido */
    z-index: 3 !important; /* Mantido */
  }


  .landing-refresh .ini-title {
    color: #082f26 !important;
    font-size: clamp(42px, 4vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    margin-bottom: 18px !important;
    text-shadow: none !important;
  }

  .landing-refresh .buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    margin-top: 28px !important;
    width: 100% !important;
  }

  .landing-refresh .buttons a {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .landing-refresh .dpe-btn {
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    height: 54px !important;
    min-height: 54px !important;
    min-width: 170px !important;
    overflow: visible !important;
    padding: 0 20px !important;
    white-space: nowrap !important;
  }

  .landing-watermark {
    display: block !important;
    opacity: 0.28 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 7vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: min(42vw, 720px) !important;
    z-index: 1 !important;
  }

  .landing-watermark img {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
  }

  .landing-feature-grid {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(4, 1fr) !important;
    margin: 40px auto 0 !important;
    max-width: 1200px !important;
    padding: 0 24px !important;
    width: 100% !important;
    z-index: 2 !important;
  }

  .landing-feature-card {
    border-radius: 16px !important;
    box-sizing: border-box !important;
    min-height: 120px !important;
    padding: 24px !important;
  }

  .landing-feature-icon {
    background: rgba(0,132,61,0.10) !important;
    border-radius: 14px !important;
    color: #00843d !important;
    height: 52px !important;
    width: 52px !important;
  }

  @media (max-width: 900px) {
    .landing-watermark {
      display: none !important;
    }

    .landing-shell {
      min-height: auto !important;
      padding: 28px 0 30px !important;
    }

    .landing-glass-card {
      margin-left: 16px !important;
      max-width: none !important;
      min-height: 0 !important;
      width: calc(100% - 32px) !important;
    }

    .landing-refresh .buttons {
      flex-direction: column !important;
    }

    .landing-refresh .buttons a,
    .landing-refresh .dpe-btn {
      width: 100% !important;
    }

    .landing-feature-grid {
      grid-template-columns: 1fr !important;
      margin-top: 24px !important;
      padding: 0 16px !important;
    }
  }

  @media (min-width: 901px) and (max-width: 1190px) {
    .landing-feature-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
}

@media screen {
  .bg-light {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 42px 0 32px !important;
  }

  .navbar-brand {
    min-height: 72px !important;
  }

  .navbar-brand img {
    height: 64px !important;
    width: 96px !important;
  }

  .intro.landing-refresh {
    background-color: #f4f8f6 !important;
    background-image: url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-position: center !important;
    background-size: cover !important;
    min-height: calc(100vh - 72px) !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
  }

  .intro.landing-refresh::before {
    background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(246,250,248,0.84) 45%, rgba(8,47,38,0.35) 100%) !important;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
  }

  .landing-shell {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: 1440px !important;
    min-height: calc(100vh - 72px) !important;
    padding: 48px 0 42px !important;
    position: relative !important;
    width: 100% !important;
    z-index: 1 !important;
  }

  .landing-glass-card {
    align-self: flex-start !important;
    backdrop-filter: blur(20px) !important;
    background: rgba(255, 255, 255, 0.68) !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    border-radius: 18px !important;
    box-shadow: 0 26px 58px rgba(21, 61, 42, 0.14) !important;
    box-sizing: border-box !important;
    margin-left: 7vw !important;
    max-width: none !important;
    min-height: 420px !important;
    padding: 48px !important;
    position: relative !important;
    width: 620px !important;
    z-index: 2 !important;
  }

  .landing-refresh .ini-title {
    color: #082f26 !important;
    font-size: clamp(42px, 4vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    margin-bottom: 18px !important;
    text-shadow: none !important;
  }

  .landing-refresh .ini-subtitle {
    color: #4c5d55 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    max-width: 560px !important;
    text-shadow: none !important;
  }

  .landing-refresh .buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    justify-content: flex-start !important;
    margin-top: 28px !important;
    width: auto !important;
  }

  .landing-refresh .buttons a {
    flex: 0 0 auto !important;
    min-width: 170px !important;
    text-decoration: none !important;
  }

  .landing-refresh .dpe-btn {
    align-items: center !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    font-size: 13px !important;
    gap: 10px !important;
    height: 54px !important;
    justify-content: center !important;
    min-height: 54px !important;
    min-width: 170px !important;
    overflow: visible !important;
    padding: 0 20px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .landing-watermark {
    display: block !important;
    left: auto !important;
    max-width: none !important;
    opacity: 0.28 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 7vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: min(42vw, 720px) !important;
    z-index: 1 !important;
  }

  .landing-watermark img {
    display: block !important;
    height: auto !important;
    max-width: none !important;
    opacity: 1 !important;
    width: 100% !important;
  }

  .landing-shell .landing-watermark + .landing-watermark {
    display: none !important;
  }

  .landing-feature-grid {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(4, 1fr) !important;
    margin: 40px auto 0 !important;
    max-width: 1200px !important;
    padding: 0 24px !important;
    position: relative !important;
    width: 100% !important;
    z-index: 2 !important;
  }

  .landing-feature-card {
    align-items: center !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    min-height: 120px !important;
    padding: 24px !important;
    transition: transform 0.28s ease, box-shadow 0.28s ease, opacity 0.28s ease !important;
  }

  .landing-feature-card:hover {
    transform: translateY(-8px) !important;
  }

  .landing-feature-icon {
    align-items: center !important;
    background: rgba(0,132,61,0.10) !important;
    border-radius: 14px !important;
    color: #00843d !important;
    display: inline-flex !important;
    flex: 0 0 52px !important;
    height: 52px !important;
    justify-content: center !important;
    width: 52px !important;
  }

  .landing-feature-copy strong {
    color: #17362d !important;
    font-size: 16px !important;
  }

  .landing-feature-copy small {
    color: #586861 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  @media (max-width: 900px) {
    .landing-watermark {
      display: none !important;
    }

    .landing-shell {
      min-height: auto !important;
      padding: 28px 0 30px !important;
    }

    .landing-glass-card {
      box-sizing: border-box !important;
      margin-left: 16px !important;
      max-width: none !important;
      min-height: 0 !important;
      padding: 34px 24px !important;
      width: calc(100% - 32px) !important;
    }

    .landing-refresh .buttons {
      flex-direction: column !important;
      gap: 12px !important;
    }

    .landing-refresh .buttons a,
    .landing-refresh .dpe-btn {
      min-width: 0 !important;
      width: 100% !important;
    }

    .landing-feature-grid {
      grid-template-columns: 1fr !important;
      margin-top: 24px !important;
      padding: 0 16px !important;
    }
  }

  @media (min-width: 901px) and (max-width: 1190px) {
    .landing-glass-card {
      box-sizing: border-box !important;
      width: min(620px, calc(100% - 32px)) !important;
    }

    .landing-watermark {
      opacity: 0.16 !important;
      right: 2vw !important;
      width: min(34vw, 460px) !important;
    }

    .landing-feature-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
}

@media screen {
  .bg-light {
    min-height: 72px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .navbar-brand {
    min-height: 72px !important;
  }

  .navbar-brand img {
    height: 64px !important;
    width: 96px !important;
  }

  .intro.landing-refresh {
    background-image: url("../images/background.png") !important; /* Set base background image */
    background-position: center !important;
    background-size: cover !important;
    min-height: calc(100vh - 72px) !important;
    padding: 0 !important;
    position: relative !important;
    isolation: isolate !important; /* Ensure stacking context for pseudo-elements */
  }

  .intro.landing-refresh::before {
    background-image: linear-gradient(
      90deg,
      rgba(248, 252, 250, 0.7) 0%, /* Very light, transparent white/green */
      rgba(240, 248, 245, 0.5) 43%, /* More transparent light green */
      rgba(14, 83, 63, 0.1) 100% /* Very subtle green tint */
    ) !important;
    background-blend-mode: multiply !important; /* Blend with the background-image */
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
  }

  .landing-shell {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    margin: 0 auto !important;
    max-width: 1440px !important;
    min-height: calc(100vh - 72px) !important;
    padding: 48px 0 36px !important;
    position: relative !important;
    width: 100% !important;
    z-index: 1;
  }

  .landing-glass-card {
    align-self: flex-start !important;
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.66) !important;
    border: 1px solid rgba(255, 255, 255, 0.80) !important;
    border-radius: 18px !important;
    box-shadow: 0 26px 58px rgba(21, 61, 42, 0.14) !important;
    box-sizing: border-box !important;
    margin-left: 7vw !important;
    max-width: 620px !important;
    min-height: 420px !important;
    padding: 48px !important;
    position: relative !important;
    width: 620px !important;
    z-index: 2 !important;
  }

  .landing-refresh .ini-title {
    color: #082f26 !important;
    font-size: clamp(42px, 4vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    margin-bottom: 18px !important;
  }

  .landing-refresh .ini-subtitle {
    color: #52645c !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    max-width: 500px !important;
  }

  .landing-refresh .buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    margin-top: 28px !important;
    width: 100% !important;
  }

  .landing-refresh .buttons a {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .landing-refresh .dpe-btn {
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    height: 54px !important;
    min-height: 54px !important;
    min-width: 170px !important;
    overflow: visible !important;
    padding: 0 20px !important;
    white-space: nowrap !important;
  }

  .landing-watermark {
    display: block !important;
    opacity: 0.28 !important;
    pointer-events: none;
    position: absolute !important;
    right: 7vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: min(42vw, 720px) !important;
    z-index: 1 !important;
  }

  .landing-watermark img {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
  }

  .landing-feature-grid {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(4, 1fr) !important;
    margin: 40px auto 0 !important;
    max-width: 1200px !important;
    padding: 0 24px !important;
    width: 100% !important;
    z-index: 2 !important;
  }

  .landing-feature-card {
    border-radius: 16px !important;
    box-sizing: border-box !important;
    min-height: 120px !important;
    padding: 24px !important;
  }

  .landing-feature-icon {
    background: rgba(0,132,61,0.10) !important;
    border-radius: 14px !important;
    color: #00843d !important;
    height: 52px !important;
    width: 52px !important;
  }

  .landing-feature-copy strong {
    font-size: 15px !important;
  }

  .landing-feature-copy small {
    font-size: 13px !important;
  }

  .landing-shell .landing-watermark + .landing-watermark {
    display: none !important;
  }

  @media (max-width: 1190px) {
    .landing-glass-card {
      margin-left: 5vw !important;
      width: min(620px, 52vw) !important;
    }

    .landing-refresh .dpe-btn {
      min-width: 158px !important;
    }
  }

  @media (max-width: 900px) {
    .landing-shell {
      min-height: auto !important;
      padding: 28px 0 30px !important;
    }

    .landing-watermark {
      display: none !important;
    }

    .landing-glass-card {
      margin-left: 16px !important;
      max-width: none !important;
      min-height: 0 !important;
      width: calc(100% - 32px) !important;
    }

    .landing-refresh .buttons {
      flex-direction: column !important;
    }

    .landing-refresh .buttons a,
    .landing-refresh .dpe-btn {
      width: 100% !important;
    }

    .landing-feature-grid {
      grid-template-columns: 1fr !important;
      margin-top: 24px !important;
      padding: 0 16px !important;
    }
  }

  @media (min-width: 901px) and (max-width: 1190px) {
    .landing-feature-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
}

@media screen {
  .intro.landing-refresh {
    align-items: stretch !important;
    background-color: #edf4f0 !important;
    background-image:
      linear-gradient(90deg, rgba(248, 252, 250, 0.84), rgba(248, 252, 250, 0.76)),
      url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-position: center !important;
    background-size: cover !important;
    min-height: calc(100vh - 76px) !important;
    overflow: hidden;
    padding: 44px 0 18px !important;
    position: relative;
  }

  .intro.landing-refresh::before {
    background:
      radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.82), transparent 36%),
      linear-gradient(120deg, rgba(255, 255, 255, 0.46), rgba(218, 234, 226, 0.28));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
  }

  .landing-shell {
    display: grid;
    grid-template-columns: minmax(340px, 560px) minmax(300px, 1fr);
    grid-template-rows: 1fr auto;
    gap: 28px 56px;
    margin: 0 auto;
    max-width: 1180px;
    min-height: calc(100vh - 138px);
    padding: 0 34px;
    position: relative;
    width: 100%;
    z-index: 1;
  }

  .landing-glass-card {
    align-self: center;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 18px;
    box-shadow: 0 24px 54px rgba(21, 61, 42, 0.13);
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    max-width: none !important;
    padding: 36px 40px 34px !important;
  }

  .landing-title-icon,
  .landing-feature-icon {
    align-items: center;
    background: rgba(22, 130, 69, 0.12);
    border-radius: 10px;
    color: #168245;
    display: inline-flex;
    justify-content: center;
  }

  .landing-title-icon {
    height: 44px;
    margin-bottom: 20px;
    width: 44px;
  }

  .landing-title-icon svg,
  .landing-feature-icon svg,
  .landing-button-icon svg {
    fill: none;
    height: 22px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 22px;
  }

  .landing-button-icon {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
  }

  .landing-button-icon svg {
    height: 16px;
    width: 16px;
  }

  .landing-refresh .ini-title {
    color: #10251a !important;
    font-size: 56px !important;
    letter-spacing: 0 !important;
    line-height: 0.98 !important;
    margin: 0 0 18px !important;
    max-width: 470px;
    text-shadow: none !important;
  }

  .landing-refresh .ini-title::after {
    background: #168245;
    border-radius: 999px;
    content: "";
    display: block;
    height: 3px;
    margin-top: 16px;
    width: 40px;
  }

  .landing-refresh .ini-subtitle {
    color: #53655b !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 470px !important;
  }

  .landing-refresh .buttons {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px !important;
    width: 100% !important;
  }

  .landing-refresh .dpe-btn {
    align-items: center;
    background: linear-gradient(180deg, #168245, #0d6934) !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: 0 12px 20px rgba(12, 91, 45, 0.22) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    font-size: 12px !important;
    gap: 8px;
    justify-content: center;
    min-height: 44px;
    padding: 10px 12px !important;
    white-space: nowrap;
  }

  .landing-watermark {
    align-self: center;
    display: flex;
    justify-content: center;
    opacity: 0.28;
    pointer-events: none;
  }

  .landing-watermark img {
    display: block;
    filter: saturate(0.9);
    max-width: 470px;
    width: 100%;
  }

  .landing-feature-grid {
    display: grid;
    gap: 14px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-bottom: 2px;
  }

  .landing-feature-card {
    align-items: center;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.70);
    border-radius: 9px;
    box-shadow: 0 12px 28px rgba(21, 61, 42, 0.10);
    display: flex;
    gap: 14px;
    min-height: 104px;
    padding: 18px;
  }

  .landing-feature-icon {
    flex: 0 0 auto;
    height: 48px;
    width: 48px;
  }

  .landing-feature-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .landing-feature-copy strong {
    color: #10251a;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 5px;
  }

  .landing-feature-copy small {
    color: #53655b;
    font-size: 12px;
    line-height: 1.45;
  }

  body.theme-dark .landing-glass-card,
  body.theme-light .landing-glass-card,
  body.theme-dark .landing-feature-card,
  body.theme-light .landing-feature-card {
    background: rgba(255, 255, 255, 0.72);
    color: #10251a;
  }

  body.theme-dark .landing-refresh .ini-title,
  body.theme-dark .landing-refresh .ini-subtitle,
  body.theme-dark .landing-feature-copy strong,
  body.theme-dark .landing-feature-copy small {
    color: #10251a !important;
  }

  @media (max-width: 991px) {
    .landing-shell {
      grid-template-columns: 1fr;
      min-height: auto;
    }

    .landing-watermark {
      display: none;
    }

    .landing-feature-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 767px) {
    .intro.landing-refresh {
      padding: 22px 0 18px !important;
    }

    .landing-shell {
      gap: 18px;
      padding: 0 16px;
    }

    .landing-glass-card {
      padding: 26px 24px !important;
    }

    .landing-refresh .ini-title {
      font-size: 42px !important;
    }

    .landing-refresh .buttons,
    .landing-feature-grid {
      grid-template-columns: 1fr;
    }
  }
}

@media screen {
  html,
  body,
  #root,
  .App {
    overflow-x: hidden !important;
  }

  body.theme-light .App,
  body.theme-dark .App {
    background: #f4f7f5 !important;
  }

  body.theme-dark .App {
    background: #061d1a !important;
  }

  .calc-parameters-panel {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(15, 72, 43, 0.13) !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 28px rgba(21, 61, 42, 0.10) !important;
    margin: 22px 20px 6px !important;
    padding: 22px 26px 18px !important;
    width: calc(100% - 40px) !important;
  }

  body.theme-dark .calc-parameters-panel {
    background: rgba(8, 43, 36, 0.98) !important;
    border-color: rgba(117, 209, 161, 0.22) !important;
  }

  .calc-panel-heading {
    color: #10251a;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    margin: 0 0 22px;
    min-width: 0;
    padding-left: 0;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(22, 130, 69, 0.1) !important;
    display: flex !important;
    align-items: center !important;
  }

  body.theme-dark .calc-panel-heading {
    color: #f5fff9;
    border-bottom-color: rgba(148, 235, 181, 0.15) !important;
  }

  .calc-panel-heading strong {
    color: inherit !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    min-width: 0;
    text-transform: none !important;
    white-space: normal !important;
  }

  .calc-panel-heading__icon {
    display: inline-flex !important;
    background: rgba(22, 130, 69, 0.08) !important;
    padding: 8px !important;
    border-radius: 8px !important;
    color: #168245 !important;
  }

  .calc-panel-heading svg {
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
  }

  .calc-parameters-panel .row {
    row-gap: 14px !important;
  }

  body.theme-dark .calc-parameters-panel .text-left {
    color: #9af0bd !important;
  }

  body.theme-dark .calc-panel-heading__icon {
    background: rgba(148, 235, 181, 0.12) !important;
    color: #9af0bd !important;
  }

  .calc-parameters-panel .text-left {
    color: var(--dpe-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    opacity: 0.85 !important;
  }

  .calc-parameters-panel .form-control {
    background: #ffffff !important;
    border: 1.5px solid #d1dfd6 !important;
    border-radius: 8px !important;
    color: #10251a !important;
    font-size: 14px !important;
    min-height: 39px !important;
    padding: 8px 14px !important;
    transition: all 0.2s ease !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.02) !important;
  }

  body.theme-dark .calc-parameters-panel .form-control {
    background: #0d352d !important;
    border-color: rgba(117, 209, 161, 0.32) !important;
    color: #f5fff9 !important;
  }

  .calc-parameters-panel .form-control:focus {
    border-color: #168245 !important;
    box-shadow: 0 0 0 3px rgba(22, 130, 69, 0.15) !important;
  }

  .calc-parameters-panel .input-group-text {
    background: #eaf6ee !important;
    border-color: #cddbd2 !important;
    color: #168245 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    min-height: 39px !important;
    min-width: 42px;
    justify-content: center;
  }

  body.theme-dark .calc-parameters-panel .input-group-text {
    background: rgba(39, 209, 111, 0.12) !important;
    border-color: rgba(117, 209, 161, 0.32) !important;
    color: #75d1a1 !important;
  }

  .calc-parameters-panel .btn-primary {
    align-items: center;
    background: linear-gradient(180deg, #168245, #0d6934) !important;
    background-color: #168245 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 18px rgba(12, 91, 45, 0.24) !important;
    display: flex;
    font-size: 14px !important;
    font-weight: 900 !important;
    justify-content: center;
    min-height: 50px !important;
    text-transform: none !important;
    margin-top: 10px !important;
    transition: all 0.2s ease-in-out !important;
    will-change: transform, background !important;
  }

  .calc-parameters-panel .btn-primary:hover,
  .calc-parameters-panel .btn-primary:focus {
    background: linear-gradient(180deg, #1a9250, #0f733a) !important;
    box-shadow: 0 14px 28px rgba(12, 91, 45, 0.35) !important;
    transform: translateY(-1px) !important;
  }

  .print-actions {
    align-items: center;
    background: #ffffff !important;
    border: 1px solid rgba(15, 72, 43, 0.14) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 22px rgba(21, 61, 42, 0.08) !important;
    box-sizing: border-box !important;
    color: #10251a !important;
    display: flex;
    justify-content: space-between;
    margin: 4px 20px 0 !important;
    max-width: none !important;
    padding: 12px 36px 12px 26px !important;
    width: calc(100% - 40px) !important;
  }

  .print-actions__title {
    color: inherit !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  .print-actions__buttons {
    display: flex;
  }

  .print-action-btn {
    align-items: center;
    background: linear-gradient(180deg, #168245, #0d6934) !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-shadow: 0 8px 16px rgba(12, 91, 45, 0.20) !important;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px !important;
    font-weight: 900 !important;
    justify-content: center;
    min-height: 40px !important;
    min-width: 150px;
    padding: 9px 18px !important;
    text-transform: none !important;
  }

  .print-action-btn:hover,
  .print-action-btn:focus {
    box-shadow: 0 12px 22px rgba(12, 91, 45, 0.28) !important;
    transform: translateY(-1px);
  }

  .calc-total-debt {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff, #f4fbf6) !important;
    border: 1px solid rgba(22, 130, 69, 0.20) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(21, 61, 42, 0.10) !important;
    color: #10251a !important;
    display: flex !important;
    justify-content: space-between !important;
    margin: 20px 0 8px !important;
    padding: 18px 24px !important;
    width: 100% !important;
  }

  .calc-total-debt span {
    color: #000000;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .calc-total-debt strong {
    color: #0d6934;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
  }

  body.theme-dark .calc-total-debt {
    background: linear-gradient(180deg, rgba(8, 43, 36, 0.98), rgba(6, 35, 30, 0.98)) !important;
    border-color: rgba(117, 209, 161, 0.22) !important;
  }

  body.theme-dark .calc-total-debt span {
    color: #f5fff9;
  }

  body.theme-dark .calc-total-debt strong {
    color: #75d1a1;
  }

  .prestacoes {
    margin: 2px 0 8px !important;
  }

  .table {
    border-radius: 10px !important;
    border-spacing: 0 !important;
    border-collapse: separate !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    width: 100% !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
  }

  .table thead th {
    background: #eaf6ee !important;
    color: #133c28 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 16px 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    border-bottom: 2px solid #168245 !important;
  }

  .table td {
    padding: 15px 8px !important;
    border-top: 1px solid #edf4f0 !important;
    transition: background 0.2s ease !important;
  }

  body.theme-light .table tbody tr:hover td {
    background-color: #f2f9f5 !important;
  }

  body.theme-dark .table tbody tr:hover td {
    background-color: #0d4237 !important;
  }

  body.theme-dark .table thead th {
    background: #133c28 !important;
    color: #ffffff !important;
    border-bottom: none !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    padding: 16px 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
  }

  @media (max-width: 991px) {
  }

  @media (max-width: 767px) {
    .calc-parameters-panel {
      margin-left: 14px !important;
      margin-right: 14px !important;
      width: calc(100% - 28px) !important;
    }

    .print-actions {
      align-items: stretch;
      flex-direction: column;
      gap: 10px;
      margin-left: 14px !important;
      margin-right: 14px !important;
      width: calc(100% - 28px) !important;
    }

    .calc-total-debt {
      align-items: flex-start;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding: 14px 18px !important;
      width: 100% !important;
    }

    .calc-total-debt span {
      padding-left: 0;
    }

    .print-actions__buttons {
      flex-direction: column;
    }
  }
}

@media screen {
  body.theme-dark {
    --theme-bg: #061d1a;
    --theme-surface: rgba(5, 36, 31, 0.90);
    --theme-surface-solid: #082b25;
    --theme-panel: rgba(6, 41, 34, 0.78);
    --theme-border: rgba(117, 209, 161, 0.22);
    --theme-text: #f5fff9;
    --theme-muted: rgba(245, 255, 249, 0.76);
    --theme-soft: rgba(255, 255, 255, 0.08);
    --theme-shadow: rgba(0, 0, 0, 0.28);
  }

  body.theme-light {
    --theme-bg: #f3f8f5;
    --theme-surface: rgba(255, 255, 255, 0.94);
    --theme-surface-solid: #ffffff;
    --theme-panel: rgba(255, 255, 255, 0.92);
    --theme-border: rgba(19, 122, 70, 0.18);
    --theme-text: #10251a;
    --theme-muted: #50645a;
    --theme-soft: rgba(22, 130, 69, 0.08);
    --theme-shadow: rgba(21, 61, 42, 0.12);
  }

  body.theme-dark,
  body.theme-light {
    background: var(--theme-bg) !important;
    color: var(--theme-text);
  }

  body.theme-dark .bg-light {
    background: rgba(5, 36, 31, 0.92) !important;
    backdrop-filter: blur(12px);
    border: 0 !important;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    min-height: 76px;
    padding: 3px 42px 3px 32px !important;
  }

  body.theme-light .bg-light {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(12px);
    border: 0 !important;
    border-bottom: 1px solid rgba(19, 122, 70, 0.14) !important;
    border-radius: 0;
    box-shadow: 0 8px 22px rgba(21, 61, 42, 0.08);
    margin: 0;
    min-height: 76px;
    padding: 3px 42px 3px 32px !important;
  }

  body.theme-dark .navbar-brand,
  body.theme-light .navbar-brand {
    margin-right: 20px;
  }

  body.theme-dark .navbar-brand img,
  body.theme-light .navbar-brand img {
    height: 70px;
    width: 104px !important;
  }

  body.theme-dark .navbar-brand img {
    content: url("../images/dpe-pa-logo-navbar.svg?v=20260617-25");
  }

  body.theme-light .navbar-brand img {
    content: url("../images/dpe-pa-logo.svg?v=20260617-25");
  }

  body.theme-dark .navbar-brand__text {
    display: none !important;
  }

  body.theme-light .navbar-brand__text {
    display: none !important;
  }

  body.theme-dark .navbar-dark .navbar-nav .nav-link {
    color: #f5fff9 !important;
    font-size: 15px;
    font-weight: 900;
    margin-left: 0;
    padding: 10px 4px !important;
    position: relative;
    text-decoration: none !important;
    white-space: nowrap;
  }

  body.theme-light .navbar-dark .navbar-nav .nav-link {
    color: #10251a !important;
    font-size: 15px;
    font-weight: 900;
    margin-left: 0;
    padding: 10px 4px !important;
    position: relative;
    text-decoration: none !important;
    white-space: nowrap;
  }

  body.theme-dark .navbar-dark .navbar-nav .nav-link:after,
  body.theme-light .navbar-dark .navbar-nav .nav-link:after {
    background: #27d16f;
    border-radius: 999px;
    bottom: 3px;
    content: "";
    height: 3px;
    left: 4px;
    opacity: 0;
    position: absolute;
    right: 4px;
    transform: scaleX(0.35);
    transition: opacity 0.16s ease, transform 0.16s ease;
  }

  body.theme-dark .navbar-dark .navbar-nav .nav-link:hover,
  body.theme-dark .navbar-dark .navbar-nav .nav-link:focus {
    background: transparent;
    color: #ffffff !important;
  }

  body.theme-light .navbar-dark .navbar-nav .nav-link:hover,
  body.theme-light .navbar-dark .navbar-nav .nav-link:focus {
    background: transparent;
    color: #168245 !important;
  }

  body.theme-dark .navbar-dark .navbar-nav .nav-link:hover:after,
  body.theme-dark .navbar-dark .navbar-nav .nav-link:focus:after,
  body.theme-light .navbar-dark .navbar-nav .nav-link:hover:after,
  body.theme-light .navbar-dark .navbar-nav .nav-link:focus:after {
    opacity: 1;
    transform: scaleX(1);
  }

  .nav-item-theme {
    align-items: center;
    display: flex;
    margin-left: 4px;
    min-height: 26px;
  }

  .theme-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #f5fff9;
    cursor: pointer;
    display: inline-flex;
    font-family: Roboto, Arial, sans-serif;
    font-size: 13px;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    padding: 0;
    transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
    width: 30px;
  }

  .theme-toggle__icon {
    display: block;
    height: 22px;
    overflow: visible;
    transform: translateY(-1px);
    width: 22px;
  }

  .theme-toggle__icon circle,
  .theme-toggle__icon line {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 5.5;
  }

  .theme-toggle__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .theme-toggle:hover,
  .theme-toggle:focus {
    background: rgba(39, 209, 111, 0.14);
    color: #ffffff;
    transform: translateY(-1px);
  }

  body.theme-light .theme-toggle {
    background: transparent;
    border: 0;
    color: #111111;
  }

  body.theme-light .theme-toggle:hover,
  body.theme-light .theme-toggle:focus {
    background: rgba(22, 130, 69, 0.14);
    color: #168245;
  }

  body.theme-dark .intro,
  body.theme-light .intro {
    background-color: var(--theme-bg);
    background-image:
      linear-gradient(90deg, rgba(5, 26, 25, 0.92), rgba(13, 92, 65, 0.72), rgba(6, 24, 31, 0.60)),
      url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    min-height: calc(100vh - 76px);
    overflow: hidden;
    position: relative;
  }

  body.theme-light .intro {
    background-image:
      linear-gradient(90deg, rgba(238, 249, 242, 0.94) 0%, rgba(210, 235, 220, 0.84) 43%, rgba(89, 128, 109, 0.58) 100%),
      url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
  }

  body.theme-light .ini-title {
    color: #061d1a;
    font-size: 64px;
    max-width: 540px;
    position: relative;
    z-index: 2;
  }

  body.theme-dark .ini-title {
    color: #ffffff;
    font-size: 64px;
    max-width: 540px;
    position: relative;
    z-index: 2;
  }

  body.theme-light .ini-subtitle {
    color: #24352c;
    font-size: 20px;
    max-width: 620px;
    position: relative;
    z-index: 2;
  }

  body.theme-dark .ini-subtitle {
    color: rgba(255, 255, 255, 0.92);
    font-size: 20px;
    max-width: 620px;
    position: relative;
    z-index: 2;
  }

  body.theme-dark .dpe-btn,
  body.theme-light .dpe-btn {
    align-items: center;
    background: #21bd66;
    border-color: #42df84;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    min-width: 0;
    position: relative;
    width: 100%;
    z-index: 2;
  }

  body.theme-dark .dpe-btn:hover,
  body.theme-light .dpe-btn:hover,
  body.theme-dark .dpe-btn:focus,
  body.theme-light .dpe-btn:focus {
    background: #168245;
    color: #fff;
  }

  body.theme-dark .App,
  body.theme-light .App {
    background: var(--theme-bg);
    color: var(--theme-text);
  }

  body.theme-dark .App > header,
  body.theme-light .App > header {
    background: var(--theme-surface-solid);
    border-bottom-color: var(--theme-border);
  }

  body.theme-dark .App-title,
  body.theme-light .App-title,
  body.theme-light .print-actions__title {
    color: var(--theme-text) !important;
  }

  body.theme-dark .print-actions {
    background: var(--theme-surface-solid) !important;
    border-color: var(--theme-border) !important;
    color: #f5fff9 !important;
  }

  body.theme-dark .print-actions__title {
    color: #f5fff9 !important;
  }

  body.theme-dark .inputs,
  body.theme-light .inputs {
    background: var(--theme-surface-solid);
    border-color: var(--theme-border);
    box-shadow: 0 18px 42px var(--theme-shadow);
  }

  body.theme-dark .inputs .text-left,
  body.theme-light .inputs .text-left {
    color: var(--theme-muted);
  }

  body.theme-dark .inputs .form-control,
  body.theme-light .inputs .form-control {
    background: var(--theme-soft);
    border-color: var(--theme-border);
    color: var(--theme-text) !important;
    opacity: 1;
  }

  body.theme-dark .inputs .form-control::placeholder {
    color: rgba(245, 255, 249, 0.55) !important;
  }

  body.theme-light .inputs .form-control::placeholder {
    color: rgba(16, 37, 26, 0.48) !important;
  }

  body.theme-dark .inputs select.form-control,
  body.theme-dark .inputs select.form-control option {
    background-color: #0b3029 !important;
    color: #f5fff9 !important;
  }

  body.theme-light .inputs select.form-control,
  body.theme-light .inputs select.form-control option {
    background-color: #ffffff !important;
    color: #10251a !important;
  }

  body.theme-dark .inputs .input-group-text,
  body.theme-light .inputs .input-group-text {
    background: var(--theme-soft);
    border-color: var(--theme-border);
    color: var(--theme-text) !important;
  }

  body.theme-dark .inputs p,
  body.theme-dark .inputs label,
  body.theme-dark .inputs span,
  body.theme-dark .inputs .text-left,
  body.theme-dark .form-group,
  body.theme-dark .position-relative {
    color: #f5fff9 !important;
  }

  body.theme-dark .inputs .text-left {
    color: rgba(245, 255, 249, 0.78) !important;
  }

  body.theme-light .inputs p,
  body.theme-light .inputs label,
  body.theme-light .inputs span,
  body.theme-light .inputs .text-left,
  body.theme-light .form-group,
  body.theme-light .position-relative {
    color: #10251a !important;
  }

  body.theme-light .inputs .text-left {
    color: #50645a !important;
  }

  body.theme-dark .react-datepicker {
    background: #0b3029;
    border-color: var(--theme-border);
    color: #f5fff9;
  }

  body.theme-dark .react-datepicker__header {
    background: #082b25;
    border-bottom-color: var(--theme-border);
  }

  body.theme-dark .react-datepicker__current-month,
  body.theme-dark .react-datepicker-time__header,
  body.theme-dark .react-datepicker__day,
  body.theme-dark .react-datepicker__day-name {
    color: #f5fff9;
  }

  body.theme-dark .react-datepicker__day--outside-month,
  body.theme-dark .react-datepicker__day--disabled {
    color: rgba(245, 255, 249, 0.38);
  }

  body.theme-dark .react-datepicker__day:hover {
    background: rgba(39, 209, 111, 0.16);
  }

  body.theme-dark .main-footer,
  body.theme-light .main-footer {
    background: var(--theme-surface-solid) !important;
    border: 0 !important;
    color: var(--theme-muted);
  }

  body.theme-dark .footer-title,
  body.theme-light .footer-title {
    color: var(--theme-muted);
    font-size: 13px;
    max-width: 1100px;
  }

  body.theme-dark .container-fluid:not(.inputs),
  body.theme-dark .container-fluid:not(.inputs) h5,
  body.theme-dark .container-fluid:not(.inputs) p,
  body.theme-dark .container-fluid:not(.inputs) span,
  body.theme-dark .container-fluid:not(.inputs) strong,
  body.theme-dark .container-fluid:not(.inputs) small,
  body.theme-dark .container-fluid:not(.inputs) a {
    color: #f5fff9 !important;
  }

  body.theme-dark .prestacoes {
    color: #f5fff9 !important;
  }

  body.theme-dark .table {
    background: #0b3029 !important;
    border-color: rgba(117, 209, 161, 0.24) !important;
    color: #f5fff9 !important;
  }

  body.theme-dark .table td,
  body.theme-dark .table th {
    background: #0b3029 !important;
    border-color: rgba(117, 209, 161, 0.20) !important;
    color: #f5fff9 !important;
  }

  body.theme-dark .table td *,
  body.theme-dark .table th * {
    color: inherit !important;
  }

  body.theme-dark .table thead th {
    background: #168245 !important;
    border-color: #168245 !important;
    color: #ffffff !important;
  }

  body.theme-dark .table tbody tr:nth-child(even) td,
  body.theme-dark .table tbody tr:nth-child(even) th {
    background: #0f392f !important;
  }

  body.theme-dark .valor-pago__text {
    color: #f5fff9 !important;
  }

  body.theme-dark .table .valor-pago__input .form-control {
    background: #061d1a !important;
    border-color: rgba(117, 209, 161, 0.32) !important;
    color: #f5fff9 !important;
  }

  body.theme-dark .table .valor-pago__input .input-group-text {
    background: #0f392f !important;
    border-color: rgba(117, 209, 161, 0.32) !important;
    color: #f5fff9 !important;
  }

  @media (max-width: 991px) {
    body.theme-dark .bg-light,
    body.theme-light .bg-light {
      padding: 12px 18px !important;
    }

    body.theme-dark .navbar-brand img,
    body.theme-light .navbar-brand img {
      height: 64px;
      width: 94px !important;
    }

    .navbar-brand {
      flex-basis: 94px;
      gap: 0;
      min-width: 94px;
    }

    .navbar-brand__text {
      font-size: 12px;
      line-height: 1.02;
      width: auto;
    }

    .navbar-nav {
      gap: 10px;
      transform: none;
    }

    .nav-item-theme {
      margin-left: 4px;
      margin-top: 0;
    }

    .theme-toggle {
      justify-content: center;
      width: 30px;
    }

  }

  @media (max-width: 767px) {
    body.theme-dark .ini-title,
    body.theme-light .ini-title {
      font-size: 40px;
    }

    body.theme-dark .ini-subtitle,
    body.theme-light .ini-subtitle {
      font-size: 16px;
    }

    body.theme-dark .navbar-brand img,
    body.theme-light .navbar-brand img {
      height: 58px;
      width: 86px !important;
    }

    .navbar-brand {
      flex-basis: auto;
      gap: 0;
      min-width: 86px;
    }

    .nav-item-theme {
      margin-left: 0;
      margin-top: 10px;
    }

    .theme-toggle {
      width: 30px;
    }

    .navbar-brand__text {
      font-size: 10px;
      line-height: 1.05;
      width: auto;
    }

  }
}

@media screen {
  .bg-light {
    min-height: 72px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .navbar-brand {
    min-height: 72px !important;
  }

  .navbar-brand img {
    height: 64px !important;
    width: 96px !important;
  }

  .intro.landing-refresh {
    background-color: #f4f8f6 !important;
    background-image: url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-position: center !important;
    background-size: cover !important;
    min-height: calc(100vh - 72px) !important;
    padding: 0 !important;
    position: relative;
  }

  .intro.landing-refresh::before {
    background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(246,250,248,0.84) 45%, rgba(8,47,38,0.35) 100%) !important;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
  }

  .landing-shell {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: 1440px !important;
    min-height: calc(100vh - 72px) !important;
    padding: 48px 0 36px !important;
    position: relative !important;
    width: 100% !important;
    z-index: 1 !important;
  }

  .landing-glass-card {
    align-self: flex-start !important;
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.66) !important;
    border: 1px solid rgba(255, 255, 255, 0.80) !important;
    border-radius: 18px !important;
    box-shadow: 0 26px 58px rgba(21, 61, 42, 0.14) !important;
    box-sizing: border-box !important;
    margin-left: 7vw !important;
    max-width: 620px !important;
    min-height: 420px !important;
    padding: 48px !important;
    position: relative !important;
    width: 620px !important;
    z-index: 2 !important;
  }

  .landing-refresh .ini-title {
    color: #082f26 !important;
    font-size: clamp(42px, 4vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    margin-bottom: 18px !important;
    text-shadow: none !important;
  }

  .landing-refresh .buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    margin-top: 28px !important;
    width: 100% !important;
  }

  .landing-refresh .buttons a {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .landing-refresh .dpe-btn {
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    height: 54px !important;
    min-height: 54px !important;
    min-width: 170px !important;
    overflow: visible !important;
    padding: 0 20px !important;
    white-space: nowrap !important;
  }

  .landing-watermark {
    display: block !important;
    opacity: 0.28 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 7vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: min(42vw, 720px) !important;
    z-index: 1 !important;
  }

  .landing-watermark img {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
  }

  .landing-feature-grid {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(4, 1fr) !important;
    margin: 40px auto 0 !important;
    max-width: 1200px !important;
    padding: 0 24px !important;
    width: 100% !important;
    z-index: 2 !important;
  }

  .landing-feature-card {
    border-radius: 16px !important;
    box-sizing: border-box !important;
    min-height: 120px !important;
    padding: 24px !important;
  }

  .landing-feature-icon {
    background: rgba(0,132,61,0.10) !important;
    border-radius: 14px !important;
    color: #00843d !important;
    height: 52px !important;
    width: 52px !important;
  }

  @media (max-width: 900px) {
    .landing-watermark {
      display: none !important;
    }

    .landing-shell {
      min-height: auto !important;
      padding: 28px 0 30px !important;
    }

    .landing-glass-card {
      margin-left: 16px !important;
      max-width: none !important;
      min-height: 0 !important;
      width: calc(100% - 32px) !important;
    }

    .landing-refresh .buttons {
      flex-direction: column !important;
    }

    .landing-refresh .buttons a,
    .landing-refresh .dpe-btn {
      width: 100% !important;
    }

    .landing-feature-grid {
      grid-template-columns: 1fr !important;
      margin-top: 24px !important;
      padding: 0 16px !important;
    }
  }

  @media (min-width: 901px) and (max-width: 1190px) {
    .landing-feature-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
}

@media screen {
  .intro.landing-refresh {
    background-image: url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-position: center !important;
    background-size: cover !important;
    min-height: calc(100vh - 72px) !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  .landing-shell {
    max-width: 1440px !important;
    min-height: calc(100vh - 72px) !important;
    padding: 60px 0 60px !important;
  }

  .landing-glass-card {
    box-sizing: border-box !important;
    margin-left: 6vw !important;
    max-width: none !important;
    min-height: 455px !important;
    padding: 56px !important;
    transform: translateY(20px) !important;
    width: 680px !important;
    z-index: 3 !important;
  }

  .landing-refresh .ini-title {
    font-size: clamp(48px, 4.5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1.03 !important;
  }

  .landing-refresh .buttons {
    display: grid !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    grid-template-columns: 1.3fr 1fr 1fr !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .landing-refresh .buttons a,
  .landing-refresh .dpe-btn {
    min-width: 190px !important;
  }

  .landing-refresh .dpe-btn {
    align-items: center !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    gap: 14px !important;
    height: 56px !important;
    justify-content: center !important;
    overflow: visible !important;
    padding: 0 22px !important;
    white-space: nowrap !important;
    width: 100% !important;
  }

  .landing-button-icon {
    display: none !important;
  }

  .landing-button-icon svg {
    display: block !important;
  }

  .landing-watermark {
    opacity: 0.22 !important;
    pointer-events: none !important;
    right: 4vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: min(38vw, 650px) !important;
    z-index: 1 !important;
  }

  .landing-feature-grid {
    gap: 24px !important;
    grid-template-columns: repeat(4, 1fr) !important;
    margin: 52px auto 0 !important;
    max-width: 1240px !important;
    padding: 0 24px !important;
  }

  .landing-feature-card {
    border-radius: 18px !important;
    min-height: 135px !important;
    padding: 26px 28px !important;
  }

  .landing-feature-copy strong {
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .landing-feature-copy small {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .landing-feature-icon {
    background: rgba(0,132,61,0.10) !important;
    border-radius: 14px !important;
    color: #00843d !important;
    height: 52px !important;
    width: 52px !important;
  }

  @media (max-width: 900px) {
    .landing-watermark {
      display: none !important;
    }

    .landing-shell {
      min-height: auto !important;
      padding: 28px 0 30px !important;
    }

    .landing-glass-card {
      margin-left: 16px !important;
      max-width: none !important;
      min-height: 0 !important;
      padding: 34px 24px !important;
      transform: none !important;
      width: calc(100% - 32px) !important;
    }

    .landing-refresh .buttons {
      flex-direction: column !important;
      grid-template-columns: 1fr !important;
    }

    .landing-refresh .buttons a,
    .landing-refresh .dpe-btn {
      min-width: 0 !important;
      width: 100% !important;
    }

    .landing-feature-grid {
      grid-template-columns: 1fr !important;
      margin-top: 24px !important;
      padding: 0 16px !important;
    }
  }

  @media (min-width: 901px) and (max-width: 1190px) {
    .landing-watermark {
      opacity: 0.16 !important;
      right: 2vw !important;
      width: min(34vw, 460px) !important;
    }

    .landing-feature-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
}

@media screen {
  .intro.landing-refresh {
    background-image: url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-position: center !important;
    background-size: cover !important;
  }

  .intro.landing-refresh::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0.94) 0%,
      rgba(237,249,242,0.86) 45%,
      rgba(0,132,61,0.34) 100%
    ) !important;
  }

  .landing-watermark {
    display: none !important;
  }

  body.theme-dark .intro.landing-refresh {
    background-image: url("../images/bg-new.a91cbe99.png?v=20260618-60") !important;
    background-color: #031f19 !important;
  }

  body.theme-dark .intro.landing-refresh::before {
    background: linear-gradient(135deg, 
      rgba(2, 28, 24, 0.98) 0%, 
      rgba(8, 64, 46, 0.85) 40%, 
      rgba(22, 130, 69, 0.45) 100%) !important;
    z-index: 1 !important;
  }

  body.theme-dark .landing-glass-card,
  body.theme-dark .landing-feature-card {
    background: rgba(4,31,25,0.78) !important;
    border-color: rgba(160,220,185,0.18) !important;
    box-shadow: 0 22px 56px rgba(0,0,0,0.34) !important;
  }

  body.theme-dark .landing-feature-card:hover {
    background: rgba(5, 46, 38, 0.9) !important;
    border-color: rgba(39, 209, 111, 0.4) !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-8px) !important;
  }

  body.theme-dark .landing-refresh .ini-title,
  body.theme-dark .landing-refresh .ini-subtitle,
  body.theme-dark .landing-feature-copy strong,
  body.theme-dark .landing-feature-copy small {
    color: #f7fff9 !important;
  }

  body.theme-dark .landing-title-icon,
  body.theme-dark .landing-feature-icon {
    background: rgba(148,235,181,0.14) !important;
    color: #9af0bd !important;
  }
}

body.theme-dark .landing-glass-card:hover {
  background: rgba(5, 40, 34, 0.85) !important; /* Mantido */
  border-color: rgba(160, 220, 185, 0.3) !important; /* Mantido */
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.3) !important; /* Sombra mais suave */
  transform: translateY(-4px) !important; /* Suavizado */
}

body.theme-dark .navbar-dark .navbar-nav .nav-link:hover:after,
body.theme-dark .navbar-dark .navbar-nav .nav-link:focus:after,
body.theme-light .navbar-dark .navbar-nav .nav-link:hover:after,
body.theme-light .navbar-dark .navbar-nav .nav-link:focus:after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

@media (min-width: 901px) {
  .landing-feature-grid {
    margin: 40px 0 0 7vw !important;
    width: min(1200px, calc(93vw)) !important;
    padding-left: 0 !important;
    padding-right: 24px !important;
  }

  .landing-glass-card {
    width: 680px !important;
    max-width: 680px !important;
  }
}

@media screen {
  html.theme-light,
  html.theme-light body,
  html.theme-light #root,
  body.theme-light {
    background: #f3f8f5 !important;
    color: #10251a !important;
  }

  html.theme-dark,
  html.theme-dark body,
  html.theme-dark #root,
  body.theme-dark {
    background: #061d1a !important;
    color: #f5fff9 !important;
  }

  html.theme-light .bg-light,
  body.theme-light .bg-light {
    background: rgba(255,255,255,0.98) !important;
    border-bottom: 1px solid rgba(19,122,70,0.14) !important;
    box-shadow: 0 8px 22px rgba(21,61,42,0.08) !important;
  }

  html.theme-dark .bg-light,
  body.theme-dark .bg-light {
    background: #062f27 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: none !important;
  }

  html.theme-light .main-footer,
  body.theme-light .main-footer {
    background: #ffffff !important;
    color: #50645a !important;
  }

  html.theme-dark .main-footer,
  body.theme-dark .main-footer {
    background: #082b25 !important;
    color: rgba(245,255,249,0.76) !important;
  }

  html.theme-light .footer-title,
  body.theme-light .footer-title {
    color: #50645a !important;
  }

  html.theme-dark .footer-title,
  body.theme-dark .footer-title {
    color: rgba(245,255,249,0.76) !important;
  }

  html,
  body,
  #root,
  .App {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .container-fluid:not(.inputs) {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.theme-light .prestacoes {
    color: #000000 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  body.theme-light .table {
    background: #ffffff !important;
    border-color: rgba(22,130,69,0.18) !important;
    color: #10251a !important;
  }

  body.theme-light .table td,
  body.theme-light .table th {
    border-color: #d9e8df !important;
    color: #10251a !important;
  }

  body.theme-light .table thead th {
    background: #168245 !important;
    border-color: #168245 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  body.theme-light .table tbody tr:nth-child(even) td,
  body.theme-light .table tbody tr:nth-child(even) th {
    background: #f6faf8 !important;
  }

  body.theme-light .table tbody th {
    color: #000000 !important;
    font-weight: 900 !important;
  }

  body.theme-light .table .valor-pago__input .form-control {
    background: #ffffff !important;
    border-color: rgba(22,130,69,0.28) !important;
    color: #10251a !important;
  }

  body.theme-light .table .valor-pago__input .input-group-text {
    background: #e6f4ec !important;
    border-color: rgba(22,130,69,0.28) !important;
    color: #006b38 !important;
    font-weight: 900 !important;
  }
}

@media screen and (min-width: 901px) {
  .landing-shell {
    align-items: flex-start !important;
  }

  .landing-glass-card {
    margin-left: max(46px, calc(6vw - 35px)) !important;
    max-width: 720px !important;
    transform: translateY(20px) !important;
    width: min(720px, calc(100% - max(46px, calc(6vw - 35px)) - 46px)) !important;
  }

  .landing-glass-card .col-lg-12 {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .landing-glass-card .landing-title-icon,
  .landing-glass-card .ini-title,
  .landing-glass-card .ini-subtitle,
  .landing-glass-card .buttons {
    margin-left: auto !important;
    margin-right: auto !important;
    width: min(100%, 600px) !important;
  }

  .landing-refresh .buttons {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: stretch !important;
  }

  .landing-refresh .buttons a,
  .landing-refresh .dpe-btn {
    min-width: 0 !important;
    width: 100% !important;
  }

  .landing-feature-grid {
    align-items: stretch !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin: 44px 0 0 max(46px, calc(6vw - 35px)) !important;
    max-width: none !important;
    padding: 0 !important;
    width: min(1240px, calc(100% - max(46px, calc(6vw - 35px)) - 46px)) !important;
  }

  .landing-feature-card {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    justify-content: initial !important;
    min-height: 176px !important;
    padding: 28px !important;
    text-align: left !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; /* Adicionado transiÃ§Ã£o */
  }

  .landing-feature-icon {
    align-self: start !important;
    flex: 0 0 48px !important;
    height: 48px !important;
    justify-self: start !important;
    margin-top: 0 !important;
    width: 48px !important;
  }

  .landing-feature-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  .landing-feature-copy strong {
    display: block !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    min-height: 0 !important;
    text-align: left !important;
  }

  .landing-feature-copy small {
    display: block !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    text-align: left !important;
  }
}

@media screen and (min-width: 901px) and (max-width: 1190px) {
  .landing-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(720px, calc(100% - max(46px, calc(6vw - 35px)) - 46px)) !important;
  }

  .landing-feature-card {
    min-height: 148px !important;
  }
}

@media screen and (min-width: 901px) and (max-height: 820px) {
  .landing-shell {
    justify-content: flex-start !important;
    padding-top: 38px !important;
  }

  .landing-glass-card {
    min-height: 420px !important;
    padding: 44px 48px !important;
    transform: none !important;
  }

  .landing-feature-grid {
    margin-top: 28px !important;
  }

  .landing-feature-card {
    gap: 11px !important;
    min-height: 142px !important;
    padding: 22px !important;
  }

  .landing-feature-icon {
    flex-basis: 44px !important;
    height: 44px !important;
    width: 44px !important;
  }

  .landing-feature-copy strong {
    font-size: 16px !important;
  }

  .landing-feature-copy small {
    font-size: 13px !important;
    line-height: 1.32 !important;
  }
}

@media screen and (min-width: 901px) {
  .landing-glass-card {
    padding-left: 58px !important;
    padding-right: 58px !important;
  }

  .landing-glass-card .landing-title-icon {
    display: inline-flex !important;
    height: 46px !important;
    margin: 0 0 28px 0 !important;
    width: 46px !important;
  }

  .landing-glass-card .ini-title,
  .landing-glass-card .ini-subtitle,
  .landing-glass-card .buttons {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .landing-glass-card .ini-title {
    margin-bottom: 22px !important;
  }

  .landing-glass-card .ini-subtitle {
    margin-bottom: 0 !important;
  }

  .landing-refresh .buttons {
    margin-top: 32px !important;
  }

  .landing-feature-card {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .landing-feature-icon {
    align-self: center !important;
    justify-self: center !important;
  }

  .landing-feature-copy {
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .landing-feature-copy strong,
  .landing-feature-copy small {
    text-align: center !important;
  }
}

@media screen and (max-width: 900px) {
  .landing-feature-grid {
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: calc(100% - 32px) !important;
  }

  .landing-feature-card {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-height: 0 !important;
    text-align: left !important;
  }

  .landing-feature-copy,
  .landing-feature-copy strong,
  .landing-feature-copy small {
    text-align: left !important;
  }
}

@media screen and (min-width: 901px) {
  .landing-glass-card {
    box-sizing: border-box !important;
    padding-left: 58px !important;
    padding-right: 58px !important;
  }

  .landing-glass-card .col-lg-12 {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .landing-glass-card .landing-title-icon {
    align-items: center !important;
    display: inline-flex !important;
    height: 46px !important;
    justify-content: center !important;
    margin: 0 0 28px 0 !important;
    max-width: 46px !important;
    min-width: 46px !important;
    padding: 0 !important;
    width: 46px !important;
  }

  .landing-glass-card .landing-title-icon svg {
    height: 24px !important;
    width: 24px !important;
  }

  .landing-glass-card .ini-title,
  .landing-glass-card .ini-subtitle,
  .landing-glass-card .buttons {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .landing-refresh .buttons {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: stretch !important;
    margin-top: 32px !important;
  }

  .landing-refresh .buttons a,
  .landing-refresh .dpe-btn {
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .landing-feature-grid {
    margin-left: max(46px, calc(6vw - 35px)) !important;
    width: min(1240px, calc(100% - max(46px, calc(6vw - 35px)) - 46px)) !important;
  }

  .landing-feature-card {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    justify-content: center !important;
    min-height: 184px !important;
    padding: 30px 28px !important;
    text-align: center !important;
  }

  .landing-feature-icon {
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
  }

  .landing-feature-copy {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .landing-feature-copy strong,
  .landing-feature-copy small {
    text-align: center !important;
  }
}

@media screen {
  .navbar-brand {
    background-image: none !important;
    flex: 0 0 104px !important;
    min-height: 70px !important;
    min-width: 104px !important;
    width: 104px !important;
  }

  .navbar-brand img {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    content: normal !important;
    display: block !important;
    filter: none !important;
    height: 70px !important;
    max-height: 70px !important;
    max-width: 104px !important;
    object-fit: contain !important;
    object-position: left center !important;
    opacity: 1 !important;
    transform: none !important;
    width: 104px !important;
  }

  body.theme-dark .navbar-brand img {
    content: normal !important;
  }

  body.theme-light .navbar-brand img {
    content: normal !important;
    background: transparent !important;
    filter: none !important;
    padding: 0 !important;
  }

  .App > header .logodpe {
    content: url("../images/dpe-pa-logo.svg?v=20260618-28") !important;
    height: auto !important;
    margin-bottom: 18px !important;
    margin-top: 34px !important;
    max-width: min(165px, 70vw) !important;
    width: 165px !important;
  }

  .App > header .App-title {
    margin-top: 0 !important;
  }

  body.theme-dark .App > header .logodpe {
    content: url("../images/dpe-pa-logo-navbar.svg?v=20260618-28") !important;
  }
}

@media screen and (max-width: 900px) {
  .navbar-brand {
    flex-basis: 104px !important;
    min-width: 104px !important;
    width: 104px !important;
  }

  .navbar-brand img {
    height: 58px !important;
    max-height: 58px !important;
    max-width: 104px !important;
    width: 104px !important;
  }
}

@media screen {
  .landing-glass-card {
    border: 1px solid rgba(22, 130, 69, 0.20) !important;
    box-shadow:
      0 26px 62px rgba(13, 55, 36, 0.13),
      inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .landing-glass-card::before {
    background: linear-gradient(90deg, rgba(22, 130, 69, 0.58), rgba(117, 209, 161, 0.16), rgba(22, 130, 69, 0));
    content: "" !important;
    height: 3px !important;
    inset: 0 0 auto 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
  }

  .landing-glass-card::after {
    background:
      radial-gradient(circle at 16% 12%, rgba(22, 130, 69, 0.09), transparent 34%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0));
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
  }

  .landing-glass-card > * {
    position: relative !important;
    z-index: 1 !important;
  }

  .landing-feature-card {
    border: 1px solid rgba(22, 130, 69, 0.22) !important;
    border-radius: 16px !important;
    box-shadow:
      0 18px 38px rgba(13, 55, 36, 0.10),
      inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .landing-feature-card::before {
    background: linear-gradient(90deg, rgba(22, 130, 69, 0.55), rgba(117, 209, 161, 0.12), rgba(22, 130, 69, 0));
    content: "" !important;
    height: 3px !important;
    inset: 0 0 auto 0 !important;
    pointer-events: none !important;
    position: absolute !important;
  }

  .landing-feature-card::after {
    background:
      radial-gradient(circle at 14% 18%, rgba(22, 130, 69, 0.10), transparent 34%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
  }

  .landing-feature-icon,
  .landing-feature-copy {
    position: relative !important;
    z-index: 1 !important;
  }

  body.theme-dark .landing-feature-card {
    background: linear-gradient(145deg, rgba(7, 45, 37, 0.88), rgba(4, 31, 25, 0.78)) !important;
    border-color: rgba(117, 209, 161, 0.28) !important;
    box-shadow:
      0 20px 46px rgba(0, 0, 0, 0.35),
      inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  body.theme-dark .landing-glass-card {
    background: linear-gradient(145deg, rgba(7, 45, 37, 0.88), rgba(3, 25, 21, 0.82)) !important;
    border-color: rgba(117, 209, 161, 0.20) !important;
    box-shadow:
      0 26px 68px rgba(0, 0, 0, 0.40),
      inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  body.theme-dark .landing-glass-card::before {
    background: linear-gradient(90deg, rgba(117, 209, 161, 0.78), rgba(22, 130, 69, 0.26), rgba(117, 209, 161, 0));
  }

  body.theme-dark .landing-glass-card::after {
    background:
      radial-gradient(circle at 14% 10%, rgba(117, 209, 161, 0.13), transparent 34%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0));
  }

  body.theme-dark .landing-feature-card::before {
    background: linear-gradient(90deg, rgba(117, 209, 161, 0.75), rgba(22, 130, 69, 0.24), rgba(117, 209, 161, 0));
  }

  body.theme-dark .landing-feature-card::after {
    background:
      radial-gradient(circle at 18% 14%, rgba(117, 209, 161, 0.14), transparent 34%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0));
  }

  .calc-total-debt {
    background:
      linear-gradient(135deg, #ffffff 0%, #f6fbf8 48%, #e9f7ef 100%) !important;
    border: 1px solid rgba(22, 130, 69, 0.28) !important;
    box-shadow:
      0 16px 34px rgba(13, 55, 36, 0.10),
      inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .calc-total-debt::before {
    background: linear-gradient(90deg, rgba(22, 130, 69, 0.64), rgba(117, 209, 161, 0.18), rgba(22, 130, 69, 0));
    content: "" !important;
    height: 3px !important;
    inset: 0 0 auto 0 !important;
    pointer-events: none !important;
    position: absolute !important;
  }

  .calc-total-debt span,
  .calc-total-debt strong {
    position: relative !important;
    z-index: 1 !important;
  }

  body.theme-dark .calc-total-debt {
    background:
      radial-gradient(circle at 82% 50%, rgba(18, 129, 76, 0.28), transparent 42%),
      linear-gradient(100deg, #050908 0%, #071812 34%, #082d21 68%, #0d5c41 100%) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.42),
      inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  body.theme-dark .calc-total-debt::before {
    display: none !important;
  }

  body.theme-dark .calc-total-debt span {
    color: rgba(245, 255, 249, 0.92) !important;
  }

  body.theme-dark .calc-total-debt strong {
    color: #b8f3cc !important;
    text-shadow: 0 0 18px rgba(117, 209, 161, 0.22) !important;
  }

  body.theme-dark .calc-total-debt {
    border: 0 !important;
    outline: 1px solid rgba(255, 255, 255, 0.07) !important;
  }

body.theme-dark .calc-total-debt::before,
  body.theme-dark .calc-total-debt::after {
    display: none !important;
  }

}

@media screen {
  body.theme-light .intro.landing-refresh,
  body.theme-dark .intro.landing-refresh {
    background: #eef7f2 url("../images/bg-new.a91cbe99.png?v=20260618-64") center center / cover no-repeat !important;
    background-attachment: scroll !important;
    background-blend-mode: normal !important;
    background-clip: border-box !important;
    background-origin: border-box !important;
    isolation: isolate !important;
    overflow: hidden !important;
    position: relative !important;
  }

  body.theme-dark .intro.landing-refresh {
    background-color: #05261e !important;
  }

  body.theme-light .intro.landing-refresh::after,
  body.theme-dark .intro.landing-refresh::after {
    content: none !important;
    display: none !important;
  }

  body.theme-light .intro.landing-refresh::before {
    background:
      radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.76), transparent 38%),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.68) 0%,
        rgba(243, 251, 247, 0.48) 42%,
        rgba(168, 219, 190, 0.26) 70%,
        rgba(0, 132, 61, 0.20) 100%
      ) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
  }

  body.theme-dark .intro.landing-refresh::before {
    background:
      radial-gradient(circle at 20% 22%, rgba(19, 105, 72, 0.20), transparent 38%),
      linear-gradient(
        105deg,
        rgba(2, 28, 24, 0.94) 0%,
        rgba(5, 46, 38, 0.82) 42%,
        rgba(11, 82, 58, 0.58) 72%,
        rgba(17, 112, 72, 0.44) 100%
      ) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
  }

  .intro.landing-refresh .landing-shell,
  .intro.landing-refresh .container {
    position: relative !important;
    z-index: 2 !important;
  }

  @media (max-width: 900px) {
    body.theme-light .intro.landing-refresh,
    body.theme-dark .intro.landing-refresh {
      background: #eef7f2 url("../images/bg-new.a91cbe99.png?v=20260618-64") center center / cover no-repeat !important;
    }
  }
}

@media screen and (min-width: 1200px) {
  .landing-feature-grid {
    gap: 18px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin-left: 90px !important;
    margin-right: 90px !important;
    margin-top: 44px !important;
    max-width: none !important;
    width: calc(100% - 52px) !important;
  }

  .landing-feature-card {
    min-height: 190px !important;
    padding: 30px 24px !important;
  }
}

@media screen and (min-width: 901px) {
  .intro.landing-refresh {
    --landing-edge: clamp(26px, 3.8vw, 54px);
  }

  .landing-glass-card {
    margin-left: var(--landing-edge) !important;
    margin-right: auto !important;
    transform: translateY(20px) !important;
  }

  .landing-feature-grid {
    margin-left: var(--landing-edge) !important;
    margin-right: var(--landing-edge) !important;
    width: auto !important;
  }
}

@media screen and (min-width: 901px) {
  .landing-glass-card {
    margin-left: var(--landing-edge) !important;
    margin-right: auto !important;
    max-width: 840px !important;
    transform: translateY(20px) !important;
    width: min(840px, calc(100% - (var(--landing-edge) * 2))) !important;
  }

  .landing-glass-card:hover,
  body.theme-dark .landing-glass-card:hover,
  body.theme-light .landing-glass-card:hover {
    transform: translateY(19px) !important;
  }
}

@media screen {
  .App > header {
    padding: 14px 24px 12px !important;
  }

  .App > header .logodpe {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    max-width: min(150px, 70vw) !important;
    width: 150px !important;
  }

  .App > header .App-title {
    margin-bottom: 0 !important;
  }

  .calc-parameters-panel,
  .inputs.calc-parameters-panel,
  .inputs {
    margin-top: 10px !important;
  }

  .App > header ~ br,
  .App > header + br,
  .App > header + br + br,
  .App > header + br + br + br {
    display: none !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .App > header ~ div {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
