/* Tema institucional compartilhado entre Contratos V230 e o Financeiro. */
.v230-app {
  --v230-navy: #122140;
  --v230-blue: #66a7d5;
  --v230-line: #d8e4ed;
  --v230-muted: #718398;
  color: #17263a;
  font-family: Montserrat, "Segoe UI", sans-serif;
}

.v230-contract-identity h1,
.v230-page-head h1,
.v230-section-intro h2,
.v230-overview-sheet h2 {
  color: var(--v230-navy);
  font-family: Cinzel, Georgia, serif;
  font-weight: 500;
}

.v230-contract-identity h1 { font-size: 1.65rem; }
.v230-page-head h1 { font-size: 1.75rem; font-weight: 500; }
.v230-page-head > div > small { color: #5d9aca; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.v230-page-head p { color: var(--v230-muted); font-size: 13px; }
.v230-section-intro h2 { font-size: 1.45rem; line-height: 1.25; }
.v230-overview-sheet h2 { font-size: 1.2rem; }

.v230-primary,
.v230-secondary {
  border-radius: 9px;
  font: 650 13px Montserrat, "Segoe UI", sans-serif;
}

.v230-sections {
  gap: 2px;
  margin-bottom: 22px;
  border-bottom-color: var(--v230-line);
}

.v230-sections button {
  padding: 12px 14px;
  color: #60748a;
  font: 550 12.5px Montserrat, "Segoe UI", sans-serif;
}

.v230-sections button:hover {
  color: #173f67;
  background: #f4f8fb;
}

.v230-guidance {
  border-radius: 10px;
  background: #f7fafc;
}

.v230-guidance h2,
.v230-panel h3,
.v230-relationship-actions h3,
.v230-timeline-content h3 {
  color: var(--v230-navy);
  font-family: Montserrat, "Segoe UI", sans-serif;
  font-weight: 600;
}

.v230-dashboard-metrics article,
.v230-financial-metrics article {
  position: relative;
  padding: 16px 17px 16px 19px;
  border-color: var(--v230-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #fff, #f9fbfd);
  box-shadow: 0 5px 16px rgba(18, 33, 64, .045);
  overflow: hidden;
}

.v230-dashboard-metrics article::before,
.v230-financial-metrics article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--v230-blue);
}

.v230-dashboard-metrics strong,
.v230-financial-metrics strong {
  color: var(--v230-navy);
  font: 650 1.08rem Montserrat, "Segoe UI", sans-serif;
}

.v230-panel,
.v230-overview-sheet,
.v230-register-section,
.v230-history-panel,
.v230-relationship-actions article {
  border-color: var(--v230-line);
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(18, 33, 64, .035);
}

.v230-panel { padding: 18px 20px; }

.v230-table table {
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12.5px;
}

.v230-table th,
.v230-table td {
  padding: 11px 13px;
  border-bottom: 1px solid #e5edf3;
  vertical-align: middle;
}

.v230-table th {
  background: #edf3f7;
  color: #586e83;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.v230-table th button {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  text-transform: inherit;
  letter-spacing: inherit;
  cursor: pointer;
}

.v230-table th button span { color: #8ca0b2; font-size: 11px; }
.v230-table th button:hover,
.v230-table th button.active { color: #173f67; }
.v230-table tbody tr { transition: background .15s ease; }
.v230-table tbody tr:hover { background: #f8fbfd; }

.v230-finance-kind,
.v230-finance-link,
.v230-timeline-date span {
  border-radius: 7px;
}

.v230-register-row dt,
.v230-partner-table dt,
.v230-dashboard-metrics small,
.v230-financial-metrics small {
  font-size: 10.5px;
  font-weight: 600;
}

/* Assistente de contrato: hierarquia tipográfica e dados no padrão financeiro. */
.v230-wizard { max-width: 980px; }
.v230-progress li {
  color: #738397;
  font: 550 13px Montserrat, "Segoe UI", sans-serif;
}
.v230-progress li.active,
.v230-progress li.done { color: #173f67; font-weight: 650; }
.v230-progress li span { font-weight: 650; }
.v230-wizard-panel {
  border-color: var(--v230-line);
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(18, 33, 64, .04);
}
.v230-wizard-panel > h2 {
  color: var(--v230-navy);
  font-family: Cinzel, Georgia, serif;
  font-size: 1.38rem;
  font-weight: 500;
  letter-spacing: -.015em;
}
.v230-wizard-panel > p { color: var(--v230-muted); font-size: 13.5px; }
.v230-form-grid > label {
  color: #40556b;
  font: 600 12px Montserrat, "Segoe UI", sans-serif;
}
.v230-form-grid input,
.v230-form-grid select,
.v230-form-grid textarea {
  color: #1c2c40;
  font: 500 13.5px Montserrat, "Segoe UI", sans-serif;
}
.v230-form-grid textarea { line-height: 1.55; }
.v230-form-grid label small { font-weight: 450; }
.v230-field-label {
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-height: 15px;
}
.v230-field-label small { color: var(--v230-muted); }
.v230-person-picker + button { margin-top: 4px; justify-self: start; }
.v230-checks label { color: #40556b; font-weight: 500; }
.v230-total-field output {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin-top: 7px;
  padding: 10px 13px;
  border: 1px solid #c5d8e7;
  border-radius: 8px;
  background: #f2f7fb;
  color: #173f67;
  font: 650 14px Montserrat, "Segoe UI", sans-serif;
}
.v230-review article { border-color: var(--v230-line); border-radius: 10px; }
.v230-review small { color: var(--v230-muted); font-weight: 500; }
.v230-review strong { color: #24364a; font-weight: 550; }
.v230-impact b { color: #263b51; font-weight: 650; }
.v230-impact p { font-weight: 450; }
.v230-list-toolbar label { color: #40556b; font-weight: 600; }
.v230-list-toolbar input,
.v230-list-toolbar select { color: #26394e; font: 500 13px Montserrat, "Segoe UI", sans-serif; }
.v230-list-toolbar input::placeholder { color: #8290a0; font-weight: 450; }
.v230-table td small.v230-overdue { color: #a12626; font-weight: 800; }

@media (max-width: 700px) {
  .v230-app { padding-inline: 16px; }
  .v230-panel { padding: 15px; }
}
