/*
 * Minimaler Reset. Das eigentliche Look-and-Feel liefert das
 * DevExpress Fluent-Theme (fluent.bs5.min.css). Keine Farben,
 * keine eigenen Tokens hier - siehe CENTER_WEB_APP.md Section 1a.
 */

/* ===========================================================
 * Typography: Inter Variable as the primary typeface for the
 * whole app. The DevExpress Fluent theme defaults to "Segoe UI"
 * from 2006, which falls back to a different font per OS and
 * doesn't match modern web UI. Inter ships as a single variable
 * font file (all weights 100-900) with SIL OFL licensing.
 * Documented as an explicit brand override in
 * CENTER_WEB_APP.md §1a.1.
 * =========================================================== */

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("fonts/InterVariable.woff2") format("woff2-variations");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url("fonts/InterVariable-Italic.woff2") format("woff2-variations");
}

/* Figtree Variable (SIL OFL) - the app typeface. Split into latin and
   latin-ext subsets via unicode-range so Eastern-European glyphs (ł, č,
   ő, ...) render while the browser only downloads the small latin file
   for common text. Revert to Inter by pointing the font-family stacks
   below back at "Inter". */
@font-face {
    font-family: "Figtree";
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url("fonts/FigtreeVariable.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Figtree";
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url("fonts/FigtreeVariable-ext.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Figtree";
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url("fonts/FigtreeVariable-Italic.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Figtree";
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url("fonts/FigtreeVariable-ext-Italic.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Override the DevExpress Fluent font-family token. Because every DX
   component reads --dxds-font-family-sans-serif, this one line swaps
   Segoe UI for Inter across the whole app without touching individual
   components. */
:root {
    --dxds-font-family-sans-serif:
        "Figtree",
        -apple-system, BlinkMacSystemFont,
        "Segoe UI", "Helvetica Neue", Helvetica,
        Arial, sans-serif;

    /* Compact (SizeMode.Small) readability bump. Nearly every DevExpress
       *-font-size-s token (buttons, editors, form layout, toolbar, grid,
       tabs, context menus, ...) resolves to this single base token, so
       raising it here enlarges the whole app's compact text in one place
       without leaving SizeMode.Small. Theme default is 0.75rem (~10.5px at
       our 14px root); +~1pt -> 0.85rem (~11.9px). */
    --dxds-font-size-base-sm: 0.85rem;
}

html, body {
    /* !important guards against the DevExpress Fluent theme or any
       third-party CSS later in the cascade adding back a default
       padding/margin on body. The shell must start flush against
       the viewport edges or we get the grey outer ring. */
    margin: 0 !important;
    padding: 0 !important;
    height: 100%;
    width: 100%;
    overflow: hidden;
    /* Also set the primary font-family directly so non-DX markup
       (our own Razor/CSS) inherits the app typeface too. */
    font-family:
        "Figtree",
        -apple-system, BlinkMacSystemFont,
        "Segoe UI", "Helvetica Neue", Helvetica,
        Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    /* Generic OpenType features (typeface-agnostic):
         calt: contextual alternates (better ligature shaping)
         liga: standard ligatures (fi, fl, ...)
       Plus the usual smoothing hints for Retina / high-DPI screens. */
    font-feature-settings: "calt", "liga";
    -webkit-font-feature-settings: "calt", "liga";
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.blazor-error-boundary {
    padding: 1rem;
    margin: 1rem;
}

.blazor-error-boundary::after {
    content: "Es ist ein Fehler aufgetreten.";
}

#blazor-error-ui {
    bottom: 0;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

/* ===========================================================
 * Login page - global DevExpress overrides.
 * Must live in app.css (not Login.razor.css) because Blazor's
 * scoped-CSS attribute is NOT applied to markup rendered by
 * DevExpress components; we target them through their public
 * CssClass hook instead. Rationale: CENTER_WEB_APP.md §1a.2.
 *
 * IMPORTANT: We deliberately DO NOT override input heights, padding,
 * border-radius, or font sizes. The Fluent theme's defaults are the
 * reference look; customizing them here would break the §1a promise
 * of minimal customization. Only full-width + a subtle brand shadow
 * on the primary submit, and the "Passwort vergessen?" red link.
 * =========================================================== */

/* Primary "Anmelden" button: full width + subtle brand shadow */
.login-card__submit.dxbl-btn,
.login-card__submit .dxbl-btn {
    width: 100%;
    box-shadow: 0 6px 16px rgba(183, 14, 12, 0.18);
    transition: box-shadow 0.15s ease, transform 0.08s ease;
}

.login-card__submit.dxbl-btn:hover,
.login-card__submit .dxbl-btn:hover {
    box-shadow: 0 10px 22px rgba(183, 14, 12, 0.26);
    transform: translateY(-1px);
}

/* SSO buttons: full width, otherwise Fluent default */
.login-card__sso-button,
.login-card__sso-button .dxbl-btn {
    width: 100%;
}

/* ===========================================================
 * Main shell - TreeView.
 * DevExpress' built-in node selection is disabled (see
 * NavMenu.razor, AllowSelectNodes=false). The active node is
 * highlighted purely via our own .center-nav-row--active
 * selector in NavMenu.razor.css. Nothing to override here.
 * =========================================================== */

/* ===========================================================
 * Ribbon / toolbar icons - IconExperience I-Collection (Plain).
 *
 * DevExpress' DxButton / DxRibbonItem only accept a CSS class
 * for their icon (no IconUrl or IconTemplate). We therefore
 * expose every IconExperience glyph as a .gnt-ri-* class.
 *
 * We use the MONOCHROME I-Collection (not the colorful
 * G-Collection) for toolbar chrome because:
 *   - it matches DX' own icons which are all monochrome, so the
 *     ribbon stays visually coherent;
 *   - rendering via CSS mask-image lets the icon pick up the
 *     button's text color automatically - white on Primary,
 *     dark gray on Secondary/Text, red on hover of a danger
 *     action, etc. No per-state overrides needed.
 *
 * The G-Collection Gradient (colorful) stays in use for the
 * nav tree, dashboard widgets and other "content" icons via
 * the <GntIcon /> component; the two collections do not mix.
 *
 * Usage:
 *   <DxButton IconCssClass="gnt-ri gnt-ri-refresh" ... />
 *
 * Icon source: _content/GNT.Center.Web.Shared/icons/i-collection/plain/<name>.svg
 * =========================================================== */

.gnt-ri {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* 16 px is DevExpress' Fluent Small-button icon size - keeps our
       IconExperience glyphs visually aligned with the built-in DX
       icons (e.g. the clear button inside DxTextBox). In ribbon/
       toolbar contexts DX sets --dxbl-image-width; we respect it if
       present and fall back to 16. */
    width: var(--dxbl-image-width, 16px);
    height: var(--dxbl-image-height, 16px);
    line-height: 0;
}

/* Color-adaptive rendering: the SVG is applied as a mask on a
   currentColor-filled box, so the glyph automatically picks up the
   button's text color (white on Primary, dark gray on Secondary/Text,
   etc.). Both std + webkit prefixed variants for broad support. */
.gnt-ri::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

/* Individual icon mask definitions. The class name mirrors the
   GntIcons.* constant so RibbonHost can build it as
   "gnt-ri gnt-ri-@item.Icon" at runtime. */
.gnt-ri-refresh::before            { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/refresh.svg");            -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/refresh.svg"); }
.gnt-ri-printer::before            { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/printer.svg");            -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/printer.svg"); }
.gnt-ri-information::before        { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/information.svg");        -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/information.svg"); }
.gnt-ri-plus::before               { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/plus.svg");               -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/plus.svg"); }
.gnt-ri-navigate_plus::before      { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/navigate_plus.svg");      -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/navigate_plus.svg"); }
.gnt-ri-add::before                { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/add.svg");                -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/add.svg"); }
.gnt-ri-pencil::before             { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/pencil.svg");             -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/pencil.svg"); }
.gnt-ri-edit::before               { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/edit.svg");               -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/edit.svg"); }
.gnt-ri-delete::before             { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/delete.svg");             -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/delete.svg"); }
.gnt-ri-close::before              { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/close.svg");              -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/close.svg"); }
.gnt-ri-check::before              { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/check.svg");              -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/check.svg"); }
.gnt-ri-data_floppy_disk::before   { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/data_floppy_disk.svg");   -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/data_floppy_disk.svg"); }
.gnt-ri-download::before           { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/download.svg");           -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/download.svg"); }
.gnt-ri-upload::before             { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/upload.svg");             -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/upload.svg"); }
.gnt-ri-magnifying_glass::before   { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/magnifying_glass.svg");   -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/magnifying_glass.svg"); }
.gnt-ri-funnel::before             { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/funnel.svg");             -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/funnel.svg"); }
.gnt-ri-sort_ascending::before     { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/sort_ascending.svg");     -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/sort_ascending.svg"); }
.gnt-ri-sort_descending::before    { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/sort_descending.svg");    -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/sort_descending.svg"); }
.gnt-ri-eye::before                { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/eye.svg");                -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/eye.svg"); }
.gnt-ri-arrow_up::before           { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/arrow_up.svg");           -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/arrow_up.svg"); }
.gnt-ri-arrow_down::before         { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/arrow_down.svg");         -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/arrow_down.svg"); }
.gnt-ri-arrow_left::before         { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/arrow_left.svg");         -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/arrow_left.svg"); }
.gnt-ri-gearwheel::before          { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/gearwheel.svg");          -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/gearwheel.svg"); }
.gnt-ri-presentation_chart::before { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/presentation_chart.svg"); -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/presentation_chart.svg"); }
.gnt-ri-chart_bar::before          { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/chart_bar.svg");          -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/chart_bar.svg"); }
.gnt-ri-document_empty::before     { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/document_empty.svg");     -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/document_empty.svg"); }
.gnt-ri-question::before           { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/question.svg");           -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/question.svg"); }
.gnt-ri-window_sidebar::before     { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/window_sidebar.svg");     -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/window_sidebar.svg"); }
.gnt-ri-box_closed::before         { mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/box_closed.svg");         -webkit-mask-image: url("/_content/GNT.Center.Web.Shared/icons/i-collection/plain/box_closed.svg"); }

/* ===========================================================
 * Full-colour glyphs - O-Collection / Office (default) and
 * G-Collection / Gradient (comparison). Selected via
 * html[data-gnt-icons="o"|"g"] (IconCollectionService +
 * Ctrl+Alt+I). Export badges below stay collection-agnostic.
 * =========================================================== */
.gnt-gi {
    display: inline-block;
    /* Respect the DevExpress button/menu icon size var when hosted inside a
       DxButton / DxContextMenuItem (--dxbl-image-width), fall back to 16 px
       for standalone use (nav tree, layout structure editor). */
    width: var(--dxbl-image-width, 16px);
    height: var(--dxbl-image-height, 16px);
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* IconExperience SVGs are authored at 1024px. Never let a FormLayout
   HeaderIconUrl / <img> render them at intrinsic size. */
.dxbl-fl-group-header img,
.dxbl-fl-tab-header img {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px;
    max-height: 16px;
}

/* Default / O-Collection Office */
html:not([data-gnt-icons="g"]) .gnt-gi-element,
html[data-gnt-icons="o"] .gnt-gi-element { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/element.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-window_split_hor,
html[data-gnt-icons="o"] .gnt-gi-window_split_hor { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/window_split_hor.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-window_split_ver,
html[data-gnt-icons="o"] .gnt-gi-window_split_ver { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/window_split_ver.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-tab_pane,
html[data-gnt-icons="o"] .gnt-gi-tab_pane { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/tab_pane.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-id_card,
html[data-gnt-icons="o"] .gnt-gi-id_card { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/id_card.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-users,
html[data-gnt-icons="o"] .gnt-gi-users { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/users.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-key,
html[data-gnt-icons="o"] .gnt-gi-key { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/key.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-history,
html[data-gnt-icons="o"] .gnt-gi-history { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/history.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-chuck,
html[data-gnt-icons="o"] .gnt-gi-chuck { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/chuck.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-halter-add,
html[data-gnt-icons="o"] .gnt-gi-halter-add { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/halter-add.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-geplante-auswertung-add,
html[data-gnt-icons="o"] .gnt-gi-geplante-auswertung-add { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/geplante-auswertung-add.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-geplante-auswertung-edit,
html[data-gnt-icons="o"] .gnt-gi-geplante-auswertung-edit { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/geplante-auswertung-edit.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-geplante-auswertung-delete,
html[data-gnt-icons="o"] .gnt-gi-geplante-auswertung-delete { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/geplante-auswertung-delete.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-geplante-auswertung-contract,
html[data-gnt-icons="o"] .gnt-gi-geplante-auswertung-contract { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/geplante-auswertung-contract.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-geplante-auswertung-contract-clock,
html[data-gnt-icons="o"] .gnt-gi-geplante-auswertung-contract-clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/geplante-auswertung-contract-clock.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-cashier,
html[data-gnt-icons="o"] .gnt-gi-cashier { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/cashier.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-industrial_machine,
html[data-gnt-icons="o"] .gnt-gi-industrial_machine { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/industrial_machine.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-window_gear,
html[data-gnt-icons="o"] .gnt-gi-window_gear { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/window_gear.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-arrow_circle,
html[data-gnt-icons="o"] .gnt-gi-arrow_circle { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/arrow_circle.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-refresh,
html[data-gnt-icons="o"] .gnt-gi-refresh { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/refresh.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-printer,
html[data-gnt-icons="o"] .gnt-gi-printer { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/printer.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-information,
html[data-gnt-icons="o"] .gnt-gi-information { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/information.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-plus,
html[data-gnt-icons="o"] .gnt-gi-plus { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/plus.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-navigate_plus,
html[data-gnt-icons="o"] .gnt-gi-navigate_plus { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/navigate_plus.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-add,
html[data-gnt-icons="o"] .gnt-gi-add { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/add.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-pencil,
html[data-gnt-icons="o"] .gnt-gi-pencil { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/pencil.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-edit,
html[data-gnt-icons="o"] .gnt-gi-edit { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/edit.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-delete,
html[data-gnt-icons="o"] .gnt-gi-delete { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/delete.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-close,
html[data-gnt-icons="o"] .gnt-gi-close { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/close.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-check,
html[data-gnt-icons="o"] .gnt-gi-check { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/check.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-floppy_disk,
html[data-gnt-icons="o"] .gnt-gi-floppy_disk { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/floppy_disk.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-floppy_disk_new,
html[data-gnt-icons="o"] .gnt-gi-floppy_disk_new { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/floppy_disk_new.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-floppy_disk_close,
html[data-gnt-icons="o"] .gnt-gi-floppy_disk_close { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/floppy_disk_close.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-copy,
html[data-gnt-icons="o"] .gnt-gi-copy { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/copy.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-garbage,
html[data-gnt-icons="o"] .gnt-gi-garbage { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/garbage.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-clipboard,
html[data-gnt-icons="o"] .gnt-gi-clipboard { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/clipboard.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-clipboard_checks,
html[data-gnt-icons="o"] .gnt-gi-clipboard_checks { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/clipboard_checks.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-download,
html[data-gnt-icons="o"] .gnt-gi-download { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/download.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-upload,
html[data-gnt-icons="o"] .gnt-gi-upload { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/upload.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-import,
html[data-gnt-icons="o"] .gnt-gi-import { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/import.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-export,
html[data-gnt-icons="o"] .gnt-gi-export { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/export.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-magnifying_glass,
html[data-gnt-icons="o"] .gnt-gi-magnifying_glass { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/magnifying_glass.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-funnel,
html[data-gnt-icons="o"] .gnt-gi-funnel { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/funnel.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-eye,
html[data-gnt-icons="o"] .gnt-gi-eye { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/eye.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-arrow_left,
html[data-gnt-icons="o"] .gnt-gi-arrow_left { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/arrow_left.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-arrow_right,
html[data-gnt-icons="o"] .gnt-gi-arrow_right { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/arrow_right.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-navigate_left,
html[data-gnt-icons="o"] .gnt-gi-navigate_left { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/navigate_left.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-navigate_right,
html[data-gnt-icons="o"] .gnt-gi-navigate_right { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/navigate_right.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-brain_clipboard,
html[data-gnt-icons="o"] .gnt-gi-brain_clipboard { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/brain_clipboard.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-arrow_down,
html[data-gnt-icons="o"] .gnt-gi-arrow_down { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/arrow_down.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-arrow_up,
html[data-gnt-icons="o"] .gnt-gi-arrow_up { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/arrow_up.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-eye_blind,
html[data-gnt-icons="o"] .gnt-gi-eye_blind { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/eye_blind.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-fit_to_width,
html[data-gnt-icons="o"] .gnt-gi-fit_to_width { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/fit_to_width.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-window_width,
html[data-gnt-icons="o"] .gnt-gi-window_width { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/window_width.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-radio_button_group,
html[data-gnt-icons="o"] .gnt-gi-radio_button_group { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/radio_button_group.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-objects_transform,
html[data-gnt-icons="o"] .gnt-gi-objects_transform { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/objects_transform.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-object_alignment_horizontal,
html[data-gnt-icons="o"] .gnt-gi-object_alignment_horizontal { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/object_alignment_horizontal.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-sign_warning,
html[data-gnt-icons="o"] .gnt-gi-sign_warning { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/sign_warning.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-gearwheel,
html[data-gnt-icons="o"] .gnt-gi-gearwheel { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/gearwheel.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-window_sidebar,
html[data-gnt-icons="o"] .gnt-gi-window_sidebar { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/window_sidebar.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-lock,
html[data-gnt-icons="o"] .gnt-gi-lock { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/lock.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-magic_wand,
html[data-gnt-icons="o"] .gnt-gi-magic_wand { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/magic_wand.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-document_empty,
html[data-gnt-icons="o"] .gnt-gi-document_empty { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/document_empty.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-document_check_edit,
html[data-gnt-icons="o"] .gnt-gi-document_check_edit { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/document_check_edit.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-package,
html[data-gnt-icons="o"] .gnt-gi-package { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/package.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-box_open,
html[data-gnt-icons="o"] .gnt-gi-box_open { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/box_open.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-folder,
html[data-gnt-icons="o"] .gnt-gi-folder { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/folder.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-folders,
html[data-gnt-icons="o"] .gnt-gi-folders { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/folders.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-wrench,
html[data-gnt-icons="o"] .gnt-gi-wrench { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/wrench.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-book,
html[data-gnt-icons="o"] .gnt-gi-book { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/book.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-article_list,
html[data-gnt-icons="o"] .gnt-gi-article_list { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/article_list.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-calendar_clock,
html[data-gnt-icons="o"] .gnt-gi-calendar_clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/calendar_clock.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-calendar,
html[data-gnt-icons="o"] .gnt-gi-calendar { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/calendar.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-server_mail,
html[data-gnt-icons="o"] .gnt-gi-server_mail { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/server_mail.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-money,
html[data-gnt-icons="o"] .gnt-gi-money { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/money.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-folder_document,
html[data-gnt-icons="o"] .gnt-gi-folder_document { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/folder_document.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-home,
html[data-gnt-icons="o"] .gnt-gi-home { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/home.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-factory,
html[data-gnt-icons="o"] .gnt-gi-factory { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/factory.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-caliper,
html[data-gnt-icons="o"] .gnt-gi-caliper { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/caliper.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-invoice_euro,
html[data-gnt-icons="o"] .gnt-gi-invoice_euro { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/invoice_euro.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-bank_building,
html[data-gnt-icons="o"] .gnt-gi-bank_building { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/bank_building.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-truck2,
html[data-gnt-icons="o"] .gnt-gi-truck2 { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/truck2.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-clock,
html[data-gnt-icons="o"] .gnt-gi-clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/clock.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-clock_back,
html[data-gnt-icons="o"] .gnt-gi-clock_back { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/clock_back.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-gauge,
html[data-gnt-icons="o"] .gnt-gi-gauge { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/gauge.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-symbol_percent,
html[data-gnt-icons="o"] .gnt-gi-symbol_percent { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/symbol_percent.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-purchase_order,
html[data-gnt-icons="o"] .gnt-gi-purchase_order { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/purchase_order.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-businesspeople,
html[data-gnt-icons="o"] .gnt-gi-businesspeople { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/businesspeople.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-sort_ascending,
html[data-gnt-icons="o"] .gnt-gi-sort_ascending { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/sort_ascending.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-sort_descending,
html[data-gnt-icons="o"] .gnt-gi-sort_descending { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/sort_descending.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-elements_tree,
html[data-gnt-icons="o"] .gnt-gi-elements_tree { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/elements_tree.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-warehouse,
html[data-gnt-icons="o"] .gnt-gi-warehouse { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/warehouse.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-earth_location,
html[data-gnt-icons="o"] .gnt-gi-earth_location { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/earth_location.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-monitor_touch,
html[data-gnt-icons="o"] .gnt-gi-monitor_touch { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/monitor_touch.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-monitor,
html[data-gnt-icons="o"] .gnt-gi-monitor { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/monitor.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-cabinet,
html[data-gnt-icons="o"] .gnt-gi-cabinet { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/cabinet.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-parts_list,
html[data-gnt-icons="o"] .gnt-gi-parts_list { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/parts_list.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-box_closed,
html[data-gnt-icons="o"] .gnt-gi-box_closed { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/box_closed.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-tool_assembly,
html[data-gnt-icons="o"] .gnt-gi-tool_assembly { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/tool_assembly.svg"); }
/* Same red G-collection glyph as tree groups (imageid 86). GntNavIcon always
   uses the gradient pool; O-collection toolbox.svg is yellow and must not be used. */
html:not([data-gnt-icons="g"]) .gnt-gi-toolbox,
html[data-gnt-icons="o"] .gnt-gi-toolbox { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/toolbox.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-tools,
html[data-gnt-icons="o"] .gnt-gi-tools { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/tools.svg"); }
html:not([data-gnt-icons="g"]) .gnt-gi-chart_area,
html[data-gnt-icons="o"] .gnt-gi-chart_area { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/chart_area.svg"); }
/* Legacy overview tab class before chart_area was registered. */
html:not([data-gnt-icons="g"]) .gnt-gi-chart,
html[data-gnt-icons="o"] .gnt-gi-chart { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/chart_area.svg"); }

/* G-Collection Gradient (comparison) */
html:not([data-gnt-icons="g"]) .gnt-gi-passport,
html[data-gnt-icons="o"] .gnt-gi-passport { background-image: url("/_content/GNT.Center.Web.Shared/icons/o-collection/office/passport.svg"); }
html[data-gnt-icons="g"] .gnt-gi-passport { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/passport.svg"); }

html[data-gnt-icons="g"] .gnt-gi-element { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/element.svg"); }
html[data-gnt-icons="g"] .gnt-gi-window_split_hor { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/window_split_hor.svg"); }
html[data-gnt-icons="g"] .gnt-gi-window_split_ver { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/window_split_ver.svg"); }
html[data-gnt-icons="g"] .gnt-gi-tab_pane { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/tab_pane.svg"); }
html[data-gnt-icons="g"] .gnt-gi-id_card { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/id_card.svg"); }
html[data-gnt-icons="g"] .gnt-gi-users { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/users.svg"); }
html[data-gnt-icons="g"] .gnt-gi-key { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/key.svg"); }
html[data-gnt-icons="g"] .gnt-gi-history { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/history.svg"); }
html[data-gnt-icons="g"] .gnt-gi-chuck { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/chuck.svg"); }
html[data-gnt-icons="g"] .gnt-gi-halter-add { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/halter-add.svg"); }
html[data-gnt-icons="g"] .gnt-gi-geplante-auswertung-add { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/geplante-auswertung-add.svg"); }
html[data-gnt-icons="g"] .gnt-gi-geplante-auswertung-edit { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/geplante-auswertung-edit.svg"); }
html[data-gnt-icons="g"] .gnt-gi-geplante-auswertung-delete { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/geplante-auswertung-delete.svg"); }
html[data-gnt-icons="g"] .gnt-gi-geplante-auswertung-contract { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/geplante-auswertung-contract.svg"); }
html[data-gnt-icons="g"] .gnt-gi-geplante-auswertung-contract-clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/geplante-auswertung-contract-clock.svg"); }
html[data-gnt-icons="g"] .gnt-gi-cashier { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/cashier.svg"); }
html[data-gnt-icons="g"] .gnt-gi-industrial_machine { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/industrial_machine.svg"); }
html[data-gnt-icons="g"] .gnt-gi-window_gear { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/window_gear.svg"); }
html[data-gnt-icons="g"] .gnt-gi-arrow_circle { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/arrow_circle.svg"); }
html[data-gnt-icons="g"] .gnt-gi-refresh { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/refresh.svg"); }
html[data-gnt-icons="g"] .gnt-gi-printer { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/printer.svg"); }
html[data-gnt-icons="g"] .gnt-gi-information { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/information.svg"); }
html[data-gnt-icons="g"] .gnt-gi-plus { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/plus.svg"); }
html[data-gnt-icons="g"] .gnt-gi-navigate_plus { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/navigate_plus.svg"); }
html[data-gnt-icons="g"] .gnt-gi-add { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/add.svg"); }
html[data-gnt-icons="g"] .gnt-gi-pencil { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/pencil.svg"); }
html[data-gnt-icons="g"] .gnt-gi-edit { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/edit.svg"); }
html[data-gnt-icons="g"] .gnt-gi-delete { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/delete.svg"); }
html[data-gnt-icons="g"] .gnt-gi-close { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/close.svg"); }
html[data-gnt-icons="g"] .gnt-gi-check { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/check.svg"); }
html[data-gnt-icons="g"] .gnt-gi-floppy_disk { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/floppy_disk.svg"); }
html[data-gnt-icons="g"] .gnt-gi-floppy_disk_new { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/floppy_disk_new.svg"); }
html[data-gnt-icons="g"] .gnt-gi-floppy_disk_close { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/floppy_disk_close.svg"); }
html[data-gnt-icons="g"] .gnt-gi-copy { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/copy.svg"); }
html[data-gnt-icons="g"] .gnt-gi-garbage { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/garbage.svg"); }
html[data-gnt-icons="g"] .gnt-gi-clipboard { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/clipboard.svg"); }
html[data-gnt-icons="g"] .gnt-gi-clipboard_checks { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/clipboard_checks.svg"); }
html[data-gnt-icons="g"] .gnt-gi-download { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/download.svg"); }
html[data-gnt-icons="g"] .gnt-gi-upload { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/upload.svg"); }
html[data-gnt-icons="g"] .gnt-gi-import { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/import.svg"); }
html[data-gnt-icons="g"] .gnt-gi-export { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/export.svg"); }
html[data-gnt-icons="g"] .gnt-gi-magnifying_glass { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/magnifying_glass.svg"); }
html[data-gnt-icons="g"] .gnt-gi-funnel { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/funnel.svg"); }
html[data-gnt-icons="g"] .gnt-gi-eye { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/eye.svg"); }
html[data-gnt-icons="g"] .gnt-gi-arrow_left { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/arrow_left.svg"); }
html[data-gnt-icons="g"] .gnt-gi-arrow_right { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/arrow_right.svg"); }
html[data-gnt-icons="g"] .gnt-gi-navigate_left { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/navigate_left.svg"); }
html[data-gnt-icons="g"] .gnt-gi-navigate_right { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/navigate_right.svg"); }
html[data-gnt-icons="g"] .gnt-gi-brain_clipboard { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/brain_clipboard.svg"); }
html[data-gnt-icons="g"] .gnt-gi-arrow_down { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/arrow_down.svg"); }
html[data-gnt-icons="g"] .gnt-gi-arrow_up { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/arrow_up.svg"); }
html[data-gnt-icons="g"] .gnt-gi-eye_blind { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/eye_blind.svg"); }
html[data-gnt-icons="g"] .gnt-gi-fit_to_width { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/fit_to_width.svg"); }
html[data-gnt-icons="g"] .gnt-gi-window_width { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/window_width.svg"); }
html[data-gnt-icons="g"] .gnt-gi-radio_button_group { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/radio_button_group.svg"); }
html[data-gnt-icons="g"] .gnt-gi-objects_transform { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/objects_transform.svg"); }
html[data-gnt-icons="g"] .gnt-gi-object_alignment_horizontal { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/object_alignment_horizontal.svg"); }
html[data-gnt-icons="g"] .gnt-gi-sign_warning { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/sign_warning.svg"); }
html[data-gnt-icons="g"] .gnt-gi-gearwheel { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/gearwheel.svg"); }
html[data-gnt-icons="g"] .gnt-gi-window_sidebar { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/window_sidebar.svg"); }
html[data-gnt-icons="g"] .gnt-gi-lock { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/lock.svg"); }
html[data-gnt-icons="g"] .gnt-gi-magic_wand { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/magic_wand.svg"); }
html[data-gnt-icons="g"] .gnt-gi-document_empty { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/document_empty.svg"); }
html[data-gnt-icons="g"] .gnt-gi-document_check_edit { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/document_check_edit.svg"); }
html[data-gnt-icons="g"] .gnt-gi-package { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/package.svg"); }
html[data-gnt-icons="g"] .gnt-gi-box_open { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/box_open.svg"); }
html[data-gnt-icons="g"] .gnt-gi-folder { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/folder.svg"); }
html[data-gnt-icons="g"] .gnt-gi-folders { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/folders.svg"); }
html[data-gnt-icons="g"] .gnt-gi-wrench { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/wrench.svg"); }
html[data-gnt-icons="g"] .gnt-gi-book { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/book.svg"); }
html[data-gnt-icons="g"] .gnt-gi-article_list { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/article_list.svg"); }
html[data-gnt-icons="g"] .gnt-gi-calendar_clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/calendar_clock.svg"); }
html[data-gnt-icons="g"] .gnt-gi-calendar { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/calendar.svg"); }
html[data-gnt-icons="g"] .gnt-gi-server_mail { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/server_mail.svg"); }
html[data-gnt-icons="g"] .gnt-gi-money { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/money.svg"); }
html[data-gnt-icons="g"] .gnt-gi-folder_document { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/folder_document.svg"); }
html[data-gnt-icons="g"] .gnt-gi-home { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/home.svg"); }
html[data-gnt-icons="g"] .gnt-gi-factory { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/factory.svg"); }
html[data-gnt-icons="g"] .gnt-gi-caliper { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/caliper.svg"); }
html[data-gnt-icons="g"] .gnt-gi-invoice_euro { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/invoice_euro.svg"); }
html[data-gnt-icons="g"] .gnt-gi-bank_building { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/bank_building.svg"); }
html[data-gnt-icons="g"] .gnt-gi-truck2 { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/truck2.svg"); }
html[data-gnt-icons="g"] .gnt-gi-clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/clock.svg"); }
html[data-gnt-icons="g"] .gnt-gi-clock_back { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/clock_back.svg"); }
html[data-gnt-icons="g"] .gnt-gi-gauge { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/gauge.svg"); }
html[data-gnt-icons="g"] .gnt-gi-symbol_percent { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/symbol_percent.svg"); }
html[data-gnt-icons="g"] .gnt-gi-purchase_order { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/purchase_order.svg"); }
html[data-gnt-icons="g"] .gnt-gi-businesspeople { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/businesspeople.svg"); }
html[data-gnt-icons="g"] .gnt-gi-sort_ascending { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/sort_ascending.svg"); }
html[data-gnt-icons="g"] .gnt-gi-sort_descending { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/sort_descending.svg"); }
html[data-gnt-icons="g"] .gnt-gi-elements_tree { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/elements_tree.svg"); }
html[data-gnt-icons="g"] .gnt-gi-warehouse { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/warehouse.svg"); }
html[data-gnt-icons="g"] .gnt-gi-earth_location { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/earth_location.svg"); }
html[data-gnt-icons="g"] .gnt-gi-monitor_touch { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/monitor_touch.svg"); }
html[data-gnt-icons="g"] .gnt-gi-monitor { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/monitor.svg"); }
html[data-gnt-icons="g"] .gnt-gi-cabinet { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/cabinet.svg"); }
html[data-gnt-icons="g"] .gnt-gi-parts_list { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/parts_list.svg"); }
html[data-gnt-icons="g"] .gnt-gi-box_closed { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/box_closed.svg"); }
html[data-gnt-icons="g"] .gnt-gi-tool_assembly { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/tool_assembly.svg"); }
html[data-gnt-icons="g"] .gnt-gi-toolbox { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/toolbox.svg"); }
html[data-gnt-icons="g"] .gnt-gi-tools { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/tools.svg"); }
html[data-gnt-icons="g"] .gnt-gi-chart_area { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/chart_area.svg"); }
html[data-gnt-icons="g"] .gnt-gi-chart { background-image: url("/_content/GNT.Center.Web.Shared/icons/g-collection/gradient/chart_area.svg"); }

/* Export file-format badges (XAF Blazor icons: green CSV/XLS/XLSX, red PDF).
   Reuse the .gnt-gi base (sizing + background rendering) so they line up
   with the other context-menu glyphs. */
.gnt-gi-export-csv  { background-image: url("/_content/GNT.Center.Web.Shared/icons/export/export-csv.svg?v=20260706h"); }
.gnt-gi-export-xls  { background-image: url("/_content/GNT.Center.Web.Shared/icons/export/export-xls.svg?v=20260706h"); }
.gnt-gi-export-xlsx { background-image: url("/_content/GNT.Center.Web.Shared/icons/export/export-xlsx.svg?v=20260706h"); }
.gnt-gi-export-pdf  { background-image: url("/_content/GNT.Center.Web.Shared/icons/export/export-pdf.svg?v=20260706h"); }

/* Artikelliste status icons (desktop icClipboards / clipboard_package_* Toolbox). */
.gnt-gi-clipboard_package        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/clipboard_package/clipboard_package.png"); }
.gnt-gi-clipboard_package_play   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/clipboard_package/clipboard_package_play.png"); }
.gnt-gi-clipboard_package_stop   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/clipboard_package/clipboard_package_stop.png"); }
.gnt-gi-clipboard_package_tool   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/clipboard_package/clipboard_package_tool.png"); }
.gnt-gi-clipboard_package_ok     { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/clipboard_package/clipboard_package_ok.png"); }
.gnt-gi-clipboard_package_right  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/clipboard_package/clipboard_package_right.png"); }

/* AMS list icons (desktop frmAMSListe icAMSListe / icAMSListeStatus / icWZStatus + ribbon composites). */
.gnt-gi-ams-add                    { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/ribbon_ams_add.png"); }
.holder-status-cell { display: inline-flex; align-items: center; justify-content: center; width: 100%; }
.holders-page, .holder-detail-view, .holder-editor-form-host { height: 100%; display: flex; flex-direction: column; min-height: 0; }
.holders-page__error, .holder-editor-form-host__error { color: var(--bs-danger); padding: 0.5rem 0; }
.holder-editor-form-host { max-width: 520px; padding-top: 0.25rem; }
.holder-editor-form ::deep .dxbl-fl-item-caption { min-width: 6.5rem; white-space: nowrap; }
.holder-editor-form ::deep .dxbl-fl-item-content { flex: 1 1 auto; min-width: 0; }
.holder-editor-form ::deep .holder-editor-form__artikel-combo,
.holder-editor-form ::deep .holder-editor-form__artikel-combo .dxbl-edit-dropdown,
.holder-editor-form ::deep .holder-editor-form__artikel-item .dxbl-text-edit { width: 100%; }
.holder-editor-form ::deep .holder-editor-form__laenge-spin,
.holder-editor-form ::deep .holder-editor-form__laenge-item .dxbl-spin-edit { max-width: 7.5rem; }
.holder-editor-dialog__footer { display: flex; justify-content: flex-end; gap: 0.5rem; }
.holder-mhx-article-lookup { width: 100%; }
.holder-mhx-article-lookup ::deep .holder-mhx-article-lookup__combo,
.holder-mhx-article-lookup ::deep .holder-mhx-article-lookup__combo .dxbl-edit-dropdown { width: 100%; }
.holder-mhx-article-lookup__dropdown { width: min(1200px, 96vw) !important; max-width: 96vw; }
.holder-mhx-article-lookup__popup {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(1200px, 96vw);
    height: min(800px, 70vh);
    padding: 0.5rem;
    box-sizing: border-box;
}
.holder-mhx-article-lookup__search-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.holder-mhx-article-lookup__search-row ::deep .holder-mhx-article-lookup__search { flex: 1 1 auto; }
.holder-mhx-article-lookup__grid-host {
    flex: 1 1 auto;
    min-height: 0;
}
.holder-mhx-article-lookup__grid-host ::deep .holder-mhx-article-lookup__grid,
.holder-mhx-article-lookup__grid-host ::deep .dxbl-grid { height: 100%; }
.holder-mhx-article-lookup__footer {
    display: flex;
    justify-content: flex-end;
}
.holder-mhx-article-lookup__display {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sonderbestellung-lookup { width: 100%; }
.sonderbestellung-lookup__dropdown { min-width: 700px !important; }
.ga-report-lookup__dropdown {
    width: min(800px, 94vw) !important;
    min-width: min(800px, 94vw) !important;
    max-width: 94vw;
    height: auto !important;
    max-height: min(470px, 75vh) !important;
    overflow: visible !important;
    padding: 0 !important;
}
.ga-report-lookup__dropdown .dxbl-dropdown-body,
.ga-report-lookup__dropdown .dxbl-popup-content {
    overflow: visible !important;
}
.sonderbestellung-lookup__dropdown--order {
    width: min(1500px, 96vw) !important;
    min-width: min(1500px, 96vw) !important;
    max-width: 96vw;
    height: auto !important;
    max-height: min(520px, 70vh) !important;
    overflow: hidden;
}
.sonderbestellung-lookup__dropdown--article {
    width: min(940px, 92vw) !important;
    min-width: min(700px, 92vw) !important;
    max-width: 92vw;
    height: auto !important;
    max-height: min(420px, 60vh) !important;
    overflow: hidden;
}
.sonderbestellung-lookup__popup--order {
    display: flex;
    flex-direction: column;
    width: min(1500px, 96vw);
    height: min(500px, 68vh);
    max-height: min(500px, 68vh);
    overflow: hidden;
    box-sizing: border-box;
}
.sonderbestellung-lookup__popup--article {
    display: flex;
    flex-direction: column;
    width: min(940px, 92vw);
    height: min(380px, 58vh);
    max-height: min(380px, 58vh);
    overflow: hidden;
    box-sizing: border-box;
}
.sonderbestellung-lookup__popup--order .sonderbestellung-lookup__search-row,
.sonderbestellung-lookup__popup--article .sonderbestellung-lookup__search-row {
    flex: 0 0 auto;
}
.sonderbestellung-lookup__popup--order .sonderbestellung-lookup__footer,
.sonderbestellung-lookup__popup--article .sonderbestellung-lookup__footer {
    flex: 0 0 auto;
}
.sonderbestellung-lookup__grid-host {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}
.sonderbestellung-lookup__popup--article .sonderbestellung-lookup__grid-host .sonderbestellung-lookup__article-grid {
    width: max-content;
    max-width: 100%;
}
.sonderbestellung-lookup__grid-host .sonderbestellung-lookup__order-grid,
.sonderbestellung-lookup__grid-host .dxbl-grid {
    height: 100%;
}
.sonderbestellung-lookup__popup {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
    box-sizing: border-box;
}
.sonderbestellung-lookup__search-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
}
.sonderbestellung-lookup__search-row .sonderbestellung-lookup__search {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: none;
}
.sonderbestellung-lookup__search-row .dxbl-btn {
    flex: 0 0 auto;
}
.sonderbestellung-lookup__footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.25rem;
    border-top: 1px solid var(--gnt-border, #d0d5dd);
}
.sonderbestellung-lookup__icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
}
.sonderbestellung-lookup--inline .dxbl-text-edit {
    min-height: 1.75rem;
}
.gnt-gi-ams-ribbon-refresh         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/ribbon_refresh.png"); }
.gnt-gi-ams-filter-neu             { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_neu.png"); }
.gnt-gi-ams-filter-positioniert   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_positioniert.png"); }
.gnt-gi-ams-filter-freigegeben     { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_freigegeben.png"); }
.gnt-gi-ams-filter-uebertragen     { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_uebertragen.png"); }
.gnt-gi-ams-filter-abgeschlossen  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_abgeschlossen.png"); }
.gnt-gi-ams-filter-gesperrt        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_gesperrt.png"); }
.gnt-gi-ams-filter-toolbreak       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/filter_toolbreak.png"); }
.gnt-gi-ams-trafficlight-red      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/trafficlight_red.png"); }
.gnt-gi-ams-context-edit           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/context_edit.png"); }
.gnt-gi-ams-context-merge          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/context_merge.png"); }
.gnt-gi-ams-context-delete         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/context_delete.png"); }
.gnt-gi-ams-context-gesperrt       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/context_gesperrt.png"); }
.gnt-gi-ams-context-reset          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/context_reset.png"); }
.gnt-gi-ams-trafficlight-yellow { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/trafficlight_yellow.png"); }
.gnt-gi-ams-trafficlight-green  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/trafficlight_green.png"); }
.gnt-gi-ams-arrow-down-red       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/arrow_down_red.png"); }
.gnt-gi-ams-check                { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/check.png"); }
.gnt-gi-ams-sign-forbidden       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/sign_forbidden.png"); }
.gnt-gi-ams-crack                { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/crack_16.png"); }
.gnt-gi-ams-code                 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/code_16.png"); }
.gnt-gi-ams-package              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/package_16.png"); }
.gnt-gi-ams-package-shortcut     { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/package_shortcut_16.png"); }
.gnt-gi-ams-wooden-pallet        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/wooden_pallet_16.png"); }
.gnt-gi-ams-wooden-pallet-pause  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/wooden_pallet_pause_16.png"); }
.gnt-gi-ams-location-pin         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/location_pin_16.png"); }
.gnt-gi-ams-wooden-pallet-type   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/wooden_pallet_type_16.png"); }

/* Paletten module (desktop frmPaletten toolbox parity). */
.gnt-gi-wooden-pallet             { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/paletten/wooden_pallet_16.png"); }
.gnt-gi-wooden-pallet-manual      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/paletten/wooden_pallet_manual_16.png"); }
.gnt-gi-wooden-pallet-add         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/paletten/wooden_pallet_add_32.png"); }
.gnt-gi-wooden-pallet-type-add    { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/paletten/wooden_pallet_type_add_32.png"); }

/* Bestellscheine module (desktop frmBestellscheine toolbox parity). */
.gnt-gi-bs-flag-red              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_red_16.png"); }
.gnt-gi-bs-flag-yellow           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_yellow_16.png"); }
.gnt-gi-bs-flag-green            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_green_16.png"); }
.gnt-gi-bs-flag-blue             { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_blue_16.png"); }
.gnt-gi-bs-flag-black            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_black_16.png"); }
.gnt-gi-bs-pencil                { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/pencil_16.png"); }
.gnt-gi-bs-po-special            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/purchase_order_special_16.png"); }
.gnt-gi-bs-printer               { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/printer_16.png"); }
.gnt-gi-bs-purchase-order        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/purchase_order_16.png"); }
.gnt-gi-bs-book                  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/book_16.png"); }
.gnt-gi-bs-package               { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/package_16.png"); }
.gnt-gi-bs-add                   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/add_16.png"); }
.gnt-gi-bs-delete                { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/delete_16.png"); }
.gnt-gi-bs-copy                  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/copy_16.png"); }
.gnt-gi-bs-paste                 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/clipboard_paste_16.png"); }
.gnt-gi-bs-arrow-up              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/arrow_up_16.png"); }
.gnt-gi-bs-arrow-down            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/arrow_down_16.png"); }
.gnt-gi-bs-ok                    { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/ok_16.png"); }
.gnt-gi-bs-step                  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/step_16.png"); }
.gnt-gi-bs-inbox-into           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/inbox_into_16.png"); }
.gnt-gi-bs-calendar-01         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/calendar_01_16.png"); }
.gnt-gi-bs-main-stock-location  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/main_stock_location_16.png"); }

.gnt-gi-ir-invoice-add           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/invoice_add_32.png"); }
.gnt-gi-ir-cloud-upload-ribbon  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/cloud_upload_32.png"); }
.gnt-gi-ir-cloud-upload         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/cloud_upload_16.png"); }
.gnt-gi-ir-cashier              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/cashier_16.png"); }
.gnt-gi-ir-book                 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/book_16.png"); }
.gnt-gi-ir-invoice-delete       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/invoice_delete_16.png"); }
.gnt-gi-ir-printer              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/interne-rechnung/printer_16.png"); }

.gnt-gi-auf-not-released         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_not_released_16.png"); }
.gnt-gi-auf-not-planned          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_not_planned_16.png"); }
.gnt-gi-auf-not-started          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_not_started_16.png"); }
.gnt-gi-auf-started              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_started_16.png"); }
.gnt-gi-auf-ended                { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_ended_16.png"); }
.gnt-gi-auf-planned              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_planned_16.png"); }
.gnt-gi-auf-interrupted          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_interrupted_16.png"); }
.gnt-gi-auf-deactivated          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_deactivated_16.png"); }
.gnt-gi-auf-other                { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_other_16.png"); }
.gnt-gi-auf-no-quantity          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_no_quantity_16.png"); }
.gnt-gi-auf-unknown              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_unknown_16.png"); }
.gnt-gi-auf-book-add             { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_add_16.png"); }
.gnt-gi-auf-book-edit            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_edit_16.png"); }
.gnt-gi-auf-book-delete          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_delete_16.png"); }

.page-toolbar-host ::deep .page-toolbar__filter-item:has(.auftraege-toolbar-filters) {
    min-width: 0;
    max-width: min(52vw, 580px);
}

.page-toolbar-host ::deep .dxbl-toolbar-item .gnt-gi[class*="gnt-gi-auf-"] {
    background-size: 16px 16px;
}

.auftrag-status-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

.auftrag-status-icon--grid-not_released { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_not_released_16.png"); }
.auftrag-status-icon--grid-not_planned { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_not_planned_16.png"); }
.auftrag-status-icon--grid-not_started { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_not_started_16.png"); }
.auftrag-status-icon--grid-started { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_started_16.png"); }
.auftrag-status-icon--grid-ended { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_ended_16.png"); }
.auftrag-status-icon--grid-planned { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_planned_16.png"); }
.auftrag-status-icon--grid-interrupted { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_interrupted_16.png"); }
.auftrag-status-icon--grid-deactivated { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_deactivated_16.png"); }
.auftrag-status-icon--grid-other { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_other_16.png"); }
.auftrag-status-icon--grid-custom { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_custom_16.png"); }
.auftrag-status-icon--grid-no_quantity { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_no_quantity_16.png"); }
.auftrag-status-icon--grid-unknown { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_status_unknown_16.png"); }

.auftrag-status-icon--filter-not_released { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_not_released_16.png"); }
.auftrag-status-icon--filter-not_planned { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_not_planned_16.png"); }
.auftrag-status-icon--filter-not_started { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_not_started_16.png"); }
.auftrag-status-icon--filter-started { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_started_16.png"); }
.auftrag-status-icon--filter-ended { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_ended_16.png"); }
.auftrag-status-icon--filter-planned { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_planned_16.png"); }
.auftrag-status-icon--filter-interrupted { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_interrupted_16.png"); }
.auftrag-status-icon--filter-deactivated { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_deactivated_16.png"); }
.auftrag-status-icon--filter-other { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_other_16.png"); }
.auftrag-status-icon--filter-custom { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_custom_16.png"); }
.auftrag-status-icon--filter-no_quantity { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_no_quantity_16.png"); }
.auftrag-status-icon--filter-unknown { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/status_unknown_16.png"); }

/* frmAufträge detail tab strip (tcgAufträge CaptionImageOptions parity). */
.gnt-gi-auf-tab-book { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/book_16.png"); }
.gnt-gi-document_text_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/auftraege/document_text_16.png"); }

/* Aufträge overview: Details tab vertical scroll.
   DxFormLayoutTabPage Id is not rendered on the DOM node; target tab body via #details-body. */
.crud-readonly-overview.auftrag-detail-panel .gnt-cf-tabs .dxbl-fl-tab-content:has(#details-body) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box;
}

.crud-readonly-overview.auftrag-detail-panel .gnt-cf-tabs .dxbl-fl-tab-content:has(#details-body) > .dxbl-row {
    flex: 0 0 auto !important;
    height: auto !important;
}

.crud-readonly-overview.auftrag-detail-panel .gnt-cf-tabs .dxbl-fl-tab-content:has(#details-body) .gnt-cf-slot {
    flex: 0 0 auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Allgemeine Auswertungen chart filter dropdowns (portaled DxComboBox body). */
.dxbl-dropdown-body.aa-chart-panel__period-dropdown {
    min-width: 11.5rem;
    width: 11.5rem;
    max-width: 11.5rem;
    padding: 4px 0;
    box-sizing: border-box;
}

.dxbl-dropdown-body.aa-chart-panel__period-dropdown .dxbl-list-box-item,
.dxbl-dropdown-body.aa-chart-panel__period-dropdown .dxbl-list-box-item-content {
    min-height: 24px;
    padding-inline: 8px;
}

.dxbl-dropdown-body.aa-chart-panel__period-dropdown .dxbl-list-box {
    max-height: 280px;
}

.dxbl-dropdown.aa-chart-panel__group-dropdown-wrap {
    width: 11.5rem !important;
    min-width: 11.5rem !important;
    max-width: 11.5rem !important;
    box-sizing: border-box;
}

.dxbl-dropdown-body.aa-chart-panel__group-dropdown {
    min-width: 11.5rem;
    width: 11.5rem;
    max-width: 11.5rem;
    padding: 4px 0;
    box-sizing: border-box;
}

.dxbl-dropdown-body.aa-chart-panel__group-dropdown .dxbl-list-box {
    max-height: 320px;
}

.dxbl-dropdown-body.aa-chart-panel__group-dropdown .dxbl-list-box-item,
.dxbl-dropdown-body.aa-chart-panel__group-dropdown .dxbl-list-box-item-content {
    min-height: 24px;
    padding-inline: 8px;
}

.dxbl-dropdown-body.aa-chart-panel__group-dropdown .aa-chart-panel__filter-item {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Aufträge status filter dropdown (portaled DxDropDownBox body). */
.dxbl-dropdown-body.auftraege-status-filter-dropdown {
    min-width: 200px;
    width: 200px;
    max-width: 200px;
    padding: 4px 0;
    box-sizing: border-box;
}

.auftraege-status-filter-dropdown .auftraege-status-filter-list {
    max-height: 320px;
}

.auftraege-status-filter-dropdown .dxbl-list-box-item,
.auftraege-status-filter-dropdown .dxbl-list-box-item-content {
    min-height: 24px;
}

.auftraege-status-filter-dropdown .auftraege-status-filter-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 20px;
    max-width: 100%;
}

.auftraege-status-filter-dropdown .auftraege-status-filter-item__label {
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.auftraege-status-filter-dropdown .auftraege-status-filter-item__icon {
    display: block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    min-width: 8px;
    max-width: 8px;
    min-height: 8px;
    max-height: 8px;
    object-fit: contain;
}

.internal-invoices-page,
.internal-invoices-split {
    height: 100%;
}

.internal-invoices-page__icon-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.internal-invoices-page__error,
.internal-invoice-create-dialog__error,
.internal-invoice-positions-panel__error {
    color: var(--gnt-color-danger, #c62828);
    margin-bottom: 0.5rem;
}

.internal-invoice-order-lookup {
    width: 100%;
}

.internal-invoice-create-dialog__preview {
    margin-top: 0.75rem;
    min-height: 240px;
}

.bestellscheine-page__icon-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.bestellscheine-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

.bestellscheine-icon--flag-red { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_red_16.png"); }
.bestellscheine-icon--flag-yellow { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_yellow_16.png"); }
.bestellscheine-icon--flag-green { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_green_16.png"); }
.bestellscheine-icon--flag-blue { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_blue_16.png"); }
.bestellscheine-icon--flag-black { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/signal_flag_black_16.png"); }
.bestellscheine-icon--pencil { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/pencil_16.png"); }
.bestellscheine-icon--purchase-order { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/purchase_order_16.png"); }
.bestellscheine-icon--purchase-order-special { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/purchase_order_special_16.png"); }
.bestellscheine-icon--clipboard-recycle { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/clipboard_recycle_16.png"); }
.bestellscheine-icon--package { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/package/package_16.png"); }
.bestellscheine-icon--printer { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/printer_16.png"); }
.bestellscheine-icon--mail-clock { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/mail_clock_16.png"); }
.bestellscheine-icon--mail-clock-green { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/mail_clock_green_16.png"); }
.bestellscheine-icon--mail-clock-yellow { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/mail_clock_yellow_16.png"); }
.bestellscheine-icon--mail-clock-red { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bestellscheine/mail_clock_red_16.png"); }

.gnt-gi-shopping-cart-play { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/shopping_cart_play_16.png"); }
.gnt-gi-shopping-cart-delete { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/shopping_cart_delete_16.png"); }

.page-toolbar__ribbon-large-btn .gnt-gi-shopping-cart-play {
    background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/shopping_cart_play_32.png");
    background-size: 32px 32px;
}

.page-toolbar__ribbon-large-btn .gnt-gi-shopping-cart-delete {
    background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/shopping_cart_delete_32.png");
    background-size: 32px 32px;
}

.warenkorb-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

.warenkorb-icon--checkout { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/shopping_cart_play_16.png"); }
.warenkorb-icon--delete-cart { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/shopping_cart_delete_16.png"); }
.warenkorb-icon--delete { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/warenkorb/delete_16.png"); }

.gnt-gi-ams-robot-red            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_red.png"); }
.gnt-gi-ams-robot-yellow         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_yellow.png"); }
.gnt-gi-ams-robot-green          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_green.png"); }
.gnt-gi-ams-robot-down           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_down.png"); }
.gnt-gi-ams-robot-checked        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_checkbox_checked.png"); }
.gnt-gi-ams-robot-forbidden      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_forbidden.png"); }
.gnt-gi-ams-robot-crack          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/industrial_robot_crack_16.png"); }
.gnt-gi-ams-breakpoint           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/breakpoint.png"); }
.gnt-gi-ams-wrench               { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/wrench.png"); }
.gnt-gi-ams-barcode              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/barcode.png"); }
.gnt-gi-ams-einstellgeraet       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/Einstellgeraet_16.png"); }
.gnt-gi-ams-calibration          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ams/calibration_mark.png"); }

/* MesOne orders tree context menu (Form_OrdersTreeView3L parity) */
.gnt-gi-mesone-tree-context-edit          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_edit.png"); }
.gnt-gi-mesone-tree-context-delete        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_delete.png"); }
.gnt-gi-mesone-tree-context-pencil        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_pencil.png"); }
.gnt-gi-mesone-tree-context-diagnose      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_diagnose.png"); }
.gnt-gi-mesone-tree-context-workplan      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_workplan.png"); }
.gnt-gi-mesone-tree-context-attributes    { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_attributes.png"); }
.gnt-gi-mesone-tree-context-prep-ready    { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_prep_ready.png"); }
.gnt-gi-mesone-tree-context-prep-partial  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_prep_partial.png"); }
.gnt-gi-mesone-tree-context-prep-not-ready { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_prep_not_ready.png"); }
.gnt-gi-mesone-tree-context-detail-info   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-tree/context_detail_info.png"); }

/* BDE orders grid context menu (Form_Orders parity) */
.gnt-gi-bde-orders-context-barcode                 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-list/context_barcode.png"); }
.gnt-gi-bde-orders-context-navigate-to-project     { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-list/context_navigate_to_project.png"); }
.gnt-gi-bde-orders-context-search-visio            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-list/context_search_visio.png"); }
.gnt-gi-bde-orders-context-autoplanning-forward   { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-list/context_autoplanning_forward.png"); }
.gnt-gi-bde-orders-context-autoplanning-backward  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/bde/orders-list/context_autoplanning_backward.png"); }

/* DevExpress TreeList/Grid programmatic context menus (IconUrl toolbox PNGs). */
.dxbl-context-menu .dxbl-menu-item .dxbl-image {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* Row menus opened from pick dialogs (z-index 3000) must paint above the modal.
   The z-index has to sit on the popup cell; the menu itself is trapped inside it. */
.dxbl-popup-cell:has(.center-row-context-menu) {
    z-index: 13000 !important;
}

/* Machine planning (frmMaschinenplanung parity) */
.gnt-gi-mp-arrow-down            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/arrow_down.png"); }
.gnt-gi-mp-priority-high         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/high.png"); }
.gnt-gi-mp-task                  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/task.png"); }
.gnt-gi-mp-clipboard             { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/clipboard.png"); }
.gnt-gi-mp-pool                  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/pool.png"); }
.gnt-gi-mp-flag-today            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/today_flag.png"); }
.gnt-gi-mp-flag-tomorrow         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/tomorrow_flag.png"); }
.gnt-gi-mp-flag-dat              { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/dat_flag.png"); }
.gnt-gi-mp-flag-this-week        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/this_week_flag.png"); }
.gnt-gi-mp-flag-weekend          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/weekend_flag.png"); }
.gnt-gi-mp-flag-next-week        { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/next_week_flag.png"); }
.gnt-gi-mp-flag-no-date          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/no_date_flag.png"); }
.gnt-gi-mp-flag-custom           { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/custom_flag.png"); }
.gnt-gi-mp-category-cup          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/cup.png"); }
.gnt-gi-mp-category-sun          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/sun.png"); }
.gnt-gi-mp-category-moon         { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/moon_half.png"); }
.gnt-gi-mp-ribbon-print          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/ribbon_print.png"); }
.gnt-gi-mp-ribbon-add-task       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/ribbon_add_task.png"); }
.gnt-gi-mp-preset-today          { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/preset_today.png"); }
.gnt-gi-mp-preset-last3days      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/preset_last3days.png"); }
.gnt-gi-mp-preset-last-week      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/maschinenplanung/preset_last_week.png"); }

.page-toolbar__ribbon-large-btn .gnt-gi-mp-ribbon-add-task,
.page-toolbar__ribbon-large-btn .gnt-gi-mp-ribbon-print {
    width: 32px;
    height: 32px;
}

.machine-planning-page__icon-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}

.machine-planning-page__icon-cell .gnt-gi {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
}

.machine-planning-row--done {
    color: var(--bs-secondary-color, #6c757d);
}

.machine-planning-row--moved {
    font-style: italic;
}

.machine-planning-row--waiting {
    color: var(--bs-warning-text-emphasis, #997404);
}

.machine-planning-row--priority-high {
    font-weight: 600;
}

.machine-planning-row--overdue {
    color: var(--bs-danger, #dc3545);
}

.machine-planning-host__filters {
    display: none;
}

.machine-planning-pool__des-cell {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.machine-planning-pool__des-cell .gnt-gi {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
}

.page-toolbar-host ::deep .page-toolbar--ribbon-captions .page-toolbar__ribbon-custom:has(.verlauf-date-toolbar) {
    align-self: stretch;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.page-toolbar-host ::deep .page-toolbar--ribbon-captions .page-toolbar__ribbon-group:has(.verlauf-date-toolbar) {
    min-width: 320px;
}

.ams-page__status-cell {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.25rem;
}

.ams-page__status-label {
    font-size: 0.8125rem;
}

.ams-page__id-cell {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    justify-content: flex-start;
    width: 100%;
}

.ams-page__status-cell .gnt-gi,
.ams-page__id-cell .gnt-gi,
.ams-page__icon-cell .gnt-gi {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
}

.ams-page__icon-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* AMS editor workspace (frmAMS parity) */
.ams-detail-view,
.ams-editor-workspace {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ams-editor-workspace__main-split,
.ams-editor-workspace__left-split {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.ams-editor-workspace__left,
.ams-editor-workspace__right,
.ams-editor-workspace__tree-pane,
.ams-editor-workspace__werkzeug-pane {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.ams-editor-workspace__pane-title {
    font-weight: 600;
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid var(--gnt-border-subtle, #e0e0e0);
    flex: 0 0 auto;
}

.ams-editor-workspace__werkzeug-pane > .ams-werkzeugliste-grid {
    flex: 1 1 auto;
    min-height: 0;
}

.ams-baum-tree-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.ams-baum-tree-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid var(--gnt-border-subtle, #e0e0e0);
}

.ams-baum-tree-panel__title {
    font-weight: 600;
}

.ams-baum-tree-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.ams-baum-treelist {
    flex: 1 1 auto;
    min-height: 0;
}

/* Baum tree node icons + indent overrides live in css/ams-baum-treelist-theme.css
   (Fluent theme layer) and AmsBaumTreePanel.razor.css (scoped ::deep). */

.ams-detail-tabs-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.ams-detail-tabs-panel .gnt-ccf {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ams-detail-tabs-panel__slot {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.ams-detail-tabs-panel__tabs {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.crud-detail-shell ::deep .ams-detail-view,
.crud-detail-shell ::deep .ams-editor-workspace {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.crud-detail-shell ::deep .ams-detail-tabs-panel__tabs.dxbl-tabs {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.crud-detail-shell ::deep .ams-detail-tabs-panel__tabs .dxbl-tabs-content-panel {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.crud-detail-shell ::deep .ams-detail-tabs-panel__tabs .dxbl-tabs-content.dxbl-active,
.crud-detail-shell ::deep .ams-detail-tabs-panel__tabs .dxbl-fl-tab-content {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.ams-detail-tabs-panel__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.5rem 0.75rem;
}

.ams-detail-tabs-panel__einstellungen {
    max-width: 48rem;
}

.ams-detail-tabs-panel__field-row {
    display: grid;
    grid-template-columns: 7.5rem 1fr;
    gap: 0.35rem 0.75rem;
    align-items: center;
    margin-bottom: 0.35rem;
}

.ams-detail-tabs-panel__label {
    font-size: 0.8125rem;
    color: var(--gnt-text-secondary, #4b5563);
}

.ams-detail-tabs-panel__control {
    min-width: 0;
}

.ams-detail-tabs-panel__group {
    border: 1px solid var(--gnt-border-subtle, #d1d5db);
    border-radius: 4px;
    margin: 0.5rem 0 0.75rem;
    padding: 0.35rem 0.65rem 0.65rem;
}

.ams-detail-tabs-panel__group-title {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0 0.25rem;
    margin-bottom: 0.35rem;
}

.ams-detail-tabs-panel__group-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ams-detail-tabs-panel__hint {
    padding: 0.75rem;
    color: var(--gnt-text-secondary, #6b7280);
    font-style: italic;
}

.ams-detail-tabs-panel__form-grid {
    display: grid;
    grid-template-columns: minmax(120px, 160px) 1fr;
    gap: 0.5rem 0.75rem;
    padding: 0.75rem;
    align-items: center;
}

.ams-prog-werkz-grid {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ams-prog-werkz-grid__grid {
    flex: 1 1 auto;
    min-height: 0;
}

.ams-palette-picker-dialog__error,
.ams-baum-tree-panel__error,
.ams-prog-werkz-grid__error {
    color: var(--gnt-color-danger, #c62828);
    padding: 0.25rem 0.5rem;
}

.ams-chip-lookup-dialog__label {
    display: block;
    margin-bottom: 0.35rem;
}

.ams-chip-lookup-dialog__result,
.ams-chip-lookup-dialog__message {
    margin-top: 0.5rem;
}

/* Article list aktiv icons (desktop frmArtikel_EF ImageCollection1 Toolbox). */
.gnt-gi-package_16            { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/package/package_16.png"); }
.gnt-gi-package_clock_16      { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/package/package_clock_16.png"); }
.gnt-gi-package_forbidden_16  { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/package/package_forbidden_16.png"); }
.gnt-gi-package_delete_16    { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/package/package_delete_16.png"); }
.gnt-gi-package_lock_16       { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/package/package_lock_16.png"); }

/* Desktop frmLieferantNeu / frmLieferant Zahlungsweise group (money_bill_16). */
.gnt-gi-money_bill_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/money/money_bill_16.png"); }

/* Desktop frmArtikelBearbeiten ic16x16 — Bestellmodus / MindestbestandModus. */
.gnt-gi-sort_down_minus_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/sort_down_minus_16.png"); }
.gnt-gi-chart_line_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/chart_line_16.png"); }
.gnt-gi-calculator_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/calculator_16.png"); }
.gnt-gi-inbox_empty_down_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/inbox_empty_down_16.png"); }
.gnt-gi-inbox_empty_sum_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/inbox_empty_sum_16.png"); }
.gnt-gi-inbox_empty_new_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/inbox_empty_new_16.png"); }
.gnt-gi-inbox_empty_new_refresh_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/article/inbox_empty_new_refresh_16.png"); }

/* PDV module (Form_NCProgramsManagement ribbon Toolbox). */
.gnt-gi-newNcProgram_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/newNcProgram_big.png"); }
.gnt-gi-editNcProgram_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/editNcProgram_big.png"); }
.gnt-gi-pdv_copy { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/pdv_copy.png"); }
.gnt-gi-red_cross_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/red_cross_16.png"); }
.gnt-gi-renameDocument { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/renameDocument.png"); }
.gnt-gi-searchInDisk { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/searchInDisk.png"); }
.gnt-gi-compare_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/compare_big.png"); }
.gnt-gi-toOrg_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/toOrg_big.png"); }
.gnt-gi-addDB { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/addDB.png"); }
.gnt-gi-newDBFile_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/newDBFile_big.png"); }
.gnt-gi-joinArticle_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/joinArticle_big.png"); }
.gnt-gi-ncProgramsInDB_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/ncProgramsInDB_big.png"); }
.gnt-gi-pdv_printer { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/pdv_printer.png"); }
.gnt-gi-pagePrintSettings { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/pagePrintSettings.png"); }
.gnt-gi-notes { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/notes.png"); }
.gnt-gi-send_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/send_big.png"); }
.gnt-gi-receive_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/receive_big.png"); }
.gnt-gi-attributeAdd_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/attributeAdd_big.png"); }
.gnt-gi-attributeHistory_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdv/attributeHistory_big.png"); }

/* PDM toolbox ribbon icons (MR-PDM-ICON.1) */
.gnt-gi-newElement_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdm/newElement_big.png"); }
.gnt-gi-editElement_big { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdm/editElement_big.png"); }
.gnt-gi-deleteElement { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdm/deleteElement.png"); }
.gnt-gi-search { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/pdm/search.png"); }

/* Desktop Form_ResourceManagement timeline zoom presets (RTSMIX_Fit*). */
.gnt-gi-monitoring_zoom_fit { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/monitoring/monitoring_zoom_fit.svg"); }
.gnt-gi-monitoring_zoom_year { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/monitoring/monitoring_zoom_year.svg"); }
.gnt-gi-monitoring_zoom_month { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/monitoring/monitoring_zoom_month.svg"); }
.gnt-gi-monitoring_zoom_week { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/monitoring/monitoring_zoom_week.svg"); }
.gnt-gi-monitoring_zoom_day { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/monitoring/monitoring_zoom_day.svg"); }
.gnt-gi-monitoring_zoom_hour { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/monitoring/monitoring_zoom_hour.svg"); }

/* Desktop frmArtikelBearbeiten Panel7 — Mess-/Prüfmittel tab. */
.gnt-gi-precision_square_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/precision_square_16.png"); }
.gnt-gi-factory_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/factory_16.png"); }
.gnt-gi-monitor_touch_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/monitor_touch_16.png"); }

/* Desktop frmMeldungen icEditors / ribbon PNGs. */
.gnt-gi-meldungen-read-message { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/ReadMessage_13x13.png"); }
.gnt-gi-meldungen-unread-message { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/UnreadMessage_13x13.png"); }
.gnt-gi-meldungen-read-toggle { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/Read.png"); }
.gnt-gi-meldungen-unread-toggle { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/Unread.png"); }
.gnt-gi-meldungen-window-explorer { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/window_explorer.png"); }
.gnt-gi-meldungen-monitor-touch { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/monitor_touch.png"); }
.gnt-gi-meldungen-mail-open { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/mail_open2_32.png"); }
.gnt-gi-meldungen-user-unknown { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/meldungen/user_unknown_350_by_420.png"); }

/* Desktop frmLagerortÜbersicht / frmArtikel_EF Lagerort ribbon (icTcTree Toolbox). */
.gnt-gi-monitor_touch_add_32 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/monitor_touch_add_32.png"); }
.gnt-gi-folder_add_32 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/folder_add_32.png"); }
.gnt-gi-cabinet_add_32 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/cabinet_add_32.png"); }
.gnt-gi-cabinet_open_add_add_32 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/cabinet_open_add_add_32.png"); }
.gnt-gi-inbox_empty_add_32 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/inbox_empty_add_32.png"); }
.gnt-gi-inbox_empty_add_add_32 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/inbox_empty_add_add_32.png"); }
.gnt-gi-barcode_print_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/barcode_print_16.png"); }
.gnt-gi-folding_rule_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/stock-location/folding_rule_16.png"); }

.gnt-gi-user_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/user_16.png"); }
.gnt-gi-user_glasses_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/user_glasses_16.png"); }
.gnt-gi-document_view_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/document_view_16.png"); }
.gnt-gi-desk_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/desk_16.png"); }
.gnt-gi-clock_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/clock_16.png"); }
.gnt-gi-stopwatch2_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/stopwatch2_16.png"); }
.gnt-gi-caliper_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/caliper_16.png"); }

/* Desktop frm3DKWZ measure-mode glyphs (16×16). */
.gnt-gi-milling_distance_x_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/milling_distance_x_16.png"); }
.gnt-gi-insert_radius_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/insert_radius_16.png"); }
.gnt-gi-insert_cutting_edge_length_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/insert_cutting_edge_length_16.png"); }
.gnt-gi-distance_between_points_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/distance_between_points_16.png"); }
.gnt-gi-inscribed_circle_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/inscribed_circle_16.png"); }
.gnt-gi-angle_between_edges_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/angle_between_edges_16.png"); }
.gnt-gi-diameter_of_circle_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/diameter_of_circle_16.png"); }
/* Desktop frm3DKWZ RBG_MeasurementPoints add-menu glyphs (16×16). */
.gnt-gi-mounting_measurement_point_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/mounting_measurement_point_16.png"); }
.gnt-gi-backside_measurement_point_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/backside_measurement_point_16.png"); }
.gnt-gi-bone_nose_center_measurement_point_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/bone_nose_center_measurement_point_16.png"); }
.gnt-gi-element_eclass_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/element_eclass_16.png"); }
.gnt-gi-wrench_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/wrench_16.png"); }
.gnt-gi-inbox_out_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measurement/inbox_out_16.png"); }

/* Desktop frmMessundPrüf rpgInfo — measuring-equipment summary counters. */
.gnt-gi-odometer_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measuring-info/odometer_16.png"); }
.gnt-gi-lightbulb_on_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measuring-info/lightbulb_on_16.png"); }
.gnt-gi-lightbulb_off_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measuring-info/lightbulb_off_16.png"); }
.gnt-gi-ok_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/ok_16.png"); }
.gnt-gi-error_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/error_16.png"); }
.gnt-gi-question_yellow_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/measuring-info/question_yellow_16.png"); }

/* Desktop frmArtikelBearbeiten ButtonEdit lock toggle (ic10x10). */
.gnt-gi-lock_10,
.gnt-gi-lock_open_10 {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.gnt-gi-lock_10 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%23C8A415' d='M2 4.2V3.2a3 3 0 0 1 6 0v1h1v4.8H1V4.2h1zm1 0h4V3.2a2 2 0 0 0-4 0v1z'/%3E%3C/svg%3E");
}
.gnt-gi-lock_open_10 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%23C8A415' d='M3.5 4.2V3.2a2.5 2.5 0 0 1 4.6-1.2h1A3.5 3.5 0 0 0 2.5 3.2v1h-1v4.8h8V4.2h-6z'/%3E%3C/svg%3E");
}

/* Article protocol type icons (desktop icProtokollTyp Toolbox PNGs). */
.gnt-gi-protocol-arrow_circle_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/arrow_circle_16.png"); }
.gnt-gi-protocol-check_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/check_16.png"); }
.gnt-gi-protocol-delete_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/delete_16.png"); }
.gnt-gi-protocol-error_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/error_16.png"); }
.gnt-gi-protocol-error_earth_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/error_earth_16.png"); }
.gnt-gi-protocol-export_close_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/export_close_16.png"); }
.gnt-gi-protocol-garbage_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/garbage_16.png"); }
.gnt-gi-protocol-hand_offer_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/hand_offer_16.png"); }
.gnt-gi-protocol-hand_stop2_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/hand_stop2_16.png"); }
.gnt-gi-protocol-inbox_into_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/inbox_into_16.png"); }
.gnt-gi-protocol-inbox_out_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/inbox_out_16.png"); }
.gnt-gi-protocol-invalid_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/invalid_16.png"); }
.gnt-gi-protocol-ok_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/ok_16.png"); }
.gnt-gi-protocol-ok_earth_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/ok_earth_16.png"); }
.gnt-gi-protocol-photo_landscape_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/photo_landscape_16.png"); }
.gnt-gi-protocol-purchase_order_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/purchase_order_16.png"); }
.gnt-gi-protocol-purchase_order_down_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/purchase_order_down_16.png"); }
.gnt-gi-protocol-purchase_order_stop_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/purchase_order_stop_16.png"); }
.gnt-gi-protocol-purchase_order_yield_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/purchase_order_yield_16.png"); }
.gnt-gi-protocol-refresh_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/refresh_16.png"); }
.gnt-gi-protocol-shopping_cart_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/shopping_cart_16.png"); }
.gnt-gi-protocol-shopping_cart_full_stop_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/shopping_cart_full_stop_16.png"); }
.gnt-gi-protocol-shopping_sort_up_down_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/shopping_sort_up_down_16.png"); }
.gnt-gi-protocol-switch3_off_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/switch3_off_16.png"); }
.gnt-gi-protocol-switch3_on_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/switch3_on_16.png"); }
.gnt-gi-protocol-tools_add_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/tools_add_16.png"); }
.gnt-gi-protocol-truck2_sort_up_down_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/truck2_sort_up_down_16.png"); }
.gnt-gi-protocol-webcam_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/protocol/webcam_16.png"); }

/* Desktop frmereignisanzeige riicForTyp (ImageCollection1 Toolbox PNGs). */
.gnt-gi-ereignis-inbox_out_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/inbox_out_16.png"); }
.gnt-gi-ereignis-inbox_into_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/inbox_into_16.png"); }
.gnt-gi-ereignis-delete_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/delete_16.png"); }
.gnt-gi-ereignis-document_empty_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/document_empty_16.png"); }
.gnt-gi-ereignis-hint_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/hint_16.png"); }
.gnt-gi-ereignis-wrench_play_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/wrench_play_16.png"); }
.gnt-gi-ereignis-user_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/user_16.png"); }
.gnt-gi-ereignis-package_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/package_16.png"); }
.gnt-gi-ereignis-step_16 { background-image: url("/_content/GNT.Center.Web.Shared/icons/toolbox/ereignisanzeige/step_16.png"); }

/* ===========================================================
 * Shell (MainLayout) outer layout.
 *
 * Must be global (not scoped CSS) so it wins the cascade over
 * the DevExpress Fluent theme's own html/body rules. position:
 * fixed + inset: 0 pins the shell to the viewport edges, so no
 * theme- or template-introduced padding/margin can push it
 * inward and leak the light-grey background through.
 * =========================================================== */
.center-shell {
    position: fixed;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden;
    background: transparent;
}

/* ===========================================================
 * DxSplitter host styling for the shell (MainLayout).
 *
 * Scoped CSS + ::deep cannot reach DxSplitter's internals (the
 * component wraps children in its own JS-driven DOM), so the
 * layout glue for the shell's splitter lives here as plain
 * global CSS.
 *
 * Important: do NOT override the separator's position, cursor,
 * or background - DxSplitter sets those itself and relies on
 * them for the drag-to-resize interaction. Earlier custom
 * separator styling broke the mouse-down handler and the
 * separator became a pure hover-target. We keep the DevExpress
 * Fluent default look (a thin, neutral divider) and only glue
 * layout/height concerns here.
 *
 * The actual DxSplitter DOM is:
 *   .dxbl-splitter                 (root, absolute/flex container)
 *     .dxbl-splitter-pane          (each pane; positioned by JS)
 *       .dxbl-splitter-pane-content    (<- our CssClass lands here)
 *     .dxbl-splitter-separator     (the draggable grip)
 * =========================================================== */
/* Aggressive reset across every DxSplitter-internal element.
   The DevExpress Fluent theme (v25.2) ships padding/margin on
   several .dxbl-splitter* helpers (wrapper, pane, pane-content,
   separator grip). `!important` is required because those rules
   come with theme-variable values (var(--dxbl-*)) that otherwise
   outspecify a plain class selector. Wildcard captures every
   helper class DevExpress adds in future minor versions too. */
.center-shell [class*="dxbl-splitter"] {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.center-shell .dxbl-splitter {
    width: 100%;
    height: 100%;
    background: transparent;
}

.center-shell .dxbl-splitter-pane,
.center-shell .dxbl-splitter-pane-content {
    background: transparent;
}

.center-shell__sidebar-pane,
.center-shell__right-pane {
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.center-shell__sidebar-pane > aside,
.center-shell__right-pane > section {
    height: 100%;
    min-height: 0;
    min-width: 0;
}

/* ===========================================================
 * Custom-form layout editor - faithful port of the DevExpress XAF
 * layout editor styles (DevExpress.ExpressApp.Blazor/Styles/
 * layout-editor.css). XAF targets the same DevExpress Blazor
 * FormLayout classes we render (.dxbl-fl-item, .dxbl-fl-group,
 * .dxbl-group-header, ...), so the rules are adopted almost
 * verbatim - only XAF's `layout-editor` custom element and the
 * `.design-mode` ancestor are collapsed onto our host element
 * `.gnt-cf-host` (which carries `design-mode` and the
 * `xaf-layouteditor-mode-*` classes set by gnt-form-layout.js).
 *
 * The dropzone / dragged-item / cursor helpers are created on
 * arbitrary elements (or appended to <body>), so they live in this
 * global sheet, outside Blazor's scoped CSS.
 * =========================================================== */

/* -----------------------------------------------------------------
 * Consistent caption column. DevExpress sizes horizontal captions to
 * their own text width, so editors start at a different x for every
 * label length ("Login" vs "Personal-Nr.") and the form looks ragged.
 * Pinning the caption to a fixed width lines every editor up on the
 * same left edge, matching the tidy XAF DetailView. Applies in view
 * and edit mode alike.
 * ----------------------------------------------------------------- */
.gnt-cf .dxbl-fl-item-horizontal > .dxbl-fl-cpt {
    /* DevExpress ships `flex: 1 0 auto; max-width: 7rem` on the caption via a
       higher-specificity rule, so !important is required to pin a fixed
       column. 7rem matches DX's own cap, keeping the editors roomy. */
    flex: 0 0 7rem !important;
    width: 7rem !important;
    max-width: 7rem !important;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Required-field marker is rendered via CaptionTemplate (.gnt-cf-required-mark). */

/* Caption-less avatar: no empty caption column; keep the 120px widget left-aligned
   in the Stammdaten photo column (not pushed to the far right). */
.gnt-cf .dxbl-fl-item.gnt-cf-item--no-caption.dxbl-fl-item-horizontal > .dxbl-fl-cpt {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.gnt-cf .dxbl-fl-item.gnt-cf-item--caption-hidden.dxbl-fl-item-horizontal > .dxbl-fl-cpt {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.gnt-cf .dxbl-fl-item.gnt-cf-item--no-caption .gnt-cf-field {
    width: max-content;
}

/* Photo corner button and its Ändern menu hang outside the 120px frame.
   Form-layout groups clip that overflow, so the menu is cut at the group border. */
.gnt-cf .dxbl-fl-item:has(.gnt-cf-image),
.gnt-cf .dxbl-fl-group:has(.gnt-cf-image),
.gnt-cf .dxbl-fl-group-body:has(.gnt-cf-image),
.gnt-cf .dxbl-group:has(.gnt-cf-image),
.gnt-cf .dxbl-row:has(.gnt-cf-image) {
    overflow: visible !important;
}

.gnt-cf .dxbl-fl-item:has(.gnt-cf-image__menu) {
    position: relative;
    z-index: 30;
}

/* Paths / other satellite forms: scroll inside the tab card when the pane
   is shorter than the field list. Parent chain uses overflow:hidden. */
.resource-editor-satellite {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.resource-editor-satellite--paths {
    flex: 1 1 0;
    height: 100%;
    max-height: 100%;
    box-sizing: border-box;
}

/* Paths satellite tab: keep CaptionPosition.Horizontal — DX falls back to
   Vertical when captions are too wide for the default ~7rem column. */
.resource-editor-satellite--paths .dxbl-fl-item-horizontal > .dxbl-fl-cpt {
    flex: 0 0 14rem !important;
    width: 14rem !important;
    max-width: 14rem !important;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.resource-editor-satellite__path-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.resource-editor-satellite__path-input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}

.resource-editor-satellite__path-helper {
    flex: 0 0 auto;
    white-space: nowrap;
}

.resource-editor-satellite__identical {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-width: 0;
}

.resource-editor-satellite__identical-combo {
    flex: 1 1 auto;
    min-width: 0;
}

.resource-editor-satellite__stub,
.resource-editor-satellite__stub-group {
    background: rgba(245, 158, 11, 0.08);
    border: 1px dashed rgba(180, 83, 9, 0.45);
    border-radius: 4px;
    padding: 4px 6px;
    box-sizing: border-box;
}

.resource-editor-satellite__stub-input {
    opacity: 0.85;
}

/* Color DropDownBox EditBoxDisplayTemplate (DX ColorPalette + DropDownBox).
   Must live globally: scoped CSS on the template markup is unreliable once
   DxDropDownBox hosts the fragment, and DxInputBox defaults to width:100%
   which wraps under the swatch → double-height editor. */
.gnt-cf-color .gnt-cf-color__editbox {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    width: 100%;
    min-width: 0;
    height: 100%;
    gap: 0;
}

.gnt-cf-color .gnt-cf-color__swatch {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-right: 0.25rem;
    border: 1px solid rgba(0, 0, 0, 0.28);
    border-radius: 2px;
    box-sizing: border-box;
}

.gnt-cf-color.dxbl-sm .gnt-cf-color__swatch {
    margin-right: 0.25rem;
}

/* DxInputBox emits a bare .dxbl-text-edit-input with width:100% — force it
   into the flex row beside the swatch instead of wrapping below it. */
.gnt-cf-color .gnt-cf-color__editbox > .dxbl-text-edit-input,
.gnt-cf-color .gnt-cf-color__editbox .dxbl-text-edit-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    align-self: center;
}

/* Legacy editor-border highlight (ring overlay in GntCustomFormNode is preferred). */
.gnt-cf-item.gnt-cf-invalid .gnt-cf-editor,
.gnt-cf-item.gnt-cf-invalid .dxbl-text-edit,
.gnt-cf-item.gnt-cf-invalid .dxbl-memo,
.gnt-cf-item.gnt-cf-invalid .dxbl-spin-edit,
.gnt-cf-item.gnt-cf-invalid .dxbl-date-edit,
.gnt-cf-item.gnt-cf-invalid .dxbl-combo-box,
.gnt-cf-item.gnt-cf-invalid .dxbl-masked-input {
    border-color: #B70E0C !important;
}

/* Design surface: subtle shading + card shadows, exactly like XAF. */
.gnt-cf-host.design-mode {
    background: rgba(var(--bs-body-color-rgb), 0.075);
    border-radius: 6px;
}

.gnt-cf-host.design-mode .dxbl-group {
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 16%);
}

.gnt-cf-host.design-mode .dxbl-fl-item,
.gnt-cf-host.design-mode .dxbl-fl-group,
.gnt-cf-host.design-mode .dxbl-fl-gt,
.gnt-cf-host.design-mode .dxbl-tabs-item {
    position: relative;
}

.gnt-cf-host.design-mode .dxbl-tabs {
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 16%);
}

.gnt-cf-host.design-mode .dxbl-tabs-content-panel {
    background: var(--dxds-color-surface-neutral-default-rest, var(--bs-body-bg));
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 16%);
}

/* Move cursor on the drag handles (item cells, group headers, tabs). */
.gnt-cf-host.design-mode .dxbl-fl-item,
.gnt-cf-host.design-mode .dxbl-group-header,
.gnt-cf-host.design-mode .dxbl-tabs,
.gnt-cf-host.design-mode .dxbl-tabs-item {
    cursor: move;
}

/* Hover affordance on tab headers (XAF TabSelector). */
.gnt-cf-host.design-mode:not(.xaf-layouteditor-mode-dragging, .xaf-layouteditor-mode-resizing) .dxbl-tabs-item:hover {
    outline: 1px solid var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    outline-offset: -1px;
}

/* Hover overlay on an item cell (info fill + thin info border). */
.gnt-cf-host.design-mode:not(.xaf-layouteditor-mode-dragging, .xaf-layouteditor-mode-resizing) .dxbl-fl-item:hover::after {
    content: " ";
    position: absolute;
    top: calc(var(--dxbl-row-item-spacing-x) * -.25);
    bottom: calc(var(--dxbl-row-item-spacing-x) * -.25);
    left: calc(var(--dxbl-row-item-spacing-x) * .25);
    right: calc(var(--dxbl-row-item-spacing-x) * .25);
    background-color: rgba(var(--bs-info-rgb), 10%);
    border: 1px solid;
    border-radius: calc(var(--dxbl-fl-group-border-radius) * 0.5);
    border-color: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    pointer-events: none;
}

/* Hover overlay on a group header (only the innermost hovered group). */
.gnt-cf-host.design-mode:not(.xaf-layouteditor-mode-dragging, .xaf-layouteditor-mode-resizing) .dxbl-group:has(.dxbl-group-header:hover):not(:has(.dxbl-group:hover))::after {
    content: " ";
    position: absolute;
    top: calc(var(--dxbl-row-item-spacing-x) * -.4);
    bottom: calc(var(--dxbl-row-item-spacing-x) * -.4);
    left: calc(var(--dxbl-row-item-spacing-x) * -.4);
    right: calc(var(--dxbl-row-item-spacing-x) * -.4);
    background-color: rgba(var(--bs-info-rgb), 1%);
    border: 2px solid;
    border-radius: calc(var(--dxbl-fl-group-border-radius) * 1.5);
    border-color: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    pointer-events: none;
}

/* The floating drag ghost that follows the pointer. */
.xaf-layouteditor-draggeditem-div {
    cursor: move;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 20000;
    padding: 3px 10px;
    font-size: 12px;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid;
    border-radius: 3px;
    border-color: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    background-color: var(--dxds-color-surface-neutral-default-rest, var(--bs-body-bg));
    box-shadow: 0px 2px 4px 0px rgba(var(--bs-body-color-rgb), 36%);
}

.xaf-layouteditor-draggeditem-div.d-none {
    display: none;
}

/* The dragged source element, dimmed while in flight. */
.gnt-cf-host .xaf-layouteditor-dragging-element {
    opacity: 50%;
}

/* Drop cursors shown on the ghost (mirror XAF). */
.xaf-layouteditor-dropcursor-whole { cursor: all-scroll; }
.xaf-layouteditor-dropcursor-top { cursor: s-resize; }
.xaf-layouteditor-dropcursor-bottom { cursor: n-resize; }
.xaf-layouteditor-dropcursor-left { cursor: e-resize; }
.xaf-layouteditor-dropcursor-right { cursor: w-resize; }

/* Drop zone indicators - a 2px info line on the target edge, or a filled
   overlay for a whole-element (Inside) drop. Verbatim from XAF, matching
   both the item (:not(.dxbl-fl-gd,.dxbl-fl-gt)) and group variants. */
.gnt-cf-host .xaf-layouteditor-dropzone-bottom.dxbl-fl-gd::before,
.gnt-cf-host .xaf-layouteditor-dropzone-bottom.dxbl-fl-gt::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute; left: 0; right: 0;
    top: calc(100% - 1px + var(--dxbl-fl-group-spacing-y) * .5); height: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-top.dxbl-fl-gd::before,
.gnt-cf-host .xaf-layouteditor-dropzone-top.dxbl-fl-gt::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute; left: 0; right: 0;
    top: calc(-1px - var(--dxbl-fl-group-spacing-y) * .5); height: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-left.dxbl-fl-gd::before,
.gnt-cf-host .xaf-layouteditor-dropzone-left.dxbl-fl-gt::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute; top: 0; bottom: 0; left: 0; width: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-right.dxbl-fl-gd::before,
.gnt-cf-host .xaf-layouteditor-dropzone-right.dxbl-fl-gt::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute; top: 0; bottom: 0; left: calc(100% - 2px); width: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-bottom:not(.dxbl-fl-gd, .dxbl-fl-gt)::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute;
    top: calc(100% - 1px + var(--dxbl-row-item-spacing-y) * .5); left: 0; right: 0; height: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-top:not(.dxbl-fl-gd, .dxbl-fl-gt)::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute;
    top: calc(-1px - var(--dxbl-row-item-spacing-y) * .5); left: 0; right: 0; height: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-left:not(.dxbl-fl-gd, .dxbl-fl-gt)::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute; top: 0; bottom: 0; left: -1px; width: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-right:not(.dxbl-fl-gd, .dxbl-fl-gt)::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " "; position: absolute; top: 0; bottom: 0; left: calc(100% - 1px); width: 2px;
}
.gnt-cf-host .xaf-layouteditor-dropzone-whole::before {
    content: " "; position: absolute; top: 0; bottom: 0; left: 0; right: 0;
    background-color: rgba(var(--bs-info-rgb), 5%);
    border: 2px solid; border-radius: 2px;
    border-color: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    pointer-events: none;
}

/* Hidden-items drop zone in the dialog. */
.gnt-cf-host .xaf-layouteditor-dropzone-whole[data-gnt-hidden-drop]::before {
    inset: 0;
}

/* ===========================================================
 * Structure-tree drop indicators (XAF .xaf-layouteditor-menu
 * dropzone rules). Must live in global CSS: Blazor CSS isolation
 * cannot style DxTreeView internals without ::deep, and the
 * customization window portals outside the host.
 * =========================================================== */
.gnt-cf-window .dxbl-treeview-item-link,
.gnt-cf-struct-tree .dxbl-treeview-item-link {
    position: relative;
    user-select: none;
    -webkit-user-drag: none;
    cursor: grab;
}

.gnt-cf-host.xaf-layouteditor-mode-dragging .gnt-cf-window .dxbl-treeview-item-link,
.gnt-cf-window .dxbl-treeview-item-link:active {
    cursor: grabbing;
}

.gnt-cf-window .xaf-layouteditor-dropzone-bottom::before,
.gnt-cf-struct-tree .xaf-layouteditor-dropzone-bottom::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " ";
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 1px + var(--dxbl-treeview-item-spacing-y, 2px) * .5);
    height: 2px;
    pointer-events: none;
    z-index: 5;
}

.gnt-cf-window .xaf-layouteditor-dropzone-top::before,
.gnt-cf-struct-tree .xaf-layouteditor-dropzone-top::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " ";
    position: absolute;
    left: 0;
    right: 0;
    top: calc(-1px - var(--dxbl-treeview-item-spacing-y, 2px) * .5);
    height: 2px;
    pointer-events: none;
    z-index: 5;
}

.gnt-cf-window .xaf-layouteditor-dropzone-left::before,
.gnt-cf-struct-tree .xaf-layouteditor-dropzone-left::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " ";
    position: absolute;
    left: -1px;
    top: 0;
    width: 2px;
    height: 100%;
    pointer-events: none;
    z-index: 5;
}

.gnt-cf-window .xaf-layouteditor-dropzone-right::before,
.gnt-cf-struct-tree .xaf-layouteditor-dropzone-right::before {
    background: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    content: " ";
    position: absolute;
    left: calc(100% - 1px);
    top: 0;
    width: 2px;
    height: 100%;
    pointer-events: none;
    z-index: 5;
}

.gnt-cf-window .xaf-layouteditor-dropzone-whole::before,
.gnt-cf-struct-tree .xaf-layouteditor-dropzone-whole::before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(var(--bs-info-rgb, 13, 202, 240), 0.05);
    border: 2px solid;
    border-radius: 2px;
    border-color: var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
    pointer-events: none;
    z-index: 5;
}

/* Resize splitter injected between adjacent columns (XAF Resized): a thin
   dashed line that turns solid on hover, with a wide col-resize grab zone. */
.gnt-cf-host.design-mode .resize-splitter {
    content: " ";
    position: absolute;
    left: -1px;
    top: 0;
    width: 0px;
    height: 100%;
    /* Fallback rgb keeps the dashed line visible even when the theme has
       not defined --bs-body-color-rgb; alpha bumped slightly over XAF's
       0.16 so the separator reads clearly on the tinted design surface. */
    border: dashed 1px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.28);
}

.gnt-cf-host.design-mode .resize-splitter:hover {
    border: solid 1px var(--dxds-color-content-info-default-rest, var(--info, var(--bs-info)));
}

.gnt-cf-host.design-mode .resize-splitter-zone {
    content: " ";
    position: absolute;
    left: -5px;
    top: 0;
    width: 10px;
    height: 100%;
    z-index: 25;
    cursor: col-resize;
}

/* ---- SmartAI floating chat (#10923) -------------------------------
   Force DxAIChat internals to fill the resizable panel. Scoped CSS alone
   cannot pierce the child component root without ::deep; this global
   fallback covers theme/CSS-isolation edge cases. */
.smartai-panel .dxbl-chatui-root,
.smartai-panel .smartai-chat {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
}

.smartai-panel .dxbl-chatui-messages,
.smartai-panel .dxbl-chatui-scrollviewer,
.smartai-panel .dxbl-chatui-submitarea,
.smartai-panel .dxbl-chatui-submitarea-container,
.smartai-panel .dxbl-chatui-input,
.smartai-panel .dxbl-chatui-empty-area,
.smartai-panel .dxbl-chatui-emptystate,
.smartai-panel .dxbl-chatui-prompt-suggestions {
    width: 100% !important;
    max-width: none !important;
}

/* CrudPage context menus above DxPopup (pick dialogs). */
.center-crud-column-menu,
.center-row-context-menu {
    z-index: 12000 !important;
}

/*
 * Shared DxGrid chrome for every .center-crud-grid (CrudPage + workspace
 * panes). Lives in app.css because Blazor CSS isolation on CrudPage would
 * otherwise leave Attribute workspace grids without these theme fixes.
 *
 * Multi-select: Fluent uses a darker wash when a row is BOTH focused and
 * selected (--dxbl-grid-selection-focus-dark-*). Match the normal selection
 * highlight so every selected row looks the same (Warenkorb / stock-location
 * overview override this locally where they need different chrome).
 */
.center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge),
.center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) > td:not(.dxbl-grid-focused-cell) {
    background-color: var(--dxbl-grid-selection-bg) !important;
    color: var(--dxbl-grid-selection-color) !important;
}

.center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) > td:not(.dxbl-grid-focused-cell) * {
    color: inherit !important;
}

/* In-grid navigation links (stock-location overview, etc.). Keep the
   usual link color on normal rows; on focus/selection inherit the row
   foreground so red focus wash stays readable. */
.center-crud-grid .center-grid-link {
    color: var(--bs-link-color, #0d6efd);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.center-crud-grid .center-grid-link:hover {
    color: var(--bs-link-hover-color, #0a58ca);
}

.center-crud-grid tr.dxbl-grid-focused-row .center-grid-link,
.center-crud-grid tr.dxbl-grid-selected-row .center-grid-link,
.center-crud-grid tr.dxbl-grid-focused-row.dxbl-grid-selected-row .center-grid-link {
    color: inherit;
}

.center-crud-grid tr.dxbl-grid-focused-row .center-grid-link:hover,
.center-crud-grid tr.dxbl-grid-selected-row .center-grid-link:hover,
.center-crud-grid tr.dxbl-grid-focused-row.dxbl-grid-selected-row .center-grid-link:hover {
    color: inherit;
    opacity: 0.92;
}

/* Stock-location overview (frmLagerortÜbersicht parity): desktop uses a
   light-gray row highlight, not the default red DxGrid focus wash. */
.stock-locations-overview .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row,
.stock-locations-overview .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-selected-row,
.stock-locations-overview .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row,
.stock-locations-overview .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row > td {
    background-color: #eef0f3 !important;
    color: inherit !important;
}

.stock-locations-overview .center-crud-grid tr.dxbl-grid-focused-row .center-grid-link,
.stock-locations-overview .center-crud-grid tr.dxbl-grid-selected-row .center-grid-link,
.stock-locations-overview .center-crud-grid tr.dxbl-grid-focused-row.dxbl-grid-selected-row .center-grid-link {
    color: var(--bs-link-color, #0d6efd);
}

/*
 * Warenkorb grids: Fluent uses light pink for focus / inactive selection and
 * dark red when a row is both focused and selected. Scoped page CSS cannot
 * reliably beat theme rules — mirror the PDV grid override pattern here.
 */
.warenkorb-page .center-crud-grid-wrap,
.warenkorb-panel .center-crud-grid-wrap {
    --dxbl-grid-focus-color: #1a1a1a;
    --dxbl-grid-selection-focus-dark-color: #ffffff;
}

/* Light pink wash (focus-only or selected-only): dark text. */
.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row:not(.dxbl-grid-selected-row) > td,
.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-selected-row:not(.dxbl-grid-focused-row) > td,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row:not(.dxbl-grid-selected-row) > td,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-selected-row:not(.dxbl-grid-focused-row) > td {
    color: #1a1a1a !important;
}

.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row:not(.dxbl-grid-selected-row) > td *,
.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-selected-row:not(.dxbl-grid-focused-row) > td *,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row:not(.dxbl-grid-selected-row) > td *,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-selected-row:not(.dxbl-grid-focused-row) > td * {
    color: inherit !important;
}

/* Dark red active row (focused + selected): white text on row cells, not the active cell. */
.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge),
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) {
    background-color: var(--dxbl-grid-selection-focus-dark-bg) !important;
}

.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) > td:not(.dxbl-grid-focused-cell),
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) > td:not(.dxbl-grid-focused-cell) {
    background-color: var(--dxbl-grid-selection-focus-dark-bg) !important;
    color: #ffffff !important;
}

.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) > td:not(.dxbl-grid-focused-cell) *,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr.dxbl-grid-focused-row.dxbl-grid-selected-row:not(.dxbl-grid-touch-selection):not(.dxbl-grid-touch-selection-edge) > td:not(.dxbl-grid-focused-cell) * {
    color: inherit !important;
}

.warenkorb-page .center-crud-grid tr.dxbl-grid-focused-row.dxbl-grid-selected-row .center-grid-link,
.warenkorb-panel .center-crud-grid tr.dxbl-grid-focused-row.dxbl-grid-selected-row .center-grid-link {
    color: inherit;
}

/* Active cell keeps a light surface — always dark text (all row states). */
.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-focused-cell,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-focused-cell {
    color: #1a1a1a !important;
    background-color: #ffffff !important;
    box-shadow: inset 0 0 0 2px var(--dxbl-grid-selection-focus-dark-bg, #b71c1c);
    outline: none;
}

.warenkorb-page .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-focused-cell *,
.warenkorb-panel .center-crud-grid .dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-focused-cell * {
    color: inherit !important;
}

.warenkorb-page .center-crud-grid .dxbl-grid-cell-editor,
.warenkorb-page .center-crud-grid .dxbl-grid-cell-editor input,
.warenkorb-page .center-crud-grid .dxbl-grid-edit-cell input,
.warenkorb-page .center-crud-grid .dxbl-grid-edit-row [data-edit-cell] .dxbl-text-edit-input,
.warenkorb-page .center-crud-grid .dxbl-grid-editor-inplace-container [data-edit-cell] .dxbl-text-edit-input,
.warenkorb-page .center-crud-grid .dxbl-grid-edit-row [data-edit-cell] dxbl-input-editor,
.warenkorb-panel .center-crud-grid .dxbl-grid-cell-editor,
.warenkorb-panel .center-crud-grid .dxbl-grid-cell-editor input,
.warenkorb-panel .center-crud-grid .dxbl-grid-edit-cell input,
.warenkorb-panel .center-crud-grid .dxbl-grid-edit-row [data-edit-cell] .dxbl-text-edit-input,
.warenkorb-panel .center-crud-grid .dxbl-grid-editor-inplace-container [data-edit-cell] .dxbl-text-edit-input,
.warenkorb-panel .center-crud-grid .dxbl-grid-edit-row [data-edit-cell] dxbl-input-editor {
    color: #1a1a1a !important;
    background-color: #ffffff !important;
}

.warenkorb-page .center-crud-grid .dxbl-grid-edit-row > td[data-edit-cell],
.warenkorb-page .center-crud-grid .dxbl-grid-editor-inplace-container > td[data-edit-cell],
.warenkorb-panel .center-crud-grid .dxbl-grid-edit-row > td[data-edit-cell],
.warenkorb-panel .center-crud-grid .dxbl-grid-editor-inplace-container > td[data-edit-cell] {
    color: #1a1a1a !important;
}

.stock-locations-dialog {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.25rem 0;
}

.stock-locations-dialog__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.stock-locations-dialog__hint {
    margin: 0;
    color: var(--center-muted-text, #5f6b7a);
    font-size: 0.9rem;
}

.stock-locations-dialog__hint--small {
    font-size: 0.85rem;
}

.stock-locations-add-drawers-dialog {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.25rem 0 0.5rem;
}

.stock-locations-add-drawers-dialog__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.75rem;
}

.stock-locations-add-drawers-dialog__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
    font-size: 0.85rem;
}

.stock-locations-add-drawers-dialog__field--kuerzel {
    flex: 1 1 120px;
    min-width: 120px;
}

.stock-locations-add-drawers-dialog__field--spin {
    flex: 0 0 72px;
    width: 72px;
}

.stock-locations-add-drawers-dialog__query-wrap {
    flex: 1 1 180px;
    min-width: 180px;
    padding-bottom: 1px;
}

.stock-locations-add-drawers-dialog__actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.25rem;
}

.stock-locations-compartment-size-dialog {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.25rem 0 0.5rem;
}

.stock-locations-compartment-size-dialog__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
    font-size: 0.85rem;
}

.cabinet-editor {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem 1rem;
    max-width: 1100px;
}

.cabinet-editor__header {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto;
    gap: 0.75rem 1rem;
    align-items: end;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--gnt-border-subtle, #c8cdd6);
    border-radius: 3px;
    background: var(--gnt-surface-elevated, #f3f4f6);
}

.cabinet-editor__header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    min-height: 2rem;
}

.cabinet-editor__fieldset {
    border: 1px solid var(--gnt-border-subtle, #c8cdd6);
    border-radius: 3px;
    background: #fff;
    padding: 0.5rem 0.75rem 0.75rem;
}

.cabinet-editor__fieldset-title {
    margin: 0 0 0.5rem;
    padding-bottom: 0.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-bottom: 1px solid var(--gnt-border-subtle, #e2e5ea);
}

.cabinet-editor__control-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 1.25rem;
}

.cabinet-editor__control-col {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.cabinet-editor__middle-row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 0.75rem;
}

.cabinet-editor__structure-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    gap: 0.75rem;
    align-items: stretch;
}

.cabinet-editor__structure-body {
    display: grid;
    grid-template-columns: 182px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    min-height: 320px;
}

.cabinet-editor__field {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.cabinet-editor__field--header > span,
.cabinet-editor__field--inline > span,
.cabinet-editor__field--top > span {
    font-size: 0.78rem;
    color: var(--gnt-text-secondary, #4a5568);
    white-space: nowrap;
}

.cabinet-editor__field--inline {
    display: grid;
    grid-template-columns: 9.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem;
}

.cabinet-editor__field--top > span {
    margin-bottom: 0.1rem;
}

.cabinet-editor__field--checkbox {
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    min-height: 1.5rem;
}

.cabinet-editor__field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 0.75rem;
}

.cabinet-editor__notify-checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 0.75rem;
    margin-bottom: 0.35rem;
}

.cabinet-editor__color-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cabinet-editor__color {
    width: 2.5rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid var(--gnt-border-subtle, #c8cdd6);
    border-radius: 3px;
    background: transparent;
}

.cabinet-editor__color-value {
    font-size: 0.78rem;
    color: var(--gnt-text-secondary, #4a5568);
    font-family: Consolas, monospace;
}

.cabinet-editor__list {
    min-height: 300px;
    max-height: 360px;
    overflow: auto;
    border: 1px solid var(--gnt-border-subtle, #c8cdd6);
    border-radius: 3px;
}

.cabinet-editor__detail {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cabinet-editor__empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 1rem 0.5rem;
    color: var(--gnt-text-secondary, #4a5568);
    font-size: 0.9rem;
}

.cabinet-editor__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--gnt-border-subtle, #e2e5ea);
}

@media (max-width: 980px) {
    .cabinet-editor__header,
    .cabinet-editor__control-grid,
    .cabinet-editor__middle-row,
    .cabinet-editor__structure-row,
    .cabinet-editor__structure-body,
    .cabinet-editor__field-row,
    .cabinet-editor__notify-checks {
        grid-template-columns: 1fr;
    }

    .cabinet-editor__field--inline {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

.stock-location-barcode-print__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.stock-location-barcode-print__action {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
}

.stock-location-touch-wizard__status {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 10rem;
    text-align: center;
}

.stock-location-touch-wizard__status.is-success {
    color: var(--bs-success, #198754);
}

.stock-location-touch-wizard__status.is-error {
    color: var(--bs-danger, #dc3545);
}

.stock-location-touch-wizard__created-name {
    font-weight: 600;
    margin: 0.5rem 0 0;
}

/* Soft-deleted rows via CrudPage RowCssClass → "crud-row-deleted". */
.center-crud-grid .dxbl-grid tbody tr.crud-row-deleted,
.center-crud-grid .dxbl-grid tbody tr.crud-row-deleted td {
    color: #9ca3af;
    text-decoration: line-through;
}

.center-crud-grid .dxbl-grid tbody tr.crud-row-deleted:hover {
    cursor: default;
}

/*
 * AttributeClassList Werkzeugklassen grid (raw DxGrid, not CrudPage).
 * Without a bounded height VirtualScrolling uses max-height:10000px and
 * the vertical scrollbar never appears. Mirror detail-panel grid-wrap.
 */
.attributes-workspace__classes-grid {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    height: 0;
    min-height: 0;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.attributes-workspace__classes-grid .dxbl-grid,
.attributes-workspace__classes-grid .center-crud-grid {
    width: 100%;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
}

/*
 * MerkmalWerteGrid — child of AttributeClassDetailPanel; scoped parent CSS
 * does not reach this root. Same Height=100% / VirtualScrolling contract.
 */
.merkmal-werte-grid {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    height: 0;
    min-height: 0;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.merkmal-werte-grid__table-wrap {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    height: 0;
    min-height: 0;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.merkmal-werte-grid__table-wrap .dxbl-grid,
.merkmal-werte-grid__table-wrap .center-crud-grid {
    width: 100%;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
}

/*
 * MerkmalWerteGrid pane caption — parent AttributeClassDetailPanel scoped
 * CSS does not reach this child; mirror Assigned / All / Werkzeugklassen.
 */
.merkmal-werte-grid .attribute-class-detail-panel__pane-header {
    flex: 0 0 auto;
    min-height: 28px;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
    min-width: 0;
    width: 100%;
}

.merkmal-werte-grid .attribute-class-detail-panel__pane-title {
    flex: 1 1 auto;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.25;
    min-width: 0;
}

.merkmal-werte-grid .attributes-workspace__add-class {
    flex: 0 0 auto;
    min-width: 28px;
    margin-left: auto;
}

/* Compact type icons in attribute grids — match DxGrid SizeMode.Small row. */
.attributes-status-cell {
    width: 14px;
    height: 14px;
    line-height: 0;
}

.attributes-class-abbr-cell {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-height: 14px;
    line-height: 1;
    vertical-align: middle;
}

.attributes-class-abbr-cell .gnt-icon,
.attributes-status-cell .gnt-icon {
    width: 12px !important;
    height: 12px !important;
    display: block;
}

/* CrudPickDialog footer: DxPopup teleports content; use a single gap only. */
.crud-pick-dialog__footer {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* Attributes — hide DxGrid FixedOnTop "Click here to add a new row" until
   context-menu add sets .attribute-all-grid--adding (global CSS: DxGrid CssClass
   does not receive Blazor scoped attributes, so component CSS isolation fails). */
.attribute-all-grid:not(.attribute-all-grid--adding) {
    --dxbl-grid-top-fixed-body-height: 0px;
}

.attribute-all-grid:not(.attribute-all-grid--adding) .dxbl-grid-top-fixed-body,
.attribute-all-grid:not(.attribute-all-grid--adding) .dxbl-grid-edit-new-item-row {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Article documents: never show the native browser file picker chrome. */
.article-documents-tab__file-host,
.article-documents-tab__file-host input[type="file"] {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ===========================================================
 * GntLookupPropertyEditor (XAF Search Lookup)
 * Shared scoped CSS is not linked from App.razor, so chrome for
 * this control lives here. DxTextBox.ReadOnly uses a transparent
 * .dxbl-readonly background — restore the editable editor chrome.
 * =========================================================== */
.gnt-lookup-editor {
    display: block;
    width: 100%;
    min-width: 0;
}

.gnt-lookup-editor dxbl-input-editor.dxbl-text-edit,
.gnt-lookup-editor .dxbl-text-edit {
    width: 100%;
    background-color: rgb(255, 255, 254) !important;
    opacity: 1 !important;
}

.gnt-lookup-editor .dxbl-text-edit-input {
    cursor: default;
}

/* Add-article picker — DevExpress popup is portaled; global CSS only. */
.kwz-tool-picker-popup.dxbl-popup,
.kwz-tool-picker-popup {
    width: 80vw !important;
    max-width: 80vw !important;
    height: 80vh !important;
    max-height: 80vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box;
}

.kwz-tool-picker-popup .dxbl-popup-header,
.kwz-tool-picker-popup .dxbl-popup-footer {
    flex: 0 0 auto !important;
}

.kwz-tool-picker-popup .dxbl-popup-body,
.kwz-tool-picker-popup .kwz-tool-picker-popup__body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.kwz-tool-picker-popup .dxbl-popup-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0.75rem !important;
    box-sizing: border-box !important;
}

.kwz-tool-picker-popup .dxbl-popup-content > * {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

/* DxGrid/DxTreeList internal scroll area */
.kwz-tool-picker-popup .kwz-tool-picker__pane-host .dxbl-grid,
.kwz-tool-picker-popup .kwz-tool-picker__pane-host .dxbl-treelist {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
}

.kwz-tool-picker-popup .kwz-tool-picker__pane-host .dxbl-grid-table-wrapper {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
}

.kwz-tool-picker-popup .kwz-tool-picker__pane-host .dxbl-scroll-view {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
}

@media print {
    body > *:not(#stock-location-barcode-print-area) {
        display: none !important;
    }

    #stock-location-barcode-print-area {
        display: block !important;
        padding: 12mm;
    }

    .stock-location-barcode-print__label {
        font: 14pt/1.4 "Inter", sans-serif;
        margin-bottom: 8mm;
        page-break-inside: avoid;
    }
}
