/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-au7j0rtvie] {
    background: var(--clr-warning-surface);
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-au7j0rtvie] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* ─── IMPERSONATION BUTTON + PANEL ─── */

/* Amber tint on the icon when actively impersonating */
.impersonate-wrap.is-impersonating .impersonate-btn[b-au7j0rtvie],
.impersonate-btn.is-open[b-au7j0rtvie] {
    color: var(--clr-warning-text);
}

/* Full-screen transparent backdrop — closes the panel on outside click */
.impersonate-backdrop[b-au7j0rtvie] {
    position: fixed;
    inset: 0;
    z-index: 2000;
}

/* Panel sits above the backdrop — hidden by default, .is-open reveals it */
.impersonate-panel[b-au7j0rtvie] {
    position: fixed;
    top: calc(var(--header-height) + 8px);
    right: 0.75rem;
    width: 300px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity var(--transition), transform var(--transition);
    z-index: 9996;
}

    .impersonate-panel.is-open[b-au7j0rtvie] {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

.impersonate-panel__header[b-au7j0rtvie] {
    padding: 0.55rem 1rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-color);
}

.impersonate-panel__list[b-au7j0rtvie] {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    max-height: 300px;
    overflow-y: auto;
}

.impersonate-panel__item[b-au7j0rtvie] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 7px 1rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    color: var(--text-primary);
    transition: background var(--transition);
}

    .impersonate-panel__item:hover[b-au7j0rtvie] {
        background: var(--nav-hover-bg);
    }

    .impersonate-panel__item.is-active[b-au7j0rtvie] {
        background: var(--nav-active-bg);
        color: var(--brand-primary);
    }

.impersonate-panel__avatar[b-au7j0rtvie] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--brand-primary);
    color: var(--brand-white);
    font-size: 0.68rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.impersonate-panel__info[b-au7j0rtvie] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.impersonate-panel__name[b-au7j0rtvie] {
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.impersonate-panel__email[b-au7j0rtvie] {
    font-size: 0.72rem;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.impersonate-panel__empty[b-au7j0rtvie] {
    padding: 1rem;
    font-size: 0.84rem;
    color: var(--text-secondary);
    text-align: center;
}

/* ─── IMPERSONATION BANNER (fixed below header) ─── */

.impersonation-banner[b-au7j0rtvie] {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    height: 38px;
    z-index: 999;
    background: var(--clr-warning-bg);
    border-bottom: 1px solid var(--clr-warning-border);
    color: var(--clr-warning-text);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.84rem;
    padding: 0 1rem;
}

.impersonation-banner__email[b-au7j0rtvie] {
    opacity: 0.75;
}

.impersonation-banner__exit[b-au7j0rtvie] {
    margin-left: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 2px 10px;
    border-radius: 999px;
    border: 1.5px solid var(--clr-warning-border);
    background: transparent;
    color: var(--clr-warning-text);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition);
}

    .impersonation-banner__exit:hover[b-au7j0rtvie] {
        background: var(--clr-warning-border);
    }
/* /Components/Layout/Shared/AlertRow.razor.rz.scp.css */
.alert-row[b-i0km5txpmx] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid var(--border-default);
    background: var(--bg-card);
    color: var(--text-primary);
    cursor: pointer;
    transition: background-color var(--transition);
}

.alert-row:hover[b-i0km5txpmx],
.alert-row:focus-visible[b-i0km5txpmx] {
    background: var(--nav-hover-bg);
    outline: none;
}

.alert-row:focus-visible[b-i0km5txpmx] {
    box-shadow: inset 0 0 0 2px var(--brand-primary);
}

.alert-row--unread[b-i0km5txpmx] {
    background: var(--nav-active-bg);
    border-left-color: var(--brand-primary);
}

.alert-row__icon[b-i0km5txpmx] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-white);
}

.alert-row__icon--info[b-i0km5txpmx] { background: var(--clr-info-border); color: var(--clr-info-text); }
.alert-row__icon--success[b-i0km5txpmx] { background: var(--clr-success-border); color: var(--clr-success-text); }
.alert-row__icon--warning[b-i0km5txpmx] { background: var(--clr-warning-border); color: var(--clr-warning-text); }
.alert-row__icon--assignment[b-i0km5txpmx] { background: var(--brand-primary); color: var(--brand-white); }

.alert-row__body[b-i0km5txpmx] {
    flex: 1 1 auto;
    min-width: 0;
}

.alert-row__title[b-i0km5txpmx] {
    font-size: 0.875rem;
    line-height: 1.35;
    color: var(--text-primary);
    word-wrap: break-word;
}

.alert-row--unread .alert-row__title[b-i0km5txpmx] {
    font-weight: 600;
}

.alert-row__meta[b-i0km5txpmx] {
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

.alert-row__badge[b-i0km5txpmx] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.1rem 0.4rem;
    border-radius: var(--border-radius-sm);
}

.alert-row__badge--unread[b-i0km5txpmx] {
    background: var(--brand-primary);
    color: var(--brand-white);
}

.alert-row__badge--read[b-i0km5txpmx] {
    background: var(--bg-inset);
    color: var(--text-secondary);
}

.alert-row__actions[b-i0km5txpmx] {
    flex: 0 0 auto;
    align-self: center;
}

.alert-row__action-btn[b-i0km5txpmx] {
    background: transparent;
    color: var(--link-color);
    font-size: 0.75rem;
    padding: 0.3rem 0.5rem;
    border-radius: var(--border-radius-sm);
}

.alert-row__action-btn:hover[b-i0km5txpmx] {
    background: var(--icon-btn-hover-bg);
    color: var(--link-color-hover);
}
/* /Components/Layout/Shared/AlertsBell.razor.rz.scp.css */
.notification-wrap[b-taheek87u3] {
    position: relative;
    display: inline-flex;
}

.notification-backdrop[b-taheek87u3] {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: transparent;
}
/* /Components/Layout/Shared/AlertsDropdown.razor.rz.scp.css */
.alerts-dropdown[b-t6vr451nm4] {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: 360px;
    max-width: calc(100vw - 1rem);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    z-index: 1000;
    overflow: hidden;
}

.alerts-dropdown__header[b-t6vr451nm4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--border-default);
    background: var(--bg-subsection);
}

.alerts-dropdown__title[b-t6vr451nm4] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.alerts-dropdown__mark-all[b-t6vr451nm4] {
    background: transparent;
    color: var(--link-color);
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: var(--border-radius-sm);
}

.alerts-dropdown__mark-all:hover[b-t6vr451nm4] {
    background: var(--icon-btn-hover-bg);
    color: var(--link-color-hover);
}

.alerts-dropdown__list[b-t6vr451nm4] {
    max-height: 360px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
}

.alerts-dropdown__empty[b-t6vr451nm4] {
    padding: 1.25rem 0.85rem;
    text-align: center;
    color: var(--text-tertiary);
    font-size: 0.85rem;
}

.alerts-dropdown__footer[b-t6vr451nm4] {
    border-top: 1px solid var(--border-default);
    background: var(--bg-subsection);
}

.alerts-dropdown__view-all[b-t6vr451nm4] {
    display: block;
    padding: 0.6rem 0.85rem;
    text-align: center;
    color: var(--link-color);
    font-size: 0.85rem;
    font-weight: 500;
}

.alerts-dropdown__view-all:hover[b-t6vr451nm4] {
    background: var(--nav-hover-bg);
    color: var(--link-color-hover);
}
/* /Components/Layout/Shared/AuthenticationInfoDisplay.razor.rz.scp.css */
/* Scoped styles for AuthenticationInfoDisplay */
/* /Components/Layout/Shared/CalendarAgendaList.razor.rz.scp.css */
.agenda[b-rleo6ij4ik] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.agenda__row[b-rleo6ij4ik] {
    display: grid;
    grid-template-columns: 130px 22px minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
    padding: 0.35rem 0.5rem;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.08));
    font-size: 0.875rem;
    line-height: 1.3;
    border-radius: 0.25rem;
}

.agenda__row:first-of-type[b-rleo6ij4ik] {
    border-top: none;
}

.agenda__row--today[b-rleo6ij4ik] {
    background: var(--clr-info-bg);
    border-top-color: transparent;
}

.agenda__row--today + .agenda__row[b-rleo6ij4ik] {
    border-top-color: transparent;
}

.agenda__date[b-rleo6ij4ik] {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-tertiary);
    white-space: nowrap;
}

.agenda__row--today .agenda__date[b-rleo6ij4ik] {
    color: var(--brand-primary);
    font-weight: 700;
}

.agenda__icon[b-rleo6ij4ik] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    flex-shrink: 0;
}

.agenda__icon--birthday[b-rleo6ij4ik] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.agenda__icon--anniversary[b-rleo6ij4ik] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.agenda__icon--holiday[b-rleo6ij4ik] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.agenda__icon--sprint[b-rleo6ij4ik] {
    background: var(--clr-needs-review-bg);
    color: var(--clr-needs-review-text);
}

.agenda__icon--activity[b-rleo6ij4ik] {
    background: var(--clr-activity-bg);
    color: var(--clr-activity-text);
}

.agenda__icon--training[b-rleo6ij4ik],
.agenda__icon--default[b-rleo6ij4ik] {
    background: var(--clr-ignored-bg);
    color: var(--clr-ignored-text);
}

.agenda__text[b-rleo6ij4ik] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agenda__title[b-rleo6ij4ik] {
    color: var(--text-primary);
    font-weight: 600;
}

.agenda__user-icon[b-rleo6ij4ik] {
    margin-right: 0.3rem;
    color: var(--text-tertiary);
    vertical-align: middle;
}

.agenda__subtitle[b-rleo6ij4ik] {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.agenda__private-pill[b-rleo6ij4ik] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.4rem;
    padding: 0.05rem 0.35rem;
    border-radius: 0.25rem;
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
/* /Components/Layout/Shared/CalendarGrid.razor.rz.scp.css */
.cal-grid[b-reu8ywsfbe] {
    display: flex;
    flex-direction: column;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.18));
    border-radius: 0.5rem;
    overflow: hidden;
}

.cal-grid__header[b-reu8ywsfbe] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: var(--bg-subsection);
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.18));
}

.cal-grid__nav[b-reu8ywsfbe] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.cal-grid__month[b-reu8ywsfbe] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.cal-grid__weekdays[b-reu8ywsfbe] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    background: var(--bg-inset);
}

.cal-grid__weekday[b-reu8ywsfbe] {
    padding: 0.4rem 0.5rem;
    text-align: center;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
}

.cal-grid__days[b-reu8ywsfbe] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-auto-rows: minmax(96px, auto);
}

.cal-grid__day[b-reu8ywsfbe] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.35rem 0.4rem;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.12));
    border-left: 1px solid var(--border-default, rgba(128, 128, 128, 0.12));
    background: var(--bg-card);
    cursor: pointer;
    min-width: 0;
}

.cal-grid__day:nth-child(7n+1)[b-reu8ywsfbe] {
    border-left: none;
}

.cal-grid__day:hover[b-reu8ywsfbe] {
    background: var(--bg-subsection);
}

.cal-grid__day--out[b-reu8ywsfbe] {
    background: var(--bg-inset);
}

.cal-grid__day--out .cal-grid__day-number[b-reu8ywsfbe] {
    color: var(--text-tertiary);
}

.cal-grid__day--today[b-reu8ywsfbe] {
    background: var(--clr-info-bg);
}

.cal-grid__day--today .cal-grid__day-number[b-reu8ywsfbe] {
    color: var(--brand-primary);
    font-weight: 700;
}

.cal-grid__day-number[b-reu8ywsfbe] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary);
}

.cal-grid__chips[b-reu8ywsfbe] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.cal-grid__chip[b-reu8ywsfbe] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.35rem;
    border-radius: 0.25rem;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-grid__chip-label[b-reu8ywsfbe] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.cal-grid__chip-lock[b-reu8ywsfbe] {
    flex-shrink: 0;
    opacity: 0.85;
}

.cal-grid__chip-user[b-reu8ywsfbe] {
    flex-shrink: 0;
    opacity: 0.85;
}

.cal-grid__chip--birthday[b-reu8ywsfbe] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.cal-grid__chip--anniversary[b-reu8ywsfbe] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.cal-grid__chip--holiday[b-reu8ywsfbe] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.cal-grid__chip--sprint[b-reu8ywsfbe] {
    background: var(--clr-needs-review-bg);
    color: var(--clr-needs-review-text);
}

.cal-grid__chip--activity[b-reu8ywsfbe] {
    background: var(--clr-activity-bg);
    color: var(--clr-activity-text);
}

.cal-grid__chip--training[b-reu8ywsfbe],
.cal-grid__chip--default[b-reu8ywsfbe] {
    background: var(--clr-ignored-bg);
    color: var(--clr-ignored-text);
}

.cal-grid__chip--more[b-reu8ywsfbe] {
    background: transparent;
    color: var(--text-tertiary);
    font-style: italic;
    padding-left: 0;
}
/* /Components/Layout/Shared/CapacityWorkflowBadge.razor.rz.scp.css */
.cw-badge[b-60tw77paqo] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    line-height: 1.4;
    border: none;
}

.cw-badge--interactive[b-60tw77paqo] {
    cursor: pointer;
    transition: filter 0.15s ease;
}

.cw-badge--interactive:hover[b-60tw77paqo] {
    filter: brightness(0.92);
}

.cw-badge__chevron[b-60tw77paqo] {
    font-size: 0.5rem;
    margin-left: 0.125rem;
    opacity: 0.7;
}

.cw-badge--sm[b-60tw77paqo] {
    font-size: 0.625rem;
    padding: 0.0625rem 0.375rem;
}

.cw-badge--not-started[b-60tw77paqo] {
    background: var(--bg-page);
    color: var(--text-tertiary);
}

.cw-badge--backlog[b-60tw77paqo] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.cw-badge--in-progress[b-60tw77paqo] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.cw-badge--awaiting-feedback[b-60tw77paqo] {
    background: var(--clr-info-bg);
    color: var(--brand-primary);
}

.cw-badge--complete[b-60tw77paqo] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

/* ── Dropdown ── */
.cw-dropdown[b-60tw77paqo] {
    position: relative;
    display: inline-block;
    overflow: visible;
}

.cw-dropdown__backdrop[b-60tw77paqo] {
    position: fixed;
    inset: 0;
    z-index: 9990;
}

.cw-dropdown__menu[b-60tw77paqo] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9991;
    margin-top: 0.25rem;
    padding: 0.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 6px;
    box-shadow: var(--shadow-lg);
    list-style: none;
    min-width: 140px;
}

.cw-dropdown__item[b-60tw77paqo] {
    display: block;
    width: 100%;
    padding: 0.25rem 0.375rem;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 4px;
    text-align: left;
    transition: background 0.15s ease;
}

.cw-dropdown__item:hover[b-60tw77paqo] {
    background: var(--bg-inset);
}
/* /Components/Layout/Shared/CheckInStatusBadge.razor.rz.scp.css */
.ci-badge[b-3yr8jq26bp] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    line-height: 1.4;
}

.ci-badge--submitted[b-3yr8jq26bp] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.ci-badge--excused[b-3yr8jq26bp] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.ci-badge--missing[b-3yr8jq26bp] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}
/* /Components/Layout/Shared/ChecklistWizard.razor.rz.scp.css */
.wiz-panel[b-pd8mpn1jvq] {
    max-width: 560px;
    width: 100%;
}

.wiz-header-right[b-pd8mpn1jvq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wiz-toggle-view[b-pd8mpn1jvq] {
    font-size: 0.8125rem;
    white-space: nowrap;
}

.wiz-progress[b-pd8mpn1jvq] {
    padding: 0 1.5rem;
    margin-bottom: 0.25rem;
}

.wiz-progress__bar[b-pd8mpn1jvq] {
    height: 0.375rem;
    background: var(--bg-page);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 0.375rem;
}

.wiz-progress__fill[b-pd8mpn1jvq] {
    height: 100%;
    background: var(--brand-primary);
    border-radius: 999px;
    transition: width 0.3s ease;
}

.wiz-progress__text[b-pd8mpn1jvq] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

/* Step-by-step view */
.wiz-step[b-pd8mpn1jvq] {
    text-align: center;
    padding: 1.5rem 1rem;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.wiz-step__counter[b-pd8mpn1jvq] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
    margin-bottom: 0.75rem;
}

.wiz-step__title[b-pd8mpn1jvq] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.wiz-step__desc[b-pd8mpn1jvq] {
    font-size: 0.875rem;
    color: var(--text-secondary);
    max-width: 400px;
    margin-bottom: 0.5rem;
}

.wiz-step__meta[b-pd8mpn1jvq] {
    font-size: 0.75rem;
    color: var(--clr-success-text);
}

.wiz-actions[b-pd8mpn1jvq] {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 0;
}

/* Step dots */
.wiz-dots[b-pd8mpn1jvq] {
    display: flex;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.75rem 0 0.25rem;
}

.wiz-dot[b-pd8mpn1jvq] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    background: var(--bg-page);
    padding: 0;
    cursor: pointer;
    transition: all 0.15s ease;
}

.wiz-dot--active[b-pd8mpn1jvq] {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    transform: scale(1.3);
}

.wiz-dot--done[b-pd8mpn1jvq] {
    background: var(--clr-success-text);
    border-color: var(--clr-success-text);
}

/* View All mode */
.wiz-all-items[b-pd8mpn1jvq] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 400px;
    overflow-y: auto;
}

.wiz-item[b-pd8mpn1jvq] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
}

.wiz-item--done[b-pd8mpn1jvq] {
    opacity: 0.65;
}

.wiz-item__content[b-pd8mpn1jvq] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.wiz-item__title[b-pd8mpn1jvq] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
}

.wiz-item__desc[b-pd8mpn1jvq] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.wiz-item__meta[b-pd8mpn1jvq] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

/* Links */
.wiz-step__links[b-pd8mpn1jvq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.wiz-link[b-pd8mpn1jvq] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--brand-primary);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.25rem 0.625rem;
    border: 1px solid var(--brand-primary);
    border-radius: var(--border-radius);
    transition: background 0.15s ease;
}

.wiz-link:hover[b-pd8mpn1jvq] {
    background: var(--brand-primary);
    color: var(--brand-white);
    text-decoration: none;
}

.wiz-link--sm[b-pd8mpn1jvq] {
    font-size: 0.75rem;
    padding: 0.125rem 0.375rem;
}

.wiz-link--hero[b-pd8mpn1jvq] {
    background: var(--brand-primary);
    color: var(--brand-white);
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 1.125rem;
    border-radius: var(--border-radius-lg);
    gap: 0.375rem;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--brand-primary) 25%, transparent);
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.wiz-link--hero:hover[b-pd8mpn1jvq] {
    background: var(--brand-primary-dark);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--brand-primary) 35%, transparent);
    transform: translateY(-1px);
    color: var(--brand-white);
}

.wiz-item__links[b-pd8mpn1jvq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.125rem;
}
/* /Components/Layout/Shared/ComplianceBadge.razor.rz.scp.css */
.cb-badge[b-3fzy3fp4iq] {
    display: inline-block;
    padding: 0.125rem 0.625rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    line-height: 1.4;
}

.cb-badge--ontrack[b-3fzy3fp4iq] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.cb-badge--close[b-3fzy3fp4iq] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.cb-badge--below[b-3fzy3fp4iq] {
    background: var(--clr-critical-bg);
    color: var(--clr-critical-text);
}

.cb-badge--missing[b-3fzy3fp4iq] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.cb-badge--excused[b-3fzy3fp4iq] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}
/* /Components/Layout/Shared/ErrorContent.razor.rz.scp.css */
/* Scoped styles for ErrorContent */
/* /Components/Layout/Shared/FeedbackResponseDialog.razor.rz.scp.css */
.frd-original[b-4d9b08kfdm] {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: var(--bg-page);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
}

.frd-original__meta[b-4d9b08kfdm] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
    margin-bottom: 0.25rem;
}

.frd-original__message[b-4d9b08kfdm] {
    margin: 0;
    color: var(--text-primary);
    white-space: pre-wrap;
    font-size: 0.9rem;
    border-left: 3px solid var(--border-color);
    padding-left: 0.75rem;
}

.frd-prior-note[b-4d9b08kfdm] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
    margin: 0 0 0.75rem 0;
}

.frd-no-email[b-4d9b08kfdm] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
    margin: 0.5rem 0 0 0;
    font-style: italic;
}

.frd-label[b-4d9b08kfdm] {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 500;
    font-size: 0.875rem;
}

.frd-actions[b-4d9b08kfdm] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}
/* /Components/Layout/Shared/FrequencyBadge.razor.rz.scp.css */
.freq-badge[b-2qqvcvtghp] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    line-height: 1.4;
    border: none;
}

.freq-badge--interactive[b-2qqvcvtghp] {
    cursor: pointer;
    transition: filter 0.15s ease;
}

.freq-badge--interactive:hover[b-2qqvcvtghp] {
    filter: brightness(0.92);
}

.freq-badge__chevron[b-2qqvcvtghp] {
    font-size: 0.5rem;
    margin-left: 0.125rem;
    opacity: 0.7;
}

.freq-badge--sm[b-2qqvcvtghp] {
    font-size: 0.625rem;
    padding: 0.0625rem 0.375rem;
}

.freq-badge--never[b-2qqvcvtghp] {
    background: var(--bg-page);
    color: var(--text-tertiary);
    border: 1px solid var(--text-tertiary);
}

.freq-badge--hardly-ever[b-2qqvcvtghp] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
    border: 1px solid var(--clr-success-text);
}

.freq-badge--sometimes[b-2qqvcvtghp] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
    border: 1px solid var(--clr-info-text);
}

.freq-badge--often[b-2qqvcvtghp] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
    border: 1px solid var(--clr-warning-text);
}

.freq-badge--very-often[b-2qqvcvtghp] {
    background: var(--clr-critical-bg);
    color: var(--clr-critical-text);
    border: 1px solid var(--clr-critical-text);
}

/* ── Dropdown ── */
.freq-dropdown[b-2qqvcvtghp] {
    position: relative;
    display: inline-block;
    overflow: visible;
}

.freq-dropdown__backdrop[b-2qqvcvtghp] {
    position: fixed;
    inset: 0;
    z-index: 9990;
}

.freq-dropdown__menu[b-2qqvcvtghp] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9991;
    margin-top: 0.25rem;
    padding: 0.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 6px;
    box-shadow: var(--shadow-lg);
    list-style: none;
    min-width: 120px;
}

.freq-dropdown__item[b-2qqvcvtghp] {
    display: block;
    width: 100%;
    padding: 0.25rem 0.375rem;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 4px;
    text-align: left;
    transition: background 0.15s ease;
}

.freq-dropdown__item:hover[b-2qqvcvtghp] {
    background: var(--bg-inset);
}
/* /Components/Layout/Shared/Icon.razor.rz.scp.css */
/* Scoped styles for Icon */
/* /Components/Layout/Shared/LabelDeleteConfirmDialog.razor.rz.scp.css */
.ldcd-target[b-dqdahhhc5e] {
    margin-top: 0.375rem;
}
/* /Components/Layout/Shared/LabelEditDialog.razor.rz.scp.css */
.led-color-row[b-pytibdjs4v] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.led-color-row .form-field[b-pytibdjs4v] {
    flex: 1 1 180px;
    min-width: 0;
}

.color-field[b-pytibdjs4v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.color-field input[type="color"][b-pytibdjs4v] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0.125rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
    background: transparent;
    flex-shrink: 0;
}

.color-field .form-control[b-pytibdjs4v] {
    min-width: 0;
    flex: 1 1 auto;
}

.led-preview[b-pytibdjs4v] {
    display: flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.5rem;
    background: var(--bg-inset);
    border: 1px dashed var(--border-default, rgba(128, 128, 128, 0.2));
    border-radius: 6px;
}

.led-actions[b-pytibdjs4v] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.led-actions__primary[b-pytibdjs4v] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.led-actions__delete[b-pytibdjs4v] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
/* /Components/Layout/Shared/LifecyclePhaseBadge.razor.rz.scp.css */
.phase-badge--interactive[b-lisi8cw4hu] {
    cursor: pointer;
    border: none;
    transition: filter 0.15s ease;
}

.phase-badge--interactive:hover[b-lisi8cw4hu] {
    filter: brightness(0.92);
}

.phase-badge__chevron[b-lisi8cw4hu] {
    font-size: 0.5rem;
    margin-left: 0.125rem;
    opacity: 0.7;
}

.phase-badge--busy[b-lisi8cw4hu] {
    cursor: progress;
    opacity: 0.75;
}

.phase-badge--busy:hover[b-lisi8cw4hu] {
    filter: none;
}

.phase-badge__spinner[b-lisi8cw4hu] {
    display: inline-block;
    width: 0.75rem;
    height: 0.75rem;
    margin-left: 0.25rem;
    border: 1.5px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: phase-badge-spin-b-lisi8cw4hu 0.7s linear infinite;
    vertical-align: -1px;
}

@keyframes phase-badge-spin-b-lisi8cw4hu {
    to { transform: rotate(360deg); }
}

/* ── Dropdown ── */
.lp-dropdown[b-lisi8cw4hu] {
    position: relative;
    display: inline-block;
    overflow: visible;
}

.lp-dropdown__backdrop[b-lisi8cw4hu] {
    position: fixed;
    inset: 0;
    z-index: 9990;
}

.lp-dropdown__menu[b-lisi8cw4hu] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 9991;
    margin-top: 0.25rem;
    padding: 0.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 6px;
    box-shadow: var(--shadow-lg);
    list-style: none;
    min-width: 160px;
}

.lp-dropdown__item[b-lisi8cw4hu] {
    display: block;
    width: 100%;
    padding: 0.375rem 0.5rem;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 4px;
    text-align: left;
    font-size: 0.8125rem;
    color: var(--text-primary);
    transition: background 0.15s ease;
}

.lp-dropdown__item:hover[b-lisi8cw4hu] {
    background: var(--bg-inset);
}
/* /Components/Layout/Shared/Login.razor.rz.scp.css */
/* Login Component Scoped Styling */

/* Main login container with full viewport styling */
.login-wrapper[b-pmb9grdezo] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: linear-gradient(135deg, var(--login-gradient-from) 0%, var(--login-gradient-to) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* Login container equivalent */
.login-container[b-pmb9grdezo] {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Login row equivalent */
.login-row[b-pmb9grdezo] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    justify-content: center;
}

/* Login column equivalent */
.login-column[b-pmb9grdezo] {
    width: 100%;
    max-width: 450px;
    padding: 0 15px;
}

/* Login card styling */
.login-card[b-pmb9grdezo] {
    background: var(--login-card-bg);
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    overflow: hidden;
    animation: loginSlideIn-b-pmb9grdezo 0.6s ease-out;
    position: relative;
    transition: all 0.3s ease;
}

@keyframes loginSlideIn-b-pmb9grdezo {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.login-card-header[b-pmb9grdezo] {
    background: linear-gradient(135deg, var(--login-header-from) 0%, var(--login-header-to) 100%);
    color: var(--brand-white);
    padding: 24px 32px;
    border-bottom: none;
    text-align: center;
}

.login-card-header h4[b-pmb9grdezo] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.025em;
    color: var(--brand-white);
}

.login-card-body[b-pmb9grdezo] {
    padding: 32px;
    text-align: center;
}

.login-card-body p[b-pmb9grdezo] {
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 32px;
}

/* Login text center equivalent */
.login-text-center[b-pmb9grdezo] {
    text-align: center;
}

/* Login spinner styling */
.login-spinner[b-pmb9grdezo] {
    display: inline-block;
    width: 48px;
    height: 48px;
    border: 4px solid var(--login-spinner-track);
    border-top: 4px solid var(--login-spinner-accent);
    border-radius: 50%;
    animation: loginSpin-b-pmb9grdezo 1s linear infinite;
    margin-bottom: 16px;
}

@keyframes loginSpin-b-pmb9grdezo {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* visually-hidden utility is now global in app.css */

/* Login status text */
.login-status-text[b-pmb9grdezo] {
    color: var(--text-secondary);
    font-size: 0.95rem;
    font-weight: 500;
    margin: 16px 0 0 0;
}

/* Responsive design */
@media (max-width: 768px) {
    .login-container[b-pmb9grdezo] {
        padding: 16px;
    }
    
    .login-column[b-pmb9grdezo] {
        padding: 0 8px;
    }
    
    .login-card-header[b-pmb9grdezo] {
        padding: 20px 24px;
    }
    
    .login-card-header h4[b-pmb9grdezo] {
        font-size: 1.25rem;
    }
    
    .login-card-body[b-pmb9grdezo] {
        padding: 24px;
    }
    
    .login-spinner[b-pmb9grdezo] {
        width: 40px;
        height: 40px;
        border-width: 3px;
    }
}

/* Additional professional touches */
.login-card[b-pmb9grdezo]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--login-header-from), var(--login-header-to), var(--login-accent-pink));
}

/* Focus and hover states for accessibility */
.login-card:hover[b-pmb9grdezo] {
    transform: translateY(-2px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}
/* /Components/Layout/Shared/NotFound.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
#error404-message[b-xmyx3e4qnp] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 3rem;
    max-width: 680px;
    margin: 6rem auto;
    padding: 3rem 3.5rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
}

/* ── Logo cell ────────────────────────────────────────────── */
#error404-grid-cell-1[b-xmyx3e4qnp] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 2.5rem;
    border-right: 1px solid var(--border-color);
}

.logo[b-xmyx3e4qnp] {
    color: var(--text-primary);
    transition: opacity var(--transition);
}

    .logo:hover[b-xmyx3e4qnp] {
        opacity: 0.75;
    }

/* ── Content cell ─────────────────────────────────────────── */
#error404-grid-cell-2 h2[b-xmyx3e4qnp] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

#error404-grid-cell-2 > p[b-xmyx3e4qnp] {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin-bottom: 1.25rem;
}

#error404-grid-cell-2 div > p[b-xmyx3e4qnp] {
    font-size: 0.875rem;
    color: var(--text-tertiary);
    margin-bottom: 0.5rem;
}

#error404-grid-cell-2 ul[b-xmyx3e4qnp] {
    list-style: disc;
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

    #error404-grid-cell-2 ul li[b-xmyx3e4qnp] {
        font-size: 0.875rem;
        color: var(--text-secondary);
    }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 560px) {
    #error404-message[b-xmyx3e4qnp] {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 2rem;
        margin: 3rem 1rem;
        padding: 2rem 1.5rem;
    }

    #error404-grid-cell-1[b-xmyx3e4qnp] {
        padding-right: 0;
        padding-bottom: 1.5rem;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
    }

    #error404-grid-cell-2 ul[b-xmyx3e4qnp] {
        display: inline-flex;
        text-align: left;
    }
}
/* /Components/Layout/Shared/PriorityBadge.razor.rz.scp.css */
.pri-badge[b-fm9fkste0h] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    line-height: 1.4;
    border: none;
}

.pri-badge--interactive[b-fm9fkste0h] {
    cursor: pointer;
    transition: filter 0.15s ease;
}

.pri-badge--interactive:hover[b-fm9fkste0h] {
    filter: brightness(0.92);
}

.pri-badge__chevron[b-fm9fkste0h] {
    font-size: 0.5rem;
    margin-left: 0.125rem;
    opacity: 0.7;
}

.pri-badge--sm[b-fm9fkste0h] {
    font-size: 0.625rem;
    padding: 0.0625rem 0.375rem;
}

.pri-badge--low[b-fm9fkste0h] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
    border: 1px solid var(--clr-success-text);
}

.pri-badge--medium[b-fm9fkste0h] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
    border: 1px solid var(--clr-info-text);
}

.pri-badge--high[b-fm9fkste0h] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
    border: 1px solid var(--clr-warning-text);
}

.pri-badge--urgent[b-fm9fkste0h] {
    background: var(--clr-critical-bg);
    color: var(--clr-critical-text);
    border: 1px solid var(--clr-critical-text);
}

/* ── Dropdown ── */
.pri-dropdown[b-fm9fkste0h] {
    position: relative;
    display: inline-block;
    overflow: visible;
}

.pri-dropdown__backdrop[b-fm9fkste0h] {
    position: fixed;
    inset: 0;
    z-index: 9990;
}

.pri-dropdown__menu[b-fm9fkste0h] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9991;
    margin-top: 0.25rem;
    padding: 0.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 6px;
    box-shadow: var(--shadow-lg);
    list-style: none;
    min-width: 100px;
}

.pri-dropdown__item[b-fm9fkste0h] {
    display: block;
    width: 100%;
    padding: 0.25rem 0.375rem;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 4px;
    text-align: left;
    transition: background 0.15s ease;
}

.pri-dropdown__item:hover[b-fm9fkste0h] {
    background: var(--bg-inset);
}
/* /Components/Layout/Shared/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-7g867mat6x],
.components-reconnect-repeated-attempt-visible[b-7g867mat6x],
.components-reconnect-failed-visible[b-7g867mat6x],
.components-pause-visible[b-7g867mat6x],
.components-resume-failed-visible[b-7g867mat6x],
.components-rejoining-animation[b-7g867mat6x] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-retrying[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-failed[b-7g867mat6x],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-7g867mat6x] {
    display: block;
}


#components-reconnect-modal[b-7g867mat6x] {
    background-color: var(--brand-white);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-7g867mat6x 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-7g867mat6x 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-7g867mat6x 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-7g867mat6x]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-7g867mat6x 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-7g867mat6x {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-7g867mat6x {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-7g867mat6x {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-7g867mat6x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-7g867mat6x] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-7g867mat6x] {
    border: 0;
    background-color: var(--reconnect-btn-bg);
    color: var(--brand-white);
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-7g867mat6x] {
        background-color: var(--reconnect-btn-bg-hover);
    }

    #components-reconnect-modal button:active[b-7g867mat6x] {
        background-color: var(--reconnect-btn-bg);
    }

.components-rejoining-animation[b-7g867mat6x] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-7g867mat6x] {
        position: absolute;
        border: 3px solid var(--reconnect-ring-color);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-7g867mat6x 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-7g867mat6x] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-7g867mat6x {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/Shared/ThemeSync.razor.rz.scp.css */
/* /Components/Layout/Shared/ToastContainer.razor.rz.scp.css */
.toast-container[b-56ilzo9fhv] {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: flex;
    flex-direction: column-reverse;
    gap: 0.5rem;
    z-index: 9999;
    pointer-events: none;
}

.toast-item[b-56ilzo9fhv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--border-radius);
    font-size: 0.8125rem;
    font-weight: 500;
    box-shadow: var(--shadow-lg);
    pointer-events: auto;
    animation: toast-in-b-56ilzo9fhv 0.25s ease-out;
    min-width: 240px;
    max-width: 400px;
}

.toast-item--success[b-56ilzo9fhv] {
    background: var(--clr-success-bg, #f0fdf4);
    color: var(--clr-success-text, #16a34a);
    border: 1px solid var(--clr-success-border, #bbf7d0);
}

.toast-item--info[b-56ilzo9fhv] {
    background: var(--clr-info-bg, #eff6ff);
    color: var(--clr-info-text, #2563eb);
    border: 1px solid var(--clr-info-border, #bfdbfe);
}

.toast-item--warning[b-56ilzo9fhv] {
    background: var(--clr-warning-bg, #fffbeb);
    color: var(--clr-warning-text, #d97706);
    border: 1px solid var(--clr-warning-border, #fde68a);
}

.toast-item--error[b-56ilzo9fhv] {
    background: var(--clr-critical-bg, #fef2f2);
    color: var(--clr-critical-text, #dc2626);
    border: 1px solid var(--clr-critical-border, #fecaca);
}

[b-56ilzo9fhv] .toast-item__icon {
    flex-shrink: 0;
}

.toast-item__text[b-56ilzo9fhv] {
    flex: 1;
}

.toast-item__close[b-56ilzo9fhv] {
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    padding: 0.125rem;
    display: flex;
    align-items: center;
}

.toast-item__close:hover[b-56ilzo9fhv] {
    opacity: 1;
}

@keyframes toast-in-b-56ilzo9fhv {
    from {
        opacity: 0;
        transform: translateY(0.5rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* /Components/Layout/Shared/Unauthorized.razor.rz.scp.css */
/* ── Outer container ─────────────────────────────────────── */
.unauth-container[b-omnmpmk76z] {
    width: 100%;
    max-width: 620px;
    border: 1px solid var(--unauth-border);
    box-shadow:
        0 0 0 1px var(--unauth-border-dark),
        0 0 40px var(--unauth-glow),
        0 0 80px var(--unauth-glow-soft);
    background: var(--unauth-bg);
}

/* ── Header seal area ────────────────────────────────────── */
.unauth-header[b-omnmpmk76z] {
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.unauth-seal[b-omnmpmk76z] {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border: 1px solid var(--unauth-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 16px var(--unauth-glow);
    color: var(--unauth-accent);
    background: radial-gradient(circle, #1a0505 0%, var(--unauth-bg) 100%);
}

.unauth-header-text h1[b-omnmpmk76z] {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--unauth-text);
    margin-bottom: 0.5rem;
}

.unauth-header-text p[b-omnmpmk76z] {
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--unauth-text-muted);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    letter-spacing: 0;
}

.unauth-actions[b-omnmpmk76z] {
    padding: 0 2rem 2rem;
}

.unauth-relogin[b-omnmpmk76z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.5rem 1rem;
    border: 1px solid var(--unauth-border);
    color: var(--unauth-btn-text);
    background: var(--unauth-btn-bg);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.unauth-relogin:hover[b-omnmpmk76z] {
    background: var(--unauth-btn-bg-hover);
    border-color: var(--unauth-btn-border-hover);
    color: var(--brand-white);
}
/* /Components/Layout/Shared/User.razor.rz.scp.css */
/* Scoped styles for User */
/* /Components/Layout/Shared/WeeklyGantt.razor.rz.scp.css */
.gantt[b-inabtxsb3w] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 200px;
}

.gantt__header[b-inabtxsb3w] {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 2px;
}

.gantt__week-label[b-inabtxsb3w] {
    font-size: 0.5625rem;
    color: var(--text-secondary);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.gantt__bar[b-inabtxsb3w] {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 2px;
    height: 2rem;
}

.gantt__cell[b-inabtxsb3w] {
    position: relative;
    border-radius: 2px;
    border: 1px solid var(--border-default);
    background: var(--bg-page);
    overflow: hidden;
}

/* Learning Sprint week — purple ring around the cell so the sprint stays visible even at
   100% allocation (when there's no leftover capacity for the striped --sprint segment to fill).
   Uses an outset box-shadow + matching border color to draw a 2px ring without changing the
   cell's grid-cell dimensions, keeping the columns aligned. */
.gantt__cell--sprint[b-inabtxsb3w] {
    border-color: var(--clr-needs-review-text);
    box-shadow: 0 0 0 1px var(--clr-needs-review-text);
}

.gantt__stack[b-inabtxsb3w] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
}

.gantt__seg[b-inabtxsb3w] {
    flex-shrink: 0;
    transition: flex-basis 0.3s ease;
}

/* Priority-based colors (solid = committed) */
.gantt__seg--low[b-inabtxsb3w] {
    background: var(--clr-success-text);
    opacity: 0.45;
}

.gantt__seg--medium[b-inabtxsb3w] {
    background: var(--brand-primary);
    opacity: 0.5;
}

.gantt__seg--high[b-inabtxsb3w] {
    background: var(--clr-warning-text);
    opacity: 0.6;
}

.gantt__seg--urgent[b-inabtxsb3w] {
    background: var(--clr-over-capacity);
}

/* Backlog: striped fill over priority color. Override the solid background
   so the priority hue comes through the stripe bands. */
.gantt__seg--backlog.gantt__seg--low[b-inabtxsb3w] {
    background: repeating-linear-gradient(
        45deg,
        var(--clr-success-text) 0 6px,
        transparent 6px 12px);
    opacity: 0.55;
}

.gantt__seg--backlog.gantt__seg--medium[b-inabtxsb3w] {
    background: repeating-linear-gradient(
        45deg,
        var(--brand-primary) 0 6px,
        transparent 6px 12px);
    opacity: 0.6;
}

.gantt__seg--backlog.gantt__seg--high[b-inabtxsb3w] {
    background: repeating-linear-gradient(
        45deg,
        var(--clr-warning-text) 0 6px,
        transparent 6px 12px);
    opacity: 0.75;
}

.gantt__seg--backlog.gantt__seg--urgent[b-inabtxsb3w] {
    background: repeating-linear-gradient(
        45deg,
        var(--clr-over-capacity) 0 6px,
        transparent 6px 12px);
    opacity: 0.9;
}

/* Learning Sprint: opposite-direction stripes (-45deg) in the same purple as the calendar
   sprint icon. Takes the place of backlog stripes for any week the sprint covers, signaling
   "the rest of this week is committed to the sprint." */
.gantt__seg--sprint[b-inabtxsb3w] {
    background: repeating-linear-gradient(
        -45deg,
        var(--clr-needs-review-text) 0 6px,
        transparent 6px 12px);
    opacity: 0.75;
}
/* /Components/Layout/Sidebar.razor.rz.scp.css */
.sidebar-version[b-oojujhtp48] {
    display: block;
    padding: 0.5rem 1.25rem 0.75rem;
    font-size: 0.7rem;
    color: var(--text-tertiary);
    letter-spacing: 0.03em;
    opacity: 0.7;
    white-space: nowrap;
    overflow: hidden;
    text-decoration: none;
    transition: opacity 0.2s, color 0.2s;
}

.sidebar-version:hover[b-oojujhtp48] {
    opacity: 1;
    color: var(--text-secondary);
}

.nav-badge[b-oojujhtp48] {
    margin-left: auto;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--badge-solid-bg);
    color: var(--badge-solid-text);
    box-shadow: 0 0 0 2px var(--bg-sidebar);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.25rem;
    text-align: center;
    white-space: nowrap;
}
/* /Components/Layout/UnauthorizedLayout.razor.rz.scp.css */
/* ================================================================
   UNAUTHORIZED LAYOUT  ·  Full-page lockdown screen
   ================================================================ */

.unauth-page[b-l4xo5gnxsm] {
    min-height: 100vh;
    background: #0a0a0a;
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 2px,
            rgba(255, 0, 0, 0.015) 2px,
            rgba(255, 0, 0, 0.015) 4px
        ),
        radial-gradient(ellipse at center, #1a0505 0%, #0a0a0a 70%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Courier New', Courier, monospace;
    color: #c8c8c8;
    padding: 2rem 1rem;
}
/* /Components/Pages/Admin/AuditLog.razor.rz.scp.css */
.al-filters[b-8zto2qbwjt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
    border-radius: 6px;
}

.al-row[b-8zto2qbwjt] {
    cursor: pointer;
}

.al-row:hover[b-8zto2qbwjt],
.al-row--expanded[b-8zto2qbwjt] {
    background: var(--bg-page);
}

.al-changes[b-8zto2qbwjt] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.al-change[b-8zto2qbwjt] {
    display: inline-block;
    padding: 0.0625rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.4;
}

.al-change--created[b-8zto2qbwjt] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.al-change--updated[b-8zto2qbwjt] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.al-change--deleted[b-8zto2qbwjt] {
    background: var(--clr-critical-bg);
    color: var(--clr-critical-text);
}

.al-detail-row td[b-8zto2qbwjt] {
    background: var(--bg-inset);
}

.al-detail-json[b-8zto2qbwjt] {
    margin: 0;
    padding: 0.75rem;
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.75rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--text-secondary);
}

.al-paging[b-8zto2qbwjt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.75rem;
    padding: 0.5rem 0;
}

.al-paging__info[b-8zto2qbwjt] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
}
/* /Components/Pages/Admin/CalendarEventEditor.razor.rz.scp.css */
.form-row[b-mcxhaez27g] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.form-field__hint[b-mcxhaez27g] {
    font-weight: 400;
    color: var(--text-tertiary);
    font-size: 0.75rem;
    margin-left: 0.25rem;
}

.form-field__help[b-mcxhaez27g] {
    margin: -0.25rem 0 0.5rem;
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

/* Push the destructive Remove button to the far left so Save/Cancel stay grouped on the right.
   Matches the conventional dialog pattern: destructive on one side, primary on the other. */
.form-actions__delete[b-mcxhaez27g] {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
/* /Components/Pages/Admin/CalendarEvents.razor.rz.scp.css */
/* CalendarEvents page reuses .data-table, .data-table-wrap, .page-wrap, etc. from app.css */

.cal-table__desc[b-pltsx7pi3o] {
    color: var(--text-secondary);
    max-width: 22rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-admin__toolbar[b-pltsx7pi3o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin: 0.75rem 0 1rem;
}

.cal-admin__toolbar .filter-pills[b-pltsx7pi3o] {
    margin-bottom: 0;
}
/* /Components/Pages/Admin/ChecklistTemplates.razor.rz.scp.css */
.ct-order[b-cbbszrstlj] {
    width: 3rem;
    text-align: center;
    color: var(--text-tertiary);
    font-size: 0.875rem;
}

.ct-desc[b-cbbszrstlj] {
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.ct-action-group[b-cbbszrstlj] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

[b-cbbszrstlj] .icon-flip-v {
    transform: rotate(180deg);
}

.ct-links[b-cbbszrstlj] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-bottom: 0.5rem;
}

.ct-link-row[b-cbbszrstlj] {
    display: flex;
    gap: 0.375rem;
    align-items: center;
}

.ct-link-label[b-cbbszrstlj] {
    flex: 1;
    min-width: 0;
}

.ct-link-url[b-cbbszrstlj] {
    flex: 2;
    min-width: 0;
}
/* /Components/Pages/Admin/DbDiagnostics.razor.rz.scp.css */
.db-diag__hint[b-v4xq1loezv] {
    color: var(--text-secondary);
    margin-bottom: 1rem;
}

.db-diag__list[b-v4xq1loezv] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.5rem 1.25rem;
    background: var(--bg-card);
    padding: 1rem 1.25rem;
    border-radius: 6px;
}

.db-diag__list dt[b-v4xq1loezv] {
    font-weight: 600;
    color: var(--text-secondary);
}

.db-diag__list dd[b-v4xq1loezv] {
    margin: 0;
    color: var(--text-primary);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    word-break: break-all;
}

.db-diag__badge[b-v4xq1loezv] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85em;
}

.db-diag__badge--yes[b-v4xq1loezv] {
    background: var(--clr-info-bg, rgba(0, 128, 0, 0.15));
    color: var(--clr-info-fg, #0a7a0a);
}

.db-diag__badge--no[b-v4xq1loezv] {
    background: var(--clr-critical-bg, rgba(200, 0, 0, 0.15));
    color: var(--clr-critical-fg, #b00020);
}

.db-diag__cols[b-v4xq1loezv] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.db-diag__migrations[b-v4xq1loezv] {
    margin: 0;
    padding-left: 1.25rem;
}

.db-diag__migrations code[b-v4xq1loezv] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
/* /Components/Pages/Admin/Feedback.razor.rz.scp.css */
/* Date cell */
.fb-date[b-mksn9wpszz] {
    white-space: nowrap;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

[b-mksn9wpszz] .fb-date__icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.25rem;
    color: var(--text-tertiary);
}

/* Submitter cell */
.fb-submitter[b-mksn9wpszz] {
    white-space: nowrap;
    font-size: 0.875rem;
}

/* Message cell */
.fb-message[b-mksn9wpszz] {
    color: var(--text-secondary);
    font-size: 0.875rem;
}

/* Status radio group */
.fb-status[b-mksn9wpszz] {
    white-space: nowrap;
}

.fb-radio-group[b-mksn9wpszz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fb-radio-label[b-mksn9wpszz] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.2rem 0.5rem;
    border-radius: var(--border-radius);
    border: 1px solid transparent;
}

.fb-radio-label--active[b-mksn9wpszz] {
    color: var(--text-primary);
    font-weight: 600;
    border-color: var(--border-color);
    background: var(--bg-page);
}

/* Expand / collapse toggle on truncated messages */
.fb-toggle[b-mksn9wpszz] {
    display: inline;
    margin-left: 0.25rem;
    font-size: 0.75rem;
}

/* Admin response block shown under the original message when expanded */
.fb-response[b-mksn9wpszz] {
    margin-top: 0.75rem;
    padding: 0.6rem 0.8rem;
    background: var(--bg-page);
    border-left: 3px solid var(--brand-primary);
    border-radius: var(--border-radius);
}

.fb-response__meta[b-mksn9wpszz] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
    margin-bottom: 0.25rem;
}

.fb-response__body[b-mksn9wpszz] {
    color: var(--text-primary);
    white-space: pre-wrap;
    font-size: 0.9rem;
}

/* Action button row (respond + delete icon buttons) */
.fb-action-buttons[b-mksn9wpszz] {
    display: inline-flex;
    gap: 0.25rem;
}

/* Buttons styles are now in app.css (.btn-danger, .btn-sm) */
/* /Components/Pages/Admin/Labels.razor.rz.scp.css */
.label-swatch[b-vmbk6204oy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    vertical-align: middle;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.color-field[b-vmbk6204oy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.color-field input[type="color"][b-vmbk6204oy] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0.125rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
    background: transparent;
}

.lbl-merge-bar[b-vmbk6204oy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 6px;
    position: sticky;
    top: var(--header-height, 58px);
    z-index: 5;
}

.lbl-merge-bar__count[b-vmbk6204oy] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-secondary);
    margin-right: auto;
}

.lbl-col-select[b-vmbk6204oy] {
    width: 2.25rem;
}

.data-table tbody tr.is-selected[b-vmbk6204oy] {
    background: var(--nav-hover-bg);
}

.label-detail-row[b-vmbk6204oy] {
    background: var(--bg-inset);
}

.label-detail-row:hover[b-vmbk6204oy] {
    background: var(--bg-inset);
}

.label-solutions[b-vmbk6204oy] {
    padding: 0.375rem 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    align-items: center;
}

.label-solutions__title[b-vmbk6204oy] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-right: 0.25rem;
}

.label-solutions__link[b-vmbk6204oy] {
    font-size: 0.8125rem;
    color: var(--brand-primary);
    text-decoration: none;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

.label-solutions__link:hover[b-vmbk6204oy] {
    text-decoration: underline;
}
/* /Components/Pages/Admin/LearningSprints.razor.rz.scp.css */
.ls-name[b-31navt08gd] {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
}

.ls-meta[b-31navt08gd] {
    display: block;
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

.ls-eligible[b-31navt08gd] {
    color: var(--text-primary);
}

.ls-eligible--now[b-31navt08gd] {
    color: var(--clr-success-text);
    font-weight: 600;
}

.ls-upcoming[b-31navt08gd] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ls-upcoming__title[b-31navt08gd] {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    text-align: left;
}

.ls-upcoming__detail[b-31navt08gd] {
    display: block;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.ls-upcoming__description[b-31navt08gd] {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: var(--text-tertiary);
    line-height: 1.35;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Pages/Admin/ReleaseNotes.razor.rz.scp.css */
/* Page layout handled by global .page-wrap and .page-header in app.css */

/* Date cell */
.rn-date[b-k2d1c2e1hn] {
    white-space: nowrap;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

[b-k2d1c2e1hn] .rn-date__icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.25rem;
    color: var(--text-tertiary);
}

/* Description cell */
.rn-description[b-k2d1c2e1hn] {
    color: var(--text-secondary);
    font-size: 0.875rem;
}

/* Optional label hint */
.form-label-hint[b-k2d1c2e1hn] {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--text-tertiary);
}

/* Full-width form field */
.form-field--full[b-k2d1c2e1hn] {
    width: 100%;
}

/* Textarea */
.rn-textarea[b-k2d1c2e1hn] {
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
}

/* Buttons and dialog styles are now in app.css (.btn-danger, .btn-sm, .dialog-*) */
/* /Components/Pages/Admin/Users.razor.rz.scp.css */
/* Page layout handled by global .page-wrap and .page-header in app.css */

/* Table */
/* Styles live in app.css under DATA TABLE (.data-table, .data-table__actions, etc.) */

/* Buttons and dialog styles are now in app.css (.btn-danger, .btn-sm, .dialog-*) */

/* Filter pills are now in app.css (.filter-pills, .filter-pill) */

/* ── Role checkboxes in edit dialog ────────────────────────── */

.role-checkboxes[b-eqtho85d2q] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-top: 0.25rem;
}
/* /Components/Pages/Alerts.razor.rz.scp.css */
.alerts-filter-row[b-ltu95ag9tu] {
    display: flex;
    gap: 0.5rem;
    margin: 0.75rem 0 1rem;
    flex-wrap: wrap;
}

.alerts-filter-pill[b-ltu95ag9tu] {
    background: var(--bg-card);
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.alerts-filter-pill:hover[b-ltu95ag9tu] {
    background: var(--nav-hover-bg);
    color: var(--text-primary);
}

.alerts-filter-pill.is-active[b-ltu95ag9tu] {
    background: var(--brand-primary);
    color: var(--brand-white);
    border-color: var(--brand-primary);
}

.alerts-list[b-ltu95ag9tu] {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    overflow: hidden;
    background: var(--bg-card);
}

.alerts-list > li:last-child[b-ltu95ag9tu]  .alert-row {
    border-bottom: none;
}

.alerts-paging[b-ltu95ag9tu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    justify-content: flex-end;
}

.alerts-paging__info[b-ltu95ag9tu] {
    color: var(--text-secondary);
    font-size: 0.8125rem;
}
/* /Components/Pages/CheckIns/CheckInEditor.razor.rz.scp.css */
.ci-editor[b-wu4ahakrkd] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ci-editor__hours[b-wu4ahakrkd] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
}

.ci-editor__hours .ci-editor__field[b-wu4ahakrkd] {
    flex: 1 1 0;
    min-width: 0;
}

.ci-editor__field[b-wu4ahakrkd] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ci-editor__field--full[b-wu4ahakrkd] {
    grid-column: 1 / -1;
}

.ci-editor__label[b-wu4ahakrkd] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
}

.ci-editor__input[b-wu4ahakrkd],
.ci-editor__textarea[b-wu4ahakrkd] {
    appearance: none;
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.2));
    border-radius: 6px;
    padding: 0.4rem 0.55rem;
    background: var(--bg-card);
    color: var(--text-primary);
    font-size: 0.875rem;
    font-family: inherit;
}

.ci-editor__input:focus[b-wu4ahakrkd],
.ci-editor__textarea:focus[b-wu4ahakrkd] {
    outline: 2px solid var(--brand-primary);
    outline-offset: 0;
    border-color: transparent;
}

.ci-editor__textarea[b-wu4ahakrkd] {
    resize: vertical;
    min-height: 2.5rem;
}

.ci-editor__error[b-wu4ahakrkd] {
    color: var(--clr-critical-text);
    font-size: 0.8125rem;
    margin: 0;
}

.ci-editor__actions[b-wu4ahakrkd] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.ci-editor__hint[b-wu4ahakrkd] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

.ci-editor__loading[b-wu4ahakrkd] {
    height: 4rem;
}

.ci-editor__excused[b-wu4ahakrkd] {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border-radius: 8px;
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.ci-editor__excused-msg[b-wu4ahakrkd] {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.ci-editor__excused-sub[b-wu4ahakrkd] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
}
/* /Components/Pages/CheckIns/CheckIns.razor.rz.scp.css */
.ci-history[b-w0423ttg47] {
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.ci-history__table[b-w0423ttg47] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.ci-history__table th[b-w0423ttg47],
.ci-history__table td[b-w0423ttg47] {
    text-align: left;
    padding: 0.625rem 0.875rem;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.12));
    vertical-align: middle;
}

.ci-history__table thead th[b-w0423ttg47] {
    background: var(--bg-inset, rgba(128, 128, 128, 0.06));
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ci-history__date[b-w0423ttg47] {
    font-weight: 600;
    white-space: nowrap;
}

.ci-history__row--missing[b-w0423ttg47] {
    background: var(--clr-warning-bg);
}

.ci-history__row--missing td[b-w0423ttg47],
.ci-history__row--missing th[b-w0423ttg47] {
    color: var(--clr-warning-text);
}

.ci-history__note[b-w0423ttg47] {
    color: var(--text-secondary);
    max-width: 24rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ci-history__col-actions[b-w0423ttg47] {
    width: 7rem;
    text-align: right;
}

.ci-history__readonly[b-w0423ttg47] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

.ci-history__edit-row > td[b-w0423ttg47] {
    background: var(--bg-inset, rgba(128, 128, 128, 0.04));
    padding: 1rem;
}

.btn-sm[b-w0423ttg47] {
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
}
/* /Components/Pages/CheckIns/CheckInsTeam.razor.rz.scp.css */
.date-nav[b-q8cz95cukj] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.date-nav__picker[b-q8cz95cukj] {
    appearance: none;
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.25));
    border-radius: 6px;
    padding: 0.35rem 0.6rem;
    background: var(--bg-card);
    color: var(--text-primary);
    font-size: 0.875rem;
    font-family: inherit;
    cursor: pointer;
}

.date-nav__picker:focus[b-q8cz95cukj] {
    outline: 2px solid var(--brand-primary);
    outline-offset: 0;
    border-color: transparent;
}

.date-nav__label[b-q8cz95cukj] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-secondary);
}

.team-tiles[b-q8cz95cukj] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

@media (max-width: 800px) {
    .team-tiles[b-q8cz95cukj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.team-tile[b-q8cz95cukj] {
    appearance: none;
    text-align: left;
    font: inherit;
    background: var(--bg-subsection);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 10px;
    padding: 0.875rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.team-tile:hover[b-q8cz95cukj] {
    border-color: var(--text-tertiary);
}

.team-tile:focus-visible[b-q8cz95cukj] {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
}

.team-tile--active[b-q8cz95cukj] {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 1px var(--brand-primary), var(--shadow-sm);
}

.team-tile__label[b-q8cz95cukj] {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.team-tile__value[b-q8cz95cukj] {
    font-size: 1.375rem;
    font-weight: 700;
}

.team-tile__value--success[b-q8cz95cukj] {
    color: var(--clr-success-text);
}

.team-tile__value--warn[b-q8cz95cukj] {
    color: var(--clr-warning-text);
}

.team-tile__value--info[b-q8cz95cukj] {
    color: var(--clr-info-text);
}

.team-tile__value--critical[b-q8cz95cukj] {
    color: var(--clr-over-capacity);
}

.team-row__pct[b-q8cz95cukj] {
    margin-left: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

.team-table__note[b-q8cz95cukj] {
    color: var(--text-secondary);
    max-width: 24rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.team-table__date[b-q8cz95cukj] {
    white-space: nowrap;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.team-table__col-actions[b-q8cz95cukj] {
    width: 9rem;
    text-align: right;
    white-space: nowrap;
}

.location-toggle[b-q8cz95cukj] {
    display: inline-flex;
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.25));
    border-radius: 6px;
    overflow: hidden;
}

.location-toggle__btn[b-q8cz95cukj] {
    appearance: none;
    background: var(--bg-card);
    color: var(--text-secondary);
    border: 0;
    padding: 0.25rem 0.6rem;
    font: inherit;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.location-toggle__btn + .location-toggle__btn[b-q8cz95cukj] {
    border-left: 1px solid var(--border-default, rgba(128, 128, 128, 0.25));
}

.location-toggle__btn:hover:not(:disabled):not(.location-toggle__btn--active)[b-q8cz95cukj] {
    background: var(--bg-subsection);
    color: var(--text-primary);
}

.location-toggle__btn--active[b-q8cz95cukj] {
    background: var(--brand-primary);
    color: var(--brand-white);
}

.location-toggle__btn:disabled[b-q8cz95cukj] {
    cursor: default;
    opacity: 0.6;
}

.team-table__col-actions .btn-sm + .btn-sm[b-q8cz95cukj] {
    margin-left: 0.25rem;
}
/* /Components/Pages/CheckIns/ExcuseDayDialog.razor.rz.scp.css */
.exd-sub[b-wsvihupqdr] {
    margin: 0 0 0.5rem 0;
    font-size: 0.8125rem;
    color: var(--text-secondary);
}
/* /Components/Pages/CheckIns/TodaysCheckInCard.razor.rz.scp.css */
.tcc__date[b-znpabavv0q] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.tcc__header-meta[b-znpabavv0q] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* "You are checked in!" success pill — mirrors the eligible-now pill on the Learning Sprint
   card so completion states across dashboard cards read with the same visual language. */
.tcc__status[b-znpabavv0q] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tcc__status--checked-in[b-znpabavv0q] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}
/* /Components/Pages/CheckIns/WeeklyComplianceCard.razor.rz.scp.css */
.wcc__sentence[b-1kh8ecen2p] {
    margin: 0.5rem 0 0.75rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.wcc__stats[b-1kh8ecen2p] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.wcc__stat[b-1kh8ecen2p] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0.625rem;
    border-radius: 6px;
    background: var(--bg-inset, rgba(128, 128, 128, 0.06));
}

.wcc__stat-label[b-1kh8ecen2p] {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wcc__stat-value[b-1kh8ecen2p] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}
/* /Components/Pages/Events.razor.rz.scp.css */
.events__toolbar[b-thz3zi470b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

/* Filter-pills carry a global 1rem margin-bottom for stand-alone use; null it out
   inside the toolbar so the seg-toggle and pills stay vertically aligned. */
.events__toolbar .filter-pills[b-thz3zi470b] {
    margin-bottom: 0;
}

.events__agenda-controls[b-thz3zi470b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.5rem 0 1rem;
}

.events__agenda-controls--bottom[b-thz3zi470b] {
    justify-content: center;
    margin: 1rem 0 0;
}

.events__range-label[b-thz3zi470b] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
}
/* /Components/Pages/Feedback.razor.rz.scp.css */
.fb-form-wrap[b-ezs05cxx2m] {
    max-width: 640px;
}

.fb-intro[b-ezs05cxx2m] {
    color: var(--text-secondary);
    margin-bottom: 1.25rem;
}

.fb-textarea[b-ezs05cxx2m] {
    resize: vertical;
    min-height: 140px;
    font-family: inherit;
}

.fb-success[b-ezs05cxx2m] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    max-width: 480px;
    padding: 1.5rem;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
}

.fb-success__icon[b-ezs05cxx2m] {
    color: var(--clr-info-text, #2563eb);
}

.fb-success__message[b-ezs05cxx2m] {
    font-size: 1rem;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0;
}
/* /Components/Pages/Handbook/HandbookFolderPicker.razor.rz.scp.css */
/* The picker stacks chips → "+ Add location" → popover-with-tree vertically.
   The host (Item.razor's Edit Details body) places the picker into its own
   right column so the tree never pushes the left-column text fields down.
   The __main wrapper still groups the chips + button as a single layout block. */
.hb-folder-picker[b-qu4ljmjbz0] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.hb-folder-picker__main[b-qu4ljmjbz0] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.hb-folder-picker__chips[b-qu4ljmjbz0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    min-height: 1.5rem;
    align-items: center;
}

.hb-folder-picker__empty[b-qu4ljmjbz0] {
    color: var(--text-tertiary);
    font-size: 0.875rem;
    font-style: italic;
}

.hb-folder-picker__add[b-qu4ljmjbz0] {
    align-self: flex-start;
}

.hb-folder-picker__popover[b-qu4ljmjbz0] {
    position: relative;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-card);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 36rem;
    overflow: hidden;
    min-width: 0;
}

.hb-folder-picker__tree-wrap[b-qu4ljmjbz0] {
    overflow-y: auto;
    max-height: 24rem;
    padding: 0.25rem;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background: var(--bg-page);
}

.hb-folder-picker__new-label[b-qu4ljmjbz0] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

/* Compact info button that toggles the nesting-syntax tip. We hide the long
   explanation by default so the popover stays focused; one click reveals it
   inline below the input row. */
.hb-folder-picker__info[b-qu4ljmjbz0] {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
}

.hb-folder-picker__info:hover[b-qu4ljmjbz0] {
    color: var(--text-primary);
}

.hb-folder-picker__tip[b-qu4ljmjbz0] {
    margin: 0;
    padding: 0.5rem 0.75rem;
    background: var(--bg-page);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.hb-folder-picker__tip code[b-qu4ljmjbz0] {
    background: var(--bg-card);
    padding: 0.05rem 0.3rem;
    border-radius: 3px;
}

.hb-folder-picker__empty-tree[b-qu4ljmjbz0] {
    color: var(--text-tertiary);
    font-size: 0.875rem;
    margin: 0.5rem;
}

/* Row that pairs the "+ Add selected as location" button with its hint. The
   button width follows the selected folder's name (it changes label as the
   user clicks around the tree), so we let it size itself and keep the hint
   wrappable next to it. */
.hb-folder-picker__select-actions[b-qu4ljmjbz0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.hb-folder-picker__new[b-qu4ljmjbz0] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.hb-folder-picker__new-row[b-qu4ljmjbz0] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.hb-folder-picker__new-row .form-control[b-qu4ljmjbz0] {
    flex: 1 1 auto;
}
/* /Components/Pages/Handbook/HandbookItemRow.razor.rz.scp.css */
.hb-item-actions[b-i7mrhcumw4] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
}

/* The global .hb-item-meta rule pulls metadata to the right with margin-left: auto,
   which would split the available space with .hb-item-actions and leave meta floating
   in the middle. Inside this row we let meta sit inline next to the title/status and
   keep actions pinned to the right edge. */
.hb-item-meta[b-i7mrhcumw4] {
    margin-left: 0;
}
/* /Components/Pages/Handbook/Item.razor.rz.scp.css */
/* Reviewer's decline notes — render under the "Changes requested by …" header
   inside .form-warning. white-space: pre-wrap preserves line breaks the
   reviewer typed in the decline dialog without forcing a single long run-on. */
.hb-decline-notes[b-jo5a5ae4jb] {
    margin-top: 0.5rem;
    white-space: pre-wrap;
}

/* Live character count under the decline-dialog textarea. Subtle by design —
   the column itself is unbounded (nvarchar(max)), so this is informational
   feedback, not a hard cap. */
.hb-decline-meta[b-jo5a5ae4jb] {
    margin-top: 0.25rem;
    color: var(--text-secondary);
    font-size: 0.8rem;
    text-align: right;
}

/* When the field is empty the meta line flips into a "this is required"
   helper so reviewers immediately understand why Send decline is disabled,
   instead of just seeing a greyed-out button with no explanation. Uses
   --clr-invalid (the same variable .form-error reads from) so the text
   stays legible in both light and dark mode. */
.hb-decline-meta--required[b-jo5a5ae4jb] {
    color: var(--clr-invalid);
    text-align: left;
}

/* Red-tinted border + ring on the empty textarea reinforces the validation
   message — matches Bootstrap-style is-invalid styling, without depending
   on a global rule. */
.form-control.is-invalid[b-jo5a5ae4jb] {
    border-color: var(--clr-invalid);
    box-shadow: 0 0 0 1px var(--clr-invalid);
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Outer dashboard layout: 2 columns at wide screens (main 2/3, sidebar 1/3 with the events card),
   stacked below 1100px. align-items: start so the sidebar's events card is its natural height
   and the main grid sets its own height independently. */
.dash-layout[b-blzssn6x03] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
    align-items: start;
}

.dash-layout__sidebar[b-blzssn6x03] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dash-layout__main[b-blzssn6x03] {
    min-width: 0;
}

/* Inner grid inside the main column — 2 cards per row at wide screens, 1 at narrow. */
.dash-grid[b-blzssn6x03] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 1100px) {
    .dash-layout[b-blzssn6x03] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .dash-grid[b-blzssn6x03] {
        grid-template-columns: 1fr;
    }
}

.dash-card__status[b-blzssn6x03] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.dash-card__score-label[b-blzssn6x03] {
    font-size: 1.125rem;
    font-weight: 600;
}

.dash-card__total-pct[b-blzssn6x03] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-tertiary);
}

.dash-card__score-wrap[b-blzssn6x03] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    min-width: 60px;
    margin-left: auto;
}

.dash-card__score[b-blzssn6x03] {
    font-weight: 600;
    font-size: 0.875rem;
}

.dash-card__score--high[b-blzssn6x03] {
    color: var(--clr-success-text);
}

.dash-card__score--mid[b-blzssn6x03] {
    color: var(--clr-warning-text);
}

.dash-card__score--low[b-blzssn6x03] {
    color: var(--clr-over-capacity);
}

.dash-card__score-bar[b-blzssn6x03] {
    width: 60px;
    height: 4px;
    border-radius: 2px;
    background: var(--bg-page);
    overflow: hidden;
}

.dash-card__score-bar-fill[b-blzssn6x03] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.dash-card__score-bar-fill--high[b-blzssn6x03] {
    background: var(--clr-success-text);
}

.dash-card__score-bar-fill--mid[b-blzssn6x03] {
    background: var(--clr-warning-text);
}

.dash-card__score-bar-fill--low[b-blzssn6x03] {
    background: var(--clr-over-capacity);
}

.dash-card__capacity-list[b-blzssn6x03] {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
}

.dash-card__capacity-row[b-blzssn6x03] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.125rem 0;
    font-size: 0.75rem;
    line-height: 1.25;
}

.dash-card__capacity-name[b-blzssn6x03] {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.dash-card__capacity-solution[b-blzssn6x03] {
    color: var(--text-primary);
    font-weight: 600;
}

.dash-card__capacity-sep[b-blzssn6x03] {
    margin: 0 0.25rem;
    color: var(--text-tertiary);
}

.dash-card__capacity-pct[b-blzssn6x03] {
    color: var(--text-tertiary);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

/* Sprint focus row — same purple accent as the Gantt's sprint stripes so the list reads
   as a continuation of the visual on top. */
.dash-card__capacity-row--sprint .dash-card__capacity-solution[b-blzssn6x03] {
    color: var(--clr-needs-review-text);
}

.dash-card__capacity-pct--sprint[b-blzssn6x03] {
    color: var(--clr-needs-review-text);
    font-weight: 600;
}

/* ── Release card ── */
.dash-card__release[b-blzssn6x03] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.dash-card__release-date[b-blzssn6x03] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
}

.dash-card__release-title[b-blzssn6x03] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0.5rem 0 0.25rem;
}

.dash-card__release-desc[b-blzssn6x03] {
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin: 0;
}

/* ── Alerts card ── */
.dash-card__count[b-blzssn6x03] {
    margin-left: auto;
    background: var(--bg-inset);
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
}

.dash-card__alert-list[b-blzssn6x03] {
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--border-default);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    max-height: 320px;
    overflow-y: auto;
}

.dash-card__alert-list > li:last-child[b-blzssn6x03]  .alert-row {
    border-bottom: none;
}

/* ── Quote card ── */
.dash-card__quote[b-blzssn6x03] {
    margin-top: 0.75rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dash-card__quote-text[b-blzssn6x03] {
    font-size: 1.0625rem;
    font-style: italic;
    color: var(--text-primary);
    line-height: 1.6;
}

.dash-card__quote-author[b-blzssn6x03] {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    color: var(--text-tertiary);
}
/* /Components/Pages/MyLearningSprintCard.razor.rz.scp.css */
.mls__status[b-kpmq319buz] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Scheduled / in progress — purple, same palette as the Gantt sprint stripe and the
   Learning Sprint icon used elsewhere in the app. */
.mls__status--scheduled[b-kpmq319buz] {
    background: var(--clr-needs-review-bg);
    color: var(--clr-needs-review-text);
}

.mls__status--eligible[b-kpmq319buz] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.mls__status--not-eligible[b-kpmq319buz] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.mls__title[b-kpmq319buz] {
    margin: 0.6rem 0 0.15rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}

.mls__dates[b-kpmq319buz] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.mls__notes[b-kpmq319buz] {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.mls__hint[b-kpmq319buz] {
    margin: 0.6rem 0 0;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    line-height: 1.4;
}
/* /Components/Pages/Options.razor.rz.scp.css */
.options[b-4bngfa49b9] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 48rem;
}

.options__section[b-4bngfa49b9] {
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    padding: 1.25rem 1.5rem;
}

.options__section-title[b-4bngfa49b9] {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.options__row[b-4bngfa49b9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
    cursor: pointer;
}

.options__row:first-of-type[b-4bngfa49b9] {
    border-top: none;
    padding-top: 0;
}

.options__row-text[b-4bngfa49b9] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.options__row-title[b-4bngfa49b9] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.options__row-help[b-4bngfa49b9] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.options__row-input[b-4bngfa49b9] {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    accent-color: var(--brand-primary);
    margin-top: 0.25rem;
    cursor: pointer;
}

/* Number-input variant for site admin settings (e.g., Learning Sprint cooldown). Wider than
   a checkbox; reuses the form-control styling tone but compact. */
.options__row-input--num[b-4bngfa49b9] {
    width: 5rem;
    height: 2rem;
    margin-top: 0;
    padding: 0 0.5rem;
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.25));
    border-radius: 0.25rem;
    background: var(--bg-card);
    color: var(--text-primary);
    font-size: 0.875rem;
    cursor: text;
}

.options__claims[b-4bngfa49b9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
    margin-top: 0.75rem;
    color: var(--text-primary);
}

.options__claims th[b-4bngfa49b9] {
    text-align: left;
    padding: 0.35rem 0.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

.options__claims td[b-4bngfa49b9] {
    padding: 0.35rem 0.75rem;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.08));
    vertical-align: top;
    word-break: break-word;
}

.options__claim-type[b-4bngfa49b9] {
    color: var(--text-secondary);
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: 0.75rem;
    white-space: nowrap;
}

.options__claim-value[b-4bngfa49b9] {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: 0.75rem;
}
/* /Components/Pages/ReferenceHub/Acronyms.razor.rz.scp.css */
.acr-filter-pills[b-gpauhwastw] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin: 0 0 1rem;
}

.acr-empty[b-gpauhwastw] {
  text-align: center;
  color: var(--text-secondary);
  padding: 2.5rem 1rem;
  border: 1px dashed var(--border-color);
  border-radius: var(--border-radius);
  background: var(--bg-card);
}

.acr-grid[b-gpauhwastw] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.875rem;
}

.acr-card[b-gpauhwastw] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.875rem 1rem 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  cursor: pointer;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.acr-card:hover[b-gpauhwastw] {
  border-color: var(--brand-primary);
  box-shadow: var(--shadow-sm, 0 2px 6px rgba(0, 0, 0, 0.06));
}

.acr-card:focus-visible[b-gpauhwastw] {
  outline: 2px solid var(--brand-primary);
  outline-offset: 2px;
}

.acr-card--expanded[b-gpauhwastw] {
  cursor: default;
  border-color: var(--brand-primary);
  box-shadow: var(--shadow-md, 0 6px 16px rgba(0, 0, 0, 0.08));
}

.acr-card__head[b-gpauhwastw] {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.acr-card__name[b-gpauhwastw] {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.02em;
}

.acr-card__definition[b-gpauhwastw] {
  margin: 0;
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.35;
}

.acr-card__labels[b-gpauhwastw] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.acr-card__detail[b-gpauhwastw] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-color);
}

.acr-card__description[b-gpauhwastw] {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--text-primary);
  line-height: 1.5;
  white-space: pre-wrap;
}

.acr-card__description--empty[b-gpauhwastw] {
  color: var(--text-tertiary);
  font-style: italic;
}

.acr-card__meta[b-gpauhwastw] {
  margin: 0;
  font-size: 0.75rem;
  color: var(--text-tertiary);
}

.acr-label-chip[b-gpauhwastw] {
  cursor: pointer;
  border-style: solid;
  border-width: 1px;
  font: inherit;
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.0625rem 0.5rem;
}

.acr-label-chip:hover[b-gpauhwastw] {
  filter: brightness(0.95);
}

.acr-label-picker[b-gpauhwastw] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.acr-label-picker__empty[b-gpauhwastw] {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--text-tertiary);
}


.acr-spacer[b-gpauhwastw] {
  flex: 1;
}
/* /Components/Pages/ReleaseNotes.razor.rz.scp.css */
/* Page layout handled by global .page-wrap and .page-header in app.css */

.rn-list[b-ftccv0xt4e] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rn-card[b-ftccv0xt4e] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 1.25rem 1.5rem;
}

.rn-card__header[b-ftccv0xt4e] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.rn-card__meta[b-ftccv0xt4e] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

[b-ftccv0xt4e] .rn-card__meta-icon {
    color: var(--text-tertiary);
}

.rn-card__title[b-ftccv0xt4e] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.5rem;
}

.rn-card__body[b-ftccv0xt4e] {
    font-size: 0.9rem;
    color: var(--text-secondary);
    white-space: pre-wrap;
    line-height: 1.6;
}
/* /Components/Pages/Solutions/SolutionDetail.razor.rz.scp.css */
[b-6ixd0q98s6] .sd-repo-link {
    color: var(--text-tertiary);
    margin-left: 0.25rem;
    display: inline-flex;
    vertical-align: middle;
    transition: color 0.15s ease;
}

[b-6ixd0q98s6] .sd-repo-link:hover {
    color: var(--brand-primary);
}

.sd-header-left[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sd-header-actions[b-6ixd0q98s6] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

[b-6ixd0q98s6] .icon-flip-h {
    transform: rotate(90deg);
}

/* Admin phase override */
.sd-admin-override[b-6ixd0q98s6] {
    position: relative;
}

.sd-admin-btn[b-6ixd0q98s6] {
    border-style: dashed;
    border-color: var(--clr-warning-text, #d97706);
    color: var(--clr-warning-text, #d97706);
    gap: 0.25rem;
}

.sd-admin-btn:hover[b-6ixd0q98s6] {
    background: var(--clr-warning-text, #d97706);
    border-color: var(--clr-warning-text, #d97706);
    color: var(--brand-white);
}

.sd-admin-menu[b-6ixd0q98s6] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.375rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    padding: 0.375rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    z-index: 100;
    min-width: 180px;
}

.sd-admin-menu__item[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem;
    border: none;
    border-radius: var(--border-radius);
    background: transparent;
    cursor: pointer;
    text-align: left;
    width: 100%;
}

.sd-admin-menu__item:hover:not(:disabled)[b-6ixd0q98s6] {
    background: var(--bg-page);
}

.sd-admin-menu__item--current[b-6ixd0q98s6] {
    opacity: 0.5;
    cursor: default;
}

.sd-admin-menu__current[b-6ixd0q98s6] {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    font-style: italic;
}

.sd-grid[b-6ixd0q98s6] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-top: 1rem;
}

.sd-section[b-6ixd0q98s6] {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 1.25rem;
}

.sd-section--full[b-6ixd0q98s6] {
    grid-column: 1 / -1;
}

.sd-section__title[b-6ixd0q98s6] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 1rem;
}

/* Labels tag selector */
.sd-tags[b-6ixd0q98s6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
}

.sd-save-tags[b-6ixd0q98s6] {
    margin-top: 0.75rem;
}

/* New tag inline form */
.sd-new-tag[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.5rem;
}

.sd-new-tag .form-control--sm[b-6ixd0q98s6] {
    flex: 1;
    min-width: 0;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
}

.sd-new-tag__preview[b-6ixd0q98s6] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

/* Developers */
.sd-dev-list[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 500px;
    overflow-y: auto;
    margin-bottom: 0.75rem;
}

.sd-dev-entry[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
}

.sd-dev-item[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: var(--text-primary);
    cursor: pointer;
}

.sd-dev-expand[b-6ixd0q98s6] {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    color: var(--text-tertiary);
    display: inline-flex;
    transition: color 0.15s ease;
}

.sd-dev-expand:hover[b-6ixd0q98s6] {
    color: var(--brand-primary);
}

[b-6ixd0q98s6] .sd-dev-expand--open {
    transform: rotate(180deg);
}

.sd-dev-phases[b-6ixd0q98s6] {
    margin-left: 1.5rem;
    padding: 0.25rem 0 0.25rem 0.5rem;
    border-left: 2px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

.sd-dev-phase[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.125rem 0;
    font-size: 0.8125rem;
}

.sd-dev-phase__title[b-6ixd0q98s6] {
    font-weight: 500;
    color: var(--text-primary);
}

.sd-dev-phase__capacity[b-6ixd0q98s6] {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.sd-dev-phases__empty[b-6ixd0q98s6] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
    font-style: italic;
    padding: 0.125rem 0;
}

/* Progress bar */
.sd-progress[b-6ixd0q98s6] {
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--text-secondary);
    margin-left: 0.5rem;
}

.sd-progress-bar[b-6ixd0q98s6] {
    height: 0.375rem;
    background: var(--bg-page);
    border-radius: 999px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.sd-progress-bar__fill[b-6ixd0q98s6] {
    height: 100%;
    background: var(--brand-primary);
    border-radius: 999px;
    transition: width 0.3s ease;
}

/* Checklist items */
.sd-checklist[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sd-check-item[b-6ixd0q98s6] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
}

.sd-check-item--done[b-6ixd0q98s6] {
    opacity: 0.65;
}

.sd-check-item__content[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.sd-check-item__title[b-6ixd0q98s6] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
}

.sd-check-item__desc[b-6ixd0q98s6] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
}

.sd-check-item__meta[b-6ixd0q98s6] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

/* Checklist header */
.sd-checklist-header[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── Wizard modal ── */
/* Developer notes */
.sd-dev-note[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
    font-size: 0.875rem;
    color: var(--text-primary);
}

.sd-dev-note:last-child[b-6ixd0q98s6] {
    border-bottom: none;
}

.sd-dev-note--add[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    border-bottom: none;
}

.sd-dev-note--add .btn[b-6ixd0q98s6] {
    align-self: flex-end;
}

.sd-dev-note strong[b-6ixd0q98s6] {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.sd-dev-note__header[b-6ixd0q98s6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.sd-dev-note__actions[b-6ixd0q98s6] {
    display: flex;
    gap: 0.375rem;
}

.sd-dev-note__edit[b-6ixd0q98s6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

/* Responsive */
@media (max-width: 768px) {
    .sd-grid[b-6ixd0q98s6] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Solutions/Solutions.razor.rz.scp.css */
/* ── Layout ── */
.sol-layout[b-5fmocsd2is] {
    display: flex;
    gap: 0;
    min-height: calc(100vh - var(--header-height, 58px));
}

/* ── Sidebar Backdrop (mobile) ── */
.sol-sidebar-backdrop[b-5fmocsd2is] {
    display: none;
}

/* ── Sidebar ── */
.sol-sidebar[b-5fmocsd2is] {
    width: 220px;
    flex-shrink: 0;
    background: linear-gradient(to left, var(--bg-card), color-mix(in srgb, var(--bg-card) 0%, transparent));
    border-right: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    padding: 1rem 0.75rem;
    overflow-y: auto;
    max-height: calc(100vh - var(--header-height, 58px));
    position: sticky;
    top: var(--header-height, 58px);
    transition: margin-left 0.2s ease, opacity 0.2s ease;
}

.sol-sidebar--hidden[b-5fmocsd2is] {
    margin-left: -220px;
    opacity: 0;
    pointer-events: none;
}

.sol-sidebar__header[b-5fmocsd2is] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

.sol-sidebar__header-actions[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.sol-sidebar__close[b-5fmocsd2is] {
    display: none;
    color: var(--text-tertiary);
}

.sol-sidebar__close:hover[b-5fmocsd2is] {
    color: var(--text-primary);
}

.sol-sidebar__title[b-5fmocsd2is] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-tertiary);
}

/* ── Filter Section ── */
.sol-filter-section[b-5fmocsd2is] {
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
}

.sol-filter-section__header-row[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.sol-filter-section__actions[b-5fmocsd2is] {
    display: flex;
    gap: 0;
    flex-shrink: 0;
}

.sol-filter-section__actions .icon-btn[b-5fmocsd2is] {
    color: var(--text-tertiary);
    padding: 0.125rem;
}

.sol-filter-section__actions .icon-btn:hover[b-5fmocsd2is] {
    color: var(--brand-primary);
}

.sol-filter-section__header[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    width: 100%;
    padding: 0.5rem 0;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-primary);
    text-align: left;
}

.sol-filter-section__header:hover[b-5fmocsd2is] {
    color: var(--brand-primary);
}

.sol-filter-section__count[b-5fmocsd2is] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: var(--brand-primary);
    color: var(--brand-white);
    font-size: 0.625rem;
    font-weight: 700;
}

[b-5fmocsd2is] .sol-filter-chevron--open {
    transform: rotate(180deg);
}

.sol-filter-section__body[b-5fmocsd2is] {
    padding: 0 0 0.5rem 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.sol-filter-check[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--text-primary);
    cursor: pointer;
    padding: 0.125rem 0;
}

.sol-filter-check input[type="checkbox"][b-5fmocsd2is] {
    accent-color: var(--brand-primary);
}

.sol-filter-color[b-5fmocsd2is] {
    display: inline-block;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 2px;
    flex-shrink: 0;
}

/* ── Main Content ── */
.sol-main[b-5fmocsd2is] {
    flex: 1;
    min-width: 0;
    padding: 1.5rem 1.5rem 1.5rem 1rem;
}

.sol-header-tools[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    flex-shrink: 0;
}

.sol-header-action[b-5fmocsd2is] {
    color: var(--text-tertiary);
}

.sol-header-action:hover[b-5fmocsd2is] {
    color: var(--brand-primary);
}

/* ── Solution Card ── */
.sol-card[b-5fmocsd2is] {
    margin: 0 0 0.25rem 0;
    border-radius: 6px;
    background: var(--bg-subsection);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
}

.sol-card--expanded[b-5fmocsd2is] {
    background: var(--bg-subsection);
}

.sol-card__row[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.sol-card__row:hover[b-5fmocsd2is] {
    background: var(--bg-inset);
    border-radius: 6px;
}

.sol-card__name[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-weight: 500;
    font-size: 0.875rem;
    min-width: 0;
}

.sol-card__link[b-5fmocsd2is] {
  color: var(--clr-info-text);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sol-card__link:hover[b-5fmocsd2is] {
    text-decoration: underline;
}

[b-5fmocsd2is] .sol-card__repo {
    color: var(--text-tertiary);
    display: inline-flex;
    transition: color 0.15s ease;
}

[b-5fmocsd2is] .sol-card__repo:hover {
    color: var(--brand-primary);
}

.sol-card__meta[b-5fmocsd2is] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
    min-width: 0;
}

.sol-card__developers[b-5fmocsd2is] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    white-space: normal;
    min-width: 0;
    flex: 1 1 auto;
}

/* ── Expand chevron ── */
[b-5fmocsd2is] .sol-expand-icon {
    transition: transform 0.2s ease;
    color: var(--text-tertiary);
    flex-shrink: 0;
}

[b-5fmocsd2is] .sol-expand-icon--open {
    transform: rotate(180deg);
}

/* ── Detail panel ── */
.sol-card__detail[b-5fmocsd2is] {
    padding: 0.5rem 0.75rem 0.75rem 2rem;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
}

.sol-detail__grid[b-5fmocsd2is] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 2rem;
    margin-bottom: 0.75rem;
}

.sol-detail__field[b-5fmocsd2is] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.sol-detail__field--full[b-5fmocsd2is] {
    grid-column: 1 / -1;
}

.sol-detail__label[b-5fmocsd2is] {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
}

.sol-detail__value[b-5fmocsd2is] {
    font-size: 0.8125rem;
    color: var(--text-primary);
    word-break: break-word;
}

.sol-detail__value a[b-5fmocsd2is] {
    color: var(--brand-primary);
    text-decoration: none;
}

.sol-detail__value a:hover[b-5fmocsd2is] {
    text-decoration: underline;
}

.sol-detail__actions[b-5fmocsd2is] {
    padding-top: 0.25rem;
}

.sol-dev-note[b-5fmocsd2is] {
    margin-bottom: 0.25rem;
}

.sol-dev-note:last-child[b-5fmocsd2is] {
    margin-bottom: 0;
}

/* ── Checklist Button ── */
.sol-checklist-btn[b-5fmocsd2is] {
    white-space: nowrap;
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
}

/* ── Load More ── */
.sol-load-more[b-5fmocsd2is] {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
}

[b-5fmocsd2is] .loading-spinner--sm {
    padding: 0.5rem;
}

[b-5fmocsd2is] .loading-spinner--sm .loading-spinner__svg {
    width: 1.5rem;
    height: 1.5rem;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .sol-sidebar-backdrop[b-5fmocsd2is] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 29;
        background: rgba(0, 0, 0, 0.4);
    }

    .sol-sidebar[b-5fmocsd2is] {
        position: fixed;
        top: var(--header-height, 58px);
        left: 0;
        bottom: 0;
        z-index: 30;
        box-shadow: var(--shadow-lg);
        transition: transform 0.2s ease;
        transform: translateX(0);
    }

    .sol-sidebar--hidden[b-5fmocsd2is] {
        transform: translateX(-100%);
        margin-left: 0;
    }

    .sol-sidebar__close[b-5fmocsd2is] {
        display: inline-flex;
    }

    .sol-main[b-5fmocsd2is] {
        padding: 1rem;
    }

    .sol-card__row[b-5fmocsd2is] {
        flex-direction: column;
        align-items: flex-start;
    }

    .sol-detail__grid[b-5fmocsd2is] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Team/CapacityPulse.razor.rz.scp.css */
/* Extra scroll room so badge dropdowns (Priority, Workflow, Phase, Frequency)
   have space to open below the last row without being clipped by the viewport. */
.page-wrap[b-qn2qdxb7lb] {
    padding-bottom: 5rem;
}

/* ── Header Tools (expand/collapse all) ── */
.cp-header-tools[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    flex-shrink: 0;
}

.cp-header-action[b-qn2qdxb7lb] {
    color: var(--text-tertiary);
}

.cp-header-action:hover[b-qn2qdxb7lb] {
    color: var(--brand-primary);
}

/* ── User Switcher ── */
.cp-user-switcher[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cp-user-switcher__label[b-qn2qdxb7lb] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-secondary);
    white-space: nowrap;
}

.cp-user-switcher__select[b-qn2qdxb7lb] {
    max-width: 280px;
}

.cp-user-switcher__recalc[b-qn2qdxb7lb] {
    white-space: nowrap;
}

/* ── Metrics Row ── */
.cp-metrics[b-qn2qdxb7lb] {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.cp-metrics > *[b-qn2qdxb7lb] {
    flex: 1;
}

/* ── Allocation Bar ── */
.cp-allocation[b-qn2qdxb7lb] {
}

.cp-allocation__header[b-qn2qdxb7lb] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.375rem;
}

.cp-allocation__label[b-qn2qdxb7lb] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
}

.cp-allocation__value[b-qn2qdxb7lb] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
}

.cp-allocation__value--over[b-qn2qdxb7lb] {
    color: var(--clr-over-capacity);
}

.cp-allocation__track[b-qn2qdxb7lb] {
    height: 8px;
    border-radius: 4px;
    background: var(--bg-page);
    overflow: hidden;
}

.cp-allocation__fill[b-qn2qdxb7lb] {
    height: 100%;
    border-radius: 4px;
    background: var(--brand-primary);
    transition: width 0.3s ease;
}

.cp-allocation__fill--over[b-qn2qdxb7lb] {
    background: var(--clr-over-capacity);
}

/* ── Availability Score ── */
.cp-score__header[b-qn2qdxb7lb] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.375rem;
}

.cp-score__value[b-qn2qdxb7lb] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
}

.cp-score__max[b-qn2qdxb7lb] {
    font-weight: 400;
    color: var(--text-tertiary);
    font-size: 0.75rem;
}

.cp-score__fill[b-qn2qdxb7lb] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease, background 0.3s ease;
}

.cp-score__fill--high[b-qn2qdxb7lb] {
    background: var(--clr-success-text);
}

.cp-score__fill--mid[b-qn2qdxb7lb] {
    background: var(--clr-warning-text);
}

.cp-score__fill--low[b-qn2qdxb7lb] {
    background: var(--clr-over-capacity);
}

.cp-score__value--high[b-qn2qdxb7lb] {
    color: var(--clr-success-text);
}

.cp-score__value--mid[b-qn2qdxb7lb] {
    color: var(--clr-warning-text);
}

.cp-score__value--low[b-qn2qdxb7lb] {
    color: var(--clr-over-capacity);
}

/* ── Score Details Toggle ── */
.cp-score__details-toggle[b-qn2qdxb7lb] {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--brand-primary);
    cursor: pointer;
    margin-left: 0.5rem;
    text-transform: none;
    letter-spacing: normal;
}

.cp-score__details-toggle:hover[b-qn2qdxb7lb] {
    text-decoration: underline;
}

/* ── Score Details Panel ── */
.cp-score__details[b-qn2qdxb7lb] {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
    border-radius: 6px;
}

.cp-score__formula[b-qn2qdxb7lb] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-bottom: 0.625rem;
    line-height: 1.4;
}

.cp-score__details-empty[b-qn2qdxb7lb] {
    font-size: 0.8125rem;
    color: var(--text-tertiary);
    font-style: italic;
}

.cp-score__backlog-tag[b-qn2qdxb7lb] {
    display: inline-block;
    margin-left: 0.375rem;
    padding: 0.0625rem 0.375rem;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    background: var(--bg-page);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.25));
    border-radius: 0.75rem;
}

/* Same shape as the backlog tag, in the sprint purple so the row reads as a Learning Sprint
   contribution (consistent with the Gantt stripe + outline). */
.cp-score__sprint-tag[b-qn2qdxb7lb] {
    display: inline-block;
    margin-left: 0.375rem;
    padding: 0.0625rem 0.375rem;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--clr-needs-review-text);
    background: var(--clr-needs-review-bg);
    border: 1px solid var(--clr-needs-review-text);
    border-radius: 0.75rem;
}

.cp-score__table[b-qn2qdxb7lb] {
    width: 100%;
    font-size: 0.75rem;
    border-collapse: collapse;
}

.cp-score__table th[b-qn2qdxb7lb] {
    text-align: left;
    font-weight: 600;
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

.cp-score__table td[b-qn2qdxb7lb] {
    padding: 0.25rem 0.5rem;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.06));
}

.cp-score__table-name[b-qn2qdxb7lb] {
    color: var(--text-primary);
    font-weight: 500;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cp-score__table-load[b-qn2qdxb7lb] {
    font-weight: 600;
    color: var(--text-primary);
    text-align: right;
}

.cp-score__table th:last-child[b-qn2qdxb7lb] {
    text-align: right;
}

.cp-score__table tfoot td[b-qn2qdxb7lb] {
    border-bottom: none;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
    padding-top: 0.375rem;
}

/* ── Gantt ── */
.cp-gantt-wrap[b-qn2qdxb7lb] {
    margin-bottom: 1.25rem;
}

/* ── Sort Bar ── */
.cp-sort-bar[b-qn2qdxb7lb] {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

/* ── Item Card ── */
.cp-item[b-qn2qdxb7lb] {
    padding: 0.625rem 0.75rem;
    margin: 0 0 0.25rem 0;
    border-radius: 6px;
    background: var(--bg-card);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
    border-left: 3px solid transparent;
    transition: border-left-color 0.2s ease;
}

.cp-item--priority-low[b-qn2qdxb7lb] {
    border-left-color: var(--clr-success-text);
}

.cp-item--priority-medium[b-qn2qdxb7lb] {
    border-left-color: var(--brand-primary);
}

.cp-item--priority-high[b-qn2qdxb7lb] {
    border-left-color: var(--clr-warning-text);
}

.cp-item--priority-urgent[b-qn2qdxb7lb] {
    border-left-color: var(--clr-over-capacity);
}

.cp-item__row[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.cp-item__name[b-qn2qdxb7lb] {
    font-weight: 500;
    font-size: 0.875rem;
    min-width: 140px;
}

.cp-item__name-row[b-qn2qdxb7lb] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.cp-item__link[b-qn2qdxb7lb] {
    color: var(--clr-info-text);
    text-decoration: none;
}

.cp-item__link:hover[b-qn2qdxb7lb] {
    text-decoration: underline;
}

[b-qn2qdxb7lb] .cp-item__repo {
    color: var(--text-tertiary);
    transition: color 0.15s ease;
    display: inline-flex;
}

[b-qn2qdxb7lb] .cp-item__repo:hover {
    color: var(--brand-primary);
}

.cp-item__project[b-qn2qdxb7lb] {
    display: block;
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    font-weight: 400;
}

.cp-item__fields[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.cp-item__field[b-qn2qdxb7lb] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.cp-item__field-label[b-qn2qdxb7lb] {
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
}

.cp-item__capacity-wrap[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.cp-item__capacity-wrap .number-input input[b-qn2qdxb7lb] {
    width: 72px;
}

.cp-item__percent[b-qn2qdxb7lb] {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.cp-item__delete[b-qn2qdxb7lb] {
    color: var(--text-tertiary);
    transition: color 0.15s ease;
    flex-shrink: 0;
    margin-left: auto;
}

.cp-phase .confirm-delete[b-qn2qdxb7lb],
.cp-item .confirm-delete[b-qn2qdxb7lb] {
    margin-left: auto;
}

.cp-item__delete:hover[b-qn2qdxb7lb] {
    color: var(--clr-critical-text);
}

.cp-item__labels[b-qn2qdxb7lb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.cp-item__notes[b-qn2qdxb7lb] {
    margin-top: 0.375rem;
}

.cp-item__notes-input[b-qn2qdxb7lb] {
    width: 100%;
    resize: vertical;
    font-size: 0.8125rem;
    min-height: 1.75rem;
    field-sizing: content;
}

.cp-item__notes-add[b-qn2qdxb7lb] {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--brand-primary);
    cursor: pointer;
    white-space: nowrap;
}

.cp-item__notes-add:hover[b-qn2qdxb7lb] {
    text-decoration: underline;
}

.cp-item__notes-text[b-qn2qdxb7lb] {
    background: none;
    border: none;
    border-bottom: 1px dashed transparent;
    padding: 0;
    font-size: 0.75rem;
    color: var(--text-secondary);
    cursor: pointer;
    text-align: left;
    width: 100%;
    white-space: normal;
    line-height: 1.4;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.cp-item__notes-text:hover[b-qn2qdxb7lb] {
    border-bottom-color: var(--text-tertiary);
    color: var(--text-primary);
}

/* ── Add Dialog ── */
.cp-add-tabs[b-qn2qdxb7lb] {
    display: flex;
    gap: 0;
    margin-bottom: 1rem;
    border-bottom: 2px solid var(--bg-page);
}

.cp-add-tab[b-qn2qdxb7lb] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border: none;
    background: none;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.cp-add-tab:hover[b-qn2qdxb7lb] {
    color: var(--text-primary);
}

.cp-add-tab--active[b-qn2qdxb7lb] {
    color: var(--brand-primary);
    border-bottom-color: var(--brand-primary);
}

.cp-add-results[b-qn2qdxb7lb] {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.cp-add-result[b-qn2qdxb7lb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.625rem;
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
    border-radius: 6px;
    background: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.cp-add-result:hover[b-qn2qdxb7lb] {
    background: var(--bg-page);
}

.cp-add-result__name[b-qn2qdxb7lb] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
}

.cp-add-result__phase[b-qn2qdxb7lb] {
    font-size: 0.75rem;
    flex-shrink: 0;
}

.cp-add-empty[b-qn2qdxb7lb] {
    text-align: center;
    color: var(--text-tertiary);
    padding: 1rem 0;
    font-size: 0.875rem;
}

.cp-add-hint[b-qn2qdxb7lb] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
}

/* ── Compact Solution Row (no work items) ── */
.cp-solution-compact[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.1875rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
}

.cp-solution-compact .cp-item__project[b-qn2qdxb7lb] {
    display: inline;
    margin-left: 0;
}

/* ── Solution Header ── */
.cp-solution[b-qn2qdxb7lb] {
    margin: 0 0 0.5rem 0;
    border-radius: 6px;
    background: var(--bg-subsection);
    border: 1px solid var(--border-default, rgba(128, 128, 128, 0.1));
}

.cp-solution__header[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    flex-wrap: wrap;
}

.cp-solution__name[b-qn2qdxb7lb] {
    font-weight: 600;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
}

.cp-solution__actions[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.cp-solution .cp-item__labels[b-qn2qdxb7lb] {
    padding: 0 0 0.25rem 0.25rem;
}

.cp-solution__phases[b-qn2qdxb7lb] {
    padding: 0 0 0.25rem 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* ── Other Developers' Notes ── */
.cp-other-notes[b-qn2qdxb7lb] {
    padding: 0.375rem 0.75rem 0.5rem;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.08));
}

.cp-other-notes__label[b-qn2qdxb7lb] {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
    margin-bottom: 0.25rem;
}

.cp-other-notes__item[b-qn2qdxb7lb] {
    display: flex;
    gap: 0.375rem;
    padding: 0.125rem 0;
    font-size: 0.75rem;
    line-height: 1.4;
}

.cp-other-notes__author[b-qn2qdxb7lb] {
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

.cp-other-notes__author[b-qn2qdxb7lb]::after {
    content: ":";
}

.cp-other-notes__text[b-qn2qdxb7lb] {
    color: var(--text-secondary);
}

/* ── Phase Row (under solution) ── */
.cp-phase[b-qn2qdxb7lb] {
    padding: 0.375rem 0.5rem;
    border-radius: 4px;
    background: var(--bg-inset);
    border-left: 3px solid var(--border-accent);
}

.cp-phase--priority-low[b-qn2qdxb7lb] {
    border-left-color: var(--clr-success-text);
}

.cp-phase--priority-medium[b-qn2qdxb7lb] {
    border-left-color: var(--brand-primary);
}

.cp-phase--priority-high[b-qn2qdxb7lb] {
    border-left-color: var(--clr-warning-text);
}

.cp-phase--priority-urgent[b-qn2qdxb7lb] {
    border-left-color: var(--clr-over-capacity);
}

.cp-phase__row[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.cp-phase__name[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 120px;
}

.cp-phase__title[b-qn2qdxb7lb] {
    font-weight: 500;
    font-size: 0.8125rem;
    color: var(--text-primary);
    background: none;
    border: none;
    border-bottom: 1px dashed transparent;
    padding: 0;
    cursor: pointer;
    transition: border-color 0.15s ease;
}

.cp-phase__title:hover[b-qn2qdxb7lb] {
    border-bottom-color: var(--text-tertiary);
}

.cp-phase__title-input[b-qn2qdxb7lb] {
    width: 160px;
    font-size: 0.8125rem;
    font-weight: 500;
}

.cp-phase__no-data[b-qn2qdxb7lb] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
    font-style: italic;
    padding: 0.125rem 0;
}

/* ── Phase Title ── */
.cp-item__phase-title[b-qn2qdxb7lb] {
    display: block;
    font-size: 0.6875rem;
    color: var(--text-secondary);
    font-weight: 500;
    font-style: italic;
}

/* ── Workflow Actions ── */
.cp-item__workflow-actions[b-qn2qdxb7lb] {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}

/* ── Reorder Arrows ── */
.cp-item__reorder[b-qn2qdxb7lb] {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex-shrink: 0;
}

.cp-item__reorder .icon-btn[b-qn2qdxb7lb] {
    font-size: 0.625rem;
    padding: 0.0625rem 0.25rem;
    line-height: 1;
    color: var(--text-tertiary);
}

.cp-item__reorder .icon-btn:not(:disabled):hover[b-qn2qdxb7lb] {
    color: var(--brand-primary);
}

.cp-item__reorder .icon-btn:disabled[b-qn2qdxb7lb] {
    opacity: 0.3;
    cursor: default;
}

/* ── Add Phase button ── */
.cp-item__add-phase[b-qn2qdxb7lb] {
    color: var(--text-tertiary);
    transition: color 0.15s ease;
    flex-shrink: 0;
}

.cp-item__add-phase:hover[b-qn2qdxb7lb] {
    color: var(--brand-primary);
}

/* ── Add Result Assigned Badge ── */
.cp-add-result__meta[b-qn2qdxb7lb] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.cp-add-result__assigned[b-qn2qdxb7lb] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--brand-primary);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .cp-item__row[b-qn2qdxb7lb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .cp-item__fields[b-qn2qdxb7lb] {
        width: 100%;
    }

}
/* /Components/Pages/Team/CapacityPulseOverview.razor.rz.scp.css */
/* ── Header Tools (expand/collapse all) ── */
.cpo-header-tools[b-3gfvdmslds] {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    flex-shrink: 0;
}

.cpo-header-action[b-3gfvdmslds] {
    color: var(--text-tertiary);
}

.cpo-header-action:hover[b-3gfvdmslds] {
    color: var(--brand-primary);
}

/* ── Expandable rows ── */
.cpo-row:hover[b-3gfvdmslds] {
    background: var(--bg-page);
}

.cpo-row--expanded[b-3gfvdmslds] {
    background: var(--bg-page);
}

.cpo-dev-name[b-3gfvdmslds] {
    font-weight: 500;
    white-space: nowrap;
}

.cpo-dev-name__btn[b-3gfvdmslds] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

.cpo-dev-name__btn:focus-visible[b-3gfvdmslds] {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

[b-3gfvdmslds] .cpo-expand-icon {
    transition: transform 0.2s ease;
    color: var(--text-tertiary);
    margin-right: 0.375rem;
    vertical-align: middle;
}

[b-3gfvdmslds] .cpo-expand-icon--open {
    transform: rotate(180deg);
}

.cpo-focus[b-3gfvdmslds] {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
    padding: 0.125rem 0;
}

.cpo-focus__name[b-3gfvdmslds] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-primary);
}

.cpo-focus__meta[b-3gfvdmslds] {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
}

/* Sprint focus row — matches the purple Gantt stripe so the focus column reads as a
   continuation of the visual to the right. Inline (row) layout keeps the title and
   percent on the same line; the regular focus rows above stack name/meta. */
.cpo-focus--sprint[b-3gfvdmslds] {
    flex-direction: row;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.cpo-focus--sprint .cpo-focus__name[b-3gfvdmslds] {
    color: var(--clr-needs-review-text);
}

.cpo-focus--sprint .cpo-focus__meta[b-3gfvdmslds] {
    color: var(--clr-needs-review-text);
}

/* Upcoming sprint — same purple identity but lighter, with a leading "↗" so it reads as
   "coming up later" vs the bold current sprint right next to it. No percent shown. */
.cpo-focus--upcoming[b-3gfvdmslds] {
    opacity: 0.75;
}

.cpo-focus--upcoming .cpo-focus__name[b-3gfvdmslds]::before {
    content: "↗ ";
    font-weight: 400;
}

.cpo-allocation[b-3gfvdmslds] {
    font-weight: 600;
    font-size: 0.875rem;
}

.cpo-allocation--over[b-3gfvdmslds] {
    color: var(--clr-over-capacity);
}

.cpo-score-wrap[b-3gfvdmslds] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 60px;
}

.cpo-score[b-3gfvdmslds] {
    font-weight: 600;
    font-size: 0.875rem;
}

.cpo-score--high[b-3gfvdmslds] {
    color: var(--clr-success-text);
}

.cpo-score--mid[b-3gfvdmslds] {
    color: var(--clr-warning-text);
}

.cpo-score--low[b-3gfvdmslds] {
    color: var(--clr-over-capacity);
}

.cpo-score-bar[b-3gfvdmslds] {
    height: 4px;
    border-radius: 2px;
    background: var(--bg-page);
    overflow: hidden;
}

.cpo-score-bar__fill[b-3gfvdmslds] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.cpo-score-bar__fill--high[b-3gfvdmslds] {
    background: var(--clr-success-text);
}

.cpo-score-bar__fill--mid[b-3gfvdmslds] {
    background: var(--clr-warning-text);
}

.cpo-score-bar__fill--low[b-3gfvdmslds] {
    background: var(--clr-over-capacity);
}

.cpo-empty[b-3gfvdmslds] {
    color: var(--text-tertiary);
    font-size: 0.8125rem;
}

.cpo-priority[b-3gfvdmslds] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
}

.cpo-priority--urgent[b-3gfvdmslds] {
    background: var(--clr-critical-bg);
    color: var(--clr-critical-text);
}

.cpo-priority--high[b-3gfvdmslds] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.cpo-priority--medium[b-3gfvdmslds] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.cpo-priority--low[b-3gfvdmslds] {
    background: var(--bg-page);
    color: var(--text-secondary);
}

.cpo-frequency[b-3gfvdmslds] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
}

.cpo-frequency--never[b-3gfvdmslds] {
    background: var(--bg-page);
    color: var(--text-secondary);
}

.cpo-frequency--hardly-ever[b-3gfvdmslds] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.cpo-frequency--sometimes[b-3gfvdmslds] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.cpo-frequency--often[b-3gfvdmslds] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.cpo-frequency--very-often[b-3gfvdmslds] {
    background: var(--clr-critical-bg);
    color: var(--clr-critical-text);
}

.cpo-finish-wrap[b-3gfvdmslds] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.cpo-backlog[b-3gfvdmslds] {
    display: inline-block;
    width: fit-content;
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 0.0625rem 0.4rem;
    border-radius: 999px;
}

.cpo-gantt-col[b-3gfvdmslds] {
    min-width: 220px;
}

/* ── Detail row ── */
.cpo-detail-row[b-3gfvdmslds] {
    background: var(--bg-page);
}

.cpo-detail-row td[b-3gfvdmslds] {
    background: var(--bg-inset);
}

.cpo-detail-row:hover td[b-3gfvdmslds] {
    background: var(--bg-inset);
}

.cpo-detail[b-3gfvdmslds] {
    padding: 0.5rem 0.5rem 0.75rem 2rem;
}

.cpo-detail-table[b-3gfvdmslds] {
    width: 100%;
    font-size: 0.8125rem;
    border-collapse: collapse;
}

.cpo-detail-table th[b-3gfvdmslds] {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-tertiary);
    text-align: left;
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid var(--border-default, rgba(128, 128, 128, 0.15));
}

.cpo-detail-table td[b-3gfvdmslds] {
    padding: 0.3rem 0.5rem;
    color: var(--text-primary);
    font-size: 0.8125rem;
}

.cpo-detail-row--dim[b-3gfvdmslds] {
    opacity: 1;
}

.cpo-detail-name-row[b-3gfvdmslds] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.cpo-detail-link[b-3gfvdmslds] {
    color: var(--clr-info-text);
    text-decoration: none;
}

.cpo-detail-link:hover[b-3gfvdmslds] {
    text-decoration: underline;
}

[b-3gfvdmslds] .cpo-detail-repo {
    color: var(--text-tertiary);
    transition: color 0.15s ease;
    display: inline-flex;
}

[b-3gfvdmslds] .cpo-detail-repo:hover {
    color: var(--brand-primary);
}

.cpo-detail-subtitle[b-3gfvdmslds] {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
    font-size: 0.6875rem;
}

.cpo-detail-phase-title[b-3gfvdmslds] {
    color: var(--text-secondary);
    font-weight: 500;
    font-style: italic;
}

.cpo-detail-project[b-3gfvdmslds] {
    color: var(--text-tertiary);
}

.cpo-detail-notes[b-3gfvdmslds] {
    display: block;
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    font-style: italic;
    margin-top: 0.125rem;
}

.cpo-detail-codev[b-3gfvdmslds] {
    font-size: 0.625rem;
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--bg-page);
    border-radius: 999px;
    padding: 0.0625rem 0.375rem;
    white-space: nowrap;
}
/* /Components/Pages/UpcomingEventsCard.razor.rz.scp.css */
.uec__list[b-tipnb699x2] {
    list-style: none;
    margin: 0.25rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.uec__row[b-tipnb699x2] {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border-top: 1px solid var(--border-default, rgba(128, 128, 128, 0.08));
}

.uec__row:first-of-type[b-tipnb699x2] {
    border-top: none;
}

.uec__row--today .uec__date[b-tipnb699x2] {
    /* --clr-info-text has theme-aware variants (deep blue in light, light blue in dark) so the
       "today" emphasis stays readable in dark mode where --brand-primary (dark navy) gets lost
       against the near-black page background. */
    color: var(--clr-info-text);
    font-weight: 700;
}

.uec__icon[b-tipnb699x2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
}

.uec__icon--birthday[b-tipnb699x2] {
    background: var(--clr-info-bg);
    color: var(--clr-info-text);
}

.uec__icon--anniversary[b-tipnb699x2] {
    background: var(--clr-success-bg);
    color: var(--clr-success-text);
}

.uec__icon--holiday[b-tipnb699x2] {
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
}

.uec__icon--sprint[b-tipnb699x2] {
    background: var(--clr-needs-review-bg);
    color: var(--clr-needs-review-text);
}

.uec__icon--activity[b-tipnb699x2] {
    background: var(--clr-activity-bg);
    color: var(--clr-activity-text);
}

.uec__icon--training[b-tipnb699x2],
.uec__icon--default[b-tipnb699x2] {
    background: var(--clr-ignored-bg);
    color: var(--clr-ignored-text);
}

.uec__text[b-tipnb699x2] {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.uec__title[b-tipnb699x2] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.uec__subtitle[b-tipnb699x2] {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.uec__date[b-tipnb699x2] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-tertiary);
    white-space: nowrap;
    flex-shrink: 0;
}

.uec__private-pill[b-tipnb699x2] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.4rem;
    padding: 0.05rem 0.35rem;
    border-radius: 0.25rem;
    background: var(--clr-warning-bg);
    color: var(--clr-warning-text);
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
