/* Zentrale Cursor-Semantik für alle tatsächlich bedienbaren Elemente. */
/*
 * DX Cars Primäraktionen
 * Die Selektoren sind absichtlich semantisch und eng gefasst. Destruktive,
 * Status-, Sekundär- und deaktivierte Schaltflächen werden nicht umgefärbt.
 */
:is(
  .primary-button,
  .small-primary:not(.operation-cancel),
  .button-yellow,
  .button.save,
  .form-actions .save,
  .reservation-actions .save,
  .reservation-confirm-actions .small-primary,
  .rental-operation-modern button.save,
  .rental-invoice-direct-payment-heading > .save,
  .rental-invoice-payment-credit > .save,
  .rental-deposit-payment > [data-stage-deposit-payment],
  .document-actions .save,
  .document-settings [data-template-preview],
  .document-settings footer .save,
  .document-file-button,
  .invoice-primary,
  .invoice-detail > footer [data-print-invoice-pdf],
  .invoice-payment-actions button:first-child,
  .finance-primary,
  .dash-analytics-head button,
  .damage-template-table-wrap td button:first-child,
  .operations-action--primary,
  .operation-completion-button--primary
):not([data-finalize-operation]):not([data-confirm-finalize-operation]):not(:disabled):not([aria-disabled="true"]){
  border-color:var(--dx-action-yellow)!important;
  background:var(--dx-action-yellow)!important;
  color:var(--dx-action-text)!important;
}

:is(
  .primary-button,
  .small-primary:not(.operation-cancel),
  .button-yellow,
  .button.save,
  .form-actions .save,
  .reservation-actions .save,
  .reservation-confirm-actions .small-primary,
  .rental-operation-modern button.save,
  .rental-invoice-direct-payment-heading > .save,
  .rental-invoice-payment-credit > .save,
  .rental-deposit-payment > [data-stage-deposit-payment],
  .document-actions .save,
  .document-settings [data-template-preview],
  .document-settings footer .save,
  .document-file-button,
  .invoice-primary,
  .invoice-detail > footer [data-print-invoice-pdf],
  .invoice-payment-actions button:first-child,
  .finance-primary,
  .dash-analytics-head button,
  .damage-template-table-wrap td button:first-child,
  .operations-action--primary,
  .operation-completion-button--primary
):not([data-finalize-operation]):not([data-confirm-finalize-operation]):not(:disabled):not([aria-disabled="true"]):hover{
  border-color:var(--dx-action-yellow-hover)!important;
  background:var(--dx-action-yellow-hover)!important;
}

:is(
  .primary-button,
  .small-primary:not(.operation-cancel),
  .button-yellow,
  .button.save,
  .invoice-primary,
  .finance-primary,
  .operations-action--primary,
  .operation-completion-button--primary
):not([data-finalize-operation]):not([data-confirm-finalize-operation]):not(:disabled):not([aria-disabled="true"]):active{
  border-color:var(--dx-action-yellow-active)!important;
  background:var(--dx-action-yellow-active)!important;
}

:is(
  .primary-button,
  .small-primary:not(.operation-cancel),
  .button-yellow,
  .button.save,
  .invoice-primary,
  .finance-primary,
  .operations-action--primary,
  .operation-completion-button--primary
):focus-visible{
  outline:3px solid var(--dx-action-focus)!important;
  outline-offset:2px;
}

.app-toast-region{position:fixed;right:24px;bottom:24px;z-index:100;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}.app-toast{padding:13px 17px;border:1px solid #d9ddd8;border-radius:12px;background:#fff;color:#172433;box-shadow:0 12px 34px rgba(20,30,40,.2);font-size:.84rem;font-weight:750}.app-toast--success{border-color:#9bd2af;background:#eaf8ef;color:#176237}.app-toast--error{border-color:#e5aaaa;background:#fff0f0;color:#a63333}
:where(
  button:not(:disabled),
  a[href],
  area[href],
  select:not(:disabled),
  summary,
  input[type="button"]:not(:disabled),
  input[type="submit"]:not(:disabled),
  input[type="reset"]:not(:disabled),
  input[type="checkbox"]:not(:disabled),
  input[type="radio"]:not(:disabled),
  input[type="file"]:not(:disabled),
  input[type="date"]:not(:disabled),
  input[type="time"]:not(:disabled),
  input[type="range"]:not(:disabled),
  [role="button"]:not([aria-disabled="true"]),
  [role="link"]:not([aria-disabled="true"]),
  [tabindex="0"][data-finance-row],
  [tabindex="0"][data-tariff-id],
  [tabindex="0"][data-tariff-group-row],
  .clickable,
  .interactive,
  .dispatch-event-bar,
  .document-file-button
){cursor:pointer!important}

:where(
  label:has(input[type="checkbox"]:not(:disabled)),
  label:has(input[type="radio"]:not(:disabled)),
  label:has(input[type="file"]:not(:disabled))
){cursor:pointer}

input[type="date"]:not(:disabled)::-webkit-calendar-picker-indicator,
input[type="time"]:not(:disabled)::-webkit-calendar-picker-indicator,
select:not(:disabled){cursor:pointer}

:where(
  button:disabled,
  select:disabled,
  input[type="button"]:disabled,
  input[type="submit"]:disabled,
  input[type="reset"]:disabled,
  input[type="checkbox"]:disabled,
  input[type="radio"]:disabled,
  input[type="file"]:disabled,
  input[type="date"]:disabled,
  input[type="time"]:disabled,
  input[type="range"]:disabled,
  [role="button"][aria-disabled="true"],
  [role="link"][aria-disabled="true"]
){cursor:not-allowed!important}
