/* Fees module */
.fees-picker { position: relative; max-width: 640px; }
.fees-picker-box { display: flex; align-items: center; gap: .5rem; border: 1px solid var(--border-strong, #cbd2db); border-radius: var(--radius, 8px); padding: 0 .7rem; background: var(--surface, #fff); }
.fees-picker-box input { border: 0; outline: 0; box-shadow: none; flex: 1; padding: .6rem 0; font-size: 1rem; background: transparent; }
.fees-picker-box .icon { color: var(--muted, #6b7785); }
.fees-picker-input.fees-invalid { outline: 2px solid var(--red, #cf3f3f); }
.fees-picker-results { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 4px); background: var(--surface, #fff); border: 1px solid var(--border, #dde2e8); border-radius: var(--radius, 8px); box-shadow: var(--shadow, 0 8px 24px rgba(0,0,0,.12)); max-height: 340px; overflow: auto; }
.fees-picker-item { display: block; width: 100%; text-align: left; border: 0; background: none; padding: .55rem .8rem; cursor: pointer; font: inherit; color: inherit; }
.fees-picker-item span { color: var(--muted, #6b7785); font-size: .88rem; }
.fees-picker-item:hover, .fees-picker-item.active { background: var(--surface-2, #f3f5f8); }
.fees-picker-empty { padding: .6rem .8rem; color: var(--muted, #6b7785); }
.fees-quick .fees-picker { max-width: none; }

.fees-matrix input.fees-amt, .fees-amt { width: 84px; text-align: right; font-variant-numeric: tabular-nums; }
.fees-matrix td, .fees-matrix th { white-space: nowrap; }
.fees-matrix .fees-amt-all { background: var(--surface-2, #f3f5f8); font-weight: 600; }
.fees-matrix select { max-width: 130px; }
.fees-big-input { font-size: 1.25rem !important; font-weight: 700; }

.fees-manual-col { display: none; }
.fees-manual .fees-manual-col { display: table-cell; }
.fees-manual tfoot.fees-manual-col { display: table-footer-group; }

.fees-paper .items td, .fees-paper .items th { font-size: .92rem; }
.fees-amount-box { background: var(--surface-2, #f3f5f8); border-radius: var(--radius, 8px); padding: 1rem 1.2rem; }
.fees-amount { font-size: 1.9rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fees-howto { border-top: 1px solid var(--border, #dde2e8); padding-top: .8rem; }
.fees-bank { background: var(--surface-2, #f3f5f8); border-radius: var(--radius, 8px); padding: .7rem .9rem; font-size: .92rem; }
.fees-struck { text-decoration: line-through; }
.fees-count td.fees-blank { border-bottom: 1px solid #999; min-width: 70px; }
.fees-signoff { margin-top: 2.2rem; gap: 1.6rem 2rem; font-size: .92rem; }
.fees-links li { padding: .35rem 1.1rem; }
.fees-links a { display: inline-flex; gap: .45rem; align-items: center; }
.fees-balance-widget .stat-value { font-size: 1.7rem; }
.fees-aged-tiles .stat { min-width: 0; }

@media print {
    .fees-paper { font-size: 11px; }
    .fees-signoff { margin-top: 3rem; }
}
