.expense-journal-filters{display:grid;grid-template-columns:140px 140px minmax(170px,1.4fr) minmax(140px,1fr) minmax(180px,1.2fr);gap:12px;padding:16px;background:#fff;border:1px solid #dde5ed;border-radius:14px}.expense-journal-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#6b7d8e;min-width:0}.expense-journal-filters input,.expense-journal-filters select{width:100%;min-width:0;height:36px;min-height:36px;padding:6px 10px;font-size:13px}.expense-journal-search{grid-column:span 3}.expense-journal-filters>button{align-self:end;height:36px;min-height:36px;padding:5px 14px}.expense-journal-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0}.expense-journal-summary>div:first-child{display:grid;grid-template-columns:auto auto;gap:4px 14px;align-items:center}.expense-journal-summary span,.expense-journal-summary small{font-size:12px;color:#718397}.expense-journal-summary strong{font-size:25px;font-weight:600;color:#243c4e;font-variant-numeric:tabular-nums}.expense-journal-summary small{grid-column:1/-1}.expense-journal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.expense-journal-actions button,.expense-journal-actions a{min-height:34px;padding:7px 12px;font-size:12px}.expense-journal-sheet{border:1px solid #dce5ed;background:white;border-radius:14px;overflow:hidden}.expense-journal-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.expense-journal-table th{background:#f5f8fb;color:#75869a;font-size:11px;font-weight:600;text-align:left}.expense-journal-table th,.expense-journal-table td{padding:11px 13px;border-bottom:1px solid #e8eef4;overflow-wrap:anywhere;vertical-align:top}.expense-journal-table th button{border:0;background:transparent;padding:0;min-height:0;font-size:inherit;font-weight:inherit;color:inherit;text-align:inherit}.expense-journal-table tbody tr:nth-child(even){background:#fbfcfe}.expense-journal-table tbody tr:hover{background:#f0f6fc}.expense-journal-table small{display:block;margin-top:4px;color:#8393a3;font-size:11px;line-height:1.35}.expense-journal-table .money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;overflow-wrap:normal}.expense-journal-table tfoot td{background:#eaf2f8;border-top:2px solid #d4e1eb;border-bottom:0;font-weight:600}.expense-journal-table tfoot small{display:inline;margin-left:12px;font-weight:400}.expense-record-link{border:0;background:transparent;color:#216593;padding:0;min-height:0;font-size:13px;cursor:pointer;font-weight:500}.expense-comment{color:#586e80;line-height:1.5}.expense-status{color:#936f36!important}.expense-cancelled{opacity:.65}.expense-empty{text-align:center;padding:40px!important;color:#7a8c9c}.expense-journal-pager{display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:#7a8c9c;font-size:12px}.expense-journal-pager button{min-height:32px;padding:4px 12px}.expense-entry-form{width:min(850px,86vw)}.expense-entry-form h2{font-size:23px}.expense-entry-form .top p{margin:4px 0 0;font-size:13px}.expense-entry-form fieldset{border:0;padding:0;margin:20px 0}.expense-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.expense-form-grid label,.expense-category-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#6a7d8d;min-width:0}.expense-form-grid input,.expense-form-grid select,.expense-category-fields input,.expense-category-fields select{height:38px;min-height:38px;padding:7px 10px;width:100%;min-width:0;font-size:14px}.expense-form-grid textarea{font-size:14px;min-height:80px}.expense-form-double{grid-column:span 2}.expense-form-wide{grid-column:1/-1}.expense-form-footer{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #e4ebf2;padding-top:16px}.expense-detail-list{display:grid;grid-template-columns:180px 1fr;gap:12px;font-size:14px;line-height:1.5}.expense-detail-list dt{color:#8090a0}.expense-detail-list dd{margin:0;overflow-wrap:anywhere}.expense-detail-amount{font-size:30px;font-weight:600;margin:20px 0;color:#283f50}.expense-category-fields{display:grid;gap:18px;margin:20px 0}.expense-category-fields input[type=checkbox]{width:auto;height:auto;min-height:0}.expense-category-fields label:has(input[type=checkbox]){flex-direction:row;align-items:center}@media(max-width:1100px){.expense-journal-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-journal-search{grid-column:span 2}.expense-journal-summary{align-items:flex-start}.expense-journal-actions{justify-content:flex-end}.expense-journal-table{font-size:12px}.expense-journal-table td,.expense-journal-table th{padding:10px 8px}}@media(max-width:700px){.expense-journal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-journal-search{grid-column:span 2}.expense-journal-summary{flex-direction:column}.expense-journal-sheet{overflow-x:auto}.expense-journal-table{min-width:850px}.expense-form-grid{grid-template-columns:1fr}.expense-form-double,.expense-form-wide{grid-column:auto}.expense-detail-list{grid-template-columns:1fr;gap:4px}.expense-detail-list dd{margin-bottom:10px}}
#dialog:has(.expense-entry-form){width:min(900px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 40px);overflow:auto;padding:24px}.expense-entry-form{width:100%;max-width:none}.expense-entry-form fieldset{min-width:0}.expense-form-grid label{margin:0}.expense-form-grid input,.expense-form-grid select{margin-top:0}.expense-entry-form .top{gap:20px}.expense-entry-form .top h2{color:#243c4e}.expense-entry-form .top button{flex-shrink:0}.expense-entry-form .expense-form-footer button{font-size:13px}
.expense-journal-search{grid-column:span 2}@media(max-width:1100px){.expense-journal-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.expense-journal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact expense journal; entry dialogs keep their own spacing. */
.main .expense-journal-header{align-items:center;gap:12px;margin:0 0 12px}
.main .expense-journal-header h1{font-size:26px;line-height:1.2;margin:0}
.main .expense-journal-header button{min-height:32px;height:32px;padding:5px 12px;font-size:13px}
.main .expense-journal-filters{gap:8px 10px;padding:10px 12px;border-radius:12px}
.main .expense-journal-filters label{margin:0;gap:3px;line-height:1.25;font-size:12px;font-weight:500}
.main .expense-journal-filters input,.main .expense-journal-filters select{height:32px;min-height:32px;margin:0;padding:4px 9px;font-size:13px;font-weight:400;border-radius:7px;background-color:#fff}
.main .expense-journal-filters>button{height:32px;min-height:32px;padding:4px 12px;font-size:13px}
.main .expense-journal-summary{gap:12px;margin:12px 0}
.main .expense-journal-summary>div:first-child{gap:2px 10px}
.main .expense-journal-summary strong{font-size:22px;line-height:1.25}
.main .expense-journal-actions{gap:8px}
.main .expense-journal-actions button,.main .expense-journal-actions a{min-height:30px;padding:5px 10px}
.main .expense-journal-table{font-size:13px;line-height:1.35}
.main .expense-journal-table th,.main .expense-journal-table td{padding:7px 10px;vertical-align:middle}
.main .expense-journal-table th{padding-top:9px;padding-bottom:9px}
.main .expense-journal-table small{margin-top:2px;line-height:1.2}
.main .expense-record-link{min-height:0;height:auto;padding:0;line-height:1.35;font-size:13px}
.main .expense-comment{line-height:1.35}
.expense-comment-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.main .expense-journal-table tfoot td{padding:9px 10px}
@media(max-width:700px){.main .expense-journal-header{flex-wrap:wrap}.main .expense-journal-header h1{font-size:24px}.main .expense-journal-filters{padding:10px}.main .expense-journal-summary{gap:8px}}
