/* _content/bettERFramework.PM.UI/Components/Dialogs/PmTimeSuggestDialog.razor.rz.scp.css */
/* KI-Zeitvorschlag: Beschreibung oben, Vorschläge als dichte Bearbeitungstabelle. Abgewählte Zeilen treten zurück. */
[b-je87fchsx1] .lnw-suggest__title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

[b-je87fchsx1] .lnw-suggest__prompt {
    width: 100%;
    resize: vertical;
    min-height: 4.5rem;
}

[b-je87fchsx1] .lnw-suggest__range { align-items: flex-end; }

[b-je87fchsx1] .lnw-suggest__check { margin: 0; }

[b-je87fchsx1] .lnw-suggest__table td { vertical-align: middle; }

[b-je87fchsx1] .lnw-suggest__task { min-width: 15rem; }

[b-je87fchsx1] .lnw-suggest__hours { width: 6rem; }

[b-je87fchsx1] .lnw-suggest__row--off td { opacity: 0.5; }
/* _content/bettERFramework.PM.UI/Components/Features/JiraServiceAccessPanel.razor.rz.scp.css */
/* Einsicht in einen Jira-Vorgang — eine lange Feldliste zum Lesen und Vergleichen, keine Arbeitsliste.
   Werte dürfen umbrechen (lange Beschreibungen, Listen), Feld-Ids und Rohdaten stehen in der
   Monospace-Schrift, weil sie Daten sind, die man später in eine Zuordnung abschreibt. */

.jira-insight[b-xgwup4a3gj] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.jira-insight__head[b-xgwup4a3gj] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
}

.jira-insight__summary[b-xgwup4a3gj] {
    font-family: var(--bp-font-head);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--bp-text);
}

.jira-insight__tools[b-xgwup4a3gj] {
    gap: 0.75rem;
    align-items: center;
}

[b-xgwup4a3gj] .jira-insight__filter {
    max-width: 22rem;
}

/* Gescheiterte Schreibprobe: der Satz links, „Erneut prüfen" rechts in derselben Zeile. */
.jira-insight__retry[b-xgwup4a3gj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.jira-insight__table td[b-xgwup4a3gj] {
    vertical-align: top;
}

.jira-insight__id[b-xgwup4a3gj] {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.75rem;
    color: var(--bp-text-muted);
}

.jira-insight__value[b-xgwup4a3gj] {
    max-width: 38rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

/* Gedämpft über die Farbe, nicht über opacity: opacity drückte auch Chips und gedämpften Text unter 4,5:1. */
.jira-insight__row--empty td[b-xgwup4a3gj] {
    color: var(--bp-text-muted);
}

/* Echte Überschriften in Kopfzeile und Abschnitten — gestaltet wie die Spans, die sie ersetzen. */
.jira-sa__name[b-xgwup4a3gj] {
    margin: 0;
    font: inherit;
}

.jira-sa__section-title[b-xgwup4a3gj] {
    margin: 0;
}

/* Eingeklappte Abschnitte der Karte: Trennlinie statt Karte in der Karte, Kopfzeile mit Schalter und Einzeiler. */
.jira-sa__section[b-xgwup4a3gj] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--bp-panel-border);
}

.jira-sa__section-head[b-xgwup4a3gj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.jira-sa__section-body[b-xgwup4a3gj] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Einsicht per Schlüssel: Beschriftung, Feld und Knopf in einer Zeile, das Feld nicht kartenbreit. */
.jira-sa__lookup[b-xgwup4a3gj] {
    align-items: center;
    gap: 0.5rem;
}

.jira-sa__lookup[b-xgwup4a3gj]  .jira-sa__lookup-input {
    max-width: 12rem;
}

.jira-insight__raw[b-xgwup4a3gj] {
    margin: 0;
    max-height: 22rem;
    overflow: auto;
    padding: 0.75rem;
    border: 1px solid var(--bp-panel-border);
    border-radius: 6px;
    background: var(--bp-panel-solid-2);
    color: var(--bp-text);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.78rem;
    line-height: 1.5;
    white-space: pre;
}

/* Abholen im Hintergrund: Auswahl und „nächstes etwa …" in einer Zeile, die Auswahl nicht kartenbreit. */
.jira-sa__auto[b-xgwup4a3gj] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.jira-sa__auto[b-xgwup4a3gj]  .e-ddl {
    max-width: 16rem;
}
/* _content/bettERFramework.PM.UI/Components/Features/JiraWriteBackPanel.razor.rz.scp.css */
/* Rückschreib-Rechte in der Karte eines Firmenzugangs — eine kurze Schalterliste, abgesetzt von den
   Angaben darüber durch eine Trennlinie statt einer eigenen Karte (keine Karte in der Karte). */

.jira-wb[b-co0aebrzwi] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--bp-panel-border);
}

.jira-wb__head[b-co0aebrzwi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Echte Überschrift, gestaltet wie das Span, das sie ersetzt. */
.jira-wb__title[b-co0aebrzwi] {
    margin: 0;
}

.jira-wb__body[b-co0aebrzwi] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.jira-wb__table td[b-co0aebrzwi] {
    vertical-align: top;
}

.jira-wb__hint[b-co0aebrzwi] {
    font-size: 0.75rem;
}

/* Gescheiterte Rechteprüfung: der Grund links, „Erneut prüfen" rechts in derselben Zeile. */
.jira-wb__retry[b-co0aebrzwi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

/* Vorgabe-Lösung: eine schmale Auswahl unter den Schaltern, nicht über die volle Kartenbreite. */
.jira-wb__resolution[b-co0aebrzwi] {
    max-width: 22rem;
}
/* _content/bettERFramework.PM.UI/Components/Features/PmContingentCard.razor.rz.scp.css */
/* Kontingent-Karte: Stand rechts im Kopf, Buchungen als ruhige Liste, Erfassung als eine Zeile darunter. */

.lnw-cont__state[b-ovyrutcaaj] {
    font-variant-numeric: tabular-nums;
    color: var(--bp-text);
}

.lnw-cont__state--over[b-ovyrutcaaj] { color: var(--bp-debit); }

.lnw-cont__empty[b-ovyrutcaaj] { margin: 0 0 0.75rem; }

.lnw-cont__neg[b-ovyrutcaaj] { color: var(--bp-debit); }

.lnw-cont__add[b-ovyrutcaaj] {
    display: grid;
    grid-template-columns: 10rem 7rem minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: center;
    margin-top: 0.75rem;
}
/* _content/bettERFramework.PM.UI/Components/Features/PmImportWizard.razor.rz.scp.css */
/* Gemeinsamer Import-Assistent betterPM (Aufgaben, Zeiten) — Struktur und Zustände, gleiche Hand wie die
   übrigen Import-Assistenten (Personalakten, Geschäftspartner). Farben, Schrift und Abstände kommen aus
   tokens.css; Gelb ist der einzige Akzent, Bewegung nur als Zustand (Fortschrittsband). */

.ptw[b-r6qv9mf9c1] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-3);
    min-height: 340px;
    padding-top: var(--bp-space-1);
}

/* Fortschrittsband am oberen Rand, läuft nur während Lesen/Analyse/Anlage. */
.ptw__progress[b-r6qv9mf9c1] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    overflow: hidden;
    pointer-events: none;
}

.ptw--busy .ptw__progress[b-r6qv9mf9c1]::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30%;
    background: var(--bp-yellow);
    animation: ptw-progress-b-r6qv9mf9c1 1.1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes ptw-progress-b-r6qv9mf9c1 {
    from { transform: translateX(-100%); }
    to { transform: translateX(340%); }
}

@media (prefers-reduced-motion: reduce) {
    .ptw--busy .ptw__progress[b-r6qv9mf9c1]::before { animation-duration: 2.5s; }
}

/* ---- Schritt-Anzeige: Ziffer im Kreis, aktiver Schritt gelb, erledigte gedämpft. ---- */

.ptw__steps[b-r6qv9mf9c1] {
    display: flex;
    gap: var(--bp-space-4);
    list-style: none;
    margin: 0;
    padding: 0 0 var(--bp-space-2);
    border-bottom: 1px solid var(--bp-panel-border);
    font-size: 0.85rem;
    color: var(--bp-text-muted);
}

    .ptw__steps li[b-r6qv9mf9c1] {
        display: inline-flex;
        align-items: center;
        gap: var(--bp-space-2);
    }

.ptw__step-no[b-r6qv9mf9c1] {
    display: inline-grid;
    place-items: center;
    width: 1.4rem;
    height: 1.4rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-family: var(--bp-font-head);
    font-size: 0.72rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.ptw__step--active[b-r6qv9mf9c1] {
    color: var(--bp-text);
    font-weight: 600;
}

    .ptw__step--active .ptw__step-no[b-r6qv9mf9c1] {
        background: var(--bp-yellow);
        border-color: var(--bp-yellow);
        color: var(--bp-black);
    }

.ptw__step--done[b-r6qv9mf9c1] { color: var(--bp-text); }

/* ---- Werkzeugleiste des Blatt-Schritts ---- */

.ptw__toolbar[b-r6qv9mf9c1] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-3);
    flex-wrap: wrap;
}

    .ptw__toolbar .bp-field__label[b-r6qv9mf9c1] { margin: 0; }

.ptw__select[b-r6qv9mf9c1] {
    height: 2.2rem;
    padding: 0 0.6rem;
    font-size: 0.85rem;
    border-radius: var(--bp-radius-ctl);
}

.ptw__select--target[b-r6qv9mf9c1] { width: 100%; max-width: 16rem; }

.ptw__select--value[b-r6qv9mf9c1] { min-width: 14rem; }

.ptw__input[b-r6qv9mf9c1] {
    height: 2.2rem;
    padding: 0 0.6rem;
    font-size: 0.85rem;
    border-radius: var(--bp-radius-ctl);
    width: 14rem;
}

    .ptw__select:focus-visible[b-r6qv9mf9c1],
    .ptw__input:focus-visible[b-r6qv9mf9c1] {
        outline: none;
        border-color: var(--bp-yellow);
    }

.ptw__hint[b-r6qv9mf9c1] {
    font-size: 0.8rem;
    color: var(--bp-text-muted);
}

.ptw__hint--end[b-r6qv9mf9c1] { margin-left: auto; }

.ptw__empty[b-r6qv9mf9c1] {
    margin: var(--bp-space-2) 0;
    font-size: 0.85rem;
    font-style: italic;
    color: var(--bp-text-muted);
}

/* ---- Tabellen (Vorschau, Zuordnung, Ergebnis) ---- */

.ptw__scroll[b-r6qv9mf9c1] {
    max-height: 380px;
    overflow: auto;
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-ctl);
}

.ptw__scroll--mapping[b-r6qv9mf9c1] { max-height: 300px; }

.ptw__table[b-r6qv9mf9c1] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

    .ptw__table th[b-r6qv9mf9c1],
    .ptw__table td[b-r6qv9mf9c1] {
        padding: 0.3rem 0.55rem;
        border-bottom: 1px solid var(--bp-panel-border);
        text-align: left;
        white-space: nowrap;
        max-width: 220px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ptw__table thead th[b-r6qv9mf9c1] {
        position: sticky;
        top: 0;
        background: var(--bp-panel-solid);
        font-weight: 600;
        color: var(--bp-text-muted);
        font-size: 0.76rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    /* Kopfzeilen-Wahl: Zeilen sind klickbar, die gewählte trägt den Akzent. */
    .ptw__table tbody tr[b-r6qv9mf9c1] { cursor: pointer; }

    .ptw__table--mapping tbody tr[b-r6qv9mf9c1] { cursor: default; }

    .ptw__table tbody tr.ptw__row--selected[b-r6qv9mf9c1] {
        outline: 2px solid var(--bp-yellow);
        outline-offset: -2px;
        background: color-mix(in srgb, var(--bp-yellow) 10%, transparent);
        font-weight: 600;
    }

    .ptw__table tbody tr:not(.ptw__row--selected):hover[b-r6qv9mf9c1] { background: var(--bp-panel-hover); }

.ptw__rownum[b-r6qv9mf9c1] {
    width: 2.5rem;
    color: var(--bp-text-muted);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.ptw__number[b-r6qv9mf9c1] {
    font-family: var(--bp-font-head);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.ptw__radio[b-r6qv9mf9c1] {
    width: 2rem;
    text-align: center;
}

    .ptw__radio input[b-r6qv9mf9c1] {
        cursor: pointer;
        accent-color: var(--bp-yellow);
    }

.ptw__colname[b-r6qv9mf9c1] { font-weight: 600; }

.ptw__example[b-r6qv9mf9c1] {
    color: var(--bp-text-muted);
    font-style: italic;
}

/* Hinweise vollständig lesbar: umbrechen statt mit „…" abschneiden — die Begründung IST die Information. */
.ptw__table--preview td.ptw__note[b-r6qv9mf9c1] {
    min-width: 16rem;
    max-width: 28rem;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.ptw__table--preview tr.ptw__row--invalid td.ptw__note[b-r6qv9mf9c1] { color: var(--bp-text); }

.ptw__table--preview tbody tr[b-r6qv9mf9c1] { cursor: default; }

.ptw__title[b-r6qv9mf9c1] { max-width: 300px; font-weight: 600; }

.ptw__muted[b-r6qv9mf9c1] { color: var(--bp-text-muted); }

/* ---- Feste Werte ---- */

.ptw__fixed[b-r6qv9mf9c1] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    padding-top: var(--bp-space-2);
    border-top: 1px dashed var(--bp-panel-border);
}

    .ptw__fixed .bp-field__label[b-r6qv9mf9c1] { margin: 0; }

.ptw__fixed-row[b-r6qv9mf9c1] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    font-size: 0.85rem;
}

.ptw__fixed-value[b-r6qv9mf9c1]::before { content: "= "; color: var(--bp-text-muted); }

.ptw__fixed-add[b-r6qv9mf9c1] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    flex-wrap: wrap;
}

.ptw__link[b-r6qv9mf9c1] {
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 0.8rem;
    color: var(--bp-text-muted);
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
}

    .ptw__link:hover:not(:disabled)[b-r6qv9mf9c1] { color: var(--bp-yellow); }

    .ptw__link:disabled[b-r6qv9mf9c1] { opacity: 0.5; cursor: default; }

/* ---- Vorschau-Zähler und Status-Chips: Signalfarben, nicht der Marken-Akzent. ---- */

.ptw__counts[b-r6qv9mf9c1] {
    display: flex;
    gap: var(--bp-space-2);
    font-size: 0.85rem;
}

.ptw__count[b-r6qv9mf9c1] {
    padding: 0.15rem 0.6rem;
    border: 1px solid var(--bp-panel-border);
    border-radius: 999px;
    background: none;
    font: inherit;
    color: inherit;
    font-variant-numeric: tabular-nums;
}

    button.ptw__count[b-r6qv9mf9c1] { cursor: pointer; }

    button.ptw__count:hover[b-r6qv9mf9c1] { background: var(--bp-panel-hover); }

    button.ptw__count:focus-visible[b-r6qv9mf9c1] {
        outline: 2px solid color-mix(in srgb, var(--bp-yellow) 70%, transparent);
        outline-offset: 2px;
    }

/* Aktiver Filter: gefüllt in der Signalfarbe des Zählers (dünn), damit klar ist, was gerade gezeigt wird. */
.ptw__count--active[b-r6qv9mf9c1] { font-weight: 600; background: color-mix(in srgb, currentColor 6%, transparent); border-width: 2px; }

.ptw__count--new[b-r6qv9mf9c1] { border-color: var(--bp-success); }

.ptw__count--duplicate[b-r6qv9mf9c1] { border-color: var(--bp-warn); }

.ptw__count--invalid[b-r6qv9mf9c1] { border-color: var(--bp-debit); }

.ptw__status[b-r6qv9mf9c1] {
    padding: 0.1rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.75rem;
}

.ptw__status--new[b-r6qv9mf9c1] { border-color: var(--bp-success); }

.ptw__status--duplicate[b-r6qv9mf9c1] { border-color: var(--bp-warn); }

.ptw__status--invalid[b-r6qv9mf9c1] { border-color: var(--bp-debit); }

/* ---- Hinweise und Fehler ---- */

.ptw__error[b-r6qv9mf9c1] {
    margin: 0;
    padding: var(--bp-space-2) var(--bp-space-3);
    border: 1px solid var(--bp-debit);
    border-radius: var(--bp-radius-ctl);
    font-size: 0.85rem;
    color: var(--bp-text);
}

/* ---- Fußzeile: Abbrechen · Zurück · Primäraktion ---- */

.ptw__footer[b-r6qv9mf9c1] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--bp-space-2);
    width: 100%;
}

.ptw__primary[b-r6qv9mf9c1] { min-width: 8.5rem; }

/* ---- Optionen (Team-Aufnahme, Zuordnung merken) ---- */

.ptw__option[b-r6qv9mf9c1] {
    display: flex;
    align-items: flex-start;
    gap: var(--bp-space-2);
    font-size: 0.85rem;
    cursor: pointer;
}

    .ptw__option input[b-r6qv9mf9c1] {
        margin-top: 0.2rem;
        accent-color: var(--bp-yellow);
        cursor: pointer;
    }

    .ptw__option > span[b-r6qv9mf9c1] {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
    }

.ptw__option--disabled[b-r6qv9mf9c1] {
    color: var(--bp-text-muted);
    cursor: default;
}

    .ptw__option--disabled input[b-r6qv9mf9c1] { cursor: default; }

/* ---- Werte zuordnen: wie sicher erkannt? Signalfarben als Rand, wie die Status-Chips. ---- */

.ptw__table--values td:first-child[b-r6qv9mf9c1] { max-width: 260px; }

/* Mehrere Abschnitte (Personen, Status …) in einem Rollbereich: Luft zwischen den Tabellen. */
.ptw__scroll--values[b-r6qv9mf9c1] {
    max-height: 340px;
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-3);
}

.ptw__match[b-r6qv9mf9c1] {
    padding: 0.1rem 0.5rem;
    border: 1px solid var(--bp-panel-border);
    border-radius: 999px;
    font-size: 0.75rem;
    white-space: nowrap;
}

.ptw__match--remembered[b-r6qv9mf9c1],
.ptw__match--exact[b-r6qv9mf9c1] { border-color: var(--bp-success); }

.ptw__match--suggested[b-r6qv9mf9c1] { border-color: var(--bp-warn); }

.ptw__match--none[b-r6qv9mf9c1] { border-color: var(--bp-debit); }

.ptw__members[b-r6qv9mf9c1] { margin: 0; }

/* ---- Felder aus mehreren Spalten: „Titel = ID + Name", Trenner, Beispiel ---- */

.ptw__combine[b-r6qv9mf9c1] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
}

    .ptw__combine .bp-field__label[b-r6qv9mf9c1] { margin: 0; }

.ptw__combine-row[b-r6qv9mf9c1] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    flex-wrap: wrap;
    font-size: 0.85rem;
}

.ptw__combine-parts[b-r6qv9mf9c1] { color: var(--bp-text-muted); }

.ptw__combine-example[b-r6qv9mf9c1] {
    max-width: 22rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Aufgaben-Auswahl im Schritt „Werte zuordnen" (Syncfusion, deshalb ::deep). */
.ptw[b-r6qv9mf9c1]  .ptw__task-picker {
    width: 100%;
    max-width: 22rem;
}

/* ---- Ergebnis mit Fehlern: jeder Grund mit Zeilennummer, rollbar. ---- */

.ptw__errors[b-r6qv9mf9c1] {
    max-height: 340px;
    overflow: auto;
    margin: 0;
    padding: var(--bp-space-2) var(--bp-space-3) var(--bp-space-2) var(--bp-space-4);
    border: 1px solid var(--bp-debit);
    border-radius: var(--bp-radius-ctl);
    font-size: 0.85rem;
    line-height: 1.5;
}

    .ptw__errors li + li[b-r6qv9mf9c1] { margin-top: var(--bp-space-1); }
/* _content/bettERFramework.PM.UI/Components/Features/PmProjectTimesTab.razor.rz.scp.css */
/* Reiter „Zeiten": Filterleiste über der Liste, gesperrte Zeilen ruhig, aber erkennbar (Schloss + gedämpft),
   Auswahl als klare Zeilenmarkierung. Keine eigene Farbwelt — Chips, Tabellen und Kacheln aus bp-components. */

.lnw-times[b-f3dpi1vp9y] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lnw-filter[b-f3dpi1vp9y] {
    align-items: flex-end;
    gap: var(--bp-space-3, 0.75rem);
    flex-wrap: wrap;
}

.lnw-filter__fields[b-f3dpi1vp9y] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--bp-space-3, 0.75rem);
    flex: 1 1 auto;
}

.lnw-filter__field[b-f3dpi1vp9y] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 9.5rem;
}

.lnw-filter__field--wide[b-f3dpi1vp9y] { min-width: 13rem; }

.lnw-filter__switch[b-f3dpi1vp9y] { padding-bottom: 0.4rem; }

.lnw-col-check[b-f3dpi1vp9y] { width: 2.25rem; }

.lnw-col-actions[b-f3dpi1vp9y] {
    width: 5.5rem;
    text-align: right;
    white-space: nowrap;
}

.lnw-row--locked td[b-f3dpi1vp9y] { color: var(--bp-text-muted); }

.lnw-row--selected td[b-f3dpi1vp9y] { background: color-mix(in srgb, var(--bp-yellow) 8%, transparent); }

.lnw-lock[b-f3dpi1vp9y] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-variant-numeric: tabular-nums;
}

.lnw-lock--on .e-icons[b-f3dpi1vp9y] { color: var(--bp-warn); }

.lnw-chip-toggle[b-f3dpi1vp9y] {
    cursor: pointer;
    border: 0;
    font: inherit;
}

.lnw-chip-toggle:hover:not(:disabled)[b-f3dpi1vp9y] { outline: 1px solid var(--bp-panel-border); }

.lnw-chip-toggle:focus-visible[b-f3dpi1vp9y] { outline: 2px solid var(--bp-yellow); outline-offset: 2px; }

.lnw-sum td[b-f3dpi1vp9y] {
    border-top: 1px solid var(--bp-panel-border);
    font-weight: 600;
}

.lnw-records__empty[b-f3dpi1vp9y] { margin: 0; }

.lnw-changes summary[b-f3dpi1vp9y] { cursor: pointer; }

.lnw-changes__list[b-f3dpi1vp9y] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lnw-changes__item[b-f3dpi1vp9y] {
    padding: 0.6rem 0;
    border-top: 1px solid var(--bp-panel-border);
}

.lnw-changes__head[b-f3dpi1vp9y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.lnw-changes__text[b-f3dpi1vp9y] {
    margin: 0.35rem 0 0;
    font-family: inherit;
    white-space: pre-wrap;
    color: var(--bp-text-muted);
}
/* _content/bettERFramework.PM.UI/Components/Features/PmTaskPanel.razor.rz.scp.css */
/* Panel-eigene Gestaltung: ziehbare Breite und die Hand-Verknüpfung mit Jira.
   Hand-Verknüpfung: zwei Felder und zwei Knöpfe untereinander, eingerückt wie
   die Herkunftszeilen darüber — ein kurzer Einschub im Panel, kein eigener Baustein. */

/* Ziehbare Breite: das Skript setzt die Breite inline; die Obergrenze hier hält immer einen Streifen
   der Liste dahinter sichtbar, auch wenn das Fenster nach dem Ziehen schmaler wird. */
.pm-panel[b-nj6fm9rfgw] {
    max-width: 96vw;
}

/* Griff am linken Rand — unsichtbar, bis man ihn sucht: die Linie erscheint beim Darüberfahren, beim
   Ziehen und mit Tastaturfokus, damit er nicht als Dekoration am Rand klebt. */
.pm-panel__resize[b-nj6fm9rfgw] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -4px;
    width: 8px;
    z-index: 2;
    cursor: ew-resize;
    touch-action: none;
}

.pm-panel__resize[b-nj6fm9rfgw]::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    width: 2px;
    background: transparent;
    transition: background-color 120ms ease-out;
}

.pm-panel__resize:hover[b-nj6fm9rfgw]::after,
.pm-panel__resize:focus-visible[b-nj6fm9rfgw]::after,
.pm-panel.is-resizing .pm-panel__resize[b-nj6fm9rfgw]::after {
    background: var(--bp-yellow);
}

.pm-panel__resize:focus-visible[b-nj6fm9rfgw] {
    outline: none;
}

/* Während des Ziehens markiert der Zeiger keinen Text im Panel. */
.pm-panel.is-resizing[b-nj6fm9rfgw] {
    user-select: none;
}

.pm-panel__jira-link[b-nj6fm9rfgw] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0.5rem;
    max-width: 28rem;
}

/* Vorschau des geprüften Vorgangs: Schlüssel, Titel, Status in einer Zeile, darunter die Folge. */
.pm-panel__jira-preview[b-nj6fm9rfgw] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

/* Der Jira-Wortlaut steht im Tooltip; die Zeile selbst bleibt einzeilig lesbar. */
.pm-panel__jira-push[b-nj6fm9rfgw] {
    margin-top: 0.35rem;
}
/* _content/bettERFramework.PM.UI/Components/Pages/PmCapacityPlan.razor.rz.scp.css */
/* Einsatzplan — Personen als Zeilen, Tage (Quartal: Wochen) als Spalten. Jede Zelle beantwortet zuerst
   „ist jemand da?" (Zeiten, Urlaub, Feiertag) und dann „wie voll ist der Tag?" (Balken in der Ampel
   der Auslastung). Die Namensspalte bleibt beim Scrollen stehen; das Raster passt sich der Spaltenzahl
   an, statt bei 31 Tagen zu zerfallen. Keine eigene Farbwelt: die Ampel ist die von /pm/auslastung. */

.cp__toolbar[b-4z43as59ss] { gap: var(--bp-space-3); }

.cp__nav[b-4z43as59ss] {
    display: inline-flex;
    align-items: center;
    gap: var(--bp-space-1);
}

.cp__period[b-4z43as59ss] {
    min-width: 12rem;
    text-align: center;
    font-family: var(--bp-font-head);
    font-size: 1.02rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cp__iconbtn[b-4z43as59ss] {
    display: inline-grid;
    place-items: center;
    width: 1.9rem;
    height: 1.9rem;
    padding: 0;
    border: 0;
    border-radius: var(--bp-radius-ctl, 8px);
    background: transparent;
    color: var(--bp-text-muted);
    cursor: pointer;
    transition: background-color 120ms ease-out, color 120ms ease-out;
}

    .cp__iconbtn:hover[b-4z43as59ss] { background: var(--bp-panel-hover); color: var(--bp-text); }

    .cp__iconbtn:focus-visible[b-4z43as59ss] { outline: 2px solid var(--bp-yellow); outline-offset: 1px; }

.cp__today[b-4z43as59ss] {
    height: 2rem;
    padding: 0 0.75rem;
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-ctl, 8px);
    background: transparent;
    color: var(--bp-text);
    font: inherit;
    font-size: 0.82rem;
    cursor: pointer;
}

    .cp__today:hover[b-4z43as59ss] { background: var(--bp-panel-hover); }

    .cp__today:focus-visible[b-4z43as59ss] { outline: 2px solid var(--bp-yellow); outline-offset: 1px; }

.cp__spans[b-4z43as59ss] {
    display: inline-flex;
    padding: 2px;
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-ctl, 8px);
    background: var(--bp-panel-solid-2);
}

.cp__spanbtn[b-4z43as59ss] {
    height: 1.75rem;
    padding: 0 0.7rem;
    border: 0;
    border-radius: calc(var(--bp-radius-ctl, 8px) - 2px);
    background: transparent;
    color: var(--bp-text-muted);
    font: inherit;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background-color 120ms ease-out, color 120ms ease-out;
}

    .cp__spanbtn:hover:not(.is-on)[b-4z43as59ss] { color: var(--bp-text); }

    .cp__spanbtn.is-on[b-4z43as59ss] {
        background: color-mix(in srgb, var(--bp-yellow) 18%, transparent);
        color: var(--bp-text);
        font-weight: 600;
    }

    .cp__spanbtn:focus-visible[b-4z43as59ss] { outline: 2px solid var(--bp-yellow); outline-offset: 1px; }

/* ---- Raster ---- */

.cp__card[b-4z43as59ss] { padding: 0; overflow: hidden; }

.cp__scroll[b-4z43as59ss] {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--bp-panel-border) transparent;
}

    .cp__scroll:focus-visible[b-4z43as59ss] { outline: 2px solid var(--bp-yellow); outline-offset: -2px; }

.cp__grid[b-4z43as59ss] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    font-size: 0.8rem;
}

.cp__grid--week[b-4z43as59ss] { min-width: calc(14rem + var(--cp-cols) * 9rem); }

.cp__grid--month[b-4z43as59ss] { min-width: calc(14rem + var(--cp-cols) * 2.6rem); }

.cp__grid--quarter[b-4z43as59ss] { min-width: calc(14rem + var(--cp-cols) * 4.2rem); }

    .cp__grid th[b-4z43as59ss],
    .cp__grid td[b-4z43as59ss] {
        padding: 0;
        border-bottom: 1px solid var(--bp-panel-border);
        vertical-align: top;
    }

    .cp__grid tbody tr:last-child th[b-4z43as59ss],
    .cp__grid tbody tr:last-child td[b-4z43as59ss] { border-bottom: none; }

.cp__person[b-4z43as59ss] {
    position: sticky;
    left: 0;
    z-index: 2;
    width: 14rem;
    padding: 0.5rem var(--bp-space-3) !important;
    text-align: left;
    font-weight: 400;
    background: var(--bp-panel-solid, var(--bp-panel));
    border-right: 1px solid var(--bp-panel-border);
}

thead .cp__person[b-4z43as59ss] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--bp-text-muted);
    vertical-align: bottom;
}

.cp__who[b-4z43as59ss] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    min-width: 0;
}

.cp__whotext[b-4z43as59ss] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cp__name[b-4z43as59ss] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.cp__total[b-4z43as59ss] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    font-size: 0.72rem;
    color: var(--bp-text-muted);
    font-variant-numeric: tabular-nums;
}

.cp__sum[b-4z43as59ss] { white-space: nowrap; }

.cp__sum.cp__barfill--over[b-4z43as59ss] { color: var(--bp-debit); font-weight: 600; }

.cp__sum.cp__barfill--warn[b-4z43as59ss] { color: var(--bp-warn); }

.cp__colhead[b-4z43as59ss] {
    padding: 0.35rem 0.25rem !important;
    text-align: center;
    line-height: 1.15;
    color: var(--bp-text-muted);
}

.cp__colsub[b-4z43as59ss] {
    display: block;
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cp__colmain[b-4z43as59ss] {
    display: block;
    font-size: 0.8rem;
    color: var(--bp-text);
    font-variant-numeric: tabular-nums;
}

.cp__colhead.is-weekend .cp__colmain[b-4z43as59ss] { color: var(--bp-text-muted); }

.cp__colhead.is-today .cp__colmain[b-4z43as59ss] {
    display: inline-grid;
    place-items: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--bp-yellow);
    color: #0b1f18;
    font-weight: 600;
}

.cp__cell.is-weekend[b-4z43as59ss],
.cp__colhead.is-weekend[b-4z43as59ss] { background: color-mix(in srgb, var(--bp-text-muted) 7%, transparent); }

.cp__cell.is-today[b-4z43as59ss] { box-shadow: inset 1px 0 0 color-mix(in srgb, var(--bp-yellow) 55%, transparent), inset -1px 0 0 color-mix(in srgb, var(--bp-yellow) 55%, transparent); }

.cp__cell.is-selected .cp__cellbtn[b-4z43as59ss] { background: color-mix(in srgb, var(--bp-yellow) 10%, transparent); }

/* Die Zelle ist ein Knopf: ein Klick öffnet die Aufgaben des Tages unter dem Raster. */
.cp__cellbtn[b-4z43as59ss] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    width: 100%;
    min-height: 3.2rem;
    padding: 0.35rem 0.35rem;
    border: 0;
    background: transparent;
    color: var(--bp-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 120ms ease-out;
}

    .cp__cellbtn:hover[b-4z43as59ss] { background: var(--bp-panel-hover); }

    .cp__cellbtn:focus-visible[b-4z43as59ss] { outline: 2px solid var(--bp-yellow); outline-offset: -2px; }

    .cp__cellbtn.is-off[b-4z43as59ss] { color: var(--bp-text-faint); }

.cp__grid--week .cp__cellbtn[b-4z43as59ss] { min-height: 5.6rem; }

.cp__avail[b-4z43as59ss] {
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--bp-text-muted);
}

.cp__grid--week .cp__avail[b-4z43as59ss] { font-size: 0.78rem; color: var(--bp-text); }

.cp__planned[b-4z43as59ss] {
    font-size: 0.74rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cp__bar[b-4z43as59ss] {
    display: block;
    height: 0.35rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--bp-text-muted) 18%, transparent);
    overflow: hidden;
}

.cp__barfill[b-4z43as59ss] {
    display: block;
    height: 100%;
    border-radius: 999px;
    transition: width 200ms ease-out;
}

.cp__barfill--empty[b-4z43as59ss] { width: 0; }

.cp__barfill--ok[b-4z43as59ss] { background: var(--bp-credit); }

.cp__barfill--warn[b-4z43as59ss] { background: var(--bp-warn); }

.cp__barfill--over[b-4z43as59ss] { background: var(--bp-debit); }

.cp__task[b-4z43as59ss],
.cp__more[b-4z43as59ss] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.7rem;
    color: var(--bp-text-muted);
    font-variant-numeric: tabular-nums;
}

.cp__absence[b-4z43as59ss],
.cp__holiday[b-4z43as59ss] {
    align-self: stretch;
    padding: 0.2rem 0.3rem;
    border-radius: 4px;
    font-size: 0.7rem;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cp__absence--vacation[b-4z43as59ss] { background: color-mix(in srgb, var(--bp-mint) 22%, transparent); }

.cp__absence--sick[b-4z43as59ss] { background: color-mix(in srgb, var(--bp-orange) 22%, transparent); }

.cp__absence--other[b-4z43as59ss] { background: color-mix(in srgb, var(--bp-text-muted) 22%, transparent); }

.cp__holiday[b-4z43as59ss] {
    color: var(--bp-text-muted);
    background: color-mix(in srgb, var(--bp-text-muted) 12%, transparent);
}

/* ---- Legende und Detail ---- */

.cp__legend[b-4z43as59ss] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-2) var(--bp-space-4);
    margin: var(--bp-space-3) 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.8rem;
    color: var(--bp-text-muted);
}

    .cp__legend li[b-4z43as59ss] {
        display: inline-flex;
        align-items: center;
        gap: var(--bp-space-2);
    }

.cp__legendnote[b-4z43as59ss] { flex: 1 1 100%; }

.cp__swatch[b-4z43as59ss] {
    display: inline-block;
    width: 1.1rem;
    height: 0.6rem;
    border-radius: 999px;
}

.cp__detail[b-4z43as59ss] {
    margin-top: var(--bp-space-3);
}

.cp__detailhead[b-4z43as59ss] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--bp-space-3);
    margin-bottom: var(--bp-space-2);
}

.cp__detailtitle[b-4z43as59ss] {
    font-family: var(--bp-font-head);
    font-size: 1rem;
    font-weight: 600;
}

.cp__detailsub[b-4z43as59ss] {
    font-size: 0.82rem;
    color: var(--bp-text-muted);
}

.cp__muted[b-4z43as59ss] {
    margin: 0;
    font-size: 0.88rem;
    color: var(--bp-text-muted);
}

.cp__tasklist[b-4z43as59ss] {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .cp__tasklist li[b-4z43as59ss] {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 0.3rem var(--bp-space-3);
        padding: 0.45rem 0;
        border-bottom: 1px solid var(--bp-panel-border);
        font-size: 0.88rem;
    }

        .cp__tasklist li:last-child[b-4z43as59ss] { border-bottom: none; }

.cp__taskkey[b-4z43as59ss] {
    min-width: 5.5rem;
    font-variant-numeric: tabular-nums;
    color: var(--bp-text-muted);
}

.cp__tasktitle[b-4z43as59ss] { flex: 1 1 16rem; }

.cp__taskmin[b-4z43as59ss] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cp__link[b-4z43as59ss] {
    font-size: 0.8rem;
    color: var(--bp-text-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
}

    .cp__link:hover[b-4z43as59ss] { color: var(--bp-yellow); }

@media (max-width: 700px) {
    .cp__person[b-4z43as59ss] { width: 9rem; }
    .cp__period[b-4z43as59ss] { min-width: 8rem; }
}
/* _content/bettERFramework.PM.UI/Components/Pages/PmJiraMapping.razor.rz.scp.css */
/* Zuordnung Jira → betterPM — drei Arbeitslisten (Felder, Projekte, Werte) und die Probe. Die Auswahl
   bekommt die Breite, weil Feldnamen samt Id lang werden („Story point estimate · customfield_10016");
   Texte der Probe dürfen umbrechen, damit eine lange Beschreibung die Tabelle nicht sprengt. */

.jira-map__table td[b-ssjmszm7ck] {
    vertical-align: top;
}

.jira-map__picker[b-ssjmszm7ck] {
    min-width: 18rem;
    width: 45%;
}

/* Mehrere Quellen je Textfeld: Auswahlen untereinander, Ordnen/Entfernen rechts daneben. */
.jira-map__sources[b-ssjmszm7ck] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.jira-map__source[b-ssjmszm7ck] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.jira-map__source[b-ssjmszm7ck]  .e-ddl {
    flex: 1 1 auto;
    min-width: 0;
}

.jira-map__source-actions[b-ssjmszm7ck] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.jira-map__hint[b-ssjmszm7ck] {
    font-size: 0.75rem;
}

.jira-map__empty[b-ssjmszm7ck] {
    padding: 0 1rem 1rem;
}

.jira-map__text[b-ssjmszm7ck] {
    max-width: 30rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.jira-map__problem[b-ssjmszm7ck] {
    display: inline-block;
    margin-top: 0.35rem;
    white-space: normal;
}

[b-ssjmszm7ck] .jira-map__probe-pick {
    min-width: 22rem;
}

.jira-map__problems[b-ssjmszm7ck] {
    margin: 0;
    padding-left: 1.2rem;
    line-height: 1.5;
}
/* _content/bettERFramework.PM.UI/Components/Pages/PmServiceRecordPage.razor.rz.scp.css */
/* Leistungsnachweis: oben der Lauf als Schrittleiste (wo steht der Nachweis?), darunter Kopfdaten und
   Zahlen nebeneinander, dann die Positionen. Zahlen tabellarisch, Überziehung des Kontingents in Rot. */

.lnw-page[b-dubmaomr51] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lnw-steps[b-dubmaomr51] {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-lg, 12px);
    overflow: hidden;
}

.lnw-steps__item[b-dubmaomr51] {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 1rem;
    color: var(--bp-text-muted);
    border-left: 1px solid var(--bp-panel-border);
    font-size: 0.92rem;
}

.lnw-steps__item:first-child[b-dubmaomr51] { border-left: 0; }

.lnw-steps__dot[b-dubmaomr51] {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    border: 2px solid currentColor;
    flex: none;
}

.lnw-steps__item--done[b-dubmaomr51] { color: var(--bp-text); }

.lnw-steps__item--done .lnw-steps__dot[b-dubmaomr51] {
    background: var(--bp-success);
    border-color: var(--bp-success);
}

.lnw-steps__item--current[b-dubmaomr51] {
    color: var(--bp-text);
    font-weight: 600;
    background: color-mix(in srgb, var(--bp-yellow) 10%, transparent);
}

.lnw-steps__item--current .lnw-steps__dot[b-dubmaomr51] {
    background: var(--bp-yellow);
    border-color: var(--bp-yellow);
}

.lnw-steps__item--off[b-dubmaomr51] { opacity: 0.55; }

.lnw-grid[b-dubmaomr51] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

.lnw-figures__row[b-dubmaomr51] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.lnw-figure[b-dubmaomr51] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.lnw-figure__label[b-dubmaomr51],
.lnw-contingent dt[b-dubmaomr51] {
    color: var(--bp-text-muted);
    font-size: 0.82rem;
}

.lnw-figure__value[b-dubmaomr51] {
    font-family: var(--bp-font-head);
    font-size: 1.5rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.lnw-contingent[b-dubmaomr51] {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bp-panel-border);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lnw-contingent__title[b-dubmaomr51] { font-weight: 600; }

.lnw-contingent__grid[b-dubmaomr51] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
}

.lnw-contingent__grid dd[b-dubmaomr51] {
    margin: 0.15rem 0 0;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.lnw-contingent--over dd[b-dubmaomr51] { color: var(--bp-debit); }

.lnw-invoice-preview[b-dubmaomr51] { margin-top: 0.5rem; }

/* Text nimmt den Platz, der Satz bleibt schmal und rechtsbündig wie die Zahlen daneben. */
.lnw-invoice-preview__text[b-dubmaomr51] { width: 100%; min-width: 12rem; }

.lnw-invoice-preview__rate[b-dubmaomr51] { width: 7rem; text-align: right; }

.lnw-invoice-preview tfoot td[b-dubmaomr51] { border-top: 1px solid var(--bp-panel-border); padding-top: 0.5rem; }

/* Zusammenfassen: Knopf und Erklärung in einer Zeile über der Tabelle, die Ankreuzspalte so schmal wie das Kästchen. */
.lnw-invoice-merge[b-dubmaomr51] { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.5rem; }

.lnw-invoice-preview__select[b-dubmaomr51] { width: 2rem; text-align: center; }

.lnw-invoice-preview__split[b-dubmaomr51] { display: block; margin-top: 0.25rem; font-size: 0.8rem; }

/* ── Unterschriftenrunde: je Stufe eine Gruppe, die aktuelle hervorgehoben, Personen als Zeilen mit Stand. ── */

.lnw-signers .bp-panel-head[b-dubmaomr51] { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }

.lnw-signers__number[b-dubmaomr51] { font-variant-numeric: tabular-nums; font-size: 0.85rem; }

/* Der Kunde als eine Zeile: Name, darunter Adresse und Weg, rechts der Stand; bei Link-Übergabe darunter der Knopf. */
.lnw-signer[b-dubmaomr51] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "name chip" "meta chip" "handover handover";
    column-gap: 0.75rem;
    row-gap: 0.15rem;
}

.lnw-signer__name[b-dubmaomr51] { grid-area: name; font-weight: 600; }

.lnw-signer__meta[b-dubmaomr51] { grid-area: meta; font-size: 0.82rem; }

.lnw-signer .bp-chip[b-dubmaomr51] { grid-area: chip; align-self: center; max-width: 16rem; white-space: normal; text-align: right; }

.lnw-signer__handover[b-dubmaomr51] {
    grid-area: handover;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding-top: 0.6rem;
}

@media (max-width: 720px) {
    .lnw-grid[b-dubmaomr51], .lnw-figures__row[b-dubmaomr51], .lnw-contingent__grid[b-dubmaomr51] { grid-template-columns: 1fr; }
}
/* _content/bettERFramework.PM.UI/Components/Pages/PmServiceRecords.razor.rz.scp.css */
/* Übersicht der Leistungsnachweise: Reiter mit Zähler als Filter, darunter Suche und Liste.
   1rem Abstand zwischen Reiterleiste, Werkzeugleiste und Tabelle (CLAUDE.md, Ladezustände). */

.lnw-list[b-iftio69hxo] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Zähler im Reiter: leiser als die Beschriftung, Ziffern tabellarisch, damit die Reiter beim Wechsel nicht springen. */
.lnw-list__count[b-iftio69hxo] {
    margin-left: 0.35rem;
    color: var(--bp-text-muted);
    font-variant-numeric: tabular-nums;
}

.lnw-list__toolbar[b-iftio69hxo] {
    align-items: center;
}

[b-iftio69hxo] .lnw-list__search {
    min-width: 16rem;
    max-width: 24rem;
}
/* _content/bettERFramework.PM.UI/Components/Pages/PmTimeReport.razor.rz.scp.css */
/* Zeitauswertung, Einzeleinträge: dieselbe Bearbeitungs-Gestalt wie der Projekt-Reiter „Zeiten"
   (PmProjectTimesTab.razor.css) — gesperrte Zeilen ruhig mit Schloss, Auswahl als Zeilenmarkierung,
   Abrechnungs-Chip als Schalter. Keine eigene Farbwelt, nur bp-Token. */

.rpt-col-check[b-2b71x9rkem] { width: 2.25rem; }

.rpt-col-actions[b-2b71x9rkem] {
    width: 5.5rem;
    text-align: right;
    white-space: nowrap;
}

.rpt-row--locked td[b-2b71x9rkem] { color: var(--bp-text-muted); }

.rpt-row--selected td[b-2b71x9rkem] { background: color-mix(in srgb, var(--bp-yellow) 8%, transparent); }

.rpt-lock[b-2b71x9rkem] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rpt-lock--on .e-icons[b-2b71x9rkem] { color: var(--bp-warn); }

.rpt-chip-toggle[b-2b71x9rkem] {
    cursor: pointer;
    border: 0;
    font: inherit;
}

.rpt-chip-toggle:hover:not(:disabled)[b-2b71x9rkem] { outline: 1px solid var(--bp-panel-border); }

.rpt-chip-toggle:focus-visible[b-2b71x9rkem] { outline: 2px solid var(--bp-yellow); outline-offset: 2px; }
