/**
 * Pré-visualização de Conciliação (financeiro)
 * Escopo: modal .fin-conciliacao-preview
 *
 * Padroniza os ganchos ui-preview-*, ui-selo e ui-veredito-* do template
 * conciliacao-preview.tpl.html. Sem estilo inline, sem !important.
 *
 * Vereditos por TOKEN de estado (nunca só cor — o template já traz ícone+texto):
 *   ui-veredito-bate       -> sucesso  (Bootstrap alert-success:  #3c763d / #dff0d8)
 *   ui-veredito-bloqueado  -> perigo   (Bootstrap alert-danger:   #a94442 / #f2dede)
 *   ui-veredito-vazio      -> neutro   (cinza muted:              #64748b / #f1f5f9)
 *
 * Cores reaproveitadas da paleta contextual Bootstrap3/SmartAdmin já carregada
 * e das escalas de cinza do design system (tokens.css), garantindo contraste AA.
 * Valores aplicados diretamente (sem var()/pré-processador) — restrição IE9-11
 * documentada em styles/css/tokens.css e seguida pelos demais componentes.
 */

.fin-conciliacao-preview {
    font-size: 13px;
    color: #334155;
}

/* ========== ESTADOS DE TELA (loading / error / empty) ========== */
.fin-conciliacao-preview .ui-preview-loading,
.fin-conciliacao-preview .ui-preview-error,
.fin-conciliacao-preview .ui-preview-empty {
    padding: 28px 16px;
    color: #64748b;
}
.fin-conciliacao-preview .ui-preview-loading h4,
.fin-conciliacao-preview .ui-preview-empty h4 {
    color: #334155;
    margin-bottom: 6px;
}
.fin-conciliacao-preview .ui-preview-error h4 {
    color: #a94442;
    margin-bottom: 6px;
}
.fin-conciliacao-preview .ui-preview-error .btn {
    margin-top: 10px;
}

/* ========== RESUMO AGREGADO ========== */
.fin-conciliacao-preview .ui-preview-resumo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    padding: 8px 10px;
    margin-bottom: 8px;
    background: #fafbfc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
}
.fin-conciliacao-preview .ui-preview-resumo__item {
    font-weight: 600;
    white-space: nowrap;
}
.fin-conciliacao-preview .ui-preview-resumo__item .fa {
    margin-right: 3px;
}
.fin-conciliacao-preview .ui-preview-resumo__total {
    margin-left: auto;
    font-weight: 700;
    color: #334155;
}

/* Cor do texto do resumo segue o token de estado */
.fin-conciliacao-preview .ui-preview-resumo__item.ui-veredito-bate     { color: #3c763d; }
.fin-conciliacao-preview .ui-preview-resumo__item.ui-veredito-bloqueado{ color: #a94442; }
.fin-conciliacao-preview .ui-preview-resumo__item.ui-veredito-vazio    { color: #64748b; }

/* ========== MASTER-CHECK ========== */
.fin-conciliacao-preview .ui-preview-master {
    padding: 4px 2px 8px;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 6px;
    font-weight: 600;
}

/* ========== SELO (badge de veredito) ========== */
/* Base: forma/tipografia; a cor vem das variações ui-veredito-* */
.fin-conciliacao-preview .ui-selo {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}
.fin-conciliacao-preview .ui-selo .fa { font-size: 11px; }

.fin-conciliacao-preview .ui-selo.ui-veredito-bate {
    color: #3c763d;
    background: #dff0d8;
    border-color: #c3e0b0;
}
.fin-conciliacao-preview .ui-selo.ui-veredito-bloqueado {
    color: #a94442;
    background: #f2dede;
    border-color: #e4b9b9;
}
.fin-conciliacao-preview .ui-selo.ui-veredito-vazio {
    color: #64748b;
    background: #f1f5f9;
    border-color: #e2e8f0;
}

/* ========== LISTA / ITENS ========== */
.fin-conciliacao-preview .ui-preview-lista {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Item = um extrato. Separação clara entre extratos, densidade de lote. */
.fin-conciliacao-preview .ui-preview-item {
    padding: 8px 10px;
    border: 1px solid #e2e8f0;
    border-left-width: 3px;
    border-radius: 6px;
    margin-bottom: 6px;
    background: #fff;
}
/* Faixa lateral colorida por veredito (redundante à cor do selo, reforça leitura) */
.fin-conciliacao-preview .ui-preview-item.ui-veredito-bate      { border-left-color: #c3e0b0; }
.fin-conciliacao-preview .ui-preview-item.ui-veredito-bloqueado { border-left-color: #a94442; background: #fffafa; }
.fin-conciliacao-preview .ui-preview-item.ui-veredito-vazio     { border-left-color: #e2e8f0; background: #fafbfc; }

/* Item bloqueado: atenua o conteúdo, mas preserva selo e Δ em destaque */
.fin-conciliacao-preview .ui-preview-item.ui-veredito-bloqueado .ui-preview-item__extrato,
.fin-conciliacao-preview .ui-preview-item.ui-veredito-bloqueado .ui-preview-candidatas,
.fin-conciliacao-preview .ui-preview-item.ui-veredito-bloqueado .ui-preview-item__soma {
    opacity: 0.7;
}
/* Item vazio: discreto/neutro */
.fin-conciliacao-preview .ui-preview-item.ui-veredito-vazio {
    color: #64748b;
}

/* Linha principal: check | extrato | selo */
.fin-conciliacao-preview .ui-preview-item__linha {
    display: flex;
    align-items: center;
    gap: 8px;
}
.fin-conciliacao-preview .ui-preview-item__check {
    flex: 0 0 auto;
    margin: 0;
}
.fin-conciliacao-preview .ui-preview-item__extrato {
    flex: 1 1 auto;
    min-width: 0;
}
.fin-conciliacao-preview .ui-preview-item__extrato strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fin-conciliacao-preview .ui-preview-item__meta {
    display: block;
    font-size: 11px;
    color: #64748b;
}
.fin-conciliacao-preview .ui-preview-item__selo {
    flex: 0 0 auto;
}

/* Checkbox travado (não-BATE): cursor e sinalização de bloqueio */
.fin-conciliacao-preview .ui-preview-item__check input:disabled,
.fin-conciliacao-preview .ui-preview-item__check input[disabled] + i {
    cursor: not-allowed;
}
.fin-conciliacao-preview .ui-preview-item:not(.ui-veredito-bate) .ui-preview-item__check {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ========== CANDIDATAS (N:1) ========== */
.fin-conciliacao-preview .ui-preview-candidatas {
    list-style: none;
    margin: 6px 0 0 8px;
    padding: 4px 0 4px 26px;      /* aninhamento sob o extrato */
    border-left: 1px dashed #e2e8f0;
}
.fin-conciliacao-preview .ui-preview-candidata {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 1px 0;
    font-size: 12px;
}
.fin-conciliacao-preview .ui-preview-candidata__tipo {
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.02em;
}
.fin-conciliacao-preview .ui-preview-candidata__desc {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fin-conciliacao-preview .ui-preview-candidata__valor {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

/* ========== SOMA × VALOR (lado a lado) ========== */
.fin-conciliacao-preview .ui-preview-item__soma {
    margin-top: 6px;
    padding-top: 4px;
    border-top: 1px dotted #e2e8f0;
    font-size: 12px;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

/* ========== DELTA (destaque no bloqueado) ========== */
.fin-conciliacao-preview .ui-preview-item__delta {
    margin-top: 6px;
    padding: 6px 8px;
    border-radius: 6px;
    background: #f2dede;
    border: 1px solid #e4b9b9;
    color: #a94442;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.fin-conciliacao-preview .ui-preview-item__delta .fa { margin-right: 4px; }

/* ========== VEREDITO VAZIO ========== */
.fin-conciliacao-preview .ui-preview-item__vazio {
    margin-top: 4px;
    font-size: 12px;
    font-style: italic;
    color: #64748b;
}

/* ========== NOVA DESPESA A CRIAR ========== */
.fin-conciliacao-preview .ui-preview-item__despesa {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin-top: 6px;
    padding: 6px 8px;
    border-radius: 6px;
    background: #eef6ff;
    border: 1px dashed #b6d4f2;
    font-size: 12px;
}
.fin-conciliacao-preview .ui-preview-item__despesa-titulo {
    flex-basis: 100%;
    font-weight: 700;
    color: #31708f;
}
.fin-conciliacao-preview .ui-preview-item__despesa-titulo .fa { margin-right: 4px; }
.fin-conciliacao-preview .ui-preview-item__despesa-dado {
    color: #334155;
    white-space: nowrap;
}

/* ========== NOTAS ========== */
.fin-conciliacao-preview .ui-preview-notas {
    margin-top: 10px;
}
.fin-conciliacao-preview .ui-preview-notas textarea {
    resize: vertical;
}

/* ========== TELA APLICADA (resultado) ========== */
.fin-conciliacao-preview .ui-preview-applied__resumo h4 {
    margin-bottom: 6px;
}
.fin-conciliacao-preview .ui-preview-applied__motivos {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
    color: #64748b;
    font-size: 12px;
}
.fin-conciliacao-preview .ui-preview-applied__itens {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fin-conciliacao-preview .ui-preview-applied__rej {
    padding: 6px 8px;
    margin-bottom: 4px;
    border-radius: 6px;
    background: #f2dede;
    border: 1px solid #e4b9b9;
    border-left: 3px solid #a94442;
    color: #a94442;
    font-size: 12px;
}
.fin-conciliacao-preview .ui-preview-applied__rej .fa { margin-right: 4px; }

/* ========== FOCO VISÍVEL (acessibilidade) ========== */
.fin-conciliacao-preview .ui-preview-applied__rej:focus,
.fin-conciliacao-preview .ui-preview-item:focus {
    outline: 2px solid #4F00D1;      /* roxo primário Sigraweb */
    outline-offset: 1px;
}
