.section-nav { margin: -12px 0 28px; }
.booking-filters { margin-bottom: 20px; display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
.booking-filters p { flex: 1 1 200px; }
.booking-filters label { display: block; font-weight: 600; }
.booking-card { margin: 12px 0; border-left: 6px solid #89958c; }
.booking-income { border-left-color: #28733c; }
.booking-expense { border-left-color: #b1322b; }
.booking-income .booking-amount { color: #1c6b32; }
.booking-expense .booking-amount { color: #a42620; }
.booking-purpose { white-space: pre-wrap; overflow-wrap: anywhere; }
.booking-table { max-height: 72vh; }
.booking-table table { min-width: 1180px; }
.booking-table td:first-child { min-width: 130px; width: 12%; }
.booking-table td:nth-child(2) { min-width: 240px; width: 28%; overflow-wrap: anywhere; }
.booking-table td:nth-child(4) { min-width: 230px; width: 24%; overflow-wrap: anywhere; }
.booking-table .row-actions { min-width: 135px; }
.booking-table .booking-bank-total { display: block; white-space: normal; font-weight: 400; margin-top: 6px; }
.booking-table .accounting-entry { margin-top: 10px; }
.booking-table .accounting-entry label { margin-top: 0; }
.booking-table .booking-income td:first-child { border-left: 4px solid #28733c; }
.booking-table .booking-expense td:first-child { border-left: 4px solid #b1322b; }
.booking-table .booking-transfer { border-left: 0; }
.booking-table .booking-transfer td:first-child { border-left: 4px solid #687b78; }
.booking-assignments { min-width: 175px; }
.booking-tag { display: block; border-radius: 10px; padding: 8px 11px; margin-bottom: 7px; font-weight: 600; overflow-wrap: anywhere; }
.booking-tag small { display: block; font-size: .72rem; font-weight: 400; margin-bottom: 3px; }
.booking-tag-event { background: #f9e6c5; color: #654313; }
.booking-tag-project { background: #d9e9fa; color: #204d73; }
.accounting-entry { max-width: 640px; margin-top: 14px; }
.accounting-entry label { display: block; margin-top: 10px; font-weight: 600; }
.accounting-entry button { margin-top: 12px; }
.balance-table { min-width: 640px; }
.balance-table tbody th { position: static; white-space: nowrap; }
.balance-table .balance-cell { min-width: 240px; }
.balance-cell p { margin: 8px 0; }
.balance-entry { border-top: 1px solid currentColor; padding-top: 8px; margin: 12px 0; }
.balance-entry label { display: block; margin: 8px 0 4px; font-weight: 600; }
.balance-cell button { margin-top: 8px; }
.balance-cell input[type=file] { max-width: 100%; }
.balance-amount { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.balance-table .balance-stimmt, .balance-stimmt { background: #d8efda; color: #174d27; }
.balance-table .balance-abweichung, .balance-abweichung { background: #fbd9d7; color: #80221e; }
.balance-table .balance-offen, .balance-offen { background: #edf0f2; color: #3c4c57; }
.balance-key { display: inline-block; padding: 5px 9px; margin: 3px; border-radius: 5px; }
.warning { background: #fff1d4; border-left: 4px solid #9b6814; padding: 12px; color: #624711; }
select { width: 100%; padding: 12px; border: 1px solid #9faea4; border-radius: 8px; background: white; font: inherit; min-height: 46px; }
code { overflow-wrap: anywhere; }
main:has(.work-table) { max-width: 1800px; }
.table-scroll { overflow: auto; background: white; border: 1px solid #d9dfd5; border-radius: 10px; margin: 20px 0; }
.work-table { width: 100%; border-collapse: collapse; text-align: left; font-size: .9rem; }
.work-table th { background: #e8eee4; color: #193a35; position: sticky; top: 0; z-index: 1; white-space: nowrap; }
.work-table th, .work-table td { padding: 12px; border-bottom: 1px solid #dce2d7; vertical-align: top; }
.work-table tbody tr:nth-child(odd) { background: #fff; }
.work-table tbody tr:nth-child(even) { background: #deebe5; }
.work-table tbody tr:hover { background: #cce2d7; }
.import-table { max-height: 72vh; }
.import-table table { min-width: 1250px; }
.import-table td:nth-child(2) { width: 30%; min-width: 280px; overflow-wrap: anywhere; }
.import-table td:nth-child(4) { width: 26%; min-width: 260px; }
.work-table .amount { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
.work-table input:not([type=checkbox]), .work-table select { padding: 7px 9px; min-height: 38px; font-size: .9rem; }
.work-table input + input { margin-top: 6px; }
.work-table td > label:not(.sr-only) { display: block; margin-top: 5px; font-size: .8rem; font-weight: 600; }
.work-table td > small { display: block; margin: 4px 0; }
.row-actions { min-width: 215px; }
.row-actions button, .row-actions .button { padding: 7px 10px; min-height: 36px; font-size: .85rem; margin: 0 0 6px; width: 100%; text-align: center; }
.bank-text { margin-top: 5px; color: #637168; }
.import-summary, .split-toolbar { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.import-summary { background: #e8eee4; padding: 12px 18px; border-radius: 10px; }
.split-toolbar input[type=number] { width: 100px; }
.split-table { min-width: 1320px; }
.split-table td:nth-child(2) { width: 24%; }
.split-table td:nth-child(3) { width: 15%; }
.split-table td:nth-child(4) { width: 13%; }
.split-table td:nth-child(5) { width: 18%; min-width: 190px; }
.split-table td:nth-child(6) { width: 16%; }
.split-table td:nth-child(7) { width: 18%; }
.split-toolbar select { width: auto; max-width: 240px; }
.split-table label { white-space: nowrap; }
.split-row.removed { opacity: .45; }
.split-footer { position: sticky; bottom: 0; background: #e8eee4; border: 1px solid #cbd8cf; padding: 15px; display: flex; justify-content: space-between; align-items: center; gap: 20px; z-index: 2; }
.unbalanced { color: #a12b23; }
.paste-panel { margin-top: 20px; }
.paste-panel textarea { display: block; width: 100%; margin: 12px 0; font: inherit; }
.split-summary { max-height: 260px; overflow: auto; padding-left: 20px; }
summary { cursor: pointer; font-weight: 600; }
.confirm-saved { display: inline-block; margin: 0 10px 12px 0; }
.form-panel form > p label { display: block; font-weight: 600; margin-top: 16px; }
.form-panel .helptext { display: block; color: #637168; font-size: .9rem; margin: 8px 0 18px; }

.booking-catalog-entry { min-width: 210px; }
.booking-catalog-entry label { display: block; font-size: .8rem; font-weight: 600; margin: 6px 0 4px; }
.booking-catalog-entry select { border-radius: 10px; }
