/* Sistema visual (auditoria de UX, set/2026): gold é marca, nunca severidade; severidade sem âmbar;
   neutros derivados do navy; mono só em número e identificador; cards de um nível; chips de dado
   separados de chips de estado; estado "não verificado"; banner de estado do leilão; stepper. */

:root {
  --bg: #F5F7FA; --bg-2: #F5F7FA;
  --surface: #FFFFFF; --surface-2: #F5F7FA;
  --border: #E3E8EF; --border-2: #E3E8EF; --border-3: #EDF1F6; --border-strong: #C9D1DC;
  --text: #0B1F3A; --text-2: #2A3547; --text-3: #5B6677; --text-4: #6F7A8C;
  --ink: #0B1F3A; --ink-2: #16324F;
  --gold: #D4A017; --gold-escuro: #B8890F; --gold-ink: #0B1F3A; --gold-texto: #0B1F3A; --gold-bg: #F5F7FA; --gold-borda: #E3E8EF;
  --accent-bg: #EEF1F5;
  --sev-critico: #B42318; --sev-critico-bg: #FEF3F2; --sev-critico-borda: #F5C6C2;
  --sev-alto: #C2410C;    --sev-alto-bg: #FFF4ED;    --sev-alto-borda: #F8CDB4;
  --sev-medio: #0B1F3A;   --sev-medio-bg: #EEF1F5;   --sev-medio-borda: #D3DAE4;
  --sev-baixo: #6B7280;   --sev-baixo-bg: #F3F4F6;   --sev-baixo-borda: #E3E8EF;
  --sev-favor: #067647;   --sev-favor-bg: #ECFDF3;   --sev-favor-borda: #BFE3CE;
  --sev-nv: #6B7280;
  --verde: #067647; --verde-bg: #ECFDF3; --verde-borda: #BFE3CE;
  --amarelo: #0B1F3A; --amarelo-bg: #EEF1F5; --amarelo-borda: #D3DAE4;
  --vermelho: #B42318; --vermelho-bg: #FEF3F2; --vermelho-borda: #F5C6C2;
  --radius: 12px; --radius-sm: 10px;
}
body { background: var(--bg); }

/* ---------- tipografia: rótulos em Manrope; mono só em dado ---------- */
.eyebrow, .rotulo-mono, .veredito-rotulo, .hero .kicker, .campo label, .fin-premissas h3, .fin-resultados h3, .fin-contingencias h3,
.fin-chart-titulo, .ficha-col h3, .recentes h2, .mk-h3, .tabela th, .lista-kv dt, .dim-status, .dz-titulo em {
  font-family: var(--font); font-weight: 600; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-3);
}
.rotulo-mono, .eyebrow { margin: 0 0 0.35rem; }
.fin-chart-titulo .muted, .mk-h3 .muted, .fin-premissas h3 .muted { text-transform: none; letter-spacing: 0; font-weight: 500; }
.lista-kv dt { padding-top: 2px; }
.muted { color: var(--text-3); }
.cabecalho-analise .muted, .achado-fonte, .tile-nota, .dim-conta, .dist-legenda, .fin-legenda, .gauge-legenda, .faixa-escala,
.check-detalhe summary, .check-progresso, .posse-premissa summary, .mk-mapa-nota, .poi-dist, .mk-card-meta, .mk-fontes li,
.sidebar-rodape, .meta-tecnica, .lista-analises .muted, .dz-arquivos, .tl-tag, details.achado summary::after, .ficha-toggle::after,
.pdf-barra .muted, .djen-item summary .nowrap, .fin-hero-sub, .mk-sugestao-valor .muted {
  font-family: var(--font); letter-spacing: 0; text-transform: none;
}
.achado-fonte { font-size: 0.76rem; color: var(--text-3); }
.tile-nota { font-size: 0.78rem; }
.dim-conta { font-size: 0.72rem; }
.dist-legenda, .fin-legenda, .gauge-legenda, .faixa-escala { font-size: 0.74rem; color: var(--text-3); }
.tile-num small, .score-de, .posse-faixa small { font-family: var(--mono); font-weight: 500; font-size: 0.78rem; color: var(--text-3); letter-spacing: 0; }
.tl-quando, .mk-card-valor, .watch-score, .fin-total, .tile-num, .score-num, .posse-faixa, .num, .mono { font-family: var(--mono); color: var(--text); }
.tl-quando { font-size: 0.8rem; }
.tl-prazo_legal .tl-quando { color: var(--sev-alto); }
.tl-estimativa .tl-quando { color: var(--text-3); }
.tl-tag { font-size: 0.66rem; }
.trecho { font-family: var(--font); font-size: 0.86rem; line-height: 1.6; color: var(--text-2); background: var(--surface-2); border: 0; border-left: 3px solid var(--border-strong); border-radius: 0 8px 8px 0; }
.achado .trecho, .clausula .trecho { background: var(--surface-2); border-color: var(--border-strong); }
.pg { font-family: var(--mono); font-size: 0.7rem; background: var(--accent-bg); color: var(--ink); }
.pg:hover { background: var(--ink); color: #fff; }

/* ---------- chips: dado × estado ---------- */
.fatos-rapidos span { font-family: var(--font); font-size: 0.8rem; font-weight: 500; color: var(--text); background: var(--surface-2); border: 0; border-radius: 8px; padding: 0.3rem 0.65rem; }
.fatos-rapidos span b { font-family: var(--mono); font-weight: 500; }
.chip, .tag { font-family: var(--font); font-weight: 700; font-size: 0.68rem; letter-spacing: 0.04em; border-radius: 999px; padding: 0.22rem 0.6rem; }
.chip-grande { font-size: 0.76rem; padding: 0.38rem 0.8rem; }
.chip-lendo, .chip-analisando { background: var(--accent-bg); color: var(--ink); }
.chip-sem-amarelo, .tag-nao_informado, .chip-dim-atencao, .tag-prio-media { background: var(--sev-medio-bg); color: var(--sev-medio); }
.chip-sem-vermelho, .tag-arrematante, .tag-onus, .chip-dim-critico, .tag-prio-alta { background: var(--sev-critico-bg); color: var(--sev-critico); }
.chip-sem-verde, .tag-sub_roga_no_preco, .tag-credor_vendedor, .chip-dim-ok { background: var(--sev-favor-bg); color: var(--sev-favor); }
.tag-sinal-recurso, .tag-sinal-suspensao { background: var(--sev-alto-bg); color: var(--sev-alto); }
.tag-sinal-extincao_arquivamento, .tag-sinal-acordo_remicao { background: var(--sev-critico-bg); color: var(--sev-critico); }
.tag-sinal-penhora_avaliacao, .tag-sinal-transito { background: var(--sev-favor-bg); color: var(--sev-favor); }
.praca-chip { font-family: var(--font); font-weight: 700; font-size: 0.78rem; letter-spacing: 0; border-radius: 999px; padding: 0.3rem 0.75rem; }
.praca-futura { background: var(--sev-favor-bg); color: var(--sev-favor); }
.praca-urgente { background: var(--sev-alto-bg); color: var(--sev-alto); }
.praca-passada { background: var(--sev-critico-bg); color: var(--sev-critico); }
.docs-vistos { gap: 0.45rem; }
.doc-visto { font-family: var(--font); font-weight: 700; font-size: 0.74rem; letter-spacing: 0; text-transform: none; border-radius: 999px; padding: 0.32rem 0.7rem; display: inline-flex; align-items: center; gap: 0.35rem; }
.doc-visto.ok { background: var(--sev-favor-bg); color: var(--sev-favor); }
.doc-visto.ok::before { content: "✓"; }
.doc-visto.off { background: var(--surface-2); color: var(--text-4); text-decoration: none; }
.doc-visto.off::before { content: "–"; }
.doc-visto.nv { background: transparent; color: var(--sev-nv); border: 1.5px dashed var(--border-strong); text-decoration: none; }
.doc-visto.nv::before { content: "○"; }
a.doc-visto.nv:hover { border-color: var(--ink); color: var(--ink); }

/* ---------- botões: primário gold, secundário navy ---------- */
.btn { font-family: var(--font); font-weight: 600; font-size: 0.86rem; border-radius: 8px; padding: 0.6rem 1.05rem; border: 1px solid var(--border-strong); color: var(--ink); background: var(--surface); }
.btn:hover { border-color: var(--ink); background: var(--surface-2); }
.btn-primario { background: var(--gold); border-color: var(--gold); color: var(--ink); font-weight: 700; }
.btn-primario:hover { background: #E0AF25; border-color: #E0AF25; color: var(--ink); }
.btn-secundario { background: transparent; border-color: var(--ink); color: var(--ink); }
.btn-secundario:hover { background: var(--ink); color: #fff; }
.btn-mini { font-size: 0.78rem; padding: 0.4rem 0.75rem; }
.btn-link { color: var(--text-3); font-weight: 600; }
.btn-link:hover { color: var(--sev-critico); }
.btn-perigo { color: var(--sev-critico); border-color: var(--sev-critico-borda); }
.btn-perigo:hover { background: var(--sev-critico-bg); border-color: var(--sev-critico); }

/* ---------- cards: um nível ---------- */
.card { border-color: var(--border); border-radius: var(--radius); padding: 1.4rem 1.5rem; }
.tile { background: var(--surface-2); border: 0; }
.veredito-resumo { background: var(--surface-2); border: 0; border-left: 3px solid var(--gold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: 0.9rem 1.1rem; }
.veredito-resumo .rotulo-mono { color: var(--text-3); }
.veredito-resumo .frases li, .veredito-resumo p { color: var(--text); font-size: 0.92rem; }
.passos li { border: 0; background: var(--surface-2); }
.fin-grafico, .mk-vazio, .poi-cat { border: 0; }
.dica-iniciante { background: var(--surface-2); border: 0; border-left: 3px solid var(--gold); border-radius: 0 var(--radius) var(--radius) 0; }
.dica-iniciante p { color: var(--text-2); }
.alerta-aviso { background: var(--sev-alto-bg); color: var(--sev-alto); border-color: var(--sev-alto-borda); }
.alerta-erro { background: var(--sev-critico-bg); color: var(--sev-critico); border-color: var(--sev-critico-borda); }
.nota-aviso { color: var(--sev-alto); }
.card-alertas { border-color: var(--border); background: var(--surface); }
.aviso { border-left-color: var(--border-strong); }
.aviso-alta { border-left-color: var(--sev-critico); }
.aviso-media { border-left-color: var(--sev-alto); }
.card-lotes { background: var(--surface-2); border-color: var(--border); }
.linha-onus td { background: var(--sev-critico-bg); }
.clausula { border-left-color: var(--border-strong); }

/* ---------- cabeçalho, premissas, banner ---------- */
.cabecalho-analise { margin-bottom: 0.9rem; }
.cabecalho-analise h1 { font-size: 1.9rem; margin-bottom: 0.55rem; }
.cabecalho-analise .praca-chip { display: none; }   /* virou banner */
.banner-estado {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  padding: 0.9rem 1.1rem; border-radius: var(--radius-sm); margin-bottom: 1rem; font-size: 0.9rem; line-height: 1.45;
  border: 1px solid var(--border);
}
.banner-estado .banner-texto { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; flex: 1; }
.banner-estado .banner-texto span { font-size: 0.84rem; color: var(--text-2); }
.banner-estado .banner-texto strong::before { content: "⚑ "; }
.banner-encerrado, .banner-arrematado { background: var(--sev-critico-bg); border-color: var(--sev-critico-borda); }
.banner-encerrado strong, .banner-arrematado strong { color: var(--sev-critico); }
.banner-remarcado, .banner-suspenso { background: var(--sev-medio-bg); border-color: var(--sev-medio-borda); }
.banner-remarcado strong, .banner-suspenso strong { color: var(--ink); }
.banner-urgente { background: var(--sev-alto-bg); border-color: var(--sev-alto-borda); }
.banner-urgente strong { color: var(--sev-alto); }
.banner-estado form { margin: 0; }
.premissas { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0 0 1rem; }
.premissas .premissa { font-size: 0.8rem; color: var(--text-2); background: var(--surface); border: 1px solid var(--border); border-radius: 999px; padding: 0.32rem 0.75rem; display: inline-flex; gap: 0.35rem; align-items: center; }
.premissas .premissa b { font-family: var(--mono); font-weight: 500; color: var(--text); }
.premissas a.premissa:hover { border-color: var(--ink); }
.premissas .premissa-alerta { border-color: var(--sev-alto-borda); background: var(--sev-alto-bg); color: var(--sev-alto); }
.premissas .premissa-alerta b { color: var(--sev-alto); }
.premissas .premissa-rotulo { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-3); margin-right: 0.2rem; }
.premissas .premissa-editar { border-style: dashed; color: var(--text-3); }
.premissa-aviso { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; background: var(--sev-alto-bg); border: 1px solid var(--sev-alto-borda); color: var(--sev-alto); border-radius: var(--radius-sm); padding: 0.7rem 1rem; font-size: 0.86rem; margin: -0.4rem 0 1rem; }
.premissa-aviso form { margin: 0; }

/* ---------- escolher o lote (edital de lista) ---------- */
.banner-escolha { background: var(--surface); border: 1px solid var(--border); border-left: 6px solid var(--gold); border-radius: var(--radius); padding: 1.2rem 1.4rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: 0.9rem; animation: rise 0.3s ease both; }
.banner-escolha .banner-texto { display: flex; flex-direction: column; gap: 0.25rem; }
.banner-escolha .banner-texto strong { font-size: 1.15rem; letter-spacing: -0.01em; }
.banner-escolha .banner-texto span { font-size: 0.88rem; color: var(--text-2); max-width: 78ch; }
.banner-escolha .form-lotes { gap: 0.6rem; }
.banner-escolha .form-lotes select { max-width: 460px; }
.banner-escolha .form-lotes input[type="text"] { width: auto; min-width: 300px; flex: 1; }

/* ---------- análise em andamento ---------- */
.progresso-hero { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 1.3rem; align-items: center; background: var(--ink); color: #fff; border-radius: var(--radius); padding: 1.4rem 1.6rem; margin-bottom: 0.8rem; animation: rise 0.3s ease both; }
.progresso-hero .rotulo-mono { color: var(--gold); }
.progresso-hero h2 { font-size: 1.45rem; margin: 0 0 0.35rem; letter-spacing: -0.02em; color: #fff; }
.progresso-detalhe { font-size: 0.92rem; color: rgba(255,255,255,0.78); margin: 0 0 0.9rem; max-width: 60ch; }
.progresso-anel { width: 72px; height: 72px; border-radius: 50%; border: 5px solid rgba(255,255,255,0.14); border-top-color: var(--gold); animation: girar 1s linear infinite; display: flex; align-items: center; justify-content: center; }
.progresso-anel span { width: 14px; height: 14px; border-radius: 50%; background: var(--gold); animation: pulsar 1.2s ease-in-out infinite; }
.progresso-barra { height: 8px; border-radius: 4px; background: rgba(255,255,255,0.14); overflow: hidden; position: relative; }
.progresso-barra i { position: absolute; top: 0; bottom: 0; width: 38%; border-radius: 4px; background: linear-gradient(90deg, rgba(212,160,23,0.2), var(--gold), rgba(212,160,23,0.2)); animation: deslizar-barra 1.6s ease-in-out infinite; }
@keyframes deslizar-barra { 0% { left: -40%; } 100% { left: 100%; } }
.progresso-tempo { font-size: 0.82rem; color: rgba(255,255,255,0.72); margin: 0.7rem 0 0; }
.progresso-tempo strong { color: #fff; }
#progresso-cronometro { font-family: var(--mono); color: #fff; }
.progresso-demora { margin: 0.6rem 0 0; padding: 0.55rem 0.8rem; font-size: 0.82rem; line-height: 1.45; color: #fff; background: rgba(255,255,255,0.1); border-left: 3px solid var(--gold); border-radius: 4px; }
.progresso-demora strong { color: var(--gold); }
.stepper li.falhou { color: var(--sev-alto); }
.stepper li.falhou .n { border-color: var(--sev-alto); color: var(--sev-alto); font-weight: 700; }
.banner-interrompida .banner-texto strong::before { content: "⏸ "; }

/* ---------- pré-voo (conferência grátis antes de analisar) ---------- */
.chip-prevoo { background: var(--surface-2); color: var(--text-2); border: 1px dashed var(--border-strong); }
.pv-intro { color: var(--text-2); font-size: 0.92rem; max-width: 720px; margin: 0 0 1rem; }
.pv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0.9rem; margin-bottom: 1rem; }
.pv-card { border-left: 4px solid var(--border-strong); padding: 1rem 1.1rem; }
.pv-card.pv-ok { border-left-color: var(--sev-favor); }
.pv-card.pv-falta { border-left-color: var(--sev-critico); }
.pv-card h3 { margin: 0.2rem 0 0.5rem; font-size: 1.02rem; }
.pv-card.pv-ok h3::before { content: "✓ "; color: var(--sev-favor); }
.pv-card.pv-falta h3::before { content: "✕ "; color: var(--sev-critico); }
.pv-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; font-size: 0.88rem; }
.pv-lista li b { display: inline-block; min-width: 7.5rem; font-family: var(--mono); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-3); }
.pv-lista li.pv-obs { color: var(--sev-alto); }
.pv-nota { font-size: 0.82rem; color: var(--text-3); margin: 0.6rem 0 0; }
.pv-pendencia .banner-texto strong::before { content: "✕ "; }
.pv-resolver h2, .pv-confirmar h2 { margin: 0 0 0.4rem; font-size: 1.1rem; }
.pv-campo { display: flex; flex-direction: column; gap: 0.35rem; }
.pv-campo input[type=text] { padding: 0.6rem 0.7rem; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); font-size: 0.9rem; font-family: var(--mono); }
.pv-confirmar { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; border: 2px solid var(--gold); }
.pv-confirmar.pv-bloqueada { border-color: var(--border); opacity: 0.85; }
.pv-confirmar p { margin: 0; color: var(--text-2); font-size: 0.9rem; max-width: 560px; }
.pv-confirmar-acoes { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.btn-grande { padding: 0.8rem 1.4rem; font-size: 1rem; }
.btn-link { background: none; border: 0; color: var(--text-3); text-decoration: underline; cursor: pointer; font-size: 0.85rem; padding: 0.4rem; }
@media print { .pv-resolver, .pv-confirmar { display: none; } }
@media (max-width: 640px) { .progresso-hero { grid-template-columns: 1fr; } .progresso-anel { width: 48px; height: 48px; } }
@media print { .progresso-hero { display: none; } }

/* ---------- progresso por etapa ---------- */
.stepper { list-style: none; margin: 0 0 1.1rem; padding: 0.9rem 1.1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.6rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.stepper li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.84rem; color: var(--text-3); }
.stepper li .n { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--border-strong); display: inline-flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 0.72rem; flex: none; }
.stepper li em { font-style: normal; font-size: 0.72rem; color: var(--text-4); display: block; }
.stepper li.feito { color: var(--sev-favor); }
.stepper li.feito .n { background: var(--sev-favor); border-color: var(--sev-favor); color: #fff; }
.stepper li.ativo { color: var(--text); font-weight: 700; }
.stepper li.ativo .n { border-color: var(--gold); background: var(--gold); color: var(--ink); animation: pulsar 1.2s ease-in-out infinite; }
@keyframes pulsar { 0%, 100% { box-shadow: 0 0 0 0 rgba(212,160,23,0.45); } 50% { box-shadow: 0 0 0 6px rgba(212,160,23,0); } }

/* ---------- tabs ---------- */
.subnav a { font-family: var(--font); font-size: 0.92rem; font-weight: 500; color: var(--text-3); padding: 0.65rem 0.85rem; }
.subnav a.ativa { color: var(--ink); font-weight: 700; box-shadow: inset 0 -2px 0 var(--gold); }
.subnav .btn { margin-left: auto; }

/* ---------- veredito ---------- */
.veredito { padding: 1.5rem 1.6rem; }
.score-num { font-size: 3.6rem; }
.veredito-verde .score-num { color: var(--sev-favor); }
.veredito-amarelo .score-num { color: var(--ink); }
.veredito-vermelho .score-num { color: var(--sev-critico); }
.veredito-selo { font-size: 0.84rem; border-radius: 999px; padding: 5px 12px; }
.veredito-verde .veredito-selo { background: var(--sev-favor-bg); color: var(--sev-favor); }
.veredito-amarelo .veredito-selo { background: var(--sev-medio-bg); color: var(--ink); }
.veredito-vermelho .veredito-selo { background: var(--sev-critico-bg); color: var(--sev-critico); }
.gauge-faixas div:nth-child(1) { background: var(--sev-critico); }
.gauge-faixas div:nth-child(2) { background: var(--border-strong); }
.gauge-faixas div:nth-child(3) { background: var(--sev-favor); }
.veredito-linha2 { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.9rem; }
.badge-conf { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.76rem; font-weight: 700; border-radius: 999px; padding: 0.3rem 0.7rem; }
.badge-conf::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.conf-alta { background: var(--sev-favor-bg); color: var(--sev-favor); }
.conf-media { background: var(--sev-medio-bg); color: var(--ink); }
.conf-baixa { background: var(--sev-alto-bg); color: var(--sev-alto); }
.confianca { font-family: var(--font); font-size: 0.8rem; color: var(--text-3); margin: 0.45rem 0 0; }
.aviso-ia { font-size: 0.8rem; color: var(--text-3); margin: 0.9rem 0 0; padding-top: 0.7rem; border-top: 1px dashed var(--border); }
.tag-editado { display: inline-block; font-size: 0.7rem; font-weight: 700; color: var(--sev-alto); background: var(--sev-alto-bg); border-radius: 999px; padding: 0.15rem 0.55rem; margin-top: 0.4rem; }
.tag-editado a { color: inherit; text-decoration: underline; }
.tile-praca-passada { background: var(--sev-critico-bg); border: 0; }
.tile-praca-passada .tile-num { color: var(--sev-critico); }
.tile-praca-urgente { background: var(--sev-alto-bg); border: 0; }
.tile-praca-futura { background: var(--sev-favor-bg); border: 0; }
.tile-praca-futura .tile-num { color: var(--sev-favor); }

/* ---------- dimensões: quatro estados ---------- */
.dim-tile { border: 1px solid var(--border); border-top-width: 4px; }
.dim-tile.dim-ok { border-top-color: var(--sev-favor); }
.dim-tile.dim-atencao { border-top-color: var(--sev-alto); }
.dim-tile.dim-critico { border-top-color: var(--sev-critico); }
.dim-tile.dim-nao_verificado { border-top-color: var(--border-strong); border-style: dashed; background: transparent; }
.dim-ok .dim-status, .dim-tile.dim-ok .dim-icone { color: var(--sev-favor); }
.dim-atencao .dim-status, .dim-tile.dim-atencao .dim-icone { color: var(--sev-alto); }
.dim-critico .dim-status, .dim-tile.dim-critico .dim-icone { color: var(--sev-critico); }
.dim-nao_verificado .dim-status, .dim-tile.dim-nao_verificado .dim-icone { color: var(--sev-nv); }
.dim-status { font-size: 0.7rem; }
.dim-status::before, .dim-nao_verificado .dim-status::before { content: none; }
.dim-acao { display: inline-block; margin-top: 0.5rem; font-size: 0.76rem; font-weight: 700; color: var(--ink); text-decoration: underline; }

/* ---------- achados: severidade nova ---------- */
.g-critico { background: var(--sev-critico); } .g-alto { background: var(--sev-alto); } .g-medio { background: var(--sev-medio); }
.g-baixo { background: var(--border-strong); } .g-info { background: var(--sev-favor); }
.tag-grav-critico, .tag-grav-alto, .tag-grav-medio, .tag-grav-baixo, .tag-grav-info { padding-left: 0.6rem; }
.tag-grav-critico::before, .tag-grav-alto::before, .tag-grav-medio::before, .tag-grav-baixo::before, .tag-grav-info::before { display: none; }
.tag-grav-critico { background: var(--sev-critico-bg); color: var(--sev-critico); }
.tag-grav-alto { background: var(--sev-alto-bg); color: var(--sev-alto); }
.tag-grav-medio { background: var(--sev-medio-bg); color: var(--sev-medio); }
.tag-grav-baixo { background: var(--sev-baixo-bg); color: var(--sev-baixo); }
.tag-grav-info { background: var(--sev-favor-bg); color: var(--sev-favor); }
.tag-gatilho { background: var(--sev-critico); color: #fff; }
details.achado { border: 1px solid var(--border); }
details.achado.achado-critico { border-color: var(--sev-critico-borda); border-left: 4px solid var(--sev-critico); }
details.achado.achado-alto { border-left: 4px solid var(--sev-alto); }
details.achado.achado-medio { border-left: 4px solid var(--border-strong); }
details.achado.achado-info { border-left: 4px solid var(--sev-favor); }
details.achado.achado-nv { border-style: dashed; }
details.achado summary::after { font-size: 0.74rem; }
.achado-linha1 .tag { order: 0; }
.tag-nv { background: transparent; border: 1.5px dashed var(--border-strong); color: var(--sev-nv); }
abbr.gl { text-decoration: underline dotted var(--gold); text-underline-offset: 3px; cursor: help; }
.balanca-contra { border-left-color: var(--sev-critico); }
.balanca-contra .balanca-selo { background: var(--sev-critico-bg); color: var(--sev-critico); }
.balanca-favor { border-left-color: var(--sev-favor); }
.balanca-favor .balanca-selo { background: var(--sev-favor-bg); color: var(--sev-favor); }
.balanca-selo { font-family: var(--font); letter-spacing: 0.04em; border-radius: 999px; }
.riscos-pontos .lista-riscos li::marker { color: var(--sev-critico); }
.riscos-pontos .lista-pontos li::marker { color: var(--sev-favor); }

/* ---------- checklist, perguntas, prazos ---------- */
.tag-prio-alta { background: var(--sev-critico-bg); color: var(--sev-critico); }
.tag-prio-media { background: var(--sev-medio-bg); color: var(--ink); }
.check-caixa { accent-color: var(--sev-favor); }
.check-barra div { background: var(--sev-favor); }
.perguntas-grupo summary { display: flex; align-items: center; gap: 0.6rem; }
.perguntas-grupo summary .btn-copiar { margin-left: auto; }
.btn-copiar.copiado { background: var(--sev-favor-bg); border-color: var(--sev-favor); color: var(--sev-favor); }
.tl-prazo_legal .tl-ponto { background: var(--sev-alto); }
.tl-hoje .tl-ponto { background: var(--gold); box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px rgba(212,160,23,0.35); }
.tl-hoje .tl-quando, .tl-hoje .tl-evento { color: var(--ink); }
.faixa-marca { background: var(--gold); }
.mk-trilho { background: linear-gradient(90deg, var(--sev-favor-bg) 0%, var(--surface-2) 50%, var(--sev-critico-bg) 100%); border-color: var(--border); }

/* ---------- financeiro ---------- */
.fin-hero { border-radius: var(--radius-sm); }
.fin-hero .rotulo-mono { color: rgba(255,255,255,0.6); }
.fin-hero-margem .valor.positivo { color: #7FD7B2; }
.fin-hero-margem .valor.negativo { color: #F4A79D; }
.fin-hero .tag-editado { background: rgba(255,255,255,0.14); color: #fff; }
.fin-destaque.positivo { color: var(--sev-favor); }
.fin-destaque.negativo { color: var(--sev-critico); }
.fin-contingencias h3 { color: var(--sev-alto); }
.aviso-premissa { display: block; margin-top: 0.35rem; font-size: 0.76rem; color: var(--sev-alto); }
.aviso-premissa .btn { margin-left: 0.4rem; vertical-align: middle; }
.tile-praca-futura .tile-num { color: var(--sev-favor); }

/* ---------- mercado ---------- */
.mk-ponte { display: flex; gap: 0.7rem; align-items: flex-start; background: var(--surface-2); border-left: 3px solid var(--gold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: 0.75rem 1rem; margin-bottom: 1rem; font-size: 0.9rem; }
.mk-ponte strong { color: var(--ink); }
.mk-sugestao { background: var(--surface-2); border: 0; border-left: 3px solid var(--gold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.mk-sugestao .rotulo-mono { color: var(--text-3); }
.mk-card-venda { border-top-color: var(--ink); }
.mk-card-aluguel { border-top-color: var(--text-4); }
.mk-card-predio { box-shadow: 0 0 0 2px var(--gold); }
.prox { font-family: var(--font); letter-spacing: 0.04em; font-size: 0.64rem; }
.prox-mesmo_predio { background: #FBF3D9; border-color: var(--gold); color: var(--ink); }
.prox-mesma_rua { background: var(--sev-favor-bg); border-color: var(--sev-favor-borda); color: var(--sev-favor); }
.mk-anuncio-chip { background: var(--ink); }
.mk-anuncio-chip::after { border-right-color: var(--ink); }
.mk-anuncio-dot { background: var(--ink); box-shadow: 0 0 0 1.5px var(--ink); }
.mk-pino-anuncio.aluguel .mk-anuncio-dot { background: var(--text-3); box-shadow: 0 0 0 1.5px var(--text-3); }
.mk-pino-anuncio.aluguel .mk-anuncio-chip { background: var(--text-3); }
.mk-pino-anuncio.aluguel .mk-anuncio-chip::after { border-right-color: var(--text-3); }
.mk-mapa .leaflet-tile-pane { filter: grayscale(100%) contrast(0.92) brightness(1.04); }
.mk-legenda .lg-venda::before { background: var(--ink); }
.mk-legenda .lg-aluguel::before { background: var(--text-3); }
.mk-legenda .lg-poi::before { background: var(--border-strong); }
.poi-cor { box-shadow: 0 0 0 1px var(--border-strong); }
.mk-alertas { color: var(--sev-alto); }
.mk-card-data { font-size: 0.7rem; margin: 0.15rem 0 0; }
.mk-data-ok { color: var(--sev-favor); }
.mk-data-nd { color: var(--sev-alto); }
.mk-card-rodape { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 0.3rem; }
.mk-card-link { font-size: 0.7rem; color: var(--text-3); text-decoration: underline dotted; }
.mk-card-link:hover { color: var(--ink); }
.mk-card .btn-link { align-self: auto; margin: 0; }
.mk-sobe { color: var(--sev-favor); } .mk-desce { color: var(--sev-critico); }
.mk-pois-wrap > summary { cursor: pointer; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-3); margin-bottom: 0.5rem; }

/* ---------- sidebar ---------- */
.sidebar nav a { font-size: 0.88rem; }
.sidebar nav a.ativo { background: var(--gold); color: var(--ink); }
.watchlist .eyebrow { color: rgba(255,255,255,0.55); font-family: var(--font); font-size: 0.7rem; }
.watch-item { align-items: flex-start; gap: 0.6rem; }
.watch-pill { font-family: var(--mono); font-weight: 600; font-size: 0.72rem; min-width: 30px; text-align: center; padding: 0.15rem 0.4rem; border-radius: 6px; flex: none; margin-top: 1px; }
.watch-pill.wp-verde { background: rgba(6,118,71,0.35); color: #9FE3C2; }
.watch-pill.wp-amarelo { background: rgba(255,255,255,0.16); color: #fff; }
.watch-pill.wp-vermelho { background: rgba(180,35,24,0.45); color: #F8B4AD; }
.watch-pill.wp-off { background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.45); }
.watch-titulo { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.76rem; }
.watch-sub { display: block; font-size: 0.66rem; color: rgba(255,255,255,0.45); margin-top: 0.1rem; }
.sidebar-rodape { font-family: var(--font); font-size: 0.74rem; color: rgba(255,255,255,0.6); line-height: 1.45; }
.api-badge { font-family: var(--font); font-size: 0.68rem; letter-spacing: 0.04em; text-transform: none; }

/* ---------- tabelas, formulários, listas ---------- */
.tabela th { font-size: 0.7rem; }
.tabela .num { font-size: 0.84rem; }
input[type="text"], input[type="number"], select, textarea { border-radius: 8px; }
.prefixo input, .sufixo input { font-family: var(--mono); }
.prefixo span, .sufixo span { font-family: var(--font); font-size: 0.8rem; }
.lista-analises li { border-radius: var(--radius); }
.rodape { font-size: 0.82rem; }

/* ---------- comparação ---------- */
.cmp-seletor > summary { cursor: pointer; font-size: 0.92rem; }
.cmp-form { margin-top: 1rem; }
.cmp-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.6rem; }
.cmp-opcao { display: flex; align-items: center; gap: 0.7rem; padding: 0.7rem 0.85rem; border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; background: var(--surface); }
.cmp-opcao:hover { border-color: var(--border-strong); }
.cmp-opcao.marcada, .cmp-opcao:has(input:checked) { border-color: var(--gold); background: #FBF6E3; }
.cmp-opcao input { accent-color: var(--gold); width: 16px; height: 16px; flex: none; }
.cmp-opcao-nota { font-family: var(--mono); font-weight: 600; font-size: 0.8rem; min-width: 34px; text-align: center; padding: 0.2rem 0.4rem; border-radius: 6px; flex: none; }
.cmp-opcao-nota.wp-verde { background: var(--sev-favor-bg); color: var(--sev-favor); }
.cmp-opcao-nota.wp-amarelo { background: var(--sev-medio-bg); color: var(--ink); }
.cmp-opcao-nota.wp-vermelho { background: var(--sev-critico-bg); color: var(--sev-critico); }
.cmp-opcao-texto { display: flex; flex-direction: column; min-width: 0; font-size: 0.84rem; line-height: 1.3; }
.cmp-opcao-texto strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cmp-opcao-texto .muted { font-size: 0.72rem; }

.cmp-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr); gap: 1.6rem; background: var(--surface); border: 1px solid var(--border); border-left: 6px solid var(--gold); border-radius: var(--radius); padding: 1.5rem 1.7rem; margin-bottom: 1.1rem; animation: rise 0.3s ease both; }
@media (max-width: 860px) { .cmp-hero { grid-template-columns: 1fr; } }
.cmp-hero h2 { font-size: 1.6rem; margin: 0.1rem 0 0.3rem; letter-spacing: -0.02em; }
.cmp-hero h2 a { color: var(--ink); }
.cmp-hero-sub { font-size: 0.9rem; color: var(--text-2); margin: 0 0 0.9rem; }
.cmp-motivos { margin: 0; }
.cmp-motivos li { font-size: 0.92rem; }
.cmp-motivos li::marker { color: var(--gold); font-weight: 700; }
.cmp-ressalva { font-size: 0.84rem; color: var(--sev-alto); background: var(--sev-alto-bg); border-radius: 8px; padding: 0.5rem 0.75rem; margin: 0.6rem 0 0; }
.veredito-selo-inline { display: inline-block; font-weight: 700; font-size: 0.76rem; border-radius: 999px; padding: 0.2rem 0.6rem; }
.sel-verde { background: var(--sev-favor-bg); color: var(--sev-favor); }
.sel-amarelo { background: var(--sev-medio-bg); color: var(--ink); }
.sel-vermelho { background: var(--sev-critico-bg); color: var(--sev-critico); }
.cmp-hero-placar { display: flex; flex-direction: column; gap: 0.55rem; justify-content: center; }
.cmp-placar-item { display: grid; grid-template-columns: 34px minmax(0, 1fr) 44px; grid-template-rows: auto auto; column-gap: 0.6rem; row-gap: 0.25rem; align-items: center; }
.cmp-pos { grid-column: 1; grid-row: 1 / 3; font-family: var(--mono); font-weight: 600; font-size: 0.8rem; color: var(--text-3); text-align: center; background: var(--surface-2); border-radius: 8px; padding: 0.4rem 0; }
.cmp-placar-top .cmp-pos { background: var(--gold); color: var(--ink); }
.cmp-placar-nome { grid-column: 2; grid-row: 1; font-size: 0.82rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.cmp-placar-nome .cmp-bloq-tag { font-weight: 600; font-size: 0.68rem; color: var(--sev-critico); margin-left: 0.4rem; }
.cmp-placar-barra { grid-column: 2; grid-row: 2; height: 8px; border-radius: 4px; background: var(--surface-2); overflow: hidden; }
.cmp-placar-barra i { display: block; height: 100%; background: var(--border-strong); border-radius: 4px; }
.cmp-placar-top .cmp-placar-barra i { background: var(--gold); }
.cmp-placar-num { grid-column: 3; grid-row: 1 / 3; font-family: var(--mono); font-weight: 600; font-size: 1.05rem; text-align: right; }
.cmp-placar-bloq { opacity: 0.6; }
.cmp-placar-nota { font-size: 0.7rem; margin: 0.3rem 0 0; }

.cmp-scroll { overflow-x: auto; }
.cmp-quadro { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.86rem; min-width: 640px; }
.cmp-quadro th, .cmp-quadro td { padding: 0.7rem 0.8rem; border-bottom: 1px solid var(--border-3); vertical-align: top; text-align: left; }
.cmp-quadro thead th { vertical-align: bottom; border-bottom: 2px solid var(--border); }
.cmp-quadro thead th.cmp-col-vencedor { background: #FBF6E3; border-top: 3px solid var(--gold); border-radius: 8px 8px 0 0; }
.cmp-th-criterio { width: 24%; }
.cmp-pos-th { display: inline-block; font-family: var(--mono); font-size: 0.72rem; color: var(--text-3); margin-bottom: 0.2rem; }
.cmp-th-titulo { display: block; font-weight: 800; font-size: 0.95rem; color: var(--ink); line-height: 1.25; margin-bottom: 0.2rem; }
.cmp-th-sub { display: block; font-size: 0.74rem; color: var(--text-3); margin-bottom: 0.4rem; }
.cmp-quadro tbody th { font-weight: 700; color: var(--text); }
.cmp-quadro tbody th small { display: block; font-weight: 500; font-size: 0.72rem; color: var(--text-3); margin-top: 0.15rem; }
.cmp-quadro tbody th .muted { font-weight: 500; font-size: 0.72rem; }
.cmp-linha-criterio td { min-width: 150px; }
.cmp-valor { display: block; font-family: var(--mono); font-weight: 600; font-size: 1.15rem; letter-spacing: -0.02em; }
.cmp-valor small { font-family: var(--font); font-weight: 500; font-size: 0.72rem; color: var(--text-3); letter-spacing: 0; }
.cmp-barra { display: block; height: 7px; border-radius: 4px; background: var(--surface-2); overflow: hidden; margin-top: 0.4rem; }
.cmp-barra i { display: block; height: 100%; background: var(--border-strong); border-radius: 4px; }
td.cmp-melhor { background: #FBF6E3; box-shadow: inset 3px 0 0 var(--gold); }
td.cmp-melhor .cmp-barra i { background: var(--gold); }
td.cmp-ruim { background: var(--sev-critico-bg); }
.cmp-linha-sep th { padding-top: 1.2rem; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-3); border-bottom: 0; }
.cmp-mini { margin: 0; padding-left: 1rem; font-size: 0.78rem; line-height: 1.4; display: grid; gap: 0.2rem; }
.cmp-rodape { font-size: 0.74rem; margin: 0.9rem 0 0; }
.hist-acoes { margin-top: 1rem; }
@media print { .cmp-seletor, .hist-acoes { display: none !important; } .cmp-hero { break-inside: avoid; } }

/* ---------- impressão ---------- */
@media print {
  .banner-estado form, .premissas .premissa-editar, .premissa-aviso form, .stepper, .btn-copiar, .aviso-premissa, .dim-acao { display: none !important; }
  .banner-estado { border: 1px solid #999; }
  .doc-visto.nv { border-color: #999; }
}

/* ---------- condições padrão do tipo de leilão (escala 2) ---------- */
.card-padrao { margin-top: 1.4rem; padding: 0.9rem 1.1rem; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.card-padrao > summary { cursor: pointer; display: flex; flex-direction: column; gap: 0.15rem; list-style: none; }
.card-padrao > summary::-webkit-details-marker { display: none; }
.card-padrao > summary strong::before { content: "▸ "; color: var(--text-4); }
.card-padrao[open] > summary strong::before { content: "▾ "; }
.card-padrao > summary .muted { font-size: 0.8rem; }
.padrao-intro { font-size: 0.85rem; color: var(--text-2); margin: 0.7rem 0 0.9rem; max-width: 70ch; }
.achado-padrao { border-left-color: var(--border-strong) !important; background: var(--surface); }
.tag-padrao { background: var(--surface-2); color: var(--text-3); border: 1px solid var(--border-strong); }
.aviso-escala { margin: 1.2rem 0 0; padding: 0.6rem 0.8rem; font-size: 0.82rem; color: var(--text-2); background: var(--sev-medio-bg); border-left: 3px solid var(--border-strong); border-radius: 4px; }

/* ---------- mercado: vizinhança resumida, faixa em reais, como escolhemos ---------- */
.mk-viz { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; margin: 0.55rem 0 0; font-size: 0.8rem; }
.mk-viz-rotulo { font-family: var(--font); font-weight: 600; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-3); margin-right: 0.2rem; }
.mk-viz-item { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.22rem 0.55rem; border-radius: 999px; background: var(--surface-2); color: var(--text-2); border: 1px solid var(--border); cursor: default; }
.mk-viz-item b { font-family: var(--mono); font-weight: 500; color: var(--text); }
.mk-viz-item .poi-cor { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.mk-sugestao-faixa { margin: 0.35rem 0 0; font-size: 0.84rem; color: var(--text-2); }
.mk-sugestao-faixa b { font-family: var(--mono); font-weight: 500; color: var(--text); }
.mk-como { margin: -0.2rem 0 0.7rem; font-size: 0.78rem; color: var(--text-3); line-height: 1.5; }
.mk-como b { color: var(--text-2); }

/* ---------- mapa: botão mapa/satélite e fotos do prédio ---------- */
.mk-mapa.satelite .leaflet-tile-pane { filter: none; }
.mk-basemap { display: inline-flex; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 999px; padding: 2px; box-shadow: 0 1px 3px rgba(11,31,58,0.12); }
.mk-basemap button { font-family: var(--font); font-weight: 600; font-size: 0.72rem; letter-spacing: 0.02em; border: 0; background: transparent; color: var(--text-2); padding: 0.28rem 0.7rem; border-radius: 999px; cursor: pointer; }
.mk-basemap button:hover { color: var(--text); }
.mk-basemap button.ativo { background: var(--ink); color: #fff; }
.mk-fotos { margin: 0.45rem 0 0; font-size: 0.8rem; color: var(--text-2); }
.mk-fotos a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.mk-fotos .muted { font-size: 0.74rem; }
@media print { .mk-basemap { display: none; } }

/* ---------- foto de rua (Mapillary) ---------- */
.mk-foto { margin: 0.7rem 0 0; }
.mk-foto img { display: block; width: 100%; max-height: 300px; object-fit: cover; border-radius: var(--radius-sm); border: 1px solid var(--border); }
.mk-foto figcaption { font-size: 0.78rem; color: var(--text-3); margin: 0.35rem 0 0; line-height: 1.45; }
.mk-foto figcaption b { font-family: var(--mono); font-weight: 500; color: var(--text); }
.mk-foto figcaption a { color: var(--text-2); }
.mk-foto-nada { font-size: 0.78rem; margin: 0.5rem 0 0; }

/* ---------- fotos do condomínio (pelo nome, a confirmar) ---------- */
.mk-condo { margin: 0.8rem 0 0; }
.mk-condo-titulo { font-size: 0.84rem; color: var(--text-2); margin: 0 0 0.45rem; }
.mk-condo-titulo b { color: var(--text); }
.mk-condo-titulo .muted { font-size: 0.76rem; }
.mk-condo-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.5rem; }
.mk-condo-item { margin: 0; }
.mk-condo-item img { display: block; width: 100%; height: 110px; object-fit: cover; border-radius: 8px; border: 1px solid var(--border); background: var(--surface-2); }
.mk-condo-item figcaption { display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; font-size: 0.7rem; color: var(--text-3); margin-top: 0.25rem; }
.mk-condo-item figcaption a { color: var(--text-2); }
.mk-condo-item figcaption form { margin: 0 0 0 auto; }
.mk-condo-item .btn-link { font-size: 0.7rem; padding: 0.1rem 0.2rem; }
.mk-condo-busca, .mk-condo-nada { font-size: 0.8rem; margin: 0.6rem 0 0; }
.mk-condo-form { margin: 0.5rem 0 0; }
.mk-condo-form .muted { font-weight: 400; margin-left: 0.25rem; }
@media print { .mk-condo-form, .mk-condo-item form { display: none; } }

.mk-condo-descartes { margin: 0.45rem 0 0; font-size: 0.76rem; color: var(--text-3); }
.mk-condo-descartes summary { cursor: pointer; }
.mk-condo-descartes ul { margin: 0.3rem 0 0 1rem; padding: 0; }
.mk-condo-descartes a { color: var(--text-2); }

/* ---------- redesign visual 07/09: título curto, painéis, tiles com estado, chip único ---------- */
.subtitulo-endereco { margin: 0.15rem 0 0.5rem; font-size: 0.86rem; color: var(--text-3); }
.cabecalho-analise h1 { font-size: 1.7rem; line-height: 1.2; }
.painel[hidden] { display: none !important; }
.subnav a[role=tab] { cursor: pointer; }
@media print { .painel { display: block !important; } }
.dim-tile { padding: 0 1rem 1rem !important; border-top-width: 1px !important; overflow: hidden; }
.dim-status { display: block; margin: 0 -1rem 0.75rem !important; padding: 0.5rem 1rem; font-family: var(--font) !important; font-weight: 800; font-size: 0.78rem !important; letter-spacing: 0.08em; }
.dim-ok .dim-status { background: var(--sev-favor-bg); color: var(--sev-favor) !important; }
.dim-atencao .dim-status { background: var(--sev-alto-bg); color: var(--sev-alto) !important; }
.dim-critico .dim-status { background: var(--sev-critico-bg); color: var(--sev-critico) !important; }
.dim-nao_verificado .dim-status { background: var(--surface-2); color: var(--text-3) !important; }
.dim-tile.dim-ok, .dim-tile.dim-atencao, .dim-tile.dim-critico { border-top-color: var(--border) !important; }
.dim-tile .dim-icone { margin-top: 0.1rem; }
.perguntas-linha { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.6rem; }
.perguntas-linha .perguntas-grupo { margin: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.6rem 0.8rem; background: var(--surface-2); }
.perguntas-linha .perguntas-grupo summary { display: flex; align-items: center; gap: 0.5rem; }
.perguntas-linha .perguntas-grupo .btn-copiar { margin-left: auto; }
.chip-veredito { text-transform: none !important; letter-spacing: 0 !important; font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.mk-lugar-col { display: flex; flex-direction: column; gap: 0.55rem; min-width: 0; }
.mk-lugar-col .mk-h3 { margin: 0 0 0.1rem; }
.mk-lugar-col .mk-foto { margin: 0; }
.mk-lugar-col .mk-foto img { max-height: 180px; }
.mk-lugar-col .mk-condo-grade { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.mk-lugar-col .mk-condo-item img { height: 90px; }
.mk-lugar-col .mk-viz { margin: 0; }
.mk-lugar-col .mk-pois { margin-top: 0.2rem; }
.pdf-placeholder { margin: 0; padding: 1.2rem; border: 1px dashed var(--border-strong); border-radius: var(--radius-sm); color: var(--text-3); font-size: 0.86rem; background: var(--surface-2); }
.dica-lista { margin: 0; padding-left: 1.1rem; font-size: 0.82rem; line-height: 1.55; color: var(--gold-texto); display: grid; gap: 0.3rem; }
.dica-lista strong { color: var(--text); }

/* ---------- as 4 partes: abas em cartão, sempre visíveis abaixo do resumo ---------- */
.partes-topo { display: flex; align-items: center; justify-content: space-between; margin: 1.4rem 0 0.5rem; }
.partes-topo .rotulo-mono { margin: 0; }
.partes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; margin: 0 0 1.1rem; position: sticky; top: 0; z-index: 20; background: var(--bg); padding: 0.4rem 0; }
.partes a { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.75rem 0.95rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); text-decoration: none; color: var(--text-2); position: relative; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; min-height: 78px; }
.partes a::after { content: "→"; position: absolute; right: 0.9rem; top: 0.7rem; font-size: 0.95rem; color: var(--text-4); transition: transform .12s ease, color .12s ease; }
.partes a:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(11,31,58,0.10); border-color: var(--border-strong); color: var(--text); }
.partes a:hover::after { transform: translateX(3px); color: var(--ink); }
.partes a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.partes a.ativa { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: inset 0 3px 0 var(--gold); }
.partes a.ativa::after { content: "●"; color: var(--gold); font-size: 0.6rem; top: 0.9rem; }
.partes a.ativa .parte-n, .partes a.ativa .parte-sub { color: rgba(255,255,255,0.72); }
.parte-n { font-family: var(--font); font-weight: 600; font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); }
.parte-titulo { font-weight: 800; font-size: 0.95rem; line-height: 1.15; color: inherit; }
.parte-sub { font-size: 0.74rem; color: var(--text-3); line-height: 1.3; }
.parte-rodape { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; margin: 0.6rem 0 1.6rem; padding: 0.9rem 1.1rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.parte-pos { font-family: var(--mono); font-size: 0.72rem; color: var(--text-3); }
.parte-fim { font-size: 0.82rem; color: var(--text-3); }
.subnav { display: none !important; }
@media (max-width: 900px) { .partes { grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; } }
@media print { .partes, .partes-topo, .parte-rodape { display: none !important; } }

/* ---------- segunda rodada (21 itens) ---------- */
.gauge-faixas div:nth-child(2) { background: var(--sev-alto) !important; }
.veredito-amarelo .veredito-selo { background: var(--sev-alto-bg) !important; color: var(--sev-alto) !important; }
.mk-card-predio { box-shadow: none !important; }
.mk-alertas { color: var(--text-2) !important; list-style: none; padding-left: 0; }
.mk-alertas li { border-left: 3px solid var(--sev-alto); padding: 0.15rem 0 0.15rem 0.7rem; margin: 0.35rem 0; }
.mk-tiles, .mk-tiles-ind { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.8rem; }
.tag, .chip { white-space: nowrap; }
details.achado summary { position: relative; padding-right: 1.8rem; }
details.achado summary::after { content: "⌄"; position: absolute; right: 0.9rem; top: 0.55rem; font-family: var(--font); font-size: 1.1rem; line-height: 1; color: var(--text-3); }
details.achado[open] summary::after { content: "⌃"; top: 0.8rem; }
.fin-premissas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; align-content: start; }
.fin-premissas > h3, .fin-premissas > div:not(.campo), .fin-premissas > button, .fin-premissas > .btn, .fin-premissas > p { grid-column: 1 / -1; }
.mk-mapa-grid { align-items: stretch; }
.mk-mapa-col { display: flex; flex-direction: column; }
.mk-mapa { flex: 1 1 auto; height: auto !important; min-height: 380px; }

.card-alertas > summary { cursor: pointer; list-style: none; }
.card-alertas > summary::-webkit-details-marker { display: none; }
.card-alertas > summary h2::before { content: "▸ "; color: var(--text-4); }
.card-alertas[open] > summary h2::before { content: "▾ "; }
.ficha-corpo-avisos { margin-top: 0.8rem; }

/* ---------- achados v2 (07/09/2026): cabeçalho da dimensão em marinho + cards na cor da gravidade ---------- */
.dimc { display: flex; align-items: center; gap: 0.95rem; margin: 1.7rem 0 0; padding: 0.75rem 0.9rem 0.75rem 0.75rem; background: var(--ink); color: #fff; border-radius: var(--radius-sm) var(--radius-sm) 0 0; scroll-margin-top: 110px; }
.dimc:first-of-type { margin-top: 0.9rem; }
.dimc-num { flex: none; width: 42px; height: 42px; border-radius: 9px; background: var(--gold); color: var(--ink); font-family: var(--mono); font-weight: 600; font-size: 1.25rem; display: flex; align-items: center; justify-content: center; }
.dimc-txt { flex: 1; min-width: 0; }
.dimc-kicker { display: block; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.1rem; }
.dimc h3 { margin: 0; font-family: var(--font); font-size: 1.22rem; font-weight: 800; color: #fff; letter-spacing: -0.015em; line-height: 1.2; text-transform: none; }
.dimc-pergunta { display: block; font-size: 0.86rem; font-weight: 500; color: rgba(255,255,255,0.72); margin-top: 0.15rem; }
.dimc-pill { flex: none; font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; padding: 0.35rem 0.7rem; border-radius: 999px; }
.dimc-pill-ok { background: var(--verde); color: #fff; }
.dimc-pill-atencao { background: var(--vermelho); color: #fff; }
.dimc-pill-critico { background: var(--vermelho); color: #fff; }
.dimc-pill-nao_verificado { background: var(--gold); color: var(--ink); }

.grupo-dim { background: var(--accent-bg); border: 1px solid var(--border-2); border-top: 0; border-radius: 0 0 var(--radius-sm) var(--radius-sm); padding: 0.6rem; display: grid; gap: 0.45rem; }
.grupo-dim.grupo-padrao { border-top: 1px solid var(--border-2); border-radius: var(--radius-sm); margin-top: 0.6rem; }

.grupo-dim details.achado { margin: 0; border: 1px solid var(--border-2); border-left-width: 4px; padding: 0.7rem 0.95rem; background: var(--surface); transition: border-color .15s, box-shadow .15s; }
.grupo-dim details.achado.achado-info { background: #F3FBF6; border-left-color: var(--verde); }
.grupo-dim details.achado.achado-baixo { background: var(--surface); border-left-color: var(--text-4); }
.grupo-dim details.achado.achado-medio { background: #FFFBEE; border-left-color: var(--gold-escuro); }
.grupo-dim details.achado.achado-alto { background: #FEF6F5; border-left-color: #EE8B84; }
.grupo-dim details.achado.achado-critico { background: #FEF6F5; border-left-color: var(--vermelho); }
.grupo-dim details.achado.achado-nv { border-style: dashed; border-left-style: solid; }
.grupo-dim details.achado.achado-padrao { background: var(--surface); border-left-color: var(--border-strong) !important; }
.grupo-dim details.achado:hover, .grupo-dim details.achado[open] { border-color: var(--ink); box-shadow: 0 3px 10px rgba(11,31,58,.12); }
.grupo-dim details.achado.achado-info:hover, .grupo-dim details.achado.achado-info[open] { border-left-color: var(--verde); }
.grupo-dim details.achado.achado-medio:hover, .grupo-dim details.achado.achado-medio[open] { border-left-color: var(--gold-escuro); }
.grupo-dim details.achado.achado-alto:hover, .grupo-dim details.achado.achado-alto[open] { border-left-color: #EE8B84; }
.grupo-dim details.achado.achado-critico:hover, .grupo-dim details.achado.achado-critico[open] { border-left-color: var(--vermelho); }

.grupo-dim details.achado summary { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 1rem; row-gap: 0.22rem; padding-right: 0; position: static; }
.grupo-dim details.achado summary > * { grid-column: 1; }
.grupo-dim .achado-linha1 strong { font-weight: 700; font-size: 0.92rem; color: var(--ink); }

.grupo-dim .tag { padding: 0.2rem 0.6rem; border-radius: 999px; font-weight: 700; }
.grupo-dim .tag-grav-info, .grupo-dim .tag-grav-baixo, .grupo-dim .tag-grav-medio, .grupo-dim .tag-grav-alto, .grupo-dim .tag-grav-critico { padding-left: 0.6rem; }
.grupo-dim .tag-grav-info::before, .grupo-dim .tag-grav-baixo::before, .grupo-dim .tag-grav-medio::before, .grupo-dim .tag-grav-alto::before, .grupo-dim .tag-grav-critico::before { display: none; }
.grupo-dim .tag-grav-info { background: var(--verde); color: #fff; }
.grupo-dim .tag-grav-baixo { background: var(--bg-2); color: var(--text-2); }
.grupo-dim .tag-grav-medio { background: var(--gold); color: var(--ink); }
.grupo-dim .tag-grav-alto { background: #EE8B84; color: #fff; }
.grupo-dim .tag-grav-critico { background: var(--vermelho); color: #fff; }
.grupo-dim .tag-gatilho { background: var(--vermelho); color: #fff; }
.grupo-dim .tag-nv { background: var(--surface); border: 1px dashed var(--gold-escuro); color: var(--gold-ink); }
.grupo-dim .tag-padrao { background: var(--surface-2); color: var(--text-3); border: 1px solid var(--border-strong); }
.grupo-dim .pg { background: var(--ink); color: #fff; }

.grupo-dim details.achado summary::after { content: "Ver detalhe  ⌄"; position: static; grid-column: 2; grid-row: 1 / 4; align-self: center; font-family: var(--font); font-size: 0.76rem; font-weight: 700; letter-spacing: 0; color: var(--ink); background: var(--gold); border-radius: 999px; padding: 0.42rem 0.85rem; white-space: nowrap; transition: background .15s, color .15s; }
.grupo-dim details.achado:hover summary::after { background: var(--ink); color: var(--gold); }
.grupo-dim details.achado[open] summary::after { content: "Fechar  ⌃"; background: var(--ink); color: #fff; }
.grupo-dim details.achado[open] .achado-corpo { border-top: 1px solid var(--border-2); }
.grupo-dim .achado-corpo .rotulo-mono { color: var(--gold-ink); }
.grupo-dim .achado-corpo .trecho { background: var(--surface); border-left: 3px solid var(--gold); }
.grupo-dim .achado-corpo .fazer { background: var(--surface); border: 1px solid var(--border-2); border-left: 3px solid var(--ink); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: 0.6rem 0.8rem; }

@media (max-width: 640px) {
  .dimc { flex-wrap: wrap; }
  .grupo-dim details.achado summary { grid-template-columns: 1fr; }
  .grupo-dim details.achado summary::after { grid-column: 1; grid-row: auto; justify-self: start; }
}
@media print {
  .dimc { background: none; color: var(--ink); border-bottom: 2px solid var(--ink); border-radius: 0; padding-left: 0; }
  .dimc h3 { color: var(--ink); } .dimc-pergunta { color: var(--text-3); }
  .grupo-dim { background: none; border: 0; padding: 0; }
  .grupo-dim details.achado summary::after { display: none; }
}
