/* /Components/Forms/VcFormField.razor.rz.scp.css */
.vc-field-label-row[b-dtrfi7k1fd] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.vc-field-label-row .vc-label[b-dtrfi7k1fd] { margin: 0; }
.vc-field-info[b-dtrfi7k1fd] {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 24px; width: 24px; height: 24px; padding: 0;
    border: 0; border-radius: 50%;
    background: transparent; color: var(--text-secondary);
    font: 600 10px/1 Georgia, serif; cursor: pointer;
}
.vc-field-info > span[b-dtrfi7k1fd] { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border: 1px solid var(--border-strong); border-radius: 50%; }
.vc-field-info:hover[b-dtrfi7k1fd] { background: var(--hover-bg); color: var(--accent-blue-pressed); }
.vc-field-info:active[b-dtrfi7k1fd] { background: var(--pressed-bg); }
.vc-field-info:focus-visible[b-dtrfi7k1fd] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 3px; }
.vc-field-hint[hidden][b-dtrfi7k1fd] { display: none; }
/* /Components/Hilfe/HilfeFaqDialog.razor.rz.scp.css */
/* HilfeFaqDialog — scoped CSS (W13). Aufklappbare Fragen wie die Felder im Hilfe-Seitenbereich
   (VcHilfePanel.razor.css: details mit Trennlinie oben); Werte nur aus den :root-Variablen. */

.hilfe-faq-einleitung[b-4jru14x7fl] {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.hilfe-faq-thema[b-4jru14x7fl] {
    margin-bottom: 20px;
}

.hilfe-faq-thema h3[b-4jru14x7fl],
.hilfe-faq-support h3[b-4jru14x7fl] {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
}

.hilfe-faq-frage[b-4jru14x7fl] {
    padding: 8px 0;
    border-top: 1px solid var(--border-light);
}

.hilfe-faq-frage summary[b-4jru14x7fl] {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--text-dark);
    cursor: pointer;
}

.hilfe-faq-frage summary:hover[b-4jru14x7fl] {
    color: var(--accent-blue);
}

.hilfe-faq-antwort[b-4jru14x7fl] {
    padding: 8px 0 4px 18px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.hilfe-faq-antwort p[b-4jru14x7fl] {
    margin: 0 0 8px;
}

.hilfe-faq-antwort ol[b-4jru14x7fl],
.hilfe-faq-antwort ul[b-4jru14x7fl] {
    margin: 0 0 8px;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hilfe-faq-support[b-4jru14x7fl] {
    margin-top: 8px;
    padding: 16px;
    border-radius: 8px;
    background: var(--surface-alt);
}

.hilfe-faq-support p[b-4jru14x7fl] {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

/* Block Videotutorials (03.11.2026): Reiterleiste im Hilfe-Dialog und Abschnitt „Persönliche Unterstützung“. */
.hilfe-reiter[b-4jru14x7fl] {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-light);
}

.hilfe-reiter-knopf[b-4jru14x7fl] {
    padding: 8px 14px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
}

.hilfe-reiter-knopf:hover[b-4jru14x7fl] {
    color: var(--accent-blue);
}

.hilfe-reiter-knopf.aktiv[b-4jru14x7fl] {
    border-bottom-color: var(--accent-blue);
    font-weight: 600;
    color: var(--accent-blue);
}

.hilfe-reiter-knopf:focus-visible[b-4jru14x7fl] {
    outline: 2px solid var(--accent-blue);
    outline-offset: -2px;
}

.hilfe-faq-unterstuetzung[b-4jru14x7fl] {
    margin-top: 20px;
}

.hilfe-faq-knoepfe[b-4jru14x7fl] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Components/Hilfe/HilfeVideosReiter.razor.rz.scp.css */
/* HilfeVideosReiter — scoped CSS (Block Videotutorials, 03.11.2026). Werte nur aus den :root-Variablen;
   Karten wie die übrigen Hilfe-Bausteine (Trennlinien statt Schatten im Dialog). */

.hv-einleitung[b-rsfhjkx7fv],
.hv-hinweis[b-rsfhjkx7fv] {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.hv-fehler[b-rsfhjkx7fv] {
    padding: 12px 14px;
    margin-bottom: 16px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    color: var(--text-dark);
    font-size: 14px;
}

.hv-fehler p[b-rsfhjkx7fv] {
    margin: 0 0 8px;
}

.hv-gruppe[b-rsfhjkx7fv] {
    margin-bottom: 20px;
}

.hv-gruppe h3[b-rsfhjkx7fv] {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
}

.hv-karte[b-rsfhjkx7fv] {
    padding: 8px 0;
    border-top: 1px solid var(--border-light);
}

.hv-karte-knopf[b-rsfhjkx7fv] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    width: 100%;
    padding: 4px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.hv-karte-knopf:hover[b-rsfhjkx7fv] {
    background: var(--ui-tint-blue);
}

.hv-karte-knopf:focus-visible[b-rsfhjkx7fv] {
    outline: 2px solid var(--accent-blue);
    outline-offset: 2px;
}

.hv-vorschau[b-rsfhjkx7fv] {
    flex: 0 0 144px;
    width: 144px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
    background: var(--border-light);
}

.hv-text[b-rsfhjkx7fv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.hv-titel[b-rsfhjkx7fv] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
}

.hv-dauer[b-rsfhjkx7fv] {
    font-size: 12px;
    color: var(--text-secondary);
    font-variant-numeric: lining-nums tabular-nums;
}

.hv-kurztext[b-rsfhjkx7fv] {
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-secondary);
}

.hv-karten-hinweis[b-rsfhjkx7fv] {
    margin: 6px 4px 0;
    font-size: 12px;
    line-height: 1.4;
    color: var(--text-secondary);
}

.hv-player[b-rsfhjkx7fv] {
    margin-top: 8px;
}

.hv-player video[b-rsfhjkx7fv] {
    display: block;
    width: 100%;
    border-radius: 8px;
    background: var(--ui-header);
}

@media (max-width: 600px) {
    .hv-karte-knopf[b-rsfhjkx7fv] {
        flex-direction: column;
    }

    .hv-vorschau[b-rsfhjkx7fv] {
        flex-basis: auto;
        width: 100%;
    }
}
/* /Components/Hilfe/VcEinrichtungDialog.razor.rz.scp.css */
.btn-primary[b-woez8emqsz] { display:inline-flex; align-items:center; min-height:44px; background:var(--ui-action); color:var(--ui-surface); text-decoration:none; }
.btn-primary:hover[b-woez8emqsz], .btn-primary:active[b-woez8emqsz] { background:var(--ui-action-hover); color:var(--ui-surface); }
.btn-primary:focus-visible[b-woez8emqsz] { outline:3px solid var(--ui-action); outline-offset:3px; }
/* /Components/Hilfe/VcEinrichtungHinweis.razor.rz.scp.css */
.vc-einrichtung-hinweis[b-r7zbumksl1] { margin: 0 0 24px; padding: 14px 20px; border: 1px solid var(--ui-line); border-radius: 8px; background: var(--ui-tint-blue); color: var(--accent-blue-pressed); font-size: 14px; line-height: 1.5; }
/* /Components/Hilfe/VcEinrichtungsCheckliste.razor.rz.scp.css */
.vc-einrichtung progress[b-hvzpq1iygp] { width: 100%; height: 8px; accent-color: var(--accent-blue-pressed); }
.vc-einrichtung ol[b-hvzpq1iygp] { margin: 16px 0 0; padding-left: 28px; }
.vc-einrichtung li[b-hvzpq1iygp] { padding: 14px 0 14px 4px; border-bottom: 1px solid var(--border-color); }
.vc-einrichtung li:last-child[b-hvzpq1iygp] { border-bottom: 0; }
.vc-einrichtung li > div[b-hvzpq1iygp] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; justify-content: space-between; }
.vc-einrichtung strong[b-hvzpq1iygp] { font-weight: 600; }
.vc-einrichtung-status[b-hvzpq1iygp] { font-size: 13px; }
.vc-einrichtung p[b-hvzpq1iygp] { margin: 8px 0; }
.vc-einrichtung a[b-hvzpq1iygp] { color: var(--accent-blue-pressed); display: inline-flex; align-items: center; gap: 8px; min-height: 44px; text-underline-offset: 3px; }
.vc-einrichtung a:hover[b-hvzpq1iygp], .vc-einrichtung a:active[b-hvzpq1iygp] { color: var(--text-dark); text-decoration: underline; }
.vc-einrichtung a:focus-visible[b-hvzpq1iygp] { outline: 2px solid currentColor; outline-offset: 3px; }
/* /Components/Hilfe/VcHilfePanel.razor.rz.scp.css */
/* VcHilfePanel — scoped CSS (Hilfsassistent Stufe 1, Aufgabe 6).
   Seit 01.11.2026 oberer Teil des Dialogs „Hilfe“, kein schwebender Seitenbereich mehr:
   Hülle, Knopf und Breitenschwelle sind entfallen, der Dialog liefert Rahmen und Scrollen. */

.vc-hilfe-panel-inhalt[b-850hlu3hd3] {
    padding: 0 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.vc-hilfe-panel-titel[b-850hlu3hd3] {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
}

.vc-hilfe-panel-abschnitt h3[b-850hlu3hd3] {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
}

.vc-hilfe-panel-abschnitt p[b-850hlu3hd3] {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.vc-hilfe-schritte[b-850hlu3hd3] {
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.vc-hilfe-feld[b-850hlu3hd3] {
    padding: 8px 0;
    border-top: 1px solid var(--border-light);
}

.vc-hilfe-feld summary[b-850hlu3hd3] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-dark);
    cursor: pointer;
}

.vc-hilfe-feld p[b-850hlu3hd3] {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.vc-hilfe-feld-fehler[b-850hlu3hd3] {
    color: var(--ui-warning);
}

.vc-hilfe-begriffe[b-850hlu3hd3] {
    margin: 0;
    font-size: 14px;
}

.vc-hilfe-begriffe dt[b-850hlu3hd3] {
    margin-top: 8px;
    font-weight: 600;
    color: var(--text-dark);
}

.vc-hilfe-begriffe dd[b-850hlu3hd3] {
    margin: 2px 0 0;
    color: var(--text-secondary);
}

.vc-hilfe-rundgang-knopf[b-850hlu3hd3] {
    align-self: flex-start;
}
/* /Components/Hilfe/VcRundgang.razor.rz.scp.css */
/* VcRundgang — scoped CSS (Hilfsassistent Stufe 1, Aufgabe 7).

   Die Position des Scheinwerfers UND der verankerten Karte kommt ausschliesslich aus den
   CSS-Variablen --hilfe-oben/--hilfe-links/--hilfe-breite/--hilfe-hoehe, die
   wwwroot/js/hilfe-rundgang.js per CSSOM auf .vc-rundgang-ebene setzt (element.style.
   setProperty) — niemals ueber ein style-Attribut im Markup (style-src 'self' ohne
   'unsafe-inline', SecurityHeadersMiddleware.cs:55; KeineInlineStileImMarkupTests). Die
   Variablen VERERBEN sich von .vc-rundgang-ebene an .vc-rundgang-scheinwerfer und
   .vc-rundgang-karte--verankert, deshalb genuegt EIN Ziel-Element fuer die Messung. */

.vc-rundgang-ebene[b-upde2tdvvr] {
    position: fixed;
    inset: 0;
    z-index: 1200;
}

.vc-rundgang-backdrop[b-upde2tdvvr] {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.6);
}

.vc-rundgang-scheinwerfer[b-upde2tdvvr] {
    position: fixed;
    top: var(--hilfe-oben, 0px);
    left: var(--hilfe-links, 0px);
    width: var(--hilfe-breite, 0px);
    height: var(--hilfe-hoehe, 0px);
    border-radius: 8px;
    /* Die eigentliche "Ausleuchtung": ein riesiger Schatten rund um das Rechteck macht
       alles AUSSER dem Anker dunkel, das Rechteck selbst bleibt frei. */
    box-shadow: 0 0 0 9999px rgba(17, 24, 39, 0.6); /* token-ausnahme: Rundgang-Spotlight, Aussparung per Spreizung */
    outline: 2px solid var(--accent-blue);
    outline-offset: 4px;
    pointer-events: none;
    transition: top 150ms, left 150ms, width 150ms, height 150ms;
}

.vc-rundgang-karte[b-upde2tdvvr] {
    position: fixed;
    background: var(--card-bg);
    border-radius: 8px;
    box-shadow: var(--ui-shadow-overlay);
    padding: 20px 24px;
    width: min(340px, calc(100vw - 32px));
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vc-rundgang-karte--verankert[b-upde2tdvvr] {
    top: calc(var(--hilfe-oben, 0px) + var(--hilfe-hoehe, 0px) + 12px);
    left: var(--hilfe-links, 0px);
}

.vc-rundgang-karte--zentriert[b-upde2tdvvr] {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.vc-rundgang-fortschritt[b-upde2tdvvr] {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
}

.vc-rundgang-titel[b-upde2tdvvr] {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
}

.vc-rundgang-text[b-upde2tdvvr] {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.vc-rundgang-haekchen[b-upde2tdvvr] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
}

.vc-rundgang-knoepfe[b-upde2tdvvr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* Umbruch erlaubt: Bei 340px Kartenbreite passen die drei Knoepfe je nach
       Schriftbreite NICHT in eine Zeile — ohne wrap ragte "Weiter" ueber den
       Kartenrand hinaus (Sichtpruefung Rudi, 27.08.2026). Mit wrap rutscht die
       Zurueck/Weiter-Gruppe dann geschlossen in die zweite Zeile. */
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 4px;
}

.vc-rundgang-knoepfe-navigation[b-upde2tdvvr] {
    display: flex;
    gap: 8px;
    /* Haelt die Zurueck/Weiter-Gruppe rechtsbuendig — auch dann, wenn sie durch
       den Umbruch (siehe oben) in die zweite Zeile gerutscht ist. */
    margin-left: auto;
}
/* /Components/Kontext/KontextLeiste.razor.rz.scp.css */
/* Kontextleiste — scoped CSS (Navigationsphase N-4).
   Farbwerte ausschließlich aus :root-Variablen (app.css). */

.kontext-leiste[b-mha9bp4iry] {
    background: var(--card-bg);
    border-radius: 8px;
    border: 1px solid var(--ui-line);
    padding: 16px 24px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Breadcrumb ---------------------------------------------------------------- */

.kontext-breadcrumb[b-mha9bp4iry] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--text-muted);
}

.kontext-breadcrumb-link[b-mha9bp4iry] {
    color: var(--accent-blue);
    text-decoration: none;
    font-weight: 500;
}

.kontext-breadcrumb-link:hover[b-mha9bp4iry] {
    text-decoration: underline;
}

.kontext-breadcrumb-trenner[b-mha9bp4iry] {
    color: var(--text-muted);
    user-select: none;
}

.kontext-breadcrumb-aktuell[b-mha9bp4iry] {
    color: var(--text-secondary);
    font-weight: 500;
}

/* Metazeile ----------------------------------------------------------------- */

.kontext-meta-zeile[b-mha9bp4iry] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.kontext-kstname[b-mha9bp4iry] {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
    line-height: 1.3;
}

/* Badges -------------------------------------------------------------------- */

.kontext-badges[b-mha9bp4iry] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.kontext-datenstand[b-mha9bp4iry] {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
    padding: 2px 0;
}

/* Schmale Breite: Badges umbrechen statt abschneiden */
@media (max-width: 600px) {
    .kontext-meta-zeile[b-mha9bp4iry] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.vc-app-shell[b-37360yd7bd] { min-height: 100vh; display: flex; flex-direction: column; background: var(--ui-bg); }
.vc-app-header[b-37360yd7bd] { min-height: 64px; display: flex; align-items: center; gap: 16px; padding: 0 24px; background: var(--ui-header); color: white; position: relative; z-index: 40; }
.vc-app-brand[b-37360yd7bd] { display: flex; align-items: center; gap: 8px; flex-shrink: 0; color: white; text-decoration: none; }
/* Logo AuroNeo Flex in der Variante für dunkle Flächen (Namenswechsel 04.11.2026); Bild in dreifacher Auflösung.
   Das Logo ist breiter und flacher als das frühere Monogramm (3,3:1 statt 4,8:1), deshalb 44 statt 36 px hoch. */
.vc-app-logo[b-37360yd7bd] { display: block; height: 44px; width: auto; }
.vc-app-header[b-37360yd7bd]  .vc-app-hilfe { flex-shrink: 0; white-space: nowrap; margin-left: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--ui-subtle); border-radius: 6px; background: transparent; color: white; font: inherit; font-size: 13px; cursor: pointer; }
.vc-app-header[b-37360yd7bd]  .vc-app-hilfe:hover, .vc-app-header[b-37360yd7bd]  .vc-app-hilfe:active { color: white; background: var(--ui-muted); }
.vc-app-header[b-37360yd7bd]  .vc-app-hilfe svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
/* Hauptmenü und „Hilfe“ teilen sich den Menücontainer: am Desktop nebeneinander, bis 900px im Menü untereinander. */
.vc-app-navigation[b-37360yd7bd] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; }
.vc-app-main[b-37360yd7bd] { width: 100%; max-width: 1600px; padding: 32px; margin: 0 auto; flex: 1; min-width: 0; }
.vc-app-main--uebersicht[b-37360yd7bd] { max-width: none; padding: 0; background: var(--ui-bg); }
.vc-app-main--planung[b-37360yd7bd] { max-width: 2560px; }
.vc-dashboard-hinweise[b-37360yd7bd] { max-width: 1520px; margin: auto; padding: 0 32px 24px; }
.vc-app-main[b-37360yd7bd]  .vc-page-header h1 { font-size: 24px; }
.vc-app-main[b-37360yd7bd]  .vc-page-header :is(.vc-page-subtitle, .vc-text-muted) { color: var(--ui-muted); }
.vc-app-main[b-37360yd7bd]  .btn-primary { background: var(--ui-action); color: white; border-radius: var(--ui-radius); }
.vc-app-main[b-37360yd7bd]  .btn-primary:hover { background: var(--ui-action-hover); color: white; }
.vc-app-main[b-37360yd7bd]  .btn-primary:active { background: var(--accent-blue-pressed); color: white; }
.vc-app-profile[b-37360yd7bd] { position: relative; margin-left: auto; }
.vc-profile-toggle[b-37360yd7bd], .vc-menu-toggle[b-37360yd7bd], .vc-app-exit[b-37360yd7bd] { background: transparent; color: white; border: 1px solid var(--nav-text-muted); border-radius: var(--ui-radius); padding: 8px 12px; min-height: 40px; font: inherit; cursor: pointer; white-space: nowrap; }
.vc-profile-toggle[b-37360yd7bd] { width: 38px; height: 38px; min-height: 38px; padding: 0; border-radius: 50%; border: 2px solid var(--ui-tint-strong); background: var(--ui-surface); color: var(--ui-action); font-size: 13px; font-weight: 600; }
.vc-profile-toggle:hover[b-37360yd7bd] { background: var(--ui-selected) !important; color: var(--ui-action-hover) !important; }
.vc-profile-toggle:hover[b-37360yd7bd], .vc-menu-toggle:hover[b-37360yd7bd], .vc-app-exit:hover[b-37360yd7bd] { background: var(--nav-item-selected); color: white; text-decoration: none; }
.vc-profile-panel[b-37360yd7bd] { position: absolute; top: calc(100% + 8px); right: 0; width: 280px; max-width: calc(100vw - 32px); display: grid; padding: 16px; gap: 8px; background: var(--ui-surface); color: var(--ui-ink); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); box-shadow: var(--ui-shadow-menu); overflow-wrap: anywhere; }
.vc-profile-panel > span[b-37360yd7bd] { color: var(--ui-muted); }
.vc-profile-panel a[b-37360yd7bd], .vc-profile-panel button[b-37360yd7bd] { color: var(--ui-action); padding: 8px; text-align: left; background: transparent; border: 0; font: inherit; cursor: pointer; }
.vc-profile-panel a:hover[b-37360yd7bd], .vc-profile-panel button:hover[b-37360yd7bd] { background: var(--ui-selected); color: var(--ui-action-hover); }
.vc-menu-toggle[b-37360yd7bd] { display: none; }
.vc-app-process-title[b-37360yd7bd] { flex: 1; font-size: 16px; font-weight: 600; }
.vc-app-process-title span[b-37360yd7bd] { margin-left: 12px; font-size: 14px; font-weight: 400; }
.vc-app-footer[b-37360yd7bd] { display: flex; justify-content: space-between; gap: 16px; padding: 16px 32px; border-top: 1px solid var(--ui-line); color: var(--ui-muted); font-size: 13px; }
.vc-app-footer nav[b-37360yd7bd] { display: flex; gap: 24px; }
.vc-app-footer a[b-37360yd7bd] { color: var(--ui-muted); }
.vc-skip-link[b-37360yd7bd] { position: absolute; left: 16px; top: -80px; padding: 12px; z-index: 100; background: white; color: var(--ui-action); }
.vc-skip-link:focus[b-37360yd7bd] { top: 8px; }
.vc-app-shell[b-37360yd7bd]  :focus-visible { outline: 3px solid var(--ui-focus); outline-offset: 3px; }
.vc-app-header[b-37360yd7bd]  :focus-visible { outline-color: var(--nav-accent); }
.vc-profile-panel :focus-visible[b-37360yd7bd] { outline-color: var(--ui-focus); }
.vc-app-main:focus[b-37360yd7bd] { outline: none; }
/* Kopfleiste (Layout-Review 01.11.2026): Das Menü passt bis 901px, darunter der Knopf „Menü“. */
@media (min-width: 901px) and (max-width: 1150px) {
    .vc-app-header[b-37360yd7bd] { gap: 6px; padding-inline: 12px; }
    .vc-app-logo[b-37360yd7bd] { height: 36px; }
    .vc-app-navigation[b-37360yd7bd] { gap: 4px; }
    .vc-app-header[b-37360yd7bd]  .vc-app-hilfe { padding-inline: 8px; }
    .vc-profile-toggle[b-37360yd7bd] { width: 34px; height: 34px; min-height: 34px; }
}
@media (max-width: 900px) {
    .vc-app-header[b-37360yd7bd] { gap: 16px; padding: 12px 24px; flex-wrap: wrap; }
    .vc-menu-toggle[b-37360yd7bd] { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }
    .vc-app-profile[b-37360yd7bd] { margin-left: 0; }
    .vc-app-navigation[b-37360yd7bd] { display: none; order: 4; flex-basis: 100%; }
    .vc-app-navigation.is-open[b-37360yd7bd] { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
    .vc-app-header[b-37360yd7bd]  .vc-app-hilfe { margin-left: 0; align-self: flex-start; }
}
@media (max-width: 600px) {
    .vc-app-header[b-37360yd7bd] { min-height: 64px; padding: 12px 16px; gap: 8px; }
    .vc-app-brand[b-37360yd7bd] { gap: 4px; }
    .vc-app-logo[b-37360yd7bd] { height: 36px; }
    .vc-app-main[b-37360yd7bd] { padding: 24px 16px; }
    .vc-app-main--uebersicht[b-37360yd7bd] { padding: 0; }
    .vc-dashboard-hinweise[b-37360yd7bd] { padding-inline: 16px; }
    .vc-app-main[b-37360yd7bd]  .vc-page-header-row { flex-wrap: wrap; }
    .vc-app-main[b-37360yd7bd]  .vc-page-header-row > div { min-width: 0; max-width: 100%; }
    .vc-app-main[b-37360yd7bd]  .vc-page-header h1 { font-size: 24px; overflow-wrap: anywhere; }
    .vc-app-process-title[b-37360yd7bd] { order: 3; flex-basis: 100%; }
    .vc-app-exit[b-37360yd7bd] { margin-left: auto; font-size: 13px; }
    .vc-app-footer[b-37360yd7bd] { padding: 16px; flex-wrap: wrap; }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.vc-top-nav[b-my22bavu2v] { display: flex; align-items: center; gap: 4px; }
.vc-top-nav[b-my22bavu2v]  .vc-nav-item { display: inline-flex; align-items: center; gap: 8px; min-height: 64px; margin: 0; padding: 8px 12px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--nav-text); font: inherit; font-size: 14px; text-decoration: none; white-space: nowrap; cursor: pointer; }
.vc-top-nav[b-my22bavu2v]  .vc-nav-item:hover { color: white; background: var(--nav-item-selected); }
.vc-top-nav[b-my22bavu2v]  .vc-nav-item.active { color: white; border-bottom-color: var(--accent-blue-light); background: var(--ui-ink); }
.vc-finance-nav[b-my22bavu2v] { position: relative; }
.vc-finance-links[b-my22bavu2v] { position: absolute; top: 100%; left: 0; min-width: 240px; padding: 8px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 0 0 var(--ui-radius) var(--ui-radius); box-shadow: var(--ui-shadow-menu); }
.vc-finance-links[hidden][b-my22bavu2v] { display: none; }
.vc-finance-links[b-my22bavu2v]  .vc-nav-item { display: flex; min-height: 44px; color: var(--ui-ink); border-bottom: 0; }
.vc-finance-links[b-my22bavu2v]  .vc-nav-item:hover, .vc-finance-links[b-my22bavu2v]  .vc-nav-item.active { background: var(--ui-selected); color: var(--ui-action-hover); }
.vc-finance-links[b-my22bavu2v]  .vc-nav-item.active { border-left: 3px solid var(--ui-action); }
.vc-finance-links[b-my22bavu2v]  :focus-visible { outline-color: var(--ui-focus); }
/* Das Menü passt ohne Schnellwahl bis 901px; darunter der Knopf „Menü“ (Layout-Review 01.11.2026). */
@media (min-width: 901px) and (max-width: 1150px) { .vc-top-nav[b-my22bavu2v]  .vc-nav-item { padding-inline: 6px; font-size: 13px; } .vc-top-nav[b-my22bavu2v] { gap: 0; } }
@media (max-width: 900px) {
    .vc-top-nav[b-my22bavu2v] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 4px 16px; padding: 8px 0; }
    .vc-top-nav[b-my22bavu2v]  .vc-nav-item { display: flex; min-height: 44px; white-space: normal; }
    .vc-finance-nav > button[b-my22bavu2v] { width: 100%; }
    .vc-finance-links[b-my22bavu2v] { position: static; min-width: 0; box-shadow: none; }
}
@media (max-width: 600px) { .vc-top-nav[b-my22bavu2v] { grid-template-columns: minmax(0, 1fr); } }
/* /Components/Layout/VcTarifHinweis.razor.rz.scp.css */
.vc-tarif-hinweis[b-zjx8nmcttk] { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; }
.vc-tarif-hinweis-knoepfe[b-zjx8nmcttk] { display: flex; flex-wrap: wrap; gap: 8px; }
/* /Components/Pages/Abweichung/Abweichungsanalyse.razor.rz.scp.css */
.vc-card-header[b-o2tja6atlv] {
    flex-wrap: wrap;
    gap: 12px;
}

.abw-controls[b-o2tja6atlv] {
    flex-wrap: wrap;
}

@media (max-width: 600px) {
    .vc-card-header[b-o2tja6atlv] { padding: 16px; }
}
/* /Components/Pages/Aufgaben/AufgabenAusschnitt.razor.rz.scp.css */
/* AufgabenAusschnitt — komponenteneigenes CSS (N-6, W-5B) */

.aufgaben-ausschnitt-card[b-9l9z579xdh] {
    margin-top: 24px;
    margin-bottom: 24px;
}

.aufgaben-ausschnitt-liste[b-9l9z579xdh] {
    list-style: none;
    margin: 0;
    padding: 0 0 8px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.aufgaben-ausschnitt-eintrag[b-9l9z579xdh] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--border-light);
    font-size: 14px;
    flex-wrap: wrap;
}

.aufgaben-ausschnitt-eintrag:last-child[b-9l9z579xdh] {
    border-bottom: none;
}

.aufgaben-ausschnitt-eintrag.ueberfaellig[b-9l9z579xdh] {
    background: var(--error-area-bg);
    margin: 0 -24px;
    padding: 8px 24px;
}

.ausschnitt-badge[b-9l9z579xdh] {
    flex-shrink: 0;
}

.ausschnitt-bezeichnung[b-9l9z579xdh] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-dark);
}

.ausschnitt-kst[b-9l9z579xdh] {
    font-size: 12px;
    color: var(--text-muted);
    flex-shrink: 0;
}

.ausschnitt-datum[b-9l9z579xdh] {
    font-size: 12px;
    color: var(--text-muted);
    flex-shrink: 0;
    font-variant-numeric: lining-nums tabular-nums;
    text-align: right;
}

.ausschnitt-datum--ueberfaellig[b-9l9z579xdh] {
    color: var(--danger-color);
    font-weight: 500;
}

.ausschnitt-leer[b-9l9z579xdh] {
    padding: 0 0 8px;
    color: var(--text-muted);
    font-size: 14px;
    margin: 0;
}

/* Leerzustand als EINE Zeile (B-4, 20.09.2026): kein Kartenkopf, keine Trennlinie.
   .vc-card bringt 24px Polsterung mit — hier auf 16/20 reduziert, weil nur eine
   Textzeile darin steht. */
.aufgaben-ausschnitt-card--leer[b-9l9z579xdh] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    padding: 16px 20px;
}

.aufgaben-ausschnitt-card--leer .ausschnitt-leer-titel[b-9l9z579xdh] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
}

.aufgaben-ausschnitt-card--leer .ausschnitt-leer[b-9l9z579xdh] {
    padding: 0;
}
/* /Components/Pages/Aufgaben/AufgabenSeite.razor.rz.scp.css */
/* Aufgaben & Fristen — komponenteneigenes CSS (N-6, W-5B)
   Farben/Abstände ausschließlich aus :root-Variablen (app.css). */

/* -----------------------------------------------------------------------
   Filter-Karte
----------------------------------------------------------------------- */
.aufgaben-filter-card[b-m2m1s8qxel] {
    margin-bottom: 24px;
}

.aufgaben-filter-row[b-m2m1s8qxel] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-end;
}

.aufgaben-filter-row[b-m2m1s8qxel]  .vc-form-group {
    flex: 1 1 180px;
    min-width: 0;
    margin-bottom: 0;
}

.aufgaben-filter-actions[b-m2m1s8qxel] {
    display: flex;
    align-items: flex-end;
}

.aufgaben-filter-row[b-m2m1s8qxel]  .vc-input,
.aufgaben-filter-actions > button[b-m2m1s8qxel] {
    box-sizing: border-box;
    height: 44px;
    min-height: 44px;
    line-height: 1.2;
}

.aufgaben-filter-row[b-m2m1s8qxel]  .vc-input:focus-visible,
button:focus-visible[b-m2m1s8qxel] {
    outline: 3px solid var(--ui-action-deep);
    outline-offset: 3px;
}

/* -----------------------------------------------------------------------
   Tabelle — überfällige Zeilen
----------------------------------------------------------------------- */
.aufgaben-row-ueberfaellig[b-m2m1s8qxel] {
    background: var(--error-area-bg) !important;
}

.aufgaben-datum-ueberfaellig[b-m2m1s8qxel] {
    color: var(--danger-color);
    font-weight: 500;
}

/* -----------------------------------------------------------------------
   Leerzustand
----------------------------------------------------------------------- */
.aufgaben-leerzustand[b-m2m1s8qxel] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 48px 24px;
    color: var(--text-muted);
    font-size: 14px;
    gap: 12px;
}

.aufgaben-leerzustand-icon[b-m2m1s8qxel] {
    font-size: 24px;
    color: var(--success-color);
}

.aufgaben-leerzustand p[b-m2m1s8qxel] {
    margin: 0;
}

/* -----------------------------------------------------------------------
   Loading
----------------------------------------------------------------------- */
.vc-table-loading[b-m2m1s8qxel] {
    padding: 24px;
    color: var(--text-muted);
    font-size: 14px;
}

/* -----------------------------------------------------------------------
   Mini-Buttons in Tabellenzellen
----------------------------------------------------------------------- */
.btn-mini[b-m2m1s8qxel] {
    padding: 5px 12px;
    font-size: 12px;
    border-radius: 8px;
}

/* -----------------------------------------------------------------------
   Responsive: Tabelle horizontal scrollbar auf kleinen Viewports
----------------------------------------------------------------------- */
@media (max-width: 600px) {
    .aufgaben-filter-row[b-m2m1s8qxel] {
        flex-direction: column;
    }

    .aufgaben-filter-row[b-m2m1s8qxel]  .vc-form-group {
        flex: 0 1 auto;
        width: 100%;
    }
}

.aufgaben-neu-aktionen[b-m2m1s8qxel], .aufgaben-zeilenaktionen[b-m2m1s8qxel] { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:12px; }
.aufgaben-zeilenaktionen[b-m2m1s8qxel] { margin:0 0 8px; gap:8px; }
.aufgaben-kalender[b-m2m1s8qxel] { margin-bottom:24px; }
.kalender-kopf[b-m2m1s8qxel] { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.kalender-raster[b-m2m1s8qxel] { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.kalender-wochentag[b-m2m1s8qxel] { text-align:center; font-size:12px; padding:8px; }
.kalender-tag[b-m2m1s8qxel] { min-height:76px; min-width:0; padding:8px; text-align:left; border:1px solid var(--border-strong); border-radius:8px; background:white; color:var(--text-dark); cursor:pointer; }
.kalender-tag:hover[b-m2m1s8qxel] { background:var(--hover-bg); }
.kalender-tag[aria-pressed=true][b-m2m1s8qxel] { border:2px solid var(--ui-action-deep); background:var(--ui-tint-blue); }
.kalender-tag[aria-current=date] > span:first-child[b-m2m1s8qxel] { font-weight:600; text-decoration:underline; }
.kalender-tag:focus-visible[b-m2m1s8qxel] { outline:3px solid var(--ui-action-deep); outline-offset:1px; }
.kalender-tag.anderer-monat[b-m2m1s8qxel] { background:var(--surface-alt); color:var(--text-light); }
.kalender-anzahl[b-m2m1s8qxel] { float:right; background:var(--ui-tint-strong); color:var(--ui-action-deep); border-radius:6px; padding:0 5px; font-size:12px; }
.kalender-kurztext[b-m2m1s8qxel] { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; margin-top:8px; }
.kalender-tagauswahl[b-m2m1s8qxel] { margin-top:20px; border-top:1px solid var(--border-color); padding-top:16px; overflow-wrap:anywhere; }
.aufgaben-erledigte[b-m2m1s8qxel] { margin-top:24px; }
.erledigte-kopf[b-m2m1s8qxel], .erledigte-liste li[b-m2m1s8qxel] { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.erledigte-kopf h2[b-m2m1s8qxel] { margin:0; }
.erledigte-liste[b-m2m1s8qxel] { list-style:none; padding:0; margin:16px 0 0; }
.erledigte-liste li[b-m2m1s8qxel] { padding:16px 0; border-top:1px solid var(--border-color); }
.erledigte-liste li > div[b-m2m1s8qxel] { flex:1 1 240px; min-width:0; overflow-wrap:anywhere; }
.erledigte-liste p[b-m2m1s8qxel] { margin:4px 0 0; }
@media(max-width: 600px) {
    .kalender-tag[b-m2m1s8qxel] { min-height:56px; padding:4px; }
    .kalender-kurztext[b-m2m1s8qxel] { display:none; }
    .aufgaben-filter-row[b-m2m1s8qxel] { align-items:stretch; }
}
/* /Components/Pages/Auswertungen.razor.rz.scp.css */
/* Auswertungen — U6, Block 7 (18.10.2026, Muster A): Werkzeugzeile, Auswertungswahl als Leiste (Prozessleiste),
   die gewählte Auswertung als Abschnitt mit getöntem Kopf (Rahmen --ui-line-strong, getönt --ui-tint, kein Schatten). */
.auswertungen[b-h3pfvbukln] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.auswertungen > *[b-h3pfvbukln] { min-width: 0; } /* breite Tabellen scrollen in ihrem Wrapper, statt das Raster aufzuziehen (Browser-Bahn 18.10.) */
.auswertungen-kopf[b-h3pfvbukln] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.auswertungen-kopf h2[b-h3pfvbukln] { margin: 0; font-size: 24px; font-weight: 600; color: var(--ui-ink); }
.auswertungen-untertitel[b-h3pfvbukln] { margin: 2px 0 0; color: var(--ui-muted); font-size: 14px; }
.auswertungen-werkzeuge[b-h3pfvbukln]  .vc-aktionsmenue > button { height: 40px; }

/* Prozessleiste: Auswertungswahl */
.auswertungen-wahl[b-h3pfvbukln] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; padding: 8px 12px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); }
.auswertungen-wahl-label[b-h3pfvbukln] { margin-right: 6px; font-size: 13px; color: var(--ui-muted); }
.auswertungen-wahl-eintrag[b-h3pfvbukln] { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: 6px; color: var(--ui-action); font-size: 14px; font-weight: 500; text-decoration: none; }
.auswertungen-wahl-eintrag:hover[b-h3pfvbukln] { background: var(--ui-surface); text-decoration: none; } /* deckend: die Bedienzustands-Messung verlangt opake Farben */
.auswertungen-wahl-eintrag.aktiv[b-h3pfvbukln] { background: var(--ui-action); color: var(--ui-surface); font-weight: 600; }
.auswertungen-wahl-eintrag:focus-visible[b-h3pfvbukln] { outline: 3px solid var(--ui-action); outline-offset: 2px; }

/* Hinweisfläche ohne gewählte Auswertung bzw. für den Mehrjahresvergleich */
.auswertungen-hinweis[b-h3pfvbukln] { padding: 16px 20px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.auswertungen-hinweis p[b-h3pfvbukln] { margin: 0 0 12px; color: var(--ui-muted); line-height: 1.5; }
.auswertungen-hinweis p:last-child[b-h3pfvbukln] { margin-bottom: 0; }

/* Abschnitte der Auswertungen: BWA-Kopf, Abweichungsanalyse, Buchungsexport — Kartenoptik ohne Schatten. */
.auswertung-detail[b-h3pfvbukln] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.auswertung-detail[b-h3pfvbukln]  .vc-card { min-width: 0; margin: 0; border: 1px solid var(--ui-line-strong); border-radius: 8px;}
.auswertung-detail[b-h3pfvbukln]  .vc-budget-header-card { padding: 0; }
.auswertung-detail[b-h3pfvbukln]  .bwa-bericht-kopf .vc-card-header { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.auswertung-detail[b-h3pfvbukln]  .bwa-bericht-kopf h2 { margin: 0; font-size: 16px; }
.auswertung-detail[b-h3pfvbukln]  .bwa-bericht-stand { margin: 0; padding: 10px 20px; }
.auswertung-detail[b-h3pfvbukln]  .vc-card--table .vc-card-header,
.auswertung-detail[b-h3pfvbukln]  .vc-budget-header-card:not(.bwa-bericht-kopf) .vc-card-header { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.auswertung-detail[b-h3pfvbukln]  .vc-card-header h2, .auswertung-detail[b-h3pfvbukln]  .vc-card-header h3 { margin: 0; font-size: 16px; }

@media (max-width: 600px) {
    .auswertungen-wahl[b-h3pfvbukln] { padding: 6px 8px; }
    .auswertungen-wahl-eintrag[b-h3pfvbukln] { padding: 6px 10px; font-size: 13px; }
}
/* /Components/Pages/Barkasse/KassenAenderungsverlaufDialog.razor.rz.scp.css */
.verlauf-vorgang + .verlauf-vorgang[b-ahxhwgmx88] {
    border-top: 1px solid var(--ui-border);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
}

.verlauf-vorgang h3[b-ahxhwgmx88] {
    font-size: 16px;
    overflow-wrap: anywhere;
}

.verlauf-vorgang dt[b-ahxhwgmx88] {
    margin-top: .75rem;
    font-weight: 600;
}

.verlauf-vorgang dd[b-ahxhwgmx88] {
    margin: .25rem 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Barkasse/KassenbuchAktionen.razor.rz.scp.css */
/* Aktionsspalte des Kassenblatts: Kennzeichen und Menüknopf in EINER Zeile, rechtsbündig. */
.kasse-aktionen[b-o3943jefuu] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
    white-space: nowrap;
    text-decoration: none;
}

/* Nur für Screenreader („Beleg ✓ vorhanden“): sichtbar bleibt das Häkchen. */
.nur-vorlesen[b-o3943jefuu] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Barkasse/KassenExportAbschnitt.razor.rz.scp.css */
/* Abschnitt „Kassenbuch exportieren“ auf der Kassen-Detailseite: Zeitraum, Auswahl und die beiden
   Export-Knöpfe in EINER umbrechenden Zeile — auf dem Telefon untereinander. */
.kasse-export[b-r2tyxe8qww] {
    padding: 16px 20px;
}

.kasse-export-titel[b-r2tyxe8qww] {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 600;
}

.kasse-export-text[b-r2tyxe8qww] {
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--text-muted);
}

.kasse-export-felder[b-r2tyxe8qww] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.kasse-export-zeitraum[b-r2tyxe8qww] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.kasse-export-jahr[b-r2tyxe8qww] {
    width: 7rem;
    min-height: 40px;
}

.kasse-export-hinweis[b-r2tyxe8qww] {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--text-muted);
}
/* /Components/Pages/Belege/BelegDetail.razor.rz.scp.css */

/* „Im Förderzeitraum öffnen“ (Planung & Budget AP-6): Link im Knopf-Stil statt „Entknüpfen“. */
.beleg-zeitraum-link[b-55wtqc9kc5] {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    white-space: nowrap;
}
.beleg-detail-breadcrumb[b-55wtqc9kc5] { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; color:var(--ui-muted); font-size:13px; }
.beleg-detail-dateiname[b-55wtqc9kc5] { overflow-wrap:anywhere; }
.beleg-detail-metadaten[b-55wtqc9kc5] { display:flex; gap:12px 20px; align-items:center; flex-wrap:wrap; padding:12px 16px; margin-bottom:16px; background:var(--ui-surface); border:1px solid var(--ui-line); border-radius:6px; font-size:13px; }
.beleg-detail-metadaten details[b-55wtqc9kc5] { margin-left:auto; }
.beleg-detail-metadaten summary[b-55wtqc9kc5] { color:var(--ui-action); cursor:pointer; padding:4px; min-height:24px; }
.beleg-detail-metadaten summary:focus-visible[b-55wtqc9kc5] { outline:2px solid var(--ui-action); outline-offset:2px; }
.beleg-detail-weitere[b-55wtqc9kc5] { padding:8px 4px; }
.beleg-detail-arbeitsbereich[b-55wtqc9kc5] { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:16px; align-items:start; }
.beleg-detail-vorschau[b-55wtqc9kc5], .beleg-detail-panel[b-55wtqc9kc5] { min-width:0; background:var(--ui-surface); border:1px solid var(--ui-line); border-radius:6px; overflow:hidden; }
.beleg-detail-vorschau[b-55wtqc9kc5] { display:flex; flex-direction:column; }
.beleg-detail-seitenbereich[b-55wtqc9kc5] { display:grid; gap:16px; min-width:0; }
.beleg-detail-panel[b-55wtqc9kc5] { padding:16px; }
.beleg-detail-panel .vc-card-header[b-55wtqc9kc5] { padding:0; margin:0 0 12px; border:0; min-height:0; }
.beleg-detail-panel h2[b-55wtqc9kc5], .beleg-detail-kopf h2[b-55wtqc9kc5] { margin:0; font-size:16px; font-weight:600; }
.beleg-detail-panel .vc-table td[b-55wtqc9kc5], .beleg-detail-panel .vc-table th[b-55wtqc9kc5] { padding:8px; }
.beleg-detail-dateien .vc-table[b-55wtqc9kc5] { width:100%; table-layout:fixed; }
.beleg-detail-dateien .vc-table th:last-child[b-55wtqc9kc5] { width:142px; }
.beleg-detail-dateien button[b-55wtqc9kc5] { min-height:28px; margin:2px 0; }
.beleg-detail-dateiinfo[b-55wtqc9kc5] { display:block; color:var(--ui-muted); margin-top:4px; }
.beleg-detail-zuordnungen .vc-table[b-55wtqc9kc5] { min-width:460px; }
.beleg-detail-zuordnen[b-55wtqc9kc5] { display:inline-flex; text-decoration:none; margin-bottom:8px; }
.beleg-detail-hinweis[b-55wtqc9kc5] { margin:8px 0; color:var(--ui-muted); line-height:1.5; }
.beleg-detail-vorschau > .beleg-detail-hinweis[b-55wtqc9kc5] { padding:16px; }
.beleg-detail-kopf[b-55wtqc9kc5] { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:16px; }
.beleg-detail-notiz textarea[b-55wtqc9kc5] { width:100%; min-height:84px; resize:vertical; }
.beleg-detail-notiz-fuss[b-55wtqc9kc5] { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.beleg-detail-notiz-fuss small[b-55wtqc9kc5] { color:var(--ui-muted); font-size:12px; }
.beleg-detail-notiz-fuss button[b-55wtqc9kc5] { flex-shrink:0; }
.beleg-detail-loeschen[b-55wtqc9kc5] { display:flex; justify-content:flex-end; margin-top:16px; }
.btn-primary:not(:disabled)[b-55wtqc9kc5] { background:var(--ui-action); color:var(--ui-surface); }
.btn-primary:hover:not(:disabled)[b-55wtqc9kc5], .btn-primary:active:not(:disabled)[b-55wtqc9kc5], .btn-primary:focus-visible:not(:disabled)[b-55wtqc9kc5] { background:var(--ui-action-hover); color:var(--ui-surface); }
.btn-secondary:not(:disabled)[b-55wtqc9kc5] { background:var(--ui-surface); color:var(--ui-action); border-color:var(--ui-action); }
.btn-secondary:hover:not(:disabled)[b-55wtqc9kc5], .btn-secondary:active:not(:disabled)[b-55wtqc9kc5], .btn-secondary:focus-visible:not(:disabled)[b-55wtqc9kc5] { background:var(--ui-selected); color:var(--ui-action-hover); border-color:var(--ui-action-hover); }
.btn-danger:not(:disabled)[b-55wtqc9kc5] { background:var(--ui-surface); color:var(--ui-danger); border-color:var(--ui-danger); }
.btn-danger:hover:not(:disabled)[b-55wtqc9kc5], .btn-danger:active:not(:disabled)[b-55wtqc9kc5], .btn-danger:focus-visible:not(:disabled)[b-55wtqc9kc5] { background:var(--ui-danger); color:var(--ui-surface); border-color:var(--ui-danger); }
.btn-primary:focus-visible[b-55wtqc9kc5], .btn-secondary:focus-visible[b-55wtqc9kc5], .btn-danger:focus-visible[b-55wtqc9kc5] { outline:3px solid var(--ui-focus); outline-offset:2px; }
@media(max-width: 900px) { .beleg-detail-arbeitsbereich[b-55wtqc9kc5] { grid-template-columns:minmax(0,1fr); } }
@media(max-width: 600px) { .beleg-detail-metadaten[b-55wtqc9kc5] { gap:8px 12px; } .beleg-detail-metadaten details[b-55wtqc9kc5] { margin-left:0; width:100%; } .beleg-detail-notiz-fuss[b-55wtqc9kc5] { align-items:stretch; flex-direction:column; } .beleg-detail-panel[b-55wtqc9kc5] { padding:12px; } .beleg-detail-dateien .vc-table th:last-child[b-55wtqc9kc5] { width:112px; } }
/* /Components/Pages/Belege/Belege.razor.rz.scp.css */
.belege-breadcrumb[b-4ew5brzpgp] { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--ui-muted); margin-bottom: 12px; }
.belege-breadcrumb a[b-4ew5brzpgp] { color: var(--ui-action-hover); text-decoration: none; }
.belege-speicher[b-4ew5brzpgp] { background: white; border: 1px solid var(--ui-line); border-radius: 6px; margin-bottom: 12px; padding: 8px 16px; }
.belege-speicher-zeile[b-4ew5brzpgp] { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; font-size: 13px; }
.belege-speicher strong[b-4ew5brzpgp] { font-weight: 600; }
.belege-speicher progress[b-4ew5brzpgp] { flex: 1 1 160px; max-width: 420px; height: 8px; accent-color: var(--ui-action); }
.belege-speicherdetails[b-4ew5brzpgp], .belege-speicher-warnung[b-4ew5brzpgp] { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; font-size: 13px; padding: 12px 0 4px; }
.belege-liste[b-4ew5brzpgp] { background: white; border: 1px solid var(--ui-line); border-radius: 8px; overflow: hidden; }
.belege-speicherverwaltung[b-4ew5brzpgp] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 16px 0 8px; border-top: 1px solid var(--ui-line); margin-top: 8px; }
.belege-speicherverwaltung h2[b-4ew5brzpgp] { font-size: 16px; font-weight: 600; margin: 0 0 8px; }
.belege-speicherverwaltung p[b-4ew5brzpgp] { font-size: 14px; color: var(--ui-muted); margin: 0 0 12px; }
.belege-freigeben-hinweis[b-4ew5brzpgp] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; background: var(--ui-selected); font-size: 14px; flex-wrap: wrap; }
.belege-tabs[b-4ew5brzpgp] { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 20px; border-bottom: 1px solid var(--ui-line); }
.belege-tabs button[b-4ew5brzpgp] { padding: 16px 12px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--ui-muted); font: inherit; font-size: 14px; cursor: pointer; }
.belege-tabs button.is-active[b-4ew5brzpgp] { color: var(--ui-action-hover); border-bottom-color: var(--ui-action); font-weight: 600; }
.belege-tabs button:hover[b-4ew5brzpgp] { color: var(--ui-ink); background: var(--ui-selected); }
.belege-filter[b-4ew5brzpgp] { padding: 16px 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.belege-filter .vc-input[b-4ew5brzpgp] { width: auto; flex: 1 1 180px; min-width: 0; }
.belege-filter .belege-suche[b-4ew5brzpgp] { flex: 2 1 240px; }
.belege-filter-details[b-4ew5brzpgp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 16px; padding: 0 20px 16px; align-items: end; }
.belege-filter-details[b-4ew5brzpgp]  .vc-form-group { margin-bottom: 0; }
.belege-textaktion[b-4ew5brzpgp] { background: none; border: 0; border-radius: 4px; padding: 8px; min-height: 36px; color: var(--ui-action-hover); font: inherit; font-size: 13px; cursor: pointer; text-align: left; }
.belege-textaktion:hover:not(:disabled)[b-4ew5brzpgp] { color: var(--ui-ink); background: var(--ui-selected); }
.belege-textaktion:disabled[b-4ew5brzpgp] { cursor: default; color: var(--ui-muted); }
.belege-tabs button:focus-visible[b-4ew5brzpgp], .belege-textaktion:focus-visible[b-4ew5brzpgp], .belege-dateilink:focus-visible[b-4ew5brzpgp] { outline: 3px solid var(--ui-action-deep); outline-offset: -3px; }
.belege-dateilink[b-4ew5brzpgp] { display: inline-block; min-height: 28px; padding: 4px 0; color: var(--ui-ink); text-decoration: none; font-weight: 500; overflow-wrap: anywhere; }
.belege-dateilink:hover[b-4ew5brzpgp] { color: var(--ui-action-hover); text-decoration: underline; }
.belege-listenfuss[b-4ew5brzpgp] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 20px; color: var(--ui-muted); font-size: 13px; }
.belege-liste .vc-table[b-4ew5brzpgp] { min-width: 680px; }
@media (max-width: 600px) {
    .belege-speicherverwaltung[b-4ew5brzpgp] { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .belege-speicher-zeile[b-4ew5brzpgp] { gap: 8px 16px; }
    .belege-speicher progress[b-4ew5brzpgp] { max-width: none; }
    .belege-speicher-zeile > span[b-4ew5brzpgp] { flex: 1 1 160px; }
    .belege-tabs[b-4ew5brzpgp] { padding: 0 8px; gap: 0; }
    .belege-tabs button[b-4ew5brzpgp] { padding: 12px 8px; font-size: 13px; }
    .belege-filter[b-4ew5brzpgp] { padding: 12px; gap: 8px; }
    .belege-filter-details[b-4ew5brzpgp] { grid-template-columns: minmax(0, 1fr); padding: 0 12px 12px; }
    .belege-listenfuss[b-4ew5brzpgp] { padding: 12px; }
}
/* /Components/Pages/Belege/BelegeZuordnen.razor.rz.scp.css */
.zuordnung-filter[b-xfisn97bpo] { display:grid; grid-template-columns:minmax(220px,2fr) repeat(2,minmax(145px,1fr)) auto; gap:16px; align-items:end; margin-bottom:20px; }
.zuordnung-filter[b-xfisn97bpo]  .vc-form-group { margin-bottom:0; min-width:0; }
.zuordnung-filter[b-xfisn97bpo]  .vc-input, .zuordnung-filter-aktionen > button[b-xfisn97bpo] { min-height:42px; }
.zuordnung-filter-aktionen[b-xfisn97bpo] { display:flex; gap:8px; flex-wrap:wrap; }
.btn-secondary:not(:disabled)[b-xfisn97bpo] { background:var(--ui-surface); color:var(--ui-action); border-color:var(--ui-action); }
.btn-secondary:hover:not(:disabled)[b-xfisn97bpo], .btn-secondary:active:not(:disabled)[b-xfisn97bpo], .btn-secondary:focus-visible:not(:disabled)[b-xfisn97bpo] { background:var(--ui-selected); color:var(--ui-action-hover); border-color:var(--ui-action-hover); }
.btn-primary:not(:disabled)[b-xfisn97bpo] { background:var(--ui-action); color:var(--ui-surface); }
.btn-primary:hover:not(:disabled)[b-xfisn97bpo], .btn-primary:active:not(:disabled)[b-xfisn97bpo], .btn-primary:focus-visible:not(:disabled)[b-xfisn97bpo] { background:var(--ui-action-hover); color:var(--ui-surface); }
.btn-primary:focus-visible[b-xfisn97bpo], .btn-secondary:focus-visible[b-xfisn97bpo] { outline:3px solid var(--ui-focus); outline-offset:2px; }
.zuordnung-arbeitsbereich[b-xfisn97bpo] { display:grid; grid-template-columns:minmax(230px,1fr) minmax(290px,1.4fr) minmax(310px,1.5fr); gap:16px; align-items:stretch; }
.zuordnung-panel[b-xfisn97bpo] { min-width:0; display:flex; flex-direction:column; background:var(--ui-surface); border:1px solid var(--border-strong); border-radius:8px; overflow:hidden; }
.zuordnung-panel-kopf[b-xfisn97bpo] { padding:16px; border-bottom:1px solid var(--border-color); }
.zuordnung-panel h2[b-xfisn97bpo] { font-size:16px; font-weight:600; margin:0 0 16px; }
.zuordnung-auswahlliste[b-xfisn97bpo] { flex:1; min-height:240px; max-height:580px; overflow:auto; padding:8px; }
.zuordnung-beleg[b-xfisn97bpo], .zuordnung-buchung[b-xfisn97bpo] { width:100%; text-align:left; padding:16px; background:var(--ui-surface); color:var(--ui-header); border:1px solid transparent; border-radius:8px; cursor:pointer; margin-bottom:4px; font:inherit; }
.zuordnung-beleg[b-xfisn97bpo] { display:flex; gap:12px; align-items:flex-start; }
.zuordnung-beleg > span[b-xfisn97bpo] { min-width:0; }
.zuordnung-datei-icon[b-xfisn97bpo] { width:24px; height:28px; flex-shrink:0; }
.zuordnung-beleg strong[b-xfisn97bpo], .zuordnung-buchung > strong[b-xfisn97bpo] { display:block; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.zuordnung-beleg small[b-xfisn97bpo], .zuordnung-buchung small[b-xfisn97bpo] { display:block; color:var(--ui-text-soft); font-size:12px; margin-top:4px; }
.zuordnung-beleg:hover[b-xfisn97bpo], .zuordnung-buchung:hover[b-xfisn97bpo] { background:var(--hover-bg); }
.zuordnung-beleg.ist-ausgewaehlt[b-xfisn97bpo], .zuordnung-buchung.ist-ausgewaehlt[b-xfisn97bpo] { background:var(--ui-tint-blue); border-color:var(--ui-action); box-shadow:inset 3px 0 var(--ui-action); }
.zuordnung-beleg:focus-visible[b-xfisn97bpo], .zuordnung-buchung:focus-visible[b-xfisn97bpo] { outline:3px solid var(--ui-action-deep); outline-offset:-3px; }
.zuordnung-beleg:disabled[b-xfisn97bpo], .zuordnung-buchung:disabled[b-xfisn97bpo] { cursor:wait; }
.zuordnung-buchung-kopf[b-xfisn97bpo] { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; }
.zuordnung-buchung-zweck[b-xfisn97bpo] { display:block; margin-top:2px; font-size:13px; color:var(--text-secondary); overflow-wrap:anywhere; }
/* Buchungskarte mit zweiter Aktion „Kein Beleg vorhanden“ (10.10.2026). */
.zuordnung-buchung-karte[b-xfisn97bpo] { margin-bottom:4px; border-radius:8px; }
.zuordnung-buchung-karte .zuordnung-buchung[b-xfisn97bpo] { margin-bottom:0; }
.zuordnung-buchung-karte.ist-kein-beleg[b-xfisn97bpo] { background:var(--surface-alt); }
.zuordnung-buchung-aktionen[b-xfisn97bpo] { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:0 16px 12px; font-size:12px; color:var(--ui-text-soft); }
.zuordnung-kein-beleg[b-xfisn97bpo] { min-width:0; overflow-wrap:anywhere; }
.zuordnung-textaktion[b-xfisn97bpo] { margin-left:auto; padding:4px 0; background:none; border:0; color:var(--ui-action-hover); font:inherit; font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.zuordnung-textaktion:hover:not(:disabled)[b-xfisn97bpo] { color:var(--accent-blue-pressed); }
.zuordnung-textaktion:focus-visible[b-xfisn97bpo] { outline:3px solid var(--ui-action-deep); outline-offset:2px; }
.zuordnung-textaktion:disabled[b-xfisn97bpo] { color:var(--ui-muted); cursor:default; text-decoration:none; }
.zuordnung-erfolg .zuordnung-textaktion[b-xfisn97bpo] { margin-left:8px; font-size:14px; }
.zuordnung-buchung-kopf strong[b-xfisn97bpo] { font-weight:600; }
.zuordnung-mehrfach[b-xfisn97bpo] { padding:16px; border-top:1px solid var(--border-color); font-size:13px; cursor:pointer; }
.zuordnung-mehrfach input[b-xfisn97bpo] { width:20px; height:20px; vertical-align:middle; margin-right:8px; }
.zuordnung-mehrfach small[b-xfisn97bpo] { display:block; margin:4px 0 0 32px; color:var(--ui-text-soft); }
.zuordnung-suche[b-xfisn97bpo] { display:flex; gap:8px; }
.zuordnung-suche input[b-xfisn97bpo] { min-width:0; }
.zuordnung-seiten[b-xfisn97bpo] { display:flex; gap:8px; align-items:center; justify-content:space-between; padding:12px; border-top:1px solid var(--border-color); font-size:12px; }
.zuordnung-leer[b-xfisn97bpo] { padding:16px; color:var(--ui-text-soft); line-height:1.6; }
.zuordnung-hinweis[b-xfisn97bpo] { margin:0; padding:12px 16px; font-size:13px; line-height:1.5; color:var(--accent-blue-pressed); background:var(--ui-tint-blue); border-bottom:1px solid var(--border-color); }
.ohne-beleg .zuordnung-buchung:disabled[b-xfisn97bpo] { cursor:not-allowed; }
.zuordnung-erfolg[b-xfisn97bpo] { padding:12px 16px; border:1px solid var(--ui-success-line); border-radius:8px; color:var(--ui-success); background:var(--result-area-bg); margin-bottom:16px; }
.zuordnung-erfolg a[b-xfisn97bpo] { margin-left:8px; }
@media(max-width: 1150px) { .zuordnung-arbeitsbereich[b-xfisn97bpo] { grid-template-columns:minmax(200px,1fr) minmax(240px,1.3fr); } .zuordnung-vorschau[b-xfisn97bpo] { grid-column:2; grid-row:1 / span 2; } .zuordnung-filter[b-xfisn97bpo] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .zuordnung-arbeitsbereich[b-xfisn97bpo] { grid-template-columns:minmax(0,1fr); } .zuordnung-vorschau[b-xfisn97bpo] { grid-column:auto; grid-row:auto; } .zuordnung-filter[b-xfisn97bpo] { grid-template-columns:minmax(0,1fr); } .zuordnung-auswahlliste[b-xfisn97bpo] { max-height:340px; } }
.vc-sr-only[b-xfisn97bpo] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
/* /Components/Pages/Belege/BelegStapelUpload.razor.rz.scp.css */
/* Die Ablagefläche selbst ist vc-dropzone in app.css — gemeinsam mit dem Upload-Abschnitt. */
.beleg-stapel[b-0wiw1nof4f] { margin-bottom: 20px; }
.beleg-upload-hinweis[b-0wiw1nof4f] { margin: 6px 0 0; color: var(--ui-muted); font-size: 12px; }
.beleg-upload-ergebnisse[b-0wiw1nof4f] { margin-top: 12px; padding: 16px; background: white; border: 1px solid var(--border-strong); border-radius: 8px; }
.beleg-upload-kopf[b-0wiw1nof4f] { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: center; }
.beleg-upload-kopf strong[b-0wiw1nof4f], .beleg-upload-liste strong[b-0wiw1nof4f] { font-weight: 600; }
.beleg-upload-liste[b-0wiw1nof4f] { padding: 0; margin: 12px 0 0; list-style: none; }
.beleg-upload-details > summary[b-0wiw1nof4f] { cursor:pointer; color:var(--ui-action-hover); padding:8px 0; min-height:32px; margin-top:4px; }
.beleg-upload-details > summary:focus-visible[b-0wiw1nof4f] { outline:3px solid var(--ui-action-deep); outline-offset:2px; }
.beleg-upload-liste li[b-0wiw1nof4f] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--border-color); overflow-wrap: anywhere; }
.beleg-upload-liste small[b-0wiw1nof4f] { display: block; color: var(--ui-muted); margin-top: 4px; }
.beleg-upload-fehler[b-0wiw1nof4f] { margin: 6px 0 0; font-size: 13px; color: var(--ui-warn-text); }
.beleg-upload-aktionen[b-0wiw1nof4f] { display: flex; flex-wrap: wrap; gap: 8px; }

/* Darstellung „Vorschau ist Ablage" (Belege zuordnen). Das Dateifeld ist ein Kindbaustein
   (VcInputFile) und trägt das Scope-Attribut nicht — deshalb ::deep. */
.beleg-stapel--flaeche[b-0wiw1nof4f] { display: flex; flex-direction: column; flex: 1; min-height: 0; margin-bottom: 0; }
.beleg-ablage-rahmen[b-0wiw1nof4f] { display: flex; flex: 1; min-height: 0; }
.beleg-ablage[b-0wiw1nof4f] { position: relative; display: flex; flex-direction: column; flex: 1; min-width: 0; }
.beleg-ablage-ziel[b-0wiw1nof4f] {
    position: absolute; inset: 12px; z-index: 1;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    padding: 24px; text-align: center;
    border: 2px dashed var(--accent-blue); border-radius: 8px;
    background: var(--ui-tint-blue); color: var(--ui-header);
    opacity: 0; pointer-events: none; transition: opacity .12s ease;
}
.beleg-ablage-ziel svg[b-0wiw1nof4f] { width: 44px; height: 44px; color: var(--accent-blue); }
.beleg-ablage-ziel strong[b-0wiw1nof4f] { font-size: 16px; font-weight: 600; }
.beleg-ablage-ziel span[b-0wiw1nof4f] { font-size: 14px; color: var(--text-secondary); }
.beleg-ablage-ziel small[b-0wiw1nof4f] { font-size: 12px; color: var(--ui-muted); }
.beleg-ablage[b-0wiw1nof4f]  .beleg-ablage-input {
    position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%;
    opacity: 0; cursor: pointer; pointer-events: none;
}
.ist-leer .beleg-ablage-ziel[b-0wiw1nof4f], .beleg-ablage.is-ziehen .beleg-ablage-ziel[b-0wiw1nof4f] { opacity: 1; }
.ist-leer .beleg-ablage[b-0wiw1nof4f]  .beleg-ablage-input, .beleg-ablage.is-ziehen[b-0wiw1nof4f]  .beleg-ablage-input { pointer-events: auto; }
.ist-leer:hover:not(.is-disabled) .beleg-ablage-ziel[b-0wiw1nof4f] { background: var(--ui-tint-strong); }
.is-disabled .beleg-ablage-ziel[b-0wiw1nof4f] { opacity: .6; }
.is-disabled .beleg-ablage[b-0wiw1nof4f]  .beleg-ablage-input { pointer-events: none; cursor: default; }
.beleg-ablage-leiste[b-0wiw1nof4f] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 16px; border-top: 1px solid var(--border-color); font-size: 12px; color: var(--ui-muted); }
.beleg-stapel--flaeche .vc-alert[b-0wiw1nof4f], .beleg-stapel--flaeche .beleg-upload-ergebnisse[b-0wiw1nof4f] { margin: 0 16px 16px; }
@media (max-width: 600px) {
    .beleg-upload-liste li[b-0wiw1nof4f] { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .beleg-upload-liste button[b-0wiw1nof4f] { justify-self: start; }
}
/* /Components/Pages/Belege/BelegVorschau.razor.rz.scp.css */
.vorschau-kopf[b-jmiamjlflr] { padding:16px; border-bottom:1px solid var(--border-color); }
.vorschau-kopf select[b-jmiamjlflr] { width:100%; min-width:0; max-width:100%; }
.vorschau-kopf h2[b-jmiamjlflr] { font-size:16px; font-weight:600; margin:0 0 16px; }
.vorschau-kopf label[b-jmiamjlflr] { display:block; font-size:12px; margin-bottom:4px; color:var(--ui-text-soft); }
.vorschau-kopf a[b-jmiamjlflr] { display:inline-block; margin-top:12px; font-size:13px; }
.vorschau-inhalt[b-jmiamjlflr] { display:flex; flex:1; min-height:520px; justify-content:center; background:var(--hover-bg); padding:12px; }
.vorschau-inhalt iframe[b-jmiamjlflr] { width:100%; min-width:0; min-height:520px; border:0; background:var(--ui-surface); }
.vorschau-inhalt img[b-jmiamjlflr] { width:100%; max-height:640px; object-fit:contain; align-self:flex-start; }
.vorschau-hinweis[b-jmiamjlflr] { padding:16px; color:var(--ui-text-soft); line-height:1.6; overflow-wrap:anywhere; }
@media(max-width: 600px) { .vorschau-inhalt[b-jmiamjlflr], .vorschau-inhalt iframe[b-jmiamjlflr] { min-height:400px; } }
/* /Components/Pages/Belege/BelegZuordnenDialog.razor.rz.scp.css */
/* Liste links, Vorschau rechts — die Ablagefläche darüber läuft über die volle Breite. */
.beleg-zuordnen-bereich[b-hndschk0ht] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 1.25fr);
    gap: 16px;
    margin-top: 16px;
    align-items: start;
}
.beleg-zuordnen-liste[b-hndschk0ht],
.beleg-zuordnen-vorschau[b-hndschk0ht] { min-width: 0; }
.beleg-zuordnen-titel[b-hndschk0ht] { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
/* T-044: Lange Dateinamen ohne Leerzeichen schoben die Tabelle über die Spalte hinaus — die
   Spalte „Hochgeladen" lag dann abgeschnitten im Querscroll. Der Name bricht um, das Datum nie. */
.beleg-zuordnen-datei[b-hndschk0ht] { overflow-wrap: anywhere; }
.beleg-zuordnen-datum[b-hndschk0ht] { width: 104px; white-space: nowrap; }
.beleg-zuordnen-zuletzt[b-hndschk0ht] { margin-top: 4px; }
.beleg-zuordnen-filter[b-hndschk0ht] { margin: 12px 0 4px; }
.beleg-zuordnen-vorschau[b-hndschk0ht] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
    background: var(--ui-surface);
}
/* Die Vorschau bringt 520px Mindesthöhe für eine Seite mit — im Dialog reichen 420px,
   sonst schiebt sie die Knopfleiste bei kleinen Bildschirmen aus dem Blick. */
.beleg-zuordnen-vorschau[b-hndschk0ht]  .vorschau-inhalt,
.beleg-zuordnen-vorschau[b-hndschk0ht]  .vorschau-inhalt iframe { min-height: 420px; }
@media (max-width: 900px) {
    .beleg-zuordnen-bereich[b-hndschk0ht] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Belege/KeinBelegDialog.razor.rz.scp.css */
.kein-beleg-gruende[b-ve5pt90o6i] { border: 0; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; }
.kein-beleg-gruende legend[b-ve5pt90o6i] { font-weight: 600; font-size: 14px; margin-bottom: 8px; padding: 0; }
.kein-beleg-grund[b-ve5pt90o6i] { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--border-strong); border-radius: 8px; cursor: pointer; }
.kein-beleg-grund:hover[b-ve5pt90o6i] { background: var(--hover-bg); }
.kein-beleg-grund:has(input:checked)[b-ve5pt90o6i] { border-color: var(--ui-action); background: var(--ui-tint-blue); }
.kein-beleg-grund:focus-within[b-ve5pt90o6i] { outline: 3px solid var(--ui-action-deep); outline-offset: 2px; }
.kein-beleg-grund[b-ve5pt90o6i]  input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; }
.kein-beleg-grund strong[b-ve5pt90o6i] { display: block; font-weight: 600; font-size: 14px; }
.kein-beleg-grund small[b-ve5pt90o6i] { display: block; color: var(--ui-text-soft); font-size: 12px; margin-top: 2px; }
/* /Components/Pages/Benutzer/MandantBenutzerBearbeiten.razor.rz.scp.css */
.benutzer-editor[b-2nq9ix9d0z] { max-width: 1000px; min-width: 0; }
.zurueck-link[b-2nq9ix9d0z] { display: inline-flex; align-items: center; min-height: 36px; margin-bottom: 12px; color: var(--ui-action); }
.zurueck-link:hover[b-2nq9ix9d0z] { color: var(--ui-action-hover); }
.zurueck-link:active[b-2nq9ix9d0z] { color: var(--accent-blue-pressed); }
.zurueck-link:focus-visible[b-2nq9ix9d0z], .benutzer-editor button:focus-visible[b-2nq9ix9d0z], .eigener-passwort-link:focus-visible[b-2nq9ix9d0z] { outline: 2px solid var(--ui-action); outline-offset: 3px; }
.editor-felder[b-2nq9ix9d0z] { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 24px; }
.editor-abschnitt[b-2nq9ix9d0z] { background: white; border: 1px solid var(--ui-line); padding: 24px; min-width: 0; border-radius: 8px; }
.editor-abschnitt header[b-2nq9ix9d0z] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.editor-abschnitt h2[b-2nq9ix9d0z] { font-size: 18px; font-weight: 600; margin: 0; }
.editor-abschnitt h3[b-2nq9ix9d0z] { font-size: 16px; font-weight: 600; margin: 24px 0 12px; }
.entwurf[b-2nq9ix9d0z] { font-size: 13px; color: var(--ui-muted); }
.formular-zeile[b-2nq9ix9d0z] { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.editor-abschnitt .vc-checkbox[b-2nq9ix9d0z] { display: flex; gap: 10px; align-items: center; min-height: 36px; margin-bottom: 8px; }
.editor-abschnitt .vc-checkbox input[b-2nq9ix9d0z] { min-width: 24px; min-height: 24px; margin: 0; }
.editor-abschnitt .vc-form-help[b-2nq9ix9d0z] { color: var(--ui-muted); line-height: 1.5; margin: 12px 0 16px; }
.editor-abschnitt .vc-input[b-2nq9ix9d0z] { max-width: 100%; }
.aktionen[b-2nq9ix9d0z] { display: flex; flex-wrap: wrap; gap: 12px; }
.einmalpasswort[b-2nq9ix9d0z] { margin-bottom: 24px; }
.einmalpasswort .vc-passwort-anzeige[b-2nq9ix9d0z] { overflow-wrap: anywhere; margin-bottom: 16px; }
.vc-page-subtitle[b-2nq9ix9d0z] { overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .editor-abschnitt[b-2nq9ix9d0z] { padding: 16px; }
    .formular-zeile[b-2nq9ix9d0z] { grid-template-columns: 1fr; gap: 0; }
    .editor-abschnitt button[b-2nq9ix9d0z] { max-width: 100%; white-space: normal; }
}
/* /Components/Pages/Bestellung/Bestellen.razor.rz.scp.css */
/* Bestellstrecke /bestellen — komponenteneigenes CSS (DESIGN_SYSTEM: Karten 8px/Rahmen --ui-line, Primary --ui-action,
   Zahlen rechts, max. Gewicht 600). Die Seite steht im Vollbild-Layout für Besucher ohne Anmeldung. */

.bestellen-seite[b-h3mvsbgnjy] {
    width: 100%;
    max-width: 880px;
    align-self: flex-start;
}

/* Routes.razor setzt nach jeder Navigation den Fokus auf die h1 (Screenreader-Einstieg). Der sichtbare
   Fokusrahmen gehört an Eingaben, nicht an die Überschrift (Sichtprüfung 17.10.2026). */
.bestellen-seite h1:focus[b-h3mvsbgnjy] {
    outline: none;
}

.bestellen-kopf[b-h3mvsbgnjy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    text-align: center;
}

.bestellen-schritte[b-h3mvsbgnjy] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    font-size: 13px;
}

.bestellen-schritte li[b-h3mvsbgnjy] {
    padding: 6px 12px;
    border-radius: 8px;
    background: var(--ui-surface);
    color: var(--ui-muted);
}

.bestellen-schritte li.ist-erreicht[b-h3mvsbgnjy] {
    color: var(--ui-action-deep);
    background: var(--ui-tint-blue);
}

.bestellen-schritte li[aria-current="step"][b-h3mvsbgnjy] {
    font-weight: 600;
    color: var(--ui-surface);
    background: var(--accent-blue);
}

.bestellen-varianten[b-h3mvsbgnjy],
.bestellen-zahlweg[b-h3mvsbgnjy] {
    border: 0;
    margin: 16px 0 0;
    padding: 0;
}

.bestellen-varianten legend[b-h3mvsbgnjy],
.bestellen-zahlweg legend[b-h3mvsbgnjy] {
    font-size: 12px;
    font-weight: 500;
    color: var(--ui-muted);
    padding: 0 0 8px;
}

.bestellen-variante[b-h3mvsbgnjy] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 8px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
}

.bestellen-variante.ist-gewaehlt[b-h3mvsbgnjy] {
    border-color: var(--ui-action);
    background: var(--ui-tint-blue);
}

.bestellen-variante-text[b-h3mvsbgnjy] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bestellen-liste[b-h3mvsbgnjy] {
    margin: 8px 0 0;
    padding-left: 20px;
}

.bestellen-erklaerungen[b-h3mvsbgnjy] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
}

.bestellen-erklaerungen .vc-checkbox[b-h3mvsbgnjy] {
    align-items: flex-start;
    line-height: 1.45;
}

.bestellen-erklaerungen input[type="checkbox"][b-h3mvsbgnjy] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
}

td.numeric[b-h3mvsbgnjy] {
    text-align: right;
    font-variant-numeric: lining-nums tabular-nums;
}

.numeric[b-h3mvsbgnjy] {
    font-variant-numeric: lining-nums tabular-nums;
}

.bestellen-seite th[scope="row"][b-h3mvsbgnjy] {
    text-align: left;
    font-weight: 500;
}

/* Fangfeld (Honeypot): außerhalb des sichtbaren Bereichs, nicht per Inline-Stil (CSP) und nicht per
   display:none allein — manche Bots überspringen nur ausgeblendete Felder. Für Menschen weder sichtbar
   noch per Tab erreichbar (tabindex -1, aria-hidden am Container). */
.bestellen-fangfeld[b-h3mvsbgnjy] {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 600px) {
    .bestellen-seite th[scope="row"][b-h3mvsbgnjy] {
        min-width: 140px;
    }
}
/* /Components/Pages/Buchungen.razor.rz.scp.css */
/* Buchungen — U6, Block 9 (18.10.2026, Muster A): Pfad, Werkzeugzeile, Auswahl als Prozessleiste, Kennzahlen als
   Zeile, Liste als Abschnitt — dieselbe Blockgrammatik wie die Reiter der Kostenstelle (Rahmen --ui-line-strong, getönter
   Kopf --ui-tint, kein Schatten; Bauform Nachweis.razor.css). Tabelle und Zeilenaktionen bleiben unverändert. */
.buchungen[b-56lyq5ni88] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.buchungen > *[b-56lyq5ni88] { min-width: 0; } /* die Tabelle scrollt in ihrem Wrapper, statt das Raster aufzuziehen */
.buchungen > .vc-alert[b-56lyq5ni88] { margin: 0; }

/* Pfad — dieselben Klassen wie die Kontextleiste (Components/Kontext); deren Optik ist dort gebunden und die
   Leiste selbst trägt den Kostenstellen-Kopf, den diese mandantenweite Seite nicht hat. */
.buchungen-pfad[b-56lyq5ni88] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-bottom: -8px; font-size: 12px; color: var(--text-muted); }
.buchungen-pfad .kontext-breadcrumb-link[b-56lyq5ni88] { color: var(--accent-blue); text-decoration: none; font-weight: 500; }
.buchungen-pfad .kontext-breadcrumb-link:hover[b-56lyq5ni88] { text-decoration: underline; }
.buchungen-pfad .kontext-breadcrumb-trenner[b-56lyq5ni88] { user-select: none; }
.buchungen-pfad .kontext-breadcrumb-aktuell[b-56lyq5ni88] { color: var(--text-secondary); font-weight: 500; }

/* Werkzeugzeile */
.buchungen-kopf[b-56lyq5ni88] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.buchungen-titelblock[b-56lyq5ni88] { min-width: 0; }
.buchungen-titel[b-56lyq5ni88] { margin: 0; }
.buchungen-untertitel[b-56lyq5ni88] { margin: 2px 0 0; color: var(--text-muted); font-size: 14px; }
.buchungen-werkzeuge[b-56lyq5ni88] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.buchungen-werkzeuge > button[b-56lyq5ni88], .buchungen-werkzeuge[b-56lyq5ni88]  .vc-aktionsmenue > button { height: 40px; }

/* Prozessleiste: die Auswahl in einer Zeile, umbrechend */
.buchungen-prozessleiste[b-56lyq5ni88] { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 16px; padding: 10px 14px 12px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); }
.buchungen-prozessleiste[b-56lyq5ni88]  .vc-form-group { flex: 1 1 150px; min-width: 0; margin: 0; gap: 4px; }
.buchungen-prozessleiste[b-56lyq5ni88]  .vc-form-group.buchungen-filter--breit { flex: 2 1 220px; }
.buchungen-prozessleiste[b-56lyq5ni88]  .vc-label { font-size: 12px; }
.buchungen-prozessleiste[b-56lyq5ni88]  .vc-input { width: 100%; min-width: 0; height: 40px; background: var(--ui-surface); }

/* Kennzahlenzeile: vier Felder in einem Rahmen (kpi-card bleibt die Bauform der Werte). */
.buchungen-kennzahlen[b-56lyq5ni88] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.buchungen-kennzahlen .kpi-card[b-56lyq5ni88] { margin: 0; padding: 14px 20px; border: 0; border-left: 1px solid var(--ui-line-strong); border-radius: 0; background: var(--ui-surface); gap: 4px; min-width: 0; }
.buchungen-kennzahlen .kpi-card:first-child[b-56lyq5ni88] { border-left: 0; }
.buchungen-kennzahlen .kpi-label[b-56lyq5ni88] { text-transform: none; letter-spacing: 0; }
.buchungen-kennzahlen .kpi-value[b-56lyq5ni88] { font-size: 24px; }
.buchungen-kennzahlen .kpi-hint[b-56lyq5ni88] { font-size: 12px; }

/* Abschnitt Buchungsliste: weiße Fläche, feiner Rahmen, getönter Kopf. */
.buchungen-abschnitt[b-56lyq5ni88] { margin: 0; border: 1px solid var(--ui-line-strong); border-radius: 8px;}
.buchungen-abschnitt-kopf[b-56lyq5ni88] { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.buchungen-abschnitt-kopf h2[b-56lyq5ni88] { margin: 0; font-size: 16px; }

@media (max-width: 900px) {
    .buchungen-kennzahlen[b-56lyq5ni88] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .buchungen-kennzahlen .kpi-card:nth-child(odd)[b-56lyq5ni88] { border-left: 0; }
    .buchungen-kennzahlen .kpi-card:nth-child(n + 3)[b-56lyq5ni88] { border-top: 1px solid var(--ui-line-strong); }
}
@media (max-width: 600px) {
    /* Schmal: ein Feld je Zeile, damit die Beträge nicht umbrechen. */
    .buchungen-kennzahlen[b-56lyq5ni88] { grid-template-columns: 1fr; }
    .buchungen-kennzahlen .kpi-card[b-56lyq5ni88], .buchungen-kennzahlen .kpi-card:nth-child(odd)[b-56lyq5ni88] { border-left: 0; border-top: 1px solid var(--ui-line-strong); }
    .buchungen-kennzahlen .kpi-card:first-child[b-56lyq5ni88] { border-top: 0; }
    .buchungen-prozessleiste[b-56lyq5ni88]  .vc-form-group, .buchungen-prozessleiste[b-56lyq5ni88]  .vc-form-group.buchungen-filter--breit { flex-basis: 100%; }
    .buchungen-abschnitt-kopf[b-56lyq5ni88] { padding-left: 14px; padding-right: 14px; }
}
/* /Components/Pages/BuchungenBelege/BuchungenBelegeHub.razor.rz.scp.css */
.hub-kontext[b-l46icmk5ry] { display: flex; align-items: end; gap: 24px; margin-bottom: 24px; padding: 20px 24px; }
.hub-kostenstelle[b-l46icmk5ry] { flex: 1; max-width: 560px; min-width: 0; }
.hub-kostenstelle[b-l46icmk5ry]  .vc-form-group { margin: 0; }
.hub-hauptaktionen[b-l46icmk5ry] { margin-left: auto; display: flex; flex-wrap: wrap; gap: 16px; }
.hub-hauptaktionen button[b-l46icmk5ry] { min-height: 44px; }
.hub-aktion--gesperrt[b-l46icmk5ry] { display: grid; gap: 4px; color: var(--ui-muted); padding: 8px 16px; }
.hub-aktion--gesperrt small[b-l46icmk5ry] { font-size: 12px; }
.hub-gruppen[b-l46icmk5ry] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hub-gruppe[b-l46icmk5ry] { min-width:0; }
.hub-gruppe > header[b-l46icmk5ry] { padding: 0 4px 16px; }
.hub-gruppe h2[b-l46icmk5ry] { font-size: 18px; font-weight: 600; margin: 0 0 4px; }
.hub-gruppe p[b-l46icmk5ry] { margin: 0; color: var(--ui-muted); font-size: 13px; line-height: 1.5; }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 16px; align-items: center; min-height: 112px; padding: 20px 16px; margin-bottom:12px; color: var(--ui-ink); background:var(--ui-surface); text-decoration: none; border:1px solid var(--ui-line); border-radius:6px; }
.hub-gruppe[b-l46icmk5ry]  a.hub-kachel { cursor:pointer; }
.hub-gruppe[b-l46icmk5ry]  a.hub-kachel:focus-visible { outline:3px solid var(--ui-action); outline-offset:2px; }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel[aria-disabled="true"] { background:var(--ui-bg); border-style:dashed; }
.hub-gruppe[b-l46icmk5ry]  a.hub-kachel:hover, .hub-gruppe[b-l46icmk5ry]  a.hub-kachel:active { background: var(--ui-selected); color: var(--ui-action-hover); }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel__icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel__titel { font-size: 14px; font-weight: 600; margin: 0 0 4px; }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel__beschreibung { font-size: 13px; color: var(--ui-muted); margin: 0; line-height: 1.5; }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel__pfeil { font-size: 24px; }
.hub-gruppe[b-l46icmk5ry]  .hub-kachel__sperre { grid-column: 2 / -1; font-size: 12px; color: var(--ui-muted); }
@media (max-width: 1150px) { .hub-gruppen[b-l46icmk5ry] { grid-template-columns: 1fr; } .hub-kontext[b-l46icmk5ry] { flex-wrap: wrap; } .hub-kostenstelle[b-l46icmk5ry] { flex-basis: 100%; max-width: none; } .hub-hauptaktionen[b-l46icmk5ry] { margin-left: 0; } }
@media (max-width: 600px) { .hub-kontext[b-l46icmk5ry] { padding: 16px; } .hub-hauptaktionen[b-l46icmk5ry] { width: 100%; gap: 8px; } .hub-hauptaktionen button[b-l46icmk5ry] { width: 100%; } }
/* /Components/Pages/Budget/BudgetKstAuswahl.razor.rz.scp.css */
.planung-einstieg[b-hmgwxdlmb1] { container: planung / inline-size; margin: 0 auto; color: var(--ui-ink); }
.planung-kopf[b-hmgwxdlmb1] { margin-bottom: 28px; }
.planung-kopf h1[b-hmgwxdlmb1] { font-size: 24px; margin: 0 0 8px; font-weight: 600; }
.planung-kopf p[b-hmgwxdlmb1], .planung-zeitraum[b-hmgwxdlmb1], .planung-finanzhinweis[b-hmgwxdlmb1] { color: var(--ui-muted); }
.planung-kopf p[b-hmgwxdlmb1] { margin: 0; }
.planung-kst-liste[b-hmgwxdlmb1] { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.planung-kst-liste > li[b-hmgwxdlmb1] { container: kostenstelle / inline-size; min-width: 0; display: flex; flex-direction: column; }
.planung-sortierung[b-hmgwxdlmb1] { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.planung-sortierung p[b-hmgwxdlmb1] { margin: 0; flex: 1 1 320px; }
.planung-sortieraktionen[b-hmgwxdlmb1] { display: flex; flex-wrap: wrap; gap: 8px; }
.planung-sortierknopf[b-hmgwxdlmb1] { min-height: 44px; min-width: 44px; max-width: 100%; }
.planung-sortierknopf.btn-secondary[b-hmgwxdlmb1], .planung-sortierknopf.btn-neutral[b-hmgwxdlmb1] { background: var(--ui-surface); border-color: var(--ui-subtle); }
.planung-sortierknopf.btn-secondary[b-hmgwxdlmb1] { color: var(--ui-action); }
.planung-sortierknopf.btn-neutral[b-hmgwxdlmb1] { color: var(--ui-ink); }
.planung-sortierknopf.btn-secondary:hover:not(:disabled)[b-hmgwxdlmb1], .planung-sortierknopf.btn-neutral:hover:not(:disabled)[b-hmgwxdlmb1] { background: var(--ui-selected); border-color: var(--ui-action); }
.planung-sortierknopf.btn-primary[b-hmgwxdlmb1] { background: var(--ui-action); }
.planung-sortierknopf.btn-primary:hover:not(:disabled)[b-hmgwxdlmb1] { background: var(--ui-action-hover); }
.planung-sortierknopf:focus-visible[b-hmgwxdlmb1] { outline: 3px solid var(--ui-focus); outline-offset: 3px; }
.planung-sortierknopf:disabled[b-hmgwxdlmb1] { opacity: .5; cursor: not-allowed; }
.planung-kartengriff[b-hmgwxdlmb1] { display: flex; align-items: center; gap: 8px; padding: 10px; background: var(--ui-tint-strong); border: 1px solid var(--ui-subtle); border-radius: 8px 8px 0 0; }
.planung-kartengriff span[b-hmgwxdlmb1] { flex: 1; min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.planung-kartengriff button[b-hmgwxdlmb1] { width: 44px; min-height: 44px; flex-shrink: 0; background: white; color: var(--accent-blue-pressed); border: 1px solid var(--ui-subtle); border-radius: 8px; font-size: 18px; }
.planung-kartengriff button[draggable][b-hmgwxdlmb1] { cursor: grab; }
.planung-kartengriff button:hover:not(:disabled)[b-hmgwxdlmb1] { background: var(--ui-tint-blue); border-color: var(--ui-action); }
.planung-kartengriff button:focus-visible[b-hmgwxdlmb1] { outline: 3px solid var(--ui-action); outline-offset: 2px; }
.planung-kartengriff button:disabled[b-hmgwxdlmb1] { opacity: .45; }
.planung-karte--sortieren .planung-kst-link[b-hmgwxdlmb1] { border-radius: 0 0 8px 8px; border-top: 0; }
.planung-kst-link[b-hmgwxdlmb1] { display: block; height: 100%; padding: 24px; background: white; border: 1px solid var(--ui-line-strong); border-radius: 8px; color: var(--ui-ink); text-decoration: none;}
.planung-kst-link:hover[b-hmgwxdlmb1] { border-color: var(--ui-action); background: var(--surface-alt); text-decoration: none; }
.planung-kst-link:focus-visible[b-hmgwxdlmb1] { outline: 3px solid var(--ui-action); outline-offset: 3px; }
.planung-kst-link:active[b-hmgwxdlmb1] { background: var(--ui-tint-blue); }
.planung-kst-kopf[b-hmgwxdlmb1] { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.planung-kst-kopf > div[b-hmgwxdlmb1] { min-width: 0; }
.planung-kst-kopf h2[b-hmgwxdlmb1] { margin: 0; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.planung-zeitraum[b-hmgwxdlmb1] { margin: 8px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.planung-weiter[b-hmgwxdlmb1] { color: var(--ui-action); font-size: 13px; white-space: nowrap; padding-top: 4px; }
.planung-weiter span[b-hmgwxdlmb1] { margin-left: 12px; }
.planung-kst-inhalt[b-hmgwxdlmb1] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ui-line); }
.planung-kennzahlen[b-hmgwxdlmb1] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.planung-kennzahlen dt[b-hmgwxdlmb1] { color: var(--ui-muted); font-size: 13px; }
.planung-kennzahlen dd[b-hmgwxdlmb1] { margin: 8px 0 0; font-size: 18px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.planung-negativ[b-hmgwxdlmb1] { color: var(--ui-danger); }
.planung-finanzhinweis[b-hmgwxdlmb1] { font-size: 12px; margin: 12px 0 0; }
.planung-naechstes[b-hmgwxdlmb1] { padding-top: 16px; border-top: 1px solid var(--ui-line); min-width: 0; }
.planung-naechstes h3[b-hmgwxdlmb1] { margin: 0 0 12px; font-size: 13px; font-weight: 600; }
.planung-aufgaben[b-hmgwxdlmb1] { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.planung-aufgaben li[b-hmgwxdlmb1] { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }
.planung-aufgaben li > span:first-child[b-hmgwxdlmb1] { overflow-wrap: anywhere; }
.planung-datum[b-hmgwxdlmb1] { color: var(--ui-muted); flex-shrink: 0; font-variant-numeric: tabular-nums; }
@container planung (min-width: 960px) {
    .planung-kst-liste[b-hmgwxdlmb1] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container planung (min-width: 1280px) {
    .planung-kst-liste[b-hmgwxdlmb1] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container planung (min-width: 2400px) {
    .planung-kst-liste[b-hmgwxdlmb1] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container kostenstelle (max-width: 520px) {
    .planung-kst-link[b-hmgwxdlmb1] { padding: 16px; }
    .planung-kst-kopf[b-hmgwxdlmb1] { flex-direction: column; gap: 8px; }
    .planung-kennzahlen[b-hmgwxdlmb1] { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .planung-kennzahlen > div[b-hmgwxdlmb1] { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
    .planung-kennzahlen dd[b-hmgwxdlmb1] { margin: 0; font-size: 18px; }
}
@container kostenstelle (max-width: 360px) {
    .planung-aufgaben li[b-hmgwxdlmb1] { flex-direction: column; gap: 4px; }
}
/* /Components/Pages/Budget/BudgetUebersicht.razor.rz.scp.css */
.bwa-bericht-kopf[b-alfs3otzuw] {
    padding: 16px 24px;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius);
}

.bwa-bericht-kopf .vc-card-header[b-alfs3otzuw] {
    padding: 0;
    border: 0;
    gap: 12px 24px;
    flex-wrap: wrap;
}

.bwa-bericht-kopf h2[b-alfs3otzuw] { font-size: 18px; line-height: 1.4; }
.bwa-bericht-kopf .vc-card-header-actions[b-alfs3otzuw] { gap: 8px; }
.bwa-bericht-stand[b-alfs3otzuw] { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 12px; color: var(--ui-muted); font-size: 13px; }
.bwa-bericht-kopf button[b-alfs3otzuw] { min-height: 36px; }
.bwa-bericht-kopf .bwa-view-toggle[b-alfs3otzuw] { overflow: visible; }
.bwa-bericht-kopf .bwa-view-toggle-btn:first-child[b-alfs3otzuw] { border-radius: 6px 0 0 6px; }
.bwa-bericht-kopf .bwa-view-toggle-btn:last-child[b-alfs3otzuw] { border-radius: 0 6px 6px 0; }
.bwa-bericht-kopf .bwa-view-toggle-btn[b-alfs3otzuw] { color: var(--ui-action); }
.bwa-bericht-kopf .bwa-view-toggle-btn:hover[b-alfs3otzuw] { background: var(--ui-selected); }
.bwa-bericht-kopf .bwa-view-toggle-btn.active[b-alfs3otzuw] { background: var(--ui-action); color: white; }
.bwa-bericht-kopf .bwa-view-toggle-btn:active[b-alfs3otzuw] { background: var(--ui-action-hover); color: white; }
.bwa-bericht-kopf .btn-export-excel[b-alfs3otzuw] { color: var(--ui-success); border-color: var(--ui-success); }
.bwa-bericht-kopf .btn-export-excel:hover[b-alfs3otzuw], .bwa-bericht-kopf .btn-export-excel:active[b-alfs3otzuw] { background: var(--ui-success); color: white; }
.bwa-bericht-kopf button:focus-visible[b-alfs3otzuw] { position: relative; z-index: 1; outline: 3px solid var(--ui-action); outline-offset: 3px; }

@media (max-width: 600px) {
    .bwa-bericht-kopf[b-alfs3otzuw] { padding: 16px; }
    .bwa-bericht-kopf .vc-card-header-actions[b-alfs3otzuw] { width: 100%; }
    .bwa-bericht-kopf .bwa-view-toggle[b-alfs3otzuw] { display: flex; max-width: 100%; }
    .bwa-bericht-kopf .bwa-view-toggle-btn[b-alfs3otzuw] { padding: 8px; white-space: normal; }
}
/* /Components/Pages/Budget/BwaJahresAnsicht.razor.rz.scp.css */
.bwa-quartal-filter[b-o9t16clvvd] {
    max-width: 100%;
    flex-wrap: wrap;
}
/* /Components/Pages/BwaNebeneinanderBetrag.razor.rz.scp.css */
.bwa-null[b-v0bvg2oj49] { color: var(--border-strong); }
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.dash-uebersicht[b-4789f7abob] { color: var(--ui-header); background: var(--ui-bg); font-size: 14px; }
.dash-panorama[b-4789f7abob] { min-height: 150px; background: linear-gradient(90deg, rgba(16, 46, 86, 0.67), rgba(16, 46, 86, 0.20) 65%, rgba(16, 46, 86, 0.33)), url('/img/dashboard-see-panorama.png') center 57% / cover; color: white; }
.dash-panorama-inhalt[b-4789f7abob] { max-width: 1520px; min-height: 150px; margin: auto; padding: 24px 40px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.dash-begruessung p[b-4789f7abob] { margin: 0; font-size: 16px; line-height: 1.65; }
.dash-begruessung p:first-child[b-4789f7abob] { font-weight: 600; margin-bottom: 8px; }
.dash-begruessung h1[b-4789f7abob] { margin: 0; color: white; font-size: var(--ui-font-display); line-height: 1.25; font-weight: 600; }
.dash-begruessung h1:focus[b-4789f7abob] { outline: none; }
.dash-begruessung h1:focus-visible[b-4789f7abob] { outline: 3px solid white; outline-offset: 6px; }
.dash-bereichsleiste[b-4789f7abob] { display: flex; justify-content: space-between; align-items: stretch; gap: 24px; min-height: 76px; padding: 0 max(32px, calc((100% - 1456px) / 2)); border-bottom: 1px solid var(--ui-line); background: var(--ui-surface); }
.dash-bereiche[b-4789f7abob] { display: flex; gap: 24px; align-items: stretch; }
.dash-bereiche a[b-4789f7abob] { display: flex; align-items: center; padding: 16px 0; min-height: 48px; border-bottom: 3px solid transparent; color: var(--ui-muted); font-size: 14px; font-weight: 500; white-space: nowrap; }
.dash-bereiche a[aria-current][b-4789f7abob] { border-bottom-color: var(--ui-action); color: var(--ui-action); font-weight: 600; }
.dash-werkzeuge[b-4789f7abob] { display: flex; align-items: center; gap: 16px; }
.dash-jahr[b-4789f7abob] { display: flex; align-items: center; gap: 12px; margin: 0; white-space: nowrap; font-size: 13px; }
.dash-jahr select[b-4789f7abob] { width: 88px; height: 40px; padding: 8px 12px; }
.dash-werkzeuge .btn-primary[b-4789f7abob] { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; white-space: nowrap; min-height: 42px; }
.dash-werkzeuge .btn-primary span[b-4789f7abob] { font-size: 18px; line-height: 1; }
.dash-inhalt[b-4789f7abob] { max-width: 1520px; padding: 32px; margin: auto; }
.dash-uebersicht h2[b-4789f7abob] { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.35; }
.dash-uebersicht h3[b-4789f7abob] { margin: 0 0 4px; font-size: 14px; line-height: 1.4; font-weight: 600; }
.dash-uebersicht a[b-4789f7abob] { color: var(--ui-action); text-decoration: none; }
.dash-uebersicht a.btn-primary[b-4789f7abob] { color: white; }
.dash-uebersicht a:hover[b-4789f7abob] { text-decoration: underline; }
.dash-uebersicht :is(a, button, select, summary):focus-visible[b-4789f7abob] { outline: 3px solid var(--ui-action); outline-offset: 3px; }
.dash-arbeitsbereiche[b-4789f7abob] { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: start; gap: 32px; margin-bottom: 32px; padding: 24px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.dash-abschnittskopf[b-4789f7abob] { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 24px; padding-bottom: 12px; }
.dash-abschnittskopf a[b-4789f7abob] { font-size: 14px; display: inline-flex; align-items: center; gap: 12px; min-height: 32px; }
.dash-aufgabenliste[b-4789f7abob] { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.dash-aufgabe[b-4789f7abob] { position: relative; display: flex; align-items: flex-start; gap: 16px; padding: 16px; border: 1px solid var(--ui-line); border-radius: 6px; background: var(--ui-surface); }
.dash-aufgabe:hover[b-4789f7abob] { border-color: var(--ui-tint-strong); background: var(--surface-alt); }
.dash-aufgabe-symbol[b-4789f7abob] { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; margin-top: 2px; border-radius: 50%; background: var(--ui-subtle); color: white; font-size: 18px; }
.dash-aufgabe-symbol.ist-dringend[b-4789f7abob] { background: var(--ui-danger); }
.dash-aufgabe-inhalt[b-4789f7abob] { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.dash-aufgabe-metadaten[b-4789f7abob] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dash-aufgabe p[b-4789f7abob] { margin: 2px 0; font-size: 14px; line-height: 1.5; }
.dash-aufgabe p.dash-aufgabe-kontext[b-4789f7abob] { margin-top: 6px; font-size: 12px; }
.dash-aufgabe-aktion[b-4789f7abob] { display: grid; place-items: center; align-self: center; width: 32px; min-height: 40px; flex-shrink: 0; font-size: 24px; line-height: 1; }
.dash-aufgabe-aktion[b-4789f7abob]::after { content: ""; position: absolute; inset: 0; border-radius: 6px; }
.dash-aufgabe:focus-within[b-4789f7abob] { outline: 2px solid var(--ui-action-deep); outline-offset: 2px; }
.dash-aufgabe-kontext[b-4789f7abob], .dash-hinweis[b-4789f7abob], .dash-kst-anzahl[b-4789f7abob], .dash-kst-zeitraum[b-4789f7abob], .dash-bankhinweis[b-4789f7abob], .dash-organisation[b-4789f7abob] { color: var(--ui-muted); }
.dash-bankhinweis[b-4789f7abob] { margin-top: 16px; font-size: 12px; }
.dash-bankhinweis summary[b-4789f7abob], .dash-finanz-details summary[b-4789f7abob] { cursor: pointer; min-height: 28px; padding-block: 4px; }
.dash-bankhinweis p[b-4789f7abob] { line-height: 1.6; }
.dash-hinweis[b-4789f7abob] { font-size: 12px; line-height: 1.6; }
.dash-leer[b-4789f7abob] { padding: 24px 0; }
.dash-negativ[b-4789f7abob] { color: var(--ui-danger); }
.dash-positiv[b-4789f7abob] { color: var(--ui-success); }
.dash-finanz[b-4789f7abob] { border-left: 1px solid var(--border-color); padding-left: 32px; min-width: 0; }
.dash-finanz h2[b-4789f7abob] { padding-bottom: 16px; border-bottom: 2px solid var(--ui-line-strong); }
.dash-finanzwerte[b-4789f7abob], .dash-finanz-kontext[b-4789f7abob] { margin: 0; }
.dash-finanzwerte > div[b-4789f7abob], .dash-finanz-kontext > div[b-4789f7abob] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--ui-line); }
.dash-finanzwerte dt[b-4789f7abob], .dash-finanz-kontext dt[b-4789f7abob] { color: var(--ui-muted); font-size: 14px; }
.dash-finanzwerte dd[b-4789f7abob] { margin: 0; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.dash-finanz-kontext dd[b-4789f7abob] { margin: 0; color: var(--ui-muted); font-size: 13px; line-height: 1.5; }
.dash-finanz-details[b-4789f7abob] { margin-top: 12px; color: var(--ui-muted); font-size: 12px; }
.dash-finanz-details label[b-4789f7abob] { display: grid; gap: 8px; }
.dash-finanz-details select[b-4789f7abob] { width: 100%; }
.dash-finanz > a[b-4789f7abob] { display: inline-flex; align-items: center; min-height: 32px; font-size: 13px; }
.dash-kostenstellen[b-4789f7abob], .dash-bwa[b-4789f7abob] { margin-bottom: 32px; padding: 24px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.dash-kostenstellen .dash-abschnittskopf[b-4789f7abob] { margin: -24px -24px 0; padding: 20px 24px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.dash-kst-anzahl[b-4789f7abob] { display: inline-block; margin-top: 4px; font-size: 12px; }
.dash-kostenstellen .vc-table-wrapper[b-4789f7abob] { overflow-x: auto; }
.dash-kst-tabelle[b-4789f7abob] { min-width: 760px; }
.dash-kst-tabelle th[b-4789f7abob] { background: var(--surface-alt); color: var(--ui-muted); font-size: 13px; font-weight: 500; }
.dash-kst-tabelle td[b-4789f7abob] { padding-block: 12px; vertical-align: middle; border-color: var(--ui-line); font-size: 14px; }
.dash-kst-tabelle th:first-child[b-4789f7abob] { width: 64px; }
.dash-kst-tabelle td:nth-child(2)[b-4789f7abob] { max-width: 320px; white-space: normal; }
.dash-kst-tabelle tbody tr[b-4789f7abob] { position: relative; }
.dash-kst-tabelle tbody tr:hover[b-4789f7abob], .dash-kst-tabelle tbody tr:focus-within[b-4789f7abob] { background: var(--ui-selected); }
.dash-kst-tabelle tbody tr:has(a:active)[b-4789f7abob] { background: var(--ui-tint-strong); }
.dash-kst-tabelle a.dash-kst-name[b-4789f7abob] { display: block; min-height: 28px; font-weight: 600; white-space: normal; overflow-wrap: anywhere; }
/* Der echte Namenslink deckt die Zeile ab: Enter, Kontextmenü und neuer Tab bleiben nativ. */
.dash-kst-name[b-4789f7abob]::after { content: ""; position: absolute; inset: 0; }
.dash-kst-name:focus-visible[b-4789f7abob]::after { box-shadow: inset 0 0 0 3px var(--ui-action); }
.dash-kst-zeitraum[b-4789f7abob] { display: block; margin-top: 3px; font-size: 11px; }
/* T-047: Laufende Kostenstellen zeigen Erträge/Aufwand/Ergebnis in den Spalten Budget/Prognose/Differenz — die Zelle sagt, was sie enthält. */
.dash-zelle-label[b-4789f7abob] { display: block; font-size: 11px; color: var(--ui-muted); }
.dash-kst-tabelle .numeric[b-4789f7abob] { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.dash-status[b-4789f7abob] { display: inline-block; padding: 3px 8px; border-radius: 4px; color: var(--ui-muted); background: var(--hover-bg); font-size: 12px; white-space: nowrap; }
.dash-status.green[b-4789f7abob] { color: var(--ui-success); background: var(--ui-success-bg); }
.dash-status.red[b-4789f7abob] { color: var(--ui-danger); background: var(--error-area-bg); }
.dash-status.yellow[b-4789f7abob] { color: var(--ui-warning); background: var(--ui-warn-bg); }
.dash-alle-kostenstellen[b-4789f7abob] { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 12px; }
.dash-alle-kostenstellen a[b-4789f7abob] { min-height: 32px; display: inline-flex; gap: 24px; align-items: center; }
.dash-organisation[b-4789f7abob] { font-size: 12px; }
.dash-einrichtung[b-4789f7abob] { margin-bottom: 24px; border: 1px solid var(--ui-line); border-radius: 6px; background: var(--ui-tint-blue); }
.dash-einrichtung > summary[b-4789f7abob] { padding: 16px; min-height: 48px; color: var(--ui-action); font-weight: 500; cursor: pointer; }
.dash-einrichtung[b-4789f7abob]  .vc-card { margin: 0; padding: 12px 16px 24px; border: 0; border-radius: 0; background: transparent;}
.dash-bwa-kopf[b-4789f7abob] { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: -24px; padding: 16px 24px; border-radius: 8px; background: var(--ui-tint); }
.dash-bwa.offen .dash-bwa-kopf[b-4789f7abob] { margin-bottom: 24px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; }
.dash-bwa-kopf h2[b-4789f7abob] { font-size: 18px; }
.dash-bwa-toggle[b-4789f7abob] { display: inline-flex; align-items: center; gap: 16px; padding: 8px 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.dash-bwa-toggle:hover[b-4789f7abob] { color: var(--ui-action); }
.dash-umschalter[b-4789f7abob] { font-size: 13px; color: var(--ui-action); white-space: nowrap; }
.dash-pfeil[b-4789f7abob] { display: inline-block; }
.dash-bwa.offen .dash-pfeil[b-4789f7abob] { transform: rotate(180deg); }
.dash-bwa-filter[b-4789f7abob] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.dash-bwa-filter[hidden][b-4789f7abob], .dash-bwa-inhalt[hidden][b-4789f7abob] { display: none; }
.dash-bwa-inhalt[b-4789f7abob] { padding-bottom: 0; }
.dash-bwa-inhalt .vc-table-wrapper[b-4789f7abob] { overflow-x: auto; margin-top: 16px; }
#gesamt-bwa-titel[b-4789f7abob], #aufgaben[b-4789f7abob], #kostenstellen[b-4789f7abob], #aktuell[b-4789f7abob] { scroll-margin-top: 24px; }
.dash-fristen[b-4789f7abob]  .vc-card { margin: 0; padding: 24px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface);}
.dash-fristen[b-4789f7abob]  .vc-card-header { margin: -24px -24px 20px; padding: 20px 24px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
@media (max-width: 1150px) {
    .dash-bereichsleiste[b-4789f7abob] { padding-inline: 24px; gap: 16px; }
    .dash-bereiche[b-4789f7abob] { gap: 16px; }
    .dash-bereiche a[b-4789f7abob] { font-size: 13px; }
    .dash-werkzeuge[b-4789f7abob] { gap: 12px; }
    .dash-jahr[b-4789f7abob] { gap: 8px; }
    .dash-werkzeuge .btn-primary[b-4789f7abob] { padding-inline: 12px; font-size: 13px; }
    .dash-panorama-inhalt[b-4789f7abob] { padding-inline: 32px; }
}
@media (max-width: 900px) {
    .dash-bereichsleiste[b-4789f7abob] { flex-wrap: wrap; gap: 0; padding-top: 12px; }
    .dash-bereiche[b-4789f7abob] { order: 2; width: 100%; justify-content: space-between; }
    .dash-werkzeuge[b-4789f7abob] { width: 100%; justify-content: space-between; }
    .dash-arbeitsbereiche[b-4789f7abob] { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .dash-finanz[b-4789f7abob] { border-left: 0; padding-left: 0; }
}
@media (max-width: 600px) {
    .dash-panorama[b-4789f7abob], .dash-panorama-inhalt[b-4789f7abob] { min-height: 130px; }
    .dash-panorama-inhalt[b-4789f7abob] { padding: 20px; }
    .dash-begruessung h1[b-4789f7abob] { font-size: 24px; }
    .dash-begruessung p[b-4789f7abob] { font-size: 14px; }
    .dash-bereichsleiste[b-4789f7abob] { padding-inline: 16px; }
    .dash-bereiche[b-4789f7abob] { gap: 12px; overflow-x: auto; }
    .dash-bereiche a[b-4789f7abob] { font-size: 12px; }
    .dash-jahr[b-4789f7abob] { font-size: 12px; }
    .dash-jahr select[b-4789f7abob] { width: 76px; }
    .dash-werkzeuge[b-4789f7abob] { gap: 8px; flex-wrap: wrap; }
    .dash-inhalt[b-4789f7abob] { padding: 24px 16px; }
    .dash-arbeitsbereiche[b-4789f7abob], .dash-kostenstellen[b-4789f7abob], .dash-bwa[b-4789f7abob] { padding: 16px; }
    .dash-kostenstellen .dash-abschnittskopf[b-4789f7abob] { margin: -16px -16px 0; padding: 16px; }
    .dash-bwa-kopf[b-4789f7abob] { margin: -16px; padding: 12px 16px; }
    .dash-bwa.offen .dash-bwa-kopf[b-4789f7abob] { margin-bottom: 16px; }
    .dash-fristen[b-4789f7abob]  .vc-card { padding: 16px; }
    .dash-fristen[b-4789f7abob]  .vc-card-header { margin: -16px -16px 16px; padding: 16px; }
    .dash-uebersicht h2[b-4789f7abob] { font-size: 18px; }
    .dash-abschnittskopf[b-4789f7abob] { gap: 8px; }
    .dash-aufgabe[b-4789f7abob] { gap: 12px; padding: 12px; }
    .dash-aufgabe-symbol[b-4789f7abob] { flex-basis: 28px; width: 28px; height: 28px; font-size: 18px; }
    .dash-aufgabe-aktion[b-4789f7abob] { width: 24px; }
    .dash-aufgabe p[b-4789f7abob] { font-size: 13px; }
    .dash-bwa-toggle[b-4789f7abob] { flex-wrap: wrap; }
    .dash-bwa-filter[b-4789f7abob] { margin-left: 0; min-width: 0; }
    .dash-bwa-filter select[b-4789f7abob] { max-width: 100%; }
    .dash-fristen[b-4789f7abob]  .anstehende-frist { display: flex; flex-wrap: wrap; gap: 8px; }
    .dash-fristen[b-4789f7abob]  .frist-bezeichnung { flex-basis: 100%; overflow-wrap: anywhere; }
}

/* T-067 (Rudi, 24.10.2026): Gesamt-BWA „Kostenstellen nebeneinander“ lesbar machen. Die Tabelle
   bemisst sich nach ihrem Inhalt (statt fester Spaltenteilung) und scrollt im Wrapper waagerecht;
   die Kostenart-Spalte steht fest links. Alle Sonderzeilen tragen deckende Hintergründe aus app.css,
   nur die normale Kostenart-Zeile braucht ihren eigenen. */
.bwa-nebeneinander[b-4789f7abob] { table-layout: auto; min-width: 100%; }
.bwa-nebeneinander .bwa-fest[b-4789f7abob] { position: sticky; left: 0; z-index: 2; min-width: 16rem; max-width: 22rem; white-space: normal; overflow-wrap: anywhere; box-shadow: 1px 0 0 var(--border-color); }
.bwa-nebeneinander .bwa-zeile .bwa-fest[b-4789f7abob] { background: var(--card-bg); }
.bwa-nebeneinander thead .bwa-fest[b-4789f7abob] { z-index: 12; }
.bwa-nebeneinander .bwa-art-nr[b-4789f7abob] { color: var(--text-muted); font-size: 12px; margin-right: 4px; }
.bwa-nebeneinander th.bwa-kst-kopf[b-4789f7abob] { vertical-align: bottom; min-width: 7.5rem; }
.bwa-nebeneinander .bwa-kst-nr[b-4789f7abob] { display: block; font-weight: 600; }
.bwa-nebeneinander .bwa-kst-name[b-4789f7abob] { display: block; font-weight: 400; font-size: 11px; color: var(--text-muted); max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-left: auto; }
/* /Components/Pages/Dashboards/KostenstelleDashboard.razor.rz.scp.css */
/* Übersicht — U6, Block 5 (18.10.2026, Muster A): Werkzeugzeile, Prozessleiste (weitere Zeiträume), Kennzahlenzeile
   mit den Mini-Balken (Rudi: behalten), Abschnitte als weiße Flächen mit feinem Rahmen und getöntem Kopf — dieselbe
   Bauform wie Kostenstellen-Kopf, Hochrechnung, Nachweis und Planung (Rahmen --ui-line-strong, getönt --ui-tint, kein Schatten). */
.uebersicht[b-90eqcpx14y] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.uebersicht > *[b-90eqcpx14y] { min-width: 0; } /* breite Tabellen scrollen in ihrem Wrapper, statt das Raster aufzuziehen (Browser-Bahn 18.10.) */

/* Werkzeugzeile */
.uebersicht-kopf[b-90eqcpx14y] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.uebersicht-kopf h2[b-90eqcpx14y] { margin: 0; font-size: 24px; font-weight: 600; }
.uebersicht-untertitel[b-90eqcpx14y] { margin: 2px 0 0; color: var(--text-muted); font-size: 14px; }
.uebersicht-werkzeuge[b-90eqcpx14y]  .vc-aktionsmenue > button { height: 40px; }

/* Prozessleiste: Abrechnung des Vorjahres, Planung des Folgejahres */
.uebersicht-prozessleiste[b-90eqcpx14y] { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 32px; padding: 10px 16px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); font-size: 13px; color: var(--text-secondary); }
.uebersicht-zeitraum-hinweis[b-90eqcpx14y] { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; min-width: 0; }
.uebersicht-zeitraum-hinweis .btn-text[b-90eqcpx14y] { padding: 2px 4px; }

/* Kennzahlenzeile: fünf Felder in einem Rahmen, Mini-Balken bleiben */
.kpi-grid[b-90eqcpx14y] { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; overflow: hidden; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.kpi-grid .kpi-card[b-90eqcpx14y] { margin: 0; padding: 14px 18px; border: 0; border-left: 1px solid var(--ui-line-strong); border-radius: 0; gap: 6px; }
.kpi-grid .kpi-card:first-child[b-90eqcpx14y] { border-left: 0; }
/* Abschnitte: Diagramm und Kostenarten */
.chart-container[b-90eqcpx14y], .dashboard-kostenarten-card[b-90eqcpx14y] { margin: 0; padding: 0; border: 1px solid var(--ui-line-strong); border-radius: 8px;}
.chart-container .vc-card-header[b-90eqcpx14y], .dashboard-kostenarten-card .vc-card-header[b-90eqcpx14y] { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.chart-container .vc-card-header h2[b-90eqcpx14y], .dashboard-kostenarten-card .vc-card-header h2[b-90eqcpx14y] { margin: 0; font-size: 16px; }
.chart-title[b-90eqcpx14y] { margin: 0; }
.chart-inhalt[b-90eqcpx14y] { padding: 16px 20px 20px; }
.chart-scroll[b-90eqcpx14y] { overflow-x: auto; }
.chart-bars[b-90eqcpx14y] { min-width: 480px; }
.chart-legend[b-90eqcpx14y] { flex-wrap: wrap; gap: 12px 20px; }
.uebersicht[b-90eqcpx14y]  .vc-aufgaben-fristen { margin: 0; }

@media (max-width: 900px) {
    .kpi-grid[b-90eqcpx14y] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kpi-grid .kpi-card[b-90eqcpx14y] { border-top: 1px solid var(--ui-line-strong); }
    .kpi-grid .kpi-card:nth-child(-n+2)[b-90eqcpx14y] { border-top: 0; }
    .kpi-grid .kpi-card:nth-child(odd)[b-90eqcpx14y] { border-left: 0; }
}
@media (max-width: 600px) {
    .kpi-grid[b-90eqcpx14y] { grid-template-columns: minmax(0, 1fr); }
    .kpi-grid .kpi-card[b-90eqcpx14y] { border-left: 0; border-top: 1px solid var(--ui-line-strong); }
    .kpi-grid .kpi-card:first-child[b-90eqcpx14y] { border-top: 0; }
    .uebersicht-prozessleiste[b-90eqcpx14y] { gap: 8px 16px; }
}
/* /Components/Pages/Dialogs/ZahlungErfassenDialog.razor.rz.scp.css */
.zahlungsart[b-ugxx531ixt] {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.zahlungsart label[b-ugxx531ixt] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
/* /Components/Pages/DsgvoVerwaltung.razor.rz.scp.css */
.dsgvo-auskunft-zeile[b-28jnb6nist] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    margin-top: 1rem;
}
.dsgvo-auskunft-zeile[b-28jnb6nist]  .vc-form-group { margin-bottom: 0; }
.dsgvo-auskunft-zeile > button[b-28jnb6nist] { margin: 0; min-height: 42px; }
@media (max-width: 600px) {
    .dsgvo-auskunft-zeile[b-28jnb6nist] { flex-direction: column; align-items: stretch; }
}
/* /Components/Pages/Einrichtung/Einrichtungsassistent.razor.rz.scp.css */
.einrichtung-schritte[b-kr7bk1w9oh] { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 24px; }
.einrichtung-schritte [aria-current="step"][b-kr7bk1w9oh] { background: var(--ui-selected); border: 2px solid var(--ui-action); }
.einrichtung-inhalt[b-kr7bk1w9oh] { padding: 24px; margin-bottom: 24px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 6px; }
.einrichtung-inhalt p[b-kr7bk1w9oh] { max-width: 80ch; line-height: 1.6; }
.einrichtung-inhalt fieldset[b-kr7bk1w9oh] { display: grid; gap: 16px; border: 0; padding: 0; max-width: 640px; }
.einrichtung-aktionen[b-kr7bk1w9oh] { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.einrichtung-schritte button:focus-visible[b-kr7bk1w9oh], .einrichtung-aktionen button:focus-visible[b-kr7bk1w9oh] { outline: 3px solid var(--ui-action); outline-offset: 3px; }
@media (max-width: 600px) { .einrichtung-inhalt[b-kr7bk1w9oh] { padding: 16px; } .einrichtung-schritte button[b-kr7bk1w9oh] { min-height: 44px; } }
[b-kr7bk1w9oh] .vc-input[aria-invalid="true"] { border: 2px solid var(--ui-danger); }
[b-kr7bk1w9oh] .vc-input[aria-invalid="true"]:focus { outline: 2px solid var(--ui-danger); outline-offset: 2px; }
/* /Components/Pages/Einstellungen.razor.rz.scp.css */
.vc-personalabgaben-page[b-uqxsxxvxzd] { max-width: 1120px; margin-inline: auto; }
.vc-personalabgaben[b-uqxsxxvxzd] { margin-bottom: 24px; }
.vc-beitragssumme[b-uqxsxxvxzd] { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.vc-beitragssumme h2[b-uqxsxxvxzd] { font-size: 18px; margin: 0 0 8px; }
.vc-beitragssumme p[b-uqxsxxvxzd] { margin: 4px 0 0; }
.vc-beitragssumme-wert[b-uqxsxxvxzd] { display: flex; align-items: center; gap: 8px; }
.vc-beitragssumme-wert > strong[b-uqxsxxvxzd] { font-size: 24px; font-variant-numeric: tabular-nums; }
.vc-summen-info[b-uqxsxxvxzd] { position: relative; }
.vc-summen-info summary[b-uqxsxxvxzd] { display: grid; place-items: center; width: 24px; height: 24px; font-size: 11px; color: var(--text-secondary); cursor: pointer; list-style: none; }
.vc-summen-info summary[b-uqxsxxvxzd]::-webkit-details-marker { display: none; }
.vc-summen-info summary:hover[b-uqxsxxvxzd] { color: var(--accent-blue-pressed); }
.vc-summen-info summary:focus-visible[b-uqxsxxvxzd] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 2px; }
.vc-summen-info[open][b-uqxsxxvxzd] { position: static; }
.vc-summen-info[open] p[b-uqxsxxvxzd] { max-width: 32rem; font-size: 14px; }
@media (max-width: 600px) {
    .vc-beitragssumme-wert[b-uqxsxxvxzd] { flex-wrap: wrap; }
}
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-settings-grid,
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-grid,
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-row-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 32px;
    margin-block: 16px;
}
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    align-items: center;
    gap: 4px 12px;
    margin: 0;
    min-width: 0;
}
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-label { margin: 0; overflow-wrap: anywhere; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input { min-height: 40px; min-width: 0; }
.vc-personalabgaben .btn-primary[b-uqxsxxvxzd] { background: var(--accent-blue-hover); }
.vc-personalabgaben .btn-primary:hover:not(:disabled)[b-uqxsxxvxzd],
.vc-personalabgaben .btn-primary:active:not(:disabled)[b-uqxsxxvxzd] { background: var(--accent-blue-pressed); }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input:focus-visible,
.vc-personalabgaben button:focus-visible[b-uqxsxxvxzd] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 3px; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input.numeric { width: 112px; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-editor { position: relative; width: 112px; min-width: 0; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-display {
    position: absolute; inset: 0; padding-inline: 12px; display: flex;
    align-items: center; justify-content: flex-end; pointer-events: none;
    font-size: 14px; font-variant-numeric: tabular-nums; color: var(--text-dark);
}
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-editor:not(:focus-within) input:not([aria-invalid="true"]) { color: transparent; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-editor input::placeholder { color: var(--text-muted); }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-editor:focus-within .vc-number-display,
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-editor:has(input[aria-invalid="true"]) .vc-number-display { display: none; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-field-hint { grid-column: 1 / -1; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input:not(.numeric) { grid-column: 1 / -1; width: 100%; }
/* Die Kostenart-Auswahl steckt in einer Hülle: Ohne diese Zeile landete die Hülle in der 112-px-Zahlenspalte
   und schnitt „4.1 — Personalkosten" ab (Befund 7, Erklärvideo „Verwaltung", 27.10.2026). */
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-group > .vc-autocomplete { grid-column: 1 / -1; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-field-hint summary,
.vc-settings-details > summary[b-uqxsxxvxzd] { min-height: 32px; padding-block: 4px; color: var(--text-secondary); cursor: pointer; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-field-hint summary:hover,
.vc-settings-details > summary:hover[b-uqxsxxvxzd] { color: var(--accent-blue-pressed); }
.vc-personalabgaben[b-uqxsxxvxzd]  summary:focus-visible,
.vc-settings-details > summary:focus-visible[b-uqxsxxvxzd] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 3px; }
.vc-period-controls[b-uqxsxxvxzd] { display: flex; gap: 16px; align-items: end; flex-wrap: wrap; }
.vc-period-field[b-uqxsxxvxzd] { display: grid; gap: 8px; min-width: 0; }
.vc-period-controls > button[b-uqxsxxvxzd], .vc-period-controls > a[b-uqxsxxvxzd], .vc-period-field > .vc-input[b-uqxsxxvxzd] { min-height: 40px; margin: 0; }
.vc-period-controls > a[b-uqxsxxvxzd] { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.vc-period-controls[b-uqxsxxvxzd] { margin-block: 24px; }
.vc-period-create[b-uqxsxxvxzd] { margin-bottom: 32px; padding: 16px; border: 1px solid var(--border-color); border-radius: 8px; background: var(--surface-alt); }
.vc-period-create .vc-period-controls[b-uqxsxxvxzd] { margin-block: 0 12px; }
.vc-period-help > summary[b-uqxsxxvxzd], .vc-section-info-icon[b-uqxsxxvxzd] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; flex: 0 0 24px; padding: 0;
    color: var(--text-secondary); background: transparent;
    border: 0; border-radius: 50%; font: 600 10px/1 Georgia, serif;
}
.vc-period-help > summary > span[b-uqxsxxvxzd], .vc-section-info-icon > span[b-uqxsxxvxzd] { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border: 1px solid var(--border-strong); border-radius: 50%; }
.vc-personalabgaben[b-uqxsxxvxzd]  input[aria-invalid="true"] { border: 2px solid var(--danger-color); }
.vc-period-help > summary[b-uqxsxxvxzd], .vc-section-help > summary[b-uqxsxxvxzd] { cursor: pointer; list-style: none; }
.vc-period-help > summary[b-uqxsxxvxzd]::-webkit-details-marker, .vc-section-help > summary[b-uqxsxxvxzd]::-webkit-details-marker { display: none; }
.vc-period-help > summary:hover[b-uqxsxxvxzd], .vc-section-help > summary:hover .vc-section-info-icon[b-uqxsxxvxzd] { background: var(--hover-bg); color: var(--accent-blue-pressed); }
.vc-period-help > summary:focus-visible[b-uqxsxxvxzd], .vc-section-help > summary:focus-visible[b-uqxsxxvxzd] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 3px; }
.vc-section-help[b-uqxsxxvxzd] { margin-top: 24px; }
.vc-section-help > summary[b-uqxsxxvxzd] { display: flex; align-items: center; gap: 8px; }
.vc-section-help h3[b-uqxsxxvxzd] { margin: 0; }
.vc-period-confirm[b-uqxsxxvxzd] { margin-top: 32px; padding-top: 8px; }
.vc-personalabgaben-year[b-uqxsxxvxzd] { max-width: 280px; }
.vc-personalabgaben-year[b-uqxsxxvxzd]  .vc-input { width: 120px; }
@media (max-width: 600px) {
    .vc-page-header[b-uqxsxxvxzd] { margin-bottom: 8px; }
    .vc-page-header-row[b-uqxsxxvxzd] { row-gap: 8px; }
    .vc-personalabgaben-year[b-uqxsxxvxzd]  .vc-form-group {
        display: grid;
        grid-template-columns: auto 120px;
        align-items: center;
        gap: 8px;
        margin-bottom: 0;
    }
    .vc-personalabgaben-year[b-uqxsxxvxzd]  .vc-label { margin: 0; }
    .vc-personalabgaben-year[b-uqxsxxvxzd]  .vc-field-hint { grid-column: 1 / -1; }
}
.vc-richtwerte[b-uqxsxxvxzd] { margin-bottom: 24px; padding: 12px 16px; }
.vc-richtwerte-zeile[b-uqxsxxvxzd] { display: flex; align-items: center; gap: 8px; }
.vc-richtwerte .btn-secondary:disabled[b-uqxsxxvxzd] { opacity: 0.5; cursor: not-allowed; }
.vc-richtwerte .vc-section-info-icon[b-uqxsxxvxzd] { cursor: pointer; }
.vc-richtwerte .vc-section-info-icon:hover[b-uqxsxxvxzd] { background: var(--hover-bg); color: var(--accent-blue-pressed); }
.vc-richtwerte .vc-section-info-icon:focus-visible[b-uqxsxxvxzd] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 3px; }
.vc-richtwerte-hinweis[b-uqxsxxvxzd] { margin-top: 8px; }
.vc-richtwerte-hinweis[hidden][b-uqxsxxvxzd] { display: none; }
.vc-settings-details[b-uqxsxxvxzd] { margin-block: 24px; border-block: 1px solid var(--border-color); padding-block: 8px; }
.vc-settings-details > summary[b-uqxsxxvxzd] { font-size: 16px; font-weight: 600; }
.vc-card-header[b-uqxsxxvxzd] { flex-wrap: wrap; gap: 8px; }
.vc-card-meta[b-uqxsxxvxzd] { text-wrap: pretty; }
@media (max-width: 600px) {
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-settings-grid,
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-grid,
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-row-grid { grid-template-columns: minmax(0, 1fr); }
    .vc-period-controls[b-uqxsxxvxzd] { flex-direction: column; align-items: stretch; }
    .vc-card-header[b-uqxsxxvxzd] { align-items: start; flex-direction: column; }
    .vc-card-header .vc-card-meta[b-uqxsxxvxzd] { text-align: left; }
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-form-group { grid-template-columns: minmax(0, 1fr); }
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-input.numeric { width: 100%; }
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-number-editor { width: 100%; }
}
/* Block A2: „Ab wann gilt die neue Wochenarbeitszeit?" und Verlauf */
.vc-vollzeit-ab[b-uqxsxxvxzd] { margin-block: 16px 24px; }
.vc-vollzeit-ab .vc-period-controls[b-uqxsxxvxzd] { margin-block: 12px; }
.vc-vollzeit-ab-frage[b-uqxsxxvxzd] { margin: 0; font-weight: 600; }
.vc-vollzeit-ab-jahr[b-uqxsxxvxzd] { width: 7rem; }
.vc-vollzeit-ab-anfang[b-uqxsxxvxzd] { min-height: 40px; align-self: end; display: inline-flex; align-items: center; gap: 8px; }
.vc-vollzeit-verlauf[b-uqxsxxvxzd] { margin-block: 8px 24px; max-width: 480px; overflow-x: auto; }
.vc-vollzeit-verlauf h3[b-uqxsxxvxzd] { margin: 0 0 8px; font-size: 16px; font-weight: 600; }
.vc-vollzeit-verlauf-aktion[b-uqxsxxvxzd] { text-align: right; }
/* Arbeitszeit-Karte: Stundenfeld und Auszahlungsmonat stehen beide direkt neben ihrer
   Bezeichnung — so liegen die zwei Eingaben auf gleicher Höhe (Rudi, 23.09.2026). Auf sehr
   schmalen Bildschirmen gilt weiter die Einspalten-Regel darüber. */
@media (min-width: 601px) {
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-arbeitszeit-grid .vc-form-group {
        grid-template-columns: minmax(0, max-content) auto;
        justify-content: start;
    }
    .vc-personalabgaben[b-uqxsxxvxzd]  .vc-arbeitszeit-grid .vc-form-group > select.vc-input {
        grid-column: auto;
        width: 12.5rem;
    }
}
/* Fehlermarkierung bleibt auch im Fokus sichtbar. */
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input[aria-invalid="true"] { border: 2px solid var(--ui-danger); }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input[aria-invalid="true"]:focus { outline: 2px solid var(--ui-danger); outline-offset: 2px; }
.einrichtung-feldfehler[b-uqxsxxvxzd] { display: block; color: var(--ui-danger); font-size: 14px; }
/* /Components/Pages/EinstellungenHub/EinstellungenHub.razor.rz.scp.css */
.verwaltung-workspace[b-mh5qjlqlwg] { margin: 0 auto; color: var(--ui-ink); font-size: 16px; }
.hub-badges[b-mh5qjlqlwg] { display: flex; gap: 16px; align-items: center; color: var(--ui-muted); font-size: 14px; }
.hub-group[b-mh5qjlqlwg] { margin-top: 32px; padding: 24px; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-surface); }
.hub-group > h2[b-mh5qjlqlwg] { font-size: 18px; font-weight: 600; margin: -24px -24px 0; padding: 16px 24px; border-bottom: 1px solid var(--ui-line); background: var(--ui-bg); border-radius: var(--ui-radius) var(--ui-radius) 0 0; }
.hub-list[b-mh5qjlqlwg] { padding-top: 8px; }
[b-mh5qjlqlwg] .hub-kachel:last-child { border-bottom: 0; }
[b-mh5qjlqlwg] .hub-kachel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 16px 8px; border-bottom: 1px solid var(--ui-line); color: var(--ui-ink); text-decoration: none; }
[b-mh5qjlqlwg] .hub-kachel:hover { background: var(--ui-selected); color: var(--ui-ink); }
[b-mh5qjlqlwg] .hub-kachel:focus-visible { outline: 3px solid var(--ui-focus); outline-offset: 2px; }
[b-mh5qjlqlwg] .hub-kachel__body { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr); gap: 8px 24px; align-items: center; }
[b-mh5qjlqlwg] .hub-kachel__titel { margin: 0; font-size: 16px; font-weight: 500; color: var(--ui-ink); }
[b-mh5qjlqlwg] .hub-kachel__beschreibung { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ui-muted); grid-column: 2; grid-row: 1 / span 2; }
[b-mh5qjlqlwg] .hub-kachel__kennzeichen { justify-self: start; font-size: 13px; color: var(--ui-action-hover); background: var(--ui-selected); }
[b-mh5qjlqlwg] .hub-kachel__pfeil { font-size: 24px; color: var(--ui-muted); }
@media (max-width: 600px) {
    .hub-group[b-mh5qjlqlwg] { margin-top: 24px; padding: 16px; }
    .hub-group > h2[b-mh5qjlqlwg] { margin: -16px -16px 0; padding: 16px; }
    [b-mh5qjlqlwg] .hub-kachel { padding: 16px 4px; gap: 12px; }
    [b-mh5qjlqlwg] .hub-kachel__body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
}
/* /Components/Pages/Fristen/FristenUebersicht.razor.rz.scp.css */
/* U6 (18.10.2026): Kopf wie die übrigen Abschnitte der Übersicht (Rahmen --ui-line-strong, getönt --ui-tint, 16px-Titel). */
.vc-aufgaben-fristen[b-qgb9x1j9yc] { border: 1px solid var(--ui-line-strong); border-radius: 8px; padding: 24px; }
.vc-aufgaben-fristen-kopf[b-qgb9x1j9yc] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin: -24px -24px 20px; padding: 14px 20px; background: var(--ui-tint); border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; }
.vc-aufgaben-fristen-kopf h2[b-qgb9x1j9yc] { margin: 0; font-size: 16px; }
.vc-aufgaben-fristen-kopf p[b-qgb9x1j9yc] { margin: 4px 0 0; color: var(--ui-muted); font-size: 13px; }
.vc-aufgaben-fristen-aktionen[b-qgb9x1j9yc] { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.vc-aufgaben-fristen-aktionen a[b-qgb9x1j9yc] { display: inline-flex; min-height: 32px; align-items: center; }
.vc-kst-aufgaben[b-qgb9x1j9yc] { list-style: none; padding: 0; margin: 0 0 24px; }
.vc-kst-aufgaben li[b-qgb9x1j9yc] { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--ui-line); border-radius: 8px; margin-bottom: 8px; }
.vc-kst-aufgabe-text[b-qgb9x1j9yc] { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-card {border-top: 1px solid var(--ui-line); border-right: 1px solid var(--ui-line); border-bottom: 1px solid var(--ui-line); }
@media (max-width: 900px) {
    .vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
    .vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-hauptinfo { grid-column: 1 / -1; overflow-wrap: anywhere; }
    .vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-actions { grid-column: 1 / -1; flex-wrap: wrap; }
    .vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-datum,
    .vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-tage,
    .vc-aufgaben-fristen[b-qgb9x1j9yc]  .frist-betrag { min-width: 0; text-align: left; }
}
@media (max-width: 600px) {
    .vc-aufgaben-fristen[b-qgb9x1j9yc] { padding: 16px; }
    .vc-aufgaben-fristen-kopf[b-qgb9x1j9yc] { margin: -16px -16px 16px; padding: 16px; }
    .vc-kst-aufgaben li[b-qgb9x1j9yc] { flex-wrap: wrap; }
    .vc-kst-aufgabe-text[b-qgb9x1j9yc] { flex-basis: calc(100% - 80px); }
}
/* /Components/Pages/GebundeneMittel/GebundeneMittelUebersicht.razor.rz.scp.css */
.gebundene-mittel-card[b-benh58y5tz] {
    margin-top: 24px;
}

.ist-aufklappbar[b-benh58y5tz] {
    cursor: pointer;
}

.ist-warnung[b-benh58y5tz] {
    color: var(--danger-color);
    font-weight: 600;
}

.verlauf-titel[b-benh58y5tz] {
    margin-bottom: 8px;
}

.rechnungsverlauf[b-benh58y5tz] {
    width: min(560px, 100%);
    border-collapse: collapse;
}

.rechnungsverlauf th[b-benh58y5tz],
.rechnungsverlauf td[b-benh58y5tz] {
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-color);
}
/* /Components/Pages/Jahreshochrechnung/JahreshochrechnungUebersicht.razor.rz.scp.css */
.jahreshochrechnung[b-32d0lcazin] {
    display: grid;
    gap: 20px; grid-template-columns: minmax(0, 1fr); }
.jahreshochrechnung > *[b-32d0lcazin] { min-width: 0; } /* breite Tabelle scrollt in ihrem Wrapper (Browser-Bahn 18.10.) */

/* U6, Block 3 (18.10.2026): Abschnitte und Kennzahlen tragen die Bauform der Übersicht (Dashboard.razor.css: Rahmen --ui-line-strong,
   getönter Kopf --ui-tint, kein Schatten), damit alle Reiter dieselbe Blockgrammatik zeigen.
   Block C (01.11.2026): Titelblock und „i“-Knopf sind entfallen — der aktive Reiter nennt die Seite, die Aktionen stehen in
   der Reiterzeile des Kostenstellen-Kopfs. */

.jhr-personalabgleich[b-32d0lcazin] { color: var(--ui-action-hover); background: var(--ui-surface); border-color: var(--ui-action-hover); }
.jhr-personalabgleich:hover[b-32d0lcazin] { color: var(--accent-blue-pressed); background: var(--ui-selected); border-color: var(--accent-blue-pressed); }
.jhr-personalabgleich:active[b-32d0lcazin] { color: var(--accent-blue-pressed); background: var(--ui-tint-strong); }
.jhr-personalabgleich:focus-visible[b-32d0lcazin] { outline: 3px solid var(--ui-action-hover); outline-offset: 3px; }
.jahreshochrechnung-info[b-32d0lcazin] { display: grid; gap: 6px; padding: 10px 14px; border-radius: 8px; background: var(--surface-alt); max-width: 760px; font-size: 14px; }
.jahreshochrechnung-info[hidden][b-32d0lcazin] { display: none; }

.jahreshochrechnung-erklaerung[b-32d0lcazin] {
    margin: 0;
    color: var(--text-secondary);
}

/* Zeitfilter in der Prozessleiste: Beschriftung und Feld in einer Zeile. */
.jahreshochrechnung-filter[b-32d0lcazin] {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    min-width: 0;
}

.jahreshochrechnung-filter .vc-label[b-32d0lcazin] {
    margin: 0;
    white-space: nowrap;
}

.jahreshochrechnung-filter select[b-32d0lcazin] {
    min-height: 40px;
    max-width: 100%;
    min-width: 0;
}

.jahreshochrechnung select:focus-visible[b-32d0lcazin] {
    outline: 2px solid var(--accent-blue-pressed);
    outline-offset: 2px;
}

.jahreshochrechnung-status[b-32d0lcazin] {
    padding: 24px;
    color: var(--text-secondary);
}

/* Teil 2 (Sichtpruefung 27.08.2026): Ist-Stand-Zeile + Umschalter. */
/* U6: Prozessleiste — eine getönte Zeile für Ist-Stand-Satz, Zeitfilter und Monatskacheln. */
.jahreshochrechnung-ist-stand-zeile[b-32d0lcazin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 24px;
    padding: 12px 16px;
    border-radius: 8px;
    background: var(--ui-tint);
    border: 1px solid var(--ui-line-strong);
    color: var(--text-secondary);
    font-size: 13px;
}

.jahreshochrechnung-ist-stand-zeile > .jahreshochrechnung-ist-stand-text[b-32d0lcazin] {
    flex: 1 1 100%;
}

.jahreshochrechnung-ist-stand-schalter[b-32d0lcazin] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    max-width: 100%;
}

.jahreshochrechnung-nachcutoff[b-32d0lcazin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

/* U6: Kennzahlen als EINE Zeile — drei Felder in einem Rahmen, durch Linien getrennt, statt drei Karten. */
.jahreshochrechnung-kpis[b-32d0lcazin] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--ui-line-strong);
    border-radius: 8px;
    background: var(--ui-surface);
}

.jahreshochrechnung-kpi[b-32d0lcazin] {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 16px 20px;
    border: 0;
    border-left: 1px solid var(--ui-line-strong);
    border-radius: 0;
    background: var(--ui-surface);
}

.jahreshochrechnung-kpi:first-child[b-32d0lcazin] {
    border-left: 0;
}

.jahreshochrechnung-kpi strong[b-32d0lcazin] {
    font-size: 24px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.jahreshochrechnung-kpi > span:last-child[b-32d0lcazin],
.jahreshochrechnung-kpi-label[b-32d0lcazin] {
    color: var(--text-muted);
    font-size: 13px;
}

.jahreshochrechnung-kpi-label[b-32d0lcazin] {
    font-weight: 600;
}

/* U6: Abschnitt als weiße Fläche mit feinem Rahmen und getöntem Kopf (Bauform der Übersicht). */
.jahreshochrechnung-tabelle-card[b-32d0lcazin] {
    min-width: 0;
    margin: 0;
    border: 1px solid var(--ui-line-strong);
    border-radius: 8px;
}

.jahreshochrechnung-tabelle-card .vc-card-header[b-32d0lcazin] {
    padding: 20px 24px;
    border-bottom: 1px solid var(--ui-line-strong);
    border-radius: 8px 8px 0 0;
    background: var(--ui-surface);
}

.jahreshochrechnung-tabelle-card .vc-card-header h3[b-32d0lcazin] {
    margin: 0;
    font-size: 16px;
}

/* Punkt 4 (Rudi, 28.08.2026): 880px erzwangen waagerechtes Scrollen auch dort, wo der
   Platz gereicht haette. Sechs Spalten brauchen realistisch 220px Text + 5x100px Zahlen;
   720px ist die Grenze, ab der die Tabelle wirklich eng wird - darunter greift der
   Wrapper. */
.jahreshochrechnung-tabelle[b-32d0lcazin] {
    min-width: 720px;
}

/* 6a (Block C, Rudi, 01.11.2026): Der Innenscroll ist weg — die Tabelle ist so hoch wie ihr Inhalt und die Seite scrollt;
   „Summe Aufwendungen“ und „Erwartetes Ergebnis“ lagen im verborgenen Teil des Innenfensters. Seit W2 (14.10.) hatte der
   Wrapper eine bildschirmhohe Scrollfläche, damit der Spaltenkopf klebt. Nur waagerechtes Scrollen schmaler Fenster
   bleibt (overflow-x). Folge: Der Spaltenkopf klebt nicht mehr beim Scrollen der Seite — bewusst so entschieden. */
.jahreshochrechnung-tabelle-card .vc-table-wrapper[b-32d0lcazin] {
    overflow-x: auto;
}

.jahreshochrechnung-tabelle thead th[b-32d0lcazin] {
    z-index: 2;
    box-shadow: 0 1px 0 var(--border-color);
}

/* ── Ebene 1: Datenzeilen ──────────────────────────────────────────────────
   Punkt 1: Das globale .vc-table tbody tr:nth-child(even) zaehlt Abschnitts-, Gruppen-
   und Summenzeilen mit und wird hier deshalb vollstaendig ueberschrieben. Die Klasse
   im Selektor hebt die Spezifitaet ueber die globale Regel (0,3,2 gegen 0,2,2) - ohne
   sie entscheidet die Ladereihenfolge, und das ist keine Zusicherung. */
.jahreshochrechnung-tabelle tbody tr.jhr-zeile[b-32d0lcazin] {
    background: transparent;
}

/* Der Hintergrund MUSS auf dem tr sitzen, nicht auf der Zelle. Im Browser gegengeprueft
   (28.08.2026): Mit background nur auf dem th schien das globale nth-child des tr durch
   das transparente th hindurch - die Gruppenzeilen waren wieder grau, und zwar je nach
   Zeilenzahl mal so und mal nicht. Genau der Befund, den dieser Umbau beseitigt. */
.jahreshochrechnung-tabelle tbody tr.jhr-abschnitt-kopf[b-32d0lcazin],
.jahreshochrechnung-tabelle tbody tr.jhr-gruppe[b-32d0lcazin] {
    background: transparent;
}

.jahreshochrechnung-tabelle tbody tr.jhr-summe[b-32d0lcazin] {
    background: var(--table-header-bg);
}

.jahreshochrechnung-tabelle tbody tr.jhr-zeile--wechsel[b-32d0lcazin] {
    background: var(--table-row-alt);
}

/* Muss ebenfalls die Klasse tragen, sonst gewinnt die Hintergrundregel oben gegen das
   globale .vc-table tbody tr:hover und die Zeilenmarkierung faellt still aus. */
.jahreshochrechnung-tabelle tbody tr.jhr-zeile:hover[b-32d0lcazin] {
    background: var(--hover-bg);
}

/* Die Positionsbezeichnung ist jetzt ein Zeilenkopf (th scope="row") statt einer
   Datenzelle: Screenreader nennen sie beim Vorlesen jeder Zahl. Optisch bleibt sie eine
   normale Zelle - die globalen Kopfregeln gelten nur fuer thead. */
.jahreshochrechnung-tabelle tbody th.jhr-position[b-32d0lcazin] {
    /* W4: eingerueckt unter ihren Gruppenkopf. */
    padding: 7px 16px 7px 32px;
    border-bottom: 1px solid var(--border-light);
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
}

/* 9a: Datenzeilen dichter — 7 px statt 16 px senkrecht; Summen- und Abschnittszeilen behalten ihren Raum. */
.jahreshochrechnung-tabelle tbody tr.jhr-zeile td[b-32d0lcazin] {
    padding-top: 7px;
    padding-bottom: 7px;
}

/* ── Ebene 2: Abschnitt (Ertraege / Aufwendungen) ───────────────────────────
   Punkt 2: Kopf, Gruppe und Fuss trugen bisher dieselbe Flaeche. Der Abschnitt ist die
   staerkste Gliederung INNERHALB der Daten und traegt deshalb als einziger eine Farbe -
   sparsam, als 4px-Kante statt als Flaeche. */
.jahreshochrechnung-tabelle tr.jhr-abschnitt-kopf th[b-32d0lcazin] {
    padding: 18px 20px;
    border-bottom: 1px solid var(--ui-line-strong);
    background: var(--ui-selected);
    color: var(--text-dark);
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}

/* Der Spalt zwischen den Bloecken (Rudi, 28.08.2026): Luft NUR vor einem folgenden
   Abschnitt, nicht ueber dem ersten — sonst klafft oben unter dem Spaltenkopf ein Loch.
   Der Nachbarschafts-Selektor druckt das aus, ohne dass das Markup wissen muss, der
   wievielte Abschnitt es ist. */
.jahreshochrechnung-tabelle tbody.jhr-abschnitt + tbody.jhr-abschnitt tr.jhr-abschnitt-kopf th[b-32d0lcazin] {
    border-top: 18px solid var(--body-bg);
}

.jahreshochrechnung-tabelle tbody.jhr-abschnitt--ertraege tr.jhr-abschnitt-kopf th[b-32d0lcazin] {
    background: var(--ui-success-bg);
    border-left: 5px solid var(--ui-success);
    color: var(--ui-success);
}

/* Blau kennzeichnet den Aufwandsabschnitt; Warnfarben bleiben der Bewertung vorbehalten. */
.jahreshochrechnung-tabelle tbody.jhr-abschnitt--aufwand tr.jhr-abschnitt-kopf th[b-32d0lcazin] {
    background: var(--ui-selected);
    border-left: 5px solid var(--ui-action);
    color: var(--accent-blue-pressed);
}

/* ── Ebene 3: Kostenart-Hauptgruppe ────────────────────────────────────────
   Bis 14.10.2026 bewusst die stillste Ebene (transparent, nur Haarlinie). Rudis Sichtpruefung
   (W4): so still, dass die Gruppen nicht mehr auseinanderzuhalten waren — der Gruppenkopf
   traegt deshalb wieder eine Flaeche, die Positionen sind darunter eingerueckt. */
/* Rudi, 28.08.2026: "die obergruppen groesser und prominenter, die einzelnen
   kostenarten etwas kleiner, damit die hierarchie passt." Die Staffel liegt jetzt bei
   16 / 14 / 13 px statt 14 / 12 / 14 — vorher war die GRUPPE kleiner als die Positionen
   unter ihr, die Rangfolge also verkehrt herum. Die Farbe traegt die Hierarchie mit:
   Abschnitt --text-dark, Gruppe --text-secondary, Positionsnummer --text-muted. */
/* W4 (Rudi, 14.10.2026): "die einzelnen Kostengruppen sind optisch nicht gut auseinander-
   zuhalten." Die stille Gruppenzeile (nur Haarlinie, transparent) sah aus wie eine Position —
   oft mit demselben Namen direkt darunter. Jetzt traegt der Gruppenkopf eine Flaeche ueber die
   ganze Breite und eine kraeftige Linie darueber: Jede Gruppe beginnt sichtbar als Block. */
.jahreshochrechnung-tabelle tbody tr.jhr-gruppe[b-32d0lcazin] {
    background: var(--table-header-bg);
}

.jahreshochrechnung-tabelle tr.jhr-gruppe th[b-32d0lcazin] {
    padding: 14px 20px;
    border-top: 2px solid var(--ui-line-strong);
    border-bottom: 1px solid var(--ui-line-strong);
    background: var(--body-bg);
    color: var(--ui-ink);
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}

/* Erster Block direkt unter dem Abschnittskopf: dort zieht der Abschnitt schon die Linie. */
.jahreshochrechnung-tabelle tr.jhr-abschnitt-kopf + tr.jhr-gruppe th[b-32d0lcazin] {
    border-top: 0;
}

/* Zwischensumme einer Gruppe mit mehr als einer Position — schliesst den Block ab. */
.jahreshochrechnung-tabelle tbody tr.jhr-gruppensumme[b-32d0lcazin] {
    background: transparent;
}

.jahreshochrechnung-tabelle tr.jhr-gruppensumme th[b-32d0lcazin],
.jahreshochrechnung-tabelle tr.jhr-gruppensumme td[b-32d0lcazin] {
    padding: 8px 12px 8px 32px;
    border-top: 1px solid var(--border-color);
    border-bottom: 0;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    text-align: left;
}

.jahreshochrechnung-tabelle tr.jhr-gruppensumme td[b-32d0lcazin] {
    padding-left: 12px;
}

.jahreshochrechnung-tabelle tr.jhr-gruppensumme td.numeric[b-32d0lcazin] {
    text-align: right;
}

.jhr-gruppe-nummer[b-32d0lcazin] {
    display: inline-block;
    min-width: 1.9em;
    color: var(--text-muted);
    font-variant-numeric: lining-nums tabular-nums;
}

/* Die Positionszeilen eine Stufe zurueck. Die globalen .vc-cell-*-Klassen werden NICHT
   angefasst — sie gelten app-weit; die Verkleinerung gilt nur in dieser Tabelle. */
.jahreshochrechnung-tabelle th.jhr-position .vc-cell-primary[b-32d0lcazin] {
    display: inline;
    font-size: 13px;
}

/* 9a: Nummer VOR der Bezeichnung, gedämpft, in fester Breite — die Bezeichnungen stehen untereinander bündig. */
.jhr-position-nummer[b-32d0lcazin] {
    display: inline-block;
    min-width: 2.4em;
    margin-right: 6px;
    color: var(--text-muted);
    font-size: 12px;
    font-variant-numeric: lining-nums tabular-nums;
}

.jahreshochrechnung-tabelle th.jhr-position .jahreshochrechnung-manuell[b-32d0lcazin] {
    display: inline;
    margin: 0 0 0 8px;
    font-size: 11px;
}

/* ── Ebene 4: Abschnitts-Summe ─────────────────────────────────────────────
   Punkt 3: Diese Summen standen frueher alle im Fuss, gleich fett wie das Ergebnis.
   Sie gehoeren an ihren Abschnitt - dort beantworten sie eine Frage ("was kostet der
   Block?"), im Fuss waren sie nur Masse vor der eigentlichen Antwort. */
.jahreshochrechnung-tabelle tr.jhr-summe th[b-32d0lcazin],
.jahreshochrechnung-tabelle tr.jhr-summe td[b-32d0lcazin] {
    padding: 16px;
    border-top: 2px solid var(--ui-tint-strong);
    border-bottom: 0;
    background: var(--ui-tint-strong);
    color: var(--ui-ink);
    font-weight: 600;
    text-align: left;
}

.jahreshochrechnung-tabelle tr.jhr-summe td.numeric[b-32d0lcazin] {
    text-align: right;
}

/* Erwartete Gesamtkosten bleiben durch eine eigene Spaltenfläche gut auffindbar. */
.jahreshochrechnung-tabelle td.jhr-hochrechnung[b-32d0lcazin] {
    color: var(--accent-blue-pressed);
    background: var(--ui-selected);
    font-weight: 600;
}

.jahreshochrechnung-manuell[b-32d0lcazin] {
    display: block;
    margin-top: 3px;
    color: var(--accent-blue-pressed);
    font-size: 12px;
    font-weight: 500;
    white-space: normal;
}

.jahreshochrechnung-guenstig[b-32d0lcazin] {
    color: var(--ui-success);
}

.jahreshochrechnung-unguenstig[b-32d0lcazin] {
    color: var(--ui-danger);
}

/* Im Browser aufgefallen (28.08.2026): Die Farbregeln der Summen- und Ergebniszeile
   (0,3,2 bzw. 0,4,2) schlugen die Abweichungsklasse (0,1,0) - ausgerechnet dort stand die
   Abweichung schwarz, waehrend jede Einzelzeile darueber richtig gefaerbt war. Die Zeile,
   auf die es ankommt, verlor als einzige ihre Aussage. */
.jahreshochrechnung-tabelle tr.jhr-gruppensumme td.jahreshochrechnung-guenstig[b-32d0lcazin],
.jahreshochrechnung-tabelle tr.jhr-summe td.jahreshochrechnung-guenstig[b-32d0lcazin],
.jahreshochrechnung-tabelle tfoot tr.jahreshochrechnung-ergebnis td.jahreshochrechnung-guenstig[b-32d0lcazin] {
    color: var(--ui-success);
}

.jahreshochrechnung-tabelle tr.jhr-gruppensumme td.jahreshochrechnung-unguenstig[b-32d0lcazin],
.jahreshochrechnung-tabelle tr.jhr-summe td.jahreshochrechnung-unguenstig[b-32d0lcazin],
.jahreshochrechnung-tabelle tfoot tr.jahreshochrechnung-ergebnis td.jahreshochrechnung-unguenstig[b-32d0lcazin] {
    color: var(--ui-danger);
}

/* ── Das Jahresergebnis ────────────────────────────────────────────────────
   Einzige Zeile im Fuss und staerkste Auszeichnung der Tabelle. --calc-area-bg ist im
   Design-System die Flaeche fuer BERECHNETE Zellen (Paragraph 5.2) - genau das ist diese
   Zeile, sie wird nirgends erfasst. */
.jahreshochrechnung-tabelle tfoot tr.jahreshochrechnung-ergebnis th[b-32d0lcazin],
.jahreshochrechnung-tabelle tfoot tr.jahreshochrechnung-ergebnis td[b-32d0lcazin] {
    padding: 14px 12px;
    border-top: 2px solid var(--border-strong);
    background: var(--calc-area-bg);
    color: var(--text-dark);
    font-size: 14px;
    font-weight: 600;
}

.jahreshochrechnung-tabelle tfoot tr.jahreshochrechnung-ergebnis th[b-32d0lcazin] {
    text-align: left;
}

.jahreshochrechnung-tabelle tfoot tr.jahreshochrechnung-ergebnis td.numeric[b-32d0lcazin] {
    text-align: right;
}

.jahreshochrechnung-monate-wrapper[b-32d0lcazin] {
    overflow-x: auto;
}

.jahreshochrechnung-monate[b-32d0lcazin] {
    min-width: 100%;
}

.jahreshochrechnung-monate th:first-child[b-32d0lcazin],
.jahreshochrechnung-monate td:first-child[b-32d0lcazin] {
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 220px;
    background: var(--ui-surface);
    box-shadow: 1px 0 0 var(--ui-line);
}

.jahreshochrechnung-monate thead th:first-child[b-32d0lcazin] {
    z-index: 2;
    background: var(--table-header-bg);
}

.jahreshochrechnung-monate thead th:not(:first-child)[b-32d0lcazin] {
    min-width: 176px;
}

.jahreshochrechnung-monatssumme[b-32d0lcazin] {
    font-weight: 600;
    white-space: nowrap;
    border-left: 1px solid var(--border-strong);
}

.jahreshochrechnung-monate thead small[b-32d0lcazin] {
    display: block;
    margin-top: 3px;
    color: var(--text-muted);
    font-weight: 500;
}

/* „Planung anpassen“ (Rudi, 28.09.2026): Knopf neben dem Ansichtsumschalter, Eingabefelder in
   der Monatsansicht. */
/* Nur ohne umgebende Kostenstelle (Fallback); in der Kostenstelle stehen die Aktionen in der Reiterzeile. */
.jahreshochrechnung-aktionen[b-32d0lcazin] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.jahreshochrechnung-aktionen > button[b-32d0lcazin],
.jahreshochrechnung-aktionen[b-32d0lcazin]  .vc-aktionsmenue > button {
    height: 40px;
}

.jahreshochrechnung-planen-hinweis[b-32d0lcazin] {
    margin: 0 20px 12px;
    padding: 10px 14px;
    border: 1px solid var(--ui-tint-strong);
    border-radius: 8px;
    background: var(--calc-area-bg);
    color: var(--calc-area-text);
    font-size: 14px;
}

.jahreshochrechnung-monate[b-32d0lcazin]  .jahreshochrechnung-eingabe {
    width: 100%;
    min-width: 152px;
    padding: 6px 8px;
    text-align: right;
}

.jahreshochrechnung-monate[b-32d0lcazin]  .jahreshochrechnung-eingabe:focus-visible {
    outline: 2px solid var(--accent-blue-pressed);
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .jahreshochrechnung-monate th:first-child[b-32d0lcazin],
    .jahreshochrechnung-monate td:first-child[b-32d0lcazin] {
        position: static;
    }
}

.jahreshochrechnung-personal-link[b-32d0lcazin] {
    display: block;
    margin-top: 2px;
    font-size: 12px;
}

@media (max-width: 900px) {
    .jahreshochrechnung-aktionen[b-32d0lcazin] {
        align-self: flex-start;
    }

    .jahreshochrechnung-filter[b-32d0lcazin] {
        align-self: flex-start;
    }

    .jahreshochrechnung-kpis[b-32d0lcazin] {
        grid-template-columns: 1fr;
    }

    .jahreshochrechnung-kpi[b-32d0lcazin] {
        border-left: 0;
        border-top: 1px solid var(--ui-line-strong);
    }

    .jahreshochrechnung-kpi:first-child[b-32d0lcazin] {
        border-top: 0;
    }
}

/* W15 (16.10.2026) → Block C (01.11.2026): Die Monatskacheln „IST-Daten vollständig bis“ stehen jetzt als Monatsband im
   Kostenstellen-Kopf (KostenstellenErgebnisBand.razor.css). */
/* /Components/Pages/KassenbuchDetail.razor.rz.scp.css */
.kasse-jahresauswahl[b-obeufjua6u] {
    width: fit-content;
    max-width: 100%;
    padding: 12px 16px;
}

.kasse-jahresauswahl-felder[b-obeufjua6u] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.kasse-jahresauswahl-felder .vc-label[b-obeufjua6u] {
    margin: 0;
}

.kasse-jahresauswahl-felder select[b-obeufjua6u] {
    width: 7rem;
    min-height: 40px;
}
/* /Components/Pages/Kostenarten.razor.rz.scp.css */
.kostenarten-stammdaten[b-k7g4ymt09m] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}
.kostenarten-zeile-haupt[b-k7g4ymt09m] {
    flex: 0 0 32px;
    min-height: 44px;
    justify-content: center;
}
.kostenarten-spalte-name[b-k7g4ymt09m] { flex-wrap: wrap; }
.kostenarten-bearbeiten[b-k7g4ymt09m] {
    display: block;
    min-height: 32px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: var(--text-dark);
    font: inherit;
    text-align: left;
    overflow-wrap: anywhere;
    cursor: pointer;
}
.kostenarten-spalte-name .kostenarten-bearbeiten[b-k7g4ymt09m] { flex: 1 1 auto; }
.kostenarten-bearbeiten:hover[b-k7g4ymt09m] { text-decoration: underline; }
.kostenarten-bearbeiten:active[b-k7g4ymt09m] { color: var(--accent-blue-pressed); }
.kostenarten-liste .vc-text-btn--danger[b-k7g4ymt09m] { color: var(--ui-danger); }
.kostenarten-liste .vc-text-btn--danger:hover[b-k7g4ymt09m],
.kostenarten-liste .vc-text-btn--danger:focus-visible[b-k7g4ymt09m],
.kostenarten-liste .vc-text-btn--danger:active[b-k7g4ymt09m] { color: var(--ui-danger); }
.kostenarten-spalte-aktion[b-k7g4ymt09m] { flex-basis: 100px; }
.kostenarten-unterarten td:nth-child(2)[b-k7g4ymt09m] { white-space: normal; overflow-wrap: anywhere; }
.kostenarten-unterarten .vc-table-wrapper[b-k7g4ymt09m] { scroll-padding-inline: 48px; }
.kostenarten-unterarten button[b-k7g4ymt09m] { scroll-margin-inline: 12px; }
@media (max-width: 900px) {
    .kostenarten-stammdaten[b-k7g4ymt09m] { flex-basis: 100%; }
    .kostenarten-spalte-aktion[b-k7g4ymt09m] { flex: 0 0 auto; margin-left: auto; }
}
/* /Components/Pages/Kostenstelle.razor.rz.scp.css */
/* Kostenstellen-Kopf — U6, Block 1 (Rudi, 18.10.2026, Muster A).
   Eine weiße Fläche mit feinem Rahmen (UI_LEITLINIEN 29.09.): oben Brotkrumenpfad, Name und Status links,
   die Zeitraumwahl rechts; am unteren Rand die Reiter als Unterstrich-Leiste. Die Reiter behalten die
   Klassen vc-pill-tabs/vc-pill-tab (Tests, andere Seiten) — nur die Gestalt im Kopf ändert sich. */
.vc-kst-kopf[b-ymz1oj2jdh] {
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
    background: var(--ui-surface);
    border: 1px solid var(--ui-line);
    border-radius: 8px;
}
.vc-kst-kopf-zeile[b-ymz1oj2jdh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
    padding: 14px 20px;
}
.vc-kst-kontext[b-ymz1oj2jdh] { flex: 1 1 360px; min-width: 0; }
.vc-kst-kopf[b-ymz1oj2jdh]  .kontext-leiste { margin: 0; min-width: 0; padding: 0; background: transparent; border: 0; gap: 6px; }
.vc-kst-kopf[b-ymz1oj2jdh]  .kontext-kstname { font-size: 24px; }
/* Der Förderzeitraum steht genau einmal: im Auswahlfeld. */
.vc-kst-kopf[b-ymz1oj2jdh]  .kontext-badge-zeitraum { display: none; }

.vc-kontextleiste-zeitraumwahl[b-ymz1oj2jdh] { flex: 0 1 680px; max-width: 100%; min-width: 0; } /* Datum + Name müssen auf dem Desktop ins Feld passen (KostenstelleKopfBrowserTests) */
.vc-kst-filter[b-ymz1oj2jdh] { display: flex; align-items: center; gap: 10px; min-width: 0; }
.vc-kst-filter .vc-label[b-ymz1oj2jdh] { margin: 0; white-space: nowrap; }
.vc-kst-filter .vc-input[b-ymz1oj2jdh] { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 40px; text-overflow: ellipsis; }

/* Reiterzeile (Block C, 01.11.2026, Vorschlag 3): Reiter links, Aktionen des Bereichs rechts in derselben Zeile. */
.vc-kst-reiterzeile[b-ymz1oj2jdh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0 12px;
    padding: 0 8px;
    border-top: 1px solid var(--ui-line);
}
.vc-kst-reiteraktionen[b-ymz1oj2jdh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 6px 12px 6px 0;
}
/* ::deep: Die Knöpfe stammen aus dem Fragment des Bereichs (eigener Scope), nicht aus dieser Komponente. */
.vc-kst-reiteraktionen[b-ymz1oj2jdh]  button { height: 40px; }
.vc-kst-reiteraktionen[b-ymz1oj2jdh]  .vc-aktionsmenue-punkt { height: auto; }

/* Reiter: Unterstrich statt Pillen, bündig am unteren Rand des Kopfs. */
.vc-pill-tabs--kopf[b-ymz1oj2jdh] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    gap: 0;
    padding: 0;
}
.vc-pill-tabs--kopf .vc-pill-tab[b-ymz1oj2jdh] {
    margin-bottom: -1px;
    padding: 11px 12px;
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--ui-muted);
    font-size: 13px;
    white-space: nowrap;
}
.vc-pill-tabs--kopf .vc-pill-tab:hover:not(:disabled)[b-ymz1oj2jdh] { background: transparent; color: var(--ui-ink); }
.vc-pill-tabs--kopf .vc-pill-tab.active[b-ymz1oj2jdh] { background: transparent; color: var(--ui-action); border-bottom-color: var(--ui-action); }
.vc-pill-tabs--kopf .vc-pill-tab:focus-visible[b-ymz1oj2jdh] { outline: 2px solid var(--ui-action); outline-offset: -2px; }

/* Planungsmodus: nur Pfad und Name, ohne Rahmen — der Arbeitskopf steht im App-Kopf. */
.vc-kst-kopf--prozess[b-ymz1oj2jdh] { background: transparent; border: 0; }
.vc-kst-kopf--prozess .vc-kst-kopf-zeile[b-ymz1oj2jdh] { padding: 0; }
.vc-kst-kopf--prozess[b-ymz1oj2jdh]  .kontext-kstname { font-size: 16px; }
.vc-kst-kopf--prozess[b-ymz1oj2jdh]  .kontext-breadcrumb { font-size: 13px; }

@media (max-width: 600px) {
    .vc-kontextleiste-zeitraumwahl[b-ymz1oj2jdh] { flex-basis: 100%; }
    .vc-kst-filter[b-ymz1oj2jdh] { flex-direction: column; align-items: stretch; gap: 6px; }
    .vc-kst-kopf-zeile[b-ymz1oj2jdh] { padding: 12px 14px; }
    .vc-kst-kopf[b-ymz1oj2jdh]  .kontext-kstname { font-size: 18px; }
    /* 12b: Die Reiter bleiben einzeilig und wischen seitlich (ohne sichtbare Leiste); der aktive Reiter wird per
       vc.reiterZentrieren in die Mitte gerückt. Die Aktionen rutschen in eine Zeile unter die Reiter. */
    .vc-kst-reiterzeile[b-ymz1oj2jdh] { padding: 0 4px; }
    .vc-pill-tabs--kopf[b-ymz1oj2jdh] {
        flex: 1 1 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .vc-pill-tabs--kopf[b-ymz1oj2jdh]::-webkit-scrollbar { display: none; }
    .vc-pill-tabs--kopf .vc-pill-tab[b-ymz1oj2jdh] { flex: 0 0 auto; padding: 10px 10px; font-size: 13px; }
    .vc-kst-reiteraktionen[b-ymz1oj2jdh] { flex: 1 1 100%; padding: 8px 10px; border-top: 1px solid var(--ui-line); }
}
/* /Components/Pages/Kostenstellen/KostenstellenErgebnisBand.razor.rz.scp.css */
/* Ergebnisband im Kostenstellen-Kopf (Block C, 01.11.2026, Vorschläge 2/2z): eigene Zeile mit Trennlinie oben,
   links das erwartete Ergebnis, rechts die Monatsfelder. Farben aus den Tokens (--ui-success/--ui-danger). */
.kst-band[b-32qet51ykk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    padding: 10px 20px;
    border-top: 1px solid var(--ui-line);
}

.kst-band-ergebnis[b-32qet51ykk] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 10px;
    min-width: 0;
}

.kst-band-punkt[b-32qet51ykk] {
    align-self: center;
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
.kst-band-punkt--positiv[b-32qet51ykk] { background: var(--ui-success); }
.kst-band-punkt--negativ[b-32qet51ykk] { background: var(--ui-danger); }

.kst-band-ergebnis-text[b-32qet51ykk] { font-size: 14px; color: var(--ui-ink); }
.kst-band-betrag[b-32qet51ykk] { margin-left: 4px; font-size: 16px; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.kst-band-betrag--negativ[b-32qet51ykk] { color: var(--ui-danger); }
.kst-band-zusatz[b-32qet51ykk], .kst-band-still[b-32qet51ykk] { font-size: 12px; color: var(--ui-muted); }

.kst-band-monate[b-32qet51ykk] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.kst-band-monate-label[b-32qet51ykk] { margin-right: 6px; font-size: 12px; color: var(--ui-muted); white-space: nowrap; }

.kst-band-monat[b-32qet51ykk] {
    position: relative;
    min-width: 40px;
    padding: 4px 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--ui-surface);
    color: var(--ui-muted);
    font: inherit;
    font-size: 12px;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}
.kst-band-monat small[b-32qet51ykk] { display: block; font-size: 11px; color: inherit; opacity: .8; }
.kst-band-monat:hover:not(:disabled)[b-32qet51ykk] { filter: brightness(.97); }
.kst-band-monat:disabled[b-32qet51ykk] { cursor: progress; }
.kst-band-monat:focus-visible[b-32qet51ykk] { outline: 2px solid var(--ui-action); outline-offset: 2px; }
.kst-band-monat--ist[b-32qet51ykk] { background: var(--ui-success-bg); border-color: var(--ui-success); color: var(--ui-success); }
.kst-band-monat--luecke[b-32qet51ykk] { background: var(--ui-warn-bg); border-color: var(--warning-color); color: var(--ui-warning); }
.kst-band-monat--hat-ist[b-32qet51ykk]::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ui-success);
}
.kst-band-monat--stand[b-32qet51ykk] { box-shadow: 0 0 0 2px var(--ui-action); border-color: var(--ui-action); color: var(--ui-ink); }

@media (max-width: 600px) {
    .kst-band[b-32qet51ykk] { padding: 10px 14px; }
}
/* /Components/Pages/Kostenstellen/KostenstellenStammdaten.razor.rz.scp.css */
/* Stammdaten — U6, Block 6 (18.10.2026, Muster A): Werkzeugzeile und vier Abschnitte als weiße Flächen mit feinem
   Rahmen und getöntem Kopf (Rahmen --ui-line-strong, getönt --ui-tint, kein Schatten — Bauform der Übersicht). */
.stammdaten[b-jrnvidd61m] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.stammdaten > *[b-jrnvidd61m] { min-width: 0; } /* breite Tabellen scrollen in ihrem Wrapper, statt das Raster aufzuziehen (Browser-Bahn 18.10.) */
.stammdaten-kopf[b-jrnvidd61m] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.stammdaten-kopf h2[b-jrnvidd61m] { margin: 0; font-size: 24px; font-weight: 600; }
.stammdaten-untertitel[b-jrnvidd61m] { margin: 2px 0 0; color: var(--text-muted); font-size: 14px; }
.stammdaten-werkzeuge[b-jrnvidd61m] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.stammdaten-werkzeuge > button[b-jrnvidd61m], .stammdaten-werkzeuge[b-jrnvidd61m]  .vc-aktionsmenue > button { height: 40px; }
.stammdaten-felder[b-jrnvidd61m] { display: grid; gap: 20px; margin: 0; padding: 0; border: 0; min-width: 0; }
.stammdaten-abschnitt[b-jrnvidd61m] { border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); min-width: 0; }
.stammdaten-abschnitt-kopf[b-jrnvidd61m] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.stammdaten-abschnitt-kopf h3[b-jrnvidd61m] { margin: 0; font-size: 16px; font-weight: 600; }
.stammdaten-abschnitt-inhalt[b-jrnvidd61m] { padding: 16px 20px 20px; }
.stammdaten-abschnitt-inhalt .vc-checkbox[b-jrnvidd61m] { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; }
.stammdaten-abschnitt-inhalt > .vc-text-muted[b-jrnvidd61m] { margin: 8px 0 0; font-size: 13px; }
.stammdaten > .vc-card[b-jrnvidd61m] { margin: 0; }
@media (max-width: 600px) {
    .stammdaten-abschnitt-kopf[b-jrnvidd61m], .stammdaten-abschnitt-inhalt[b-jrnvidd61m] { padding-left: 14px; padding-right: 14px; }
}
/* /Components/Pages/Kostenstellen/KostenstellenVerwaltung.razor.rz.scp.css */
.kostenstellen-tabelle tbody tr[b-52ag2fovdh] { position: relative; }
.kostenstellen-tabelle tbody tr:hover[b-52ag2fovdh],
.kostenstellen-tabelle tbody tr:focus-within[b-52ag2fovdh] { background: var(--ui-selected); }
.kostenstellen-tabelle tbody tr:has(a:active)[b-52ag2fovdh] { background: var(--ui-tint-strong); }
.kostenstellen-tabelle td:nth-child(2)[b-52ag2fovdh] { white-space: normal; overflow-wrap: anywhere; }
.kostenstellen-tabelle a.kostenstellen-name[b-52ag2fovdh] {
    display: block;
    min-height: 28px;
    color: var(--text-dark);
    font-weight: 500;
}
/* Der native Link deckt die Zeile ab, inklusive Nummer und Status. */
.kostenstellen-name[b-52ag2fovdh]::after { content: ""; position: absolute; inset: 0; }
.kostenstellen-name:focus-visible[b-52ag2fovdh]::after { box-shadow: inset 0 0 0 3px var(--ui-action); }
/* /Components/Pages/Kostenstellen/LaufendeIstBwa.razor.rz.scp.css */
/* Ist-BWA einer laufenden Kostenstelle (T-047): dieselbe Bauform wie die Übersicht (Muster A, 18.10.2026) —
   Werkzeugzeile, Kennzahlenzeile im Rahmen, Abschnitt mit getöntem Kopf (Rahmen --ui-line-strong, getönt --ui-tint). */
.laufend[b-ulw86ct9cd] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.laufend > *[b-ulw86ct9cd] { min-width: 0; }
.laufend-kopf[b-ulw86ct9cd] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.laufend-kopf h2[b-ulw86ct9cd] { margin: 0; font-size: 24px; font-weight: 600; }
.laufend-untertitel[b-ulw86ct9cd] { margin: 2px 0 0; color: var(--text-muted); font-size: 14px; }
.laufend-werkzeuge[b-ulw86ct9cd] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.laufend-werkzeuge > a[b-ulw86ct9cd], .laufend-werkzeuge > button[b-ulw86ct9cd] { height: 40px; display: inline-flex; align-items: center; }

.laufend-kpis[b-ulw86ct9cd] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; overflow: hidden; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.laufend-kpis .kpi-card[b-ulw86ct9cd] { margin: 0; padding: 14px 18px; border: 0; border-left: 1px solid var(--ui-line-strong); border-radius: 0; gap: 6px; }
.laufend-kpis .kpi-card:first-child[b-ulw86ct9cd] { border-left: 0; }
.laufend-abschnitt[b-ulw86ct9cd] { margin: 0; padding: 0; border: 1px solid var(--ui-line-strong); border-radius: 8px;}
.laufend-abschnitt .vc-card-header[b-ulw86ct9cd] { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.laufend-abschnitt .vc-card-header h3[b-ulw86ct9cd] { margin: 0; font-size: 16px; font-weight: 600; }
.laufend-leer[b-ulw86ct9cd] { margin: 0; padding: 16px 20px; }
.laufend-bwa th:first-child[b-ulw86ct9cd], .laufend-bwa td:first-child[b-ulw86ct9cd] { min-width: 220px; }
.laufend-bwa td.numeric[b-ulw86ct9cd], .laufend-bwa th.numeric[b-ulw86ct9cd] { min-width: 84px; white-space: nowrap; }
.laufend-seite th[b-ulw86ct9cd] { text-align: left; background: var(--ui-tint); font-weight: 600; }
.laufend-gruppe th[b-ulw86ct9cd], .laufend-gruppe td[b-ulw86ct9cd] { font-weight: 600; background: var(--surface-alt); }
.laufend-gruppe th[b-ulw86ct9cd] { text-align: left; }
.laufend-unterart[b-ulw86ct9cd] { padding-left: 28px; }
.laufend-unterart a[b-ulw86ct9cd] { color: inherit; text-decoration: none; }
.laufend-unterart a:hover[b-ulw86ct9cd] { text-decoration: underline; }
.laufend-summe th[b-ulw86ct9cd], .laufend-summe td[b-ulw86ct9cd] { font-weight: 600; border-top: 1px solid var(--ui-line-strong); }
.laufend-ergebnis th[b-ulw86ct9cd], .laufend-ergebnis td[b-ulw86ct9cd] { font-weight: 600; border-top: 2px solid var(--ui-line-strong); }
.laufend-summe th[b-ulw86ct9cd], .laufend-ergebnis th[b-ulw86ct9cd] { text-align: left; }

@media (max-width: 900px) {
    .laufend-kpis[b-ulw86ct9cd] { grid-template-columns: minmax(0, 1fr); }
    .laufend-kpis .kpi-card[b-ulw86ct9cd] { border-left: 0; border-top: 1px solid var(--ui-line-strong); }
    .laufend-kpis .kpi-card:first-child[b-ulw86ct9cd] { border-top: 0; }
}
/* /Components/Pages/Mandant/EntitlementAuswahl.razor.rz.scp.css */

/* T-065: Erklärung und Fußzeile mit Abstand zum Kartenrand (vc-card--table hat kein Polster). */
.entitlement-auswahl-erklaerung[b-kq5roaw4qt] { margin: 0; padding: 12px 24px 4px; }
.entitlement-auswahl-fuss[b-kq5roaw4qt] { padding: 0 24px 20px; }

.entitlement-upgrade[b-kq5roaw4qt] { --accent-blue: var(--ui-action); }
.entitlement-upgrade:focus-visible[b-kq5roaw4qt] { outline: 3px solid var(--ui-action-deep); outline-offset: 3px; }
/* /Components/Pages/MandantBenutzerVerwaltung.razor.rz.scp.css */
.benutzer-link[b-y8rokf0d9o] { display: inline-flex; align-items: center; min-height: 32px; color: var(--ui-ink); text-decoration: none; }
.benutzer-link:hover[b-y8rokf0d9o] { color: var(--ui-action-hover); text-decoration: underline; }
.benutzer-link:active[b-y8rokf0d9o] { color: var(--accent-blue-pressed); }
.benutzer-link:focus-visible[b-y8rokf0d9o] { outline: 2px solid var(--ui-action); outline-offset: 3px; border-radius: 4px; }
/* /Components/Pages/MandantenKontrollzentrum.razor.rz.scp.css */
.speicher-grid[b-7vs5msyp67] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 24px;
    margin: 16px 0;
}

.speicher-kennzahl[b-7vs5msyp67] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.speicher-label[b-7vs5msyp67], .speicher-hinweis[b-7vs5msyp67] { color: var(--ui-muted); font-size: 14px; }
.speicher-wert[b-7vs5msyp67] { color: var(--ui-ink); font-size: 24px; font-weight: 600; }
.kpi-grid[b-7vs5msyp67] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }

.mandantenlink[b-7vs5msyp67] { display: inline-flex; align-items: center; min-height: 24px; color: var(--ui-action); }
.mandantenlink:hover[b-7vs5msyp67], .mandantenlink:active[b-7vs5msyp67] { color: var(--ui-action-hover); }
.mandantenlink:focus[b-7vs5msyp67] { outline: 3px solid var(--ui-action); outline-offset: 2px; }
/* /Components/Pages/Mehrjahr/Mehrjahresvergleich.razor.rz.scp.css */
.vc-budget-header-card[b-hr7v6dkhfd] { padding: 0; border: 1px solid var(--ui-line-strong);}
.vc-card-header[b-hr7v6dkhfd] { flex-wrap: wrap; gap: 16px 24px; }
.vc-card-header h2[b-hr7v6dkhfd] { margin: 0; font-size: 18px; line-height: 1.4; }
.vc-card-header-actions[b-hr7v6dkhfd] { min-width: 0; }
.jahr-pill.active[b-hr7v6dkhfd] { background: var(--ui-action); border-color: var(--ui-action); }
.jahr-pill:focus-visible[b-hr7v6dkhfd] { outline: 3px solid var(--ui-action); outline-offset: 2px; }

@media (max-width: 600px) {
    .vc-card-header[b-hr7v6dkhfd] { padding: 16px; align-items: flex-start; }
    .vc-card-header-actions[b-hr7v6dkhfd] { width: 100%; }
    .vc-card-header-actions select[b-hr7v6dkhfd] { max-width: 100%; }
    .mjv-jahre-row[b-hr7v6dkhfd] { padding: 12px 16px 16px; }
}
/* /Components/Pages/Nachweis/Nachweis.razor.rz.scp.css */
/* Finanznachweis — U6, Block 4 (18.10.2026, Muster A). Werkzeugzeile, Prozessleiste, Kennzahlenzeile,
   Abschnitt: dieselbe Blockgrammatik wie Kopf und Hochrechnung (Rahmen --ui-line-strong, getönter Kopf --ui-tint,
   kein Schatten — Bauform der Übersicht, Dashboard.razor.css). Akkordeon und Buchungszeilen unverändert. */
.nachweis-flow[b-25axamhk6j] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.nachweis-flow > *[b-25axamhk6j] { min-width: 0; } /* breite Tabellen scrollen in ihrem Wrapper, statt das Raster aufzuziehen (Browser-Bahn 18.10.) */
.nachweis-flow .vc-card[b-25axamhk6j] { margin: 0; }

/* Werkzeugzeile */
.nachweis-kopf[b-25axamhk6j] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.nachweis-titelblock[b-25axamhk6j] { min-width: 0; }
.nachweis-titel[b-25axamhk6j] { margin: 0; font-size: 24px; font-weight: 600; }
.nachweis-untertitel[b-25axamhk6j] { margin: 2px 0 0; color: var(--text-muted); font-size: 14px; }
.nachweis-werkzeuge[b-25axamhk6j] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.nachweis-werkzeuge > button[b-25axamhk6j], .nachweis-werkzeuge[b-25axamhk6j]  .vc-aktionsmenue > button { height: 40px; }

/* Prozessleiste: Schritte links, Einreichungsstatus rechts — in Schritt 3 steht die volle Karte darunter. */
.nachweis-prozessleiste[b-25axamhk6j] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; }
.nachweis-prozessleiste--kompakt[b-25axamhk6j] { padding: 8px 14px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); }
.nachweis-prozessleiste:not(.nachweis-prozessleiste--kompakt) > .nachweis-schritte[b-25axamhk6j] { flex: 1 1 100%; padding: 8px 14px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); }
.nachweis-prozessleiste[b-25axamhk6j]  .vn-status { margin-left: auto; }
.nachweis-prozessleiste[b-25axamhk6j]  .vn-karte { flex: 1 1 100%; }
.nachweis-schritte[b-25axamhk6j] { display: flex; flex-wrap: wrap; gap: 4px 20px; min-width: 0; }
.nachweis-schritte button[b-25axamhk6j] { display: flex; align-items: center; gap: 10px; text-align: left; border: 0; border-radius: 6px; padding: 6px 8px; background: transparent; color: var(--text-secondary); cursor: pointer; font: inherit; font-size: 13px; min-height: 40px; }
.nachweis-schritte button[aria-current=step][b-25axamhk6j] { color: var(--ui-action-deep); font-weight: 600; }
.nachweis-schritte button:hover[b-25axamhk6j] { background: var(--ui-surface); }
.nachweis-schritte button:active[b-25axamhk6j] { background: var(--pressed-bg); }
.nachweis-schrittnummer[b-25axamhk6j] { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: var(--ui-surface); border: 1px solid var(--ui-line-strong); color: var(--text-secondary); font-size: 12px; font-weight: 600; }
[aria-current=step] .nachweis-schrittnummer[b-25axamhk6j] { color: white; background: var(--ui-action-deep); border-color: var(--ui-action-deep); }

/* Kennzahlenzeile: drei Felder in einem Rahmen, darunter der Hinweis. */
.nachweis-zusammenfassung[b-25axamhk6j] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.nachweis-zusammenfassung .kpi-card[b-25axamhk6j] { margin: 0; padding: 14px 20px; border: 0; border-left: 1px solid var(--ui-line-strong); border-radius: 0; background: var(--ui-surface); gap: 4px; }
.nachweis-zusammenfassung .kpi-card:first-child[b-25axamhk6j] { border-left: 0; }
.nachweis-zusammenfassung .kpi-label[b-25axamhk6j] { text-transform: none; letter-spacing: 0; }
.nachweis-zusammenfassung .kpi-value[b-25axamhk6j] { font-size: 24px; }
.nachweis-zusammenfassung .kpi-sub[b-25axamhk6j] { color: var(--ui-text-soft); }
.nachweis-zusammenfassung-hinweis[b-25axamhk6j] { grid-column: 1 / -1; margin: 0; padding: 8px 20px 10px; border-top: 1px solid var(--ui-line-strong); font-size: 12px; color: var(--ui-text-soft); }

/* Abschnitt des Schritts: weiße Fläche, feiner Rahmen, getönter Kopf. */
.nachweis-inhalt[b-25axamhk6j] { display: grid; gap: 20px; min-width: 0; }
.nachweis-abschnitt[b-25axamhk6j] { border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); min-width: 0; }
.nachweis-abschnitt-kopf[b-25axamhk6j] { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.nachweis-abschnitt-inhalt[b-25axamhk6j] { padding: 16px 20px 20px; }
.nachweis-schritt-label[b-25axamhk6j] { color: var(--ui-action-deep); font-size: 12px; display: block; margin-bottom: 4px; }
.nachweis-abschnitt-kopf h2[b-25axamhk6j] { margin: 0; font-size: 16px; }
.nachweis-abschnitt-inhalt > p[b-25axamhk6j] { color: var(--text-secondary); margin: 0 0 8px; }
.nachweis-filter[b-25axamhk6j] { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; margin: 16px 0 12px; }
.nachweis-filter label[b-25axamhk6j] { display: grid; gap: 8px; flex: 1 1 180px; min-width: 0; font-size: 12px; }
.nachweis-filter > div[b-25axamhk6j] { display: grid; gap: 8px; flex: 1 1 180px; min-width: 0; }
.nachweis-filter .vc-input[b-25axamhk6j] { width: 100%; min-width: 0; height: 40px; }
.nachweis-filter button[b-25axamhk6j] { min-height: 40px; margin: 0; }
.nachweis-hilfe[b-25axamhk6j] { font-size: 12px; color: var(--text-secondary); margin: 12px 0; }
.nachweis-hauptgruppe[b-25axamhk6j] {border: 1px solid var(--border-color); overflow: visible; }
.nachweis-hauptgruppe-header[b-25axamhk6j] { width: 100%; border: 0; border-radius: 8px; font: inherit; text-align: left; padding: 12px; }
.nachweis-hauptgruppe-header .title[b-25axamhk6j] { min-width: 0; }
.nachweis-hauptgruppe-header .sum[b-25axamhk6j] { font-size: 12px; color: var(--ui-text-soft); }
.nachweis-kostenart[b-25axamhk6j] { padding: 16px 12px; }
.nachweis-kostenart-header[b-25axamhk6j] { cursor: default; gap: 8px; }
.nachweis-kostenart-oeffnen[b-25axamhk6j] { flex: 1 1 180px; background: transparent; border: 0; color: var(--text-dark); font: inherit; font-weight: 600; padding: 8px 4px; text-align: left; cursor: pointer; min-height: 40px; }
.nachweis-kostenart-toggle[b-25axamhk6j] { min-height: 40px; border-radius: 8px; color: var(--ui-action-deep); background: var(--ui-surface); border: 1px solid var(--ui-subtle); font-size: 12px; padding: 8px; white-space: normal; }
.nachweis-status[b-25axamhk6j] { color: var(--ui-text-soft); font-size: 12px; }
.nachweis-buchung[b-25axamhk6j] { padding: 12px 0; grid-template-columns: 24px 88px minmax(0, 1fr) auto; border-top: 1px solid var(--border-color); font-size: 13px; }
.nachweis-buchung input[b-25axamhk6j] { width: 24px; height: 24px; margin: 0; accent-color: var(--ui-action-deep); }
.nachweis-buchung.excluded[b-25axamhk6j] { opacity: 1; text-decoration: none; }
.nachweis-buchung .datum[b-25axamhk6j], .nachweis-buchung.excluded .betrag[b-25axamhk6j] { color: var(--ui-text-soft); }
.nachweis-buchung .zweck[b-25axamhk6j] { overflow-wrap: anywhere; }
.nachweis-buchung small[b-25axamhk6j] { display: block; color: var(--ui-text-soft); font-size: 12px; margin-top: 4px; }
.nachweis-buchung .betrag[b-25axamhk6j] { white-space: nowrap; }
.nachweis-mehr-laden[b-25axamhk6j] { min-height: 40px; color: var(--ui-action-deep); }
.nachweis-download-actions[b-25axamhk6j] { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.nachweis-flow button:focus-visible[b-25axamhk6j], .nachweis-flow input:focus-visible[b-25axamhk6j], .nachweis-flow select:focus-visible[b-25axamhk6j] { outline: 3px solid var(--ui-action-deep); outline-offset: 3px; }
.nachweis-flow .btn-primary[b-25axamhk6j] { color: white; background: var(--ui-action); }
.nachweis-flow .btn-primary:hover[b-25axamhk6j] { background: var(--ui-action-deep); }
.nachweis-flow .btn-primary:active[b-25axamhk6j] { background: var(--ui-action-deep); }
@media (max-width: 900px) {
    .nachweis-zusammenfassung[b-25axamhk6j] { grid-template-columns: 1fr; }
    .nachweis-zusammenfassung .kpi-card[b-25axamhk6j] { border-left: 0; border-top: 1px solid var(--ui-line-strong); }
    .nachweis-zusammenfassung .kpi-card:first-child[b-25axamhk6j] { border-top: 0; }
}
@media (max-width: 600px) {
    .nachweis-schritte[b-25axamhk6j] { gap: 2px 8px; }
    .nachweis-schritte button[b-25axamhk6j] { font-size: 12px; padding: 6px; gap: 6px; }
    .nachweis-prozessleiste[b-25axamhk6j]  .vn-status { margin-left: 0; }
    .nachweis-flow .vc-card[b-25axamhk6j] { padding: 16px; }
    .nachweis-abschnitt-kopf[b-25axamhk6j], .nachweis-abschnitt-inhalt[b-25axamhk6j] { padding-left: 14px; padding-right: 14px; }
    .nachweis-buchung[b-25axamhk6j] { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; }
    .nachweis-buchung .datum[b-25axamhk6j] { grid-column: 2 / -1; font-size: 12px; }
    .nachweis-buchung input[b-25axamhk6j] { grid-row: 1 / 3; }
    .nachweis-buchung .zweck[b-25axamhk6j] { grid-column: 2; }
    .nachweis-buchung .betrag[b-25axamhk6j] { grid-column: 3; font-size: 12px; }
    .nachweis-filter[b-25axamhk6j] { gap: 12px; }
    .nachweis-filter label[b-25axamhk6j], .nachweis-filter > div[b-25axamhk6j], .nachweis-filter button[b-25axamhk6j] { flex-basis: 100%; }
}
/* /Components/Pages/Nachweis/VerwendungsnachweisKarte.razor.rz.scp.css */
/* Verwendungsnachweis beim Fördergeber (Teil B).
   Keine Inline-Stile im Markup (Dauergate seit P2-7).

   Karte, Alarmkästen, Tabelle, Abzeichen und Knöpfe stammen unverändert aus
   app.css — hier steht nur, was diese Karte zusätzlich braucht. */

.vn-karte[b-boyldospwt] {
    margin-bottom: 16px;
}

/* Die Kernaussage ist ein Satz, kein Absatzblock: Sie soll beim Überfliegen
   gelesen werden. Mehrere Nachweise stehen untereinander ohne Absatzabstand
   am Ende, damit der Kasten nicht auseinanderfällt. */
.vn-aussage[b-boyldospwt] {
    margin: 0 0 8px;
}

.vn-aussage:last-child[b-boyldospwt] {
    margin-bottom: 0;
}

.vn-erfassen[b-boyldospwt] {
    margin: 16px 0;
    padding-top: 16px;
    border-top: 1px solid var(--border-color);
}

.vn-erfassen-aktionen[b-boyldospwt] {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

/* U6, Block 4 (18.10.2026): Statuszeile in der Prozessleiste (Schritt 1 und 2) — Abzeichen plus Satz. */
.vn-status[b-boyldospwt] { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; min-width: 0; font-size: 13px; color: var(--text-secondary); }
.vn-status-eintrag[b-boyldospwt] { margin-right: 4px; }
.vn-status strong[b-boyldospwt] { font-weight: 600; color: var(--text-dark); }

/* Die volle Karte (Schritt 3) als Abschnitt: feiner Rahmen, getönter Kopf, kein Schatten. */
.vn-karte[b-boyldospwt] { margin: 0; padding: 0; border: 1px solid var(--ui-line-strong); border-radius: 8px;}
.vn-karte .vc-card-header[b-boyldospwt] { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.vn-karte .vc-card-header h3[b-boyldospwt] { margin: 0; font-size: 16px; }
.vn-karte > :not(.vc-card-header)[b-boyldospwt] { margin-left: 20px; margin-right: 20px; }
.vn-karte > :last-child:not(.vc-card-header)[b-boyldospwt] { margin-bottom: 20px; }
.vn-karte > .vc-card-header + *[b-boyldospwt] { margin-top: 16px; }
.vn-anleitung[b-boyldospwt] { color: var(--text-secondary); margin: 0 0 16px; }
.vn-erfassen-aktionen .vc-checkbox[b-boyldospwt] { flex-basis: 100%; }
.vn-karte[b-boyldospwt] { min-width: 0; }
.vn-karte[b-boyldospwt]  .vc-form-row { flex-wrap: wrap; gap: 16px; }
@media (max-width: 600px) {
    .vn-kompakt[b-boyldospwt] { padding: 16px; }
    .vn-karte .vc-card-header[b-boyldospwt] { align-items: stretch; flex-direction: column; gap: 12px; }
    .vn-karte .vc-card-header-actions[b-boyldospwt] { width: 100%; }
    .vn-karte .vc-card-header-actions button[b-boyldospwt] { width: 100%; white-space: normal; }
}

/* Ein zurückgenommener Eintrag bleibt lesbar, tritt aber zurück — er ist
   Nachweis, kein Fehler. Gedämpft statt eingefärbt, wie die deaktivierte
   Verteilvorlage. Bewusst KEIN Durchstreichen: Das läse sich als „gelöscht",
   und genau das ist eine Rücknahme nicht. */
.vn-zeile--zurueckgenommen[b-boyldospwt] {
    opacity: 0.72;
}

.vn-fussnote[b-boyldospwt] {
    margin-top: 8px;
}
/* /Components/Pages/Oeffentlich/Agb.razor.rz.scp.css */
/* AGB und Vertragsunterlagen /agb — Container wie die Bestellseite (Sichtprüfung 17.10.2026: ohne feste
   Breite ragte die Karte auf Handybreite links aus dem Bild). Die Tabelle scrollt im vc-table-wrapper. */

.agb-seite[b-o6w2u2vb74] {
    width: 100%;
    max-width: 880px;
    align-self: flex-start;
}

.agb-seite h1:focus[b-o6w2u2vb74] {
    outline: none;
}

.agb-vertragstext[b-o6w2u2vb74] { padding: 24px; margin-top: 24px; border-top: 1px solid var(--ui-line-strong); color: var(--ui-ink); line-height: 1.65; overflow-wrap: anywhere; }
.agb-vertragstext[b-o6w2u2vb74]  section { margin-top: 28px; }
.agb-vertragstext[b-o6w2u2vb74]  h2 { font-size: 18px; font-weight: 600; line-height: 1.4; }
.agb-vertragstext[b-o6w2u2vb74]  .clause-number { font-weight: 600; margin-right: 8px; }
@media (max-width: 600px) { .agb-vertragstext[b-o6w2u2vb74] { padding: 16px 0; } }
/* /Components/Pages/Organisation/Organisation.razor.rz.scp.css */
/* T-066: eine Karte statt zwei; der Startassistent ist eine Zeile darin. */
.organisation-grid[b-4ypb0ake3f] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.organisation-startassistent[b-4ypb0ake3f] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ui-line); }
h2[b-4ypb0ake3f] { margin-top: 0; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
dl[b-4ypb0ake3f] { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
dt[b-4ypb0ake3f] { color: var(--ui-muted); }
dd[b-4ypb0ake3f] { margin: 0; overflow-wrap: anywhere; }
.organisation-aktionen[b-4ypb0ake3f] { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { dl[b-4ypb0ake3f] { grid-template-columns: 1fr; gap: 8px; } dd[b-4ypb0ake3f] { margin-bottom: 8px; } }
/* /Components/Pages/Personal/MitarbeiterUebernehmenDialog.razor.rz.scp.css */
.uebernahme[b-d5p09795o8] { display: grid; gap: 12px; }
.uebernahme-hinweis[b-d5p09795o8] { margin: 0; color: var(--text-muted); font-size: 13px; }
.uebernahme-wahl[b-d5p09795o8] { width: 36px; }
.uebernahme-wahl input[b-d5p09795o8] { width: 18px; height: 18px; margin: 0; accent-color: var(--ui-action); }
.uebernahme-stunden[b-d5p09795o8] { width: 110px; }
.uebernahme-nummer[b-d5p09795o8] { width: 180px; }
.uebernahme-gesperrt td[b-d5p09795o8] { color: var(--text-muted); }
.uebernahme-fehler[b-d5p09795o8] { color: var(--ui-danger); }
/* /Components/Pages/Personal/PersonalIst.razor.rz.scp.css */
.personal-ist[b-pawghler48] { padding: 1.5rem; min-width: 0; }
.personal-ist p[b-pawghler48] { margin: 1rem 0; }
.table-scroll[b-pawghler48] { overflow-x: auto; max-width: 100%; }
.table-scroll table[b-pawghler48] { width: 100%; }
.table-scroll th[b-pawghler48], .table-scroll td[b-pawghler48] { padding: .75rem; text-align: left; }
.table-scroll td:not(:first-child)[b-pawghler48] { font-variant-numeric: tabular-nums; }
.erfassung[b-pawghler48] { border: 1px solid var(--ui-line); border-radius: 8px; padding: 1rem; margin: 1rem 0; }
summary[b-pawghler48] { cursor: pointer; font-weight: 600; }
.eingaben[b-pawghler48] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; margin: 16px 0; }
.eingaben label[b-pawghler48] { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.eingaben label > span[b-pawghler48] { display: flex; align-items: end; min-height: 40px; }
.eingaben .vc-input[b-pawghler48] { min-width: 0; width: 100%; height: 44px; min-height: 44px; box-sizing: border-box; margin: 0; }
.erfassung > label > select[b-pawghler48] { display: block; width: 100%; max-width: 640px; min-width: 0; height: 44px; margin-top: 8px; }
.eingaben input:focus-visible[b-pawghler48], .eingaben select:focus-visible[b-pawghler48], .erfassung > label > select:focus-visible[b-pawghler48] { outline: 3px solid var(--ui-action); outline-offset: 2px; }
.erfassung > label[b-pawghler48] { display: block; margin: 1rem 0; }
.aktionen[b-pawghler48] { display: flex; flex-wrap: wrap; gap: 1rem; }
.hinweis[b-pawghler48] { font-size: 13px; color: var(--ui-muted); }
@media (max-width: 900px) { .eingaben[b-pawghler48] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .personal-ist[b-pawghler48] { padding: 16px; } .eingaben[b-pawghler48] { grid-template-columns: minmax(0, 1fr); } .eingaben label > span[b-pawghler48] { min-height: 0; } }
/* /Components/Pages/Personal/PersonalkostenDetailAnsicht.razor.rz.scp.css */
/* Personalkosten-Detailansicht (27.09.2026) — Aufbau wie im VeltoCare Calculator. */

.pk-detail[b-5jyewcryde] { display: flex; flex-direction: column; gap: 16px; }

.pk-kacheln[b-5jyewcryde] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.pk-kachel[b-5jyewcryde] { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 8px; background: var(--card-bg); border: 1px solid var(--ui-line); }
.pk-kachel--summe[b-5jyewcryde] { background: var(--calc-area-bg); }
.pk-wert[b-5jyewcryde] { font-size: 24px; font-weight: 600; color: var(--text-dark); text-align: left; }
.pk-kachel--summe .pk-wert[b-5jyewcryde] { color: var(--calc-area-text); }
.pk-klein[b-5jyewcryde] { font-size: 12px; color: var(--text-muted); margin: 0; }

.pk-legende[b-5jyewcryde] { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-muted); margin: 0; }
/* Rudi, 27.09.2026: nur der abweichende Wert ist blau, nicht das ganze Feld. */

.pk-karte[b-5jyewcryde] { background: var(--card-bg); border-radius: 8px; border: 1px solid var(--ui-line); padding: 16px 18px; }
.pk-karte-kopf[b-5jyewcryde] { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; }
.pk-karte-kopf h3[b-5jyewcryde] { font-size: 16px; font-weight: 600; margin: 0; color: var(--text-dark); }
.pk-nr[b-5jyewcryde] { display: inline-flex; flex: none; width: 24px; height: 24px; border-radius: 50%; align-items: center; justify-content: center; background: var(--selected-bg); color: var(--accent-blue-pressed); font-size: 12px; font-weight: 600; }

/* Viele Abschnitte: waagerecht scrollen, die Bezeichnungsspalte bleibt stehen (DESIGN_SYSTEM §9). */
.pk-scroll[b-5jyewcryde] { overflow-x: auto; }
.pk-tabelle[b-5jyewcryde] { table-layout: fixed; }
/* Feste Spalten wie im Calculator: bei 1–3 Abschnitten nicht auf Kartenbreite strecken (250 + n × 234 px); ab 4 ist die Summe der Spalten ohnehin breiter und die Karte scrollt. Klasse statt style-Attribut — die CSP erlaubt kein Inline-CSS. */
.pk-tabelle.pk-n1[b-5jyewcryde] { width: 484px; }
.pk-tabelle.pk-n2[b-5jyewcryde] { width: 718px; }
.pk-tabelle.pk-n3[b-5jyewcryde] { width: 952px; }
.pk-col-label[b-5jyewcryde] { width: 250px; }
.pk-col-satz[b-5jyewcryde] { width: 84px; }
.pk-col-betrag[b-5jyewcryde] { width: 150px; }
.pk-tabelle th.pk-label[b-5jyewcryde] { text-align: left; font-weight: 400; position: sticky; left: 0; background: var(--card-bg); z-index: 1; }
.pk-tabelle thead th.pk-label[b-5jyewcryde] { background: var(--table-header-bg); vertical-align: bottom; z-index: 2; } /* über den ebenfalls stickyen Abschnittsköpfen (.vc-table thead th: z-index 1) */
/* Abschnittsgrenze (Rudi, 27.09.2026: „besser optisch trennen“): 2 px in Kopf und Körper, an der ersten Zelle jedes Abschnitts. */
.pk-abschnitt[b-5jyewcryde] { text-align: center; border-left: 2px solid var(--border-strong); }
.pk-abschnitt span[b-5jyewcryde] { display: block; }
.pk-anlass[b-5jyewcryde] { color: var(--accent-blue-pressed); font-weight: 600; font-size: 11px; }
.pk-zr[b-5jyewcryde] { color: var(--text-dark); font-weight: 600; font-size: 13px; margin: 2px 0; }
.pk-unter[b-5jyewcryde] { display: block; font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.pk-satz[b-5jyewcryde] { color: var(--text-muted); border-left: 2px solid var(--border-strong); white-space: nowrap; }
.pk-betrag[b-5jyewcryde] { white-space: nowrap; }
.pk-abschnitt-wert[b-5jyewcryde] { border-left: 2px solid var(--border-strong); }

.pk-summe th[b-5jyewcryde], .pk-summe td[b-5jyewcryde] { font-weight: 600; border-top: 2px solid var(--border-strong); background: var(--table-header-bg); }
.pk-ergebnis th[b-5jyewcryde], .pk-ergebnis td[b-5jyewcryde] { font-weight: 600; font-size: 14px; background: var(--calc-area-bg); color: var(--calc-area-text); }

.pk-geaendert[b-5jyewcryde] { color: var(--accent-blue-pressed); font-weight: 600; }

.pk-hinweise[b-5jyewcryde] { font-size: 13px; color: var(--text-secondary); }
.pk-hinweise summary[b-5jyewcryde] { cursor: pointer; }
/* W18 (Rudi, 16.10.2026): erfasste Istkosten — Farben wie die Status-Badges (DESIGN_SYSTEM §5.5). */
.pk-kachel--ist[b-5jyewcryde] { background: var(--ui-success-bg); }
.pk-kachel--ist .pk-wert[b-5jyewcryde] { color: var(--success-color); }
.pk-nr--ist[b-5jyewcryde] { width: auto; padding: 0 8px; border-radius: 999px; font-size: 11px; letter-spacing: 0.3px; background: var(--ui-success-bg); color: var(--success-color); }
.pk-ist-tabelle[b-5jyewcryde] { width: auto; min-width: 100%; }
.pk-ist-tabelle th.pk-label[b-5jyewcryde] { white-space: nowrap; }
.pk-ist-summe[b-5jyewcryde] { font-weight: 600; color: var(--success-color); }
/* /Components/Pages/Personal/PersonalPlanIstBlock.razor.rz.scp.css */
.personal-vergleich[b-i984zvw2cw] { display: grid; gap: 4px; min-width: 208px; margin-top: 12px; font-size: 12px; font-weight: 400; color: var(--text-secondary); white-space: normal; }
.personal-vergleich strong[b-i984zvw2cw] { font-weight: 600; }
.personal-balken[b-i984zvw2cw] { height: 8px; background: var(--table-header-bg); border-radius: 4px; overflow: hidden; }
.personal-balken span[b-i984zvw2cw] { display: block; height: 100%; }
.personal-plan[b-i984zvw2cw] { background: var(--text-muted); }
.personal-ist[b-i984zvw2cw] { background: var(--result-area-text); }
/* /Components/Pages/Personal/PersonalZeitstrahl.razor.rz.scp.css */
.vc-personal-hinweis[b-12fyyn1jen] {
    margin: 12px 24px;
    color: var(--ui-muted);
    font-size: 12px;
    line-height: 1.5;
}

.vc-personal-zuordnung[b-12fyyn1jen] { padding: 16px 24px; border-top: 1px solid var(--ui-border); }
.vc-personal-zuordnung ul[b-12fyyn1jen] { padding-left: 20px; }
.vc-personal-zuordnung li[b-12fyyn1jen] { margin: 12px 0; overflow-wrap: anywhere; }

@media (max-width: 600px) {
    .vc-card-header[b-12fyyn1jen] {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }
    .vc-card-header h2[b-12fyyn1jen] {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .vc-card-header-actions[b-12fyyn1jen] {
        min-width: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 12px;
    }
    .vc-card-header-actions label[b-12fyyn1jen] {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    .vc-card-header-actions button[b-12fyyn1jen] {
        max-width: 100%;
        white-space: normal;
    }
    .vc-personal-hinweis[b-12fyyn1jen] { margin-inline: 16px; overflow-wrap: anywhere; }
    .vc-personal-zuordnung[b-12fyyn1jen] { padding-inline: 16px; }
}
.personal-bereiche[b-12fyyn1jen] { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.25rem; }

/* Nur lesen (Etappe 3): Die Stunden stehen als Zahl da, nicht als Kästchen, das nach Eingabe aussieht. */
span.hours-cell[b-12fyyn1jen] {
    border-color: transparent;
    background: transparent;
    cursor: default;
}

span.hours-cell:hover[b-12fyyn1jen] {
    border-color: transparent;
    background: transparent;
}

/* T-056 (Rudi, 24.10.2026): Jede Person ist ein eigener Block mit Rahmen und Abstand — dasselbe
   Gestaltungsprinzip wie das abgestimmte Mitarbeiterkarten-Muster (T-024/T-025), hier innerhalb der
   Tabelle, damit die Monatsspalten über alle Personen bündig bleiben und jede Person EINE Zeile bleibt
   (Komponenten- und Browsertests finden Personen über `tbody tr`). Der Block entsteht über getrennte
   Rahmen mit senkrechtem Abstand; die Namenszelle ist der getönte Kopf, die Summenzelle leicht abgesetzt.
   Zebra und Zeilen-Hover der Grundtabelle entfallen, weil der Block selbst die Trennung trägt. */
.vc-zeitstrahl-table[b-12fyyn1jen] { border-collapse: separate; border-spacing: 0 14px; margin-top: -14px; }
.vc-zeitstrahl-table thead th[b-12fyyn1jen] { border-bottom: 1px solid var(--table-border); }
.vc-zeitstrahl-table tbody tr[b-12fyyn1jen],
.vc-zeitstrahl-table tbody tr:nth-child(even)[b-12fyyn1jen],
.vc-zeitstrahl-table tbody tr:hover[b-12fyyn1jen] { background: var(--ui-surface); }
.vc-zeitstrahl-table tbody td[b-12fyyn1jen] { border-top: 1px solid var(--ui-line-strong); border-bottom: 1px solid var(--ui-line-strong); vertical-align: top; }
.vc-zeitstrahl-table tbody td:first-child[b-12fyyn1jen] { border-left: 1px solid var(--ui-line-strong); border-radius: 8px 0 0 8px; background: var(--ui-tint); padding: 12px 14px; }
.vc-zeitstrahl-table tbody td:last-child[b-12fyyn1jen] { border-right: 1px solid var(--ui-line-strong); border-radius: 0 8px 8px 0; background: var(--surface-alt); padding-top: 12px; }
.vc-zeitstrahl-table tbody td:first-child .vc-cell-primary[b-12fyyn1jen] { display: block; font-size: 14px; font-weight: 600; color: var(--ui-ink); }
.vc-zeitstrahl-table tbody td:first-child .vc-cell-secondary[b-12fyyn1jen] { display: block; }
.vc-zeitstrahl-table tbody .vc-zeitstrahl-aktionen[b-12fyyn1jen] { margin-top: 10px; }
/* Honorar-Akzent: die Blockregel oben ist spezifischer als die globale Kante — hier ausdrücklich erhalten. */
.vc-zeitstrahl-table tbody tr.vc-honorar-akzent td:first-child[b-12fyyn1jen] { border-left: 3px solid var(--accent-teal); }
.vc-zeitstrahl-table tfoot td[b-12fyyn1jen] { border-top: 2px solid var(--border-strong) !important; border-bottom: 1px solid var(--ui-line-strong); }
.vc-zeitstrahl-table tfoot td:first-child[b-12fyyn1jen] { border-left: 1px solid var(--ui-line-strong); border-radius: 8px 0 0 8px; }
.vc-zeitstrahl-table tfoot td:last-child[b-12fyyn1jen] { border-right: 1px solid var(--ui-line-strong); border-radius: 0 8px 8px 0; }

/* Block C (Rudi, 01.11.2026, Vorschlag 6b): Die Spalte „Zeitraumsumme“ bleibt rechts stehen, die Monate
   scrollen darunter durch — der Tabellen-Wrapper ist der Scrollbehälter, die letzte Zelle jeder Zeile
   klebt an seinem rechten Rand. Die Zellen brauchen dafür eine eigene Füllfarbe (sonst scheinen die
   Monate durch) und eine Kante nach links, damit das Feststehen erkennbar ist. */
.vc-zeitstrahl-table thead th.vc-zeitstrahl-summe-col[b-12fyyn1jen],
.vc-zeitstrahl-table tbody td:last-child[b-12fyyn1jen],
.vc-zeitstrahl-table tfoot td:last-child[b-12fyyn1jen] {
    position: sticky;
    right: 0;
    z-index: 1;
    box-shadow: -1px 0 0 var(--ui-line-strong);
}
.vc-zeitstrahl-table thead th.vc-zeitstrahl-summe-col[b-12fyyn1jen] { background: var(--table-header-bg); }
.vc-zeitstrahl-table tfoot td:last-child[b-12fyyn1jen] { background: var(--ui-surface); }

/* W18 (Rudi, 16.10.2026): erfasste Istkosten haben Vorrang vor dem Plan — Farben wie die Status-Badges (DESIGN_SYSTEM §5.5). */
.vc-zeitstrahl-monat.is-ist[b-12fyyn1jen] { background: var(--ui-success-bg); }
.vc-zeitstrahl-kosten--ist[b-12fyyn1jen] { color: var(--success-color); font-weight: 600; }
.vc-zeitstrahl-kosten--ist small[b-12fyyn1jen] { font-size: 11px; font-weight: 600; letter-spacing: 0.3px; }
.vc-zeitstrahl-plan[b-12fyyn1jen] { display: block; font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.vc-zeitstrahl-monat.is-ist-luecke[b-12fyyn1jen] { background: var(--ui-warn-bg); }
.vc-zeitstrahl-monat.is-ist-luecke .vc-zeitstrahl-plan[b-12fyyn1jen] { color: var(--ui-warn-text); }
.vc-zeitstrahl-table thead th.vc-zeitstrahl-monat-col[b-12fyyn1jen] { vertical-align: top; }
.vc-zeitstrahl-monat-head-luecke[b-12fyyn1jen] { display: block; color: var(--ui-warn-text); font-size: 11px; font-weight: 600; white-space: nowrap; }
.vc-zeitstrahl-legende[b-12fyyn1jen] { margin-top: -6px; }
.vc-zeitstrahl-legende-ist[b-12fyyn1jen] { color: var(--success-color); font-weight: 600; }
.vc-zeitstrahl-legende-luecke[b-12fyyn1jen] { color: var(--ui-warn-text); font-weight: 600; }

/* U6, Block 8 (18.10.2026, Muster A): Werkzeugzeile, Prozessleiste, Kennzahlenzeile, Abschnitt — dieselbe
   Blockgrammatik wie die übrigen Reiter (Rahmen --ui-line-strong, getönter Kopf --ui-tint, kein Schatten; Bauform
   Nachweis.razor.css). Tabelle und Zellen unverändert. */
/* minmax(0, 1fr): Die Monatstabelle ist breiter als die Seite und darf das Raster nicht aufziehen — sie
   scrollt in ihrem Wrapper (Grid-Kinder haben sonst min-width:auto). */
.personal[b-12fyyn1jen] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.personal > *[b-12fyyn1jen] { min-width: 0; }
.personal > .vc-card[b-12fyyn1jen] { margin: 0; }
.personal-kopf[b-12fyyn1jen] { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; }
.personal-titelblock[b-12fyyn1jen] { min-width: 0; }
.personal-titel[b-12fyyn1jen] { margin: 0; font-size: 24px; font-weight: 600; }
.personal-untertitel[b-12fyyn1jen] { margin: 2px 0 0; color: var(--text-muted); font-size: 14px; }
.personal-werkzeuge[b-12fyyn1jen] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.personal-werkzeuge > a.btn-primary[b-12fyyn1jen] { display: inline-flex; align-items: center; height: 40px; box-sizing: border-box; }
.personal-werkzeuge[b-12fyyn1jen]  .vc-aktionsmenue > button { height: 40px; }

/* Prozessleiste: Ansichtswahl, Jahr im Förderzeitraum, Ist-Stand */
.personal-prozessleiste[b-12fyyn1jen] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding: 8px 14px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); }
.personal-bereiche[b-12fyyn1jen] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; }
.personal-prozess-label[b-12fyyn1jen] { margin-right: 6px; font-size: 13px; color: var(--text-muted); }
.personal-bereich[b-12fyyn1jen] { min-height: 36px; padding: 6px 14px; border: 0; border-radius: 6px; background: transparent; color: var(--ui-action); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.personal-bereich:hover[b-12fyyn1jen] { background: var(--ui-surface); }
.personal-bereich[aria-pressed=true][b-12fyyn1jen] { background: var(--ui-action); color: var(--ui-surface); font-weight: 600; }
.personal-bereich:focus-visible[b-12fyyn1jen] { outline: 3px solid var(--ui-action); outline-offset: 2px; }
.personal-jahr[b-12fyyn1jen] { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-secondary); }
.personal-jahr .jahr-select[b-12fyyn1jen] { height: 36px; background: var(--ui-surface); }
.personal-datenstand[b-12fyyn1jen] { margin: 0; margin-left: auto; font-size: 13px; color: var(--text-secondary); }

/* Kennzahlenzeile: vier Felder in einem Rahmen (kpi-card bleibt die Bauform der Werte). */
.personal-kennzahlen[b-12fyyn1jen] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); }
.personal-kennzahlen .kpi-card[b-12fyyn1jen] { margin: 0; padding: 14px 20px; border: 0; border-left: 1px solid var(--ui-line-strong); border-radius: 0; background: var(--ui-surface); gap: 4px; min-width: 0; }
.personal-kennzahlen .kpi-card:first-child[b-12fyyn1jen] { border-left: 0; }
.personal-kennzahlen .kpi-label[b-12fyyn1jen] { text-transform: none; letter-spacing: 0; }
.personal-kennzahlen .kpi-value[b-12fyyn1jen] { font-size: 24px; }
.personal-kennzahlen .kpi-hint[b-12fyyn1jen] { font-size: 12px; }

/* Abschnitte: Kalkulation (hier) und Istkosten (PersonalIst, per ::deep) mit getöntem Kopf. */
.personal-abschnitt[b-12fyyn1jen] { border: 1px solid var(--ui-line-strong); border-radius: 8px;}
.personal-abschnitt-kopf[b-12fyyn1jen] { padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.personal-abschnitt-kopf h2[b-12fyyn1jen] { margin: 0; font-size: 16px; }
.personal-ist-rahmen[b-12fyyn1jen]  .vc-card { margin: 0; border: 1px solid var(--ui-line-strong); border-radius: 8px;}
/* Der Kopf liegt bündig am Rahmen: die Karte (PersonalIst, Innenabstand 1.5rem, schmal 16px) behält ihren Abstand. */
.personal-ist-rahmen[b-12fyyn1jen]  .vc-card > .vc-card-header { margin: -1.5rem -1.5rem 16px; padding: 14px 20px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.personal-ist-rahmen[b-12fyyn1jen]  .vc-card > .vc-card-header h2 { margin: 0; font-size: 16px; }

@media (max-width: 900px) {
    .personal-kennzahlen[b-12fyyn1jen] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .personal-kennzahlen .kpi-card:nth-child(odd)[b-12fyyn1jen] { border-left: 0; }
    .personal-kennzahlen .kpi-card:nth-child(n + 3)[b-12fyyn1jen] { border-top: 1px solid var(--ui-line-strong); }
    .personal-datenstand[b-12fyyn1jen] { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 600px) {
    /* Schmal: ein Feld je Zeile, damit die Beträge nicht umbrechen. */
    .personal-kennzahlen[b-12fyyn1jen] { grid-template-columns: 1fr; }
    .personal-kennzahlen .kpi-card[b-12fyyn1jen], .personal-kennzahlen .kpi-card:nth-child(odd)[b-12fyyn1jen] { border-left: 0; border-top: 1px solid var(--ui-line-strong); }
    .personal-kennzahlen .kpi-card:first-child[b-12fyyn1jen] { border-top: 0; }
    .personal-prozessleiste[b-12fyyn1jen] { padding: 6px 8px; gap: 6px 12px; }
    .personal-bereich[b-12fyyn1jen] { padding: 6px 10px; font-size: 13px; }
    .personal-abschnitt-kopf[b-12fyyn1jen] { padding-left: 14px; padding-right: 14px; }
    .personal-ist-rahmen[b-12fyyn1jen]  .vc-card > .vc-card-header { margin: -16px -16px 12px; padding-left: 14px; padding-right: 14px; }
}
/* /Components/Pages/PersonalMandant/MitarbeiterFormular.razor.rz.scp.css */
.personal-wizard[b-fvgnel0in8]  .personal-zahlenfeld,
.personal-wizard[b-fvgnel0in8]  .personal-datumsfeld {
    width: min(100%, 12rem);
}

/* Gehaltsänderung: Datum, Betrag und „Entfernen“ in einer Zeile. */
.aenderung-reihe[b-fvgnel0in8] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
}

.aenderung-reihe .vc-form-group[b-fvgnel0in8],
.aenderung-reihe[b-fvgnel0in8]  .vc-form-group {
    margin-bottom: 0;
}

.aenderung-reihe select[b-fvgnel0in8] {
    width: auto;
    min-width: 7rem;
}

.aenderung-reihe .aenderung-betrag[b-fvgnel0in8] {
    order: 10; /* unter der Zeile — „Entfernen“ bleibt in der Zeile */
    flex-basis: 100%;
    margin-top: 0;
}

.aenderung-reihe .aenderung-fest[b-fvgnel0in8] {
    display: inline-block;
    line-height: 40px;
}

/* Zulage: Häkchen kompakt in einer Zeile, „Entfernen“ rechts. */
.zulage-optionen[b-fvgnel0in8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
}

.zulage-optionen .vc-auswahl-zeile[b-fvgnel0in8] {
    margin-top: 0;
    font-size: 13px;
}

.zulage-optionen .vc-auswahl-zeile input[type="checkbox"][b-fvgnel0in8] {
    width: 16px;
    height: 16px;
}

.zulage-optionen .zulage-entfernen[b-fvgnel0in8] {
    margin-left: auto;
}

/* Infopunkt: der Hinweis erscheint beim Darüberfahren und beim Fokus. */
.info-punkt[b-fvgnel0in8] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: -12px;
    padding: 0;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: transparent;
    color: var(--text-secondary);
    font: 600 11px/1 Georgia, serif;
    cursor: help;
}

.info-punkt__text[b-fvgnel0in8] {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    z-index: 20;
    width: min(20rem, 70vw);
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--sidebar-bg);
    color: var(--ui-surface);
    font: 400 12px/1.4 Inter, sans-serif;
    text-align: left;
    box-shadow: var(--ui-shadow-overlay);
}

.info-punkt:hover .info-punkt__text[b-fvgnel0in8],
.info-punkt:focus-visible .info-punkt__text[b-fvgnel0in8] {
    display: block;
}

/* Mitarbeiterseite: jeder Abschnitt eine Karte, untereinander; unten die Knöpfe. */
.mitarbeiter-seite[b-fvgnel0in8] { display: block; }
.mitarbeiter-seite__fuss[b-fvgnel0in8] { display: flex; justify-content: flex-end; gap: 12px; padding: 4px 0 32px; }

.mitarbeiter-abschnitt[b-fvgnel0in8] {
    margin-bottom: 16px;
}

.mitarbeiter-abschnitt h3[b-fvgnel0in8] {
    font-size: 16px;
    font-weight: 600;
}

/* Honorar: „Art des Honorars“ so breit wie eine der drei Spalten darüber. */
.mitarbeiter-abschnitt[b-fvgnel0in8]  .feld-drittel {
    max-width: calc((100% - 32px) / 3);
}

/* Tarif: Tarif · Tabelle · Entgeltgruppe · Stufe in einer Reihe. */
.mitarbeiter-abschnitt .tarif-auswahl[b-fvgnel0in8] {
    display: grid;
    grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
    gap: 0 16px;
    max-width: 58rem;
}

.mitarbeiter-abschnitt .tarif-auswahl .vc-form-row-grid[b-fvgnel0in8] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}

.mitarbeiter-abschnitt .tarif-auswahl .vc-form-row-grid + .vc-form-row-grid[b-fvgnel0in8] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Zulage: Bezeichnung · Betrag · Von · Bis in einer Reihe. */
.mitarbeiter-abschnitt .zulage-reihe[b-fvgnel0in8] {
    grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(9rem, 1fr));
    max-width: 58rem;
}

@media (max-width: 600px) {
    .mitarbeiter-abschnitt[b-fvgnel0in8]  .feld-drittel {
        max-width: none;
    }

    .mitarbeiter-abschnitt .tarif-auswahl[b-fvgnel0in8] {
        grid-template-columns: minmax(0, 1fr);
    }

    .mitarbeiter-abschnitt .zulage-reihe[b-fvgnel0in8] {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}

.mitarbeiter-abschnitt .zuordnungen[b-fvgnel0in8] {
    min-width: 40rem;
}

/* Zahlenspalten nur so breit wie ihr Inhalt — die Kostenstelle bekommt den Rest. */
.mitarbeiter-abschnitt .zuordnungen th.numeric[b-fvgnel0in8],
.mitarbeiter-abschnitt .zuordnungen td.numeric[b-fvgnel0in8] {
    width: 1%;
    white-space: nowrap;
}

.mitarbeiter-abschnitt .zuordnungen .teil[b-fvgnel0in8] {
    white-space: nowrap;
}

.mitarbeiter-abschnitt .zuordnungen .stundenfeld[b-fvgnel0in8] {
    width: 6rem;
}

.mitarbeiter-abschnitt .zuordnungen td[b-fvgnel0in8] {
    vertical-align: top;
}

.mitarbeiter-abschnitt .zuordnungen select[b-fvgnel0in8] {
    min-width: 16rem;
    max-width: 100%;
}

.mitarbeiter-abschnitt .zuordnungen tfoot td[b-fvgnel0in8] {
    font-weight: 600;
}

.numeric[b-fvgnel0in8] {
    text-align: right;
    font-variant-numeric: lining-nums tabular-nums;
}
/* /Components/Pages/PersonalMandant/MitarbeiterSeite.razor.rz.scp.css */
.mitarbeiter[b-k2qh3xslmm] { max-width: 72rem; }
.zurueck[b-k2qh3xslmm] { display: inline-block; margin-bottom: 8px; font-size: 14px; color: var(--ui-action); text-decoration: none; }
.zurueck:hover[b-k2qh3xslmm] { text-decoration: underline; }
/* /Components/Pages/PersonalMandant/PersonalBereichReiter.razor.rz.scp.css */
.personal-reiter[b-y1knbo7z04] { display: flex; gap: 4px; border-bottom: 1px solid var(--ui-line); margin: 0 0 24px; }
.personal-reiter a[b-y1knbo7z04] { padding: 10px 16px; border-bottom: 3px solid transparent; color: var(--ui-muted);
    font-weight: 600; text-decoration: none; }
.personal-reiter a:hover[b-y1knbo7z04] { color: var(--ui-action-hover); }
.personal-reiter a.aktiv[b-y1knbo7z04] { color: var(--ui-action); border-bottom-color: var(--ui-action); }
.personal-reiter a:focus-visible[b-y1knbo7z04] { outline: 2px solid var(--ui-focus); outline-offset: -2px; }
/* /Components/Pages/PersonalMandant/PersonalMandantUebersicht.razor.rz.scp.css */
.personal-mandant h3[b-oe781o4yc1] { margin: 16px 0 8px; font-size: 16px; }
.aktionen[b-oe781o4yc1] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.filter[b-oe781o4yc1]  select { min-width: 14rem; max-width: 100%; }

/* Eigenständige Mitarbeiterkarten nach dem abgestimmten Muster vom 21.10.2026. */
.personal-filter[b-oe781o4yc1] { margin-bottom: 20px; }
.personen-aktionen[b-oe781o4yc1] { display: flex; flex-wrap: wrap; gap: 12px; }
.mitarbeiter-karte[b-oe781o4yc1] { margin: 0 0 20px; border: 1px solid var(--ui-line); border-radius: 8px; background: var(--ui-surface); overflow: hidden; }
/* T-059 (Rudi, 24.10.2026): Werte, Status und Aktionen stehen in jeder Karte an derselben Stelle — feste
   Spuren fuer Stunden, Kosten, Status und Aktionen, nur der Name fuellt den Rest. Mit flexiblen Anteilen und
   auto-Spuren rutschten die Werte je nach Breite von Statusmarke und Knopfzahl. */
.mitarbeiter-kopf[b-oe781o4yc1] { display: grid; grid-template-columns: minmax(10rem, 1fr) 8rem 11rem 12.5rem 25rem; gap: 24px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--ui-line); }
.mitarbeiter-kopf.bedarf[b-oe781o4yc1] { background: var(--ui-warn-bg); }
.mitarbeiter-kopf.vollstaendig[b-oe781o4yc1] { background: var(--result-area-bg); }
.mitarbeiter-kopf.klickbar[b-oe781o4yc1] { cursor: pointer; }
.mitarbeiter-kopf.klickbar:hover[b-oe781o4yc1] { box-shadow: inset 0 0 0 1px var(--ui-action); }
.mitarbeiter-kopf .btn-secondary[b-oe781o4yc1] { background: var(--ui-surface); color: var(--ui-action-hover); border-color: var(--ui-subtle); min-height: 32px; padding: 7px 12px; }
.mitarbeiter-kopf .btn-secondary:hover[b-oe781o4yc1] { background: var(--ui-tint-blue); color: var(--ui-action-hover); border-color: var(--ui-action-hover); }
.mitarbeiter-kopf .btn-secondary:focus-visible[b-oe781o4yc1] { outline: 3px solid var(--ui-focus); outline-offset: 3px; }
.mitarbeiter-kopf .btn-secondary:active[b-oe781o4yc1] { background: var(--ui-tint-strong); }
.mitarbeiter-name[b-oe781o4yc1] { display: flex; flex-direction: column; gap: 4px; }
.mitarbeiter-name .name[b-oe781o4yc1] { font-size: 18px; font-weight: 700; }
.mitarbeiter-kopf dl[b-oe781o4yc1] { margin: 0; }
.mitarbeiter-kopf dt[b-oe781o4yc1] { color: var(--ui-muted); font-size: 13px; }
.mitarbeiter-kopf dd[b-oe781o4yc1] { margin: 4px 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.stundenstatus[b-oe781o4yc1] { border: 1px solid var(--ui-success-line); background: var(--ui-success-bg); color: var(--ui-success); padding: 7px 12px; border-radius: 6px; font-size: 13px; font-weight: 600; }
.stundenstatus.offen[b-oe781o4yc1] { border-color: var(--ui-warn-line); background: var(--ui-warn-bg); color: var(--ui-warning); }
.stundenstatus.zuviel[b-oe781o4yc1] { border-color: var(--ui-danger-line); background: var(--error-area-bg); color: var(--ui-danger); }
.mitarbeiter-inhalt[b-oe781o4yc1] { padding: 12px 18px 16px; }
.mitarbeiter-unterkopf[b-oe781o4yc1] { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 8px; }
.mitarbeiter-details[b-oe781o4yc1] { border-top: 1px solid var(--ui-line); margin-top: 16px; padding-top: 8px; overflow-x: auto; }
.uebernahme-auswahl[b-oe781o4yc1] { margin-bottom: 20px; }
.kein-zuordnen[b-oe781o4yc1] { display: inline-block; margin-top: 6px; }
.stundenplan[b-oe781o4yc1] { min-width: 64rem; width: 100%; background: var(--ui-surface); }
.stundenplan th[scope=row][b-oe781o4yc1] { font-weight: 500; text-align: left; white-space: normal; min-width: 15rem; }
/* Gleich breite Monatsspalten — auch dort, wo vor dem Eintritt nur ein Strich steht. */
.stundenplan td.numeric[b-oe781o4yc1], .stundenplan th.numeric[b-oe781o4yc1] { padding: 4px; width: 5rem; min-width: 5rem; }
.stundenplan .zelle[b-oe781o4yc1] { width: 4.5rem; height: 32px; padding: 4px 6px; appearance: textfield; -moz-appearance: textfield; }
/* Ohne die Pfeile des Zahlenfelds — sie schneiden in der schmalen Zelle den Wert ab („19,6(“). */
.stundenplan .zelle[b-oe781o4yc1]::-webkit-outer-spin-button, .stundenplan .zelle[b-oe781o4yc1]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.stundenplan td.zuviel[b-oe781o4yc1] { background: var(--error-area-bg); color: var(--ui-danger); font-weight: 600; }
.stundenplan td.offen[b-oe781o4yc1] { background: var(--ui-warn-bg); }
.stundenplan tfoot th[b-oe781o4yc1], .stundenplan tfoot td[b-oe781o4yc1] { font-weight: 600; }
.filter[b-oe781o4yc1] { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; margin-bottom: 16px; }
.filter[b-oe781o4yc1]  .vc-form-group { margin-bottom: 0; }
.filter[b-oe781o4yc1]  input[type=number] { width: 7rem; }
.filter[b-oe781o4yc1]  input[type=search] { width: 17rem; max-width: 100%; }
.filterchips[b-oe781o4yc1] { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.filterchip[b-oe781o4yc1] { border: 1px solid var(--border-strong); background: var(--ui-surface); border-radius: 999px; padding: 6px 14px;
    cursor: pointer; font: inherit; font-size: 14px; color: var(--ui-ink); }
.filterchip.aktiv[b-oe781o4yc1] { background: var(--ui-selected); border-color: var(--ui-action);
    color: var(--ui-action-hover); font-weight: 600; }
.kennzahlen[b-oe781o4yc1] { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 12px; margin: 0 0 20px; }
.kennzahlen div[b-oe781o4yc1] { border: 1px solid var(--ui-line); border-radius: 8px; padding: 10px 14px; background: var(--ui-bg); }
.kennzahlen dt[b-oe781o4yc1] { font-size: 13px; color: var(--ui-muted); }
.kennzahlen dd[b-oe781o4yc1] { margin: 0; font-size: 18px; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.kennzahlen .achtung dd[b-oe781o4yc1], .offen[b-oe781o4yc1] { color: var(--ui-warning); font-weight: 600; }
.tabelle[b-oe781o4yc1] { overflow-x: auto; }
.numeric[b-oe781o4yc1] { text-align: right; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.name[b-oe781o4yc1] { font-weight: 600; }
a.name[b-oe781o4yc1] { color: inherit; text-decoration: none; }
a.name:hover[b-oe781o4yc1], a.name:focus-visible[b-oe781o4yc1] { color: var(--ui-action); text-decoration: underline; }
tr.klickbar[b-oe781o4yc1] { cursor: pointer; }
tr.klickbar:hover td[b-oe781o4yc1] { background: var(--ui-bg); }
tr.klickbar.geoeffnet:hover td[b-oe781o4yc1] { background: var(--ui-selected); }
.klein[b-oe781o4yc1], .hinweis[b-oe781o4yc1] { font-size: 13px; color: var(--ui-muted); }
.kennzahlen .klein[b-oe781o4yc1] { font-weight: 400; }
.chip[b-oe781o4yc1] { display: inline-block; padding: 2px 10px; margin: 2px 6px 2px 0; border: 1px solid var(--ui-tint-strong); border-radius: 999px;
    background: var(--ui-selected); font-size: 13px; white-space: nowrap; max-width: 24rem; overflow: hidden;
    text-overflow: ellipsis; vertical-align: middle; max-width: min(24rem, 100%); }
tr.geoeffnet td[b-oe781o4yc1] { background: var(--ui-selected); }
tr.detailzeile > td[b-oe781o4yc1] { background: var(--ui-bg); padding: 8px 24px 20px; }
.zuordnungen[b-oe781o4yc1] { background: var(--ui-surface); }
.zuordnen[b-oe781o4yc1] { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; margin-bottom: 8px; }
.zuordnen[b-oe781o4yc1]  .vc-form-group { margin-bottom: 0; }
.zuordnen[b-oe781o4yc1]  select { min-width: 14rem; }
.zuordnen[b-oe781o4yc1]  input[type=number] { width: 8rem; }
@media (max-width: 600px) { .filterchips[b-oe781o4yc1] { margin-left: 0; } tr.detailzeile > td[b-oe781o4yc1] { padding: 8px 12px 16px; } }

@media (max-width: 1150px) {
    .mitarbeiter-kopf[b-oe781o4yc1] { grid-template-columns: minmax(12rem, 2fr) 1fr 1fr; gap: 12px 20px; }
    .stundenstatus[b-oe781o4yc1] { justify-self: start; }
}
@media (max-width: 600px) {
    .mitarbeiter-kopf[b-oe781o4yc1] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 14px; }
    .mitarbeiter-name[b-oe781o4yc1] { grid-column: 1 / -1; }
    .mitarbeiter-inhalt[b-oe781o4yc1] { padding: 12px; }
    .mitarbeiter-kopf > a[b-oe781o4yc1] { justify-self: start; }
}
.mitarbeiter-direktaktionen[b-oe781o4yc1] { display: flex; gap: 8px; flex-wrap: wrap; justify-content: end; justify-self: end; }
.mitarbeiter-kopf .stundenstatus[b-oe781o4yc1] { justify-self: start; }
/* /Components/Pages/PersonalMandant/StelleBesetzenSeite.razor.rz.scp.css */
/* T-060 (Rudi, 24.10.2026): Stelle besetzen nach dem bestätigten Muster
   Docs/Entwuerfe/LAYOUTMUSTER_STELLE_BESETZEN_20261024.html. Farben aus den App-Tokens; die Farbe der
   Abweichung steht nie allein (Vorzeichen und Legende). */
.besetzung-seite[b-131g7qhp7c] { max-width: 1240px; margin: 0 auto; }
.besetzung-ablauf[b-131g7qhp7c] { display: grid; gap: 20px; }
.besetzung-seite h2[b-131g7qhp7c] { font-size: 18px; margin: 0 0 4px; font-weight: 600; }
.besetzung-seite h3[b-131g7qhp7c] { font-size: 16px; margin-top: 24px; }
.besetzung-kopf[b-131g7qhp7c] { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.besetzung-kontext[b-131g7qhp7c] { color: var(--ui-muted); font-size: 14px; margin: 4px 0 0; }
.besetzung-planstelle[b-131g7qhp7c] { display: inline-flex; gap: 6px; align-items: center; margin: 0; padding: 4px 12px; border: 1px solid var(--ui-line); border-radius: 999px; background: var(--hover-bg); font-size: 13px; }
.besetzung-intro[b-131g7qhp7c] { color: var(--ui-muted); font-size: 14px; margin: 0 0 14px; }
.besetzung-seite[b-131g7qhp7c]  .vc-input { border-color: var(--ui-subtle); }

/* Schritt 1: Auswahlkarten */
.besetzung-wahl[b-131g7qhp7c] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.besetzung-wahl label[b-131g7qhp7c] { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--ui-line); border-radius: 8px; cursor: pointer; }
.besetzung-wahl label.is-gewaehlt[b-131g7qhp7c] { border-color: var(--ui-action); background: var(--ui-selected); }
.besetzung-wahl[b-131g7qhp7c]  input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; }
.besetzung-wahl strong[b-131g7qhp7c], .besetzung-frage strong[b-131g7qhp7c] { display: block; font-weight: 600; }
.besetzung-wahl strong + span[b-131g7qhp7c], .besetzung-frage strong + span[b-131g7qhp7c] { display: block; color: var(--ui-muted); font-size: 13px; }
.besetzung-person[b-131g7qhp7c] { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 12px; padding: 12px 14px; border: 1px solid var(--ui-line); border-radius: 8px; background: var(--surface-alt); font-size: 14px; }

/* Schritt 2: schmale Felder in einer Reihe */
.besetzung-felder[b-131g7qhp7c] { display: flex; gap: 16px; flex-wrap: wrap; align-items: end; margin: 8px 0 4px; }
.besetzung-felder--schmal[b-131g7qhp7c]  input[type="number"] { width: 7.5rem; text-align: right; }
.besetzung-felder--schmal[b-131g7qhp7c]  .vc-input:not([type="number"]) { width: 11rem; }
.besetzung-felder--person[b-131g7qhp7c]  select { min-width: 18rem; }
.besetzung-frage[b-131g7qhp7c] { display: grid; gap: 8px; margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--ui-warn-line); border-radius: 8px; background: var(--ui-warn-bg); }
.besetzung-frage legend[b-131g7qhp7c] { padding: 0 6px; font-size: 14px; font-weight: 600; color: var(--ui-warning); }
.besetzung-frage p[b-131g7qhp7c] { margin: 0; font-size: 14px; color: var(--ui-ink); }
.besetzung-frage label[b-131g7qhp7c] { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; cursor: pointer; }
.besetzung-frage[b-131g7qhp7c]  input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; }
.besetzung-deckt[b-131g7qhp7c] { margin: 12px 0 0; font-size: 14px; color: var(--ui-success); }
.besetzung-hinweis[b-131g7qhp7c] { margin-top: 12px; }

/* Schritt 3: Monatsverlauf */
.besetzung-summen[b-131g7qhp7c] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.besetzung-summen div[b-131g7qhp7c] { padding: 10px 14px; border: 1px solid var(--ui-line); border-radius: 8px; }
.besetzung-summen span[b-131g7qhp7c] { display: block; font-size: 12px; color: var(--ui-muted); }
.besetzung-summen strong[b-131g7qhp7c] { font-size: 18px; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.besetzung-monate th small[b-131g7qhp7c], .besetzung-monate td small[b-131g7qhp7c] { display: block; font-size: 11px; font-weight: 400; color: var(--ui-muted); }
.besetzung-monate tr.is-besetzt td:first-child[b-131g7qhp7c] { border-left: 3px solid var(--ui-action); }
.besetzung-verlauf .is-mehr[b-131g7qhp7c] { color: var(--ui-danger); font-weight: 600; }
.besetzung-verlauf .is-weniger[b-131g7qhp7c] { color: var(--ui-success); font-weight: 600; }
.besetzung-legende[b-131g7qhp7c] { display: flex; gap: 18px; flex-wrap: wrap; margin: 10px 0 0; font-size: 12px; color: var(--ui-muted); }
.besetzung-legende span[b-131g7qhp7c]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 0; vertical-align: middle; }
.besetzung-legende .legende-plus[b-131g7qhp7c]::before { background: var(--ui-danger); }
.besetzung-legende .legende-minus[b-131g7qhp7c]::before { background: var(--ui-success); }
.besetzung-legende .legende-besetzt[b-131g7qhp7c]::before { background: var(--ui-action); }
.besetzung-fuss[b-131g7qhp7c] { display: flex; justify-content: flex-end; align-items: center; gap: 12px; flex-wrap: wrap; }
.besetzung-fuss .vc-form-help[b-131g7qhp7c] { margin: 0 auto 0 0; }

/* Bisherige Besetzungen */
.besetzung-abschluss[b-131g7qhp7c] { display: flex; justify-content: end; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.besetzung-aktionen[b-131g7qhp7c] { display: flex; gap: 8px; flex-wrap: wrap; }
.besetzung-aktionen button[b-131g7qhp7c] { padding: 6px 12px; }
.besetzung-bearbeiten[b-131g7qhp7c] { margin-top: 20px; padding: 16px; border: 1px solid var(--ui-subtle); border-radius: 8px; }
.besetzung-bearbeiten h3[b-131g7qhp7c] { margin-top: 0; }
[hidden][b-131g7qhp7c] { display: none !important; }
@media (max-width: 600px) {
    .besetzung-wahl[b-131g7qhp7c], .besetzung-summen[b-131g7qhp7c] { grid-template-columns: 1fr; }
    .besetzung-felder--person[b-131g7qhp7c]  select { min-width: 100%; }
    .besetzung-fuss[b-131g7qhp7c] { justify-content: stretch; }
    .besetzung-fuss button[b-131g7qhp7c], .besetzung-fuss a[b-131g7qhp7c] { width: 100%; }
}
/* /Components/Pages/PersonalMandant/StundenverteilungEditor.razor.rz.scp.css */
.verteilung-editor[b-rwd4tu85vk] { display: grid; gap: 16px; }
.verteilung-editor p[b-rwd4tu85vk] { margin: 0; }
.verteilung-zahlen[b-rwd4tu85vk] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.verteilung-zahlen > div[b-rwd4tu85vk] { padding: 16px; background: var(--ui-tint-blue); border-radius: 8px; }
.verteilung-zahlen dt[b-rwd4tu85vk] { font-size: 12px; color: var(--text-secondary); }
.verteilung-zahlen dd[b-rwd4tu85vk] { margin: 8px 0 0; font-size: 18px; font-weight: 600; }
.verteilung-werkzeuge[b-rwd4tu85vk], .verteilung-eingabe[b-rwd4tu85vk] { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
.verteilung-zeile[b-rwd4tu85vk] { border: 1px solid var(--ui-subtle); border-radius: 8px; overflow: hidden; background: white; }
.verteilung-zeilenkopf[b-rwd4tu85vk] { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(300px, 1fr); gap: 24px; padding: 20px; }
.verteilung-ziel h3[b-rwd4tu85vk] { font-size: 16px; margin: 0 0 8px; }
.verteilung-ziel p[b-rwd4tu85vk] { font-size: 12px; line-height: 1.6; }
.verteilung-eingabe[b-rwd4tu85vk] { justify-content: end; }
.verteilung-eingabe > span[b-rwd4tu85vk] { width: 100%; text-align: right; }
.verteilung-eingabe[b-rwd4tu85vk]  input { max-width: 120px; }
.verteilung-editor[b-rwd4tu85vk]  .vc-form-group { margin-bottom: 0; }
.verteilung-editor[b-rwd4tu85vk]  .vc-input { border-color: var(--ui-subtle); }
.verteilung-vertrag[b-rwd4tu85vk] { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--border-color); border-radius: 8px; }
.verteilung-vertrag h3[b-rwd4tu85vk] { margin: 0; font-size: 16px; }
.verteilung-vertrag[b-rwd4tu85vk]  input { max-width: 160px; }
.verteilung-editor .vc-table-wrapper[b-rwd4tu85vk] { margin: 0; padding: 0 16px 16px; }
.verteilung-editor .vc-table[b-rwd4tu85vk] { table-layout: fixed; min-width: 960px; }
.verteilung-editor .vc-table thead th[b-rwd4tu85vk], .verteilung-editor .vc-table tbody td[b-rwd4tu85vk] { padding-left: 4px; padding-right: 4px; }
.verteilung-editor table input[b-rwd4tu85vk] { width: 100%; min-width: 0; padding-left: 6px; padding-right: 6px; }
.verteilung-verlauf[b-rwd4tu85vk] { border-top: 1px solid var(--border-strong); padding-top: 16px; }
.verteilung-verlauf summary[b-rwd4tu85vk] { cursor: pointer; min-height: 32px; font-weight: 600; }
.verteilung-verlauf p[b-rwd4tu85vk] { margin-top: 12px; }
@media (max-width: 600px) { .verteilung-zahlen[b-rwd4tu85vk] { grid-template-columns: 1fr; } .verteilung-zeilenkopf[b-rwd4tu85vk] { grid-template-columns: 1fr; padding: 16px; } .verteilung-eingabe[b-rwd4tu85vk] { justify-content: start; } .verteilung-eingabe > span[b-rwd4tu85vk] { text-align: left; } }
/* /Components/Pages/PersonalMandant/StundenverteilungSeite.razor.rz.scp.css */
.stundenverteilung-seite[b-obknqotx60] { max-width: 1320px; margin: 0 auto; }
.jahr[b-obknqotx60] { max-width: 180px; }
.verteilung-abschluss[b-obknqotx60] { display: flex; gap: 16px; align-items: center; justify-content: end; border-top: 1px solid var(--border-strong); margin-top: 24px; padding-top: 20px; flex-wrap: wrap; }
.verteilung-abschluss p[b-obknqotx60] { margin-right: auto; }
/* /Components/Pages/Personalzahlungen/MonatsdetailAnsicht.razor.rz.scp.css */
.monatsdetail-inhalt h3[b-fu2c8h0zox] { margin: 16px 0 8px; font-size: 14px; font-weight: 600; color: var(--text-dark); }
.monatsdetail-inhalt h3:first-child[b-fu2c8h0zox] { margin-top: 0; }
.monatsdetail-inhalt table[b-fu2c8h0zox] { margin-bottom: 8px; background: var(--card-bg); }
.monatsdetail-inhalt tfoot th[b-fu2c8h0zox], .monatsdetail-inhalt tfoot td[b-fu2c8h0zox] { font-weight: 600; border-top: 1px solid var(--border-color); padding: 8px 12px; }
.monatsdetail-inhalt tfoot th[b-fu2c8h0zox] { text-align: left; }
.monatsdetail-hinweis[b-fu2c8h0zox] { color: var(--text-secondary); font-size: 13px; }
.badge[b-fu2c8h0zox] { margin-left: 8px; }
/* /Components/Pages/Personalzahlungen/PersonalkostenVerteilungFormular.razor.rz.scp.css */
.personalkosten-verteilung[b-7lnjaq2dql] { margin-bottom: 24px; }
.personalkosten-verteilung h3[b-7lnjaq2dql] { margin: 24px 0 8px; }
.eingaben[b-7lnjaq2dql] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; margin: 16px 0; }
.eingaben[b-7lnjaq2dql]  .vc-input { min-width: 0; width: 100%; }
/* Gesamtkosten: drei kompakte Beträge, Belegreferenz und rechts die Gesamtsumme in einer Zeile. */
/* 14.5rem: Die Beschriftung „Sozialversicherung AG (optional)“ bleibt einzeilig. */
.betraege[b-7lnjaq2dql] { display: grid; grid-template-columns: repeat(3, minmax(8.5rem, 14.5rem)) minmax(11rem, 16rem) minmax(11rem, 1fr);
    gap: 16px; align-items: end; margin: 16px 0 8px; }
.betraege[b-7lnjaq2dql]  .vc-input { min-width: 0; width: 100%; }
.betraege[b-7lnjaq2dql]  .vc-form-group { margin-bottom: 0; }
.gesamtsumme[b-7lnjaq2dql] { justify-self: end; min-width: 11rem; display: flex; flex-direction: column; align-items: flex-end;
    padding: 6px 14px; border: 1px solid var(--ui-tint-strong); border-radius: 8px; background: var(--ui-selected);
    font-variant-numeric: lining-nums tabular-nums; }
.gesamtsumme span[b-7lnjaq2dql] { font-size: 13px; }
.gesamtsumme strong[b-7lnjaq2dql] { font-size: 18px; font-weight: 600; }
.tabelle[b-7lnjaq2dql] { overflow-x: auto; }
.numeric[b-7lnjaq2dql] { text-align: right; font-variant-numeric: lining-nums tabular-nums; }
.anteil[b-7lnjaq2dql] { max-width: 7rem; }
/* DESIGN_SYSTEM §5.2: berechnete Zellen leicht blau, editierbare weiß. */
.berechnet[b-7lnjaq2dql] { background: var(--ui-tint-blue); }
.hinweis[b-7lnjaq2dql] { font-size: 13px; color: var(--ui-muted); }
.aktionen[b-7lnjaq2dql] { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
@media (max-width: 900px) {
    .eingaben[b-7lnjaq2dql], .betraege[b-7lnjaq2dql] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gesamtsumme[b-7lnjaq2dql] { grid-column: 1 / -1; justify-self: stretch; }
}
@media (max-width: 600px) { .eingaben[b-7lnjaq2dql], .betraege[b-7lnjaq2dql] { grid-template-columns: minmax(0, 1fr); } }
/* /Components/Pages/Personalzahlungen/Personalzahlungen.razor.rz.scp.css */
.personalzahlungen[b-hwebsh0p5e] { margin: 0 auto; }
.personalzahlungen > section[b-hwebsh0p5e] { margin-bottom: 24px; }
.filter[b-hwebsh0p5e], .aktionen[b-hwebsh0p5e] { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 16px 0; }
.filter[b-hwebsh0p5e]  .vc-input { max-width: 20rem; }
/* Auswahl und Knöpfe auf einer Unterkante (Rudi, 11.10.2026): Der Feldrahmen trägt sonst seinen
   globalen Abstand nach unten (vc-form-group: 16px) und hebt die Auswahl über die Knöpfe; Knopfhöhe
   = Feldhöhe 40px wie .vc-filter-actions .btn-neutral. */
/* Block E (01.11.2026): Als Flex-Kind darf das Feld nicht unter seine Inhaltsbreite schrumpfen (min-width: auto) —
   bei 320 px blieb die Monatsauswahl 280 px breit, obwohl die Karte innen 238 px hat, und lief 1 px über den
   Sichtbereich hinaus (vorher nur zufällig bündig, der Kartenrahmen machte es sichtbar). min-width: 0 lässt
   max-width: 100 % der Monatsauswahl greifen. */
.aktionen[b-hwebsh0p5e]  .vc-form-group { margin-bottom: 0; min-width: 0; max-width: 100%; }
.aktionen > .btn-primary[b-hwebsh0p5e], .aktionen > .btn-neutral[b-hwebsh0p5e] { height: 40px; box-sizing: border-box; padding-top: 0; padding-bottom: 0; }
.erklaerung[b-hwebsh0p5e] { margin: 0 0 24px; padding: 12px 16px; border: 1px solid var(--border-color); border-radius: 8px; background: var(--calc-area-bg); color: var(--text-secondary); }
.erklaerung > summary[b-hwebsh0p5e] { cursor: pointer; font-weight: 600; color: var(--text-dark); }
.erklaerung ul[b-hwebsh0p5e] { margin: 12px 0 0; padding-left: 20px; }
.erklaerung li + li[b-hwebsh0p5e] { margin-top: 8px; }
.erklaerung strong[b-hwebsh0p5e] { font-weight: 600; }
.tabelle[b-hwebsh0p5e] { overflow-x: auto; }
.numeric[b-hwebsh0p5e] { text-align: right; font-variant-numeric: tabular-nums; }
.zahlung[b-hwebsh0p5e] { padding: 16px 0; border-top: 1px solid var(--ui-line); overflow-wrap: anywhere; }
.zahlung header[b-hwebsh0p5e] { display: flex; justify-content: space-between; gap: 16px; }
.zahlung p[b-hwebsh0p5e] { margin: 8px 0; }
.monatspruefung[b-hwebsh0p5e] { color: var(--ui-warning); }
/* W7: die zwei Wege als Knöpfe statt einer Erklärkarte. */
.kopf-aktionen[b-hwebsh0p5e] { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.vergleich-hinweis[b-hwebsh0p5e] { color: var(--text-secondary); }
/* W6: Monat als Aufklapp-Knopf — sieht aus wie Text, bleibt per Tastatur bedienbar. */
.monat-umschalter[b-hwebsh0p5e] { border: 0; background: none; padding: 0; font: inherit; color: var(--ui-action); cursor: pointer; white-space: nowrap; }
.monat-umschalter:hover[b-hwebsh0p5e] { text-decoration: underline; }
.monat-umschalter:focus-visible[b-hwebsh0p5e] { outline: 2px solid var(--ui-action); outline-offset: 2px; }
.personalzahlungen[b-hwebsh0p5e]  tr.monat-offen td { background: var(--calc-area-bg); }
.personalzahlungen[b-hwebsh0p5e]  tr.monatsdetail > td { background: var(--surface-alt); padding: 16px; }
@media (max-width: 600px) { .filter[b-hwebsh0p5e] { align-items: stretch; flex-direction: column; } }
/* /Components/Pages/Planung/AntragPersonalDetails.razor.rz.scp.css */
.antrag-personal-details[b-ejz7gwtwv1] { min-width: 0; margin-top: 24px; }
.antrag-personal-details details[b-ejz7gwtwv1] { margin: 8px 0; }
.antrag-personal-details summary[b-ejz7gwtwv1] { min-height: 32px; padding: 8px; cursor: pointer; color: var(--text-dark); border-radius: 4px; }
.antrag-personal-details summary:hover[b-ejz7gwtwv1] { background: var(--hover-bg); }
.antrag-personal-details summary:focus-visible[b-ejz7gwtwv1] { outline: 2px solid var(--accent-blue); outline-offset: 2px; }
.antrag-personal-details .vc-table-wrapper[b-ejz7gwtwv1] { max-width: 100%; overflow-x: auto; }
.antrag-personal-details p[b-ejz7gwtwv1] { overflow-wrap: anywhere; }
/* /Components/Pages/Planung/FoerderzeitraeumeUebersicht.razor.rz.scp.css */
/* Übersicht der Förderzeiträume (AP-6, Muster Zustände A und B). */

.fz-uebersicht[b-ryx7jafzhs] { display: block; }

/* Zustand A: noch kein Zeitraum */
.leer-karte[b-ryx7jafzhs] { text-align: center; padding: 40px 24px; }
.leer-titel[b-ryx7jafzhs] { font-size: 18px; font-weight: 600; margin: 0; color: var(--text-dark); }
.leer-text[b-ryx7jafzhs] { color: var(--text-secondary); max-width: 560px; margin: 8px auto 0; font-size: 14px; }
.drei-phasen[b-ryx7jafzhs] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 24px auto; max-width: 760px; padding: 0; list-style: none; text-align: left; }
.drei-phasen li[b-ryx7jafzhs] { background: var(--surface-alt); border-radius: 8px; padding: 14px; font-size: 13px; color: var(--text-secondary); }
.phase-name[b-ryx7jafzhs] { display: block; color: var(--text-dark); font-weight: 600; margin-bottom: 4px; }
.fz-knopf-link[b-ryx7jafzhs] { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }

/* Zustand B: Karten je Zeitraum */
.uebersicht-kopf[b-ryx7jafzhs] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.uebersicht-titel[b-ryx7jafzhs] { font-size: 18px; font-weight: 600; margin: 0; color: var(--text-dark); }
.uebersicht-aktionen[b-ryx7jafzhs] { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.uebersicht-aktionen .btn-secondary[b-ryx7jafzhs] { text-decoration: none; }
.umschalt[b-ryx7jafzhs] { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-secondary); cursor: pointer; }
.umschalt input[b-ryx7jafzhs] { width: 16px; height: 16px; accent-color: var(--accent-blue); }

.zeitraum-liste[b-ryx7jafzhs] { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.zeitraum-zeile[b-ryx7jafzhs] { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr) auto; gap: 12px 24px; align-items: center; margin: 0; padding: 20px 24px; }
.zeitraum-zeile:has(.zeitraum-hauptaktion:hover)[b-ryx7jafzhs] { background: var(--hover-bg); }
.zeitraum-hauptaktion[b-ryx7jafzhs] { position: static; display: inline-flex; align-items: center; min-height: 24px; color: inherit; text-decoration: none; }
.zeitraum-hauptaktion:hover[b-ryx7jafzhs] { text-decoration: underline; }
.zeitraum-hauptaktion[b-ryx7jafzhs]::after { content: ""; position: absolute; inset: 0; border-radius: 8px; }
.zeitraum-hauptaktion:focus-visible[b-ryx7jafzhs] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 4px; }
.zeitraum-zeile .fz-link[b-ryx7jafzhs] { position: relative; z-index: 1; display: inline-flex; align-items: center; min-height: 24px; }
.zeitraum-zeile .fz-link:focus-visible[b-ryx7jafzhs] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 2px; }
.zeitraum-zeile.inaktiv[b-ryx7jafzhs] { background: var(--surface-alt); }
.zeitraum-status[b-ryx7jafzhs] { margin: 8px 0; display: flex; gap: 8px; flex-wrap: wrap; }
.fz-aktivaktion[b-ryx7jafzhs] { border: 0; background: transparent; padding: 4px 8px; min-height: 32px; cursor: pointer; font: inherit; }
.fz-aktivaktion:disabled[b-ryx7jafzhs] { cursor: default; }
.titel[b-ryx7jafzhs] { font-size: 16px; font-weight: 600; margin: 0; color: var(--text-dark); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.unterzeile[b-ryx7jafzhs] { font-size: 13px; color: var(--text-secondary); margin: 2px 0 0; }
.status-raster[b-ryx7jafzhs] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0; }
.status-raster .label[b-ryx7jafzhs] { font-size: 11px; color: var(--text-muted); display: block; margin-bottom: 3px; }
.status-raster .wert[b-ryx7jafzhs] { font-size: 13px; margin: 0; color: var(--text-dark); }
.status-raster .gedaempft[b-ryx7jafzhs] { color: var(--text-muted); }
.unter[b-ryx7jafzhs] { display: block; font-size: 11px; color: var(--text-muted); }
.knoepfe[b-ryx7jafzhs] { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.knoepfe .fz-knopf-link[b-ryx7jafzhs] { padding: 6px 14px; font-size: 13px; }
.ampel-punkt[b-ryx7jafzhs] { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.ampel-gruen[b-ryx7jafzhs] { background: var(--success-color); }
.ampel-gelb[b-ryx7jafzhs] { background: var(--warning-color); }
.ampel-rot[b-ryx7jafzhs] { background: var(--danger-color); }
.fz-link[b-ryx7jafzhs] { color: var(--accent-blue-pressed); font-size: 13px; font-weight: 500; text-decoration: none; }
.fz-link:hover[b-ryx7jafzhs] { text-decoration: underline; }
.fz-hinweis[b-ryx7jafzhs] { margin: 14px 0 0; padding: 10px 14px; border-radius: 8px; background: var(--calc-area-bg); color: var(--calc-area-text); font-size: 13px; }

@media (max-width: 900px) {
    .zeitraum-zeile[b-ryx7jafzhs] { grid-template-columns: minmax(0, 1fr); }
    .knoepfe[b-ryx7jafzhs] { align-items: flex-start; }
}

@media (max-width: 600px) {
    .drei-phasen[b-ryx7jafzhs] { grid-template-columns: minmax(0, 1fr); }
    .status-raster[b-ryx7jafzhs] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zeitraum-zeile[b-ryx7jafzhs] { padding: 16px; }
    .leer-karte[b-ryx7jafzhs] { padding: 28px 16px; }
}

/* Jeder Zeitraum bildet eine eigene, auch bei langen Titeln erkennbare Karte. */
.fz-uebersicht .zeitraum-liste[b-ryx7jafzhs] { gap: 16px; }
.fz-uebersicht .zeitraum-zeile[b-ryx7jafzhs] { border: 1px solid var(--border-strong); border-radius: 8px; background: var(--card-bg); }
.fz-uebersicht .zeitraum-zeile.inaktiv[b-ryx7jafzhs] { background: var(--surface-alt); }
.fz-uebersicht .zeitraum-zeile:has(.zeitraum-hauptaktion:hover)[b-ryx7jafzhs] { border-color: var(--accent-blue-pressed); background: var(--hover-bg); }
.fz-uebersicht .leer-karte[b-ryx7jafzhs] { background: transparent; border: 0; border-radius: 0; padding: 24px 0; }
.fz-uebersicht .zeitraum-zeile:has(> .zeitraum-name + .knoepfe)[b-ryx7jafzhs] { grid-template-columns: minmax(0,1fr) auto; }
@media (max-width: 600px) { .fz-uebersicht .zeitraum-zeile:has(> .zeitraum-name + .knoepfe)[b-ryx7jafzhs] { grid-template-columns: minmax(0,1fr); } }
/* /Components/Pages/Planung/KostenpositionenAbschnitt.razor.rz.scp.css */
.kostenpositionen-werkzeuge[b-ap0qcsbe0n] { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.kostenpositionen-auswahl[b-ap0qcsbe0n] { flex: 0 1 340px; min-width: 0; }
.kostenpositionen-auswahl label[b-ap0qcsbe0n] { display: block; margin-bottom: 6px; font-weight: 600; }
.kostenpositionen-auswahl[b-ap0qcsbe0n]  .kostenpositionen-hinzufuegen { width: 100%; min-height: 44px; background: var(--ui-action); color: white; border: 1px solid var(--ui-action); border-radius: 8px; padding: 10px 14px; cursor: pointer; }
.kostenpositionen-auswahl[b-ap0qcsbe0n]  .kostenpositionen-hinzufuegen::placeholder { color: white; opacity: 1; }
.kostenpositionen-auswahl[b-ap0qcsbe0n]  .kostenpositionen-hinzufuegen:hover:not(:disabled) { background: var(--ui-action); }
.kostenpositionen-auswahl[b-ap0qcsbe0n]  .kostenpositionen-hinzufuegen:focus-visible { outline: 3px solid var(--accent-blue-pressed); outline-offset: 3px; }
.kostenpositionen-werkzeuge button[b-ap0qcsbe0n] { min-height: 44px; padding: 10px 16px; background: white; border: 1px solid var(--ui-subtle); color: var(--accent-blue-pressed); }
.kostenpositionen-werkzeuge button:hover:not(:disabled)[b-ap0qcsbe0n] { background: var(--ui-tint-blue); border-color: var(--ui-action); }
.za-tabelle[b-ap0qcsbe0n] { min-width: 720px; border: 1px solid var(--ui-line-strong); border-radius: 8px; overflow: hidden; }
.za-tabelle th[b-ap0qcsbe0n] { padding: 14px 16px; background: var(--ui-tint); color: var(--ui-ink); border-bottom: 1px solid var(--ui-line-strong); font-weight: 600; }
.za-tabelle td[b-ap0qcsbe0n] { padding: 16px; border-bottom: 1px solid var(--ui-line); background: white; }
.za-tabelle td:first-child[b-ap0qcsbe0n] { font-weight: 500; min-width: 200px; }
.za-tabelle .kostenpositionen-plan[b-ap0qcsbe0n] { background: var(--ui-tint-blue); min-width: 170px; }
.za-tabelle td.gedaempft[b-ap0qcsbe0n] { background: var(--hover-bg); color: var(--ui-muted); }
.za-tabelle td[b-ap0qcsbe0n]  input.vc-input { min-height: 42px; padding: 10px 12px; background: white; border: 1px solid var(--ui-subtle); border-radius: 6px; color: var(--ui-ink); }
.za-tabelle td[b-ap0qcsbe0n]  input:focus-visible { outline: 3px solid var(--ui-action); outline-offset: 2px; }
.za-tabelle td[b-ap0qcsbe0n]  input:disabled { background: var(--hover-bg); color: var(--ui-muted); }
.za-tabelle td[b-ap0qcsbe0n]  input.betrag-feld { width: 160px; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.za-tabelle td input:not(.betrag-feld)[b-ap0qcsbe0n] { min-width: 230px; }
.za-tabelle .sum-row td[b-ap0qcsbe0n] { background: var(--ui-tint); border-top: 2px solid var(--ui-line-strong); border-bottom: 0; font-weight: 600; }
.za-tabelle .unter[b-ap0qcsbe0n] { display: block; font-size: 12px; color: var(--ui-muted); margin-top: 5px; font-weight: 400; }
@media (max-width: 600px) { .kostenpositionen-auswahl[b-ap0qcsbe0n] { flex-basis: 100%; } .kostenpositionen-werkzeuge button[b-ap0qcsbe0n] { flex-grow: 1; } }
/* /Components/Pages/Planung/PersonalAbschnitt.razor.rz.scp.css */
.tabelle-wrap[b-2eqbouhz3y] { border: 0; background: var(--hover-bg); border-radius: 8px; padding: 0 12px 12px; }
.za-tabelle[b-2eqbouhz3y] { min-width: 680px; border-collapse: separate; border-spacing: 0 10px; }
.za-tabelle th[b-2eqbouhz3y] { background: transparent; color: var(--ui-muted); font-size: 13px; padding: 12px 16px 4px; border: 0; }
.za-tabelle tbody td[b-2eqbouhz3y] { background: white; border-top: 1px solid var(--ui-line-strong); border-bottom: 1px solid var(--ui-line-strong); padding: 18px 16px; vertical-align: middle; }
.za-tabelle tbody td:first-child[b-2eqbouhz3y] { border-left: 4px solid var(--ui-action); border-radius: 8px 0 0 8px; font-weight: 600; }
.za-tabelle tbody td:last-child[b-2eqbouhz3y] { border-right: 1px solid var(--ui-line-strong); border-radius: 0 8px 8px 0; }
.za-tabelle .unter[b-2eqbouhz3y] { display: block; margin-top: 5px; color: var(--ui-muted); font-weight: 400; font-size: 12px; }
.za-tabelle .abgeleitet[b-2eqbouhz3y] { background: var(--ui-tint-blue); color: var(--ui-ink); }
.za-tabelle td:nth-child(4)[b-2eqbouhz3y] { font-weight: 600; font-variant-numeric: tabular-nums; }
.za-tabelle .sum-row td[b-2eqbouhz3y] { background: var(--body-bg); border-top: 2px solid var(--ui-tint-strong); border-bottom: 0; font-weight: 600; }
.zeilen-aktionen button[b-2eqbouhz3y] { background: white; border: 1px solid var(--ui-subtle); color: var(--ui-action); border-radius: 6px; padding: 9px 12px; min-height: 40px; white-space: nowrap; }
.zeilen-aktionen button:hover[b-2eqbouhz3y] { border-color: var(--ui-action); background: var(--ui-tint-blue); }
.zeilen-aktionen button:focus-visible[b-2eqbouhz3y] { outline: 3px solid var(--ui-action); outline-offset: 2px; }
/* /Components/Pages/Planung/PersonalberechnungPruefhinweis.razor.rz.scp.css */
a[b-xd4pklw7ep],
a:hover[b-xd4pklw7ep],
a:active[b-xd4pklw7ep] {
    color: inherit;
    text-decoration: underline;
}

a:focus-visible[b-xd4pklw7ep] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
/* /Components/Pages/Planung/ZeitraumAblauf.razor.rz.scp.css */
/* Zeitraum-Seite des geführten Ablaufs (AP-6, Muster 24.09.2026). Alle Abschnitte sind
   Unterkomponenten; ihre Gestaltung steht hier gesammelt unter .za ::deep, damit die Seite
   EIN Erscheinungsbild hat. Farben nur aus den :root-Variablen (DESIGN_SYSTEM.md §2). */

.za[b-h3gsur4i6y] { display: block; }

/* ---------- Kopfkarte ---------- */
.za[b-h3gsur4i6y]  .za-kopf { padding: 20px 24px; margin-bottom: 16px; }
.za[b-h3gsur4i6y]  .zeitraum-kopf { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 20px; align-items: flex-start; }
.za[b-h3gsur4i6y]  .za-titel { font-size: 18px; font-weight: 600; margin: 0; color: var(--text-dark); }
.za[b-h3gsur4i6y]  .za-titelzeile { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.za[b-h3gsur4i6y]  .unterzeile { font-size: 13px; color: var(--text-secondary); margin: 2px 0 0; }
.za[b-h3gsur4i6y]  .za-link { color: var(--accent-blue-pressed); font-size: 13px; font-weight: 500; text-decoration: none; }
.za[b-h3gsur4i6y]  .za-link:hover { text-decoration: underline; }
.za[b-h3gsur4i6y]  .phasen { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.za[b-h3gsur4i6y]  .phase { display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 8px; border-radius: 999px; background: var(--surface-alt); border: 1px solid var(--border-color); font-size: 12px; color: var(--text-muted); }
.za[b-h3gsur4i6y]  .phase .punkt { width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; background: var(--card-bg); border: 2px solid var(--border-strong); flex: none; }
.za[b-h3gsur4i6y]  .phase.erledigt { color: var(--ui-success); background: var(--ui-success-bg); border-color: var(--ui-success-line); }
.za[b-h3gsur4i6y]  .phase.erledigt .punkt { background: var(--success-color); border-color: var(--success-color); color: var(--text-white); }
.za[b-h3gsur4i6y]  .phase.aktiv { color: var(--accent-blue-pressed); background: var(--calc-area-bg); border-color: var(--ui-tint-strong); font-weight: 600; }
.za[b-h3gsur4i6y]  .phase.aktiv .punkt { background: var(--accent-blue); border-color: var(--accent-blue); color: var(--text-white); }

.za[b-h3gsur4i6y]  .naechster-schritt { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 12px 18px; background: var(--calc-area-bg); border: 1px solid var(--ui-tint-strong); border-radius: 8px; margin-bottom: 16px; font-size: 13px; color: var(--text-dark); }
.za[b-h3gsur4i6y]  .ns-label { font-weight: 600; }

/* ---------- Raster: Ablauf links, Summen rechts ---------- */
.za[b-h3gsur4i6y]  .zeitraum-raster { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 20px; align-items: start; }
.za[b-h3gsur4i6y]  .seitenleiste { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 16px; }
.za[b-h3gsur4i6y]  .seitenleiste .vc-card { padding: 16px 18px; margin: 0; }

/* ---------- Zeitleiste ---------- */
.za[b-h3gsur4i6y]  .abschnitt { display: flex; gap: 16px; }
.za[b-h3gsur4i6y]  .spur { display: flex; flex-direction: column; align-items: center; flex: none; width: 36px; }
.za[b-h3gsur4i6y]  .nr { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; background: var(--surface-alt); color: var(--text-muted); border: 2px solid var(--border-strong); flex: none; }
.za[b-h3gsur4i6y]  .nr.erledigt { background: var(--success-color); border-color: var(--success-color); color: var(--text-white); }
.za[b-h3gsur4i6y]  .nr.aktiv { background: var(--accent-blue); border-color: var(--accent-blue); color: var(--text-white); }
.za[b-h3gsur4i6y]  .linie { width: 2px; flex: 1; background: var(--border-strong); margin: 4px 0; min-height: 16px; }
.za[b-h3gsur4i6y]  .abschnitt.letzter .linie { display: none; }
.za[b-h3gsur4i6y]  .abschnitt-inhalt { flex: 1; min-width: 0; padding-bottom: 16px; }
.za[b-h3gsur4i6y]  .karte { background: var(--card-bg); border-radius: 8px; border: 1px solid var(--ui-line); padding: 16px 22px; }
.za[b-h3gsur4i6y]  .karte.offen { background: var(--surface-alt); border: 1px dashed var(--border-strong); padding: 12px 18px; }
.za[b-h3gsur4i6y]  .karte.aktiv { box-shadow: 0 0 0 2px var(--ui-tint-strong); }
.za[b-h3gsur4i6y]  .karte-kopf { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.za[b-h3gsur4i6y]  .karte-titel { font-size: 16px; font-weight: 600; margin: 0; color: var(--text-dark); }
/* Info-Knopf „i“ oben rechts im Kartenkopf (28.09.2026) — Optik wie der Info-Knopf von VcFormField
   (.vc-field-info), der Knopf selbst mit 10px Radius (DESIGN_SYSTEM §5.1), nur das Zeichen ist rund. */
.za[b-h3gsur4i6y]  .karte-info {
    display: inline-flex; align-items: center; justify-content: center; margin-left: auto;
    flex: 0 0 28px; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px;
    background: transparent; color: var(--text-secondary); font: 600 11px/1 Georgia, serif; cursor: pointer;
}
.za[b-h3gsur4i6y]  .karte-info > span { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid var(--border-strong); border-radius: 50%; }
.za[b-h3gsur4i6y]  .karte-info:hover { background: var(--hover-bg); color: var(--accent-blue-pressed); }
.za[b-h3gsur4i6y]  .karte-info[aria-expanded="true"] { background: var(--pressed-bg); color: var(--accent-blue-pressed); }
.za[b-h3gsur4i6y]  .karte-info:focus-visible { outline: 2px solid var(--accent-blue-pressed); outline-offset: 2px; }
.za[b-h3gsur4i6y]  .karte-info-inhalt[hidden] { display: none; }
.za[b-h3gsur4i6y]  .karte-info-inhalt p { margin: 0; }
.za[b-h3gsur4i6y]  .karte-info-inhalt p + p { margin-top: 8px; }
.za[b-h3gsur4i6y]  .karte.offen .karte-titel { color: var(--text-muted); font-weight: 500; font-size: 14px; }
.za[b-h3gsur4i6y]  .beschreibung { font-size: 13px; color: var(--text-secondary); margin: 6px 0 0; }
.za[b-h3gsur4i6y]  .kurz { display: flex; flex-wrap: wrap; gap: 4px 20px; font-size: 13px; color: var(--text-secondary); margin-top: 6px; }
.za[b-h3gsur4i6y]  .wert, .za[b-h3gsur4i6y]  .betont { font-weight: 600; color: var(--text-dark); }
.za[b-h3gsur4i6y]  .gedaempft { color: var(--text-muted); }
.za[b-h3gsur4i6y]  .positiv { color: var(--ui-success); }
.za[b-h3gsur4i6y]  .za-dokumente { padding: 16px 22px; margin: 0 0 0 52px; }
.za[b-h3gsur4i6y]  .za-dokumente .karte-titel:focus { outline: none; }
.za[b-h3gsur4i6y]  .za-dokumente .karte-titel:focus-visible { outline: 2px solid var(--accent-blue); outline-offset: 2px; border-radius: 4px; }
.za[b-h3gsur4i6y]  .dokumente-umschalter { margin-left: auto; }
.za[b-h3gsur4i6y]  .dokumente-tabelle { min-width: 620px; }
/* Termine und Fristen der Bewilligung (28.09.2026). */
.za[b-h3gsur4i6y]  .bewilligung-fristen { margin-top: 20px; padding-top: 4px; border-top: 1px solid var(--border-color); }
.za[b-h3gsur4i6y]  .fristen-tabelle { min-width: 620px; }
.za[b-h3gsur4i6y]  .fristen-tabelle td.datum { white-space: nowrap; }
.za[b-h3gsur4i6y]  .fristen-tabelle tr.erledigt td { color: var(--text-muted); }
.za[b-h3gsur4i6y]  .fristen-tabelle .zeilen-aktionen { flex-wrap: wrap; justify-content: flex-start; gap: 2px 12px; white-space: normal; min-width: 100px; }
.za[b-h3gsur4i6y]  .fristen-tabelle .zeilen-aktionen .btn-text { white-space: nowrap; }
.za[b-h3gsur4i6y]  .dokumente-tabelle .datei-name { display: block; overflow-wrap: anywhere; min-width: 120px; }
.za[b-h3gsur4i6y]  .dokumente-tabelle .zeilen-aktionen { flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 2px 12px; white-space: normal; min-width: 170px; }
.za[b-h3gsur4i6y]  .dokumente-tabelle .zeilen-aktionen .za-link { font-size: 13px; line-height: 1.6; }
.za[b-h3gsur4i6y]  .dokumente-tabelle td .badge + .badge { margin-top: 4px; }
.za[b-h3gsur4i6y]  .dokumente-tabelle td.datum { white-space: nowrap; }
.za[b-h3gsur4i6y]  .dokumente-tabelle tr.bearbeiten td { background: var(--surface-alt); }
.za[b-h3gsur4i6y]  .dokumente-tabelle tr.bearbeiten .feldraster { margin-top: 0; }
.za[b-h3gsur4i6y]  .dokument-hochladen { margin-top: 16px; padding: 14px 16px; border: 1px dashed var(--border-strong); border-radius: 8px; background: var(--surface-alt); }
.za[b-h3gsur4i6y]  .dokument-hochladen .tabellen-titel { margin-top: 0; }
.za[b-h3gsur4i6y]  .dokument-hochladen .feldraster { margin-top: 10px; }

/* ---------- Status des Zeitraums (AP-7) ---------- */
.za[b-h3gsur4i6y]  .zeitraum-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border-light); font-size: 13px; color: var(--text-secondary); }
.za[b-h3gsur4i6y]  .zeitraum-status .rechts { margin-left: auto; }
.za[b-h3gsur4i6y]  .zeitraum-status .vc-alert { margin: 0; flex: 1 1 100%; }

/* ---------- Freie Positionen (AP-3) ---------- */
.za[b-h3gsur4i6y]  .badge-frei { background: var(--override-area-bg); color: var(--override-area-text); white-space: nowrap; }
.za[b-h3gsur4i6y]  .za-tabelle tr.freie-position td:first-child { min-width: 160px; }
.za[b-h3gsur4i6y]  .frei-hinweis .btn-text { font-size: 11px; padding: 0; white-space: nowrap; }
.za[b-h3gsur4i6y]  .za-tabelle tr.freie-position td { background: var(--ui-surface); }
.za[b-h3gsur4i6y]  .frei-hinweis { display: block; font-size: 11px; color: var(--text-muted); font-weight: 400; }
.za[b-h3gsur4i6y]  .freie-position-formular { margin-top: 12px; padding: 12px 14px; border: 1px dashed var(--border-strong); border-radius: 8px; background: var(--surface-alt); }
.za[b-h3gsur4i6y]  .freie-position-formular .feldraster { margin-top: 6px; }

/* ---------- Formulare ---------- */
.za[b-h3gsur4i6y]  .feldraster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin-top: 16px; }
.za[b-h3gsur4i6y]  .feldraster .breit { grid-column: 1 / -1; }
.za[b-h3gsur4i6y]  .feldraster .vc-input { width: 100%; min-width: 0; }
.za[b-h3gsur4i6y]  .vc-input.ungueltig { border-color: var(--error-area-text); background: var(--error-area-bg); }
.za[b-h3gsur4i6y]  .feld-fehler { font-size: 12px; color: var(--error-area-text); }
.za[b-h3gsur4i6y]  .feld-hinweis { font-size: 12px; color: var(--override-area-text); }
.za[b-h3gsur4i6y]  .vc-input.numeric { text-align: right; }

.za[b-h3gsur4i6y]  .frage { border: 0; padding: 0; margin: 14px 0 0; min-width: 0; }
.za[b-h3gsur4i6y]  .frage-text { font-weight: 600; font-size: 14px; margin-bottom: 8px; padding: 0; color: var(--text-dark); }
.za[b-h3gsur4i6y]  .optionen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.za[b-h3gsur4i6y]  .option { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--card-bg); cursor: pointer; color: var(--text-dark); }
.za[b-h3gsur4i6y]  .option.gewaehlt { border-color: var(--accent-blue); background: var(--selected-bg); }
.za[b-h3gsur4i6y]  .option-radio { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--accent-blue); flex: none; }
.za[b-h3gsur4i6y]  .option-text { display: flex; flex-direction: column; gap: 2px; }
.za[b-h3gsur4i6y]  .option-titel { font-weight: 600; }
.za[b-h3gsur4i6y]  .option-klein { font-size: 12px; color: var(--text-secondary); }
.za[b-h3gsur4i6y]  .frage[disabled] .option { cursor: not-allowed; opacity: 0.7; }

/* ---------- Hinweise ---------- */
.za[b-h3gsur4i6y]  .hinweis { padding: 10px 14px; border-radius: 8px; font-size: 13px; margin-top: 12px; }
.za[b-h3gsur4i6y]  .hinweis.info { background: var(--calc-area-bg); color: var(--calc-area-text); }
.za[b-h3gsur4i6y]  .hinweis.warn { background: var(--override-area-bg); color: var(--override-area-text); }
.za[b-h3gsur4i6y]  .hinweis.ok { background: var(--ui-success-bg); color: var(--ui-success); }
.za[b-h3gsur4i6y]  .vc-alert { margin: 12px 0 0; }

/* ---------- Tabellen ---------- */
/* position: relative — sonst entkommen absolut positionierte Screenreader-Texte (.za-sr) dem Scroller und
   ziehen die Seite auf dem Handy in die Breite (Browser-Bahn 375 px, 28.09.2026: Fristen-Tabelle). */
.za[b-h3gsur4i6y]  .tabelle-wrap { position: relative; margin-top: 14px; border: 1px solid var(--border-color); border-radius: 8px; overflow-x: auto; }
.za[b-h3gsur4i6y]  .za-tabelle { min-width: 520px; }
.za[b-h3gsur4i6y]  .za-tabelle thead th { position: static; white-space: nowrap; padding: 8px 10px; }
.za[b-h3gsur4i6y]  .za-tabelle tbody td { font-size: 13px; padding: 7px 10px; }
.za[b-h3gsur4i6y]  .za-tabelle td.numeric { white-space: nowrap; }
.za[b-h3gsur4i6y]  .za-tabelle td.abgeleitet { background: var(--calc-area-bg); color: var(--calc-area-text); }
.za[b-h3gsur4i6y]  .za-tabelle tr.gruppe td { background: var(--surface-alt); font-weight: 600; font-size: 12px; color: var(--text-secondary); }
.za[b-h3gsur4i6y]  .za-tabelle tr.nur-bewilligung td { background: var(--ui-surface); }
.za[b-h3gsur4i6y]  .unter { display: block; font-size: 11px; color: var(--text-muted); font-weight: 400; }
.za[b-h3gsur4i6y]  .betrag-feld { width: 130px; padding: 5px 8px; font-size: 13px; }
.za[b-h3gsur4i6y]  .vc-input--cell { padding: 5px 8px; font-size: 13px; min-width: 120px; }
.za[b-h3gsur4i6y]  .zeilen-aktionen { display: flex; gap: 10px; justify-content: flex-end; white-space: nowrap; }
.za[b-h3gsur4i6y]  .tabelle-fuss { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px; }
.za[b-h3gsur4i6y]  .tabelle-fuss .vc-kostenart-auswahl { width: min(100%, 22rem); }
.za[b-h3gsur4i6y]  .tabelle-fuss .beschreibung { margin: 0; }
.za[b-h3gsur4i6y]  .tabellen-titel { font-size: 14px; font-weight: 600; margin: 20px 0 0; color: var(--text-dark); }
.za[b-h3gsur4i6y]  .btn-klein { padding: 6px 14px; font-size: 13px; border-radius: 8px; }
.za[b-h3gsur4i6y]  .btn-secondary[disabled] { opacity: 0.5; cursor: not-allowed; }

/* ---------- Aktionen ---------- */
.za[b-h3gsur4i6y]  .aktionen { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 16px; }
.za[b-h3gsur4i6y]  .aktionen .rechts { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.za[b-h3gsur4i6y]  .gespeichert { font-size: 12px; color: var(--ui-success); }
.za[b-h3gsur4i6y]  .za-knopf-link { text-decoration: none; display: inline-flex; align-items: center; }

/* ---------- Prüfliste ---------- */
.za[b-h3gsur4i6y]  .unterlagen { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.za[b-h3gsur4i6y]  .unterlage { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--border-color); background: var(--surface-alt); color: var(--text-secondary); }
.za[b-h3gsur4i6y]  .unterlage.da { background: var(--ui-success-bg); border-color: var(--ui-success-line); color: var(--ui-success); }

/* ---------- Summenleiste ---------- */
.za[b-h3gsur4i6y]  .summen-titel { font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.za[b-h3gsur4i6y]  .summen-zeile { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; padding: 5px 0; border-bottom: 1px solid var(--border-light); }
.za[b-h3gsur4i6y]  .summen-zeile span:last-child { font-weight: 500; white-space: nowrap; text-align: right; }
.za[b-h3gsur4i6y]  .summen-zeile.gesamt { border-bottom: 0; border-top: 2px solid var(--border-strong); margin-top: 4px; padding-top: 8px; font-weight: 600; font-size: 14px; }
.za[b-h3gsur4i6y]  .summen-zeile.gesamt span:last-child { font-weight: 600; }
.za[b-h3gsur4i6y]  .summen-zeile.leer span:last-child { color: var(--text-muted); font-weight: 400; }
.za[b-h3gsur4i6y]  .summen-abstand { height: 8px; }
.za[b-h3gsur4i6y]  .dokumente-kurz { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }

/* ---------- Ampel und Budget ---------- */
.za[b-h3gsur4i6y]  .ampel-kopf { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.za[b-h3gsur4i6y]  .ampel-kopf.klein { font-size: 13px; margin-top: 10px; }
.za[b-h3gsur4i6y]  .ampel-satz { font-size: 16px; font-weight: 600; }
.za[b-h3gsur4i6y]  .ampel-punkt { display: inline-block; width: 14px; height: 14px; border-radius: 50%; flex: none; }
.za[b-h3gsur4i6y]  .ampel-gruen { background: var(--success-color); }
.za[b-h3gsur4i6y]  .ampel-gelb { background: var(--warning-color); }
.za[b-h3gsur4i6y]  .ampel-rot { background: var(--danger-color); }
.za[b-h3gsur4i6y]  .kennzahlen { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 12px; }
.za[b-h3gsur4i6y]  .kennzahl .label { font-size: 12px; color: var(--text-muted); display: block; }
.za[b-h3gsur4i6y]  .kennzahl .wert { font-size: 18px; font-weight: 600; }
.za[b-h3gsur4i6y]  .ampel-legende { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12px; color: var(--text-muted); margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border-light); }
.za[b-h3gsur4i6y]  .ampel-legende > span { display: inline-flex; align-items: center; gap: 6px; }
.za[b-h3gsur4i6y]  .ampel-legende .ampel-punkt { width: 9px; height: 9px; }
.za[b-h3gsur4i6y]  .verlauf { list-style: none; margin: 12px 0 0; padding: 0; }
.za[b-h3gsur4i6y]  .verlauf li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 14px; padding: 10px 0; border-top: 1px solid var(--border-light); font-size: 13px; }
.za[b-h3gsur4i6y]  .verlauf .datum { color: var(--text-muted); }
.za[b-h3gsur4i6y]  .budget-aendern { margin-top: 16px; padding: 14px; border: 1px dashed var(--border-strong); border-radius: 8px; background: var(--surface-alt); }

/* Nur für Screenreader. */
.za[b-h3gsur4i6y]  .za-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 900px) {
    .za[b-h3gsur4i6y]  .zeitraum-raster { grid-template-columns: minmax(0, 1fr); }
    .za[b-h3gsur4i6y]  .seitenleiste { position: static; order: -1; }
}

@media (max-width: 600px) {
    .za[b-h3gsur4i6y]  .za-kopf { padding: 16px; }
    .za[b-h3gsur4i6y]  .karte { padding: 14px 16px; }
    .za[b-h3gsur4i6y]  .spur { width: 28px; }
    .za[b-h3gsur4i6y]  .nr { width: 26px; height: 26px; font-size: 12px; }
    .za[b-h3gsur4i6y]  .abschnitt { gap: 10px; }
    .za[b-h3gsur4i6y]  .za-dokumente { margin-left: 38px; }
    .za[b-h3gsur4i6y]  .feldraster, .za[b-h3gsur4i6y]  .optionen { grid-template-columns: minmax(0, 1fr); }
    .za[b-h3gsur4i6y]  .aktionen .rechts { margin-left: 0; }
    .za[b-h3gsur4i6y]  .verlauf li { grid-template-columns: minmax(0, 1fr); }
}

/* Gemeinsame Arbeitsfl?che und genau eine horizontale Prozessnavigation. */
.za[b-h3gsur4i6y] { color: var(--ui-ink); }
.za[b-h3gsur4i6y]  .btn-text { color: var(--ui-action); }
.za[b-h3gsur4i6y]  .btn-text:hover:not(:disabled), .za[b-h3gsur4i6y]  .btn-text:active:not(:disabled) { color: var(--ui-action-hover); }
.za[b-h3gsur4i6y]  .btn-text:focus-visible { outline: 3px solid var(--ui-action); outline-offset: 2px; }
.za[b-h3gsur4i6y]  .za-kopf { display: grid; gap: 16px; padding: 0; margin-bottom: 20px; border: 0; }
.za[b-h3gsur4i6y]  .za-titel { font-size: 24px; }
.za[b-h3gsur4i6y]  .abschnitt[hidden] { display: none; }
.za[b-h3gsur4i6y]  .spur { display: none; }
.za[b-h3gsur4i6y]  .karte, .za[b-h3gsur4i6y]  .karte.aktiv, .za[b-h3gsur4i6y]  .karte.offen {border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); padding: 24px; }
.za[b-h3gsur4i6y]  .karte.aktiv { border-color: var(--ui-tint-strong); }
.za[b-h3gsur4i6y]  .abschnitt-inhalt { padding-bottom: 32px; }
.za[b-h3gsur4i6y]  .karte > .karte-kopf, .za[b-h3gsur4i6y]  .karte.offen > .karte-titel, .za[b-h3gsur4i6y]  .za-dokumente > .karte-kopf { margin: -24px -24px 20px; padding: 16px 24px; border-bottom: 1px solid var(--ui-line-strong); border-radius: 8px 8px 0 0; background: var(--ui-tint); }
.za[b-h3gsur4i6y]  .karte-titel { font-size: 18px; }
.za[b-h3gsur4i6y]  .zeitraum-raster { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.za[b-h3gsur4i6y]  .za-dokumente { background: var(--ui-surface); border: 1px solid var(--ui-line-strong); border-radius: 8px; padding: 24px; margin: 0; }
.za[b-h3gsur4i6y]  .bewilligung-fristen { margin-top: 24px; padding: 20px; border: 1px solid var(--ui-line); border-radius: 8px; background: var(--hover-bg); }
.za[b-h3gsur4i6y]  .bewilligung-fristen > .tabellen-titel { margin-top: 0; font-size: 16px; }
/* Block D, 8a: Kopfzeile mit Zähler und Auf-/Zuklappen; der Inhalt darunter ist zu, solange es Termine gibt. */
.za[b-h3gsur4i6y]  .fristen-kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
.za[b-h3gsur4i6y]  .fristen-kopf .tabellen-titel { margin: 0; font-size: 16px; }
.za[b-h3gsur4i6y]  .fristen-zaehler { color: var(--text-muted); font-size: 14px; }
.za[b-h3gsur4i6y]  .fristen-umschalter { margin-left: auto; }
.za[b-h3gsur4i6y]  .fristen-inhalt[hidden] { display: none; }
.za[b-h3gsur4i6y]  .fristen-inhalt > .beschreibung:first-child { margin-top: 12px; }
.za[b-h3gsur4i6y]  .naechster-schritt { border: 0; border-radius: 0; background: var(--ui-selected); padding: 16px; }
.za[b-h3gsur4i6y]  .beschreibung, .za[b-h3gsur4i6y]  .unterzeile { font-size: 14px; color: var(--ui-muted); }
.za[b-h3gsur4i6y]  .planung-schritte { margin: 24px 0; }
.za[b-h3gsur4i6y]  .planung-schritte ol { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; border-bottom: 1px solid var(--ui-line); }
.za[b-h3gsur4i6y]  .planung-schritte li { flex: 1 1 140px; }
.za[b-h3gsur4i6y]  .planung-schritte button { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 56px; padding: 12px 8px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--ui-muted); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.za[b-h3gsur4i6y]  .planung-schritte button[aria-current="step"] { border-bottom-color: var(--ui-action); color: var(--ui-ink); font-weight: 600; background: var(--ui-selected); }
.za[b-h3gsur4i6y]  .planung-schritte button:hover:not(:disabled) { background: var(--ui-selected); color: var(--ui-ink); }
.za[b-h3gsur4i6y]  .planung-schritte button:focus-visible { outline: 2px solid var(--ui-action); outline-offset: -2px; }
.za[b-h3gsur4i6y]  .planung-schritte button:disabled { cursor: default; }
.za[b-h3gsur4i6y]  .schritt-nummer { flex: none; font-variant-numeric: tabular-nums; }
.za[b-h3gsur4i6y]  .schritt-fertig { margin-left: auto; }
@media (max-width: 600px) {
    .za[b-h3gsur4i6y]  .karte, .za[b-h3gsur4i6y]  .karte.aktiv, .za[b-h3gsur4i6y]  .karte.offen, .za[b-h3gsur4i6y]  .za-dokumente { padding: 16px; }
    .za[b-h3gsur4i6y]  .karte > .karte-kopf, .za[b-h3gsur4i6y]  .karte.offen > .karte-titel, .za[b-h3gsur4i6y]  .za-dokumente > .karte-kopf { margin: -16px -16px 16px; padding: 16px; }
    .za[b-h3gsur4i6y]  .bewilligung-fristen { padding: 16px; }
    .za[b-h3gsur4i6y]  .planung-schritte { margin: 16px 0; }
    .za[b-h3gsur4i6y]  .planung-schritte ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .za[b-h3gsur4i6y]  .planung-schritte li { min-width: 0; }
    .za[b-h3gsur4i6y]  .planung-schritte button { min-height: 48px; height: 100%; padding: 8px; font-size: 13px; gap: 4px; }
}

/* U6, Block 2 (18.10.2026, Muster A): Werkzeugzeile, Prozessleiste und Kennzahlenzeile — dieselbe Bauform wie
   Kostenstellen-Kopf, Hochrechnung und Finanznachweis (Rahmen --ui-line-strong, getönt --ui-tint, kein Schatten). */
.za[b-h3gsur4i6y]  .za-titelblock { min-width: 0; }
.za[b-h3gsur4i6y]  .za-werkzeuge { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.za[b-h3gsur4i6y]  .za-werkzeuge .vc-aktionsmenue > button { height: 40px; }
.za[b-h3gsur4i6y]  .za-prozessleiste { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "phasen status" "naechster status"; gap: 10px 24px; align-items: center; padding: 12px 16px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-tint); }
.za[b-h3gsur4i6y]  .za-prozessleiste .phasen { grid-area: phasen; margin: 0; }
.za[b-h3gsur4i6y]  .za-prozessleiste .naechster-schritt { grid-area: naechster; margin: 0; padding: 0; border: 0; background: transparent; font-size: 13px; }
.za[b-h3gsur4i6y]  .za-prozessleiste .zeitraum-status { grid-area: status; margin: 0; padding: 0; border: 0; flex-direction: column; align-items: flex-end; gap: 6px; max-width: 360px; text-align: right; font-size: 12px; }
.za[b-h3gsur4i6y]  .za-prozessleiste .zeitraum-status .rechts { margin-left: 0; }
.za[b-h3gsur4i6y]  .za-prozessleiste > .vc-alert, .za[b-h3gsur4i6y]  .za-prozessleiste > .gespeichert { grid-column: 1 / -1; margin: 0; }
.za[b-h3gsur4i6y]  .za-kennzahlen { display: flex; flex-wrap: wrap; align-items: stretch; margin: 0 0 20px; border: 1px solid var(--ui-line-strong); border-radius: 8px; background: var(--ui-surface); overflow: hidden; }
.za[b-h3gsur4i6y]  .za-kennzahlen .vc-card { background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0; }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: stretch; min-width: 0; }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-titel { flex: 0 0 auto; display: flex; align-items: center; margin: 0; padding: 10px 16px; border-right: 1px solid var(--ui-line-strong); border-radius: 0; background: var(--ui-tint); font-size: 13px; font-weight: 600; }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile { flex: 1 1 150px; flex-direction: column; justify-content: center; gap: 2px; margin: 0; padding: 10px 16px; border: 0; border-right: 1px solid var(--ui-line-strong); font-size: 12px; }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile span:first-child { color: var(--text-muted); }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile span:last-child { text-align: left; font-size: 16px; font-weight: 600; white-space: normal; }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile.gesamt { padding-top: 10px; background: var(--calc-area-bg); }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile.leer span:last-child { font-size: 13px; font-weight: 400; }
.za[b-h3gsur4i6y]  .za-kennzahlen .summen-abstand { display: none; }
.za[b-h3gsur4i6y]  .za-kennzahlen .ampel-kopf.klein { flex: 1 1 180px; margin: 0; padding: 10px 16px; border-right: 1px solid var(--ui-line-strong); }
.za[b-h3gsur4i6y]  .za-kennzahlen .dokumente-kurz { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 16px; }
/* Block D, 8b (Rudi, 01.11.2026): Der Hinweis zur Budgetzelle steht mit Innenabstand mittig in seiner Zelle, nicht am Rand. */
.za[b-h3gsur4i6y]  .za-kennzahlen .summen > .gedaempft { flex: 1 1 220px; display: flex; align-items: center; margin: 0; padding: 16px; font-size: 13px; line-height: 1.4; }
@media (max-width: 900px) {
    .za[b-h3gsur4i6y]  .za-prozessleiste { grid-template-columns: minmax(0, 1fr); grid-template-areas: "phasen" "naechster" "status"; }
    .za[b-h3gsur4i6y]  .za-prozessleiste .zeitraum-status { align-items: flex-start; text-align: left; max-width: none; }
}
@media (max-width: 600px) {
    .za[b-h3gsur4i6y]  .za-kennzahlen .summen-titel { flex-basis: 100%; border-right: 0; border-bottom: 1px solid var(--ui-line-strong); }
    .za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile { flex-basis: 45%; }
    .za[b-h3gsur4i6y]  .za-kennzahlen .dokumente-kurz { flex-basis: 100%; border-top: 1px solid var(--ui-line-strong); }
}

/* F3 (16.10.2026): die eingeblendeten Stammdaten eines laufenden Zeitraums (Einstieg seit U6 im Menü). */
.za-stammdaten[b-h3gsur4i6y] {
    padding: 20px 24px;
    margin-bottom: 16px;
}

.za-stammdaten h3[b-h3gsur4i6y] {
    margin: 0 0 12px;
}
/* /Components/Pages/Rabattcodes.razor.rz.scp.css */
.rabattcode-formular[b-faq4jiblz9] {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.rabattcode-klartext[b-faq4jiblz9] {
    overflow-wrap: anywhere;
    padding: 16px;
    background: var(--surface-alt);
    border: 1px solid var(--border-color);
    border-radius: var(--ui-radius);
}
/* /Components/Pages/Stammdaten/BeitraegeAktualisieren.razor.rz.scp.css */
.vc-card[b-9i189pfcmy] { margin-top: 24px; }
h2[b-9i189pfcmy] { margin-top: 24px; }
input[type="checkbox"][b-9i189pfcmy] { width: 24px; height: 24px; }
select[b-9i189pfcmy] { max-width: 100%; margin-bottom: 16px; }

a[b-9i189pfcmy] { color: var(--ui-action); }
a:hover[b-9i189pfcmy], a:active[b-9i189pfcmy] { color: var(--ui-action-hover); }
button:focus-visible[b-9i189pfcmy], input:focus-visible[b-9i189pfcmy], select:focus-visible[b-9i189pfcmy], a:focus-visible[b-9i189pfcmy] {
    outline: 3px solid var(--ui-action);
    outline-offset: 2px;
}

p[b-9i189pfcmy], li[b-9i189pfcmy] { overflow-wrap: anywhere; }
/* /Components/Pages/Stammdaten/StammdatenVerwaltung.razor.rz.scp.css */
.stamm-bereich[b-v6gx2vegy8] { margin-top: 24px; }
.stamm-aktionen[b-v6gx2vegy8], .stamm-filter[b-v6gx2vegy8] { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 16px 0; }
.stamm-filter > label[b-v6gx2vegy8], .stamm-auswahl[b-v6gx2vegy8] { flex: 1 1 200px; min-width: 0; }
.stamm-bereich label[b-v6gx2vegy8] { display: block; }
.stamm-bereich textarea[b-v6gx2vegy8] { width: 100%; }
.stamm-zahl[b-v6gx2vegy8] { max-width: 160px; text-align: right; margin-left: auto; }
.stamm-bestaetigung[b-v6gx2vegy8] { padding: 16px; margin-top: 16px; background: var(--surface-alt); border: 1px solid var(--border-strong); border-radius: 8px; }
.stamm-bestaetigung button[b-v6gx2vegy8] { margin: 4px; }
caption[b-v6gx2vegy8] { text-align: left; padding: 16px 0; color: var(--text-dark); }
@media (max-width: 600px) { .stamm-aktionen > button[b-v6gx2vegy8] { width: 100%; } }

.btn-secondary[b-v6gx2vegy8], a[b-v6gx2vegy8] { color: var(--ui-action); }
.btn-secondary[b-v6gx2vegy8] { border-color: var(--ui-action); }
.btn-secondary:hover[b-v6gx2vegy8], .btn-secondary:active[b-v6gx2vegy8], a:hover[b-v6gx2vegy8], a:active[b-v6gx2vegy8] { color: var(--ui-action-hover); }
button:focus-visible[b-v6gx2vegy8], input:focus-visible[b-v6gx2vegy8], select:focus-visible[b-v6gx2vegy8], textarea:focus-visible[b-v6gx2vegy8], a:focus-visible[b-v6gx2vegy8] {
    outline: 3px solid var(--ui-action);
    outline-offset: 2px;
}

p[b-v6gx2vegy8], li[b-v6gx2vegy8] { overflow-wrap: anywhere; }
/* /Components/Pages/Tarife/Tarife.razor.rz.scp.css */
.tarife-seite[b-lx23g27sqr] { max-width: 1180px; margin-inline: auto; }
.tarife-lieferung[b-lx23g27sqr] { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.tarife-lieferung h2[b-lx23g27sqr] { margin: 0 0 4px; font-size: 16px; }
.tarife-lieferung p[b-lx23g27sqr] { margin: 0; }
.tarife-pruefhinweis[b-lx23g27sqr] { margin-bottom: 24px; }
.tarife-rueckkehr[b-lx23g27sqr] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 16px; }
.tarife-layout[b-lx23g27sqr] { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: start; }
.tarife-liste[b-lx23g27sqr] { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.tarife-eintrag[b-lx23g27sqr] { width: 100%; text-align: left; border: 1px solid var(--border-color); border-radius: 8px; background: var(--card-bg);
    padding: 12px 14px; cursor: pointer; display: grid; gap: 2px; font: inherit; color: inherit; }
.tarife-eintrag:hover:not(:disabled)[b-lx23g27sqr] { background: var(--hover-bg); }
.tarife-eintrag[aria-current="true"][b-lx23g27sqr] { border-color: var(--accent-blue); box-shadow: inset 3px 0 0 var(--accent-blue); }
.tarife-eintrag strong[b-lx23g27sqr] { font-weight: 600; }
.tarife-eintrag span[b-lx23g27sqr] { font-size: 12px; color: var(--text-muted); }
.tarife-eintrag--neu[b-lx23g27sqr] { border-style: dashed; }
.tarife-badge[b-lx23g27sqr] { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 999px; white-space: nowrap; }
.tarife-badge--info[b-lx23g27sqr] { background: var(--ui-tint-blue); color: var(--ui-action-deep); }
.tarife-badge--ok[b-lx23g27sqr] { background: var(--ui-success-bg); color: var(--ui-success); }
.tarife-badge--eigen[b-lx23g27sqr] { background: var(--ui-tint-blue); color: var(--ui-action-deep); }
.tarife-form[b-lx23g27sqr] { display: grid; gap: 6px; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--border-color); border-radius: 8px; background: var(--surface-alt); }
.tarife-form label[b-lx23g27sqr] { font-size: 13px; font-weight: 500; margin-top: 6px; }
.tarife-auswahl[b-lx23g27sqr] { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: end; margin-bottom: 16px; }
.tarife-feld[b-lx23g27sqr] { display: grid; gap: 6px; min-width: 0; }
.tarife-feld label[b-lx23g27sqr] { font-size: 13px; font-weight: 500; }
.tarife-feld select[b-lx23g27sqr] { min-width: 200px; }
.tarife-knoepfe[b-lx23g27sqr] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tarife-rechts[b-lx23g27sqr] { margin-left: auto; }
.tarife-schmal[b-lx23g27sqr] { width: 8rem; }
.tarife-neu[b-lx23g27sqr] { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: end; margin-bottom: 16px; padding: 12px 16px;
    border: 1px solid var(--border-color); border-radius: 8px; background: var(--surface-alt); }
.tarife-neu .vc-form-help[b-lx23g27sqr] { flex-basis: 100%; margin: 0; }
.tarife-tabelle-rahmen[b-lx23g27sqr] { overflow-x: auto; border: 1px solid var(--border-color); border-radius: 8px; }
.tarife-tabelle[b-lx23g27sqr] { width: 100%; margin: 0; }
.tarife-tabelle caption[b-lx23g27sqr] { text-align: left; padding: 8px 12px; font-size: 12px; color: var(--text-muted); }
.tarife-tabelle th[b-lx23g27sqr], .tarife-tabelle td[b-lx23g27sqr] { white-space: nowrap; }
.tarife-tabelle tbody th[b-lx23g27sqr] { font-weight: 600; text-align: left; }
.tarife-tabelle .numeric[b-lx23g27sqr] { text-align: right; }
.tarife-jsz[b-lx23g27sqr] { border-left: 2px solid var(--border-color); }
.tarife-geaendert[b-lx23g27sqr] { background: var(--ui-warn-bg); }
.tarife-zelle[b-lx23g27sqr] { width: 7rem; min-height: 32px; border: 1px solid var(--border-strong); border-radius: 6px; padding: 2px 8px; text-align: right; font: inherit; }
.tarife-zelle--jsz[b-lx23g27sqr] { width: 5rem; }
.tarife-zelle[aria-invalid="true"][b-lx23g27sqr] { border-color: var(--accent-pink); }
.tarife-fuss[b-lx23g27sqr] { margin-top: 12px; }
@media (max-width: 900px) {
    .tarife-layout[b-lx23g27sqr] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .tarife-feld[b-lx23g27sqr], .tarife-feld select[b-lx23g27sqr] { width: 100%; min-width: 0; }
    .tarife-rechts[b-lx23g27sqr] { margin-left: 0; }
}
/* /Components/Pages/UmsatzImport/ImportAufteilung.razor.rz.scp.css */
/* Aufteilen-Bereich einer Zeile (AP 5 Teil C, Spec §2.2).
   Keine Inline-Stile im Markup (Dauergate seit P2-7).

   Die Regeln für Anteilsfeld, Summenzeile, urteilende Restanzeige und
   Fuß-Aktionen stehen NICHT hier, sondern als vc-anteil-* / vc-verteilung-*
   in app.css: Sie gelten wortgleich auch für die Vorlagen-Pflege, und
   CSS-Isolation wirkt nicht dateiübergreifend. Hier bleibt, was wirklich
   nur diesen Bereich betrifft. */

.aufteilung[b-nanggw1yn2] {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--surface-alt);
    border: 1px solid var(--border-color);
}

.aufteilung-kopf[b-nanggw1yn2] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.aufteilung-kopf > :first-child[b-nanggw1yn2] {
    min-width: 240px;
}

/* Sichtpruefung 27.08.2026 (Rudi): "Gleichmaessig verteilen" sass tiefer als das
   Vorlage-Dropdown daneben. Ursache war NICHT die Flex-Ausrichtung selbst (die steht
   bereits auf align-items: flex-end) — VcFormField rendert `.vc-form-group`, und die
   traegt global (app.css) `margin-bottom: 16px`. align-items: flex-end richtet die
   MARGIN-Box aus, also sass die eingebettete Auswahl 16px oberhalb der tatsaechlichen
   Zeilenunterkante, waehrend der Knopf (ohne Margin) exakt am unteren Rand der Zeile
   klebte — der Knopf "haengt" dadurch sichtbar tiefer. Der Abstand nach unten kommt in
   dieser Zeile ohnehin aus dem `gap` von `.aufteilung-kopf` und dem `margin-bottom`
   des ganzen Blocks darunter; das zusaetzliche Feld-Margin ist hier ueberzaehlig. */
.aufteilung-kopf[b-nanggw1yn2]  .vc-form-group {
    margin-bottom: 0;
}

.aufteilung-tabelle[b-nanggw1yn2] {
    background: var(--ui-surface);
}

/* Der Hinweis des Verteilrechners — er erscheint nur, wenn eine Verteilung in
   Cent nicht darstellbar ist, und steht dann neben der Restanzeige. */
.aufteilung-hinweis[b-nanggw1yn2] {
    font-size: 12px;
    color: var(--danger-color);
}

.aufteilung-merken[b-nanggw1yn2] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
}

.aufteilung-merken > :first-child[b-nanggw1yn2] {
    flex: 1 1 auto;
    max-width: 360px;
}

@media (max-width: 600px) {
    .aufteilung-merken[b-nanggw1yn2] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Components/Pages/UmsatzImport/ImportKassenverteilung.razor.rz.scp.css */
.kassenverteilung[b-vt8wqhvave] { max-width: 68rem; margin-top: 16px; }
.kassenverteilung-position[b-vt8wqhvave] { min-width: 0; margin: 0 0 16px; padding: 16px; border: 1px solid var(--ui-line); border-left: 4px solid var(--ui-line); border-radius: 8px; background: var(--ui-surface); }
.kassenverteilung-position--fertig[b-vt8wqhvave] { border-left-color: var(--ui-success); }
.kassenverteilung-position--weiter[b-vt8wqhvave] { border-left-color: var(--ui-action); }
.kassenverteilung-position legend[b-vt8wqhvave] { padding: 0 4px; font-size: 13px; font-weight: 600; }
.kassenverteilung-kopf[b-vt8wqhvave] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.kassenverteilung-nummer[b-vt8wqhvave] { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-weight: 600; color: var(--ui-action); background: var(--ui-selected); }
.kassenverteilung-position--fertig .kassenverteilung-nummer[b-vt8wqhvave] { color: var(--ui-success); background: var(--result-area-bg); }
.kassenverteilung-status[b-vt8wqhvave] { padding: 3px 8px; border-radius: 6px; font-size: 12px; font-weight: 600; }
.kassenverteilung-status--fertig[b-vt8wqhvave] { color: var(--ui-success); background: var(--result-area-bg); }
.kassenverteilung-status--weiter[b-vt8wqhvave] { color: var(--ui-action); background: var(--ui-selected); }
.kassenverteilung-status--offen[b-vt8wqhvave] { color: var(--ui-warning); background: var(--ui-warn-bg); }
.kassenverteilung-teilbetrag[b-vt8wqhvave] { margin-left: auto; font-variant-numeric: tabular-nums; }
.kassenverteilung-naechster[b-vt8wqhvave] { padding: 12px 16px; border: 1px solid var(--ui-line); border-radius: 8px; background: var(--ui-selected); color: var(--ui-ink); }
.kassenverteilung-felder[b-vt8wqhvave] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(7rem, .5fr); gap: 12px; align-items: start; }
.kassenverteilung-felder[b-vt8wqhvave]  .vc-form-group { min-width: 0; margin: 0; }
.kassenverteilung-felder select[b-vt8wqhvave], .kassenverteilung-felder input[b-vt8wqhvave] { width: 100%; min-width: 0; max-width: 100%; }
.kassenverteilung-felder input[b-vt8wqhvave] { text-align: right; font-variant-numeric: tabular-nums; }
.kassenverteilung-felder .verteilung-betrag--offen[b-vt8wqhvave] { border-color: var(--ui-warning); background: var(--ui-warn-bg); }
.kassenverteilung-felder[b-vt8wqhvave]  .kassenverteilung-vorhanden { grid-column: span 2; }
.kassenverteilung-felder p[b-vt8wqhvave] { grid-column: 1 / -1; margin: 0; overflow-wrap: anywhere; }
.verteilung-entfernen[b-vt8wqhvave] { margin-top: 12px; }
.kassenverteilung-summe[b-vt8wqhvave] { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 12px; margin-top: 12px; background: var(--ui-selected); border-radius: 6px; }
.kassenverteilung-summe strong[b-vt8wqhvave] { font-weight: 600; }
.kassenverteilung-aktion[b-vt8wqhvave] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.kassenverteilung-grund[b-vt8wqhvave] { margin: 0; color: var(--ui-muted); font-size: 13px; }
@media (max-width: 600px) {
    .kassenverteilung-felder[b-vt8wqhvave] { grid-template-columns: minmax(0, 1fr); }
    .kassenverteilung-felder[b-vt8wqhvave]  .kassenverteilung-vorhanden { grid-column: auto; }
    .kassenverteilung-felder[b-vt8wqhvave]  .kassenverteilung-betrag { max-width: 12rem; }
    .kassenverteilung-summe[b-vt8wqhvave] { flex-direction: column; }
}
/* /Components/Pages/UmsatzImport/ImportPersonalAuswahl.razor.rz.scp.css */
.import-personal-auswahl[b-yskhcxosxs] { min-width: 0; }
.btn-text[b-yskhcxosxs] { color: var(--ui-action); min-height: 32px; max-width: 100%; }
.btn-text:hover:not(:disabled)[b-yskhcxosxs] { background: var(--ui-selected); color: var(--ui-action-hover); }
.btn-text:active:not(:disabled)[b-yskhcxosxs] { background: var(--ui-action); color: var(--ui-surface); }
button:focus-visible[b-yskhcxosxs], select:focus-visible[b-yskhcxosxs] { outline: 2px solid var(--ui-focus); outline-offset: 2px; }
/* /Components/Pages/UmsatzImport/ImportZeilenkarte.razor.rz.scp.css */
/* Eine Auszugsposition im Zuordnungsfenster (AP 5, Spec §2.2).
   Keine Inline-Stile im Markup (Dauergate seit P2-7).

   T-054 (Rudi, 24.10.2026, Variante C des Layoutmusters LAYOUTMUSTER_BANKIMPORT_TRENNUNG_20261024):
   Jede Buchung ist eine eigene Karte mit Schatten auf dem Seitenhintergrund; der Kopf ist
   leicht getönt und trägt die Zustandsmarke; Zuordnen steht in der Feldzeile. Die Tönung
   sagt den Zustand, die Marke sagt ihn in Worten — keine Farbcodierung ohne Beschriftung
   (DESIGN_SYSTEM §7). Ein Vollton würde den Betrag schlechter lesbar machen, deshalb bleibt
   die Tönung schwach. */

.import-zeile[b-p6te9uf5os] {
    border: 1px solid var(--ui-line);
    border-radius: 8px;
    background: var(--ui-surface);
    overflow: hidden;
    transition: border-color 150ms ease;
}

.import-zeile:hover[b-p6te9uf5os] {
    border-color: var(--ui-line-strong);
}

.import-zeile.is-nicht-relevant[b-p6te9uf5os] {
    opacity: 0.72;
}

.import-zeile-kopf[b-p6te9uf5os] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 16px;
    background: var(--hover-bg);
    border-bottom: 1px solid var(--ui-line);
}

.import-zeile.is-vorgeschlagen .import-zeile-kopf[b-p6te9uf5os] { background: var(--ui-warn-bg); border-bottom-color: var(--ui-warn-line); }
.import-zeile.is-zugeordnet .import-zeile-kopf[b-p6te9uf5os] { background: var(--result-area-bg); border-bottom-color: var(--ui-success-line); }
.import-zeile.is-an-kasse .import-zeile-kopf[b-p6te9uf5os] { background: var(--ui-success-bg); border-bottom-color: var(--ui-success-bg); }
.import-zeile.is-personalzahlung .import-zeile-kopf[b-p6te9uf5os] { background: var(--ui-tint-blue); border-bottom-color: var(--ui-tint-strong); }

/* Die Zustandsmarke sitzt zwischen Zweck und Aktionen; sie wächst nicht mit. */
.import-zeile-zustand[b-p6te9uf5os] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

/* Aufteilen + Nicht relevant (Sichtpruefung 27.08.2026): eigene, nicht wachsende
   Aktionsreihe zwischen dem Zweck-Block und dem Betrag — der Abstand zum Betrag
   kommt aus dem gemeinsamen `gap` der Kopfzeile, kein Inline-Stil. */
.import-zeile-kopf-aktionen[b-p6te9uf5os] {
    flex: 0 0 auto;
}

/* Nur INNERHALB der neuen Kopf-Aktionsreihe ist der Wrapper ein reiner Selektor-Anker
   (Browser-/bUnit-Tests kennen ".import-zeile-aufteilen button") — display:contents
   nimmt ihm seine eigene Box, der Knopf wird direktes Flex-Kind von
   `.import-zeile-kopf-aktionen`. Die Grundregel unten bleibt fuer den ANDEREN Ort
   (Aendern-Bereich, dritte Grid-Spalte) unveraendert. */
.import-zeile-kopf-aktionen .import-zeile-aufteilen[b-p6te9uf5os] {
    display: contents;
}

.import-zeile-aufteilen-knopf[b-p6te9uf5os] {
    min-height: 40px;
    padding: 8px 16px;
    border-color: var(--ui-action);
    background: var(--ui-selected);
    color: var(--ui-action-hover);
    font-weight: 600;
}

.import-zeile-aufteilen-knopf:hover[b-p6te9uf5os],
.import-zeile-aufteilen-knopf:active[b-p6te9uf5os] {
    border-color: var(--ui-action-hover);
    background: var(--ui-action-hover);
    color: var(--ui-surface);
}

.import-zeile-aufteilen-knopf:focus-visible[b-p6te9uf5os],
.import-zeile-zuordnen:focus-visible[b-p6te9uf5os] {
    outline: 2px solid var(--ui-action-hover);
    outline-offset: 2px;
}

.import-zeile-zuordnen[b-p6te9uf5os] {
    min-height: 40px;
}

.import-aenderung-speichern[b-p6te9uf5os] { min-height: 40px; }
.import-aktion-datum[b-p6te9uf5os] { color: var(--ui-action); border-color: var(--ui-action); }
.import-aktion-aufheben[b-p6te9uf5os] { color: var(--ui-danger); border-color: var(--ui-danger); }
.import-aktion-datum:hover[b-p6te9uf5os], .import-aktion-datum:active[b-p6te9uf5os] { background: var(--ui-action); color: var(--ui-surface); }
.import-aktion-aufheben:hover[b-p6te9uf5os], .import-aktion-aufheben:active[b-p6te9uf5os] { background: var(--ui-danger); color: var(--ui-surface); }
.import-aktion-datum:focus-visible[b-p6te9uf5os], .import-aktion-aufheben:focus-visible[b-p6te9uf5os] { outline: 2px solid currentColor; outline-offset: 2px; }

@media (max-width: 600px) {
    /* Bei Platznot rutscht der Empfaenger-/Zweck-Block unter die Kopfzeile, statt
       gequetscht zu werden — Datum, Aktionen und Betrag bleiben auf der ersten Zeile
       (Sichtpruefung 27.08.2026, Rudi: "gehoert der Empfaenger unter die Kopfzeile,
       nicht weg"). */
    .import-zeile-zweck-block[b-p6te9uf5os] {
        order: 4;
        flex-basis: 100%;
    }
}

.import-zeile-datum[b-p6te9uf5os] {
    flex: 0 0 auto;
    font-size: 12px;
    color: var(--ui-text-soft);
}

/* Mobil wandert die Marke hinter den Betrag in die zweite Reihe, vor den Zweck-Block. */
@media (max-width: 600px) {
    .import-zeile-zustand[b-p6te9uf5os] {
        order: 3;
    }
}

/* Traegt Empfaenger/Sender (optional, oben) und Verwendungszweck (immer, darunter) —
   dieselbe Spalte im Kopf-Flex wie zuvor der einzelne Zweck-Span, nur zweizeilig. */
.import-zeile-zweck-block[b-p6te9uf5os] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* An wen die Zahlung ging bzw. von wem sie kam — der eigentliche Zweck dieser Spalte
   (Sichtpruefung 27.08.2026). Etwas kraeftiger als der Verwendungszweck darunter, aber
   nicht so betont wie der Betrag: Sie ist die Kopfzeile der Kopfzeile. */
.import-zeile-empfaenger[b-p6te9uf5os] {
    font-size: 14px;
    font-weight: 600;
    color: var(--ui-ink);
    overflow-wrap: anywhere;
}

.import-zeile-zweck[b-p6te9uf5os] {
    font-size: 13px;
    color: var(--ui-muted);
    overflow-wrap: anywhere;
}

.import-zeile-betrag[b-p6te9uf5os] {
    flex: 0 0 auto;
    font-size: 16px;
    font-weight: 600;
}

.import-zeile-koerper[b-p6te9uf5os] {
    padding: 12px 16px 14px;
}

.import-datum-bereich[b-p6te9uf5os] { margin-top: 8px; }
.import-datum-bereich .vc-link-btn[b-p6te9uf5os] {
    min-height: 28px;
    min-width: 24px;
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 12px;
}
.import-datum-bereich .vc-link-btn:hover[b-p6te9uf5os] { background: var(--ui-selected); }
.import-datum-bereich .vc-link-btn:active[b-p6te9uf5os] { background: var(--ui-action); color: var(--ui-surface); }
.import-datum-bereich .vc-link-btn:focus-visible[b-p6te9uf5os] { outline: 2px solid var(--ui-action); outline-offset: 2px; }
.import-datum-bereich .vc-link-btn:disabled[b-p6te9uf5os] { opacity: .55; cursor: not-allowed; }
.import-zuordnungsdatum[b-p6te9uf5os] {
    display: grid;
    grid-template-columns: minmax(0, 11rem) minmax(0, 26rem);
    gap: 8px 12px;
    max-width: 38rem;
    margin-top: 6px;
}
.import-zuordnungsdatum[b-p6te9uf5os]  .vc-form-group { margin: 0; min-width: 0; }
.import-zuordnungsdatum[b-p6te9uf5os]  input { width: 100%; min-width: 0; }
.import-zuordnungsdatum[b-p6te9uf5os]  input[aria-invalid="true"] { border-color: var(--ui-danger); }
.import-datum-hilfe[b-p6te9uf5os], .import-datum-aktionen[b-p6te9uf5os], .import-datum-fehler[b-p6te9uf5os], .import-datum-wirkung[b-p6te9uf5os] { grid-column: 1 / -1; margin: 0; }
.import-datum-hilfe[b-p6te9uf5os] { font-size: 12px; color: var(--ui-text-soft); }
/* W19 (Rudi, 17.10.2026): Nachfrage bei Zahlung kurz nach Zeitraumende — Farben wie der Warnhinweis (DESIGN_SYSTEM §5.5). */
.import-datum-nachlauf[b-p6te9uf5os] { margin: 0 0 8px; padding: 8px 12px; border-radius: 8px; background: var(--ui-warn-bg); color: var(--ui-warn-text); font-size: 13px; line-height: 1.5; }
.import-datum-nachlauf .vc-link-btn[b-p6te9uf5os] { display: inline; margin-left: 6px; font-weight: 600; }
.import-datum-aktionen[b-p6te9uf5os] { display: flex; gap: 8px; flex-wrap: wrap; }
.import-datum-fehler[b-p6te9uf5os] { font-size: 12px; color: var(--ui-danger); }
.import-datum-wirkung[b-p6te9uf5os], .import-teil-datum[b-p6te9uf5os] { font-size: 12px; color: var(--text-secondary); }
.import-teil-datum[b-p6te9uf5os] { overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .import-zuordnungsdatum[b-p6te9uf5os] { grid-template-columns: minmax(0, 1fr); }
    .import-zuordnungsdatum[b-p6te9uf5os]  input[type="date"] { max-width: 12rem; }
}

/* Grundraster fuer den Aendern-Bereich. Im offenen Zuordnungsbereich ordnet
   das aeussere Raster Ziel, Kostenstelle und Kostenart in einer kompakten Zeile an;
   die Nachweis-Checkbox steht dort darunter. Mobil stehen die Felder untereinander. */
.import-zeile-auswahl[b-p6te9uf5os] {
    display: grid;
    grid-template-columns: minmax(200px, 1fr) minmax(200px, 1.4fr) auto;
    gap: 12px;
}

.import-zeile-zuordnungsfelder[b-p6te9uf5os] {
    display:grid;
    width:min(100%,72rem);
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;
    gap:12px;
    align-items:start;
}
.import-zeile-zuordnungsfelder > .import-zeile-auswahl[b-p6te9uf5os] { display:contents; }
/* T-054 (Variante C): Zuordnen in der vierten Spalte der ersten Zeile, unten bündig mit den
   Feldern; im DOM steht der Knopf hinter dem Haken (Tastaturreihenfolge), das Raster setzt ihn
   per grid-row nach oben. */
.import-zeile-zuordnungsfelder > .import-zeile-zuordnen[b-p6te9uf5os] { grid-column:4; grid-row:1; align-self:end; }
.import-zeile-zuordnungsfelder[b-p6te9uf5os]  .vc-form-group { min-width:0; margin-bottom:0; }
.import-zeile-zuordnungsfelder[b-p6te9uf5os]  :is(select, .vc-kostenart-auswahl input) { min-width:0; width:100%; max-width:100%; min-height:40px; }
.import-zeile-zuordnungsfelder .import-zeile-auswahl[b-p6te9uf5os]  .import-zeile-kostenart-spalte { grid-column:3; }
.import-zeile-zuordnungsfelder[b-p6te9uf5os]  .import-personalmonat { grid-column:2 / -1; width:20rem; max-width:100%; }
.import-zeile-zuordnungsfelder .import-zeile-nachweis-checkbox[b-p6te9uf5os] { grid-column:1 / -1; padding-bottom:0; }

/* Der Aendern-Bereich (weiter unten in der Karte) braucht zusaetzlich noch die vierte
   Spalte fuer seine eigene Aktionsspalte ("Aenderung speichern"/"Abbrechen"). */
.import-zeile-auswahl--aendern[b-p6te9uf5os] {
    grid-template-columns: minmax(200px, 1fr) minmax(200px, 1.4fr) auto auto;
}

/* Checkbox ohne eigenes Label-darueber — auf gleicher Hoehe mit den Eingabefeldern
   daneben, unten buendig (dieselbe Ausrichtungslogik wie ImportAufteilung.razor.css).
   grid-column: 3 haelt die dritte Spalte fest, UNABHAENGIG von der DOM-Reihenfolge
   (Sichtpruefung 27.08.2026, Teil 2 — Fix Befund 2, s.u.). */
.import-zeile-nachweis-checkbox[b-p6te9uf5os] {
    display: flex;
    align-items: center;
    align-self: end;
    grid-column: 3;
    gap: 6px;
    padding-bottom: 10px;
    white-space: nowrap;
}

/* VcFormField rendert den Wrapper ohne den Scope der Karte. */
.import-zeile-auswahl[b-p6te9uf5os]  .import-zeile-kostenart-spalte {
    grid-column: 2;
}

@media (max-width: 600px) {
    .import-zeile-zuordnungsfelder[b-p6te9uf5os] { grid-template-columns:minmax(0,1fr); }
    .import-zeile-zuordnungsfelder > .import-zeile-zuordnen[b-p6te9uf5os] { grid-column:auto; grid-row:auto; justify-self:start; }
    .import-zeile-zuordnungsfelder .import-zeile-auswahl[b-p6te9uf5os]  .import-zeile-kostenart-spalte,
    .import-zeile-zuordnungsfelder[b-p6te9uf5os]  .import-personalmonat { grid-column:auto; }
    .import-zeile-auswahl[b-p6te9uf5os] {
        grid-template-columns: minmax(0, 1fr);
    }

    .import-zeile-auswahl[b-p6te9uf5os]  .vc-form-group {
        min-width: 0;
    }

    .import-zeile-nachweis-checkbox[b-p6te9uf5os] {
        grid-column: auto;
        align-self: start;
        padding-bottom: 0;
        white-space: normal;
    }

    .import-zeile-auswahl[b-p6te9uf5os]  .import-zeile-kostenart-spalte {
        grid-column: auto;
    }
}

.import-zeile-fuss[b-p6te9uf5os] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
}

.import-zeile-aktionen[b-p6te9uf5os] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-left: auto;
}

.import-kassen-auswahl[b-p6te9uf5os] {
    width: auto;
    min-width: 200px;
}

.import-kassen-einlage[b-p6te9uf5os] { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-top:12px; }
.import-kassen-aufteilen[b-p6te9uf5os] { margin-top:12px; }
.import-kassen-verteilung-ergebnis[b-p6te9uf5os] { margin-top:12px; }
.import-kasseneinzahlungen[b-p6te9uf5os] { list-style:none; margin:0; padding:12px; background:var(--ui-selected); border-radius:6px; }
.import-kasseneinzahlungen li[b-p6te9uf5os] { display:flex; flex-wrap:wrap; gap:8px 16px; padding:4px 0; }
.import-kasseneinzahlungen li > :first-child[b-p6te9uf5os] { flex:1; min-width:8rem; overflow-wrap:anywhere; }
.import-kasseneinzahlungen strong[b-p6te9uf5os] { font-weight:600; text-align:right; }
.import-kassen-einlage[b-p6te9uf5os]  .vc-form-group { flex:1 1 18rem; max-width:28rem; min-width:0; margin-bottom:0; }
.import-kassen-einlage select[b-p6te9uf5os] { width:100%; max-width:100%; min-width:0; }
.import-kassen-einlage p[b-p6te9uf5os] { flex-basis:100%; margin:0; }
.import-transfer-vorschau[b-p6te9uf5os] { display:grid; gap:4px; padding:12px; margin-top:12px; border:1px solid var(--ui-line); background:var(--ui-selected); border-radius:6px; overflow-wrap:anywhere; }
.import-transfer-vorschau strong[b-p6te9uf5os] { font-weight:600; }
.import-transfer-vorschau span[b-p6te9uf5os] { font-size:13px; }

.import-bargeld-option[b-p6te9uf5os] { margin-top:12px; }
.import-bargeld-felder[b-p6te9uf5os] { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:12px; margin-top:12px; }
.import-bargeld-felder[b-p6te9uf5os]  .vc-form-group { min-width:0; margin-bottom:0; }
.import-bargeld-felder select[b-p6te9uf5os], .import-bargeld-felder input[b-p6te9uf5os] { width:100%; min-width:0; max-width:100%; }
.import-bargeld-betrag[b-p6te9uf5os] { text-align:right; font-variant-numeric:tabular-nums; }
.import-bargeld-vorschau[b-p6te9uf5os] { display:grid; gap:4px; margin:12px 0 8px; padding:12px; background:var(--ui-selected); border:1px solid var(--ui-line); border-radius:6px; }
.import-bargeld-vorschau span[b-p6te9uf5os] { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.import-bargeld-vorschau strong[b-p6te9uf5os] { font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
.import-bargeld-vorschau p[b-p6te9uf5os] { margin:4px 0 0; font-size:13px; color:var(--ui-muted); }
.import-bargeld-hinweis[b-p6te9uf5os], .import-bargeld-fehler[b-p6te9uf5os] { grid-column:1/-1; margin:8px 0; font-size:13px; overflow-wrap:anywhere; }
.import-bargeld-fehler[b-p6te9uf5os] { color:var(--ui-danger); }
.import-bargeld-option .vc-link-btn[b-p6te9uf5os] { min-height:32px; }

/* Was aus der Zeile geworden ist. Bei einem Teilstück eine Zeile Text, bei mehreren
   die Verteilung — Beträge rechtsbündig und mit tabellarischen Ziffern, damit die
   Anteile untereinander vergleichbar bleiben. */
.import-zeile-teilstuecke[b-p6te9uf5os] {
    list-style: none;
    margin: 10px 0 0;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--surface-alt);
    font-size: 12px;
}

.import-zeile-teilstuecke li[b-p6te9uf5os] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    padding: 2px 0;
}

.import-teil-kst[b-p6te9uf5os] {
    flex: 0 0 auto;
    max-width: 100%;
    overflow-wrap: anywhere;
    color: var(--text-dark);
}

.import-teil-art[b-p6te9uf5os] {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--ui-text-soft);
}

.import-teil-anteil[b-p6te9uf5os] {
    flex: 0 0 auto;
    width: 64px;
    text-align: right;
    color: var(--ui-text-soft);
}

.import-teil-betrag[b-p6te9uf5os] {
    flex: 0 0 auto;
    width: 104px;
    text-align: right;
    font-weight: 600;
}

.import-teil-datum[b-p6te9uf5os] { flex-basis: 100%; order: 2; }

/* Traegt seit der Sichtpruefung 27.08.2026 nur noch die Aktionsspalte des
   Aendern-Bereichs ("Aenderung speichern"/"Abbrechen", dritte Grid-Spalte, siehe
   .import-zeile-auswahl--aendern) — der frueher hier stehende "aufteilen"-Link ist in
   die Kopfzeile gewandert (eigene Regel oben, .import-zeile-kopf-aktionen
   .import-zeile-aufteilen). Der Klassenname ist bewusst derselbe geblieben, weil ihn
   Browser-/bUnit-Selektoren an BEIDEN Stellen kennen. */
.import-zeile-aufteilen[b-p6te9uf5os] {
    display: flex;
    align-items: flex-end;
    padding-bottom: 6px;
}

/* AP 7 (E2): Vorschlaege offener Posten.
   Bewusst ABGESETZT vom Rest der Karte (eigener Hintergrund, linke Kante): Das hier ist
   keine weitere Eingabe, sondern eine Frage der Anwendung an den Nutzer. Wer sie
   optisch wie die Auswahlfelder behandelte, machte aus einem Angebot eine Pflichtzeile. */
.import-zeile-posten[b-p6te9uf5os] {
    margin-bottom: 10px;
    padding: 10px 12px;
    border-left: 3px solid var(--ui-action);
    border-radius: 8px;
    background: var(--ui-tint-blue);
}

.import-zeile-posten-titel[b-p6te9uf5os] {
    margin-bottom: 6px;
    font-weight: 600;
    color: var(--accent-blue-pressed);
}

.import-zeile-posten-vorschlag[b-p6te9uf5os] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
}

.import-zeile-posten-vorschlag + .import-zeile-posten-vorschlag[b-p6te9uf5os] {
    border-top: 1px solid var(--ui-line);
}
/* /Components/Pages/UmsatzImport/ImportZuordnung.razor.rz.scp.css */
/* Zuordnungsfenster (AP 5, Spec §2.2).
   Keine Inline-Stile im Markup (Dauergate seit P2-7) — alles Sichtbare steht hier.
   Farben und Radien stammen aus DESIGN_SYSTEM.md; Schriftgewicht nie über 600. */

.import-fortschritt[b-d36apw881o] {
    margin-top: 16px;
    padding: 16px 20px;
}

.import-fortschritt-balken[b-d36apw881o] {
    height: 8px;
    border-radius: 999px;
    background: var(--border-color);
    overflow: hidden;
}

.import-fortschritt-fuellung[b-d36apw881o] {
    height: 100%;
    border-radius: 999px;
    background: var(--accent-blue);
    transition: width 150ms ease;
}

.import-fortschritt-text[b-d36apw881o] {
    margin-top: 10px;
    font-size: 13px;
    color: var(--text-dark);
}

.import-fortschritt-anteil[b-d36apw881o] {
    margin-left: 4px;
    color: var(--ui-text-soft);
}

.import-fortschritt-aktionen[b-d36apw881o] {
    margin-top: 12px;
}

.import-fertig[b-d36apw881o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    padding: 16px 20px;
    border-radius: 8px;
    background: var(--ui-success-bg);
    color: var(--ui-success);
}

.import-fertig p[b-d36apw881o] {
    margin: 4px 0 0;
    font-size: 13px;
}

/* T-054 (Rudi, 24.10.2026, Variante C): Die Buchungen liegen als eigene Karten direkt auf dem
   Seitenhintergrund — die Liste selbst ist keine Karte mehr, nur ihr Kopf bleibt eine. Weiß auf
   Weiß mit feinem Rahmen war die Ursache der schwachen Trennung. */
.import-zeilenliste[b-d36apw881o],
.import-zeilenliste:hover[b-d36apw881o] {
    background: transparent;
}

.import-zeilenliste > .vc-card-header[b-d36apw881o] {
    background: var(--card-bg);
    border-radius: 8px;
    border-bottom: 0;
}

.import-zeilenliste > .vc-table-empty[b-d36apw881o] {
    background: var(--card-bg);
    border-radius: 8px;
    margin-top: 16px;
}

.import-zeilen[b-d36apw881o] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 0 4px;
}

.import-kuerzungshinweis[b-d36apw881o] {
    padding: 0 0 16px;
}

@media (max-width: 900px) {
    .vc-filter-grid[b-d36apw881o] {
        grid-template-columns: minmax(0, 1fr);
    }

    .vc-filter-grid[b-d36apw881o]  .vc-form-group {
        min-width: 0;
    }
}
/* /Components/Pages/UmsatzImport/Verteilvorlagen.razor.rz.scp.css */
/* Verteilvorlagen-Pflege (AP 5 Teil E).
   Keine Inline-Stile im Markup (Dauergate seit P2-7).

   Anteilsfeld, Summenzeile, urteilende Restanzeige und Fuß-Aktionen stehen als
   vc-anteil-* / vc-verteilung-* in app.css — sie gelten wortgleich auch für den
   Aufteilen-Bereich, und CSS-Isolation wirkt nicht dateiübergreifend. */

/* Eine deaktivierte Vorlage bleibt lesbar, tritt aber zurück — sie ist Archiv,
   kein Fehler. Deshalb gedämpft statt eingefärbt. */
.vorlage.is-inaktiv[b-voxtfuewqe] {
    opacity: 0.72;
}

.vorlage-kopf[b-voxtfuewqe] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.vorlage-kopf h2[b-voxtfuewqe] {
    margin: 0;
}

.vorlage-aktionen[b-voxtfuewqe] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-left: auto;
}

.vorlage-umbenennen[b-voxtfuewqe] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
}

.vorlage-umbenennen > :first-child[b-voxtfuewqe] {
    flex: 1 1 auto;
    max-width: 420px;
}

@media (max-width: 600px) {
    .vorlage-aktionen[b-voxtfuewqe] {
        margin-left: 0;
    }
}
/* /Components/Pages/Vertrag/MeinVertrag.razor.rz.scp.css */
/* Lokaler Upgradebereich: vorhandene dunklere Blautöne für lesbare Aktionszustände. */
#edition[b-3op2if7fxx],
#upgrade-erfolg[b-3op2if7fxx] {
    --accent-blue: var(--ui-action);
    --accent-blue-hover: var(--ui-action-deep);
    --accent-blue-pressed: var(--ui-action-deep);
}

#edition button:focus-visible[b-3op2if7fxx],
#edition input:focus-visible[b-3op2if7fxx],
#upgrade-erfolg a:focus-visible[b-3op2if7fxx] {
    outline: 3px solid var(--ui-action-deep);
    outline-offset: 3px;
}

#edition .vc-card-actions[b-3op2if7fxx] {
    flex-wrap: wrap;
}

#edition button[b-3op2if7fxx] {
    max-width: 100%;
}

#edition .vc-checkbox input[b-3op2if7fxx] {
    flex-shrink: 0;
}

/* Vertragsadressen müssen auch lange E-Mail-Wörter innerhalb ihrer Spalte umbrechen. */
.vc-form-row-grid > div[b-3op2if7fxx] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.vc-card-header[b-3op2if7fxx] {
    flex-wrap: wrap;
}
/* /Components/Pages/Vertrag/VertragAnzeige.razor.rz.scp.css */
.vc-card-header[b-2s7196ejmj] {
    flex-wrap: wrap;
}

.vc-card-meta[b-2s7196ejmj] {
    min-width: 0;
    overflow-wrap: anywhere;
}
/* /Components/Pages/ZweiterFaktor/ZweiterFaktorEinrichten.razor.rz.scp.css */
/* A-03: QR-Code der Einrichtung. Weißer Rand bleibt Teil der Grafik (Ruhezone für Scanner). */
.zf-qr[b-rhhzgs6mmk] {
    width: 220px;
    max-width: 100%;
    margin: 8px 0 16px;
}

.zf-qr[b-rhhzgs6mmk]  svg {
    display: block;
    width: 100%;
    height: auto;
}

.zf-schluessel[b-rhhzgs6mmk] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    letter-spacing: 0.04em;
}

.zf-codes[b-rhhzgs6mmk] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 16px 0;
}

.zf-codes code[b-rhhzgs6mmk] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 14px;
    letter-spacing: 0.04em;
    color: var(--text-dark);
}

/* Hilfeblock „Welche App …“ (03.11.2026): Listenabstände wie in der Hilfe; Farben nur aus den :root-Variablen. */
.zf-hilfe-inhalt[b-rhhzgs6mmk] {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.zf-hilfe-inhalt ol[b-rhhzgs6mmk] {
    padding-left: 22px;
    margin: 8px 0 12px;
}

.zf-hilfe-inhalt li[b-rhhzgs6mmk] {
    margin-bottom: 6px;
}

.zf-hilfe-inhalt strong[b-rhhzgs6mmk] {
    font-weight: 600;
    color: var(--text-dark);
}
/* /Components/Shared/KstAuswahl.razor.rz.scp.css */
/* KstAuswahl — komponenteneigenes CSS (Dashboard-Umbau, 23.09.2026). */

/* Kennzahlen-Karten (MitKennzahlen, nur /budget). Bis 28.09.2026 drei feste Spalten (zwei unter
   1100px), damit die Seite bei zehn und mehr Kostenstellen nicht zu lang wird. Seit der Karte die
   Spalte „Nächste Termine“ rechts neben Budget/Forecast bekommen hat (Rudi, 28.09.2026), braucht
   jede Karte Mindestbreite: Bei 1400px Fenster blieben mit drei Spalten rund 310px Inhalt, und die
   Container-Abfrage in app.css (unter 320px) setzte die Termine unter die Kennzahlen. Jetzt so
   viele Spalten, wie mindestens 440px breit sein können — 1280–1600px: zwei, 1920px: drei,
   schmal: eine. Die Grenze der Container-Abfrage hält KstKennzahlenRasterTests daneben.
   auto-FILL (nicht auto-fit) wie .kst-status-grid (B-4): Bei nur einer Kostenstelle läuft die
   Karte nicht über die ganze Breite. min(100%, …): auf dem Handy nie breiter als der Bildschirm. */
.kst-auswahl-kennzahlen[b-8ibdwwg5r8] {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr));
}

.kst-auswahl-hinweis[b-8ibdwwg5r8] {
    margin: 16px 0 0;
}
/* /Components/Shared/KstStatusKarte.razor.rz.scp.css */
/* KstStatusKarte — komponenteneigenes CSS. Die Grundgestalt der Karte (.kst-status-*)
   bleibt in app.css; hier steht nur, was dort nicht greift. */

/* Restmittel-Farbe (DESIGN_SYSTEM §2.2). Das Bereichs-Attribut dieser Datei hebt die
   Spezifitaet ueber .kst-status-kpi-value aus app.css, das die Farbe sonst ueberschreibt. */
.kst-status-kpi-value.kst-restmittel-negativ[b-proidc0ex7] { color: var(--danger-color); }
.kst-status-kpi-value.kst-restmittel-positiv[b-proidc0ex7] { color: var(--success-color); }
/* /Components/Shared/VcAktionsMenue.razor.rz.scp.css */
/* VcAktionsMenue — Werte ausschließlich aus den :root-Variablen (DESIGN_SYSTEM.md §2, §5.1, §7).
   Das Menü öffnet rechtsbündig unter dem Knopf: Es steht in der letzten Tabellenspalte und wächst
   damit nach links in die Tabelle hinein statt über deren rechten Rand. */
.vc-aktionsmenue[b-aj66f97idl] {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.vc-aktionsmenue > button[b-aj66f97idl] {
    white-space: nowrap;
    background: var(--card-bg);
    color: var(--text-secondary);
    border: 1px solid var(--ui-subtle);
    min-height: 40px;
}

.vc-aktionsmenue > button:hover[b-aj66f97idl],
.vc-aktionsmenue > button[aria-expanded="true"][b-aj66f97idl] {
    background: var(--calc-area-bg);
    color: var(--accent-blue-pressed);
    border-color: var(--accent-blue-pressed);
}

.vc-aktionsmenue > button:focus-visible[b-aj66f97idl] {
    outline: 3px solid var(--accent-blue-pressed);
    outline-offset: 3px;
}

.vc-aktionsmenue > button:active[b-aj66f97idl] {
    background: var(--pressed-bg);
}

.vc-aktionsmenue-flaeche[b-aj66f97idl] {
    position: fixed;
    inset: 0;
    z-index: 20;
    background: transparent;
}

.vc-aktionsmenue-liste[b-aj66f97idl] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 21;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 200px;
    padding: 4px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: var(--ui-shadow-menu);
    text-align: left;
}

.vc-aktionsmenue-punkt[b-aj66f97idl] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background 150ms;
}

.vc-aktionsmenue-punkt:hover[b-aj66f97idl] {
    background: var(--hover-bg);
    color: var(--text-dark);
    text-decoration: none;
}

.vc-aktionsmenue-punkt:focus-visible[b-aj66f97idl],
.vc-aktionsmenue-punkt:focus[b-aj66f97idl] {
    outline: 2px solid var(--accent-blue);
    outline-offset: -2px;
    background: var(--hover-bg);
    color: var(--text-dark);
}

/* Auf schmalen Bildschirmen darf ein links stehender Auslöser die rechtsbündige
   Liste nicht aus dem Viewport schieben. Der mobile Menübereich bleibt vollständig
   erreichbar; lange Bezeichnungen brechen um und viele Aktionen scrollen lokal. */
@media (max-width: 600px) {
    /* Über der schwebenden Hilfe (35), weiterhin unter Navigation und Dialogen. */
    .vc-aktionsmenue-flaeche[b-aj66f97idl] { z-index: 40; }
    .vc-aktionsmenue-liste[b-aj66f97idl] {
        position: fixed;
        inset: auto 16px 16px;
        z-index: 41;
        min-width: 0;
        max-height: calc(100dvh - 32px);
        overflow-y: auto;
    }
    .vc-aktionsmenue-punkt[b-aj66f97idl] {
        min-height: 44px;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
/* /Components/Shared/VcMonatsAuswahl.razor.rz.scp.css */
.vc-monatsauswahl[b-73uheh69w2] { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(5rem,1fr); gap:8px; width:20rem; max-width:100%; }
.vc-monatsauswahl select[b-73uheh69w2] { width:100%; max-width:100%; min-width:0; min-height:40px; }
.vc-monatsauswahl select:focus-visible[b-73uheh69w2] { outline:2px solid var(--ui-focus); outline-offset:2px; }
