﻿html, body {
    height: 100%;
}

app {
    display: block;
    height: 100%;
}

.header-logo {
    flex-shrink: 0;
    /*background-color: currentColor;*/
    background-image: url('../images/DBEn_Logozusatz_rs.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 180px;
    height: 40px;
}

button.theme-button .xaf-image {
    background-color: currentColor !important;
    -webkit-mask: url('/images/Icon_M_Einstellungen_32dp.svg') !important;
    mask: url('/images/Icon_M_Einstellungen_32dp.svg') !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
}

/* Profil-Button Icon anpassen - MIT ORIGINALFARBE */
button.account-button .xaf-image,
button[data-action-name="Account"] .xaf-image {
    background-color: transparent !important;
    background-image: url('/images/Icon_M_Profil_32dp.svg') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    -webkit-mask: none !important;
    mask: none !important;
}

 /*Navigations-Toggle-Button (Hamburger-Menü) Icon anpassen - MIT ORIGINALFARBE*/ 
.header-left-side button .xaf-image[style*="Hamburger"],
button[data-hidden-label*="Navigationsbereich"] .xaf-image {
    background-color: transparent !important;
    background-image: url('/images/Icon_M_Navigationsbereich.svg') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    -webkit-mask: none !important;
    mask: none !important;
}

/* "Keine Daten"-Icon anpassen */
svg.dxbl-grid-empty-data-not-found {
    background-color: currentColor !important;
    -webkit-mask: url('/images/Icon_M_Keine_Daten_zur_Anzeige_32dp.svg') !important;
    mask: url('/images/Icon_M_Keine_Daten_zur_Anzeige_32dp.svg') !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
}

#blazor-error-ui {
    background: inherit;
    bottom: 0;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100001;
}

.xaf-alert, xaf-auto-close-alert {
    width: 600px !important;
    height: 100px !important;
}

.xaf-alerts-stack-scrollable {
    width: 600px !important;
}

.xaf-alert-text-container {
    font-size: .9vw !important;
}

.bg-warning .xaf-alert-message {
    color: black !important;
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) {
    background-color: #f01414 !important;
    margin-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) > .dxbl-active {
    color: #fffffe !important;
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) > .dxbl-active .xaf-layout-tab-icon {
    filter: brightness(3) !important;
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) > .dxbl-active .xaf-close-tab-button img,
.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) > .dxbl-active .xaf-close-tab-button svg {
    filter: brightness(8) !important;
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) > .dxbl-active .xaf-close-tab-button:hover {
    background-color: rgba(255,255,255,0.1) !important;
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li:has(.dxbl-active) > .dxbl-active .xaf-close-tab-button:active {
    background-color: rgba(255,255,255,0.1) !important;
}

.xaf-toolbar-item-icon {
    filter: hue-rotate(-20deg) saturate(1.5) brightness(0.9) !important;
}

/*
 * Favoriten-Stern in der BNB-Marktpartnerliste:
 * DevExpress rendert Inline-Aktionen in Grid-Command-Cells als .dxbl-btn-link und nicht direkt auf der eigenen CSS-Klasse.
 * Die erhöhte Spezifität stellt sicher, dass Größe, Zentrierung und der Verzicht auf Unterstreichung trotz Theme-Regeln wirksam bleiben.
 */
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxbl-btn-link.bnb-favorit-inline-action,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxgBCTC>.dxbl-btn-link.bnb-favorit-inline-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 2.75rem !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    color: #ec0016 !important;
    text-decoration: none !important;
}

/*
 * DevExpress setzt für Link-Buttons je nach Zustand eigene Dekorationen.
 * Die Zustandsregeln halten den Stern in jedem Interaktionszustand als reines Symbol ohne Link-Unterstreichung stabil.
 */
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxbl-btn-link.bnb-favorit-inline-action:hover,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxbl-btn-link.bnb-favorit-inline-action:focus,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxbl-btn-link.bnb-favorit-inline-action:active,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxbl-btn-link.bnb-favorit-inline-action:visited,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxgBCTC>.dxbl-btn-link.bnb-favorit-inline-action:hover,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxgBCTC>.dxbl-btn-link.bnb-favorit-inline-action:focus,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxgBCTC>.dxbl-btn-link.bnb-favorit-inline-action:active,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell>span>.dxgBCTC>.dxbl-btn-link.bnb-favorit-inline-action:visited {
    color: #ec0016 !important;
    text-decoration: none !important;
}

/* Zentriert die gesamte Command-Cell für Zeilen mit Favoritenaktion, damit der Stern nicht linksbündig am Button-Rand sitzt. */
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell:has(.bnb-favorit-inline-action) {
    text-align: center !important;
}

/* Vergrößert den eigentlichen Stern-Text, auch wenn DevExpress ihn in zusätzliche Spans kapselt. */
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell .bnb-favorit-inline-action,
.dxbs-gridview>.card .dxbs-table>tbody>tr>td.dxbs-cmd-cell .bnb-favorit-inline-action span {
    font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    font-size: 1.85rem !important;
    font-weight: 700;
    line-height: 1;
    text-align: center !important;
    text-decoration: none !important;
}

/* Blendet das Standard-Action-Icon aus, weil der Status bewusst ausschließlich über den Unicode-Stern signalisiert wird. */
.bnb-favorit-inline-action .xaf-image,
.bnb-favorit-inline-action .xaf-toolbar-item-icon,
.bnb-favorit-inline-action img,
.bnb-favorit-inline-action svg {
    display: none !important;
}

/* Kennzeichnet aktive Favoriten separat, falls das Theme später zusätzliche aktive Zustände an diese Klasse bindet. */
.bnb-favorit-inline-action.bnb-favorit-inline-action-aktiv {
    color: #ec0016 !important;
}

.error-message-textarea {
    color: black !important;
    background-color: #f5f5f5 !important;
}

/* Alle disabled/readonly Eingabefelder mit schwarzer Schrift */
/* Erhöhte Spezifität für DevExpress Blazor-Komponenten */
.dxbl-text-edit[disabled] input,
.dxbl-text-edit[readonly] input,
.dxbl-text-edit input[disabled],
.dxbl-text-edit input[readonly],
input.form-control[disabled],
input.form-control[readonly],
.dxbl-edit input[disabled],
.dxbl-edit input[readonly],
.dxbl-text-edit.dxbl-disabled input,
.dxbl-edit-readonly input {
    color: black !important;
    opacity: 1 !important;
    -webkit-text-fill-color: black !important;
}

/* Für Textarea-Komponenten */
.dxbl-text-edit[disabled] textarea,
.dxbl-text-edit[readonly] textarea,
.dxbl-text-edit textarea[disabled],
.dxbl-text-edit textarea[readonly],
textarea.form-control[disabled],
textarea.form-control[readonly] {
    color: black !important;
    opacity: 1 !important;
    -webkit-text-fill-color: black !important;
}

/* Für Spin Edit und andere Numeric-Editoren */
.dxbl-spin-edit[disabled] input,
.dxbl-spin-edit[readonly] input,
.dxbl-spin-edit.dxbl-disabled input {
    color: black !important;
    opacity: 1 !important;
    -webkit-text-fill-color: black !important;
}

/* Für ComboBox und DropDown - angezeigte Werte */
.dxbl-text-edit-template .xaf-combobox-item,
.dxbl-text-edit-template .xaf-ellipsis,
.dxbl-disabled .dxbl-text-edit-template,
.dxbl-disabled .xaf-combobox-item,
.dxbl-edit-readonly .xaf-combobox-item {
    color: black !important;
    opacity: 1 !important;
}

/* Für Checkboxen - disabled/readonly State */
.dxbl-checkbox.dxbl-disabled,
.dxbl-checkbox[is-read-only] {
    opacity: 1 !important;
}

    .dxbl-checkbox.dxbl-disabled input[type="checkbox"],
    .dxbl-checkbox[is-read-only] input[type="checkbox"] {
        opacity: 1 !important;
    }

    /* Checkbox SVG-Icon in schwarzer Farbe */
    .dxbl-checkbox.dxbl-disabled svg.dxbl-image,
    .dxbl-checkbox[is-read-only] svg.dxbl-image,
    .dxbl-checkbox.dxbl-disabled .dxbl-image,
    .dxbl-checkbox[is-read-only] .dxbl-image {
        color: black !important;
        fill: black !important;
        opacity: 1 !important;
    }

    .dxbl-checkbox.dxbl-disabled .dxbl-checkbox-check-element,
    .dxbl-checkbox[is-read-only] .dxbl-checkbox-check-element {
        opacity: 1 !important;
        background-color: transparent !important;
    }

/* ====================================================================
   Dashboard Text-Selektion für ALLE Elemente
   ==================================================================== */

/* Dashboard-Container und ALLE Kindelemente - NUR user-select */
.dx-dashboard,
.dx-dashboard *,
.dx-dashboard-item,
.dx-dashboard-item *,
.dx-dashboard-surface,
.dx-dashboard-surface * {
    user-select: text !important;
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
}

/* Cursor NUR für Daten-Zellen, nicht für das gesamte Dashboard */
.dx-pivotgrid-area td,
.dx-area-data-cell,
.dx-area-column-cell,
.dx-area-row-cell,
.dx-datagrid-rowsview td,
.dx-datagrid-headers th,
.dx-data-row td {
    cursor: text !important;
}

/* Standard-Cursor für interaktive Elemente wiederherstellen */
.dx-dashboard button,
.dx-dashboard .dx-button,
.dx-dashboard a,
.dx-dashboard .dx-link,
.dx-dashboard input[type="checkbox"],
.dx-dashboard .dx-checkbox,
.dx-dashboard .dx-combobox,
.dx-dashboard .dx-selectbox,
.dx-dashboard .dx-filter-editor,
.dx-dashboard .dxbs-dropdown,
.dx-dashboard .dx-scrollbar,
.dx-dashboard .dx-icon {
    cursor: pointer !important;
}

/* Standard-Cursor für Eingabefelder */
.dx-dashboard input[type="text"],
.dx-dashboard input[type="number"],
.dx-dashboard textarea {
    cursor: text !important;
}

/* Standard-Cursor für Dashboard-Titel und Controls */
.dx-dashboard-title,
.dx-dashboard-item-caption {
    cursor: default !important;
}

/* Verhindere, dass pointer-events die Selektion blockieren */
.dx-dashboard-item-content {
    pointer-events: auto !important;
}

/* Tab Content Panel: Höhe immer auto */
.dxbl-tabs-content[data-dx-tab-loaded] {
    height: auto !important;
    min-height: 0 !important;
}

/* Rahmenloser Beschreibungstext im Upload-Dialog */
.import-hinweis-borderless .dxbl-text-edit {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding-left: 0 !important;
}