/* ============================================================
   HORIZONTE / HUB — Redesign visual (somente CSS)
   ------------------------------------------------------------
   - Nenhum seletor usado pelo sistema foi renomeado ou removido.
   - Nenhuma regra de exibição funcional ([hidden], .is-*, disabled)
     foi alterada em comportamento — apenas em aparência.
   - Paleta da marca:
     #152349 (azul-marinho)  #0b0b33 (marinho profundo)
     #0385c5 (azul)          #e6c977 / #f8eab8 (dourado)
     #06cc7d / #06af97 (verde)  #0596ae (petróleo)
   ============================================================ */

:root {
  color-scheme: light;
  accent-color: #0385c5;

  /* Marca */
  --navy-deep: #0b0b33;
  --navy: #152349;
  --navy-700: #1e3160;
  --navy-600: #27406f;
  --blue: #0385c5;
  --blue-ink: #0273ab;
  --blue-dark: #026089;
  --blue-soft: #eaf5fc;
  --blue-line: #c7e2f3;
  --teal: #0596ae;
  --green: #06af97;
  --green-bright: #06cc7d;
  --green-ink: #058270;
  --green-soft: #e6f7f3;
  --green-line: #c2e9df;
  --gold: #e6c977;
  --gold-soft: #fbf4dd;
  --gold-line: #ecd9a0;
  --gold-ink: #6e5310;

  /* Neutros (frios, puxados para o azul da marca) */
  --bg: #f4f6fa;
  --surface: #ffffff;
  --line: #e3e9f2;
  --line-strong: #c7d2e2;
  --ink: #1b2947;
  --muted: #5b6b8c;
  --placeholder: #97a4bd;

  /* Estados */
  --danger: #b42318;
  --danger-strong: #9a1d13;
  --danger-soft: #fdf1f0;
  --danger-line: #f0c5c0;

  /* Elevação */
  --shadow-xs: 0 1px 2px rgba(16, 24, 64, 0.06);
  --shadow-sm: 0 1px 2px rgba(16, 24, 64, 0.04), 0 3px 10px rgba(16, 24, 64, 0.05);
  --shadow-md: 0 2px 4px rgba(16, 24, 64, 0.04), 0 12px 28px rgba(16, 24, 64, 0.08);
  --shadow-lg: 0 8px 16px rgba(16, 24, 64, 0.09), 0 24px 52px rgba(16, 24, 64, 0.13);

  /* Geometria */
  --radius: 8px;
  --radius-sm: 6px;

  /* Anéis de foco */
  --ring: 0 0 0 3px rgba(3, 133, 197, 0.17);
  --ring-green: 0 0 0 3px rgba(6, 175, 151, 0.18);
  --ring-danger: 0 0 0 3px rgba(180, 35, 24, 0.12);

  /* Compatibilidade com os nomes antigos (caso o JS os utilize) */
  --text: #1b2947;
  --accent: #0385c5;
  --accent-dark: #0273ab;
  --accent-soft: #eaf5fc;
  --warning-soft: #fbf4dd;
  --shadow: 0 2px 4px rgba(16, 24, 64, 0.04), 0 12px 28px rgba(16, 24, 64, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
  background: var(--bg);
  color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgba(3, 133, 197, 0.16);
}

a {
  color: var(--blue-ink);
}

button:focus-visible,
a:focus-visible,
.segmented-control input:focus-visible + span,
.journey-choice-grid input:focus-visible + span,
.payment-due-option:has(input:focus-visible) {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.app-shell {
  min-height: 100vh;
}

/* ------------------------------------------------------------
   Barra superior — faixa institucional azul-marinho
   ------------------------------------------------------------ */

.topbar {
  align-items: center;
  background: linear-gradient(120deg, var(--navy-deep) 0%, var(--navy) 58%, #1d3161 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 0 10px 26px rgba(11, 11, 51, 0.18);
  color: #ffffff;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 32px;
  position: sticky;
  top: 0;
  z-index: 50;
}

.topbar h1 {
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.topbar button {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #ffffff;
  width: auto;
}

.topbar button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.45);
}

.topbar .eyebrow {
  color: var(--gold);
}

.topbar .model-status {
  background: rgba(6, 204, 125, 0.14);
  border: 1px solid rgba(6, 204, 125, 0.38);
  color: #8ceec0;
}

.topbar-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

/* Logo Hills (versão para fundo escuro) na barra superior */
.topbar > div:first-child {
  padding-left: 128px;
  position: relative;
}

.topbar-brand {
  min-height: 44px;
  width: 0;
}

.topbar > div:first-child::before,
.dashboard-brand::before {
  background: url("data:image/png;base64,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") left center / contain no-repeat;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 108px;
}

.eyebrow {
  color: var(--blue-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 3px;
  text-transform: uppercase;
}

.page-heading-band {
  padding: 0 0 2px;
}

.page-heading-band h1 {
  color: var(--navy);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.18;
}

h1,
h2,
h3 {
  letter-spacing: -0.01em;
  margin: 0;
}

h1 {
  color: var(--navy);
  font-size: 22px;
  font-weight: 700;
}

h2 {
  color: var(--navy);
  font-size: 17px;
  font-weight: 700;
}

h3 {
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
}

.model-status {
  background: var(--green-soft);
  border: 1px solid var(--green-line);
  border-radius: 999px;
  color: var(--green-ink);
  font-size: 12.5px;
  font-weight: 700;
  padding: 6px 12px;
}

.model-status[hidden] {
  display: none;
}

main {
  display: grid;
  gap: 20px;
  margin: 0 auto;
  max-width: 1240px;
  padding: 26px 24px 44px;
}

/* Evita que tabelas largas alarguem a página inteira:
   os cards encolhem e a rolagem fica contida no .table-wrap */
main > *,
.workspace > * {
  min-width: 0;
}

/* ------------------------------------------------------------
   Página direta (legado) — mantida por compatibilidade
   ------------------------------------------------------------ */

.direct-page {
  background: var(--bg);
}

.direct-shell {
  background:
    linear-gradient(180deg, #e9f1f8 0, var(--bg) 290px),
    var(--bg);
}

.direct-topbar {
  border-bottom: 0;
  padding-inline: max(24px, calc((100vw - 1180px) / 2));
}

.direct-topbar-link {
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: var(--radius);
  color: #ffffff;
  font-weight: 700;
  padding: 9px 14px;
  text-decoration: none;
}

.direct-main {
  max-width: 1180px;
}

.direct-intro {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) 150px;
  overflow: hidden;
}

.direct-intro h2 {
  font-size: 26px;
  margin-bottom: 6px;
}

.direct-intro p:not(.eyebrow) {
  color: var(--muted);
  margin: 0;
  max-width: 680px;
}

.direct-visual {
  align-items: center;
  aspect-ratio: 1;
  background: var(--blue-soft);
  border: 1px solid var(--blue-line);
  border-radius: 50%;
  color: var(--navy);
  display: grid;
  justify-items: center;
  padding: 22px;
}

.direct-visual span {
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
}

.direct-visual strong {
  font-size: 13px;
  text-transform: uppercase;
}

.direct-objective-group {
  margin-top: 16px;
}

.direct-table-wrap {
  max-height: 520px;
}

/* ------------------------------------------------------------
   Jornada pública (/cliente/horizonte) — base
   ------------------------------------------------------------ */

.public-journey-shell {
  background:
    linear-gradient(180deg, #e9f2f7 0, #f5f8fb 330px),
    #f5f8fb;
}

.public-main {
  gap: 20px;
  max-width: 1120px;
  padding-top: 28px;
}

.public-hero {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr);
  min-height: 210px;
  overflow: hidden;
  padding: 28px;
}

.public-hero h2 {
  font-size: 28px;
  line-height: 1.2;
  max-width: 680px;
}

.public-hero p:not(.eyebrow) {
  color: var(--muted);
  font-size: 16px;
  margin: 10px 0 0;
  max-width: 660px;
}

.family-visual {
  display: none; /* ilustração decorativa removida a pedido */
  align-items: end;
  background: linear-gradient(180deg, #ffffff 0, #f1f8f6 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  gap: 8px;
  grid-template-columns: repeat(3, 1fr);
  height: 146px;
  padding: 18px;
}

.family-visual span {
  background: var(--navy);
  border-radius: 999px 999px 6px 6px;
  display: block;
}

.family-visual span:nth-child(1) {
  height: 82px;
}

.family-visual span:nth-child(2) {
  background: var(--green);
  height: 112px;
}

.family-visual span:nth-child(3) {
  background: var(--blue);
  height: 64px;
}

.journey-panel {
  justify-self: center;
  max-width: 760px;
  padding: 28px;
  width: 100%;
}

.journey-progress {
  align-items: center;
  color: var(--muted);
  display: grid;
  font-size: 13px;
  font-weight: 700;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  margin-bottom: 22px;
}

.journey-progress-track {
  background: #e3ece9;
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
}

.journey-progress-track div {
  background: var(--green);
  border-radius: 999px;
  height: 100%;
  transition: width 200ms ease;
  width: 20%;
}

.journey-form {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.journey-step {
  min-height: 120px;
}

.journey-question {
  border: 0;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.journey-question span,
.journey-question legend {
  color: var(--ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

.journey-question input:not([type="radio"]) {
  font-size: 17px;
  height: 52px;
}

.journey-choice-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.journey-choice-grid label {
  min-width: 0;
}

.journey-choice-grid input {
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.journey-choice-grid span {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  color: var(--ink);
  cursor: pointer;
  display: flex;
  font-size: 16px;
  font-weight: 600;
  justify-content: center;
  min-height: 54px;
  padding: 12px;
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.journey-choice-grid span:hover {
  border-color: var(--green);
}

.journey-choice-grid input:checked + span {
  background: #effaf7;
  border-color: var(--green);
  box-shadow: var(--ring-green);
  color: var(--green-ink);
}

.journey-error {
  color: var(--danger);
  font-size: 13px;
  font-weight: 700;
  min-height: 18px;
}

.journey-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.journey-actions button:disabled {
  cursor: default;
  opacity: 0.45;
}

.simulation-panel {
  justify-self: center;
  max-width: 920px;
  width: 100%;
}

.public-simulation-form {
  display: grid;
  gap: 14px;
}

.public-simulation-grid {
  align-items: end;
  grid-template-columns: minmax(220px, 1fr) minmax(140px, 0.45fr) minmax(240px, 0.85fr);
}

.child-term-card {
  background: var(--blue-soft);
  border: 1px solid var(--blue-line);
  border-radius: var(--radius);
  color: #14406b;
  display: grid;
  font-size: 13.5px;
  font-weight: 500;
  gap: 2px;
  min-height: 72px;
  padding: 12px 14px;
}

.child-term-card span {
  color: #46658a;
  font-size: 12px;
  font-weight: 700;
}

.child-term-card strong {
  font-size: 22px;
}

.child-term-card small {
  color: #46658a;
  font-weight: 600;
}

.public-calculate-row {
  justify-content: flex-end;
}

.public-results-band {
  box-shadow: var(--shadow-md);
}

.public-action-message {
  text-align: left;
}

.client-options-grid {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-option-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 14px;
  grid-template-rows: auto minmax(46px, auto) auto auto auto minmax(0, auto) auto;
  min-width: 0;
  padding: 20px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.client-option-card.is-selected {
  border-color: var(--green);
  box-shadow: var(--ring-green), var(--shadow-md);
}

.client-option-card-head {
  display: grid;
  gap: 4px;
}

.client-option-card-head span {
  color: var(--blue-ink);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-option-card h3 {
  font-size: 21px;
}

.client-option-card p {
  color: var(--muted);
  font-size: 14px;
  margin: 0;
  min-height: 46px;
}

.client-option-premium {
  background: #f2f6fc;
  border: 1px solid #d8e4f3;
  border-radius: var(--radius);
  padding: 12px 14px;
}

.client-option-premium span {
  color: var(--muted);
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.client-option-premium strong {
  color: var(--navy);
  display: block;
  font-size: 28px;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  margin-top: 5px;
}

.client-option-card dl,
.client-card-metrics {
  display: grid;
  gap: 10px;
  margin: 0;
}

.client-option-card dl div,
.client-card-metrics .metric-line {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 4px;
  grid-template-rows: auto minmax(0, 1fr);
  padding-bottom: 8px;
}

.client-card-metrics .metric-line-capital,
.client-card-metrics .metric-line-resgate,
.client-card-metrics .metric-line-saldamento {
  min-height: 58px;
}

.client-card-metrics .metric-line-composition {
  min-height: 96px;
}

.client-option-card dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.client-option-card dd {
  color: var(--ink);
  font-weight: 700;
  margin: 3px 0 0;
}

.metric-year-note {
  color: var(--muted);
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  margin-left: 4px;
  white-space: nowrap;
}

.client-option-card button:not(.table-toggle-button) {
  margin-top: auto;
  width: 100%;
}

.table-toggle-button {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
  min-height: 40px;
  width: 100%;
}

.client-card-table {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  max-height: 360px;
  overflow-y: auto;
  overflow-x: hidden;
}

.client-card-table[hidden] {
  display: none;
}

.client-card-year-table {
  min-width: 0;
  table-layout: fixed;
  width: 100%;
}

.client-card-year-table th,
.client-card-year-table td {
  font-size: 11px;
  line-height: 1.25;
  min-width: 0;
  padding: 7px 5px;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  width: 25%;
}

.client-card-year-table th {
  font-size: 8px;
  line-height: 1.18;
  text-align: center;
  text-wrap: wrap;
}

.client-card-year-table th:first-child,
.client-card-year-table td:first-child {
  text-align: left;
}

.comparison-block {
  margin-top: 22px;
}

.compact-heading {
  margin-bottom: 8px;
}

.blindagem-proposal-flow {
  --bg: #0b0b33;
  --surface: #0f0f44;
  --line: rgba(255, 255, 255, .14);
  --line-strong: rgba(212, 168, 67, .34);
  --ink: #ffffff;
  --muted: #b6bdd3;
  --navy: #ffffff;
  --blue: #06cc7d;
  --blue-ink: #06cc7d;
  --green: #06cc7d;
  background:
    radial-gradient(circle at 15% 0%, rgba(6, 204, 125, .12), transparent 30%),
    linear-gradient(180deg, #0b0b33 0%, #060620 100%);
  color: #ffffff;
}

.blindagem-proposal-flow .topbar {
  background: rgba(11, 11, 51, .92);
  border-bottom: 1px solid rgba(212, 168, 67, .24);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}

.blindagem-proposal-flow .page-heading-band,
.blindagem-proposal-flow main,
.blindagem-proposal-flow .workspace {
  background: transparent;
}

.blindagem-proposal-flow .page-heading-band h1 {
  color: #ffffff;
}

.blindagem-proposal-flow .form-band,
.blindagem-proposal-flow .proposal-step,
.blindagem-proposal-flow .proposal-step-state,
.blindagem-proposal-flow .payment-contract-bar,
.blindagem-proposal-flow .payment-format-panel,
.blindagem-proposal-flow .payment-bank-section,
.blindagem-proposal-flow .payment-card-section,
.blindagem-proposal-flow .payment-debit-section,
.blindagem-proposal-flow .payment-due-section,
.blindagem-proposal-flow .payment-signature-section {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .18);
}

.blindagem-proposal-flow .section-heading h2,
.blindagem-proposal-flow label span,
.blindagem-proposal-flow .field span,
.blindagem-proposal-flow .payment-contract-bar strong,
.blindagem-proposal-flow .metric strong {
  color: #ffffff;
}

.blindagem-proposal-flow input,
.blindagem-proposal-flow select,
.blindagem-proposal-flow textarea {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .18);
  color: #ffffff;
}

.blindagem-proposal-flow input::placeholder,
.blindagem-proposal-flow textarea::placeholder {
  color: rgba(255, 255, 255, .48);
}

.blindagem-proposal-flow button.primary,
.blindagem-proposal-flow .primary-action,
.blindagem-proposal-flow button[type="submit"] {
  background: linear-gradient(135deg, #d4a843 0%, #b8902f 100%);
  color: #0b0b33;
}

.compact-heading h3 {
  font-size: 17px;
}

.client-comparison-wrap {
  max-height: 560px;
}

.client-summary-table th,
.client-summary-table td {
  min-width: 190px;
  text-align: left;
  white-space: normal;
}

.client-summary-table th:first-child,
.client-summary-table td:first-child {
  color: var(--muted);
  font-weight: 700;
  min-width: 210px;
}

.client-year-table th,
.client-year-table td {
  min-width: 210px;
  text-align: left;
  vertical-align: top;
  white-space: normal;
}

.client-year-table th:first-child,
.client-year-table td:first-child,
.client-year-table th:nth-child(2),
.client-year-table td:nth-child(2) {
  min-width: 72px;
}

.year-option-cell {
  display: grid;
  gap: 6px;
}

.year-option-cell span {
  display: block;
  font-size: 13px;
}

.year-option-cell strong {
  color: var(--muted);
  display: inline-block;
  min-width: 82px;
}

.public-proposal-bar {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(6px);
  border-top: 1px solid var(--line);
  border-radius: 0 0 7px 7px;
  bottom: 0;
  box-shadow: 0 -10px 24px rgba(16, 24, 64, 0.08);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 22px -24px -24px;
  padding: 16px 24px;
  position: sticky;
  z-index: 4;
}

.public-proposal-bar span {
  color: var(--muted);
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.public-proposal-bar strong {
  color: var(--navy);
  display: block;
  font-size: 20px;
}

/* ------------------------------------------------------------
   Jornada pública — tema da página do cliente
   ------------------------------------------------------------ */

.public-journey-page {
  --public-content-width: 760px;
  --public-bg: #f5f8fa;
  --public-ink: #13223f;
  --public-muted: #5b6b84;
  --public-line: #dfe7ee;
  --public-accent: #078a78;
  --public-accent-bright: #06af97;
  --public-accent-dark: #066a5d;
  --public-blue: #152349;
  --public-blue-soft: #ecf4fb;
  background: var(--public-bg);
  color: var(--public-ink);
}

.public-journey-page .direct-shell,
.public-journey-shell {
  background:
    linear-gradient(180deg, #e9f3f6 0, var(--public-bg) 430px),
    var(--public-bg);
}

.public-journey-page .public-main {
  gap: 24px;
  max-width: 1160px;
  padding: 30px 24px 52px;
}

.public-journey-page.results-flow-active .public-main {
  padding-bottom: 138px;
}

.public-journey-page .form-band,
.public-journey-page .results-band {
  border: 1px solid rgba(223, 231, 238, 0.9);
  border-radius: var(--radius);
  box-shadow: 0 18px 48px rgba(19, 34, 63, 0.08);
}

.public-journey-page .public-hero {
  background: transparent;
  border: 0;
  box-shadow: none;
  gap: 36px;
  grid-template-columns: minmax(0, 1fr);
  justify-self: stretch;
  max-width: 100%;
  min-height: 0;
  padding: 18px 30px 8px;
  width: 100%;
}

.public-journey-page .public-hero h2 {
  color: var(--public-ink);
  font-size: clamp(28px, 3.2vw, 38px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.12;
  max-width: 100%;
}

.public-journey-page .public-hero p:not(.eyebrow) {
  color: var(--public-muted);
  font-size: 15px;
  line-height: 1.55;
  margin-top: 12px;
  max-width: 100%;
}

/* Logo Hills (versão para fundo claro) acima do título do herói */
.public-journey-page .public-hero > div:first-child::before {
  background: url("data:image/png;base64,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") left center / contain no-repeat;
  content: "";
  display: block;
  height: 42px;
  margin-bottom: 20px;
  width: 176px;
}

.public-journey-page .family-visual {
  background: linear-gradient(180deg, #ffffff 0, #f2faf8 100%);
  border: 1px solid var(--public-line);
  border-radius: var(--radius);
  box-shadow: 0 24px 60px rgba(21, 35, 73, 0.13);
  height: 190px;
  padding: 24px;
}

.public-journey-page .family-visual span {
  background: var(--public-blue);
  border-radius: 999px 999px 8px 8px;
}

.public-journey-page .family-visual span:nth-child(2) {
  background: var(--public-accent-bright);
}

.public-journey-page .family-visual span:nth-child(3) {
  background: var(--blue);
}

.public-journey-page .journey-panel,
.public-journey-page .simulation-panel {
  background: rgba(255, 255, 255, 0.95);
  max-width: var(--public-content-width);
  padding: 28px 30px;
}

.public-journey-page .simulation-panel {
  max-width: 100%;
  width: 100%;
}

.public-journey-page.results-flow-active .simulation-panel {
  border-bottom-color: transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: 0 16px 38px rgba(19, 34, 63, 0.06);
  padding-bottom: 24px;
}

.public-journey-page .journey-panel {
  margin-top: -4px;
}

.public-journey-page .journey-progress {
  color: var(--public-muted);
  grid-template-columns: auto minmax(0, 1fr);
  margin-bottom: 20px;
}

.public-journey-page .journey-progress-track {
  background: #e5eeea;
  height: 6px;
}

.public-journey-page .journey-progress-track div {
  background: var(--public-accent-bright);
}

.public-journey-page .journey-panel h2,
.public-journey-page .simulation-panel h2,
.public-journey-page .public-results-band h2 {
  color: var(--public-ink);
  font-size: 17px;
}

.public-journey-page .journey-question span,
.public-journey-page .journey-question legend {
  color: var(--public-ink);
  font-size: clamp(18px, 2vw, 21px);
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.public-journey-page .journey-question small {
  color: var(--public-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  margin-top: -4px;
}

.public-journey-page .journey-question-label {
  display: grid;
  gap: 10px;
}

.public-journey-page .access-step-fields {
  display: grid;
  gap: 14px;
}

.public-journey-page .access-field {
  display: grid;
  gap: 7px;
}

.public-journey-page .access-field span {
  color: var(--public-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.public-journey-page .password-input-wrap {
  position: relative;
}

.public-journey-page .password-input-wrap input {
  padding-right: 54px;
  width: 100%;
}

.public-journey-page .password-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--public-muted);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
}

.public-journey-page .password-toggle:hover,
.public-journey-page .password-toggle:focus-visible {
  background: rgba(20, 181, 143, 0.12);
  color: var(--public-accent-dark);
}

.public-journey-page .password-toggle svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 20px;
}

.public-journey-page .journey-step {
  min-height: 126px;
}

.public-journey-page input,
.public-journey-page select {
  border-color: #c9d8d3;
  border-radius: var(--radius);
  color: var(--public-ink);
}

.public-journey-page .journey-question input:not([type="radio"]) {
  background: #fbfdfc;
  border: 1px solid #c9d8d3;
  font-size: 16px;
  height: 52px;
  padding: 0 14px;
}

.public-journey-page input:focus,
.public-journey-page select:focus {
  border-color: var(--public-accent-bright);
  box-shadow: var(--ring-green);
}

.public-journey-page .journey-choice-grid span {
  border-color: #c9d8d3;
  border-radius: var(--radius);
  min-height: 54px;
}

.public-journey-page .journey-choice-grid input:checked + span {
  border-color: var(--public-accent-bright);
  box-shadow: var(--ring-green);
}

.public-journey-page .primary-action,
.public-journey-page .primary-button {
  background: var(--public-accent);
  border-color: var(--public-accent);
  border-radius: var(--radius);
  min-height: 48px;
  padding-inline: 22px;
}

.public-journey-page .primary-action:hover:not(:disabled),
.public-journey-page .primary-button:hover:not(:disabled) {
  background: var(--public-accent-dark);
  border-color: var(--public-accent-dark);
}

.public-journey-page .secondary-button,
.public-journey-page .calculate-row button:not(.primary-action) {
  background: #ffffff;
  border: 1px solid #c9d8d3;
  border-radius: var(--radius);
  color: var(--public-ink);
  min-height: 48px;
}

.public-journey-page .public-lead-summary {
  background: #f7fbfa;
  border: 1px solid #dceae4;
  border-radius: var(--radius);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 18px;
  padding: 12px;
}

.public-journey-page .public-lead-summary-item {
  align-items: center;
  border-right: 1px solid #dceae4;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  min-width: 0;
  padding: 2px 10px;
}

.public-journey-page .public-lead-summary-item:last-child {
  border-right: 0;
}

.public-journey-page .public-lead-summary-item.is-editing {
  align-items: stretch;
  border-right-color: transparent;
  display: grid;
  gap: 8px;
  padding: 0 10px;
}

.public-journey-page .public-lead-summary-item span {
  color: var(--public-muted);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.public-journey-page .public-lead-summary-item strong {
  color: var(--public-ink);
  display: block;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
  min-width: 0;
  overflow-wrap: anywhere;
}

.public-journey-page .public-lead-summary-text {
  min-width: 0;
}

.public-journey-page .lead-summary-edit {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--public-muted);
  display: inline-flex;
  flex: 0 0 auto;
  height: 32px;
  justify-content: center;
  min-height: 32px;
  padding: 0;
  width: 32px;
}

.public-journey-page .lead-summary-edit:hover,
.public-journey-page .lead-summary-edit:focus-visible {
  background: rgba(20, 181, 143, 0.12);
  border-color: rgba(6, 175, 151, 0.28);
  color: var(--public-accent-dark);
}

.public-journey-page .lead-summary-edit svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.public-journey-page .lead-summary-editor {
  display: grid;
  gap: 8px;
}

.public-journey-page .lead-summary-editor-label {
  color: var(--public-muted);
  display: grid;
  font-size: 11px;
  font-weight: 800;
  gap: 6px;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.public-journey-page .lead-summary-editor-control {
  background: #ffffff;
  border: 1px solid #c9d8d3;
  border-radius: 8px;
  color: var(--public-ink);
  font-size: 14px;
  height: 40px;
  padding: 0 10px;
  text-transform: none;
  width: 100%;
}

.public-journey-page .lead-summary-editor-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.public-journey-page .summary-mini-button {
  background: #ffffff;
  border: 1px solid #c9d8d3;
  border-radius: 8px;
  color: var(--public-ink);
  font-size: 12px;
  font-weight: 800;
  min-height: 32px;
  padding: 0 10px;
}

.public-journey-page .summary-mini-button.is-primary {
  background: var(--public-accent);
  border-color: var(--public-accent);
  color: #ffffff;
}

.public-journey-page .lead-summary-inline-error {
  color: var(--danger);
  font-size: 11px;
  font-weight: 800;
  min-height: 13px;
}

.public-journey-page .public-simulation-title {
  margin: 0 0 12px;
}

.public-journey-page .public-simulation-grid {
  gap: 14px;
}

.public-journey-page .field span {
  color: var(--public-muted);
}

.public-journey-page .child-term-card {
  background: var(--public-blue-soft);
  border: 1px solid #d3e3f2;
  border-radius: var(--radius);
  color: #16345f;
  padding: 14px;
}

.public-journey-page .public-results-band {
  background: rgba(255, 255, 255, 0.97);
  padding: 24px;
  width: 100%;
}

.public-journey-page.results-flow-active .public-results-band {
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 24px 54px rgba(19, 34, 63, 0.08);
  margin-top: -24px;
  padding-top: 20px;
  position: relative;
}

.public-journey-page.results-flow-active .public-results-band::before {
  background: linear-gradient(90deg, transparent 0, rgba(6, 175, 151, 0.22) 14%, rgba(19, 34, 63, 0.12) 50%, rgba(6, 175, 151, 0.22) 86%, transparent 100%);
  content: "";
  display: block;
  height: 1px;
  margin: 0 0 22px;
}

.public-journey-page .client-options-grid {
  gap: 18px;
}

.public-journey-page .client-option-card {
  border: 1px solid var(--public-line);
  border-radius: var(--radius);
  box-shadow: 0 14px 34px rgba(19, 34, 63, 0.07);
  padding: 22px;
}

.public-journey-page .client-option-card.is-selected {
  border-color: var(--public-accent-bright);
  box-shadow:
    0 0 0 3px rgba(6, 175, 151, 0.16),
    0 18px 40px rgba(19, 34, 63, 0.09);
}

.public-journey-page .client-option-card-head span {
  color: var(--public-accent-dark);
}

.public-journey-page .client-option-card h3 {
  color: var(--public-ink);
  font-size: 23px;
}

.public-journey-page .client-option-card p,
.public-journey-page .client-option-card dt {
  color: var(--public-muted);
}

.public-journey-page .client-option-premium {
  background: #f4f9f7;
  border: 1px solid #dceae4;
  border-radius: var(--radius);
}

.public-journey-page .client-option-premium strong {
  color: var(--public-blue);
  font-size: 30px;
}

.public-journey-page .client-card-metrics .metric-line,
.public-journey-page .client-option-card dl div {
  border-bottom-color: #e6eeeb;
}

.public-journey-page .table-toggle-button {
  border-color: #c9d8d3;
  border-radius: var(--radius);
  color: var(--public-blue);
}

.public-journey-page .client-card-table {
  border-color: #dfe9e5;
  border-radius: var(--radius);
}

.public-journey-page .public-proposal-bar {
  border-top-color: #e4ede9;
  box-shadow: 0 -12px 28px rgba(19, 34, 63, 0.08);
}

.public-journey-page.results-flow-active .public-proposal-bar {
  border: 1px solid #dceae4;
  border-radius: var(--radius);
  bottom: 18px;
  left: 50%;
  margin: 0;
  max-width: 1112px;
  padding: 16px 24px;
  position: fixed;
  transform: translateX(-50%);
  width: calc(100% - 48px);
  z-index: 40;
}

/* ------------------------------------------------------------
   Estrutura de trabalho (cards / bandas)
   ------------------------------------------------------------ */

.workspace {
  display: grid;
  gap: 16px;
}

.form-band,
.results-band {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 24px;
}

.proposal-step[hidden] {
  display: none;
}

.field[hidden],
.field.is-hidden,
[hidden] {
  display: none !important;
}

.proposal-step-state {
  background: var(--blue-soft);
  border: 1px solid var(--blue-line);
  border-radius: var(--radius);
  color: #14406b;
  font-size: 13px;
  font-weight: 700;
  padding: 12px 16px;
}

.section-heading {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.field-grid {
  display: grid;
  gap: 14px;
}

.client-grid {
  grid-template-columns: 1.4fr 0.75fr 0.7fr;
}

.direct-client-grid {
  grid-template-columns: 1.3fr 0.8fr 0.65fr 1.1fr 0.9fr;
}

.coverage-grid {
  grid-template-columns: 1.2fr 1.2fr 0.7fr;
}

.field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.profession-field {
  position: relative;
}

.field span,
.objective-group legend {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

input,
select,
button {
  font: inherit;
}

input,
select {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  color: var(--ink);
  height: 44px;
  min-width: 0;
  padding: 0 12px;
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
  width: 100%;
}

input::placeholder {
  color: var(--placeholder);
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235b6b8c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 12px center;
  background-repeat: no-repeat;
  padding-right: 36px;
}

input:hover:not(:focus):not(:disabled):not([readonly]),
select:hover:not(:focus):not(:disabled) {
  border-color: #a9bad3;
}

input:focus,
select:focus {
  border-color: var(--blue);
  box-shadow: var(--ring);
  outline: none;
}

input[readonly] {
  background: #f1f4f9;
  color: var(--muted);
}

select:disabled {
  background-color: #f1f4f9;
  color: var(--muted);
}

input:disabled {
  background: #f1f4f9;
  color: var(--muted);
}

input.has-error {
  border-color: #d92d20;
}

input.has-error:focus {
  border-color: #d92d20;
  box-shadow: var(--ring-danger);
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--blue);
}

.field-error,
.coverage-error,
.calculation-gate-error {
  color: var(--danger);
  font-size: 12px;
  font-weight: 600;
  min-height: 16px;
}

.proposal-step-error {
  font-size: 13px;
  margin: -4px 0 14px;
  min-height: 0;
}

.calculation-gate-error {
  font-size: 13px;
  margin-top: 8px;
  text-align: right;
}

.profession-options {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  display: grid;
  gap: 2px;
  left: 0;
  max-height: 220px;
  overflow: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 70px;
  z-index: 20;
}

.profession-options[hidden] {
  display: none;
}

.profession-option {
  background: #ffffff;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--ink);
  display: block;
  font-weight: 500;
  min-height: 34px;
  padding: 7px 10px;
  text-align: left;
  width: 100%;
}

.profession-option:hover,
.profession-option:focus {
  background: var(--blue-soft);
  outline: none;
}

.profession-option.is-rejected {
  color: var(--danger);
}

.profession-option.is-rejected:hover,
.profession-option.is-rejected:focus {
  background: var(--danger-soft);
}

.coverage-error {
  grid-column: 1 / -1;
}

/* ------------------------------------------------------------
   Botões
   ------------------------------------------------------------ */

button {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  color: var(--navy);
  cursor: pointer;
  display: inline-flex;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-height: 40px;
  padding: 8px 16px;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

button:hover:not(:disabled) {
  background: #f3f7fc;
  border-color: #a9bad3;
}

button:disabled {
  cursor: default;
  opacity: 0.5;
}

.primary-action,
.primary-button {
  background: var(--navy);
  border: 1px solid var(--navy);
  box-shadow: var(--shadow-xs);
  color: #ffffff;
  min-width: 118px;
}

.primary-action:hover:not(:disabled),
.primary-button:hover:not(:disabled) {
  background: var(--navy-700);
  border-color: var(--navy-700);
}

.primary-action:active,
.primary-button:active {
  background: var(--navy-deep);
}

.secondary-button {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.result-actions button {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

.result-actions button:disabled {
  cursor: default;
  opacity: 0.5;
}

.action-message {
  color: var(--green-ink);
  font-size: 13px;
  font-weight: 600;
  margin: -4px 0 12px;
  min-height: 18px;
  text-align: right;
}

.action-message.is-warning {
  color: var(--danger);
}

.proposal-panel {
  border-top: 1px solid var(--line);
  margin: 0 0 14px;
  padding-top: 14px;
}

.proposal-panel[hidden] {
  display: none;
}

.proposal-grid {
  grid-template-columns: 0.8fr 1.2fr 0.9fr;
}

.proposal-grid-wide {
  grid-template-columns: 1.4fr 0.75fr 1fr 0.9fr;
}

.checkbox-field {
  align-items: center;
  align-self: end;
  display: flex;
  gap: 10px;
  min-height: 44px;
}

.checkbox-field input {
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
  width: 18px;
}

.checkbox-field span {
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.35;
}

.proposal-warning {
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  border-radius: var(--radius);
  color: var(--gold-ink);
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 14px;
  padding: 12px 14px;
}

.proposal-alert {
  align-items: flex-start;
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  border-radius: var(--radius);
  color: #5d4708;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  gap: 12px;
  line-height: 1.55;
  margin: 0 0 14px;
  padding: 14px 16px;
}

.alert-icon,
.info-button {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 700;
  justify-content: center;
}

.alert-icon {
  background: #b98a1d;
  color: #ffffff;
  font-size: 13px;
  height: 22px;
  width: 22px;
}

.nationality-controls {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(0, 1fr);
}

.nationality-field button {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
  min-width: 104px;
  white-space: nowrap;
  width: auto;
}

.us-person-alert {
  margin: 16px 0 0;
}

/* ------------------------------------------------------------
   Pagamento
   ------------------------------------------------------------ */

.payment-layout {
  display: grid;
  gap: 26px;
  padding-bottom: 96px;
}

.payment-option-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.payment-option-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  cursor: pointer;
  display: flex;
  gap: 12px;
  min-height: 54px;
  min-width: 116px;
  padding: 0 22px;
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.payment-option-card:hover {
  border-color: var(--blue);
}

.payment-option-card:has(input:checked) {
  background: var(--blue-soft);
  border-color: var(--blue);
  box-shadow: var(--ring);
}

.payment-option-card input,
.payment-inline-options input {
  accent-color: var(--blue);
  height: 18px;
  width: 18px;
}

.payment-option-card span,
.payment-inline-options span {
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
}

.payment-format-panel {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 14px;
  max-width: 640px;
  padding: 18px 0 24px;
}

.payment-format-panel > span {
  color: var(--muted);
  font-size: 13.5px;
  font-weight: 600;
}

.payment-inline-options {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}

.payment-inline-options label {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 10px;
}

.payment-bank-section,
.payment-card-section,
.payment-debit-section,
.payment-due-section,
.payment-signature-section {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 18px;
  padding-bottom: 26px;
}

.payment-bank-section h3,
.payment-card-section h3,
.payment-due-section h3,
.payment-signature-section h3 {
  font-size: 17px;
  margin: 0;
}

.payment-signature-section h4 {
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
  margin: 14px 0 0;
}

.payment-holder-grid,
.payment-debit-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.payment-debit-grid {
  grid-template-columns: minmax(180px, 1.4fr) repeat(4, minmax(96px, 0.8fr));
}

.payment-card-brands {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.payment-card-brands img {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  height: 36px;
  object-fit: contain;
  padding: 4px 8px;
  width: 60px;
}

.payment-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.payment-card-number,
.payment-card-name {
  grid-column: span 2;
}

.payment-attention {
  align-items: flex-start;
  background: #eef7fd;
  border: 1px solid var(--blue-line);
  border-radius: var(--radius);
  color: #2b3c55;
  display: flex;
  font-size: 14px;
  gap: 14px;
  line-height: 1.5;
  padding: 16px 18px;
}

.payment-attention strong {
  font-weight: 700;
}

.info-dot {
  align-items: center;
  background: #ffffff;
  border: 2px solid var(--blue);
  border-radius: 50%;
  color: var(--blue);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 800;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.info-dot.muted {
  border-color: var(--line-strong);
  color: var(--muted);
  height: 20px;
  width: 20px;
}

.payment-due-section h3 {
  align-items: center;
  display: flex;
  gap: 12px;
}

.payment-due-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.payment-due-option {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  cursor: pointer;
  display: flex;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  height: 48px;
  justify-content: center;
  min-width: 84px;
  padding: 0 18px;
  position: relative;
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.payment-due-option:hover {
  border-color: var(--blue);
}

.payment-due-option:has(input:checked) {
  background: var(--blue-soft);
  border-color: var(--blue);
  box-shadow: var(--ring);
  color: var(--blue-ink);
}

.payment-due-option input {
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.payment-email-field {
  max-width: 360px;
}

.payment-email-field-wide {
  max-width: 540px;
}

.payment-contract-bar {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(6px);
  border-radius: 0 0 7px 7px;
  border-top: 1px solid var(--line);
  bottom: 0;
  box-shadow: 0 -8px 20px rgba(16, 24, 64, 0.08);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  left: 0;
  margin: 22px -24px -24px;
  padding: 16px 24px;
  position: sticky;
  z-index: 3;
}

.payment-contract-bar span {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.payment-contract-bar strong {
  color: var(--navy);
  display: block;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.payment-contract-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.payment-contract-actions button:not(.primary-action) {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

/* ------------------------------------------------------------
   Beneficiários
   ------------------------------------------------------------ */

.beneficiaries-list {
  display: grid;
  gap: 12px;
}

.beneficiary-row {
  align-items: end;
  background: #fbfcfe;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 12px;
  grid-template-columns: 1.3fr 0.8fr 0.8fr 0.6fr auto;
  padding: 16px;
}

.remove-beneficiary {
  background: #ffffff;
  border: 1px solid var(--danger-line);
  color: var(--danger);
}

.remove-beneficiary:hover:not(:disabled) {
  background: var(--danger-soft);
  border-color: #e4a49d;
}

.beneficiary-total {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  margin-top: 12px;
  text-align: right;
}

.beneficiary-total.is-ok {
  color: var(--green-ink);
}

.beneficiary-total.is-error {
  color: var(--danger);
}

/* ------------------------------------------------------------
   DPS
   ------------------------------------------------------------ */

.dps-panel {
  display: grid;
  gap: 12px;
}

.dps-header h2 {
  font-size: 22px;
}

.dps-panel-icatu {
  gap: 26px;
}

.dps-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  min-height: 64px;
  padding-bottom: 20px;
}

.dps-status-block {
  display: grid;
  gap: 2px;
}

.dps-status-block span {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
}

.dps-toolbar-actions {
  align-items: center;
  display: flex;
  gap: 28px;
}

.dps-toolbar-actions button,
.dps-toolbar-actions a {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--blue-ink);
  display: inline-flex;
  font-weight: 600;
  gap: 8px;
  min-height: 34px;
  padding: 0;
  text-decoration: none;
  width: auto;
}

.dps-toolbar-actions button:hover:not(:disabled),
.dps-toolbar-actions a:hover:not([aria-disabled="true"]) {
  background: transparent;
  border: 0;
  color: var(--navy);
  text-decoration: underline;
}

.dps-toolbar-actions button:disabled,
.dps-toolbar-actions a[aria-disabled="true"] {
  color: #9daecb;
  cursor: default;
}

.dps-link-panel {
  background: #f7fbfa;
  border: 1px solid var(--green-line);
  border-radius: var(--radius);
  display: grid;
  gap: 8px;
  margin: 0 0 24px;
  padding: 16px;
}

.dps-link-panel span {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
}

.dps-link-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) auto auto;
}

.dps-link-row input {
  background: #ffffff;
  min-width: 0;
}

.dps-link-row a,
.dps-link-row button {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  color: var(--navy);
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 44px;
  padding: 0 14px;
  text-decoration: none;
  white-space: nowrap;
}

.dps-status {
  background: #f1f4f9;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  padding: 6px 12px;
}

.dps-panel-icatu .dps-status {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--ink);
  font-size: 15px;
  padding: 0;
}

.dps-status.is-finalized {
  background: var(--green-soft);
  border-color: var(--green-line);
  color: var(--green-ink);
  font-weight: 700;
}

.dps-panel-icatu .dps-status.is-finalized {
  background: transparent;
  color: var(--green-ink);
}

.dps-accordion {
  display: grid;
}

.dps-accordion-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  display: flex;
  font-weight: 400;
  justify-content: space-between;
  min-height: 64px;
  padding: 0;
  width: 100%;
}

.dps-accordion-trigger:hover:not(:disabled) {
  background: transparent;
  border-color: var(--line);
}

.dps-accordion-trigger span:first-child {
  color: var(--navy);
  font-weight: 600;
}

.dps-accordion-trigger span:last-child {
  color: var(--blue-ink);
  font-size: 20px;
  font-weight: 700;
}

.dps-accordion-content {
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
}

.dps-accordion-content .stage-action {
  align-self: end;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

.dps-applicant-data {
  background: #f5f8fc;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 20px;
}

.dps-copy-field {
  align-items: end;
  display: grid;
  gap: 4px 12px;
  grid-template-columns: minmax(0, max-content) 36px;
  padding-left: 0;
}

.dps-copy-field span {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
  grid-column: 1 / -1;
}

.dps-copy-field strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 600;
}

.copy-value {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--blue-ink);
  display: inline-flex;
  font-size: 20px;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}

.copy-value:hover:not(:disabled) {
  background: var(--blue-soft);
  border: 0;
  color: var(--navy);
}

/* ------------------------------------------------------------
   Declaração / popover
   ------------------------------------------------------------ */

.declaration-field {
  align-items: flex-start;
  position: relative;
}

.info-button {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--blue-ink);
  font-size: 12px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  width: 24px;
}

.info-button:hover:not(:disabled) {
  background: var(--blue-soft);
  border-color: var(--blue);
}

.info-popover {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  margin-top: 10px;
  max-width: 720px;
  padding: 16px;
}

.info-popover[hidden] {
  display: none;
}

.proposal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.proposal-actions button:not(.primary-action) {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

.proposal-actions button:disabled {
  cursor: default;
  opacity: 0.55;
}

.proposal-error {
  margin-top: 8px;
}

.proposal-actions-page {
  justify-content: flex-end;
}

.stage-actions,
.step-actions {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 16px;
}

.dps-actions {
  justify-content: flex-start;
  margin-top: 12px;
}

.proposal-message-band {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 2px;
}

/* ------------------------------------------------------------
   Controle segmentado (modo da simulação)
   ------------------------------------------------------------ */

.objective-group {
  border: 0;
  margin: 16px 0 0;
  padding: 0;
}

.segmented-control {
  background: #edf1f7;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 8px;
  padding: 4px;
}

.segmented-control label {
  min-width: 0;
}

.segmented-control input {
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.segmented-control span {
  align-items: center;
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: pointer;
  display: flex;
  font-weight: 600;
  justify-content: center;
  min-height: 36px;
  padding: 6px 8px;
  text-align: center;
  transition: background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
  width: 100%;
}

.segmented-control span:hover {
  color: var(--navy);
}

.segmented-control input:checked + span {
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(16, 24, 64, 0.14);
  color: var(--navy);
  font-weight: 700;
}

.calculate-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 16px;
}

.calculate-row button:not(.primary-action) {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

.calculate-row button:disabled {
  cursor: default;
  opacity: 0.5;
}

/* ------------------------------------------------------------
   Resumo (métricas) e coberturas
   ------------------------------------------------------------ */

.summary-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, 1fr);
}

.metric {
  background: #fbfcfe;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px 16px;
}

.metric.is-target-mode {
  background: var(--blue-soft);
  border-color: var(--blue);
  box-shadow: var(--ring);
}

.metric span {
  color: var(--muted);
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.metric strong {
  color: var(--navy);
  display: block;
  font-size: 23px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.metric-input {
  display: none;
  font-size: 20px;
  font-weight: 700;
  height: 42px;
  padding: 0 10px;
}

.metric.is-input-mode strong {
  display: none;
}

.metric.is-input-mode .metric-input {
  display: block;
}

.metric-error {
  display: block;
  margin-top: 6px;
}

.coverage-summary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 14px;
}

.coverage-line {
  align-items: center;
  background: var(--green-soft);
  border: 1px solid var(--green-line);
  border-radius: var(--radius);
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
}

.coverage-line span {
  color: #33584f;
  font-size: 13px;
  font-weight: 600;
}

.coverage-line strong {
  color: var(--navy);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.optimization-line {
  grid-column: 1 / -1;
}

/* ------------------------------------------------------------
   Tabelas
   ------------------------------------------------------------ */

.table-wrap {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-top: 16px;
  max-height: 520px;
  overflow: auto;
}

table {
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  min-width: 820px;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 10px 12px;
  text-align: right;
  white-space: nowrap;
}

th {
  background: #f3f6fb;
  box-shadow: 0 1px 0 var(--line);
  color: #4a5977;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  position: sticky;
  text-transform: uppercase;
  top: 0;
  z-index: 1;
}

th:first-child,
td:first-child,
th:nth-child(2),
td:nth-child(2) {
  text-align: left;
}

tbody tr:nth-child(even) {
  background: #fafbfe;
}

tbody tr:hover {
  background: #f1f6fd;
}

.empty-state {
  color: var(--muted);
  font-size: 14px;
  padding: 28px;
  text-align: center;
}

/* ------------------------------------------------------------
   Vendas (/hub/horizonte-vendas)
   ------------------------------------------------------------ */

.sales-topbar {
  align-items: center;
}

.topbar .new-sale-button,
.new-sale-button {
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #ffffff;
  font-weight: 700;
  min-width: 110px;
}

.topbar .new-sale-button:hover:not(:disabled),
.new-sale-button:hover:not(:disabled) {
  background: var(--blue-dark);
  border-color: var(--blue-dark);
}

.sales-main {
  max-width: 1080px;
}

.sales-search-band,
.sales-list-band {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.sales-search-band h2 {
  font-size: 22px;
}

.sales-search-field {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  min-height: 48px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.sales-search-field:focus-within {
  border-color: var(--blue);
  box-shadow: var(--ring);
}

.sales-search-field input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font-size: 15px;
  height: 46px;
  padding: 0 16px;
}

.sales-search-field input:focus {
  box-shadow: none;
}

.sales-search-field input::placeholder {
  color: var(--placeholder);
  font-weight: 400;
}

.sales-search-field button {
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--blue-ink);
  font-size: 22px;
  min-height: 46px;
  padding: 0;
}

.sales-search-field button:hover:not(:disabled) {
  background: var(--blue-soft);
  border: 0;
  color: var(--navy);
}

.sales-tabs {
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 26px;
  margin-top: 14px;
}

.sales-tab {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  color: var(--muted);
  font-weight: 600;
  min-height: 48px;
  padding: 0 2px;
}

.sales-tab:hover:not(:disabled) {
  background: transparent;
  border-bottom-color: var(--line-strong);
  color: var(--navy);
}

.sales-tab.is-active {
  border-bottom-color: var(--blue);
  color: var(--navy);
  font-weight: 700;
}

.sales-message {
  color: var(--green-ink);
  font-size: 13px;
  font-weight: 600;
  min-height: 20px;
  padding: 12px 0 0;
}

.sales-record-list {
  display: grid;
  gap: 14px;
  padding-top: 10px;
}

.sales-record {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 20px;
  padding: 20px 22px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.sales-record:hover {
  border-color: #c3d3ea;
  box-shadow: var(--shadow-md);
}

.sales-record-header,
.sales-record-details,
.sales-record-footer {
  align-items: start;
  display: grid;
  gap: 16px;
}

.sales-record-header {
  grid-template-columns: minmax(0, 1fr) auto;
}

.sales-record-header span,
.sales-record-meta span {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.sales-record-header strong,
.sales-record-meta strong {
  color: var(--ink);
  display: block;
  font-size: 15.5px;
  line-height: 1.3;
}

.sales-record-details {
  grid-template-columns: 1fr 0.95fr 0.95fr 0.75fr 1.2fr;
}

.sales-record-details-proposal {
  grid-template-columns: 1fr 0.9fr 0.95fr 0.75fr 0.8fr 1.25fr;
}

.sales-record-actions {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: flex-end;
}

.sales-record-action {
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--blue-ink);
  min-height: 30px;
  padding: 0;
}

.sales-record-action:hover:not(:disabled) {
  background: transparent;
  border: 0;
  color: var(--navy);
}

.sales-record-action.is-primary {
  color: var(--green-ink);
}

.sales-record-action.has-icon {
  align-items: center;
  display: inline-grid;
  gap: 4px;
  justify-items: center;
  min-width: 52px;
}

.sales-record-action.has-icon:hover .sales-action-label,
.sales-record-action.has-icon:focus .sales-action-label {
  color: var(--navy);
}

.sales-record-action.has-icon:disabled {
  cursor: default;
  opacity: 0.55;
}

.sales-action-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.sales-action-icon {
  align-items: center;
  color: var(--blue-ink);
  display: inline-flex;
  justify-content: center;
  min-height: 22px;
}

.sales-action-icon svg {
  fill: none;
  height: 22px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 22px;
}

.sales-record-action.is-icon-only {
  min-height: 24px;
  min-width: 24px;
}

.sales-record-action.is-icon-only .sales-action-icon svg {
  height: 18px;
  width: 18px;
}

.sales-record-action.is-loading .sales-action-icon {
  animation: sales-spin 0.9s linear infinite;
}

.sales-status-row {
  align-items: center;
  display: flex;
  gap: 12px;
}

.sales-status-row strong {
  min-width: 0;
}

@keyframes sales-spin {
  to {
    transform: rotate(360deg);
  }
}

.sales-record-footer {
  justify-content: end;
  margin-top: -10px;
}

.sales-empty {
  color: var(--muted);
  font-weight: 600;
  padding: 32px 0;
  text-align: center;
}

.sales-load-more {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
  justify-self: center;
  margin: 22px 0;
  min-width: 180px;
}

/* ------------------------------------------------------------
   Painéis laterais, diálogos e toasts
   ------------------------------------------------------------ */

.sales-modal-backdrop {
  backdrop-filter: blur(3px);
  background: rgba(11, 17, 40, 0.44);
  bottom: 0;
  display: grid;
  left: 0;
  place-items: center;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 80;
}

.sales-modal-backdrop[hidden] {
  display: none;
}

.sales-side-panel,
.sales-dialog {
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lg);
  color: var(--ink);
}

.sales-side-panel {
  border-radius: 8px 0 0 8px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: min(100vh, 900px);
  justify-self: end;
  max-width: 1096px;
  width: min(100vw, 1096px);
}

.sales-side-panel-header,
.sales-dialog-header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 14px;
  min-height: 58px;
  padding: 0 24px;
}

.sales-side-panel-header strong,
.sales-dialog-header h2 {
  color: var(--navy);
  font-size: 17px;
}

.sales-help-button,
.sales-modal-close {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--navy);
  display: inline-flex;
  font-size: 24px;
  justify-content: center;
  min-height: 32px;
  padding: 0;
  width: 32px;
}

.sales-help-button:hover:not(:disabled),
.sales-modal-close:hover:not(:disabled) {
  background: var(--blue-soft);
  border: 0;
}

.sales-help-button {
  border: 2px solid var(--navy);
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  height: 22px;
  margin-left: auto;
  min-height: 22px;
  width: 22px;
}

.sales-side-panel-body {
  display: grid;
  gap: 22px;
  overflow: auto;
  padding: 36px 28px 96px;
  position: relative;
}

.sales-side-panel-body h2 {
  color: var(--navy);
  font-size: 24px;
}

.sales-side-panel-body h3 {
  color: var(--navy);
  font-size: 18px;
  margin-top: 8px;
}

.sales-side-panel-body p,
.sales-dialog-body p {
  color: var(--ink);
  margin: 0;
}

.sales-modal-field {
  display: grid;
  gap: 6px;
  max-width: 324px;
}

.sales-modal-field-wide {
  max-width: 462px;
}

.sales-modal-field span {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
}

.sales-modal-note {
  color: var(--muted) !important;
  margin: 20px 0 !important;
}

.sales-side-panel-footer {
  align-items: center;
  background: rgba(255, 255, 255, 0.97);
  border-top: 1px solid var(--line);
  bottom: 0;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  left: 0;
  padding: 18px 28px;
  position: absolute;
  right: 0;
}

.sales-dialog {
  border-radius: var(--radius);
  max-width: 648px;
  width: min(calc(100vw - 40px), 648px);
}

.sales-dialog-header {
  justify-content: space-between;
}

.sales-dialog-header h2 {
  margin: 0;
}

.sales-dialog-body {
  min-height: 120px;
  padding: 28px;
}

.sales-dialog-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding: 0 28px 28px;
}

.sales-primary-action,
.sales-danger-action,
.sales-secondary-action {
  min-width: 96px;
}

.sales-primary-action,
.sales-danger-action {
  background: var(--navy);
  border: 1px solid var(--navy);
  color: #ffffff;
}

.sales-primary-action:hover:not(:disabled) {
  background: var(--navy-700);
  border-color: var(--navy-700);
}

.sales-danger-action {
  background: var(--danger);
  border-color: var(--danger);
}

.sales-danger-action:hover:not(:disabled) {
  background: var(--danger-strong);
  border-color: var(--danger-strong);
}

.sales-secondary-action {
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--navy);
}

.sales-toast {
  background: var(--navy);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  color: #ffffff;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  max-width: 340px;
  padding: 16px;
  position: fixed;
  right: 24px;
  top: 82px;
  z-index: 90;
}

.sales-toast[hidden] {
  display: none;
}

.sales-toast.is-error {
  background: var(--danger);
}

.sales-toast button {
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 24px;
  min-height: 26px;
  padding: 0;
  width: 26px;
}

.sales-toast button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.14);
  border: 0;
}

.sr-only {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.proposal-readonly-notice {
  background: var(--blue-soft);
  border: 1px solid var(--blue-line);
  border-radius: var(--radius);
  color: #14406b;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 16px;
}

.proposal-success-dialog {
  max-width: 720px;
  width: min(calc(100vw - 40px), 720px);
}

.proposal-success-body {
  display: grid;
  gap: 18px;
}

.proposal-success-title {
  color: var(--navy);
  display: block;
  font-size: 20px;
  line-height: 1.35;
}

.proposal-success-body p {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}

/* ------------------------------------------------------------
   Painel principal (/hub/principal)
   ------------------------------------------------------------ */

.dashboard-shell {
  background:
    linear-gradient(180deg, #eaeff7 0, transparent 220px),
    var(--bg);
}

.dashboard-topbar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  padding: 18px 34px;
}

.dashboard-brand {
  display: block;
  flex: 0 0 auto;
  height: 48px;
  position: relative;
  width: 136px;
}

.dashboard-brand::before {
  width: 136px;
}

.dashboard-top-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

.dashboard-user-link {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-weight: 700;
  gap: 10px;
  min-height: 44px;
  padding: 5px 14px 5px 6px;
  text-decoration: none;
  transition: background-color 140ms ease, border-color 140ms ease;
}

.dashboard-user-link:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.45);
}

.dashboard-user-avatar {
  align-items: center;
  background: #ffffff;
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.dashboard-user-avatar svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.dashboard-user-link span:last-child {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-primary-link,
.dashboard-ghost-link,
.dashboard-footer-link,
.dashboard-row-link,
.dashboard-client-row {
  text-decoration: none;
}

.dashboard-primary-link,
.dashboard-ghost-link {
  align-items: center;
  border-radius: var(--radius);
  display: inline-flex;
  font-weight: 700;
  min-height: 42px;
  padding: 0 16px;
  transition: background-color 140ms ease, border-color 140ms ease;
}

.dashboard-primary-link {
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #ffffff;
}

.dashboard-primary-link:hover {
  background: var(--blue-dark);
  border-color: var(--blue-dark);
}

.dashboard-ghost-link {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #ffffff;
}

.dashboard-ghost-link:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.45);
}

.dashboard-main {
  gap: 26px;
  max-width: 1220px;
  padding-top: 22px;
}

.dashboard-ranking-band,
.dashboard-cards-band {
  display: grid;
  gap: 16px;
}

.dashboard-ranking-band {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  padding: 24px;
}

.dashboard-ranking-band .section-heading h2 {
  color: var(--navy);
}

.dashboard-ranking-band .eyebrow {
  color: var(--blue-ink);
}

.dashboard-ranking-band .dashboard-period {
  background: var(--bg);
  border: 1px solid var(--line);
  color: var(--muted);
}

.dashboard-section-heading {
  margin-bottom: 0;
}

.dashboard-period {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  padding: 7px 14px;
}

.ranking-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-cards-band {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ranking-card,
.dashboard-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.ranking-card {
  border: 0;
  color: #ffffff;
  min-height: 210px;
  overflow: hidden;
  padding: 20px;
}

.ranking-card-header {
  align-items: flex-start;
  border-bottom: 1px solid rgba(255, 255, 255, 0.26);
  display: flex;
  justify-content: space-between;
  padding-bottom: 14px;
}

.ranking-card-header strong {
  color: currentColor;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}

.ranking-badge {
  border-radius: 999px;
  color: #ffffff;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 5px 12px;
  text-transform: uppercase;
}

.ranking-blue .ranking-badge {
  background: rgba(255, 255, 255, 0.2);
}

.ranking-gold .ranking-badge {
  background: rgba(255, 255, 255, 0.44);
  color: #59430a;
}

.ranking-black .ranking-badge {
  background: rgba(255, 255, 255, 0.16);
}

.ranking-blue {
  background: linear-gradient(145deg, var(--blue) 0%, #026ca3 100%);
}

.ranking-gold {
  background: linear-gradient(145deg, var(--gold) 0%, #f4dd9b 100%);
  color: #4f3a06;
}

.ranking-black {
  background: linear-gradient(145deg, #080824 0%, var(--navy-deep) 55%, #17275a 100%);
}

.ranking-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}

.ranking-list li {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  min-height: 34px;
}

.ranking-empty {
  color: currentColor;
  display: block !important;
  opacity: 0.82;
}

.ranking-position {
  align-items: center;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: currentColor;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.ranking-seller {
  color: currentColor;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ranking-list strong {
  color: currentColor;
}

.dashboard-card {
  display: flex;
  flex-direction: column;
  min-height: 420px;
  padding: 26px 28px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.dashboard-area-card {
  min-height: 390px;
}

.dashboard-card:hover {
  border-color: #c9d6ea;
  box-shadow: var(--shadow-md);
}

.dashboard-card-heading {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}

.dashboard-card-heading h2 {
  font-size: 19px;
}

.dashboard-card-icon {
  align-items: center;
  background: var(--blue-soft);
  border-radius: var(--radius);
  color: var(--blue-ink);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.dashboard-card-icon svg,
.dashboard-row-link svg,
.dashboard-client-row svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 20px;
}

.dashboard-row-link svg,
.dashboard-client-row svg {
  color: var(--blue);
  height: 18px;
  width: 18px;
}

.dashboard-action-list,
.dashboard-client-list {
  display: grid;
}

.dashboard-row-link,
.dashboard-client-row {
  align-items: center;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  display: grid;
  font-weight: 600;
  gap: 12px;
  min-height: 56px;
  transition: color 140ms ease;
}

.dashboard-row-link {
  grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-client-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.dashboard-row-link:hover,
.dashboard-client-row:hover,
.dashboard-footer-link:hover,
.dashboard-text-button:hover:not(:disabled) {
  color: var(--blue-ink);
}

.dashboard-mini-stats {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 26px 0 0;
}

.dashboard-mini-stats div {
  background: #f8fafd;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
}

.dashboard-mini-stats dt,
.dashboard-money-row span,
.dashboard-date-row span,
.dashboard-client-row span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.dashboard-mini-stats dd,
.dashboard-client-row strong {
  color: var(--blue-ink);
  font-size: 27px;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.1;
  margin: 5px 0 0;
}

.dashboard-money-row,
.dashboard-date-row {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 82px;
  padding: 12px 0;
}

.dashboard-money-row strong,
.dashboard-date-row strong {
  color: var(--navy);
  display: block;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  margin-top: 4px;
}

.dashboard-money-row strong {
  color: var(--green-ink);
}

.dashboard-text-button {
  align-self: center;
  background: transparent;
  border: 0;
  color: var(--blue-ink);
  font-size: 13px;
  font-weight: 700;
  height: auto;
  min-height: 0;
  padding: 0;
}

.dashboard-text-button:hover:not(:disabled) {
  background: transparent;
  border: 0;
  text-decoration: underline;
}

.dashboard-footer-link {
  color: var(--blue-ink);
  font-weight: 700;
  margin-top: auto;
  padding-top: 16px;
}

.dashboard-message {
  color: var(--green-ink);
  font-size: 13px;
  font-weight: 600;
  min-height: 20px;
  text-align: right;
}

/* ------------------------------------------------------------
   Usuários (/hub/usuarios)
   ------------------------------------------------------------ */

.users-main {
  display: grid;
  gap: 20px;
}

.users-form-band,
.users-access-band,
.users-approval-band,
.users-list-band {
  box-shadow: var(--shadow-sm);
}

.users-grid {
  grid-template-columns: 1.25fr 1.15fr 0.7fr 1fr;
}

.access-settings-grid {
  grid-template-columns: 1.2fr 0.9fr 0.9fr;
}

.user-profile-summary {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
  padding-bottom: 18px;
}

.user-profile-summary div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.user-profile-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.user-profile-summary strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.users-create-panel {
  display: grid;
  gap: 14px;
}

.users-create-panel h3 {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0;
}

.users-list-wrapper {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 8px;
}

.users-form-actions {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 20px;
  padding-top: 16px;
}

.users-message {
  margin: 10px 0 0;
  min-height: 18px;
  text-align: right;
}

.users-search {
  max-width: 340px;
  width: 100%;
}

.users-table {
  display: grid;
  gap: 0;
}

.users-table-row {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: 1.25fr 0.6fr 0.95fr 0.75fr 0.48fr 1.05fr;
  min-height: 64px;
  padding: 12px 8px;
  transition: background-color 120ms ease;
}

.users-table-row:not(.users-table-head):hover {
  background: #f7fafd;
}

.users-table-head {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  min-height: 40px;
  text-transform: uppercase;
}

.users-table-row strong,
.users-table-row small {
  display: block;
}

.users-table-row strong {
  color: var(--ink);
  font-weight: 600;
}

.users-table-row small {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

.user-status {
  background: var(--green-soft);
  border-radius: 999px;
  color: #047652;
  display: inline-flex;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 5px 11px;
  text-transform: uppercase;
}

.user-status.is-pending {
  background: var(--gold-soft);
  color: #8a5a00;
}

.user-sync-cell {
  align-items: flex-start;
  display: grid;
  gap: 6px;
}

.user-sync {
  border-radius: 999px;
  display: inline-flex;
  font-size: 11.5px;
  font-weight: 800;
  justify-self: flex-start;
  letter-spacing: 0.04em;
  padding: 5px 11px;
  text-transform: uppercase;
}

.user-sync.is-synced {
  background: var(--green-soft);
  color: #047652;
}

.user-sync.is-pending {
  background: var(--gold-soft);
  color: #8a5a00;
}

.user-sync.is-error {
  background: #fff0f0;
  color: #b00000;
}

.user-sync-button {
  font-size: 12px;
  justify-self: flex-start;
  min-height: 34px;
  padding: 6px 10px;
}

.users-approval-row {
  grid-template-columns: 1.35fr 0.65fr 1.05fr 0.8fr 1fr;
}

.users-approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.users-approval-actions button {
  min-width: 82px;
}

.users-empty {
  color: var(--muted);
  font-weight: 600;
  padding: 28px 0;
  text-align: center;
}

/* ------------------------------------------------------------
   Barras de rolagem discretas (WebKit)
   ------------------------------------------------------------ */

.table-wrap::-webkit-scrollbar,
.client-card-table::-webkit-scrollbar,
.profession-options::-webkit-scrollbar,
.sales-side-panel-body::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}

.table-wrap::-webkit-scrollbar-thumb,
.client-card-table::-webkit-scrollbar-thumb,
.profession-options::-webkit-scrollbar-thumb,
.sales-side-panel-body::-webkit-scrollbar-thumb {
  background: #c5d0e0;
  border: 2px solid #ffffff;
  border-radius: 999px;
}

.table-wrap::-webkit-scrollbar-track,
.client-card-table::-webkit-scrollbar-track,
.profession-options::-webkit-scrollbar-track,
.sales-side-panel-body::-webkit-scrollbar-track {
  background: transparent;
}

/* ------------------------------------------------------------
   Responsividade — telas médias
   ------------------------------------------------------------ */

@media (max-width: 1160px) {
  .dashboard-cards-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proposal-grid-wide,
  .users-grid,
  .user-profile-summary,
  .payment-card-grid,
  .payment-holder-grid,
  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payment-debit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sales-record-details,
  .sales-record-details-proposal {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ------------------------------------------------------------
   Responsividade — celular / telas estreitas
   ------------------------------------------------------------ */

@media (max-width: 900px) {
  .topbar,
  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar {
    padding: 14px 18px;
    position: static;
  }

  .topbar > div:first-child {
    padding-left: 0;
  }

  .topbar > div:first-child::before,
  .dashboard-brand::before {
    display: block;
    height: 22px;
    margin-bottom: 8px;
    position: static;
    width: 92px;
  }

  .dashboard-brand {
    height: 28px;
    width: 104px;
  }

  .topbar-brand {
    width: 104px;
  }

  .dashboard-topbar {
    align-items: center;
    flex-direction: row;
  }

  .dashboard-topbar .dashboard-top-actions {
    align-items: center;
    flex-direction: row;
    width: auto;
  }

  .dashboard-user-link {
    max-width: 54vw;
  }

  main {
    padding: 16px 16px 32px;
  }

  .form-band,
  .results-band {
    padding: 16px;
  }

  .client-grid,
  .coverage-grid,
  .direct-intro,
  .direct-client-grid,
  .public-hero,
  .public-simulation-grid,
  .client-options-grid,
  .proposal-grid,
  .proposal-grid-wide,
  .payment-card-grid,
  .payment-holder-grid,
  .payment-debit-grid,
  .beneficiary-row,
  .summary-grid,
  .dps-applicant-data,
  .dps-link-row,
  .coverage-summary {
    grid-template-columns: 1fr;
  }

  .segmented-control {
    grid-template-columns: 1fr;
  }

  .public-journey-page .public-lead-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-journey-page .public-lead-summary-item {
    border-bottom: 1px solid #dceae4;
    border-right: 0;
    padding: 6px 4px 10px;
  }

  .public-journey-page .public-lead-summary-item:last-child {
    border-bottom: 0;
  }

  .public-hero {
    padding: 22px;
  }

  .public-hero h2,
  .journey-question span,
  .journey-question legend {
    font-size: 21px;
  }

  .family-visual {
    height: 110px;
  }

  /* A variante .public-journey-page tem especificidade maior,
     então precisa das próprias regras de colapso no mobile */
  .public-journey-page .public-hero {
    gap: 20px;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 12px 30px 0;
  }

  .public-journey-page .public-hero h2 {
    font-size: 25px;
    line-height: 1.2;
  }

  .public-journey-page .public-hero > div:first-child::before {
    height: 32px;
    margin-bottom: 14px;
    width: 134px;
  }

  .public-journey-page .public-hero p:not(.eyebrow) {
    font-size: 15.5px;
    margin-top: 12px;
  }

  .public-journey-page .family-visual {
    height: 130px;
    padding: 18px;
  }

  .public-journey-page .journey-question span,
  .public-journey-page .journey-question legend {
    font-size: 19px;
  }

  .public-journey-page .journey-question input:not([type="radio"]) {
    font-size: 16px;
    height: 48px;
  }

  .public-journey-page .journey-step {
    min-height: 104px;
  }

  .journey-panel {
    padding: 22px;
  }

  .journey-actions,
  .public-proposal-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .journey-actions button,
  .public-proposal-bar button {
    width: 100%;
  }

  .topbar button,
  .direct-topbar-link,
  .nationality-field button {
    width: 100%;
  }

  .topbar-actions {
    flex-direction: column;
    width: 100%;
  }

  .nationality-controls {
    grid-template-columns: 1fr;
  }

  .payment-option-grid,
  .payment-inline-options,
  .payment-due-options,
  .payment-contract-bar,
  .payment-contract-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .payment-option-card,
  .payment-due-option,
  .payment-contract-actions button {
    width: 100%;
  }

  .payment-contract-bar {
    margin: 22px -16px -16px;
    padding: 14px 16px;
  }

  .public-proposal-bar {
    margin: 22px -24px -24px;
  }

  .public-journey-page.results-flow-active .public-main {
    padding-bottom: 190px;
  }

  .public-journey-page.results-flow-active .public-proposal-bar {
    bottom: 12px;
    left: 16px;
    margin: 0;
    padding: 14px 16px;
    transform: none;
    width: calc(100% - 32px);
  }

  .payment-card-number,
  .payment-card-name {
    grid-column: auto;
  }

  .sales-record-header,
  .sales-record-details,
  .sales-record-details-proposal {
    grid-template-columns: 1fr;
  }

  .sales-record {
    padding: 16px;
  }

  .sales-record-actions,
  .sales-record-footer {
    justify-content: flex-start;
  }

  .sales-record-footer {
    margin-top: 0;
  }

  .sales-side-panel {
    border-radius: 0;
    width: 100vw;
  }

  .sales-side-panel-footer,
  .sales-dialog-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
  }

  .sales-side-panel-footer button,
  .sales-dialog-actions button {
    width: 100%;
  }

  .sales-search-band h2 {
    font-size: 19px;
  }

  .sales-toast {
    left: 16px;
    max-width: none;
    right: 16px;
  }

  .dashboard-top-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .dashboard-mini-stats,
  .dashboard-money-row {
    grid-template-columns: 1fr;
  }

  .dashboard-money-row {
    min-height: 0;
  }

  .dashboard-primary-link,
  .dashboard-ghost-link {
    justify-content: center;
    width: 100%;
  }

  .dashboard-ranking-band {
    padding: 18px;
  }

  .ranking-grid,
  .dashboard-cards-band,
  .users-grid,
  .access-settings-grid,
  .users-table-row {
    grid-template-columns: 1fr;
  }

  .users-table-head {
    display: none;
  }

  .users-search {
    max-width: none;
  }

  .dashboard-card {
    min-height: 0;
    padding: 20px;
  }
}

@media (max-width: 620px) {
  h1 {
    font-size: 19px;
  }

  .metric strong {
    font-size: 20px;
  }

  .public-journey-page .public-main {
    padding: 24px 16px 40px;
  }

  .public-journey-page .journey-panel,
  .public-journey-page .simulation-panel {
    padding: 20px;
  }

  .public-journey-page .public-hero {
    padding-inline: 20px;
  }

  .public-journey-page .public-results-band {
    padding: 16px;
  }

  .public-journey-page .public-lead-summary {
    grid-template-columns: 1fr;
  }

  .public-journey-page .public-proposal-bar {
    margin: 22px -16px -16px;
  }

  .public-journey-page.results-flow-active .public-main {
    padding-bottom: 202px;
  }

  .public-journey-page.results-flow-active .public-proposal-bar {
    left: 12px;
    width: calc(100% - 24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
