html, body {
    height: 100%;
}

app {
    display: block;
    height: 100%;
}

.header-logo {
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../images/Logo.svg');
    mask: url('../images/Logo.svg');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    /* Breite folgt dem Schriftzug in Logo.svg (74px). Vorher 28px fuer das dreibuchstabige
       Zeichen der Projektvorlage; ein schmalerer Rahmen wuerde den Zug abschneiden. */
    width: 74px;
    height: 24px;
}

/* Eingebettete Listen in DetailViews: die Höhe setzt nestedGridResizer.js an div.grid-content.
   Hier wird nur der Deckel aufgehoben, den XAF eingebetteten Gittern verpasst (max-height 300px)
   -- ohne das bliebe das Gitter bei 300 px stehen, auch wenn sein Container größer ist. */
.xaf-stretch-grid {
    max-height: none !important;
    height: 100% !important;
}

/* A thin frame around a whole tab block - tab strip and content together (01.10.2026: the
   "Kunde / Lieferadresse" block of the service job). Set on a TabbedGroup through
   CustomCSSClassName in the model. The colour is a wash of the text colour, so the light and
   the dark theme both keep it subtle. */
.lh-framed-tabs {
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: 6px;
    padding: 4px 8px 8px;
}

/* DevExpress sizes every caption of a form to its longest visible caption (the CSS variable
   --dxbl-fl-caption-width-large-screen on the form layout). A tab block counts only its open
   tab, so switching "Kunde"/"Lieferadresse" changed that width and every editor above and below
   slid sideways (01.10.2026). A floor at the longest caption of the field column - "Straße
   (Lieferung)", 126px at 14px - keeps it still. Set on a group through CustomCSSClassName; a
   longer caption added later wins over the floor and would bring the jump back. */
.lh-caption-min .dxbl-fl-cpt {
    min-width: 9rem;
}

/* Die Spalten des Mapping-Registers auseinanderrücken: die beiden Mapping-Spalten und die
   Spaltenübersicht daneben. XAF gibt jedem Container 6px, das verwischt die Trennung.
   Hier stand zeitweise auch eine Regel, die die Beschriftungen auf ihre Textbreite zwang.
   XAF lässt alle Beschriftungen einer Spalte auf die Breite der längsten wachsen, was bei
   den früheren Texten ("Mapping für 'eindeutigen Artikel-Index (innerhalb der Preisliste)'")
   532px ergab und die Editoren weit nach rechts schob. Seit die Beschriftungen gekürzt sind,
   ist die einheitliche Breite das bessere Verhalten -- die Editoren stehen wieder auf einer
   Linie -- und die Regel ist entfallen. */
dxbl-form-layout-group:has(> .dxbl-row > dxbl-form-layout-item > label[class*="xaf-item-mapping_"]),
dxbl-form-layout-item:has(> label[class*="xaf-item-columnoverview"]) {
    padding-left: 20px;
    padding-right: 20px;
}

#blazor-error-ui {
    background: inherit;
    bottom: 0;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100001;
}