/* car_detail_v3.css — redesign da página de detalhes do CAR (v8).
   Carregado SÓ pela rota /imoveis/car-*. Sobrepõe detail-page.css.

   Estrutura macro: hero card SERP-style no topo, tabs horizontais para
   navegação entre seções (Visão geral, Análise espacial, Crédito rural,
   Áreas, Histórico), e sidebar slim com Downloads + Relatórios + Status.

   Tipografia alinhada com _painel_styles.jinja:
     --car-fs-h1 (20px) = título do hero
     --car-fs-h2 (16px) = section headers
     --car-fs-h3 (14.7px) = stat values, lock labels
     --car-fs-body (14px) = body text, KV values
     --car-fs-small (12.5px) = tabs, sidebar, hints
     --car-fs-micro (10.9px) = kickers uppercase, badges

   Pesos: 700 só em kickers, 600 em títulos, 500 em UI/body bold.
*/
:root {
    --rr-moss: #356854;
    --rr-moss-ink: #1F4035;
    --rr-moss-soft: #ecf3ef;
    /* Adotando tokens do painel (_painel_styles.jinja) para consistência: */
    --car-fs-h1: 1.25rem;
    --car-fs-h2: 1rem;
    --car-fs-h3: .92rem;
    --car-fs-body: .88rem;
    --car-fs-small: .78rem;
    --car-fs-micro: .68rem;
    --car-lh-tight: 1.15;
    --car-lh-normal: 1.4;
    --car-radius: 12px;
    --car-radius-sm: 8px;
    --car-shadow-card: 0 1px 2px rgba(0,0,0,.03);
    --car-shadow-hover: 0 8px 28px rgba(0,0,0,.06);

    /* Tokens do protótipo "CAR Abas v2" (Claude Design) — só usados dentro
       de .car-content-layout/.car-tab-panel (este arquivo já carrega só na
       rota /imoveis/car-*, então não vaza pra INCRA/SIGEF/CAFIR/Embargo que
       usam detail-page.css puro). Os tokens --detail-text e --detail-border do
       arquivo compartilhado são mais frios/escuros que o protótipo — por isso
       os tokens abaixo, não uma alteração em detail-page.css. */
    --car-text-strong: rgb(66,66,66);
    --car-text-body: rgb(68,68,68);
    --car-border: rgb(231,229,228);
    --car-divider: rgb(208,208,208);
    --car-panel-bg: rgb(250,250,250);
    --car-amber: rgb(245,158,11);
    --car-amber-ink: rgb(160,119,32);
    --car-amber-soft: rgba(244,189,97,0.26);
    --car-moss-soft: rgba(232,245,233,0.5);
    --car-mint: rgb(47,179,128);
    --car-fs-stat: 20px;
    --car-fs-h1-hero: 24.4px;
    /* Cobertura do solo: quatro matizes de croma e luminosidade próximos, para
       nenhuma categoria pesar mais que a outra na barra. */
    --car-cover-uso: rgb(217,155,63);
    --car-cover-rvn: rgb(63,143,104);
    --car-cover-servidao: rgb(79,119,179);
    --car-cover-restrito: rgb(145,99,196);
}

/* (removido .crm-rail — rail superior foi descontinuado em v7; saldo UCP
   agora vive no sidebar ou em snapshot lateral.) */

/* === UCP chip: pílula com ícone da moeda + número ===
   Por padrão usa o ícone de moeda única (ucp_single.svg). Quando o custo é 2+,
   o template adiciona .ucp-chip--multi pra trocar pelo stack duplo. */
.ucp-chip {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: var(--car-fs-micro); font-weight: 600;
    color: var(--detail-text-muted);
    font-variant-numeric: tabular-nums;
    background: var(--detail-bg-soft);
    border-radius: 4px;
    padding: 1px 6px;
    border: 1px solid var(--car-border);
    letter-spacing: .01em;
    line-height: 1.4;
    vertical-align: middle;
    margin-left: 4px;
    text-decoration: none;
}
.ucp-chip__icon {
    width: 14px; height: 14px;
    display: inline-block;
    flex-shrink: 0;
}
.ucp-chip--ghost {
    background: transparent;
    border: 0;
    padding: 1px 2px 1px 4px;
}

/* === Unlocked tag (estado pós-desbloqueio) === */
.unlocked-tag {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: var(--car-fs-micro); font-weight: 500;
    color: #16a34a;
    font-variant-numeric: tabular-nums;
    text-decoration: none;
}
.unlocked-tag svg { width: 11px; height: 11px; }

/* === Lock section pattern (corpo bloqueado dentro de uma section) ===
   Usado quando a seção inteira é gated; mostra um placeholder com CTA. */
.lock-section {
    position: relative;
    background:
        repeating-linear-gradient(
            -45deg,
            transparent 0,
            transparent 9px,
            var(--detail-bg-soft) 9px,
            var(--detail-bg-soft) 10px
        ),
        var(--detail-bg);
    border: 1px dashed var(--car-border);
    border-radius: var(--detail-radius-sm);
    padding: 18px;
    display: flex; align-items: center; gap: 14px;
}
.lock-section__icon {
    width: 32px; height: 32px;
    background: var(--detail-bg-soft);
    border: 1px solid var(--car-border);
    border-radius: 50%;
    display: grid; place-items: center;
    color: var(--detail-text-muted);
    flex-shrink: 0;
}
.lock-section__icon svg { width: 14px; height: 14px; }
.lock-section__body { flex: 1; min-width: 0; }
.lock-section__label {
    font-size: var(--car-fs-body); font-weight: 600;
    color: var(--car-text-strong);
    line-height: var(--car-lh-tight);
}
.lock-section__hint {
    font-size: var(--car-fs-small); color: var(--detail-text-muted);
    margin-top: 3px;
    line-height: var(--car-lh-normal);
}

/* === Lock row (linha bloqueada dentro de um card de seção) === */
.lock-row {
    display: grid;
    grid-template-columns: 160px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 11px 0;
    border-bottom: 1px solid var(--detail-divider);
}
.lock-row:last-child { border-bottom: 0; }
@media (max-width: 700px) {
    .lock-row { grid-template-columns: 1fr; gap: 4px; }
    .lock-row__cta { justify-self: flex-start; }
}
.lock-row__label {
    font-size: var(--car-fs-small); color: var(--detail-text-muted); font-weight: 500;
}
.lock-row__value {
    font-size: var(--car-fs-body); color: var(--car-text-strong);
    min-width: 0; word-break: break-word;
}
.lock-row__value--masked {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    color: var(--detail-text-subtle);
    letter-spacing: .04em;
}

/* === Botão de unlock — espelha .rr-unlock-btn da SERP pra consistência visual ===
   Pill, dashed por default, solid quando enfatizado (CTA de seção). */
.btn-unlock {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 3px 10px 3px 9px;
    background: var(--detail-bg);
    color: #374151;
    border: 1px dashed var(--car-border);
    border-radius: 999px;
    font-family: inherit;
    font-size: var(--car-fs-small); font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.5;
    white-space: nowrap;
    transition: border-color .15s, color .15s, background .15s;
}
.btn-unlock:hover {
    border-color: var(--rr-moss);
    color: var(--rr-moss-ink);
    background: var(--detail-bg);
    text-decoration: none;
}
.btn-unlock svg { width: 11px; height: 11px; flex-shrink: 0; color: var(--detail-text-subtle); }
.btn-unlock:hover svg { color: var(--rr-moss); }
.btn-unlock--sm { padding: 2px 8px; font-size: var(--car-fs-micro); }
/* Variante solid pra CTAs de header de seção (mais ênfase) */
.btn-unlock--solid {
    border-style: solid;
    border-color: var(--rr-moss);
    color: var(--rr-moss-ink);
}
.btn-unlock--solid:hover {
    background: #f0f6f2;
    border-color: var(--rr-moss-ink);
}
.btn-unlock--solid svg { color: var(--rr-moss); }

/* === Quando a seção é desbloqueada (data-unlocked="true"): mostra o
   conteúdo real e esconde o lock-section. Hook usado pelo JS. === */
[data-section-lock] [data-locked-content] { display: block; }
[data-section-lock] [data-unlocked-content] { display: none; }
[data-section-lock][data-unlocked="true"] [data-locked-content] { display: none; }
[data-section-lock][data-unlocked="true"] [data-unlocked-content] { display: block; }

/* Quando uma linha é desbloqueada individualmente */
[data-row-lock][data-unlocked="true"] .lock-row__value--masked { display: none; }
[data-row-lock] .lock-row__value--revealed { display: none; }
[data-row-lock][data-unlocked="true"] .lock-row__value--revealed { display: inline; }
[data-row-lock][data-unlocked="true"] .btn-unlock { display: none; }

/* ========================================================================
   SaaS layout — fundo puro branco, sections com borda sutil (sem sombra)
   ======================================================================== */
.detail-canvas { background: #fff !important; }
body { background: #fff; }

/* Page shell — override do .container Bootstrap. Conteúdo encosta na sidebar
   (margem esquerda baixa) e expande pra direita (sem max-width restritivo).
   Padding lateral reduzido pra que o card hero ocupe mais largura. */
.car-page-shell {
    max-width: none;
    margin: 0;
    /* 28px laterais = mesmo padding do .rr-gh-c (topbar/searchbar) — alinha
       searchbar, breadcrumb e card hero na mesma vertical à esquerda. */
    padding: 1rem 28px 2.5rem;
    width: 100%;
    box-sizing: border-box;
}
@media (max-width: 767.98px) {
    .car-page-shell { padding: 1rem 16px 2rem; }
}
/* O shell logado aplica --rr-serp-pad-x em qualquer <main>. Aqui o inset
   lateral já vem do .car-page-shell; sem isto o conteúdo das abas fica
   32px à direita do hero. */
body[data-rr-authed-serp="1"] .car-page-shell main.car-layout__main {
    padding-left: 0;
    padding-right: 0;
}

/* Breadcrumb com mais respiro acima/abaixo (ajusta margem com a searchbar
   da topbar acima + main content abaixo). */
.detail-canvas .detail-breadcrumb {
    padding: 14px 0 10px;
    font-size: var(--car-fs-small);
}
.detail-canvas .detail-breadcrumb__list { gap: 6px; }

/* v7 density: compacta tudo pra caber acima da dobra desktop. */
.car-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 32px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--car-divider);
    align-items: start;
}
@media (max-width: 1024px) {
    .car-layout { grid-template-columns: 1fr; gap: 16px; border-top: 0; padding-top: 0; }
}
.car-layout__main { min-width: 0; font-size: var(--car-fs-body); line-height: var(--car-lh-normal); }
.car-layout__rail {
    position: sticky;
    top: 12px;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: var(--car-fs-small);
    line-height: var(--car-lh-normal);
}
@media (max-width: 1024px) {
    .car-layout__rail { position: static; }
}

/* Sections FLAT — sem borda, espaço enxuto */
.car-layout__main .detail-section,
.car-layout__main > .detail-overview-extra {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0 0 18px;
    box-shadow: none;
}
.car-layout__main .detail-section:last-child,
.car-layout__main > .detail-overview-extra:last-child { margin-bottom: 0; }

/* === Card KV — padrão painel === */
.car-kv {
    background: transparent;
    padding: 2px 0;
}
.car-kv__label {
    font-size: var(--car-fs-micro);
    font-weight: 600;
    color: var(--detail-text-muted);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 3px;
    line-height: 1.2;
}
.car-kv__value {
    font-size: var(--car-fs-body);
    color: var(--car-text-strong);
    font-weight: 500;
    margin: 0;
    line-height: var(--car-lh-normal);
    word-break: break-word;
}
.car-kv__value .badge {
    /* Refresh bootstrap badges pra ficarem mais modernos */
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: var(--car-fs-micro);
}
.car-kv__value .badge.bg-primary { background: #eff6ff !important; color: #1d4ed8 !important; }
.car-kv__value .badge.bg-info    { background: #ecfdf5 !important; color: #047857 !important; }
.car-kv__value .badge.bg-danger  { background: #fef2f2 !important; color: #b91c1c !important; }
.car-kv__value .badge.bg-warning { background: #fffbeb !important; color: #b45309 !important; }
.car-kv__value .badge.bg-dark    { background: #1f2937 !important; color: #fff !important; }

/* Bootstrap utilities override (dentro do main da CAR page) — compacta */
.car-layout__main .my-2 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
.car-layout__main .mb-3, .car-layout__main .mb-4, .car-layout__main .mb-5 { margin-bottom: .75rem !important; }
.car-layout__main .row { --bs-gutter-x: .75rem; --bs-gutter-y: .25rem; }

/* Subseção compacta */
.car-layout__main .detail-subsection { margin-bottom: 14px; }
.car-layout__main .detail-subsection + .detail-subsection {
    padding-top: 14px;
    border-top: 1px solid var(--detail-divider);
}
.car-panel-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--rr-moss-ink);
    margin: 0 0 4px;
}
.car-panel-heading span,
.car-panel-heading {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .435px;
    text-transform: uppercase;
    line-height: 1.13;
}
.car-panel-heading i,
.car-panel-heading svg {
    width: 20px; height: 20px;
    font-size: 18px;
    color: var(--rr-moss-ink);
    flex-shrink: 0;
}
.car-layout__main .detail-subsection__title,
.car-tab-panel > h3.detail-subsection__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rr-moss-ink);
    letter-spacing: .435px;
    text-transform: uppercase;
    margin: 0 0 8px;
    display: flex; align-items: center; gap: 14px;
}
.car-layout__main .detail-subsection__title i {
    color: var(--rr-moss-ink);
    font-size: 18px;
}

/* Subtítulo intermediário — mint uppercase do mockup ("Informações do cadastro"). */
.car-layout__main .detail-subsection__subtitle {
    font-size: 12.9px;
    font-weight: 700;
    color: var(--car-mint);
    margin: 8px 0 0;
    text-transform: uppercase;
    letter-spacing: .435px;
}
.car-layout__main .detail-subsection__subtitle:first-of-type { margin-top: 2px; }

/* Tira de status resumida no topo da aba "Cadastro e situação"
   (CAR Abas v2 / Claude Design). */
.car-status-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}
@media (max-width: 800px) {
    .car-status-strip { grid-template-columns: 1fr; }
}
.car-status-card {
    min-width: 0;
    border: 1px solid var(--car-border);
    border-radius: 8px;
    padding: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 9px;
    box-sizing: border-box;
}
.car-status-card__label {
    display: block;
    font-size: 10.9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .435px;
    color: rgb(156,163,175);
    margin: 0;
}
.car-status-card__hint {
    font-size: 13.1px;
    line-height: 1.4;
    color: var(--car-text-body);
}
.car-status-card__hint a {
    font-weight: 600;
    color: var(--rr-moss);
    cursor: pointer;
}
.car-status-card__pill--neutral {
    background: rgba(215,215,215,.2) !important;
    color: rgb(107,114,128) !important;
}
/* Versão curta da origem, usada só no mobile (ver @media abaixo). */
.car-hero-source-mobile { display: none; }
.car-sicar-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 22px;
    border-radius: 8px;
    padding: 3px 12px;
    box-sizing: border-box;
    font-size: 10.9px;
    font-weight: 700;
    letter-spacing: .435px;
    text-transform: uppercase;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.car-sicar-pill__dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.car-sicar-pill--pending {
    background: rgba(244,189,97,.26);
    color: rgb(245,158,11);
}
.car-sicar-pill--pending .car-sicar-pill__dot { background: rgb(245,158,11); }
.car-sicar-pill--ok {
    background: var(--car-moss-soft);
    color: var(--rr-moss);
}
.car-sicar-pill--ok .car-sicar-pill__dot { background: var(--rr-moss); }
.car-sicar-pill--neutral {
    background: rgba(215,215,215,.2);
    color: rgb(107,114,128);
}
.car-sicar-pill--neutral .car-sicar-pill__dot { background: rgb(156,163,175); }
.car-sicar-pill--warn {
    background: rgba(244,189,97,.26);
    color: var(--car-amber-ink);
}
.car-sicar-pill--warn .car-sicar-pill__dot { background: var(--car-amber-ink); }

.car-field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 700px) {
    .car-field-grid { grid-template-columns: 1fr; }
}
.car-field-grid .car-kv,
.car-field-card {
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: 6px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    box-sizing: border-box;
}
.car-field-grid .car-kv__label {
    margin: 0;
    font-size: 10.9px;
    font-weight: 700;
    letter-spacing: .435px;
    text-transform: uppercase;
    color: rgb(156,163,175);
}
.car-field-grid .car-kv__value {
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
    color: var(--car-text-strong);
}
.car-code-bar {
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: 6px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
}
.car-code-bar__label {
    font-size: 10.9px;
    font-weight: 700;
    letter-spacing: .435px;
    text-transform: uppercase;
    color: rgb(156,163,175);
    flex-shrink: 0;
}
.car-code-bar__value {
    flex: 1;
    min-width: 0;
    font-family: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, monospace;
    font-size: 13px;
    line-height: 18px;
    color: var(--car-text-strong);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.car-code-bar__value[data-redacted="1"] {
    filter: blur(3px);
    user-select: none;
}
.car-panel-stack {
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.car-panel-rule {
    height: 1px;
    background: var(--car-divider);
    border: 0;
    margin: 0;
}
.car-kv__value--code {
    display: flex;
    align-items: center;
    gap: 6px;
}
.car-kv__value--code span[data-redacted="1"] {
    filter: blur(3px);
    user-select: none;
    -webkit-user-select: none;
}

/* Linhas kv horizontais em caixa (Reserva Legal e APP / CAR Abas v2) —
   label à esquerda, valor forte à direita, dentro de uma borda. Reaproveita
   _card_kv.jinja (mesma lógica de mascaramento via _trigger_mask) só
   reskinado pra layout horizontal em vez do stack vertical padrão. */
.car-kv-rows {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.car-kv-row {
    border: 1px solid var(--car-border, #e5e7eb);
    border-radius: var(--detail-radius-sm, 8px);
    padding: 10px 14px;
    background: var(--detail-bg, #fff);
    display: flex;
    align-items: center;
}
.car-kv-row--accent {
    border-color: var(--rr-moss);
}
.car-kv-row--full { grid-column: 1 / -1; }
.car-kv-row__label {
    font-size: var(--car-fs-small, 13px);
    color: var(--detail-text-muted, #6b7280);
}
.car-kv-row .car-kv {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 0;
}
.car-kv-row .car-kv__label { margin: 0; font-size: var(--car-fs-small, 13px); text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--detail-text-muted, #6b7280); }
.car-kv-row .car-kv__value { margin: 0; font-weight: 700; text-align: right; }
@media (max-width: 700px) {
    .car-kv-rows { grid-template-columns: 1fr; }
}
.car-layer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 700px) {
    .car-layer-grid { grid-template-columns: 1fr; }
}
.car-layer-card {
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: 6px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
}
.car-layer-card.is-empty { opacity: .7; }
.car-layer-card__name {
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    color: var(--car-text-strong);
}
.car-layer-card.is-empty .car-layer-card__name { color: rgb(107,114,128); }
.car-map-frame {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    background: #fff;
    border: 1px solid var(--car-border);
    margin: 0;
}
.car-map-frame img {
    display: block;
    width: 100%;
    height: auto;
}
.car-map-frame__caption {
    position: absolute;
    right: 14px; bottom: 14px;
    height: 26px;
    border-radius: 6px;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--car-border);
    display: flex; align-items: center;
    padding: 0 12px;
    font-size: 10.9px;
    font-weight: 500;
    letter-spacing: .435px;
    text-transform: uppercase;
    color: rgb(107,114,128);
    pointer-events: none;
}
.car-map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.car-map-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 26px;
    padding: 0 12px;
    border-radius: 6px;
    background: #fff;
    border: 1px solid var(--car-border);
    font-size: 12.5px;
    color: var(--car-text-body);
}
.car-map-legend__swatch {
    width: 10px; height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

.car-layout__main .detail-cobertura {
    padding: 0;
    border: 0;
    background: transparent;
}
.car-layout__main .detail-cobertura__bar {
    height: 14px;
    border-radius: 999px;
    overflow: hidden;
    background: rgb(243,244,246);
}
.car-layout__main .detail-cobertura__seg { font-size: 0; color: transparent; }
.car-layout__main .detail-cobertura__seg--uso { background: var(--car-cover-uso); }
.car-layout__main .detail-cobertura__seg--rvn { background: var(--car-cover-rvn); }
.car-layout__main .detail-cobertura__seg--other { background: var(--car-cover-servidao); }
.car-layout__main .detail-cobertura__seg--restrito { background: var(--car-cover-restrito); }
.car-layout__main .detail-cobertura__legend {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.car-layout__main .detail-cobertura__legend-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid var(--car-border);
}
.car-layout__main .detail-cobertura__legend-dot { width: 10px; height: 10px; border-radius: 50%; }
.car-layout__main .detail-cobertura__legend-dot--uso { background: var(--car-cover-uso); }
.car-layout__main .detail-cobertura__legend-dot--rvn { background: var(--car-cover-rvn); }
.car-layout__main .detail-cobertura__legend-dot--other { background: var(--car-cover-servidao); }
.car-layout__main .detail-cobertura__legend-dot--restrito { background: var(--car-cover-restrito); }
.car-layout__main .detail-cobertura__legend-name {
    flex: 1;
    font-size: 14px;
    color: var(--car-text-body);
}
.car-layout__main .detail-cobertura__legend-pct {
    width: 60px;
    text-align: right;
    font-size: 13.1px;
    color: rgb(156,163,175);
}
.car-layout__main .detail-cobertura__legend-val {
    width: 90px;
    text-align: right;
    margin-left: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--car-text-strong);
}
.car-layout__main .detail-cobertura__note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 8px;
    background: var(--car-moss-soft);
    color: var(--rr-moss-ink);
    font-size: 14px;
    line-height: 24px;
}
/* Font Awesome zera o line-height do ícone, o que o deslocaria para cima da
   primeira linha do texto. */
.car-layout__main .detail-cobertura__note i {
    flex-shrink: 0;
    line-height: inherit;
}
.car-credits-card {
    border: 1px solid var(--car-border);
    border-radius: 8px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box;
}
.car-credits-card__head {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 12.9px;
    font-weight: 700;
    letter-spacing: .653px;
    text-transform: uppercase;
    color: var(--car-amber-ink);
}
.car-credits-card__head svg { width: 14px; height: 14px; }
.car-credits-card__body {
    font-size: 13.1px;
    line-height: 18.37px;
    color: var(--car-text-body);
}
.car-credits-card__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--car-border);
    padding-top: 12px;
}
.car-credits-card__label {
    font-size: 10.9px;
    font-weight: 500;
    letter-spacing: .435px;
    text-transform: uppercase;
    color: rgb(107,114,128);
}
.car-credits-card__value {
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    color: var(--car-text-strong);
}

.side-v7 { gap: 30px; padding-top: 10px; }
.side-v7__title {
    font-size: 12.9px;
    letter-spacing: .653px;
    margin: 0 0 6px;
    color: rgb(156,163,175);
}
.side-v7__dl-item {
    /* min-height (não height): itens de uma linha ficam com 34px, mas o
       Relatório Completo tem 3 linhas e precisa crescer. */
    min-height: 34px;
    padding: 0 10px;
    gap: 13px;
}
.side-v7__dl-item__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--rr-moss-ink);
}
.side-v7__dl-item__ic {
    width: 27px; height: 27px;
}
.car-kv-row__label {
    font-size: var(--car-fs-small, 13px);
    color: var(--detail-text-muted, #6b7280);
}
.car-kv-row .car-kv {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 0;
}
.car-kv-row .car-kv__label { margin: 0; font-size: var(--car-fs-small, 13px); text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--detail-text-muted, #6b7280); }
.car-kv-row .car-kv__value { margin: 0; font-weight: 700; text-align: right; }
@media (max-width: 700px) {
    .car-kv-rows { grid-template-columns: 1fr; }
}

.car-info-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border: 1px solid #bfe3cd;
    background: #f0faf4;
    color: #1f6b3f;
    border-radius: var(--detail-radius-sm, 8px);
    padding: 10px 14px;
    font-size: var(--car-fs-small, 13px);
    line-height: 1.5;
}
.car-info-note i { margin-top: 2px; flex-shrink: 0; }

/* Lock link (.car-hero-stat__lock) reused outside the hero card — e.g. Cadastro
   e situação field grid. The hero-scoped rule only applies inside .car-hero-card,
   so give it the same treatment here wherever it shows up inside .car-kv__value. */
.car-kv__value .car-hero-stat__lock,
.solo-prop-card__value .car-hero-stat__lock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: var(--car-fs-small);
    font-weight: 600;
    color: var(--car-amber-ink);
    text-decoration: none;
}
.car-kv__value .car-hero-stat__lock svg,
.solo-prop-card__value .car-hero-stat__lock svg { width: 11px; height: 11px; flex-shrink: 0; }
.car-kv__value .car-hero-stat__lock:hover,
.solo-prop-card__value .car-hero-stat__lock:hover { text-decoration: underline; }

/* === Identidade / Quick facts grid === */
.car-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px 18px;
    margin: 0;
    padding: 0;
}
@media (max-width: 720px) {
    .car-facts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .car-facts { grid-template-columns: 1fr; }
}
/* .car-facts removido — Identidade consolidada no hero-v7 em v7. */

/* Section headers — padrão painel */
.car-layout__main .detail-section__header {
    margin-bottom: 10px;
    padding-bottom: 0;
    border-bottom: 0;
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 14px;
}
.car-layout__main .detail-section__title {
    display: none;
}
.car-layout__main .detail-section__h2 {
    font-size: var(--car-fs-h2);
    font-weight: 600;
    color: var(--car-text-strong);
    margin: 0;
    line-height: var(--car-lh-tight);
}
.car-layout__main .detail-section__subtitle {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin: 3px 0 0;
    line-height: var(--car-lh-normal);
}

/* (v9: layout-list overrides foram pra serp_card.css — arquivo compartilhado
   com a SERP de /imoveis/. Garante paridade visual exata.) */

/* ========================================================================
   Histórico — teaser de eventos SICOR (preview blurrado)
   ======================================================================== */
.history-credit-teaser {
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--detail-bg-soft);
    border: 1px solid var(--car-border);
    border-radius: var(--car-radius-sm);
}
.history-credit-teaser__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.history-credit-teaser__icon {
    width: 32px; height: 32px;
    background: var(--rr-moss-soft);
    color: var(--rr-moss-ink);
    border-radius: 8px;
    display: grid; place-items: center;
    flex-shrink: 0;
}
.history-credit-teaser__icon svg { width: 15px; height: 15px; }
.history-credit-teaser__body { flex: 1; min-width: 0; }
.history-credit-teaser__title {
    font-size: var(--car-fs-body);
    font-weight: 600;
    color: var(--car-text-strong);
    margin: 0 0 3px;
    line-height: var(--car-lh-tight);
}
.history-credit-teaser__sub {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin: 0;
    line-height: var(--car-lh-normal);
}
.history-credit-teaser__sub b { color: var(--car-text-strong); font-weight: 600; }
.history-credit-teaser__cta {
    flex-shrink: 0;
    font-size: var(--car-fs-small);
    font-weight: 600;
    color: var(--rr-moss-ink);
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid #cfe1d6;
    background: #fff;
}
.history-credit-teaser__cta:hover {
    background: var(--rr-moss-soft);
    text-decoration: none;
}
.history-credit-teaser__list {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: flex; flex-direction: column;
    gap: 4px;
}
.history-credit-teaser__item {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    gap: 14px;
    padding: 5px 0;
    font-size: var(--car-fs-small);
    border-top: 1px solid var(--detail-divider);
}
.history-credit-teaser__year {
    color: var(--detail-text-muted);
    font-variant-numeric: tabular-nums;
}
.history-credit-teaser__produto {
    color: var(--car-text-body);
    font-weight: 500;
}
.history-credit-teaser__blur {
    color: var(--detail-text-subtle);
    font-family: ui-monospace, monospace;
    filter: blur(2px);
    letter-spacing: .02em;
    text-align: right;
}

/* ========================================================================
   v7 — Tabs e Sidebar slim (hero agora é o SERP card, ver serp_card.css)
   ======================================================================== */

/* (.hero-v7* removido — hero agora é o SERP card .rr-fav-card-v2, ver serp_card.css) */

/* === Tabs (compactas) === */
.car-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--car-border);
    margin: 0 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
}
.car-tabs::-webkit-scrollbar { display: none; }
.car-tab {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 9px 0;
    margin-right: 20px;
    font-family: inherit;
    font-size: var(--car-fs-small);
    font-weight: 500;
    color: var(--detail-text-muted);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    text-decoration: none;
    white-space: nowrap;
    display: inline-flex; align-items: center; gap: 6px;
    transition: color .12s, border-color .12s;
    line-height: var(--car-lh-normal);
}
.car-tab:hover { color: var(--car-text-strong); text-decoration: none; }
.car-tab.is-active {
    color: var(--car-text-strong);
    border-bottom-color: var(--rr-moss);
    font-weight: 600;
}
.car-tab__count {
    background: var(--detail-bg-soft);
    color: var(--detail-text-muted);
    border-radius: 999px;
    padding: 1px 7px;
    font-size: var(--car-fs-micro);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.car-tab.is-active .car-tab__count { background: var(--rr-moss-soft); color: var(--rr-moss-ink); }

.car-tab-panel { display: none; scroll-margin-top: 12px; }
.car-tab-panel.is-active { display: block; }

/* === Sidebar slim v7 (denso, sem dividers entre items) === */
.side-v7 { display: flex; flex-direction: column; gap: 14px; }
.side-v7__group { display: flex; flex-direction: column; gap: 2px; }
.side-v7__title {
    font-size: var(--car-fs-micro);
    font-weight: 700;
    color: var(--detail-text-dim, #9ca3af);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 6px;
    line-height: 1.2;
}

/* Downloads list — sem border-bottom, só gap */
.side-v7__dl { display: flex; flex-direction: column; gap: 1px; margin: 0; }
.side-v7__dl-item {
    display: flex; align-items: center; gap: 9px;
    padding: 6px 8px;
    font-size: var(--car-fs-small);
    color: var(--car-text-body);
    text-decoration: none;
    cursor: pointer;
    background: transparent;
    border: 0;
    text-align: left;
    font-family: inherit;
    width: 100%;
    border-radius: 6px;
    line-height: var(--car-lh-tight);
}
.side-v7__dl-item:hover {
    background: var(--detail-bg-soft);
    color: var(--rr-moss-ink);
    text-decoration: none;
}
.side-v7__dl-item__ic {
    width: 22px; height: 22px;
    background: var(--detail-bg-soft);
    border-radius: 5px;
    display: grid; place-items: center;
    color: var(--detail-text-muted);
    flex-shrink: 0;
}
.side-v7__dl-item__ic svg { width: 11px; height: 11px; }
.side-v7__dl-item__ic .fa-file-pdf {
    font-size: 12px;
    line-height: 1;
}
.side-v7__dl-item:hover .side-v7__dl-item__ic { background: var(--rr-moss-soft); color: var(--rr-moss); }
.side-v7__dl-item__body { flex: 1; min-width: 0; line-height: 1.25; }
.side-v7__dl-item__name { font-weight: 500; }
.side-v7__dl-item__sub {
    display: none; /* downloads: só o nome; relatório usa --visible */
}
.side-v7__dl-item__sub--visible {
    display: block;
    font-size: 12.5px;
    font-weight: 400;
    color: rgb(156, 163, 175);
    margin-top: 0;
    line-height: 15.78px;
}
.side-v7__dl-item__tag {
    flex-shrink: 0;
    font-size: var(--car-fs-micro);
    font-weight: 600;
    color: var(--detail-text-muted);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.side-v7__dl-item__quota {
    display: block;
    font-size: 12.9px;
    font-weight: 700;
    line-height: 15.78px;
    color: var(--car-text-strong);
    font-variant-numeric: tabular-nums;
}
.side-v7__dl-item__price {
    color: var(--car-text-strong);
}
/* Relatório Completo — layout do mockup CAR Abas v2:
   ícone + coluna (título / cota / descrição), sem seta à direita. */
.side-v7__dl-item--report {
    align-items: flex-start;
    gap: 13px;
    padding: 8px 10px;
}
.side-v7__dl-item--report .side-v7__dl-item__ic {
    width: 27px;
    height: 27px;
    margin-top: 1px;
}
.side-v7__dl-item--report .side-v7__dl-item__ic .fa-file-pdf {
    font-size: 14px;
}
.side-v7__dl-item--report .side-v7__dl-item__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.side-v7__dl-item--report .side-v7__dl-item__name {
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
    color: var(--rr-moss-ink);
}
.side-v7__dl-item--loading {
    pointer-events: none;
    opacity: .75;
}
.side-v7__dl-item--loading .side-v7__dl-item__arrow svg {
    display: none;
}
.side-v7__dl-item--loading .side-v7__dl-item__arrow::after {
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    border: 2px solid var(--detail-text-subtle);
    border-top-color: var(--rr-moss);
    border-radius: 50%;
    animation: side-v7-dl-spin .7s linear infinite;
}
@keyframes side-v7-dl-spin {
    to { transform: rotate(360deg); }
}
.side-v7__dl-item__free {
    /* (mantido apenas pra retrocompat — novos botões usam .side-v7__dl-item__arrow) */
    font-size: var(--car-fs-micro); font-weight: 600;
    color: #047857;
    text-transform: uppercase; letter-spacing: .06em;
    flex-shrink: 0;
}
.side-v7__dl-item__arrow {
    flex-shrink: 0;
    color: var(--detail-text-subtle);
    display: inline-grid; place-items: center;
    transition: color .15s, transform .15s;
}
.side-v7__dl-item__arrow svg { width: 13px; height: 13px; }
.side-v7__dl-item:hover .side-v7__dl-item__arrow {
    color: var(--rr-moss);
    transform: translateY(1px);
}
/* Report featured */
.side-v7__report {
    background: var(--rr-moss-soft);
    border: 1px solid #cfe1d6;
    border-radius: 8px;
    padding: 11px 12px;
    cursor: pointer;
    text-decoration: none;
    display: block;
    color: inherit;
}
.side-v7__report:hover { background: #dbe7e0; text-decoration: none; color: inherit; }
.side-v7__report__title {
    font-size: var(--car-fs-body); font-weight: 600;
    color: var(--car-text-strong);
    margin: 0 0 3px;
    line-height: var(--car-lh-tight);
}
.side-v7__report__desc {
    font-size: var(--car-fs-small); color: var(--detail-text-muted);
    margin: 0 0 8px;
    line-height: var(--car-lh-normal);
}
.side-v7__report__price {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: var(--car-fs-body); font-weight: 600;
    color: var(--car-text-strong);
    font-variant-numeric: tabular-nums;
}
.side-v7__report__badge {
    background: #fff;
    color: var(--rr-moss-ink);
    border: 1px solid #cfe1d6;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: var(--car-fs-micro);
    font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em;
}
.side-v7__report__hint {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    font-weight: 500;
}

/* Status rows — padrão painel */
.side-v7__status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px 0;
    font-size: var(--car-fs-small);
    line-height: var(--car-lh-normal);
}
.side-v7__status__label { color: var(--detail-text-muted); font-weight: 400; }
.side-v7__status__value {
    color: var(--car-text-strong);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

/* Side action buttons compactos */
.side-v7__buttons { display: flex; flex-direction: column; gap: 4px; }
.side-v7__btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 10px;
    background: transparent;
    border: 0;
    border-radius: 6px;
    font-family: inherit;
    font-size: var(--car-fs-small); font-weight: 500;
    color: var(--car-text-body);
    cursor: pointer;
    text-decoration: none;
    transition: background .12s;
    line-height: var(--car-lh-normal);
}
.side-v7__btn:hover {
    background: var(--detail-bg-soft);
    color: var(--car-text-strong);
    text-decoration: none;
}
.side-v7__btn svg { width: 13px; height: 13px; color: var(--detail-text-muted); }
.side-v7__btn:hover svg { color: var(--car-text-strong); }

/* === Hero stats row (CAR Abas v2 / Claude Design) — strip de estatísticas
   abaixo do id-meta, só dentro do card do detalhe do CAR (.car-hero-card),
   não vaza pro card da SERP visão lista (mesmo componente .rr-fav-card-v2). === */
.car-hero-card .car-hero-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 12px;
    margin: 16px 0 0;
    padding-top: 0;
    border-top: 0;
}
.car-hero-card .car-hero-stat {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}
.car-hero-card .car-hero-stat--meta {
    margin-left: 0;
    text-align: left;
}
.car-hero-card .car-hero-stat__label {
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 24px;
    color: var(--car-text-body);
}
.car-hero-card .car-hero-stat__value {
    font-size: var(--car-fs-stat);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 24px;
    color: var(--car-text-strong);
    font-variant-numeric: tabular-nums;
}
.car-hero-card .car-hero-stat__value--text {
    font-size: var(--car-fs-stat);
    font-weight: 700;
}
.car-hero-card .car-hero-stat__unit {
    font-size: 13px;
    font-weight: 400;
    color: var(--car-text-body);
    margin-left: 2px;
}
.car-hero-card .car-hero-stat__lock {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: var(--car-fs-small);
    font-weight: 600;
    color: var(--car-amber-ink);
    text-decoration: none;
}
.car-hero-card .car-hero-stat__lock svg { width: 11px; height: 11px; }
.car-hero-card .car-hero-stat__lock:hover { text-decoration: underline; }
@media (max-width: 640px) {
    .car-hero-card .car-hero-stats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* === Rail nav — substitui subnav top com vertical sticky list === */
.rail-nav {
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius);
    padding: 5px;
    display: flex; flex-direction: column; gap: 1px;
}
.rail-nav__item {
    display: flex; align-items: center; gap: 12px;
    padding: 9px 12px;
    margin: 0 -12px;
    border-radius: 8px;
    font-size: 13.6px; font-weight: 500;
    letter-spacing: .2px;
    color: var(--rr-moss-ink);
    text-decoration: none;
    /* Os itens são <a> sem href (a navegação é via data-tab-link), então o
       cursor e o realce de hover precisam vir do CSS. */
    cursor: pointer;
    transition: background .12s, color .12s, box-shadow .12s;
    line-height: 17px;
}
/* Hover fica em cinza + barra de destaque pra não se confundir com o verde
   do item ativo. */
.rail-nav__item:hover {
    background: rgb(243,244,246);
    color: var(--rr-moss-ink);
    box-shadow: inset 2px 0 0 var(--rr-moss);
    text-decoration: none;
}
.rail-nav__item.is-active:hover { background: var(--car-moss-soft); }
.rail-nav__item:hover svg { color: var(--rr-moss); }
.rail-nav__item.is-active {
    background: var(--car-moss-soft);
    color: var(--rr-moss-ink);
    font-weight: 700;
}
.rail-nav__item svg {
    width: 16px; height: 16px;
    color: var(--rr-moss-ink);
    flex-shrink: 0;
}
.rail-nav__item.is-active svg { color: var(--rr-moss-ink); }
.rail-nav__count {
    margin-left: auto;
    background: var(--detail-bg-soft);
    color: var(--detail-text-muted);
    border-radius: 999px;
    padding: 1px 7px;
    font-size: var(--car-fs-micro);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: 1.5;
}
.rail-nav__item.is-active .rail-nav__count { background: rgba(53,104,84,.12); color: var(--rr-moss-ink); }

/* (rail-card / rail-status-row / rail-actions / rail-action / rail-map /
   rail-sicor-stat removidos — substituídos por .side-v7 em v7.) */

/* (.car-health* e .car-chip* removidos — viviam dentro do hero-v7 antigo;
   hero atual usa o SERP card que tem chip/badge próprios.) */

/* (.btn-action-primary removido — agora vem do serp_card.css, com tom moss
   no escopo .rr-fav-card-v2 .btn-action-primary que é o "Ver no mapa" do hero) */

/* ========================================================================
   Sobreposições — overrides escopados em .sobreposicao-card (modernizar
   sem reescrever o markup do _content que tem 800+ linhas).
   ======================================================================== */
#panel-sobreposicoes h6.text-danger,
#panel-sobreposicoes h6.text-primary,
#panel-sobreposicoes h4.text-primary {
    color: var(--car-text-strong) !important;
    font-size: var(--car-fs-micro) !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 10px !important;
    display: flex; align-items: center; gap: 6px;
}
#panel-sobreposicoes h6.text-danger i,
#panel-sobreposicoes h6.text-primary i,
#panel-sobreposicoes h4.text-primary i {
    font-size: 11px !important;
    color: var(--detail-text-muted);
}

#panel-sobreposicoes .sobreposicao-card {
    border: 1px solid var(--car-border) !important;
    border-left-width: 3px !important;
    border-radius: var(--car-radius-sm) !important;
    background: #fff !important;
    transition: border-color .15s, box-shadow .15s !important;
}
#panel-sobreposicoes .sobreposicao-card:hover {
    border-color: var(--detail-border-strong) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
}
#panel-sobreposicoes .sobreposicao-card.problematica { border-left-color: #d97706 !important; }
#panel-sobreposicoes .sobreposicao-card.importante   { border-left-color: #dc2626 !important; }
#panel-sobreposicoes .sobreposicao-card.informativa  { border-left-color: #2563eb !important; }
#panel-sobreposicoes .sobreposicao-card.insignificante { border-left-color: var(--car-border) !important; opacity: .8; }

#panel-sobreposicoes .sobreposicao-card .card-body {
    padding: 12px 14px !important;
}
#panel-sobreposicoes .sobreposicao-card h6 {
    font-size: var(--car-fs-body) !important;
    font-weight: 600 !important;
    color: var(--car-text-strong) !important;
    line-height: var(--car-lh-tight);
}
#panel-sobreposicoes .sobreposicao-card h6 a {
    color: inherit !important;
}
#panel-sobreposicoes .sobreposicao-card .text-muted {
    color: var(--detail-text-muted) !important;
    font-size: var(--car-fs-small) !important;
}
#panel-sobreposicoes .sobreposicao-card .badge {
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    font-size: var(--car-fs-micro) !important;
}
#panel-sobreposicoes .badge.bg-danger { background: #fef2f2 !important; color: #b91c1c !important; }
#panel-sobreposicoes .badge.bg-primary { background: #eff6ff !important; color: #1d4ed8 !important; }
#panel-sobreposicoes .badge.bg-warning { background: #fffbeb !important; color: #b45309 !important; }
#panel-sobreposicoes .badge.bg-info { background: #ecfdf5 !important; color: #047857 !important; }

#panel-sobreposicoes .sobreposicao-card .btn-sm {
    font-size: var(--car-fs-small) !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#panel-sobreposicoes .sobreposicao-card .btn-outline-dark {
    border-color: var(--car-border) !important;
    color: var(--car-text-body) !important;
}
#panel-sobreposicoes .sobreposicao-card .btn-outline-dark:hover {
    background: var(--detail-bg-soft) !important;
    border-color: var(--detail-border-strong) !important;
    color: var(--car-text-strong) !important;
}
#panel-sobreposicoes .sobreposicao-card .btn-dark {
    background: var(--car-text-strong) !important;
    border-color: var(--car-text-strong) !important;
}

/* "Ver todos os embargos (X)" toggle button — pra abrir os insignificantes */
#panel-sobreposicoes .btn-outline-secondary {
    font-size: var(--car-fs-small) !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    border-color: var(--car-border) !important;
    color: var(--detail-text-muted) !important;
    background: var(--detail-bg) !important;
    font-weight: 500 !important;
}
#panel-sobreposicoes .btn-outline-secondary:hover {
    background: var(--detail-bg-soft) !important;
    border-color: var(--detail-border-strong) !important;
    color: var(--car-text-body) !important;
}

/* Demonstrativo SICAR table (fallback quando não há overlaps) */
#panel-sobreposicoes .table {
    font-size: var(--car-fs-small);
}
#panel-sobreposicoes .table thead th {
    font-weight: 600;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    text-transform: uppercase;
    letter-spacing: .04em;
    background: var(--detail-bg-soft);
    border-bottom: 1px solid var(--car-border);
}
#panel-sobreposicoes .alert-secondary {
    background: var(--detail-bg-soft);
    border: 1px solid var(--car-border);
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
    border-radius: var(--car-radius-sm);
}

/* ========================================================================
   Sobreposições v3 — substitui blur overlay
   ======================================================================== */
.so-list { display: flex; flex-direction: column; gap: 10px; }
.so-card {
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    padding: 14px 16px;
    transition: border-color .12s;
}
.so-card:hover { border-color: var(--detail-border-strong); }
/* A origem do item aparece na cor do eyebrow (e do dot), não numa borda
   lateral: mantém o card limpo com vários grupos empilhados. */
.so-card--restricao .so-card__eyebrow { color: #b91c1c; }
.so-card--alerta .so-card__eyebrow    { color: #b45309; }
.so-card--relacao .so-card__eyebrow   { color: #1d4ed8; }

.so-card__head {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 12px;
    margin-bottom: 6px;
}
.so-card__ident { min-width: 0; }
.so-card__title {
    font-size: 16px;
    font-weight: 600;
    color: var(--car-text-strong);
    margin: 0;
    line-height: var(--car-lh-tight);
    word-break: break-word;
}
.so-card__title a { color: inherit; }
.so-card__title a:hover { color: var(--rr-moss-ink); }
.so-card__eyebrow {
    margin: 0 0 4px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.so-card__eyebrow::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: currentColor;
    vertical-align: middle;
}
.so-card__subtitle {
    margin: 4px 0 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}
.so-card__code {
    margin: 4px 0 0;
    color: var(--detail-text-dim);
    font-size: var(--car-fs-micro);
    font-variant-numeric: tabular-nums;
    word-break: break-all;
}
.so-card__share {
    flex-shrink: 0;
    text-align: right;
}
.so-card__share strong {
    display: block;
    color: var(--car-text-strong);
    font-size: 18px;
    font-variant-numeric: tabular-nums;
}
.so-card__share strong small { font-size: 11px; font-weight: 500; }
.so-card__share span {
    display: block;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
}
.so-card__cat {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: var(--car-fs-micro); font-weight: 600;
    letter-spacing: .06em; text-transform: uppercase;
    border: 1px solid;
    white-space: nowrap;
    line-height: 1.4;
}
.so-card__cat--restricao { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.so-card__cat--alerta    { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.so-card__cat--relacao   { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }

.so-card__meta {
    display: flex; flex-wrap: wrap; gap: 12px;
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin-bottom: 6px;
    line-height: var(--car-lh-normal);
}
.so-card__meta b { color: var(--car-text-body); font-weight: 500; }
.so-card__proportion {
    display: grid;
    grid-template-columns: auto minmax(80px, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin: 10px 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}
.so-card__track {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--detail-bg-soft);
}
.so-card__track span {
    display: block;
    /* Sobreposições de fração de por cento existem (o card só é gerado com
       área > 0), então a barra sempre mostra um traço visível. */
    min-width: 3px;
    height: 100%;
    border-radius: inherit;
    background: var(--rr-moss);
}
.so-card--restricao .so-card__track span { background: #dc2626; }
.so-card--alerta .so-card__track span { background: #d97706; }
.so-card--relacao .so-card__track span { background: #2563eb; }

.so-card__actions {
    display: flex; gap: 6px; justify-content: flex-end;
    margin-top: 4px;
}
.so-card__actions a {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px;
    background: transparent;
    border: 1px solid var(--car-border);
    border-radius: 5px;
    font-size: var(--car-fs-small); font-weight: 500;
    color: var(--car-text-body);
    text-decoration: none;
}
.so-card__actions a:hover {
    background: var(--detail-bg-soft);
    border-color: var(--detail-border-strong);
    color: var(--car-text-strong);
    text-decoration: none;
}
.so-card__actions a.so-action--primary {
    background: var(--car-text-strong);
    border-color: var(--car-text-strong);
    color: #fff;
}
.so-card__actions a.so-action--primary:hover {
    background: #000;
    border-color: #000;
    color: #fff;
}

.so-cat-header {
    display: flex; align-items: center; gap: 8px;
    margin: 16px 0 8px;
    font-size: var(--car-fs-micro); font-weight: 700;
    color: var(--detail-text-dim, #9ca3af);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.so-cat-header svg { width: 13px; height: 13px; }
.so-cat-header--restricao { color: #b91c1c; }
.so-cat-header--alerta    { color: #b45309; }
.so-cat-header--relacao   { color: #1d4ed8; }
.so-cat-header__count {
    margin-left: auto;
    color: var(--detail-text-muted);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}
.so-cat-header__count b { color: var(--car-text-body); font-weight: 600; }
.so-groups { display: flex; flex-direction: column; gap: 12px; }
.so-group + .so-group { margin-top: 8px; }
.so-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid #cfe3d8;
    border-radius: var(--detail-radius-sm);
    background: var(--rr-moss-soft);
}
.so-summary__check {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--rr-moss);
    color: #fff;
}
.so-summary strong { color: var(--rr-moss-ink); font-size: var(--car-fs-body); }
.so-summary p {
    margin: 2px 0 0;
    color: var(--car-text-body);
    font-size: var(--car-fs-small);
}
.so-summary__body { flex: 1; min-width: 0; }
.so-summary__metric { flex-shrink: 0; text-align: right; }
.so-summary__metric strong {
    display: block;
    font-size: 22px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
.so-summary__metric strong small { font-size: 12px; font-weight: 500; }
.so-summary__metric span {
    display: block;
    color: var(--car-text-body);
    font-size: var(--car-fs-micro);
}
.so-paywall {
    padding: 28px 24px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: var(--detail-bg);
    text-align: center;
}
.so-paywall__lock {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #fff7e6;
    color: #b7791f;
}
.so-paywall h3 {
    margin: 0 0 8px;
    color: var(--rr-moss-ink);
    font-size: var(--car-fs-h3);
    font-weight: 700;
}
.so-paywall > p {
    max-width: 460px;
    margin: 0 auto 18px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
    line-height: 1.5;
}
.so-paywall__skeleton {
    max-width: 430px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 auto 18px;
}
.so-paywall__skeleton span {
    height: 25px;
    border-radius: 5px;
    background: linear-gradient(90deg, #f5f5f4, #e7e5e4, #f5f5f4);
}
.so-paywall small {
    display: block;
    margin-top: 8px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
}
.so-paywall .btn-unlock--solid {
    padding: 7px 18px;
    border-color: var(--rr-moss);
    border-radius: 7px;
    background: var(--rr-moss);
    color: #fff;
    font-weight: 700;
}
.so-paywall .btn-unlock--solid:hover {
    border-color: var(--rr-moss-ink);
    background: var(--rr-moss-ink);
    color: #fff;
}
.so-bases { margin-top: 22px; }
.so-bases h3 {
    margin: 0 0 10px;
    color: var(--car-mint);
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.so-bases__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.so-bases__grid > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: #fff;
    color: var(--car-text-body);
    font-size: var(--car-fs-small);
}
.so-bases__grid b {
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    letter-spacing: .05em;
    text-transform: uppercase;
}
.so-bases > p {
    margin: 12px 0 0;
    color: var(--detail-text-dim);
    font-size: var(--car-fs-micro);
}
.so-bases__item--off { background: var(--detail-bg-soft); opacity: .8; }
.so-sicar { margin-top: 18px; }
.so-clear-state {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: var(--detail-radius-sm);
    background: var(--rr-moss-soft);
    color: var(--rr-moss-ink);
    font-size: var(--car-fs-small);
}
.so-clear-state i { margin-top: 2px; }

@media (max-width: 640px) {
    .so-card__head { flex-direction: column; }
    .so-card__share { text-align: left; }
    .so-card__actions { justify-content: stretch; flex-direction: column; }
    .so-card__actions a { justify-content: center; }
    .so-bases__grid { grid-template-columns: 1fr; }
}

/* Estado bloqueado das sobreposições (não-assinante) */
.so-locked {
    background: var(--detail-bg);
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius);
    padding: 18px 20px;
}
.so-locked__head {
    display: flex; align-items: flex-start; gap: 14px;
    margin-bottom: 12px;
}
.so-locked__icon {
    width: 36px; height: 36px;
    background: var(--detail-bg-soft);
    border: 1px solid var(--car-border);
    border-radius: 8px;
    display: grid; place-items: center;
    color: var(--detail-text-muted);
    flex-shrink: 0;
}
.so-locked__icon svg { width: 15px; height: 15px; }
.so-locked__body { flex: 1; min-width: 0; }
.so-locked__title {
    font-size: var(--car-fs-h3);
    font-weight: 600;
    color: var(--car-text-strong);
    margin: 0 0 3px;
    line-height: var(--car-lh-tight);
}
.so-locked__sub {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin: 0;
    line-height: var(--car-lh-normal);
}
.so-locked__cta { flex-shrink: 0; }
.so-locked__breakdown {
    list-style: none;
    padding: 12px 0 0;
    margin: 12px 0 0;
    border-top: 1px solid var(--detail-divider);
    display: flex; flex-wrap: wrap; gap: 18px;
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
}
.so-locked__breakdown li { display: inline-flex; align-items: center; gap: 7px; }
.so-locked__breakdown b { color: var(--car-text-strong); font-weight: 600; font-variant-numeric: tabular-nums; }
.so-locked__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.so-locked__dot--danger { background: #dc2626; }
.so-locked__dot--warn   { background: #d97706; }
.so-locked__dot--info   { background: #2563eb; }

.so-toggle-insignif {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    background: var(--detail-bg);
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    font-size: var(--car-fs-small); font-weight: 500;
    color: var(--detail-text-muted);
    cursor: pointer;
    margin-top: 10px;
}
.so-toggle-insignif:hover { background: var(--detail-bg-soft); color: var(--car-text-body); border-color: var(--detail-border-strong); }

/* ========================================================================
   Timeline / Histórico v3 — substitui detail-lock-overlay
   ======================================================================== */
.car-history-locked {
    background:
        repeating-linear-gradient(
            -45deg,
            transparent 0,
            transparent 9px,
            var(--detail-bg-soft) 9px,
            var(--detail-bg-soft) 10px
        ),
        var(--detail-bg);
    border: 1px dashed var(--car-border);
    border-radius: var(--detail-radius-sm);
    padding: 18px;
    margin-top: 14px;
    display: flex; align-items: center; gap: 14px;
}
.car-history-locked__icon {
    width: 36px; height: 36px;
    background: var(--detail-bg);
    border: 1px solid var(--car-border);
    border-radius: 50%;
    display: grid; place-items: center;
    color: var(--detail-text-muted);
    flex-shrink: 0;
}
.car-history-locked__icon svg { width: 15px; height: 15px; }
.car-history-locked__body { flex: 1; }
.car-history-locked__title {
    font-size: var(--car-fs-h3); font-weight: 600;
    color: var(--car-text-strong);
    line-height: var(--car-lh-tight);
}
.car-history-locked__sub {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin-top: 3px;
    line-height: var(--car-lh-normal);
}

/* ========================================================================
   Seção SICOR — Crédito rural
   ======================================================================== */
.sicor-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 18px;
}
@media (max-width: 800px) {
    .sicor-summary { grid-template-columns: repeat(2, 1fr); }
}
.sicor-stat {
    background: var(--detail-bg);
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    padding: 12px 14px;
}
.sicor-stat__label {
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 6px;
    line-height: 1.2;
}
.sicor-stat__value {
    font-size: var(--car-fs-h3);
    color: var(--car-text-strong);
    font-weight: 600;
    margin: 0;
    line-height: var(--car-lh-tight);
    font-variant-numeric: tabular-nums;
}
.sicor-stat__value--date { font-size: var(--car-fs-body); font-weight: 600; }
.sicor-stat__value--brl::before {
    content: 'R$ ';
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    font-weight: 400;
    margin-right: 2px;
}
.sicor-stat__sub {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin: 3px 0 0;
    line-height: var(--car-lh-normal);
}

/* Tabela de operações */
.sicor-ops-wrap {
    overflow-x: auto;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: var(--detail-bg);
}
.sicor-ops {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--car-fs-small);
}
.sicor-ops thead th {
    text-align: left;
    font-weight: 600;
    font-size: var(--car-fs-micro);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--detail-text-muted);
    padding: 8px 10px;
    border-bottom: 1px solid var(--car-border);
    background: var(--detail-bg-soft);
    white-space: nowrap;
}
.sicor-ops tbody td {
    padding: 10px 10px;
    border-bottom: 1px solid var(--detail-divider);
    vertical-align: top;
    color: var(--car-text-body);
    font-size: var(--car-fs-small);
    line-height: var(--car-lh-normal);
}
.sicor-ops tbody tr:last-child td { border-bottom: 0; }
.sicor-ops tbody tr:hover td { background: var(--detail-bg-soft); }
.sicor-ops__produto {
    font-weight: 500;
    color: var(--car-text-strong);
    line-height: 1.2;
}
.sicor-ops__modalidade {
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    margin-top: 2px;
    line-height: var(--car-lh-normal);
}
.sicor-ops__date {
    font-variant-numeric: tabular-nums;
    color: var(--car-text-body);
    white-space: nowrap;
}
.sicor-ops__date-sub {
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    margin-top: 1px;
}
.sicor-ops__valor {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--car-text-strong);
    text-align: right;
    white-space: nowrap;
}
.sicor-ops__prog {
    display: inline-flex; align-items: center;
    padding: 2px 7px;
    background: var(--detail-bg-soft);
    border: 1px solid var(--car-border);
    border-radius: 4px;
    font-size: var(--car-fs-micro);
    font-weight: 600;
    color: var(--car-text-body);
    letter-spacing: .02em;
    white-space: nowrap;
}
.sicor-ops__status {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: var(--car-fs-micro); font-weight: 500;
    white-space: nowrap;
}
.sicor-ops__status--ativa { color: #16a34a; }
.sicor-ops__status--ativa::before { content: '●'; font-size: 7px; }
.sicor-ops__status--vencida { color: var(--detail-text-muted); }
.sicor-ops__status--vencida::before { content: '○'; font-size: 7px; }
.sicor-ops__benef {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: var(--car-fs-micro);
    color: var(--detail-text-subtle);
    letter-spacing: .02em;
    white-space: nowrap;
}

/* Breakdown por produto/programa */
.sicor-breakdown {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}
@media (max-width: 700px) {
    .sicor-breakdown { grid-template-columns: 1fr; }
}
.sicor-breakdown__col {
    background: var(--detail-bg-softer);
    border: 1px solid var(--detail-divider);
    border-radius: var(--detail-radius-sm);
    padding: 12px 14px;
}
.sicor-breakdown__title {
    font-size: var(--car-fs-micro);
    font-weight: 700;
    color: var(--detail-text-dim, #9ca3af);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 8px;
}
.sicor-breakdown__row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    padding: 4px 0;
    font-size: var(--car-fs-small);
    align-items: center;
    border-bottom: 1px solid var(--detail-divider);
}
.sicor-breakdown__row:last-child { border-bottom: 0; }
.sicor-breakdown__row-name {
    color: var(--car-text-body);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sicor-breakdown__row-count { color: var(--detail-text-muted); font-size: var(--car-fs-micro); }
.sicor-breakdown__row-value {
    color: var(--car-text-strong);
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    text-align: right;
}

.sicor-preview-note {
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    margin: 0 0 10px;
}
.sicor-preview-note b { color: var(--car-text-body); font-weight: 600; }

/* === Timeline — eventos SICOR mesclados (kind='sicor') === */
.detail-timeline__item--sicor {
    --tl-accent: var(--rr-moss-ink, #25553a);
}
.detail-timeline__item--sicor::before,
.detail-timeline__item--sicor::after {
    background: var(--tl-accent) !important;
}
.detail-timeline__date-chip--sicor {
    background: var(--rr-moss-soft, #eaf3ec);
    color: var(--rr-moss-ink, #25553a);
    border: 1px solid #cfe1d6;
}
.detail-timeline__sicor-prog {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    font-size: var(--car-fs-micro);
    font-weight: 700;
    color: var(--rr-moss-ink, #25553a);
    background: var(--rr-moss-soft, #eaf3ec);
    border-radius: 999px;
    vertical-align: middle;
    letter-spacing: .02em;
}
.detail-timeline__sicor-active {
    color: #16a34a;
    font-weight: 600;
}
.detail-timeline__sicor-kv {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 14px;
    padding: 10px 12px;
    background: var(--detail-bg-soft);
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm, 8px);
}
@media (max-width: 700px) {
    .detail-timeline__sicor-kv { grid-template-columns: 1fr; }
}
.detail-timeline__sicor-kv-row {
    display: flex; flex-direction: column;
    gap: 2px; min-width: 0;
}
.detail-timeline__sicor-kv-label {
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
}
.detail-timeline__sicor-kv-value {
    font-size: var(--car-fs-small);
    color: var(--car-text-strong);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}
.detail-timeline__sicor-cta { margin-top: 10px; }

/* Real ↔ máscara dentro de cada item SICOR. Server-side define o
   estado inicial via data-sicor-locked; JS troca pra "false" após
   unlock bem-sucedido. */
.tl-sicor-real, .tl-sicor-mask { display: inline; font-variant-numeric: tabular-nums; }
.tl-sicor-mask {
    color: var(--detail-text-subtle);
    filter: blur(4px);
    user-select: none;
    letter-spacing: .02em;
}
.detail-timeline__item--sicor[data-sicor-locked="true"]  .tl-sicor-real { display: none; }
.detail-timeline__item--sicor[data-sicor-locked="false"] .tl-sicor-mask { display: none; }
.detail-timeline__item--sicor[data-sicor-locked="false"] .detail-timeline__sicor-cta { display: none; }

/* === SICOR — lista com células bloqueadas (blur + CTA único) === */
.sicor-ops-section { position: relative; }
.sicor-ops--gated .sicor-ops__th-gated { color: var(--detail-text-muted); }
.sicor-ops__th-gated::after {
    content: '🔒';
    margin-left: 4px;
    font-size: 9px;
    filter: grayscale(1);
    opacity: .55;
    position: relative;
    top: -1px;
}
.sicor-ops-section[data-unlocked="true"] .sicor-ops__th-gated::after { display: none; }
.sicor-ops-section[data-unlocked="true"] .sicor-ops__th-gated { color: var(--car-text-strong); }
.sicor-ops__blur {
    display: inline-block;
    filter: blur(4px);
    user-select: none;
    color: var(--detail-text-subtle);
    transition: filter .2s ease;
}
.sicor-ops-section[data-unlocked="true"] .sicor-ops__blur {
    filter: none;
    color: inherit;
    user-select: text;
}
.sicor-ops__gated { position: relative; }
.sicor-ops-unlock-cta {
    text-align: center;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--detail-divider);
}
.sicor-ops-section[data-unlocked="true"] .sicor-ops-unlock-cta { display: none; }

/* === Crédito e seguro rural — painel desbloqueado (protótipo v2) === */
.rural-finance {
    --finance-green: #2e8065;
    --finance-mint: #42c998;
    --finance-ink: #263b36;
    color: var(--finance-ink);
}
.rural-finance__tabs {
    display: flex;
    align-items: center;
    gap: 2px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 26px;
    padding: 4px;
    border: 1px solid #e7ebe9;
    border-radius: 11px;
    background: #f7f8f8;
}
.rural-finance__tab {
    min-height: 34px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #66746f;
    font-size: var(--car-fs-small);
    font-weight: 700;
    cursor: pointer;
}
.rural-finance__tab span { margin-left: 5px; color: #a0aaa6; }
.rural-finance__tab:hover:not(.is-active) { background: #eef1f0; color: #3d4f4a; }
.rural-finance__tab.is-active {
    background: #fff;
    color: var(--finance-green);
    box-shadow: 0 1px 4px rgba(25, 55, 46, .12);
}
.rural-finance__panel { animation: financePanelIn .18s ease-out; }
.rural-finance__panel[hidden] { display: none !important; }
@keyframes financePanelIn {
    from { opacity: 0; transform: translateY(3px); }
    to { opacity: 1; transform: none; }
}
.rural-finance__heading { margin-bottom: 22px; }
.rural-finance__eyebrow {
    margin: 0 0 7px;
    color: var(--finance-mint);
    font-size: var(--car-fs-micro);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.rural-finance__heading h2 {
    margin: 0;
    color: #273d37;
    font-size: 1.38rem;
    font-weight: 750;
    letter-spacing: -.02em;
}
.rural-finance__heading > p:last-child {
    margin: 6px 0 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}
.finance-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 26px;
    overflow: hidden;
    border: 1px solid #e1e7e4;
    border-radius: 11px;
    background: #fff;
}
.finance-metric {
    min-height: 100px;
    padding: 18px 22px;
    border-right: 1px solid #e8ecea;
    border-bottom: 1px solid #e8ecea;
}
.finance-metric:nth-child(2n) { border-right: 0; }
.finance-metric:nth-child(3), .finance-metric:nth-child(4) { border-bottom: 0; }
.finance-metric > span, .psr-card__facts span {
    display: block;
    margin-bottom: 5px;
    color: #78857f;
    font-size: var(--car-fs-micro);
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.finance-metric strong {
    display: block;
    color: #263b36;
    font-size: 1.48rem;
    font-weight: 750;
    line-height: 1.16;
    font-variant-numeric: tabular-nums;
}
.finance-metric strong.finance-metric__period { font-size: 1.28rem; }
.finance-metric small {
    display: block;
    margin-top: 7px;
    color: #8b9893;
    font-size: var(--car-fs-small);
}
.finance-breakdown {
    grid-column: 1 / -1;
    padding: 15px 22px 17px;
}
.finance-breakdown__bar {
    display: flex;
    width: 100%;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1ef;
}
.finance-breakdown__bar i { width: var(--share); background: #327a63; }
.finance-breakdown__bar i:nth-child(2n) { background: #c89452; }
.finance-breakdown__bar i:nth-child(3n) { background: #7ca9a0; }
.finance-breakdown__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 9px;
    color: #74817c;
    font-size: var(--car-fs-small);
}
.finance-breakdown__legend span { display: inline-flex; align-items: center; gap: 6px; }
.finance-breakdown__legend i {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #327a63;
}
.finance-breakdown__legend span:nth-child(2n) i { background: #c89452; }
.finance-breakdown__legend span:nth-child(3n) i { background: #7ca9a0; }
.finance-breakdown__legend b { color: #54635e; }
.finance-records__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 10px;
}
.finance-records__head b {
    color: var(--finance-mint);
    font-size: var(--car-fs-micro);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.finance-records__head span { color: #9aa4a0; font-size: var(--car-fs-small); }
.finance-records__list {
    overflow: hidden;
    border: 1px solid #e1e7e4;
    border-radius: 10px;
    background: #fff;
}
.finance-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 64px;
    padding: 11px 18px;
    border-bottom: 1px solid #e8ecea;
}
.finance-row__main { min-width: 0; }
.finance-row__main > strong {
    display: block;
    overflow: hidden;
    color: #2c453e;
    font-size: var(--car-fs-body);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.finance-row__main em, .psr-card h3 em {
    color: #76827e;
    font-style: normal;
    font-weight: 450;
}
.finance-row__main small {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #899590;
    font-size: var(--car-fs-small);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.finance-row__value {
    color: #2c403b;
    font-size: var(--car-fs-body);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.finance-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: fit-content;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f0f3f2;
    color: #87928e;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.finance-status::before {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    content: '';
}
.finance-status--active { background: #eaf9f3; color: #2aaa7e; }
.finance-closed summary {
    padding: 13px 18px;
    color: #2d6655;
    font-size: var(--car-fs-small);
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    list-style: none;
}
.finance-closed summary::-webkit-details-marker { display: none; }
.finance-closed[open] summary { border-bottom: 1px solid #e8ecea; }
.finance-closed .finance-row:last-child { border-bottom: 0; }
.finance-source {
    margin: 24px 0 0;
    color: #a1aba7;
    font-size: var(--car-fs-micro);
    line-height: 1.55;
}
.psr-cards { display: flex; flex-direction: column; gap: 14px; }
.psr-card {
    padding: 20px;
    border: 1px solid #e1e7e4;
    border-radius: 11px;
    background: #fff;
}
.psr-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.psr-card h3 {
    margin: 11px 0 4px;
    color: #2c453e;
    font-size: var(--car-fs-body);
    font-weight: 750;
}
.psr-card__head p { margin: 0; color: #899590; font-size: var(--car-fs-small); }
.psr-card__amount { flex: 0 0 auto; text-align: right; }
.psr-card__amount strong {
    display: block;
    color: #2c403b;
    font-size: 1.3rem;
    font-variant-numeric: tabular-nums;
}
.psr-card__amount span { color: #98a29e; font-size: var(--car-fs-micro); }
.psr-card__timeline { margin: 18px 0; }
.psr-card__timeline > i {
    display: block;
    position: relative;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8ecea;
}
.psr-card__timeline > i::after {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--progress);
    border-radius: inherit;
    background: #9da8b3;
    content: '';
}
.psr-card__timeline > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
    color: #899590;
    font-size: var(--car-fs-micro);
}
.psr-card__timeline b { color: #798681; font-weight: 650; text-align: center; }
.psr-card__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.psr-card__facts > div {
    min-height: 70px;
    padding: 12px 14px;
    border: 1px solid #e8ecea;
    border-radius: 8px;
    background: #fbfcfc;
}
.psr-card__facts strong {
    color: #394e48;
    font-size: var(--car-fs-small);
    line-height: 1.35;
}
.finance-records[data-unlocked="true"] .sicor-ops__blur,
.psr-cards[data-unlocked="true"] .sicor-ops__blur {
    filter: none;
    color: inherit;
    user-select: text;
}
.finance-records[data-unlocked="false"] .sicor-ops__blur,
.psr-cards[data-unlocked="false"] .sicor-ops__blur {
    filter: blur(4px);
    color: var(--detail-text-subtle);
    user-select: none;
}
.finance-records[data-unlocked="true"] .sicor-ops-unlock-cta,
.psr-cards[data-unlocked="true"] .sicor-ops-unlock-cta { display: none; }

@media (max-width: 700px) {
    .rural-finance__tabs { width: 100%; }
    .rural-finance__tab { flex: 1; }
    .finance-metric { padding: 15px; }
    .finance-row { grid-template-columns: 1fr auto; gap: 8px 12px; }
    .finance-row .finance-status { grid-column: 1; }
    .finance-row__main { grid-column: 1; }
    .finance-row__value { grid-column: 2; grid-row: 1 / 3; }
    .psr-card__head { flex-direction: column; }
    .psr-card__amount { text-align: left; }
}
@media (max-width: 480px) {
    .finance-metrics { grid-template-columns: 1fr; }
    .finance-metric { min-height: 88px; border-right: 0; border-bottom: 1px solid #e8ecea !important; }
    .finance-breakdown { grid-column: 1; padding: 14px; }
    .finance-row { padding: 12px; }
    .psr-card { padding: 15px; }
    .psr-card__facts { grid-template-columns: 1fr; }
    .psr-card__timeline > div b { display: none; }
}

/* === Saldo flash (mantido pra quando UCP balance reaparecer no sidebar) === */
@keyframes rr-balance-flash {
    0% { background: var(--rr-moss-soft); }
    100% { background: var(--detail-bg-soft); }
}
[data-rr-balance].is-flashing { animation: rr-balance-flash .8s ease-out; }

/* === Sobreposições — gate de identidade (overlap_ids) === */
.overlaps-section { position: relative; }

.overlaps-unlock-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin-bottom: 18px;
    background: var(--detail-bg-soft);
    border: 1px dashed var(--car-border);
    border-radius: var(--detail-radius-sm, 8px);
}
.overlaps-unlock-banner__icon {
    width: 36px; height: 36px;
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: 50%;
    display: grid; place-items: center;
    color: var(--detail-text-muted);
    flex-shrink: 0;
}
.overlaps-unlock-banner__icon svg { width: 16px; height: 16px; }
.overlaps-unlock-banner__body { flex: 1; min-width: 0; }
.overlaps-unlock-banner__title {
    margin: 0 0 3px;
    font-size: var(--car-fs-body);
    font-weight: 600;
    color: var(--car-text-strong);
    line-height: var(--car-lh-tight);
}
.overlaps-unlock-banner__sub {
    margin: 0;
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
    line-height: var(--car-lh-normal);
}
.overlaps-unlock-banner__cta { flex-shrink: 0; }

/* Blur nos IDs/nomes/links dos cards de sobreposição quando locked.
   Categoria, município, área e o tipo do item ficam visíveis pra contexto. */
.overlaps-section[data-unlocked="false"] .sobreposicao-card h6 a,
.overlaps-section[data-unlocked="false"] .sobreposicao-card h6 {
    filter: blur(4px);
    user-select: none;
    color: var(--detail-text-subtle);
    transition: filter .2s ease;
}
.overlaps-section[data-unlocked="false"] .sobreposicao-card a[href*="sobreposicao"],
.overlaps-section[data-unlocked="false"] .sobreposicao-card a[href*="embargos_item"],
.overlaps-section[data-unlocked="false"] .sobreposicao-card a[href*="car/item"],
.overlaps-section[data-unlocked="false"] .sobreposicao-card a[href*="imoveis/item"] {
    pointer-events: none;
    filter: blur(3px) saturate(.4);
    opacity: .6;
}
.overlaps-section[data-unlocked="true"] .overlaps-unlock-banner { display: none; }

/* === Modal "Salvar no CRM" === */
.rr-crm-modal .modal-title {
    display: flex; align-items: center; gap: 10px;
    font-weight: 700;
}
.rr-crm-modal .modal-title i {
    color: var(--rr-moss-ink, #1F4035);
}
.rr-crm-modal__lead {
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
    margin-bottom: 14px;
}
.rr-crm-form { display: flex; flex-direction: column; gap: 10px; }
.rr-crm-option {
    display: grid;
    grid-template-columns: 22px 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    align-items: start;
    padding: 12px 14px;
    border: 1px solid var(--car-border);
    border-radius: 10px;
    cursor: pointer;
    background: var(--paper, #fff);
    transition: border-color .15s ease, background .15s ease;
}
.rr-crm-option:hover {
    border-color: var(--rr-moss, #356854);
    background: var(--moss-tint, #f0f5f2);
}
.rr-crm-option input[type="checkbox"] {
    grid-row: 1 / span 2;
    margin-top: 2px;
    width: 18px; height: 18px;
    accent-color: var(--rr-moss-ink, #1F4035);
}
.rr-crm-option__title {
    font-size: var(--car-fs-body);
    font-weight: 600;
    color: var(--car-text-strong);
}
.rr-crm-option__sub {
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    line-height: 1.45;
}
.rr-crm-form__note {
    margin-top: 8px;
    padding: 10px 12px;
    background: var(--detail-bg-soft);
    border-radius: 8px;
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    display: flex; gap: 8px; align-items: flex-start;
}
.rr-crm-form__note i { margin-top: 2px; color: var(--rr-moss, #356854); }
[data-rr-save-crm-submit].is-loading {
    opacity: .7; pointer-events: none;
}

/* ========================================================================
   v10 — Navegação em rail agrupada (desktop) + header compacto/sheet
   (mobile). Reaproveita .rail-nav (já existente, estava sem uso) como base
   da lista de itens; adiciona agrupamento por categoria + estado mobile.
   ======================================================================== */

/* --- Desktop: rail esquerdo com grupos (Identificação/Território/...) --- */
.car-content-layout {
    display: grid;
    grid-template-columns: 236px 1fr;
    gap: 32px;
    align-items: start;
}
@media (max-width: 1024px) {
    .car-content-layout { display: block; }
}
/* Coluna de conteúdo — protótipo CAR Abas v2.dc.html linha 197:
   background:rgb(250,250,250); padding:34px 40px. */
.car-content-panels {
    background: var(--car-panel-bg);
    border-radius: 5px;
    padding: 34px 40px;
    min-width: 0;
    box-sizing: border-box;
}
@media (max-width: 640px) {
    .car-content-panels { padding: 20px; }
}
.car-content-layout .car-tab-panel.is-active {
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.car-nav-rail {
    position: sticky;
    top: 12px;
    display: flex;
    flex-direction: column;
    gap: 26px;
    padding-top: 10px;
}
@media (max-width: 1024px) {
    .car-nav-rail { display: none; }
}
.car-nav-rail__group { display: flex; flex-direction: column; gap: 12px; }
.car-nav-rail__group-title {
    font-size: 12.9px;
    font-weight: 700;
    color: rgb(156,163,175);
    letter-spacing: .653px;
    text-transform: uppercase;
    margin: 0 0 2px;
    padding: 0;
    line-height: 13.06px;
}
.car-nav-rail .rail-nav__item[data-locked="true"] .rail-nav__lock {
    display: inline-flex;
    color: #b45309;
    flex-shrink: 0;
}
.car-nav-rail .rail-nav__item .rail-nav__lock svg { width: 11px; height: 11px; }
.car-nav-rail .rail-nav__item[data-alert="true"]::after {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgb(245,158,11);
    flex-shrink: 0;
}

/* Painéis de conteúdo reaproveitam .car-tab-panel (mesmo JS de ativação) —
   só o gatilho de navegação muda entre mobile (car-tabs/sheet) e desktop
   (car-nav-rail). Ambos compartilham os mesmos IDs de painel. */
.car-content-layout .car-tab-panel { display: none; }
.car-content-layout .car-tab-panel.is-active {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

/* A antiga barra horizontal só é ocultada nesta página. Outras telas de
   detalhe ainda usam .car-tabs como navegação principal. */
#containerCarDetails .car-tabs { display: none !important; }

/* --- Header compacto mobile (aba atual + abrir sheet de seções) --- */
.car-mobile-picker {
    display: none;
}
@media (max-width: 1024px) {
    .car-mobile-picker {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        margin: 0 0 12px;
        background: var(--detail-bg);
        border: 1px solid var(--car-border);
        border-radius: var(--detail-radius-sm);
        cursor: pointer;
    }
}
.car-mobile-picker__icon {
    width: 30px; height: 30px;
    border-radius: 7px;
    background: var(--rr-moss-soft);
    color: var(--rr-moss-ink);
    display: grid; place-items: center;
    flex-shrink: 0;
}
.car-mobile-picker__icon svg { width: 15px; height: 15px; }
.car-mobile-picker__body { flex: 1; min-width: 0; }
.car-mobile-picker__kicker {
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--detail-text-muted);
}
.car-mobile-picker__label {
    font-size: var(--car-fs-h3);
    font-weight: 600;
    color: var(--car-text-strong);
    line-height: var(--car-lh-tight);
}
.car-mobile-picker__chev { color: var(--detail-text-muted); flex-shrink: 0; }
.car-mobile-picker__chev svg { width: 14px; height: 14px; }

/* --- Sheet de seções (mobile) --- */
.car-sheet-backdrop {
    display: none;
    position: fixed; inset: 0;
    background: rgba(10,10,10,.42);
    z-index: 1060;
    align-items: flex-end;
    justify-content: center;
}
.car-sheet-backdrop.is-open { display: flex; }
@media (min-width: 1025px) {
    .car-sheet-backdrop.is-open { display: none; }
}
.car-sheet {
    width: 100%;
    max-width: 560px;
    max-height: 82vh;
    background: #fff;
    border-radius: 18px 18px 0 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.car-sheet__handle {
    display: flex; justify-content: center;
    padding: 10px 0 4px;
    flex-shrink: 0;
}
.car-sheet__handle span {
    width: 38px; height: 4px;
    border-radius: 999px;
    background: var(--car-border);
}
.car-sheet__head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px;
    padding: 8px 18px 14px;
    border-bottom: 1px solid var(--car-border);
    flex-shrink: 0;
}
.car-sheet__title { font-size: var(--car-fs-h1); font-weight: 700; color: var(--car-text-strong); }
.car-sheet__close {
    width: 34px; height: 34px;
    border-radius: 17px;
    border: 0; background: transparent;
    display: grid; place-items: center;
    color: var(--detail-text-muted);
    cursor: pointer;
}
.car-sheet__close:hover { background: var(--detail-bg-soft); }
.car-sheet__body {
    overflow-y: auto;
    padding: 6px 12px 20px;
}
.car-sheet__group { padding-top: 14px; }
.car-sheet__group-title {
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--detail-text-dim, #9ca3af);
    padding: 0 8px 6px;
}
.car-sheet__item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 10px;
    border-radius: 10px;
    cursor: pointer;
    color: var(--rr-moss-ink);
}
.car-sheet__item:hover { background: var(--detail-bg-soft); }
.car-sheet__item.is-active { background: var(--rr-moss-soft); }
.car-sheet__item-icon { color: var(--rr-moss); flex-shrink: 0; display: grid; place-items: center; }
.car-sheet__item-icon svg { width: 18px; height: 18px; }
.car-sheet__item-body { flex: 1; min-width: 0; }
.car-sheet__item-label { font-size: var(--car-fs-h3); font-weight: 500; color: var(--rr-moss-ink); }
.car-sheet__item.is-active .car-sheet__item-label { font-weight: 700; }
.car-sheet__item-note {
    font-size: var(--car-fs-micro);
    color: var(--detail-text-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.car-sheet__item-lock { color: #b45309; flex-shrink: 0; }
.car-sheet__item-lock svg { width: 13px; height: 13px; }

/* Cadeado das abas com desbloqueio (titularidade, sobreposições): fechado e
   âmbar enquanto há pendência, destrancado e moss quando tudo já foi liberado —
   nunca desaparece, pra ficar claro que aquele dado é pago e já está pago.
   Os dois SVGs vêm no DOM (car_v2_nav_lock.jinja) e o data-locked do item de
   navegação escolhe qual mostrar; car_detail_v3.js troca esse atributo no ato
   do desbloqueio. */
.rail-nav__lock, .car-sheet__item-lock { display: inline-flex; }
.rail-nav__lock [data-lock-open],
.car-sheet__item-lock [data-lock-open] { display: none; }
.rail-nav__item[data-locked="false"] .rail-nav__lock,
.car-sheet__item[data-locked="false"] .car-sheet__item-lock { color: var(--rr-moss); }
.rail-nav__item[data-locked="false"] .rail-nav__lock [data-lock-closed],
.car-sheet__item[data-locked="false"] .car-sheet__item-lock [data-lock-closed] { display: none; }
.rail-nav__item[data-locked="false"] .rail-nav__lock [data-lock-open],
.car-sheet__item[data-locked="false"] .car-sheet__item-lock [data-lock-open] { display: block; }
.car-sheet__item-check { color: var(--rr-moss); flex-shrink: 0; }
.car-sheet__item-check svg { width: 16px; height: 16px; }

/* --- Navegação anterior/próxima (rodapé de cada painel, mobile+desktop) --- */
.car-panel-nav {
    display: flex; gap: 10px;
    margin-top: 24px;
}
.car-panel-nav__btn {
    flex: 1; min-width: 0;
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1.5px solid #cfe1d6;
    background: var(--rr-moss-soft);
    text-decoration: none;
    cursor: pointer;
}
.car-panel-nav__btn:hover { background: #dbe7e0; text-decoration: none; }
.car-panel-nav__btn--next {
    justify-content: flex-end;
    background: var(--rr-moss);
    border-color: var(--rr-moss);
}
.car-panel-nav__btn--next:hover { background: var(--rr-moss-ink); }
.car-panel-nav__ic {
    width: 26px; height: 26px;
    border-radius: 13px;
    background: #fff;
    display: grid; place-items: center;
    flex-shrink: 0;
    color: var(--rr-moss-ink);
}
.car-panel-nav__btn--next .car-panel-nav__ic { color: var(--rr-moss-ink); }
.car-panel-nav__ic svg { width: 14px; height: 14px; }
.car-panel-nav__text { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.car-panel-nav__btn--next .car-panel-nav__text { align-items: flex-end; }
.car-panel-nav__kicker {
    font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--rr-moss-ink);
}
.car-panel-nav__btn--next .car-panel-nav__kicker { color: rgba(255,255,255,.78); }
.car-panel-nav__label {
    font-size: var(--car-fs-small); font-weight: 700; color: var(--rr-moss-ink);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 160px;
}
.car-panel-nav__btn--next .car-panel-nav__label { color: #fff; }

/* ========================================================================
   Aba Titularidade — cards de bloco desbloqueável (CAR Abas v2)

   Markup em car_v2_titularidade_content.jinja. O estado "desbloqueado" é
   derivado de .rr-unlock-btn--unlocked, que o handler de unlock aplica no
   próprio botão — por isso os seletores usam :has(), pra o card inteiro
   reagir sem precisar de JS nesta página.
   ======================================================================== */
.tit-block { display: flex; flex-direction: column; gap: 22px; }
.tit-notice {
    display: flex; align-items: flex-start; gap: 11px;
    padding: 13px 16px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: var(--detail-bg-soft);
}
.tit-notice__ic { flex-shrink: 0; color: var(--rr-moss); line-height: 0; margin-top: 1px; }
.tit-notice__ic svg { width: 17px; height: 17px; }
.tit-notice__text {
    margin: 0;
    font-size: 13.1px; line-height: 18.37px;
    color: var(--detail-text-muted);
}
.tit-notice__text strong { color: var(--rr-moss-ink); font-weight: 600; }
.tit-intro {
    margin: 0;
    font-size: var(--car-fs-body); line-height: 24px;
    color: var(--car-text-body);
}

.tit-card-grid .rr-card__people {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "titular matriculas"
        "cadastrante contatos";
    gap: 14px;
}
.tit-card {
    grid-area: auto;
    display: flex; flex-direction: column; gap: 14px;
    padding: 18px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: var(--detail-bg);
}
.tit-card--cadastrante { grid-area: cadastrante; }
.tit-card--titular, .tit-card--titulares { grid-area: titular; }
.tit-card--matriculas { grid-area: matriculas; }
.tit-card--contatos { grid-area: contatos; }
.tit-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tit-card__title {
    font-size: 10.9px; font-weight: 700; line-height: 15.78px;
    letter-spacing: .435px; text-transform: uppercase;
    color: var(--detail-text-dim, #9ca3af);
}
.tit-card__cost {
    flex-shrink: 0;
    font-size: 10.9px; font-weight: 700; line-height: 15.78px;
    letter-spacing: .435px; text-transform: uppercase;
    color: var(--car-amber-ink, #a07720);
}
.tit-card__state {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 10.9px; font-weight: 700; line-height: 15.78px;
    letter-spacing: .435px; text-transform: uppercase;
    color: var(--car-mint, #2fb380);
}
.tit-card__state svg { width: 12px; height: 12px; }
.tit-card__skeleton { display: flex; flex-direction: column; gap: 7px; }
.tit-card__skeleton span { display: block; height: 9px; border-radius: 999px; background: var(--car-border); }
.tit-card__skeleton span:last-child { width: 45%; background: var(--detail-bg-soft); }
.tit-card--titular .tit-card__skeleton span:first-child { width: 70%; }
.tit-card--titulares .tit-card__skeleton span:first-child { width: 70%; }
.tit-card--matriculas .tit-card__skeleton span:first-child { width: 55%; }
.tit-card--cadastrante .tit-card__skeleton span:first-child { width: 62%; }
.tit-card--contatos .tit-card__skeleton span:first-child { width: 48%; }
.tit-card--contatos .tit-card__skeleton span:last-child { width: 48%; }
.tit-card__empty {
    display: flex; align-items: center; gap: 7px;
    font-size: var(--car-fs-small); font-style: italic;
    color: var(--detail-text-muted);
}
.tit-card__empty i { font-style: normal; color: var(--detail-text-dim, #9ca3af); }
.tit-card .rr-card-person__slot { display: block; margin-top: auto; }
.tit-card .rr-unlock-btn--inline {
    width: 100%;
    height: 34px;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: var(--detail-bg);
    color: var(--rr-moss-ink);
    font-size: 13.6px; font-weight: 500;
}
.tit-card .rr-unlock-btn--inline svg { width: 13px; height: 13px; color: var(--rr-moss); }
.tit-card .rr-unlock-btn--inline:hover {
    border-color: var(--rr-moss);
    background: var(--rr-moss-soft);
}

/* Bloco já desbloqueado: sem placeholder de dado oculto, etiqueta "Desbloqueado"
   no lugar do custo e botão em moss (a lógica do modal segue a mesma).
   `data-unlocked` vem do servidor e é atualizado na hora pelo car_detail_v3.js
   quando o desbloqueio acontece na própria página. */
.tit-card__state { display: none; }
.tit-card[data-unlocked="true"] { border-color: var(--rr-moss-soft-border, #cfe3d8); }
.tit-card[data-unlocked="true"] .tit-card__skeleton,
.tit-card[data-unlocked="true"] .tit-card__cost { display: none; }
.tit-card[data-unlocked="true"] .tit-card__state { display: inline-flex; }
.tit-card[data-unlocked="true"] .rr-unlock-btn {
    border-color: var(--rr-moss);
    background: var(--rr-moss-soft);
    color: var(--rr-moss-ink);
}
.tit-card[data-unlocked="true"] .rr-unlock-btn:hover {
    background: var(--rr-moss);
    border-color: var(--rr-moss);
    color: #fff;
}
.tit-card[data-unlocked="true"] .rr-unlock-btn i { font-size: 11px; }

.tit-unlock-all {
    border-radius: var(--detail-radius-sm);
    background: var(--rr-moss-soft);
    padding: 18px 22px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    flex-wrap: wrap;
}
.tit-unlock-all__text { min-width: 0; }
.tit-unlock-all__state { display: flex; flex-direction: column; gap: 3px; }
.tit-block[data-all-unlocked="true"] .tit-unlock-all__state[data-tit-state="locked"],
.tit-block[data-all-unlocked="false"] .tit-unlock-all__state[data-tit-state="ready"] { display: none; }
.tit-unlock-all__title {
    margin: 0;
    font-size: var(--car-fs-body); font-weight: 700; line-height: 20px;
    letter-spacing: .435px; color: var(--rr-moss-ink);
}
.tit-unlock-all__sub {
    margin: 0;
    font-size: 13.1px; line-height: 18.37px;
    color: var(--car-text-body);
}
.tit-unlock-all .rr-card__unlock-all-cta {
    flex-shrink: 0;
    height: 34px;
    padding: 0 22px;
    border-color: var(--rr-moss);
    background: var(--rr-moss);
    box-shadow: inset 0 1px 0 1px rgba(255, 255, 255, .16);
    color: #fff;
    font-size: 13.6px;
}
.tit-unlock-all .rr-card__unlock-all-cta:hover {
    border-color: var(--rr-moss-ink);
    background: var(--rr-moss-ink);
}
/* Tudo liberado: o mesmo botão deixa de ser CTA de cobrança e vira atalho
   "Ver todos os dados". */
.tit-unlock-all .rr-card__unlock-all-cta--ready {
    border-color: var(--rr-moss);
    background: #fff;
    box-shadow: none;
    color: var(--rr-moss-ink);
}
.tit-unlock-all .rr-card__unlock-all-cta--ready:hover {
    border-color: var(--rr-moss);
    background: var(--rr-moss);
    color: #fff;
}
@media (max-width: 767.98px) {
    .tit-card-grid .rr-card__people {
        grid-template-columns: 1fr;
        grid-template-areas: "titular" "matriculas" "cadastrante" "contatos";
    }
}
.tit-person {
    display: flex; align-items: center; gap: 12px;
    padding-bottom: 12px; margin-bottom: 12px;
    border-bottom: 1px solid var(--car-border);
}
.tit-person__avatar {
    width: 38px; height: 38px; border-radius: 19px;
    background: var(--rr-moss-soft); color: var(--rr-moss-ink);
    display: grid; place-items: center; font-weight: 700; font-size: var(--car-fs-small);
    flex-shrink: 0;
}
.tit-person__name { font-size: var(--car-fs-h3); font-weight: 600; color: var(--car-text-strong); }
.tit-person__sub { font-size: var(--car-fs-small); color: var(--detail-text-muted); }

/* ========================================================================
   Aba Solo — Embrapa/SoilGrids + pivôs de irrigação
   ======================================================================== */
.solo-unit-card {
    background: var(--detail-bg);
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 18px;
}
.solo-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}
.solo-section-head--classification { margin-bottom: 20px; }
.solo-section-head__title,
.solo-section-head__description {
    margin: 0;
    color: var(--car-text-strong);
}
.solo-section-head__title { font-size: var(--car-fs-body); font-weight: 700; }
.solo-section-head__description { font-size: var(--car-fs-small); }
.solo-section-head__title + .solo-section-head__description {
    margin-top: 3px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
}
.solo-section-head__source {
    flex-shrink: 0;
    color: var(--detail-text-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.solo-unit-card__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.solo-unit-card__code {
    display: inline-flex;
    align-self: flex-start;
    padding: 3px 9px;
    background: var(--detail-bg-soft);
    border-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: var(--car-fs-small);
    color: var(--detail-text-muted);
}
.solo-unit-card__kind {
    color: var(--car-amber-ink);
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.solo-unit-card__title {
    font-size: var(--car-fs-h2);
    font-weight: 700;
    line-height: 1.35;
    color: var(--car-text-strong);
    margin: 0;
}
.solo-subsection-label {
    margin: 0 0 16px;
    color: var(--car-mint);
    font-size: var(--car-fs-small);
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.solo-components {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
    gap: 10px;
}
.solo-component {
    display: flex;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    background: var(--detail-bg);
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
}
.solo-component__index {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--detail-bg-soft);
    display: grid;
    place-items: center;
    font-size: var(--car-fs-micro);
    font-weight: 700;
    color: var(--detail-text-muted);
    flex-shrink: 0;
}
.solo-component__body { min-width: 0; }
.solo-component__name {
    margin: 0;
    font-size: var(--car-fs-small);
    font-weight: 600;
    line-height: 1.35;
    color: var(--car-text-strong);
}
.solo-component__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.solo-component__tag {
    padding: 2px 8px; border-radius: 4px; background: var(--detail-bg-soft);
    font-size: var(--car-fs-micro); font-weight: 500; text-transform: uppercase; letter-spacing: .04em;
    color: var(--detail-text-muted);
}
.solo-component__tag--highlight { background: var(--car-amber-soft); color: var(--car-amber-ink); }
.solo-components__note {
    margin: 20px 0 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    line-height: 1.45;
}
.solo-estimates,
.solo-irrigation {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--car-divider);
}
/* Estados da seção de propriedades estimadas: o conteúdo é o padrão (dado veio
   no render ou já foi hidratado por car_detail_solo.js); esqueleto e aviso só
   aparecem enquanto a consulta ao SoilGrids corre ou quando ela não volta. */
.solo-estimates__loading,
.solo-estimates__fallback { display: none; }
.solo-estimates[data-state="loading"] .solo-estimates__loading { display: grid; }
.solo-estimates[data-state="unavailable"] .solo-estimates__fallback { display: block; }
.solo-estimates[data-state="loading"] .solo-estimates__data,
.solo-estimates[data-state="unavailable"] .solo-estimates__data,
.solo-estimates[data-state="loading"] .solo-depth-pill,
.solo-estimates[data-state="unavailable"] .solo-depth-pill { display: none; }
.solo-estimates__loading { gap: 10px; }
.solo-estimates__skeleton {
    border-radius: var(--car-radius-sm);
    background: linear-gradient(90deg, var(--detail-bg-soft) 25%, var(--car-border) 50%, var(--detail-bg-soft) 75%);
    background-size: 300% 100%;
    animation: solo-estimates-shimmer 1.3s ease-in-out infinite;
}
.solo-estimates__skeleton--card { height: 58px; }
.solo-estimates__skeleton--row { height: 12px; }
@keyframes solo-estimates-shimmer {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    .solo-estimates__skeleton { animation: none; }
}
.solo-depth-pill,
.solo-atlas-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--rr-moss-soft);
    color: var(--rr-moss-ink);
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.solo-depth-pill i,
.solo-atlas-pill i { font-size: 9px; }
.solo-texture-card {
    padding: 20px;
    border: 1px solid #cfe1d6;
    border-radius: var(--detail-radius-sm);
    background: var(--rr-moss-soft);
}
.solo-texture-card__title {
    margin: 0;
    color: var(--rr-moss-ink);
    font-size: var(--car-fs-h2);
    font-weight: 700;
}
.solo-texture-card__sub {
    margin: 4px 0 0;
    color: var(--car-text-body);
    font-size: var(--car-fs-micro);
}
.solo-texture-bars { margin: 16px 0; }
.solo-texture-bar { display: flex; align-items: center; gap: 12px; padding: 6px 0; }
.solo-texture-bar__label { width: 46px; font-size: var(--car-fs-small); color: var(--detail-text-muted); flex-shrink: 0; }
.solo-texture-bar__track { flex: 1; height: 7px; border-radius: 999px; background: var(--detail-bg-soft); overflow: hidden; }
.solo-texture-bar__fill { height: 7px; border-radius: 999px; }
.solo-texture-bar__fill--sand { background: #c98b4b; }
.solo-texture-bar__fill--silt { background: #99906a; }
.solo-texture-bar__fill--clay { background: #7b4c32; }
.solo-texture-bar__value { width: 48px; text-align: right; font-size: var(--car-fs-small); font-weight: 600; color: var(--car-text-strong); flex-shrink: 0; }
/* auto-fit em vez de 4 colunas fixas: o número de cards varia por aba (3 em
   áreas, 4 em regularidade, 1 a 4 em solo) e a linha precisa fechar a largura
   toda em qualquer contagem. */
.solo-props-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
    gap: 10px;
}
.solo-prop-card {
    background: var(--detail-bg); border: 1px solid var(--car-border); border-radius: var(--detail-radius-sm);
    padding: 12px 14px;
}
.solo-prop-card__label { font-size: var(--car-fs-micro); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--detail-text-muted); margin: 0 0 4px; }
.solo-prop-card__value { font-size: var(--car-fs-h3); font-weight: 700; color: var(--car-text-strong); }
.solo-prop-card__value small { font-size: var(--car-fs-small); font-weight: 400; color: var(--detail-text-muted); }
.solo-props-grid--estimates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 20px;
}
.solo-sources__note {
    margin: 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    line-height: 1.45;
}
.solo-sources__note + .solo-sources__note { margin-top: 7px; }
.solo-caveat {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    padding: 14px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    line-height: 1.45;
}
.solo-caveat i {
    flex-shrink: 0;
    line-height: inherit;
}
.solo-caveat strong { color: var(--car-text-body); }
.solo-section-head--irrigation { margin-bottom: 20px; }
.solo-atlas-pill { background: rgba(232,245,233,.6); }
.solo-irrigation__hint {
    margin: 0 0 14px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    line-height: 1.5;
}
.solo-pivo-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.solo-pivo-card {
    padding: 20px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
    background: var(--detail-bg);
}
.solo-pivo-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.solo-pivo-card__identity { min-width: 0; }
.solo-pivo-card__eyebrow {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 7px;
    color: #4f86dc;
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.solo-pivo-card__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4f8fe8;
}
.solo-pivo-card__title {
    margin: 0;
    color: var(--car-text-strong);
    font-size: var(--car-fs-h2);
    font-weight: 700;
}
.solo-pivo-card__meta {
    margin: 5px 0 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}
.solo-pivo-card__share {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
}
.solo-pivo-card__share strong {
    color: var(--rr-moss-ink);
    font-size: 26px;
    line-height: 1;
}
.solo-pivo-card__share span {
    margin-top: 4px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
}
.solo-pivo-card__area {
    display: grid;
    grid-template-columns: auto minmax(60px, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin: 20px 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}
.solo-pivo-card__area strong {
    color: var(--car-text-strong);
    font-size: var(--car-fs-small);
}
.solo-pivo-card__track {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--detail-bg-soft);
}
.solo-pivo-card__track span {
    display: block;
    height: 100%;
    min-width: 6px;
    border-radius: inherit;
    background: #4f8fe8;
}
.solo-pivo-card__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.solo-pivo-metric {
    min-width: 0;
    min-height: 72px;
    padding: 14px 16px;
    border: 1px solid var(--car-border);
    border-radius: var(--detail-radius-sm);
}
.solo-pivo-metric > span {
    display: block;
    margin-bottom: 5px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.solo-pivo-metric > strong {
    color: var(--car-text-strong);
    font-size: 23px;
    line-height: 1.15;
}
.solo-pivo-metric > strong small {
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
    font-weight: 400;
}
.solo-pivo-metric > .solo-pivo-metric__text {
    font-size: var(--car-fs-body);
    font-weight: 600;
}
.solo-irrigation__source {
    margin: 18px 0 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    line-height: 1.5;
}
@media (max-width: 600px) {
    .solo-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
    .solo-components,
    .solo-pivo-card__metrics { grid-template-columns: 1fr; }
    .solo-props-grid--estimates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solo-pivo-card__area {
        grid-template-columns: auto 1fr;
        gap: 10px;
    }
    .solo-pivo-card__area strong {
        grid-column: 1 / -1;
        text-align: right;
    }
}

/* ========================================================================
   Aba Clima e alertas — gráficos compartilhados com o detalhe do mapa
   ======================================================================== */
.car-climate { margin-bottom: 30px; }
.car-climate__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 150px;
    border: 1px solid var(--car-border);
    border-radius: 10px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}
.car-climate__loading.is-error {
    min-height: 90px;
    background: #fff8f5;
    color: #9a3412;
}
.car-climate__content[hidden],
.car-climate-details__body[hidden] { display: none !important; }

.car-climate-hero {
    display: grid;
    grid-template-columns: 1.35fr repeat(3, 1fr);
    align-items: center;
    margin-bottom: 24px;
    padding: 22px 20px;
    border: 1px solid var(--car-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--car-shadow-card);
}
.car-climate-hero__now {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding-right: 18px;
}
.car-climate-hero__icon {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}
.car-climate-hero__icon img { width: 54px; height: 54px; }
.car-climate-hero__temp {
    display: block;
    color: var(--car-text-strong);
    font-size: 34px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
}
.car-climate-hero__condition,
.car-climate-hero__range {
    display: block;
    margin-top: 3px;
    color: var(--car-text-body);
    font-size: var(--car-fs-small);
}
.car-climate-hero__range { color: var(--detail-text-muted); }
.car-climate-hero__metric {
    min-width: 0;
    padding: 3px 16px;
    border-left: 1px solid var(--car-border);
}
.car-climate-hero__metric strong {
    display: block;
    color: var(--car-text-strong);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}
.car-climate-hero__metric strong small {
    color: #a1a1aa;
    font-size: 12px;
    font-weight: 500;
}
.car-climate-hero__metric > span {
    display: block;
    margin-top: 5px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}

.car-climate-chart-card {
    min-width: 0;
    border: 1px solid var(--car-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--car-shadow-card);
}
.car-climate-chart-card--temp {
    padding: 20px 22px 18px;
    margin-bottom: 24px;
}
.car-climate-chart-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.car-climate-chart-card__head h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: var(--car-text-strong);
    font-size: var(--car-fs-body);
    font-weight: 650;
}
.car-climate-chart-card__head h3 i { color: #f59e0b; }
.car-climate-legend {
    display: flex;
    gap: 14px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
    font-weight: 700;
    text-transform: uppercase;
}
.car-climate-legend span { display: inline-flex; align-items: center; gap: 5px; }
.car-climate-legend i { width: 12px; height: 3px; border-radius: 4px; }
.car-climate-legend__max { background: #ff9500; }
.car-climate-legend__min { background: #00c2cb; }

.rr-pn-mapa-detail__climate-chart {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}
.car-climate-chart--main { height: 205px; }
.car-climate-chart--mini { height: 135px; }
.rr-pn-mapa-detail__climate-chart svg { display: block; width: 100%; height: 100%; }
.rr-pn-mapa-detail__climate-chart-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--car-border);
}
.rr-pn-mapa-detail__climate-chart-stat-label {
    display: block;
    margin-bottom: 3px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
}
.rr-pn-mapa-detail__climate-chart-stat-value {
    display: block;
    color: var(--car-text-strong);
    font-size: 16px;
    font-weight: 650;
}
.rr-pn-mapa-detail__climate-chart-stat--max .rr-pn-mapa-detail__climate-chart-stat-value { color: #e78800; }
.rr-pn-mapa-detail__climate-chart-stat--min .rr-pn-mapa-detail__climate-chart-stat-value { color: #348add; }

.car-climate-details {
    margin-bottom: 28px;
    border: 1px solid var(--car-border);
    border-radius: 10px;
    background: #fff;
}
.car-climate-details__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border: 0;
    background: transparent;
    color: var(--car-text-strong);
    text-align: left;
    cursor: pointer;
}
.car-climate-details__toggle span { display: block; min-width: 0; }
.car-climate-details__toggle strong,
.car-climate-details__toggle small { display: block; }
.car-climate-details__toggle strong { font-size: var(--car-fs-body); }
.car-climate-details__toggle small {
    margin-top: 3px;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
    font-weight: 400;
}
.car-climate-details__toggle > i {
    color: var(--detail-text-muted);
    font-size: 11px;
    transition: transform .15s;
}
.car-climate-details__toggle[aria-expanded="false"] > i { transform: rotate(180deg); }
.car-climate-details__body { padding: 4px 14px 14px; }
.car-climate-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.car-climate-chart-card--mini {
    padding: 14px 14px 13px;
    box-shadow: none;
}
.car-climate-chart-card--mini .car-climate-chart-card__head {
    margin-bottom: 5px;
}
.car-climate-chart-card--mini .car-climate-chart-card__head h3 {
    color: #8b8b96;
    font-size: var(--car-fs-micro);
    letter-spacing: .045em;
    text-transform: uppercase;
}
.car-climate-chart-card--mini:nth-child(1) h3 i { color: #6eb5e0; }
.car-climate-chart-card--mini:nth-child(2) h3 i { color: #7d9eb8; }
.car-climate-chart-card--mini:nth-child(3) h3 i { color: #4f93e7; }
.car-climate-mini-value {
    display: block;
    margin-top: 7px;
    color: var(--car-text-strong);
    font-size: var(--car-fs-body);
    font-weight: 650;
}

.rr-climate-chart-tooltip {
    position: absolute;
    z-index: 1080;
    min-width: 150px;
    padding: 10px 12px;
    border: 1px solid var(--car-border);
    border-radius: 8px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    color: var(--car-text-body);
    font-size: 11px;
    transition: opacity .12s;
}
.rr-climate-tip__head { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.rr-climate-tip__date { color: var(--car-text-strong); font-weight: 650; }
.rr-climate-tip__cond { color: var(--detail-text-muted); }
.rr-climate-tip__grid { display: grid; grid-template-columns: repeat(3, auto); gap: 10px; }
.rr-climate-tip__metric span { display: block; color: var(--detail-text-muted); font-size: 9px; }
.rr-climate-tip__metric strong { display: block; margin-top: 2px; }
.rr-climate-tip__metric--max strong { color: #e78800; }
.rr-climate-tip__metric--min strong { color: #348add; }
.rr-climate-tip__value { margin-top: 5px; color: #348add; font-size: 14px; font-weight: 700; }

.car-climate-alerts {
    padding-top: 22px;
    border-top: 1px solid var(--car-border);
}
.car-climate-alerts__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.car-climate-alerts__head h3 {
    margin: 0;
    color: #c45b15;
    font-size: var(--car-fs-small);
    font-weight: 750;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.car-climate-alerts__head a {
    color: var(--rr-moss);
    font-size: var(--car-fs-small);
    font-weight: 650;
    text-decoration: none;
}
.clima-inmet-alert {
    background: #fff;
    border: 1px solid var(--car-border);
    border-left: 3px solid var(--inmet-severity, #f9a825);
    border-radius: 10px;
    padding: 18px 18px 16px;
    margin-bottom: 14px;
}
.clima-inmet-alert__head { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.clima-inmet-alert__icon {
    width: 28px; height: 28px; border-radius: 50%;
    background: color-mix(in srgb, var(--inmet-severity, #f9a825) 14%, white);
    color: var(--inmet-severity, #b45309);
    display: grid; place-items: center; flex-shrink: 0;
}
.clima-inmet-alert__title {
    margin: 0;
    color: var(--inmet-severity, #b45309);
    font-size: var(--car-fs-body);
    font-weight: 700;
}
.clima-inmet-alert__period {
    margin: 2px 0 0;
    color: var(--detail-text-muted);
    font-size: var(--car-fs-micro);
}
.clima-inmet-alert__section + .clima-inmet-alert__section {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--car-border);
}
.clima-inmet-alert__label {
    display: block;
    margin-bottom: 5px;
    color: #9ca3af;
    font-size: var(--car-fs-micro);
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.clima-inmet-alert__risk {
    display: block;
    margin-bottom: 3px;
    color: var(--car-text-strong);
    font-size: var(--car-fs-small);
}
.clima-inmet-alert__desc {
    margin: 0 0 3px;
    color: var(--car-text-body);
    font-size: var(--car-fs-small);
    line-height: 1.45;
}
.clima-inmet-alert__desc a { margin-left: 5px; color: var(--rr-moss); font-weight: 650; }
.clima-inmet-empty {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 16px;
    background: var(--rr-moss-soft);
    border-radius: var(--detail-radius-sm);
    color: var(--rr-moss-ink);
    font-size: var(--car-fs-small);
}
.car-climate-footnote {
    margin-top: 18px;
    color: #8b8b96;
    font-size: var(--car-fs-small);
}

@media (max-width: 760px) {
    .car-climate-hero { grid-template-columns: 1fr 1fr; gap: 16px 0; }
    .car-climate-hero__now { grid-column: 1 / -1; }
    .car-climate-hero__metric:nth-child(2) { border-left: 0; padding-left: 0; }
    .car-climate-mini-grid { grid-template-columns: 1fr; }
    .car-climate-chart--mini { height: 170px; }
}
@media (max-width: 480px) {
    .car-climate-hero { padding: 18px 16px; }
    .car-climate-hero__metric { padding: 0 10px; }
    .car-climate-hero__metric:last-child {
        grid-column: 1 / -1;
        padding: 12px 0 0;
        border-top: 1px solid var(--car-border);
        border-left: 0;
    }
    .car-climate-chart-card--temp { padding: 16px 12px; }
    .rr-pn-mapa-detail__climate-chart-stats { grid-template-columns: 1fr 1fr; }
    .car-climate-chart-card__head { align-items: flex-start; }
}

/* ========================================================================
   Aba ZARC — janelas atuais + calendário por safra e cultura
   ======================================================================== */
.car-zarc { display: flex; flex-direction: column; gap: 18px; }
.car-zarc__intro {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
    padding: 18px 20px; border: 1px solid #dce9e2; border-radius: var(--car-radius-sm);
    background: linear-gradient(150deg, #f4f9f6 0%, #fff 72%);
}
.car-zarc__intro-copy { display: flex; gap: 13px; align-items: flex-start; }
.car-zarc__intro-icon {
    display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
    border-radius: 10px; background: var(--rr-moss); color: #fff;
}
.car-zarc__intro h3 { margin: 0 0 5px; color: var(--rr-moss-ink); font-size: var(--car-fs-h3); }
.car-zarc__intro p { margin: 0; max-width: 650px; color: var(--car-text-body); font-size: var(--car-fs-small); line-height: 1.5; }
.car-zarc__intro a { color: var(--rr-moss); font-weight: 650; white-space: nowrap; }
.car-zarc__loading {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 180px; padding: 28px; color: var(--detail-text-muted);
    border: 1px solid var(--car-border); border-radius: var(--car-radius-sm); background: #fff;
}
.car-zarc__loading.is-error { color: #9a3412; background: #fffaf7; }
.car-zarc__content { display: flex; flex-direction: column; gap: 20px; }

.car-zarc-windows {
    display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    border: 1px solid #dce9e2; border-radius: var(--car-radius);
    overflow: hidden; background: linear-gradient(155deg, #f5faf7 0%, #fff 62%);
}
.car-zarc-windows__current { padding: 22px; }
.car-zarc-windows__title { display: flex; align-items: flex-start; gap: 12px; }
.car-zarc-windows__icon {
    display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
    border-radius: 10px; background: var(--rr-moss); color: #fff;
}
.car-zarc-windows__title div { display: flex; flex-direction: column; gap: 2px; }
.car-zarc-windows__title span:not(.car-zarc-windows__icon) {
    color: var(--detail-text-muted); font-size: var(--car-fs-micro); font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
}
.car-zarc-windows__title strong { color: var(--rr-moss-ink); font-size: 1.12rem; line-height: 1.25; }
.car-zarc-windows__title small { color: var(--detail-text-muted); font-size: var(--car-fs-micro); font-weight: 600; }
.car-zarc-windows__current > p {
    margin: 17px 0 8px; color: var(--detail-text-muted);
    font-size: var(--car-fs-small); font-weight: 600;
}
.car-zarc-windows__current > p.car-zarc-windows__empty { font-weight: 400; font-style: italic; }
.car-zarc-windows__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.car-zarc-windows__chips > span {
    display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px;
    border: 1px solid #bbf7d0; border-radius: 999px; background: #dcfce7;
    color: #14532d; font-size: var(--car-fs-small); font-weight: 650;
}
.car-zarc-windows__chips b { font-size: var(--car-fs-micro); opacity: .8; }
.car-zarc-windows__upcoming {
    padding: 22px; border-left: 1px solid #dce9e2; background: rgba(255,255,255,.7);
}
.car-zarc-windows__upcoming h3 {
    display: flex; align-items: center; gap: 7px; margin: 0 0 12px;
    color: var(--rr-moss); font-size: var(--car-fs-small); font-weight: 750;
    letter-spacing: .04em; text-transform: uppercase;
}
.car-zarc-windows__upcoming ul {
    display: flex; flex-direction: column; gap: 7px; max-height: 218px;
    margin: 0; padding: 0 3px 0 0; overflow-y: auto; list-style: none;
}
.car-zarc-windows__upcoming li {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
    padding: 8px 10px; border: 1px solid #eceae6; border-radius: 8px; background: #fff;
    font-size: var(--car-fs-small);
}
.car-zarc-windows__upcoming li strong { color: var(--rr-moss-ink); }
.car-zarc-windows__upcoming li span { color: var(--detail-text-muted); white-space: nowrap; }
.car-zarc-windows__upcoming > p { margin: 0; color: var(--detail-text-muted); font-size: var(--car-fs-small); }

.car-zarc-calendar-card {
    padding: 22px; border: 1px solid var(--car-border); border-radius: var(--car-radius);
    background: #fff; box-shadow: 0 1px 3px rgba(31, 64, 53, .04);
}
.car-zarc-calendar-card__head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
    margin-bottom: 18px;
}
.car-zarc-calendar-card__head h3 { margin: 0 0 4px; color: var(--car-text-strong); font-size: var(--car-fs-h3); }
.car-zarc-calendar-card__head p { margin: 0; color: var(--detail-text-muted); font-size: var(--car-fs-small); }
.car-zarc-filters { display: flex; gap: 10px; align-items: flex-end; }
.car-zarc-filter { display: flex; flex-direction: column; gap: 5px; min-width: 150px; }
.car-zarc-filter:last-child { min-width: 220px; }
.car-zarc-filter span {
    color: var(--detail-text-muted); font-size: var(--car-fs-micro); font-weight: 700;
    letter-spacing: .05em; text-transform: uppercase;
}
.car-zarc-filter select {
    height: 38px; padding: 0 34px 0 11px; border: 1px solid var(--car-border);
    border-radius: 8px; background-color: #fff; color: var(--car-text-strong);
    font: inherit; font-size: var(--car-fs-small); cursor: pointer;
}
.car-zarc-filter select:focus { outline: 2px solid rgba(53,104,84,.18); border-color: var(--rr-moss); }
.car-zarc-selection {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-bottom: 12px; padding: 10px 12px; border-radius: 8px;
    background: var(--rr-moss-soft); color: var(--rr-moss-ink);
    font-size: var(--car-fs-small); font-weight: 650;
}
.car-zarc-selection span { display: inline-flex; align-items: center; gap: 7px; }
.car-zarc-calendar { min-height: 245px; transition: opacity .15s; }
.car-zarc-calendar.is-loading { opacity: .45; pointer-events: none; }
.car-zarc-calendar__empty {
    display: grid; place-items: center; min-height: 180px; color: var(--detail-text-muted);
    font-size: var(--car-fs-small);
}

.car-zarc-calendar .rr-pn-mapa-detail__zarc-calendar {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px;
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-month {
    overflow: hidden; border: 1px solid #e5e7eb; border-radius: 9px; background: #fff;
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-month-label {
    padding: 6px; border-bottom: 1px solid #e5e7eb; background: #f8fafc;
    color: #475569; font-size: var(--car-fs-micro); font-weight: 700;
    letter-spacing: .04em; text-align: center; text-transform: uppercase;
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-month-cells {
    display: flex; flex-direction: column; gap: 3px; padding: 5px;
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell {
    display: flex; align-items: center; justify-content: space-between; gap: 6px;
    min-height: 31px; padding: 4px 7px; border-radius: 5px; font-size: var(--car-fs-micro);
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell-slot { color: #334155; font-weight: 600; }
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell-risk { font-weight: 750; }
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell--na { background: #f1f5f9; color: #94a3b8; }
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell--r20 { background: #dcfce7; color: #166534; }
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell--r30 { background: #fef9c3; color: #854d0e; }
.car-zarc-calendar .rr-pn-mapa-detail__zarc-cell--r40 { background: #ffedd5; color: #9a3412; }
.car-zarc-calendar .rr-pn-mapa-detail__zarc-legend {
    display: flex; flex-wrap: wrap; gap: 14px; margin-top: 15px; padding-top: 14px;
    border-top: 1px solid var(--car-border); color: var(--detail-text-muted); font-size: var(--car-fs-micro);
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-swatch {
    display: inline-block; width: 12px; height: 12px; margin-right: 5px;
    border-radius: 3px; vertical-align: -2px;
}
.car-zarc-calendar .rr-pn-mapa-detail__zarc-meta {
    margin: 9px 0 0; color: var(--detail-text-muted); font-size: var(--car-fs-micro); line-height: 1.45;
}
.car-zarc__footnote {
    margin: 0; color: var(--detail-text-subtle); font-size: var(--car-fs-micro); line-height: 1.5;
}

@media (max-width: 800px) {
    .car-zarc__intro { flex-direction: column; }
    .car-zarc-windows { grid-template-columns: 1fr; }
    .car-zarc-windows__upcoming { border-top: 1px solid #dce9e2; border-left: 0; }
    .car-zarc-calendar-card__head { flex-direction: column; }
    .car-zarc-filters { width: 100%; }
    .car-zarc-filter { flex: 1; min-width: 0; }
    .car-zarc-filter:last-child { min-width: 0; }
    .car-zarc-calendar .rr-pn-mapa-detail__zarc-calendar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .car-zarc__intro, .car-zarc-calendar-card { padding: 16px; }
    .car-zarc-filters { flex-direction: column; align-items: stretch; }
    .car-zarc-selection { align-items: flex-start; flex-direction: column; }
    .car-zarc-calendar .rr-pn-mapa-detail__zarc-calendar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .car-zarc-windows__current, .car-zarc-windows__upcoming { padding: 17px; }
}

/* ========================================================================
   Crédito + Seguro rural — fundidos numa aba, duas subseções
   ======================================================================== */
.car-merged-subsection + .car-merged-subsection {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--car-border);
}
.car-merged-subsection__eyebrow {
    font-size: var(--car-fs-micro); font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--rr-moss-ink); margin: 0 0 10px;
}

/* Estado "faça login" reaproveitado nas abas novas (Solo/Clima/ZARC) pra
   anônimo — mesmo cartão de lock-section, com o CTA levando ao login modal. */
.car-tab-panel .lock-section--login { cursor: pointer; }

/* === Seções expansíveis genéricas (data-toggle-collapse) — usadas em Clima
   (série diária), ZARC (calendário comparativo) e Histórico (sincronizações
   sem alteração agrupadas). CAR Abas v2.dc.html linhas 647-669 (Clima) e
   724-760 (ZARC): cabeçalho clicável com chevron que gira 180° quando aberto,
   conteúdo escondido por padrão. === */
.car-collapse-toggle {
    background: #fff; border: 1px solid var(--car-border); border-radius: var(--car-radius-sm);
    padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
    cursor: pointer; box-sizing: border-box; transition: background .15s;
}
.car-collapse-toggle:hover { background: var(--detail-bg-soft); }
.car-collapse-toggle__chevron { flex-shrink: 0; transition: transform .15s; color: var(--detail-text-muted); }
.car-collapse-toggle.is-open .car-collapse-toggle__chevron { transform: rotate(180deg); }
.car-collapse-body { display: none; }
.car-collapse-body.is-open { display: block; }

/* === Estado de dado — "consultado e não existe" vs "fonte indisponível" ===
   CAR Abas v2.dc.html linhas 764-794 (aba Crédito e seguro rural). Eixo
   separado do lock-section (que é sobre ENTITLEMENT — precisa assinar/crédito);
   este componente é sobre DISPONIBILIDADE DO DADO em si, pra conteúdo que o
   usuário já tem direito de ver. */
.car-data-state {
    background: #fff;
    border: 1px solid var(--car-border);
    border-radius: var(--car-radius-sm);
    padding: 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    box-sizing: border-box;
}
.car-data-state__icon {
    width: 44px; height: 44px; border-radius: 22px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.car-data-state--empty .car-data-state__icon { background: var(--car-moss-soft); color: var(--rr-moss); }
.car-data-state--unavailable .car-data-state__icon { background: rgba(215,215,215,0.2); color: var(--detail-text-muted); }
.car-data-state__title {
    font-size: var(--car-fs-h3); font-weight: 700; letter-spacing: .02em;
}
.car-data-state--empty .car-data-state__title { color: var(--rr-moss-ink); }
.car-data-state--unavailable .car-data-state__title { color: var(--car-text-strong); }
.car-data-state__body {
    font-size: var(--car-fs-body); color: var(--car-text-body); max-width: 440px; line-height: var(--car-lh-normal);
}
.car-data-state__note {
    font-size: var(--car-fs-small); color: var(--detail-text-subtle); max-width: 420px;
}
.car-data-state__meta {
    font-size: var(--car-fs-micro); font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
    color: var(--detail-text-muted);
}
.car-data-state__meta--full {
    border-top: 1px solid var(--car-border); padding-top: 14px; width: 100%; margin-top: 6px;
}
.car-data-state__actions {
    display: flex; align-items: center; gap: 12px; margin-top: 6px; flex-wrap: wrap; justify-content: center;
}
.car-data-state__retry {
    height: 34px; border-radius: var(--car-radius-sm); border: 1px solid var(--car-border);
    background: #fff; display: flex; align-items: center; padding: 0 18px; cursor: pointer;
    font-size: var(--car-fs-small); font-weight: 500; color: var(--rr-moss-ink); box-sizing: border-box;
    transition: border-color .15s, background .15s;
}
.car-data-state__retry:hover { border-color: var(--rr-moss); background: var(--car-moss-soft); }

/* === Pílula "Disponível" / "Sem dados" — Design System.dc.html linha 425 === */
.car-pill {
    display: inline-flex; align-items: center; gap: 5px;
    height: 22px; border-radius: var(--car-radius-sm); padding: 3px 12px; box-sizing: border-box;
    font-size: var(--car-fs-micro); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    white-space: nowrap;
}
.car-pill__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.car-pill--available { background: var(--car-moss-soft); color: var(--rr-moss); }
.car-pill--available .car-pill__dot { background: var(--rr-moss); }
.car-pill--nodata { background: rgba(215,215,215,0.2); color: var(--detail-text-muted); }
.car-pill--nodata .car-pill__dot { background: var(--detail-text-subtle); }

/* O atalho do CRM vem da SERP com 22px; aqui ele divide a linha com os
   círculos de 30px e o botão de mapa. */
#containerCarDetails .car-hero-card .car-hero-actions .rr-send-crm-btn {
    height: 30px;
    padding: 0 14px;
    gap: 7px;
    font-size: 12px;
}
#containerCarDetails .car-hero-card .car-hero-actions .rr-send-crm-btn i.fa-bolt {
    font-size: 11px;
}

/* ========================================================================
   Menu de três pontos do hero — versão compacta da folha "Mais ações" do
   protótipo mobile. O escopo com #containerCarDetails mantém embargo, PRODES
   e processo IBAMA (que compartilham esta folha) com o menu padrão.
   ======================================================================== */
#containerCarDetails .car-hero-card .car-hero-actions .rr-it-menu__btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
    color: var(--rr-moss-ink);
    font-size: 14px;
    line-height: 1;
}
#containerCarDetails .car-hero-card .car-hero-actions .rr-it-menu__btn:hover,
#containerCarDetails .car-hero-card .car-hero-actions .rr-it-menu__btn:focus-visible,
#containerCarDetails .car-hero-card .car-hero-actions .rr-it-menu__btn.show {
    background: var(--car-moss-soft);
    color: var(--rr-moss-ink);
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu {
    min-width: 262px;
    padding: 8px;
    border: 1px solid rgb(231,229,228);
    border-radius: 12px;
    /* .shadow-sm vem do include com !important. */
    box-shadow: 0 12px 32px rgba(17,24,39,.12) !important;
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-header {
    padding: 10px 10px 4px;
    font-size: 9.5px;
    line-height: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--detail-text-dim, #9ca3af);
}
#containerCarDetails .car-hero-card .rr-it-menu .rr-it-menu__subsection {
    padding: 8px 10px 2px;
    font-size: 11px;
    line-height: 15px;
    font-weight: 600;
    color: var(--detail-text-dim, #9ca3af);
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item {
    min-height: 44px;
    padding: 6px 8px;
    gap: 10px;
    border-radius: 10px;
    font-size: 13.5px;
    line-height: 18px;
    font-weight: 500;
    color: var(--rr-moss-ink);
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item:hover,
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item:focus {
    background: rgba(232,245,233,.45);
    color: var(--rr-moss-ink);
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item > span:not(.rr-it-menu__kbd) {
    color: inherit !important;
}
/* me-2 e text-body-secondary vêm com !important do Bootstrap. */
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item > i:not(.car-mobile-menu__chevron) {
    width: 26px !important;
    height: 26px;
    margin: 0 !important;
    flex: 0 0 26px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(232,245,233,.6);
    color: var(--rr-moss-ink) !important;
    font-size: 13px;
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item > i.text-danger { color: #dc3545 !important; }
#containerCarDetails .car-hero-card .rr-it-menu .rr-it-menu__destructive > i {
    background: rgba(220,53,69,.1);
    color: #dc3545 !important;
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-menu .dropdown-item:hover > i {
    background: var(--car-moss-soft);
}
#containerCarDetails .car-hero-card .rr-it-menu .rr-it-menu__kbd {
    margin-left: auto;
    font-size: 11px;
    color: var(--detail-text-subtle);
}
#containerCarDetails .car-hero-card .rr-it-menu .dropdown-divider {
    margin: 6px 8px;
    border: 0;
    background: rgb(231,229,228);
}

/* ========================================================================
   Mobile — composição própria baseada no protótipo CAR Abas Mobile v2.
   Tudo fica dentro do breakpoint para não alterar o layout desktop.
   ======================================================================== */
.car-mobile-entity-head,
.car-mobile-updated,
.car-mobile-actions { display: none; }
/* A folha reestrutura os itens do menu compartilhado e eles voltam assim pro
   dropdown do hero; lá subtítulo e chevron ficam escondidos. O escopo no
   .car-hero-card não alcança a folha, que é filha do body enquanto está aberta. */
.car-hero-card .car-mobile-menu__subtitle,
.car-hero-card .car-mobile-menu__chevron { display: none; }
.car-mobile-picker__section {
    min-width: 0;
    flex: 1;
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    color: inherit;
    cursor: pointer;
}
.car-mobile-picker__step { display: none !important; }

@media (max-width: 767.98px) {
    body { background: #f4f6f5; }
    body[data-rr-authed-serp="1"] .rr-gh-c {
        height: 54px;
        min-height: 54px;
        padding: 10px 16px 0 !important;
    }
    .car-page-shell {
        padding: 0 0 24px;
    }
    .detail-canvas { background: #f4f6f5 !important; }
    /* detail-page.css dá 16px laterais ao canvas no mobile. Nesta página o
       gutter é responsabilidade do hero e dos painéis, senão empilha. */
    #containerCarDetails.detail-canvas {
        padding-left: 0;
        padding-right: 0;
    }
    .detail-canvas .detail-breadcrumb { display: none; }

    /* Hero */
    .car-hero-card.result-card,
    .car-hero-card.rr-fav-card-v2 {
        margin: 0;
        padding: 0 16px 12px;
        background: #fff !important;
    }
    .car-hero-card .car-hero-top {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0 !important;
        padding: 0 !important;
    }
    .car-mobile-entity-head {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        align-items: center;
        gap: 6px;
        min-height: 65px;
        width: auto !important;
    }
    .car-mobile-entity-head__back,
    .car-mobile-entity-head__more {
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        border: 0;
        border-radius: 50%;
        background: transparent;
        color: var(--rr-moss-ink);
        cursor: pointer;
    }
    .car-mobile-entity-head__back i { font-size: 17px; }
    .car-mobile-entity-head__more {
        box-shadow: 0 2px 4px rgba(0,0,0,.15);
    }
    .car-mobile-entity-head__more i { font-size: 15px; }
    .car-mobile-entity-head__more:active {
        background: rgba(232,245,233,.6);
    }
    .car-mobile-entity-head__body {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }
    .car-mobile-entity-head__body span {
        font-size: 9px;
        line-height: 12px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--detail-text-dim, #9ca3af);
    }
    .car-mobile-entity-head__body strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 14.5px;
        line-height: 19px;
        color: var(--car-text-strong);
    }
    .car-hero-card .rr-fav-card-v2__media,
    .car-hero-card .result-card-img {
        order: 2;
        width: auto !important;
        margin: 14px 10px 0 !important;
        height: calc((100vw - 52px) / 3.29) !important;
        min-height: calc((100vw - 52px) / 3.29) !important;
        aspect-ratio: 3.29 / 1 !important;
        border-radius: 8px;
        overflow: hidden;
    }
    .car-hero-card .rr-fav-card-v2__media img,
    .car-hero-card .result-card-img-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .car-hero-card .rr-fav-card-v2__body {
        order: 3;
        flex: none !important;
        width: 100%;
        height: auto !important;
        padding: 14px 10px 0 !important;
    }
    .car-hero-card .rr-card-topline {
        gap: 6px !important;
        margin: 0;
    }
    .car-hero-card .rr-card-source--car { display: none !important; }
    .car-hero-card .car-hero-source-mobile {
        display: inline-flex;
        align-items: center;
        height: 20px;
        padding: 0 8px;
        border-radius: 6px;
        background: rgba(232,245,233,.5);
        color: rgb(53,104,84);
        font-size: 9.5px;
        line-height: 1;
        font-weight: 700;
        letter-spacing: .4px;
        text-transform: uppercase;
    }
    .car-hero-card .car-sicar-pill {
        height: 20px;
        min-height: 20px;
        gap: 4px;
        padding: 0 8px !important;
        border-radius: 6px;
        font-size: 9.5px !important;
        line-height: 1;
        letter-spacing: .4px;
    }
    .car-hero-card .car-sicar-pill__dot {
        width: 7px;
        height: 7px;
    }
    .car-mobile-updated {
        display: block;
        margin-top: 8px;
        font-size: 10px;
        line-height: 14px;
        font-weight: 500;
        letter-spacing: .035em;
        text-transform: uppercase;
        color: var(--detail-text-dim, #9ca3af);
    }
    .car-hero-card h1.rr-fav-card-v2__title.result-card-title {
        margin: 7px 0 0 !important;
        display: block;
        overflow: visible;
        font-size: 17px !important;
        line-height: 22px !important;
        letter-spacing: -.01em;
        white-space: normal;
        -webkit-line-clamp: unset;
    }
    .car-hero-card .rr-fav-card-v2__title-row {
        margin: 0 !important;
        gap: 0 !important;
    }
    .car-hero-card .rr-fav-card-v2__id-meta {
        display: flex;
        margin: 5px 0 0 !important;
        gap: 9px !important;
    }
    .car-hero-card .rr-fav-card-v2__id-meta .result-card-meta {
        order: -1;
        width: 100%;
        font-size: 12.5px !important;
        line-height: 17px !important;
        color: var(--detail-text-muted);
    }
    .car-hero-card .rr-fav-card-v2__id-meta .rc-code {
        width: 100%;
        height: 34px !important;
        padding: 6px 12px !important;
        justify-content: space-between;
        background: #f7f8f8;
    }
    .car-hero-card .rr-fav-card-v2__id-meta .rc-code-value {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 11.5px;
    }
    .car-hero-card .car-hero-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        margin: 12px 0 0;
        padding-top: 11px;
        border-top: 1px solid var(--car-divider);
    }
    .car-hero-card .car-hero-stat__label {
        font-size: 9.5px;
        line-height: 13px;
    }
    .car-hero-card .car-hero-stat__value,
    .car-hero-card .car-hero-stat__value--text {
        font-size: 15px;
        white-space: nowrap;
        overflow-wrap: normal;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    .car-hero-card .car-hero-stat__unit { font-size: 9px; }
    .car-hero-card .car-hero-stat__lock {
        font-size: 9px;
        line-height: 1.2;
    }
    .car-hero-card .car-hero-actions { display: none !important; }
    /* Baixar/Enviar/Salvar são fixos; "Mapa" depende do centroide e o atalho
       do CRM só aparece logado — daí as três contagens de coluna. */
    .car-mobile-actions {
        order: 4;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        width: auto !important;
        margin: 14px 10px 0 !important;
    }
    .car-mobile-actions:has(.car-mobile-action--primary),
    .car-mobile-actions:has(.rr-send-crm) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .car-mobile-actions:has(.car-mobile-action--primary):has(.rr-send-crm) {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .car-mobile-action {
        min-width: 0;
        overflow: hidden;
        height: 48px;
        padding: 6px 4px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        border: 1px solid var(--car-border);
        border-radius: 8px;
        background: #fff;
        color: var(--rr-moss-ink);
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1;
        text-decoration: none;
        cursor: pointer;
    }
    .car-mobile-action i { font-size: 16px; }
    /* O atalho do CRM entra com a pílula da SERP; aqui ele veste o tile. */
    .car-mobile-actions .rr-send-crm { min-width: 0; }
    .car-mobile-actions .rr-send-crm-btn {
        width: 100%;
        height: 48px;
        padding: 6px 4px;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
        border: 1px solid var(--car-border);
        border-radius: 8px;
        background: #fff;
        color: var(--rr-moss-ink);
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0;
    }
    .car-mobile-actions .rr-send-crm-btn i.fa-bolt { font-size: 16px; }
    .car-mobile-actions .rr-send-crm-caret { display: none !important; }
    .car-mobile-action--primary {
        border-color: var(--rr-moss);
        background: var(--rr-moss);
        color: #fff;
    }
    .car-pdf-fab { display: none !important; }
    body.car-mobile-sheet-open { overflow: hidden; }
    .car-mobile-action-sheet-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1090;
        display: flex;
        align-items: flex-end;
        background: rgba(10, 10, 10, .42);
        animation: car-sheet-fade-in .16s ease-out;
    }
    .car-mobile-action-sheet {
        width: 100%;
        max-height: min(78vh, 650px);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        border-radius: 18px 18px 0 0;
        background: #fff;
        box-shadow: 0 -10px 36px rgba(17, 24, 39, .16);
        animation: car-sheet-rise .2s ease-out;
    }
    .car-mobile-action-sheet__handle {
        flex: 0 0 auto;
        padding: 10px 0 4px;
        display: flex;
        justify-content: center;
    }
    .car-mobile-action-sheet__handle span {
        width: 38px;
        height: 4px;
        border-radius: 999px;
        background: rgb(231,229,228);
    }
    .car-mobile-action-sheet__head {
        padding: 8px 16px 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border-bottom: 1px solid rgb(231,229,228);
    }
    .car-mobile-action-sheet__head strong {
        font-size: 17px;
        line-height: 23px;
        font-weight: 700;
        letter-spacing: -.2px;
        color: var(--car-text-strong);
    }
    .car-mobile-action-sheet__close {
        width: 40px;
        height: 40px;
        margin-right: -8px;
        flex: 0 0 40px;
        display: grid;
        place-items: center;
        border: 0;
        border-radius: 50%;
        background: transparent;
        color: rgb(107,114,128);
        font-size: 16px;
    }
    .car-mobile-action-sheet__body {
        min-height: 0;
        overflow-y: auto;
        padding: 8px 16px max(24px, env(safe-area-inset-bottom));
        overscroll-behavior: contain;
    }
    .car-mobile-action-sheet .car-mobile-hero-menu.show {
        position: static !important;
        inset: auto !important;
        display: flex !important;
        flex-direction: column;
        gap: 4px;
        width: 100% !important;
        min-width: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }
    .car-mobile-action-sheet .rr-it-menu__section,
    .car-mobile-action-sheet .rr-it-menu__subsection {
        display: none !important;
    }
    /* O protótipo lista as ações sem divisores, então os separadores do menu de
       item somem junto com os títulos de seção. */
    .car-mobile-action-sheet .rr-it-menu__sep { display: none !important; }
    .car-mobile-action-sheet .dropdown-item {
        min-height: 64px;
        padding: 10px !important;
        display: flex !important;
        align-items: center;
        gap: 12px;
        border-radius: 10px;
        color: var(--rr-moss-ink) !important;
        white-space: normal;
    }
    .car-mobile-action-sheet .dropdown-item:hover,
    .car-mobile-action-sheet .dropdown-item:focus,
    .car-mobile-action-sheet .dropdown-item:active {
        background: rgba(232,245,233,.45) !important;
    }
    .car-mobile-action-sheet .dropdown-item > i:not(.car-mobile-menu__chevron) {
        width: 34px !important;
        height: 34px;
        margin: 0 !important;
        flex: 0 0 34px;
        display: grid;
        place-items: center;
        border-radius: 9px;
        background: rgba(232,245,233,.6);
        color: var(--rr-moss-ink) !important;
        font-size: 15px;
    }
    .car-mobile-action-sheet .dropdown-item > i.text-danger { color: #dc3545 !important; }
    .car-mobile-menu__copy {
        min-width: 0;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 1px;
    }
    .car-mobile-menu__title {
        font-size: 14px;
        line-height: 19px;
        font-weight: 600;
        color: var(--rr-moss-ink);
    }
    .car-mobile-menu__subtitle {
        font-size: 12px;
        line-height: 17px;
        color: rgb(156,163,175);
    }
    .car-mobile-menu__chevron {
        flex: 0 0 auto;
        color: rgb(156,163,175);
        font-size: 11px;
    }
    .car-mobile-action-sheet .rr-it-menu__kbd { display: none !important; }
    @keyframes car-sheet-fade-in {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    @keyframes car-sheet-rise {
        from { transform: translateY(18px); opacity: .8; }
        to { transform: translateY(0); opacity: 1; }
    }

    /* Seletor de seção e conteúdo */
    .car-layout {
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .car-layout__rail { display: none !important; }
    .car-mobile-picker {
        position: sticky;
        top: var(--rr-compact-header-h, 0);
        z-index: 30;
        display: flex;
        gap: 7px;
        margin: 0;
        min-height: 64px;
        padding: 10px 16px;
        border: 0;
        border-top: 1px solid var(--car-divider);
        border-bottom: 1px solid var(--car-divider);
        border-radius: 0;
        background: rgba(255,255,255,.97);
        box-shadow: 0 2px 7px rgba(31,64,53,.06);
        backdrop-filter: blur(8px);
    }
    .car-mobile-picker__section {
        min-width: 0;
        flex: 1;
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 0;
        border: 0;
        background: transparent;
        text-align: left;
        color: inherit;
        cursor: pointer;
    }
    .car-mobile-picker__icon {
        width: 34px;
        height: 34px;
        border-radius: 8px;
    }
    .car-mobile-picker__kicker {
        display: block;
        font-size: 9.5px;
        line-height: 13px;
    }
    .car-mobile-picker__label {
        display: block;
        font-size: 15px;
        line-height: 20px;
    }
    .car-mobile-picker__chev {
        display: grid;
        place-items: center;
    }
    .car-mobile-picker__step {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        display: grid !important;
        place-items: center;
        border: 1px solid #cfe1d6;
        border-radius: 50%;
        background: #fff;
        color: var(--rr-moss);
        font-size: 12px;
        cursor: pointer;
    }
    .car-mobile-picker__step--next {
        border-color: var(--rr-moss);
        background: var(--rr-moss);
        color: #fff;
    }
    .car-mobile-picker__step:disabled {
        opacity: .35;
        cursor: default;
    }
    .car-sheet__item-body {
        display: flex !important;
        flex-direction: column;
        gap: 2px;
    }
    .car-sheet__item-label,
    .car-sheet__item-note {
        display: block;
        width: 100%;
    }
    .car-content-panels {
        /* 16px alinha os cards das abas com o gutter do hero. */
        padding: 16px 16px 28px;
        border-radius: 0;
        background: #f4f6f5;
    }
    .car-content-layout .car-tab-panel.is-active {
        gap: 18px;
        font-size: 13.5px;
        line-height: 1.48;
    }
    .car-layout__main .detail-section,
    .car-layout__main > .detail-overview-extra {
        margin-bottom: 12px;
    }
    .car-panel-heading {
        padding: 0 2px;
    }
    .car-panel-heading__eyebrow,
    .car-section-title {
        font-size: 10.9px;
        line-height: 15px;
        letter-spacing: .04em;
    }
    .car-status-strip {
        display: block;
        overflow: hidden;
        border: 1px solid var(--car-border);
        border-radius: 8px;
        background: #fff;
    }
    .car-status-card {
        padding: 15px 16px;
        border: 0;
        border-bottom: 1px solid var(--car-divider);
        border-radius: 0;
        gap: 7px;
    }
    .car-status-card:last-child { border-bottom: 0; }
    .car-field-grid {
        display: block;
        overflow: hidden;
        border: 1px solid var(--car-border);
        border-radius: 8px;
        background: #fff;
    }
    .car-field-grid .car-kv {
        min-height: 73px;
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 14px 16px;
        border: 0;
        border-bottom: 1px solid var(--car-divider);
        border-radius: 0;
        background: transparent;
    }
    .car-field-grid .car-kv:last-child { border-bottom: 0; }
    .car-field-grid .car-kv__label {
        margin: 0;
        font-size: 13.5px;
        line-height: 19px;
        font-weight: 400;
        text-transform: none;
        letter-spacing: 0;
        text-align: left;
    }
    .car-field-grid .car-kv__value {
        margin: 0;
        max-width: 64%;
        font-size: 13.5px;
        line-height: 19px;
        text-align: right !important;
    }
    .car-panel-heading__subtitle,
    .detail-section__subtitle,
    .detail-subsection__subtitle,
    .detail-subsection__footnote,
    .solo-section-head__description,
    .solo-subsection-label,
    .solo-component__name,
    .solo-texture-bar__label,
    .solo-texture-bar__value,
    .car-data-state__note,
    .car-climate-hero__condition,
    .car-climate-hero__range,
    .clima-inmet-alert__risk,
    .clima-inmet-alert__desc,
    .car-climate-footnote {
        font-size: 13.5px;
        line-height: 20px;
    }
    .car-panel-stack .car-kv,
    .car-panel-stack .car-kv-row {
        min-height: 52px;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .car-panel-stack .car-kv__label,
    .car-panel-stack .car-kv__value,
    .car-panel-stack .car-kv-row__label,
    .car-panel-stack .car-kv-row__value {
        font-size: 13.5px;
        line-height: 19px;
    }
    .finance-tabs__btn,
    .btn-unlock {
        font-size: 13.5px;
    }
    .car-status-card,
    .car-field-card,
    .car-layer-card,
    .finance-metric,
    .psr-card {
        border-radius: 8px;
    }
    .car-panel-nav {
        gap: 10px;
        margin-top: 12px;
    }
    .car-panel-nav__btn { min-height: 58px; padding: 10px 12px; }
    .car-panel-nav__label { max-width: 120px; font-size: 13.5px; line-height: 18px; }
    .car-panel-nav__kicker { font-size: 9px; line-height: 12px; }
    .car-panel-nav__ic {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
    .finance-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .finance-metric {
        min-height: 96px;
        border-right: 1px solid #e8ecea;
    }
    .finance-metric:nth-child(2n) { border-right: 0; }
    .finance-metric:nth-child(3) { border-bottom: 0 !important; }
    .finance-breakdown { grid-column: 1 / -1; }
}
