
/* 2026-10-01: Vertragsdetail mobil sauber darstellen */
.contract-detail-grid .invoice-facts dt,
.contract-detail-grid .invoice-facts dd{min-width:0}
.contract-detail-grid .invoice-facts dd{overflow-wrap:anywhere}

@media(max-width:620px){
  .contract-detail-grid .invoice-facts{
    grid-template-columns:minmax(108px,.82fr) minmax(0,1.18fr);
    gap:9px 12px;
  }
  .contract-detail-grid .invoice-facts dt{font-size:13px;line-height:1.35}
  .contract-detail-grid .invoice-facts dd{
    font-size:13px;
    line-height:1.35;
    text-align:right;
  }

  .contract-invoices .contract-invoice-row{
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:stretch !important;
    padding:14px 0;
  }
  .contract-invoices .contract-invoice-row .resource-main-link{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 12px !important;
    align-items:start !important;
  }
  .contract-invoices .contract-invoice-row .resource-main-link>div{
    min-width:0;
  }
  .contract-invoices .contract-invoice-titleline{
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:5px 7px;
  }
  .contract-invoices .contract-invoice-titleline strong{
    min-width:0;
    overflow-wrap:anywhere;
  }
  .contract-invoices .contract-invoice-row .resource-main-link small{
    display:block;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .contract-invoices .contract-invoice-row .resource-main-link>b{
    grid-column:2;
    grid-row:1;
    align-self:start;
    white-space:nowrap !important;
    font-size:14px;
    text-align:right;
  }
  .contract-invoices .contract-invoice-archive{
    display:flex !important;
    align-items:center;
    flex-wrap:wrap;
    gap:5px 7px;
    margin-top:7px;
  }
  .contract-invoices .contract-invoice-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    width:100%;
  }
  .contract-invoices .contract-invoice-actions .btn{
    min-height:34px;
  }
  .contract-invoices .contract-invoice-actions form{
    margin:0 !important;
  }
  .contract-invoices .contract-invoice-actions .resource-unlink{
    width:34px;
    min-width:34px;
  }
}

@media(max-width:380px){
  .contract-detail-grid .invoice-facts{
    grid-template-columns:96px minmax(0,1fr);
    gap:8px 9px;
  }
  .contract-invoices .contract-invoice-row .resource-main-link{
    grid-template-columns:1fr;
  }
  .contract-invoices .contract-invoice-row .resource-main-link>b{
    grid-column:1;
    grid-row:auto;
    text-align:left;
  }
}


/* 2026-10-01: Vertragsrechnungen – klare 4-Zeilen-Struktur */
.contract-invoices .contract-invoice-row-v2{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:12px 18px !important;
  align-items:end !important;
}
.contract-invoices .contract-invoice-summary{
  display:grid;
  gap:7px;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.contract-invoices .contract-invoice-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.contract-invoices .contract-invoice-number{
  min-width:0;
  overflow-wrap:anywhere;
  font-size:15px;
}
.contract-invoices .contract-invoice-amount{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:15px;
}
.contract-invoices .contract-invoice-line-secondary{
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:7px 10px;
}
.contract-invoices .contract-invoice-date{
  color:#7f7466;
  font-size:12px;
}
.contract-invoices .contract-invoice-archive{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 8px;
  margin:0 !important;
  color:#826d50;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.contract-invoices .contract-invoice-actions-v2{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;
  min-width:max-content;
}
.contract-invoices .contract-invoice-actions-main{
  display:flex;
  align-items:center;
  gap:7px;
}
.contract-invoices .contract-invoice-unlink-form{
  margin:0 0 0 8px !important;
}
.contract-invoices .contract-invoice-unlink-form .resource-unlink{
  margin:0 !important;
}

@media(max-width:760px){
  .contract-invoices .contract-invoice-row-v2{
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:stretch !important;
  }
  .contract-invoices .contract-invoice-actions-v2{
    width:100%;
    min-width:0;
    justify-content:space-between !important;
  }
  .contract-invoices .contract-invoice-actions-main{
    min-width:0;
    flex-wrap:wrap;
  }
  .contract-invoices .contract-invoice-unlink-form{
    margin-left:auto !important;
  }
}

@media(max-width:390px){
  .contract-invoices .contract-invoice-number,
  .contract-invoices .contract-invoice-amount{
    font-size:14px;
  }
  .contract-invoices .contract-invoice-line-primary{
    align-items:flex-start;
  }
  .contract-invoices .contract-invoice-actions-main{
    gap:6px;
  }
  .contract-invoices .contract-invoice-actions-main .btn{
    padding-left:9px;
    padding-right:9px;
  }
}


/* 2026-10-01: Rechnungsbetrag und Status-Badge konsequent rechts ausrichten */
.contract-invoices .contract-invoice-row-v2{
  grid-template-columns:1fr !important;
}

.contract-invoices .contract-invoice-line-primary,
.contract-invoices .contract-invoice-line-secondary{
  width:100%;
}

.contract-invoices .contract-invoice-line-primary{
  justify-content:space-between !important;
}

.contract-invoices .contract-invoice-line-secondary{
  justify-content:space-between !important;
}

.contract-invoices .contract-invoice-line-secondary .status{
  margin-left:auto;
  flex:0 0 auto;
}

.contract-invoices .contract-invoice-actions-v2{
  width:100%;
  justify-content:flex-end !important;
}

@media(max-width:760px){
  .contract-invoices .contract-invoice-line-secondary{
    flex-wrap:nowrap;
  }

  .contract-invoices .contract-invoice-line-secondary .status{
    margin-left:auto;
  }

  .contract-invoices .contract-invoice-actions-v2{
    justify-content:space-between !important;
  }
}
