.invoice-page{display:grid;gap:18px}.invoice-heading{display:flex;justify-content:space-between;align-items:flex-end}.invoice-heading h2{margin:2px 0 5px;font-size:28px}.invoice-heading p{margin:0;color:#68727c}.invoice-filters{display:grid;grid-template-columns:minmax(270px,2fr) 180px 155px 155px auto;gap:12px;align-items:end;padding:18px;background:#fff;border:1px solid #e4e7e9;border-radius:14px;box-shadow:0 5px 18px #23313d0a}.invoice-filters label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#59636c}.invoice-filters input,.invoice-filters select{height:42px;border:1px solid #ccd2d6;border-radius:9px;padding:0 12px;background:#fff;font:inherit;color:#26333d}.invoice-primary{border:0!important;border-radius:9px!important;background:#f4c542!important;color:#202b33!important;font-weight:800!important;padding:0 18px!important;height:42px}.invoice-table-card{background:#fff;border:1px solid #e1e5e7;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px #23313d0a}.invoice-table-scroll{overflow:auto}.invoice-table,.invoice-detail-table table{width:100%;border-collapse:collapse;font-size:13px}.invoice-table thead,.invoice-detail-table thead{background:#263844;color:#fff}.invoice-table th,.invoice-table td,.invoice-detail-table th,.invoice-detail-table td{padding:13px 12px;text-align:left;border-bottom:1px solid #e7eaec;white-space:nowrap}.invoice-table td small{display:block;margin-top:3px;color:#77818a}.invoice-table .number,.invoice-detail-table .number{text-align:right}.invoice-table tbody tr:hover{background:#fffaf0}.invoice-link{border:0;background:#eef2f4;color:#243a49;border-radius:7px;padding:7px 10px;font-weight:700;cursor:pointer}.invoice-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:#eef1f3;color:#52606a}.invoice-status--open{background:#fff1d2;color:#825900}.invoice-status--partially_paid{background:#e9f1ff;color:#315e9b}.invoice-status--paid{background:#e4f5e8;color:#26723a}.invoice-status--cancelled{background:#f3e8e8;color:#8b3a3a}.invoice-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}.invoice-pagination label{display:flex;align-items:center;gap:8px}.invoice-pagination select,.invoice-pagination button{border:1px solid #d5dadd;background:#fff;border-radius:7px;padding:7px 10px}.invoice-pagination div{display:flex;gap:8px}.invoice-loading,.invoice-empty,.invoice-error{padding:28px;text-align:center;color:#66717a}.invoice-detail{display:grid;gap:18px}.invoice-detail>header{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.invoice-detail>header>div,.invoice-detail-grid article{padding:16px;background:#f6f8f9;border-radius:11px}.invoice-detail span,.invoice-detail small{display:block;color:#69747d;font-size:12px}.invoice-detail strong{display:block;margin-top:5px}.invoice-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-detail-grid h3{margin:0 0 9px}.invoice-detail-grid p{line-height:1.55}.invoice-detail-table{border:1px solid #e1e5e7;border-radius:10px;overflow:auto}.invoice-totals{margin-left:auto;width:min(360px,100%);display:grid;gap:8px}.invoice-totals div{display:flex;justify-content:space-between;border-bottom:1px solid #e3e7e9;padding:7px}.invoice-totals .open{font-size:17px;border-bottom:3px solid #f4c542}.invoice-detail>footer{display:flex;justify-content:flex-end;gap:10px}.invoice-detail>footer button,.invoice-action{height:42px;padding:0 18px;border:1px solid #ccd2d6;border-radius:9px;background:#fff;font-weight:700}@media(max-width:1050px){.invoice-filters{grid-template-columns:1fr 1fr}.invoice-search{grid-column:1/-1}}@media(max-width:700px){.invoice-filters{grid-template-columns:1fr}.invoice-search{grid-column:auto}.invoice-pagination{align-items:stretch;flex-direction:column}.invoice-detail>header,.invoice-detail-grid{grid-template-columns:1fr}}

.invoice-payments{padding:16px;border:1px solid #e1e5e7;border-radius:11px;background:#f7f9fa}
.invoice-advance-detail table.invoice-detail-table { width:100%;table-layout:auto;border-collapse:collapse; }
.invoice-advance-detail table.invoice-detail-table th,.invoice-advance-detail table.invoice-detail-table td { width:auto!important;text-align:right; }
.invoice-advance-detail table.invoice-detail-table th:first-child,.invoice-advance-detail table.invoice-detail-table td:first-child { text-align:left; }
.invoice-advance-detail [data-invoice-payment-form] h3 { margin-bottom:16px; }
.invoice-advance-detail>p { white-space:normal;overflow-wrap:anywhere; }
.invoice-advance-detail { grid-template-columns:minmax(0,1fr);min-width:0; }
.invoice-advance-detail>* { min-width:0; }
.advance-request-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.advance-request-heading>h3{margin:0}.advance-request-heading>[data-new-advance]{width:auto!important;flex:0 0 auto;padding:10px 16px}
.advance-service-preview{display:grid;gap:14px;min-width:0}.advance-service-preview>p{margin:0;line-height:1.5}
.advance-service-group{min-width:0}.advance-service-group h3{margin:0;font-size:15px}.advance-service-group h3 label{display:flex;align-items:center;gap:8px;color:inherit;font:inherit}
.advance-service-group input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:#e5b600}
.advance-service-group>footer{display:flex;justify-content:space-between;gap:16px;padding-top:8px}
.advance-selected-total{display:flex;justify-content:space-between;gap:16px;border:1px solid #edbd12;background:#fff7ce;border-radius:9px;padding:12px;font-weight:800}
.advance-frozen-services{display:grid;gap:12px}.advance-frozen-services>summary{cursor:pointer;font-weight:700}.advance-frozen-services>section{margin-top:12px}
@media(max-width:600px){.advance-request-heading{align-items:flex-start}.advance-request-heading>[data-new-advance]{max-width:100%;white-space:normal}.advance-service-group .rental-pending-change-table{overflow-x:auto}.advance-service-group .rental-pending-change-table-head,.advance-service-group .rental-pending-change-items{min-width:550px}.advance-service-preview .reservation-actions{flex-wrap:wrap}}
@media(max-width:600px){.invoice-advance-detail table.invoice-detail-table{display:block;max-width:100%;overflow-x:auto}.invoice-advance-detail footer{flex-wrap:wrap}.dialog:has(.invoice-advance-detail) #dialog-title{overflow-wrap:anywhere;padding-right:30px}}
.invoice-payments h3{margin:0 0 12px}
.invoice-payment-history{display:grid;gap:0;margin-bottom:14px;border:1px solid #d8e0e3;border-radius:9px;background:#fff;overflow:hidden}
.invoice-payment-history>div{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid #e1e5e7}
.invoice-payment-history>div:last-child{border-bottom:0}
.invoice-payment-history span{font-size:13px;color:#26333d}
[data-invoice-payment-form]>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}
[data-invoice-payment-form] label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#59636c}
[data-invoice-payment-form] input,[data-invoice-payment-form] select{height:42px;min-width:0;border:1px solid #ccd2d6;border-radius:9px;padding:0 10px;background:#fff;font:inherit;color:#26333d}
[data-invoice-payment-form]>.invoice-primary{display:block;margin:12px 0 0 auto}
[data-invoice-payment-form]>.invoice-error{padding:8px 0 0;text-align:left;color:#b42318}
@media(max-width:950px){[data-invoice-payment-form]>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){[data-invoice-payment-form]>div{grid-template-columns:1fr}}

/* Kompakte Rechnungsdetailansicht */
.dialog:has(.invoice-detail){display:flex;flex-direction:column;width:min(1080px,96vw);max-height:min(820px,94vh);overflow:hidden;border-radius:20px}
.dialog:has(.invoice-detail)>header{flex:0 0 auto;padding:14px 20px}
.dialog:has(.invoice-detail)>header>button{width:38px;height:38px}
.dialog:has(.invoice-detail)>.dialog-content{min-height:0;padding:16px 22px 18px;overflow-y:auto;overscroll-behavior:contain}
.invoice-detail{gap:12px;font-size:13px}
.invoice-detail>header{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.invoice-detail>header>div{display:grid;align-content:center;gap:3px;min-width:0;min-height:52px;padding:8px 11px}
.invoice-detail span,.invoice-detail small{font-size:11px;line-height:1.3}
.invoice-detail strong{margin-top:0;line-height:1.3}
.invoice-detail>header>div>strong{font-size:14px}
.invoice-detail>header .invoice-status{display:inline-flex;width:auto;padding:4px 8px;font-size:10px}
.invoice-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.invoice-detail-grid article{display:grid;grid-template-rows:auto 1fr auto;align-content:start;gap:10px;min-width:0;min-height:144px;padding:18px 20px;border:1px solid #e3e8ea;background:linear-gradient(145deg,#f8fafb,#f3f6f7);box-shadow:0 5px 14px rgba(35,49,61,.045)}
.invoice-detail-grid h3{margin:0 0 3px;font-size:18px;line-height:1.25}
.invoice-card-content{display:grid;align-content:start;gap:6px}.invoice-card-content>strong{font-size:15px}.invoice-detail-grid p{display:grid;gap:2px;margin:0;line-height:1.45;font-size:14px;color:#34434d}.invoice-detail-grid article>small{display:flex;align-items:baseline;gap:7px;padding-top:9px;border-top:1px solid #e1e6e8;font-size:11px}.invoice-detail-grid article>small b{color:#34434d;font-size:12px}
.invoice-detail-table{overflow-x:auto}
.invoice-detail-table table{font-size:12px}
.invoice-detail-table th,.invoice-detail-table td{height:auto;padding:8px 9px}
.invoice-detail-table th:nth-child(n+5),.invoice-detail-table td:nth-child(n+5){text-align:right}
.invoice-detail-table table{table-layout:fixed}
.invoice-detail-table th:nth-child(1){width:5%}
.invoice-detail-table th:nth-child(2){width:40%}
.invoice-detail-table th:nth-child(3){width:8%}
.invoice-detail-table th:nth-child(4){width:11%}
.invoice-detail-table th:nth-child(n+5){width:12%}
.invoice-detail-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere}
.invoice-totals{width:min(320px,100%);gap:0}
.invoice-totals div{min-height:29px;align-items:center;padding:5px 8px}
.invoice-totals .open{font-size:15px}
.invoice-payments h3,.invoice-deposit h3{margin:0;font-size:16px}
.invoice-payments>header{display:flex;align-items:center;margin-bottom:10px}
.invoice-payment-history{width:100%;margin-bottom:14px;border:0;background:transparent;overflow:visible;gap:7px}.invoice-payment-history>div{display:grid;grid-template-columns:110px 130px 110px minmax(150px,1fr) minmax(0,1fr);align-items:center;gap:0;padding:9px 12px;border:1px solid #dce3e6!important;border-radius:9px;background:#fff}.invoice-payment-history time,.invoice-payment-history>div>span,.invoice-payment-history>div>strong{display:flex;align-items:center;min-width:0;white-space:nowrap}.invoice-payment-history time{font-size:12px;color:#65717a}.invoice-payment-history time::after,.invoice-payment-history>div>span::after,.invoice-payment-history>div>strong::after{content:'·';margin:0 10px;color:#a6afb5;font-weight:400}.invoice-payment-history>div>span{font-weight:700}.invoice-payment-history>div>.invoice-payment-reference{font-weight:600;color:#52606a}.invoice-payment-history>div>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-payment-history>div>strong{font-size:14px}.invoice-payment-history>div>:last-child::after,.invoice-payment-history>div>.invoice-payment-reference:last-child::after{content:none}
.invoice-payments>p{margin:5px 0}
.invoice-detail>footer{flex-wrap:wrap;gap:8px;padding-top:2px}
.invoice-detail>footer [data-cancel-invoice]{margin-right:auto}
.invoice-detail>footer button,.invoice-action{height:38px;padding:0 13px}
.invoice-detail>footer [data-close-invoice]{background:#fff}.invoice-detail>footer [data-print-invoice-pdf]{background:#f4c542!important;border-color:#f4c542!important;color:#202b33!important}
[data-invoice-payment-form]>div{gap:8px}
[data-invoice-payment-form] input,[data-invoice-payment-form] select{height:38px}
[data-invoice-payment-form]>.invoice-primary{height:38px;margin-top:9px}
@media(max-width:700px){.dialog:has(.invoice-detail){width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.dialog:has(.invoice-detail)>.dialog-content{padding:14px}.invoice-detail>header{grid-template-columns:1fr}.invoice-detail>header>div{min-height:0}.invoice-detail-grid{grid-template-columns:1fr}.invoice-detail-grid article{min-height:0}.invoice-detail-table table{min-width:680px}.invoice-totals{width:100%}.invoice-deposit small{flex-basis:100%;margin-left:0}.invoice-payment-history{width:100%;overflow-x:auto}.invoice-payment-history>div{grid-template-columns:100px 115px 100px minmax(145px,1fr) minmax(120px,1fr);min-width:620px}}
.invoice-deposit,.invoice-merged-from{padding:10px 14px;border:1px solid #ead58e;border-radius:11px;background:#fffaf0}.invoice-deposit{display:flex;align-items:center;gap:7px 10px;flex-wrap:wrap;min-height:0;color:#665625}.invoice-deposit strong{display:inline-flex;align-items:baseline;gap:5px;margin:0;font-size:13px}.invoice-deposit strong b{font-size:15px;color:#202b33}.invoice-deposit>span{display:inline-flex;align-items:center;color:#74663c;font-size:12px}.invoice-deposit>span::before{content:'·';margin-right:10px;color:#c09516}.invoice-deposit small{margin-left:auto;padding:4px 8px;border-radius:999px;background:#fff;color:#5f6b73;font-size:11px;white-space:nowrap}.invoice-deposit--cash{background:#f7f8f8;border-color:#dce2e4;color:#53616a}.invoice-deposit--cash>span::before{color:#9ca6ac}.invoice-merged-from{display:flex;justify-content:space-between;gap:14px;align-items:center}.rental-invoice-table [data-merge-invoice]{width:1rem;height:1rem;accent-color:#a20d1b}.rental-new-invoice{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.rental-new-invoice .inline-message{flex-basis:100%}
.invoice-status--card_payment_pending,.invoice-status--partially_paid_pending{background:#fff1d2;color:#825900}.invoice-totals .pending{background:#fff8dc;color:#785900}.invoice-totals .available{font-weight:800;border-bottom:3px solid #f4c542}.invoice-payment-history>div.is-pending{grid-template-columns:90px 100px 95px 110px minmax(90px,1fr);gap:7px;border-color:#e5bd48!important;background:#fffaf0}.invoice-payment-state{font-weight:800!important;color:#825900!important}.invoice-payment-audit{grid-column:1/5;font-size:11px!important}.invoice-payment-actions{grid-column:5;grid-row:1/3;display:flex!important;justify-content:flex-end;gap:6px}.invoice-payment-actions button{min-height:34px;border:1px solid #ccd2d6;border-radius:8px;background:#fff;padding:5px 9px;font-weight:700;cursor:pointer}.invoice-payment-actions button:first-child{border-color:#e5bd48;background:#f4c542}
.card-booking-dialog{width:min(420px,calc(100vw - 40px));box-sizing:border-box;border:1px solid #ccd7df;border-radius:16px;padding:24px;color:#182737}
.card-booking-dialog::backdrop{background:#0006}
.card-booking-dialog label{display:grid;gap:8px}
.card-booking-dialog input{padding:10px;font:inherit;border:1px solid #ccd7df;border-radius:8px}
.card-booking-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.invoice-action{font-family:inherit;font-size:14px;cursor:pointer}
.invoice-table tbody td{font-size:13px;font-weight:400}
.invoice-table .invoice-vehicle{min-width:150px}
.invoice-table .invoice-license-plate{min-width:105px}
.invoice-table .invoice-open-amount{color:#b42318;font-weight:700}
.invoice-status--unbilled{background:#fff4c7;color:#755800}
.invoice-mileage-detail-row > td {
  padding: 0 10px 8px 52px !important;
  background: #f7f9fa;
}
.invoice-mileage-detail-row details { border-left: 3px solid #f1ef20; padding: 6px 10px; }
.invoice-mileage-detail-row summary { cursor: pointer; color: #52677a; font-weight: 700; }
.invoice-mileage-breakdown { margin-top: 6px; font-size: 12px; color: #263746; }
.invoice-mileage-breakdown > div { display: flex; justify-content: space-between; gap: 18px; padding: 4px 0; border-top: 1px solid #d9e0e5; }
.invoice-mileage-breakdown .is-total { margin-top: 3px; font-weight: 700; }
.invoice-mileage-breakdown .is-billed { color: #111c27; font-weight: 800; border-top: 2px solid #f1ef20; }
.invoice-mileage-breakdown .is-mismatch { color: #a1261d; border-top-color: #d8483e; }
.dialog:has(.direct-invoice-wizard){width:min(1480px,96vw);max-height:92vh}.direct-invoice-wizard>h3{margin:0 0 6px;font-size:22px}.direct-wizard-intro{margin:0 0 18px;color:#687887}.direct-invoice-wizard>.operation-search-label{margin-bottom:14px}.direct-invoice-wizard>.operation-customer-summary{margin-top:14px;margin-bottom:0}.direct-invoice-wizard>.operation-customer-summary button{margin-left:auto}.direct-invoice-wizard .direct-invoice-form{min-width:0}.direct-invoice-wizard .inline-message{margin:8px 0 0}.direct-invoice-wizard [data-operation-customer-eligible="true"]{cursor:pointer}.direct-invoice-wizard [data-operation-customer-eligible="true"]:focus-visible{outline:3px solid rgba(255,221,22,.55);outline-offset:-3px}
.direct-invoice-form{display:grid;gap:18px;min-width:min(900px,80vw)}.direct-invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.direct-invoice-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#59636c}.direct-invoice-form input,.direct-invoice-form select,.direct-invoice-form textarea{min-width:0;border:1px solid #ccd2d6;border-radius:9px;padding:10px;background:#fff;font:inherit}.direct-invoice-form textarea{min-height:65px}.direct-invoice-form .wide{grid-column:1/-1}.direct-items{display:grid;gap:10px}.direct-items>header,.direct-invoice-form>footer,.direct-totals{display:flex;align-items:center;justify-content:flex-end;gap:12px}.direct-items>header{justify-content:space-between}.direct-item{display:grid;grid-template-columns:1.2fr 2fr .6fr .7fr 1fr .7fr;gap:8px;align-items:end;padding:12px;border:1px solid #dfe4e7;border-radius:10px}.direct-item .wide{grid-column:1/5}.direct-item>[data-total]{align-self:center;text-align:right}.direct-totals{padding:12px;background:#f7f9fa;border-radius:9px}.direct-totals span{display:flex;gap:7px}.direct-totals span:last-child{padding-left:12px;border-left:3px solid #f4c542}@media(max-width:800px){.direct-invoice-form{min-width:0}.direct-invoice-grid,.direct-item{grid-template-columns:1fr}.direct-invoice-form .wide,.direct-item .wide{grid-column:auto}.invoice-heading{align-items:stretch;flex-direction:column;gap:12px}.invoice-heading>[data-new-direct-invoice]{align-self:flex-start}}
.direct-change-customer{margin-left:auto;cursor:pointer}.direct-vehicle-placeholder{padding:18px;border:1px solid #dfe4e7;border-radius:10px;background:#f7f9fa}.direct-vehicle-placeholder p{margin:6px 0 0;color:#687887}.direct-invoice-form .invoice-primary:disabled{cursor:not-allowed;opacity:.55}
.direct-vehicle-section{display:grid;gap:12px;padding:16px;border:1px solid #dfe4e7;border-radius:11px;background:#f8fafb}.direct-vehicle-section h3{margin:3px 0 0}.direct-vehicle-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.direct-vehicle-subject{display:grid;grid-template-columns:auto 1fr minmax(260px,1fr);align-items:end;gap:10px;padding:12px;border-radius:9px;background:#eef2f4}.direct-vehicle-subject>span{font-size:12px;font-weight:800;color:#59636c}.direct-vehicle-subject>strong{align-self:center}.direct-vehicle-item{grid-template-columns:2fr .5fr .65fr 1fr .75fr .7fr .8fr}.direct-vehicle-item input[readonly]{background:#f1f4f5;color:#46545d}.invoice-vehicle-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px;border:1px solid #dfe4e7;border-radius:10px;background:#f8fafb}.invoice-vehicle-facts div{display:grid;gap:2px}.invoice-vehicle-facts span{font-size:11px;color:#69747d}.invoice-vehicle-facts strong{font-size:13px}.invoice-vehicle-subject{grid-column:1/-1}
@media(max-width:800px){.direct-vehicle-fields,.invoice-vehicle-facts{grid-template-columns:1fr}.direct-vehicle-subject{grid-template-columns:1fr}.direct-vehicle-item{grid-template-columns:1fr}}
.reservation-editor.advance-service-preview{grid-template-columns:minmax(0,1fr)}
.reservation-editor.advance-service-preview>.reservation-actions{position:static}
@media(max-width:760px){.advance-service-group.rental-pending-change-compact .rental-pending-change-table-head{display:grid}.advance-service-group.rental-pending-change-compact .rental-pending-change-table{overflow-x:auto}.advance-service-group.rental-pending-change-compact .rental-pending-change-table-head,.advance-service-group.rental-pending-change-compact .rental-pending-change-items>div{min-width:550px;grid-template-columns:85px minmax(170px,1fr) 130px 115px;gap:10px}.advance-service-group.rental-pending-change-compact .rental-pending-change-items>div>:nth-child(n){grid-column:auto;grid-row:auto}.advance-service-group.rental-pending-change-compact .rental-pending-change-items>div>:nth-child(3){text-align:right}}
/* Independent advance receipts keep the cancellation action at the left edge. */
.invoice-advance-detail > footer [data-cancel-advance] { margin-right: auto; }
.advance-receipt [hidden] { display: none !important; }
.advance-receipt [data-credit-limit] { color: #526578; }
.invoice-advance-detail .advance-receipt > p strong { display: inline; margin: 0; }
.invoice-advance-detail .advance-receipt > p { margin: 12px 0; }
.invoice-advance-detail > .invoice-error:empty { display: none; }
.advance-email-compose { padding: 18px; border: 1px solid #d8dedf; border-radius: 11px; background: #f7f9fa; }
.advance-request-section [data-open-advance] { min-height: 38px; padding: 0 14px; font: inherit; font-weight: 800; }
