/* Conferência de stock (.cfs-*): Features/Producao/Stock/Pages/ConferenciaStockPage e Components/Conferencia/*.
   Reutiliza o esqueleto .lcg-* (cartões, stepper, filtros, rodapé fixo). Só tokens do tema (claro/escuro via [data-theme]);
   telemóvel primeiro, alvos de toque >= 44px. */

.cfs-linhas { display: flex; flex-direction: column; gap: 10px; }

.cfs-linha {
    display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 14px;
    border: 1px solid var(--border-color); background: var(--bg-primary);
}
.cfs-linha.is-contada { border-color: color-mix(in srgb, var(--primary) 45%, var(--border-color)); }
.cfs-linha.tem-erro { border-color: var(--error); background: color-mix(in srgb, var(--error) 6%, var(--bg-primary)); }
[data-theme="dark"] .cfs-linha { background: color-mix(in srgb, var(--card-bg) 70%, var(--bg-primary)); }
[data-theme="dark"] .cfs-linha.tem-erro { background: color-mix(in srgb, var(--error) 10%, var(--card-bg)); }

.cfs-linha-topo { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 12px; align-items: end; }
.cfs-linha-info { min-width: 0; }
.cfs-linha-nome { margin: 0 0 4px; font-size: 1rem; font-weight: 700; color: var(--text-primary); overflow-wrap: anywhere; }
.cfs-linha-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: .84rem; color: var(--text-secondary); }
.cfs-linha-meta strong { color: var(--text-primary); }
.cfs-contado { display: flex; flex-direction: column; gap: 6px; min-width: 0; }

.cfs-resultado { margin: 0; display: flex; align-items: center; gap: 6px; font-size: .9rem; font-weight: 700; }
.cfs-resultado--certo { color: var(--success); }
.cfs-resultado--faltam { color: var(--error); }
.cfs-resultado--sobram { color: var(--warning); }

.cfs-motivo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.cfs-motivo-texto { width: 100%; height: auto; min-height: 88px; line-height: 1.4; resize: vertical; }

.cfs-erro { margin: 0; display: flex; align-items: center; gap: 6px; font-size: .84rem; font-weight: 600; color: var(--error); }

/* Resumo: cartão na coluna lateral no computador; rodapé fixo (.lcg-rodape) no telemóvel/tablet. */
.cfs-resumo { display: flex; flex-direction: column; gap: 10px; }
.cfs-resumo-nota { margin: -4px 0 0; font-size: .8rem; line-height: 1.35; color: var(--text-secondary); }

@media (max-width: 1023.98px) {
    .cfs-resumo { display: none; }
}

.cfs-rodape-valor { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }

@media (max-width: 520px) {
    .cfs-linha-topo { grid-template-columns: minmax(0, 1fr); align-items: stretch; }

    /* O separador mais longo cabe numa linha, com os três lado a lado. */
    .cfs-segmentos .lcg-segmento { flex: 1 1 auto; padding: 0 6px; font-size: .8rem; white-space: nowrap; }

    /* O rodapé empilha: o valor tem a largura toda e o botão deixa de o tapar. */
    .lcg-rodape.cfs-rodape { flex-direction: column; align-items: stretch; gap: 8px; }
    .cfs-rodape .lcg-btn { width: 100%; }
    .cfs-rodape-total { width: 100%; }
    .lcg-folha.tem-rodape:has(.cfs-rodape) { padding-bottom: 200px; }
}
