/* /Components/Controls/EFActionButton.razor.rz.scp.css */
@media (max-width: 1199px) {
    [b-a1rq4e8e8j] .ef-abtn--hide-text-mobile .dxbl-btn-caption {
        display: none !important;
    }

    [b-a1rq4e8e8j] .ef-abtn--hide-text-mobile.ef-actionbar__btn {
        width: var(--ef-touch-target) !important;
        min-width: var(--ef-touch-target);
        max-width: var(--ef-touch-target);
        height: var(--ef-touch-target);
        padding: 0;
        overflow: hidden;
    }
}
/* /Components/Controls/EFActionButtonBar.razor.rz.scp.css */
.ef-actionbar[b-5o9w0wruet] {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.25rem;
    max-width: 100%;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.ef-actionbar.ef-actionbar--right[b-5o9w0wruet] {
    margin-left: auto;
}

/* Maximale Breite je nach Spaltenanzahl */
.ef-actionbar.ef-actionbar--cols-2[b-5o9w0wruet] {
    width: calc(2 * 12.5rem + 1 * 1.25rem);
}

.ef-actionbar.ef-actionbar--cols-3[b-5o9w0wruet] {
    width: calc(3 * 12.5rem + 2 * 1.25rem);
}

.ef-actionbar.ef-actionbar--cols-4[b-5o9w0wruet] {
    width: calc(4 * 12.5rem + 3 * 1.25rem);
}

.ef-actionbar.ef-actionbar--cols-5[b-5o9w0wruet] {
    width: calc(5 * 12.5rem + 4 * 1.25rem);
}

/* Items: gleichmäßig verteilt */
[b-5o9w0wruet] .ef-actionbar__item {
    flex: 1 1 0;
    min-width: 0;
}

/* Button: füllt Slot, kein Rahmen, feste Höhe */
[b-5o9w0wruet] .ef-actionbar__item .dxbl-btn.ef-actionbar__btn {
    width: 100% !important;
    min-height: 2.75rem;
    height: auto;
    border: none;
    font-size: 0.875rem !important;
}

[b-5o9w0wruet] .ef-actionbar__item .dxbl-btn.ef-actionbar__btn i {
    font-size: 1.25rem !important;
}

[b-5o9w0wruet] .ef-actionbar__item .dxbl-btn.ef-actionbar__btn .dxbl-btn-caption {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}

.ef-actionbar.ef-actionbar--narrow[b-5o9w0wruet],
.ef-actionbar.ef-actionbar--narrow.ef-actionbar--cols-2[b-5o9w0wruet],
.ef-actionbar.ef-actionbar--narrow.ef-actionbar--cols-3[b-5o9w0wruet],
.ef-actionbar.ef-actionbar--narrow.ef-actionbar--cols-4[b-5o9w0wruet] {
    width: 100%;
}

@media (max-width: 1199px) {
    [b-5o9w0wruet] .ef-actionbar__item .dxbl-btn.ef-actionbar__btn:not(.ef-abtn--hide-text-mobile) {
        width: 7.6875rem !important;
    }

    [b-5o9w0wruet] .ef-actionbar__item {
        flex: 0 0 auto;
    }

    .ef-actionbar.ef-actionbar--right.ef-actionbar--cols-2[b-5o9w0wruet],
    .ef-actionbar.ef-actionbar--right.ef-actionbar--cols-3[b-5o9w0wruet],
    .ef-actionbar.ef-actionbar--right.ef-actionbar--cols-4[b-5o9w0wruet] {
        width: auto;
        justify-content: flex-end;
    }
}
/* /Components/Controls/EFAttachments/EFAttachments.razor.rz.scp.css */
.ef-attachments[b-y2qpdgrqa2] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.ef-attachments-placeholder[b-y2qpdgrqa2] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-lg);
    color: var(--ef-text-secondary);
    font-size: var(--font-size-small);
    background: var(--ef-bg-primary);
    border-radius: var(--ef-radius-md);
}

.ef-attachments-upload[b-y2qpdgrqa2] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.ef-attachments-upload-btn[b-y2qpdgrqa2] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    background: var(--ef-primary);
    color: var(--ef-text-light);
    border: none;
    border-radius: var(--ef-radius-lg);
    font-size: var(--font-size-small);
    cursor: pointer;
    transition: background 0.15s;
}

    .ef-attachments-upload-btn:hover:not(:disabled)[b-y2qpdgrqa2] {
        background: var(--ef-primary-dark);
    }

    .ef-attachments-upload-btn:disabled[b-y2qpdgrqa2] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.ef-attachments-hint[b-y2qpdgrqa2] {
    font-size: 0.75rem;
    color: var(--ef-text-secondary);
}

.ef-attachments-empty[b-y2qpdgrqa2] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    color: var(--ef-text-secondary);
    font-size: var(--font-size-small);
}

.ef-attachments-list[b-y2qpdgrqa2] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ef-attachments-item[b-y2qpdgrqa2] {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: 0.5rem 0.75rem;
    background: var(--ef-bg-primary);
    border-radius: var(--ef-radius-md);
    transition: background 0.15s;
}

    .ef-attachments-item:hover[b-y2qpdgrqa2] {
        background: var(--ef-bg-secondary);
    }

.ef-attachments-item-icon[b-y2qpdgrqa2] {
    font-size: 1.25rem;
    color: var(--ef-primary);
    flex-shrink: 0;
    width: 2rem;
    text-align: center;
}

.ef-attachments-item-info[b-y2qpdgrqa2] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ef-attachments-item-name[b-y2qpdgrqa2] {
    font-size: var(--font-size-small);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ef-attachments-item-meta[b-y2qpdgrqa2] {
    font-size: 0.75rem;
    color: var(--ef-text-secondary);
}

.ef-attachments-item-actions[b-y2qpdgrqa2] {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}

.ef-attachments-action-btn[b-y2qpdgrqa2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: var(--ef-radius-md);
    background: transparent;
    color: var(--ef-text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

    .ef-attachments-action-btn:hover[b-y2qpdgrqa2] {
        background: var(--ef-bg-secondary);
        color: var(--ef-primary);
    }

    .ef-attachments-action-btn--danger:hover[b-y2qpdgrqa2] {
        color: var(--ef-danger);
    }
/* /Components/Controls/EFCard.razor.rz.scp.css */
.ef-card[b-zqbel6xd3v] {
    display: inline-block;
    background-color: var(--ef-card-bg, var(--ef-bg-primary));
    border: 1px solid var(--ef-card-border, var(--ef-border-medium));
    border-radius: var(--ef-radius-xs);
}

.ef-card.full-width[b-zqbel6xd3v] {
    display: block;
    width: 100%;
}

.ef-card__body[b-zqbel6xd3v] {
    padding: 1rem;
}

.ef-card__footer[b-zqbel6xd3v] {
    padding: 1rem;
    border-top: 1px solid var(--ef-border-medium);
}
/* /Components/Controls/EFDataGrid.razor.rz.scp.css */
[b-hzfeq3re1l] .ef-data-grid {
    width: 100%;
    color: var(--ef-text-primary);
}

/* Enlarge grid rows for more breathing room */
[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table td {
    padding-top: 1.4rem !important;
    padding-bottom: 1.4rem !important;
}

/* Uniform row background and separator lines */
[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table tr {
    background-color: var(--ef-bg-primary) !important;
    border-bottom: 1px solid var(--ef-bg-secondary) !important;
}

[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table tr:hover td {
    background-color: var(--ef-bg-tertiary) !important;
}

[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table td {
    background-color: var(--ef-bg-primary) !important;
    border-bottom: 1px solid var(--ef-bg-secondary) !important;
    border-top: none !important;
}

[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table {
    border-collapse: collapse !important;
}

/* Header row background */
    [b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table th {
        background-color: var(--ef-bg-secondary) !important;
        color: var(--ef-text-primary);
        text-transform: uppercase !important;
        font-weight: 600 !important;
        padding-top: 1.2rem !important;
        padding-bottom: 1.2rem !important;
    }

[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table th *,
[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-header-content,
[b-hzfeq3re1l] .ef-data-grid thead,
[b-hzfeq3re1l] .ef-data-grid thead tr,
[b-hzfeq3re1l] .ef-data-grid thead th,
[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-header {
    background-color: transparent !important;
}

[b-hzfeq3re1l] .ef-data-grid thead tr {
    background-color: var(--ef-bg-secondary) !important;
}
/* ── Grid row action buttons (matches mobile card button style) ──────── */

[b-hzfeq3re1l] .ef-grid-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

[b-hzfeq3re1l] .ef-grid-row-btn-primary {
    padding: 0.25rem 0.65rem;
    background-color: var(--ef-primary);
    color: var(--ef-text-light);
    border: none;
    border-radius: 0.4rem;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
    height: 2rem;
    font-family: inherit;
}

    [b-hzfeq3re1l] .ef-grid-row-btn-primary:hover {
        background-color: color-mix(in srgb, var(--ef-primary) 82%, #000000);
        color: var(--ef-text-light);
    }

[b-hzfeq3re1l] .ef-grid-row-btn-icon {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 0.4rem;
    background-color: var(--ef-button-Löschen);
    color: var(--ef-text-light);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.88rem;
    flex-shrink: 0;
    transition: background-color 0.15s, color 0.15s;
    font-family: inherit;
}

    [b-hzfeq3re1l] .ef-grid-row-btn-icon:hover {
        background-color: color-mix(in srgb, var(--ef-button-Löschen) 82%, #000000);
        color: var(--ef-text-light);
    }

[b-hzfeq3re1l] .ef-grid-row-btn-icon--danger {
    background-color: var(--ef-button-Löschen);
    color: var(--ef-text-light);
}

    [b-hzfeq3re1l] .ef-grid-row-btn-icon--danger:hover {
        background-color: color-mix(in srgb, var(--ef-button-Löschen) 82%, #000000);
        color: var(--ef-text-light);
    }

.ef-data-grid-wrapper[b-hzfeq3re1l] {
    width: 100%;
    border-radius: 0.875rem;
    border: 1px solid var(--ef-bg-secondary);
    background: var(--ef-bg-primary);
    font-family: 'Montserrat', sans-serif;
    /* DevExpress pager variables override for this grid */
    --dxbl-pager-active-page-btn-bg: var(--ef-primary-medium);
    --dxbl-pager-active-page-btn-border-color: var(--ef-primary-medium);
    --dxbl-pager-active-page-btn-color: var(--ef-text-light);
}

/* DxLoadingPanel and inner content render naturally (no clipping); the
   page-level scrollbar (article.content) handles overflow when grids are
   taller than the viewport — matches the proven Produkte behavior. */
[b-hzfeq3re1l] .ef-data-grid-wrapper > .dxbl-loading-panel {
    width: 100%;
}

    [b-hzfeq3re1l] .ef-data-grid-wrapper > .dxbl-loading-panel > .dxbl-loading-panel-content {
        width: 100%;
    }
/* ===== TOOLBAR: search bar fills all remaining space ===== */
/* The toolbar itself is a flex row */
[b-hzfeq3re1l] .dxbl-btn-toolbar {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 0.875rem 1rem;
    gap: 0.5rem;
}
    /* The toolbar group that contains the search item must grow */
    [b-hzfeq3re1l] .dxbl-btn-toolbar > .dxbl-toolbar-group:has(.ef-grid-search-item) {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
    /* The search toolbar-item itself must also grow */
    [b-hzfeq3re1l] .dxbl-btn-toolbar .ef-grid-search-item {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: 100% !important;
    }
        /* The template wrapper inside the toolbar item */
        [b-hzfeq3re1l] .dxbl-btn-toolbar .ef-grid-search-item .dxbl-toolbar-item-tmpl {
            width: 100% !important;
        }
    /* Kill the placeholder that DevExpress inserts between groups */
    [b-hzfeq3re1l] .dxbl-btn-toolbar > .dxbl-toolbar-placeholder {
        flex: 1 1 0px !important;
        width: 3px !important;
        min-width: 0 !important;
        /*  display: none !important;*/
    }
    /* Right-side toolbar buttons (Spaltenauswahl, Export) stay compact */
    [b-hzfeq3re1l] .dxbl-btn-toolbar > .dxbl-toolbar-group:not(:has(.ef-grid-search-item)) {
        flex: 0 1 auto !important;
        width: auto !important;
    }
/* ===== Hide cell borders ===== */
[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table td,
[b-hzfeq3re1l] .ef-data-grid .dxbl-grid-table th {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
}
/* HEADER STYLE */
[b-hzfeq3re1l] .header-bold {
    background-color: var(--ef-bg-primary) !important;
}

/* Grid typography */
/*::deep .ef-data-grid,
::deep .ef-data-grid * {
    font-family: 'Montserrat', sans-serif;
}*/
/* Selected row background — clear sky-blue tint, unmistakably a selection */
[b-hzfeq3re1l] .dxbl-grid .dxbl-grid-table .dxbl-grid-selected-row,
[b-hzfeq3re1l] .dxbl-grid .dxbl-grid-table tr.dxbl-grid-selected-row > td {
    background-color: #d6edf8 !important;
}
    /* Make the selection checkbox/icon blue when selected (leave icon color as before) */
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-table .dxbl-grid-selected-row .dxbl-checkbox .dxbl-checkbox-check-element,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-table .dxbl-grid-selected-row .dxbl-checkbox .dxbl-checkbox-check,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-table .dxbl-grid-selected-row .dxbl-checkbox input:checked + .dxbl-checkbox-check {
        color: var(--ef-primary) !important;
        border-color: var(--ef-primary) !important;
        background-color: var(--ef-primary) !important;
    }
/* Subtle row separators like the screenshot */
[b-hzfeq3re1l] .dxbl-grid .dxbl-grid-table td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
/* Optional: less "boxy" header */
[b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row,
[b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row th {
    font-weight: 700;
    color: rgba(0, 0, 0, 0.65);
    background-color: var(--ef-bg-secondary) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
}
    /* ===== Header selector (Select-All) checkbox — same style as row checkboxes ===== */
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox .dxbl-checkbox-check-element,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox .dxbl-checkbox-check {
        background-color: var(--ef-bg-primary) !important;
        border-color:     var(--ef-border-medium) !important;
        color:            var(--ef-text-secondary) !important;
    }
    /* Checked state: DX adds .dxbl-checkbox-checked class on the parent */
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox.dxbl-checkbox-checked .dxbl-checkbox-check-element,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox.dxbl-checkbox-indeterminate .dxbl-checkbox-check-element {
        background-color: var(--ef-primary) !important;
        border-color:     var(--ef-primary) !important;
        color:            var(--ef-text-light) !important;
    }
    /* SVG checkmark color */
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox.dxbl-checkbox-checked svg,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox.dxbl-checkbox-checked svg *,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox.dxbl-checkbox-indeterminate svg,
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row .dxbl-checkbox.dxbl-checkbox-indeterminate svg * {
        fill: var(--ef-text-light) !important;
    }
    /* ===== Header selector cell — no extra tint when select-all is checked ===== */
    [b-hzfeq3re1l] .dxbl-grid .dxbl-grid-header-row th:has(.dxbl-checkbox input:checked) {
        background-color: var(--ef-bg-secondary) !important;
    }
/* ===== Pager: current/active page use requested color #87B6E0 ===== */
[b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page.dxbl-active,
[b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page.dxbl-selected,
[b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page[aria-current="page"],
[b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page.dx-state-active,
[b-hzfeq3re1l] .dxbl-pager button.dxbl-pager-page-btn.dxbl-pager-active-page-btn,
[b-hzfeq3re1l] .dxbl-btn.dxbl-pager-active-page-btn {
    background-color: var(--ef-primary-medium) !important;
    border-color: var(--ef-primary-medium) !important;
    color: var(--ef-text-light) !important;
    box-shadow: none !important;
}
    /* ensure the text inside stays white */
    [b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page.dxbl-active *,
    [b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page.dxbl-selected *,
    [b-hzfeq3re1l] .dxbl-pager .dxbl-pager-page[aria-current="page"] *,
    [b-hzfeq3re1l] .dxbl-pager button.dxbl-pager-page-btn.dxbl-pager-active-page-btn * {
        color: var(--ef-text-light) !important;
    }
/* pager outline secondary variant override */
[b-hzfeq3re1l] .dxbl-pager button.dxbl-btn.dxbl-btn-outline-secondary.dxbl-pager-active-page-btn {
    background-color: var(--ef-primary-medium) !important;
    border-color: var(--ef-primary-medium) !important;
    color: var(--ef-text-light) !important;
}
/* Hover/focus state for pager active button */
[b-hzfeq3re1l] .dxbl-pager button.dxbl-pager-page-btn.dxbl-pager-active-page-btn:hover,
[b-hzfeq3re1l] .dxbl-pager button.dxbl-pager-page-btn.dxbl-pager-active-page-btn:focus {
    background-color: var(--ef-primary) !important;
    border-color: var(--ef-primary) !important;
    color: var(--ef-text-light) !important;
}
/* Make elements with ef-col-bold render bold (applies to headers and cells) */
[b-hzfeq3re1l] .ef-data-grid .ef-col-bold,
[b-hzfeq3re1l] .ef-data-grid th.ef-col-bold,
[b-hzfeq3re1l] .ef-data-grid td.ef-col-bold,
[b-hzfeq3re1l] .dxbl-grid .ef-col-bold {
    font-weight: 550 !important;
}

/* ── Page-size bar (below pager) ──────────────────────────────────── */

.ef-grid-pagesize-bar[b-hzfeq3re1l] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-top: 1px solid var(--ef-border-light);
    font-size: var(--font-size-small);
    color: var(--ef-text-secondary);
}

.ef-grid-pagesize-label[b-hzfeq3re1l] {
    white-space: nowrap;
    font-weight: 500;
}

.ef-grid-pagesize-quick-buttons[b-hzfeq3re1l] {
    display: flex;
    gap: 0.25rem;
}

.ef-grid-pagesize-quick[b-hzfeq3re1l] {
    padding: 0.2rem 0.55rem;
    border: 1px solid var(--ef-border-light);
    border-radius: 1rem;
    background: var(--ef-bg-primary);
    color: var(--ef-text-secondary);
    font-size: var(--font-size-small);
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
    font-family: inherit;
    line-height: 1.4;
}

    .ef-grid-pagesize-quick:hover[b-hzfeq3re1l] {
        background-color: var(--ef-bg-secondary);
        border-color: var(--ef-primary);
        color: var(--ef-primary);
    }

    .ef-grid-pagesize-quick.is-active[b-hzfeq3re1l] {
        background-color: var(--ef-primary);
        border-color: var(--ef-primary);
        color: var(--ef-text-light);
    }

[b-hzfeq3re1l] .ef-grid-pagesize-input {
    width: 5rem;
}

    [b-hzfeq3re1l] .ef-grid-pagesize-input input {
        text-align: center;
        font-size: var(--font-size-small);
        font-family: inherit;
    }
/* /Components/Controls/EFGlobalIdKennung.razor.rz.scp.css */
.auth-row--1-2[b-bg9akjeyx9] {
    grid-template-columns: 2fr 3fr;
}
/* /Components/Controls/EFGridDetailView.razor.rz.scp.css */
.ef-grid-detail-view[b-9s05v9yxbl] {
    animation: fadeIn-b-9s05v9yxbl 0.3s ease-out;
    width: 30rem;
}

@keyframes fadeIn-b-9s05v9yxbl {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Styling for detail fields within the template */
.ef-grid-detail-view .detail-section[b-9s05v9yxbl] {
    padding: 0.5rem;
}

/* /Components/Controls/EFIconButton.razor.rz.scp.css */
.ef-icon-button[b-ac5o3iir45] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.125rem;
    height: 3.125rem;
    padding: 0;
    border: 1px solid var(--ef-border-light);
    border-radius: 0.375rem;
    background-color: var(--ef-primary);
    color: var(--ef-text-light);
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.ef-icon-button:hover:not(:disabled)[b-ac5o3iir45] {
    background-color: var(--ef-primary-dark);
    border-color: var(--ef-primary-dark);
    color: var(--ef-text-light);
}

.ef-icon-button:active:not(:disabled)[b-ac5o3iir45] {
    background-color: var(--ef-primary);
    transform: translateY(1px);
}

.ef-icon-button:disabled[b-ac5o3iir45] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Icon and direct text size set to 14px */
.ef-icon-button i[b-ac5o3iir45],
.ef-icon-button > *:not(img)[b-ac5o3iir45] {
    font-size: 1.5rem;
    line-height: 1.5rem;
    color: var(--ef-text-light);
}

/* Ensure image icons scale appropriately */
.ef-icon-button img[b-ac5o3iir45],
.ef-icon-button-icon[b-ac5o3iir45] {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}

.ef-icon-button:focus[b-ac5o3iir45] {
    outline: 0.125rem solid var(--ef-primary);
    outline-offset: 0.125rem;
}

.ef-icon-button:focus:not(:focus-visible)[b-ac5o3iir45] {
    outline: none;
}

/* ── Danger variant (trash/delete actions) ── */
.ef-icon-button.ef-icon-button--danger[b-ac5o3iir45] {
    background-color: var(--ef-danger);
    border-color: var(--ef-danger);
}

    .ef-icon-button.ef-icon-button--danger:hover:not(:disabled)[b-ac5o3iir45] {
        background-color: var(--ef-error);
        border-color: var(--ef-error);
        color: var(--ef-text-light);
    }

    .ef-icon-button.ef-icon-button--danger i[b-ac5o3iir45],
    .ef-icon-button.ef-icon-button--danger > *:not(img)[b-ac5o3iir45] {
        color: var(--ef-text-light);
    }

/* /Components/Controls/EFInputWithButton.razor.rz.scp.css */
.ef-input-with-button-wrapper[b-z0hxcl98cp] {
    display: flex;
    flex-direction: column;
}

.ef-input-with-button[b-z0hxcl98cp] {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--ef-border-medium);
    border-radius: 0.375rem;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.ef-input-with-button:focus-within[b-z0hxcl98cp] {
    border-color: var(--ef-primary);
    box-shadow: 0 0 0 1px var(--ef-primary);
}

.ef-input-with-button-input[b-z0hxcl98cp] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-text-edit {
    flex: 1;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    outline: none !important;
}

.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-text-edit::before,
.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-text-edit::after {
    display: none !important;
}

.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-text-edit:focus-within,
.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-text-edit.dxbl-focused {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-text-edit-input {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
}

.ef-input-with-button-input[b-z0hxcl98cp]  .dxbl-edit-validation-status {
    display: none !important;
}

.ef-input-with-button-btn[b-z0hxcl98cp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 2.375rem;
    height: 2.375rem;
    border: none;
    border-left: 1px solid var(--ef-border-medium);
    background-color: var(--ef-input-btn-bg);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    flex-shrink: 0;
}

.ef-input-with-button:focus-within .ef-input-with-button-btn[b-z0hxcl98cp] {
    background-color: var(--ef-primary);
    border-left-color: var(--ef-primary);
}

.ef-input-with-button-btn:disabled[b-z0hxcl98cp] {
    opacity: 0.6;
    cursor: not-allowed;
}

.ef-input-icon-normal[b-z0hxcl98cp] {
    display: block;
}

.ef-input-icon-selected[b-z0hxcl98cp] {
    display: none;
}

.ef-input-with-button:focus-within .ef-input-icon-normal[b-z0hxcl98cp] {
    display: none;
}

.ef-input-with-button:focus-within .ef-input-icon-selected[b-z0hxcl98cp] {
    display: block;
}

.ef-input-valid .ef-input-with-button[b-z0hxcl98cp],
.ef-input-valid .ef-input-with-button:focus-within[b-z0hxcl98cp] {
    border-color: var(--ef-input-valid);
}

.ef-input-valid .ef-input-with-button-btn[b-z0hxcl98cp],
.ef-input-valid .ef-input-with-button:focus-within .ef-input-with-button-btn[b-z0hxcl98cp] {
    background-color: var(--ef-input-valid);
    border-left-color: var(--ef-input-valid);
}

.ef-input-valid .ef-input-with-button .ef-input-icon-normal[b-z0hxcl98cp] {
    display: none;
}

.ef-input-valid .ef-input-with-button .ef-input-icon-selected[b-z0hxcl98cp] {
    display: block;
}

.ef-input-with-button-icon[b-z0hxcl98cp] {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}

.ef-input-always-active .ef-input-with-button-btn[b-z0hxcl98cp] {
    background-color: var(--ef-primary);
    border-left-color: var(--ef-primary);
}

.ef-input-always-active .ef-input-icon-normal[b-z0hxcl98cp] {
    display: none;
}

.ef-input-always-active .ef-input-icon-selected[b-z0hxcl98cp] {
    display: block;
}

.ef-input-with-button-message[b-z0hxcl98cp] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.5;
    min-height: 1.125rem;
    color: var(--ef-text-primary);
    text-align: left;
}

.ef-input-with-button-message-valid[b-z0hxcl98cp] {
    color: var(--ef-input-valid);
}
/* /Components/Controls/EFLabel.razor.rz.scp.css */
.ef-label-wrapper[b-dzevmigs6p] {
    display: flex;
    gap: 0.1875rem;
}

.ef-label-block[b-dzevmigs6p] {
    flex-direction: column;
}

.ef-label-inline[b-dzevmigs6p] {
    flex-direction: row;
    align-items: center;
}

.ef-label-horizontal[b-dzevmigs6p] {
    flex-direction: row;
    align-items: center;
}

.ef-label-horizontal > .ef-label[b-dzevmigs6p] {
    white-space: nowrap;
    flex-shrink: 0;
}

.ef-label[b-dzevmigs6p] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--ef-text-primary);
    letter-spacing: 0.01em;
}

.ef-label-control[b-dzevmigs6p] {
    flex: 1;
    min-width: 0;
}

[b-dzevmigs6p] .ef-label-control > * {
    width: 100%;
}
/* /Components/Controls/EFLoadingDonut.razor.rz.scp.css */
.ef-loading-donut[b-h99xpb7gbz] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ef-loading-donut img[b-h99xpb7gbz] {
    width: 3.125rem;
    height: 3.125rem;
    object-fit: contain;
}
/* /Components/Controls/EFStatusDropdownButton.razor.rz.scp.css */
/* ── Status dropdown button (generic) ──────────────────────────────── */
/* Menu panel and item styles live in app.css (.ef-dropdown-menu / .ef-dropdown-item) */

.ef-status-dropdown[b-ilc3iioogc] {
    position: relative;
    display: inline-block;
}

/* Positioned absolutely beneath the trigger button */
.ef-status-dropdown .ef-dropdown-menu[b-ilc3iioogc] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1000;
    animation: ef-slideIn 0.15s ease-out;
}

/* ── Confirm step ──────────────────────────────────────────────────── */

.ef-status-dropdown__confirm[b-ilc3iioogc] {
    padding: 0.75rem 1rem;
}

.ef-status-dropdown__confirm-text[b-ilc3iioogc] {
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
    color: var(--ef-text-secondary);
    line-height: 1.4;
}

.ef-status-dropdown__confirm-actions[b-ilc3iioogc] {
    display: flex;
    gap: 0.5rem;
}

.ef-status-dropdown__confirm-btn[b-ilc3iioogc] {
    flex: 1;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--ef-border-medium);
    border-radius: var(--ef-radius-sm);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

.ef-status-dropdown__confirm-btn--yes[b-ilc3iioogc] {
    background: var(--ef-primary);
    color: var(--ef-text-light);
    border-color: var(--ef-primary);
}

.ef-status-dropdown__confirm-btn--yes:hover[b-ilc3iioogc] {
    background: color-mix(in srgb, var(--ef-primary) 82%, #000000);
    border-color: color-mix(in srgb, var(--ef-primary) 82%, #000000);
}

.ef-status-dropdown__confirm-btn--no[b-ilc3iioogc] {
    background: var(--ef-bg-primary);
    color: var(--ef-text-secondary);
}

.ef-status-dropdown__confirm-btn--no:hover[b-ilc3iioogc] {
    background-color: color-mix(in srgb, var(--ef-bg-secondary) 82%, #000000);
}

/* ── Status color variants ─────────────────────────────────────────── */

[b-ilc3iioogc] .ef-status-change--yellow i { color: var(--ef-status-amber-fg); }
[b-ilc3iioogc] .ef-status-change--green i { color: var(--ef-status-green-500); }
[b-ilc3iioogc] .ef-status-change--orange i { color: var(--ef-primary); }
[b-ilc3iioogc] .ef-status-change--red i { color: var(--ef-status-red-500); }
[b-ilc3iioogc] .ef-status-change--archiv i { color: var(--ef-text-secondary); }
/* /Components/Controls/EFStatusPicker.razor.rz.scp.css */
/* Styles handled by global ef-status-badge.css — no scoped overrides needed */
/* /Components/Controls/EFUmsatzUebersicht.razor.rz.scp.css */
/* ── Card wrapper ───────────────────────────────────────────── */
.umsatz-card[b-oo1a06881l] {
    margin-bottom: 0;
    overflow: visible;
    --ef-card-bg: var(--ef-bg-primary);
    --ef-card-border: var(--ef-border-medium);
    background-color: var(--ef-bg-primary) !important;
}

/* ── Header row ─────────────────────────────────────────────── */
.umsatz-header[b-oo1a06881l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    row-gap: 0.625rem;
}

.umsatz-collapse-btn[b-oo1a06881l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0.125rem 0.25rem;
    cursor: pointer;
    color: var(--ef-primary-dark);
    font-size: 1rem;
    border-radius: var(--ef-radius-xs);
    transition: background-color var(--ef-transition-fast);
}

.umsatz-collapse-btn:hover[b-oo1a06881l] {
    background-color: var(--ef-bg-tertiary);
}

.umsatz-title[b-oo1a06881l] {
    margin: 0;
    color: var(--ef-primary-dark);
    font-size: 1.25rem;
    font-weight: 600;
    flex-shrink: 0;
}

/* ── Filter bar ─────────────────────────────────────────────── */
.umsatz-filter-bar[b-oo1a06881l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    flex: 1 1 38rem;
    justify-content: flex-start;
    min-width: 0;
    overflow: visible;
}

[b-oo1a06881l] .umsatz-filter-combo {
    width: 105px;
    min-width: 0;
}

/* ── Toggle groups (Alle/Angebot/Rechnung and Brutto/Netto) ─── */
.umsatz-toggle[b-oo1a06881l] {
    display: inline-flex;
    border: 1px solid var(--ef-border-medium);
    border-radius: var(--ef-radius-md);
    overflow: hidden;
    flex-shrink: 0;
}

.umsatz-toggle-btn[b-oo1a06881l] {
    background: transparent;
    border: none;
    padding: 0.3rem 0.75rem;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--ef-text-secondary);
    transition: background-color var(--ef-transition-fast), color var(--ef-transition-fast);
}

.umsatz-toggle-btn:hover:not(.active)[b-oo1a06881l] {
    background-color: var(--ef-status-filter-hover);
    color: var(--ef-text-primary);
}

.umsatz-toggle-btn.active[b-oo1a06881l] {
    background-color: var(--ef-primary);
    color: var(--ef-text-light);
    font-weight: 600;
}

/* ── Status filter bar (Alle/Offen/Fällig/Bezahlt/Storniert) ── */
.umsatz-status-bar[b-oo1a06881l] {
    display: inline-flex;
    flex: 0 1 auto;
    border: 1px solid var(--ef-border-medium);
    border-radius: var(--ef-radius-md);
    overflow: hidden;
}

.umsatz-status-btn[b-oo1a06881l] {
    background: transparent;
    border: none;
    padding: 0.3rem 0.625rem;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ef-text-secondary);
    transition: background-color var(--ef-transition-fast), color var(--ef-transition-fast);
    white-space: nowrap;
}

.umsatz-status-btn:hover:not(.active)[b-oo1a06881l] {
    background-color: var(--ef-status-filter-hover);
    color: var(--ef-text-primary);
}

.umsatz-status-btn.active[b-oo1a06881l] {
    background-color: var(--ef-primary);
    color: var(--ef-text-light);
    font-weight: 600;
}

/* ── Loading state ──────────────────────────────────────────── */
.umsatz-loading[b-oo1a06881l] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    color: var(--ef-primary-dark);
    font-size: 0.9rem;
}

.umsatz-loading-icon[b-oo1a06881l] {
    animation: umsatz-spin-b-oo1a06881l 1s linear infinite;
}

@keyframes umsatz-spin-b-oo1a06881l {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* ── KPI cards row ──────────────────────────────────────────── */
.umsatz-kpi-row[b-oo1a06881l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.umsatz-kpi[b-oo1a06881l] {
    background-color: var(--ef-bg-secondary);
    border: 1px solid var(--ef-border-light);
    border-radius: var(--ef-radius-lg);
    padding: 0.875rem 1.125rem;
}

.umsatz-kpi--accent[b-oo1a06881l] {
    border-color: var(--ef-warning);
}

.umsatz-kpi-label[b-oo1a06881l] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ef-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.25rem;
}

.umsatz-kpi-value[b-oo1a06881l] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ef-primary-darker);
}

.umsatz-kpi--accent .umsatz-kpi-value[b-oo1a06881l] {
    color: var(--ef-warning);
}

.umsatz-kpi-sub[b-oo1a06881l] {
    font-size: 0.75rem;
    color: var(--ef-text-secondary);
    margin-top: 2px;
}

/* ── Bar chart ──────────────────────────────────────────────── */
.umsatz-bars[b-oo1a06881l] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0.375rem;
    height: 10rem;
    margin-bottom: 1.25rem;
    padding: 0 0.25rem;
}

.umsatz-bar[b-oo1a06881l] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
}

.umsatz-bar-track[b-oo1a06881l] {
    flex: 1 1 auto;
    display: flex;
    align-items: flex-end;
    background-color: var(--ef-bg-tertiary);
    border-radius: var(--ef-radius-xs) var(--ef-radius-xs) 0 0;
    overflow: hidden;
    min-height: 0.25rem;
}

.umsatz-bar-fill[b-oo1a06881l] {
    width: 100%;
    background: var(--ef-primary);
    min-height: 2px;
    transition: height 0.3s ease;
}

.umsatz-bar-label[b-oo1a06881l] {
    text-align: center;
    font-size: 0.7rem;
    color: var(--ef-text-secondary);
    margin-top: 0.25rem;
}

/* ── Monthly table ──────────────────────────────────────────── */
.umsatz-table[b-oo1a06881l] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    color: var(--ef-text-primary);
}

.umsatz-table thead th[b-oo1a06881l] {
    text-align: left;
    padding: 0.5rem 0.75rem;
    border-bottom: 2px solid var(--ef-border-medium);
    color: var(--ef-primary-dark);
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.umsatz-table .umsatz-count[b-oo1a06881l],
.umsatz-table .umsatz-amount[b-oo1a06881l] {
    text-align: right;
}

.umsatz-row td[b-oo1a06881l] {
    padding: 0.375rem 0.75rem;
    border-bottom: 1px solid var(--ef-border-light);
}

.umsatz-row:hover td[b-oo1a06881l] {
    background-color: var(--ef-bg-secondary);
}

.umsatz-row--gesamt td[b-oo1a06881l] {
    font-weight: 700;
    background-color: var(--ef-bg-secondary);
    border-top: 2px solid var(--ef-primary);
    border-bottom: none;
    color: var(--ef-primary-darker);
}

.umsatz-row--gesamt:hover td[b-oo1a06881l] {
    background-color: var(--ef-bg-secondary);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
    .umsatz-header[b-oo1a06881l] {
        align-items: flex-start;
    }

    .umsatz-filter-bar[b-oo1a06881l] {
        flex-basis: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }

    .umsatz-kpi-row[b-oo1a06881l] {
        grid-template-columns: 1fr;
    }

    .umsatz-bars[b-oo1a06881l] {
        height: 7.5rem;
    }

    .umsatz-filter-combo[b-oo1a06881l] {
        min-width: 120px;
    }

    .umsatz-status-bar[b-oo1a06881l] {
        flex-wrap: wrap;
        overflow: visible;
    }

    .umsatz-toggle[b-oo1a06881l] {
        margin-left: 0;
    }
}

/* /Components/Controls/KundenListbox.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   Entity-specific styles (shared infrastructure in app.css ef-listbox-*)
   ══════════════════════════════════════════════════════════════ */

.kunden-listbox-item__firma[b-4lg1a9e4ru] {
    font-size: 0.8rem;
    color: var(--ef-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.kunden-listbox-item__address[b-4lg1a9e4ru] {
    font-size: 0.75rem;
    color: var(--ef-text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.kunden-listbox-item__contact-row[b-4lg1a9e4ru] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.kunden-listbox-item__contact-item[b-4lg1a9e4ru] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--ef-text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    text-decoration: none;
}

    .kunden-listbox-item__contact-item:hover[b-4lg1a9e4ru] {
        color: var(--ef-primary);
        text-decoration: underline;
    }

    .kunden-listbox-item__contact-item i[b-4lg1a9e4ru] {
        font-size: 0.7rem;
        flex-shrink: 0;
    }

/* ── Inline action button variants ── */
.kunden-listbox-item__action-btn--apply[b-4lg1a9e4ru] {
    background-color: var(--ef-action-add-bg);
    color: var(--ef-action-add-fg);
    border-color: var(--ef-action-add-border);
}

    .kunden-listbox-item__action-btn--apply:hover[b-4lg1a9e4ru] {
        background-color: var(--ef-action-add-hover-bg);
        border-color: var(--ef-action-add-fg);
        color: var(--ef-action-add-hover-fg);
        box-shadow: 0 1px 4px rgba(34, 197, 94, 0.2);
    }

.kunden-listbox-item__action-btn--edit[b-4lg1a9e4ru] {
    background-color: var(--ef-action-edit-bg);
    color: var(--ef-action-edit-fg);
    border-color: var(--ef-action-edit-border);
}

.kunden-listbox-item__action-btn--edit:hover[b-4lg1a9e4ru] {
    background-color: var(--ef-action-edit-hover-bg);
    border-color: var(--ef-action-edit-fg);
    color: var(--ef-action-edit-hover-fg);
    box-shadow: 0 1px 4px rgba(168, 82, 8, 0.2);
}
/* /Components/Controls/PositionenListbox.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   Entity-specific styles (shared infrastructure in app.css ef-listbox-*)
   ══════════════════════════════════════════════════════════════ */

/* ── Position card override ── */
.pos-item[b-ywbpaps5p2] {
    padding: 0;
}

/* ══════════════════════════════════════════════════════════════
   Left: Action buttons
   ══════════════════════════════════════════════════════════════ */
.pos-item__actions[b-ywbpaps5p2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    gap: 0.3rem;
    padding: 0.6rem 0.45rem;
    border-right: 1px solid var(--ef-border-light);
}

.pos-item__edit[b-ywbpaps5p2],
.pos-item__delete[b-ywbpaps5p2] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: none;
    border-radius: 0.25rem;
    background: transparent;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    padding: 0;
    font-size: 0.875rem;
}

.pos-item__edit[b-ywbpaps5p2] {
    color: var(--ef-primary);
}

    .pos-item__edit:hover[b-ywbpaps5p2] {
        background-color: var(--ef-bg-secondary);
        color: var(--ef-primary-dark);
    }

.pos-item__delete[b-ywbpaps5p2] {
    color: var(--ef-danger);
}

    .pos-item__delete:hover[b-ywbpaps5p2] {
        background-color: var(--ef-danger-light);
        color: var(--ef-error);
    }

/* ══════════════════════════════════════════════════════════════
   Center: Name + Beschreibung
   ══════════════════════════════════════════════════════════════ */
.pos-item__body[b-ywbpaps5p2] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0.75rem 0.75rem;
    min-width: 0;
    overflow: hidden;
    gap: 0.25rem;
}

.pos-item__header[b-ywbpaps5p2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    overflow: hidden;
}

.pos-item__index[b-ywbpaps5p2] {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--ef-primary-dark);
    background-color: var(--ef-primary-light);
    padding: 0.05rem 0.45rem;
    border-radius: 0.25rem;
    line-height: 1.4;
    min-width: 1.4rem;
    text-align: center;
}

.pos-item__name[b-ywbpaps5p2] {
    flex: 1;
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--ef-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.35;
    min-width: 0;
}

/* ── Menge × Einzelpreis (inline in Header) ── */
.pos-item__calc[b-ywbpaps5p2] {
    flex-shrink: 1;
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--ef-text-secondary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.pos-item__times[b-ywbpaps5p2] {
    margin: 0 0.15rem;
    opacity: 0.5;
}

/* ── Rabatt-Badge ── */
.pos-item__rabatt[b-ywbpaps5p2] {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--ef-danger);
    background-color: var(--ef-danger-light);
    padding: 0.05rem 0.35rem;
    border-radius: 0.25rem;
    white-space: nowrap;
}

/* ── Beschreibung ── */
.pos-item__beschreibung[b-ywbpaps5p2] {
    font-size: 0.72rem;
    color: var(--ef-text-secondary);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 1.9rem;
}

/* ══════════════════════════════════════════════════════════════
   Right: Netto / USt(%) / Brutto
   ══════════════════════════════════════════════════════════════ */
.pos-item__totals[b-ywbpaps5p2] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 0.1rem;
    padding: 0.4rem 0.65rem;
    border-left: 1px solid var(--ef-border-light);
    font-variant-numeric: tabular-nums;
}

.pos-item__total-row[b-ywbpaps5p2] {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    white-space: nowrap;
    font-size: 0.68rem;
    color: var(--ef-text-secondary);
}

.pos-item__total-label[b-ywbpaps5p2] {
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    opacity: 0.7;
    text-align: right;
}

.pos-item__total-value[b-ywbpaps5p2] {
    font-weight: 600;
    color: var(--ef-text-primary);
}

/* ── Primary (active price mode) ── */
.pos-item__total-row--primary[b-ywbpaps5p2] {
    font-size: 0.78rem;
    padding-top: 0.1rem;
    border-top: 1px solid var(--ef-border-light);
    margin-top: 0.05rem;
}

    .pos-item__total-row--primary .pos-item__total-label[b-ywbpaps5p2] {
        font-size: inherit;
        font-weight: 700;
        opacity: 1;
    }

    .pos-item__total-row--primary .pos-item__total-value[b-ywbpaps5p2] {
        font-weight: 700;
        color: var(--ef-text-primary);
    }
/* /Components/Controls/ProduktListbox.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   Entity-specific styles (shared infrastructure in app.css ef-listbox-*)
   ══════════════════════════════════════════════════════════════ */

/* ── Item card override ── */
.produkt-listbox-item[b-iiebhr3lwb] {
    align-items: flex-start;
}

/* ── New-entry special card ── */
.produkt-listbox-item--new-entry[b-iiebhr3lwb] {
    border-style: dashed;
    border-color: var(--ef-primary);
    background-color: color-mix(in srgb, var(--ef-primary-light) 30%, transparent);
    gap: 0.5rem;
}

.produkt-listbox-item__new-icon[b-iiebhr3lwb] {
    font-size: 1rem;
    color: var(--ef-primary);
    flex-shrink: 0;
}

.produkt-listbox-item__new-label[b-iiebhr3lwb] {
    font-size: 0.875rem;
    font-style: italic;
    color: var(--ef-primary-dark);
    font-weight: 500;
}

.produkt-listbox-item__artikelnummer[b-iiebhr3lwb] {
    font-size: 0.75rem;
    color: var(--ef-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.produkt-listbox-item__kategorie[b-iiebhr3lwb] {
    font-size: 0.75rem;
    color: var(--ef-text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

/* ── Price row ── */
.produkt-listbox-item__price-row[b-iiebhr3lwb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-top: 0.1rem;
}

.produkt-listbox-item__price[b-iiebhr3lwb] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--ef-text-primary);
    line-height: 1.3;
}

.produkt-listbox-item__einheit[b-iiebhr3lwb] {
    font-size: 0.75rem;
    color: var(--ef-text-tertiary);
    line-height: 1.3;
}

/* ── Inline badges ── */
.produkt-listbox-item__badge[b-iiebhr3lwb] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.05rem 0.45rem;
    border-radius: 0.25rem;
    line-height: 1.4;
    white-space: nowrap;
}

.produkt-listbox-item__badge--ust[b-iiebhr3lwb] {
    color: var(--ef-text-secondary);
    background-color: var(--ef-bg-secondary);
}

.produkt-listbox-item__badge--gesperrt[b-iiebhr3lwb] {
    color: var(--ef-badge-gesperrt-fg);
    background-color: var(--ef-badge-gesperrt-bg);
}

.produkt-listbox-item__badge--bestand[b-iiebhr3lwb] {
    color: var(--ef-badge-bestand-fg);
    background-color: var(--ef-badge-bestand-bg);
}

/* ── Action button variants ── */
.ef-listbox-item__actions[b-iiebhr3lwb] {
    gap: 0.3rem;
}

.produkt-listbox-item__action-btn--add[b-iiebhr3lwb] {
    background-color: var(--ef-action-add-bg);
    color: var(--ef-action-add-fg);
    border-color: var(--ef-action-add-border);
}

    .produkt-listbox-item__action-btn--add:hover[b-iiebhr3lwb] {
        background-color: color-mix(in srgb, var(--ef-action-add-bg) 82%, #000000);
        border-color: color-mix(in srgb, var(--ef-action-add-fg) 82%, #000000);
        color: var(--ef-action-add-fg);
        box-shadow: 0 1px 4px rgba(34, 197, 94, 0.2);
    }

.produkt-listbox-item__action-btn--edit[b-iiebhr3lwb] {
    background-color: var(--ef-action-edit-bg);
    color: var(--ef-action-edit-fg);
    border-color: var(--ef-action-edit-border);
}

    .produkt-listbox-item__action-btn--edit:hover[b-iiebhr3lwb] {
        background-color: color-mix(in srgb, var(--ef-action-edit-bg) 82%, #000000);
        border-color: color-mix(in srgb, var(--ef-action-edit-fg) 82%, #000000);
        color: var(--ef-action-edit-fg);
        box-shadow: 0 1px 4px rgba(245, 158, 11, 0.2);
    }

.produkt-listbox-item__action-btn--remove[b-iiebhr3lwb] {
    background-color: var(--ef-action-remove-bg);
    color: var(--ef-action-remove-fg);
    border-color: var(--ef-action-remove-border);
}

    .produkt-listbox-item__action-btn--remove:hover[b-iiebhr3lwb] {
        background-color: color-mix(in srgb, var(--ef-action-remove-bg) 82%, #000000);
        border-color: color-mix(in srgb, var(--ef-action-remove-fg) 82%, #000000);
        color: var(--ef-action-remove-fg);
        box-shadow: 0 1px 4px rgba(239, 68, 68, 0.2);
    }
/* /Components/Layout/EFErrorContent.razor.rz.scp.css */
.error-boundary-content[b-jmyamne9tr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3rem 2rem;
    text-align: center;
    min-height: 300px;
}

.error-boundary-icon[b-jmyamne9tr] {
    font-size: 3rem;
    color: var(--ef-primary);
}

.error-boundary-content h3[b-jmyamne9tr] {
    font-size: var(--font-size-big);
    font-weight: 600;
    color: var(--ef-text-primary);
    margin: 0;
}

.error-boundary-content p[b-jmyamne9tr] {
    color: var(--ef-text-secondary);
    max-width: 28rem;
    margin: 0;
}

.error-boundary-actions[b-jmyamne9tr] {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
}
/* /Components/Layout/EFPageHeader.razor.rz.scp.css */
.ef-page-header[b-5giwn153vz] {
    display: flex;
    align-items: center;
}

.ef-page-header-icon-img[b-5giwn153vz] {
    height: clamp(2.5rem, 4vw, 3.25rem);
    aspect-ratio: 1/1;
    margin-right: 0.75rem;
    flex-shrink: 0;
    display: block;
}

.ef-page-header-icon[b-5giwn153vz] {
    font-size: 1rem;
    color: var(--ef-text-primary);
    margin-right: 0.75rem;
    display: flex;
    align-items: center;
}

.ef-page-header-title[b-5giwn153vz] {
    font-size: 1.8rem;
    color: var(--ef-text-primary);
    margin: 0;
    padding: 0;
}

/* /Components/Layout/LandingLayout.razor.rz.scp.css */
.landing[b-s6sjxhzrts] {
    background-color: var(--ef-bg-secondary);
    color: var(--ef-text-primary);
}
.landing .card[b-s6sjxhzrts] {
    background: rgba(255, 255, 255, 0.97);
    border: none;
    box-shadow: 0 0.75rem 2rem rgba(0,0,0,.25);
}
.landing .form-label[b-s6sjxhzrts] { font-weight: 600; }
.landing-container[b-s6sjxhzrts] { max-width: 520px; }
.landing-container:has(.reg-card)[b-s6sjxhzrts] { max-width: 960px; }

@media (max-width: 991.98px) {
    .landing-container:has(.reg-card)[b-s6sjxhzrts] { max-width: 520px; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-waxknlr20a] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

main[b-waxknlr20a] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    background-color: var(--ef-bg-canvas);
}

.top-row[b-waxknlr20a] {
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1;
}

article.content[b-waxknlr20a] {
    margin: 0 auto 1.5rem;
    width: 100%;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    align-items: center;
}

article.content:has(.wide-content)[b-waxknlr20a] {
    margin-bottom: 0;
}

/* AI command input wrapper — matches wide-content horizontal padding, never grows beyond input height */
.content-ai-input[b-waxknlr20a] {
    width: 100%;
    padding: 0 clamp(0.75rem, 1.2vw, 1.5rem);
    flex-shrink: 0;
}

/* Desktop Layout (XLarge screens) - handled via code */
.page.desktop-layout[b-waxknlr20a] {
    flex-direction: row;
}

/* Mobile Header (screens smaller than Medium / Desktop) */
.mobile-header[b-waxknlr20a] {
    background-color: var(--ef-bg-secondary);
    display: flex;
    align-items: center;
    /* Respect iOS safe area (notch) on top; min touch-target height for the bar itself. */
    padding: max(0.625rem, env(safe-area-inset-top)) max(0.625rem, env(safe-area-inset-right)) 0.625rem max(0.625rem, env(safe-area-inset-left));
    min-height: var(--ef-touch-button-height-mobile);
    position: sticky;
    top: 0;
    z-index: 10;
}

.mobile-header-content[b-waxknlr20a] {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    gap: 0.5rem;
}

.mobile-header-back-btn[b-waxknlr20a] {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0 0.5rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    /* WCAG 2.5.8 touch target on mobile */
    min-width: var(--ef-touch-button-height-mobile);
    min-height: var(--ef-touch-button-height-mobile);
    justify-content: center;
}

    .mobile-header-back-btn img[b-waxknlr20a] {
        height: 1.25rem;
    }

.mobile-header-title[b-waxknlr20a] {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    color: var(--ef-text-secondary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-waxknlr20a] .mobile-burger-button {
    appearance: none;
    cursor: pointer;
    /* Touch target: at least 44x44px (WCAG 2.5.8) */
    width: 3.5rem;
    height: var(--ef-touch-button-height-mobile);
    min-height: var(--ef-touch-button-height-mobile);
    border: none;
    background: transparent;
    flex-shrink: 0;
    padding: 0.4rem;
    margin-left: auto;
}

    [b-waxknlr20a] .mobile-burger-button img {
        height: 100%;
        aspect-ratio: 1/1;
        filter: brightness(0) saturate(100%) invert(56%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(92%) contrast(87%);
    }

    [b-waxknlr20a] .mobile-burger-button:hover {
        background-color: rgba(0, 0, 0, 0.05);
    }

    [b-waxknlr20a] .mobile-burger-button:active {
        background-color: rgba(0, 0, 0, 0.1);
    }

/* Mobile Drawer Styling */
.mobile-nav-drawer[b-waxknlr20a] {
    background-color: var(--ef-primary);
}

    .mobile-nav-drawer[b-waxknlr20a]  .dxbl-drawer-content {
        padding: 0;
    }

    .mobile-nav-drawer[b-waxknlr20a]  .dxbl-drawer-panel {
        overflow-y: auto;
        overflow-x: hidden;
    }

#blazor-error-ui[b-waxknlr20a] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-waxknlr20a] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.header-container[b-waxknlr20a] {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-top: clamp(0.75rem, 2vw, 1.5rem);
    margin-bottom: 0;
    padding: 0 1.5rem;
    align-items: center;
    gap: 1rem;
}

/* Sidebar toggle button — subtle, blends into header */
.sidebar-toggle-btn[b-waxknlr20a] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: none;
    border-radius: var(--ef-radius-md);
    background: transparent;
    color: var(--ef-text-secondary);
    font-size: 1.25rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sidebar-toggle-btn:hover[b-waxknlr20a] {
    background-color: var(--ef-primary-light);
    color: var(--ef-primary);
}

.sidebar-toggle-btn:active[b-waxknlr20a] {
    background-color: var(--ef-primary);
}

.header-right[b-waxknlr20a] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
    flex-shrink: 0;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-scrollable[b-uf9hl8my9n] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    overflow-y: auto;
    scrollbar-width: none;
    padding-right: 0.625rem;
    width: 15rem;
}

.nav-scrollable[b-uf9hl8my9n]::-webkit-scrollbar {
    display: none;
}

@media (max-width: 767.98px) {
    .nav-scrollable[b-uf9hl8my9n] {
        width: 100%;
        padding-right: 0;
    }
}

.nav-wrapper.is-collapsed[b-uf9hl8my9n] {
    overflow: hidden;
}

.nav-wrapper.is-collapsed .nav-scrollable[b-uf9hl8my9n] {
    width: 80px;
    min-width: 80px;
    max-width: 80px;
    padding: 1.5rem 0 0 0;
    align-items: center;
    overflow: hidden;
}

.nav-wrapper.is-collapsed .nav-menu-section-title[b-uf9hl8my9n] {
    display: none;
}

.nav-wrapper.is-collapsed .nav-menu-brand-wrapper[b-uf9hl8my9n] {
    display: none;
}

.nav-wrapper.is-collapsed .nav-menu-item-text[b-uf9hl8my9n] {
    display: none;
}

.nav-wrapper.is-collapsed .nav-scrollable > div[b-uf9hl8my9n] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav-menu-section-title[b-uf9hl8my9n] {
    padding: 2rem 1rem 0.75rem 1rem;
    font-size: 0.7rem;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    color: white;
    letter-spacing: 0.03125rem;
}

.nav-menu-alert[b-uf9hl8my9n] {
    padding: 0.75rem;
}

[b-uf9hl8my9n] a.nav-menu-item,
[b-uf9hl8my9n] a.nav-menu-item:link,
[b-uf9hl8my9n] a.nav-menu-item:visited,
[b-uf9hl8my9n] a.nav-menu-item:active,
[b-uf9hl8my9n] a.nav-menu-item:hover,
[b-uf9hl8my9n] a.nav-menu-item:focus {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 0 0.75rem;
    margin-bottom: clamp(0.25rem, 1vh, 0.625rem);
    border-radius: var(--ef-radius-lg);
    color: white !important;
    transition: background-color 0.2s ease;
    cursor: pointer;
    height: clamp(2.75rem, 4vh, 3.5rem);
    box-sizing: border-box;
}

@media (max-height: 800px) {
    [b-uf9hl8my9n] a.nav-menu-item {
        margin-bottom: 0;
        height: 2.25rem;
    }
}

@media (max-width: 767.98px) {
    [b-uf9hl8my9n] a.nav-menu-item {
        height: var(--ef-touch-row-height-mobile);
        margin-bottom: 0.25rem;
    }
    .nav-menu-item-text[b-uf9hl8my9n] {
        font-size: 0.875rem;
    }
}

[b-uf9hl8my9n] a.nav-menu-item:hover,
[b-uf9hl8my9n] a.nav-menu-item:focus {
    background-color: var(--ef-primary-dark) !important;
    color: white !important;
}

[b-uf9hl8my9n] .nav-menu-item.active {
    background-color: var(--ef-primary-darker) !important;
}

[b-uf9hl8my9n] .nav-menu-item.active:hover,
[b-uf9hl8my9n] .nav-menu-item.active:focus {
    background-color: var(--ef-primary-darker) !important;
}

[b-uf9hl8my9n] .nav-menu-item-dark {
    background-color: var(--ef-primary);
}

    [b-uf9hl8my9n] .nav-menu-item-dark:hover {
        background-color: var(--ef-primary);
    }

    [b-uf9hl8my9n] .nav-menu-item-dark.active {
        background-color: var(--ef-primary);
    }

.nav-menu-item-icon[b-uf9hl8my9n] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.5rem;
    width: 1.5rem;
    max-width: 1.5rem;
    max-height: 1.5rem;
    min-width: 1.5rem;
    min-height: 1.5rem;
    margin-right: 0.75rem;
    flex-shrink: 0;
    object-fit: contain;
    font-size: 1.25rem;
    line-height: 1;
}

.nav-menu-item-text[b-uf9hl8my9n] {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1rem;
    color: white;
}

.nav-menu-brand-wrapper[b-uf9hl8my9n] {
    margin-bottom: 1.25rem;
}

.nav-menu-header-wrapper[b-uf9hl8my9n] {
    margin-bottom: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
}

.nav-menu-header-wrapper[b-uf9hl8my9n]  .user-avatar-name {
    color: white;
}

.nav-wrapper[b-uf9hl8my9n] {
    height: 100%;
    display: flex;
    flex-direction: column;
}
/* /Components/Layout/TokenDisplay.razor.rz.scp.css */
.token-display[b-f3x56w5nlq] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    width: 100%;
    font-size: 0.85rem;
    background-color: rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--ef-radius-md);
}

.token-item[b-f3x56w5nlq] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.5rem;
    border-radius: var(--ef-radius-sm);
    background: rgba(255, 255, 255, 0.6);
    cursor: default;
}

.token-item-clickable[b-f3x56w5nlq] {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.token-item-clickable:hover[b-f3x56w5nlq] {
    background: rgba(255, 193, 7, 0.2);
}

.token-item i[b-f3x56w5nlq] {
    font-size: 0.85rem;
    color: var(--ef-text-secondary);
}

.token-item span[b-f3x56w5nlq] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
/* /Components/Layout/UserAvatar.razor.rz.scp.css */
/* ========================================
   User Avatar & Context Menu Styles
   Based on Figma Design
   ======================================== */

/* Avatar Container */
.user-avatar-container[b-r2agdhp222] {
    position: relative;
    display: inline-block;
}

/* Avatar Toggle Button */
.user-avatar-toggle[b-r2agdhp222] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-radius: var(--ef-radius-md);
    max-width: 100%;
    min-width: 0;
    padding: 0;
}

.user-avatar-toggle:hover[b-r2agdhp222] {
    background-color: rgba(0, 0, 0, 0.05);
}

/* User Name */
.user-avatar-name[b-r2agdhp222] {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: var(--ef-text-primary);
    line-height: 1.75rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Avatar Circle */
.user-avatar-circle[b-r2agdhp222] {
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background-color: var(--ef-border-medium);
    border: 0.125rem solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Avatar Initials */
.user-avatar-initials[b-r2agdhp222] {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ef-text-primary);
}

/* Avatar Status Indicator (orange dot) */
.user-avatar-status-indicator[b-r2agdhp222] {
    position: absolute;
    top: 0;
    right: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--ef-avatar-status);
    border: 0.125rem solid white;
}

/* DevExpress context menu overrides live in devexpress-overrides.css
   because DX renders the popup in a portal outside the Blazor component tree
   and scoped CSS never reaches it. */




/* /Components/Pages/Admin/LogViewer.razor.rz.scp.css */
.log-viewer-container[b-51r8uzb6e2] {
    max-height: calc(100vh - 16rem);
    overflow-y: auto;
    border: 1px solid var(--ef-border-light);
    border-radius: 0.5rem;
    background: var(--ef-bg-primary);
}

.log-viewer-table[b-51r8uzb6e2] {
    font-family: "Cascadia Code", "Fira Code", Consolas, monospace;
    font-size: 0.8rem;
    line-height: 1.4;
}

.log-line-text[b-51r8uzb6e2] {
    white-space: pre-wrap;
    word-break: break-all;
}
/* /Components/Pages/Admin/SystemTools.razor.rz.scp.css */
.st-file-list[b-33ayyhtl0e] {
    max-height: 50vh;
    overflow-y: auto;
    border: 1px solid var(--ef-border-medium);
    border-radius: 0.375rem;
}

.st-entry[b-33ayyhtl0e] {
    cursor: pointer;
}

.st-entry:hover td[b-33ayyhtl0e] {
    background-color: var(--ef-primary-dark);
}

.st-file-preview[b-33ayyhtl0e] {
    max-height: 40vh;
    overflow: auto;
    background-color: var(--ef-code-bg);
    color: var(--ef-code-text);
    padding: 1rem;
    border-radius: 0.375rem;
    font-size: 0.8rem;
    font-family: "Cascadia Code", "Consolas", monospace;
    white-space: pre-wrap;
    word-break: break-all;
}

.st-sql-input[b-33ayyhtl0e] {
    font-family: "Cascadia Code", "Consolas", monospace;
    font-size: 0.875rem;
}

.st-sql-results[b-33ayyhtl0e] {
    max-height: 50vh;
    overflow: auto;
    border: 1px solid var(--ef-border-medium);
    border-radius: 0.375rem;
}

.st-result-table[b-33ayyhtl0e] {
    font-size: 0.8rem;
}

.st-result-table th[b-33ayyhtl0e] {
    position: sticky;
    top: 0;
    background-color: var(--ef-bg-secondary);
    z-index: 1;
}
/* /Components/Pages/Anhaenge/Content/Content.razor.rz.scp.css */
.anhaenge-page[b-hi1b6mjp5p] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1.5rem;
}

/* ── Type badge ─────────────────────────────────────────────────── */
.anhaenge-typ-badge[b-hi1b6mjp5p] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 3.75rem;
    background: var(--ef-bg-secondary);
    border: 1px solid var(--ef-border-light);
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ef-text-secondary);
    white-space: nowrap;
}

/* ── Entity link ────────────────────────────────────────────────── */
.anhaenge-entity-link[b-hi1b6mjp5p] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--ef-primary);
    text-decoration: none;
    font-size: 0.875rem;
}

    .anhaenge-entity-link:hover[b-hi1b6mjp5p] {
        color: var(--ef-primary-dark);
        text-decoration: underline;
    }

    .anhaenge-entity-link i[b-hi1b6mjp5p] {
        font-size: 0.7rem;
    }

/* ── In-grid card cell (mobile / XSmall) ───────────────────────── */
.anhaenge-grid-card[b-hi1b6mjp5p] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.15rem 0;
}

.anhaenge-card__header[b-hi1b6mjp5p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.anhaenge-card__file-icon[b-hi1b6mjp5p] {
    font-size: 1.1rem;
    color: var(--ef-primary);
    flex-shrink: 0;
}

.anhaenge-card__name[b-hi1b6mjp5p] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ef-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}

.anhaenge-card__meta-row[b-hi1b6mjp5p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.anhaenge-card__size[b-hi1b6mjp5p] {
    font-size: 0.78rem;
    color: var(--ef-text-secondary);
}

.anhaenge-card__info-row[b-hi1b6mjp5p] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--ef-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anhaenge-card__icon[b-hi1b6mjp5p] {
    font-size: 0.82rem;
    color: var(--ef-primary);
    flex-shrink: 0;
}

.anhaenge-card__actions[b-hi1b6mjp5p] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin-top: 0.25rem;
}

    /* Touch targets in card-mode actions: 44px (WCAG 2.5.8) */
    .anhaenge-card__actions .anhaenge-action-btn[b-hi1b6mjp5p] {
        min-width: var(--ef-touch-button-height-mobile);
        min-height: var(--ef-touch-button-height-mobile);
        width: var(--ef-touch-button-height-mobile);
        height: var(--ef-touch-button-height-mobile);
    }

/* ── Typ filter: Umsatz-style bordered toggle group ─────────────────── */
.anhaenge-page .ef-status-filter-group[b-hi1b6mjp5p] {
    border: 1px solid var(--ef-border-medium);
    border-radius: var(--ef-radius-md);
    overflow: hidden;
    background: var(--ef-bg-primary);
}

.anhaenge-page .ef-status-filter-btn[b-hi1b6mjp5p] {
    background: transparent;
    color: var(--ef-text-secondary);
    padding: 0.3rem 0.75rem;
    font-size: 0.8rem;
}

.anhaenge-page .ef-status-filter-btn:hover:not(.active)[b-hi1b6mjp5p] {
    background-color: var(--ef-status-filter-hover);
    color: var(--ef-text-primary);
}

.anhaenge-page .ef-status-filter-btn.active[b-hi1b6mjp5p] {
    background-color: var(--ef-primary);
    color: var(--ef-text-light);
    font-weight: 600;
}
/* /Components/Pages/AppHome.razor.rz.scp.css */
.app-home-container[b-dylsbvjbzk] {
    width: 100%;
    padding: 0 1rem;
    /* Override .wide-content { justify-content: center } from app.css.
       With centered flex content, when the tiles-container is taller than the
       available height, it overflows upward and visually covers the
       sticky AI command input above. Anchoring to the top prevents the
       overlap and lets the tiles flow normally below the input. */
    justify-content: flex-start;
}

.app-home-spacer[b-dylsbvjbzk] {
    height: 3rem;
    flex-shrink: 0;
}

.welcome-section[b-dylsbvjbzk] {
    padding-top: 5rem;
    display: flex;
    justify-content: center;
}

.welcome-title[b-dylsbvjbzk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.2;
}

.welcome-text[b-dylsbvjbzk] {
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--ef-text-primary);
    margin: 0;
    line-height: 1.2;
}

.welcome-username[b-dylsbvjbzk] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--ef-text-primary);
    margin: 0;
    line-height: 1.2;
}

.search-section[b-dylsbvjbzk] {
    padding-top: clamp(2rem, 10vh, 5.625rem);
    width: 100%;
}

.tiles-container[b-dylsbvjbzk] {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.625rem, 2vh, 1.25rem);
    padding-top: clamp(1rem, 5vh, 2.8125rem);
    padding-bottom: clamp(1rem, 5vh, 2.8125rem);
    margin-bottom: 2rem;
}

.tile[b-dylsbvjbzk] {
    position: relative;
    display: flex;
    align-items: center;
    padding: clamp(0.75rem, 2vh, 1.5rem);
    width: 26.5625rem;
    height: auto;
    background: var(--ef-bg-primary);
    border: 0.0625rem solid var(--ef-border-medium);

    border-radius: 0.625rem;
    text-decoration: none;
    color: var(--ef-text-primary);
    overflow: hidden;
    transition: all 0.3s ease;
}

.tile[b-dylsbvjbzk]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.tile:hover[b-dylsbvjbzk]::before {
    opacity: 1;
}

.tile:hover[b-dylsbvjbzk] {
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.15);
}

.tile:hover .tile-arrow[b-dylsbvjbzk] {
    transform: translateX(0.3125rem);
}

.tile-disabled[b-dylsbvjbzk] {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

.tile-primary[b-dylsbvjbzk] {
    /* Background inherited from .tile */
}

.tile-success[b-dylsbvjbzk] {
    /* Background inherited from .tile */
}

.tile-warning[b-dylsbvjbzk] {
    /* Background inherited from .tile */
}

.tile-info[b-dylsbvjbzk] {
    /* Background inherited from .tile */
}

.tile-purple[b-dylsbvjbzk] {
    /* Background inherited from .tile */
}

.tile-dark[b-dylsbvjbzk] {
    /* Background inherited from .tile */
}

.tile-icon[b-dylsbvjbzk] {
    font-size: 2.5rem;
    margin-right: 1.25rem;
    flex-shrink: 0;
    z-index: 1;
    width: clamp(2.5rem, 7vh, 3.75rem);
    height: clamp(2.5rem, 7vh, 3.75rem);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ef-text-primary);
}

.tile-icon svg[b-dylsbvjbzk] {
    width: 100%;
    height: 100%;
}

.tile-content[b-dylsbvjbzk] {
    flex-grow: 1;
    z-index: 1;
}

.tile-title[b-dylsbvjbzk] {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 0.25rem 0;
}

.tile-description[b-dylsbvjbzk] {
    font-size: 0.85rem;
    margin: 0;
    color: var(--ef-text-secondary);
}

.tile-arrow[b-dylsbvjbzk] {
    font-size: 1.5rem;
    margin-left: 1rem;
    transition: transform 0.3s ease;
    z-index: 1;
}

@media (max-width: 767px) {
    .app-home-container[b-dylsbvjbzk] {
        padding: 0 0.5rem;
    }

    .welcome-title[b-dylsbvjbzk] {
        font-size: 1.75rem;
    }

    .welcome-section[b-dylsbvjbzk] {
        padding-top: 2.5rem;
    }

    .search-section[b-dylsbvjbzk] {
        padding-top: clamp(0.25rem, 2vh, 1rem);
    }

    .tiles-container[b-dylsbvjbzk] {
        padding-top: clamp(0.75rem, 3vh, 1.40625rem);
        gap: 0.75rem;
    }

    .tile[b-dylsbvjbzk] {
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 0.85rem 1rem;
        flex-direction: row;
        text-align: left;
    }

    .tile-icon[b-dylsbvjbzk] {
        width: 2.5rem;
        height: 2.5rem;
        margin-right: 0.85rem;
        margin-bottom: 0;
    }

    .tile-title[b-dylsbvjbzk] {
        font-size: 1.05rem;
        margin: 0 0 0.1rem 0;
    }

    .tile-description[b-dylsbvjbzk] {
        font-size: 0.75rem;
    }

    .tile-arrow[b-dylsbvjbzk] {
        margin-left: 0.75rem;
        font-size: 1.25rem;
        margin-top: 0;
    }
}
/* /Components/Pages/Buchungen/Authoring/BuchungAuthoring.razor.rz.scp.css */
.buchung-row-dates[b-bea9441ewb] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
}

.buchung-row-konten[b-bea9441ewb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.buchung-row-text[b-bea9441ewb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.buchung-row-betraege[b-bea9441ewb] {
    display: grid;
    grid-template-columns: 1fr 0.7fr 1fr 1fr;
    gap: 1rem;
}

.buchung-row-extra[b-bea9441ewb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.buchung-row-kommentar[b-bea9441ewb] {
    display: grid;
    grid-template-columns: 1fr;
}

@media (max-width: 767px) {
    .buchung-row-dates[b-bea9441ewb],
    .buchung-row-konten[b-bea9441ewb],
    .buchung-row-text[b-bea9441ewb],
    .buchung-row-betraege[b-bea9441ewb],
    .buchung-row-extra[b-bea9441ewb] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Buchungen/Content/Content.razor.rz.scp.css */
.buchungen-page[b-60sprvfudc] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
    min-height: 0;
}

/* ── Status + date-range row ──────────────────────────────────── */
.status-and-filters-row[b-60sprvfudc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

/* ── Inline date filter ───────────────────────────────────────── */
.inline-date-filter[b-60sprvfudc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    background: var(--ef-bg-secondary);
    border-radius: 3.75rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--ef-bg-tertiary);
}

.inline-date-icon[b-60sprvfudc] {
    font-size: 0.78rem;
    color: var(--ef-dok-accent);
    flex-shrink: 0;
}

.inline-date-label[b-60sprvfudc] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--ef-text-secondary);
    flex-shrink: 0;
}

.inline-date-filter[b-60sprvfudc]  .inline-date-combo {
    width: 8.75rem;
    font-size: 0.78rem;
}

.inline-date-filter[b-60sprvfudc]  .inline-date-edit {
    width: 7.5rem;
    font-size: 0.78rem;
}

.inline-date-reset[b-60sprvfudc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--ef-text-secondary);
    font-size: 0.7rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.15s ease, background-color 0.15s ease;
}

    .inline-date-reset:hover[b-60sprvfudc] {
        color: var(--ef-status-red-500);
        background-color: var(--ef-action-remove-bg);
    }

/* ── Typ filter combo ─────────────────────────────────────────── */
[b-60sprvfudc] .typ-filter-combo {
    width: 10rem;
    font-size: 0.78rem;
}

@media (max-width: 767px) {
    .inline-date-filter[b-60sprvfudc] {
        width: 100%;
    }

    .inline-date-filter[b-60sprvfudc]  .inline-date-combo,
    .inline-date-filter[b-60sprvfudc]  .inline-date-edit {
        flex: 1;
        min-width: 0;
        width: auto;
    }

    [b-60sprvfudc] .typ-filter-combo {
        width: 100%;
    }
}
/* /Components/Pages/Dokumente/Authoring/Authoring.razor.rz.scp.css */
/* DokumenteAuthoring – scoped styles (shared in authoring-shared.css, dokumente-shared.css) */

.dok-auth[b-t7y0ebg7t0] {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* EditForm renders a <form> – include it in the flex chain */
.dok-auth[b-t7y0ebg7t0] >  form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

[b-t7y0ebg7t0] .dok-auth-tabs {
    background-color: var(--ef-bg-primary);
    border: 1px solid var(--ef-border-medium);
    border-top: none;
    border-radius: 0.625rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 0.5rem 1.5rem 0.75rem;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Force white — DX panel-bg token overrides body-bg inside tab containers */
[b-t7y0ebg7t0] .dok-auth-tabs,
[b-t7y0ebg7t0] .dok-auth-tabs .dxbl-panel,
[b-t7y0ebg7t0] .dok-auth-tabs .dxbl-tabs-content,
[b-t7y0ebg7t0] .dok-auth-tabs .dxbl-tabs-content-panel {
    background-color: var(--ef-bg-primary) !important;
}

    [b-t7y0ebg7t0] .dok-auth-tabs .dxbl-tabs-content,
    [b-t7y0ebg7t0] .dok-auth-tabs .dxbl-tabs-content-panel {
        min-width: 0;
        overflow: hidden;
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    [b-t7y0ebg7t0] .dok-auth-tabs .dxbl-tabs-content {
        padding-top: 0.5rem;
    }

[b-t7y0ebg7t0] .auth-footer {
    margin-top: 0.35rem;
    padding-top: 0;
    flex-shrink: 0;
}
/* /Components/Pages/Dokumente/Authoring/TabAnhaenge.razor.rz.scp.css */
/* EFCard inside Anhänge tab: styles handled by dokumente-shared.css (.dok-panel .ef-card override) */
/* /Components/Pages/Dokumente/Authoring/TabKunde.razor.rz.scp.css */
/* TabKunde – scoped overrides (shared in authoring-shared.css) */

/* Custom column layouts */
.dok-kund-row--name[b-tsxz7cnrbt] {
    grid-template-columns: 13.3% 13.3% 1fr 1fr;
}

.dok-kund-row--uid[b-tsxz7cnrbt] {
    grid-template-columns: minmax(11.25rem, 22%) 1fr 22.7% 22.7%;
}

.dok-kund-row--uid[b-tsxz7cnrbt]  .ust-befreiung {
    grid-column: 3 / span 2;
}

/* Erweitert section separator */
.dok-kund-erweitert[b-tsxz7cnrbt] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ef-border-light);
}

/* Lieferadresse header with switch */
.dok-kund-lief-header[b-tsxz7cnrbt] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;
    margin-bottom: 0.25rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ef-border-light);
}

/* Responsive */
@media (max-width: 767px) {
    .dok-kund-row--name[b-tsxz7cnrbt] {
        grid-template-columns: 1fr 1fr;
    }

    .dok-kund-row--uid[b-tsxz7cnrbt] {
        grid-template-columns: 1fr 1fr;
    }

    .dok-kund-row--uid[b-tsxz7cnrbt]  .ust-befreiung {
        grid-column: 1 / -1;
    }

    .dok-kund-addr .auth-row--2[b-tsxz7cnrbt],
    .dok-kund-addr .auth-row--plz[b-tsxz7cnrbt],
    .dok-kund-lief-addr .auth-row--2[b-tsxz7cnrbt],
    .dok-kund-lief-addr .auth-row--plz[b-tsxz7cnrbt] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Dokumente/Authoring/TabProdukt.razor.rz.scp.css */
/* Panel card: styles handled by dokumente-shared.css (.dok-panel .ef-card override) */

/* TabProdukt – Brutto/Netto toggle */

.dok-brutto-toggle[b-8oqked09u7] {
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin-left: 0.5rem;
}

/* TabProdukt – grid layouts (dok-tab-prod-*) */

.dok-tab-prod-grid[b-8oqked09u7] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    min-width: 0;
}

.dok-tab-prod-grid[b-8oqked09u7]  .span-2 {
    grid-column: span 2;
}

.dok-tab-prod-grid[b-8oqked09u7]  .span-4 {
    grid-column: span 4;
}

.dok-tab-prod-grid[b-8oqked09u7]  .span-full {
    grid-column: 1 / -1;
}

@media (max-width: 767px) {
    .dok-tab-prod-grid[b-8oqked09u7] {
        grid-template-columns: 1fr 1fr;
    }

    .dok-tab-prod-grid[b-8oqked09u7]  .span-4 {
        grid-column: 1 / -1;
    }

    .dok-tab-prod-grid[b-8oqked09u7]  .span-2 {
        grid-column: 1 / -1;
    }

    .dok-tab-prod-grid[b-8oqked09u7]  .span-full {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Dokumente/Authoring/TabRabatteZahlungen.razor.rz.scp.css */
/* Panel card: styles handled by dokumente-shared.css (.dok-panel .ef-card override) */

.auth-sign-group[b-70ox14tl5k] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.auth-sign-toggle[b-70ox14tl5k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border: 1.5px solid var(--ef-border-medium);
    border-radius: var(--ef-radius-sm);
    background: var(--ef-bg-primary);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 700;
    flex-shrink: 0;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.auth-sign-toggle--minus[b-70ox14tl5k] {
    color: var(--ef-danger-very-dark);
    border-color: var(--ef-action-remove-border);
    background: var(--ef-action-remove-bg);
}

    .auth-sign-toggle--minus:hover[b-70ox14tl5k] {
        background: var(--ef-action-remove-border);
    }

.auth-sign-toggle--plus[b-70ox14tl5k] {
    color: var(--ef-success-dark);
    border-color: var(--ef-success-border);
    background: var(--ef-success-bg);
}

    .auth-sign-toggle--plus:hover[b-70ox14tl5k] {
        background: var(--ef-success-border);
    }

[b-70ox14tl5k] .auth-sign-input {
    flex: 1;
    min-width: 0;
}

.auth-sign-suffix[b-70ox14tl5k] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--ef-text-secondary);
    flex-shrink: 0;
}

/* ── Zahlungen panel ────────────────────────────── */

.zahlung-panel[b-70ox14tl5k] {
    gap: 0.75rem;
}

/* Header summary block (Rechnung / Betreff | Offen / Gesamtsumme) */
.zahlung-summary[b-70ox14tl5k] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0.75rem;
    background: var(--ef-bg-secondary);
    border: 1px solid var(--ef-border-medium);
    border-radius: var(--ef-radius-sm);
}

.zahlung-summary-left[b-70ox14tl5k],
.zahlung-summary-right[b-70ox14tl5k] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.zahlung-summary-right[b-70ox14tl5k] {
    align-items: flex-end;
}

.zahlung-summary-item[b-70ox14tl5k] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    min-width: 0;
}

.zahlung-summary-label[b-70ox14tl5k] {
    font-size: 0.78rem;
    color: var(--ef-text-secondary);
    white-space: nowrap;
}

.zahlung-summary-value[b-70ox14tl5k] {
    font-size: 0.95rem;
    color: var(--ef-text-primary);
    white-space: nowrap;
}

.zahlung-summary-value--offen[b-70ox14tl5k] {
    color: var(--dok-status-faellig-bg, var(--ef-danger-very-dark));
}

/* Read-only inline pair (Restbetrag prozent / als) */
.zahlung-readonly[b-70ox14tl5k] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    justify-content: center;
}

/* Action cell (label above + button) */
.zahlung-action[b-70ox14tl5k] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
}

    .zahlung-action .ef-label-text[b-70ox14tl5k] {
        font-size: 0.78rem;
        color: var(--ef-text-secondary);
    }

/* Grid wrapper */
.zahlung-grid[b-70ox14tl5k] {
    margin-top: 0.25rem;
}

[b-70ox14tl5k] .zahlung-grid .dxbs-grid {
    max-height: 280px;
}

/* Footer */
.zahlung-footer[b-70ox14tl5k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ef-border-medium);
}

.zahlung-footer-summe[b-70ox14tl5k] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    font-size: 1rem;
}
/* /Components/Pages/Dokumente/Authoring/TabStammdaten.razor.rz.scp.css */
/* TabStammdaten – styles handled by dokumente-shared.css (.dok-panel .ef-card override) */
/* /Components/Pages/Dokumente/Authoring/TabTexte.razor.rz.scp.css */
/* TabTexte – grid layouts (dok-tab-text-*) */

/* Panel card: full height (bg/border handled by dokumente-shared.css) */
.dok-panel[b-qpttvdu6iu] {
    overflow: hidden;
}

.dok-panel[b-qpttvdu6iu]  .ef-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dok-panel[b-qpttvdu6iu]  .ef-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dok-tab-text-grid[b-qpttvdu6iu] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem 1.5rem;
    min-width: 0;
}

[b-qpttvdu6iu] .dok-tab-text-grid > .ef-label-wrapper:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}
/* /Components/Pages/Dokumente/Content/Content.razor.rz.scp.css */
/* ??? Component design tokens ?????????????????????????????????????????? */
.dok-content[b-xi77wwiyoz],
[b-xi77wwiyoz] .ef-date-popup {
    --dok-accent: var(--ef-dok-accent);
    --dok-accent-dark: var(--ef-dok-accent-dark);
    --dok-accent-rgb: var(--ef-dok-accent-rgb);
    --dok-surface: var(--ef-bg-primary);
    --dok-surface-hover: var(--ef-dok-surface-hover);
    --dok-border: var(--ef-bg-tertiary);
    --dok-border-soft: var(--ef-bg-secondary);
    --dok-border-muted: var(--ef-border-medium);
    --dok-text-primary: var(--ef-primary-darker);
    --dok-text-secondary: var(--ef-primary-dark);
    --dok-text-muted: var(--ef-text-secondary);
    --dok-transition: var(--ef-transition-fast);
    --dok-pill-radius: 3.75rem;
    --dok-status-offen-bg: var(--ef-status-amber);
    --dok-status-offen-fg: var(--ef-status-amber-fg);
    --dok-status-faellig-bg: var(--ef-status-red-500);
    --dok-status-faellig-fg: var(--ef-action-remove-fg);
    --dok-status-bezahlt-bg: var(--ef-status-green-500);
    --dok-status-bezahlt-fg: var(--ef-action-add-fg);
    --dok-status-storniert-bg: var(--ef-danger);
    --dok-status-storniert-fg: white;
    --dok-status-geloescht-bg: var(--ef-status-default);
    --dok-status-geloescht-fg: var(--ef-text-secondary);
    --dok-status-archiv-bg: var(--ef-status-archiv);
    --dok-status-archiv-fg: var(--ef-text-light);
}

/* ??? Page layout ?????????????????????????????????????????????????????? */
.dok-content[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* ??? Status + date-range row ?????????????????????????????????????????? */
.dok-filters[b-xi77wwiyoz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

/* ??? Date filter pill ????????????????????????????????????????????????? */
.dok-status-divider[b-xi77wwiyoz] {
    width: 1px;
    height: 1.2rem;
    background-color: var(--dok-border-muted);
    margin: 0 0.15rem;
    flex-shrink: 0;
}

.dok-status-date[b-xi77wwiyoz] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--dok-accent);
}

    .dok-status-date.active[b-xi77wwiyoz] {
        background-color: var(--dok-accent);
        color: var(--ef-text-light);
    }

    .dok-status-date i[b-xi77wwiyoz] {
        font-size: 0.72rem;
    }

/* ??? Popup wrapper ???????????????????????????????????????????????????? */
[b-xi77wwiyoz] .ef-date-popup .dxbl-modal-header {
    border-bottom: 1px solid var(--dok-border-soft);
    padding: 1rem 1.25rem 0.75rem;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--dok-text-primary);
}

[b-xi77wwiyoz] .ef-date-popup .dxbl-modal-body {
    padding: 0;
}

[b-xi77wwiyoz] .ef-date-popup .dxbl-modal-footer {
    padding: 0;
    border-top: none;
}

[b-xi77wwiyoz] .ef-date-popup .dxbl-modal-content {
    border-radius: 1rem;
    box-shadow: 0 1.25rem 3.75rem rgba(0, 0, 0, 0.12), 0 0.25rem 1rem rgba(0, 0, 0, 0.06);
    border: 1px solid var(--dok-border);
    overflow: hidden;
}

/* ??? Popup body ??????????????????????????????????????????????????????? */
.dok-datepop-body[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
}

.dok-datepop-label[b-xi77wwiyoz] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dok-text-muted);
    margin-bottom: 0.1rem;
}

.dok-datepop-chips[b-xi77wwiyoz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.dok-datepop-chip[b-xi77wwiyoz] {
    padding: 0.3em 0.8em;
    border-radius: var(--dok-pill-radius);
    border: 1px solid var(--dok-border);
    background-color: var(--dok-surface);
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--dok-text-secondary);
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--dok-transition), color var(--dok-transition), border-color var(--dok-transition), box-shadow var(--dok-transition);
}

    .dok-datepop-chip:hover[b-xi77wwiyoz] {
        background-color: var(--dok-surface-hover);
        border-color: var(--ef-status-blue-light);
        color: var(--ef-status-blue-active);
    }

    .dok-datepop-chip.active[b-xi77wwiyoz] {
        background-color: var(--dok-accent);
        border-color: var(--dok-accent);
        color: var(--ef-text-light);
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
    }

.dok-datepop-sep[b-xi77wwiyoz] {
    height: 1px;
    background: var(--dok-border-soft);
    margin: 0.35rem 0;
}

.dok-datepop-range[b-xi77wwiyoz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dok-datepop-field[b-xi77wwiyoz] {
    flex: 1;
    min-width: 0;
    position: relative;
}

.dok-datepop-dash[b-xi77wwiyoz] {
    color: var(--dok-text-muted);
    font-size: 1.1rem;
    font-weight: 300;
    flex-shrink: 0;
}

.dok-datepop-footer[b-xi77wwiyoz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--dok-border-soft);
    background: var(--ef-bg-primary);
}

.dok-datepop-actions[b-xi77wwiyoz] {
    display: flex;
    gap: 0.4rem;
}

.dok-datepop-reset[b-xi77wwiyoz] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35em 0.75em;
    border: none;
    border-radius: var(--ef-radius-md);
    background: transparent;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--dok-text-muted);
    cursor: pointer;
    transition: color var(--dok-transition), background-color var(--dok-transition);
}

    .dok-datepop-reset:hover[b-xi77wwiyoz] {
        color: var(--ef-status-red-500);
        background-color: var(--ef-action-remove-bg);
    }

.dok-datepop-cancel[b-xi77wwiyoz] {
    padding: 0.4em 1em;
    border: 1px solid var(--dok-border);
    border-radius: var(--ef-radius-md);
    background: var(--ef-bg-primary);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--dok-text-secondary);
    cursor: pointer;
    transition: background-color var(--dok-transition), border-color var(--dok-transition);
}

    .dok-datepop-cancel:hover[b-xi77wwiyoz] {
        background-color: var(--dok-surface);
        border-color: var(--dok-border-muted);
    }

.dok-datepop-apply[b-xi77wwiyoz] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4em 1.1em;
    border: none;
    border-radius: var(--ef-radius-md);
    background: var(--dok-accent);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ef-text-light);
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(var(--dok-accent-rgb), 0.3);
}

    .dok-datepop-apply:hover[b-xi77wwiyoz] {
        background: var(--dok-accent-dark);
        box-shadow: 0 2px 8px rgba(var(--dok-accent-rgb), 0.4);
    }

/* ??? Status filter bar ???????????????????????????????????????????????? */
.dok-status-bar[b-xi77wwiyoz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    align-items: center;
    background: var(--dok-border-soft);
    border-radius: var(--dok-pill-radius);
    padding: 0.25rem;
    border: 1px solid var(--dok-border);
}

.dok-status-btn[b-xi77wwiyoz] {
    padding: 0.3em 1.05em;
    border-radius: var(--dok-pill-radius);
    border: none;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    background-color: transparent;
    color: var(--dok-text-secondary);
    transition: background-color var(--dok-transition), color var(--dok-transition), box-shadow var(--dok-transition);
    white-space: nowrap;
    line-height: 1.6;
}

    .dok-status-btn:hover[b-xi77wwiyoz] {
        background-color: rgba(255, 255, 255, 0.75);
    }

    .dok-status-btn.active[b-xi77wwiyoz] {
        color: var(--ef-text-light);
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
    }

    .dok-status-btn:not(.dok-status--offen):not(.dok-status--faellig):not(.dok-status--bezahlt):not(.dok-status--storniert).active[b-xi77wwiyoz] {
        background-color: var(--dok-text-primary);
    }

/* ??? Status colors ???????????????????????????????????????????????????? */
.dok-status--offen[b-xi77wwiyoz] {
    color: var(--dok-status-offen-fg);
}

.dok-status--faellig[b-xi77wwiyoz] {
    color: var(--dok-status-faellig-fg);
}

.dok-status--bezahlt[b-xi77wwiyoz] {
    color: var(--dok-status-bezahlt-fg);
}

.dok-status--storniert[b-xi77wwiyoz] {
    color: var(--dok-status-storniert-fg);
}

.dok-status--geloescht[b-xi77wwiyoz] {
    color: var(--dok-status-geloescht-fg);
}

.dok-status--archiv[b-xi77wwiyoz] {
    color: var(--dok-status-archiv-fg);
}

.dok-status--offen.active[b-xi77wwiyoz], .dok-badge--offen[b-xi77wwiyoz] {
    background-color: var(--dok-status-offen-bg);
}

.dok-status--faellig.active[b-xi77wwiyoz], .dok-badge--faellig[b-xi77wwiyoz] {
    background-color: var(--dok-status-faellig-bg);
}

.dok-status--bezahlt.active[b-xi77wwiyoz], .dok-badge--bezahlt[b-xi77wwiyoz] {
    background-color: var(--dok-status-bezahlt-bg);
}

.dok-status--storniert.active[b-xi77wwiyoz], .dok-badge--storniert[b-xi77wwiyoz] {
    background-color: var(--dok-status-storniert-bg);
}

.dok-status--geloescht.active[b-xi77wwiyoz], .dok-badge--geloescht[b-xi77wwiyoz] {
    background-color: var(--dok-status-geloescht-bg);
}

.dok-status--archiv.active[b-xi77wwiyoz], .dok-badge--archiv[b-xi77wwiyoz] {
    background-color: var(--dok-status-archiv-bg);
}

/* ??? Status badges ???????????????????????????????????????????????????? */
.dok-badge-cell[b-xi77wwiyoz] {
    display: flex;
    justify-content: center;
}

.dok-badge[b-xi77wwiyoz] {
    display: inline-block;
    padding: 0.25em 0.75em;
    border-radius: 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    color: var(--ef-text-light);
}

.dok-badge--default[b-xi77wwiyoz] {
    background-color: var(--ef-status-default);
}

/* ??? Content wrapper ?????????????????????????????????????????????????? */
.dok-content-wrap[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    min-height: 0;
}

    .dok-content-wrap[b-xi77wwiyoz] >  .ef-ai-command {
        flex: 0 1 auto;
        max-height: 45vh;
        overflow-y: auto;
    }

        .dok-content-wrap[b-xi77wwiyoz] >  .ef-ai-command:has(.ef-ai-settings-container) {
            max-height: none;
            flex: 1;
        }

/* ??? Authoring 50:50 split ???????????????????????????????????????????? */
.dok-split[b-xi77wwiyoz] {
    display: flex;
    gap: 0.35rem;
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 0.5rem;
}

.dok-split-main[b-xi77wwiyoz] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.dok-split-side[b-xi77wwiyoz] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ??? Sidebar toggle bar ??????????????????????????????????????????????? */
.dok-sidebar-bar[b-xi77wwiyoz] {
    display: flex;
    gap: 0.2rem;
    background: var(--dok-border-soft);
    border-radius: var(--ef-radius-lg);
    padding: 0.2rem;
    margin-bottom: 0.5rem;
    border: 1px solid var(--dok-border);
    flex-shrink: 0;
}

.dok-sidebar-btn[b-xi77wwiyoz] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.4rem 0.75rem;
    border: none;
    border-radius: var(--ef-radius-md);
    background: transparent;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--dok-text-secondary);
    cursor: pointer;
    transition: background-color var(--dok-transition), color var(--dok-transition), box-shadow var(--dok-transition);
    white-space: nowrap;
}

    .dok-sidebar-btn:hover[b-xi77wwiyoz] {
        background-color: rgba(255, 255, 255, 0.75);
    }

    .dok-sidebar-btn.active[b-xi77wwiyoz] {
        background: var(--ef-bg-primary);
        color: var(--dok-text-primary);
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    }

.dok-sidebar-badge[b-xi77wwiyoz] {
    background: var(--dok-border);
    color: var(--dok-text-secondary);
    padding: 0.1em 0.5em;
    border-radius: var(--dok-pill-radius);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color var(--dok-transition), color var(--dok-transition);
}

.dok-sidebar-btn.active .dok-sidebar-badge[b-xi77wwiyoz] {
    background: var(--dok-accent);
    color: var(--ef-text-light);
}

/* ??? Sidebar views ???????????????????????????????????????????????????? */
.dok-sidebar-view[b-xi77wwiyoz] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.dok-sidebar-preview[b-xi77wwiyoz] {
    overflow: hidden;
    border: none;
    border-radius: 0;
    background: transparent;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.dok-preview-body[b-xi77wwiyoz] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    position: relative;
    overflow: hidden;
}

    .dok-preview-body[b-xi77wwiyoz] >  * {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

.dok-preview-toolbar[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.35rem;
    border-left: 1px solid var(--dok-border-soft);
    flex-shrink: 0;
}

.dok-sidebar-empty[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex: 1;
    color: var(--dok-text-muted);
    font-size: 0.85rem;
}

    .dok-sidebar-empty i[b-xi77wwiyoz] {
        font-size: 2rem;
        opacity: 0.5;
    }

/* ── Rabatte & Zu-/Abschläge section ── */
.dok-rabatte[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    padding: 0.4rem 0.75rem;
    background: var(--ef-rabatte-bg);
    border: 1.5px solid var(--ef-rabatte-border);
    border-radius: var(--ef-radius-lg);
    margin-top: 0.5rem;
    flex-shrink: 0;
}

.dok-rabatte-header[b-xi77wwiyoz] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--ef-action-edit-hover-fg);
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--ef-rabatte-border);
    margin-bottom: 0.1rem;
}

.dok-rabatte-row[b-xi77wwiyoz] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0;
    font-size: 0.72rem;
    color: var(--ef-rabatte-text);
    border-bottom: 1px solid var(--ef-action-edit-border);
}

    .dok-rabatte-row:last-child[b-xi77wwiyoz] {
        border-bottom: none;
    }

.dok-rabatte-actions[b-xi77wwiyoz] {
    display: flex;
    gap: 0.15rem;
    flex-shrink: 0;
}

.dok-rabatte-label[b-xi77wwiyoz] {
    flex-shrink: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.dok-rabatte-btn[b-xi77wwiyoz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.3rem;
    height: 1.3rem;
    border: none;
    border-radius: var(--ef-radius-sm);
    background: transparent;
    cursor: pointer;
    font-size: 0.65rem;
    transition: background-color 0.15s ease;
}

.dok-rabatte-btn--edit[b-xi77wwiyoz] {
    color: var(--ef-action-edit-hover-fg);
}

    .dok-rabatte-btn--edit:hover[b-xi77wwiyoz] {
        background: var(--ef-action-edit-border);
    }

.dok-rabatte-btn--delete[b-xi77wwiyoz] {
    color: var(--ef-danger-very-dark);
}

    .dok-rabatte-btn--delete:hover[b-xi77wwiyoz] {
        background: var(--ef-action-remove-border);
    }

.dok-rabatte-zwischensumme[b-xi77wwiyoz] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.15rem 0 0.2rem 1.8rem;
    border-bottom: 1.5px solid var(--ef-rabatte-border);
    background: var(--dok-surface);
    border-radius: 0 0 var(--ef-radius-sm) var(--ef-radius-sm);
    margin-bottom: 0.15rem;
    font-size: 0.72rem;
    font-weight: 600;
}

/* ── Inline compact row (Netto / USt / Brutto in one line) ── */
.dok-inline-row[b-xi77wwiyoz] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0;
    font-size: 0.72rem;
    color: var(--ef-text-secondary);
}

.dok-inline-label[b-xi77wwiyoz] {
    font-weight: 700;
    font-size: 0.72rem;
    color: var(--dok-text-primary);
    flex-shrink: 0;
}

.dok-inline-amounts[b-xi77wwiyoz] {
    display: flex;
    gap: 0.3rem;
    margin-left: auto;
    flex-shrink: 0;
}

    .dok-inline-amounts > span[b-xi77wwiyoz] {
        width: 6rem;
        text-align: right;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

.dok-inline-amounts--muted[b-xi77wwiyoz] {
    color: var(--dok-text-muted);
    opacity: 0.8;
}

.dok-inline-amounts--primary[b-xi77wwiyoz] {
    font-weight: 700;
    color: var(--dok-text-primary);
}

.dok-inline-amounts--header[b-xi77wwiyoz] {
    font-size: 0.72rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--dok-text-muted);
}

/* ── Invoice totals footer ── */
.dok-totals[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 0.4rem 0.75rem;
    background: var(--dok-surface);
    border: 1.5px solid var(--dok-border);
    border-radius: var(--ef-radius-lg);
    margin-top: 0.5rem;
    flex-shrink: 0;
}

.dok-totals--artikel[b-xi77wwiyoz] {
    border-style: dashed;
    opacity: 0.85;
}

.dok-totals-row[b-xi77wwiyoz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.22rem 0;
    font-size: 0.78rem;
    color: var(--ef-text-secondary);
    border-bottom: 1px solid var(--dok-border-soft);
}

    .dok-totals-row:last-child[b-xi77wwiyoz] {
        border-bottom: none;
    }

.dok-totals-row--primary[b-xi77wwiyoz] {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--dok-text-primary);
    border-top: 1.5px solid var(--dok-border);
    border-bottom: none;
    padding-top: 0.35rem;
    margin-top: 0.1rem;
}

.dok-totals-row--muted[b-xi77wwiyoz] {
    font-size: 0.72rem;
    color: var(--ef-text-secondary);
    border-bottom: none;
    padding: 0.1rem 0;
}

.dok-totals-netto[b-xi77wwiyoz] {
    font-size: 0.72rem;
    color: var(--ef-text-secondary);
    font-weight: 400;
}

.dok-inline-amount-single[b-xi77wwiyoz] {
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.dok-totals-row--offen[b-xi77wwiyoz] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--dok-status-faellig-bg);
    border-top: 1px dashed var(--ef-action-remove-border);
    border-bottom: none;
    padding-top: 0.3rem;
}

/* ── Zahlungen sidebar section ─────────────────── */

.dok-zahlungen-section[b-xi77wwiyoz] {
    border-top: 1px solid var(--ef-border-medium);
    padding-top: 0.2rem;
    margin-top: 0.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.dok-zahlung-row[b-xi77wwiyoz] {
    font-size: 0.75rem;
    border-bottom: none;
    padding: 0.1rem 0;
    color: var(--ef-text-secondary);
}

.dok-zahlung-label[b-xi77wwiyoz] {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.4rem;
    line-height: 1.2;
    min-width: 0;
}

.dok-zahlung-datum[b-xi77wwiyoz] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--ef-text-primary);
}

.dok-zahlung-konto[b-xi77wwiyoz] {
    font-size: 0.7rem;
    color: var(--ef-text-secondary);
    opacity: 0.85;
}

.dok-zahlung-text[b-xi77wwiyoz] {
    font-size: 0.72rem;
    color: var(--ef-text-secondary);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dok-zahlung-betrag[b-xi77wwiyoz] {
    color: var(--ef-success-dark);
    font-weight: 600;
}

.dok-zahlung-summe-row[b-xi77wwiyoz] {
    font-size: 0.8rem;
    font-weight: 700;
    border-top: 1px dashed var(--ef-border-medium);
    padding-top: 0.2rem;
    margin-top: 0.1rem;
    color: var(--ef-success-dark);
}

.dok-offen-warnung[b-xi77wwiyoz] {
    color: var(--dok-status-faellig-bg);
    font-weight: 700;
}

.dok-offen-ok[b-xi77wwiyoz] {
    color: var(--ef-success-dark);
    font-weight: 700;
}

.dok-totals-placeholder[b-xi77wwiyoz] {
    flex: 1;
    min-height: 0;
}

/* ??? Inline date filter ??????????????????????????????????????????????? */
.dok-datefilter[b-xi77wwiyoz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    background: var(--dok-border-soft);
    border-radius: var(--dok-pill-radius);
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--dok-border);
}

.dok-datefilter-icon[b-xi77wwiyoz] {
    font-size: 0.78rem;
    color: var(--dok-accent);
    flex-shrink: 0;
}

.dok-datefilter-label[b-xi77wwiyoz] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--dok-text-muted);
    flex-shrink: 0;
}

.dok-datefilter[b-xi77wwiyoz]  .dok-datefilter-combo {
    width: 8.75rem;
    font-size: 0.78rem;
}

.dok-datefilter[b-xi77wwiyoz]  .dok-datefilter-edit {
    width: 7.5rem;
    font-size: 0.78rem;
}

.dok-datefilter-reset[b-xi77wwiyoz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--dok-text-muted);
    font-size: 0.7rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: color var(--dok-transition), background-color var(--dok-transition);
}

    .dok-datefilter-reset:hover[b-xi77wwiyoz] {
        color: var(--ef-status-red-500);
        background-color: var(--ef-action-remove-bg);
    }

/* ??? Responsive ??????????????????????????????????????????????????????? */
@media (max-width: 1199px) {
    .dok-split[b-xi77wwiyoz] {
        flex-direction: column;
    }

    .dok-split-main[b-xi77wwiyoz] {
        min-height: 60vh;
    }

    .dok-split-side[b-xi77wwiyoz] {
        height: 50vh;
    }
}

@media (max-width: 767px) {
    .dok-datefilter[b-xi77wwiyoz] {
        width: 100%;
    }

    .dok-datefilter[b-xi77wwiyoz]  .dok-datefilter-combo,
    .dok-datefilter[b-xi77wwiyoz]  .dok-datefilter-edit {
        flex: 1;
        min-width: 0;
        width: auto;
    }
}

/* ── ZUGFeRD Validation Modal ──────────────────────────────────────────── */

.val-modal-backdrop[b-xi77wwiyoz] {
    background: rgba(0, 0, 0, 0.55);
}

.val-modal-content[b-xi77wwiyoz] {
    border: none;
    border-radius: 0.75rem;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.25);
    max-width: 1080px;

    /* Was a hard 720px, which broke Phone viewports. Cap at viewport width. */
    min-width: min(720px, 100vw);
    margin: auto;
}

.val-modal-header[b-xi77wwiyoz] {
    background: var(--ef-primary);
    color: var(--ef-text-light);
    border-radius: 0.75rem 0.75rem 0 0;
    padding: 1rem 1.25rem;
}

.val-modal-title[b-xi77wwiyoz] {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.val-modal-body[b-xi77wwiyoz] {
    overflow-y: auto;
    max-height: min(500px, 60vh);
    padding: 1.5rem;
    background: var(--ef-bg-primary);
    font-size: 0.875rem;
}

@media (max-width: 576px) {
    .val-modal-body[b-xi77wwiyoz] {
        max-height: 65vh;
        padding: 1rem;
    }
}

.val-modal-footer[b-xi77wwiyoz] {
    border-top: 1px solid var(--ef-border-medium);
    padding: 0.75rem 1.25rem;
}

.val-loading[b-xi77wwiyoz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 2rem;
    color: var(--ef-text-secondary);
}

.val-error-msg[b-xi77wwiyoz] {
    color: var(--ef-danger);
    padding: 0.75rem;
    background: var(--ef-bg-secondary);
    border-radius: 0.5rem;
    border: 1px solid var(--ef-border-medium);
}
/* /Components/Pages/Dokumente/Kundendaten.razor.rz.scp.css */
/* Kunde card container */
.dok-stamm-kunde[b-1skcugqmoy] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    background: linear-gradient(135deg, rgba(var(--dok-accent-rgb), 0.06), rgba(var(--dok-accent-rgb), 0.02));
    border: 1px solid rgba(var(--dok-accent-rgb), 0.22);
    border-radius: var(--ef-radius-md);
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.35rem;
    flex-shrink: 0;
    overflow-y: auto;
    max-height: 25vh;
}

.dok-stamm-kunde-header > i[b-1skcugqmoy] {
    font-size: 1rem;
    color: var(--dok-accent);
    flex-shrink: 0;
}

/* Action buttons (edit / delete) */
.dok-stamm-kunde-actions[b-1skcugqmoy] {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.dok-stamm-kunde-btn[b-1skcugqmoy] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    border-radius: 0.25rem;
    background: transparent;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    padding: 0;
    font-size: 0.78rem;
}

.dok-stamm-kunde-btn--edit[b-1skcugqmoy] {
    color: var(--ef-action-edit-fg);
}

.dok-stamm-kunde-btn--edit:hover[b-1skcugqmoy] {
    background-color: var(--ef-action-edit-bg);
    color: var(--ef-action-edit-hover-fg);
}

.dok-stamm-kunde-btn--delete[b-1skcugqmoy] {
    color: var(--ef-danger);
}

.dok-stamm-kunde-btn--delete:hover[b-1skcugqmoy] {
    background-color: var(--ef-danger-light);
    color: var(--ef-action-remove-hover-fg);
}

/* Narrow 2-col grid (label | value) */
.dok-stamm-grid[b-1skcugqmoy] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.45rem;
    row-gap: 0.12rem;
    align-items: baseline;
}

.dok-stamm-comment[b-1skcugqmoy] {
    font-size: 0.72rem;
    color: var(--dok-text-secondary);
    white-space: pre-line;
    line-height: 1.4;
}

/* Side-by-side pair row (Lieferadresse + Kommentar) */
.dok-stamm-pair[b-1skcugqmoy] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    align-items: start;
    border-top: 1px solid var(--dok-border-soft);
    padding-top: 0.35rem;
}
/* /Components/Pages/Dokumente/Stammdaten.razor.rz.scp.css */
/* Stammdaten-specific token */
.dok-stamm[b-gi5j4fwh0i] {
    --dok-surface: var(--ef-bg-primary);
}

/* Stammdaten container */
.dok-stamm[b-gi5j4fwh0i] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.5rem 0.6rem;
    background: var(--dok-surface);
    border: 1.5px solid var(--dok-border);
    border-radius: var(--ef-radius-lg);
    margin-bottom: 0.35rem;
    flex-shrink: 0;
    overflow-y: auto;
    max-height: 22vh;
}

.dok-stamm-header > .dok-badge[b-gi5j4fwh0i] {
    margin-left: 0;
}

/* Full-width field spanning all value columns */
.dok-stamm--full[b-gi5j4fwh0i] {
    grid-column: 1;
}

.dok-stamm--full-value[b-gi5j4fwh0i] {
    grid-column: 2 / -1;
}

/* Status badges */
.dok-badge[b-gi5j4fwh0i] {
    display: inline-block;
    padding: 0.25em 0.75em;
    border-radius: 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    color: var(--ef-text-light);
}

.dok-badge--default[b-gi5j4fwh0i] {
    background-color: var(--ef-status-default);
}

.dok-badge--offen[b-gi5j4fwh0i] {
    background-color: var(--ef-status-amber);
}

.dok-badge--faellig[b-gi5j4fwh0i] {
    background-color: var(--ef-status-red-500);
}

.dok-badge--bezahlt[b-gi5j4fwh0i] {
    background-color: var(--ef-status-green-500);
}

.dok-badge--storniert[b-gi5j4fwh0i] {
    background-color: var(--ef-danger);
    color: white;
}
/* /Components/Pages/Kunden/Authoring/Authoring.razor.rz.scp.css */
/* KundenAuthoring — scoped overrides (shared in authoring-shared.css) */

/* Status toggle: header-only on desktop, in-row on mobile */
[b-u04f625w2b] .status-mobile-in-row {
    display: none;
}

/* Stammdaten row column layouts */
[b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-1 {
    grid-template-columns: 13.3% 1fr 1fr 26.6%;
}

[b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-2 {
    grid-template-columns: 13.3% 13.3% 1fr 1fr;
}

[b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-3 {
    grid-template-columns: 1fr 22.7% 22.7%;
}

[b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-4 {
    grid-template-columns: minmax(11.25rem, 22%) 1fr 22.7% 22.7%;
}

[b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-4 .ust-befreiung {
    grid-column: 3 / span 2;
}

[b-u04f625w2b] .row-spacing {
    margin-top: 0.375rem;
}

/* Responsive: Stammdaten reflow */
@media (max-width: 767px) {
    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-1 {
        grid-template-columns: 1fr 1fr;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-1 .status-mobile-in-row {
        grid-row: 1;
        grid-column: 2;
        justify-self: end;
        align-self: center;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-1 .ef-label-wrapper:nth-child(3),
    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-1 .ef-label-wrapper:nth-child(4) {
        grid-column: 1 / -1;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-2 {
        grid-template-columns: 1fr 1fr;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-2 .ef-label-wrapper:nth-child(3),
    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-2 .ef-label-wrapper:nth-child(4) {
        grid-column: 1 / -1;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-3 {
        grid-template-columns: 1fr 1fr;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-3 .ef-label-wrapper:nth-child(1) {
        grid-column: 1 / -1;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-4 {
        grid-template-columns: 1fr 1fr;
    }

    [b-u04f625w2b] .kunde-tab-stammdaten .kunde-row-stammdaten-4 .ust-befreiung {
        grid-column: 1 / -1;
    }

    [b-u04f625w2b] .status-header-only {
        display: none;
    }

    [b-u04f625w2b] .status-mobile-in-row {
        display: flex;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Kunden/Content/Content.razor.rz.scp.css */
/* ── Component design tokens ────────────────────────────────────── */
.customers-page[b-igfmt2fx4h] {
    --kun-surface: var(--ef-bg-secondary);
    --kun-surface-hover: var(--ef-bg-secondary);
    --kun-border: var(--ef-grid-action-icon-border);
    --kun-border-muted: var(--ef-grid-action-icon-hover-border);
    --kun-text-primary: var(--ef-text-primary);
    --kun-text-secondary: var(--ef-text-secondary);
    --kun-text-body: var(--ef-text-secondary);
    --kun-transition: var(--ef-transition-fast);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
    min-height: 0;
}

/* ── In-grid card cell (mobile / XSmall) ───────────────────────── */

.kunden-grid-card[b-igfmt2fx4h] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.15rem 0;
}

.kunden-grid-card :deep(.ef-typ-badge)[b-igfmt2fx4h] {
    align-self: flex-start;
    margin-top: 0.1rem;
}

/* ── Card element styles ───────────────────────────────────────── */

.kunden-card__header[b-igfmt2fx4h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kunden-card__name[b-igfmt2fx4h] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--kun-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kunden-card__company-row[b-igfmt2fx4h] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.3rem;
    flex-wrap: wrap;
}

.kunden-card__icon[b-igfmt2fx4h] {
    font-size: 0.82rem;
    color: var(--kun-text-secondary);
    flex-shrink: 0;
}

.kunden-card__company[b-igfmt2fx4h] {
    font-size: 0.82rem;
    color: var(--kun-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kunden-card__info-row[b-igfmt2fx4h] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--kun-text-body);
    margin-bottom: 0.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Actions ───────────────────────────────────────────────────── */

.kunden-card__actions[b-igfmt2fx4h] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.kunden-card__btn-primary[b-igfmt2fx4h] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    background-color: var(--ef-grid-action-primary-bg);
    color: var(--ef-grid-action-primary-fg);
    border: 1.5px solid var(--ef-grid-action-primary-border);
    border-radius: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color var(--kun-transition), border-color var(--kun-transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.25rem;
}

    .kunden-card__btn-primary:hover[b-igfmt2fx4h] {
        background-color: var(--ef-grid-action-primary-hover-bg);
        border-color: var(--ef-grid-action-primary-hover-border);
    }

.kunden-card__btn-icon[b-igfmt2fx4h] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1.5px solid var(--kun-border);
    border-radius: 0.4rem;
    background-color: var(--kun-surface);
    color: var(--kun-text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: background-color var(--kun-transition), border-color var(--kun-transition), color var(--kun-transition);
}

    .kunden-card__btn-icon:hover[b-igfmt2fx4h] {
        background-color: var(--kun-surface-hover);
        border-color: var(--kun-border-muted);
    }

.kunden-card__btn-icon--danger[b-igfmt2fx4h] {
    border-color: var(--ef-grid-action-icon-danger-border);
    color: var(--ef-grid-action-icon-danger-fg);
    background-color: var(--ef-grid-action-icon-danger-bg);
}

    .kunden-card__btn-icon--danger:hover[b-igfmt2fx4h] {
        background-color: var(--ef-grid-action-icon-danger-hover-bg);
        border-color: var(--ef-grid-action-icon-danger-hover-border);
    }
/* /Components/Pages/Produkte/Authoring/Authoring.razor.rz.scp.css */
/* ProduktAuthoring – scoped overrides (shared in authoring-shared.css) */



/* Produktbild selector */
[b-vttfxtvw7r] .produkt-image-selector {
    width: 30%;
    transition: width 200ms ease;
}

[b-vttfxtvw7r] .produkt-image-selector:has(.produkt-image-file-card) {
    width: 50%;
}

[b-vttfxtvw7r] .produkt-image-empty-card {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--ef-border-light);
    border-radius: var(--ef-radius-xl);
    background: var(--ef-bg-primary);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

[b-vttfxtvw7r] .produkt-image-empty-card:hover {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.25);
    box-shadow: 0 2px 0.625rem rgba(0,0,0,0.06);
}

[b-vttfxtvw7r] .produkt-image-empty-card input[type="file"] {
    display: none;
}

[b-vttfxtvw7r] .produkt-image-empty-icon {
    width: var(--ef-touch-target);
    height: var(--ef-touch-target);
    border-radius: var(--ef-radius-xl);
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, 0.04);
    flex: 0 0 auto;
}

[b-vttfxtvw7r] .produkt-image-empty-icon i {
    font-size: 1.1rem;
    color: var(--ef-text-primary);
}

[b-vttfxtvw7r] .produkt-image-empty-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

[b-vttfxtvw7r] .produkt-image-empty-title {
    font-weight: 600;
    color: var(--ef-text-primary);
}

[b-vttfxtvw7r] .produkt-image-empty-subtitle {
    font-size: 0.85rem;
    color: var(--ef-text-description);
}

/* Attached file card */
[b-vttfxtvw7r] .produkt-image-file-card {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--ef-border-light);
    border-radius: var(--ef-radius-xl);
    background: var(--ef-bg-primary);
}

[b-vttfxtvw7r] .produkt-image-thumb {
    width: 9.375rem;
    height: 9.375rem;
    border-radius: var(--ef-radius-xl);
    overflow: hidden;
    background: rgba(0,0,0,0.04);
    flex: 0 0 auto;
    display: grid;
    place-items: center;
}

[b-vttfxtvw7r] .produkt-image-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

[b-vttfxtvw7r] .produkt-image-meta {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

[b-vttfxtvw7r] .produkt-image-name {
    font-weight: 700;
    color: var(--ef-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-vttfxtvw7r] .produkt-image-size {
    font-size: 0.85rem;
    color: var(--ef-text-description);
}

[b-vttfxtvw7r] .produkt-image-delete {
    width: 2.375rem;
    height: 2.375rem;
    border-radius: var(--ef-radius-lg);
    border: 1px solid var(--ef-border-light);
    background: transparent;
    display: grid;
    place-items: center;
    cursor: pointer;
}

[b-vttfxtvw7r] .produkt-image-delete:hover {
    background: rgba(220, 53, 69, 0.08);
    border-color: rgba(220, 53, 69, 0.4);
}

[b-vttfxtvw7r] .produkt-image-delete i {
    color: var(--ef-danger);
}

/* Responsive */
@media (max-width: 767px) {
    [b-vttfxtvw7r] .produkt-tab-stammdaten .auth-row--4 {
        grid-template-columns: 1fr 1fr;
    }

    [b-vttfxtvw7r] .produkt-image-selector,
    [b-vttfxtvw7r] .produkt-image-selector:has(.produkt-image-file-card) {
        width: 100%;
    }
}
/* /Components/Pages/Produkte/Content/Content.razor.rz.scp.css */
.products-page[b-ngcspfsgnk] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
    min-height: 0;
}
/* /Components/Pages/Produkte/Content/ProduktCardCell.razor.rz.scp.css */
/* ── In-grid card cell (mobile / XSmall) ──────────────────── */

.produkt-grid-card[b-2hekpfso5m] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.15rem 0;
}

.produkt-grid-card .produkt-card__info[b-2hekpfso5m] {
    display: flex;
    gap: 1rem;
    margin-top: 0.5rem;
}

/* ── In-grid card element styles ───────────────────────────── */

.produkt-card__name[b-2hekpfso5m] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ef-text-primary);
    line-height: 1.3;
    flex: 1;
    min-width: 0;
}

/* ── SKU ───────────────────────────────────────────────────── */
.produkt-card__sku[b-2hekpfso5m] {
    font-size: 0.78rem;
    color: var(--ef-text-secondary);
}

/* ── Badges ────────────────────────────────────────────────── */
.produkt-card__badges[b-2hekpfso5m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.1rem;
}

.produkt-card__badge[b-2hekpfso5m] {
    display: inline-block;
    padding: 0.15em 0.6em;
    border-radius: 0.35rem;
    font-size: 0.73rem;
    font-weight: 600;
    white-space: nowrap;
}

.produkt-card__badge--kategorie[b-2hekpfso5m] { background-color: var(--ef-badge-kategorie-bg); color: var(--ef-badge-kategorie-fg); }

/* ── Info row (Bestand / Bruttopreis) ──────────────────────── */
.produkt-card__info[b-2hekpfso5m] {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.produkt-card__info-item[b-2hekpfso5m] {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.produkt-card__info-label[b-2hekpfso5m] {
    font-size: 0.73rem;
    color: var(--ef-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.1rem;
}

.produkt-card__info-value[b-2hekpfso5m] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--ef-text-primary);
}

/* ── Actions ───────────────────────────────────────────────── */
.produkt-card__actions[b-2hekpfso5m] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.produkt-card__btn-primary[b-2hekpfso5m] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    background-color: var(--ef-grid-action-primary-bg);
    color: var(--ef-grid-action-primary-fg);
    border: 1.5px solid var(--ef-grid-action-primary-border);
    border-radius: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.25rem;
}

.produkt-card__btn-primary:hover[b-2hekpfso5m] {
    background-color: var(--ef-grid-action-primary-hover-bg);
    border-color: var(--ef-grid-action-primary-hover-border);
}

.produkt-card__btn-icon[b-2hekpfso5m] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1.5px solid var(--ef-grid-action-icon-border);
    border-radius: 0.4rem;
    background-color: var(--ef-grid-action-icon-bg);
    color: var(--ef-grid-action-icon-fg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.produkt-card__btn-icon:hover[b-2hekpfso5m] {
    background-color: var(--ef-grid-action-icon-hover-bg);
    border-color: var(--ef-grid-action-icon-hover-border);
}

.produkt-card__btn-icon--danger[b-2hekpfso5m] {
    border-color: var(--ef-grid-action-icon-danger-border);
    color: var(--ef-grid-action-icon-danger-fg);
    background-color: var(--ef-grid-action-icon-danger-bg);
}

.produkt-card__btn-icon--danger:hover[b-2hekpfso5m] {
    background-color: var(--ef-grid-action-icon-danger-hover-bg);
    border-color: var(--ef-grid-action-icon-danger-hover-border);
}
/* /Components/Pages/Produkte/ProduktDetails.razor.rz.scp.css */
/* Shared detail-page layout now in app.css (ef-detail-page-*) */
/* /Components/Pages/Register.razor.rz.scp.css */
/* ── Register page scoped styles ── */

/* ── Welcome (authenticated redirect) ── */
.welcome-container[b-5w1bqnonrb] {
    padding: 2rem 1rem;
}

.welcome-logo[b-5w1bqnonrb] {
    display: flex;
    justify-content: center;
    align-items: center;
}

.welcome-logo-img[b-5w1bqnonrb] {
    max-width: 12.5rem;
    height: auto;
    width: 100%;
}

.welcome-title[b-5w1bqnonrb] {
    font-size: 2rem;
    font-weight: 600;
    color: var(--ef-text-primary);
}

.welcome-message[b-5w1bqnonrb] {
    font-size: 1.1rem;
}

.welcome-spinner[b-5w1bqnonrb] {
    display: flex;
    justify-content: center;
}

/* ── Card ── */
.reg-card[b-5w1bqnonrb] {
    border-radius: var(--ef-radius-xl);
    animation: reg-fade-in-b-5w1bqnonrb 0.4s ease-out;
}

@keyframes reg-fade-in-b-5w1bqnonrb {
    from {
        opacity: 0;
        transform: translateY(1rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Left branding panel ── */
.reg-branding[b-5w1bqnonrb] {
    background: var(--ef-bg-dark);
    color: var(--ef-text-light);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
}

.reg-branding-content[b-5w1bqnonrb] {
    text-align: center;
}

.reg-logo[b-5w1bqnonrb] {
    height: 4rem;
    margin-bottom: 1.5rem;
}

.reg-branding-title[b-5w1bqnonrb] {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.reg-branding-subtitle[b-5w1bqnonrb] {
    font-size: var(--font-size-small);
    opacity: 0.85;
    margin-bottom: 2rem;
}

.reg-features[b-5w1bqnonrb] {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.reg-features li[b-5w1bqnonrb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    font-size: var(--font-size-small);
    font-weight: 500;
}

.reg-features li i[b-5w1bqnonrb] {
    font-size: 1.25rem;
    opacity: 0.9;
}

/* ── Right form panel ── */
.reg-form-panel[b-5w1bqnonrb] {
    padding: 2rem 2.5rem;
}

.reg-logo-mobile[b-5w1bqnonrb] {
    height: 2.5rem;
}

/* ── Tab toggle ── */
.reg-tabs[b-5w1bqnonrb] {
    display: flex;
    background: var(--ef-bg-secondary);
    border-radius: var(--ef-radius-md);
    padding: 0.25rem;
    gap: 0.25rem;
}

.reg-tab[b-5w1bqnonrb] {
    flex: 1;
    text-align: center;
    padding: 0.5rem 0.75rem;
    border-radius: var(--ef-radius-sm);
    font-weight: 600;
    font-size: var(--font-size-small);
    color: var(--ef-text-secondary);
    text-decoration: none;
    transition: var(--ef-transition-fast);
}

.reg-tab:hover[b-5w1bqnonrb] {
    color: var(--ef-text-primary);
}

.reg-tab--active[b-5w1bqnonrb] {
    background: var(--ef-bg-primary);
    color: var(--ef-text-primary);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* ── Stepper ── */
.reg-stepper[b-5w1bqnonrb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.reg-step[b-5w1bqnonrb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.reg-step-number[b-5w1bqnonrb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--ef-border-light);
    color: var(--ef-text-secondary);
}

.reg-step--active .reg-step-number[b-5w1bqnonrb] {
    background: var(--ef-primary);
    color: var(--ef-text-light);
}

.reg-step-label[b-5w1bqnonrb] {
    font-size: var(--font-size-small);
    color: var(--ef-text-secondary);
    font-weight: 500;
}

.reg-step--active .reg-step-label[b-5w1bqnonrb] {
    color: var(--ef-text-primary);
    font-weight: 600;
}

.reg-step-line[b-5w1bqnonrb] {
    flex: 1;
    height: 2px;
    background: var(--ef-border-light);
    min-width: 1rem;
}

/* ── Google button ── */
.reg-google-btn[b-5w1bqnonrb] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    height: var(--ef-button-height);
    font-weight: 600;
    border-color: var(--ef-border-light);
    transition: var(--ef-transition-fast);
}

.reg-google-btn:hover[b-5w1bqnonrb] {
    background: var(--ef-bg-secondary);
    border-color: var(--ef-border-medium);
}

.reg-google-icon[b-5w1bqnonrb] {
    width: 1.125rem;
    height: 1.125rem;
}

/* ── Divider ── */
.reg-divider[b-5w1bqnonrb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0;
    color: var(--ef-text-secondary);
    font-size: var(--font-size-small);
}

.reg-divider[b-5w1bqnonrb]::before,
.reg-divider[b-5w1bqnonrb]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--ef-border-light);
}

/* ── Submit button ── */
.reg-submit-btn[b-5w1bqnonrb] {
    height: var(--ef-button-height);
    font-weight: 600;
    transition: var(--ef-transition-fast);
    background-color: var(--ef-primary) !important;
    border-color: var(--ef-primary) !important;
    color: var(--ef-text-light) !important;
}

.reg-submit-btn:hover[b-5w1bqnonrb],
.reg-submit-btn:focus[b-5w1bqnonrb] {
    background-color: var(--ef-primary-dark) !important;
    border-color: var(--ef-primary-dark) !important;
    box-shadow: none !important;
}

/* ── Passwort vergessen link ── */
a.text-primary[b-5w1bqnonrb] {
    color: var(--ef-primary) !important;
}

a.text-primary:hover[b-5w1bqnonrb] {
    color: var(--ef-primary-dark) !important;
}

/* ── Password strength ── */
.reg-pw-strength[b-5w1bqnonrb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.reg-pw-bar[b-5w1bqnonrb] {
    flex: 1;
    height: 4px;
    background: var(--ef-border-light);
    border-radius: var(--ef-radius-xs);
    overflow: hidden;
}

.reg-pw-bar-fill[b-5w1bqnonrb] {
    height: 100%;
    border-radius: var(--ef-radius-xs);
    transition: width 0.3s ease, background-color 0.3s ease;
}

.reg-pw-bar-fill--none[b-5w1bqnonrb] {
    background: transparent;
}

.reg-pw-bar-fill--weak[b-5w1bqnonrb] {
    background: var(--ef-danger);
}

.reg-pw-bar-fill--fair[b-5w1bqnonrb] {
    background: var(--ef-warning);
}

.reg-pw-bar-fill--good[b-5w1bqnonrb] {
    background: var(--ef-primary);
}

.reg-pw-bar-fill--strong[b-5w1bqnonrb] {
    background: var(--ef-success);
}

.reg-pw-label[b-5w1bqnonrb] {
    font-size: var(--font-size-small);
    min-width: 5rem;
    text-align: right;
}

.reg-pw-rules[b-5w1bqnonrb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}

.reg-pw-rules small[b-5w1bqnonrb] {
    font-size: 0.75rem;
}

/* ── Form control refinements ── */
.reg-form-panel .form-control[b-5w1bqnonrb] {
    height: var(--ef-input-height);
    transition: var(--ef-transition-fast);
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .reg-form-panel[b-5w1bqnonrb] {
        padding: 1.5rem;
    }

    .reg-stepper[b-5w1bqnonrb] {
        gap: 0.25rem;
    }

    .reg-step-label[b-5w1bqnonrb] {
        display: none;
    }
}
/* /Components/Pages/Settings/SettingsPage.razor.rz.scp.css */
/* Tab content animations */
.tab-pane-content[b-nf0vn2gudw] {
    animation: fadeIn-b-nf0vn2gudw 0.25s ease-in;
}

@keyframes fadeIn-b-nf0vn2gudw {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Settings page fills all available width (up to --content-window-width) */
.settings-page[b-nf0vn2gudw] {
    flex: 1;
}

    .settings-page .ef-card[b-nf0vn2gudw] {
        background-color: var(--ef-bg-primary);
        border-color: var(--ef-border-light);
        border-radius: var(--ef-radius-md);
    }

    .settings-page .ef-card__footer[b-nf0vn2gudw] {
        background-color: var(--ef-primary);
        border-top-color: var(--ef-border-light);
    }

/* Shared key-value table styles used by All-Settings and Benutzer tabs */
.all-settings-value[b-nf0vn2gudw] {
    max-width: 31.25rem;
}

[b-nf0vn2gudw] .all-settings-input {
    width: 100%;
    min-width: 12.5rem;
}
/* /Components/Pages/Settings/Tabs/TabAiCommandLog.razor.rz.scp.css */
/* Constrain the tab content so the table does not blow out the page layout */
.tab-pane-content[b-6je6o9h96h] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

/* Scrollable table area with capped height */
.table-responsive[b-6je6o9h96h] {
    max-height: 65vh;
    overflow-y: auto;
    border: 1px solid var(--ef-border-light);
    border-radius: var(--ef-radius-sm);
}

/* Sticky column headers while scrolling */
thead.table-light th[b-6je6o9h96h] {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: var(--ef-bg-secondary);
}
/* /Components/Pages/Settings/Tabs/TabDatabase.razor.rz.scp.css */
.quick-import-grid[b-odsk0r0fie] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0.75rem;
    column-gap: 1rem;
    align-items: center;
}

.quick-import-cell[b-odsk0r0fie] {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* /Components/Pages/Shared/AiCommandLogDetail.razor.rz.scp.css */
.ai-log-detail[b-ng75owo03b] {
    background-color: var(--ef-bg-secondary);
    border-top: 2px solid var(--ef-border-medium);
}

.ai-log-detail__section[b-ng75owo03b] {
    border-top: 1px solid var(--ef-border-medium);
}

.ai-log-detail__section > summary[b-ng75owo03b] {
    cursor: pointer;
    background-color: var(--ef-bg-tertiary);
}

.ai-log-detail__pre[b-ng75owo03b] {
    margin: 0;
    padding: 0.5rem 1rem;
    background-color: var(--ef-bg-primary);
    font-size: 0.75rem;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 400px;
    overflow: auto;
}

.ai-log-detail__inline[b-ng75owo03b] {
    margin: 0;
    padding: 0.25rem;
    background-color: transparent;
    font-size: 0.7rem;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 200px;
    overflow: auto;
}

.ai-log-detail__messages[b-ng75owo03b] {
    padding: 0.5rem;
}

.ai-log-detail__message[b-ng75owo03b] {
    margin-bottom: 0.5rem;
    border-left: 3px solid var(--ef-status-default);
    padding-left: 0.5rem;
    background-color: var(--ef-bg-primary);
}

.ai-log-detail__message--user[b-ng75owo03b] {
    border-left-color: var(--ef-status-blue-active);
}

.ai-log-detail__message--assistant[b-ng75owo03b] {
    border-left-color: var(--ef-status-green);
}

.ai-log-detail__message--tool[b-ng75owo03b] {
    border-left-color: var(--ef-status-orange);
}

.ai-log-detail__role[b-ng75owo03b] {
    padding: 0.25rem 0.5rem;
}
/* /Components/Pages/Zeiterfassungen/Authoring/Authoring.razor.rz.scp.css */
/* ZeiterfassungAuthoring – scoped overrides (shared in authoring-shared.css) */

/* Stunden (read-only) – muted appearance */
[b-qk6sotlsb0] .za-stunden-readonly .dxbl-text-box-input {
    background-color: var(--bs-secondary-bg, var(--ef-bg-secondary));
    color: var(--bs-secondary-color, var(--ef-text-secondary));
    font-weight: 600;
}

/* Memo / Beschreibung */
[b-qk6sotlsb0] .dxbl-memo textarea {
    resize: vertical;
    min-height: 8.75rem;
}

/* Responsive: 4-col row reflows to 2-col on mobile */
@media (max-width: 767px) {
    [b-qk6sotlsb0] .auth-row--4 {
        grid-template-columns: 1fr 1fr;
    }
}
/* /Components/Pages/Zeiterfassungen/Content/Content.razor.rz.scp.css */
.time-tracking-page[b-eq0cel75ib] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
    min-height: 0;
}

/* ?? Card View (mobile / XSmall) ??????????????????????????????????????? */

/* In-grid card cell content wrapper – no own border; the grid row is the card */
.zeiterfassung-grid-card[b-eq0cel75ib] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.15rem 0;
}

/* ?? In-grid card element styles ?? */

/* ?? Header row ?? */
.zeiterfassung-card__header[b-eq0cel75ib] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.4rem;
}

.zeiterfassung-card__title[b-eq0cel75ib] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ef-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ?? Dates / duration row ?? */
.zeiterfassung-card__dates[b-eq0cel75ib] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: var(--ef-text-secondary);
    margin-bottom: 0.3rem;
    flex-wrap: wrap;
}

.zeiterfassung-card__dates-sep[b-eq0cel75ib] {
    color: var(--ef-text-secondary);
}

.zeiterfassung-card__duration[b-eq0cel75ib] {
    margin-left: auto;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ef-status-blue);
    background: var(--ef-status-blue-very-light);
    border-radius: 0.35rem;
    padding: 0.1em 0.5em;
    white-space: nowrap;
}

.zeiterfassung-card__icon[b-eq0cel75ib] {
    font-size: 0.82rem;
    color: var(--ef-text-secondary);
    flex-shrink: 0;
}

/* ?? Info rows (pause, project, category, user) ?? */
.zeiterfassung-card__info-row[b-eq0cel75ib] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--ef-text-secondary);
    margin-bottom: 0.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ?? Divider ?? */
.zeiterfassung-card__divider[b-eq0cel75ib] {
    margin: 0.65rem 0;
    border-color: var(--ef-bg-secondary);
    opacity: 1;
}

/* ?? Actions ?? */
.zeiterfassung-card__actions[b-eq0cel75ib] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.zeiterfassung-card__btn-primary[b-eq0cel75ib] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    background-color: var(--ef-grid-action-primary-bg);
    color: var(--ef-grid-action-primary-fg);
    border: 1.5px solid var(--ef-grid-action-primary-border);
    border-radius: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.25rem;
}

.zeiterfassung-card__btn-primary:hover[b-eq0cel75ib] {
    background-color: color-mix(in srgb, var(--ef-grid-action-primary-bg) 82%, #000000);
    border-color: color-mix(in srgb, var(--ef-grid-action-primary-border) 82%, #000000);
}

.zeiterfassung-card__btn-icon[b-eq0cel75ib] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1.5px solid var(--ef-grid-action-icon-border);
    border-radius: 0.4rem;
    background-color: var(--ef-grid-action-icon-bg);
    color: var(--ef-grid-action-icon-fg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.zeiterfassung-card__btn-icon:hover[b-eq0cel75ib] {
    background-color: color-mix(in srgb, var(--ef-grid-action-icon-bg) 82%, #000000);
    border-color: color-mix(in srgb, var(--ef-grid-action-icon-border) 82%, #000000);
}

.zeiterfassung-card__btn-icon--danger[b-eq0cel75ib] {
    border-color: var(--ef-grid-action-icon-danger-border);
    color: var(--ef-grid-action-icon-danger-fg);
    background-color: var(--ef-grid-action-icon-danger-bg);
}

.zeiterfassung-card__btn-icon--danger:hover[b-eq0cel75ib] {
    background-color: color-mix(in srgb, var(--ef-grid-action-icon-danger-bg) 82%, #000000);
    border-color: color-mix(in srgb, var(--ef-grid-action-icon-danger-border) 82%, #000000);
}

/* ??? Status + date-range row ?????????????????????????????????????????? */
.status-and-filters-row[b-eq0cel75ib] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

/* ??? Status filter pill bar ??????????????????????????????????????????? */
.status-filter-bar[b-eq0cel75ib] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    align-items: center;
    background: var(--ef-bg-secondary);
    border-radius: 3.75rem;
    padding: 0.25rem;
    border: 1px solid var(--ef-bg-tertiary);
}

.status-filter-btn[b-eq0cel75ib] {
    padding: 0.3em 1.05em;
    border-radius: 3.75rem;
    border: none;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    background-color: transparent;
    color: var(--ef-primary-dark);
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    white-space: nowrap;
    line-height: 1.6;
}

    .status-filter-btn:hover[b-eq0cel75ib] {
        background-color: rgba(255, 255, 255, 0.75);
    }

    .status-filter-btn.active[b-eq0cel75ib] {
        color: var(--ef-text-light);
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
    }

    /* Alle – neutral dark when active */
    .status-filter-btn:not(.status-filter-ongoing):not(.status-filter-done):not(.status-filter-draft):not(.status-filter-archive).active[b-eq0cel75ib] {
        background-color: var(--ef-primary-darker);
    }

/* ??? Status colors ???????????????????????????????????????????????????? */
.status-filter-ongoing[b-eq0cel75ib]       { color: var(--ef-status-blue); }
.status-filter-done[b-eq0cel75ib]          { color: var(--ef-action-add-fg); }
.status-filter-draft[b-eq0cel75ib]         { color: var(--ef-status-amber-fg); }
.status-filter-archive[b-eq0cel75ib]       { color: var(--ef-primary-dark); }

.status-filter-ongoing.active[b-eq0cel75ib]  { background-color: var(--ef-status-blue-active); }
.status-filter-done.active[b-eq0cel75ib]     { background-color: var(--ef-status-green-500); }
.status-filter-draft.active[b-eq0cel75ib]    { background-color: var(--ef-status-amber); }
.status-filter-archive.active[b-eq0cel75ib]  { background-color: var(--ef-text-secondary); }

/* ??? Inline date filter ??????????????????????????????????????????????? */
.inline-date-filter[b-eq0cel75ib] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    background: var(--ef-bg-secondary);
    border-radius: 3.75rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--ef-bg-tertiary);
}

.inline-date-icon[b-eq0cel75ib] {
    font-size: 0.78rem;
    color: var(--ef-dok-accent);
    flex-shrink: 0;
}

.inline-date-label[b-eq0cel75ib] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--ef-text-secondary);
    flex-shrink: 0;
}

.inline-date-filter[b-eq0cel75ib]  .inline-date-combo {
    width: 8.75rem;
    font-size: 0.78rem;
}

.inline-date-filter[b-eq0cel75ib]  .inline-date-edit {
    width: 7.5rem;
    font-size: 0.78rem;
}

.inline-date-reset[b-eq0cel75ib] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--ef-text-secondary);
    font-size: 0.7rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.15s ease, background-color 0.15s ease;
}

    .inline-date-reset:hover[b-eq0cel75ib] {
        color: var(--ef-status-red-500);
        background-color: var(--ef-action-remove-bg);
    }

@media (max-width: 767px) {
    .inline-date-filter[b-eq0cel75ib] {
        width: 100%;
    }

    .inline-date-filter[b-eq0cel75ib]  .inline-date-combo,
    .inline-date-filter[b-eq0cel75ib]  .inline-date-edit {
        flex: 1;
        min-width: 0;
        width: auto;
    }
}



/* ── Invoice panel ─────────────────────────────────────────────────── */

.invoice-panel[b-eq0cel75ib] {
    max-width: 64rem;
    align-items: stretch;
    padding: 2rem 2.5rem;
}

.invoice-panel[b-eq0cel75ib]  .ef-delete-confirm-content {
    text-align: left;
    width: 100%;
}

.invoice-panel-columns[b-eq0cel75ib] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 0.75rem;
}

.invoice-panel-field[b-eq0cel75ib] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.invoice-panel-label[b-eq0cel75ib] {
    font-weight: 600;
    font-size: var(--font-size-medium);
}

.invoice-panel-listbox[b-eq0cel75ib] {
    max-height: 340px;
    overflow-y: auto;
    border: 1px solid var(--ef-border-medium);
    border-radius: 8px;
}

@media (max-width: 767px) {
    .invoice-panel[b-eq0cel75ib] {
        padding: 1.5rem 1rem;
    }

    .invoice-panel-columns[b-eq0cel75ib] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* ── Invoice footer (checkbox + button row) ───────────────────────── */

.invoice-footer[b-eq0cel75ib] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
}

.invoice-footer-checkbox[b-eq0cel75ib] {
    display: flex;
    justify-content: flex-start;
}

.invoice-footer-buttons[b-eq0cel75ib] {
    display: flex;
    gap: 1rem;
    width: 100%;
    justify-content: center;
}

.invoice-confirm-wrap[b-eq0cel75ib] {
    flex: 1;
}

.invoice-confirm-wrap[b-eq0cel75ib]  .dxbl-btn,
.invoice-confirm-wrap[b-eq0cel75ib]  button {
    width: 100% !important;
}

.invoice-open-checkbox[b-eq0cel75ib] {
    font-size: var(--font-size-medium);
}
/* /Components/Pages/Zeiterfassungen/ZeiterfassungDetails.razor.rz.scp.css */
/* Shared detail-page layout now in app.css (ef-detail-page-*) */
/* /Components/Shared/EFAuthoringPanel.razor.rz.scp.css */
.ef-authoring-panel[b-w7l3l8g7y3] {
    max-width: var(--edit-view-width);
    width: 100%;
    margin: 0 auto;
}

/* Hide the DxTabs header bar — authoring panel only shows the edit tab content */
.ef-authoring-panel[b-w7l3l8g7y3]  .dxbl-tabs-header-wrapper {
    display: none;
}

/* Remove any tab-container border/stripe that bleeds through */
.ef-authoring-panel[b-w7l3l8g7y3]  .dxbl-tabs {
    border: none;
}

.ef-authoring-panel[b-w7l3l8g7y3]  .dxbl-tabs-content {
    border: none;
    padding: 0;
}
/* /Components/Shared/EFCommandAiInput/EfAiResponseRenderer.razor.rz.scp.css */
.ai-response-container[b-yihmj5ox2u] {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    border-radius: 0.75rem;
    overflow: hidden;
    padding: 0.25rem;
}

/* ── Toolbar: label left, clear right ─────── */
.ai-response-toolbar[b-yihmj5ox2u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem 0.375rem 0.75rem;
}

.ai-response-label[b-yihmj5ox2u] {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.65rem;
    color: var(--ef-primary-dark);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: var(--ef-bg-tertiary);
    padding: 0.2rem 0.6rem;
    border-radius: 0.75rem;
    border: 1px solid var(--ef-primary);
}

.ai-clear-btn[b-yihmj5ox2u] {
    padding: 0.3rem;
    border: none;
    background: var(--ef-action-remove-bg);
    color: var(--ef-action-remove-hover-fg);
    transition: background-color 0.2s ease, transform 0.15s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.ai-clear-btn:hover[b-yihmj5ox2u] {
    background-color: var(--ef-action-remove-border);
    transform: scale(1.1);
}

.ai-clear-btn i[b-yihmj5ox2u] {
    font-size: 0.9rem;
    line-height: 1;
}

/* ── Scrollable message area ──────────────── */
.ai-response-text[b-yihmj5ox2u] {
    min-height: calc(var(--dxbl-text-edit-padding-y) * 2 + var(--dxbl-text-edit-line-height) * var(--dxbl-text-edit-font-size));
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: var(--ef-primary) transparent;
    padding: 0.375rem 0.75rem;
    font-size: 0.95rem;
    line-height: 1.5rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: max-height 0.3s ease;
}

.ai-response-text.expanded[b-yihmj5ox2u] {
    max-height: 50vh;
}

.ai-response-text.collapsed[b-yihmj5ox2u] {
    max-height: 1.625rem;
    overflow: hidden;
}

/* ── Chat message row ─────────────────────── */
.ai-msg[b-yihmj5ox2u] {
    display: flex;
    width: 100%;
}

.ai-msg-user[b-yihmj5ox2u] {
    justify-content: flex-end;
}

.ai-msg-assistant[b-yihmj5ox2u] {
    justify-content: flex-start;
}

/* ── Chat bubble ──────────────────────────── */
.ai-msg-bubble[b-yihmj5ox2u] {
    max-width: 80%;
    padding: 0.375rem 0.75rem;
    border-radius: 0.875rem;
    white-space: pre-wrap;
    word-break: break-word;
    font-weight: 600;
    font-size: 0.95rem;
}

.ai-msg-user .ai-msg-bubble[b-yihmj5ox2u] {
    background-color: var(--ef-primary-dark);
    color: var(--ef-text-light);
    border-bottom-right-radius: 0.25rem;
    padding: 0.5rem 0.875rem;
}

.ai-msg-assistant .ai-msg-bubble[b-yihmj5ox2u] {
    background-color: var(--ef-bg-secondary);
    color: var(--ef-text-primary);
    border: 1px solid var(--ef-bg-tertiary);
    border-bottom-left-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    max-width: 100%;
}

/* ── Grouped assistant lines inside one bubble ── */
.ai-msg-line + .ai-msg-line[b-yihmj5ox2u] {
    margin-top: 0.25rem;
    padding-top: 0.25rem;
    border-top: 1px dashed var(--ef-primary);
}

/* ── Copy button below assistant bubble ───── */
.ai-msg-assistant[b-yihmj5ox2u] {
    flex-direction: column;
    align-items: flex-start;
}

.ai-copy-btn[b-yihmj5ox2u] {
    padding: 0.2rem 0.4rem;
    border: 1px solid var(--ef-primary);
    background: var(--ef-bg-tertiary);
    color: var(--ef-primary-dark);
    border-radius: 0.375rem;
    cursor: pointer;
    font-size: 0.75rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.25rem;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.ai-copy-btn:hover[b-yihmj5ox2u] {
    background-color: var(--ef-bg-tertiary);
    transform: scale(1.05);
}

.ai-copy-btn:active[b-yihmj5ox2u] {
    transform: scale(0.95);
}

/* ── Links inside bubbles ─────────────────── */
.ai-msg-assistant .ai-msg-bubble a[b-yihmj5ox2u] {
    color: var(--ef-primary-dark);
    text-decoration: underline;
}

.ai-msg-assistant .ai-msg-bubble a:hover[b-yihmj5ox2u] {
    color: var(--ef-primary-darker);
}

.ai-msg-user .ai-msg-bubble a[b-yihmj5ox2u] {
    color: var(--ef-primary-medium);
    text-decoration: underline;
}

/* ── Toggle button (centered at bottom) ───── */
.ai-response-container .ai-toggle-rows-btn[b-yihmj5ox2u] {
    align-self: center;
    width: 2.5rem;
    height: 1.5rem;
    border-radius: 0.75rem;
    background-color: var(--ef-bg-tertiary);
    border: 1px solid var(--ef-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
    flex-shrink: 0;
    margin: 0.25rem 0;
}

.ai-response-container .ai-toggle-rows-btn:hover[b-yihmj5ox2u] {
    background-color: var(--ef-primary);
    border-color: var(--ef-primary);
    transform: scale(1.05);
}

.ai-response-container .ai-toggle-rows-btn .chevron[b-yihmj5ox2u] {
    width: 0.75rem;
    height: 0.75rem;
    color: var(--ef-primary-dark);
    display: block;
    transition: transform 600ms ease;
    transform-origin: 50% 50%;
}

.ai-response-container .ai-toggle-rows-btn .chevron.is-down[b-yihmj5ox2u] {
    transform: rotate(180deg);
}

/* ── Responsive: medium ───────────────────── */
@media (max-width: 767px) {
    .ai-response-text[b-yihmj5ox2u] {
        font-size: 0.8125rem;
        line-height: 1.25rem;
        padding: 0.25rem 0.5rem;
    }

    .ai-response-text.collapsed[b-yihmj5ox2u] {
        max-height: 1.25rem;
    }

    .ai-response-text.expanded[b-yihmj5ox2u] {
        max-height: 35vh;
    }

    .ai-response-label[b-yihmj5ox2u] {
        font-size: 0.625rem;
    }

    .ai-msg-bubble[b-yihmj5ox2u] {
        padding: 0.25rem 0.5rem;
        border-radius: 0.5rem;
        font-size: 0.8125rem;
    }

    .ai-msg-user .ai-msg-bubble[b-yihmj5ox2u] {
        padding: 0.375rem 0.625rem;
    }

    .ai-msg-assistant .ai-msg-bubble[b-yihmj5ox2u] {
        padding: 0.25rem 0.5rem;
    }

    .ai-response-container .ai-toggle-rows-btn[b-yihmj5ox2u] {
        width: 2rem;
        height: 1.25rem;
        border-radius: 0.625rem;
    }

    .ai-response-container .ai-toggle-rows-btn .chevron[b-yihmj5ox2u] {
        width: 0.625rem;
        height: 0.625rem;
    }

    .ai-clear-btn i[b-yihmj5ox2u] {
        font-size: 0.8rem;
    }
}
/* /Components/Shared/EFCommandAiInput/EFCommandAiInput.razor.rz.scp.css */
.ef-ai-command[b-l16guv2qn9] {
    width: 100%;
    padding: 2rem;
    border: none;
    overflow: hidden;
    container-type: inline-size;
}

/* When the response card is open, flatten to a rounded rectangle so the gray area is visually contained */
.ef-ai-command:has(.ef-card)[b-l16guv2qn9] {
    border-radius: var(--ef-radius-xs);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* Give the response card rounded corners inside the container */
.ef-ai-command[b-l16guv2qn9]  .ef-card.mt-3 {
    border: none !important;
    border-radius: 1rem !important;
    margin: 0.375rem !important;
    background-color: var(--ef-bg-secondary) !important;
}

.ef-ai-command.drag-over .ef-ai-command-pill[b-l16guv2qn9] {
    border: 0.09375rem dashed var(--ef-primary);
}

.ef-ai-command.drag-over[b-l16guv2qn9] {
    cursor: copy;
}

.ef-ai-command-grid[b-l16guv2qn9] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
    align-items: center;
}

.ef-ai-command-right-buttons[b-l16guv2qn9] {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
}

.ef-ai-command-pill[b-l16guv2qn9] {
    display: flex;
    align-items: center;
    background-color: var(--ef-bg-primary);
    border: 1.5px solid var(--ef-primary);
    border-radius: var(--ef-radius-lg);
    padding: 0.3rem 0.625rem;
    gap: 0.3rem;
    transition: box-shadow 0.2s ease;
}

.ef-ai-command-pill:focus-within[b-l16guv2qn9] {
    border-color: var(--ef-primary);
    box-shadow: 0 0 0 1px var(--ef-primary);
}

.ef-ai-command-icon-btn[b-l16guv2qn9] {
    background-color: transparent;
    border: none;
    color: var(--ef-primary);
    padding: 0.15rem;
    margin: 0.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.2s ease;
    flex-shrink: 0;
}

.ef-ai-command-icon-btn:hover:not(:disabled)[b-l16guv2qn9] {
    opacity: 1;
}

.ef-ai-command-icon-btn:focus[b-l16guv2qn9] {
    outline: 0.125rem solid var(--ef-primary);
    outline-offset: 0.125rem;
    border-radius: 0.625rem;
}

.ef-ai-command-icon-btn:disabled[b-l16guv2qn9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ef-ai-command-icon-btn img[b-l16guv2qn9] {
    width: 1.25rem;
    height: 1.25rem;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(55%) sepia(25%) saturate(600%) hue-rotate(175deg) brightness(90%) contrast(85%);
    transition: filter 0.2s ease;
}

.ef-ai-command-icon-btn:hover:not(:disabled) img[b-l16guv2qn9] {
    filter: brightness(0) saturate(100%) invert(40%) sepia(30%) saturate(700%) hue-rotate(185deg) brightness(80%) contrast(90%);
}

.ef-ai-command-voice-btn.recording-active img[b-l16guv2qn9] {
    filter: brightness(0) saturate(100%) invert(27%) sepia(91%) saturate(7471%) hue-rotate(346deg) brightness(91%) contrast(92%);
    animation: pulse-recording-b-l16guv2qn9 1.5s ease-in-out infinite;
}

.ef-ai-command-file-btn.has-files img[b-l16guv2qn9] {
    filter: brightness(0) saturate(100%) invert(60%) sepia(95%) saturate(400%) hue-rotate(90deg) brightness(95%) contrast(85%);
}

.ef-ai-command-input-wrapper[b-l16guv2qn9] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    align-self: center;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit {
    border: none !important;
    background-color: transparent !important;
    min-height: 0 !important;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit .dxbl-text-edit-input-area,
[b-l16guv2qn9] .ai-command-input.dxbl-text-edit .dxbl-memo-edit {
    min-height: 0 !important;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit textarea {
    color: var(--ef-primary-darker);
    background-color: transparent !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    color: var(--ef-primary-darker) !important;
    padding: 0.2rem 0.6rem;
    min-height: 0 !important;
    resize: none;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit {
    --dxbl-text-edit-font-size: 0.85rem;
    --dxbl-text-edit-line-height: 1.35;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit.dxbl-sm {
    --dxbl-text-edit-font-size: 0.7rem;
    --dxbl-text-edit-line-height: 1.3;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit.dxbl-lg {
    --dxbl-text-edit-font-size: 1rem;
    --dxbl-text-edit-line-height: 1.4;
}

[b-l16guv2qn9] .ef-ai-command textarea .dxbl-text-box-input::placeholder {
    color: var(--ef-primary);
    opacity: 0.7;
}

[b-l16guv2qn9] .ai-command-input.dxbl-text-edit:focus-within {
    border: none !important;
    box-shadow: none !important;
}

.ef-ai-command-action-area[b-l16guv2qn9] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ef-ai-command-action-btn[b-l16guv2qn9] {
    background-color: var(--ef-primary);
    border: none;
    border-radius: var(--ef-radius-lg);
    color: white;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1rem;
    line-height: 1rem;
    letter-spacing: 0;
    padding: 0.625rem 1.5rem;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 10.625rem;
}

    .ef-ai-command-action-btn:hover:not(:disabled)[b-l16guv2qn9] {
        background-color: var(--ef-primary-dark);
    }

.ef-ai-command-action-btn:focus[b-l16guv2qn9] {
    outline: 0.125rem solid var(--ef-primary);
    outline-offset: 0.125rem;
}

.ef-ai-command-action-btn:disabled[b-l16guv2qn9] {
    cursor: not-allowed;
    opacity: 0.5;
}

.ef-ai-command-action-btn.cancel-mode[b-l16guv2qn9] {
    background-color: var(--ef-danger);
   
}

.ef-ai-command-action-btn.cancel-mode:hover:not(:disabled)[b-l16guv2qn9] {
    background-color: var(--ef-danger);
    box-shadow: 0 4px 14px rgba(220, 53, 69, 0.4);
}

.ef-ai-command-action-btn img[b-l16guv2qn9] {
    width: 1.5625rem;
    height: 1.5625rem;
    object-fit: contain;
}
.ef-ai-command-action-btn.cancel-mode img[b-l16guv2qn9] {
    width: 0.875rem;
    height: 0.875rem;
    object-fit: contain;
}

@keyframes pulse-recording-b-l16guv2qn9 {
    0% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7);
    }
    50% {
        box-shadow: 0 0 0 0.5rem rgba(220, 53, 69, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0);
    }
}

/* ── Quick Prompt Chips ─────────────────────────────────────────────── */

.ef-ai-quick-prompts[b-l16guv2qn9] {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem 0.25rem 0.75rem;
    justify-content: center;
    justify-content: center;F
    overflow: hidden;
}

.ef-ai-quick-prompt-chip[b-l16guv2qn9] {
    background-color: var(--ef-bg-primary);
    border: 1.5px solid var(--ef-primary);
    border-radius: 1.25rem;
    padding: 0.375rem 1rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--ef-primary-darker);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 0;
    text-align: center;
}

.ef-ai-quick-prompt-chip:hover:not(:disabled)[b-l16guv2qn9] {
    background-color: var(--ef-bg-tertiary);
    border-color: var(--ef-primary);
    box-shadow: 0 2px 6px rgba(74, 158, 110, 0.15);
}

.ef-ai-quick-prompt-chip:focus[b-l16guv2qn9] {
    outline: 0.125rem solid var(--ef-primary);
    outline-offset: 0.125rem;
}

.ef-ai-quick-prompt-chip:disabled[b-l16guv2qn9] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Status Bar ─────────────────────────────────────────────────────── */

.ef-ai-status-bar[b-l16guv2qn9] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ef-text-secondary);
    padding: 0.3rem 0.75rem 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    opacity: 1;
    user-select: text;
    line-height: 1;
}

.ef-ai-status-group[b-l16guv2qn9] {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.ef-ai-status-item[b-l16guv2qn9] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.ef-ai-status-label[b-l16guv2qn9] {
    font-weight: 400;
    opacity: 0.7;
}

.ef-ai-status-value[b-l16guv2qn9] {
    font-weight: 600;
    color: var(--ef-text-secondary);
}

.ef-ai-status-sep[b-l16guv2qn9] {
    margin: 0 0.35rem;
    opacity: 0.35;
    font-weight: 300;
}

.ef-ai-status-button[b-l16guv2qn9] {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    line-height: inherit;
}

.ef-ai-status-button:hover[b-l16guv2qn9] {
    color: var(--ef-primary);
}

.ef-ai-status-button:hover .ef-ai-status-value[b-l16guv2qn9] {
    color: var(--ef-primary);
}

/* ── Container Queries: medium (≤1199px) ────────────────────────────── */

@container (max-width: 1199px) {
    .ef-ai-command[b-l16guv2qn9] {
        border-radius: 1.25rem;
        padding: 0.375rem;
    }

    .ef-ai-command:has(.ef-card)[b-l16guv2qn9] {
        border-radius: 1.25rem;
    }

    .ef-ai-command-grid[b-l16guv2qn9] {
        grid-template-columns: 1fr auto;
        gap: 0.375rem;
    }

    .ef-ai-command-right-buttons[b-l16guv2qn9] {
        gap: 0.25rem;
    }

    .ef-ai-command-pill[b-l16guv2qn9] {
        padding: 0.4rem 0.75rem;
        gap: 0.375rem;
        border-radius: 1.875rem;
    }

    .ef-ai-command-icon-btn img[b-l16guv2qn9] {
        width: 1.375rem;
        height: 1.375rem;
    }

    .ef-ai-command-icon-btn[b-l16guv2qn9] {
        padding: 0.15rem;
        margin: 0.2rem;
    }

    [b-l16guv2qn9] .ai-command-input.dxbl-text-edit textarea {
        padding: 0.4rem 0.6rem;
    }

    [b-l16guv2qn9] .ai-command-input.dxbl-text-edit {
        --dxbl-text-edit-font-size: 0.9rem;
        --dxbl-text-edit-line-height: 1.35;
    }

    .ef-ai-command-action-btn[b-l16guv2qn9] {
        justify-content: center;
        white-space: nowrap;
        width: 8.75rem;
        font-size: 0.875rem;
        padding: 0.5rem 1rem;
    }

    .ef-ai-command-action-btn img[b-l16guv2qn9] {
        width: 1.25rem;
        height: 1.25rem;
    }

    .ef-ai-command-action-btn.cancel-mode img[b-l16guv2qn9] {
        width: 0.75rem;
        height: 0.75rem;
    }

    .ef-ai-command-action-area[b-l16guv2qn9] {
        gap: 0.5rem;
    }

    .ef-ai-quick-prompts[b-l16guv2qn9] {
        gap: 0.375rem;
        padding: 0.375rem 0.625rem 0.125rem 0.625rem;
    }

    .ef-ai-quick-prompt-chip[b-l16guv2qn9] {
        font-size: 0.75rem;
        padding: 0.25rem 0.75rem;
    }

    .ef-ai-status-bar[b-l16guv2qn9] {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem 0;
    }
}

/* ── Container Queries: extra-small (≤500px) ────────────────────────── */

@container (max-width: 500px) {
    .ef-ai-command[b-l16guv2qn9] {
        border-radius: 0.75rem;
        padding: 0.125rem;
    }

    .ef-ai-command-grid[b-l16guv2qn9] {
        grid-template-columns: 1fr auto;
        gap: 0.25rem;
    }

    .ef-ai-command-right-buttons[b-l16guv2qn9] {
        gap: 0.125rem;
    }

    .ef-ai-command-pill[b-l16guv2qn9] {
        padding: 0.15rem 0.35rem;
        gap: 0.125rem;
        border-radius: 1.25rem;
    }

    .ef-ai-command-icon-btn img[b-l16guv2qn9] {
        width: 0.875rem;
        height: 0.875rem;
    }

    .ef-ai-command-icon-btn[b-l16guv2qn9] {
        padding: 0.05rem;
        margin: 0.05rem;
    }

    [b-l16guv2qn9] .ai-command-input.dxbl-text-edit textarea {
        padding: 0.1rem 0.3rem;
        max-height: 5rem;
    }

    [b-l16guv2qn9] .ai-command-input.dxbl-text-edit {
        --dxbl-text-edit-font-size: 0.775rem;
        --dxbl-text-edit-line-height: 1.25;
    }

    .ef-ai-command-action-btn[b-l16guv2qn9] {
        justify-content: center;
        width: 2.625rem;
        padding: 0;
        border-radius: 50%;
        aspect-ratio: 1;
    }

    .ef-ai-command-action-btn span[b-l16guv2qn9] {
        display: none;
    }

    .ef-ai-command-action-btn img[b-l16guv2qn9] {
        width: 1.25rem;
        height: 1.25rem;
    }

    .ef-ai-command-action-btn.cancel-mode img[b-l16guv2qn9] {
        width: 0.75rem;
        height: 0.75rem;
    }

    .ef-ai-command-action-area[b-l16guv2qn9] {
        gap: 0.25rem;
    }

    .ef-ai-quick-prompts[b-l16guv2qn9] {
        gap: 0.1875rem;
        padding: 0.125rem 0.25rem 0.0625rem 0.25rem;
    }

    .ef-ai-quick-prompt-chip[b-l16guv2qn9] {
        font-size: 0.65rem;
        padding: 0.1rem 0.375rem;
    }

    .ef-ai-status-bar[b-l16guv2qn9] {
        font-size: 0.625rem;
        padding: 0.125rem 0.25rem 0;
    }
}

.ef-ai-chat-history[b-l16guv2qn9] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.75rem;
    max-height: 24rem;
    overflow-y: auto;
    border-radius: var(--ef-radius-xs);
    background-color: var(--ef-bg-secondary);
}

.ef-ai-chat-message[b-l16guv2qn9] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    max-width: 80%;
}

.ef-ai-chat-message--user[b-l16guv2qn9] {
    align-self: flex-end;
    background-color: var(--ef-primary);
    color: var(--ef-text-light);
}

.ef-ai-chat-message--ai[b-l16guv2qn9] {
    align-self: flex-start;
    background-color: var(--ef-bg-secondary);
    color: var(--ef-primary-darker);
}

.ef-ai-chat-message-label[b-l16guv2qn9] {
    font-size: 0.7rem;
    font-weight: 700;
    opacity: 0.8;
}

.ef-ai-chat-message-text[b-l16guv2qn9] {
    font-size: 0.85rem;
    line-height: 1.4;
}
/* /Components/Shared/EFCommandAiInput/EFCommandAiSettings.razor.rz.scp.css */
/* ── Container ──────────────────────────────────────────── */

.ef-ai-settings[b-7mukojirds] {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* ── Tab styling ───────────────────────────────────────── */

[b-7mukojirds] .ef-ai-settings-tabs {
    border-bottom: 2px solid var(--ef-border-light);
}

/* ── Tab content area ──────────────────────────────────── */

.ef-ai-tab-content[b-7mukojirds] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1rem 0.25rem 0.5rem;
}

/* ── Section blocks inside tabs ────────────────────────── */

.ef-ai-section[b-7mukojirds] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ef-ai-section-header[b-7mukojirds] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    font-size: var(--font-size-medium);
    color: var(--ef-text-primary);
    padding-bottom: 0.375rem;
    border-bottom: 1px solid var(--ef-border-medium);
}

.ef-ai-section-header i[b-7mukojirds] {
    color: var(--ef-primary);
    font-size: 1.05rem;
}

/* ── Hint text ─────────────────────────────────────────── */

.ef-ai-hint[b-7mukojirds] {
    font-size: var(--font-size-small);
    color: var(--ef-text-secondary);
    margin: 0;
}

/* ── Form grid for "Allgemein" tab ─────────────────────── */

.ef-ai-form-grid[b-7mukojirds] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ef-ai-form-row[b-7mukojirds] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ef-ai-form-row--inline[b-7mukojirds] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.5rem;
}

.ef-ai-form-row--checks[b-7mukojirds] {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

/* ── Meta grid for "Vorschau" tab ──────────────────────── */

.ef-ai-meta-grid[b-7mukojirds] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.5rem 1.5rem;
}

.ef-ai-meta-item[b-7mukojirds] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0.75rem;
    background: var(--ef-bg-secondary);
    border-radius: var(--ef-radius-sm);
    border: 1px solid var(--ef-border-medium);
}

.ef-ai-meta-label[b-7mukojirds] {
    font-size: var(--font-size-small);
    font-weight: 500;
    color: var(--ef-text-secondary);
}

.ef-ai-meta-value[b-7mukojirds] {
    font-size: var(--font-size-small);
    font-weight: 600;
    color: var(--ef-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ef-ai-meta-value--wrap[b-7mukojirds] {
    white-space: normal;
    word-break: break-word;
}

/* ── Footer / action bar ───────────────────────────────── */

.ef-ai-footer[b-7mukojirds] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.75rem;
    margin-top: 0.5rem;
    border-top: 1px solid var(--ef-border-light);
}

.ef-ai-footer-warning[b-7mukojirds] {
    font-size: var(--font-size-small);
    color: var(--ef-primary);
    font-weight: 500;
}

/* ── ComboBox width constraint ─────────────────────────── */

[b-7mukojirds] .ef-combobox {
    max-width: 12.5rem;
}

/* ── Reduce spacing around the action buttons ──────────── */

[b-7mukojirds] .ef-actionbar {
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
}
/* /Components/Shared/EFCompanyLogo.razor.rz.scp.css */
.company-logo[b-3rt2kswqu5] {
    background-color: var(--ef-primary);
    border-radius: var(--ef-radius-lg);
    width: 100%;
}

.ef-logo-version[b-3rt2kswqu5] {
    color: white;
    font-size: 0.7rem;
    text-align: right;
    padding: 0 0.5rem 0.25rem 0;
    line-height: 1;
}
