/* /Components/Features/Administration/Pages/BmdStundenImport.razor.rz.scp.css */
/* User Story 7068, ADR 7068-D: feste sichtbare Hoehe mit eigenem Rollbereich und Festbreitenschrift
   fuer das Vorschau-/Bearbeitungsfeld -- dieselbe Bauform wie die Hoehenbegrenzung der
   Logfiles-Tabelle (ADR 6887-C), hier als feste Pixelhoehe statt berechneter Restfensterhoehe: das
   Feld ist kein Tabellenraster mit eigener Pagination, sondern ein einzelnes Formularelement, dessen
   Groesse unabhaengig von der Zeilenzahl bleiben soll (AC5). ::deep, da MudTextField sein internes
   textarea-Element selbst rendert (dasselbe Vorgehen wie bei MudDataGrid in Logfiles.razor.css). */
.ec-bmd-vorschau[b-b3vnuh7qts]  textarea {
    font-family: 'Consolas', 'Courier New', monospace;
    max-height: 420px;
    overflow-y: auto;
}
/* /Components/Features/Administration/Pages/Logfiles.razor.rz.scp.css */
/* Issue 7303, ADR 7301-B A/D: die Bildschirmhoehe der Seite entsteht seither aus der gemeinsamen
   Gestaltungsschicht (ec-scrollbereich-seite/-aussen/-innen in der globalen Formatvorlagendatei),
   nicht mehr aus einer eigenen Rechnung an dieser Stelle. Die zuvor hier gefuehrte Formel war zur
   gemeinsamen rechnerisch gleichwertig, zog aber unterhalb 600 px den dort bestehenden unteren
   Freiraum des Inhaltsbereichs nicht ab (ADR 6576-H, 80 px fuer den fest positionierten Ausloeser)
   und ueberzog dadurch genau um diesen Betrag. Auch die Unterdrueckung des Seitenueberlaufs ist
   entfallen (ADR 7301-B E): sie machte einen etwaigen Ueberstand unerreichbar, statt ihn ueber den
   gewoehnlichen Bildlauf des Dokuments zugaenglich zu lassen.

   Was hier bleibt, sind die Mindestbreiten je Spalte -- die einzige Ausnahme von der Regel, keine
   Spaltenbreiten zu setzen, und zwar mit benanntem Grund: nur hier kann der Anwender Spaltenbreiten
   selbst veraendern, ohne Mindestbreite liesse sich eine Spalte auf null ziehen (ADR 7301-D C,
   ADR 6887-B C). Column<T> bietet dafuer selbst keine Eigenschaft, weshalb die Klassen ueber
   HeaderClass/CellClass an vom Rasterbauteil erzeugte Elemente gehen und der Durchgriff (::deep)
   noetig ist. Als Ansatzpunkt dafuer dient das Wurzelelement der Seite, das dazu neben dem
   gemeinsamen Merkmal einen eigenen, ausschliesslich hierfuer gesetzten Marker traegt -- der
   Durchgriff haengt damit nicht am gemeinsamen Merkmal, dessen Rolle die Hoehe ist. Die schmalen
   Spalten (Herkunft, Stufe) sind deutlich schmaler als die Zeitpunktspalte, die Nachrichtenspalte
   am breitesten. */
/* Issue 7303, ADR 7301-C C: Mindesthoehe des Bildlaufbereichs als Rueckfallebene fuer kleine
   Ansichtsfenster -- unterschritten sie, bliebe fuer das Raster zwischen der umfangreichen
   Auswahlleiste darueber und der Blaetterleiste darunter nur ein Rest von wenigen Pixeln. Der Wert
   ist eine gewaehlte Gestaltungsgroesse, keine Herleitung, und bleibt gegenueber Ansichten mit
   hoeheren Zeilen bewusst niedriger: die Zeilen dieser Ansicht sind gleichmaessig flach. Er steht
   hier statt am gemeinsamen Zusatzmerkmal, weil er je Ansicht mit benanntem Grund gewaehlt wird.
   Greift er, ueberzieht der Bereich den sichtbaren Ausschnitt und die Seite scrollt -- unschaedlich,
   da auf Seitenebene kein Ueberlauf mehr unterdrueckt wird (ADR 7301-B E). */
.ec-logfiles-seite[b-cf9n4poeua]  .ec-scrollbereich-aussen {
    min-height: 220px;
}

.ec-logfiles-seite[b-cf9n4poeua]  .ec-logfiles-col-zeitpunkt {
    min-width: 170px;
}

.ec-logfiles-seite[b-cf9n4poeua]  .ec-logfiles-col-herkunft {
    min-width: 110px;
}

.ec-logfiles-seite[b-cf9n4poeua]  .ec-logfiles-col-stufe {
    min-width: 100px;
}

.ec-logfiles-seite[b-cf9n4poeua]  .ec-logfiles-col-kategorie {
    min-width: 130px;
}

.ec-logfiles-seite[b-cf9n4poeua]  .ec-logfiles-col-nachricht {
    min-width: 260px;
}
/* /Components/Features/Identity/Passwortfeld.razor.rz.scp.css */
/* ADR 7940-A A3: der Umschalter steht im Markup hinter dem Eingabefeld (natürliche
   Tabulatorreihenfolge) und wird hier optisch an den rechten Innenrand des Feldes gesetzt,
   vertikal mittig auf der Eingabezeile eines Outlined-Feldes ohne Margin (18,5 px Innenabstand oben
   und unten um eine Textzeile, zusammen rund 56 px). Hilfe- und Fehlertext liegen unterhalb der
   Eingabezeile und werden nicht überdeckt. Keine eigenen Farbwerte, Farbe und Zustände kommen aus
   dem Theme. ::deep, weil MudTextField und MudIconButton ihr Markup selbst rendern. */
.passwortfeld[b-b50nhzf2vn] {
    position: relative;
}

.passwortfeld[b-b50nhzf2vn]  .passwortfeld-eingabe input {
    padding-right: 44px;
    padding-inline-end: 44px;
}

.passwortfeld[b-b50nhzf2vn]  .passwortfeld-umschalter {
    position: absolute;
    top: 28px;
    right: 8px;
    inset-inline-end: 8px;
    transform: translateY(-50%);
}
/* /Components/Features/Oberdeck/Oberdeck.razor.rz.scp.css */
/* NFR (Story #5871): Kachel-Grid passt sich der Fensterbreite an -- mindestens 1 Spalte
   unterhalb 720px, sonst mehrspaltig. Die MudBlazor-Standard-Breakpoints (600px/960px) koennen
   diese Schwelle nicht ausdruecken, daher scoped CSS-Grid statt MudGrid (ADR 5871-E). */
.oberdeck-grid[b-en86se021a] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
    margin-top: 8px;
}

@media (max-width: 720px) {
    .oberdeck-grid[b-en86se021a] {
        grid-template-columns: 1fr;
    }
}

.oberdeck-hero-text[b-en86se021a] {
    max-width: 720px;
}
/* /Components/Features/Oberdeck/OberdeckKachel.razor.rz.scp.css */
/* Issue 7234: die Klassen dieser Datei standen zuvor ausschliesslich an MudBlazor-Bauteilen
   (MudCard, MudCardContent, MudAvatar, MudText, MudCardActions). Diese erhalten das
   Auszeichnungsmerkmal einer bauteilgebundenen Formatvorlage nie, weshalb saemtliche Regeln
   wirkungslos blieben. Traeger ist jetzt die Huelle .oberdeck-kachel (ein echtes Element dieser
   Auszeichnung); was an einem Bauteil der Oberflaechenbibliothek haengt, wird ueber die
   Tiefen-Auswahl ::deep angesprochen -- dasselbe Vorgehen wie in Logfiles.razor.css. */

/* display: contents laesst die Huelle selbst keine Box bilden. Damit bleibt die Karte das
   Rasterfeld von .oberdeck-grid und erhaelt ihre volle Zeilenhoehe weiterhin aus dem Raster
   (align-items: stretch), ohne eine eigene Hoehenangabe zu brauchen. */
.oberdeck-kachel[b-klsca3g0jn] {
    display: contents;
}

.oberdeck-kachel-akzent[b-klsca3g0jn] {
    height: 5px;
}

.oberdeck-kachel-chips[b-klsca3g0jn] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.oberdeck-kachel[b-klsca3g0jn]  .oberdeck-kachel-icon {
    margin-bottom: 12px;
}

.oberdeck-kachel[b-klsca3g0jn]  .oberdeck-kachel-beschreibung {
    margin-top: 4px;
}

/* NFR3: Anordnung und Ausrichtung des Fussbereichs liefert die Oberflaechenbibliothek bereits
   selbst (.mud-card-actions traegt display: flex und align-items: center). Von der
   urspruenglichen Regel bleibt daher nur der Zwischenraum uebrig. Ebenso entfallen die Angaben
   zu Kartenhoehe und Spaltenfluss ersatzlos: .mud-card setzt bereits display: flex und
   flex-direction: column, .mud-card-content bereits flex-grow: 1. */
.oberdeck-kachel[b-klsca3g0jn]  .oberdeck-kachel-fuss {
    gap: 10px;
}
/* /Components/Features/Oberdeck/Prozesskette.razor.rz.scp.css */
.oberdeck-kette-reihe[b-p8mld3uknw] {
    display: flex;
    align-items: stretch;
    gap: 10px;
    flex-wrap: wrap;
}

.oberdeck-kette-glied[b-p8mld3uknw] {
    flex: 1;
    min-width: 200px;
    text-align: center;
}

/* Issue 7234: Beschriftung und Pfeil haengen an MudText bzw. MudIcon. Bauteile erhalten das
   Auszeichnungsmerkmal einer bauteilgebundenen Formatvorlage nie, weshalb beide Regeln zuvor
   wirkungslos blieben. Sie werden jetzt ueber die Tiefen-Auswahl von den umgebenden echten
   Elementen aus angesprochen. */
.oberdeck-kette-glied[b-p8mld3uknw]  .oberdeck-kette-label {
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.oberdeck-kette-reihe[b-p8mld3uknw]  .oberdeck-kette-pfeil {
    align-self: center;
}

@media (max-width: 640px) {
    .oberdeck-kette-reihe[b-p8mld3uknw]  .oberdeck-kette-pfeil {
        transform: rotate(90deg);
    }
}
/* /Components/Features/ProcessDocumentation/MasterWorkflowDialog.razor.rz.scp.css */
/* User Story 6496, ADR 6496-E: Farbwerte und Raster des Original-Prototyps
   (docs/basisdaten/20260716/EC_WorkloadManager.html, WF_DATA) unveraendert uebernommen,
   nicht auf die MudBlazor-Theme-Palette abgebildet. Gilt ausschliesslich innerhalb dieses
   Dialogs (CSS-Isolation). */

.mw-header[b-gqnktw1dby] {
    margin-bottom: 16px;
}

.mw-header-title[b-gqnktw1dby] {
    font-size: 17px;
    font-weight: 700;
    color: #0C2340;
}

.mw-header-sub[b-gqnktw1dby] {
    font-size: 13px;
    color: #9CA3AF;
    margin-top: 2px;
}

.mw-pflichtregel[b-gqnktw1dby] {
    background: #FCEBEB;
    border: 1px solid #F7C1C1;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    color: #791F1F;
    margin-bottom: 14px;
    display: flex;
    gap: 8px;
}

.mw-pflichtregel-icon[b-gqnktw1dby] {
    font-size: 16px;
}

.mw-phase-bar[b-gqnktw1dby] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.mw-phase-btn[b-gqnktw1dby] {
    padding: 12px 8px;
    border-radius: 8px;
    border: 1.5px solid #D8DCE2;
    background: #fff;
    cursor: pointer;
    text-align: center;
    transition: all .15s;
    font: inherit;
    color: inherit;
}

.mw-phase-btn:hover[b-gqnktw1dby] {
    border-color: #378ADD;
    background: #F0F7FF;
}

.mw-phase-btn--on[b-gqnktw1dby] {
    border-color: #185FA5;
    background: #E6F1FB;
}

.mw-phase-num[b-gqnktw1dby] {
    font-size: 12px;
    font-weight: 600;
    color: #9CA3AF;
    margin-bottom: 3px;
}

.mw-phase-lbl[b-gqnktw1dby] {
    font-size: 14px;
    font-weight: 600;
    color: #0C2340;
}

.mw-phase-sub[b-gqnktw1dby] {
    font-size: 12px;
    color: #6B7280;
    margin-top: 2px;
}

.mw-flow-row[b-gqnktw1dby] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.mw-flow-box[b-gqnktw1dby] {
    flex: 1;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #6B7280;
    padding: 5px 4px;
    background: #F5F6F8;
    border-radius: 4px;
    border: 0.5px solid #D8DCE2;
}

.mw-flow-box--on[b-gqnktw1dby] {
    background: #E6F1FB;
    color: #185FA5;
    border-color: #378ADD;
    font-weight: 600;
}

.mw-flow-sep[b-gqnktw1dby] {
    color: #9CA3AF;
    font-size: 14px;
}

/* Issue 7234: .mw-card haengt an MudPaper. Ein Bauteil erhaelt das Auszeichnungsmerkmal einer
   bauteilgebundenen Formatvorlage nie, weshalb Abstand und Eckbeschnitt zuvor wirkungslos
   blieben. overflow: hidden muss an dem Element sitzen, das die Eckenrundung traegt (der Karte
   selbst), und laesst sich deshalb nicht auf eine Huelle verschieben -- daher die Tiefen-Auswahl
   vom umgebenden echten Element .mw-karten aus. */
.mw-karten[b-gqnktw1dby]  .mw-card {
    margin-bottom: 14px;
    overflow: hidden;
}

.mw-card-header[b-gqnktw1dby] {
    padding: 10px 16px;
    background: #F5F6F8;
    border-bottom: 1px solid #D8DCE2;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mw-card-title[b-gqnktw1dby] {
    font-size: 15px;
    font-weight: 600;
    color: #0C2340;
}

.mw-gate[b-gqnktw1dby] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 99px;
    font-size: 13px;
    font-weight: 600;
}

.mw-gate--gold[b-gqnktw1dby] {
    background: #FAEEDA;
    color: #633806;
}

.mw-gate--gruen[b-gqnktw1dby] {
    background: #E1F5EE;
    color: #085041;
}

.mw-gate--blau[b-gqnktw1dby] {
    background: #E6F1FB;
    color: #0C447C;
}

.mw-detail-items[b-gqnktw1dby] {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mw-detail-item[b-gqnktw1dby] {
    font-size: 13px;
    color: #4B5563;
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.mw-detail-item[b-gqnktw1dby]::before {
    content: "→";
    color: #9CA3AF;
    flex-shrink: 0;
}

.mw-lanes[b-gqnktw1dby] {
    display: grid;
    gap: 0;
}

.mw-lane[b-gqnktw1dby] {
    display: grid;
    grid-template-columns: 130px 1fr;
    border-bottom: 0.5px solid #F0F1F3;
}

.mw-lane:last-child[b-gqnktw1dby] {
    border-bottom: none;
}

.mw-lane-lbl[b-gqnktw1dby] {
    padding: 10px 12px;
    background: #FAFBFC;
    border-right: 0.5px solid #F0F1F3;
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.mw-lane--tools[b-gqnktw1dby] {
    background: #F0F4FF;
}

.mw-lane--tools .mw-lane-lbl[b-gqnktw1dby] {
    background: #E6EDFF;
    border-right-color: #C7D7F5;
}

.mw-lane--tools .mw-lane-name[b-gqnktw1dby] {
    color: #3730A3;
    font-weight: 600;
}

.mw-lane--tools .mw-step[b-gqnktw1dby] {
    background: #EEF2FF;
    border-color: #C7D7F5;
    color: #3730A3;
    font-weight: 500;
}

.mw-dot[b-gqnktw1dby] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 3px;
}

.mw-role-kunde .mw-dot[b-gqnktw1dby] {
    background: #378ADD;
}

.mw-role-sales-bd .mw-dot[b-gqnktw1dby] {
    background: #1D9E75;
}

.mw-role-commercial .mw-dot[b-gqnktw1dby] {
    background: #BA7517;
}

.mw-role-engineering .mw-dot[b-gqnktw1dby] {
    background: #888780;
}

.mw-role-projektleitung .mw-dot[b-gqnktw1dby] {
    background: #E24B4A;
}

.mw-role-pmo-dc .mw-dot[b-gqnktw1dby] {
    background: #6366F1;
}

.mw-role-tools-ecwm .mw-dot[b-gqnktw1dby] {
    background: #6366F1;
}

.mw-lane-name[b-gqnktw1dby] {
    font-size: 13px;
    font-weight: 500;
    color: #1A2332;
}

.mw-lane-content[b-gqnktw1dby] {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mw-step[b-gqnktw1dby] {
    padding: 6px 10px;
    border-radius: 6px;
    border: 0.5px solid #E5E7EB;
    background: #fff;
    font-size: 13px;
    color: #1A2332;
}

.mw-subworkflows[b-gqnktw1dby] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 12px 16px;
    border-top: 0.5px solid #F0F1F3;
}

.mw-sub[b-gqnktw1dby] {
    padding: 6px 10px;
    border-radius: 6px;
    background: #F5F6F8;
    border: 0.5px solid #E5E7EB;
    font-size: 13px;
    color: #4B5563;
    text-align: center;
}
/* /Components/Features/ProcessDocumentation/Sop001Dialog.razor.rz.scp.css */
/* User Story 6813 (ADR 6813-D): Goldwert der Vorlage (#C9A227) sowie die uebrigen Farbwerte des
   Umsetzungsvorschlags (siehe Work Item 6813, Abschnitt Umsetzungsvorschlag) unveraendert
   uebernommen -- die Theme-Palette fuehrt weder den geforderten Goldton noch die dort verwendeten
   Pastelltoene (analog ADR 6496-E). Gilt ausschliesslich innerhalb dieses Dialogs (CSS-Isolation).
   Kartenraender folgen den uebrigen Design-Vorgaben (rahmenbasiert statt Schatten, MudPaper
   Outlined="true" Elevation="0") -- hier werden nur Hintergrund-/Textfarben der Sonderkarten
   ergaenzt. */

.sop-header[b-vplfyf2ho5] {
    background: linear-gradient(135deg, #C9A227, #856404);
    color: #fff;
    padding: 16px 24px;
    margin: -16px -24px 16px;
    border-radius: 4px 4px 0 0;
}

.sop-header-eyebrow[b-vplfyf2ho5] {
    font-size: 11px;
    opacity: .85;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.sop-header-title[b-vplfyf2ho5] {
    font-size: 17px;
    font-weight: 800;
    margin-top: 2px;
}

/* Issue 7234: die Abschnittskarten sind MudPaper. Ein Bauteil erhaelt das Auszeichnungsmerkmal
   einer bauteilgebundenen Formatvorlage nie, weshalb Innenabstand, Abstand und die beiden
   Farbhervorhebungen zuvor wirkungslos blieben. Grund, Rahmen und Innenabstand gehoeren an die
   Karte selbst und lassen sich nicht auf eine Huelle verschieben, daher die Tiefen-Auswahl vom
   umgebenden echten Element .sop-karten aus. */
.sop-karten[b-vplfyf2ho5]  .sop-card {
    padding: 14px 18px;
    margin-bottom: 14px;
}

.sop-card-label[b-vplfyf2ho5] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.sop-karten[b-vplfyf2ho5]  .sop-card--zweck {
    background: #FFF8E1;
    border-color: #C9A227 !important;
}

.sop-card--zweck .sop-card-label[b-vplfyf2ho5] {
    color: #856404;
}

.sop-card-label--navy[b-vplfyf2ho5] {
    color: #0D4F8C;
}

.sop-card-label--gruen[b-vplfyf2ho5] {
    color: #1A6B35;
}

.sop-karten[b-vplfyf2ho5]  .sop-card--bestaetigung {
    background: #EAFAF1;
    border-color: #A8D5B5 !important;
}

.sop-ablauf[b-vplfyf2ho5] {
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
}

.sop-ordner-grid[b-vplfyf2ho5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.sop-ordner-eintrag[b-vplfyf2ho5] {
    background: #E8F0FC;
    color: #0D4F8C;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 600;
}

.sop-benutzer-label[b-vplfyf2ho5] {
    font-size: 11px;
    color: #8A95A3;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.sop-benutzer-name[b-vplfyf2ho5] {
    font-size: 14px;
    font-weight: 600;
    color: #1A2B4A;
}
/* /Components/Features/ProcessDocumentation/Sop001Launcher.razor.rz.scp.css */
/* User Story 6813 (ADR 6813-D): Goldwert der Vorlage (#C9A227) -- die Theme-Palette fuehrt unter
   "Warning" nur ein dunkles Braun (#856404), das auf der Navy-Kopfleiste weder gelb wirkt noch
   ausreichend abgesetzt ist (derselbe Fall wie ADR 6496-E). Kontrast #1A2B4A auf #C9A227 rund
   5,9:1, oberhalb der WCAG-AA-Normaltext-Schwelle 4,5:1. Gilt ausschliesslich fuer diese
   Schaltflaeche (CSS-Isolation). */

/* Issue 7234: die Auszeichnung dieses Bauteils enthielt kein einziges echtes Element, weshalb das
   Auszeichnungsmerkmal ueberhaupt keinen Traeger hatte und beide Regeln wirkungslos blieben.
   Traeger ist jetzt die Huelle .sop-launcher; die Schaltflaeche wird von dort ueber die
   Tiefen-Auswahl angesprochen. Die Huelle bildet keine eigene Box (display: contents) und
   veraendert die Anordnung in der Kopfleiste damit nicht. */
.sop-launcher[b-9q47t8pylb] {
    display: contents;
}

.sop-launcher[b-9q47t8pylb]  .sop-launcher-btn {
    background-color: #C9A227;
    color: #1A2B4A;
}

.sop-launcher[b-9q47t8pylb]  .sop-launcher-btn:hover {
    background-color: #B08F22;
}
/* /Components/Features/ProjectGovernance/Pages/WeeklyReportPrint.razor.rz.scp.css */
/* Story 6473, AC4: dezente optische Trennung der Bereiche in der Druckansicht durch eine
   Trennlinie vor jeder Abschnittsueberschrift -- bewusst sparsamer als die Kartenoptik des
   Dialogs (kein Hintergrund, keine Umrandung, geringer Tintenverbrauch), 1px-Rahmenfarbe gemaess
   /Startseite/Workloadmanager/Architektur/Design-Vorgaben. */

/* Issue 7234: die Klasse lag zuvor an MudText. Ein Bauteil erhaelt das Auszeichnungsmerkmal
   einer bauteilgebundenen Formatvorlage nie, weshalb die Trennlinien im Druckbild fehlten. Sie
   sitzt jetzt an einer echten Huelle unmittelbar um die jeweilige Abschnittsueberschrift. */

.wr-print-section-title[b-hzokerp81p] {
    border-top: 1px solid var(--mud-palette-lines-default, #CBD2DC);
    padding-top: 12px;
    margin-top: 12px;
}
/* /Components/Features/ProjectGovernance/WeeklyReportInhalt.razor.rz.scp.css */
/* Story 6473, AC3: optische Trennung der Bereiche im Weekly-Report-Dialog ueber eigene
   Abschnitts-Container (Karten) mit Rahmen und farbigem linkem Akzentrahmen je Kategorie --
   analog zum KPI-Karten-Muster (.kp) und dem bestehenden Akzentrahmen-Muster (Claims.razor) aus
   /Startseite/Workloadmanager/Architektur/Design-Vorgaben.

   Issue 6808, ADR 6808-C E: mit der Inhaltskomponente WeeklyReportInhalt hierher umgezogen (reine
   Verschiebung, keine Ueberarbeitung) -- Blazor CSS-Isolation bindet an die Komponente, die das
   Markup traegt. */

/* Issue 7234: die Abschnitts-Container sind MudPaper, die Abschnittsueberschriften MudText. Ein
   Bauteil erhaelt das Auszeichnungsmerkmal einer bauteilgebundenen Formatvorlage nie, weshalb die
   kategorieweise Farbunterscheidung zuvor vollstaendig fehlte -- alle Abschnitte sahen gleich
   aus. Rahmen und Schriftfarbe gehoeren an die jeweiligen Bauteile selbst und lassen sich nicht
   auf eine Huelle verschieben, daher die Tiefen-Auswahl vom umgebenden echten Element
   .wr-abschnitte aus. */

.wr-abschnitte[b-bpd03jarcj]  .wr-section {
    border-radius: 6px;
    border-left-width: 4px;
    border-left-style: solid;
    border-left-color: var(--mud-palette-primary);
}

.wr-abschnitte[b-bpd03jarcj]  .wr-section--risks {
    border-left-color: var(--mud-palette-error);
}

.wr-abschnitte[b-bpd03jarcj]  .wr-section--decisions {
    border-left-color: var(--mud-palette-warning);
}

.wr-abschnitte[b-bpd03jarcj]  .wr-section--escalations {
    border-left-color: var(--mud-palette-secondary);
}

.wr-abschnitte[b-bpd03jarcj]  .wr-section--milestones {
    border-left-color: var(--mud-palette-success);
}

.wr-abschnitte[b-bpd03jarcj]  .wr-section-title {
    color: var(--mud-palette-primary);
}
/* /Components/Features/ProjectManagement/GefahrenanalyseInhalt.razor.rz.scp.css */
/* User Story 7665, AK1/AK8: Absetzung einer Gefahrenklasse, die der Regelsatz nicht verlaesslich
   besetzt. Bewusst farblos gehalten -- die drei Klassenfarben bleiben den Klassen selbst
   vorbehalten, und die Kennzeichnung meint hier keine Klasse. Erkennbar ist der Zustand ueber die
   gestrichelte Umrandung, den gedeckten Ton und vor allem ueber den Wortlaut in Spaltenkopf und
   Feldern, also nicht allein ueber Farbe. */
.gefahrenanalyse-klasse-fehlt[b-2e87r0ic02] {
    border: 1px dashed var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-style: italic;
}
/* /Components/Features/ProjectManagement/Pages/GefahrenanalyseDruck.razor.rz.scp.css */
/* User Story 7460, ADR 7460-A: Druck-Stylesheet des Gefahrenanalyse-Blatts als Blazor-CSS-Isolation,
   gleiche Bauform wie beim Projektdatenblatt. Optik (1px-Rahmen statt Schatten, Navy als Farbe der
   Themenrolle Primary) gemaess /Startseite/Workloadmanager/Architektur/Design-Vorgaben; Aufbau und
   Reihenfolge nach dem Umsetzungsvorschlag der Story.

   Die Tiefen-Auswahl (::deep) ist an mehreren Stellen noetig: MudSimpleTable, MudText und der
   eingebettete Ergebnisbaustein sind Bauteile und erhalten das Auszeichnungsmerkmal einer
   bauteilgebundenen Formatvorlage nie. Anker ist jeweils das echte Element .ec-ga-druck. */

.ec-ga-druck[b-k1g8x1shcm] {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px;
}

.ec-ga-druck-toolbar[b-k1g8x1shcm] {
    margin-bottom: 1.5rem;
}

.ec-ga-druck-kopf[b-k1g8x1shcm] {
    border-bottom: 2px solid var(--mud-palette-primary, #0D4F8C);
    padding-bottom: 8px;
    margin-bottom: 16px;
}

.ec-ga-druck[b-k1g8x1shcm]  .ec-ga-druck-kennung {
    font-weight: 700;
    color: var(--mud-palette-primary, #0D4F8C);
    white-space: nowrap;
    width: 1%;
}

.ec-ga-druck[b-k1g8x1shcm]  .ec-ga-druck-stufe {
    white-space: nowrap;
    text-align: right;
    width: 1%;
}

.ec-ga-druck-ergebnis[b-k1g8x1shcm] {
    border: 1px solid var(--mud-palette-lines-default, #CBD2DC);
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 20px;
}

.ec-ga-druck-abschnitt[b-k1g8x1shcm] {
    margin-bottom: 16px;
}

.ec-ga-druck-fuss[b-k1g8x1shcm] {
    border-top: 1px solid var(--mud-palette-lines-default, #CBD2DC);
    padding-top: 12px;
    margin-top: 24px;
    color: #5B6675;
}

/* Nicht-funktionale Vorgaben der Story: Hochformat ohne horizontales Abschneiden, fuer Papier
   geeignete Schriftgroesse statt der Bildschirmgroesse, keine Bedienelemente im Ausdruck.
   Seitenumbrueche innerhalb einer Kriterienzeile und innerhalb eines Kategorieblocks werden
   vermieden, damit ein Kriterium nicht ueber zwei Blaetter faellt.

   Die Farbwiedergabe wird bewusst nicht erzwungen (ADR 7460-A A4): jede Aussage des Blatts steht
   im Text, ein Ausdruck in Graustufen verliert dadurch nichts. */
@media print {
    @page {
        size: A4 portrait;
        margin: 12mm;
    }

    .ec-ga-druck[b-k1g8x1shcm] {
        max-width: none;
        padding: 0;
        font-size: 10.5pt;
    }

    .ec-ga-druck-toolbar[b-k1g8x1shcm] {
        display: none;
    }

    .ec-ga-druck[b-k1g8x1shcm]  .ec-ga-druck-tabelle tr,
    .ec-ga-druck-abschnitt[b-k1g8x1shcm],
    .ec-ga-druck-ergebnis[b-k1g8x1shcm] {
        break-inside: avoid;
    }
}
/* /Components/Features/ProjectManagement/Pages/ProjectDatasheet.razor.rz.scp.css */
/* User Story 6041, ADR 6041-E D: Druck-Stylesheet als Blazor-CSS-Isolation. Optik (Navy, Serif-
   Ueberschriften, 1px-Rahmen statt Schatten) gemaess /Startseite/Workloadmanager/Architektur/
   Design-Vorgaben; Layout/Struktur orientiert am Umsetzungsvorschlag der Story (SVG-Skizze). */

.ec-datasheet-page[b-87510mo6hj] {
    background-color: #EEF2F7;
    min-height: 100vh;
    padding: 24px;
}

.ec-datasheet[b-87510mo6hj] {
    max-width: 900px;
    margin: 0 auto;
}

.ec-datasheet-header[b-87510mo6hj] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background-color: #0D4F8C;
    color: #FFFFFF;
    padding: 16px 24px;
    border-radius: 6px 6px 0 0;
}

.ec-datasheet-brand[b-87510mo6hj] {
    font-size: 1.1rem;
    font-weight: 700;
}

.ec-datasheet-company[b-87510mo6hj] {
    font-size: 0.8rem;
    color: #B0C4DE;
}

.ec-datasheet-header-right[b-87510mo6hj] {
    text-align: right;
}

.ec-datasheet-title[b-87510mo6hj] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #B0C4DE;
}

.ec-datasheet-meta[b-87510mo6hj] {
    font-size: 0.8rem;
    color: #B0C4DE;
}

/* Issue 7234: der Inhaltsbereich ist ein MudPaper, die Abschnittsueberschriften und der
   Hinweistext sind MudText. Bauteile erhalten das Auszeichnungsmerkmal einer bauteilgebundenen
   Formatvorlage nie, weshalb Rahmen, Abrundung, Ueberschriftenfarbe und Hinweisabsetzung zuvor
   wirkungslos blieben. Anker der Tiefen-Auswahl ist das echte Element .ec-datasheet. */
.ec-datasheet[b-87510mo6hj]  .ec-datasheet-body {
    border: 1px solid #CBD2DC;
    border-top: none;
    border-radius: 0 0 10px 10px;
    background-color: #FFFFFF;
}

.ec-datasheet-tiles[b-87510mo6hj] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.ec-datasheet-tile[b-87510mo6hj] {
    background-color: #F7F9FC;
    border: 1px solid #CBD2DC;
    border-radius: 5px;
    padding: 8px 10px;
}

.ec-datasheet-tile-label[b-87510mo6hj] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #8A95A3;
}

.ec-datasheet-tile-value[b-87510mo6hj] {
    font-size: 1rem;
    font-weight: 700;
    color: #0D4F8C;
}

.ec-datasheet[b-87510mo6hj]  .ec-datasheet-section-title {
    color: #0D4F8C;
    border-bottom: 1.5px solid #0D4F8C;
    padding-bottom: 4px;
    margin-top: 20px;
    margin-bottom: 8px;
}

/* Issue 7234: hier lagen zwei Fehler uebereinander. Die Schreibweise :deep(...) erkennt der
   Uebersetzer nicht als Tiefen-Auswahl, er haengt das Auszeichnungsmerkmal hinten an und der
   Browser verwirft die Regel. Zusaetzlich sitzt .ec-datasheet-table an einem MudTable, das das
   Merkmal ohnehin nie erhaelt -- die richtige Schreibweise allein haette die Kopfzeile deshalb
   nicht hergestellt. Der Anker liegt jetzt am echten Element .ec-datasheet.

   Issue 7306: Kopfzellengrund und -schrift ueber die mit ADR 7081-B eingefuehrten Merkmale statt
   ueber ausgeschriebene Werte. Die Merkmale loesen auf dieselben Farben auf (--ec-tabelle-kopf-grund
   auf var(--mud-palette-primary) = #0D4F8C aus der Themenrolle Primary, --ec-tabelle-kopf-schrift
   auf var(--mud-palette-primary-text) = rgba(255,255,255,1), der voll deckende Vorgabewert
   PrimaryContrastText der Bibliothek) - die Darstellung bleibt damit zeichengleich, waehrend eine
   spaetere Themenanpassung hier nicht mehr vorbeigeht. */
.ec-datasheet[b-87510mo6hj]  .ec-datasheet-table th {
    background-color: var(--ec-tabelle-kopf-grund);
    color: var(--ec-tabelle-kopf-schrift);
}

.ec-datasheet-total-row[b-87510mo6hj] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    background-color: #F0F4FA;
    font-weight: 700;
    padding: 6px 8px;
    color: #1A2B4A;
}

    .ec-datasheet-total-row > span:not(:first-child)[b-87510mo6hj] {
        text-align: right;
    }

.ec-datasheet[b-87510mo6hj]  .ec-datasheet-hint {
    color: #5B6675;
    font-style: italic;
}

.ec-datasheet-kickoff-item[b-87510mo6hj] {
    padding: 4px 0;
    color: #1A2B4A;
}

.ec-datasheet-check-done[b-87510mo6hj] {
    color: #1A6B35;
    margin-right: 6px;
}

.ec-datasheet-check-open[b-87510mo6hj] {
    color: #8A95A3;
    margin-right: 6px;
}

.ec-datasheet-footer[b-87510mo6hj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding-top: 12px;
    border-top: 1px solid #CBD2DC;
    font-size: 0.75rem;
    color: #8A95A3;
}

/* Bugfix #6147: natives <button>-Element statt MudButton (siehe Codekommentar in der .razor-Datei),
   Optik bewusst an MudBlazors Filled/Primary-Button angelehnt (Farbe = Theme-Primary #0D4F8C). */
.ec-datasheet-print-button[b-87510mo6hj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.02857em;
    text-transform: uppercase;
    color: #FFFFFF;
    background-color: #0D4F8C;
    border: none;
    border-radius: 4px;
    padding: 6px 16px;
    cursor: pointer;
}

    .ec-datasheet-print-button:hover[b-87510mo6hj] {
        background-color: #0A3E70;
    }

/* ADR 6041-E D: A4 Hochformat, Vermeidung von Seitenumbruechen innerhalb von Tabellenzeilen und
   Abschnittskoepfen, Wiederholung der Tabellenkopfzeilen ueber Seiten, Ausblenden der
   Druck-Schaltflaeche selbst im Ausdruck. */
@media print {
    @page {
        size: A4 portrait;
        margin: 12mm;
    }

    .ec-datasheet-page[b-87510mo6hj] {
        background-color: #FFFFFF;
        padding: 0;
    }

    .ec-datasheet[b-87510mo6hj]  .ec-datasheet-body {
        border: none;
    }

    .no-print[b-87510mo6hj] {
        display: none !important;
    }

    .ec-datasheet[b-87510mo6hj]  .ec-datasheet-table thead {
        display: table-header-group;
    }

    .ec-datasheet[b-87510mo6hj]  .ec-datasheet-table tr,
    .ec-datasheet[b-87510mo6hj]  .ec-datasheet-section-title {
        break-inside: avoid;
    }

    .ec-datasheet-tile[b-87510mo6hj],
    .ec-datasheet-kickoff-item[b-87510mo6hj] {
        break-inside: avoid;
    }
}
/* /Components/Features/Reporting/ProjektUebersichtInhalt.razor.rz.scp.css */
/* Bug 7206: die einheitliche Kachelhoehe traegt jetzt das Spaltenraster selbst
   (Spaltenraster.razor.css, ZeilenGleichHoch) -- alle Zeilen sind gleich hoch, und die Karten
   fuellen ihre Spur ueber die Grundeinstellung align-items: stretch aus. Eine eigene
   Hoehenangabe an der Karte ist damit entbehrlich. */

/* Design-Vorgaben, "Zustandsabhaengige Hervorhebung" (Variante A): verstaerkte Rahmenstaerke statt
   Schlagschatten -- Randfarbe/-stil bleiben aus der mud-card-outlined-Klasse unveraendert.

   Der ::deep-Anker ist notwendig, weil das Auszeichnungsmerkmal dieser Formatvorlage
   ausschliesslich an echte HTML-Elemente der eigenen Auszeichnung vergeben wird. Die Klasse
   projekt-detail-kachel-kritisch steht am Class-Parameter eines eingebundenen MudCard, das das
   Merkmal nie erhaelt -- ohne Anker bleibt die Regel wirkungslos. Der umschliessende Behaelter
   .projekt-detail-kacheln ist ein echtes Element dieser Auszeichnung und traegt das Merkmal,
   weshalb er als Anker dient (ADR 7234-B B1).

   Die Regel wirkt ausschliesslich auf die Rahmenstaerke der kritischen Kacheln. Kachelhoehe und
   Spurbreite traegt unveraendert das Spaltenraster (siehe oben), unkritische Kacheln bleiben
   unberuehrt. */
.projekt-detail-kacheln[b-cixtcb01tf]  .projekt-detail-kachel-kritisch {
    border-width: 2px;
}

/* AC2/AC3/AC4: Label-Wert-Zeile (Label links, Wert rechts) statt Fließtext-Satz. */
.projekt-detail-kennzahl-zeile[b-cixtcb01tf] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}
/* /Components/Features/TimeTracking/Pages/Stundencontrolling.razor.rz.scp.css */
/* User Story 6457: eigenes CSS-Grid statt MudGrid als Traeger der Kartenflaeche. Es bestimmt
   zwei Spalten ab 960px (MudBlazor-Breakpoint "md"), 24px Abstand (entspricht Spacing="6") und
   laesst eine allein stehende letzte Karte halb breit, da die Spalten fest sind.

   Issue 7765 loest ADR 6457-C ab. Deren tragende Festlegung war grid-auto-rows: 1fr: alle
   Rasterzeilen bekamen dieselbe Hoehe, wodurch Karten inhaltsarmer Zeilen auf die Hoehe der
   hoechsten gleichzeitig sichtbaren Karte gestreckt wurden. Diese Regel entfaellt auf
   ausdruecklichen Kundenwunsch, weil der dabei entstehende Leerraum unerwuenscht ist; die
   Rasterstruktur selbst bleibt, weil das Spaltenverhalten unveraendert bleiben soll. Ohne
   grid-auto-rows werden die impliziten Zeilen inhaltsbezogen (auto) gemessen, jede Zeile ist
   also nur so hoch wie ihre eigenen Karten. Nebeneinander stehende Karten bleiben trotzdem
   gleich hoch, weil Rasterelemente sich innerhalb ihrer Zeile standardmaessig strecken
   (align-self: stretch) -- die Karte (MudPaper) braucht deshalb weiterhin keine eigene
   Hoehenklasse. */
.controlling-kartenraster[b-y6x6ngyq14] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 960px) {
    .controlling-kartenraster[b-y6x6ngyq14] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Issue 7234, Design-Vorgaben "Zustandsabhaengige Hervorhebung" (Variante A): verstaerkte
   Rahmenstaerke statt Schlagschatten, Randfarbe und -stil bleiben aus mud-paper-outlined
   unveraendert. Die Klasse setzt ProjektBudgetKarte an einem MudPaper, das das
   Auszeichnungsmerkmal einer bauteilgebundenen Formatvorlage nie erhaelt -- in der Formatvorlage
   jenes Bausteins blieb die Regel deshalb wirkungslos. Sie liegt jetzt hier, weil der
   hervorgehobene Zustand ausschliesslich an dieser Aufrufstelle entsteht und nur hier eine Huelle
   als Traeger moeglich ist: im Kartenraster muss die Karte unmittelbares Rasterelement bleiben,
   damit sie sich innerhalb ihrer Zeile streckt und neben ihrer Nachbarkarte gleich hoch bleibt.
   Eine Huelle wuerde sich an ihrer Stelle strecken, die Karte darin behielte ihre Inhaltshoehe. */
.controlling-hervorgehobene-karte[b-y6x6ngyq14]  .projekt-budget-karte-kritisch {
    border-width: 2px;
}
/* /Components/Features/TimeTracking/Pages/Wochenmatrix.razor.rz.scp.css */
/* User Story 5825, ADR 5825-F: fixierte erste Spalte + fixierte Kopfzeile per CSS (position:
   sticky) und horizontales Scrollen -- wie im Prototyp, ohne Fensterung der KW-Spalten.

   User Story 7082, ADR 7082-A/B/D: die Hoehenbegrenzung (vormals ein fester Anteil von 75vh) und
   das dafuer noetige overflow:auto kommen seither aus der globalen Klasse ec-scrollbereich-aussen
   (app.css, gemeinsam mit der Tagesansicht) -- hier bleibt ausschliesslich, was ausschliesslich die
   eigene Tabelle betrifft.

   User Story 7081, ADR 7081-A bis 7081-D: die Kopfzellen-, Rahmen- und Grundtonwerte, die diese
   Tabelle mit der Tagesansicht teilt, beziehen sich seither aus den gemeinsamen Merkmalen in
   app.css (--ec-tabelle-*) statt sie auszuschreiben (ADR 7081-A C) -- Fallback-Werte entsprechen den
   bisherigen, unveraenderten Werten dieser Datei. Sichtbar aendert sich dadurch ausschliesslich der
   Zellrahmen (ADR 7081-B B: ein einheitlicher Wert statt bisher dreier verschiedener); Kopfzeile,
   Grundton der ersten Spalte und Zellpolsterung bleiben unveraendert, da ihre bisherigen Werte
   bereits den gemeinsamen Merkmalen entsprachen. */

.wl-matrix-scroll[b-5w3wfuh3k5] {
    border: 1px solid var(--ec-tabelle-rahmen, #CBD2DC);
}

.wl-matrix[b-5w3wfuh3k5] {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.8rem;
    white-space: nowrap;
}

.wl-header-cell[b-5w3wfuh3k5] {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--ec-tabelle-kopf-grund, #0D4F8C);
    color: var(--ec-tabelle-kopf-schrift, #FFFFFF);
    padding: 6px 8px;
    text-align: center;
    /* Eigene, dunklere Abgrenzung zur scrollenden Kopfzeile -- kein Bestandteil des mit der
       Tagesansicht geteilten Zellrahmen-Merkmals (ADR 7081-B), bleibt unveraendert. */
    border-bottom: 1px solid #0A3E70;
}

/* User Story 7084, ADR 7084-D A/B: die Kopfzelle "Mitarbeiter / Zeile" traegt bereits den Griff zur
   Breitenaenderung (.wl-fixspalte-griff, absolut positioniert, rechte Kante, volle Zellhoehe). Der
   Sortierschalter kommt zusaetzlich im normalen Inhaltsfluss dieser einen Zelle hinzu -- die
   kombinierte Klassenkette (statt eines einzelnen Klassenselektors) haelt die Regel unabhaengig von
   der Reihenfolge im Stylesheet wirksam gegenueber .wl-header-cell, analog dem Spezifitaets-Fix aus
   Bug 6543/User Story 7081. Der reservierte Freiraum (mindestens 24px, Griffbreite) verhindert jede
   flaechenmaessige Ueberschneidung, ohne den Griff selbst anzufassen. */
.wl-header-cell.wl-header-cell-mitarbeiter[b-5w3wfuh3k5] {
    /* Bug, bei der Umsetzung von User Story 7084 gefunden: .wl-col-sticky (weisser Hintergrund) und
       .wl-header-cell (blauer Hintergrund/weisse Schrift) sind gleich spezifisch; da .wl-col-sticky
       weiter unten in dieser Datei steht, gewann bislang sein weisser Hintergrund bei dieser einen
       Zelle (traegt beide Klassen) -- weisse Schrift auf weissem Grund machte "Mitarbeiter / Zeile"
       bereits vor dieser Story unsichtbar, was erst durch den neu hinzukommenden, ebenso weissen
       Sortierschalter (AC6/NFR Barrierefreiheit: Richtung zusaetzlich sichtbar) auffiel. Die
       kombinierte Klassenkette ist hier ohnehin schon hoeher spezifisch (0,0,2,0) als .wl-col-sticky
       (0,0,1,0) -- Hintergrund/Schrift ausdruecklich restatet, damit die Kaskadenreihenfolge in
       dieser Datei nicht mehr entscheidet. */
    background-color: var(--ec-tabelle-kopf-grund, #0D4F8C);
    color: var(--ec-tabelle-kopf-schrift, #FFFFFF);
    padding-right: calc(8px + 24px);
}

/* ADR 7084-D C: gewoehnliche Schaltflaeche nach dem Muster von .wl-kw-header-button, kein
   Bibliotheksbaustein (ADR 5825-F: keine MudBlazor-Komponente je Zelle in dieser Tabelle). */
.wl-sortier-schalter[b-5w3wfuh3k5] {
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    font-weight: bold;
    cursor: pointer;
    padding: 2px 4px;
    vertical-align: middle;
}

    .wl-sortier-schalter:focus-visible[b-5w3wfuh3k5] {
        outline: 2px solid #FFFFFF;
        outline-offset: 2px;
    }

.wl-kw-header-button[b-5w3wfuh3k5] {
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    font-weight: bold;
    cursor: pointer;
    padding: 2px 4px;
}

    .wl-kw-header-button:focus-visible[b-5w3wfuh3k5] {
        outline: 2px solid #FFFFFF;
        outline-offset: 2px;
    }

.wl-col-sticky[b-5w3wfuh3k5] {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: var(--ec-tabelle-erste-spalte-grund, #FFFFFF);
    /* User Story 6682, ADR 6682-B: die Breite der Fixspalte wirkt ueber genau eine
       CSS-Custom-Property auf allen drei bestimmenden Angaben -- eine reine width-Angabe bliebe
       gegenueber breiterem Zellinhalt wirkungslos, ohne max-width griffe die Kuerzung aus
       ADR 6682-E nicht. */
    width: var(--wl-fixspalte-breite, 220px);
    min-width: var(--wl-fixspalte-breite, 220px);
    max-width: var(--wl-fixspalte-breite, 220px);
    box-sizing: border-box;
}

thead .wl-col-sticky[b-5w3wfuh3k5] {
    z-index: 3;
}

.wl-row-label[b-5w3wfuh3k5] {
    padding: 4px 8px;
    border-bottom: 1px solid var(--ec-tabelle-rahmen, #CBD2DC);
    text-align: left;
}

/* ADR 6682-E: gekuerzter Text im Dokumentfluss, vollstaendiger Text im title-Attribut (dasselbe
   Muster wie ADR 6544-D/6566-C) -- der Zellinhalt steht in einem eigenen Blockelement, damit die
   Kuerzung in einer Tabellenzelle zuverlaessig greift. */
.wl-row-label-text[b-5w3wfuh3k5] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wl-row-label-sum[b-5w3wfuh3k5] {
    font-weight: bold;
    background-color: #EEF2F7;
}

.wl-row-indent[b-5w3wfuh3k5] {
    padding-left: 20px;
    font-weight: normal;
}

.wl-row-hint[b-5w3wfuh3k5] {
    color: #5B6675;
    font-style: italic;
    padding: 4px 8px;
}

.wl-discipline[b-5w3wfuh3k5] {
    color: #5B6675;
    font-size: 0.75rem;
}

.wl-cell[b-5w3wfuh3k5] {
    /* ADR 7081-D A: Ursprungswert der mit der Tagesansicht geteilten Zellpolsterung
       (--ec-tabelle-zelle-polsterung, app.css) -- hier auf sich selbst zurueckgefuehrt, damit nur
       eine Stelle diesen Wert traegt. */
    padding: var(--ec-tabelle-zelle-polsterung, 2px 4px);
    text-align: center;
    border-bottom: 1px solid var(--ec-tabelle-rahmen, #CBD2DC);
    position: relative;
}

.wl-cell-input[b-5w3wfuh3k5] {
    width: 3.4rem;
    text-align: right;
    border: 1px solid #B9C2CE;
    border-radius: 2px;
    padding: 2px 4px;
    font: inherit;
}

    .wl-cell-input:disabled[b-5w3wfuh3k5] {
        background-color: #F4F6F9;
        color: #5B6675;
    }

    .wl-cell-input:focus-visible[b-5w3wfuh3k5] {
        outline: 2px solid #0078FF;
        outline-offset: 1px;
    }

/* User Story 7173, ADR 7173-E E5: automatisch verteilte Werte haben kein Eingabefeld. Damit die
   Zeile trotzdem in derselben Rasterbreite steht wie die bearbeitbare darueber, uebernimmt die
   Anzeige die Breite und Ausrichtung des Eingabefelds -- aber ohne Rahmen, damit sie nicht wie ein
   bedienbares Feld aussieht (Affordanz). Die Unterscheidung selbst haengt nicht an dieser
   Darstellung: sie steht zusaetzlich als Text in der Zeilenbeschriftung und im zugaenglichen Namen
   (E4). */
.wl-cell-readonly[b-5w3wfuh3k5] {
    display: inline-block;
    width: 3.4rem;
    text-align: right;
    padding: 2px 4px;
    font: inherit;
    color: #5B6675;
    font-style: italic;
}

.wl-cell-badge[b-5w3wfuh3k5] {
    display: block;
    font-size: 0.65rem;
    color: #5B6675;
}

.wl-total-cell[b-5w3wfuh3k5], .wl-year-total-cell[b-5w3wfuh3k5], .wl-empty-cell[b-5w3wfuh3k5] {
    padding: 4px 8px;
    text-align: center;
    font-weight: bold;
    border-bottom: 1px solid var(--ec-tabelle-rahmen, #CBD2DC);
}

.wl-year-total-cell[b-5w3wfuh3k5] {
    background-color: #F0F4FA;
}

/* User Story 7307, ADR 7307-F F3: die Tagesansicht kennzeichnet mit denselben Stufen. Die
   Toenungen kommen seither aus den gemeinsamen Merkmalen in app.css (--ec-status-*) statt hier
   ausgeschrieben zu bleiben -- dasselbe Vorgehen wie bei den uebrigen mit der Tagesansicht
   geteilten Werten (ADR 7081-A C). Die Fallback-Werte entsprechen den bisherigen, unveraenderten
   Werten dieser Datei; sichtbar aendert sich nichts. */
.wl-status-rot[b-5w3wfuh3k5] {
    background-color: var(--ec-status-rot-grund, #FDEDED);
    color: var(--ec-status-rot-schrift, #C0392B);
}

.wl-status-gelb[b-5w3wfuh3k5] {
    background-color: var(--ec-status-gelb-grund, #FEF6E0);
    color: var(--ec-status-gelb-schrift, #7A5E00);
}

.wl-status-gruen[b-5w3wfuh3k5] {
    background-color: var(--ec-status-gruen-grund, #EAF6EF);
    color: var(--ec-status-gruen-schrift, #0F6E56);
}

.wl-status-neutral[b-5w3wfuh3k5] {
    background-color: var(--ec-status-neutral-grund, #F4F6F9);
    color: var(--ec-status-neutral-schrift, #5B6675);
}

.wl-legend-swatch[b-5w3wfuh3k5] {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    display: inline-block;
}

/* User Story 6682, ADR 6682-F: Griff liegt vollstaendig innerhalb der fixierten Kopfzelle
   (bereits position: sticky ueber .wl-header-cell/.wl-col-sticky) und ragt nicht ueber deren
   rechte Kante hinaus -- damit ist die Kollisionsfreiheit gegenueber den KW-Kopfzeilen-
   Schaltflaechen strukturell gesichert. */
.wl-fixspalte-griff[b-5w3wfuh3k5] {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 24px;
    cursor: col-resize;
    touch-action: none;
}

    .wl-fixspalte-griff[b-5w3wfuh3k5]::after {
        content: "";
        position: absolute;
        top: 4px;
        bottom: 4px;
        right: 3px;
        width: 2px;
        background-color: #FFFFFF;
        opacity: 0.6;
    }

    .wl-fixspalte-griff:hover[b-5w3wfuh3k5]::after {
        opacity: 1;
    }

    .wl-fixspalte-griff:focus-visible[b-5w3wfuh3k5] {
        outline: 2px solid #0078FF;
        outline-offset: -2px;
    }
/* /Components/Layout/DokumentMeldungen.razor.rz.scp.css */
/* Issue 7515, ADR 7515-D D1/D2: der Anker steht am Bildschirm im Fluss ueber dem Dokument -- nicht
   darueberliegend, weil ein ueberlagerndes Element im Ausdruck nicht zuverlaessig zu unterdruecken
   waere und am Bildschirm das verdeckte, worueber es berichtet.

   Im Druck wird er vollstaendig ausgeblendet: damit ist er weder Teil des Ausdrucks noch
   verschiebt er das Dokument darin -- beide Haelften der Anforderung mit einem Mittel. Dieselbe
   Bauform traegt bereits die Druckausblendung der Bedienleiste der Druckansicht (D3). */

.ec-dokumentmeldungen[b-to2w83wdn8] {
    margin-bottom: 16px;
}

@media print {
    .ec-dokumentmeldungen[b-to2w83wdn8] {
        display: none;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-h3lv4vx3is] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-h3lv4vx3is] {
    flex: 1;
}

.sidebar[b-h3lv4vx3is] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-h3lv4vx3is] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-h3lv4vx3is]  a, .top-row[b-h3lv4vx3is]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-h3lv4vx3is]  a:hover, .top-row[b-h3lv4vx3is]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-h3lv4vx3is]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-h3lv4vx3is] {
        justify-content: space-between;
    }

    .top-row[b-h3lv4vx3is]  a, .top-row[b-h3lv4vx3is]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-h3lv4vx3is] {
        flex-direction: row;
    }

    .sidebar[b-h3lv4vx3is] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-h3lv4vx3is] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-h3lv4vx3is]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-h3lv4vx3is], article[b-h3lv4vx3is] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* Bug 6733: z-index ueber die gemeinsame Variable --ec-zindex-always-on-top (app.css) statt eines
   festen, zu niedrigen Werts -- das Fehlerbanner muss auch bei geoeffnetem MudDialog/-Popover/
   -Snackbar/-Tooltip sowie bei aktivem LoadingOverlay wahrnehmbar bleiben, siehe Kommentar dort. */
#blazor-error-ui[b-h3lv4vx3is] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: var(--ec-zindex-always-on-top);
}

    #blazor-error-ui .dismiss[b-h3lv4vx3is] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-esfmezeqzu],
.components-reconnect-repeated-attempt-visible[b-esfmezeqzu],
.components-reconnect-failed-visible[b-esfmezeqzu],
.components-pause-visible[b-esfmezeqzu],
.components-resume-failed-visible[b-esfmezeqzu],
.components-rejoining-animation[b-esfmezeqzu] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-retrying[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-failed[b-esfmezeqzu],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-esfmezeqzu] {
    display: block;
}


#components-reconnect-modal[b-esfmezeqzu] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-esfmezeqzu 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-esfmezeqzu 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-esfmezeqzu 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-esfmezeqzu]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-esfmezeqzu 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-esfmezeqzu {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-esfmezeqzu {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-esfmezeqzu {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-esfmezeqzu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-esfmezeqzu] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-esfmezeqzu] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-esfmezeqzu] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-esfmezeqzu] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-esfmezeqzu] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-esfmezeqzu] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-esfmezeqzu 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-esfmezeqzu] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-esfmezeqzu {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Shared/AmpelKuerzelChip.razor.rz.scp.css */
/* User Story 6677, ADR 6677-A/C: Rundform statt Pillenform, feste kompakte Groesse fuer ein
   einzelnes Zeichen, sowie der zweite, nicht-farbliche Kanal ueber die Randart (gestrichelt bei
   offenem, durchgezogener Ring bei abgeschlossenem Status) -- unabhaengig von Farbton und
   Helligkeit, damit der Unterschied auch bei jeder Form der Farbfehlsichtigkeit und im
   Schwarzweiss-Ausdruck erhalten bleibt. Randfarbe ueber currentColor: die
   Pastellpillen-Ueberschreibung (Issue 6655, app.css) setzt die Textfarbe bereits auf die
   dunklere Tonstufe derselben Farbfamilie -- ein zweiter, separat gepflegter Farbwert fuer den
   Rand entsteht dadurch nicht. */
/* Issue 7234: die Klassen liegen an MudChip und werden im @code-Block zusammengesetzt. Ein
   Bauteil erhaelt das Auszeichnungsmerkmal einer bauteilgebundenen Formatvorlage nie, und die
   Auszeichnung enthielt zudem kein einziges echtes Element -- das Merkmal hatte damit ueberhaupt
   keinen Traeger und alle drei Regeln blieben wirkungslos. Traeger ist jetzt die Huelle
   .ec-ampel-kuerzel; die Kennzeichnung selbst wird von dort ueber die Tiefen-Auswahl
   angesprochen. */
.ec-ampel-kuerzel[b-n1gyizv6po] {
    display: contents;
}

.ec-ampel-kuerzel[b-n1gyizv6po]  .ec-ampel-kuerzel-chip {
    border-radius: 50%;
    min-width: 28px;
    width: 28px;
    height: 28px;
    padding: 0;
    justify-content: center;
    border-width: 1px;
    border-color: currentColor;
}

.ec-ampel-kuerzel[b-n1gyizv6po]  .ec-ampel-kuerzel-chip--offen {
    border-style: dashed;
}

.ec-ampel-kuerzel[b-n1gyizv6po]  .ec-ampel-kuerzel-chip--abgeschlossen {
    border-style: solid;
}
/* /Components/Shared/Spaltenraster.razor.rz.scp.css */
/* User Story 7047/7062, ADR 7047-A/B, 7062-C: behaelterbezogenes Raster statt MudItem-
   Fensterschwellen -- eine Spur ist nie schmaler als --spaltenraster-mindestbreite und nie schmaler
   als 1 / --spaltenraster-hoechstens-spalten des Behaelters (abzueglich der Rasterabstaende
   dazwischen), woraus zugleich die Obergrenze der Spuren je Zeile folgt. auto-fill (nicht auto-fit)
   haelt die letzte, unvollstaendige Zeile bei der Breite ihrer Nachbarn -- leere Spuren bleiben
   Freiraum statt eine Spur zu dehnen. */
.spaltenraster[b-bzemixrg5q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(max(var(--spaltenraster-mindestbreite), (100% - (var(--spaltenraster-hoechstens-spalten) - 1) * 16px) / var(--spaltenraster-hoechstens-spalten)), 1fr));
    gap: 16px;
}

/* ADR 7047-E: Zusicherung auf Geraetebreite (unveraenderte md-Schwelle der Bibliothek, 960px) --
   nur zugeschaltet ueber AufSchmalenGeraetenStapeln, wirkt unabhaengig von der rechnerischen
   Behaelterbreite. */
@media (max-width: 960px) {
    .spaltenraster--stapelt-schmal[b-bzemixrg5q] {
        grid-template-columns: 1fr;
    }
}

/* Bug 7206: zeilenuebergreifend einheitliche Spurhoehe -- nur zugeschaltet ueber ZeilenGleichHoch.
   grid-auto-rows: 1fr macht alle (impliziten) Zeilen gleich hoch; da der Behaelter selbst keine
   feste Hoehe hat, ergibt sich diese gemeinsame Hoehe aus der inhaltsreichsten Zeile. Die Elemente
   im Raster fuellen ihre Spur ueber die Grundeinstellung align-items: stretch von selbst aus, ohne
   eigene Hoehenangabe. Ein Flexbox-Raster kann das nicht leisten: dort hat jede Zeile eine eigene,
   von den Nachbarzeilen unabhaengige Hoehe. */
.spaltenraster--zeilen-gleich-hoch[b-bzemixrg5q] {
    grid-auto-rows: 1fr;
}
