.expenses{min-width:0;max-width:70rem;margin:auto;padding:0}
.expenses>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.expenses>header nav{display:flex;align-items:center;gap:1rem}
.expense-actions,[data-expense-filters]{display:flex;min-width:0;max-width:100%;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--brand-border);border-radius:var(--radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-sm)}
.expense-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.expense-primary-action{display:grid;min-height:3.25rem;margin:0;padding:.72rem 1rem;place-items:center;border:1px solid var(--brand-border);border-radius:var(--radius-sm);color:var(--brand-text);background:var(--brand-surface);font-size:.85rem;font-weight:740;text-align:center;cursor:pointer;appearance:none}
.expense-primary-action:hover,.expense-primary-action:focus-visible{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}
[data-expense-filters]{display:grid}
.expense-filter-fields,.expense-date-filters,.expense-filter-actions{display:flex;min-width:0;max-width:100%;align-items:end;flex-wrap:wrap;gap:.65rem}
.expense-filter-fields label,.expense-date-filters label{display:grid;min-width:0;max-width:100%;gap:.3rem}
.expense-date-filters{flex-wrap:nowrap}
.expense-filter-actions{align-items:center}
.expense-list-feedback{min-height:1.4em;margin:.25rem 0 .65rem;color:var(--brand-primary-dark);font-weight:700}
.expense-file-selection{display:grid;gap:.75rem;margin:0 0 1rem;padding:1rem;border:1px solid var(--brand-border);border-radius:var(--radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-sm)}
.expense-file-selection[hidden]{display:none!important}
.expense-file-selection img{display:block;max-width:min(100%,22rem);max-height:18rem;border-radius:var(--radius-md);object-fit:contain}
.expense-file-selection>div{display:flex;flex-wrap:wrap;gap:.6rem}
.expense-list{display:grid;gap:.5rem}
.expense-list__head{display:grid;grid-template-columns:3.25rem repeat(6,1fr);gap:.5rem;padding:0 .85rem;font-weight:750}
.expense-row{display:grid;grid-template-columns:3.25rem 1fr;align-items:center;gap:.35rem;padding:.3rem .65rem;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-surface)}
.expense-row>.expense-card-content{display:block;min-width:0;width:100%;padding:.55rem;border:0;text-align:left;background:transparent}
.expense-card-content dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:0}
.expense-card-content dl>div{min-width:0}
.expense-card-content dt{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.expense-card-content dd{min-width:0;margin:0;overflow-wrap:anywhere}
.expense-select{display:grid;min-width:2.75rem;min-height:2.75rem;place-items:center}
.expense-select input{width:1.25rem;height:1.25rem}
.expense-select__accessible-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.expense-row:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}
.expense-delete-confirmation{margin:.25rem 0 1rem;padding:1rem;border:1px solid var(--brand-border);border-radius:var(--radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-sm)}
.expense-delete-confirmation>div{display:flex;gap:.6rem}
.expense-delete-confirmation[hidden]{display:none!important}
.expense-trash-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}
.expense-trash-list{display:grid;gap:.5rem}
.expense-trash-list__head{display:grid;grid-template-columns:3.25rem repeat(7,minmax(0,1fr)) minmax(12rem,1.4fr);gap:.5rem;padding:0 .85rem;color:var(--brand-muted-text);font-size:.75rem;font-weight:780}
.expense-trash-row{display:grid;grid-template-columns:3.25rem minmax(0,1fr) minmax(12rem,auto);align-items:center;gap:.5rem;padding:.65rem;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-surface)}
.expense-trash-row dl{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin:0}
.expense-trash-row dl>div{min-width:0}
.expense-trash-row dt{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.expense-trash-row dd{min-width:0;margin:0;overflow-wrap:anywhere}
.expense-trash-row__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}
.expense-permanent-confirmation{display:grid;gap:.7rem;margin:.25rem 0 1rem;padding:1rem;border:1px solid #d9a7ac;border-radius:var(--radius-lg);background:#fff7f7;box-shadow:var(--shadow-sm)}
.expense-permanent-confirmation[hidden]{display:none!important}
.expense-permanent-confirmation h2,.expense-permanent-confirmation p{margin:0}
.expense-permanent-confirmation label{display:grid;max-width:32rem;gap:.35rem}
.expense-permanent-confirmation>div{display:flex;flex-wrap:wrap;gap:.6rem}
.expense-summary{display:grid;gap:1rem;margin:0 0 1rem;padding:1rem;border:1px solid var(--brand-border);border-radius:var(--radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-sm)}
.expense-summary__heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}
.expense-summary__heading h2,.expense-summary__heading p,.expense-summary__details h3{margin:0}
.expense-summary__heading p{color:var(--brand-muted-text);font-size:.85rem}
.expense-summary__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.expense-summary__cards article{display:grid;gap:.25rem;padding:.8rem;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-background)}
.expense-summary__cards span{color:var(--brand-muted-text);font-size:.78rem;font-weight:700}
.expense-summary__cards strong{font-size:1.15rem}
.expense-summary__details{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.expense-summary__table{overflow-x:auto}
.expense-summary table{width:100%;margin-top:.45rem;border-collapse:collapse;font-size:.82rem}
.expense-summary th,.expense-summary td{padding:.45rem;border-bottom:1px solid var(--brand-border);text-align:right;white-space:nowrap}
.expense-summary th:first-child,.expense-summary td:first-child{text-align:left}
.expense-summary__chart{display:grid;gap:.45rem;padding:.75rem;border-radius:var(--radius-md);background:var(--brand-background)}
.expense-summary__chart>div{display:grid;grid-template-columns:minmax(7rem,auto) minmax(5rem,1fr) auto;align-items:center;gap:.65rem;font-size:.8rem}
.expense-summary__chart i{display:block;width:var(--expense-bar);min-height:.72rem;border-radius:999px;background:var(--brand-primary)}
.modified{padding:.25rem .5rem;border-radius:999px;color:#835917;background:#fff6dd;font-size:.72rem;font-weight:750}
.expense-detail{display:grid;min-width:0;max-width:70rem;gap:1rem;margin:auto}
.expense-detail>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.expense-detail>header h1{margin:0}
.expense-status{display:flex;flex-wrap:wrap;gap:.45rem}
.expense-detail__data,.expense-detail__attachment,.expense-detail__history,.expense-detail__actions{margin:0!important;padding:1rem;border:1px solid var(--brand-border);border-radius:var(--radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-sm)}
.expense-detail h2{margin-top:0;font-size:1.05rem}
.expense-detail__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem}
.expense-detail__actions h2{margin:0}
.expense-fields,.expense-fields>label{min-width:0;max-width:100%}
.expense-fields label:last-child{grid-column:1/-1}
.expense-detail form>button{margin-top:.75rem}
.expense-detail__attachment a{display:inline-flex;padding:.6rem .75rem;border:1px solid var(--brand-border);border-radius:var(--radius-md);font-weight:740}
.expense-attachment-state{margin:.15rem 0 .65rem;color:var(--brand-primary-dark);font-weight:760}
.expense-attachment-links{display:flex;flex-wrap:wrap;gap:.55rem}
.expense-trash-confirmation{width:100%;padding:.8rem;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-background)}
.expense-trash-confirmation[hidden]{display:none!important}
.expense-trash-confirmation p{margin:0 0 .65rem;font-weight:720}
.expense-trash-confirmation button{margin-right:.5rem}
[data-expense-action-feedback]{width:100%;margin:0;color:var(--brand-primary-dark);font-weight:700}
.expense-detail__history summary{font-weight:780}
.expense-field--invalid{color:#8a1c1c;font-weight:700}
.expense-field--invalid :is(input,select){border-color:#b42318;box-shadow:0 0 0 2px rgb(180 35 24 / 18%)}
.expense-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:1rem}
.expense-pagination span{margin-right:auto;color:var(--brand-muted-text);font-weight:750}
.expense-pagination button:disabled{cursor:not-allowed;opacity:.55}
[data-expense-manual-category][hidden]{display:none!important}
@media(max-width:40rem){
  .expense-actions{grid-template-columns:1fr}
  .expenses>header,.expense-detail>header,.expense-detail__actions{align-items:stretch;flex-direction:column}
  .expense-filter-fields,.expense-filter-actions{display:grid;grid-template-columns:1fr 1fr}
  .expense-date-filters{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .expense-date-filters input,.expense-filter-fields select,.expense-filter-fields>label>input{min-width:0;width:100%}
  .expense-list__head{display:none}
  .expense-trash-list__head{display:none}
  .expense-row{grid-template-columns:2.75rem minmax(0,1fr);align-items:start;padding:.7rem}
  .expense-trash-row{grid-template-columns:2.75rem minmax(0,1fr);align-items:start}
  .expense-trash-row dl{grid-template-columns:1fr 1fr}
  .expense-trash-row dt{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;color:var(--brand-muted-text);font-size:.7rem;font-weight:780}
  .expense-trash-row__actions{grid-column:2;justify-content:flex-start}
  .expense-row>.expense-card-content{min-width:0;padding:.1rem .35rem}
  .expense-card-content dl{grid-template-columns:1fr;gap:.75rem}
  .expense-card-content dl>div{display:grid;gap:.18rem}
  .expense-card-content dt{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;color:var(--brand-muted-text);font-size:.7rem;font-weight:780;line-height:1.2}
  .expense-card-content dd{font-size:.92rem;line-height:1.35}
  [data-expense-filters],.expense-fields{display:grid;grid-template-columns:1fr}
  .expense-delete-confirmation>div{flex-wrap:wrap}
  .expense-summary__heading{align-items:start;flex-direction:column}
  .expense-summary__cards,.expense-summary__details{grid-template-columns:1fr}
  .expense-summary__chart>div{grid-template-columns:6.5rem minmax(3rem,1fr) auto}
}
@media(max-width:22rem){
  .expense-filter-fields,.expense-filter-actions,.expense-date-filters,.expense-summary__cards,.expense-summary__details{grid-template-columns:1fr}
}
