/* Finance pages reuse the theme's shared focus rules. */
.r3-finance { --fin-line:var(--r3-line, #e6ecf4); color:var(--r3-ink, #172640); }
.r3-finance-heading h1 { margin:0 0 20px; font-size:24px; font-weight:600; }
.r3-finance-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.r3-finance-filters { display:flex; flex-wrap:wrap; gap:4px; }
.r3-finance-filters button,.r3-finance-filters a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border:0; background:transparent; border-radius:7px; min-height:44px; padding:10px 14px; color:#60718a; font-size:13px; cursor:pointer; }
.r3-finance-filters button:hover,.r3-finance-filters button.is-active,.r3-finance-filters a:hover,.r3-finance-filters a.is-active { background:#edf3ff; color:#315caa; }
.r3-finance-search { display:flex; align-items:center; gap:8px; margin:0; color:#60718a; }
.r3-finance-search input { width:240px; max-width:100%; min-height:44px; padding:10px 12px; border:1px solid #dfe6f0; border-radius:7px; color:#263e5e; background:#fff; font-size:13px; }
.r3-finance-intro { color:#60718a; margin:0 0 18px; font-size:13px; }
body .r3-finance .table-container { padding:0; margin:0; border:1px solid var(--fin-line); border-radius:12px; background:#fff; overflow:hidden; }
.r3-finance .dataTables_filter { display:none; }
.r3-finance .listtable { margin:0; overflow-x:auto; }
body .r3-finance table.table-list { width:100% !important; margin:0 !important; border:0; }
body .r3-finance table.table-list thead th { padding:16px 24px 16px 18px; border:0; border-bottom:1px solid var(--fin-line); background:#f8fafc; color:#60718a; font-size:12px; font-weight:500; text-align:left; }
body .r3-finance table.table-list tbody td { padding:20px 18px; border-top:1px solid #eef2f7; background:#fff; color:#526580; text-align:left; font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
body .r3-finance table.table-list tbody tr:hover td { background:#fbfcfe; }
body .r3-finance table.table-list tbody td:first-child a { font-weight:600; color:#315caa; }
body .r3-finance table.table-list tbody td.dataTables_empty { text-align:center; white-space:normal; padding:40px 18px; }
.r3-finance .status { display:inline-block; }
.r3-finance .status-refunded { background:#edf3ff; color:#526ba5; }
.r3-finance-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 18px; border-top:1px solid var(--fin-line); }
.r3-finance .dataTables_info,.r3-finance .dataTables_length,.r3-finance .dataTables_paginate { padding:0; margin:0; float:none; font-size:12px; color:#60718a; }
.r3-finance-page-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-left:auto; }
.r3-finance .dataTables_length label { margin:0; }
.r3-finance .dataTables_length select { min-height:36px; border:1px solid var(--fin-line); border-radius:6px; }
.r3-finance .pagination { margin:0; }
.r3-finance .dataTables_paginate[hidden] { display:none !important; }
.r3-finance #tableLoading { padding:28px; }
.r3-finance-funds { max-width:720px; margin:0 auto; }
.r3-finance-funds .card { box-shadow:none; }
.r3-finance-funds .table { margin:0; }
.r3-finance-funds .card-footer small { color:#60718a; font-size:12px; }
@media (max-width:767px) {
    .r3-finance-search { width:100%; }
    .r3-finance-search input { width:100%; }
    .r3-finance-filters button,.r3-finance-filters a { padding:10px 11px; }
    body .r3-finance table.table-list thead th,body .r3-finance table.table-list tbody td { padding:14px 12px; }
}

.r3-finance-note-tools { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-bottom:16px; }
.r3-finance-note-tools label { margin:0; display:flex; flex-direction:column; gap:6px; color:#60718a; }
.r3-finance-note-tools .form-control { width:auto; min-width:140px; min-height:44px; }
.r3-finance-date-filter { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin:0; }
.r3-finance-date-filter .btn { min-height:44px; }
@media (max-width:575px) {
    .r3-finance-date-filter { width:100%; }
    .r3-finance-date-filter label { flex:1; min-width:130px; }
    .r3-finance-date-filter .form-control { width:100%; min-width:0; }
}

.r3-finance-filters a:focus-visible,.r3-finance-filters button:focus-visible { outline:3px solid #c5d9ff; outline-offset:2px; }
