/* Bússola do 2º turno (bussola.html). Usa os tokens e componentes de app.css. */
.bs{max-width:1180px;margin:0 auto;padding:20px 20px 40px}
.bs:focus{outline:none}
.bs h1{font-family:var(--f-tit);font-stretch:68%;font-weight:900;font-size:clamp(2rem,6vw,3.4rem);line-height:.98;text-transform:uppercase;margin:6px 0 14px}
.bs-sec{margin-top:34px}
.bs-sec h2{display:flex;align-items:baseline;gap:10px;font-family:var(--f-tit);font-stretch:70%;font-weight:800;font-size:1.7rem;line-height:1.05;text-transform:uppercase;margin:0 0 6px;scroll-margin-top:90px}
.bs-sec h2 .n{font-family:var(--f-mono);font-size:.95rem;font-weight:600;color:var(--accent)}
.bs-h3{font-size:1rem;margin:26px 0 4px}
.bs .desc{font-size:.92rem;max-width:780px}
.bs .nota{font-size:.84rem;max-width:900px;line-height:1.55}

/* escopo e posição: primeira coisa depois do título */
.bs-escopo{border:2px solid var(--ink);background:var(--lilas);padding:12px 14px;max-width:820px}
.bs-escopo p{margin:0}.bs-escopo p+p{margin-top:6px;font-size:.92rem}
.bs-escopo b{font-size:1.12rem}
.bs-coleta{margin:8px 0 0;font-family:var(--f-mono);font-size:.75rem;color:var(--ink-2);letter-spacing:.03em}
.bs-posicao{margin:10px 0 0;font-size:.88rem;color:var(--ink-2);max-width:820px}

/* carimbo: etiqueta de procedência, sempre texto, nunca só cor */
.carimbo{display:inline-block;font-family:var(--f-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
 line-height:1.2;padding:2px 6px;border:1px solid var(--ink);background:var(--surface-3);color:var(--ink);vertical-align:middle;white-space:nowrap}
.carimbo.ausente,.nc,.bs-sem{border:1px dashed var(--muted);background:var(--surface-2);color:var(--ink-2)}
.nc,.bs-sem{display:inline-block;font-size:.78rem;padding:1px 6px;white-space:normal}
.bs-sem{border-color:#9A6A12;background:#FBF0D9;color:var(--ink)}
.bs-legenda{margin-top:12px;max-width:820px}
.bs-legenda summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.bs-legenda dl{margin:4px 0 0;display:grid;gap:6px}
.bs-legenda dl>div{display:grid;grid-template-columns:200px 1fr;gap:10px;align-items:baseline;font-size:.88rem}
.bs-legenda dd{margin:0;color:var(--ink-2)}

/* números do campo */
.bs-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:10px}
.bs-num{border:2px solid var(--ink);background:var(--surface);box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.bs-num .r{font-family:var(--f-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.bs-num .v{font-family:var(--f-tit);font-stretch:68%;font-weight:800;font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums}
.bs-num .d{font-size:.84rem;color:var(--ink-2)}
.bs-num.esq .v{background:var(--surface-2);min-width:70%;min-height:2.6rem}

/* tabelas */
.bs-tab{max-height:none}
.bs-tab table{font-size:.88rem}
.bs-tab th small,.bs-tab td small{display:block;font-weight:400;color:var(--ink-2);font-size:.78rem;white-space:normal}
.bs-tab thead th small.bs-den{color:var(--lilas);text-transform:none;letter-spacing:0;font-family:var(--f-txt)}
.bs-tab tbody th{font-weight:600;white-space:normal}
.bs-esq-linha{color:var(--ink-2);padding:18px 10px}
.bs-corte{background:var(--lilas)}
.bs-corte b{font-family:var(--f-mono);font-size:.75rem;color:var(--accent)}
.bs-barra{display:block;width:160px;max-width:30vw;height:12px;border:1px solid var(--ink);background:var(--surface)}
.bs-barra i{display:block;height:100%;background:var(--accent)}
.bs-alerta{border-left:4px solid #9A6A12;background:#FBF0D9;padding:8px 10px;margin:8px 0;font-size:.9rem;max-width:900px}
.bs-trunc{font-size:.8rem;white-space:normal}
.bs-filtros{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;margin:10px 0}
.bs-cont{margin:0;font-size:.86rem;color:var(--ink-2)}
.bs-mais{margin:10px 0 0}
#bs-pri tr[data-cod]{cursor:pointer}
#bs-pri tr[aria-expanded="true"]{background:var(--lilas)}
.bs-ficha td{white-space:normal;background:var(--surface-2);cursor:auto}
.bs-ficha-c p{margin:0 0 8px}
.bs-ficha-c dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 18px;margin:0}
.bs-ficha-c dt{font-family:var(--f-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
.bs-ficha-c dd{margin:0;font-weight:600}

/* bússola */
.bs-acao{display:inline-block;font-weight:700;padding:3px 8px;border:2px solid var(--ink);white-space:nowrap}
.bs-acao-entrar .bs-acao{background:var(--accent);color:#fff}
.bs-acao-considerar .bs-acao{background:var(--accent-wash)}
.bs-acao-sem .bs-acao{background:var(--surface);font-weight:600;white-space:normal}
.bs-acao-nao .bs-acao{background:var(--surface-2);color:var(--ink-2);border-style:dashed}
.bs-reg{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.04em}
.bs-nota-c{white-space:normal;min-width:220px;font-size:.84rem}
.bs-cards td{white-space:normal}

/* o que não dizer */
.bs-blq{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.bs-blq li{border:2px solid var(--ink);background:var(--surface);padding:12px 14px;font-size:.9rem}
.bs-blq p{margin:0 0 6px}
.bs-af{font-weight:700;font-size:1rem;text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:2px}
.bs-af::before{content:"Não diga: ";text-decoration:none;display:inline-block;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bad);margin-right:4px}

.bs-limites{border-top:2px solid var(--ink);padding-top:18px}
.bs-estado.vazio{border:2px dashed var(--muted);padding:16px;background:var(--surface-2)}

@media (max-width:640px){
 .bs{padding:14px 14px 30px}
 .bs-legenda dl>div{grid-template-columns:1fr;gap:2px}
 .bs h1{font-size:1.6rem;margin:2px 0 8px}
 .bs-posicao{font-size:.8rem;margin-top:6px}
 .bs-sec{margin-top:22px}
 .bs-sec h2{font-size:1.3rem}
 .bs-legenda summary{min-height:40px}
 .bs-escopo{padding:10px 12px}.bs-escopo b{font-size:1rem}.bs-escopo p+p{font-size:.86rem}
 .bs-numeros{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .bs-num{padding:8px;box-shadow:none}
 .bs-num .r{font-size:.66rem;letter-spacing:.02em}
 .bs-num .v{font-size:1.45rem}
 .bs-num .d{font-size:.74rem}
 .bs-barra{width:70px}
 /* bússola em cartões: uma linha por vez, com a ação em destaque */
 .bs-cards{border:0;overflow:visible}
 .bs-cards table,.bs-cards tbody,.bs-cards tr,.bs-cards th,.bs-cards td{display:block;width:100%}
 .bs-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .bs-cards tr{border:2px solid var(--ink);margin-bottom:10px;background:var(--surface)}
 .bs-cards th,.bs-cards td{border-bottom:1px solid var(--grid);text-align:left}
 .bs-cards td[data-r]::before{content:attr(data-r);display:block;font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
 .bs-cards td.n{text-align:left}
}
@media print{.topo,.bs-filtros,.bs-mais{display:none}}
