:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; }
input, select, textarea, button { font: inherit; }
.form-input { width:100%; border:1px solid #e2e8f0; border-radius:.85rem; background:#fff; padding:.78rem .9rem; color:#0f172a; outline:none; transition:.18s ease; }
.form-input:focus { border-color:#e11d48; box-shadow:0 0 0 4px rgba(225,29,72,.10); }
.form-label { display:block; margin-bottom:.45rem; font-size:.82rem; font-weight:700; color:#334155; }
.card { border:1px solid #e5e7eb; border-radius:1.2rem; background:#fff; box-shadow:0 12px 32px rgba(127,29,29,.055); }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:.8rem; background:#be123c; padding:.72rem 1rem; color:#fff; font-size:.875rem; font-weight:700; transition:.18s ease; }
.btn-primary:hover { background:#9f1239; transform:translateY(-1px); }
.btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border:1px solid #e2e8f0; border-radius:.8rem; background:#fff; padding:.7rem 1rem; color:#334155; font-size:.875rem; font-weight:700; transition:.18s ease; }
.btn-secondary:hover { border-color:#fda4af; color:#be123c; }
.table-wrap { overflow-x:auto; }
.data-table { width:100%; border-collapse:separate; border-spacing:0; }
.data-table th { background:#fff7f8; padding:.85rem 1rem; text-align:left; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#64748b; white-space:nowrap; }
.data-table td { border-top:1px solid #f1f5f9; padding:.95rem 1rem; vertical-align:middle; font-size:.875rem; }
.data-table tbody tr:hover { background:#fffafa; }
@media print { aside, header, footer, .no-print { display:none !important; } .lg\:pl-72 { padding-left:0 !important; } main { padding:0 !important; } body { background:white !important; } .card { box-shadow:none !important; } }
.compare-toolbar { display:flex; flex-direction:column; gap:1rem; }
.compare-tabs { display:inline-flex; width:max-content; padding:.3rem; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.compare-tabs a { min-width:4.6rem; border-radius:.75rem; padding:.65rem 1.2rem; text-align:center; font-size:.85rem; font-weight:800; color:#64748b; transition:.18s ease; }
.compare-tabs a:hover { color:#be123c; }
.compare-tabs a.active { background:#be123c; color:#fff; box-shadow:0 8px 18px rgba(190,18,60,.22); }
.compare-range-badge { width:max-content; border:1px solid #fecdd3; border-radius:999px; background:#fff1f2; padding:.55rem .85rem; font-size:.75rem; font-weight:800; color:#9f1239; }
.compare-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.compare-summary-card { position:relative; overflow:hidden; border:1px solid #e5e7eb; border-radius:1rem; background:#fff; padding:1rem; box-shadow:0 8px 24px rgba(15,23,42,.035); transition:.18s ease; }
.compare-summary-card:hover { transform:translateY(-1px); border-color:#cbd5e1; box-shadow:0 12px 28px rgba(15,23,42,.06); }
.compare-summary-card.active { border-color:#fda4af; box-shadow:0 0 0 3px rgba(244,63,94,.08); }
.compare-summary-card strong { display:block; margin-top:.4rem; font-size:1.75rem; line-height:1; font-weight:900; }
.compare-summary-label { display:block; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; }
.compare-summary-line { position:absolute; left:0; right:0; bottom:0; height:3px; }
.compare-filter { display:grid; gap:.8rem; padding:1rem; }
.compare-filter label { display:block; margin-bottom:.4rem; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:#64748b; }
.compare-filter-action { display:flex; align-items:flex-end; }
.compare-issue-card { overflow:hidden; border:1px solid #e5e7eb; border-radius:1.25rem; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.045); }
.compare-issue-top { display:flex; flex-direction:column; gap:1rem; justify-content:space-between; border-bottom:1px solid #f1f5f9; padding:1rem 1.1rem; background:linear-gradient(180deg,#fff,#fffafa); }
.compare-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.35rem .65rem; font-size:.7rem; font-weight:800; }
.compare-badge-amount { background:#fffbeb; color:#b45309; }
.compare-badge-time { background:#f5f3ff; color:#6d28d9; }
.compare-badge-panel { background:#eff6ff; color:#1d4ed8; }
.compare-badge-mobile { background:#fff1f2; color:#be123c; }
.compare-badge-default { background:#f1f5f9; color:#475569; }
.compare-diff-value { flex-shrink:0; }
.compare-diff-value span { display:block; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:#94a3b8; }
.compare-diff-value strong { display:block; margin-top:.2rem; font-size:.95rem; font-weight:900; color:#0f172a; }
.compare-pair-grid { position:relative; display:grid; gap:.75rem; padding:1rem; background:#f8fafc; }
.compare-side { min-width:0; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; padding:1rem; }
.compare-side-panel { border-left:4px solid #2563eb; }
.compare-side-mobile { border-left:4px solid #e11d48; }
.compare-side-empty { display:flex; min-height:180px; flex-direction:column; align-items:center; justify-content:center; border-style:dashed; color:#94a3b8; }
.compare-side-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.compare-side-title { font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:#64748b; }
.compare-detail-link { border-radius:.65rem; background:#f8fafc; padding:.35rem .55rem; font-size:.7rem; font-weight:800; color:#475569; }
.compare-detail-link:hover { background:#f1f5f9; color:#be123c; }
.compare-identity { margin-top:.7rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; font-weight:800; color:#334155; }
.compare-amount { margin-top:.35rem; font-size:1.45rem; font-weight:900; color:#0f172a; }
.compare-meta-grid { display:grid; grid-template-columns:1fr; gap:.65rem; margin-top:.9rem; border-top:1px solid #f1f5f9; padding-top:.8rem; }
.compare-meta-grid div { min-width:0; }
.compare-meta-grid span { display:block; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#94a3b8; }
.compare-meta-grid strong { display:block; margin-top:.18rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; font-weight:700; color:#475569; }
.compare-vs { display:none; }
.compare-empty-text { margin-top:.5rem; font-size:.82rem; font-weight:700; }
.compare-empty-state { padding:3.5rem 1.5rem; text-align:center; }
.compare-empty-icon { margin:0 auto; display:flex; height:3rem; width:3rem; align-items:center; justify-content:center; border-radius:999px; background:#ecfdf5; font-size:1.25rem; font-weight:900; color:#059669; }
.compare-empty-state h3 { margin-top:.9rem; font-size:1.05rem; font-weight:900; color:#0f172a; }
.compare-empty-state p { margin-top:.3rem; font-size:.85rem; color:#64748b; }
@media (min-width:640px) {
  .compare-summary-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .compare-issue-top { flex-direction:row; align-items:center; }
  .compare-diff-value { text-align:right; }
  .compare-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compare-meta-full { grid-column:1/-1; }
}
@media (min-width:1024px) {
  .compare-toolbar { flex-direction:row; align-items:center; justify-content:space-between; }
  .compare-filter { grid-template-columns:minmax(260px,1.4fr) 150px 150px 160px 140px 120px; align-items:end; }
  .compare-pair-grid { grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); align-items:stretch; gap:.85rem; }
  .compare-vs { display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:900; color:#94a3b8; }
}

.nav-top-link { display:flex; align-items:center; gap:.35rem; border-radius:.75rem; padding:.62rem .82rem; font-size:.84rem; font-weight:800; color:#475569; transition:.16s ease; }
.nav-top-link:hover { background:#fff1f2; color:#be123c; }
.nav-top-link-active { background:#fff1f2; color:#be123c; }
.nav-tree-link { display:flex; align-items:center; justify-content:center; border-radius:.65rem; padding:.55rem .65rem; font-size:.78rem; font-weight:800; color:#475569; }
.nav-tree-link:hover { background:#fff; color:#be123c; box-shadow:0 3px 12px rgba(15,23,42,.05); }
.nav-tree-link-active { background:#be123c !important; color:#fff !important; }

.sheet-card { border:1px solid #cbd5e1; border-radius:1rem; overflow:hidden; background:#fff; box-shadow:0 10px 26px rgba(15,23,42,.05); }
.sheet-wrap { width:100%; height:calc(100dvh - 300px); min-height:360px; max-height:calc(100dvh - 86px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable both-edges; background:#eaf2fb; }
.sheet-table { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; font-size:12px; }
.sheet-table th { position:sticky; top:0; z-index:8; height:34px; border-right:1px solid #7aa2d8; border-bottom:1px solid #7aa2d8; background:#78a6df; padding:6px 8px; text-align:center; font-size:11px; font-weight:900; color:#fff; white-space:nowrap; }
.sheet-table td { height:31px; border-right:1px solid #cbd5e1; border-bottom:1px solid #cbd5e1; background:#eaf2fb; padding:0; vertical-align:middle; white-space:nowrap; }
.sheet-table .sheet-no { position:sticky; left:0; z-index:7; min-width:48px; width:48px; background:#dbeafe; padding:0 8px; text-align:center; font-weight:800; color:#0f172a; }
.sheet-table th.sheet-no { z-index:10; background:#78a6df; color:#fff; }
.sheet-table input, .sheet-table select { width:100%; min-width:100%; height:30px; border:0; border-radius:0; background:transparent; padding:3px 6px; outline:none; color:#0f172a; }
.sheet-table input:focus, .sheet-table select:focus { position:relative; z-index:3; box-shadow:inset 0 0 0 2px #2563eb; background:#fff; }
.sheet-table .cell-date { min-width:105px; }
.sheet-table .cell-description { min-width:420px; }
.sheet-table .cell-money { min-width:105px; text-align:right; }
.sheet-table .cell-ref { min-width:165px; }
.sheet-table .cell-userid { min-width:115px; }
.sheet-table .cell-claim { min-width:120px; }
.sheet-table .cell-created { min-width:130px; }
.sheet-table .cell-jenis { min-width:130px; }
.sheet-table .cell-ket { min-width:110px; }
.sheet-table .cell-username { min-width:130px; }
.sheet-table .cell-web { min-width:125px; }
.sheet-table .cell-calc { min-width:130px; background:#fff700; padding:0 8px; text-align:right; font-weight:800; color:#111827; }
.sheet-table tr.sheet-row-transfer td:not(.sheet-no):not(.cell-calc) { background:#00f135; }
.sheet-table tr.sheet-row-fee td:not(.sheet-no):not(.cell-calc) { background:#20e4e9; }
.sheet-table tbody tr:hover td:not(.cell-calc) { filter:brightness(.985); }
.sheet-view-table td { padding:5px 7px; }
.sheet-view-table a { color:inherit; }
.sheet-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.sheet-tip { border:1px dashed #93c5fd; border-radius:.8rem; background:#eff6ff; padding:.72rem .9rem; font-size:.78rem; color:#1e40af; }
@media (max-width:1023px) {
  [data-nav-menu]:not(.hidden) { display:block; }
  details[open] > div { position:static !important; box-shadow:none !important; }
}
@media print { nav, header, footer, .no-print { display:none !important; } main { padding:0 !important; } body { background:white !important; } .card { box-shadow:none !important; } }

.mobile-account-tab { flex:0 0 auto; border-radius:.8rem .8rem 0 0; padding:.85rem 1rem; font-size:.86rem; font-weight:900; color:#475569; white-space:nowrap; }
.mobile-account-tab:hover { background:#f8fafc; color:#be123c; }
.mobile-account-tab-active { background:#e2e8f0; color:#0f5dc7; }
.mobile-bank-header { display:grid; grid-template-columns:120px minmax(260px,1.4fr) minmax(150px,.7fr) minmax(180px,.85fr) minmax(180px,.85fr); overflow:hidden; border:1px solid #1e3a5f; border-radius:1rem; background:#234f86; color:#fff; }
.mobile-bank-header > * { min-height:74px; border-right:1px solid rgba(255,255,255,.12); }
.mobile-bank-brand { display:flex; align-items:center; justify-content:center; padding:1rem; font-size:1.75rem; font-weight:950; }
.mobile-bank-account,.mobile-bank-period { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; padding:.75rem 1rem; text-align:center; }
.mobile-bank-account strong { font-size:1rem; font-weight:950; }
.mobile-bank-account span,.mobile-bank-period span { font-size:.85rem; font-weight:800; opacity:.95; }
.mobile-bank-period strong { font-size:.95rem; font-weight:950; }
.mobile-bank-balance { display:grid; grid-template-columns:auto minmax(100px,1fr); align-items:center; gap:.55rem; padding:.7rem .8rem; font-size:.78rem; font-weight:950; }
.mobile-bank-balance input { min-width:0; width:100%; border:1px solid rgba(255,255,255,.3); border-radius:.55rem; background:rgba(255,255,255,.12); padding:.5rem .55rem; text-align:right; font-weight:900; color:#fff; outline:none; }
.mobile-bank-balance input:focus { background:#fff; color:#0f172a; }
@media (max-width:1100px) { .mobile-bank-header { grid-template-columns:100px minmax(240px,1fr) minmax(140px,.8fr); } .mobile-bank-balance { min-height:60px; } }
@media (max-width:760px) { .mobile-bank-header { grid-template-columns:1fr; } .mobile-bank-header > * { min-height:58px; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); } .mobile-bank-balance { grid-template-columns:110px 1fr; } }

.sheet-save-status { display:inline-flex; align-items:center; gap:.45rem; min-height:38px; border:1px solid #e2e8f0; border-radius:.75rem; background:#fff; padding:.45rem .75rem; font-size:.78rem; font-weight:800; white-space:nowrap; }
.sheet-save-dot { width:.5rem; height:.5rem; border-radius:999px; background:#16a34a; }
.sheet-save-ok { color:#166534; background:#f0fdf4; border-color:#bbf7d0; }
.sheet-save-ok .sheet-save-dot { background:#16a34a; }
.sheet-save-pending { color:#92400e; background:#fffbeb; border-color:#fde68a; }
.sheet-save-pending .sheet-save-dot { background:#f59e0b; }
.sheet-save-saving { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; }
.sheet-save-saving .sheet-save-dot { background:#2563eb; animation:sheetPulse 1s infinite; }
.sheet-save-error { color:#b91c1c; background:#fef2f2; border-color:#fecaca; }
.sheet-save-error .sheet-save-dot { background:#dc2626; }
@keyframes sheetPulse { 50% { opacity:.3; } }
.sheet-table tr.sheet-row-dirty td.sheet-no { box-shadow:inset 3px 0 0 #f59e0b; }
.sheet-table tr.sheet-row-invalid td.sheet-no { box-shadow:inset 3px 0 0 #dc2626; background:#fee2e2; }
.sheet-table .cell-date { min-width:128px; }
.sheet-table .cell-claim { min-width:128px; }
.sheet-table .cell-web { min-width:190px; }

.select2-container { min-width:0; }
.select2-container--app { width:100% !important; font-size:.875rem; }
.select2-container--app .select2-selection--single,
.select2-container--app .select2-selection--multiple {
  min-height:42px;
  border:1px solid #cbd5e1;
  border-radius:.75rem;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.025);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.select2-container--app .select2-selection--single { display:flex; align-items:center; padding:0 2.35rem 0 .8rem; }
.select2-container--app .select2-selection--single .select2-selection__rendered { width:100%; padding:0; color:#0f172a; line-height:40px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.select2-container--app .select2-selection--single .select2-selection__placeholder { color:#94a3b8; }
.select2-container--app .select2-selection--single .select2-selection__arrow { position:absolute; top:0; right:.65rem; width:1.4rem; height:40px; }
.select2-container--app .select2-selection--single .select2-selection__arrow b { position:absolute; left:50%; top:50%; width:7px; height:7px; margin:-5px 0 0 -4px; border:solid #64748b; border-width:0 2px 2px 0; transform:rotate(45deg); }
.select2-container--app.select2-container--open .select2-selection--single .select2-selection__arrow b { margin-top:-1px; transform:rotate(225deg); }
.select2-container--app.select2-container--focus .select2-selection--single,
.select2-container--app.select2-container--open .select2-selection--single,
.select2-container--app.select2-container--focus .select2-selection--multiple,
.select2-container--app.select2-container--open .select2-selection--multiple { border-color:#e11d48; box-shadow:0 0 0 3px rgba(225,29,72,.10); }
.select2-container--app .select2-dropdown { overflow:hidden; margin-top:4px; border:1px solid #e2e8f0; border-radius:.8rem; background:#fff; box-shadow:0 16px 36px rgba(15,23,42,.14); }
.select2-container--app .select2-search--dropdown { padding:.55rem; background:#fff; }
.select2-container--app .select2-search--dropdown .select2-search__field { width:100%; height:36px; border:1px solid #cbd5e1; border-radius:.6rem; background:#f8fafc; padding:0 .7rem; outline:none; color:#0f172a; }
.select2-container--app .select2-search--dropdown .select2-search__field:focus { border-color:#e11d48; background:#fff; box-shadow:0 0 0 3px rgba(225,29,72,.08); }
.select2-container--app .select2-results__options { max-height:280px; padding:.3rem; }
.select2-container--app .select2-results__option { margin:1px 0; border-radius:.55rem; padding:.55rem .7rem; color:#334155; }
.select2-container--app .select2-results__option--highlighted.select2-results__option--selectable { background:#fff1f2; color:#be123c; }
.select2-container--app .select2-results__option--selected { background:#f1f5f9; color:#0f172a; font-weight:800; }
.select2-container--app .select2-selection--multiple { display:flex; align-items:center; gap:.25rem; padding:.25rem .45rem; }
.select2-container--app .select2-selection--multiple .select2-selection__rendered { display:flex; flex-wrap:wrap; gap:.25rem; margin:0; padding:0; }
.select2-container--app .select2-selection--multiple .select2-selection__choice { margin:0; border:0; border-radius:.5rem; background:#fff1f2; padding:.28rem .55rem .28rem 1.5rem; color:#9f1239; font-weight:800; }
.select2-container--app .select2-selection--multiple .select2-selection__choice__remove { height:100%; border:0; color:#be123c; }
.select2-container--app.select2-container--disabled .select2-selection--single { background:#f1f5f9; color:#94a3b8; cursor:not-allowed; }
.select2-container--open { z-index:99999; }

.sheet-table td .select2-container--app { display:block; min-width:100%; width:100% !important; }
.sheet-table td .select2-container--app .select2-selection--single { min-height:30px; height:30px; border:0; border-radius:0; background:transparent; box-shadow:none; padding:0 1.7rem 0 .4rem; }
.sheet-table td .select2-container--app .select2-selection--single .select2-selection__rendered { line-height:30px; font-size:12px; color:#0f172a; }
.sheet-table td .select2-container--app .select2-selection--single .select2-selection__arrow { right:.25rem; height:30px; }
.sheet-table td .select2-container--app.select2-container--focus .select2-selection--single,
.sheet-table td .select2-container--app.select2-container--open .select2-selection--single { background:#fff; box-shadow:inset 0 0 0 2px #2563eb; }
.sheet-table tr.sheet-row-transfer td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-fee td .select2-container--app .select2-selection--single { background:transparent; }
.sheet-table tr.sheet-row-transfer td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-fee td .select2-container--app.select2-container--open .select2-selection--single { background:#fff; }
.sheet-table .cell-datetime { min-width:190px; font-variant-numeric:tabular-nums; color-scheme:light; }

.sheet-table tr.sheet-row-transfer td:not(.cell-calc) { background:#bbf7d0 !important; }
.sheet-table tr.sheet-row-fee td:not(.cell-calc) { background:#a5f3fc !important; }
.sheet-table tr.sheet-row-pending td:not(.cell-calc) { background:#fde68a !important; }
.sheet-table tr.sheet-row-refund td:not(.cell-calc) { background:#ddd6fe !important; }
.sheet-table tr.sheet-row-loan td:not(.cell-calc) { background:#fed7aa !important; }
.sheet-table tr.sheet-row-akuran td:not(.cell-calc) { background:#fbcfe8 !important; }
.sheet-table tr.sheet-row-internal td:not(.cell-calc) { background:#c7d2fe !important; }
.sheet-table tr.sheet-row-center td:not(.cell-calc) { background:#bfdbfe !important; }
.sheet-table tr.sheet-row-other td:not(.cell-calc) { background:#e5e7eb !important; }
.sheet-table tr.sheet-row-closing td:not(.cell-calc) { background:#fef08a !important; font-weight:700; }
.sheet-table tr.sheet-row-difference td:not(.cell-calc) { background:#fecaca !important; font-weight:700; }
.sheet-table tr.sheet-row-check td:not(.cell-calc) { background:#99f6e4 !important; }

.sheet-table tr.sheet-row-transfer td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-fee td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-pending td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-refund td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-loan td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-akuran td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-internal td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-center td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-other td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-closing td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-difference td .select2-container--app .select2-selection--single,
.sheet-table tr.sheet-row-check td .select2-container--app .select2-selection--single { background:transparent; }

.sheet-table tr.sheet-row-pending td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-refund td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-loan td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-akuran td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-internal td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-center td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-other td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-closing td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-difference td .select2-container--app.select2-container--open .select2-selection--single,
.sheet-table tr.sheet-row-check td .select2-container--app.select2-container--open .select2-selection--single { background:#fff; }

.sheet-card { position:relative; }
.sheet-wrap::-webkit-scrollbar { width:11px; height:11px; }
.sheet-wrap::-webkit-scrollbar-track { background:#f1f5f9; }
.sheet-wrap::-webkit-scrollbar-thumb { background:#cbd5e1; border:2px solid #f1f5f9; border-radius:999px; }
.sheet-wrap::-webkit-scrollbar-thumb:hover { background:#94a3b8; }
@media (max-height:700px) { .sheet-wrap { min-height:300px; } }

.reconcile-pair-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
@media (min-width:1024px){.reconcile-pair-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.reconcile-side{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:1rem;background:#f8fafc}
.reconcile-side-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff;font-size:.8rem;font-weight:900;color:#0f172a}
.reconcile-side-head b{display:inline-flex;min-width:1.8rem;height:1.8rem;align-items:center;justify-content:center;border-radius:.65rem;background:#f1f5f9;padding:0 .45rem;font-size:.75rem}
.reconcile-list{max-height:560px;overflow:auto;padding:.6rem}
.reconcile-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;border:1px solid #e2e8f0;border-radius:.85rem;background:#fff;padding:.85rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.reconcile-item:hover{border-color:#cbd5e1;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.reconcile-item:has(input:checked){border-color:#e11d48;box-shadow:0 0 0 3px rgba(225,29,72,.1)}
.reconcile-item input[type="radio"]{margin-top:.2rem;accent-color:#be123c}
.reconcile-empty{padding:2rem 1rem;text-align:center;font-size:.8rem;color:#94a3b8}
.cell-transaction-id{min-width:105px;white-space:nowrap;text-align:center;font-weight:800;color:#334155;background:rgba(248,250,252,.8)}

form .form-label + .select2-container--app .select2-selection--single{min-height:42px;height:42px}

.app-table-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    flex-wrap:wrap;
    padding:.85rem 1rem;
    border-bottom:1px solid #e2e8f0;
    background:#fff;
}
.app-table-search{
    display:flex;
    align-items:center;
    gap:.55rem;
    width:min(100%,420px);
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:.8rem;
    background:#fff;
    padding:0 .8rem;
    transition:.15s ease;
}
.app-table-search:focus-within{
    border-color:#e11d48;
    box-shadow:0 0 0 3px rgba(225,29,72,.09);
}
.app-table-search svg{
    width:18px;
    height:18px;
    flex:0 0 auto;
    fill:none;
    stroke:#94a3b8;
    stroke-width:2;
    stroke-linecap:round;
}
.app-table-search input{
    min-width:0;
    width:100%;
    height:40px;
    border:0;
    outline:0;
    background:transparent;
    color:#0f172a;
    font-size:.875rem;
}
.app-table-search input::placeholder{color:#94a3b8}
.app-table-search-sm{width:min(100%,280px);min-height:38px}
.app-table-search-sm input{height:36px;font-size:.8rem}
.app-table-length{
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:.8rem;
    background:#fff;
    padding:0 2rem 0 .75rem;
    color:#334155;
    font-size:.8rem;
    font-weight:800;
    outline:none;
}
.app-datatable{margin:0!important}
.app-datatable th{user-select:none}
.app-datatable td.dt-right{text-align:right}
.app-datatable td.dt-action{text-align:right;white-space:nowrap}
.app-datatable td.dt-pick{width:38px;text-align:center}
.app-datatable td.dt-pick input{accent-color:#be123c;cursor:pointer}

.dataTables_wrapper{position:relative;width:100%}
.dataTables_wrapper .dataTables_processing{
    position:absolute;
    z-index:20;
    top:54px;
    left:50%;
    transform:translateX(-50%);
    min-width:120px;
    border:1px solid #fecdd3;
    border-radius:.75rem;
    background:#fff;
    padding:.65rem 1rem;
    box-shadow:0 12px 28px rgba(15,23,42,.12);
    color:#be123c;
    font-size:.8rem;
    font-weight:900;
    text-align:center;
}
.app-dt-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    flex-wrap:wrap;
    min-height:54px;
    padding:.65rem 1rem;
    border-top:1px solid #e2e8f0;
    background:#fff;
}
.dataTables_wrapper .dataTables_info{
    padding:0!important;
    color:#64748b;
    font-size:.78rem;
    font-weight:700;
}
.dataTables_wrapper .dataTables_paginate{
    display:flex;
    align-items:center;
    gap:.3rem;
    margin-left:auto;
}
.dataTables_wrapper .dataTables_paginate span{
    display:flex;
    align-items:center;
    gap:.3rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button{
    display:inline-flex!important;
    min-width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    margin:0!important;
    border:1px solid #e2e8f0!important;
    border-radius:.65rem!important;
    background:#fff!important;
    padding:0 .55rem!important;
    color:#475569!important;
    font-size:.78rem!important;
    font-weight:900!important;
    cursor:pointer!important;
    box-shadow:none!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    border-color:#fecdd3!important;
    background:#fff1f2!important;
    color:#be123c!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
    border-color:#be123c!important;
    background:#be123c!important;
    color:#fff!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{
    opacity:.38;
    border-color:#e2e8f0!important;
    background:#fff!important;
    color:#94a3b8!important;
    cursor:default!important;
}

.reconcile-table-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.7rem;
    flex-wrap:wrap;
    padding:.75rem;
    border-bottom:1px solid #e2e8f0;
    background:#fff;
}
.reconcile-count{
    display:inline-flex;
    min-width:1.8rem;
    height:1.8rem;
    align-items:center;
    justify-content:center;
    border-radius:.65rem;
    background:#f1f5f9;
    padding:0 .45rem;
    color:#475569;
    font-size:.72rem;
}
.reconcile-data-table th{
    padding:.7rem .65rem;
    font-size:.62rem;
}
.reconcile-data-table td{
    padding:.72rem .65rem;
    font-size:.78rem;
}
.reconcile-id-cell{
    display:flex;
    min-width:145px;
    flex-direction:column;
    align-items:flex-start;
    gap:.35rem;
}
.reconcile-data-table .app-dt-bottom{padding:.55rem .65rem}
#pairSelectedButton:disabled{
    opacity:.42;
    cursor:not-allowed;
    box-shadow:none;
}

@media (max-width:1200px){
    .reconcile-data-table th:nth-child(5),
    .reconcile-data-table td:nth-child(5){min-width:125px}
}
@media (max-width:640px){
    .app-table-toolbar{align-items:stretch}
    .app-table-search{width:100%}
    .app-table-length{width:100%}
    .app-dt-bottom{align-items:flex-start}
    .dataTables_wrapper .dataTables_paginate{margin-left:0}
}

.select2-container--app .select2-results > .select2-results__options {
  max-height: 300px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.select2-container--app .select2-results > .select2-results__options::-webkit-scrollbar {
  width: 8px;
}
.select2-container--app .select2-results > .select2-results__options::-webkit-scrollbar-track {
  background: transparent;
}
.select2-container--app .select2-results > .select2-results__options::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
  border: 2px solid #fff;
}
.select2-container--app .select2-results > .select2-results__options::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
.select2-container--app .select2-dropdown {
  max-height: min(380px, calc(100vh - 120px));
}

.sheet-card{
    border:1px solid #d7e1ee;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.055);
}
.sheet-wrap{
    width:100%;
    height:clamp(380px,58vh,620px);
    min-height:380px;
    max-height:none;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:auto;
    background:#f7faff;
}
.sheet-table{
    font-size:12px;
    line-height:1.25;
}
.sheet-table th{
    height:38px;
    padding:7px 9px;
    border-right:1px solid rgba(255,255,255,.22);
    border-bottom:1px solid #5f8fc8;
    background:#6f9fd8;
    letter-spacing:.01em;
}
.sheet-table td{
    height:34px;
    border-right:1px solid #d4deea;
    border-bottom:1px solid #d4deea;
    background:#f8fbff;
}
.sheet-table tbody tr:nth-child(even) td:not(.cell-calc){background:#f3f8fe;}
.sheet-table tbody tr:hover td:not(.cell-calc){filter:none;background:#edf5ff;}
.sheet-table input,.sheet-table select{
    height:33px;
    padding:4px 8px;
    font-size:12px;
}
.sheet-table input:focus,.sheet-table select:focus{
    background:#fff;
    box-shadow:inset 0 0 0 2px #2563eb;
}
.sheet-table .sheet-no{
    min-width:50px;
    width:50px;
    background:#e1ecfb;
    color:#334155;
    font-weight:900;
}
.sheet-table th.sheet-no{background:#6f9fd8;color:#fff;}
.sheet-table .cell-transaction-id{background:#f2f6fb;font-weight:900;color:#475569;}
.sheet-table .cell-calc{background:#fff59d !important;color:#111827;}
.sheet-table td .select2-container--app .select2-selection--single{
    min-height:33px;
    height:33px;
    padding-left:.35rem;
}
.sheet-table td .select2-container--app .select2-selection--single .select2-selection__rendered{line-height:33px;}
.sheet-table td .select2-container--app .select2-selection--single .select2-selection__arrow{height:33px;}
.sheet-toolbar .btn-secondary{min-height:38px;}
.mobile-bank-header{
    border-color:#244b78;
    border-radius:14px;
    background:linear-gradient(135deg,#28578f,#214977);
    box-shadow:0 7px 18px rgba(30,64,110,.12);
}
.mobile-bank-balance input{
    border-color:rgba(255,255,255,.32);
    background:rgba(255,255,255,.13);
}
.sheet-wrap::-webkit-scrollbar{width:10px;height:10px;}
.sheet-wrap::-webkit-scrollbar-track{background:#edf2f7;}
.sheet-wrap::-webkit-scrollbar-thumb{background:#b9c6d6;border:2px solid #edf2f7;border-radius:999px;}
.sheet-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8;}
@media (max-width:768px){
    .sheet-wrap{height:52vh;min-height:330px;}
}
@media (max-height:700px){
    .sheet-wrap{height:52vh;min-height:300px;}
}
.mobile-bank-header{grid-template-columns:minmax(110px,.65fr) minmax(260px,1.25fr) minmax(220px,.95fr) minmax(190px,.8fr) minmax(190px,.8fr)}
.sheet-table td{background:#fff}
.sheet-table tbody tr:nth-child(even) td:not(.cell-calc){background:#f8fbff}
.sheet-table input,.sheet-table select{min-width:128px}
.sheet-table td:nth-child(2) input{min-width:130px}
.sheet-table td:nth-child(3) input{min-width:160px}
.sheet-table td:nth-child(4) input{min-width:220px}
.sheet-table td:nth-child(5) input{min-width:130px}
.sheet-table td:nth-child(6) input{min-width:130px;text-align:right}
.sheet-table td:nth-child(7) input{min-width:140px;text-align:right;font-weight:800;background:#eef7e9}
.sheet-wrap{height:clamp(420px,62vh,690px);background:#f4f7fb}
