.reconciliation-history-open { height: 30px; border: 0; border-radius: 8px; padding: 0 12px; background: #0d6972; color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.reconciliation-history-modal,.reconciliation-nf-modal { position: fixed; inset: 0; z-index: 1900; display: grid; place-items: center; padding: 20px; background: rgba(4,25,37,.68); }
.reconciliation-history-modal > section { width: min(1540px,97vw); height: min(880px,95vh); display: flex; flex-direction: column; overflow: hidden; border-radius: 17px; background: #f4f7f9; box-shadow: 0 30px 90px rgba(0,20,32,.38); }
.reconciliation-history-modal header,.reconciliation-nf-modal header { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid #dbe5ea; background: #fff; }
.reconciliation-history-modal header small,.reconciliation-nf-modal header small { color: #13818b; text-transform: uppercase; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.reconciliation-history-modal h2,.reconciliation-nf-modal h2 { margin: 4px 0 0; font-size: 21px; }
.reconciliation-history-modal header button,.reconciliation-nf-modal header button { width: 36px; height: 36px; border: 1px solid #d4e0e5; border-radius: 9px; background: #fff; font-size: 22px; cursor: pointer; }
.reconciliation-history-metrics { display: grid; grid-template-columns: repeat(6,1fr); gap: 9px; padding: 13px 16px; }
.reconciliation-history-metrics article { padding: 11px; border: 1px solid #dbe5e9; border-radius: 10px; background: #fff; }
.reconciliation-history-metrics small,.reconciliation-history-metrics strong { display: block; }
.reconciliation-history-metrics small { margin-bottom: 5px; color: #71838d; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.reconciliation-history-metrics strong { color: #173b49; font-size: 14px; }
.reconciliation-history-metrics article.alert strong { color: #b4232d; }
.reconciliation-history-actions { display: flex; align-items: center; gap: 18px; padding: 0 16px 12px; color: #405963; font-size: 10px; font-weight: 800; }
.reconciliation-history-actions label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.reconciliation-history-actions input { width: 16px; height: 16px; accent-color: #0d6972; }
.reconciliation-history-actions span { margin-left: auto; }
.reconciliation-history-actions button { height: 36px; border: 0; border-radius: 9px; padding: 0 14px; background: #0d6972; color: #fff; font-weight: 800; cursor: pointer; }
.reconciliation-history-actions button:disabled { background: #aab9bf; cursor: not-allowed; }
#reconciliationHistoryExcel,#reconciliationHistoryPdf { border: 1px solid #b9cdd4; background: #fff; color: #234d58; }
#reconciliationHistoryExcel:hover,#reconciliationHistoryPdf:hover { border-color: #13818b; background: #eef8f8; }
.reconciliation-history-table { flex: 1; overflow: auto; border-top: 1px solid #dbe5ea; background: #fff; }
.reconciliation-history-table table { width: 100%; min-width: 1550px; border-collapse: collapse; font-size: 10px; }
.reconciliation-history-table th { position: sticky; top: 0; z-index: 2; padding: 10px 8px; background: #0b6270; color: #fff; text-align: left; }
.reconciliation-history-table td { padding: 9px 8px; border-bottom: 1px solid #e0e8ec; white-space: nowrap; }
.reconciliation-history-table td.money { text-align: right; font-weight: 700; }
.reconciliation-history-table tr.has-difference { background: #fff8e8; }
.reconciliation-history-table td.difference { color: #b4232d; }
.reconciliation-nf-modal { z-index: 1950; }
.reconciliation-nf-modal > form { width: min(680px,95vw); max-height: 94vh; overflow: auto; border-radius: 16px; background: #fff; box-shadow: 0 30px 90px rgba(0,20,32,.4); }
.reconciliation-nf-modal form > p { margin: 16px 20px 5px; padding: 10px; border-radius: 8px; background: #edf7f7; color: #27535b; font-size: 11px; }
.reconciliation-nf-modal form > label { display: block; margin: 13px 20px; color: #536a75; font-size: 10px; font-weight: 800; }
.reconciliation-nf-fields { display: grid; grid-template-columns: 1.4fr .8fr; gap: 11px; margin: 14px 20px; padding: 14px; border: 1px solid #dce7eb; border-radius: 11px; background: #f8fafb; }
.reconciliation-nf-fields label { color: #536a75; font-size: 10px; font-weight: 800; }
.reconciliation-nf-fields .wide,.reconciliation-nf-fields button { grid-column: 1/-1; }
#reconciliationNfAdd { height: 38px; border: 1px dashed #15969b; border-radius: 9px; background: #edf8f8; color: #0d6972; font-weight: 800; cursor: pointer; }
.reconciliation-nf-list { margin: 0 20px 16px; border: 1px solid #dce7eb; border-radius: 11px; overflow: hidden; }
.reconciliation-nf-list > div { display: flex; justify-content: space-between; padding: 10px 13px; background: #edf5f6; color: #315762; font-size: 10px; }
.reconciliation-nf-list ul { max-height: 180px; overflow: auto; margin: 0; padding: 0; list-style: none; }
.reconciliation-nf-list li { display: flex; align-items: center; justify-content: space-between; padding: 9px 12px; border-top: 1px solid #e4ebee; }
.reconciliation-nf-list li span strong,.reconciliation-nf-list li span small { display: block; }
.reconciliation-nf-list li span strong { color: #173b49; font-size: 12px; }
.reconciliation-nf-list li span small { margin-top: 2px; color: #71838d; font-size: 9px; }
.reconciliation-nf-list li button { width: 28px; height: 28px; border: 0; border-radius: 7px; background: #fff0f0; color: #c23b45; cursor: pointer; }
.reconciliation-nf-list li.empty { justify-content: center; color: #81919a; font-size: 10px; }
.reconciliation-nf-modal input,.reconciliation-nf-modal textarea { display: block; width: 100%; margin-top: 6px; border: 1px solid #cfdee4; border-radius: 9px; padding: 9px 11px; font: inherit; font-size: 12px; }
.reconciliation-nf-modal footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid #e0e8ec; }
.reconciliation-nf-modal footer button { height: 38px; border: 1px solid #cddbe1; border-radius: 9px; padding: 0 15px; background: #fff; font-weight: 800; cursor: pointer; }
#reconciliationNfSave { border-color: #0d6972; background: #0d6972; color: #fff; }
#financeTableBody tr:has(.reconciliation-history-open) { cursor: pointer; }
#financeTableBody tr:has(.reconciliation-history-open):hover td { background: #edf8f8; }
#financeTableHead th:last-child:has(+ *) { position: static; }
#financeTableHead th:first-child,
#financeTableBody td:first-child:has(.reconciliation-history-open) {
  position: sticky;
  left: 0;
  z-index: 3;
  background: #fff;
  box-shadow: 8px 0 12px rgba(15,55,68,.08);
}
#financeTableHead th:first-child { z-index: 4; min-width: 190px; background: #eef4f6; }
#financeTableBody tr:has(.reconciliation-history-open) td:nth-child(2) { white-space: nowrap; min-width: 138px; }
#financeTableBody tr:has(.reconciliation-history-open) td:nth-child(4) {
  direction: rtl;
  max-width: 390px;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#financeTableBody tr:has(.reconciliation-history-open) td:nth-child(4)::first-line { direction: ltr; }
.reconciliation-history-actions-cell { min-width: 190px; white-space: nowrap; }
.reconciliation-history-actions-cell button span { margin-right: 4px; font-size: 12px; }
.reconciliation-observation-open { height: 30px; margin-left: 6px; border: 1px solid #b9cdd4; border-radius: 8px; padding: 0 11px; background: #fff; color: #315762; font-size: 10px; font-weight: 800; cursor: pointer; }
.reconciliation-observation-open:hover { border-color: #13818b; color: #0d6972; }
.reconciliation-observation-modal { position: fixed; inset: 0; z-index: 1980; display: grid; place-items: center; padding: 20px; background: rgba(4,25,37,.7); }
.reconciliation-observation-modal > form { width: min(570px,95vw); overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 30px 90px rgba(0,20,32,.42); }
.reconciliation-observation-modal header { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid #dbe5ea; }
.reconciliation-observation-modal header small { color: #13818b; text-transform: uppercase; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.reconciliation-observation-modal h2 { margin: 4px 0 0; font-size: 21px; }
.reconciliation-observation-modal header button { width: 36px; height: 36px; border: 1px solid #d4e0e5; border-radius: 9px; background: #fff; font-size: 22px; cursor: pointer; }
.reconciliation-observation-modal form > p { margin: 17px 20px 10px; color: #5e737d; font-size: 11px; }
.reconciliation-observation-modal textarea { display: block; width: calc(100% - 40px); margin: 0 20px 18px; border: 1px solid #cfdee4; border-radius: 10px; padding: 11px; resize: vertical; font: 12px/1.5 Manrope,sans-serif; outline: none; }
.reconciliation-observation-modal textarea:focus { border-color: #15969b; box-shadow: 0 0 0 3px rgba(21,150,155,.12); }
.reconciliation-observation-modal footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid #e0e8ec; }
.reconciliation-observation-modal footer button { height: 38px; border: 1px solid #cddbe1; border-radius: 9px; padding: 0 15px; background: #fff; font-weight: 800; cursor: pointer; }
#reconciliationObservationSave { border-color: #0d6972; background: #0d6972; color: #fff; }
@media(max-width:900px){.reconciliation-history-metrics{grid-template-columns:repeat(2,1fr)}.reconciliation-history-actions{flex-wrap:wrap}.reconciliation-history-actions span{margin-left:0}.reconciliation-nf-fields{grid-template-columns:1fr}.reconciliation-nf-fields .wide,.reconciliation-nf-fields button{grid-column:auto}}
