@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap');

:root {
  --bg: #F7F9F7;
  --card: #FFFFFF;
  --text: #14232C;
  --text-strong: #1F2933;
  --muted: #6B7280;
  --line: #E5E7EB;
  --primary: #168A4A;
  --primary-dark: #0F5F36;
  --navy-dark: #0B1720;
  --soft: #EAF5EF;
  --soft-2: #F1F8F4;
  --accent: #C99A3D;
  --danger: #B91C1C;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  background: radial-gradient(circle at top left, rgba(22, 138, 74, .08), transparent 30rem), linear-gradient(180deg, var(--bg) 0%, #EFF6F2 100%);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body.internal-page {
  position: relative;
  background: linear-gradient(180deg, #f5f8f6 0%, #eef3ef 100%);
}

body.internal-page::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('/static/img/internal-page-bg.png') center center / cover no-repeat;
  opacity: 0.58;
  pointer-events: none;
  z-index: -2;
}

body.internal-page::after {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(248,250,249,.84) 100%);
  pointer-events: none;
  z-index: -1;
}

.container {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.topbar {
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(12px);
}

.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 72px;
}

.brand {
  display: inline-flex;
  align-items: center;
  color: var(--text);
  text-decoration: none;
}

.brand img {
  display: block;
  width: min(260px, 48vw);
  height: 54px;
  object-fit: contain;
  object-position: left center;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.site-nav a {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--text-strong);
  text-decoration: none;
  padding: 8px 0;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  font-size: 14px;
  font-weight: 700;
  transition: color .18s ease, border-color .18s ease, opacity .18s ease;
}

.site-nav a:hover {
  color: var(--navy-dark);
  border-bottom-color: rgba(20, 35, 44, .28);
}

.site-nav a.active {
  color: var(--primary-dark);
  background: transparent;
  border-bottom-color: var(--primary);
  box-shadow: none;
}

.page { padding: 32px 0; }
.site-main { flex: 1 0 auto; position: relative; z-index: 1; }

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 10px 28px rgba(20, 35, 44, 0.05);
  margin-bottom: 20px;
}

.hero {
  background:
    radial-gradient(circle at top right, rgba(22, 138, 74, .11), transparent 26rem),
    linear-gradient(180deg, #FFFFFF, #F8FBF9);
}

h1, h2, h3 {
  margin-top: 0;
  font-family: 'Sora', 'Inter', system-ui, sans-serif;
  letter-spacing: -0.035em;
  color: var(--text);
}

h1 {
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  line-height: 0.98;
  font-weight: 700;
}

h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  line-height: 1.08;
  font-weight: 700;
}

h3 {
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  line-height: 1.14;
  font-weight: 700;
}

.muted { color: var(--muted); }

.grid {
  display: grid;
  gap: 18px;
}

.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.field label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}

select, input, textarea {
  font: inherit;
  width: 100%;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
}

.status-box {
  background: var(--soft);
  border: 1px solid #CFE8DA;
  border-radius: 10px;
  padding: 12px;
  color: var(--primary-dark);
  font-size: 14px;
  align-self: end;
}

.button {
  font-family: 'Sora', 'Inter', system-ui, sans-serif;
  display: inline-block;
  border: none;
  border-radius: 9px;
  padding: 11px 15px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.button.primary { background: var(--primary); color: #fff; }
.button.primary:hover { background: var(--primary-dark); }
.button.secondary { background: #FFFFFF; color: var(--primary-dark); border: 1px solid var(--primary); }
.button:disabled { opacity: 0.55; cursor: not-allowed; }

.data-list {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 8px 12px;
  margin: 0;
}

.data-list.compact { grid-template-columns: 170px 1fr; }

.data-list dt {
  color: var(--muted);
  font-weight: 700;
}

.data-list dd {
  margin: 0;
  font-weight: 600;
}

.footer {
  margin-top: auto;
  color: var(--muted);
  padding: 26px 0 30px;
  font-size: 14px;
  text-align: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  position: relative;
  z-index: 1;
}

.encontrado { color: #0F5F36; }
.nao-encontrado { color: #9A6A1F; }
.erro { color: var(--danger); }

@media (max-width: 820px) {
  .grid.two, .grid.three, .grid.four { grid-template-columns: 1fr; }
  .nav { align-items: flex-start; flex-direction: column; padding: 14px 0; gap: 10px; }
  .site-nav a { margin-left: 0; margin-right: 0; }
}

.hidden { display: none !important; }

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.details-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

.details-table th,
.details-table td {
  text-align: left;
  border-bottom: 1px solid var(--line);
  padding: 10px 8px;
  vertical-align: top;
}

.details-table th {
  width: 230px;
  color: var(--muted);
  font-weight: 700;
}

.details-table td {
  font-weight: 600;
}

.encontrado,
.nao-encontrado,
.erro {
  font-weight: 700;
}

/* Painel web de depreciação */
.depr-hero h1 { margin-bottom: 8px; }
.eyebrow {
  margin: 0 0 8px 0;
  color: var(--primary-dark);
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 13px;
  text-transform: uppercase;
}
.compact-card { padding: 12px; }
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.kpi-card {
  border: 1px solid #CFE8DA;
  background: #F8FBF9;
  border-radius: 12px;
  padding: 14px;
}
.kpi-card span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.kpi-card strong {
  font-size: 26px;
  color: var(--primary-dark);
}
.panel-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tab-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
}
.tab-button.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.status-box.mini {
  min-height: 42px;
  display: flex;
  align-items: center;
}
.small-field { min-width: 300px; }
.table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.data-table {
  margin-top: 0;
  min-width: 920px;
}
.data-table thead th {
  background: #F7F9F7;
  color: var(--text);
}
.data-table th,
.data-table td { font-size: 14px; }
.badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--primary-dark);
  font-weight: 700;
  font-size: 12px;
}
.simple-chart {
  min-height: 260px;
  border: 1px dashed #CBD5D1;
  border-radius: 12px;
  padding: 16px;
  background: #F8FBF9;
  display: flex;
  align-items: flex-end;
  gap: 18px;
}
.empty-chart {
  align-items: center;
  justify-content: center;
  color: var(--muted);
}
.bar-chart-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  min-width: 120px;
  height: 220px;
  gap: 8px;
}
.bar-chart-bar {
  width: 72px;
  min-height: 8px;
  border-radius: 8px 8px 0 0;
  background: var(--primary);
}
.bar-chart-label {
  font-weight: 700;
  text-align: center;
  font-size: 13px;
}
.bar-chart-value {
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}
.proj-list {
  width: 100%;
  display: grid;
  gap: 8px;
  align-self: stretch;
}
.proj-row {
  display: grid;
  grid-template-columns: 70px 1fr 120px;
  gap: 10px;
  align-items: center;
}
.proj-track {
  height: 12px;
  background: #E5E7EB;
  border-radius: 999px;
  overflow: hidden;
}
.proj-fill {
  height: 100%;
  background: var(--primary);
}
.proj-value {
  text-align: right;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
@media (max-width: 920px) {
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-header { flex-direction: column; }
  .small-field { min-width: 100%; }
}

/* Ajustes V23 - Depreciação como painel final */
.depr-workspace {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.depr-sidebar {
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 110px);
  overflow: auto;
}
.depr-main { min-width: 0; }
.small-text { font-size: 13px; }
.side-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 14px 0;
}
.side-stats div {
  border: 1px solid #CFE8DA;
  background: #F8FBF9;
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.side-stats span {
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
}
.side-stats strong { color: var(--primary-dark); }
.saved-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.saved-item {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  background: #fff;
}
.saved-item strong {
  display: block;
  color: var(--text);
  font-size: 13px;
  line-height: 1.25;
}
.saved-item span,
.saved-item small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.calc-feedback {
  margin-top: 16px;
  border: 1px solid #CFE8DA;
  background: #F8FBF9;
  border-radius: 10px;
  padding: 10px 12px;
}
.progress-mini {
  width: 100%;
  height: 7px;
  background: #E5E7EB;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 8px;
}
.progress-mini span {
  display: block;
  width: 0%;
  height: 100%;
  background: var(--primary);
  transition: width .25s ease;
}
.calc-feedback p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
@media (max-width: 1050px) {
  .depr-workspace { grid-template-columns: 1fr; }
  .depr-sidebar { position: static; max-height: none; }
}

/* Ajustes V23 - tela de depreciação final mais responsiva */
.page:has(.depr-workspace-final) .container {
  width: min(1480px, calc(100% - 28px));
}

.depr-workspace-final {
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 18px;
}

.depr-workspace-final .card {
  margin-bottom: 16px;
}

.depr-workspace-final .depr-sidebar {
  top: 78px;
  max-height: calc(100vh - 92px);
}

.depr-workspace-final .depr-sidebar h2,
.depr-workspace-final .consulta-card h1 {
  margin-bottom: 8px;
}

.compact-header {
  align-items: center;
}

.consulta-card {
  padding-bottom: 18px;
}

.consulta-row {
  margin-top: 14px;
}

.side-filter {
  margin-top: 14px;
}

.result-grid {
  align-items: stretch;
}

.graph-grid {
  align-items: stretch;
}

.chart-card {
  min-height: 430px;
}

.auditoria-final .simple-chart {
  min-height: 330px;
  align-items: stretch;
  justify-content: center;
}

.bar-chart-grid {
  width: 100%;
  min-height: 285px;
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  gap: 16px;
}

.auditoria-final .bar-chart-item {
  height: 285px;
  min-width: 100px;
}

.auditoria-final .bar-chart-bar {
  width: min(72px, 72%);
  box-shadow: inset 0 -16px 30px rgba(0,0,0,.08);
}

.line-chart-svg {
  width: 100%;
  min-height: 250px;
  display: block;
}

.chart-axis {
  fill: none;
  stroke: #9CA3AF;
  stroke-width: 1.2;
}

.line-series {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.line-series.base { stroke: #168A4A; }
.line-series.otimista { stroke: #0F5F36; }
.line-series.pessimista { stroke: #C99A3D; }

.chart-label-svg {
  font-size: 12px;
  fill: #6B7280;
  font-weight: 700;
}
.label-base { fill: #168A4A; }
.label-otimista { fill: #0F5F36; }
.label-pessimista { fill: #C99A3D; }

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-top: 8px;
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.dot.base { background: #168A4A; }
.dot.otimista { background: #0F5F36; }
.dot.pessimista { background: #C99A3D; }

.projection-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.projection-summary div {
  border: 1px solid #DDEDE5;
  background: #F8FBF9;
  border-radius: 10px;
  padding: 9px;
}

.projection-summary span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 4px;
}

.projection-summary strong {
  color: var(--primary-dark);
  font-size: 14px;
}

.technical-report {
  white-space: pre-wrap;
  border: 1px solid #DDEDE5;
  background: #F8FBF9;
  border-radius: 12px;
  padding: 16px;
  line-height: 1.45;
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 600;
  margin: 12px 0 16px;
}

.compact-details th,
.compact-details td {
  font-size: 13px;
  padding: 8px;
}

@media (max-width: 1180px) {
  .depr-workspace-final {
    grid-template-columns: 260px minmax(0, 1fr);
  }
  .projection-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .depr-workspace-final {
    grid-template-columns: 1fr;
  }
  .depr-workspace-final .depr-sidebar {
    position: static;
    max-height: none;
  }
}

@media (max-width: 680px) {
  .page:has(.depr-workspace-final) .container {
    width: min(100% - 16px, 1480px);
  }
  .projection-summary {
    grid-template-columns: 1fr;
  }
  .auditoria-final .bar-chart-item {
    min-width: 72px;
  }
}

/* Ajustes V23 - correção de layout e menu provisório recolhível */
.page:has(.depr-workspace-final) {
  padding-top: 18px;
}

.page:has(.depr-workspace-final) .container {
  width: min(1540px, calc(100% - 24px));
}

.depr-workspace-final {
  grid-template-columns: minmax(0, 1fr) !important;
}

.depr-main {
  width: 100%;
}

.base-drawer-toggle {
  margin: 0 0 14px 0;
  border: 1px solid var(--line);
}

.base-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, .38);
  z-index: 30;
}

.base-drawer {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  width: min(390px, calc(100vw - 28px));
  height: 100vh;
  max-height: 100vh !important;
  overflow-y: auto;
  z-index: 40;
  border-radius: 0 18px 18px 0;
  transition: transform .22s ease;
  margin: 0 !important;
}

.base-drawer.hidden-drawer {
  transform: translateX(calc(-100% - 24px));
}

.drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.drawer-header h2 {
  margin: 0;
}

.drawer-close {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.consulta-card .section-header {
  margin-bottom: 8px;
}

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

.auditoria-final .simple-chart {
  display: block;
  min-height: 360px;
  overflow: hidden;
}

.bar-chart-grid {
  min-height: 285px;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(10px, 3vw, 34px);
  overflow-x: auto;
  padding: 4px 6px 0;
}

.auditoria-final .bar-chart-item {
  min-width: 84px;
  max-width: 130px;
}

.auditoria-final .bar-chart-bar {
  width: clamp(46px, 7vw, 74px);
}

.line-chart-svg {
  width: 100%;
  height: auto;
  min-height: 260px;
  max-height: 330px;
}

.projection-summary {
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  width: 100%;
}

.report-card {
  overflow-x: auto;
}

.details-table.compact-details:empty,
.details-table.compact-details tbody:empty {
  display: none;
}

@media (max-width: 1180px) {
  .result-grid,
  .graph-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .page:has(.depr-workspace-final) .container {
    width: min(100% - 14px, 1540px);
  }
  .projection-summary {
    grid-template-columns: 1fr 1fr;
  }
  .consulta-row.grid.two,
  .consulta-row.grid.three {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .projection-summary {
    grid-template-columns: 1fr;
  }
}

/* V23.1 - ajuste de fluxo e área gráfica da depreciação */
.single-summary {
  display: block;
}
.single-summary.hidden {
  display: none !important;
}
.single-summary #card_resultado {
  width: 100%;
}
.resumo-inline {
  max-width: 760px;
}
.auditoria-final .graph-grid {
  display: grid;
  grid-template-columns: minmax(360px, .85fr) minmax(520px, 1.35fr);
  gap: 22px;
}
.auditoria-final .chart-card {
  min-height: 500px;
}
.auditoria-final #grafico_projecao {
  min-height: 430px;
}
.auditoria-final #grafico_barras {
  min-height: 430px;
}
.auditoria-final .line-chart-svg {
  min-height: 310px;
  max-height: none;
}
.auditoria-final .projection-summary {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
}
@media (max-width: 1180px) {
  .auditoria-final .graph-grid {
    grid-template-columns: 1fr;
  }
}

/* V23.2 - gráficos estáveis e filtro progressivo FIPE */
.auditoria-final .graph-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 22px;
  align-items: stretch;
}
.auditoria-final .chart-card {
  min-width: 0;
  min-height: 560px;
  display: flex;
  flex-direction: column;
}
.auditoria-final .simple-chart {
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden !important;
  flex: 1;
}
.auditoria-final #grafico_barras,
.auditoria-final #grafico_projecao {
  min-height: 420px;
}
.auditoria-final .bar-chart-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  justify-items: center;
  gap: clamp(8px, 2vw, 24px);
  width: 100%;
  overflow: hidden !important;
  padding: 10px 2px 0;
}
.auditoria-final .bar-chart-item {
  min-width: 0 !important;
  width: 100%;
  max-width: none;
  height: 300px;
}
.auditoria-final .bar-chart-value {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.auditoria-final .bar-chart-label {
  max-width: 100%;
  font-size: 13px;
}
.auditoria-final .bar-chart-bar {
  width: clamp(42px, 42%, 76px) !important;
}
.auditoria-final .line-chart-svg {
  width: 100%;
  min-height: 315px;
  max-height: 380px;
}
.auditoria-final .projection-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.auditoria-final .projection-summary strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}
@media (max-width: 1180px) {
  .auditoria-final .graph-grid {
    grid-template-columns: 1fr !important;
  }
  .auditoria-final .chart-card {
    min-height: auto;
  }
}

/* V23.3 - resultado: resumo + barras em cima; curva grande embaixo */
.result-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}
.result-top-grid.hidden {
  display: none !important;
}
.result-top-grid .result-card,
.result-top-grid .chart-card-bars {
  min-height: 420px;
  height: 100%;
  min-width: 0;
}
.result-top-grid #card_resultado {
  width: auto !important;
}
.result-top-grid .resumo-inline {
  max-width: 560px;
}
.chart-card-bars.hidden {
  display: none !important;
}
.result-top-grid:has(.chart-card-bars.hidden) {
  grid-template-columns: minmax(0, 1fr);
}
.result-top-grid:has(.chart-card-bars.hidden) .result-card {
  min-height: 260px;
}
.result-top-grid .simple-chart {
  min-height: 270px;
  overflow: hidden !important;
}
.result-top-grid .bar-chart-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  justify-items: center;
  gap: clamp(8px, 2vw, 24px);
  width: 100%;
  min-height: 255px;
  overflow: hidden !important;
  padding: 8px 2px 0;
}
.result-top-grid .bar-chart-item {
  min-width: 0 !important;
  width: 100%;
  max-width: none;
  height: 255px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.result-top-grid .bar-chart-bar {
  width: clamp(42px, 42%, 76px) !important;
  max-height: 210px;
}
.result-top-grid .bar-chart-value {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.result-top-grid .bar-chart-label {
  max-width: 100%;
  font-size: 13px;
}
.auditoria-final .chart-card-curve {
  min-height: 650px;
  width: 100%;
}
.auditoria-final .chart-card-curve #grafico_projecao {
  min-height: 520px;
  display: block;
}
.auditoria-final .chart-card-curve .line-chart-svg {
  min-height: 390px;
  max-height: none;
}
.auditoria-final .chart-card-curve .projection-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1100px) {
  .result-top-grid {
    grid-template-columns: 1fr;
  }
  .result-top-grid .result-card,
  .result-top-grid .chart-card-bars {
    min-height: auto;
  }
  .auditoria-final .chart-card-curve {
    min-height: auto;
  }
}

/* Varredura provisória da FIPE */
#fipe_marca option.marca-pendente-varredura,
#fipe_marca option[data-varrida="0"] {
  color: var(--danger);
  font-weight: 700;
}
#fipe_marca option.marca-varrida,
#fipe_marca option[data-varrida="1"] {
  color: var(--text);
  font-weight: 500;
}
.sweep-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.sweep-button {
  padding: 8px 12px;
  font-size: 13px;
}
.sweep-status {
  margin: 7px 0 0 0;
  font-size: 13px;
  line-height: 1.35;
}
.sweep-status.running { color: #9A6A1F; font-weight: 700; }
.sweep-status.ok { color: #0F5F36; font-weight: 700; }
.sweep-status.error { color: var(--danger); font-weight: 700; }

.fipe-usage-box {
  font-size: .9rem;
  line-height: 1.35;
}
.fipe-error-box {
  margin: 1rem 0;
  border-color: #F3C6C6;
  background: #FFF7F7;
  color: var(--danger);
  font-weight: 700;
}
.fipe-error-box .button {
  margin-top: .75rem;
}
.hidden { display: none !important; }

.button.danger { background: #FFF7F7; color: var(--danger); border: 1px solid #F3C6C6; }
.button.danger:hover { background: #FCECEC; }

/* V24.6 - terminal temporário do diagnóstico V19.17 */
.v1917-temp-tabs {
  margin-top: 12px;
  margin-bottom: 8px;
}

.terminal-toolbar-v1917 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #1F2933;
  border-bottom: 0;
  background: #0B1720;
  color: #CBD5D1;
  border-radius: 12px 12px 0 0;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 700;
}

.terminal-toolbar-v1917 .button {
  padding: 7px 10px;
  font-size: 12px;
}

.terminal-v1917 {
  margin: 0 0 16px;
  min-height: 420px;
  max-height: 640px;
  overflow: auto;
  white-space: pre-wrap;
  border: 1px solid #1F2933;
  background: #071018;
  color: #CBD5D1;
  border-radius: 0 0 12px 12px;
  padding: 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.55;
}

/* V26 - leitura técnica dos gráficos do Render */
.chart-scale-note {
  margin: 6px 0 4px;
  font-size: 11px;
  line-height: 1.35;
  color: #6B7280;
  text-align: center;
}
.chart-card-history.hidden {
  display: none !important;
}
.chart-card-history .simple-chart {
  min-height: 430px;
}

/* V27 - gráficos auditáveis do Render */
.line-chart-svg.grid-chart-svg {
  background: #ffffff;
}
.chart-grid-line {
  stroke: #E5E7EB;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.chart-axis-title {
  font-weight: 700;
  fill: #6B7280;
}
.history-table-wrap {
  margin-top: 18px;
  border-top: 1px solid #E5E7EB;
  padding-top: 14px;
}
.history-table-wrap.hidden {
  display: none !important;
}
.history-table-wrap h3 {
  font-size: 18px;
  margin: 0 0 6px;
  color: var(--text);
}
.history-table-scroll {
  max-height: 360px;
  overflow: auto;
  border: 1px solid #DDEDE5;
  border-radius: 10px;
  background: #fff;
}
.history-month-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.history-month-table thead th {
  position: sticky;
  top: 0;
  background: #F7F9F7;
  z-index: 1;
}
.history-month-table td,
.history-month-table th {
  text-align: left;
  white-space: nowrap;
}


/* V9 - destaque de curvas de baixa confiança */
.result-model-line { margin: 8px 0 14px; font-size: 14px; }
.result-model-line.hidden { display: none !important; }
.result-model-line.low-confidence span { color: var(--danger); font-weight: 700; }

.history-chart-block {
  margin-top: 14px;
}
.history-chart-block h3 {
  font-size: 18px;
  margin: 0 0 8px;
  color: var(--text);
}


/* V26 CurVE — identidade visual, tipografia e contraste */
html { scroll-behavior: smooth; }
body, input, select, textarea, button { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
button, .button { transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-1px); }
.button.primary {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 10px 20px rgba(22, 138, 74, .16);
}
.button.primary:hover { background: var(--primary-dark); }
.button.secondary:hover { background: var(--soft); }
.button.danger { background: #FFF7F7; color: var(--danger); border: 1px solid #F3C6C6; }
.button.danger:hover { background: #FCECEC; }
.card {
  border-color: var(--line);
  border-radius: 16px;
}
.card p { color: var(--text-strong); }
.card .muted, .muted { color: var(--muted); }
.field label {
  color: var(--text-strong);
  letter-spacing: -.005em;
}
select, input, textarea {
  border-color: var(--line);
  border-radius: 10px;
  color: var(--text);
  background: #fff;
}
select:focus, input:focus, textarea:focus {
  outline: 3px solid rgba(22, 138, 74, .14);
  border-color: var(--primary);
}
input[type="checkbox"] { accent-color: var(--primary); }
.data-list dd,
.kpi-card strong,
.side-stats strong,
.projection-summary strong,
.result-card dd,
.finance-results dd {
  font-variant-numeric: tabular-nums;
}
.status-box {
  background: var(--soft);
  border-color: #CFE8DA;
  color: var(--primary-dark);
}
.kpi-card,
.side-stats div,
.projection-summary div,
.technical-report,
.calc-feedback {
  border-color: #DDEDE5;
  background: #F8FBF9;
}
.badge {
  background: var(--soft);
  color: var(--primary-dark);
}
.badge.pronto, .badge.ok, .encontrado { color: var(--primary-dark); }
.badge.pendente, .nao-encontrado { color: #9A6A1F; }
.badge.insuficiente, .erro { color: var(--danger); }
.details-table th,
.data-table thead th,
.history-month-table thead th {
  background: #F7F9F7;
  color: var(--text-strong);
}
.details-table tr:hover td,
.data-table tr:hover td,
.history-month-table tr:hover td { background: #FAFCFA; }
.simple-chart {
  border-color: #DDEDE5;
  background: #F8FBF9;
}
.bar-chart-bar, .proj-fill, .progress-mini span { background: var(--primary); }
.line-series.base { stroke: var(--primary); }
.line-series.otimista { stroke: var(--primary-dark); }
.line-series.pessimista { stroke: var(--accent); }
.label-base { fill: var(--primary); }
.label-otimista { fill: var(--primary-dark); }
.label-pessimista { fill: var(--accent); }
.dot.base { background: var(--primary); }
.dot.otimista { background: var(--primary-dark); }
.dot.pessimista { background: var(--accent); }
.chart-grid-line { stroke: var(--line); }
.terminal-toolbar-v1917,
.terminal-v1917 { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.finance-card .button { width: 100%; }
.form-card { max-width: 820px; margin: 0 auto; }
.home-feature-grid { margin-top: 18px; }
.home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary-dark);
  background: var(--soft);
  border: 1px solid #CFE8DA;
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 14px;
}
.hero p { max-width: 760px; font-size: 1.05rem; color: var(--text-strong); }
.hero h1 .curve-accent { color: var(--primary); }
@media (max-width: 820px) {
  .nav { align-items: flex-start; flex-direction: column; padding: 14px 0; gap: 12px; }
  .brand img { height: 48px; width: min(240px, 72vw); }
  .site-nav { justify-content: flex-start; }
  .site-nav a { padding: 8px 9px; }
}

.field + .field { margin-top: 16px; }
textarea { resize: vertical; }

.bar-chart-bar.inicial { background: var(--text); }
.bar-chart-bar.base { background: var(--primary); }
.bar-chart-bar.otimista { background: var(--primary-dark); }
.bar-chart-bar.pessimista { background: var(--accent); }


/* V29 - alinhamento da seleção FIPE e leitura dos novos campos de depreciação */
#fipe_search_area.consulta-row.grid.three {
  align-items: end;
}

#fipe_search_area.consulta-row.grid.three .field,
#fipe_search_area.consulta-row.grid.three .field + .field {
  margin-top: 0 !important;
}

/* V28 - ajustes de apresentação da depreciação e exportação em PDF */
.consulta-horizonte-row {
  max-width: 360px;
}

.pdf-report-header {
  display: none;
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  html,
  body {
    background: #fff !important;
    color: #111827 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .topbar,
  .footer,
  .depr-sidebar,
  .base-drawer,
  .base-drawer-backdrop,
  #btn_toggle_base_provisoria,
  .consulta-card,
  .actions,
  #calculo_feedback {
    display: none !important;
  }

  .page,
  .page:has(.depr-workspace-final),
  .container,
  .page:has(.depr-workspace-final) .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .depr-workspace,
  .depr-workspace-final,
  .depr-main,
  #resultado_area,
  #auditoria_area,
  #historico_render_area,
  #card_grafico_barras {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  .pdf-report-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 2px solid #168A4A;
    padding-bottom: 10px;
    margin-bottom: 14px;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .pdf-report-header img {
    width: 170px;
    height: auto;
    object-fit: contain;
  }

  .pdf-report-header div {
    text-align: right;
    font-size: 12px;
    color: #374151;
  }

  .pdf-report-header strong {
    display: block;
    color: #0B1720;
    font-size: 18px;
    margin-bottom: 4px;
  }

  .result-top-grid,
  .auditoria-final {
    display: block !important;
  }

  .card,
  .result-top-grid .result-card,
  .result-top-grid .chart-card-bars,
  .auditoria-final .chart-card,
  .auditoria-final .chart-card-curve,
  .chart-card-history {
    box-shadow: none !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin: 0 0 12px !important;
    min-height: 0 !important;
    height: auto !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .simple-chart,
  .auditoria-final .simple-chart,
  .result-top-grid .simple-chart,
  .auditoria-final #grafico_projecao,
  .auditoria-final .chart-card-curve #grafico_projecao {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .line-chart-svg,
  .auditoria-final .line-chart-svg,
  .auditoria-final .chart-card-curve .line-chart-svg {
    min-height: 250px !important;
    max-height: 285px !important;
  }

  .bar-chart-grid,
  .result-top-grid .bar-chart-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: end !important;
    justify-items: center !important;
    min-height: 230px !important;
    height: 230px !important;
    overflow: visible !important;
  }

  .bar-chart-item,
  .result-top-grid .bar-chart-item {
    height: 230px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }

  .bar-chart-bar,
  .result-top-grid .bar-chart-bar {
    display: block !important;
    width: 42px !important;
    min-height: 12px !important;
    max-height: 185px !important;
    opacity: 1 !important;
    border-radius: 4px 4px 0 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .bar-chart-bar.inicial,
  .result-top-grid .bar-chart-bar.inicial {
    background-color: #14232C !important;
    border: 1.5pt solid #14232C !important;
  }

  .bar-chart-bar.base,
  .result-top-grid .bar-chart-bar.base {
    background-color: #168A4A !important;
    border: 1.5pt solid #168A4A !important;
  }

  .bar-chart-bar.otimista,
  .result-top-grid .bar-chart-bar.otimista {
    background-color: #0F5F36 !important;
    border: 1.5pt solid #0F5F36 !important;
  }

  .bar-chart-bar.pessimista,
  .result-top-grid .bar-chart-bar.pessimista {
    background-color: #C99A3D !important;
    border: 1.5pt solid #C99A3D !important;
  }

  .projection-summary,
  .auditoria-final .projection-summary,
  .auditoria-final .chart-card-curve .projection-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .technical-report {
    white-space: pre-wrap !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  h1, h2, h3 {
    color: #0B1720 !important;
  }
}

/* V32 - relatório profissional de depreciação */
#card_resultado .resumo-inline {
  grid-template-columns: minmax(180px, 0.88fr) minmax(220px, 1.12fr);
}

#resultado_status.encontrado {
  font-weight: 700;
}

.technical-report:has(.professional-report) {
  white-space: normal;
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: 500;
}

.professional-report {
  display: grid;
  gap: 16px;
  color: var(--text);
}

.professional-section {
  border: 1px solid #DDEDE5;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBF9 100%);
  border-radius: 14px;
  padding: 18px;
  break-inside: avoid;
}

.professional-section h3 {
  margin: 0 0 10px;
  font-size: clamp(1.12rem, 1.35vw, 1.45rem);
  letter-spacing: -0.025em;
}

.professional-section p {
  margin: 0 0 10px;
  color: var(--text-strong);
}

.report-section-kicker {
  display: inline-flex;
  align-items: center;
  border: 1px solid #CFE8DA;
  background: var(--soft);
  color: var(--primary-dark);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 10px;
}

.report-lead {
  font-size: 0.98rem;
  line-height: 1.55;
}

.report-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.report-metric {
  border: 1px solid #DDEDE5;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 12px;
  min-height: 76px;
}

.report-metric.primary {
  border-color: #BFE4CE;
  background: #F1F8F4;
}

.report-metric span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
}

.report-metric strong {
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.22;
  font-variant-numeric: tabular-nums;
}

.report-clean-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #DDEDE5;
  border-radius: 12px;
  background: #FFFFFF;
  margin-top: 10px;
}

.report-clean-table th,
.report-clean-table td {
  text-align: left;
  vertical-align: top;
  padding: 10px 12px;
  border-bottom: 1px solid #EAF1ED;
}

.report-clean-table tr:last-child th,
.report-clean-table tr:last-child td {
  border-bottom: 0;
}

.report-clean-table th {
  width: 250px;
  color: var(--muted);
  font-weight: 800;
  background: #FAFCFA;
}

.report-clean-table td {
  color: var(--text);
  font-weight: 650;
}

.method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.method-grid div {
  border: 1px solid #DDEDE5;
  border-radius: 12px;
  background: #FFFFFF;
  padding: 12px;
}

.method-grid strong {
  display: block;
  color: var(--text);
  margin-bottom: 5px;
}

.method-grid span {
  display: block;
  color: var(--text-strong);
  font-size: 13px;
  line-height: 1.45;
}

.report-note {
  border-left: 4px solid var(--primary);
  padding-left: 12px;
  margin-top: 12px !important;
  color: var(--muted) !important;
}

@media (max-width: 820px) {
  .report-metrics-grid,
  .method-grid {
    grid-template-columns: 1fr;
  }
  #card_resultado .resumo-inline {
    grid-template-columns: 1fr;
  }
}

@media print {
  .technical-report:has(.professional-report) {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    white-space: normal !important;
    font-size: 10.5px !important;
  }

  .professional-report {
    gap: 9px !important;
  }

  .professional-section {
    padding: 10px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .professional-section h3 {
    font-size: 14px !important;
    margin-bottom: 6px !important;
  }

  .report-section-kicker {
    font-size: 9px !important;
    padding: 3px 7px !important;
    background: #EAF5EF !important;
    color: #0F5F36 !important;
  }

  .report-lead,
  .professional-section p,
  .method-grid span {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }

  .report-metrics-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .report-metric {
    min-height: 0 !important;
    padding: 7px !important;
    border: 1px solid #D1D5DB !important;
    background: #FFFFFF !important;
  }

  .report-metric.primary {
    background: #F1F8F4 !important;
  }

  .report-metric span {
    font-size: 8.5px !important;
    margin-bottom: 3px !important;
  }

  .report-metric strong {
    font-size: 11px !important;
  }

  .report-clean-table th,
  .report-clean-table td {
    padding: 5px 7px !important;
    font-size: 9.8px !important;
  }

  .method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .method-grid div {
    padding: 7px !important;
    border: 1px solid #D1D5DB !important;
  }
}

/* V32 - relatório profissional de depreciação */
.technical-report.professional-report-shell {
  white-space: normal;
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--text);
  font-size: 1rem;
  font-weight: 500;
}

.professional-report {
  display: grid;
  gap: 16px;
}

.report-section {
  border: 1px solid #DDEDE5;
  border-radius: 16px;
  background: #FFFFFF;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(20, 35, 44, 0.035);
}

.report-section h3 {
  margin: 0 0 8px;
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  letter-spacing: -0.03em;
}

.report-kicker {
  margin: 0 0 8px;
  color: var(--primary-dark);
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.report-lead {
  margin: 0 0 14px;
  color: var(--muted);
  max-width: 880px;
}

.report-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.report-metric {
  border: 1px solid #DDEDE5;
  border-radius: 13px;
  background: #F8FBF9;
  padding: 12px 14px;
  min-height: 76px;
}

.report-metric span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.report-metric strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.25;
}

.report-metric-highlight {
  background: linear-gradient(180deg, #FFFFFF, #EAF5EF);
  border-color: #BFE4CF;
}

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

.scenario-card {
  border: 1px solid #DDEDE5;
  border-radius: 15px;
  background: #FFFFFF;
  padding: 15px;
  min-height: 112px;
}

.scenario-card span {
  display: block;
  color: var(--muted);
  font-weight: 800;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.scenario-card strong {
  display: block;
  margin-top: 8px;
  color: var(--text);
  font-size: 1.25rem;
  line-height: 1.15;
}

.scenario-card small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.35;
}

.scenario-base { border-top: 4px solid var(--primary); }
.scenario-optimistic { border-top: 4px solid var(--primary-dark); }
.scenario-pessimistic { border-top: 4px solid var(--accent); }

.reference-card {
  border-left: 5px solid var(--primary);
  border-radius: 13px;
  background: #F8FBF9;
  padding: 14px 16px;
  color: var(--text-strong);
  font-weight: 750;
  margin: 6px 0 14px;
}

.professional-report-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 0.95rem;
}

.professional-report-table th,
.professional-report-table td {
  border-bottom: 1px solid var(--line);
  padding: 10px 9px;
  text-align: left;
  vertical-align: top;
}

.professional-report-table th {
  width: 260px;
  color: var(--muted);
  background: #F7FAF8;
  font-weight: 800;
}

.professional-report-table td {
  color: var(--text);
  font-weight: 650;
}

.methodology-box p {
  margin: 0 0 10px;
  color: var(--text-strong);
}

.methodology-box p:last-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .report-metric-grid,
  .scenario-grid {
    grid-template-columns: 1fr;
  }
  .professional-report-table th,
  .professional-report-table td {
    display: block;
    width: 100%;
  }
}

@media print {
  .technical-report.professional-report-shell {
    white-space: normal !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.28 !important;
  }

  .professional-report {
    display: block !important;
  }

  .report-section {
    box-shadow: none !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 10px !important;
    padding: 10px !important;
    margin: 0 0 10px !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .report-section h3 {
    font-size: 14px !important;
    margin-bottom: 5px !important;
  }

  .report-kicker {
    font-size: 9.5px !important;
    margin-bottom: 4px !important;
  }

  .report-lead,
  .methodology-box p {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    margin-bottom: 7px !important;
  }

  .report-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .report-metric {
    min-height: 0 !important;
    padding: 7px !important;
    border-radius: 7px !important;
    break-inside: avoid;
  }

  .report-metric span,
  .scenario-card span {
    font-size: 8.5px !important;
  }

  .report-metric strong,
  .scenario-card strong {
    font-size: 11px !important;
  }

  .scenario-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .scenario-card {
    min-height: 0 !important;
    padding: 8px !important;
    border-radius: 8px !important;
    break-inside: avoid;
  }

  .scenario-card small {
    font-size: 9px !important;
  }

  .reference-card {
    padding: 8px !important;
    margin-bottom: 7px !important;
    font-size: 10.5px !important;
  }

  .professional-report-table {
    font-size: 9.8px !important;
  }

  .professional-report-table th,
  .professional-report-table td {
    padding: 5px 6px !important;
  }

  .professional-report-table th {
    width: 200px !important;
  }
}

/* V32.1 - acabamento visual do relatório profissional gerado no site/PDF */
.chart-card-bars h2::after {
  content: "";
}

.professional-report-shell {
  font-family: inherit;
}

.professional-report .report-section {
  border: 1px solid #DDEDE5;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBF9 100%);
  border-radius: 16px;
  padding: 18px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.professional-report .report-section h3 {
  margin: 0 0 10px;
  font-size: clamp(1.12rem, 1.35vw, 1.45rem);
  letter-spacing: -0.025em;
  color: var(--text);
}

.professional-report .report-section p {
  margin: 0 0 10px;
  color: var(--text-strong);
}

.professional-report .report-kicker {
  display: inline-flex;
  align-items: center;
  border: 1px solid #CFE8DA;
  background: var(--soft);
  color: var(--primary-dark);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 10px;
}

.professional-report .report-metric-grid,
.professional-report .scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.professional-report .report-metric,
.professional-report .scenario-card {
  border: 1px solid #DDEDE5;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 12px;
  min-height: 76px;
}

.professional-report .report-metric-highlight,
.professional-report .scenario-base {
  border-color: #BFE4CE;
  background: #F1F8F4;
}

.professional-report .scenario-optimistic {
  border-color: #A8D8BD;
  background: #F6FBF8;
}

.professional-report .scenario-pessimistic {
  border-color: #E6D2A4;
  background: #FFFCF4;
}

.professional-report .report-metric span,
.professional-report .scenario-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
}

.professional-report .report-metric strong,
.professional-report .scenario-card strong {
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.22;
  font-variant-numeric: tabular-nums;
}

.professional-report .scenario-card small {
  display: block;
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.3;
}

.professional-report .reference-card {
  border-left: 4px solid var(--primary);
  background: #F3FAF6;
  color: var(--text);
  border-radius: 12px;
  padding: 12px 14px;
  font-weight: 750;
  line-height: 1.45;
  margin: 12px 0;
}

.professional-report .professional-report-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #DDEDE5;
  border-radius: 12px;
  background: #FFFFFF;
  margin-top: 10px;
}

.professional-report .professional-report-table th,
.professional-report .professional-report-table td {
  text-align: left;
  vertical-align: top;
  padding: 10px 12px;
  border-bottom: 1px solid #EAF1ED;
}

.professional-report .professional-report-table tr:last-child th,
.professional-report .professional-report-table tr:last-child td {
  border-bottom: 0;
}

.professional-report .professional-report-table th {
  width: 260px;
  color: var(--muted);
  font-weight: 800;
  background: #FAFCFA;
}

.professional-report .professional-report-table td {
  color: var(--text);
  font-weight: 650;
}

.professional-report .methodology-box {
  background: linear-gradient(180deg, #F8FBF9 0%, #FFFFFF 100%);
}

@media (max-width: 820px) {
  .professional-report .report-metric-grid,
  .professional-report .scenario-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .chart-card-bars h2 {
    font-size: 18px !important;
  }

  .professional-report .report-section {
    padding: 10px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .professional-report .report-section h3 {
    font-size: 14px !important;
    margin-bottom: 6px !important;
  }

  .professional-report .report-kicker {
    font-size: 9px !important;
    padding: 3px 7px !important;
    background: #EAF5EF !important;
    color: #0F5F36 !important;
  }

  .professional-report .report-lead,
  .professional-report .report-section p,
  .professional-report .scenario-card small {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }

  .professional-report .report-metric-grid,
  .professional-report .scenario-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .professional-report .report-metric,
  .professional-report .scenario-card {
    min-height: 0 !important;
    padding: 7px !important;
    border: 1px solid #D1D5DB !important;
    background: #FFFFFF !important;
  }

  .professional-report .report-metric-highlight,
  .professional-report .scenario-base {
    background: #F1F8F4 !important;
  }

  .professional-report .report-metric span,
  .professional-report .scenario-card span {
    font-size: 8.5px !important;
    margin-bottom: 3px !important;
  }

  .professional-report .report-metric strong,
  .professional-report .scenario-card strong {
    font-size: 11px !important;
  }

  .professional-report .reference-card {
    padding: 7px 9px !important;
    font-size: 10px !important;
    border-left: 3px solid #168A4A !important;
    background: #F3FAF6 !important;
  }

  .professional-report .professional-report-table th,
  .professional-report .professional-report-table td {
    padding: 5px 7px !important;
    font-size: 9.8px !important;
  }

  .professional-report .professional-report-table th {
    width: 185px !important;
  }
}


/* V33 - abas Resultado/Auditoria e memória de cálculo acadêmica */
.depreciacao-tabs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 18px;
  padding: 6px;
  border: 1px solid #DDEDE5;
  background: #F7FBF8;
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(15, 95, 54, 0.08);
}

.depreciacao-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 850;
  border-radius: 999px;
  padding: 10px 18px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.depreciacao-tab:hover {
  color: var(--primary-dark);
  background: #FFFFFF;
}

.depreciacao-tab.active {
  background: var(--primary);
  color: #FFFFFF;
  box-shadow: 0 12px 22px rgba(22, 138, 74, 0.20);
}

.audit-view {
  margin-top: 0;
}

.audit-card {
  border: 1px solid #DDEDE5;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBF9 100%);
}

.audit-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid #CFE8DA;
  background: var(--soft);
  color: var(--primary-dark);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 8px;
}

.audit-terminal,
.audit-terminal-inner {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.55;
  color: #10212B;
}

.audit-terminal {
  border: 1px solid #DDEDE5;
  background: linear-gradient(180deg, #FAFCFA 0%, #FFFFFF 100%);
  border-radius: 16px;
  padding: 18px;
  overflow: hidden;
  white-space: normal;
}

.audit-terminal-inner {
  display: grid;
  gap: 16px;
}

.audit-block {
  border: 1px solid #DDEDE5;
  background: #FFFFFF;
  border-radius: 16px;
  padding: 16px;
}

.audit-block h3 {
  margin: 0 0 12px;
  color: var(--text);
  font-family: var(--font-title, inherit);
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}

.audit-kv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.audit-kv {
  border: 1px solid #E6EFEA;
  border-radius: 12px;
  background: #FAFCFB;
  padding: 10px 12px;
}

.audit-kv span {
  display: block;
  color: var(--muted);
  font-family: var(--font-body, inherit);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
}

.audit-kv strong {
  display: block;
  color: var(--text);
  font-weight: 850;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.audit-code {
  white-space: pre-wrap;
  overflow-x: auto;
  border: 1px solid #1F2933;
  background: #071018;
  color: #D8F3E3;
  border-radius: 14px;
  padding: 16px;
  margin: 0 0 12px;
  font-size: 12.5px;
  line-height: 1.6;
}

.audit-note {
  margin: 0 0 10px;
  color: #374151;
  font-family: var(--font-body, inherit);
  font-size: 14px;
  line-height: 1.5;
}

.audit-note:last-child {
  margin-bottom: 0;
}

.audit-table-wrap {
  width: 100%;
  max-height: 620px;
  overflow: auto;
  border: 1px solid #DDEDE5;
  border-radius: 14px;
  background: #FFFFFF;
}

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

.audit-table th,
.audit-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #EAF1ED;
  text-align: right;
  white-space: nowrap;
}

.audit-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #F4FAF6;
  color: var(--primary-dark);
  font-weight: 900;
}

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

.audit-table tbody tr:hover td {
  background: #F8FBF9;
}

.audit-table tbody tr:last-child td {
  background: #F1F8F4;
  font-weight: 850;
}

@media (max-width: 860px) {
  .depreciacao-tabs {
    display: flex;
    width: 100%;
  }
  .depreciacao-tab {
    flex: 1;
  }
  .audit-kv-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  #depreciacao_abas,
  #auditoria_calculo_area {
    display: none !important;
  }
}

.audit-lab-header {
  align-items: flex-start;
  gap: 16px;
}

.audit-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

@media print {
  body:not(.print-audit-mode) #auditoria_calculo_area {
    display: none !important;
  }

  body.print-audit-mode .consulta-card,
  body.print-audit-mode #resultado_area,
  body.print-audit-mode #auditoria_area,
  body.print-audit-mode #card_grafico_barras,
  body.print-audit-mode .depreciacao-tabs,
  body.print-audit-mode .audit-actions {
    display: none !important;
  }

  body.print-audit-mode #auditoria_calculo_area {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.print-audit-mode .audit-card,
  body.print-audit-mode .audit-block {
    box-shadow: none !important;
    border: 1px solid #D1D5DB !important;
    background: #FFFFFF !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.print-audit-mode .audit-table-wrap {
    max-height: none !important;
    overflow: visible !important;
  }

  body.print-audit-mode .audit-table {
    min-width: 0 !important;
    font-size: 8.5px !important;
  }

  body.print-audit-mode .audit-table th,
  body.print-audit-mode .audit-table td {
    padding: 4px 5px !important;
  }

  body.print-audit-mode .audit-code {
    background: #F4F8F6 !important;
    color: #111827 !important;
    border: 1px solid #D1D5DB !important;
    font-size: 9.5px !important;
  }
}

/* Aliases usados no template V33 */
.depreciacao-tabs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 18px;
  padding: 6px;
  border: 1px solid #DDEDE5;
  background: #F7FBF8;
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(15, 95, 54, 0.08);
}

.depreciacao-tab {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 850;
  border-radius: 999px;
  padding: 10px 18px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.depreciacao-tab:hover {
  color: var(--primary-dark);
  background: #FFFFFF;
}

.depreciacao-tab.active {
  background: var(--primary);
  color: #FFFFFF;
  box-shadow: 0 12px 22px rgba(22, 138, 74, 0.20);
}

@media (max-width: 860px) {
  .depreciacao-tabs {
    display: flex;
    width: 100%;
  }
  .depreciacao-tab {
    flex: 1;
  }
}

/* V33 - abas Resultado/Auditoria e memória de cálculo acadêmica */
.depreciacao-tabs,
.depr-view-tabs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 18px;
  padding: 6px;
  border: 1px solid #DDEDE5;
  background: #F7FBF8;
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(15, 95, 54, 0.08);
}

.depreciacao-tabs.hidden,
.depr-view-tabs.hidden {
  display: none !important;
}

.depreciacao-tab,
.depr-view-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 850;
  border-radius: 999px;
  padding: 10px 18px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.depreciacao-tab:hover,
.depr-view-tab:hover {
  color: var(--primary-dark);
  background: #FFFFFF;
}

.depreciacao-tab.active,
.depr-view-tab.active {
  background: var(--primary);
  color: #FFFFFF;
  box-shadow: 0 12px 22px rgba(22, 138, 74, 0.20);
}

.audit-view {
  margin-top: 0;
}

.audit-view.hidden {
  display: none !important;
}

.audit-card {
  border: 1px solid #DDEDE5;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBF9 100%);
}

.audit-lab-header {
  align-items: flex-start;
  gap: 16px;
}

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

.audit-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid #CFE8DA;
  background: var(--soft);
  color: var(--primary-dark);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 8px;
}

.audit-terminal,
.audit-terminal-inner {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.55;
  color: #10212B;
}

.audit-terminal {
  border: 1px solid #DDEDE5;
  background: linear-gradient(180deg, #FAFCFA 0%, #FFFFFF 100%);
  border-radius: 16px;
  padding: 18px;
  overflow: hidden;
  white-space: normal;
}

.audit-terminal-inner {
  display: grid;
  gap: 16px;
}

.audit-block {
  border: 1px solid #DDEDE5;
  background: #FFFFFF;
  border-radius: 16px;
  padding: 16px;
}

.audit-block h3 {
  margin: 0 0 12px;
  color: var(--text);
  font-family: var(--font-title, inherit);
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}

.audit-kv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.audit-kv {
  border: 1px solid #E6EFEA;
  border-radius: 12px;
  background: #FAFCFB;
  padding: 10px 12px;
}

.audit-kv span {
  display: block;
  color: var(--muted);
  font-family: var(--font-body, inherit);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
}

.audit-kv strong {
  display: block;
  color: var(--text);
  font-weight: 850;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.audit-code {
  white-space: pre-wrap;
  overflow-x: auto;
  border: 1px solid #1F2933;
  background: #071018;
  color: #D8F3E3;
  border-radius: 14px;
  padding: 16px;
  margin: 0 0 12px;
  font-size: 12.5px;
  line-height: 1.6;
}

.audit-note {
  margin: 0 0 10px;
  color: #374151;
  font-family: var(--font-body, inherit);
  font-size: 14px;
  line-height: 1.5;
}

.audit-note:last-child {
  margin-bottom: 0;
}

.audit-table-wrap {
  width: 100%;
  max-height: 620px;
  overflow: auto;
  border: 1px solid #DDEDE5;
  border-radius: 14px;
  background: #FFFFFF;
}

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

.audit-table th,
.audit-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #EAF1ED;
  text-align: right;
  white-space: nowrap;
}

.audit-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #F4FAF6;
  color: var(--primary-dark);
  font-weight: 900;
}

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

.audit-table tbody tr:hover td {
  background: #F8FBF9;
}

.audit-table tbody tr:last-child td {
  background: #F1F8F4;
  font-weight: 850;
}

@media (max-width: 860px) {
  .depreciacao-tabs,
  .depr-view-tabs {
    display: flex;
    width: 100%;
  }

  .depreciacao-tab,
  .depr-view-tab {
    flex: 1;
  }

  .audit-kv-grid {
    grid-template-columns: 1fr;
  }

  .audit-lab-header,
  .audit-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media print {
  #depreciacao_abas,
  .depreciacao-tabs,
  .depr-view-tabs {
    display: none !important;
  }

  #auditoria_calculo_area {
    display: none !important;
  }

  body.print-audit-only .topbar,
  body.print-audit-only .footer,
  body.print-audit-only .consulta-card,
  body.print-audit-only #resultado_area,
  body.print-audit-only #auditoria_area,
  body.print-audit-only .actions,
  body.print-audit-only #btn_toggle_base_provisoria,
  body.print-audit-only .base-drawer,
  body.print-audit-only .base-drawer-backdrop {
    display: none !important;
  }

  body.print-audit-only .pdf-report-header,
  body.print-audit-only #auditoria_calculo_area {
    display: block !important;
  }

  body.print-audit-only .audit-card {
    border: 0 !important;
    box-shadow: none !important;
  }

  body.print-audit-only .audit-terminal {
    border: 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
  }

  body.print-audit-only .audit-block {
    padding: 8px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.print-audit-only .audit-code {
    color: #111827 !important;
    background: #F9FAFB !important;
    border: 1px solid #D1D5DB !important;
    border-left: 4px solid #168A4A !important;
    font-size: 8.8px !important;
  }

  body.print-audit-only .audit-kv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  body.print-audit-only .audit-kv {
    padding: 5px !important;
  }

  body.print-audit-only .audit-kv span,
  body.print-audit-only .audit-table th {
    font-size: 7.4px !important;
  }

  body.print-audit-only .audit-kv strong,
  body.print-audit-only .audit-note,
  body.print-audit-only .audit-table td {
    font-size: 8.2px !important;
  }

  body.print-audit-only .audit-table-wrap {
    max-height: none !important;
    overflow: visible !important;
  }

  body.print-audit-only .audit-table {
    min-width: 0 !important;
  }

  body.print-audit-only .audit-table th,
  body.print-audit-only .audit-table td {
    padding: 3px 4px !important;
  }
}

/* V31 - Busca FIPE pesquisável padronizada */
.fipe-native-select-hidden {
  display: none !important;
}

.fipe-combobox {
  position: relative;
  width: 100%;
  margin-top: .25rem;
  font: inherit;
  color: var(--text, #0f172a);
  isolation: isolate;
  z-index: 40;
}

.fipe-combobox.open {
  z-index: 5600;
}

.fipe-combobox.is-disabled {
  opacity: .68;
  pointer-events: none;
}

.fipe-combobox-toggle {
  width: 100%;
  min-height: 42px;
  border: 1px solid #D1D5DB;
  border-radius: 10px;
  background: #FFFFFF;
  color: #0F172A;
  padding: 9px 34px 9px 12px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  font: inherit;
  text-align: left;
  cursor: pointer;
  position: relative;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.fipe-combobox-toggle:hover {
  border-color: #9CA3AF;
}

.fipe-combobox-toggle:focus-visible,
.fipe-combobox.open .fipe-combobox-toggle {
  outline: none;
  border-color: #168A4A;
  box-shadow: 0 0 0 3px rgba(22, 138, 74, .12), inset 0 1px 2px rgba(15, 23, 42, .04);
}

.fipe-combobox-toggle:disabled {
  cursor: not-allowed;
  background: #F8FAFC;
  color: #94A3B8;
  box-shadow: none;
}

.fipe-combobox-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
}

.fipe-combobox.has-placeholder .fipe-combobox-label {
  color: #64748B;
  font-weight: 500;
}

.fipe-combobox.has-value .fipe-combobox-label {
  color: #0F172A;
  font-weight: 650;
}

.fipe-combobox.selected-zero-km .fipe-combobox-label {
  font-weight: 850;
}

.fipe-combobox.selected-pending .fipe-combobox-label {
  color: #B91C1C;
}

.fipe-combobox.selected-saved-curve .fipe-combobox-label {
  color: #047857;
  font-weight: 850;
}

.fipe-combobox-caret {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  flex: 0 0 auto;
  color: #64748B;
  font-size: .72rem;
  line-height: 1;
  pointer-events: none;
}

.fipe-combobox.open .fipe-combobox-caret {
  transform: translateY(-50%) rotate(180deg);
}

.fipe-combobox-panel {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 5700;
  padding: 4px;
  border: 1px solid #9CA3AF;
  border-radius: 6px;
  background: #FFFFFF;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
  overflow: hidden;
}

.fipe-combobox.open .fipe-combobox-panel {
  display: block;
}

.fipe-combobox-search-wrap {
  position: relative;
  margin: 0 0 4px 0;
}

.fipe-combobox-search {
  width: 100%;
  height: 34px;
  border: 1px solid #B6C0CA;
  border-radius: 3px;
  background: #FFFFFF;
  color: #0F172A;
  padding: 6px 34px 6px 8px;
  font: inherit;
  font-size: .92rem;
  line-height: 1.2;
  outline: none;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .05);
}

.fipe-combobox-search::placeholder {
  color: #94A3B8;
}

.fipe-combobox-search:focus {
  border-color: #168A4A;
  box-shadow: 0 0 0 2px rgba(22, 138, 74, .10), inset 0 1px 2px rgba(15, 23, 42, .05);
}

.fipe-combobox-search-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  color: #64748B;
  pointer-events: none;
}

.fipe-combobox-search-icon::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 999px;
}

.fipe-combobox-search-icon::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 11px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}

.fipe-combobox-list {
  max-height: 264px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0;
  background: #FFFFFF;
}

.fipe-combobox-option {
  width: 100%;
  min-height: 32px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: #0F172A;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  font: inherit;
  font-size: .92rem;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.fipe-combobox-option:hover,
.fipe-combobox-option:focus-visible {
  outline: none;
  background: #E8F1FA;
}

.fipe-combobox-option.is-selected {
  background: #D7E7F7;
  color: #0F172A;
  font-weight: 800;
}

.fipe-combobox-option.is-zero-km .fipe-combobox-option-text {
  font-weight: 900;
}

.fipe-combobox-option.is-pending .fipe-combobox-option-text {
  color: #B91C1C;
  font-weight: 800;
}

.fipe-combobox-option.is-saved-curve .fipe-combobox-option-text {
  color: #047857;
  font-weight: 850;
}

/* V35 - marcador de curva também no select nativo da página Depreciação. */
select option.option-saved-curve {
  color: #047857;
  font-weight: 800;
}

.fipe-combobox-curve-check {
  flex: 0 0 auto;
  width: 1rem;
  color: #047857;
  font-weight: 950;
  text-align: center;
  line-height: 1;
}

.fipe-combobox-option:disabled {
  cursor: not-allowed;
  color: #94A3B8;
}

.fipe-combobox-option-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fipe-combobox-empty {
  padding: 10px 8px;
  color: #64748B;
  font-size: .9rem;
}

@media (max-width: 680px) {
  .fipe-combobox-panel {
    border-radius: 8px;
  }
  .fipe-combobox-list {
    max-height: 238px;
  }
}
