.rental-ledger-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #d5dee4}
.rental-overview-prices .rental-invoice-open.is-credit{border-color:#efc43a;background:#fff7d3;color:#755400}
/* DX-Car's Vorgangsassistent: abgeschlossene Schritte bleiben bewusst neutral. */
.operation-step.is-complete {
  background: #eef2f5;
  color: #5c6d7e;
}

/* Reservierungseditor: dieselbe Formensprache wie der Vorgangsassistent. */
.dialog:has(.reservation-editor) {
  width: min(1180px, 96vw);
  max-height: 94vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dialog:has(.reservation-editor.has-second-driver) {
  width: min(1480px, 97vw);
}

.dialog:has(.reservation-editor) .dialog-header {
  flex: 0 0 auto;
}

.dialog:has(.reservation-editor) .dialog-content {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.reservation-editor {
  gap: 16px;
  align-items: start;
}

.reservation-card {
  gap: 16px;
  padding: 18px;
  border: 1px solid #d8e0e3;
  border-radius: 14px;
  box-shadow: none;
}

.reservation-card header,
.reservation-driver-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.reservation-card header span,
.reservation-driver-header span,
.reservation-status span,
.reservation-fixed-vehicle span,
.reservation-price span {
  color: #667786;
  font-size: 12px;
  font-weight: 800;
}

.reservation-card h3,
.reservation-driver-header h3 {
  margin: 3px 0 0;
  color: #172433;
}

.reservation-secondary,
.reservation-actions button,
.reservation-recalculate {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #cbd4da;
  border-radius: 11px;
  background: #fff;
  color: #172433;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.reservation-secondary:hover,
.reservation-actions button:hover,
.reservation-recalculate:hover {
  background: #f7f8f8;
  border-color: #aeb9c0;
}

.reservation-customer-facts,
.reservation-price {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.reservation-customer-facts > div,
.reservation-price > div,
.reservation-fixed-vehicle,
.reservation-status {
  box-sizing: border-box;
  min-height: 66px;
  padding: 12px 13px;
  border: 1px solid #d8e0e3;
  border-radius: 12px;
  background: #fff;
}

.reservation-customer-facts .is-wide {
  grid-column: 1 / -1;
}

.reservation-customer-facts dt {
  color: #667786;
  font-size: 12px;
  font-weight: 800;
}

.reservation-customer-facts dd {
  margin: 5px 0 0;
  color: #172433;
  font-size: 15px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.reservation-driver-section {
  padding-top: 16px;
  border-top: 1px solid #dce4e8;
}

.reservation-editor.has-second-driver .reservation-booking-card {
  grid-column: 1 / -1;
}

#reservation-editor-form .reservation-booking-card {
  grid-column: 1 / -1;
}

.reservation-modern-tariff .operation-inline-tariff {
  margin-top: 0;
}

/* Reservierungsbearbeitung verwendet dieselben kompakten Bausteine wie Schritt 2. */
.dialog:has(#reservation-editor-form) { width: min(1480px, 97vw); }
#reservation-editor-form.reservation-editor { display: grid; grid-template-columns: 1fr; gap: 12px; }
#reservation-editor-form [hidden] { display: none !important; }
.reservation-editor-tabs { display: flex; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid #d9e0e5; }
.reservation-editor-tabs button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: #eef2f5; color: #5c6d7e; font: inherit; font-weight: 800; cursor: pointer; }
.reservation-editor-tabs button.is-active { background: #ffdd16; color: #151515; }
.reservation-compact-context { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.reservation-compact-customer,.reservation-compact-vehicle { min-width: 0; min-height: 64px; padding: 10px 13px; border: 1px solid #d8e0e3; border-radius: 12px; background: #f3f6f4; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 4px 12px; align-items: center; }
.reservation-compact-vehicle { border-color: #ead16a; background: #fffdf2; }
.reservation-compact-customer > span:first-child,.reservation-compact-vehicle > span { color:#667786; font-size:12px; font-weight:800; }
.reservation-compact-customer > strong,.reservation-compact-vehicle > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reservation-compact-vehicle > span { grid-column:1/-1; }
.reservation-compact-vehicle > small { justify-self:end; color:#172433; font-size:15px; white-space:nowrap; }
.reservation-compact-driver { grid-column:1/-1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px 12px; align-items:center; padding-top:7px; border-top:1px solid #dce4e8; }
.reservation-compact-driver > span:first-child { color:#667786; font-size:12px; font-weight:800; }
.reservation-compact-driver-actions { display:flex; gap:6px; }
#reservation-editor-form .reservation-compact-customer .reservation-secondary { min-height:34px; padding:0 11px; font:inherit; font-weight:800; border-radius:11px; align-self:center; }
#reservation-editor-form .reservation-booking-card { padding: 0; border: 0; }
#reservation-editor-form .reservation-period { margin-bottom: 10px; }
#reservation-editor-form .reservation-modern-tariff .operation-inline-tariff { padding:14px; }

/* Die Tarif-CSS war bislang auf .operation-wizard begrenzt. */
#reservation-editor-form .operation-tariff-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; }
#reservation-editor-form .operation-tariff-block { min-width:0; padding:12px; border:1px solid #d8e0e3; border-radius:10px; background:#f8fafb; }
#reservation-editor-form .operation-tariff-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; min-height:38px; }
#reservation-editor-form .operation-tariff-heading span { color:#667786; font-size:12px; font-weight:800; }
#reservation-editor-form .operation-tariff-heading strong { color:#172433; font-size:16px; }
#reservation-editor-form .operation-tariff-breakdown { list-style:none; margin:10px 0 0; padding:0; }
#reservation-editor-form .operation-tariff-breakdown li { display:flex; justify-content:space-between; gap:12px; min-height:31px; align-items:center; }
#reservation-editor-form .operation-tariff-breakdown .is-total { border-top:1px solid #d9e0e5; padding-top:8px; }
#reservation-editor-form .operation-tariff-breakdown .is-grand-total { background:#fff8cc; border:1px solid #ead064; border-radius:8px; margin-top:5px; padding:8px; }
#reservation-editor-form .operation-extra-km-row { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
#reservation-editor-form .operation-extra-km-row label { color:#667786; font-size:12px; font-weight:800; }
#reservation-editor-form .operation-extra-km-control { display:grid; grid-template-columns:86px auto; gap:7px; align-items:center; color:#172433; font-size:13px; font-weight:800; }
#reservation-editor-form .operation-extra-km-control input { box-sizing:border-box; width:86px; height:38px; padding:0 11px; border:1px solid #cbd5dc; border-radius:9px; background:#fff; color:#172433; font:inherit; font-weight:700; text-align:right; }
.reservation-extras-panel > h3,.reservation-review-panel > h3 { margin:0 0 12px; }
.reservation-note-card { padding:12px; }
.reservation-note-card textarea { min-height:52px; height:52px; }

@media(max-width:900px){.reservation-compact-context,#reservation-editor-form .operation-tariff-columns{grid-template-columns:1fr}.reservation-compact-vehicle>small{justify-self:start}.reservation-compact-customer,.reservation-compact-vehicle{grid-template-columns:1fr}.reservation-compact-driver{grid-template-columns:1fr}}

.reservation-driver-header {
  margin-bottom: 12px;
}

.reservation-driver-header > div:last-child {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.reservation-add-driver {
  width: 100%;
}

.reservation-driver-modal {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(0, 0, 0, .34);
  backdrop-filter: blur(2px);
}

.reservation-driver-dialog {
  display: flex;
  flex-direction: column;
  width: min(1800px, calc(100vw - 48px));
  max-height: 86vh;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .3);
}

.reservation-driver-dialog > header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border-bottom: 1px solid #e2e5e7;
}

.reservation-driver-dialog > header span {
  color: #8a7600;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.reservation-driver-dialog > header h2 {
  margin: 3px 0 0;
}

.reservation-driver-dialog > header button {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: #f0f0ec;
  font-size: 24px;
  cursor: pointer;
}

.reservation-driver-picker {
  display: grid;
  min-height: 0;
  gap: 14px;
  padding: 20px 22px;
}

.reservation-driver-picker .operation-customer-table-wrap {
  max-height: 55vh;
  overflow-x: auto;
  overflow-y: auto;
}

.reservation-driver-picker .operation-customer-table {
  width: 100%;
  min-width: 1200px;
  height: auto;
  table-layout: fixed;
}

.reservation-driver-picker .operation-customer-table th:nth-child(1) { width: 60px; }
.reservation-driver-picker .operation-customer-table th:nth-child(2) { width: clamp(120px, 8vw, 150px); }
.reservation-driver-picker .operation-customer-table th:nth-child(3) { width: auto; }
.reservation-driver-picker .operation-customer-table th:nth-child(4) { width: 115px; }
.reservation-driver-picker .operation-customer-table th:nth-child(5) { width: 120px; }
.reservation-driver-picker .operation-customer-table th:nth-child(6) { width: clamp(100px, calc(30vw - 310px), 270px); }
.reservation-driver-picker .operation-customer-table th:nth-child(7) { width: 110px; }
.reservation-driver-picker .operation-customer-table th:nth-child(8) { width: 150px; }
.reservation-driver-picker .operation-customer-table th:nth-child(9) { width: 185px; }
.reservation-driver-picker .operation-customer-table th:nth-child(10) { width: 190px; }
.reservation-driver-picker .operation-customer-table th { white-space: normal; overflow-wrap: anywhere; padding: 10px 8px; }
.reservation-driver-picker .operation-customer-table thead th { position:sticky;top:0;z-index:2;background:#182128;box-shadow:0 1px 0 #d5dde3; }
.reservation-driver-picker .operation-customer-table td:nth-child(2) { white-space:normal;overflow-wrap:anywhere;text-overflow:clip; }
.reservation-driver-picker .operation-customer-table th:nth-child(5),
.reservation-driver-picker .operation-customer-table th:nth-child(7) { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.reservation-driver-picker .operation-customer-table td:nth-child(8) { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
.reservation-driver-picker .operation-customer-table .operation-customer-status { white-space: normal; }
.reservation-driver-picker .operation-customer-status .operation-customer-warning { display:block; font-size:12px; line-height:1.35; }

.reservation-driver-picker .operation-ineligible-action {
  display: grid;
  gap: 6px;
  justify-items: end;
}
.reservation-driver-picker .operation-customer-warning {
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}

.reservation-driver-picker .operation-customer-table td {
  height: 48px;
  padding: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reservation-driver-picker .operation-customer-table tbody,
.reservation-driver-picker .operation-customer-table tr {
  height: auto;
}

.reservation-driver-picker .operation-customer-action {
  min-height: 0;
}

.reservation-driver-picker .operation-select-customer {
  min-height: 36px;
  padding: 0 11px;
  font-size: 12px;
}
.reservation-driver-picker .operation-edit-customer { min-height:36px; }
.reservation-driver-picker .operation-customer-action { justify-content:flex-end; }

.reservation-driver-dialog-actions {
  display: flex;
  justify-content: flex-end;
}

.reservation-driver-picker label,
.reservation-period label,
.reservation-note-card label {
  display: grid;
  gap: 7px;
  color: #172433;
  font-weight: 800;
}

.reservation-driver-picker input,
.reservation-date-time input,
.reservation-date-time select {
  box-sizing: border-box;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #d8e0e3;
  border-radius: 11px;
  background: #fff;
  color: #172433;
  font: inherit;
}

.reservation-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.reservation-status div {
  display: grid;
  gap: 5px;
}

.reservation-status strong {
  font-size: 18px;
}

.reservation-period {
  gap: 12px;
}

.reservation-period label {
  grid-template-columns: 1fr;
}

.reservation-date-time {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 105px;
  gap: 8px;
}

.reservation-fixed-vehicle {
  display: grid;
  gap: 5px;
}

.reservation-fixed-vehicle strong,
.reservation-price strong {
  color: #172433;
  font-size: 16px;
}

.reservation-price > div {
  display: grid;
  align-content: center;
  gap: 5px;
}

.reservation-price-compact {
  gap: 7px 10px;
}

.reservation-price-compact > div,
.reservation-price-compact > label {
  min-height: 55px;
  border: 1px solid #dbe2e6;
  border-radius: 10px;
  background: #f6f8f9;
  padding: 8px 11px;
}

.reservation-price-compact > .rental-amount-due {
  grid-column: 1 / -1;
  min-height: 64px;
  border-color: #d0ad00;
  background: #fff7ca;
}

.rental-amount-due strong {
  color: #9a6500;
  font-size: 20px;
}

.reservation-tariff-breakdown {
  grid-column: 1 / -1;
  display: grid;
  gap: 5px;
  padding: 9px 11px;
  border: 1px solid #dbe2e6;
  border-radius: 10px;
  background: #fff;
}

.reservation-tariff-breakdown > span {
  margin-bottom: 2px;
  color: #667786;
  font-size: 12px;
  font-weight: 800;
}

.reservation-tariff-breakdown > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.reservation-tariff-breakdown > div strong {
  font-size: 14px;
}

.reservation-tariff-breakdown .is-total {
  margin-top: 3px;
  padding-top: 6px;
  border-top: 1px solid #dbe2e6;
}

.reservation-extra-km {
  display: grid;
  gap: 4px;
}

.reservation-extra-km input {
  min-height: 28px;
  border: 1px solid #cbd4da;
  border-radius: 7px;
  background: #fff;
  padding: 3px 8px;
  font: inherit;
  font-weight: 800;
}

.reservation-extra-km-note {
  margin: 0;
  color: #6d7d8a;
  font-size: 13px;
  font-weight: 700;
}

.reservation-recalculate {
  width: 100%;
  border-color: #ffdd16;
  background: #ffdd16;
}

.reservation-extras {
  gap: 10px;
}

.reservation-extras label {
  border-radius: 11px;
  background: #fff;
}

.reservation-empty {
  margin: 0;
  color: #667786;
}

.reservation-extras-card {
  gap: 8px;
  padding-block: 14px;
}

.reservation-extras-card h3 {
  margin: 0;
}

.reservation-note-card textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 96px;
  padding: 13px 14px;
  border: 1px solid #d8e0e3;
  border-radius: 12px;
  background: #fff;
  color: #172433;
  font: inherit;
  line-height: 1.45;
  resize: vertical;
}

.reservation-note-card textarea:focus,
.reservation-driver-picker input:focus,
.reservation-date-time input:focus,
.reservation-date-time select:focus {
  outline: none;
  border-color: #d3b800;
  box-shadow: 0 0 0 3px rgba(255, 221, 22, .22);
}

.reservation-actions .save {
  border-color: #ffdd16;
  background: #ffdd16;
}

.reservation-actions {
  position: sticky;
  bottom: -1px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0 2px;
  background: #fff;
}

/* Mietvertrag: Der Inhalt scrollt unabhängig vom nachfolgenden Aktionsbereich. */
.dialog:has(.rental-operation-view) {
  height: min(820px, 94vh);
}

.dialog:has(.rental-operation-view) .dialog-content {
  display: flex;
  flex: 1 1 auto;
  overflow: hidden;
}

.rental-operation-view {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  gap: 0;
  overflow: hidden;
}

.rental-operation-content,
.rental-tab-panel {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

.rental-operation-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  align-items: start;
  padding-right: 8px;
}

.rental-operation-view .reservation-customer-card {
  gap: 12px;
  padding: 16px;
}

.rental-operation-view .rental-customer-facts {
  gap: 8px;
}

.rental-operation-view .rental-customer-facts > div {
  min-height: 0;
  padding: 9px 10px;
}

.rental-operation-view .rental-customer-facts dd {
  margin-top: 3px;
}

.rental-operation-footer {
  position: static;
  z-index: auto;
  justify-content: space-between;
  flex: 0 0 auto;
  margin-top: 16px;
  padding: 14px 0 2px;
  border-top: 1px solid #d8e0e3;
}

.rental-operation-footer > .rental-contract-print-error {
  flex: 1 1 auto;
  margin: 0 12px;
}

.rental-final-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;padding:10px 14px;border:1px solid #9bcba8;border-radius:10px;background:#edf8f0;color:#176b2c}
.rental-final-status strong{text-transform:uppercase;letter-spacing:.03em}
.rental-final-status span{font-size:12px;font-weight:700;color:#456b4f;text-align:right}
.dialog>header:has(>.rental-final-status){display:grid;grid-template-columns:max-content minmax(0,1fr) 42px;gap:18px;align-items:center}
.dialog>header>.rental-final-status{min-width:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;padding:9px 12px;line-height:1.4}
.dialog>header>.rental-final-status>strong{font-size:13px;min-width:0;overflow-wrap:break-word}
.dialog>header>.rental-final-status>span{min-width:0;white-space:normal;overflow-wrap:break-word;text-align:left}
.dialog>header:has(>.rental-final-status)>#dialog-close{width:42px;min-width:42px;justify-self:end}
@media(max-width:760px){
 .dialog>header:has(>.rental-final-status){grid-template-columns:minmax(0,1fr) 42px;gap:10px}
 .dialog>header:has(>.rental-final-status)>div{grid-column:1;grid-row:1;min-width:0}
 .dialog>header>.rental-final-status{grid-column:1/-1;grid-row:2}
 .dialog>header:has(>.rental-final-status)>#dialog-close{grid-column:2;grid-row:1}
}
.dialog button:is([data-finalize-operation],[data-confirm-finalize-operation]){background:var(--dx-completed-green)!important;border-color:var(--dx-completed-green)!important;color:#fff!important}
.dialog button:is([data-finalize-operation],[data-confirm-finalize-operation]):hover:not(:disabled){background:var(--dx-completed-green-hover)!important;border-color:var(--dx-completed-green-hover)!important}
.dialog button:is([data-finalize-operation],[data-confirm-finalize-operation]):active:not(:disabled){background:var(--dx-completed-green-active)!important}
.dialog button:is([data-finalize-operation],[data-confirm-finalize-operation]):focus-visible{outline:3px solid #176b45;outline-offset:3px}
.dialog button:is([data-finalize-operation],[data-confirm-finalize-operation]):disabled{opacity:.55;cursor:not-allowed}
.dispatch-event-bar.is-finalized:not(.is-rental-contract){background:#667783!important;border-color:#45545d!important;color:#fff!important;box-shadow:0 1px 3px rgba(25,36,43,.3)!important}

.rental-checkout-notice-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:22px;background:rgba(13,20,26,.62);backdrop-filter:blur(4px)}
.rental-checkout-notice{width:min(520px,calc(100vw - 32px));padding:24px;border:2px solid #f0c400;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.34);color:#17232d}
.rental-checkout-notice-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border-radius:50%;background:#ffdb00;color:#17232d;font-size:24px;font-weight:950}
.rental-checkout-notice h3{margin:0 0 12px;text-transform:uppercase;letter-spacing:.02em}.rental-checkout-notice p{margin:8px 0;line-height:1.45}.rental-checkout-notice ul{margin:8px 0 10px;padding-left:24px;font-weight:800}.rental-checkout-notice small{display:block;margin:16px 0;padding:10px 12px;border-radius:9px;background:#f3f6f7;color:#596b79;line-height:1.55}.rental-checkout-notice button{display:block;min-width:110px;min-height:42px;margin-left:auto;padding:0 20px;border:1px solid #e0b900;border-radius:11px;background:#ffdb00;color:#151515;font:850 14px inherit;cursor:pointer}.rental-checkout-notice button:hover{background:#ffc800}
.rental-checkout-submit.is-checkout-attention{transform-origin:center;animation:rental-checkout-attention 1.25s ease-in-out infinite;background:#ffda00!important;color:#111!important;box-shadow:0 0 0 0 rgba(255,194,0,.5)}
@keyframes rental-checkout-attention{0%,100%{background:#ffda00;transform:scale(1);box-shadow:0 2px 5px rgba(64,48,0,.18)}50%{background:#ffb900;transform:scale(1.025);box-shadow:0 7px 20px rgba(255,174,0,.55)}}
.rental-workflow-tabs button.is-billing-attention{animation:rental-billing-attention 1.25s ease-in-out infinite;color:#17232e!important;outline:none!important;box-shadow:none!important}
@keyframes rental-billing-attention{0%,100%{background:#fff3b0}50%{background:#ffc400}}
.rental-billing-close-notice{border:2px solid #ffd500;border-radius:18px;padding:24px;width:calc(100vw - 48px);max-width:540px;box-sizing:border-box;color:#1b2936;background:#fff;box-shadow:0 20px 65px #0004}
.rental-billing-close-notice::backdrop{background:#18232e99;backdrop-filter:blur(3px)}
.rental-billing-close-notice h3{font-size:18px;text-transform:uppercase;line-height:1.4}
.rental-billing-close-notice p,.rental-billing-close-notice li{line-height:1.6}
.rental-billing-close-notice li{font-weight:700}
@media(prefers-reduced-motion:reduce){.rental-workflow-tabs button.is-billing-attention{animation:none;background:#ffc400!important}}
@media(prefers-reduced-motion:reduce){.rental-checkout-submit.is-checkout-attention{animation:none;background:#ffc400!important;box-shadow:0 0 0 3px #715600,0 5px 14px rgba(255,174,0,.4)!important}}

.reservation-actions-left,
.reservation-actions-right,
.reservation-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.reservation-danger {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #c93932;
  border-radius: 11px;
  background: #fff;
  color: #a72924;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.reservation-danger:hover {
  background: #fff2f1;
}

.reservation-confirm {
  display: grid;
  gap: 12px;
}

.reservation-confirm p {
  margin: 0;
}

.reservation-confirm-actions {
  justify-content: flex-end;
  align-items: center;
  margin-top: 8px;
}

.reservation-confirm-actions button {
  box-sizing: border-box;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 11px;
  color: #172433;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  appearance: none;
}

.reservation-confirm-actions .small-primary {
  border: 1px solid #ffdd16;
  background: #ffdd16;
  color: #151515;
}

.reservation-confirm-actions .small-primary:hover {
  border-color: #e8c800;
  background: #e8c800;
}

.reservation-confirm-actions button:focus-visible {
  outline: 3px solid rgba(255, 221, 22, .45);
  outline-offset: 2px;
}

@media (max-width: 780px) {
  .reservation-customer-facts,
  .reservation-price {
    grid-template-columns: 1fr;
  }

  .reservation-customer-facts .is-wide {
    grid-column: auto;
  }

  .reservation-card header,
  .reservation-driver-header,
  .reservation-status {
    align-items: stretch;
    flex-direction: column;
  }

  .reservation-driver-header > div:last-child {
    justify-content: stretch;
  }

  .reservation-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .reservation-actions-left,
  .reservation-actions-right {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Schritt 2: Zeitraum und Tarif im einheitlichen DX-Car's-Formularraster. */
.operation-wizard .operation-details-grid {
  align-items: start;
}

.operation-wizard .operation-details-grid > label > span:first-child {
  color: #172433;
  font-weight: 800;
}

/* Schritt 2 verwendet dieselbe kompakte Formularsprache wie die Kundenmaske. */
.operation-wizard .operation-details-grid > label {
  gap: 7px;
  font-size: 14px;
  line-height: 1.2;
}

.operation-wizard .operation-details-grid > label input,
.operation-wizard .operation-details-grid > label select {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #deded8;
  border-radius: 11px;
  background: #fff;
  color: #172433;
  font: inherit;
  font-size: 15px;
  line-height: 1.2;
  box-shadow: none;
}

.operation-wizard .operation-details-grid > label select {
  cursor: pointer;
}

.operation-wizard .operation-details-grid > label input:focus,
.operation-wizard .operation-details-grid > label select:focus {
  border-color: #d3b800;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(211, 184, 0, 0.12);
}

.operation-wizard .operation-date-time {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 10px;
}

.operation-wizard .operation-date-time input[type='date'],
.operation-wizard .operation-date-time input[type='time'] {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  height: 44px;
  margin: 0;
  padding-inline: 12px;
}

.operation-wizard .operation-virtual-group-field {
  grid-column: 1;
}

.operation-wizard .operation-selected-vehicle,
.operation-wizard .operation-tariff-summary {
  padding: 14px;
  align-content: start;
}

.operation-wizard .operation-selected-vehicle {
  align-self: start;
  min-height: 0;
}

.operation-wizard .operation-tariff-actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.operation-wizard .operation-tariff-error {
  background: #fff3f1;
  border-left: 4px solid #d94435;
  border-radius: 12px;
  color: #8c2f28;
  font-size: 14px;
  font-weight: 700;
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px 15px;
}

.operation-wizard .operation-customer-summary {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 12px;
}

/* Schritt 2: Mieter und Dispo-Fahrzeug als ruhige, gleichwertige Kopfkarten. */
.operation-wizard .operation-context-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  margin-bottom: 10px;
}

.operation-wizard .operation-context-summary .operation-customer-summary,
.operation-wizard .operation-context-summary .operation-selected-vehicle {
  box-sizing: border-box;
  min-height: 62px;
  height: 100%;
  margin: 0;
  padding: 10px 12px;
}

.operation-wizard .operation-context-summary .operation-customer-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.operation-wizard .operation-context-summary .operation-selected-vehicle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 10px;
  align-content: center;
  align-items: baseline;
}

.operation-wizard .operation-context-summary .operation-selected-vehicle > span {
  grid-column: 1 / -1;
}

.operation-wizard .operation-context-summary .operation-selected-vehicle > strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.operation-wizard .operation-context-summary .operation-selected-vehicle > small {
  justify-self: end;
  white-space: nowrap;
  color: #172433;
  font-size: 16px;
  font-weight: 500;
}

.operation-wizard .operation-details-grid {
  gap: 10px 12px;
}

.operation-wizard .operation-details-grid .operation-tariff-summary {
  grid-column: 2;
}

/* Kompakte Zusatz-km-Eingabe mit fester, klar lesbarer Einheit. */
.operation-wizard .operation-extra-km-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.operation-wizard .operation-extra-km-control {
  display: grid;
  grid-template-columns: 86px auto;
  gap: 7px;
  align-items: center;
  color: #172433;
  font-size: 13px;
  font-weight: 800;
}

.operation-wizard .operation-extra-km-control input {
  width: 86px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Tarifkarte: Grundpreis und Kilometer in zwei klar getrennten Fachblöcken. */
.operation-wizard .operation-tariff-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.operation-wizard .operation-tariff-block {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d8e0e3;
  border-radius: 10px;
  background: #f8fafb;
}

.operation-wizard .operation-tariff-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
}

.operation-wizard .operation-tariff-heading span {
  color: #667786;
  font-size: 12px;
  font-weight: 800;
}

.operation-wizard .operation-tariff-heading strong {
  color: #172433;
  font-size: 16px;
}

.operation-wizard .operation-kilometer-block strong,
.operation-wizard .operation-extra-km-control,
.operation-wizard .operation-extra-km-control > span {
  color: #172433;
}

.operation-wizard .operation-tariff-block .operation-tariff-breakdown {
  margin-top: 10px;
}

.operation-tariff-price-table {
  display: grid;
  min-width: 0;
  margin-top: 6px;
}

.operation-tariff-price-head,
.operation-tariff-price-row {
  display: grid;
  grid-template-columns: 36px minmax(58px, 1fr) minmax(62px, .82fr) minmax(62px, .82fr);
  align-items: center;
  gap: 6px;
}

.operation-tariff-price-head {
  padding: 5px 0;
  border-bottom: 1px solid #d5dee4;
  color: #66798a;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.operation-tariff-price-row {
  min-height: 30px;
  padding: 4px 0;
  border-bottom: 1px solid #e1e7eb;
  color: #172433;
  font-size: 12px;
}

.operation-tariff-price-head > :nth-child(3),
.operation-tariff-price-head > :nth-child(4),
.operation-tariff-price-row > :nth-child(3),
.operation-tariff-price-row > :nth-child(4) {
  text-align: right;
  white-space: nowrap;
}

.operation-tariff-price-head > :nth-child(2),
.operation-tariff-price-row > :nth-child(2) {
  min-width: 58px;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

.operation-tariff-price-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
  padding-top: 7px;
  color: #172433;
  font-size: 12px;
  font-weight: 800;
}

.operation-tariff-price-total strong { white-space: nowrap; }

@media (max-width: 760px) {
  .operation-wizard .operation-context-summary {
    grid-template-columns: 1fr;
  }

  .operation-wizard .operation-details-grid .operation-tariff-summary {
    grid-column: 1;
  }

  .operation-wizard .operation-tariff-columns {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .operation-wizard .operation-tariff-columns {
    grid-template-columns: 1fr;
  }
}

.operation-wizard #operation-change-customer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d3d8dc;
  border-radius: 11px;
  background: #fff;
  color: #172433;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
}

.operation-wizard #operation-change-customer:hover {
  border-color: #aeb9c0;
  background: #f7f8f8;
}

/* Serverseitig geprüfte Tarifauswahl im Vorgangsassistenten. */
.operation-tariff-selector {
  display: grid;
  gap: 16px;
}

.operation-tariff-selector-context {
  display: grid;
  grid-template-columns: 2fr 1fr 1.4fr;
  gap: 10px;
}

.operation-tariff-selector-context > div,
.operation-tariff-proposal,
.operation-tariff-manual {
  padding: 14px;
  border: 1px solid #d8e0e3;
  border-radius: 12px;
  background: #fff;
}

.operation-tariff-selector-context span,
.operation-tariff-component-list small {
  display: block;
  color: #667786;
  font-size: 12px;
  font-weight: 700;
}

.operation-tariff-proposal h3,
.operation-tariff-manual h3 {
  margin: 0 0 10px;
}

.operation-tariff-manual > p {
  margin: -4px 0 12px;
  color: #667786;
}

.operation-tariff-component-list {
  display: grid;
  gap: 8px;
}

.operation-tariff-editor-grid {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr);
  gap: 12px;
  align-items: start;
}

.operation-inline-tariff {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #d6e0e7;
  border-radius: 14px;
  background: #fff;
}

.operation-inline-tariff .operation-tariff-editor-grid { align-items: stretch; }
.operation-inline-tariff h3 { margin: 0 0 10px; }

.operation-tariff-editor,
.operation-tariff-calculation {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d8e0e3;
  border-radius: 10px;
  background: #f8fafb;
}

.operation-tariff-editor h4,
.operation-tariff-calculation h4 {
  margin: 0 0 10px;
  color: #172433;
}

.operation-tariff-component {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #d8e0e3;
  border-radius: 10px;
  background: #f8fafb;
}

.operation-tariff-stepper {
  display: grid;
  grid-template-columns: 38px 64px 38px;
  align-items: center;
  flex: 0 0 auto;
  margin-left: auto;
}

.operation-tariff-stepper button,
.operation-tariff-stepper input {
  box-sizing: border-box;
  height: 38px;
  border: 1px solid #cdd7dc;
  background: #fff;
  color: #172433;
  font: inherit;
  font-weight: 800;
}

.operation-tariff-stepper button {
  padding: 0;
  cursor: pointer;
}

.operation-tariff-stepper button:first-child { border-radius: 9px 0 0 9px; }
.operation-tariff-stepper button:last-child { border-radius: 0 9px 9px 0; }

.operation-tariff-stepper input {
  width: 64px;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  text-align: right;
}

.operation-inline-tariff .operation-tariff-component {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
}

.operation-manual-tariff-status {
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #fff2cc;
  color: #7b5900;
  font-weight: 800;
}

.operation-manual-tariff-status.is-valid {
  background: #e2f4e7;
  color: #176c33;
}

#operation-manual-tariff-preview {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .operation-tariff-selector-context,
  .operation-tariff-editor-grid {
    grid-template-columns: 1fr;
  }
}

.operation-wizard #operation-change-customer:focus-visible {
  outline: 3px solid rgba(255, 221, 22, 0.45);
  outline-offset: 2px;
}

.operation-wizard .operation-availability-count {
  border-left: 4px solid #ffdd16;
  padding: 12px 15px;
}

.operation-wizard .operation-selected-vehicle.is-dispatch-context {
  background: #fffdf2;
  border-color: #ead16a;
}

.operation-wizard .operation-selected-vehicle small {
  color: #5d6e7d;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}

.operation-wizard .operation-vehicle-current {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
  align-items: center;
}

.operation-wizard .operation-vehicle-current strong {
  text-align: center;
}

.operation-wizard .operation-vehicle-current::after {
  content: '';
}

.operation-wizard .operation-context-note {
  margin-top: 13px;
  padding: 12px 15px;
  border-left: 4px solid #ffdd17;
  border-radius: 12px;
  background: #eff5ee;
  color: #314454;
}

.operation-wizard .operation-context-note.is-warning {
  border-left-color: #d94435;
  background: #fff3f1;
  color: #8c2f28;
}

.operation-wizard .operation-tariff-breakdown {
  border-top: 1px solid #d8e0e3;
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 8px 0 0;
  padding: 8px 0 0;
}

.operation-wizard .operation-tariff-breakdown li {
  display: flex;
  font-size: 13px;
  justify-content: space-between;
}

.operation-wizard .operation-tariff-breakdown .is-total {
  border-top: 1px solid #d8e0e3;
  font-weight: 800;
  margin-top: 2px;
  padding-top: 6px;
}

.operation-wizard .operation-tariff-breakdown .is-deposit {
  border-top: 1px solid #d8e0e3;
  margin-top: 3px;
  padding-top: 8px;
}

.operation-wizard .operation-secondary,
.operation-wizard .operation-footer .button-outline,
.operation-wizard .operation-footer .operation-cancel {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  color: #151515;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}

.operation-wizard .operation-secondary:hover,
.operation-wizard .operation-footer .button-outline:hover,
.operation-wizard .operation-footer .operation-cancel:hover {
  border-color: #d4bb00;
  background: #fffbe0;
}

.operation-wizard .operation-footer .small-primary {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--yellow);
  border-radius: 12px;
  background: var(--yellow);
  color: #151515;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 850;
}

.operation-wizard .operation-check-grid {
  gap: 12px;
}

.operation-wizard .operation-check-grid > div {
  min-height: 68px;
  padding: 13px 14px;
  align-content: center;
  box-sizing: border-box;
}

.operation-wizard .operation-review-sections {
  display: grid;
  gap: 12px;
}

.operation-wizard .operation-review-section {
  min-width: 0;
  padding: 12px 14px 14px;
  border: 1px solid #d8e0e3;
  border-radius: 12px;
  background: #fff;
}

.operation-wizard .operation-review-section > h2 {
  margin: 0 0 9px;
  color: #172433;
  font-size: 17px;
  line-height: 1.25;
}

.operation-wizard .operation-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.operation-wizard .operation-review-card {
  min-width: 0;
  padding: 0;
}

.operation-wizard .operation-review-card + .operation-review-card {
  padding-left: 22px;
  border-left: 1px solid #e0e5e7;
}

.operation-wizard .operation-review-card h3,
.operation-wizard .operation-review-card h4 {
  margin: 0;
  color: #172433;
}

.operation-wizard .operation-review-card h3 {
  margin-bottom: 7px;
  color: #667786;
  font-size: 13px;
}

.operation-wizard .operation-review-card h4 {
  margin-bottom: 8px;
  font-size: 14px;
}

.operation-wizard .operation-review-title {
  display: block;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.4;
}

.operation-wizard .operation-review-license {
  display: block;
  font-size: 17px;
  line-height: 1.3;
}

.operation-wizard .operation-review-vehicle {
  display: block;
  margin: 2px 0 6px;
  color: #334556;
  font-weight: 700;
}

.operation-wizard .operation-review-card dl {
  margin: 0;
}

.operation-wizard .operation-review-card dl > div,
.operation-wizard .operation-review-subtotal,
.operation-wizard .operation-review-service {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 6px 0;
  border-top: 1px solid #e0e5e7;
}

.operation-wizard .operation-review-card dt,
.operation-wizard .operation-review-period span,
.operation-wizard .operation-review-list small {
  color: #667786;
  font-size: 12px;
  font-weight: 750;
}

.operation-wizard .operation-review-card dd {
  min-width: 0;
  margin: 0;
  font-weight: 800;
  text-align: right;
  overflow-wrap: anywhere;
}

.operation-wizard .operation-review-period {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 4px;
}

.operation-wizard .operation-review-period > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 2px 0 5px;
}

.operation-wizard .operation-review-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.operation-wizard .operation-review-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 6px 0;
  border-top: 1px solid #e0e5e7;
}

.operation-wizard .operation-review-list li > span {
  display: grid;
  gap: 2px;
}

.operation-wizard .operation-review-subtotal {
  margin-top: 4px;
  font-weight: 850;
}

.operation-wizard .operation-review-grand-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #efc423;
  border-radius: 9px;
  background: #fff8cf;
  color: #172433;
  font-weight: 850;
}

.operation-wizard .operation-review-grand-total strong {
  color: #d67e00;
  font-size: 19px;
}

.operation-wizard .operation-review-services {
  display: grid;
  gap: 9px;
}

.operation-wizard .operation-review-service strong {
  white-space: nowrap;
}

.operation-wizard .operation-review-empty {
  margin: 0;
  padding: 4px 0;
  color: #667786;
}

.operation-wizard .operation-review-section--prices {
  background: #fbfcfc;
}

.operation-wizard .operation-review-card--prices {
  max-width: 620px;
  margin-left: auto;
}

.operation-wizard .operation-review-price-total {
  font-weight: 850;
}

.operation-wizard .operation-check-datetime {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.operation-wizard .operation-check-datetime .operation-check-date {
  color: #172433;
  font-size: 16px;
}

.operation-wizard .operation-check-datetime .operation-check-time {
  color: #172433;
  font-size: 16px;
  font-weight: 800;
  padding-left: 10px;
  border-left: 1px solid #d8e0e3;
}

.operation-wizard .operation-note {
  gap: 8px;
  margin-top: 18px;
  color: #172433;
}

.operation-wizard .operation-note textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  height: 64px;
  padding: 13px 14px;
  border: 1px solid #d8e0e3;
  border-radius: 12px;
  background: #fff;
  color: #172433;
  font: inherit;
  line-height: 1.45;
  resize: vertical;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.operation-wizard .operation-review-sections + .operation-note + .operation-footer {
  position: sticky;
  bottom: -24px;
  z-index: 4;
  margin: 12px -24px -24px;
  padding: 12px 24px 18px;
  border-top: 1px solid #e0e5e7;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 -8px 18px rgba(23, 36, 51, .05);
}

.operation-wizard .operation-review-sections + .operation-note + .operation-footer .operation-cancel {
  margin-right: auto;
}

.operation-wizard .operation-note textarea::placeholder {
  color: #8795a0;
}

.operation-wizard .operation-note textarea:focus {
  outline: none;
  border-color: #d3b800;
  box-shadow: 0 0 0 3px rgba(255, 221, 22, .22);
}

.operation-wizard .operation-review-compact {
  gap: 10px;
}

.operation-wizard .operation-review-head {
  display: grid;
  grid-template-columns: 1.05fr 1.25fr 1.2fr;
  gap: 0;
  padding: 10px 12px;
  border: 1px solid #d8e0e3;
  border-radius: 10px;
  background: #fff;
}

.operation-wizard .operation-review-head > div {
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
  padding: 0 14px;
  border-left: 1px solid #e0e5e7;
}

.operation-wizard .operation-review-head > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.operation-wizard .operation-review-head > div:last-child {
  padding-right: 0;
}

.operation-wizard .operation-review-head span,
.operation-wizard .operation-review-head small {
  color: #667786;
  font-size: 11px;
  font-weight: 700;
}

.operation-wizard .operation-review-head strong {
  min-width: 0;
  color: #172433;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.operation-wizard .operation-review-head small {
  overflow-wrap: anywhere;
}

.operation-wizard .operation-review-range {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.operation-wizard .operation-review-range i {
  color: #667786;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.operation-wizard .operation-review-range .operation-check-datetime {
  gap: 5px;
}

.operation-wizard .operation-review-range .operation-check-date,
.operation-wizard .operation-review-range .operation-check-time {
  font-size: 13px;
}

.operation-wizard .operation-review-range .operation-check-time {
  padding-left: 5px;
}

.operation-wizard .operation-review-columns {
  display: grid;
  grid-template-columns: 1fr 1.08fr .92fr;
  border: 1px solid #d8e0e3;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.operation-wizard .operation-review-column {
  min-width: 0;
  padding: 11px 13px;
  border-left: 1px solid #e0e5e7;
}

.operation-wizard .operation-review-column:first-child {
  border-left: 0;
}

.operation-wizard .operation-review-column--prices {
  background: #fbfcfc;
}

.operation-wizard .operation-review-column h2 {
  margin: 0 0 6px;
  color: #172433;
  font-size: 16px;
}

.operation-wizard .operation-review-column h3 {
  margin: 9px 0 3px;
  color: #172433;
  font-size: 12px;
}

.operation-wizard .operation-review-column dl {
  margin: 0;
}

.operation-wizard .operation-review-column dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
  border-top: 1px solid #e0e5e7;
}

.operation-wizard .operation-review-column dt {
  color: #667786;
  font-size: 12px;
  font-weight: 750;
}

.operation-wizard .operation-review-column dd {
  margin: 0;
  color: #172433;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.operation-wizard .operation-review-column .operation-review-list li,
.operation-wizard .operation-review-column .operation-review-subtotal,
.operation-wizard .operation-review-column .operation-review-service {
  padding: 5px 0;
}

.operation-wizard .operation-review-column .operation-review-list li:first-child {
  border-top: 0;
}

.operation-wizard .operation-review-column .operation-review-services {
  gap: 0;
  margin-top: 6px;
  padding-top: 2px;
  border-top: 1px solid #d5dde2;
}

.operation-wizard .operation-review-column .operation-review-empty {
  padding: 3px 0;
  font-size: 12px;
}

.operation-wizard .operation-review-compact + .operation-note {
  gap: 5px;
  margin-top: 10px;
  font-size: 13px;
}

.operation-wizard .operation-review-compact + .operation-note textarea {
  min-height: 42px;
  height: 42px;
  padding: 9px 11px;
  border-radius: 9px;
}

@media (max-width: 1100px) {
  .operation-wizard .operation-review-head {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operation-wizard .operation-review-head > div:nth-child(3) {
    grid-column: 1 / -1;
    margin-top: 8px;
    padding: 8px 0 0;
    border-top: 1px solid #e0e5e7;
    border-left: 0;
  }

  .operation-wizard .operation-review-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operation-wizard .operation-review-column--prices {
    grid-column: 1 / -1;
    border-top: 1px solid #e0e5e7;
    border-left: 0;
  }
}

.operation-extra-copy { display: inline-grid; gap: 2px; vertical-align: middle; }
.operation-extra-copy small { color: #667786; font-size: 12px; font-weight: 400; }
.operation-extra-copy em { margin-left: 0; }
.operation-extra-row--compact{padding-block:8px;gap:12px}.operation-extra-row--compact>span{display:flex;align-items:center;flex:1;min-width:0;gap:7px}.operation-extra-copy--two-lines{display:inline-grid;flex:1;gap:2px;min-width:0}.operation-extra-copy--two-lines>strong{white-space:nowrap}.operation-extra-copy--two-lines>small{line-height:1.25}.operation-extra-row--compact>strong{flex:none;min-width:72px;text-align:right}

.operation-wizard .operation-extras-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.operation-wizard .operation-price-panel {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d9e0e4;
  border-radius: 10px;
  background: #fff;
}

.operation-wizard .operation-price-panel h3 {
  margin: 0 0 14px;
  font-size: 18px;
}

.operation-wizard .operation-price-panel dl {
  grid-template-columns: minmax(145px, max-content) minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.operation-wizard .operation-price-panel dt,
.operation-wizard .operation-price-panel dd {
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid #e0e5e7;
}

.operation-wizard .operation-price-panel dt {
  padding-right: 18px;
  white-space: nowrap;
}

.operation-wizard .operation-price-panel dd {
  text-align: right;
}

.operation-wizard .operation-duration-summary {
  display: grid;
  gap: 4px;
}

.operation-wizard .operation-duration-line {
  display: block;
  line-height: 1.4;
}

.operation-wizard .operation-duration-line small {
  color: #667786;
  font-size: inherit;
  font-weight: 600;
}

.operation-wizard .operation-price-panel .operation-price-total {
  margin-top: 4px;
  border-bottom: 0;
  color: #172433;
  font-weight: 850;
}

.operation-wizard .operation-price-panel dd.operation-price-total {
  color: #d67e00;
  font-size: 18px;
}

@media (max-width: 760px) {
  .rental-operation-content {
    grid-template-columns: 1fr;
  }

  .operation-wizard .operation-date-time {
    grid-template-columns: 1fr;
  }

  .operation-wizard .operation-virtual-group-field {
    grid-column: auto;
  }

  .operation-wizard .operation-vehicle-current {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .operation-wizard .operation-vehicle-current strong {
    text-align: left;
  }

  .operation-wizard .operation-vehicle-current::after {
    display: none;
  }

  .operation-wizard .operation-extras-layout {
    grid-template-columns: 1fr;
  }

  .operation-wizard .operation-review-grid,
  .operation-wizard .operation-review-period,
  .operation-wizard .operation-review-services {
    grid-template-columns: 1fr;
  }

  .operation-wizard .operation-review-head,
  .operation-wizard .operation-review-columns {
    grid-template-columns: 1fr;
  }

  .operation-wizard .operation-review-head > div,
  .operation-wizard .operation-review-head > div:first-child,
  .operation-wizard .operation-review-head > div:nth-child(3) {
    grid-column: auto;
    margin-top: 0;
    padding: 7px 0;
    border-top: 1px solid #e0e5e7;
    border-left: 0;
  }

  .operation-wizard .operation-review-head > div:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .operation-wizard .operation-review-column,
  .operation-wizard .operation-review-column:first-child,
  .operation-wizard .operation-review-column--prices {
    grid-column: auto;
    border-top: 1px solid #e0e5e7;
    border-left: 0;
  }

  .operation-wizard .operation-review-column:first-child {
    border-top: 0;
  }

  .operation-wizard .operation-review-card + .operation-review-card {
    padding-top: 12px;
    padding-left: 0;
    border-top: 1px solid #e0e5e7;
    border-left: 0;
  }

  .operation-wizard .operation-review-card--prices {
    max-width: none;
  }

  .operation-wizard .operation-review-sections + .operation-note + .operation-footer {
    bottom: -18px;
    margin-right: -18px;
    margin-bottom: -18px;
    margin-left: -18px;
    padding-right: 18px;
    padding-left: 18px;
  }

  .operation-wizard .operation-price-panel {
    padding: 14px;
    border-right: 1px solid #d9e0e4;
  }
}
/* Abschlussauswahl nach der Prüfung */
.operation-completion-choice { display: grid; gap: 20px; min-width: min(560px, 80vw); }
.operation-completion-choice > p { margin: 0; color: #526579; }
.operation-deposit-method { display: grid; gap: 7px; font-weight: 800; }
.operation-deposit-method select { min-height: 42px; border: 1px solid #cbd5dc; border-radius: 10px; background: #fff; padding: 0 12px; font: inherit; }
.operation-deposit-method small { color: #667786; font-weight: 500; }
.operation-completion-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 12px; }
.operation-completion-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  color: #151515;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .08s ease;
}
.operation-completion-button--secondary:hover { border-color: #d4bb00; background: #fffbe0; }
.operation-completion-button--primary { border-color: var(--yellow); background: var(--yellow); font-weight: 850; }
.operation-completion-button--primary:hover { border-color: #d4bb00; background: #ffe52d; }
.operation-completion-button:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(255, 221, 22, .35); }
.operation-completion-button:active { transform: translateY(1px); }
.operation-completion-button:disabled { opacity: .62; cursor: wait; transform: none; }
@media (max-width: 620px) {
  .operation-completion-choice { min-width: 0; }
  .operation-completion-actions { grid-template-columns: 1fr; }
}
.rental-workflow-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 14px;border-bottom:1px solid #d5dee4}.rental-workflow-tabs button{white-space:nowrap;border:1px solid #d5dee4;border-radius:999px;background:#edf2f5;color:#627487;padding:9px 14px;font-weight:800}.rental-workflow-tabs button.is-active{background:#ffd600;border-color:#ffd600;color:#111}.rental-tab-panel{padding:20px 12px 20px 20px;border:1px solid #d5dee4;border-radius:14px;margin-top:16px}.rental-tab-panel[hidden]{display:none}.rental-tab-panel h3{margin:0 0 12px}.rental-document-actions,.rental-payment-summary,.rental-driver-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.rental-document-actions{margin-top:16px}.rental-workflow-form{display:grid;gap:14px}.rental-form-grid,.rental-driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rental-workflow-form label{display:grid;gap:6px;font-weight:700}.rental-workflow-form input,.rental-workflow-form select,.rental-workflow-form textarea{border:1px solid #ccd7de;border-radius:10px;padding:10px;font:inherit;background:#fff}.rental-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rental-checklist label{display:flex;align-items:center;gap:8px}.rental-workflow-summary,.rental-payment-list>div,.rental-payment-summary{padding:12px;border-radius:10px;background:#f3f6f7}.rental-workflow-summary,.rental-payment-list>div{display:flex;justify-content:space-between;gap:12px}.rental-payment-list{display:grid;gap:7px}.rental-payment-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.rental-operation-content[hidden]{display:none}.rental-invoice-list{display:grid;gap:9px}.rental-invoice-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #d5dee4;border-radius:10px}.rental-invoice-list article>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rental-invoice-list article span,.rental-empty-state{color:#6a7c8d}.rental-driver-grid>.reservation-card{padding:16px}.rental-driver-grid>.reservation-card>h3{margin:5px 0 12px}.rental-operation-view .reservation-fixed-vehicle small{display:block;margin-top:4px;color:#66798a;font-weight:600}.rental-tab-panel .operation-documents{margin-top:20px}

@media (max-width: 800px){.rental-operation-content,.rental-form-grid,.rental-driver-grid,.rental-payment-form{grid-template-columns:1fr}.rental-checklist{grid-template-columns:1fr}.rental-tab-panel{padding:14px 8px 14px 14px}.rental-invoice-list article{align-items:flex-start;flex-direction:column}.rental-invoice-list article>div:last-child{width:100%;justify-content:space-between}}
@media(max-width:800px){.rental-form-grid,.rental-checklist,.rental-payment-form{grid-template-columns:1fr}.rental-workflow-tabs{padding-bottom:10px}}

/* Mietvertrags-Workflow: kompakte, einheitliche DX-Cars-Darstellung */
.rental-operation-modern{height:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch}
.rental-operation-modern .rental-workflow-tabs{flex:0 0 auto}
.rental-workflow-toolbar{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #d5dee4}.rental-workflow-toolbar .rental-workflow-tabs{border-bottom:0;min-width:max-content}.rental-quick-note{position:relative;display:flex;flex:1 1 280px;min-width:160px;height:38px}.rental-quick-note input{width:100%;height:38px;min-width:0;box-sizing:border-box;border:1px solid #d5dee4;border-radius:999px;background:#f7f9fa;padding:0 14px;color:#17283a;font:inherit;font-weight:650;outline:none}.rental-quick-note input:focus{border-color:#e1bb00;box-shadow:0 0 0 3px rgba(255,214,0,.18);background:#fff}.rental-quick-note .inline-message{position:absolute;right:8px;top:41px;z-index:2;max-width:min(420px,80vw);margin:0;padding:3px 7px;border-radius:5px;background:#fff;color:#b42318;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rental-quick-note .inline-message:empty{display:none}
@media(max-width:900px){.rental-workflow-toolbar{align-items:stretch;flex-wrap:wrap}.rental-workflow-toolbar .rental-workflow-tabs{width:100%;padding-bottom:4px}.rental-quick-note{flex-basis:100%;margin-bottom:10px}}
.rental-operation-modern [data-rental-note-history]{box-sizing:border-box;width:100%;height:clamp(180px,34vh,360px);min-height:180px;resize:vertical;white-space:pre-wrap}
.rental-notes-panel{display:grid;gap:16px}.rental-notes-panel>h3{margin-bottom:0}.rental-note-section{display:grid;gap:7px}.rental-note-section>label{color:#17283a;font-weight:850}.rental-note-section textarea{box-sizing:border-box;width:100%;min-height:110px;border:1px solid #ccd7de;border-radius:11px;padding:12px;background:#fff;color:#17283a;font:inherit;line-height:1.45;resize:vertical}.rental-note-section textarea:focus{border-color:#e1bb00;outline:0;box-shadow:0 0 0 3px rgba(255,214,0,.16)}.rental-note-section>small{color:#6a7c8d}.rental-note-history{padding-top:14px;border-top:1px solid #d5dee4}
.rental-operation-modern>.rental-tab-panel{width:100%;flex:1 1 auto;min-height:0;overflow:auto;margin-top:8px;padding:9px}
.rental-operation-modern .rental-overview{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:10px}
.rental-operation-modern .rental-overview[hidden]{display:none}
.rental-person-card,.rental-contract-card{border:1px solid #d5dee4;border-radius:12px;padding:14px;background:#fff}
.rental-person-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.rental-person-card header span,.rental-contract-card span,.rental-billing-preview span{font-size:12px;font-weight:800;color:#66798a}
.rental-person-card h3{margin:4px 0 0}
.rental-person-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rental-expired-id-action{border:1px solid #c83333;border-radius:999px;background:#fff0f0;color:#a61f1f;cursor:pointer;font-size:11px;font-weight:800;line-height:1;padding:7px 10px;white-space:nowrap}.rental-expired-id-action:hover,.rental-expired-id-action:focus-visible{background:#c83333;color:#fff;outline:none;box-shadow:0 0 0 3px rgba(200,51,51,.18)}
.rental-second-driver-card{display:flex;flex-direction:column}
.rental-driver-panel{padding:12px!important}
.rental-driver-panel>h3{margin-bottom:9px}
.rental-driver-panel .rental-driver-grid{align-items:stretch;gap:10px}
.rental-driver-panel .rental-person-card{height:auto;min-height:0;padding:11px}
.rental-driver-panel .rental-person-card header{margin-bottom:8px}
.rental-driver-panel .rental-customer-facts{gap:7px}
.rental-driver-panel .rental-customer-facts>div{min-height:0;padding:7px 9px}
.rental-second-driver-card .inline-message:empty{display:none}
.rental-second-driver-card .rental-driver-actions--bottom{margin-top:9px;padding-top:9px;border-top:1px solid #e1e7eb;justify-content:flex-end}
.rental-second-driver-card .rental-driver-actions--bottom button{min-width:0}
@media(max-width:520px){.rental-second-driver-card .rental-driver-actions--bottom{justify-content:stretch}.rental-second-driver-card .rental-driver-actions--bottom button{flex:1 1 auto}}
.rental-contract-card{display:grid;gap:10px}
.rental-contract-card .reservation-price{margin-top:0}
.rental-operation-modern .rental-overview>.rental-overview-customer,
.rental-operation-modern .rental-overview>.rental-overview-contract{min-width:0}
.rental-operation-modern .rental-overview .rental-person-card,
.rental-operation-modern .rental-overview .rental-contract-card{height:100%;padding:9px;border-radius:11px}
.rental-operation-modern .rental-overview .rental-person-card header{margin-bottom:5px}
.rental-operation-modern .rental-overview .rental-person-card h3{margin-top:2px}
.rental-operation-modern .rental-overview .rental-customer-facts{gap:5px}
.rental-operation-modern .rental-overview .rental-customer-facts>div{min-height:42px;padding:5px 8px;border-radius:9px}
.rental-operation-modern .rental-overview .rental-customer-facts dt{font-size:11px}
.rental-operation-modern .rental-overview .rental-customer-facts dd{margin-top:2px;font-size:14px;line-height:1.2}
.rental-compact-checkout{margin-top:7px;padding-top:6px;border-top:1px solid #d5dee4}
.rental-compact-checkout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.rental-compact-checkout-head span{font-size:11px;color:#66798a}
.rental-compact-checkout-form{display:grid;grid-template-columns:.72fr 1fr;gap:5px 10px;align-items:end}.rental-compact-checkout-form>label{display:grid;gap:3px;font-size:11px;font-weight:800;color:#66798a}.rental-compact-checkout-form input[type="number"]{width:100%;height:32px;padding:0 34px 0 9px;border:1px solid #ccd7de;border-radius:8px;background:#fff;font:700 13px inherit}.rental-km-input{position:relative}.rental-km-input small{position:absolute;right:9px;top:8px;color:#66798a}
.rental-fuel-field{position:relative;align-self:end}.rental-fuel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;line-height:1}.rental-fuel-heading output{position:relative;top:-2px;color:#172433;font-size:11px;font-weight:900;text-align:right}.rental-fuel-segments{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;height:12px;margin:7px 4px 3px}.rental-fuel-segments i{display:block;border:1px solid #9fb0bb;border-radius:3px;background:#e8eef1;transition:background-color .12s,border-color .12s}.rental-fuel-segments i.is-filled{border-color:#006fe6;background:#087df0}.rental-fuel-field input[type="range"]{position:absolute;left:0;right:0;bottom:0;width:100%;height:22px;margin:0;cursor:pointer;opacity:.001}.rental-fuel-field:focus-within .rental-fuel-segments{outline:3px solid rgba(255,214,0,.34);outline-offset:2px;border-radius:3px}
.rental-cleanliness--compact{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.rental-cleanliness--compact legend{margin-bottom:2px;font-size:11px;line-height:1}.rental-cleanliness--compact span{padding:5px 3px;font-size:10px;border-radius:8px}
.rental-compact-checkout-form>button{grid-column:1/-1;min-height:32px!important}.rental-compact-checkout>.inline-message{margin:3px 0 0}.rental-compact-checkout>.inline-message:empty{display:none}
.rental-handover-time{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;margin:1px 0;padding:7px 8px;border:1px solid #d5dee4;border-radius:8px}.rental-handover-time legend{padding:0 4px;font-size:11px;font-weight:800;color:#172433}.rental-handover-time label{display:grid;gap:2px;font-size:10px;font-weight:700;color:#66798a}.rental-handover-time input{width:100%;height:31px;padding:0 8px;border:1px solid #ccd7de;border-radius:7px;background:#fff;font:700 12px inherit}.rental-handover-time small{grid-column:1/-1;color:#66798a;font-size:10px}.rental-handover-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:7px 8px;border:1px solid #d5dee4;border-radius:8px;background:#f4f7f9;font-size:11px}.rental-handover-summary span{font-weight:800;color:#66798a}.rental-handover-summary strong{color:#172433}.rental-handover-summary small{padding:3px 6px;border-radius:999px;font-weight:800}.rental-handover-summary.is-pending small{background:#fff2bf;color:#805f00}.rental-handover-summary.is-issued small{background:#e2f3e7;color:#176c2d}
.rental-late-return-dialog{border:2px solid #ffd500;border-radius:18px;padding:24px;max-width:560px;width:calc(100vw - 48px);box-sizing:border-box;color:#1b2936;font-family:"Segoe UI",Arial,sans-serif}.rental-late-return-time{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:14px 0;padding:12px;border:1px solid #d5dee4;border-radius:10px;background:#f7f9fa}.rental-late-return-time legend{padding:0 5px;font-weight:800}.rental-late-return-time label{display:grid;gap:4px;color:#66798a;font-size:12px;font-weight:800}.rental-late-return-time input,.rental-late-return-time select{width:100%;height:40px;box-sizing:border-box;padding:0 10px;border:1px solid #cbd6de;border-radius:8px;background:#fff;color:#172433;font:700 14px "Segoe UI",Arial,sans-serif}.rental-late-return-time small{grid-column:1/-1;color:#66798a;font-size:11px}.rental-late-return-calculation{display:grid;gap:0;padding:12px 14px;border-radius:10px;background:#fff8d5}.rental-return-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:0;padding:5px 0}.rental-return-metric span{min-width:0}.rental-return-metric strong{text-align:right;overflow-wrap:anywhere}.rental-return-metric.is-total{margin-top:3px;padding-top:9px;border-top:1px solid rgba(128,95,0,.18)}.rental-return-breakdown{display:grid;gap:8px;margin:8px 0 4px}.rental-return-tariff-block{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(128,95,0,.18);border-radius:8px;background:rgba(255,255,255,.48)}.rental-return-tariff-block strong,.rental-return-tariff-block span,.rental-return-tariff-block small{min-width:0;overflow-wrap:anywhere}.rental-return-tariff-block span{line-height:1.4}.rental-return-tariff-block small{color:#66798a}.rental-late-return-dialog>[data-return-question]{margin:26px 0 12px}.rental-late-return-dialog>.inline-message{min-height:20px;color:#b52d2d}.rental-late-return-dialog button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.rental-late-return-dialog{width:calc(100vw - 20px);padding:18px}.rental-late-return-time{grid-template-columns:1fr}.rental-late-return-time small{grid-column:1}.rental-return-metric{grid-template-columns:1fr;gap:2px}.rental-return-metric strong{text-align:left}.rental-late-return-dialog .reservation-confirm-actions{display:grid;grid-template-columns:1fr}.rental-late-return-dialog .reservation-confirm-actions button{width:100%}}
.rental-compact-checkout-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rental-compact-checkout-values>span{display:grid;gap:2px;padding:6px 7px;border:1px solid #d5dee4;border-radius:8px;color:#66798a;font-size:10px}.rental-compact-checkout-values strong{color:#172433;font-size:12px}
.rental-cleanliness--compact span{padding:5px 3px;font-family:inherit;font-size:11px;font-weight:800;line-height:1.15;border-radius:8px}
.rental-compact-checkout.is-complete{margin-top:7px;padding:7px 0 0}
.rental-compact-checkout.is-complete .rental-compact-checkout-head{min-height:24px;margin-bottom:5px}
.rental-compact-checkout.is-complete .rental-compact-checkout-head>strong{font-family:inherit;font-size:15px;font-weight:800;line-height:1.2;color:#172433}
.rental-compact-checkout.is-complete .rental-compact-checkout-head>span{font-family:inherit;font-size:11px;font-weight:700;color:#66798a}
.rental-compact-checkout-values{gap:5px}
.rental-compact-checkout-values>span{align-content:center;min-height:43px;padding:5px 7px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.15}
.rental-compact-checkout-values strong{font-family:inherit;font-size:13px;font-weight:800;line-height:1.2}
.rental-checkin-toggle{width:100%;min-height:34px!important;margin-top:6px}
.rental-checkin-editor{margin-top:6px;padding-top:6px;border-top:1px solid #d5dee4}
.rental-checkin-editor[hidden],.rental-checkin-editor [hidden]{display:none!important}
.rental-checkin-editor .rental-compact-checkout-head{margin-bottom:4px}
.rental-overview-contract{grid-template-rows:auto 1fr;gap:8px}
.rental-overview-head{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.rental-overview-head .reservation-status,
.rental-overview-head .reservation-fixed-vehicle{grid-column:1/-1}
.rental-overview-head .reservation-status,
.rental-overview-head .reservation-period>div,
.rental-overview-head .reservation-fixed-vehicle{min-height:0;padding:8px 10px;border-radius:9px}
.rental-overview-head .reservation-period{display:contents}
.rental-overview-head .reservation-status{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.rental-overview-head .reservation-status>div{display:grid;gap:2px}
.rental-overview-head .reservation-status>div:last-child{text-align:right}
.rental-overview-head .reservation-period strong,
.rental-overview-head .reservation-fixed-vehicle strong{font-size:14px;line-height:1.2}
.rental-overview-head .reservation-fixed-vehicle{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px}
.rental-overview-head .reservation-fixed-vehicle>span{grid-column:1/-1}
.rental-overview-head .reservation-fixed-vehicle small{font-size:12px;color:#66798a;white-space:nowrap}
.rental-overview-financials{display:grid;grid-template-columns:1.08fr .92fr;gap:7px;min-width:0}
.rental-overview-tariff,
.rental-overview-prices{min-width:0;padding:8px 10px;border:1px solid #d8e0e3;border-radius:9px;background:#f5f7f8}
.rental-overview-base-price,
.rental-overview-prices>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;padding:5px 0;border-bottom:1px solid #d5dee4}
.rental-overview-base-price span,
.rental-overview-prices>div span{font-size:12px;font-weight:800;color:#66798a}
.rental-overview-base-price strong,
.rental-overview-prices>div strong{font-size:14px;text-align:right;white-space:nowrap}
.rental-overview-tariff .operation-tariff-price-table{margin-top:3px}
.rental-overview-tariff .operation-tariff-price-head,.rental-overview-tariff .operation-tariff-price-row{grid-template-columns:42px minmax(72px,1fr) minmax(74px,.8fr) minmax(76px,.9fr);gap:7px}
.rental-overview-tariff .operation-tariff-price-head{padding:4px 0;font-size:9px}
.rental-overview-tariff .operation-tariff-price-row{min-height:25px;padding:3px 0;font-size:11px}
.rental-overview-tariff .operation-tariff-price-row strong{font-size:12px}
.rental-overview-tariff .operation-tariff-price-total{min-height:27px;margin-top:2px;padding:5px 0 2px;font-size:12px}
.rental-overview-tariff .operation-tariff-price-total strong{font-size:13px}
.rental-overview-prices{display:block}
.rental-overview-prices>div{min-height:30px;border-radius:0;background:transparent}
.rental-overview-prices>.rental-amount-due{margin-top:6px;padding:8px 9px;border:1px solid #efc228;border-radius:8px;background:#fff6c9}
.rental-overview-prices>.rental-amount-due span,
.rental-overview-prices>.rental-amount-due strong{color:#172433;font-size:14px}
.rental-billing-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.rental-billing-preview>div{display:grid;gap:4px;padding:10px;border:1px solid #d5dee4;border-radius:10px;background:#f5f7f8}
.rental-deposit-note,.rental-known-damage{padding:10px;border-radius:9px;background:#fff6cf;color:#765500}
.rental-deposit-card{padding:9px 14px}
.rental-deposit-card header{display:flex;align-items:center;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}
.rental-deposit-card-status{font-size:13px;font-weight:700}
.rental-deposit-card-status.is-returned{color:#176b35}
.rental-deposit-card p{margin:3px 0 8px;font-size:12px}
.rental-deposit-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px 14px;align-items:center;margin:0}
.rental-deposit-card dt{font-size:11px;margin-bottom:2px;white-space:nowrap}
.rental-deposit-card dd{margin:0;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.rental-deposit-card-action{display:flex;align-self:center;justify-self:end;gap:6px;min-width:0}.rental-deposit-card-action .reservation-danger,.rental-deposit-card-action .reservation-secondary,.rental-deposit-card-action .save{min-height:36px;height:36px;padding:0 13px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;white-space:nowrap}
.rental-deposit-return-history{margin-top:12px;border-top:1px solid #eadba0;padding-top:10px;font-size:13px}
.rental-deposit-return-history summary{cursor:pointer}
.rental-deposit-return-history>div{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding-top:8px}
@media(max-width:1050px){.rental-deposit-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-deposit-card-action{grid-column:1/-1;justify-self:start;flex-wrap:wrap}}@media(max-width:700px){.rental-deposit-card dl{grid-template-columns:1fr}.rental-deposit-card-action{grid-column:auto;width:100%}.rental-deposit-card-action button{max-width:100%;white-space:normal}.rental-deposit-card header{align-items:flex-start}}
.rental-deposit-holding{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rental-deposit-holding>div{display:grid;gap:2px;margin-right:auto}.rental-deposit-holding small{font-size:11px}.rental-deposit-holding .is-held{color:#176b35;border-color:#a9d9b8;background:#edf9f0}.rental-deposit-payment-status{display:flex;align-items:center;gap:18px;padding:10px 12px;border:1px solid #efc43a;border-radius:10px;background:#fffaf0}.rental-deposit-payment-status small{margin-left:auto;color:#66798a}.rental-overview-prices>div small{display:block;color:#66798a;font-size:10px;font-weight:700;text-align:right}
.rental-overview-prices>.rental-deposit-payment-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:5px 9px;color:#176b35;background:#edf9f0;overflow:hidden}.rental-deposit-payment-summary span{min-width:0;overflow-wrap:anywhere}.rental-deposit-payment-summary strong{justify-self:end;white-space:nowrap;text-align:right}.rental-deposit-payment-summary span,.rental-deposit-payment-summary strong{font-size:12px}
.rental-deposit-payment{display:grid;grid-template-columns:max-content minmax(120px,1fr) auto 160px 150px max-content;gap:8px 10px;align-items:end;padding:8px 12px;border:1px solid #d5dee5;border-radius:10px;background:#f7f9fa}
.rental-deposit-payment>label{display:grid;gap:3px;font-size:11px}.rental-deposit-payment input{box-sizing:border-box;width:100%;height:34px;min-height:34px}.rental-deposit-payment>[data-stage-deposit-payment]{height:34px;white-space:nowrap}
.rental-deposit-payment label{font-size:12px;font-weight:800;color:#627487;white-space:nowrap}
.rental-deposit-payment select{width:190px;height:34px;min-height:34px;padding:0 9px;border:1px solid #cbd6df;border-radius:8px;background:#fff;color:#182536;font:inherit;font-weight:700}
.rental-deposit-current-status{min-width:0;color:#627487;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rental-deposit-current-status strong{color:#182536}
.rental-invoice-direct-payment{padding:10px 14px;border:1px solid #d5dee5;border-radius:12px;background:#f7f9fa}.rental-invoice-direct-payment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.rental-invoice-direct-payment h3{margin:0;font-size:16px}.rental-invoice-direct-payment-heading p{margin:2px 0 0;color:#59636c;font-size:12px}.rental-invoice-direct-payment-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end}.rental-invoice-direct-payment-fields label{display:grid;gap:4px;font-size:11px;font-weight:800;color:#59636c}.rental-invoice-direct-payment-fields input,.rental-invoice-direct-payment-fields select{height:34px;min-width:0;border:1px solid #ccd2d6;border-radius:8px;padding:0 9px;background:#fff;font:inherit;color:#26333d}.rental-invoice-direct-payment-heading>.save{flex:0 0 auto;min-height:42px;height:42px;padding:0 16px;border:1px solid #ffdd16;border-radius:10px;background:#ffdd16;color:#151515;font:inherit;font-weight:800;cursor:pointer}.rental-invoice-direct-payment-heading>.save:hover{border-color:#f0c900;background:#f0c900}.rental-invoice-direct-payment-heading>.save:active{transform:translateY(1px)}
.rental-invoice-payment-credit{display:grid;grid-template-columns:minmax(0,1fr) 170px max-content;align-items:end;gap:12px;padding:11px 14px;border:1px solid #efc43a;border-radius:12px;background:#fff8d7}.rental-invoice-payment-credit>div{display:grid;gap:3px}.rental-invoice-payment-credit strong{color:#694f00;font-size:15px}.rental-invoice-payment-credit span,.rental-invoice-payment-credit small{color:#725f24;font-size:12px}.rental-invoice-payment-credit small:empty{display:none}.rental-invoice-payment-credit label{display:grid;gap:4px;color:#59636c;font-size:11px;font-weight:800}.rental-invoice-payment-credit input{box-sizing:border-box;width:100%;height:40px;border:1px solid #ccd2d6;border-radius:8px;padding:0 10px;background:#fff;font:inherit}.rental-invoice-payment-credit>.save{height:40px;padding:0 16px;border:1px solid #ffdd16;border-radius:10px;background:#ffdd16;font:inherit;font-weight:800;cursor:pointer}.rental-invoice-payment-credit>.save:disabled{cursor:not-allowed;opacity:.65}.rental-invoice-direct-payment.is-settled{opacity:.62}.rental-invoice-direct-payment.is-settled .rental-invoice-direct-payment-fields{display:none}
.rental-deposit-summary{display:block;min-width:0;color:#627487}
.rental-deposit-summary span{display:flex;align-items:baseline;gap:7px;min-width:0;white-space:nowrap}
.rental-deposit-summary strong{color:#182536;font-size:14px}
@media (max-width:760px){.rental-deposit-payment{grid-template-columns:1fr;gap:6px}.rental-deposit-current-status{white-space:normal;overflow:visible}.rental-deposit-payment select{width:100%;max-width:100%}}
@media(max-width:950px){.rental-invoice-direct-payment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.rental-invoice-direct-payment-heading{align-items:stretch;flex-direction:column}.rental-invoice-direct-payment-heading>.save{width:100%}.rental-invoice-direct-payment-fields{grid-template-columns:1fr}}
@media(max-width:760px){.rental-invoice-payment-credit{grid-template-columns:1fr}.rental-invoice-payment-credit>.save{width:100%}}
.rental-document-list{display:grid;gap:8px;margin-top:14px}
.rental-document-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #d5dee4;border-radius:10px}
.rental-document-list article>div{display:grid;gap:3px}.rental-document-list article span{color:#66798a;font-size:13px}
.rental-cleanliness{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rental-cleanliness legend{font-weight:800;margin-bottom:7px}.rental-cleanliness label{display:block;cursor:pointer}
.rental-cleanliness input{position:absolute;opacity:0}.rental-cleanliness span{display:block;text-align:center;padding:10px;border:1px solid #ccd7de;border-radius:10px;background:#fff}
.rental-cleanliness input:checked+span{border-color:#d5aa00;background:#fff5bd;box-shadow:inset 0 0 0 1px #d5aa00}
.rental-payment-summary{justify-content:space-between;margin-bottom:12px}
.rental-payment-form{grid-template-columns:1fr 1fr 1fr 1.2fr 1.5fr auto;margin-top:14px}
.rental-operation-modern .rental-operation-footer{flex:0 0 auto;position:static;padding:8px 0 0;margin-top:6px;background:#fff}
.rental-operation-modern button.save,.rental-operation-modern button.reservation-secondary{min-height:42px;border-radius:11px;padding:0 16px;font:inherit;font-weight:800}
.rental-operation-modern button.save{border:1px solid #ffd600;background:#ffd600;color:#111;cursor:pointer}
.rental-operation-modern button.save:hover{background:#f0c900;border-color:#f0c900}
.rental-operation-modern button.save:focus-visible{outline:3px solid rgba(255,214,0,.38);outline-offset:2px}
.rental-operation-modern button.save:active{transform:translateY(1px)}
@media(max-width:950px){.rental-operation-modern .rental-overview,.rental-billing-preview{grid-template-columns:1fr}.rental-overview-financials{grid-template-columns:1fr}.rental-payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-cleanliness{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rental-payment-form,.rental-cleanliness{grid-template-columns:1fr}.rental-operation-modern>.rental-tab-panel{padding:12px}.rental-document-list article{align-items:flex-start;flex-direction:column}}

/* Rechnungs- und Zahlungsverwaltung im Mietvertrag */
.rental-contract-number{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:0;padding:8px 10px;border:1px solid #d5dee4;border-radius:9px;background:#fff}
.rental-contract-number span{font-size:12px;font-weight:800;color:#66798a}
.rental-contract-number strong{font-size:16px;white-space:nowrap}
.rental-contract-change{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:8px 11px;border:1px solid #efc228;border-radius:9px;background:#fff6c9;color:#172433;font:inherit;font-weight:800;cursor:pointer;text-align:left}.rental-contract-change:hover{background:#ffef9c}.rental-contract-change span{color:#172433;font-size:14px}.rental-contract-change small{color:#66798a;font-size:11px;white-space:nowrap}
.rental-overview-prices>.rental-additional-due{margin-top:5px;background:#fff;border-color:#efc228}.rental-overview-prices>.rental-additional-due span,.rental-overview-prices>.rental-additional-due strong{color:#172433}
.rental-change-form{display:grid;gap:10px}.rental-change-form .reservation-compact-context{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rental-change-form .reservation-compact-customer,.rental-change-form .reservation-compact-vehicle{display:grid;gap:3px;padding:10px 12px;border:1px solid #d5dee4;border-radius:10px;background:#f5f7f8}.rental-change-form .reservation-compact-context span,.rental-change-period label>span:first-child{color:#66798a;font-size:12px;font-weight:800}.rental-change-period{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px}.rental-change-period>label{display:grid;gap:5px}.rental-change-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.rental-change-grid>.reservation-card{padding:12px}.rental-change-grid h3{margin:0 0 9px}.rental-change-calculation{display:grid;gap:7px}.rental-change-calculation label{display:grid;gap:4px;font-weight:700}.rental-change-calculation input{min-height:38px;border:1px solid #ccd7de;border-radius:9px;padding:7px 9px;font:inherit}.rental-change-calculation>div,.rental-change-extension-total,.rental-pending-changes>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #d5dee4}.rental-change-total{margin-top:4px;padding:10px!important;border:1px solid #efc228!important;border-radius:9px;background:#fff6c9}.rental-pending-changes{display:grid;gap:2px;margin-bottom:10px;padding:10px 12px;border:1px solid #efc228;border-radius:10px;background:#fff9dc}.rental-pending-changes>strong{margin-bottom:3px}.rental-pending-changes>div:last-child{border-bottom:0}
.rental-change-existing{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:11px}.rental-change-existing h3{grid-column:1/-1;margin:0}.rental-change-existing>div,.rental-change-confirm>div:not(.reservation-confirm-actions){display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid #d5dee4;border-radius:8px;background:#f7f9fa}.rental-change-existing span,.rental-change-confirm span{color:#66798a;font-weight:700}.rental-change-confirm{display:grid;gap:9px}
@media(max-width:800px){.rental-change-form .reservation-compact-context,.rental-change-period,.rental-change-grid{grid-template-columns:1fr}}
.rental-extension-wizard{grid-template-columns:1fr}.rental-extension-wizard .reservation-compact-context{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rental-extension-wizard .reservation-booking-card{padding:14px}.rental-extension-wizard .reservation-period>label{display:grid;align-content:start;gap:6px;min-width:0;padding:0}.rental-extension-wizard .reservation-period>label>span:first-child{color:#172433;font-size:14px;font-weight:800;line-height:1.2}.rental-extension-wizard .reservation-period>label>strong{display:flex;align-items:center;min-height:42px;color:#172433;font-size:14px}.rental-extension-wizard .reservation-date-time{width:100%}.rental-extension-wizard .operation-inline-tariff{margin-top:12px}@media(max-width:800px){.rental-extension-wizard .reservation-compact-context{grid-template-columns:1fr}}
.rental-extension-wizard.is-extension .reservation-period{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.rental-extension-fixed-time{display:grid;align-content:start;gap:6px;min-width:0}.rental-extension-fixed-time>span{color:#172433;font-size:14px;font-weight:800;line-height:1.2}.rental-extension-fixed-time>strong{display:flex;align-items:center;min-height:42px;border:1px solid #d8e0e3;border-radius:10px;background:#f6f8f9;padding:0 12px;color:#172433;font-size:14px}.rental-extension-fixed-time.is-previous-return>strong{border-color:#e0b900;background:#fff8d5}.rental-extension-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-top:12px;border:1px solid #c9d9e1;border-radius:10px;background:#f2f7f9;padding:10px 12px;color:#172433}.rental-extension-summary>span{color:#667786;font-size:12px;font-weight:800}.rental-extension-summary>strong{font-size:14px}.rental-extension-summary>strong i{margin:0 6px;color:#667786;font-style:normal;font-weight:700}.rental-extension-summary>small{font-size:12px;font-weight:800;white-space:nowrap}.rental-extension-summary.is-invalid{border-color:#d94a3a;background:#fff0ee;color:#9f2318}@media(max-width:900px){.rental-extension-wizard.is-extension .reservation-period{grid-template-columns:1fr}.rental-extension-summary{grid-template-columns:1fr}.rental-extension-summary>small{white-space:normal}}
.rental-invoice-table{margin-top:12px;border:1px solid #d5dee4;border-radius:10px;overflow:auto}
.rental-invoice-table table{width:100%;border-collapse:collapse;font-size:13px}
.rental-invoice-table th,.rental-invoice-table td{padding:10px 9px;border-bottom:1px solid #dce3e7;text-align:left;white-space:nowrap}
.rental-invoice-table th{background:#172433;color:#fff;font-size:11px;text-transform:uppercase}
.rental-invoice-table tbody tr:last-child td{border-bottom:0}
.rental-invoice-preview-table table{table-layout:fixed;min-width:640px}.rental-invoice-preview-table col.invoice-preview-quantity{width:18%}.rental-invoice-preview-table col.invoice-preview-service{width:44%}.rental-invoice-preview-table col.invoice-preview-unit-price{width:18%}.rental-invoice-preview-table col.invoice-preview-total{width:20%}.rental-invoice-preview-table th,.rental-invoice-preview-table td{overflow:hidden;text-overflow:ellipsis}.rental-invoice-preview-table th:nth-child(3),.rental-invoice-preview-table td:nth-child(3),.rental-invoice-preview-table th:nth-child(4),.rental-invoice-preview-table td:nth-child(4){text-align:right}.rental-invoice-preview-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere}.rental-invoice-preview-table td:nth-child(3),.rental-invoice-preview-table td:nth-child(4){white-space:nowrap}
.rental-new-invoice{margin-top:14px;padding:12px 14px;border:1px solid #d5dee4;border-radius:10px;background:#f7f9fa}
.rental-invoice-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.rental-invoice-heading>h3{margin:0!important}.rental-invoice-heading>.rental-new-invoice{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:0;padding:0;border:0;background:transparent}.rental-invoice-heading>.rental-new-invoice .inline-message{order:3;flex-basis:100%;margin:0;text-align:right}.rental-invoice-heading>.rental-new-invoice .inline-message:empty{display:none}@media(max-width:700px){.rental-invoice-heading{align-items:stretch;flex-direction:column}.rental-invoice-heading>.rental-new-invoice{justify-content:flex-start}.rental-invoice-heading>.rental-new-invoice button{flex:1 1 auto}}
.rental-merge-changes-dialog{display:grid;gap:14px}.rental-merge-changes-dialog>p{margin:0;color:#536574}.rental-merge-select-all{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d5dee4;border-radius:9px;background:#f5f7f8;font-weight:800}.rental-merge-select-all input,.rental-merge-change>input{width:18px;height:18px;accent-color:#e6b800}.rental-merge-change-list{display:grid;gap:10px;max-height:360px;overflow:auto}.rental-merge-change{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid #d5dee4;border-radius:11px;background:#fff;cursor:pointer}.rental-merge-change:has(input:checked){border-color:#e6b800;background:#fff9dc;box-shadow:0 0 0 1px #e6b800 inset}.rental-merge-change>span{display:grid;gap:7px}.rental-merge-change>span>small{color:#66798a;font-weight:700}.rental-merge-change-line,.rental-merge-change-total{display:flex;justify-content:space-between;gap:14px;padding-top:7px;border-top:1px solid #e2e8ec}.rental-merge-change-total{font-weight:800}.rental-merge-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:1px solid #d5dee4;border-radius:11px;background:#f7f9fa;overflow:hidden}.rental-merge-summary>div{display:grid;grid-template-rows:auto auto auto;align-content:center;justify-items:center;gap:5px;min-width:0;padding:16px 18px;text-align:center}.rental-merge-summary>div+div{border-left:1px solid #d5dee4}.rental-merge-summary span,.rental-merge-summary small{max-width:100%;color:#66798a;font-size:12px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.rental-merge-summary strong{max-width:100%;color:#172433;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.rental-merge-summary small{font-weight:700}.rental-merge-summary .is-total{background:#fff1a8}.rental-merge-empty,.rental-merge-state-note{padding:16px;border:1px solid #d5dee4;border-radius:10px;background:#f7f9fa}.rental-merge-changes-dialog>[data-merge-message]:empty{display:none}@media(max-width:700px){.rental-merge-summary>div{padding:14px 10px}.rental-merge-summary span,.rental-merge-summary small{font-size:11px}.rental-merge-summary strong{font-size:16px}.rental-merge-changes-dialog .reservation-actions{align-items:stretch;flex-direction:column}.rental-merge-changes-dialog .reservation-actions button{width:100%}}
.rental-new-invoice summary{padding:12px 14px;font-weight:800;cursor:pointer}
.rental-new-invoice form{padding:0 14px 14px}
.rental-invoice-preview{
  grid-template-columns:minmax(0,1fr);
  width:min(980px,100%);
  margin-inline:auto;
  align-items:stretch;
}
.rental-invoice-preview>.reservation-card{gap:8px;padding:10px 14px}
.rental-invoice-preview>.reservation-card,
.rental-invoice-preview>.reservation-card>.inline-message,
.rental-invoice-preview>.reservation-card>.reservation-actions{
  width:100%;
  box-sizing:border-box;
}
.dialog:has(.rental-invoice-preview)>header{padding-block:14px}.dialog:has(.rental-invoice-preview) .dialog-content{padding:8px 20px 12px}
.rental-invoice-preview-context{display:grid;grid-template-columns:1.25fr 1fr 1.55fr;gap:12px;margin-bottom:5px}
.rental-invoice-preview-context>div{display:flex;min-width:0;min-height:54px;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;border:1px solid #d5dee4;border-radius:10px;background:#f7f9fa}
.rental-invoice-preview-context strong{line-height:1.35;overflow-wrap:normal;word-break:normal}
.rental-invoice-preview-context span,.rental-invoice-preview-totals span{color:#64778a;font-size:12px;font-weight:700}
.rental-invoice-preview .rental-invoice-preview-table{margin-top:0}
.rental-invoice-preview-totals{width:min(360px,100%);margin:7px 0 7px auto}
.rental-invoice-preview-totals>div{display:flex;justify-content:space-between;gap:20px;padding:5px 4px;border-bottom:1px solid #dce3e7}
.rental-invoice-preview-totals .is-total{margin-top:3px;padding:8px 10px;border:1px solid #f0c400;border-radius:9px;background:#fff7c9}
.rental-pending-deposit-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 0;padding:10px;border:1px solid #e8bd20;border-radius:9px;background:#fff9dc}.rental-pending-deposit-preview>div{display:grid;gap:3px}.rental-pending-deposit-preview dt{color:#6d7d89;font-size:11px;font-weight:800}.rental-pending-deposit-preview dd{margin:0;font-weight:800}.rental-invoice-deposit-preview{width:min(720px,100%);margin:5px 0 5px auto}@media(max-width:700px){.rental-pending-deposit-preview{grid-template-columns:1fr 1fr}}
.rental-pending-change-items>.rental-pending-deposit-row{background:#fff8d8}.rental-pending-deposit-row strong{color:#8a6500}.rental-pending-change-compact>footer strong:last-child{font-size:16px}
.rental-invoice-preview>.reservation-card>.inline-message:empty{display:none}.rental-invoice-preview>.reservation-card>.reservation-actions{justify-content:space-between;margin-top:4px}
@media(min-width:761px) and (min-height:760px){.dialog:has(.rental-invoice-preview){max-height:94vh}.dialog:has(.rental-invoice-preview) .dialog-content{overscroll-behavior:contain}}
@media(max-width:760px){
  .rental-invoice-preview-context{grid-template-columns:1fr}
  .rental-invoice-preview-context>div{min-height:0}
}
.rental-payment-picker{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end;margin:12px 0}
.rental-payment-picker label{display:grid;gap:6px;font-weight:800;color:#66798a}
.rental-payment-picker select{min-height:42px;border:1px solid #ccd7de;border-radius:10px;padding:0 12px;background:#fff;font:inherit;color:#172433}
.rental-legacy-warning{margin-top:12px;padding:10px 12px;border-radius:9px;background:#fff2c6;color:#7b5700;font-weight:700}
@media(max-width:800px){.rental-payment-picker{grid-template-columns:1fr}.rental-payment-picker button{width:100%}}
.rental-pending-changes[data-invoice-pending-changes]{display:grid;gap:8px;margin-bottom:12px;padding:12px 14px;border:1px solid #efc228;border-radius:11px;background:#fff}.rental-pending-changes[data-invoice-pending-changes]>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.rental-pending-changes[data-invoice-pending-changes]>header>div{display:grid;gap:2px}.rental-pending-changes[data-invoice-pending-changes]>header small{color:#66798a;font-weight:700}.rental-pending-changes[data-invoice-pending-changes]>header .save{min-height:38px;padding:8px 16px}.rental-pending-change-items{display:grid}.rental-pending-change-items>div,.rental-pending-changes[data-invoice-pending-changes]>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #d5dee4}.rental-pending-change-items span{font-weight:600}.rental-pending-changes[data-invoice-pending-changes]>footer{padding:9px 10px;border:1px solid #efc228;border-radius:8px;background:#fff6c9}.rental-pending-changes[data-invoice-pending-changes]>.inline-message:empty{display:none}@media(max-width:700px){.rental-pending-changes[data-invoice-pending-changes]>header{align-items:stretch;flex-direction:column}.rental-pending-changes[data-invoice-pending-changes]>header .save{width:100%}}
.rental-merged-change-group{gap:8px;padding:12px 14px;background:#fff}.rental-merged-change-group>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.rental-merged-change-group>header>div:first-child{display:grid;gap:2px}.rental-merged-change-group>header small{color:#66798a;font-weight:700}.rental-merged-change-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.rental-merged-change-actions button{min-height:38px;padding:8px 14px}.rental-merged-change-group>.rental-pending-change-table{display:block!important;overflow:hidden;padding:0!important;border-top:1px solid #d5dee4!important;border-right:0!important;border-bottom:1px solid #d5dee4!important;border-left:0!important}.rental-merged-change-group>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #efc228;border-radius:8px;background:#fff6c9}.rental-merged-change-group>.inline-message:empty{display:none}.rental-change-merge-undo-confirm{display:grid;gap:14px}.rental-change-merge-undo-confirm>p{margin:0}.rental-change-merge-undo-confirm>.inline-message:empty{display:none}@media(max-width:700px){.rental-merged-change-group>header{align-items:stretch;flex-direction:column}.rental-merged-change-actions{justify-content:stretch}.rental-merged-change-actions button{flex:1 1 210px}}
.rental-unmerge-action{border-color:#b8c5ce!important;background:#fff!important}.rental-unmerge-action:hover{background:#f2f5f7!important}.rental-change-merge-picker{display:grid;gap:14px}.rental-change-merge-picker>p{margin:0}.rental-change-merge-picker-list{display:grid;gap:9px}.rental-change-merge-picker-list>button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.rental-change-merge-picker-list span{color:#66798a;font-size:12px;font-weight:700}@media(max-width:700px){.rental-change-merge-picker-list>button{align-items:flex-start;flex-direction:column;gap:3px}}
.rental-merge-finalized-note{display:grid;gap:3px;margin:0 0 12px;padding:10px 13px;border:1px solid #d5dee4;border-radius:10px;background:#f5f7f8;color:#172433}.rental-merge-finalized-note>span{font-weight:700}.rental-merge-finalized-note>small{color:#66798a;font-weight:700;line-height:1.35}
.rental-merge-finalized-note.is-empty{padding-block:8px;background:#fff}.rental-merge-finalized-note.is-empty>strong{font-size:13px}
.rental-pending-changes[data-invoice-pending-changes]>.rental-pending-change-table{display:block!important;overflow:hidden;padding:0!important;border-top:1px solid #d5dee4!important;border-right:0!important;border-bottom:1px solid #d5dee4!important;border-left:0!important}.rental-pending-change-table-head,.rental-pending-change-items>div{display:grid;grid-template-columns:72px minmax(160px,1fr) 130px 130px;align-items:center;gap:12px}.rental-pending-change-table-head{padding:6px 8px 5px;color:#66798a;font-size:11px;font-weight:800;text-transform:uppercase}.rental-pending-change-items{display:block}.rental-pending-change-items>div{padding:7px 8px;border-top:1px solid #e5ebef}.rental-pending-change-items>div:first-child{border-top:0}.rental-pending-change-items>div>:nth-child(3),.rental-pending-change-items>div>:nth-child(4),.rental-pending-change-table-head>:nth-child(3),.rental-pending-change-table-head>:nth-child(4){text-align:right}.rental-pending-change-items span{font-weight:600}.rental-pending-change-items>div>:first-child{white-space:nowrap}.rental-pending-changes[data-invoice-pending-changes]>footer{margin-top:0}.rental-pending-changes[data-invoice-pending-changes]>footer strong:last-child{font-size:15px}@media(max-width:700px){.rental-pending-change-table-head{display:none}.rental-pending-change-items>div{grid-template-columns:auto minmax(100px,1fr) auto}.rental-pending-change-items>div>:nth-child(3){grid-column:2;text-align:left;color:#66798a;font-size:12px}.rental-pending-change-items>div>:nth-child(3)::before{content:'à '}.rental-pending-change-items>div>:nth-child(4){grid-column:3;grid-row:1 / span 2}}
.rental-overview-prices .rental-invoice-open.is-open{border-color:#d33b32;background:#ffe3e0;box-shadow:inset 0 0 0 1px rgba(211,59,50,.08)}.rental-overview-prices .rental-invoice-open.is-open span,.rental-overview-prices .rental-invoice-open.is-open strong{color:#9f211b}.rental-overview-prices .rental-invoice-open.is-open span{font-weight:900;text-transform:uppercase;letter-spacing:.02em}.rental-overview-prices .rental-invoice-open.is-paid{border-color:#b8d9c0;background:#edf8ef}.rental-overview-prices .rental-invoice-open.is-paid span,.rental-overview-prices .rental-invoice-open.is-paid strong{color:#176b2c}.rental-overview-prices .rental-invoice-open strong{font-size:16px;font-weight:900}
.rental-overview-prices .rental-invoice-open{flex-wrap:wrap}.rental-overview-prices .rental-invoice-open small{flex-basis:100%;color:#66798a;font-size:10px;font-weight:700;text-align:right}

/* Zweistufige Zusammenführung offener Vertragsänderungen */
.rental-merge-step{margin:0;color:#9a7600;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rental-merge-changes-dialog>h3{margin:0 0 4px;color:#172433}
.rental-merge-period{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:12px 14px;border:1px solid #d5dee4;border-radius:11px;background:#f5f7f8}
.rental-merge-period span,.rental-merge-period small{color:#66798a;font-size:12px;font-weight:800}.rental-merge-period strong{font-size:15px}.rental-merge-period small{grid-column:1/-1}
.rental-merge-tariff-dialog{box-sizing:border-box;width:100%;grid-template-columns:minmax(0,1fr)}
.rental-merge-tariff-dialog>*{min-width:0}
.rental-merge-tariff-dialog .operation-inline-tariff{margin:0}
.rental-merge-tariff-dialog .operation-tariff-editor-grid{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr)}
.rental-merge-tariff-dialog .operation-tariff-columns{grid-template-columns:1fr}
.rental-merge-tax-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rental-merge-tax-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid #d5dee4;border-radius:10px;background:#f5f7f8}
.rental-merge-tax-summary span{color:#66798a;font-size:11px;font-weight:800}.rental-merge-tax-summary strong{font-size:15px}.rental-merge-tax-summary .is-total{border-color:#efc228;background:#fff6c9}
.rental-merge-review-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);gap:12px;align-items:stretch}.rental-merge-review-grid.is-fixed-only{grid-template-columns:1fr}.rental-merge-locked-tariff .operation-kilometer-block,.rental-merge-locked-tariff .operation-tariff-calculation{display:none}.rental-merge-locked-tariff .operation-tariff-editor-grid{display:block}.rental-merge-locked-tariff .operation-tariff-editor{height:100%}.rental-merge-calculation{display:grid;gap:0;padding:12px 14px;border:1px solid #d5dee4;border-radius:11px;background:#f7f9fa}.rental-merge-calculation h4{margin:0 0 7px}.rental-merge-calculation>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,auto);align-items:center;gap:24px;min-height:34px;border-top:1px solid #d9e1e6}.rental-merge-calculation>div span{color:#52697c;font-weight:700}.rental-merge-calculation>div strong{text-align:right;white-space:nowrap}.rental-merge-calculation .is-deposit{margin-top:4px}.rental-merge-calculation .is-grand-total{margin-top:4px;padding:0 9px;border:1px solid #ebc229;border-radius:8px;background:#fff6c9}.rental-merge-fixed-only{margin:0;padding:12px 14px;border:1px solid #d5dee4;border-radius:10px;background:#f5f7f8}.rental-merge-tax-summary>div{min-height:64px;align-content:space-between}.rental-merge-tax-summary strong{display:block;margin-top:5px;white-space:nowrap}
@media(max-width:760px){.rental-merge-tariff-dialog{width:auto}.rental-merge-review-grid,.rental-merge-tariff-dialog .operation-tariff-editor-grid,.rental-merge-tax-summary{grid-template-columns:1fr}.rental-merge-period{grid-template-columns:1fr}.rental-merge-tariff-dialog .reservation-actions{align-items:stretch;flex-direction:column}.rental-merge-tariff-dialog .reservation-actions button{width:100%}}

/* Mietvertragsübersicht: rechte Zusammenfassung kompakt und einzeilig halten. */
.rental-overview-prices{
  padding:6px 9px;
}
.rental-overview-prices>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  column-gap:14px;
  min-height:25px;
  padding:3px 0;
}
.rental-overview-prices>div>span:first-child{
  min-width:0;
  overflow-wrap:anywhere;
}
.rental-overview-prices>div>strong{justify-self:end;min-width:max-content;white-space:nowrap}
.rental-overview-prices>.rental-amount-due{
  box-sizing:border-box;
  width:100%;
  height:46px;
  min-height:46px;
  margin-top:5px;
  padding:7px 9px;
}
.rental-overview-prices>.rental-invoice-open{
  height:70px;
  min-height:70px;
  padding:12px 10px;
}
/* Settlement descriptions need the whole line, not a max-content value column. */
.rental-overview-prices>.rental-deposit-settlement-summary{grid-template-columns:minmax(0,1fr);gap:4px;height:auto;min-height:0;padding:8px 9px;line-height:1.4;overflow:visible}
.rental-overview-prices>.rental-deposit-settlement-summary>span:first-child,
.rental-overview-prices>.rental-deposit-settlement-summary>strong{min-width:0;max-width:100%;justify-self:stretch;text-align:left;white-space:normal;word-break:normal;overflow-wrap:normal;font-size:12px}
.rental-overage-pending-card{display:grid;grid-column:1/-1;align-content:start;align-self:start;gap:0;min-width:0;width:100%;max-width:100%;height:auto;box-sizing:border-box;margin-top:4px;padding:12px;border:1px solid #efc228;border-radius:8px;background:#fff9dc;color:#172433}
.rental-overage-pending-card>strong{margin-bottom:2px;font-size:13px}
.rental-overage-pending-card>div,.rental-overage-pending-card>footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:16px;min-height:0;padding:6px 0;line-height:1.45}
.rental-overage-pending-card span{min-width:0;color:#66798a;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.rental-overage-pending-card b{min-width:0;font-size:12px;white-space:normal;overflow-wrap:anywhere;text-align:right}
.rental-overage-pending-card>footer{margin-top:3px;padding-top:7px;border-top:1px solid #efd77d}
.rental-overage-pending-card>footer strong{min-width:0;color:#8b6500;font-size:12px;white-space:normal;overflow-wrap:anywhere;text-align:right}
.rental-overage-pending-card>div:last-of-type{border-top:1px solid #efd77d;font-weight:800}
.rental-overview .rental-late-return-history{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;align-self:start;gap:6px;min-height:0;height:auto;margin-top:8px;padding:10px 12px;line-height:1.45}
.rental-overview .rental-late-return-history>p{margin:0;min-width:0;font-size:13px;overflow-wrap:anywhere}
.rental-overview-financials{align-content:start;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
@media(max-width:760px){.rental-overview-financials{grid-template-columns:minmax(0,1fr)}}
@media(min-width:951px) and (min-height:720px){
  .dialog:has(.rental-operation-view){width:min(1380px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 12px)}
  .dialog:has(.rental-operation-view) .dialog-content{overflow-y:auto;overflow-x:hidden}
  .rental-operation-modern{height:auto;min-height:0;overflow:visible}
  .rental-operation-modern>.rental-tab-panel{flex:0 0 auto;height:auto;min-height:0;overflow:visible}
  .rental-operation-modern .rental-overview{height:auto;align-items:stretch}
}
.rental-pending-change-compact{grid-template-rows:auto auto auto auto;align-content:start;align-self:start;gap:3px;height:auto;min-height:0;padding:8px 12px}
.rental-pending-change-compact>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.rental-pending-change-compact>header>div{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}
.rental-pending-change-compact>header strong{white-space:nowrap}
.rental-pending-change-compact>header small{color:#66798a;font-size:11px;font-weight:700}
.rental-pending-change-compact>header .save{min-height:34px;padding:7px 14px;white-space:nowrap}
.rental-pending-change-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.rental-pending-change-actions button{min-height:34px;padding:7px 14px;white-space:nowrap}
.rental-pending-change-compact>.rental-pending-change-table{display:block!important;min-width:0;overflow:hidden;padding:0!important;border-top:1px solid #d5dee4!important;border-right:0!important;border-bottom:1px solid #d5dee4!important;border-left:0!important}
.rental-pending-change-compact .rental-pending-change-table-head,.rental-pending-change-compact .rental-pending-change-items>div{grid-template-columns:minmax(105px,.7fr) minmax(180px,1.5fr) minmax(120px,.75fr) minmax(130px,.8fr);gap:14px}
.rental-pending-change-compact>footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0;padding:5px 8px 0;border:0}
.rental-pending-change-compact>.inline-message:empty{display:none}
.rental-checkin-overage-rate{display:inline-flex;flex-direction:column;align-items:stretch;gap:5px;max-width:none;min-width:11rem;text-align:left}
.rental-checkin-overage-rate select{box-sizing:border-box;width:auto;min-width:11rem;max-width:none;min-height:36px;padding:6px 2.75rem 6px .75rem;border:1px solid #c8d4dc;border-radius:8px;background-color:#fff;color:#172331;font:inherit;font-weight:700;line-height:1.4;white-space:nowrap;cursor:pointer}
.rental-checkin-overage-rate small{max-width:22ch;white-space:normal;overflow-wrap:break-word;color:#8a6900;font-size:11px;font-weight:700;line-height:1.4}
.dialog:has(.rental-deposit-settlement){width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:hidden}
.dialog:has(.rental-deposit-settlement)>header{padding:17px 24px}
.dialog:has(.rental-deposit-settlement)>.dialog-content{padding:18px 24px 20px;overflow:visible}
.rental-deposit-settlement{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;width:100%}
.rental-deposit-settlement-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rental-deposit-settlement-summary>div,.rental-deposit-settlement-balance{display:grid;gap:3px;padding:9px 12px;border:1px solid #efc228;border-radius:9px;background:#fff8d9}
.rental-deposit-settlement-summary span,.rental-deposit-settlement-balance span{color:#66798a;font-size:11px;font-weight:800}
.rental-deposit-open-invoices{grid-column:1/-1;display:grid;gap:4px;padding:9px 12px;border:1px solid #d5dee4;border-radius:9px;background:#f5f7f8}
.rental-deposit-open-invoices>span{display:flex;justify-content:space-between;gap:15px}
.rental-deposit-settlement>fieldset{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin:0;padding:8px 12px;border:1px solid #d5dee4;border-radius:9px}
.rental-deposit-settlement>fieldset legend{padding:0 4px}
.rental-deposit-settlement>label,.rental-deposit-refund-fields>label,.rental-deposit-offset-fields>label{display:grid;gap:5px;margin:0;color:#172433;font-family:inherit;font-size:.78rem;font-weight:800;line-height:1.25}
.rental-deposit-settlement fieldset label{display:flex;align-items:center;gap:7px;font-weight:700}
.rental-deposit-refund-fields,.rental-deposit-offset-fields{min-width:0}
.rental-deposit-refund-fields output{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:38px;padding:7px 10px;border:1px solid #c8d4dc;border-radius:8px;background:#f5f7f8;color:#172433;font:inherit;font-weight:700}
.rental-deposit-settlement input,.rental-deposit-settlement select{box-sizing:border-box;width:100%;min-height:38px;padding:7px 10px;border:1px solid #c8d4dc;border-radius:8px;background:#fff;color:#172433;font:inherit}
.rental-deposit-settlement fieldset input{width:auto;min-height:0}
.rental-deposit-settlement-balance{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center}
.rental-deposit-settlement>.inline-message,.rental-deposit-settlement>.reservation-confirm-actions{grid-column:1/-1}
.rental-deposit-settlement>.inline-message:empty{display:none}
.rental-deposit-settlement>.reservation-confirm-actions{margin-top:1px}
@media(max-width:700px),(max-height:640px){
  .dialog:has(.rental-deposit-settlement){max-height:calc(100dvh - 16px);overflow:auto}
  .dialog:has(.rental-deposit-settlement)>.dialog-content{overflow:visible}
}
@media(max-width:700px){
  .dialog:has(.rental-deposit-settlement){width:calc(100vw - 16px)}
  .rental-deposit-settlement{grid-template-columns:1fr}
  .rental-deposit-settlement-summary,.rental-deposit-open-invoices,.rental-deposit-settlement>fieldset,.rental-deposit-settlement-balance,.rental-deposit-settlement>.inline-message,.rental-deposit-settlement>.reservation-confirm-actions{grid-column:1}
  .rental-deposit-settlement>fieldset{grid-template-columns:1fr}
}
.rental-deposit-settlement-history{display:grid;gap:6px;margin-top:12px;padding:11px 13px;border:1px solid #d5dee4;border-radius:10px;background:#f7f9fa}.rental-deposit-settlement-history h4{margin:0 0 3px}.rental-deposit-settlement-history>div{display:grid;grid-template-columns:100px minmax(150px,1fr) minmax(150px,1fr) auto;gap:10px;align-items:center;padding-top:6px;border-top:1px solid #dce4e9}.rental-deposit-settlement-history b{text-align:right}@media(max-width:700px){.rental-deposit-settlement-history>div{grid-template-columns:1fr auto}.rental-deposit-settlement-history>div span{grid-column:1/-1}}
@media(max-width:760px){.rental-pending-change-compact>header{grid-template-columns:1fr}.rental-pending-change-compact>header>div{align-items:flex-start;flex-direction:column;gap:2px;overflow:visible}.rental-pending-change-actions{display:grid;grid-template-columns:1fr 1fr}.rental-pending-change-actions button,.rental-pending-change-compact>header .save{width:100%}.rental-pending-change-compact .rental-pending-change-table-head{display:none}.rental-pending-change-compact .rental-pending-change-items>div{grid-template-columns:minmax(90px,.7fr) minmax(130px,1.3fr) minmax(100px,.8fr) minmax(110px,.8fr);gap:8px;overflow-x:auto}}

/* Let the native select reserve room for its longest option and arrow. */
.rental-pending-change-compact .rental-pending-change-table-head,
.rental-pending-change-compact .rental-pending-change-items>div{grid-template-columns:minmax(70px,.7fr) minmax(0,1.5fr) minmax(11rem,max-content) minmax(90px,.8fr)}
.rental-pending-change-compact .rental-pending-change-items>div>:nth-child(2){min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
 .rental-pending-change-compact .rental-pending-change-table-head{display:none}
 .rental-pending-change-compact .rental-pending-change-items>div{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;overflow:visible}
 .rental-pending-change-compact .rental-pending-change-items>div>:nth-child(1){grid-column:1;grid-row:1}
 .rental-pending-change-compact .rental-pending-change-items>div>:nth-child(2){grid-column:1 / -1;grid-row:2}
 .rental-pending-change-compact .rental-pending-change-items>div>:nth-child(3){grid-column:1 / -1;grid-row:3;text-align:left}
 .rental-pending-change-compact .rental-pending-change-items>div>:nth-child(3)::before{content:none}
 .rental-pending-change-compact .rental-pending-change-items>div>:nth-child(4){grid-column:2;grid-row:1;white-space:nowrap}
}
.rental-condition-drawing-set{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.rental-condition-drawing{display:grid;place-items:center;gap:6px;margin:0;padding:8px;border:1px solid #dce2e5;border-radius:12px;background:#fff;min-width:0}.rental-condition-drawing img{display:block;width:100%;height:118px;object-fit:contain}.rental-condition-drawing figcaption{color:#51616d;font-size:.68rem;font-weight:800}.rental-condition-drawing-empty{grid-column:1/-1;padding:15px;border:1px dashed #cbd3d7;border-radius:11px;background:#fafbfb;color:#6d7982;font-size:.75rem;text-align:center}

.operation-availability-conflict{display:grid;gap:7px;font-weight:600}
.operation-availability-conflict>strong:first-child{font-size:12px;letter-spacing:.06em}
.operation-availability-conflict>ul{display:grid;gap:6px;margin:2px 0;padding:0;list-style:none}
.operation-availability-conflict>ul>li{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(260px,1fr);gap:5px 12px;padding:8px 10px;border:1px solid #efcaca;border-radius:8px;background:#fffafa}
.operation-availability-conflict>ul span{font-variant-numeric:tabular-nums}
.operation-availability-conflict>ul small{grid-column:1/-1;color:#8f2b25;font-size:12px;line-height:1.4}
.operation-availability-conflict>ul em{grid-column:1/-1;color:#8f2b25;font-size:12px;font-style:normal;line-height:1.35}
@media(max-width:700px){.operation-availability-conflict>ul>li{grid-template-columns:1fr;gap:3px}}
.rental-payment-reserved { display: block; margin-top: 4px; color: #805c00; font-size: 11px; white-space: normal; }
.rental-payment-pending-summary { background: #fff5ce; color: #805c00; }
/* Credit creation and actual payout are separate actions. */
.invoice-credit-detail [data-credit-refund-form] > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.invoice-credit-detail [data-credit-refund-form] label {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: 13px;
}
.invoice-credit-detail [data-credit-refund-form] input,
.invoice-credit-detail [data-credit-refund-form] select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  border: 1px solid #cbd8e2;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: #182737;
  font: inherit;
}
/* Compact credit payout view; ordinary invoice layouts stay unchanged. */
.dialog-content > .invoice-credit-detail { gap: 8px; }
.invoice-credit-detail > .invoice-payments {
  min-height: 0;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.4;
}
.invoice-credit-detail > .invoice-payments h3 {
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}
.invoice-credit-detail > .invoice-payments > header { margin-bottom: 6px; }
.invoice-credit-detail [data-credit-refund-form] > div { margin: 10px 0; gap: 10px; }
.invoice-credit-detail [data-credit-refund-form] label {
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  color: #69747d;
}
.invoice-credit-detail [data-credit-refund-form] input,
.invoice-credit-detail [data-credit-refund-form] select { font-weight: 400; color: #26333d; }
.invoice-credit-detail [data-credit-refund-form] output {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  border: 1px solid #cbd8e2;
  border-radius: 8px;
  padding: 8px 10px;
  background: #f4f7f9;
  color: #182737;
  font-weight: 700;
}
.invoice-credit-detail [data-credit-refund-form] > .invoice-primary {
  display: block;
  margin-left: auto;
  font-family: inherit;
  font-size: 13px;
}
.invoice-credit-detail [data-credit-refund-form] > .invoice-error {
  padding: 6px 0 0;
  margin: 0;
  text-align: left;
  color: #b42318;
}
.invoice-credit-detail [data-credit-refund-form] > .invoice-error:empty { display: none; }
.invoice-credit-detail > footer { margin-top: 0; padding-top: 2px; }
.invoice-credit-detail .invoice-detail-grid article { min-height: 0; padding: 12px 16px; gap: 6px; }
.invoice-credit-detail .invoice-detail-grid h3 { font-size: 16px; }
.invoice-credit-detail .invoice-totals > div { min-height: 25px; padding: 3px 8px; }
@media (min-width: 900px) and (max-height: 800px) {
  .dialog:has(.invoice-credit-detail) > .dialog-content { padding: 10px 18px; }
  .dialog-content > .invoice-credit-detail { gap: 4px; }
  .dialog-content > .invoice-credit-detail > header > div { min-height: 42px; padding: 5px 10px; }
  .invoice-credit-detail .invoice-detail-grid article { padding: 8px 12px; gap: 3px; }
  .invoice-credit-detail .invoice-detail-grid article > small { padding-top: 4px; }
  .invoice-credit-detail .invoice-detail-grid h3 { margin: 0; font-size: 15px; }
  .invoice-credit-detail .invoice-card-content { gap: 3px; }
  .invoice-credit-detail .invoice-detail-grid p { font-size: 12px; line-height: 1.3; }
  .invoice-credit-detail > .invoice-payments { padding: 8px 12px; }
  .invoice-credit-detail .invoice-totals > div { min-height: 22px; padding: 2px 8px; }
  .invoice-credit-detail [data-credit-refund-form] > div { margin: 8px 0; }
}
.rental-deposit-pending-orders [data-deposit-order-type="REFUND"] {
  display: block;
  margin: 8px auto 0 0;
}
.invoice-deposit-order-form { margin: 12px 0; padding: 12px; border: 1px solid #e5bd48; border-radius: 9px; background: #fffaf0; }
.invoice-deposit-order-form label { display: grid; gap: 5px; margin: 8px 0; font: inherit; }
.invoice-deposit-order-form input { min-height: 38px; padding: 6px 10px; border: 1px solid #ccd2d6; border-radius: 8px; font: inherit; }
.invoice-deposit-order-form .invoice-error:empty { display: none; }
/* Three matching financial tiles when a pending recalculation is present. */
.dialog:has(.rental-overage-pending-card) {
  width: min(1640px, calc(100vw - 48px));
}
.rental-operation-modern .rental-overview:has(.rental-overage-pending-card) {
  grid-template-columns: minmax(300px, .85fr) minmax(0, 2.6fr);
}
.rental-overview-financials:has(> .rental-overage-pending-card) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}
.rental-overview-financials:has(> .rental-overage-pending-card) > section,
.rental-overview-financials > .rental-overage-pending-card {
  min-width: 0;
  height: auto;
  align-self: stretch;
  padding: 8px;
  border-radius: 9px;
}
.rental-overview-financials > .rental-overage-pending-card {
  grid-column: auto;
  margin: 0;
}
.rental-overview-financials > .rental-overage-pending-card > div,
.rental-overview-financials > .rental-overage-pending-card > footer {
  gap: 10px;
}
@media (max-width: 1340px) {
  .rental-operation-modern .rental-overview:has(.rental-overage-pending-card) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 1000px) {
  .rental-overview-financials:has(> .rental-overage-pending-card) {
    grid-template-columns: minmax(0, 1fr);
  }
}
.rental-overview-financials:has(> .rental-overage-pending-card) .operation-tariff-price-head,
.rental-overview-financials:has(> .rental-overage-pending-card) .operation-tariff-price-row {
  grid-template-columns: 50px minmax(0, 1fr) minmax(60px, .95fr) minmax(60px, .95fr);
  gap: 5px;
}
.rental-overview-financials:has(> .rental-overage-pending-card) .operation-tariff-price-head > *,
.rental-overview-financials:has(> .rental-overage-pending-card) .operation-tariff-price-row > * {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.rental-deposit-usage-dates dd + dt { margin-top: 8px; }
.rental-deposit-payment{grid-template-columns:max-content max-content minmax(150px,180px) max-content;justify-content:space-between;align-items:end;gap:8px 12px;padding:10px 14px;border-radius:12px}.rental-deposit-payment>label{gap:4px;color:#59636c;font-size:11px;font-weight:800}.rental-deposit-payment select,.rental-deposit-payment input,.rental-invoice-direct-payment-fields input,.rental-invoice-direct-payment-fields select{box-sizing:border-box;width:100%;height:40px;min-height:40px;border:1px solid #ccd2d6;border-radius:8px;padding:0 10px;background:#fff;color:#26333d;font:inherit}.rental-deposit-payment>label select{width:24ch;min-width:0;max-width:24ch}.rental-deposit-payment>[data-stage-deposit-payment],.rental-invoice-direct-payment-heading>.save{box-sizing:border-box;height:40px;min-height:40px;padding:0 16px;border:1px solid #ffdd16;border-radius:10px;background:#ffdd16;color:#151515;font:inherit;font-weight:800;cursor:pointer}.rental-deposit-payment>[data-stage-deposit-payment]:hover,.rental-invoice-direct-payment-heading>.save:hover{border-color:#f0c900;background:#f0c900}.rental-deposit-payment>[data-stage-deposit-payment]:focus-visible,.rental-invoice-direct-payment-heading>.save:focus-visible{outline:3px solid rgba(255,213,0,.35);outline-offset:2px}.rental-deposit-payment>[data-stage-deposit-payment]:active,.rental-invoice-direct-payment-heading>.save:active{transform:translateY(1px)}.rental-deposit-payment>[data-stage-deposit-payment]:disabled,.rental-invoice-direct-payment-heading>.save:disabled{cursor:not-allowed;opacity:.55}.rental-invoice-direct-payment{padding:10px 14px;border-radius:12px}.rental-invoice-direct-payment-fields{gap:12px}.rental-invoice-direct-payment-fields label{gap:4px;color:#59636c;font-size:11px}.rental-deposit-current-status{align-self:center}.rental-deposit-summary{align-self:center}@media(max-width:1050px){.rental-deposit-payment{grid-template-columns:max-content max-content minmax(150px,180px) max-content;justify-content:start}}@media(max-width:760px){.rental-deposit-payment{grid-template-columns:1fr;justify-content:stretch}.rental-deposit-payment>label select{width:100%;max-width:100%}.rental-deposit-payment>[data-stage-deposit-payment]{grid-column:auto;width:100%}}
.rental-payment-overview{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;margin-top:5px!important;padding:6px 7px!important;border:1px solid #d5dee5!important;border-radius:9px!important;background:#f7f9fa!important}.rental-payment-overview>.rental-payment-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}.rental-payment-overview>.rental-payment-chip b{text-transform:uppercase}.rental-payment-chip.is-open{background:#fde9e6;color:#9b2d24}.rental-payment-chip.is-pending,.rental-payment-chip.is-booked{background:#def2e4;color:#176b35}@media(max-width:760px){.rental-payment-overview{width:auto}}
.rental-overview-price-stack .rental-replacement-mileage{background:#eef6fb}.rental-overview-price-stack .rental-replacement-mileage>span{color:#32627c}.rental-replacement-mileage details{grid-column:1/-1;width:100%;margin-top:2px;border-top:1px solid #ccdee8;padding-top:3px}.rental-replacement-mileage summary{cursor:pointer;color:#32627c;font-size:11px;font-weight:800}.rental-replacement-mileage ul{display:grid;gap:4px;margin:5px 0 1px;padding:0;list-style:none}.rental-replacement-mileage li{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:5px 6px;border-radius:7px;background:#fff}.rental-replacement-mileage li>span{display:grid;width:100%;min-width:0;justify-items:start;gap:1px;text-align:left}.rental-replacement-mileage li>span>b{width:100%;font-size:11px;white-space:normal;overflow-wrap:anywhere;text-align:left}.rental-replacement-mileage li>span>small{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:#66798a;font-size:9px;line-height:1.35;white-space:nowrap;text-align:left}.rental-replacement-mileage-reading{display:grid;box-sizing:border-box;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:8px}.rental-replacement-mileage-reading>span{min-width:0;overflow:hidden;white-space:nowrap}.rental-replacement-mileage li>span>small strong{color:#172433;font-size:inherit;font-weight:900;white-space:nowrap;text-align:right}@media(max-width:340px){.rental-replacement-mileage li>span>small{white-space:normal}}
/* Final mobile acceptance: one dialog scroll surface and reachable actions. */
@media(max-width:768px){
 .dialog .rental-operation-modern{height:auto;min-height:0;min-width:0;max-width:100%;overflow:visible;display:block}
 .dialog .rental-operation-modern .rental-workflow-toolbar{min-width:0;max-width:100%;overflow-x:auto}
 .dialog .rental-operation-modern>.rental-tab-panel{height:auto;min-height:0;min-width:0;max-width:100%;overflow:visible;flex:none}
 .dialog .rental-operation-modern .rental-driver-grid{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
 .dialog .rental-operation-modern .rental-operation-footer{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
 .dialog .rental-operation-modern .rental-operation-footer .reservation-actions-left,
 .dialog .rental-operation-modern .rental-operation-footer .reservation-actions-right{display:contents}
 .dialog .rental-operation-modern .rental-operation-footer button{width:100%;min-width:0;min-height:44px;padding:8px;white-space:normal}
}
.rental-legacy-finance-review{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(360px,1.6fr);gap:10px 18px;align-items:center;padding:12px 14px;border:1px solid #e3b400;border-radius:12px;background:#fff8d7;color:#4a3a00}.rental-legacy-finance-review>div{display:grid;gap:2px}.rental-legacy-finance-review>div span,.rental-legacy-finance-review small{color:#756318;font-size:12px}.rental-legacy-finance-review dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.rental-legacy-finance-review dl div{display:grid;gap:2px;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.65)}.rental-legacy-finance-review dt{color:#756318;font-size:11px;font-weight:800}.rental-legacy-finance-review dd{margin:0;font-weight:900}.rental-legacy-finance-review small{grid-column:1/-1}@media(max-width:760px){.rental-legacy-finance-review,.rental-legacy-finance-review dl{grid-template-columns:1fr}}
.inline-message{white-space:pre-line}
