/* Fichas de Controle de Qualidade (10/11/2026): os dois modelos para a dona escolher em Configuração › Layout da ficha.
   A ficha é papel: fundo branco e cores fixas nos dois temas, para sair igual na tela, no PDF e na impressão.
   Desde a noite de 10/11/2026 vale um modelo só, o resumo visual (f2-); a Opção 1 saiu do código. */
.cq-ficha { position: relative; isolation: isolate; min-width: 0; overflow: hidden; border: 1px solid #d6dee3; border-radius: 10px; background: #fff; color: #1a2a33; font-size: 12.5px; line-height: 1.45; box-shadow: 0 6px 24px rgba(10, 30, 40, 0.08); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
/* Marca d'água: o globo em rede do GEO3X no meio da folha, por trás de tudo, também no PDF (pedido da dona, 10/11/2026). */
/* Na tela, fica atrás do começo da folha (a ficha pode ser comprida); na impressão, repete no centro de cada página. */
.cq-ficha::after { position: absolute; top: min(300px, 30%); left: 50%; z-index: -1; width: min(58%, 420px); aspect-ratio: 847 / 946; background: url("../comum/marca/pin-sistema.png") no-repeat center / contain; opacity: 0.05; transform: translateX(-50%); content: ""; pointer-events: none; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.cq-ficha .cq-logo--vazio { border-color: #c5d2d8; background: #f5f8f9; color: #6b8290; }
.cq-ficha button.cq-logo--vazio:hover, .cq-ficha button.cq-logo--vazio:focus-visible { border-color: #1fa39f; background: #eaf6f5; color: #0f6361; }
.cq-ficha .cq-logo--com { border-color: transparent; background: #fff; }

/* ---------- Opção 2 · Resumo visual ---------- */
.f2-ressalva { margin: 12px 0 0; padding: 8px 12px; border-left: 3px solid #d9a200; background: #fdf7e6; font-weight: 600; }
.f2-ressalva b { display: block; color: #8a5a00; font-size: 9.8px; letter-spacing: 0.08em; text-transform: uppercase; }
.f2-assin { display: grid; gap: 3px; justify-items: center; text-align: center; }
.f2-assin > small { justify-self: start; color: #5b7380; font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.f2-assin__img { display: grid; width: min(240px, 100%); height: 62px; border-bottom: 1px solid #1a2a33; place-items: end center; }
.f2-assin__img img { max-width: 100%; max-height: 58px; object-fit: contain; }
.ff-linha { display: none; }
.f2-assin b { margin-top: 3px; font-size: 12.5px; }
.f2-assin span { color: #5b7380; font-size: 11px; }
.f2 { padding: 0 0 18px; }
.f2 > :not(.f2-cab) { margin-inline: 24px; }
.f2-cab { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 24px; background: linear-gradient(120deg, #0b2230 0%, #0e3d4e 60%, #12707a 120%); color: #fff; box-shadow: inset 0 -4px 0 var(--f2-cor, #9aaab3); }
.f2--ok { --f2-cor: #2e9b5f; } .f2--crit { --f2-cor: #c8382c; } .f2--warn { --f2-cor: #d9a200; } .f2--info { --f2-cor: #1fa39f; }
.f2-cab__geo { display: block; width: auto; height: 26px; }
.f2-cab__tit { display: grid; gap: 1px; min-width: 0; padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, 0.22); }
.f2-cab__tit small { color: #8fd3cf; font-size: 9.5px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.f2-cab__tit b { font-size: 22px; letter-spacing: -0.02em; line-height: 1.2; }
.f2-cab__tit span { color: #b9cdd4; font-size: 12px; }
.f2-cab__cli { padding: 5px; border-radius: 10px; background: #fff; }
.f2-cab__cli .cq-logo--m { width: 124px; height: 50px; }
.f2-status { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-top: 14px; color: #5b7380; font-size: 11.5px; }
.f2-status > span:last-child { margin-left: auto; font-weight: 650; }
.f2-pill { display: inline-flex; gap: 5px; align-items: center; padding: 2px 10px; border-radius: 999px; background: #eef2f4; color: #4b6472; font-size: 11px; font-weight: 700; white-space: nowrap; }
.f2-pill i { font-size: 10px; font-style: normal; }
.f2-status .f2-pill { padding: 5px 14px; font-size: 13px; }
.f2-pill--ok { background: #e3f4ea; color: #1d6b3e; } .f2-pill--crit { background: #fde4e2; color: #a12a20; } .f2-pill--warn { background: #fdf1dc; color: #8a5a00; } .f2-pill--info { background: #e4f4f3; color: #0f6361; } .f2-pill--vazio { background: #f3f6f7; color: #9aaab3; font-weight: 500; }
/* A faixa do parecer, como na planilha do CQ do 306: rótulo, caixa com o parecer e, embaixo, de onde saiu e quando. */
.f2-parecer-final { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 14px; align-items: center; margin-top: 14px; }
.f2-parecer-final__rot { color: #0b2f3a; font-size: 13px; font-weight: 800; text-align: right; white-space: nowrap; }
.f2-parecer-final b { display: block; padding: 9px 14px; border: 1px solid #c9d5db; border-radius: 4px; background: #f3f6f7; color: #3d5866; font-size: 14px; font-weight: 800; letter-spacing: 0.02em; text-align: center; }
.f2-parecer-final--ok b { border-color: #b7dcc4; background: #e3f4ea; color: #1d6b3e; }
.f2-parecer-final--crit b { border-color: #f1bdb7; background: #fde4e2; color: #a12a20; }
.f2-parecer-final--warn b { border-color: #efd7a3; background: #fdf1dc; color: #8a5a00; }
.f2-parecer-final small { grid-column: 2; color: #6b8290; font-size: 10.6px; font-style: italic; text-align: center; }
.f2-resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.f2-tile { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid #e3eaee; border-top: 3px solid var(--t, #c9d5db); border-radius: 10px; }
.f2-tile > small { color: #5b7380; font-size: 9.8px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.f2-tile b { color: #0b2f3a; font-size: 22px; font-variant-numeric: tabular-nums; line-height: 1.15; }
.f2-tile b small { color: #7d929c; font-size: 13px; }
.f2-tile--ok { --t: #2e9b5f; } .f2-tile--crit { --t: #c8382c; } .f2-tile--warn { --t: #d9a200; } .f2-tile--info { --t: #1fa39f; }
.f2-barra { display: flex; gap: 2px; height: 8px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: #eef2f4; }
.f2-barra i { display: block; height: 100%; }
.f2-barra__ok { background: #2e9b5f; } .f2-barra__warn { background: #d9a200; } .f2-barra__info { background: #1fa39f; } .f2-barra__crit { background: #c8382c; } .f2-barra__mu { background: #9aaab3; } .f2-barra__vazio { background: #dfe7eb; }
.f2-id { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.f2-id section { padding: 12px 14px; border-radius: 10px; background: #f5f9fa; }
.f2-id h4, .f2-linha h4 { margin: 0 0 8px; color: #0b2f3a; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; }
.f2-id dl { display: grid; gap: 5px; margin: 0; }
.f2-id dl div { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 10px; }
.f2-id dt { color: #5b7380; font-size: 11.5px; }
.f2-id dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.f2-blocos { display: grid; gap: 12px; margin-top: 16px; }
.f2-bloco { overflow: hidden; border: 1px solid #e3eaee; border-radius: 12px; }
/* A faixa escura dos blocos, como na ficha formal (pedido da dona, 10/11/2026). */
.f2-bloco { border-color: #0b2f3a; }
.f2-bloco header { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 8px 14px; background: #0b2f3a; }
.f2-bloco header b { color: #fff; font-size: 11px; letter-spacing: 0.07em; text-transform: uppercase; }
.f2-bloco header span { color: #a9d6dc; font-size: 11px; font-weight: 600; }
.f2-bloco ul { margin: 0; padding: 0; list-style: none; }
.f2-item { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 14px; border-top: 1px solid #eef2f4; }
.f2-item:first-child { border-top: 0; }
.f2-item > i { display: grid; width: 20px; height: 20px; border-radius: 50%; background: #eef2f4; color: #5b7380; font-size: 10.5px; font-style: normal; font-weight: 800; place-items: center; }
.f2-item--ok > i { background: #e3f4ea; color: #1d6b3e; } .f2-item--crit > i { background: #fde4e2; color: #a12a20; } .f2-item--warn > i { background: #fdf1dc; color: #8a5a00; } .f2-item--info > i { background: #e4f4f3; color: #0f6361; }
.f2-item div { display: grid; gap: 2px; min-width: 0; }
.f2-item b { font-size: 12.5px; }
.f2-item small { color: #5b7380; font-size: 11px; }
.f2-linha { margin-top: 16px; }
.f2-linha ol { display: grid; margin: 0; padding: 0 0 0 16px; border-left: 2px solid #e3eaee; list-style: none; }
.f2-linha li { position: relative; padding: 0 0 12px 14px; }
.f2-linha li::before { position: absolute; top: 3px; left: -23px; width: 10px; height: 10px; border: 2px solid #c8382c; border-radius: 50%; background: #fff; content: ""; }
.f2-linha li.f2-linha--ok::before { border-color: #2e9b5f; }
.f2-linha header { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.f2-linha header span { color: #5b7380; font-size: 11px; }
.f2-linha p { margin: 4px 0 0; color: #3d5866; font-size: 11.8px; }
.f2-assins { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 18px; }
.f2-assin { padding: 12px; border: 1px solid #e3eaee; border-radius: 12px; }
.f2-pe { margin-top: 14px; padding-top: 10px; border-top: 1px solid #e3eaee; color: #8aa0aa; font-size: 10.5px; text-align: center; }
.f2-vazio { margin: 18px 24px 0; color: #5b7380; }

@media (max-width: 700px) {
    .f2 > :not(.f2-cab) { margin-inline: 14px; } .f2-cab { grid-template-columns: minmax(0, 1fr) auto; padding: 16px; } .f2-cab__tit { grid-column: 1 / -1; padding-left: 0; border-left: 0; } .f2-cab__cli { grid-column: 1 / -1; justify-self: start; }
    .f2-resumo, .f2-id { grid-template-columns: repeat(2, minmax(0, 1fr)); } .f2-id { grid-template-columns: minmax(0, 1fr); } .f2-item { grid-template-columns: 22px minmax(0, 1fr); } .f2-item .f2-pill { grid-column: 2; justify-self: start; }
}
@media print {
    .cq-ficha { border-color: #c9d3d8; box-shadow: none; }
    .cq-ficha::after { display: none; }
    .cq-fichas::before { position: fixed; top: 50%; left: 50%; z-index: 0; width: 60%; aspect-ratio: 847 / 946; background: url("../comum/marca/pin-sistema.png") no-repeat center / contain; opacity: 0.05; transform: translate(-50%, -50%); content: ""; pointer-events: none; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .cq-ficha { background: transparent; }
    .cq-ficha + .cq-ficha { margin-top: 0 !important; break-before: page; }
    .f2-item, .f2-bloco header, .f2-assins, .f2-tile, .f2-linha li { break-inside: avoid; }
    .f2-bloco header { break-after: avoid; }
}

/* Ficha dentro do visor de documentos (ficha da conferência de um setor e ficha completa do imóvel) */
.doc-folhas .cq-ficha { width: min(820px, 100%); flex: none; }
@media print { .doc-folhas .cq-ficha { width: auto; border: 0; border-radius: 0; break-after: page; } .doc-folhas .cq-ficha:last-child { break-after: auto; } }
