.cash { width: 100%; min-width: 0; padding: 7px 7px 32px; }
.cash .cash-tools { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 10px; }
.cash .cash-tools input { flex: 1 1 260px; min-width: 0; }
.cash .cash-tools select { flex: 0 1 320px; max-width: 100%; }
.cash .cash-table-scroll { width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.cash .cash-table { width: 100%; min-width: 680px; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.cash .cash-table caption { text-align: left; padding: 10px 12px; color: var(--ink-2); font-size: 12px; }
.cash .cash-table th, .cash .cash-table td { padding: 9px 12px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.cash .cash-table th { background: var(--ground); font-weight: 650; }
.cash .cash-table th:nth-child(1) { width: 27%; }
.cash .cash-table th:nth-child(2) { width: 27%; }
.cash .cash-table th:nth-child(3) { width: 18%; }
.cash .cash-table th:last-child, .cash .cash-table td:last-child { border-right: 0; }
.cash .cash-table tr:last-child td { border-bottom: 0; }
.cash .cash-table tbody tr:nth-child(even) { background: var(--ground); }
.cash .cash-table tbody tr:hover { background: var(--accent-tint); }
.cash .cash-table th .btn { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: inherit; white-space: normal; }
.cash .cash-table th[aria-sort="ascending"] .btn::after { content: ' ↑'; }
.cash .cash-table th[aria-sort="descending"] .btn::after { content: ' ↓'; }
.cash .cash-table td.cash-amount { text-align: right; font-variant-numeric: tabular-nums; font-weight: 650; }
.cash .cash-table time { display: block; font-variant-numeric: tabular-nums; }
.cash .cash-table small, .cash .cash-check small { display: block; color: var(--ink-3); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.cash .cash-badge { display: inline-block; margin-top: 3px; padding: 1px 5px; border-radius: 4px; background: var(--ground); color: var(--ink-2); font-size: 10px; }
.cash .cash-badge[data-state="fresh"] { color: var(--ok); background: #e8f5ef; }
.cash .cash-badge[data-state="stale"] { color: var(--other); background: #fff5e4; }
.cash .cash-badge[data-state="unavailable"] { color: var(--signal); background: var(--signal-tint); }
.cash .cash-help { color: var(--ink-2); font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; }
.cash .cash-error, .cash .cash-notice { font-size: 13px; overflow-wrap: anywhere; }
.cash .cash-error { color: var(--signal); }
.cash .cash-notice { color: var(--ok); }
.cash .cash-error:not(:empty), .cash .cash-notice:not(:empty) { padding: 12px 0; }
.cash .cash-settings { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.cash .cash-settings > summary { cursor: pointer; font-weight: 650; }
.cash .cash-fields { display: grid; gap: 12px; padding: 18px 0 0; margin: 0; border: 0; min-width: 0; }
.cash .cash-interval { display: grid; gap: 7px; font-size: 13px; }
.cash .cash-interval select { width: 100%; max-width: 320px; min-width: 0; }
.cash .cash-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.cash .cash-actions .btn { white-space: normal; }
.cash .cash-targets { max-height: 260px; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; padding: 8px; }
.cash .cash-check { display: flex; align-items: center; gap: 11px; padding: 9px; font-size: 13px; cursor: pointer; overflow-wrap: anywhere; }
.cash .cash-check:has(input:checked) { background: var(--accent-tint); border-radius: 6px; }
.cash .cash-check:has(input:disabled) { opacity: .65; }
.cash .cash-check input { width: 17px; height: 17px; padding: 0; margin: 0; flex: none; accent-color: var(--accent); }
.cash .cash-confirm { display: grid; gap: 13px; margin-top: 18px; padding: 16px; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent-tint); }
.cash .cash-confirm-targets { max-height: 160px; overflow-y: auto; margin: 0; padding-left: 20px; overflow-wrap: anywhere; }
.cash [hidden] { display: none !important; }
.cash :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 760px) {
  .cash { padding: 16px 10px; }
  .cash .cash-tools > * { flex: 1 1 100%; }
}
