/* Popup de solicitação RTU, carregado por último para isolar o redesign do wizard. */
body.public-home dialog.solution-modal.modal[open] {
  display: block !important;
  width: min(1120px, calc(100vw - 48px)) !important;
  max-width: min(1120px, calc(100vw - 48px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 44px) !important;
  margin: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

body.public-home dialog.solution-modal::backdrop {
  background: rgba(8, 21, 39, .76) !important;
  backdrop-filter: blur(7px) !important;
}

body.public-home.is-modal-open .mobile-sticky-actions {
  display: none !important;
}

body.public-home .solution-modal .modal-card {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  width: 100% !important;
  max-width: none !important;
  height: min(760px, calc(100dvh - 44px)) !important;
  max-height: calc(100dvh - 44px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 34px 100px rgba(2, 14, 32, .36) !important;
}

body.public-home dialog.solution-modal.modal[open] > form#solution-form.modal-card {
  display: grid !important;
  flex-direction: initial !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  width: 100% !important;
  max-width: none !important;
  height: min(760px, calc(100dvh - 44px)) !important;
  max-height: calc(100dvh - 44px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

body.public-home .solution-modal .modal-close {
  top: 24px !important;
  right: 26px !important;
  z-index: 8 !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid #cdd9e8 !important;
  background: #f8fbff !important;
  color: #31506f !important;
  font-size: 1.45rem !important;
}

body.public-home .solution-modal .modal-header {
  padding: 28px 80px 21px !important;
  border-bottom: 1px solid #dfe8f2 !important;
  background: #fff !important;
  text-align: center !important;
}

body.public-home .solution-modal .modal-kicker {
  margin: 0 0 8px !important;
  color: #d98900 !important;
  font-size: .82rem !important;
  font-weight: 1000 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.public-home .solution-modal .modal-header h2 {
  max-width: none !important;
  margin: 0 !important;
  color: #081d3b !important;
  font-size: clamp(1.95rem, 3vw, 2.45rem) !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  line-height: 1.04 !important;
}

body.public-home .solution-modal .modal-subtitle {
  max-width: 620px !important;
  margin: 8px auto 0 !important;
  color: #607393 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

body.public-home .solution-modal .progress {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: min(520px, 100%) !important;
  max-width: 520px !important;
  margin: 22px auto 0 !important;
  color: #8da0b8 !important;
}

body.public-home .solution-modal .progress span {
  position: relative !important;
  display: grid !important;
  justify-items: center !important;
  gap: 7px !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8da0b8 !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}

body.public-home .solution-modal .progress span::after {
  content: "" !important;
  position: absolute !important;
  left: calc(50% + 15px) !important;
  top: 14px !important;
  width: calc(100% - 30px) !important;
  height: 2px !important;
  transform: none !important;
  background: #dce5ef !important;
}

body.public-home .solution-modal .progress span:last-child::after {
  display: none !important;
}

body.public-home .solution-modal .progress span b {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  border: 2px solid #cbd8e7 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #8da0b8 !important;
  font-size: .82rem !important;
  font-weight: 1000 !important;
}

body.public-home .solution-modal .progress span small {
  color: inherit !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
}

body.public-home .solution-modal .progress span.is-done,
body.public-home .solution-modal .progress span.is-active {
  color: #081d3b !important;
}

body.public-home .solution-modal .progress span.is-done b,
body.public-home .solution-modal .progress span.is-active b {
  border-color: #f0a800 !important;
  background: #f0a800 !important;
  color: #081d3b !important;
}

body.public-home .solution-modal .progress span.is-done::after {
  background: #f0a800 !important;
}

body.public-home .solution-builder-frame {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 24px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 26px 34px !important;
  background: #fff !important;
}

body.public-home .solution-builder-scroll {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding-right: 0 !important;
  scrollbar-width: thin !important;
  scrollbar-color: #c6d4e5 transparent !important;
}

body.public-home .solution-modal .wizard-step {
  display: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.public-home .solution-modal .wizard-step.is-active {
  display: block !important;
}

body.public-home .solution-modal .wizard-step h3,
body.public-home .solution-step-heading h3 {
  margin: 0 0 8px !important;
  color: #081d3b !important;
  font-size: 1.18rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
}

body.public-home .solution-modal .wizard-step > p,
body.public-home .solution-step-heading p {
  margin: 0 0 18px !important;
  color: #5e708d !important;
  font-size: .94rem !important;
  font-weight: 780 !important;
  line-height: 1.42 !important;
}

body.public-home .solution-step-heading {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  align-items: end !important;
  margin-bottom: 12px !important;
}

body.public-home .solution-clear-selection {
  flex: 0 0 auto !important;
  border: 0 !important;
  background: transparent !important;
  color: #1b385c !important;
  font-size: .86rem !important;
  font-weight: 950 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
}

body.public-home .solution-modal .choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.public-home .solution-modal .choice-card {
  min-height: 142px !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: none !important;
}

body.public-home .solution-modal .choice-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  font-size: .72rem !important;
  letter-spacing: 0 !important;
}

body.public-home .solution-modal .choice-card strong {
  font-size: 1.04rem !important;
  letter-spacing: 0 !important;
}

body.public-home .solution-modal .choice-card span:not(.choice-icon) {
  font-size: .88rem !important;
  line-height: 1.35 !important;
}

body.public-home .solution-modal .choice-card em {
  font-size: .95rem !important;
  letter-spacing: 0 !important;
}

body.public-home .solution-modal .cnpj-box {
  margin-top: 16px !important;
}

body.public-home .solution-service-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.public-home .service-options label.solution-service-option {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 24px 38px minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  gap: 2px 14px !important;
  align-items: center !important;
  min-height: 74px !important;
  border: 1px solid #bdcee3 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  color: #071a34 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.public-home dialog.solution-modal.modal[open] .service-options.solution-service-list {
  width: 100% !important;
  margin: 0 !important;
}

body.public-home dialog.solution-modal.modal[open] .service-options label.solution-service-option {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.public-home .service-options label.solution-service-option.is-option-hidden,
body.public-home .service-options label.solution-service-option[hidden] {
  display: none !important;
}

body.public-home .service-options label.solution-service-option.is-featured {
  border-color: #f0bf56 !important;
}

body.public-home .service-options label.solution-service-option.is-selected,
body.public-home .service-options label.solution-service-option:has(input:checked) {
  border-color: #f0a800 !important;
  background: #fffaf0 !important;
  box-shadow: inset 0 0 0 1px #f0a800 !important;
}

body.public-home .service-options label.solution-service-option.is-disabled,
body.public-home .service-options label.solution-service-option:has(input:disabled) {
  opacity: .58 !important;
  cursor: not-allowed !important;
}

body.public-home .solution-service-option input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: inherit !important;
}

body.public-home .solution-check {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border: 1.5px solid #a9b9cd !important;
  border-radius: 7px !important;
  background: #fff !important;
}

body.public-home .solution-service-option:has(input:checked) .solution-check,
body.public-home .solution-service-option.is-selected .solution-check {
  border-color: #f0a800 !important;
  background: #f0a800 !important;
}

body.public-home .solution-service-option:has(input:checked) .solution-check::after,
body.public-home .solution-service-option.is-selected .solution-check::after {
  content: "✓" !important;
  color: #fff !important;
  font-size: .84rem !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

body.public-home .solution-service-icon {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  background: #edf4ff !important;
  color: #1c4f94 !important;
  font-size: .7rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
}

body.public-home .solution-service-option.is-featured .solution-service-icon,
body.public-home .solution-service-option:has(input:checked) .solution-service-icon,
body.public-home .solution-service-option.is-selected .solution-service-icon {
  background: #fff0c9 !important;
  color: #9a6200 !important;
}

body.public-home .solution-service-copy {
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  display: grid !important;
  min-width: 0 !important;
  gap: 3px !important;
}

body.public-home .solution-service-copy > small {
  width: fit-content !important;
  border-radius: 6px !important;
  background: #fff2d0 !important;
  color: #8a5a00 !important;
  padding: 4px 7px !important;
  font-size: .64rem !important;
  font-weight: 1000 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

body.public-home .solution-service-copy > span {
  color: #071a34 !important;
  font-size: .98rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

body.public-home .solution-service-copy em {
  color: #617491 !important;
  font-size: .84rem !important;
  font-style: normal !important;
  font-weight: 780 !important;
  line-height: 1.28 !important;
}

body.public-home .solution-service-option > strong {
  grid-column: 4 !important;
  grid-row: 1 !important;
  color: #071a34 !important;
  font-size: 1.02rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.public-home .solution-service-option > small {
  grid-column: 4 !important;
  grid-row: 2 !important;
  color: #667a98 !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body.public-home .solution-extra-services {
  margin-top: 14px !important;
  border: 1px solid #bdcee3 !important;
  border-radius: 14px !important;
  background: #f7fbff !important;
  overflow: hidden !important;
}

body.public-home .solution-extra-services summary {
  display: flex !important;
  align-items: center !important;
  min-height: 62px !important;
  padding: 0 16px !important;
  color: #071a34 !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  list-style: none !important;
}

body.public-home .solution-extra-services summary span {
  flex: 1 1 auto !important;
}

body.public-home .solution-extra-services summary::-webkit-details-marker {
  display: none !important;
}

body.public-home .solution-extra-services summary::before {
  content: "+" !important;
  display: grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 10px !important;
  border: 1px solid #1b5fbf !important;
  border-radius: 999px !important;
  color: #1b5fbf !important;
  font-size: .9rem !important;
}

body.public-home .solution-extra-services summary::after {
  content: "⌄" !important;
  flex: 0 0 auto !important;
  color: #071a34 !important;
  font-size: 1.2rem !important;
}

body.public-home .solution-extra-services[open] summary::after {
  transform: rotate(180deg) !important;
}

body.public-home .solution-extra-services-body {
  display: grid !important;
  gap: 12px !important;
  padding: 0 16px 16px !important;
}

body.public-home .solution-extra-services-body h4 {
  margin: 0 !important;
  color: #071a34 !important;
  font-size: 1.08rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
}

body.public-home .solution-summary-card {
  position: sticky !important;
  top: 0 !important;
  align-self: start !important;
  min-width: 0 !important;
  border: 1px solid #c8d6e6 !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
  padding: 20px !important;
  box-shadow: none !important;
}

body.public-home .solution-summary-heading {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #d8e3f0 !important;
}

body.public-home .solution-summary-icon {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: #fff0c8 !important;
}

body.public-home .solution-summary-icon::before {
  content: "" !important;
  width: 16px !important;
  height: 20px !important;
  border: 2px solid #9e6900 !important;
  border-radius: 3px !important;
  box-shadow: inset 0 -6px 0 rgba(158, 105, 0, .12) !important;
}

body.public-home .solution-summary-heading strong {
  display: block !important;
  color: #071a34 !important;
  font-size: 1.02rem !important;
  font-weight: 1000 !important;
}

body.public-home .solution-summary-heading small {
  display: block !important;
  color: #6a7c98 !important;
  font-size: .8rem !important;
  font-weight: 850 !important;
}

body.public-home .solution-summary-card .contract-summary {
  margin: 0 !important;
  padding-top: 14px !important;
}

body.public-home .solution-summary-services {
  display: grid !important;
  gap: 9px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #d8e3f0 !important;
}

body.public-home .solution-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 3px 12px !important;
  align-items: start !important;
}

body.public-home .solution-summary-row span {
  color: #1f3556 !important;
  font-size: .84rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

body.public-home .solution-summary-row strong {
  color: #071a34 !important;
  font-size: .9rem !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
}

body.public-home .solution-summary-row small {
  grid-column: 1 / -1 !important;
  color: #73839b !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
}

body.public-home .solution-summary-totals {
  display: grid !important;
  gap: 8px !important;
  padding: 14px 0 0 !important;
}

body.public-home .solution-summary-totals div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  color: #1f3556 !important;
  font-size: .86rem !important;
  font-weight: 850 !important;
}

body.public-home .solution-summary-totals strong {
  color: #071a34 !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
}

body.public-home .solution-summary-card .summary-block {
  margin-top: 12px !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #d8e3f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.public-home .solution-summary-card .summary-block h4 {
  margin-bottom: 8px !important;
  color: #1f3556 !important;
  font-size: .78rem !important;
}

body.public-home .solution-summary-card .summary-block li {
  font-size: .82rem !important;
}

body.public-home .solution-summary-card .summary-disclaimer,
body.public-home .solution-summary-card .empty-summary {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #607393 !important;
  font-size: .78rem !important;
  font-weight: 780 !important;
  line-height: 1.35 !important;
}

body.public-home .solution-summary-safe {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 16px 0 0 !important;
  color: #09703b !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  line-height: 1.28 !important;
}

body.public-home .solution-summary-safe::before {
  content: "✓" !important;
  color: #0a7e42 !important;
  font-weight: 1000 !important;
}

body.public-home .solution-modal .onboarding-note {
  margin-top: 0 !important;
  border-radius: 12px !important;
  background: #f7fbff !important;
  font-size: .88rem !important;
  line-height: 1.35 !important;
}

body.public-home .solution-modal .consent {
  margin-top: 18px !important;
  border: 1px solid #c8d6e6 !important;
  border-radius: 14px !important;
  background: #f8fbff !important;
  padding: 14px !important;
  color: #1f3556 !important;
  font-size: .92rem !important;
}

body.public-home .solution-modal .modal-footer {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  justify-content: stretch !important;
  padding: 14px 34px !important;
  border-top: 1px solid #dfe8f2 !important;
  background: #fff !important;
  box-shadow: 0 -16px 36px rgba(10, 35, 66, .08) !important;
}

body.public-home .solution-modal .modal-footer .btn {
  min-height: 48px !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
}

body.public-home .solution-modal .modal-footer .btn-gold {
  min-width: 232px !important;
  border-color: #e69c00 !important;
  background: #f0a800 !important;
  color: #071a34 !important;
}

body.public-home .solution-modal .modal-footer .btn-green {
  min-width: 206px !important;
}

body.public-home .solution-modal .modal-footer .btn-outline-dark {
  min-width: 112px !important;
  border: 0 !important;
  background: transparent !important;
  color: #2c486a !important;
}

body.public-home .modal-footer-note {
  justify-self: end !important;
  color: #647692 !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
}

body.public-home .modal-footer-note::before {
  content: "✓ " !important;
  color: #2373d6 !important;
}

@media (max-width: 900px) {
  body.public-home dialog.solution-modal.modal[open] {
    width: 100dvw !important;
    max-width: 100dvw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }

  body.public-home .solution-modal .modal-card {
    width: 100dvw !important;
    max-width: 100dvw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  body.public-home dialog.solution-modal.modal[open] > form#solution-form.modal-card {
    width: 100dvw !important;
    max-width: 100dvw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  body.public-home .solution-modal .modal-close {
    top: 14px !important;
    right: 16px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.public-home .solution-modal .modal-header {
    padding: 18px 62px 16px 18px !important;
    text-align: left !important;
  }

  body.public-home .solution-modal .modal-kicker {
    font-size: .72rem !important;
  }

  body.public-home .solution-modal .modal-header h2 {
    font-size: 1.48rem !important;
  }

  body.public-home .solution-modal .modal-subtitle {
    margin-left: 0 !important;
    font-size: .88rem !important;
  }

  body.public-home .solution-modal .progress {
    margin-top: 16px !important;
  }

  body.public-home .solution-modal .progress span small {
    font-size: .6rem !important;
  }

  body.public-home .solution-modal .progress span b {
    width: 28px !important;
    height: 28px !important;
  }

  body.public-home .solution-builder-frame {
    display: block !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 18px 16px !important;
  }

  body.public-home .solution-builder-scroll {
    min-height: auto !important;
    overflow: visible !important;
  }

  body.public-home .solution-summary-card {
    position: static !important;
    margin-top: 14px !important;
    padding: 16px !important;
  }

  body.public-home .solution-step-heading {
    display: grid !important;
    align-items: start !important;
  }

  body.public-home .solution-clear-selection {
    justify-self: start !important;
  }

  body.public-home .solution-modal .choice-grid,
  body.public-home .solution-modal .form-grid {
    grid-template-columns: 1fr !important;
  }

  body.public-home .service-options label.solution-service-option {
    grid-template-columns: 22px 36px minmax(0, 1fr) !important;
    gap: 4px 12px !important;
    padding: 13px !important;
  }

  body.public-home .solution-service-copy {
    align-self: center !important;
  }

  body.public-home .solution-service-copy > small {
    max-width: 100% !important;
    white-space: normal !important;
  }

  body.public-home .solution-service-copy > span {
    font-size: .96rem !important;
    line-height: 1.12 !important;
  }

  body.public-home .solution-service-copy em {
    font-size: .8rem !important;
  }

  body.public-home .solution-service-icon {
    width: 36px !important;
    height: 36px !important;
  }

  body.public-home .solution-service-option > strong {
    grid-column: 3 !important;
    grid-row: 3 !important;
    justify-self: start !important;
    margin-top: 6px !important;
  }

  body.public-home .solution-service-option > small {
    grid-column: 3 !important;
    grid-row: 4 !important;
    justify-self: start !important;
    text-align: left !important;
  }

  body.public-home .solution-modal .modal-footer {
    grid-template-columns: minmax(96px, .65fr) minmax(0, 1.35fr) !important;
    gap: 10px !important;
    padding: 12px 16px max(12px, env(safe-area-inset-bottom)) !important;
  }

  body.public-home .modal-footer-note {
    display: none !important;
  }

  body.public-home .solution-modal .modal-footer .btn {
    width: 100% !important;
    min-width: 0 !important;
    font-size: .9rem !important;
  }

  body.public-home .solution-modal .modal-footer .btn-green,
  body.public-home .solution-modal .modal-footer .btn-gold {
    grid-column: 2 !important;
  }
}

@media (max-width: 520px) {
  body.public-home .solution-modal .progress span small {
    display: none !important;
  }

  body.public-home .solution-modal .modal-header {
    padding-bottom: 12px !important;
  }

  body.public-home .solution-modal .wizard-step h3,
  body.public-home .solution-step-heading h3 {
    font-size: 1.08rem !important;
  }

  body.public-home .solution-summary-heading {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }

  body.public-home .solution-summary-icon {
    width: 34px !important;
    height: 34px !important;
  }
}

/* Keep the four steps beside the title to leave more room for the form. */
#solution-modal .modal-header {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  column-gap:22px!important;
  row-gap:6px!important;
  align-items:center!important;
  padding:18px 80px 16px 28px!important;
  text-align:left!important;
}
#solution-modal .modal-header .modal-kicker { grid-column:1;grid-row:1;margin:0!important;font-size:10px!important;line-height:1.2!important; }
#solution-modal .modal-header #solution-title { grid-column:1;grid-row:2;min-width:0;margin:0!important;font-size:26px!important;line-height:1.18!important; }
#solution-modal .modal-header .modal-subtitle { grid-column:1;grid-row:3;max-width:none!important;margin:0!important;font-size:12px!important;line-height:1.45!important; }
#solution-modal .modal-header .progress { grid-column:2;grid-row:1/4;align-self:center;width:100%!important;max-width:none!important;margin:0!important;gap:0!important; }
#solution-modal .progress span { gap:5px!important;min-height:0!important; }
#solution-modal .progress span b { width:28px!important;height:28px!important;font-size:12px!important; }
#solution-modal .progress span small { display:block!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap; }
#solution-modal .progress span::after { left:calc(50% + 14px)!important;top:13px!important;width:calc(100% - 28px)!important; }
#solution-modal .modal-close { top:18px!important;right:24px!important; }
@media(max-width:920px) {
  #solution-modal .modal-header { grid-template-columns:minmax(0,1fr) 240px!important;column-gap:16px!important;padding:16px 72px 15px 24px!important; }
  #solution-modal .modal-header #solution-title { font-size:23px!important; }
}
@media(max-width:700px) {
  #solution-modal .modal-header { grid-template-columns:minmax(0,1fr)!important;gap:6px!important;padding:15px 20px 14px!important; }
  #solution-modal .modal-header :is(.modal-kicker,#solution-title,.modal-subtitle) { padding-right:48px; }
  #solution-modal .modal-header #solution-title { font-size:22px!important; }
  #solution-modal .modal-header .modal-subtitle { font-size:12px!important; }
  #solution-modal .modal-header .progress { grid-column:1;grid-row:4;margin-top:7px!important; }
  #solution-modal .progress span { display:flex!important;align-items:center;justify-content:center;gap:5px!important; }
  #solution-modal .progress span b { flex:none;width:24px!important;height:24px!important;font-size:11px!important; }
  #solution-modal .progress span small { font-size:9px!important; }
  #solution-modal .progress span::after { display:none!important; }
  #solution-modal .modal-close { top:13px!important;right:16px!important; }
}
@media(max-height:560px) and (min-width:701px) {
  #solution-modal .modal-header { padding-block:12px!important; }
}

/* Clear eligibility and final confirmation states. */
#solution-modal .rtu-eligibility-warning{margin:14px 0;padding:16px;border:1px solid #e5b153;border-left:4px solid #c67c00;border-radius:10px;background:#fff8e7;color:#65410b}
#solution-modal .rtu-eligibility-warning p{margin:8px 0 0;color:#65410b!important;font-size:14px!important}
#solution-modal .lookup-badges .is-not-eligible{color:#8c3f05;background:#fff0d1}
#solution-modal .rtu-eligibility-warning[hidden]{display:none!important}
#solution-modal #solution-form.is-submitted .solution-summary-card,#solution-modal #solution-form.is-submitted .wizard-step[data-step="4"]>h3,#solution-modal #solution-form.is-submitted .wizard-step[data-step="4"]>p,#solution-modal #solution-form.is-submitted .consent,#solution-modal #solution-form.is-submitted .modal-footer{display:none!important}
#solution-modal #solution-form.is-submitted .solution-builder-frame{grid-template-columns:minmax(0,1fr)!important}
#solution-modal #solution-form.is-submitted [data-solution-status]{margin:24px 0!important;padding:32px!important;font-size:20px!important;font-weight:600!important;line-height:1.6!important;border:1px solid #97d4b2!important;background:#edf9f1!important;color:#075739!important}
#solution-modal #solution-form.is-submitted [data-solution-status]::before{content:'✓';display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin-bottom:20px;background:#00865c;color:#fff;font-size:30px}

body.public-home dialog#solution-modal.solution-modal.modal[open]>form#solution-form.modal-card.is-submitted{height:auto!important;min-height:0!important;max-height:calc(100dvh - 32px)!important}
#solution-modal #solution-form.is-submitted .modal-header .progress,#solution-modal #solution-form.is-submitted .modal-subtitle{display:none!important}
#solution-modal #solution-form.is-submitted .modal-header{display:block!important}
#solution-modal #solution-form.is-submitted .solution-builder-frame{flex:0 1 auto!important;min-height:0!important}
#solution-modal #solution-form.is-submitted .solution-builder-scroll{padding-block:12px!important;min-height:0!important}

/* CNPJ status must not appear as a positive result unless active is confirmed. */
#solution-modal .lookup-result.has-registration-warning{background:#fffbf3;border-color:#e5b153}
#solution-modal .lookup-status[data-type="warning"]{color:#8c3f05}
