/* Kategorien und persönliche Zusatzkosten nebeneinander. */
.fin-content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:16px;align-items:start}
.fin-content-grid>#fin-table-wrap,.fin-content-grid>.fin-custom-add-card{min-width:0;margin-top:0}
.fin-content-grid .fin-custom-form{grid-template-columns:1fr 1fr}
.fin-content-grid .fin-custom-form label:nth-child(1),.fin-content-grid .fin-custom-form label:nth-child(2){grid-column:1/-1}
.fin-content-grid .fin-custom-form>.btn-primary{grid-column:1/-1;width:100%}
.fin-custom-add-card{margin-top:16px}
.fin-custom-form{display:grid;grid-template-columns:160px minmax(220px,1fr) 150px 150px auto;gap:12px;align-items:end}
.fin-custom-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.fin-custom-form label>span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}
.fin-custom-form input,.fin-custom-form select{width:100%;min-width:0}
.fin-custom-form>.btn-primary{height:38px;white-space:nowrap}
.fin-custom-error{min-height:18px;margin-top:7px;font-size:11px;color:var(--danger)}
.fin-custom-category-rows:empty{display:none}
.fin-custom-table-row .fin-custom-budget-spacer{min-height:1px}
.fin-custom-table-value{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;text-align:right}
.fin-custom-inline-copy{display:block;min-width:0}
.fin-custom-inline-copy strong{display:block;font-family:'Outfit',sans-serif;font-size:13px;color:var(--text);white-space:nowrap}
.fin-custom-inline-copy small{display:block;margin-top:2px;font-size:8px;color:var(--text3);white-space:nowrap}
.fin-custom-table-value .fin-custom-delete{flex:0 0 26px;width:26px;height:26px}
.fin-custom-item{display:grid;grid-template-columns:minmax(0,1fr) 170px 34px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}
.fin-custom-item:last-child{border-bottom:0}
.fin-custom-item-info{display:flex;align-items:center;gap:10px;min-width:0}
.fin-custom-item-info strong{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-custom-item-category{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:var(--teal-bg);color:var(--teal-text);font-size:10px;font-weight:700}
.fin-custom-item-value{text-align:right;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--text)}
.fin-custom-item-value small{display:block;margin-top:2px;font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;font-weight:400;color:var(--text3)}
.fin-custom-delete{width:30px;height:30px;border:0;background:transparent;color:var(--text3);font-size:22px;line-height:1;cursor:pointer}
.fin-custom-delete:hover{color:var(--danger)}
.fin-row{grid-template-columns:minmax(170px,1fr) 130px minmax(250px,290px) 100px}
.fin-manual-entry{display:grid;grid-template-columns:minmax(86px,1fr) 58px 66px;gap:6px;align-items:center}
.fin-manual-entry .fin-bi input{width:100%;min-width:0}
.fin-manual-entry label{display:flex;align-items:center;gap:3px;min-width:0}
.fin-manual-entry label span{font-size:9px;color:var(--text3)}
.fin-manual-entry label input{width:38px;min-width:0;padding-left:5px;padding-right:3px;text-align:center}
.fin-manual-entry select{width:66px;min-width:0;padding-left:6px;padding-right:18px;font-size:11px}
.fin-accommodation-entry{position:relative;grid-template-columns:minmax(86px,1fr) 58px 66px}
.fin-accommodation-entry .fin-status-heart{position:absolute;right:-27px;width:20px;top:50%;transform:translateY(-50%)}
@media(max-width:1200px){.fin-content-grid{grid-template-columns:1fr}.fin-content-grid .fin-custom-form{grid-template-columns:1fr 1.5fr 1fr 1fr}.fin-content-grid .fin-custom-form label:nth-child(1),.fin-content-grid .fin-custom-form label:nth-child(2){grid-column:auto}.fin-content-grid .fin-custom-form>.btn-primary{grid-column:1/-1}.fin-custom-add-card{margin-top:0}}
@media(max-width:1100px){.fin-custom-form{grid-template-columns:1fr 1.5fr 1fr 1fr}.fin-custom-form>.btn-primary{grid-column:1/-1}}
@media(max-width:680px){
  .fin-custom-form{grid-template-columns:1fr 1fr}
  .fin-custom-form label:nth-child(2){grid-column:1/-1}
  .fin-content-grid .fin-custom-form{grid-template-columns:1fr 1fr}
  .fin-content-grid .fin-custom-form label:nth-child(1),.fin-content-grid .fin-custom-form label:nth-child(2){grid-column:1/-1}
  .fin-custom-item{grid-template-columns:minmax(0,1fr) auto 30px}
  .fin-custom-item-info{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(max-width:900px){
  .fin-row{grid-template-columns:minmax(120px,1fr) 95px minmax(180px,1fr)}
  .fin-manual-entry{grid-template-columns:minmax(72px,1fr) 52px 60px}
  .fin-accommodation-entry{grid-template-columns:minmax(72px,1fr) 52px 60px}
  .fin-accommodation-entry .fin-status-heart{right:-23px}
  .fin-row>:nth-child(4),.fin-total-bar>:nth-child(4){display:none}
}

/* Separate Abrechnung für Auslagen und Rückzahlungen. */
.repayment-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.repayment-summary-head .card-title,.repayment-panel-head .card-title{margin-bottom:4px}
.repayment-summary-head p,.repayment-panel-head p{margin:0;color:var(--text2);font-size:12px;line-height:1.5}
.repayment-local-badge{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:var(--teal-bg);color:var(--teal-text);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.repayment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.repayment-net-metric{border-color:var(--teal-b);background:var(--teal-bg)}
.repayment-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.repayment-panel{min-width:0}
.repayment-panel-head{margin-bottom:14px}
.repayment-add-grid,.repayment-entry{display:grid;gap:10px;align-items:end}
.repayment-expense-form,.repayment-expense-entry{grid-template-columns:minmax(150px,1.4fr) 105px minmax(125px,1fr) minmax(125px,1fr) auto}
.repayment-refund-form,.repayment-refund-entry{grid-template-columns:minmax(125px,1fr) 105px 135px minmax(140px,1.2fr) auto}
.repayment-add-grid label,.repayment-entry label{display:flex;flex-direction:column;gap:5px;min-width:0}
.repayment-add-grid label>span,.repayment-entry label>span{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}
.repayment-add-grid input,.repayment-add-grid select,.repayment-entry input,.repayment-entry select{width:100%;min-width:0}
.repayment-add-grid .btn-primary{height:38px;white-space:nowrap}
.repayment-form-error{min-height:19px;padding-top:5px;color:var(--danger);font-size:11px}
.repayment-list{margin-top:4px;border-top:1px solid var(--border)}
.repayment-entry{padding:11px 0;border-bottom:1px solid var(--border)}
.repayment-delete{align-self:center;width:30px;height:30px;justify-content:center;font-size:20px}
.repayment-empty{padding:20px 4px;color:var(--text3);font-size:12px;text-align:center}
@media(max-width:1180px){
  .repayment-columns{grid-template-columns:1fr}
}
@media(max-width:760px){
  .repayment-metrics{grid-template-columns:1fr 1fr}
  .repayment-expense-form,.repayment-expense-entry,.repayment-refund-form,.repayment-refund-entry{grid-template-columns:1fr 1fr}
  .repayment-add-grid label.wide,.repayment-entry label.wide{grid-column:1/-1}
  .repayment-add-grid .btn-primary{grid-column:1/-1}
  .repayment-delete{grid-column:2;justify-self:end}
}
@media(max-width:480px){.repayment-metrics{grid-template-columns:1fr}.repayment-summary-head{flex-direction:column}}
