.reconcile-workspace { gap: 18px; }
.reconcile-filter-panel { display: grid; gap: 16px; }
.reconcile-filters { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)) auto; gap: 12px; align-items: end; }
.reconcile-filters label { display: grid; gap: 6px; }
.reconcile-filters label span { color: var(--muted); font-size: 13px; font-weight: 700; }
.reconcile-filters select { min-height: 42px; }
.reconcile-filters .is-hidden { display: none; }
.reconcile-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.reconcile-summary > button { position: relative; display: block; overflow: hidden; min-height: 0; padding: 19px; border: 1px solid var(--line); border-radius: 16px; text-align: left; color: inherit; background: #fff; box-shadow: var(--shadow); }
.reconcile-summary > button:hover, .reconcile-summary > button.active { border-color: var(--brand); background: #f8fbfb; transform: translateY(-1px); }
.reconcile-summary > button.active { box-shadow: 0 0 0 2px rgba(38, 149, 108, .14), var(--shadow); }
.reconcile-summary > button::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: #4c7fc7; }
.reconcile-summary > button.payable::before { background: #7657b5; }
.reconcile-summary > button.net::before { background: #26956c; }
.reconcile-summary > button.adjustment::before { background: #d29338; }
.reconcile-summary > button.pending::before { background: #d29338; }
.reconcile-summary > button.issue::before { background: #c94b4b; }
.reconcile-summary > button.checked::before { background: #26956c; }
.reconcile-summary span, .reconcile-summary small { display: block; color: var(--muted); }
.reconcile-summary strong { display: block; margin: 8px 0 5px; font-size: clamp(22px, 2.2vw, 31px); }
.reconcile-report-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr); gap: 16px; }
.reconcile-section-head { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin-bottom: 14px; }
.reconcile-section-head p, .reconcile-section-head h2 { margin: 0; }
.reconcile-section-head p, .reconcile-section-head span { color: var(--muted); }
.reconcile-print-action { display: inline-flex; align-items: center; justify-content: flex-end; }
.chart-scroll { overflow-x: auto; }
.reconcile-chart { width: 100%; min-width: 680px; height: 260px; }
.reconcile-chart line { stroke: #aebbc0; stroke-width: 1; }
.reconcile-chart text { fill: #647579; font-size: 11px; }
.reconcile-chart rect { rx: 4px; }
.chart-ar { fill: #4c7fc7; }
.chart-ap { fill: #7657b5; }
.chart-legend { display: flex; justify-content: center; gap: 20px; color: var(--muted); font-size: 13px; }
.chart-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 3px; }
.chart-legend i.ar { background: #4c7fc7; }
.chart-legend i.ap { background: #7657b5; }
.reconcile-rankings { display: grid; gap: 16px; }
.reconcile-ranking h3 { margin-top: 0; }
.rank-row { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(70px, 1fr) auto; gap: 9px; align-items: center; margin: 10px 0; font-size: 13px; }
.rank-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rank-row > div { height: 8px; overflow: hidden; border-radius: 99px; background: #edf1f2; }
.rank-row i { display: block; height: 100%; background: #4c7fc7; border-radius: inherit; }
.rank-row i.payable { background: #7657b5; }
.reconcile-detail table { width: 100%; border-collapse: collapse; }
.reconcile-detail th, .reconcile-detail td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.reconcile-detail th:nth-child(-n+4), .reconcile-detail td:nth-child(-n+4) { text-align: left; }
.account-tag { display: inline-flex; padding: 3px 8px; border-radius: 99px; color: #285e9b; background: #e9f2ff; font-weight: 800; }
.account-tag.payable { color: #694b9d; background: #f0eafb; }
.reconcile-empty, .reconcile-loading { padding: 36px; text-align: center; color: var(--muted); }
.reconcile-muted, .reconcile-footnote { color: var(--muted); font-size: 13px; }
.reconcile-footnote { margin: 0; }
.reconcile-workbench { padding: 20px; }
.reconcile-actions { display: flex; gap: 8px; }
.reconcile-actions .primary { min-height: 42px; }
.reconcile-toolbar { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.reconcile-status-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 8px; background: #eef3f4; }
.reconcile-status-tabs button { min-height: 38px; padding: 8px 12px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); }
.reconcile-status-tabs button:hover { color: var(--brand-dark); background: #f7fafa; }
.reconcile-status-tabs button.active { border-color: var(--line); background: #fff; color: var(--brand-dark); box-shadow: 0 2px 8px rgba(18, 48, 56, .08); }
.reconcile-status-tabs b { display: inline-flex; min-width: 22px; justify-content: center; margin-left: 7px; padding: 2px 6px; border-radius: 99px; background: #e3eaec; }
.reconcile-toolbar input { width: min(390px, 100%); }
.reconcile-documents { display: grid; gap: 10px; }
.reconcile-document { overflow: hidden; border: 1px solid var(--line); border-left: 5px solid #d29338; border-radius: 13px; background: #fff; }
.reconcile-document.issue { border-left-color: #c94b4b; }
.reconcile-document.checked { border-left-color: #26956c; }
.reconcile-document.waiting { border-left-color: #7b9096; }
.reconcile-document.waiting .reconcile-document-head em { color: #49656d; background: #eaf0f2; }
.reconcile-document-head { display: grid; grid-template-columns: 30px 1.15fr 1.35fr .8fr .55fr .9fr minmax(150px, auto); gap: 16px; align-items: center; width: 100%; padding: 15px 16px; border: 0; text-align: left; background: transparent; }
.reconcile-document-head:hover { background: #f8fbfb; }
.reconcile-document-head span:not(.reconcile-chevron) { display: grid; gap: 3px; }
.reconcile-document-head small { color: var(--muted); font-size: 12px; }
.reconcile-document-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reconcile-document-head em { padding: 5px 9px; border-radius: 99px; color: #8a611f; background: #fff1d7; font-size: 12px; font-style: normal; font-weight: 800; white-space: nowrap; }
.reconcile-document.issue .reconcile-document-head em { color: #9a3434; background: #ffe7e7; }
.reconcile-document.checked .reconcile-document-head em { color: #187552; background: #e3f5ed; }
.reconcile-chevron { min-height: 34px; padding: 0; border: 0; font-size: 22px; color: var(--muted); background: transparent; }
.document-total { text-align: right; }
.document-total strong { color: var(--brand-dark); font-size: 18px; }
.reconcile-match-state { align-items: start; }
.reconcile-match-state small { white-space: normal; }
.reconcile-document-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 0 16px 12px; }
.reconcile-document-actions button { min-height: 38px; }
.reconcile-document-body { border-top: 1px solid var(--line); background: #fbfcfc; }
.reconcile-line-table { overflow-x: auto; }
.reconcile-line-table table { min-width: 1280px; width: 100%; border-collapse: collapse; }
.reconcile-line-table th, .reconcile-line-table td { padding: 10px; border-bottom: 1px solid #e5ebec; text-align: right; white-space: nowrap; }
.reconcile-line-table th:nth-child(-n+3), .reconcile-line-table td:nth-child(-n+3), .reconcile-line-table th:last-child, .reconcile-line-table td:last-child { text-align: left; }
.reconcile-line-table th { color: var(--muted); background: #f2f6f7; font-size: 12px; }
.reconcile-line-table td small { display: block; color: var(--muted); }
.reconcile-review-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 16px; }
.reconcile-review-bar > span { color: var(--muted); font-size: 13px; }
.reconcile-review-bar > div { display: flex; gap: 8px; }
.reconcile-review-bar button { min-height: 42px; }
.reconcile-empty-line { padding: 28px; color: var(--muted); text-align: center; }
.reconcile-service-warning { display: grid; gap: 6px; color: #9a3434; background: #fff7f7; }
.reconcile-actions button:disabled { cursor: not-allowed; color: #7b898c; border-color: #d6dfe1; background: #edf1f2; opacity: .8; }
.reconcile-smart-summary { margin-bottom: 14px; padding: 14px 16px; border: 1px solid #bcd7d0; border-radius: 12px; background: #f1faf7; }
.reconcile-smart-summary header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.reconcile-smart-summary header div { display: grid; gap: 3px; }
.reconcile-smart-summary header span { color: var(--muted); font-size: 13px; }
.reconcile-smart-summary header button { min-height: 30px; padding: 0 8px; border: 0; background: transparent; font-size: 20px; }
.reconcile-smart-summary > div { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.reconcile-smart-summary > div span { display: grid; gap: 4px; padding: 9px; border-radius: 8px; color: var(--muted); background: #fff; font-size: 12px; }
.reconcile-smart-summary > div strong { color: var(--text); font-size: 19px; }
.reconcile-quality { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 14px; padding: 10px 12px; border-radius: 9px; color: var(--muted); background: #f5f8f8; font-size: 13px; }
.reconcile-quality strong { color: var(--text); }
.candidate-warning { margin: 0 16px 10px; padding: 8px 10px; border-radius: 8px; color: #8a611f; background: #fff1d7; font-size: 13px; }
.reconcile-review-bar { align-items: end; }
.reconcile-candidate-control { flex: 1; }
.reconcile-candidate-control label { display: grid; gap: 5px; }
.reconcile-candidate-control label span { color: var(--muted); font-size: 12px; font-weight: 700; }
.reconcile-candidate-control select { width: 100%; min-height: 42px; }
.reconcile-manual-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.reconcile-evidence { border-top: 1px solid var(--line); background: #fff; }
.reconcile-evidence > header { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding: 16px; border-bottom: 1px solid var(--line); }
.reconcile-evidence h3, .reconcile-evidence p { margin: 0; }
.reconcile-evidence p { margin-top: 3px; color: var(--muted); font-size: 13px; }
.match-badge { padding: 6px 9px; border-radius: 99px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.match-badge.auto_match { color: #187552; background: #e3f5ed; }
.match-badge.suggested_match { color: #285e9b; background: #e9f2ff; }
.match-badge.manual_review { color: #8a611f; background: #fff1d7; }
.match-badge.blocked { color: #9a3434; background: #ffe7e7; }
.match-badge.waiting { color: #49656d; background: #eaf0f2; }
.evidence-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 14px 16px; }
.evidence-summary div { display: grid; gap: 3px; padding: 10px; border-radius: 9px; background: #f5f8f8; }
.evidence-summary span { color: var(--muted); font-size: 12px; }
.rule-results { display: grid; gap: 8px; padding: 0 16px 16px; }
.rule-results article { display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; }
.rule-results article.pass i { color: #187552; }
.rule-results article.fail { border-color: #efc2c2; background: #fff9f9; }
.rule-results article.fail i { color: #c94b4b; }
.rule-results i { font-style: normal; font-weight: 900; }
.rule-results article > div { display: grid; gap: 4px; }
.rule-results article span { color: var(--muted); font-size: 12px; }
.rule-results dl { display: flex; gap: 16px; margin: 4px 0 0; }
.rule-results dl div { display: flex; gap: 5px; }
.rule-results dt { color: var(--muted); }
.rule-results dd { margin: 0; font-weight: 700; }
.reconcile-evidence > footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.reconcile-evidence > footer strong { color: var(--text); }
.reconcile-print-report { display: none; }
@media print {
  @page { size: A4 landscape; margin: 9mm; }
  body * { visibility: hidden !important; }
  .reconcile-print-report, .reconcile-print-report * { visibility: visible !important; }
  .reconcile-print-report { display: block; position: absolute; inset: 0; color: #111; background: #fff; font-size: 9px; }
  .reconcile-print-report header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 10px; }
  .reconcile-print-report header h1, .reconcile-print-report header p { margin: 0; }
  .reconcile-print-report header h1 { font-size: 20px; }
  .reconcile-print-report header dl { display: flex; gap: 24px; margin: 0; }
  .reconcile-print-report header dl div { display: grid; gap: 2px; }
  .reconcile-print-report dt { color: #647579; }
  .reconcile-print-report dd { margin: 0; font-weight: 700; }
  .reconcile-print-report table { width: 100%; border-collapse: collapse; }
  .reconcile-print-report th, .reconcile-print-report td { padding: 5px 4px; border: 1px solid #9da8aa; text-align: right; vertical-align: top; }
  .reconcile-print-report th:nth-child(-n+5), .reconcile-print-report td:nth-child(-n+5), .reconcile-print-report th:last-child, .reconcile-print-report td:last-child { text-align: left; }
  .reconcile-print-report thead { display: table-header-group; background: #e7eff1; }
  .reconcile-print-report tr { break-inside: avoid; }
  .reconcile-print-report footer { display: flex; justify-content: flex-end; gap: 22px; margin-top: 10px; }
  .reconcile-print-report footer div { display: grid; gap: 2px; text-align: right; }
  .reconcile-print-report footer span { color: #647579; }
  .reconcile-print-report footer strong { font-size: 12px; }
  .reconcile-print-report footer .grand-total strong { font-size: 16px; }
  .reconcile-signatures { display: flex; justify-content: flex-end; gap: 70px; margin-top: 26px; }
}
@media (max-width: 1100px) { .reconcile-filters { grid-template-columns: repeat(3, 1fr); } .reconcile-summary { grid-template-columns: repeat(2, 1fr); } .reconcile-report-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .reconcile-smart-summary > div { grid-template-columns: repeat(3, 1fr); } .evidence-summary { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 800px) { .reconcile-document-head { grid-template-columns: 28px 1fr auto; } .reconcile-document-head span:nth-of-type(n+3):not(.document-total):not(.reconcile-match-state) { display: none; } .reconcile-toolbar, .reconcile-review-bar { align-items: stretch; flex-direction: column; } .reconcile-document-actions { justify-content: stretch; } .reconcile-document-actions button { flex: 1; } }
@media (max-width: 700px) { .reconcile-filters, .reconcile-summary { grid-template-columns: 1fr; } }

/* Reconciliation workbench UX phase 2 */
.reconcile-topbar { align-items: center; }
.reconcile-top-actions { display: flex; align-items: center; gap: 10px; }
.reconcile-top-actions > span, .shadow-mode-hint { color: var(--muted); font-size: 13px; }
.reconcile-top-actions > span { padding: 7px 10px; border-radius: 99px; background: #eef6f4; }
.reconcile-top-actions .primary { min-height: 42px; }
.reconcile-summary > button { transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.reconcile-summary > button:focus-visible { outline: 3px solid rgba(38, 149, 108, .24); outline-offset: 2px; }
.reconcile-summary > button.active::after { content: "✓"; position: absolute; top: 12px; right: 13px; color: var(--brand-dark); font-weight: 900; }
.reconcile-progress-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .9fr); gap: 14px; }
.reconcile-progress, .reconcile-today { padding: 18px; }
.reconcile-progress header, .reconcile-today header { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.reconcile-progress header p, .reconcile-today header p { margin: 0; font-weight: 800; }
.reconcile-progress header strong { display: block; margin-top: 4px; font-size: 28px; color: var(--brand-dark); }
.reconcile-progress header > span, .reconcile-today header > span { max-width: 390px; color: var(--muted); font-size: 12px; text-align: right; }
.progress-track { height: 10px; margin: 16px 0 13px; overflow: hidden; border-radius: 99px; background: #e4ecee; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--brand); transition: width 200ms ease; }
.reconcile-progress footer { display: flex; flex-wrap: wrap; gap: 10px 24px; color: var(--muted); font-size: 13px; }
.reconcile-progress footer strong { color: var(--text); }
.reconcile-today > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.reconcile-today > div span { display: grid; gap: 4px; padding: 10px; border-radius: 9px; color: var(--muted); background: #f5f8f8; font-size: 12px; }
.reconcile-today > div strong { overflow: hidden; color: var(--text); font-size: 15px; text-overflow: ellipsis; }
.reconcile-priority { margin-bottom: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfc; }
.reconcile-priority header { display: flex; align-items: baseline; gap: 8px; margin-bottom: 9px; }
.reconcile-priority header span { color: var(--muted); font-size: 12px; }
.reconcile-priority > div { display: flex; flex-wrap: wrap; gap: 7px; }
.reconcile-priority button { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: #fff; }
.reconcile-priority button:hover, .reconcile-priority button.active { border-color: var(--brand); color: var(--brand-dark); background: #eff8f5; }
.reconcile-priority button.active::before { content: "✓"; font-weight: 900; }
.reconcile-priority button b { min-width: 21px; padding: 1px 5px; border-radius: 99px; color: var(--text); background: #e7edef; }
.reconcile-priority.differences button.active { border-color: #c94b4b; color: #9a3434; background: #fff4f4; }
.reconcile-toolbar { align-items: end; }
.reconcile-list-tools { display: flex; align-items: end; justify-content: flex-end; gap: 9px; flex: 1; }
.reconcile-list-tools > label { display: grid; gap: 4px; }
.reconcile-list-tools > label:first-child { flex: 1; max-width: 390px; }
.reconcile-list-tools label > span:not(.sr-only) { color: var(--muted); font-size: 12px; font-weight: 700; }
.reconcile-list-tools input { width: 100%; }
.reconcile-list-tools select { min-height: 42px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.reconcile-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: -5px 0 11px; color: var(--muted); font-size: 12px; }
.reconcile-active-filters b { padding: 4px 8px; border-radius: 99px; color: var(--brand-dark); background: #edf7f4; }
.reconcile-active-filters button { min-height: 29px; padding: 3px 8px; border: 0; color: #9a3434; background: transparent; }
.reconcile-result-count { margin: 0 0 10px; color: var(--muted); font-size: 12px; }
.reconcile-document { transition: opacity 180ms ease, transform 180ms ease; }
.reconcile-document.is-removing { opacity: 0; transform: translateX(18px); }
.reconcile-document-head { grid-template-columns: 34px minmax(170px, 1.15fr) minmax(210px, 1.2fr) minmax(180px, 1fr) minmax(145px, .7fr); gap: 14px; }
.document-identity { display: grid; min-width: 0; gap: 3px; }
.document-identity > strong { font-size: 17px; }
.document-identity > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-secondary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.document-secondary > span { display: grid; gap: 3px; min-width: 0; }
.document-secondary strong { font-size: 13px; }
.reconcile-match-state { display: grid; min-width: 0; gap: 4px; align-items: start; }
.reconcile-match-state > span { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.document-total { display: grid; gap: 3px; min-width: 0; }
.document-total strong { font-size: clamp(18px, 1.6vw, 24px); white-space: nowrap; }
.reconcile-document-actions { align-items: center; min-height: 50px; }
.reconcile-document-actions > button { min-height: 36px; }
.reconcile-more { position: relative; }
.reconcile-more summary { min-height: 36px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; color: var(--muted); list-style: none; background: #fff; }
.reconcile-more summary::-webkit-details-marker { display: none; }
.reconcile-more > div { position: absolute; z-index: 5; right: 0; top: calc(100% + 5px); display: grid; min-width: 150px; padding: 6px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: var(--shadow); }
.reconcile-more > div button { min-height: 34px; border: 0; text-align: left; color: var(--text); background: transparent; }
.reconcile-more > div button:hover { background: #f2f6f7; }
.reconcile-quick-summary { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 13px 16px; border-bottom: 1px solid var(--line); }
.reconcile-quick-summary span { display: grid; gap: 3px; }
.reconcile-quick-summary small { color: var(--muted); }
.reconcile-pagination { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 16px; }
.reconcile-pagination button { min-height: 36px; }
.reconcile-empty { display: grid; justify-items: center; gap: 8px; padding: 42px 20px; }
.reconcile-empty strong { color: var(--text); font-size: 17px; }
.reconcile-empty span { color: var(--muted); }
.reconcile-smart-summary > div { grid-template-columns: repeat(8, 1fr); }
.reconcile-smart-summary footer { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 10px; }
.reconcile-smart-summary footer > span { color: var(--muted); font-size: 12px; }
.reconcile-smart-summary footer button { min-height: 32px; padding: 5px 9px; border: 1px solid #bcd7d0; border-radius: 7px; color: var(--brand-dark); background: #fff; }
.reconcile-drawer-backdrop { position: fixed; z-index: 120; inset: 0; display: flex; justify-content: flex-end; background: rgba(23, 39, 43, .3); }
.reconcile-evidence { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(620px, 100vw); height: 100%; border: 0; background: var(--erp-surface-overlay); box-shadow: -12px 0 32px rgba(22, 43, 49, .12); }
.reconcile-evidence:focus { outline: none; }
.reconcile-evidence > header { align-items: center; padding: 17px 20px; }
.reconcile-evidence > header p { margin: 0 0 3px; color: var(--muted); font-size: 12px; }
.reconcile-evidence > header h3 { font-size: 18px; }
.reconcile-evidence > header button { min-width: 38px; min-height: 38px; padding: 0; border: 0; border-radius: 8px; font-size: 24px; background: #f1f5f6; }
.drawer-scroll { overflow-y: auto; overscroll-behavior: contain; }
.drawer-doc-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 15px 16px 5px; }
.drawer-doc-summary article { display: grid; gap: 4px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.drawer-doc-summary span, .drawer-doc-summary small { color: var(--muted); font-size: 12px; }
.drawer-doc-summary strong, .drawer-doc-summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drawer-candidate-select { display: grid; gap: 5px; margin: 12px 16px; }
.drawer-candidate-select > span { color: var(--muted); font-size: 12px; font-weight: 800; }
.drawer-candidate-select select { width: 100%; min-height: 42px; }
.drawer-candidate-select small { color: #8a611f; }
.drawer-history { display: grid; gap: 8px; margin: 0 16px 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.drawer-history h4, .drawer-history p { margin: 0; }
.drawer-history article { display: grid; gap: 2px; padding: 9px 11px; border-radius: 8px; background: #f5f8f8; }
.drawer-history article span, .drawer-history article p { color: var(--muted); font-size: 12px; }
.reconcile-evidence > footer { align-items: center; padding: 13px 16px; background: #fff; }
.reconcile-evidence > footer > div { display: flex; align-items: center; gap: 8px; }
.reconcile-evidence > footer > div:last-child { justify-content: flex-end; flex-wrap: wrap; }
.reconcile-evidence > footer small, .reconcile-evidence > footer span { color: var(--muted); }
.reconcile-toast { position: fixed; z-index: var(--erp-z-toast); right: 24px; bottom: 24px; max-width: min(420px, calc(100vw - 32px)); padding: 13px 16px; border: 1px solid color-mix(in srgb, var(--erp-success) 32%, var(--erp-surface)); border-radius: var(--erp-radius-md); color: #155c43; background: var(--erp-surface-success-subtle); box-shadow: var(--erp-shadow-sm); }
.notice button { min-height: 30px; margin-left: 8px; }
.no-candidate-state { margin: 8px 16px 16px; padding: 16px; border: 1px solid #cbd8dc; border-radius: 11px; color: #49656d; background: #f4f7f8; }
.no-candidate-state > strong { color: var(--text); font-size: 17px; }
.no-candidate-state > p { margin: 6px 0 14px; }
.no-candidate-state dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.no-candidate-state dl div { display: grid; gap: 2px; padding: 8px 10px; border-radius: 8px; background: #fff; }
.no-candidate-state dt, .no-candidate-state > small { color: var(--muted); font-size: 12px; }
.no-candidate-state dd { margin: 0; font-weight: 700; }
.cannot-confirm-message { margin: 0 16px 14px; padding: 10px 12px; border-radius: 8px; color: #8a611f; background: #fff4df; }
.danger-text { color: #9a3434 !important; }
.reconcile-more-popover { position: fixed; z-index: var(--erp-z-dropdown); display: grid; width: 190px; padding: 6px; border: 1px solid var(--erp-border); border-radius: var(--erp-radius-md); background: var(--erp-surface-overlay); box-shadow: var(--erp-shadow-md); }
.reconcile-more-popover button { min-height: 38px; padding: 8px 10px; border: 0; border-radius: 7px; color: var(--text); text-align: left; background: transparent; }
.reconcile-more-popover button:hover, .reconcile-more-popover button:focus-visible { color: var(--erp-primary-active); background: var(--erp-surface-hover); outline: none; }
.reconcile-modal-backdrop { position: fixed; z-index: var(--erp-z-dialog); inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(23, 36, 43, .34); }
.reconcile-modal { display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(720px, 100%); max-height: min(780px, calc(100vh - 40px)); overflow: hidden; border: 1px solid var(--erp-border); border-radius: var(--erp-radius-lg); background: var(--erp-surface-overlay); box-shadow: var(--erp-shadow-md); }
.reconcile-modal:focus { outline: none; }
.reconcile-modal > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.reconcile-modal > header p, .reconcile-modal > header h3 { margin: 0; }
.reconcile-modal > header p { color: var(--muted); font-size: 12px; }
.reconcile-modal > header button { min-width: 38px; min-height: 38px; padding: 0; border: 0; border-radius: 8px; font-size: 23px; background: #f1f5f6; }
.reconcile-modal .modal-body { overflow-y: auto; padding: 16px 18px; }
.manual-source { display: grid; gap: 4px; margin-bottom: 12px; padding: 11px 12px; border-radius: 9px; background: #f4f7f8; }
.manual-source span, .candidate-data-note { color: var(--muted); font-size: 12px; }
[data-manual-search] { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; }
[data-manual-search] label, .reject-modal label { display: grid; gap: 5px; }
[data-manual-search] label span, .reject-modal label span { color: var(--muted); font-size: 12px; font-weight: 800; }
.candidate-data-note { margin: 10px 0; }
.manual-candidate-results { display: grid; gap: 8px; }
.manual-candidate-results article { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; }
.manual-candidate-results article > div { display: grid; gap: 3px; min-width: 0; }
.manual-candidate-results article > div:last-child { justify-items: end; }
.manual-candidate-results span, .manual-candidate-results small { color: var(--muted); font-size: 12px; }
.reject-modal { width: min(520px, 100%); }
.reject-modal form { display: grid; gap: 13px; }
.reject-modal textarea { resize: vertical; }
.reject-modal form > p { margin: 0; color: var(--muted); font-size: 12px; }
.reject-modal form footer { display: flex; justify-content: flex-end; gap: 8px; }
.reconcile-evidence > footer { position: relative; z-index: 2; box-shadow: 0 -6px 14px rgba(22, 43, 49, .06); }

@media (max-width: 1200px) {
  .reconcile-document-head { grid-template-columns: 34px minmax(170px, 1fr) minmax(190px, 1fr) minmax(155px, .8fr); }
  .document-secondary { display: none; }
  .reconcile-smart-summary > div { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
  .reconcile-progress-grid { grid-template-columns: 1fr; }
  .reconcile-topbar, .reconcile-section-head { align-items: stretch; flex-direction: column; }
  .reconcile-top-actions { justify-content: space-between; }
  .reconcile-toolbar, .reconcile-list-tools { align-items: stretch; flex-direction: column; }
  .reconcile-list-tools > label:first-child { max-width: none; }
  .reconcile-status-tabs { overflow-x: auto; }
  .reconcile-document-head { grid-template-columns: 32px minmax(150px, 1fr) minmax(140px, .8fr); }
  .reconcile-match-state { display: none; }
  .reconcile-document-actions { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .reconcile-workspace { gap: 12px; }
  .reconcile-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .reconcile-summary > button { padding: 14px; }
  .reconcile-summary strong { font-size: 20px; }
  .reconcile-filters { grid-template-columns: 1fr 1fr; }
  .reconcile-progress, .reconcile-today, .reconcile-workbench { padding: 14px; }
  .reconcile-today > div { grid-template-columns: 1fr 1fr; }
  .reconcile-progress header { display: grid; }
  .reconcile-progress header > span { text-align: left; }
  .reconcile-document-head { grid-template-columns: 30px minmax(0, 1fr) auto; padding: 13px 12px; }
  .document-total { display: grid; }
  .document-total strong { font-size: 18px; }
  .document-secondary, .reconcile-match-state { display: none; }
  .reconcile-document-actions { justify-content: stretch; padding: 0 12px 12px; }
  .reconcile-document-actions > button { flex: 1; }
  .reconcile-more { flex: 0 0 auto; }
  .reconcile-smart-summary > div { grid-template-columns: repeat(2, 1fr); }
  .drawer-doc-summary, .evidence-summary { grid-template-columns: 1fr 1fr; }
  .reconcile-evidence { width: 100vw; }
  .reconcile-evidence > footer { align-items: stretch; flex-direction: column; }
  .reconcile-evidence > footer > div:last-child { justify-content: stretch; }
  .reconcile-evidence > footer .primary { width: 100%; }
  .no-candidate-state dl { grid-template-columns: 1fr; }
  .reconcile-modal-backdrop { padding: 0; }
  .reconcile-modal { width: 100%; max-height: 100vh; height: 100%; border-radius: 0; }
  [data-manual-search] { grid-template-columns: 1fr; }
  .manual-candidate-results article { align-items: stretch; flex-direction: column; }
  .manual-candidate-results article > div:last-child { justify-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .reconcile-summary > button, .reconcile-document, .progress-track i { transition: none; }
}

/* Small-business reconciliation: amounts first, human judgment second. */
.company-switch { display: flex; flex-wrap: wrap; gap: 6px; }
.company-switch button { min-height: 36px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: #fff; }
.company-switch button.active { border-color: var(--brand); color: var(--brand-dark); background: var(--soft); font-weight: 800; }
.reconcile-simple-progress { padding: 16px 18px; }
.reconcile-simple-progress > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.reconcile-simple-progress > div:first-child span, .reconcile-simple-progress p { color: var(--muted); }
.reconcile-simple-progress > div:first-child strong { color: var(--brand-dark); font-size: 24px; }
.reconcile-simple-progress p { margin: 0; font-size: 13px; }
.reconcile-simple-head { display: grid; grid-template-columns: 34px minmax(170px, 1.1fr) minmax(230px, 1fr) minmax(210px, 1fr) minmax(150px, auto); gap: 14px; align-items: center; padding: 15px 16px; }
.reconcile-simple-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.reconcile-simple-meta > span, .reconcile-result-state { display: grid; gap: 3px; min-width: 0; }
.reconcile-simple-meta small, .reconcile-result-state small, .document-total > span { color: var(--muted); font-size: 12px; }
.reconcile-simple-meta strong, .reconcile-result-state small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reconcile-result-state > .tf-status-icon { padding: 5px 9px; border-radius: 99px; background: #fff1d7; font-size: 12px; font-weight: 800; }
.reconcile-document.checked .reconcile-result-state > .tf-status-icon { background: #e3f5ed; }
.reconcile-document.completed-difference { border-left-color: #d29338; }
.reconcile-document.completed-difference .reconcile-result-state > .tf-status-icon { background: #fff1d7; }
.consistent-button { min-width: 142px; }
.amount-breakdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.amount-breakdown > span { display: grid; gap: 3px; padding: 10px 12px; border-radius: 9px; background: #fff; }
.amount-breakdown small { color: var(--muted); }
.amount-breakdown strong { font-size: 18px; }
.difference-modal { width: min(580px, 100%); }
.difference-modal form { display: grid; gap: 13px; }
.difference-modal label { display: grid; gap: 5px; }
.difference-modal label > span { color: var(--muted); font-size: 12px; font-weight: 800; }
.difference-modal textarea { resize: vertical; }
.difference-modal form > p { margin: 0; color: var(--muted); font-size: 12px; }
.difference-modal form footer { display: flex; justify-content: flex-end; gap: 8px; }
.difference-amounts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.difference-amounts > span { display: grid; gap: 4px; padding: 12px; border-radius: 10px; background: #f4f7f8; }
.difference-amounts small { color: var(--muted); }
.difference-amounts strong { font-size: 19px; }
.difference-amounts strong.negative { color: #b23b3b; }
.history-modal { width: min(560px, 100%); }
.audit-list { display: grid; gap: 9px; }
.audit-list article { display: grid; gap: 4px; padding: 11px 12px; border-radius: 9px; background: #f4f7f8; }
.audit-list span, .audit-list p { margin: 0; color: var(--muted); font-size: 12px; }
.reconcile-print-report table th, .reconcile-print-report table td { text-align: left; }

@media (max-width: 1100px) {
  .reconcile-simple-head { grid-template-columns: 34px minmax(170px, 1fr) minmax(190px, 1fr) minmax(150px, auto); }
  .reconcile-simple-meta { display: none; }
}
@media (max-width: 760px) {
  .reconcile-simple-head { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 9px; padding: 13px 12px; }
  .reconcile-result-state { grid-column: 2 / -1; }
  .reconcile-result-state small { white-space: normal; }
  .amount-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .difference-amounts { grid-template-columns: 1fr; }
  .reconcile-document-actions { flex-wrap: wrap; }
  .reconcile-document-actions button { flex: 1; }
  .reconcile-document-actions > .tf-action-button { min-height: 44px; }
}

.reconcile-related-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.reconcile-related-context div { display: grid; gap: 3px; }
.reconcile-related-context span,
.reconcile-related-context small { color: var(--muted, #667985); }
.reconcile-related-context strong { color: #17313d; }
