/* /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: 12px;
    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);
}
/* /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:#fff; text-decoration:none; }
.btn-primary:hover[b-woez8emqsz], .btn-primary:active[b-woez8emqsz] { background:var(--ui-action-hover); color:#fff; }
.btn-primary:focus-visible[b-woez8emqsz] { outline:3px solid var(--ui-action); outline-offset:3px; }
/* /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).
   Breite, Karten-Optik und die Breitenschwelle stehen zentral in app.css (dort begruendet) —
   hier nur die Anordnung INNERHALB des Bereichs, damit die App die Bauform aus DESIGN_SYSTEM
   §4.3 (Karte in app.css) nicht doppelt definiert. */

.vc-hilfe-panel[b-850hlu3hd3] {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.vc-hilfe-panel-knopf[b-850hlu3hd3] {
    align-self: flex-end;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    margin: 12px;
    border: none;
    border-radius: 10px;
    background: var(--accent-blue);
    color: var(--text-white);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 150ms;
}

.vc-hilfe-panel-knopf:hover[b-850hlu3hd3] {
    background: var(--accent-blue-hover);
}

/* W11 (14.10.2026): Eingeklappt ist der Bereich 48px breit (app.css), innen 46px wegen des
   1px-Rahmens. Mit 12px Rand braeuchte der 32px-Knopf 56px — und weil overflow-y: auto die
   waagerechte Richtung mit auf auto setzt, erschien unter dem Knopf eine Scrollleiste.
   7px Rand ergeben genau 46px; der Fokusring (3px Linie + 3px Abstand) passt weiter hinein.
   overflow: hidden schliesst jede Restbreite aus. */
.vc-hilfe-panel--eingeklappt[b-850hlu3hd3] {
    overflow: hidden;
}

.vc-hilfe-panel--eingeklappt .vc-hilfe-panel-knopf[b-850hlu3hd3] {
    align-self: center;
    margin: 7px;
}

.vc-hilfe-panel-inhalt[b-850hlu3hd3] {
    padding: 0 20px 24px;
    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(--warning-color);
}

.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);
    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: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    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: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    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: #132b4d; 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 mit VC-Monogramm und Schriftzug (Rudi, 24.10.2026); Bild in dreifacher Auflösung. */
.vc-app-logo[b-37360yd7bd] { display: block; height: 36px; width: auto; }
.vc-app-organisation[b-37360yd7bd] { max-width: 240px; padding: 8px 12px; border-radius: 6px; background: #253e61; color: white; font-size: 13px; white-space: nowrap; text-decoration: none; }
.vc-app-organisation:hover[b-37360yd7bd] { color: white; background: #334f75; }
.vc-app-hilfe[b-37360yd7bd] { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid #8ba4c5; border-radius: 6px; background: transparent; color: white; font: inherit; font-size: 13px; cursor: pointer; }
.vc-app-hilfe:hover[b-37360yd7bd], .vc-app-hilfe:active[b-37360yd7bd] { color: white; background: #334f75; }
.vc-app-hilfe svg[b-37360yd7bd] { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.vc-app-search[b-37360yd7bd] { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; color: white; border-radius: 6px; }
.vc-app-search:hover[b-37360yd7bd] { color: white; background: #253e61; }
.vc-app-search svg[b-37360yd7bd] { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.vc-app-navigation[b-37360yd7bd] { flex: 1; min-width: 0; }
.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: 28px; }
.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 #c9dcff; background: #fff; color: #225ed8; font-size: 13px; font-weight: 600; }
.vc-profile-toggle:hover[b-37360yd7bd] { background: #e9f1ff !important; color: #194caf !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: 0 8px 24px #14253f26; 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 88px 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; }
@media (min-width: 851px) and (max-width: 1150px) {
    .vc-app-header[b-37360yd7bd] { gap: 8px; padding-inline: 16px; }
    .vc-app-organisation[b-37360yd7bd] { max-width: 140px; font-size: 11px; padding: 8px; overflow: hidden; text-overflow: ellipsis; }
}
@media (min-width: 851px) and (max-width: 1000px) {
    .vc-app-header[b-37360yd7bd] { gap: 6px; padding-inline: 12px; }
    .vc-app-logo[b-37360yd7bd] { height: 32px; }
    .vc-app-organisation[b-37360yd7bd] { max-width: 120px; font-size: 11px; }
    .vc-app-search[b-37360yd7bd] { width: 32px; }
    .vc-profile-toggle[b-37360yd7bd] { width: 32px; height: 32px; min-height: 32px; }
}
@media (max-width: 1350px) {
    .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: block; }
    .vc-app-search[b-37360yd7bd] { display: none; }
    .vc-app-hilfe[b-37360yd7bd], .vc-app-organisation[b-37360yd7bd] { order: 3; }
    .vc-app-organisation[b-37360yd7bd] { max-width: none; min-height: 40px; display: inline-flex; align-items: center; }
}
@media (max-width: 600px) {
    .vc-app-header[b-37360yd7bd] { padding: 12px 16px; gap: 8px; }
    .vc-app-brand[b-37360yd7bd] { gap: 4px; }
    .vc-app-logo[b-37360yd7bd] { height: 30px; }
    .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 80px 16px 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: #27b5ff; background: #16446b; }
.vc-finance-nav[b-my22bavu2v] { position: relative; }
.vc-quick-nav[b-my22bavu2v] { margin-left: 20px; padding-left: 16px; border-left: 1px solid #7890af; }
.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: 0 8px 24px #14253f26; }
.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); }
.vc-top-nav[b-my22bavu2v]  .vc-nav-tasks { display: none; }
@media (min-width: 851px) and (max-width: 1150px) { .vc-top-nav[b-my22bavu2v]  .vc-nav-item { padding-inline: 8px; font-size: 12px; } .vc-top-nav[b-my22bavu2v] { gap: 0; } }
@media (min-width: 851px) and (max-width: 1000px) { .vc-top-nav[b-my22bavu2v]  .vc-nav-item { padding-inline: 6px; font-size: 11px; } }
@media (max-width: 1350px) {
    .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-quick-nav[b-my22bavu2v] { margin: 0; padding: 0; border-left: 0; }
    .vc-finance-links[b-my22bavu2v] { position: static; min-width: 0; box-shadow: none; }
    .vc-top-nav[b-my22bavu2v]  .vc-nav-tasks { display: flex; }
}
@media (max-width: 420px) { .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 #1d4ed8;
    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: 15px;
    gap: 12px;
}

.aufgaben-leerzustand-icon[b-m2m1s8qxel] {
    font-size: 36px;
    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: 768px) {
    .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 #1d4ed8; background:#eff6ff; }
.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 #1d4ed8; outline-offset:1px; }
.kalender-tag.anderer-monat[b-m2m1s8qxel] { background:var(--surface-alt); color:var(--text-light); }
.kalender-anzahl[b-m2m1s8qxel] { float:right; background:#dbeafe; color:#1e40af; 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 #cbd8e9, getönt #edf3fb, 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: 1.5rem; 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 #cbd8e9; border-radius: 8px; background: #edf3fb; }
.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: #fff; text-decoration: none; } /* deckend: die Bedienzustands-Messung verlangt opake Farben */
.auswertungen-wahl-eintrag.aktiv[b-h3pfvbukln] { background: var(--ui-action); color: #fff; 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 #cbd8e9; border-radius: 8px; background: #fff; }
.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 #cbd8e9; border-radius: 8px; box-shadow: none; }
.auswertung-detail[b-h3pfvbukln]  .vc-card:hover { box-shadow: none; }
.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 #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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 #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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: 1rem;
    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:#fff; }
.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:#fff; }
.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:#fff; 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:1000px) { .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, #4d627b); margin-bottom: 12px; }
.belege-breadcrumb a[b-4ew5brzpgp] { color: #1756af; text-decoration: none; }
.belege-speicher[b-4ew5brzpgp] { background: white; border: 1px solid #d7e0ea; 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: #2563eb; }
.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 #d7e0ea; 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 #d7e0ea; 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: #4d627b; margin: 0 0 12px; }
.belege-freigeben-hinweis[b-4ew5brzpgp] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; background: #e9f1ff; font-size: 14px; flex-wrap: wrap; }
.belege-tabs[b-4ew5brzpgp] { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 20px; border-bottom: 1px solid #d7e0ea; }
.belege-tabs button[b-4ew5brzpgp] { padding: 16px 12px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #4d627b; font: inherit; font-size: 14px; cursor: pointer; }
.belege-tabs button.is-active[b-4ew5brzpgp] { color: #1756af; border-bottom-color: #2563eb; font-weight: 600; }
.belege-tabs button:hover[b-4ew5brzpgp] { color: #163556; background: #eaf2ff; }
.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: #1756af; font: inherit; font-size: 13px; cursor: pointer; text-align: left; }
.belege-textaktion:hover:not(:disabled)[b-4ew5brzpgp] { color: #163556; background: #eaf2ff; }
.belege-textaktion:disabled[b-4ew5brzpgp] { cursor: default; color: #6b7280; }
.belege-tabs button:focus-visible[b-4ew5brzpgp], .belege-textaktion:focus-visible[b-4ew5brzpgp], .belege-dateilink:focus-visible[b-4ew5brzpgp] { outline: 3px solid #1d4ed8; outline-offset: -3px; }
.belege-dateilink[b-4ew5brzpgp] { display: inline-block; min-height: 28px; padding: 4px 0; color: #163556; text-decoration: none; font-weight: 500; overflow-wrap: anywhere; }
.belege-dateilink:hover[b-4ew5brzpgp] { color: #1756af; 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: #4d627b; font-size: 13px; }
.belege-liste .vc-table[b-4ew5brzpgp] { min-width: 680px; }
@media (max-width: 640px) {
    .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:#fff; }
.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:#fff; }
.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:#fff; border:1px solid #cbd5e1; border-radius:12px; overflow:hidden; }
.zuordnung-panel-kopf[b-xfisn97bpo] { padding:16px; border-bottom:1px solid #e2e8f0; }
.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:#fff; color:#14253f; 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:#475569; font-size:12px; margin-top:4px; }
.zuordnung-beleg:hover[b-xfisn97bpo], .zuordnung-buchung:hover[b-xfisn97bpo] { background:#f1f5f9; }
.zuordnung-beleg.ist-ausgewaehlt[b-xfisn97bpo], .zuordnung-buchung.ist-ausgewaehlt[b-xfisn97bpo] { background:#eff6ff; border-color:#225ed8; box-shadow:inset 3px 0 #225ed8; }
.zuordnung-beleg:focus-visible[b-xfisn97bpo], .zuordnung-buchung:focus-visible[b-xfisn97bpo] { outline:3px solid #1d4ed8; 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:#334155; 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:#f8fafc; }
.zuordnung-buchung-aktionen[b-xfisn97bpo] { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:0 16px 12px; font-size:12px; color:#475569; }
.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:#1756af; font:inherit; font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.zuordnung-textaktion:hover:not(:disabled)[b-xfisn97bpo] { color:#0f3f86; }
.zuordnung-textaktion:focus-visible[b-xfisn97bpo] { outline:3px solid #1d4ed8; outline-offset:2px; }
.zuordnung-textaktion:disabled[b-xfisn97bpo] { color:#94a3b8; 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 #e2e8f0; 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:#475569; }
.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 #e2e8f0; font-size:12px; }
.zuordnung-leer[b-xfisn97bpo] { padding:16px; color:#475569; line-height:1.6; }
.zuordnung-hinweis[b-xfisn97bpo] { margin:0; padding:12px 16px; font-size:13px; line-height:1.5; color:#1e3a8a; background:#eff6ff; border-bottom:1px solid #e2e8f0; }
.ohne-beleg .zuordnung-buchung:disabled[b-xfisn97bpo] { cursor:not-allowed; }
.zuordnung-erfolg[b-xfisn97bpo] { padding:12px 16px; border:1px solid #86b89b; border-radius:8px; color:#14532d; background:#f0fdf4; 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:700px) { .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: #4b6280; font-size: 12px; }
.beleg-upload-ergebnisse[b-0wiw1nof4f] { margin-top: 12px; padding: 16px; background: white; border: 1px solid #cbd5e1; 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:#1756af; padding:8px 0; min-height:32px; margin-top:4px; }
.beleg-upload-details > summary:focus-visible[b-0wiw1nof4f] { outline:3px solid #1d4ed8; 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 #e2e8f0; overflow-wrap: anywhere; }
.beleg-upload-liste small[b-0wiw1nof4f] { display: block; color: #4b6280; margin-top: 4px; }
.beleg-upload-fehler[b-0wiw1nof4f] { margin: 6px 0 0; font-size: 13px; color: #92400e; }
.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: 10px;
    background: #eff6ff; color: #14253f;
    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: #334155; }
.beleg-ablage-ziel small[b-0wiw1nof4f] { font-size: 12px; color: #4b6280; }
.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: #dbeafe; }
.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 #e2e8f0; font-size: 12px; color: #4b6280; }
.beleg-stapel--flaeche .vc-alert[b-0wiw1nof4f], .beleg-stapel--flaeche .beleg-upload-ergebnisse[b-0wiw1nof4f] { margin: 0 16px 16px; }
@media (max-width: 640px) {
    .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 #e2e8f0; }
.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:#475569; }
.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:#eef2f6; padding:12px; }
.vorschau-inhalt iframe[b-jmiamjlflr] { width:100%; min-width:0; min-height:520px; border:0; background:#fff; }
.vorschau-inhalt img[b-jmiamjlflr] { width:100%; max-height:640px; object-fit:contain; align-self:flex-start; }
.vorschau-hinweis[b-jmiamjlflr] { padding:16px; color:#475569; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:700px) { .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: 10px;
    overflow: hidden;
    background: #ffffff;
}
/* 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 #cbd5e1; border-radius: 8px; cursor: pointer; }
.kein-beleg-grund:hover[b-ve5pt90o6i] { background: #f1f5f9; }
.kein-beleg-grund:has(input:checked)[b-ve5pt90o6i] { border-color: #225ed8; background: #eff6ff; }
.kein-beleg-grund:focus-within[b-ve5pt90o6i] { outline: 3px solid #1d4ed8; 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: #475569; 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: #225ed8; }
.zurueck-link:hover[b-2nq9ix9d0z] { color: #194caf; }
.zurueck-link:active[b-2nq9ix9d0z] { color: #17468f; }
.zurueck-link:focus-visible[b-2nq9ix9d0z], .benutzer-editor button:focus-visible[b-2nq9ix9d0z], .eigener-passwort-link:focus-visible[b-2nq9ix9d0z] { outline: 2px solid #225ed8; 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 #d7e0ea; 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: #4d627b; }
.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: #4d627b; 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 12px/Schatten, Primary #3B82F6,
   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: #ffffff;
    color: #6B7280;
}

.bestellen-schritte li.ist-erreicht[b-h3mvsbgnjy] {
    color: #1E40AF;
    background: #EFF6FF;
}

.bestellen-schritte li[aria-current="step"][b-h3mvsbgnjy] {
    font-weight: 600;
    color: #ffffff;
    background: #3B82F6;
}

.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: #6B7280;
    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 #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
}

.bestellen-variante.ist-gewaehlt[b-h3mvsbgnjy] {
    border-color: #3B82F6;
    background: #EFF6FF;
}

.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: 640px) {
    .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 #cbd8e9, getönter
   Kopf #edf3fb, 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 #cbd8e9; border-radius: 8px; background: #edf3fb; }
.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: #fff; }

/* 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 #cbd8e9; border-radius: 8px; background: #fff; }
.buchungen-kennzahlen .kpi-card[b-56lyq5ni88] { margin: 0; padding: 14px 20px; border: 0; border-left: 1px solid #cbd8e9; border-radius: 0; background: #fff; box-shadow: none; gap: 4px; min-width: 0; }
.buchungen-kennzahlen .kpi-card:first-child[b-56lyq5ni88] { border-left: 0; }
.buchungen-kennzahlen .kpi-card:hover[b-56lyq5ni88] { box-shadow: none; }
.buchungen-kennzahlen .kpi-label[b-56lyq5ni88] { text-transform: none; letter-spacing: 0; }
.buchungen-kennzahlen .kpi-value[b-56lyq5ni88] { font-size: 22px; }
.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 #cbd8e9; border-radius: 8px; box-shadow: none; }
.buchungen-abschnitt:hover[b-56lyq5ni88] { box-shadow: none; }
.buchungen-abschnitt-kopf[b-56lyq5ni88] { padding: 14px 20px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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 #cbd8e9; }
}
@media (max-width: 650px) {
    /* 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 #cbd8e9; }
    .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: 15px; 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: 1050px) { .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: 30px; 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: #71839d; }
.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: #e0ebff; border: 1px solid #71839d; border-radius: 12px 12px 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: #183b72; border: 1px solid #71839d; border-radius: 10px; font-size: 20px; }
.planung-kartengriff button[draggable][b-hmgwxdlmb1] { cursor: grab; }
.planung-kartengriff button:hover:not(:disabled)[b-hmgwxdlmb1] { background: #eef4ff; border-color: #2059df; }
.planung-kartengriff button:focus-visible[b-hmgwxdlmb1] { outline: 3px solid #2059df; outline-offset: 2px; }
.planung-kartengriff button:disabled[b-hmgwxdlmb1] { opacity: .45; }
.planung-karte--sortieren .planung-kst-link[b-hmgwxdlmb1] { border-radius: 0 0 12px 12px; border-top: 0; }
.planung-kst-link[b-hmgwxdlmb1] { display: block; height: 100%; padding: 24px; background: white; border: 1px solid #cbd9ed; border-radius: 12px; color: var(--ui-ink); text-decoration: none; box-shadow: 0 2px 8px #132b4a08; }
.planung-kst-link:hover[b-hmgwxdlmb1] { border-color: #2563eb; background: #f8fbff; text-decoration: none; }
.planung-kst-link:focus-visible[b-hmgwxdlmb1] { outline: 3px solid #2059df; outline-offset: 3px; }
.planung-kst-link:active[b-hmgwxdlmb1] { background: #edf4ff; }
.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: #2059df; 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 #dce5f2; }
.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: 20px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.planung-negativ[b-hmgwxdlmb1] { color: #b42342; }
.planung-finanzhinweis[b-hmgwxdlmb1] { font-size: 12px; margin: 12px 0 0; }
.planung-naechstes[b-hmgwxdlmb1] { padding-top: 16px; border-top: 1px solid #dce5f2; 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);
    box-shadow: none;
}

.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: #173057; background: var(--ui-bg); font-size: 14px; }
.dash-panorama[b-4789f7abob] { min-height: 230px; background: linear-gradient(90deg, #102e56aa, #102e5633 65%, #102e5655), url('/img/dashboard-see-panorama.png') center 57% / cover; color: white; }
.dash-panorama-inhalt[b-4789f7abob] { max-width: 1520px; min-height: 230px; margin: auto; padding: 40px 40px 32px; 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 0 8px; color: white; font-size: 32px; 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-leitsatz[b-4789f7abob] { margin: 32px 0 0; text-align: right; font-size: 16px; line-height: 1.5; flex-shrink: 0; }
.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 #e2eaf5; 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: #334f78; font-size: 14px; font-weight: 500; white-space: nowrap; }
.dash-bereiche a[aria-current][b-4789f7abob] { border-bottom-color: #2672ee; color: #185ad8; 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: 20px; line-height: 1; }
.dash-inhalt[b-4789f7abob] { max-width: 1520px; padding: 32px; margin: auto; }
.dash-uebersicht h2[b-4789f7abob] { margin: 0; font-size: 22px; 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, #225ed8); 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, #225ed8); 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 #cbd8e9; border-radius: 8px; background: #fff; }
.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 #dce7f5; border-radius: 6px; background: #fff; }
.dash-aufgabe:hover[b-4789f7abob] { border-color: #b5ccef; background: #fbfdff; }
.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: #7c899a; color: white; font-size: 20px; }
.dash-aufgabe-symbol.ist-dringend[b-4789f7abob] { background: #d8354b; }
.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: 28px; 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 #245be5; 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: #50678b; }
.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: #bc2056; }
.dash-positiv[b-4789f7abob] { color: #087b68; }
.dash-finanz[b-4789f7abob] { border-left: 1px solid #e0e8f3; padding-left: 32px; min-width: 0; }
.dash-finanz h2[b-4789f7abob] { padding-bottom: 16px; border-bottom: 2px solid #b9cbe4; }
.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 #e2eaf5; }
.dash-finanzwerte dt[b-4789f7abob], .dash-finanz-kontext dt[b-4789f7abob] { color: #415e87; font-size: 14px; }
.dash-finanzwerte dd[b-4789f7abob] { margin: 0; font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; }
.dash-finanz-kontext dd[b-4789f7abob] { margin: 0; color: #415e87; font-size: 13px; line-height: 1.5; }
.dash-finanz-details[b-4789f7abob] { margin-top: 12px; color: #50678b; 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 #cbd8e9; border-radius: 8px; background: #fff; }
.dash-kostenstellen .dash-abschnittskopf[b-4789f7abob] { margin: -24px -24px 0; padding: 20px 24px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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: #f6f9fc; color: #415e87; font-size: 13px; font-weight: 500; }
.dash-kst-tabelle td[b-4789f7abob] { padding-block: 12px; vertical-align: middle; border-color: #e2eaf5; 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: #eaf2ff; }
.dash-kst-tabelle tbody tr:has(a:active)[b-4789f7abob] { background: #dce9fc; }
.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, #225ed8); }
.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: #50678b; }
.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: #52657e; background: #eef2f7; font-size: 12px; white-space: nowrap; }
.dash-status.green[b-4789f7abob] { color: #08765f; background: #def8ee; }
.dash-status.red[b-4789f7abob] { color: #b81d47; background: #ffe7ed; }
.dash-status.yellow[b-4789f7abob] { color: #8a5900; background: #fff2d6; }
.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 #d9e8fc; border-radius: 6px; background: #eff6ff; }
.dash-einrichtung > summary[b-4789f7abob] { padding: 16px; min-height: 48px; color: #225ed8; font-weight: 500; cursor: pointer; }
.dash-einrichtung[b-4789f7abob]  .vc-card { margin: 0; padding: 12px 16px 24px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.dash-bwa-kopf[b-4789f7abob] { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: -24px; padding: 16px 24px; border-radius: 8px; background: #edf3fb; }
.dash-bwa.offen .dash-bwa-kopf[b-4789f7abob] { margin-bottom: 24px; border-bottom: 1px solid #cbd8e9; 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: #225ed8; }
.dash-umschalter[b-4789f7abob] { font-size: 13px; color: #225ed8; 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 #cbd8e9; border-radius: 8px; background: #fff; box-shadow: none; }
.dash-fristen[b-4789f7abob]  .vc-card-header { margin: -24px -24px 20px; padding: 20px 24px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
@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: 850px) {
    .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; }
    .dash-leitsatz[b-4789f7abob] { display: none; }
}
@media (max-width: 600px) {
    .dash-panorama[b-4789f7abob], .dash-panorama-inhalt[b-4789f7abob] { min-height: 220px; }
    .dash-panorama-inhalt[b-4789f7abob] { padding: 32px 20px; }
    .dash-begruessung h1[b-4789f7abob] { font-size: 27px; }
    .dash-begruessung p[b-4789f7abob] { font-size: 14px; }
    .dash-desktop-umbruch[b-4789f7abob] { display: none; }
    .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: 20px; }
    .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 #cbd8e9, getönt #edf3fb, 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: 1.5rem; 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 #cbd8e9; border-radius: 8px; background: #edf3fb; 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 #cbd8e9; border-radius: 8px; background: #fff; }
.kpi-grid .kpi-card[b-90eqcpx14y] { margin: 0; padding: 14px 18px; border: 0; border-left: 1px solid #cbd8e9; border-radius: 0; box-shadow: none; gap: 6px; }
.kpi-grid .kpi-card:first-child[b-90eqcpx14y] { border-left: 0; }
.kpi-grid .kpi-card:hover[b-90eqcpx14y] { box-shadow: none; }

/* Abschnitte: Diagramm und Kostenarten */
.chart-container[b-90eqcpx14y], .dashboard-kostenarten-card[b-90eqcpx14y] { margin: 0; padding: 0; border: 1px solid #cbd8e9; border-radius: 8px; box-shadow: none; }
.chart-container:hover[b-90eqcpx14y], .dashboard-kostenarten-card:hover[b-90eqcpx14y] { box-shadow: none; }
.chart-container .vc-card-header[b-90eqcpx14y], .dashboard-kostenarten-card .vc-card-header[b-90eqcpx14y] { padding: 14px 20px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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: 980px) {
    .kpi-grid[b-90eqcpx14y] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kpi-grid .kpi-card[b-90eqcpx14y] { border-top: 1px solid #cbd8e9; }
    .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: 560px) {
    .kpi-grid[b-90eqcpx14y] { grid-template-columns: minmax(0, 1fr); }
    .kpi-grid .kpi-card[b-90eqcpx14y] { border-left: 0; border-top: 1px solid #cbd8e9; }
    .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 #b42318; }
[b-kr7bk1w9oh] .vc-input[aria-invalid="true"]:focus { outline: 2px solid #b42318; 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: 28px; 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: 640px) {
    .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%; }
.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-field > .vc-input[b-uqxsxxvxzd] { min-height: 40px; margin: 0; }
.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: 640px) {
    .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: 800px) {
    .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; }
}
@media (max-width: 380px) {
    .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: 0.95rem; 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: 381px) {
    .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 #b42318; }
.vc-personalabgaben[b-uqxsxxvxzd]  .vc-input[aria-invalid="true"]:focus { outline: 2px solid #b42318; outline-offset: 2px; }
.einrichtung-feldfehler[b-uqxsxxvxzd] { display: block; color: #b42318; font-size: .875rem; }
/* /Components/Pages/EinstellungenHub/EinstellungenHub.razor.rz.scp.css */
.verwaltung-workspace[b-mh5qjlqlwg] { max-width: 1280px; 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: 20px; 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: 650px) {
    .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 #cbd8e9, getönt #edf3fb, 16px-Titel). */
.vc-aufgaben-fristen[b-qgb9x1j9yc] { border: 1px solid #cbd8e9; border-radius: 8px; box-shadow: none; 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: #edf3fb; border-bottom: 1px solid #cbd8e9; 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: #506786; 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 #d5e2f4; 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 { box-shadow: none; border-top: 1px solid #d5e2f4; border-right: 1px solid #d5e2f4; border-bottom: 1px solid #d5e2f4; }
@media (max-width: 1000px) {
    .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: 640px) {
    .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: #fc5286;
    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, #d8e0ec);
}
/* /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, Muster A): Werkzeugzeile — Titel links, Knöpfe rechts. Abschnitte und
   Kennzahlen tragen die Bauform der Übersicht (Dashboard.razor.css: Rahmen #cbd8e9, getönter Kopf
   #edf3fb, kein Schatten), damit alle Reiter dieselbe Blockgrammatik zeigen. */
.jahreshochrechnung-kopf[b-32d0lcazin] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px 24px;
}

.jahreshochrechnung-titel[b-32d0lcazin] {
    min-width: 0;
}

.jahreshochrechnung-titelzeile[b-32d0lcazin] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.jahreshochrechnung-kopf h2[b-32d0lcazin] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.jahreshochrechnung-untertitel[b-32d0lcazin] {
    margin: 2px 0 0;
    color: var(--text-muted);
    font-size: 14px;
}

/* W16: Info-Knopf neben der Überschrift — dieselbe Form wie .karte-info im Antrag. */
.jhr-info[b-32d0lcazin] {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 28px; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 10px;
    background: transparent; color: var(--text-secondary); font: 600 11px/1 Georgia, serif; cursor: pointer;
}
.jhr-info > span[b-32d0lcazin] { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid var(--border-strong); border-radius: 50%; }
.jhr-info:hover[b-32d0lcazin] { background: var(--hover-bg); color: var(--accent-blue-pressed); }
.jhr-info[aria-expanded="true"][b-32d0lcazin] { background: var(--pressed-bg); color: var(--accent-blue-pressed); }
.jhr-info:focus-visible[b-32d0lcazin] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 2px; }
.jahreshochrechnung-info[b-32d0lcazin] { display: grid; gap: 6px; margin-top: 4px; 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: #edf3fb;
    border: 1px solid #cbd8e9;
    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 #cbd8e9;
    border-radius: 8px;
    background: #fff;
}

.jahreshochrechnung-kpi[b-32d0lcazin] {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 16px 20px;
    border: 0;
    border-left: 1px solid #cbd8e9;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

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

.jahreshochrechnung-kpi:hover[b-32d0lcazin] {
    box-shadow: none;
}

.jahreshochrechnung-kpi strong[b-32d0lcazin] {
    font-size: 1.5rem;
    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: .8rem;
}

.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 #cbd8e9;
    border-radius: 12px;
    box-shadow: none;
}

.jahreshochrechnung-tabelle-card:hover[b-32d0lcazin] {
    box-shadow: none;
}

.jahreshochrechnung-tabelle-card .vc-card-header[b-32d0lcazin] {
    padding: 20px 24px;
    border-bottom: 1px solid #cbd8e9;
    border-radius: 12px 12px 0 0;
    background: #fff;
}

.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;
}

/* W2 (Rudi, 14.10.2026): "wenn ich weiter nach unten scrolle weiss ich nicht mehr, was welche
   Spalte ist." Der Spaltenkopf ist app-weit schon sticky (app.css, .vc-table thead th), griff
   hier aber nie: .vc-table-wrapper hat overflow-x:auto und ist damit der Bezugsrahmen fuer
   top:0 — einer, der senkrecht nie scrollt. Wie bei der BWA (.bwa-table-container) bekommt die
   Tabelle deshalb eine eigene, bildschirmhohe Scrollflaeche; darin klebt der Kopf. overflow:auto
   in BEIDE Richtungen, damit das waagerechte Scrollen schmaler Bildschirme erhalten bleibt. */
.jahreshochrechnung-tabelle-card .vc-table-wrapper[b-32d0lcazin] {
    max-height: calc(100vh - 160px);
    overflow: 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: 16px 16px 16px 32px;
    border-bottom: 1px solid var(--border-light);
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
}

/* ── 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 #b6c7df;
    background: #e9f0ff;
    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 #e8effb;
}

.jahreshochrechnung-tabelle tbody.jhr-abschnitt--ertraege tr.jhr-abschnitt-kopf th[b-32d0lcazin] {
    background: #e9f5f1;
    border-left: 5px solid #16775c;
    color: #164b3c;
}

/* Blau kennzeichnet den Aufwandsabschnitt; Warnfarben bleiben der Bewertung vorbehalten. */
.jahreshochrechnung-tabelle tbody.jhr-abschnitt--aufwand tr.jhr-abschnitt-kopf th[b-32d0lcazin] {
    background: #e9f0ff;
    border-left: 5px solid #2059df;
    color: #173d80;
}

/* ── 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 #bdcce2;
    border-bottom: 1px solid #cdd9e9;
    background: #e3ebf7;
    color: #213b60;
    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] {
    font-size: 13px;
}

.jahreshochrechnung-tabelle th.jhr-position .vc-cell-secondary[b-32d0lcazin] {
    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 #9aafce;
    border-bottom: 0;
    background: #dfe9f8;
    color: #172c45;
    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: #173d80;
    background: #edf3ff;
    font-weight: 600;
}

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

.jahreshochrechnung-guenstig[b-32d0lcazin] {
    color: #14733f;
}

.jahreshochrechnung-unguenstig[b-32d0lcazin] {
    color: #b4233c;
}

/* 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: #14733f;
}

.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: #b4233c;
}

/* ── 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: 15px;
    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: #fff;
    box-shadow: 6px 0 8px rgba(17, 24, 39, .04);
}

.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. */
.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 #BFDBFE;
    border-radius: 8px;
    background: var(--calc-area-bg);
    color: var(--calc-area-text);
    font-size: .875rem;
}

.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: .75rem;
}

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

    .jahreshochrechnung-kopf[b-32d0lcazin] {
        align-items: stretch;
        flex-direction: column;
    }

    .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 #cbd8e9;
    }

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

/* W15 (16.10.2026): Monatskacheln „IST-Daten vollständig bis" — Layoutmuster Variante A. */
.jahreshochrechnung-monatskacheln[b-32d0lcazin] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.jahreshochrechnung-monatskacheln-label[b-32d0lcazin] { font-size: 13px; color: var(--text-secondary); margin-right: 4px; white-space: nowrap; }
.jhr-monat[b-32d0lcazin] {
    position: relative; min-width: 58px; padding: 5px 9px; border-radius: 8px;
    border: 1px solid var(--border-strong); background: #fff; color: var(--text-dark);
    font: inherit; font-size: 13px; line-height: 1.2; text-align: center; cursor: pointer;
}
.jhr-monat small[b-32d0lcazin] { display: block; font-size: 11px; color: var(--text-muted); }
.jhr-monat:hover[b-32d0lcazin] { filter: brightness(.97); }
.jhr-monat:focus-visible[b-32d0lcazin] { outline: 2px solid var(--accent-blue-pressed); outline-offset: 2px; }
.jhr-monat--ist[b-32d0lcazin] { background: #d9f7f0; border-color: var(--success-color); color: #064e3b; }
.jhr-monat--ist small[b-32d0lcazin] { color: #0a8f78; }
.jhr-monat--luecke[b-32d0lcazin] { background: #fff3d6; border-color: var(--warning-color); color: #7c4a00; }
.jhr-monat--erwartung[b-32d0lcazin] { border-color: var(--border-color); color: var(--text-muted); }
.jhr-monat--hat-ist[b-32d0lcazin]::before { content: ""; position: absolute; top: 5px; left: 5px; width: 6px; height: 6px; border-radius: 50%; background: var(--success-color); }
.jhr-monat--stand[b-32d0lcazin] { box-shadow: 0 0 0 2px var(--accent-blue); border-color: var(--accent-blue); }
.jhr-monat--stand[b-32d0lcazin]::after {
    content: "✓"; position: absolute; top: -8px; right: -6px; width: 18px; height: 18px; border-radius: 50%;
    background: var(--accent-blue); color: #fff; font-size: 11px; line-height: 18px;
}
/* W16-Sichtprüfung 17.10.2026: Erklärung unter der ganzen Kopfzeile. */
.jahreshochrechnung-kopf[b-32d0lcazin] { flex-wrap: wrap; }
.jahreshochrechnung-info[b-32d0lcazin] { flex: 1 1 100%; max-width: none; margin-top: 8px; }
/* /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: #17468f; }
.kostenarten-liste .vc-text-btn--danger[b-k7g4ymt09m] { color: #b91c1c; }
.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: #991b1b; }
.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, #fff);
    border: 1px solid var(--ui-line, #d7e0ea);
    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; box-shadow: none; gap: 6px; }
.vc-kst-kopf[b-ymz1oj2jdh]  .kontext-kstname { font-size: 22px; }
/* 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; }

/* Reiter: Unterstrich statt Pillen, bündig am unteren Rand des Kopfs. */
.vc-pill-tabs--kopf[b-ymz1oj2jdh] {
    margin: 0;
    gap: 0;
    padding: 0 8px;
    border-top: 1px solid var(--ui-line, #d7e0ea);
}
.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, #4d627b);
    font-size: 13.5px;
    white-space: nowrap;
}
.vc-pill-tabs--kopf .vc-pill-tab:hover:not(:disabled)[b-ymz1oj2jdh] { background: transparent; color: var(--ui-ink, #162941); }
.vc-pill-tabs--kopf .vc-pill-tab.active[b-ymz1oj2jdh] { background: transparent; color: var(--ui-action, #225ed8); border-bottom-color: var(--ui-action, #225ed8); }
.vc-pill-tabs--kopf .vc-pill-tab:focus-visible[b-ymz1oj2jdh] { outline: 2px solid var(--ui-action, #225ed8); 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: 800px) {
    .vc-kontextleiste-zeitraumwahl[b-ymz1oj2jdh] { flex-basis: 100%; }
    .vc-kst-filter[b-ymz1oj2jdh] { flex-direction: column; align-items: stretch; gap: 6px; }
}
@media (max-width: 640px) {
    .vc-kst-kopf-zeile[b-ymz1oj2jdh] { padding: 12px 14px; }
    .vc-kst-kopf[b-ymz1oj2jdh]  .kontext-kstname { font-size: 20px; }
    .vc-pill-tabs--kopf[b-ymz1oj2jdh] { padding: 0 4px; }
    .vc-pill-tabs--kopf .vc-pill-tab[b-ymz1oj2jdh] { padding: 10px 10px; font-size: 13px; }
}
/* /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 #cbd8e9, getönt #edf3fb, 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: 1.5rem; 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 #cbd8e9; border-radius: 8px; background: #fff; 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 #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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: 640px) {
    .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: #eaf2ff; }
.kostenstellen-tabelle tbody tr:has(a:active)[b-52ag2fovdh] { background: #dce9fc; }
.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, #225ed8); }
/* /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 #cbd8e9, getönt #edf3fb). */
.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: 1.5rem; 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 #cbd8e9; border-radius: 8px; background: #fff; }
.laufend-kpis .kpi-card[b-ulw86ct9cd] { margin: 0; padding: 14px 18px; border: 0; border-left: 1px solid #cbd8e9; border-radius: 0; box-shadow: none; gap: 6px; }
.laufend-kpis .kpi-card:first-child[b-ulw86ct9cd] { border-left: 0; }
.laufend-kpis .kpi-card:hover[b-ulw86ct9cd] { box-shadow: none; }

.laufend-abschnitt[b-ulw86ct9cd] { margin: 0; padding: 0; border: 1px solid #cbd8e9; border-radius: 8px; box-shadow: none; }
.laufend-abschnitt:hover[b-ulw86ct9cd] { box-shadow: none; }
.laufend-abschnitt .vc-card-header[b-ulw86ct9cd] { padding: 14px 20px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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: #edf3fb; font-weight: 600; }
.laufend-gruppe th[b-ulw86ct9cd], .laufend-gruppe td[b-ulw86ct9cd] { font-weight: 600; background: #f6f9fe; }
.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 #cbd8e9; }
.laufend-ergebnis th[b-ulw86ct9cd], .laufend-ergebnis td[b-ulw86ct9cd] { font-weight: 600; border-top: 2px solid #cbd8e9; }
.laufend-summe th[b-ulw86ct9cd], .laufend-ergebnis th[b-ulw86ct9cd] { text-align: left; }

@media (max-width: 980px) {
    .laufend-kpis[b-ulw86ct9cd] { grid-template-columns: minmax(0, 1fr); }
    .laufend-kpis .kpi-card[b-ulw86ct9cd] { border-left: 0; border-top: 1px solid #cbd8e9; }
    .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; }
/* /Components/Pages/MandantBenutzerVerwaltung.razor.rz.scp.css */
.benutzer-link[b-y8rokf0d9o] { display: inline-flex; align-items: center; min-height: 32px; color: var(--ui-ink, #162941); text-decoration: none; }
.benutzer-link:hover[b-y8rokf0d9o] { color: #194caf; text-decoration: underline; }
.benutzer-link:active[b-y8rokf0d9o] { color: #17468f; }
.benutzer-link:focus-visible[b-y8rokf0d9o] { outline: 2px solid #225ed8; outline-offset: 3px; border-radius: 3px; }
/* /Components/Pages/Mehrjahr/Mehrjahresvergleich.razor.rz.scp.css */
.vc-budget-header-card[b-hr7v6dkhfd] { padding: 0; border: 1px solid #cbd8e9; box-shadow: none; }
.vc-card-header[b-hr7v6dkhfd] { flex-wrap: wrap; gap: 16px 24px; }
.vc-card-header h2[b-hr7v6dkhfd] { margin: 0; font-size: 20px; line-height: 1.4; }
.vc-card-header-actions[b-hr7v6dkhfd] { min-width: 0; }
.jahr-pill.active[b-hr7v6dkhfd] { background: #2059df; border-color: #2059df; }
.jahr-pill:focus-visible[b-hr7v6dkhfd] { outline: 3px solid #2059df; 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 #cbd8e9, getönter Kopf #edf3fb,
   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: 1.5rem; 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 #cbd8e9; border-radius: 8px; background: #edf3fb; }
.nachweis-prozessleiste:not(.nachweis-prozessleiste--kompakt) > .nachweis-schritte[b-25axamhk6j] { flex: 1 1 100%; padding: 8px 14px; border: 1px solid #cbd8e9; border-radius: 8px; background: #edf3fb; }
.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: #1e40af; font-weight: 600; }
.nachweis-schritte button:hover[b-25axamhk6j] { background: #fff; }
.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: #fff; border: 1px solid #cbd8e9; color: #374151; font-size: 12px; font-weight: 600; }
[aria-current=step] .nachweis-schrittnummer[b-25axamhk6j] { color: white; background: #1d4ed8; border-color: #1d4ed8; }

/* 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 #cbd8e9; border-radius: 8px; background: #fff; }
.nachweis-zusammenfassung .kpi-card[b-25axamhk6j] { margin: 0; padding: 14px 20px; border: 0; border-left: 1px solid #cbd8e9; border-radius: 0; background: #fff; box-shadow: none; gap: 4px; }
.nachweis-zusammenfassung .kpi-card:first-child[b-25axamhk6j] { border-left: 0; }
.nachweis-zusammenfassung .kpi-card:hover[b-25axamhk6j] { box-shadow: none; }
.nachweis-zusammenfassung .kpi-label[b-25axamhk6j] { text-transform: none; letter-spacing: 0; }
.nachweis-zusammenfassung .kpi-value[b-25axamhk6j] { font-size: 22px; }
.nachweis-zusammenfassung .kpi-sub[b-25axamhk6j] { color: #4b5563; }
.nachweis-zusammenfassung-hinweis[b-25axamhk6j] { grid-column: 1 / -1; margin: 0; padding: 8px 20px 10px; border-top: 1px solid #cbd8e9; font-size: 12px; color: #4b5563; }

/* 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 #cbd8e9; border-radius: 8px; background: #fff; min-width: 0; }
.nachweis-abschnitt-kopf[b-25axamhk6j] { padding: 14px 20px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.nachweis-abschnitt-inhalt[b-25axamhk6j] { padding: 16px 20px 20px; }
.nachweis-schritt-label[b-25axamhk6j] { color: #1d4ed8; 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] { box-shadow: none; 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: #4b5563; }
.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: #1e40af; background: #fff; border: 1px solid #8293ad; font-size: 12px; padding: 8px; white-space: normal; }
.nachweis-status[b-25axamhk6j] { color: #4b5563; 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: #1d4ed8; }
.nachweis-buchung.excluded[b-25axamhk6j] { opacity: 1; text-decoration: none; }
.nachweis-buchung .datum[b-25axamhk6j], .nachweis-buchung.excluded .betrag[b-25axamhk6j] { color: #4b5563; }
.nachweis-buchung .zweck[b-25axamhk6j] { overflow-wrap: anywhere; }
.nachweis-buchung small[b-25axamhk6j] { display: block; color: #4b5563; font-size: 12px; margin-top: 4px; }
.nachweis-buchung .betrag[b-25axamhk6j] { white-space: nowrap; }
.nachweis-mehr-laden[b-25axamhk6j] { min-height: 40px; color: #1d4ed8; }
.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 #1d4ed8; outline-offset: 3px; }
.nachweis-flow .btn-primary[b-25axamhk6j] { color: white; background: #2563eb; }
.nachweis-flow .btn-primary:hover[b-25axamhk6j] { background: #1d4ed8; }
.nachweis-flow .btn-primary:active[b-25axamhk6j] { background: #1e40af; }
@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 #cbd8e9; }
    .nachweis-zusammenfassung .kpi-card:first-child[b-25axamhk6j] { border-top: 0; }
}
@media (max-width: 650px) {
    .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-subtle, #e2e8f0);
}

.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 #cbd8e9; border-radius: 8px; box-shadow: none; }
.vn-karte:hover[b-boyldospwt] { box-shadow: none; }
.vn-karte .vc-card-header[b-boyldospwt] { padding: 14px 20px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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: 550px) {
    .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 #b8c8dd; color: #172c45; 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, #cbd5e1); }
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: 420px) { 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: #b91c1c; }
/* /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(--vc-border, #dbe2ec); border-radius: .5rem; 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: .8125rem; color: var(--vc-text-muted, #52647b); }
@media (max-width: 1000px) { .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: 12px; background: var(--card-bg); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); }
.pk-kachel--summe[b-5jyewcryde] { background: var(--calc-area-bg); }
.pk-wert[b-5jyewcryde] { font-size: 22px; 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: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); 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: 15px; 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: #ecfdf5; }
.pk-kachel--ist .pk-wert[b-5jyewcryde] { color: #059669; }
.pk-nr--ist[b-5jyewcryde] { width: auto; padding: 0 8px; border-radius: 999px; font-size: 10px; letter-spacing: 0.3px; background: #ecfdf5; color: #059669; }
.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: #059669; }
/* /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: #fff; }
.vc-zeitstrahl-table tbody td[b-12fyyn1jen] { border-top: 1px solid #cbd8e9; border-bottom: 1px solid #cbd8e9; vertical-align: top; }
.vc-zeitstrahl-table tbody td:first-child[b-12fyyn1jen] { border-left: 1px solid #cbd8e9; border-radius: 10px 0 0 10px; background: #edf3fb; padding: 12px 14px; }
.vc-zeitstrahl-table tbody td:last-child[b-12fyyn1jen] { border-right: 1px solid #cbd8e9; border-radius: 0 10px 10px 0; background: #f8fafc; padding-top: 12px; }
.vc-zeitstrahl-table tbody td:first-child .vc-cell-primary[b-12fyyn1jen] { display: block; font-size: 15px; font-weight: 600; color: #162941; }
.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 #cbd8e9; }
.vc-zeitstrahl-table tfoot td:first-child[b-12fyyn1jen] { border-left: 1px solid #cbd8e9; border-radius: 10px 0 0 10px; }
.vc-zeitstrahl-table tfoot td:last-child[b-12fyyn1jen] { border-right: 1px solid #cbd8e9; border-radius: 0 10px 10px 0; }

/* 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: #ecfdf5; }
.vc-zeitstrahl-kosten--ist[b-12fyyn1jen] { color: #059669; font-weight: 600; }
.vc-zeitstrahl-kosten--ist small[b-12fyyn1jen] { font-size: 10px; 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: #fffbeb; }
.vc-zeitstrahl-monat.is-ist-luecke .vc-zeitstrahl-plan[b-12fyyn1jen] { color: #b45309; }
.vc-zeitstrahl-legende[b-12fyyn1jen] { margin-top: -6px; }
.vc-zeitstrahl-legende-ist[b-12fyyn1jen] { color: #059669; font-weight: 600; }
.vc-zeitstrahl-legende-luecke[b-12fyyn1jen] { color: #b45309; font-weight: 600; }

/* U6, Block 8 (18.10.2026, Muster A): Werkzeugzeile, Prozessleiste, Kennzahlenzeile, Abschnitt — dieselbe
   Blockgrammatik wie die übrigen Reiter (Rahmen #cbd8e9, getönter Kopf #edf3fb, 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: 1.5rem; 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 #cbd8e9; border-radius: 8px; background: #edf3fb; }
.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: #fff; }
.personal-bereich[aria-pressed=true][b-12fyyn1jen] { background: var(--ui-action); color: #fff; 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: #fff; }
.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 #cbd8e9; border-radius: 8px; background: #fff; }
.personal-kennzahlen .kpi-card[b-12fyyn1jen] { margin: 0; padding: 14px 20px; border: 0; border-left: 1px solid #cbd8e9; border-radius: 0; background: #fff; box-shadow: none; gap: 4px; min-width: 0; }
.personal-kennzahlen .kpi-card:first-child[b-12fyyn1jen] { border-left: 0; }
.personal-kennzahlen .kpi-card:hover[b-12fyyn1jen] { box-shadow: none; }
.personal-kennzahlen .kpi-label[b-12fyyn1jen] { text-transform: none; letter-spacing: 0; }
.personal-kennzahlen .kpi-value[b-12fyyn1jen] { font-size: 22px; }
.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 #cbd8e9; border-radius: 8px; box-shadow: none; }
.personal-abschnitt:hover[b-12fyyn1jen] { box-shadow: none; }
.personal-abschnitt-kopf[b-12fyyn1jen] { padding: 14px 20px; border-bottom: 1px solid #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.personal-abschnitt-kopf h2[b-12fyyn1jen] { margin: 0; font-size: 16px; }
.personal-ist-rahmen[b-12fyyn1jen]  .vc-card { margin: 0; border: 1px solid #cbd8e9; border-radius: 8px; box-shadow: none; }
.personal-ist-rahmen[b-12fyyn1jen]  .vc-card:hover { box-shadow: none; }
/* 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 #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.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 #cbd8e9; }
    .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 #cbd8e9; }
    .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, #94A3B8);
    border-radius: 50%;
    background: transparent;
    color: var(--text-secondary, #475569);
    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: #1D1E33;
    color: #fff;
    font: 400 12px/1.4 Inter, sans-serif;
    text-align: left;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.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: 1.0625rem;
    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: 760px) {
    .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: .875rem; color: var(--ui-action, #225ED8); 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, #D7E0EA); margin: 0 0 24px; }
.personal-reiter a[b-y1knbo7z04] { padding: 10px 16px; border-bottom: 3px solid transparent; color: var(--ui-muted, #4D627B);
    font-weight: 600; text-decoration: none; }
.personal-reiter a:hover[b-y1knbo7z04] { color: var(--ui-action-hover, #194CAF); }
.personal-reiter a.aktiv[b-y1knbo7z04] { color: var(--ui-action, #225ED8); border-bottom-color: var(--ui-action, #225ED8); }
.personal-reiter a:focus-visible[b-y1knbo7z04] { outline: 2px solid var(--ui-focus, #225ED8); outline-offset: -2px; }
/* /Components/Pages/PersonalMandant/PersonalMandantUebersicht.razor.rz.scp.css */
.personal-mandant h3[b-oe781o4yc1] { margin: 16px 0 8px; font-size: 1rem; }
.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, #cbd5e1); border-radius: 12px; background: #fff; overflow: hidden; box-shadow: 0 2px 5px rgb(18 41 65 / 5%); }
/* 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, #cbd5e1); }
.mitarbeiter-kopf.bedarf[b-oe781o4yc1] { background: #fff9ed; }
.mitarbeiter-kopf.vollstaendig[b-oe781o4yc1] { background: #edf8f3; }
.mitarbeiter-kopf.klickbar[b-oe781o4yc1] { cursor: pointer; }
.mitarbeiter-kopf.klickbar:hover[b-oe781o4yc1] { box-shadow: inset 0 0 0 1px var(--ui-action, #225ed8); }
.mitarbeiter-kopf .btn-secondary[b-oe781o4yc1] { background: #fff; color: var(--ui-action-hover, #194caf); border-color: #71839d; min-height: 32px; padding: 7px 12px; }
.mitarbeiter-kopf .btn-secondary:hover[b-oe781o4yc1] { background: #eef4ff; color: var(--ui-action-hover, #194caf); border-color: var(--ui-action-hover, #194caf); }
.mitarbeiter-kopf .btn-secondary:focus-visible[b-oe781o4yc1] { outline: 3px solid var(--ui-focus, #225ed8); outline-offset: 3px; }
.mitarbeiter-kopf .btn-secondary:active[b-oe781o4yc1] { background: #e0ebff; }
.mitarbeiter-name[b-oe781o4yc1] { display: flex; flex-direction: column; gap: 4px; }
.mitarbeiter-name .name[b-oe781o4yc1] { font-size: 1.2rem; font-weight: 700; }
.mitarbeiter-kopf dl[b-oe781o4yc1] { margin: 0; }
.mitarbeiter-kopf dt[b-oe781o4yc1] { color: var(--ui-muted, #4d627b); font-size: .8125rem; }
.mitarbeiter-kopf dd[b-oe781o4yc1] { margin: 4px 0 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.stundenstatus[b-oe781o4yc1] { border: 1px solid #9bcfb6; background: #e0f4e9; color: #17573b; padding: 7px 12px; border-radius: 6px; font-size: .8125rem; font-weight: 600; }
.stundenstatus.offen[b-oe781o4yc1] { border-color: #edc378; background: #fff1d5; color: #875100; }
.stundenstatus.zuviel[b-oe781o4yc1] { border-color: #e5a6b6; background: #ffe9ef; color: #a92549; }
.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, #cbd5e1); 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: #fff; }
.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: #FFE9EF; color: #C2255C; font-weight: 600; }
.stundenplan td.offen[b-oe781o4yc1] { background: #FFF6DB; }
.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, #cbd5e1); background: #fff; border-radius: 999px; padding: 6px 14px;
    cursor: pointer; font: inherit; font-size: .875rem; color: var(--ui-ink, #162941); }
.filterchip.aktiv[b-oe781o4yc1] { background: var(--ui-selected, #E9F1FF); border-color: var(--ui-action, #225ED8);
    color: var(--ui-action-hover, #194CAF); 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, #D7E0EA); border-radius: 8px; padding: 10px 14px; background: var(--ui-bg, #F7F9FC); }
.kennzahlen dt[b-oe781o4yc1] { font-size: .8125rem; color: var(--ui-muted, #4D627B); }
.kennzahlen dd[b-oe781o4yc1] { margin: 0; font-size: 1.125rem; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.kennzahlen .achtung dd[b-oe781o4yc1], .offen[b-oe781o4yc1] { color: var(--ui-warning, #9A5B00); 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, #225ED8); text-decoration: underline; }
tr.klickbar[b-oe781o4yc1] { cursor: pointer; }
tr.klickbar:hover td[b-oe781o4yc1] { background: var(--ui-bg, #F7F9FC); }
tr.klickbar.geoeffnet:hover td[b-oe781o4yc1] { background: var(--ui-selected, #E9F1FF); }
.klein[b-oe781o4yc1], .hinweis[b-oe781o4yc1] { font-size: .8125rem; color: var(--ui-muted, #4D627B); }
.kennzahlen .klein[b-oe781o4yc1] { font-weight: 400; }
.chip[b-oe781o4yc1] { display: inline-block; padding: 2px 10px; margin: 2px 6px 2px 0; border: 1px solid #BCD0F5; border-radius: 999px;
    background: var(--ui-selected, #E9F1FF); font-size: .8125rem; 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, #E9F1FF); }
tr.detailzeile > td[b-oe781o4yc1] { background: var(--ui-bg, #F7F9FC); padding: 8px 24px 20px; }
.zuordnungen[b-oe781o4yc1] { background: #fff; }
.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: 800px) { .filterchips[b-oe781o4yc1] { margin-left: 0; } tr.detailzeile > td[b-oe781o4yc1] { padding: 8px 12px 16px; } }

@media (max-width: 1200px) {
    .mitarbeiter-kopf[b-oe781o4yc1] { grid-template-columns: minmax(12rem, 2fr) 1fr 1fr; gap: 12px 20px; }
    .stundenstatus[b-oe781o4yc1] { justify-self: start; }
}
@media (max-width: 650px) {
    .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: #f1f5fa; 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: #7b8ba2; }

/* 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: 10px; 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: 10px; background: #f8fafd; 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 #f2d9a6; border-radius: 10px; background: #fff7e6; }
.besetzung-frage legend[b-131g7qhp7c] { padding: 0 6px; font-size: 15px; font-weight: 600; color: #7a4a00; }
.besetzung-frage p[b-131g7qhp7c] { margin: 0; font-size: 14px; color: #5b4a2a; }
.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: 10px; }
.besetzung-summen span[b-131g7qhp7c] { display: block; font-size: 12px; color: var(--ui-muted); }
.besetzung-summen strong[b-131g7qhp7c] { font-size: 20px; 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: 2px; 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 #7b8ba2; border-radius: 8px; }
.besetzung-bearbeiten h3[b-131g7qhp7c] { margin-top: 0; }
[hidden][b-131g7qhp7c] { display: none !important; }
@media (max-width: 768px) {
    .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: #eff6ff; border-radius: 8px; }
.verteilung-zahlen dt[b-rwd4tu85vk] { font-size: 12px; color: #374151; }
.verteilung-zahlen dd[b-rwd4tu85vk] { margin: 8px 0 0; font-size: 20px; 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 #7b8ba2; border-radius: 12px; 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: #7b8ba2; }
.verteilung-editor .vc-table-wrapper[b-rwd4tu85vk] { margin: 0; padding: 0 16px 16px; }
.verteilung-editor table input[b-rwd4tu85vk] { width: 88px; }
.verteilung-verlauf[b-rwd4tu85vk] { border-top: 1px solid #cbd5e1; 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: 760px) { .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 #cbd5e1; 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 #BCD0F5; border-radius: 8px; background: var(--ui-selected, #E9F1FF);
    font-variant-numeric: lining-nums tabular-nums; }
.gesamtsumme span[b-7lnjaq2dql] { font-size: .8125rem; }
.gesamtsumme strong[b-7lnjaq2dql] { font-size: 1.25rem; 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: #EFF6FF; }
.hinweis[b-7lnjaq2dql] { font-size: .8125rem; color: var(--vc-text-muted, #52647b); }
.aktionen[b-7lnjaq2dql] { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
@media (max-width: 1000px) {
    .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: 650px) { .eingaben[b-7lnjaq2dql], .betraege[b-7lnjaq2dql] { grid-template-columns: minmax(0, 1fr); } }
/* /Components/Pages/Personalzahlungen/Personalzahlungen.razor.rz.scp.css */
.personalzahlungen[b-hwebsh0p5e] { max-width: 1280px; 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. */
.aktionen[b-hwebsh0p5e]  .vc-form-group { margin-bottom: 0; }
.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: 10px; 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, #225ed8); 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, #225ed8); 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: 650px) { .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: 20px; 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: 10px; 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: 20px; 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: 12px; }
.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: 10px; background: var(--calc-area-bg); color: var(--calc-area-text); font-size: 13px; }

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

@media (max-width: 640px) {
    .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: 12px; box-shadow: 0 2px 8px #132b4a08; 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; box-shadow: none; padding: 24px 0; }
.fz-uebersicht .zeitraum-zeile:has(> .zeitraum-name + .knoepfe)[b-ryx7jafzhs] { grid-template-columns: minmax(0,1fr) auto; }
@media (max-width: 650px) { .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: #2059df; color: white; border: 1px solid #1749be; 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: #1749be; }
.kostenpositionen-auswahl[b-ap0qcsbe0n]  .kostenpositionen-hinzufuegen:focus-visible { outline: 3px solid #173f91; outline-offset: 3px; }
.kostenpositionen-werkzeuge button[b-ap0qcsbe0n] { min-height: 44px; padding: 10px 16px; background: white; border: 1px solid #71839d; color: #183b72; }
.kostenpositionen-werkzeuge button:hover:not(:disabled)[b-ap0qcsbe0n] { background: #eef4ff; border-color: #2059df; }
.za-tabelle[b-ap0qcsbe0n] { min-width: 720px; border: 1px solid #c4d1e3; border-radius: 10px; overflow: hidden; }
.za-tabelle th[b-ap0qcsbe0n] { padding: 14px 16px; background: #e9eff8; color: #18334f; border-bottom: 1px solid #a9bad2; font-weight: 600; }
.za-tabelle td[b-ap0qcsbe0n] { padding: 16px; border-bottom: 1px solid #d7e1ee; background: white; }
.za-tabelle td:first-child[b-ap0qcsbe0n] { font-weight: 500; min-width: 200px; }
.za-tabelle .kostenpositionen-plan[b-ap0qcsbe0n] { background: #eef4ff; min-width: 170px; }
.za-tabelle td.gedaempft[b-ap0qcsbe0n] { background: #f4f6f9; color: #4c6078; }
.za-tabelle td[b-ap0qcsbe0n]  input.vc-input { min-height: 42px; padding: 10px 12px; background: white; border: 1px solid #71839d; border-radius: 7px; color: #172c45; }
.za-tabelle td[b-ap0qcsbe0n]  input:focus-visible { outline: 3px solid #2059df; outline-offset: 2px; }
.za-tabelle td[b-ap0qcsbe0n]  input:disabled { background: #edf0f5; color: #4c6078; }
.za-tabelle td[b-ap0qcsbe0n]  input.betrag-feld { width: 160px; font-size: 15px; 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: #e9eff8; border-top: 2px solid #a9bad2; border-bottom: 0; font-weight: 600; }
.za-tabelle .unter[b-ap0qcsbe0n] { display: block; font-size: 12px; color: #4c6078; 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: #f1f5fb; border-radius: 12px; 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: #405675; font-size: 13px; padding: 12px 16px 4px; border: 0; }
.za-tabelle tbody td[b-2eqbouhz3y] { background: white; border-top: 1px solid #b9c9df; border-bottom: 1px solid #b9c9df; padding: 18px 16px; vertical-align: middle; }
.za-tabelle tbody td:first-child[b-2eqbouhz3y] { border-left: 4px solid #2059df; border-radius: 9px 0 0 9px; font-weight: 600; }
.za-tabelle tbody td:last-child[b-2eqbouhz3y] { border-right: 1px solid #b9c9df; border-radius: 0 9px 9px 0; }
.za-tabelle .unter[b-2eqbouhz3y] { display: block; margin-top: 5px; color: #52657e; font-weight: 400; font-size: 12px; }
.za-tabelle .abgeleitet[b-2eqbouhz3y] { background: #f5f8ff; color: #172c45; }
.za-tabelle td:nth-child(4)[b-2eqbouhz3y] { font-weight: 600; font-variant-numeric: tabular-nums; }
.za-tabelle .sum-row td[b-2eqbouhz3y] { background: #e2ebfa; border-top: 2px solid #9ab0d1; border-bottom: 0; font-weight: 600; }
.zeilen-aktionen button[b-2eqbouhz3y] { background: white; border: 1px solid #71839d; color: #2059df; border-radius: 7px; padding: 9px 12px; min-height: 40px; white-space: nowrap; }
.zeilen-aktionen button:hover[b-2eqbouhz3y] { border-color: #2059df; background: #eef4ff; }
.zeilen-aktionen button:focus-visible[b-2eqbouhz3y] { outline: 3px solid #2059df; 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: 20px; 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: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.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: #bfdbfe; 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 #bfdbfe; border-radius: 12px; 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: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); padding: 16px 22px; }
.za[b-h3gsur4i6y]  .karte.offen { background: var(--surface-alt); box-shadow: none; border: 1px dashed var(--border-strong); padding: 12px 18px; }
.za[b-h3gsur4i6y]  .karte.aktiv { box-shadow: 0 0 0 2px #bfdbfe, 0 2px 10px rgba(0,0,0,0.08); }
.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: 10px;
    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: #047857; }
.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: 10px; 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: #fffdf5; }
.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: 10px; 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: 10px; 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: 10px; 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: #ecfdf5; color: #047857; }
.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: 10px; 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: #fffdf5; }
.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: 10px; }
.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: #047857; }
.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: #ecfdf5; border-color: #a7f3d0; color: #047857; }

/* ---------- 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: 10px; 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: 980px) {
    .za[b-h3gsur4i6y]  .zeitraum-raster { grid-template-columns: minmax(0, 1fr); }
    .za[b-h3gsur4i6y]  .seitenleiste { position: static; order: -1; }
}

@media (max-width: 640px) {
    .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 { box-shadow: none; border: 1px solid #cbd8e9; border-radius: 8px; background: #fff; padding: 24px; }
.za[b-h3gsur4i6y]  .karte.aktiv { border-color: #8eaddb; }
.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 #cbd8e9; border-radius: 8px 8px 0 0; background: #edf3fb; }
.za[b-h3gsur4i6y]  .karte-titel { font-size: 20px; }
.za[b-h3gsur4i6y]  .zeitraum-raster { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.za[b-h3gsur4i6y]  .za-dokumente { background: #fff; border: 1px solid #cbd8e9; border-radius: 8px; box-shadow: none; padding: 24px; margin: 0; }
.za[b-h3gsur4i6y]  .bewilligung-fristen { margin-top: 24px; padding: 20px; border: 1px solid #d5e1f1; border-radius: 8px; background: #f5f8fd; }
.za[b-h3gsur4i6y]  .bewilligung-fristen > .tabellen-titel { margin-top: 0; font-size: 16px; }
.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: 640px) {
    .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 #cbd8e9, getönt #edf3fb, 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 #cbd8e9; border-radius: 8px; background: #edf3fb; }
.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: 12.5px; }
.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 #cbd8e9; border-radius: 8px; background: #fff; overflow: hidden; }
.za[b-h3gsur4i6y]  .za-kennzahlen .vc-card { background: transparent; border: 0; border-radius: 0; box-shadow: none; 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 #cbd8e9; border-radius: 0; background: #edf3fb; 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 #cbd8e9; 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 #cbd8e9; }
.za[b-h3gsur4i6y]  .za-kennzahlen .dokumente-kurz { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 10px 16px; }
@media (max-width: 980px) {
    .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: 640px) {
    .za[b-h3gsur4i6y]  .za-kennzahlen .summen-titel { flex-basis: 100%; border-right: 0; border-bottom: 1px solid #cbd8e9; }
    .za[b-h3gsur4i6y]  .za-kennzahlen .summen-zeile { flex-basis: 45%; }
    .za[b-h3gsur4i6y]  .za-kennzahlen .dokumente-kurz { flex-basis: 100%; border-top: 1px solid #cbd8e9; }
}

/* 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/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: 17px; }
.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: 10px; background: var(--card-bg, #fff);
    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: #eff6ff; color: #1d4ed8; }
.tarife-badge--ok[b-lx23g27sqr] { background: #ecfdf5; color: #047857; }
.tarife-badge--eigen[b-lx23g27sqr] { background: #f5f3ff; color: #6d28d9; }
.tarife-form[b-lx23g27sqr] { display: grid; gap: 6px; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--border-color); border-radius: 10px; 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: #fef9c3; }
.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: #FC5286; }
.tarife-fuss[b-lx23g27sqr] { margin-top: 12px; }
@media (max-width: 900px) {
    .tarife-layout[b-lx23g27sqr] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
    .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: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.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: #ffffff;
}

/* 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: #dc2626;
}

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

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

@media (max-width: 768px) {
    .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: #eaf6ef; }
.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: #eaf6ef; }
.kassenverteilung-status--weiter[b-vt8wqhvave] { color: var(--ui-action); background: var(--ui-selected); }
.kassenverteilung-status--offen[b-vt8wqhvave] { color: var(--ui-warning); background: #fff7df; }
.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: #fff7df; }
.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: 760px) {
    .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, #D7E0EA);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: box-shadow 150ms ease;
}

.import-zeile:hover[b-p6te9uf5os] {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.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: #F1F5FA;
    border-bottom: 1px solid var(--ui-line, #D7E0EA);
}

.import-zeile.is-vorgeschlagen .import-zeile-kopf[b-p6te9uf5os] { background: #FFF7E6; border-bottom-color: #F2D9A6; }
.import-zeile.is-zugeordnet .import-zeile-kopf[b-p6te9uf5os] { background: #EAF7EF; border-bottom-color: #BFE3CC; }
.import-zeile.is-an-kasse .import-zeile-kopf[b-p6te9uf5os] { background: #E6F6F4; border-bottom-color: #B5E0D9; }
.import-zeile.is-personalzahlung .import-zeile-kopf[b-p6te9uf5os] { background: #EEF4FF; border-bottom-color: #C7D8F7; }

/* 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: #fff;
}

.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: #fff; }
.import-aktion-aufheben:hover[b-p6te9uf5os], .import-aktion-aufheben:active[b-p6te9uf5os] { background: var(--ui-danger); color: #fff; }
.import-aktion-datum:focus-visible[b-p6te9uf5os], .import-aktion-aufheben:focus-visible[b-p6te9uf5os] { outline: 2px solid currentColor; outline-offset: 2px; }

@media (max-width: 768px) {
    /* 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: #475569;
}

/* Mobil wandert die Marke hinter den Betrag in die zweite Reihe, vor den Zweck-Block. */
@media (max-width: 768px) {
    .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: 15px;
    font-weight: 600;
    color: #162941;
    overflow-wrap: anywhere;
}

.import-zeile-zweck[b-p6te9uf5os] {
    font-size: 13px;
    color: #4D627B;
    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: #fff; }
.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, #b91c1c); }
.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: #475569; }
/* 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: #fffbeb; color: #b45309; 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, #b91c1c); }
.import-datum-wirkung[b-p6te9uf5os], .import-teil-datum[b-p6te9uf5os] { font-size: 12px; color: #334155; }
.import-teil-datum[b-p6te9uf5os] { overflow-wrap: anywhere; }
@media (max-width: 480px) {
    .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: 768px) {
    .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;
    font-size: 12px;
}

.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; }

/* 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: 10px;
    background: #f8fafc;
    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: #111827;
}

.import-teil-art[b-p6te9uf5os] {
    flex: 1 1 auto;
    min-width: 0;
    color: #475569;
}

.import-teil-anteil[b-p6te9uf5os] {
    flex: 0 0 auto;
    width: 64px;
    text-align: right;
    color: #475569;
}

.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 #3B82F6;
    border-radius: 8px;
    background: #eff6ff;
}

.import-zeile-posten-titel[b-p6te9uf5os] {
    margin-bottom: 6px;
    font-weight: 600;
    color: #1e3a8a;
}

.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 #dbeafe;
}
/* /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: #e2e8f0;
    overflow: hidden;
}

.import-fortschritt-fuellung[b-d36apw881o] {
    height: 100%;
    border-radius: 999px;
    background: #3B82F6;
    transition: width 150ms ease;
}

.import-fortschritt-text[b-d36apw881o] {
    margin-top: 10px;
    font-size: 13px;
    color: #111827;
}

.import-fortschritt-anteil[b-d36apw881o] {
    margin-left: 4px;
    color: #475569;
}

.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: 12px;
    background: #ecfdf5;
    color: #065f46;
}

.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;
    box-shadow: none;
}

.import-zeilenliste > .vc-card-header[b-d36apw881o] {
    background: var(--card-bg, #ffffff);
    border-radius: 12px;
    border-bottom: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.import-zeilenliste > .vc-table-empty[b-d36apw881o] {
    background: var(--card-bg, #ffffff);
    border-radius: 12px;
    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: 768px) {
    .vorlage-aktionen[b-voxtfuewqe] {
        margin-left: 0;
    }
}
/* /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: 15px;
    letter-spacing: 0.04em;
    color: #111827;
}
/* /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 #71839d;
    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: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    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: 640px) {
    /* Ü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; }
