@import '_content/BlazorUI.Composite.Radzen/BlazorUI.Composite.Radzen.d38hebwddy.bundle.scp.css';
@import '_content/BlazorUI.Core/BlazorUI.Core.ixols4cf5q.bundle.scp.css';
@import '_content/BlazorUI.Radzen/BlazorUI.Radzen.q7xz1mq1bd.bundle.scp.css';

/* /Components/AuthBrandHeader.razor.rz.scp.css */
.auth-brand-header[b-4vh4s7tvf9] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 1.5rem;
}

.auth-brand-lockup[b-4vh4s7tvf9] {
    display: block;
    width: auto;
    max-width: min(100%, 16rem);
    height: 2.5rem;
}

@media (max-width: 640px) {
    .auth-brand-lockup[b-4vh4s7tvf9] {
        max-width: min(100%, 14rem);
        height: 2.125rem;
    }
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* AdminLayout — Sidebar + main content flex layout. */

.admin-layout[b-14masjm7un] {
    display: flex;
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--rz-primary) 10%, transparent), transparent 32%),
        linear-gradient(180deg, var(--brand-canvas), color-mix(in srgb, var(--brand-canvas) 78%, var(--brand-chrome)) 100%);
    font-family: var(--aspire-font-family-sans);
    color: var(--brand-text);
}

.admin-main[b-14masjm7un] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-header[b-14masjm7un] {
    position: sticky;
    top: 0;
    z-index: 10;
    background: color-mix(in srgb, var(--brand-chrome) 88%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--brand-border-soft);
    box-shadow: 0 12px 30px color-mix(in srgb, var(--brand-canvas) 60%, transparent);
}

.admin-header-row[b-14masjm7un] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 1.5rem;
    min-height: 3.5rem;
}

.admin-page-brand[b-14masjm7un] {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.admin-page-context[b-14masjm7un] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--brand-text-muted);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.admin-page-title[b-14masjm7un] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--brand-text);
}

.admin-header-actions[b-14masjm7un] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.admin-nav-link[b-14masjm7un] {
    font-size: 0.8125rem;
    color: var(--brand-text-idle);
    text-decoration: none;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: color 0.15s, background-color 0.15s, border-color 0.15s;
}

.admin-nav-link:hover[b-14masjm7un] {
    color: var(--brand-text);
    background: color-mix(in srgb, var(--brand-text) 4%, transparent);
    border-color: var(--brand-border-soft);
    text-decoration: none;
}

.admin-signout[b-14masjm7un] {
    font-size: 0.75rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border-color: var(--brand-border-soft);
    background: color-mix(in srgb, var(--brand-text) 3%, transparent);
    color: var(--brand-text-idle);
    text-decoration: none;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}

.admin-signout:hover[b-14masjm7un] {
    background: color-mix(in srgb, var(--brand-text) 6%, transparent);
    border-color: color-mix(in srgb, var(--brand-text), transparent 88%);
    color: var(--brand-text);
    text-decoration: none;
}

.admin-content[b-14masjm7un] {
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto;
    max-width: 1280px;
    color: var(--brand-text);
}

/* Responsive: keep the sidebar as a narrow icon rail on the left rather than
   stacking above the content. Stacking combined with the sidebar's min-height
   pushes the entire page below the rail. */
@media (max-width: 768px) {
    .admin-header-row[b-14masjm7un] {
        padding: 0.5rem 1rem;
    }

    .admin-content[b-14masjm7un] {
        padding: 1rem;
    }
}
/* /Components/Layout/AdminSidebar.razor.rz.scp.css */
/* AdminSidebar — Collapsible sidebar for admin pages.
   Uses var(--aspire-*) design tokens from BlazorUI.Radzen. */

.admin-sidebar[b-k4lh64bsri] {
    display: flex;
    flex-direction: column;
    width: 240px;
    min-height: 100%;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--brand-chrome) 92%, var(--brand-canvas)), var(--brand-chrome));
    border-right: 1px solid var(--brand-border-soft);
    box-shadow: inset -1px 0 0 color-mix(in srgb, var(--brand-text), transparent 96%);
    transition: width 0.2s ease;
    overflow: hidden;
}

.admin-sidebar.collapsed[b-k4lh64bsri] {
    width: 56px;
}

.sidebar-header[b-k4lh64bsri] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 0.75rem 0.75rem 1rem;
    border-bottom: 1px solid var(--brand-border-soft);
    min-height: 3.5rem;
}

.collapsed .sidebar-header[b-k4lh64bsri] {
    justify-content: center;
    padding: 0.75rem;
}

.sidebar-title[b-k4lh64bsri] {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--brand-text-muted);
}

.sidebar-toggle[b-k4lh64bsri] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--brand-text-idle);
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}

.sidebar-toggle:hover[b-k4lh64bsri] {
    background: var(--brand-surface-hover);
    color: var(--brand-text);
}

.sidebar-nav[b-k4lh64bsri] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0.5rem;
    overflow-y: auto;
}

[b-k4lh64bsri] .sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    text-decoration: none;
    color: var(--brand-text-idle);
    font-size: 0.8125rem;
    font-weight: 500;
    transition: background-color 0.15s, color 0.15s;
    white-space: nowrap;
}

[b-k4lh64bsri] .sidebar-link:hover {
    background: var(--brand-surface-hover);
    color: var(--brand-text);
    text-decoration: none;
}

[b-k4lh64bsri] .sidebar-link.active {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--rz-primary) 22%, transparent), color-mix(in srgb, var(--brand-surface-hover) 92%, var(--brand-chrome)));
    color: var(--brand-text);
    font-weight: 600;
    box-shadow: inset 2px 0 0 color-mix(in srgb, var(--rz-primary) 72%, var(--brand-text));
}

.collapsed[b-k4lh64bsri]  .sidebar-link {
    justify-content: center;
    padding: 0.5rem;
}

.sidebar-link-text[b-k4lh64bsri] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-footer[b-k4lh64bsri] {
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--brand-border-soft);
}

.sidebar-user[b-k4lh64bsri] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

[b-k4lh64bsri] .sidebar-user-avatar {
    font-size: 1.75rem;
    color: var(--brand-text-muted);
    flex-shrink: 0;
}

.sidebar-user-info[b-k4lh64bsri] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sidebar-user-name[b-k4lh64bsri] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--brand-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-user-role[b-k4lh64bsri] {
    font-size: 0.6875rem;
    color: var(--brand-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

@media (max-width: 768px) {
    .admin-sidebar[b-k4lh64bsri] {
        width: 56px;
        flex: 0 0 56px;
    }

    .admin-sidebar .sidebar-link-text[b-k4lh64bsri],
    .admin-sidebar .sidebar-title[b-k4lh64bsri],
    .admin-sidebar .sidebar-footer[b-k4lh64bsri] {
        display: none;
    }

    .admin-sidebar .sidebar-header[b-k4lh64bsri] {
        justify-content: center;
        padding: 0.75rem;
    }

    .admin-sidebar[b-k4lh64bsri]  .sidebar-link {
        justify-content: center;
        padding: 0.5rem;
    }
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
/* AuthLayout — Approved oxblood-noir palette (DESIGN.md).
   Page is true dark; footer is a pure-black full-bleed band.
   Brand chrome lives inside the auth card, not here. */

.auth-layout[b-81kkp6khu1] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100svh;
    /* Two-tone dark filigree wallpaper — base color matches --auth-bg,
       pattern strokes are baked into the SVG in a subtly lighter dark gray.
       The url() is base-relative so it resolves under the /auth/ prefix
       served by YARP (same convention as AuthBrandHeader image src). */
    background-color: var(--auth-bg);
    background-image: url("auth-wallpaper.svg");
    background-repeat: repeat;
    background-size: 240px 240px;
    background-attachment: fixed;
    color: var(--auth-text);
    font-family: var(--aspire-font-family-sans, "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif);
    overflow-x: hidden;
}

.auth-content[b-81kkp6khu1] {
    flex: 1 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 4rem 1.5rem 4rem;
}

/* ── Footer band (full-bleed, pure black) ───────────────────────── */

.auth-footer-band[b-81kkp6khu1] {
    width: 100%;
    background: var(--auth-footer-bg);
    border-top: 1px solid var(--auth-footer-border);
}

.auth-footer[b-81kkp6khu1] {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 2rem;
    color: var(--auth-text-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.auth-footer-grid[b-81kkp6khu1] {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2.5rem;
}

.auth-footer-brand-col[b-81kkp6khu1] {
    max-width: 240px;
}

.auth-footer-brand[b-81kkp6khu1] {
    color: var(--auth-text);
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.6rem;
    letter-spacing: -0.01em;
}

.auth-footer-tagline[b-81kkp6khu1] {
    margin: 0;
    color: var(--auth-text-muted);
    font-size: 0.85rem;
    line-height: 1.55;
}

.auth-footer-heading[b-81kkp6khu1] {
    margin: 0 0 0.85rem;
    color: var(--auth-text);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.auth-footer-col ul[b-81kkp6khu1] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.auth-footer-col a[b-81kkp6khu1] {
    color: var(--auth-text-muted);
    text-decoration: none;
    font-size: 0.88rem;
    transition: color 0.15s ease;
}

.auth-footer-col a:hover[b-81kkp6khu1],
.auth-footer-col a:focus-visible[b-81kkp6khu1] {
    color: var(--auth-text);
    outline: none;
}

.auth-footer-bottom[b-81kkp6khu1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--auth-footer-border);
    color: var(--auth-text-faint);
    font-size: 0.78rem;
}

.auth-footer-copyright[b-81kkp6khu1] {
    color: var(--auth-text-faint);
    font-size: 0.78rem;
}

.auth-footer-legal[b-81kkp6khu1] {
    display: inline-flex;
    align-items: center;
    gap: 1.25rem;
}

.auth-footer-legal a[b-81kkp6khu1] {
    color: var(--auth-text-muted);
    text-decoration: none;
    font-size: 0.8rem;
    transition: color 0.15s ease;
}

.auth-footer-legal a:hover[b-81kkp6khu1],
.auth-footer-legal a:focus-visible[b-81kkp6khu1] {
    color: var(--auth-text);
    outline: none;
}

@media (max-width: 900px) {
    .auth-footer-grid[b-81kkp6khu1] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .auth-content[b-81kkp6khu1] {
        padding: 2.5rem 1rem 2.5rem;
    }

    .auth-footer[b-81kkp6khu1] {
        padding: 2.5rem 1rem 1.75rem;
    }

    .auth-footer-grid[b-81kkp6khu1] {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .auth-footer-bottom[b-81kkp6khu1] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* MainLayout — Full layout for authenticated pages (Profile, admin)
   All colors use var(--aspire-*) design tokens from BlazorUI.Radzen. */

.main-layout[b-3w2bxn5dav] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background:
        radial-gradient(circle at top, color-mix(in srgb, var(--aspire-primary), transparent 86%) 0, transparent 36%),
        linear-gradient(180deg, color-mix(in srgb, var(--aspire-surface), black 4%) 0%, var(--aspire-surface) 42%, color-mix(in srgb, var(--aspire-surface), black 9%) 100%);
    color: var(--aspire-text-primary);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

[data-bs-theme="light"] .main-layout[b-3w2bxn5dav],
html[data-bs-theme="light"] .main-layout[b-3w2bxn5dav] {
    background:
        radial-gradient(circle at top, color-mix(in srgb, var(--aspire-primary), transparent 94%) 0, transparent 34%),
    linear-gradient(180deg, var(--aspire-surface) 0%, color-mix(in srgb, var(--aspire-surface-elevated), white 72%) 100%);
}

.main-header[b-3w2bxn5dav] {
    position: sticky;
    top: 0;
    z-index: 20;
    backdrop-filter: blur(18px);
    background-color: color-mix(in srgb, var(--aspire-surface-elevated), transparent 10%);
    border-bottom: 1px solid color-mix(in srgb, var(--aspire-border), transparent 22%);
    padding: 0 1.5rem;
}

[data-bs-theme="light"] .main-header[b-3w2bxn5dav],
html[data-bs-theme="light"] .main-header[b-3w2bxn5dav] {
    background-color: color-mix(in srgb, var(--aspire-surface), var(--aspire-surface-elevated) 72%);
}

.main-header-row[b-3w2bxn5dav] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 3.5rem;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.main-brand-block[b-3w2bxn5dav] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.main-header-brand[b-3w2bxn5dav] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    text-decoration: none;
    color: inherit;
}

.main-header-brand:hover[b-3w2bxn5dav] {
    text-decoration: none;
    opacity: 1;
}

[b-3w2bxn5dav] .main-brand-logo {
    height: 28px;
    width: auto;
}

.main-brand-name[b-3w2bxn5dav] {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--aspire-text-primary);
}

.main-brand-kicker[b-3w2bxn5dav] {
    color: var(--aspire-text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.main-nav[b-3w2bxn5dav] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    justify-content: center;
}

[b-3w2bxn5dav] .main-nav a {
    text-decoration: none;
    color: var(--aspire-text-secondary);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.55rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: color 0.15s, background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}

[b-3w2bxn5dav] .main-nav a:hover {
    color: var(--aspire-text-primary);
    background-color: color-mix(in srgb, var(--aspire-surface-hover), transparent 6%);
    border-color: color-mix(in srgb, var(--aspire-border), transparent 18%);
}

.main-header-actions[b-3w2bxn5dav] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.main-user-name[b-3w2bxn5dav] {
    color: var(--aspire-text-muted);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.main-header-signout[b-3w2bxn5dav] {
    min-height: 2.4rem;
    padding: 0.55rem 0.9rem;
    font-size: 0.74rem;
}

.main-content[b-3w2bxn5dav] {
    flex: 1;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 2.25rem 1.5rem 2.5rem;
}

.main-footer[b-3w2bxn5dav] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem 1.25rem;
    text-align: center;
    color: var(--aspire-text-muted);
    font-size: 0.8rem;
    border-top: 1px solid color-mix(in srgb, var(--aspire-border), transparent 28%);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.main-footer-divider[b-3w2bxn5dav] {
    opacity: 0.4;
}

@media (max-width: 640px) {
    .main-header-row[b-3w2bxn5dav] {
        height: auto;
        gap: 0.75rem;
        padding: 0.9rem 0;
        flex-wrap: wrap;
    }

    .main-nav[b-3w2bxn5dav] {
        order: 3;
        justify-content: flex-start;
        width: 100%;
    }

    .main-header-actions[b-3w2bxn5dav] {
        margin-left: auto;
    }

    .main-user-name[b-3w2bxn5dav] {
        display: none;
    }

    .main-header-signout[b-3w2bxn5dav] {
        min-height: 2.2rem;
        padding-inline: 0.75rem;
    }

    .main-content[b-3w2bxn5dav] {
        padding: 1.25rem 1rem 1.75rem;
    }

    .main-footer[b-3w2bxn5dav] {
        flex-wrap: wrap;
    }
}

#blazor-error-ui[b-3w2bxn5dav] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-3w2bxn5dav] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/Home.razor.rz.scp.css */
/* ── Dashboard layout ───────────────────────────────────────────── */

.dashboard[b-aehr9itqr6] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0.5rem 0;
}

.dashboard-header[b-aehr9itqr6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dashboard-refresh-toggle[b-aehr9itqr6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dashboard-loading[b-aehr9itqr6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 0;
}

.dashboard-error[b-aehr9itqr6] {
    margin-bottom: 0;
}

/* ── KPI grid ──────────────────────────────────────────────────── */

.dashboard-kpi-grid[b-aehr9itqr6] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 1024px) {
    .dashboard-kpi-grid[b-aehr9itqr6] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .dashboard-kpi-grid[b-aehr9itqr6] {
        grid-template-columns: 1fr;
    }
}

/* ── Charts grid ───────────────────────────────────────────────── */

.dashboard-charts-grid[b-aehr9itqr6] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .dashboard-charts-grid[b-aehr9itqr6] {
        grid-template-columns: 1fr;
    }
}

.dashboard-chart-title[b-aehr9itqr6] {
    margin-bottom: 0.75rem;
}

/* ── Recent activity ───────────────────────────────────────────── */

.dashboard-activity-list[b-aehr9itqr6] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dashboard-activity-row[b-aehr9itqr6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--rz-base-200);
}

.dashboard-activity-row:last-child[b-aehr9itqr6] {
    border-bottom: none;
}

.activity-dot[b-aehr9itqr6] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.activity-dot--success[b-aehr9itqr6] {
    background-color: var(--aspire-success);
}

.activity-dot--info[b-aehr9itqr6] {
    background-color: var(--aspire-info);
}

.activity-dot--warning[b-aehr9itqr6] {
    background-color: var(--aspire-warning);
}

.activity-text[b-aehr9itqr6] {
    flex: 1;
    font-size: var(--rz-body-font-size);
    color: var(--rz-text-color);
}

.activity-time[b-aehr9itqr6] {
    font-size: var(--rz-body2-font-size);
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}
/* /Features/Admin/Audit/AuditDetailPage.razor.rz.scp.css */
.audit-detail-grid[b-hgpw1mc11z] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.audit-detail-field[b-hgpw1mc11z] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.audit-detail-label[b-hgpw1mc11z] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-text-disabled-color);
}

.audit-detail-value[b-hgpw1mc11z] {
    font-size: 0.9375rem;
}

.audit-event-type[b-hgpw1mc11z] {
    font-weight: 600;
}

.audit-useragent[b-hgpw1mc11z] {
    font-size: 0.8125rem;
    word-break: break-all;
    color: var(--rz-text-disabled-color);
}

.audit-section-card[b-hgpw1mc11z] {
    margin-bottom: 1.5rem;
}

.audit-section-header[b-hgpw1mc11z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--rz-base-300);
}

.audit-section-header h4[b-hgpw1mc11z] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
}

.audit-toggle-label[b-hgpw1mc11z] {
    font-size: 0.8125rem;
    color: var(--rz-text-disabled-color);
}

.audit-detail-pre[b-hgpw1mc11z] {
    margin: 0;
    padding: 1rem;
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    background: var(--rz-base-200);
    border-radius: 0 0 var(--rz-border-radius) var(--rz-border-radius);
    white-space: pre-wrap;
    word-break: break-all;
    overflow-x: auto;
}

.audit-muted[b-hgpw1mc11z] {
    font-size: 0.875rem;
    color: var(--rz-text-disabled-color);
    padding: 2rem;
    text-align: center;
}
/* /Features/Admin/Audit/AuditPage.razor.rz.scp.css */
.audit-stats-grid[b-i2kf875vhz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.audit-timestamp[b-i2kf875vhz] {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--aspire-list-text);
}

.audit-event-type[b-i2kf875vhz] {
    font-weight: 600;
    font-size: 0.875rem;
}

.audit-details[b-i2kf875vhz] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}

.audit-ip[b-i2kf875vhz] {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}

.audit-muted[b-i2kf875vhz] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Admin/AuthDebug/AuthDebugPage.razor.rz.scp.css */
.section-header[b-sqw1zjsyfu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.section-header h4[b-sqw1zjsyfu] {
    margin: 0;
    font-weight: 600;
}

.info-grid[b-sqw1zjsyfu] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.info-item[b-sqw1zjsyfu] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.info-label[b-sqw1zjsyfu] {
    min-width: 160px;
    font-weight: 500;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
}

.info-value[b-sqw1zjsyfu] {
    font-size: 0.9375rem;
}

[b-sqw1zjsyfu] .mono {
    font-family: var(--rz-code-font-family, monospace);
    font-size: 0.85rem;
}

[b-sqw1zjsyfu] .claim-value {
    word-break: break-all;
}

.text-muted[b-sqw1zjsyfu] {
    color: var(--rz-text-secondary-color);
    font-style: italic;
}

.json-block[b-sqw1zjsyfu] {
    background: var(--rz-base-200);
    border-radius: var(--rz-border-radius);
    padding: 1rem;
    overflow-x: auto;
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.json-block code[b-sqw1zjsyfu] {
    font-family: var(--rz-code-font-family, monospace);
    white-space: pre-wrap;
    word-break: break-all;
}
/* /Features/Admin/Claims/ClaimsPage.razor.rz.scp.css */
.claim-user-cell[b-pu7lmui8lz] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.claim-user-email[b-pu7lmui8lz] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--aspire-list-text);
}

.claim-type-code[b-pu7lmui8lz] {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--aspire-list-muted-text);
}

.claim-value-text[b-pu7lmui8lz] {
    color: var(--aspire-list-text);
}

.claims-stats-grid[b-pu7lmui8lz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
/* /Features/Admin/Dashboard/DashboardPage.razor.rz.scp.css */
/* ── Dashboard layout ───────────────────────────────────────────── */

.dashboard[b-5f0jig601t] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0.5rem 0;
}

.dashboard-header[b-5f0jig601t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dashboard-refresh-toggle[b-5f0jig601t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dashboard-loading[b-5f0jig601t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 0;
}

.dashboard-error[b-5f0jig601t] {
    margin-bottom: 0;
}

/* ── KPI grid ──────────────────────────────────────────────────── */

.dashboard-kpi-grid[b-5f0jig601t] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 1024px) {
    .dashboard-kpi-grid[b-5f0jig601t] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .dashboard-kpi-grid[b-5f0jig601t] {
        grid-template-columns: 1fr;
    }
}

/* ── Charts grid ───────────────────────────────────────────────── */

.dashboard-charts-grid[b-5f0jig601t] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .dashboard-charts-grid[b-5f0jig601t] {
        grid-template-columns: 1fr;
    }
}

.dashboard-chart-title[b-5f0jig601t] {
    margin-bottom: 0.75rem;
}

/* ── Recent activity ───────────────────────────────────────────── */

.dashboard-activity-list[b-5f0jig601t] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dashboard-activity-row[b-5f0jig601t] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--rz-base-200);
}

.dashboard-activity-row:last-child[b-5f0jig601t] {
    border-bottom: none;
}

.activity-dot[b-5f0jig601t] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.activity-dot--success[b-5f0jig601t] {
    background-color: var(--aspire-success);
}

.activity-dot--info[b-5f0jig601t] {
    background-color: var(--aspire-info);
}

.activity-dot--warning[b-5f0jig601t] {
    background-color: var(--aspire-warning);
}

.activity-text[b-5f0jig601t] {
    flex: 1;
    font-size: var(--rz-body-font-size);
    color: var(--rz-text-color);
}

.activity-time[b-5f0jig601t] {
    font-size: var(--rz-body2-font-size);
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
}
/* /Features/Admin/EmailCodes/EmailCodesPage.razor.rz.scp.css */
[b-uk7r53tub3] .email-text {
    font-weight: 500;
    color: var(--aspire-list-text);
}

[b-uk7r53tub3] .timestamp {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}

.abuse-header[b-uk7r53tub3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.abuse-header h4[b-uk7r53tub3] {
    margin: 0;
    font-weight: 600;
}

.text-muted[b-uk7r53tub3] {
    color: var(--aspire-text-secondary);
    font-style: italic;
}
/* /Features/Admin/LoginFunnel/LoginFunnelPage.razor.rz.scp.css */
.login-funnel-page[b-8772t0w871] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 0.25rem 0 1rem;
}

.login-funnel-alert[b-8772t0w871] {
    margin-bottom: 0;
}

.login-funnel-hero[b-8772t0w871] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.4rem 1.5rem;
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--rz-primary) 24%, transparent), transparent 46%),
        linear-gradient(145deg, color-mix(in srgb, var(--brand-surface) 92%, var(--brand-canvas)) 0%, var(--brand-chrome) 65%, var(--brand-canvas) 100%);
    color: var(--brand-text);
    border: 1px solid color-mix(in srgb, var(--brand-text), transparent 92%);
    box-shadow: 0 20px 45px color-mix(in srgb, var(--brand-canvas) 72%, transparent);
}

.login-funnel-eyebrow[b-8772t0w871] {
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--brand-text-muted);
}

.login-funnel-title[b-8772t0w871] {
    color: var(--brand-text);
    margin-top: 0.25rem;
}

.login-funnel-subtitle[b-8772t0w871] {
    max-width: 54rem;
    color: var(--brand-text-idle);
}

.login-funnel-window-chip[b-8772t0w871] {
    display: inline-flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 7rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    background: color-mix(in srgb, var(--brand-text) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--brand-text), transparent 90%);
}

.login-funnel-window-chip span[b-8772t0w871] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--brand-text-muted);
}

.login-funnel-window-chip strong[b-8772t0w871] {
    font-size: 1.15rem;
}

.login-funnel-loading[b-8772t0w871] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem 0;
}

.login-funnel-kpi-grid[b-8772t0w871] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.login-funnel-dashboard-grid[b-8772t0w871] {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(18rem, 1fr);
    gap: 1rem;
}

.login-funnel-panel[b-8772t0w871] {
    overflow: hidden;
}

.login-funnel-panel--primary[b-8772t0w871] {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--rz-primary) 12%, var(--brand-surface)), var(--brand-surface) 42%),
        var(--brand-surface);
    color: var(--brand-text);
}

.login-funnel-panel-header[b-8772t0w871] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.login-funnel-toolbar[b-8772t0w871] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.login-funnel-toolbar--filters[b-8772t0w871] {
    justify-content: flex-end;
}

.login-funnel-muted[b-8772t0w871] {
    color: var(--brand-text-muted);
}

.login-funnel-rate-grid[b-8772t0w871] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.login-funnel-rate-card[b-8772t0w871] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem;
    border-radius: 1rem;
    background: color-mix(in srgb, var(--brand-surface-hover) 80%, var(--brand-surface));
    border: 1px solid color-mix(in srgb, var(--brand-text), transparent 90%);
}

.login-funnel-rate-card strong[b-8772t0w871] {
    font-size: 1.6rem;
    line-height: 1;
}

.login-funnel-rate-label[b-8772t0w871] {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--brand-text-muted);
}

.login-funnel-stage-strip[b-8772t0w871] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.login-funnel-stage-pill[b-8772t0w871] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 8rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    color: var(--brand-text);
    border: 1px solid color-mix(in srgb, var(--brand-text), transparent 90%);
}

.login-funnel-stage-pill span[b-8772t0w871] {
    font-size: 0.78rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    opacity: 0.8;
}

.login-funnel-stage-pill strong[b-8772t0w871] {
    font-size: 1.35rem;
}

.login-funnel-stage-pill--issued[b-8772t0w871] { background: linear-gradient(135deg, color-mix(in srgb, var(--rz-warning) 72%, var(--brand-surface)), color-mix(in srgb, var(--rz-warning) 46%, var(--brand-surface))); }
.login-funnel-stage-pill--verified[b-8772t0w871] { background: linear-gradient(135deg, color-mix(in srgb, var(--rz-info) 72%, var(--brand-surface)), color-mix(in srgb, var(--rz-info) 46%, var(--brand-surface))); }
.login-funnel-stage-pill--created[b-8772t0w871] { background: linear-gradient(135deg, color-mix(in srgb, var(--rz-primary) 72%, var(--brand-surface)), color-mix(in srgb, var(--rz-primary) 46%, var(--brand-surface))); }
.login-funnel-stage-pill--completed[b-8772t0w871] { background: linear-gradient(135deg, color-mix(in srgb, var(--rz-success) 72%, var(--brand-surface)), color-mix(in srgb, var(--rz-success) 46%, var(--brand-surface))); }

.login-funnel-stage-arrow[b-8772t0w871] {
    color: var(--brand-text-muted);
    font-size: 1.2rem;
}

.login-funnel-gap-list[b-8772t0w871] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.login-funnel-gap-row[b-8772t0w871] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--brand-border-soft);
}

.login-funnel-gap-row:last-child[b-8772t0w871] {
    border-bottom: none;
    padding-bottom: 0;
}

.login-funnel-gap-label[b-8772t0w871] {
    color: var(--brand-text);
}

.login-funnel-callout[b-8772t0w871] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: color-mix(in srgb, var(--brand-surface-hover) 82%, var(--rz-warning) 18%);
    color: var(--brand-text);
    border: 1px solid color-mix(in srgb, var(--rz-warning) 22%, transparent);
}

.login-funnel-time-cell[b-8772t0w871],
.login-funnel-event-cell[b-8772t0w871] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.login-funnel-stage-badge[b-8772t0w871] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.login-funnel-stage-badge--issued[b-8772t0w871] {
    background: color-mix(in srgb, var(--rz-warning) 18%, transparent);
    color: color-mix(in srgb, var(--rz-warning) 76%, var(--brand-text));
}

.login-funnel-stage-badge--verified[b-8772t0w871] {
    background: color-mix(in srgb, var(--rz-info) 18%, transparent);
    color: color-mix(in srgb, var(--rz-info) 76%, var(--brand-text));
}

.login-funnel-stage-badge--created[b-8772t0w871] {
    background: color-mix(in srgb, var(--rz-primary) 16%, transparent);
    color: color-mix(in srgb, var(--rz-primary) 74%, var(--brand-text));
}

.login-funnel-stage-badge--completed[b-8772t0w871] {
    background: color-mix(in srgb, var(--rz-success) 16%, transparent);
    color: color-mix(in srgb, var(--rz-success) 74%, var(--brand-text));
}

.login-funnel-identity[b-8772t0w871],
.login-funnel-details[b-8772t0w871] {
    color: var(--brand-text);
}

.login-funnel-time-cell code[b-8772t0w871] {
    color: var(--brand-text);
}

.login-funnel-event-cell strong[b-8772t0w871] {
    color: var(--brand-text);
}

.login-funnel-panel :deep(.rz-datatable)[b-8772t0w871] {
    background: transparent;
}

.login-funnel-panel :deep(.rz-grid-table td)[b-8772t0w871],
.login-funnel-panel :deep(.rz-grid-table th)[b-8772t0w871] {
    border-color: var(--brand-border-soft);
}

.login-funnel-panel :deep(.rz-grid-table th)[b-8772t0w871] {
    color: var(--brand-text-muted);
}

.login-funnel-panel :deep(.rz-data-row:hover)[b-8772t0w871] {
    background: color-mix(in srgb, var(--brand-surface-hover) 84%, transparent);
}

@media (max-width: 1200px) {
    .login-funnel-kpi-grid[b-8772t0w871],
    .login-funnel-rate-grid[b-8772t0w871] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .login-funnel-dashboard-grid[b-8772t0w871] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .login-funnel-hero[b-8772t0w871],
    .login-funnel-panel-header[b-8772t0w871] {
        flex-direction: column;
        align-items: stretch;
    }

    .login-funnel-kpi-grid[b-8772t0w871],
    .login-funnel-rate-grid[b-8772t0w871] {
        grid-template-columns: 1fr;
    }

    .login-funnel-stage-strip[b-8772t0w871] {
        align-items: stretch;
    }

    .login-funnel-stage-arrow[b-8772t0w871] {
        display: none;
    }

    .login-funnel-toolbar--filters[b-8772t0w871] {
        justify-content: stretch;
    }
}
/* /Features/Admin/Passkeys/PasskeysPage.razor.rz.scp.css */
.user-cell[b-zpu93mv25v] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.user-cell-name[b-zpu93mv25v] {
    font-weight: 600;
    line-height: 1.3;
    color: var(--aspire-list-text);
}

.user-cell-email[b-zpu93mv25v] {
    font-size: 0.8125rem;
    line-height: 1.3;
    color: var(--aspire-list-muted-text);
}

.passkeys-credential-id[b-zpu93mv25v] {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--aspire-list-muted-text);
}

.passkeys-name-text[b-zpu93mv25v] {
    color: var(--aspire-list-text);
}

.passkeys-muted-text[b-zpu93mv25v] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Admin/RateLimits/RateLimitsPage.razor.rz.scp.css */
[b-1upk4938t1] .ratelimit-policy-name {
    font-weight: 600;
    color: var(--aspire-list-text);
}

[b-1upk4938t1] .limit-badge {
    font-size: 0.85rem;
}

[b-1upk4938t1] .algorithm-text {
    color: var(--aspire-list-muted-text);
    font-size: 0.875rem;
}

[b-1upk4938t1] .window-text {
    font-family: var(--rz-body-font-family);
    font-size: 0.875rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Admin/Roles/RolesPage.razor.rz.scp.css */
.role-cell[b-ugtxbvmls0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.role-cell-icon[b-ugtxbvmls0] {
    font-size: 1rem;
    color: var(--aspire-list-action-icon);
}

.role-cell-name[b-ugtxbvmls0] {
    font-weight: 600;
    color: var(--aspire-list-text);
}

.roles-stats-grid[b-ugtxbvmls0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
/* /Features/Admin/Security/SecurityPage.razor.rz.scp.css */
.section-header[b-iszmhd8jqy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.section-header h4[b-iszmhd8jqy] {
    margin: 0;
    font-weight: 600;
}

.info-grid[b-iszmhd8jqy] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.info-item[b-iszmhd8jqy] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.info-label[b-iszmhd8jqy] {
    min-width: 200px;
    font-weight: 500;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    padding-top: 0.25rem;
}

.info-value[b-iszmhd8jqy] {
    font-size: 0.9375rem;
}

.mono[b-iszmhd8jqy] {
    font-family: var(--rz-code-font-family, monospace);
    font-size: 0.85rem;
}

.csp-value[b-iszmhd8jqy] {
    word-break: break-all;
    max-width: 500px;
}

.tag-list[b-iszmhd8jqy] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.text-muted[b-iszmhd8jqy] {
    color: var(--rz-text-secondary-color);
    font-style: italic;
}
/* /Features/Admin/Sessions/SessionsPage.razor.rz.scp.css */
.session-id-code[b-dh3p7iuod9],
.session-family-code[b-dh3p7iuod9] {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--aspire-list-text);
}

.sessions-muted[b-dh3p7iuod9] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Admin/Settings/SettingsPage.razor.rz.scp.css */
.settings-tabs[b-who5f2mxvr] {
    margin-top: 0.5rem;
}

.settings-section[b-who5f2mxvr] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem 0.5rem;
    max-width: 600px;
}
/* /Features/Admin/SiteMap/SiteMapPage.razor.rz.scp.css */
.sitemap-grid[b-ok5m6upqj7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 1.5rem;
}

.section-header[b-ok5m6upqj7] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.section-header h4[b-ok5m6upqj7] {
    margin: 0;
    font-weight: 600;
}

.section-desc[b-ok5m6upqj7] {
    margin: 0.125rem 0 0;
    font-size: 0.8125rem;
    color: var(--rz-text-secondary-color);
}

.icon-container[b-ok5m6upqj7] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    flex-shrink: 0;
}

.nav-links[b-ok5m6upqj7] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.nav-links li[b-ok5m6upqj7] {
    padding: 0.25rem 0;
}
/* /Features/Admin/SystemInfo/SystemInfoPage.razor.rz.scp.css */
.section-header[b-7uz2257rxl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.section-header h4[b-7uz2257rxl] {
    margin: 0;
    font-weight: 600;
}

.info-grid[b-7uz2257rxl] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.info-item[b-7uz2257rxl] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.info-label[b-7uz2257rxl] {
    min-width: 180px;
    font-weight: 500;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
}

.info-value[b-7uz2257rxl] {
    font-size: 0.9375rem;
}

.mono[b-7uz2257rxl] {
    font-family: var(--rz-code-font-family, monospace);
    font-size: 0.85rem;
}
/* /Features/Admin/Tokens/TokensPage.razor.rz.scp.css */
.tokens-stats-grid[b-jbb3ox1kjj] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.tokens-signing-keys-card[b-jbb3ox1kjj] {
    margin-bottom: 1.5rem;
}

.tokens-section-header[b-jbb3ox1kjj] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--rz-base-300);
}

.tokens-section-title[b-jbb3ox1kjj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.token-code[b-jbb3ox1kjj] {
    font-family: var(--rz-body-font-family-monospace, monospace);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--aspire-list-text);
}

.tokens-algorithm[b-jbb3ox1kjj] {
    color: var(--aspire-list-muted-text);
}

.tokens-muted[b-jbb3ox1kjj] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Admin/TwoFactor/TwoFactorPage.razor.rz.scp.css */
.twofactor-stats-grid[b-9h54mt9bk3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.twofactor-user-cell[b-9h54mt9bk3] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.twofactor-user-name[b-9h54mt9bk3] {
    font-weight: 600;
    line-height: 1.3;
    color: var(--aspire-list-text);
}

.twofactor-user-email[b-9h54mt9bk3] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
    line-height: 1.3;
}

.twofactor-muted[b-9h54mt9bk3] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Admin/Users/Applications/UserAppPermissionsPage.razor.rz.scp.css */
.no-permissions-section[b-7mnegebgy4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 3rem 1rem;
    text-align: center;
    color: var(--rz-text-disabled-color);
}
/* /Features/Admin/Users/Detail/UserDetailPage.razor.rz.scp.css */
[b-42vdqa2a31] .role-row,
[b-42vdqa2a31] .passkey-row {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rz-border-color);
    border-radius: var(--rz-border-radius);
}

[b-42vdqa2a31] .profile-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 640px) {
    [b-42vdqa2a31] .profile-form-grid {
        grid-template-columns: 1fr;
    }
}

[b-42vdqa2a31] .profile-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

[b-42vdqa2a31] .profile-info-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

[b-42vdqa2a31] .profile-info-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-text-disabled-color);
}

[b-42vdqa2a31] .security-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

[b-42vdqa2a31] .security-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

[b-42vdqa2a31] .security-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-text-disabled-color);
}

[b-42vdqa2a31] .security-muted {
    font-size: 0.8125rem;
    color: var(--rz-text-disabled-color);
}

[b-42vdqa2a31] .activity-row {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--rz-border-color);
}

[b-42vdqa2a31] .activity-row:last-child {
    border-bottom: none;
}

[b-42vdqa2a31] .activity-details {
    color: var(--rz-text-disabled-color);
}

[b-42vdqa2a31] .activity-time {
    color: var(--rz-text-disabled-color);
    font-size: 0.75rem;
}
/* /Features/Admin/Users/UsersPage.razor.rz.scp.css */
.user-cell[b-1ew2yk20be] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.user-cell-name[b-1ew2yk20be] {
    font-weight: 600;
    line-height: 1.3;
    color: var(--aspire-list-text);
}

.user-cell-email[b-1ew2yk20be] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
    line-height: 1.3;
}

.users-muted-text[b-1ew2yk20be] {
    font-size: 0.8125rem;
    color: var(--aspire-list-muted-text);
}
/* /Features/Auth/AccessDenied/AccessDeniedPage.razor.rz.scp.css */
/* AccessDeniedPage — scoped CSS */

.access-denied-icon[b-g3c47del09] {
    margin-bottom: 0.25rem;
}

.access-denied-actions[b-g3c47del09] {
    gap: 1.1rem;
}

.access-denied-info[b-g3c47del09] {
    margin: 0;
}

.access-denied-buttons[b-g3c47del09] {
    margin-top: 0.15rem;
}
/* /Features/Auth/ForgotPassword/ForgotPasswordPage.razor.rz.scp.css */
/* ForgotPasswordPage — Approved oxblood-noir auth design.
   Tokens come from .auth-layout (wwwroot/app.css).
   Plan 337 Tier B: card / input / primary-button chrome lives on the
   shared `.auth-card`, `.auth-input`, `.auth-button-primary` base
   classes in `wwwroot/app.css`. */

.forgot-page-shell[b-m7oaes2r2u] {
    width: 100%;
    display: flex;
    justify-content: center;
}

.forgot-page-card[b-m7oaes2r2u] {
    /* Chrome lives on `.auth-card` in wwwroot/app.css. */
}

.forgot-page-title[b-m7oaes2r2u] {
    margin: 0;
    text-align: center;
    color: var(--auth-text);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.forgot-page-subtitle[b-m7oaes2r2u] {
    margin: 0.65rem 0 1.75rem;
    text-align: center;
    color: var(--auth-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.forgot-success-icon[b-m7oaes2r2u] {
    text-align: center;
    margin-bottom: 1rem;
    color: var(--auth-accent);
}

.forgot-page-error[b-m7oaes2r2u] {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--auth-error-border);
    border-radius: 6px;
    background: var(--auth-error-bg);
    color: var(--auth-error-text);
    font-size: 0.9rem;
    line-height: 1.5;
}

.forgot-field-group[b-m7oaes2r2u] {
    margin-bottom: 1.1rem;
}

.forgot-field-label[b-m7oaes2r2u] {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--auth-text);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.forgot-field-input[b-m7oaes2r2u] {
    /* Chrome lives on `.auth-input` in wwwroot/app.css. */
}

.forgot-field-validation[b-m7oaes2r2u] {
    display: block;
    margin-top: 0.35rem;
    color: var(--auth-text-muted);
    font-size: 0.82rem;
}

.forgot-form-actions[b-m7oaes2r2u] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.forgot-primary-button[b-m7oaes2r2u] {
    /* Chrome lives on `.auth-button-primary` in wwwroot/app.css. */
}

.forgot-page-footer[b-m7oaes2r2u] {
    margin-top: 1rem;
}

.forgot-secondary-row[b-m7oaes2r2u] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--auth-divider);
}

.forgot-secondary-text[b-m7oaes2r2u] {
    font-size: 0.82rem;
    color: var(--auth-text-muted);
}

.forgot-secondary-button[b-m7oaes2r2u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.4rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--auth-card-border);
    border-radius: 6px;
    background: transparent;
    color: var(--auth-text);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.forgot-secondary-button:hover[b-m7oaes2r2u],
.forgot-secondary-button:focus-visible[b-m7oaes2r2u] {
    border-color: var(--auth-accent);
    color: var(--auth-text);
    background: var(--auth-accent-soft-bg);
    outline: none;
}

.forgot-secondary-button-inline[b-m7oaes2r2u] {
    min-height: 2.5rem;
    padding-inline: 0.9rem;
}

a.forgot-secondary-button[b-m7oaes2r2u],
a.forgot-secondary-button-inline[b-m7oaes2r2u] {
    color: var(--auth-text);
}

@media (max-width: 640px) {
    .forgot-page-card[b-m7oaes2r2u] {
        padding: 1.75rem 1.4rem 1.4rem;
    }
}
/* /Features/Auth/ForgotPassword/ResetPasswordPage.razor.rz.scp.css */
/* ResetPasswordPage — Approved oxblood-noir auth design.
   Tokens come from .auth-layout (wwwroot/app.css).
   Plan 337 Tier B: card / input / primary-button chrome lives on the
   shared `.auth-card`, `.auth-input`, `.auth-button-primary` base
   classes in `wwwroot/app.css`. */

.reset-page-shell[b-1y9rb36qyo] {
    width: 100%;
    display: flex;
    justify-content: center;
}

.reset-page-card[b-1y9rb36qyo] {
    /* Chrome lives on `.auth-card` in wwwroot/app.css. */
}

.reset-page-title[b-1y9rb36qyo] {
    margin: 0;
    text-align: center;
    color: var(--auth-text);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.reset-page-subtitle[b-1y9rb36qyo] {
    margin: 0.65rem 0 1.75rem;
    text-align: center;
    color: var(--auth-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.reset-success-icon[b-1y9rb36qyo] {
    text-align: center;
    margin-bottom: 1rem;
    color: var(--auth-accent);
}

.reset-page-error[b-1y9rb36qyo] {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--auth-error-border);
    border-radius: 6px;
    background: var(--auth-error-bg);
    color: var(--auth-error-text);
    font-size: 0.9rem;
    line-height: 1.5;
}

.reset-field-group[b-1y9rb36qyo] {
    margin-bottom: 1.1rem;
}

.reset-field-label[b-1y9rb36qyo] {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--auth-text);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.reset-field-input[b-1y9rb36qyo] {
    /* Chrome lives on `.auth-input` in wwwroot/app.css. */
}

.reset-field-validation[b-1y9rb36qyo] {
    display: block;
    margin-top: 0.35rem;
    color: var(--auth-text-muted);
    font-size: 0.82rem;
}

.reset-form-actions[b-1y9rb36qyo] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.reset-primary-button[b-1y9rb36qyo] {
    /* Chrome lives on `.auth-button-primary` in wwwroot/app.css. */
}

.reset-page-footer[b-1y9rb36qyo] {
    margin-top: 1rem;
}

.reset-secondary-row[b-1y9rb36qyo] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--auth-divider);
}

.reset-secondary-button[b-1y9rb36qyo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.4rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--auth-card-border);
    border-radius: 6px;
    background: transparent;
    color: var(--auth-text);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.reset-secondary-button:hover[b-1y9rb36qyo],
.reset-secondary-button:focus-visible[b-1y9rb36qyo] {
    border-color: var(--auth-accent);
    color: var(--auth-text);
    background: var(--auth-accent-soft-bg);
    outline: none;
}

a.reset-secondary-button[b-1y9rb36qyo] {
    color: var(--auth-text);
}

@media (max-width: 640px) {
    .reset-page-card[b-1y9rb36qyo] {
        padding: 1.75rem 1.4rem 1.4rem;
    }
}
/* /Features/Auth/Login/LoginPage.razor.rz.scp.css */
/* LoginPage — Approved oxblood/charcoal auth design (Stitch screen
   "Auth / Entry / Default - Approved Oxblood", asset 1267359032786225070).
   Plan 327, Step 1B. Geist via stack fallback.

   NOTE: Blazor scoped CSS rewrites every selector with a [b-xxx] attribute
   suffix, so `:root { ... }` would compile to `:root[b-xxx]` and never
   match. Scope the design tokens to the page shell instead.

   Plan 337 Tier B: card / input / primary-button chrome lives on the
   shared `.auth-card`, `.auth-input`, `.auth-button-primary` base
   classes in `wwwroot/app.css`. Page-scoped rules below are layout,
   variants (code / password card), state overrides (invalid groups),
   and feature-specific styling only. */

.login-page-shell[b-aeavjiibxc] {
    /* Tokens come from .auth-layout (wwwroot/app.css). */
    width: 100%;
    display: flex;
    justify-content: center;
}

.login-page-card[b-aeavjiibxc] {
    /* Chrome (size, padding, border, background, shadow, ::before stripe)
       lives on `.auth-card` in wwwroot/app.css. */
}

.login-page-card-code[b-aeavjiibxc],
.login-page-card-password[b-aeavjiibxc] {
    /* Variant markers — chrome inherited from `.auth-card`. */
}

/* ── Headline + supporting copy ──────────────────────────────────── */

.login-page-title[b-aeavjiibxc] {
    margin: 0;
    text-align: center;
    color: var(--auth-text);
    font-size: 1.75rem;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.login-page-subtitle[b-aeavjiibxc] {
    margin: 0.65rem 0 1.75rem;
    max-width: 31ch;
    margin-inline: auto;
    text-align: center;
    color: var(--auth-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
    text-wrap: pretty;
}

/* ── Code-requested context + dev code blocks ────────────────────── */

.login-page-context[b-aeavjiibxc] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: -0.5rem 0 1.25rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--auth-card-border);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
    text-align: center;
}

.login-page-context-label[b-aeavjiibxc] {
    color: var(--auth-text-muted);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.login-page-context-value[b-aeavjiibxc] {
    color: var(--auth-text);
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.4;
    word-break: break-word;
}

.login-page-dev-code[b-aeavjiibxc] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: -0.25rem 0 1.25rem;
    padding: 0.85rem 1rem;
    border: 1px dashed rgba(232, 213, 183, 0.5);
    border-radius: 6px;
    background: rgba(232, 213, 183, 0.05);
    text-align: center;
}

.login-page-dev-code-label[b-aeavjiibxc] {
    color: #d6c1a0;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.login-page-dev-code-value[b-aeavjiibxc] {
    color: #fff4e1;
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    padding-left: 0.3em;
}

.login-page-dev-code-note[b-aeavjiibxc] {
    color: #d6c1a0;
    font-size: 0.78rem;
    line-height: 1.4;
}

/* ── Error state ─────────────────────────────────────────────────── */

.login-page-error[b-aeavjiibxc] {
    margin-bottom: 1rem;
    padding: 0.75rem 0.95rem;
    border: 1px solid var(--auth-error-border);
    border-radius: 6px;
    background: var(--auth-error-bg);
    color: var(--auth-error-text);
    font-size: 0.9rem;
    line-height: 1.45;
}

/* ── Fields ──────────────────────────────────────────────────────── */

.login-field-group[b-aeavjiibxc] {
    margin-bottom: 1rem;
}

.login-field-group-invalid .login-field-label[b-aeavjiibxc] {
    color: var(--auth-text);
}

.login-field-label[b-aeavjiibxc] {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--auth-text);
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.4;
}

.login-field-input[b-aeavjiibxc] {
    /* Chrome lives on `.auth-input` in wwwroot/app.css. */
}

.login-field-group-invalid .login-field-input[b-aeavjiibxc] {
    border-color: var(--auth-error-inline-border);
    background: var(--auth-error-inline-bg);
}

.login-field-group-invalid .login-field-input:focus[b-aeavjiibxc],
.login-field-group-invalid .login-field-input:focus-visible[b-aeavjiibxc] {
    border-color: var(--auth-error-inline-border);
    box-shadow: 0 0 0 3px rgba(184, 74, 82, 0.18);
}

.login-field-input-code[b-aeavjiibxc] {
    text-align: center;
    font-size: 1.35rem;
    letter-spacing: 0.4em;
    font-weight: 700;
    padding-left: 1.2rem;
    font-variant-numeric: tabular-nums;
}

.login-code-input-shell[b-aeavjiibxc] {
    position: relative;
}

.login-code-slots[b-aeavjiibxc] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.5rem;
}

.login-code-slot[b-aeavjiibxc] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    border: 1px solid var(--auth-input-border);
    border-radius: 8px;
    background: var(--auth-input-bg);
    color: var(--auth-text);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.login-code-slot[data-filled][b-aeavjiibxc] {
    border-color: #47474d;
    background: rgba(255, 255, 255, 0.03);
}

.login-code-input-shell:focus-within .login-code-slot[b-aeavjiibxc] {
    border-color: var(--auth-input-border-focus);
    box-shadow: 0 0 0 3px rgba(152, 19, 27, 0.14);
}

.login-field-group-invalid .login-code-slot[b-aeavjiibxc] {
    border-color: var(--auth-error-inline-border);
    background: var(--auth-error-inline-bg);
}

.login-field-group-invalid .login-code-input-shell:focus-within .login-code-slot[b-aeavjiibxc] {
    border-color: var(--auth-error-inline-border);
    box-shadow: 0 0 0 3px rgba(184, 74, 82, 0.14);
}

.login-field-input-code-overlay[b-aeavjiibxc] {
    position: absolute;
    inset: 0;
    z-index: 1;
    padding: 0;
    border: 0;
    background: transparent;
    color: transparent;
    -webkit-text-fill-color: transparent;
    caret-color: transparent;
    letter-spacing: 0;
    opacity: 0.015;
}

.login-field-input-code-overlay:focus[b-aeavjiibxc],
.login-field-input-code-overlay:focus-visible[b-aeavjiibxc],
.login-field-input-code-overlay:hover[b-aeavjiibxc] {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.login-field-error[b-aeavjiibxc] {
    margin: 0.45rem 0 0;
    color: var(--auth-error-inline-text);
    font-size: 0.82rem;
    line-height: 1.45;
}

/* ── Primary action ──────────────────────────────────────────────── */

.login-form-actions[b-aeavjiibxc] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 1.5rem;
}

.login-primary-button[b-aeavjiibxc] {
    /* Chrome lives on `.auth-button-primary` in wwwroot/app.css. */
}

.login-primary-button-content[b-aeavjiibxc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
}

.login-primary-button-spinner[b-aeavjiibxc] {
    display: none;
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.32);
    border-top-color: var(--auth-on-accent);
    border-radius: 999px;
    animation: login-button-spin-b-aeavjiibxc 0.8s linear infinite;
}

.login-primary-button.is-submitting[b-aeavjiibxc] {
    background: var(--auth-accent);
    border-color: var(--auth-accent);
}

.login-primary-button.is-submitting .login-primary-button-spinner[b-aeavjiibxc] {
    display: inline-block;
}

.login-primary-button.is-submitting:disabled[b-aeavjiibxc] {
    opacity: 1;
    cursor: progress;
}

@keyframes login-button-spin-b-aeavjiibxc {
    to {
        transform: rotate(360deg);
    }
}

/* ── Divider with centered "or" ──────────────────────────────────── */

.login-page-footer[b-aeavjiibxc] {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.login-page-card-code .login-page-footer[b-aeavjiibxc] {
    margin-top: 1.25rem;
}

.login-divider[b-aeavjiibxc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--auth-text-muted);
    font-size: 0.85rem;
}

.login-divider-line[b-aeavjiibxc] {
    flex: 1 1 auto;
    height: 1px;
    background: var(--auth-divider);
}

.login-divider-label[b-aeavjiibxc] {
    color: var(--auth-text-muted);
    font-size: 0.85rem;
}

/* ── Block secondary CTA (e.g. Continue with Password + 2FA) ──────── */

.login-secondary-button-block[b-aeavjiibxc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.85rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--auth-card-border);
    border-radius: 6px;
    background: transparent;
    color: var(--auth-text);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.login-secondary-button-block:hover[b-aeavjiibxc],
.login-secondary-button-block:focus-visible[b-aeavjiibxc] {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--auth-input-border-hover);
    color: var(--auth-text);
    text-decoration: none;
    outline: none;
}

/* ── Passkey teaser row (non-interactive) ─────────────────────────── */

.login-passkey-row[b-aeavjiibxc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--auth-divider);
    color: var(--auth-text-muted);
    font-size: 0.88rem;
}

.login-passkey-label[b-aeavjiibxc] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--auth-text-muted);
}

.login-passkey-icon[b-aeavjiibxc] {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.login-passkey-tag[b-aeavjiibxc] {
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--auth-tag-bg);
    color: var(--auth-tag-text);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* ── Legacy rows kept for non-default branches (passkey/password/code) */

.login-secondary-row[b-aeavjiibxc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding-top: 0.5rem;
}

.login-page-card-code .login-secondary-row[b-aeavjiibxc] {
    padding-top: 0.15rem;
}

.login-secondary-row-single[b-aeavjiibxc] {
    margin-top: 0.25rem;
}

.login-secondary-row-resend[b-aeavjiibxc] {
    flex-wrap: wrap;
}

.login-secondary-text[b-aeavjiibxc] {
    font-size: 0.82rem;
    color: var(--auth-text-muted);
}

.login-secondary-countdown[b-aeavjiibxc] {
    font-size: 0.82rem;
    color: var(--auth-text);
    font-variant-numeric: tabular-nums;
}

.login-secondary-button[b-aeavjiibxc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.5rem;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--auth-text-muted);
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s ease;
}

.login-secondary-button:disabled[b-aeavjiibxc] {
    color: var(--auth-text-subtle, rgba(255, 255, 255, 0.45));
    cursor: not-allowed;
    text-decoration: none;
}

.login-secondary-button:hover[b-aeavjiibxc],
.login-secondary-button:focus-visible[b-aeavjiibxc],
.login-secondary-button:disabled:hover[b-aeavjiibxc],
.login-secondary-button:disabled:focus-visible[b-aeavjiibxc],
.login-secondary-button-prominent:hover[b-aeavjiibxc],
.login-secondary-button-prominent:focus-visible[b-aeavjiibxc] {
    color: var(--auth-text);
    text-decoration: underline;
    outline: none;
}

.login-secondary-button:disabled:hover[b-aeavjiibxc],
.login-secondary-button:disabled:focus-visible[b-aeavjiibxc] {
    color: var(--auth-text-subtle, rgba(255, 255, 255, 0.45));
    text-decoration: none;
}

.login-secondary-button-prominent[b-aeavjiibxc] {
    color: var(--auth-text);
}

a.login-secondary-button[b-aeavjiibxc],
a.login-secondary-button-prominent[b-aeavjiibxc] {
    color: var(--auth-text-muted);
}

a.login-secondary-button-prominent[b-aeavjiibxc] {
    color: var(--auth-text);
}

/* ── Remember-me group used by code/password branches ─────────────── */

.login-remember-group[b-aeavjiibxc] {
    margin-top: 0.9rem;
    margin-bottom: 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--auth-card-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
}

.login-remember-label[b-aeavjiibxc] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--auth-text);
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
}

.login-remember-label input[type="checkbox"][b-aeavjiibxc] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--auth-accent);
    cursor: pointer;
}

.login-remember-hint[b-aeavjiibxc] {
    margin: 0.45rem 0 0 1.5rem;
    color: var(--auth-text-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

@media (max-width: 640px) {
    .login-page-card[b-aeavjiibxc] {
        padding: 1.75rem 1.5rem 1.25rem;
    }

    .login-code-slots[b-aeavjiibxc] {
        gap: 0.35rem;
    }

    .login-code-slot[b-aeavjiibxc] {
        min-height: 2.75rem;
        font-size: 1.05rem;
    }
}
/* /Features/Auth/Logout/LogoutPage.razor.rz.scp.css */
/* LogoutPage — centered spinner with message */

.logout-spinner[b-dkib6bzcy4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1.75rem 0 1.25rem;
}

[b-dkib6bzcy4] .logout-message {
    color: var(--aspire-text-secondary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
}
/* /Features/Auth/Profile/ProfilePage.razor.rz.scp.css */
/* ProfilePage — scoped CSS for the profile page and tab infrastructure. */

.profile-page[b-x8dd3fslby] {
    display: grid;
    gap: 1.5rem;
}

.profile-header[b-x8dd3fslby] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.profile-header-copy[b-x8dd3fslby] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    max-width: 46rem;
}

.profile-header-actions[b-x8dd3fslby] {
    display: flex;
    align-items: center;
}

.profile-title[b-x8dd3fslby] {
    color: var(--aspire-text-primary);
    margin: 0;
    font-size: clamp(2rem, 3.8vw, 2.7rem);
    font-weight: 700;
    letter-spacing: -0.04em;
}

.profile-subtitle[b-x8dd3fslby] {
    color: var(--aspire-text-secondary);
    margin: 0;
    line-height: 1.7;
}

.profile-shell[b-x8dd3fslby] {
    border: 1px solid color-mix(in srgb, var(--aspire-border), transparent 14%);
    background: var(--aspire-surface-elevated);
    box-shadow: 0 0 28px color-mix(in srgb, var(--aspire-primary), transparent 92%);
}

/* ── Tabs ─────────────────────────────────────────────────────────────── */

[b-x8dd3fslby] .profile-tabs {
    background: transparent;
    border-radius: 0;
    border: none;
    overflow: hidden;
}

[b-x8dd3fslby] .profile-tabs .rz-tabview-nav {
    background: var(--aspire-surface);
    border-bottom: 1px solid color-mix(in srgb, var(--aspire-border), transparent 10%);
    padding: 0.4rem 1rem 0;
}

[b-x8dd3fslby] .profile-tabs .rz-tabview-nav li .rz-tabview-nav-link {
    color: var(--aspire-text-secondary);
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 2px 2px 0 0;
    padding: 0.9rem 1rem;
    transition: color 0.15s, border-color 0.15s, background-color 0.15s;
}

[b-x8dd3fslby] .profile-tabs .rz-tabview-nav li .rz-tabview-nav-link:hover {
    color: var(--aspire-text-primary);
    background: color-mix(in srgb, var(--aspire-surface-hover), transparent 12%);
}

[b-x8dd3fslby] .profile-tabs .rz-tabview-nav li.rz-tabview-selected .rz-tabview-nav-link {
    color: var(--aspire-primary);
    background: var(--aspire-surface-elevated);
    border-color: color-mix(in srgb, var(--aspire-border), transparent 10%);
    box-shadow: inset 0 3px 0 0 var(--aspire-primary);
}

[b-x8dd3fslby] .profile-tabs .rz-tabview-panel {
    padding: 1.5rem 1.5rem 1.75rem;
    background: var(--aspire-surface-elevated);
}

/* ── Profile tab fields ──────────────────────────────────────────────── */

[b-x8dd3fslby] .profile-tab {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

[b-x8dd3fslby] .profile-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--aspire-border), transparent 28%);
}

[b-x8dd3fslby] .profile-label {
    color: var(--aspire-text-secondary);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

[b-x8dd3fslby] .profile-value {
    color: var(--aspire-text-primary);
}

[b-x8dd3fslby] .profile-value-mono {
    font-family: var(--aspire-font-family-mono);
    font-size: 0.85rem;
    color: var(--aspire-text-secondary);
}

[b-x8dd3fslby] .profile-value-muted {
    color: var(--aspire-text-secondary);
    font-style: italic;
}

[b-x8dd3fslby] .profile-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

[b-x8dd3fslby] .profile-role-badge {
    font-size: 0.8rem;
}

@media (max-width: 640px) {
    .profile-header[b-x8dd3fslby] {
        align-items: flex-start;
        flex-direction: column;
    }

    [b-x8dd3fslby] .profile-tabs .rz-tabview-panel {
        padding: 1rem;
    }

    [b-x8dd3fslby] .profile-tabs .rz-tabview-nav {
        padding-inline: 0.5rem;
    }
}

/* ── Profile edit fields ─────────────────────────────────────────────── */

[b-x8dd3fslby] .profile-edit-fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

[b-x8dd3fslby] .profile-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--aspire-border), transparent 28%);
}

[b-x8dd3fslby] .profile-save-success {
    color: var(--rz-success);
}

[b-x8dd3fslby] .profile-save-error {
    color: var(--rz-danger);
}

/* ── Security tab ────────────────────────────────────────────────────── */

[b-x8dd3fslby] .security-tab {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

[b-x8dd3fslby] .security-section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

[b-x8dd3fslby] .security-section-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--aspire-border), transparent 28%);
}

[b-x8dd3fslby] .security-section-header h3 {
    margin: 0;
    color: var(--aspire-text-primary);
    font-size: 1.05rem;
    font-weight: 600;
}

[b-x8dd3fslby] .security-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
}

[b-x8dd3fslby] .security-row-label {
    color: var(--aspire-text-secondary);
    font-size: 0.875rem;
}

/* ── Sessions tab ────────────────────────────────────────────────────── */

[b-x8dd3fslby] .sessions-tab {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

[b-x8dd3fslby] .sessions-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

/* ── External logins tab ─────────────────────────────────────────────── */

[b-x8dd3fslby] .external-logins-tab {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

[b-x8dd3fslby] .external-login-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border: 1px solid color-mix(in srgb, var(--aspire-border), transparent 28%);
    border-radius: 4px;
}

[b-x8dd3fslby] .external-login-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

/* ── Danger zone tab ─────────────────────────────────────────────────── */

[b-x8dd3fslby] .danger-zone-tab {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

[b-x8dd3fslby] .danger-zone-warning {
    padding: 1.25rem;
    border: 2px solid var(--rz-danger);
    border-radius: 6px;
    background: color-mix(in srgb, var(--rz-danger), transparent 94%);
}

[b-x8dd3fslby] .danger-zone-warning h3 {
    margin: 0 0 0.75rem;
    color: var(--rz-danger);
    font-weight: 600;
}

[b-x8dd3fslby] .danger-zone-warning p {
    margin: 0 0 1rem;
    color: var(--aspire-text-secondary);
    line-height: 1.6;
}

/* ── Modal shared ────────────────────────────────────────────────────── */

[b-x8dd3fslby] .modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
}

[b-x8dd3fslby] .modal-panel {
    background: var(--aspire-surface, #fff);
    border-radius: var(--aspire-border-radius, 8px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.24);
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.5rem;
}

[b-x8dd3fslby] .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

[b-x8dd3fslby] .modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

[b-x8dd3fslby] .modal-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.5rem 0;
}

[b-x8dd3fslby] .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid color-mix(in srgb, var(--aspire-border), transparent 28%);
}

[b-x8dd3fslby] .recovery-codes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    font-family: var(--aspire-font-family-mono);
    font-size: 0.9rem;
}

/* SetupSignInWizardModal — choice cards (mirrors SetupSecurityPage) */
[b-x8dd3fslby] .setup-step {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

[b-x8dd3fslby] .setup-step-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

[b-x8dd3fslby] .setup-step-subtitle {
    margin: 0;
    font-size: 0.9rem;
    color: var(--aspire-text-secondary, #a88b8b);
}

[b-x8dd3fslby] .setup-choice-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

@media (min-width: 480px) {
    [b-x8dd3fslby] .setup-choice-cards {
        grid-template-columns: 1fr 1fr;
    }
}

[b-x8dd3fslby] .setup-choice-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    padding: 1.25rem 1rem;
    border: 2px solid color-mix(in srgb, var(--aspire-border), transparent 30%);
    border-radius: 4px;
    background: color-mix(in srgb, var(--aspire-surface-elevated), transparent 10%);
    color: var(--aspire-text-primary);
    cursor: pointer;
    text-align: center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

[b-x8dd3fslby] .setup-choice-card:hover:not(:disabled),
[b-x8dd3fslby] .setup-choice-card:focus-visible:not(:disabled) {
    border-color: var(--aspire-primary, #e8d5b7);
    box-shadow: 0 0 18px color-mix(in srgb, var(--aspire-primary), transparent 75%);
    outline: none;
}

[b-x8dd3fslby] .setup-choice-card:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

[b-x8dd3fslby] .setup-choice-title {
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--aspire-text-primary);
}

[b-x8dd3fslby] .setup-choice-desc {
    font-size: 0.82rem;
    color: var(--aspire-text-secondary, #a88b8b);
    line-height: 1.45;
}
/* /Features/Auth/SetupSecurity/SetupSecurityPage.razor.rz.scp.css */
/* SetupSecurityPage — first-time account security wizard. */

.setup-page-shell[b-qxrmljsnxc] {
    /* Tokens come from .auth-layout (wwwroot/app.css).
       Setup-wizard wants slightly lighter tag text than the global default. */
    --auth-tag-text: #d4d4d8;

    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ── Progress indicator ──────────────────────────────────────────── */

.setup-progress[b-qxrmljsnxc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100%;
    max-width: 440px;
    margin-bottom: 1rem;
}

.setup-progress-step[b-qxrmljsnxc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    border: 1px solid var(--auth-divider);
}

.setup-progress-current[b-qxrmljsnxc] {
    background: var(--auth-accent-soft-bg);
    color: var(--auth-text);
    border-color: var(--auth-accent-soft-border);
    box-shadow: 0 0 0 3px rgba(152, 19, 27, 0.12);
}

.setup-progress-done[b-qxrmljsnxc] {
    background: var(--auth-success-bg);
    color: var(--auth-success-text);
    border-color: var(--auth-success-border);
}

.setup-progress-pending[b-qxrmljsnxc] {
    background: rgba(255, 255, 255, 0.02);
    color: var(--auth-text-muted);
}

.setup-progress-connector[b-qxrmljsnxc] {
    width: 2.5rem;
    height: 2px;
    background: var(--auth-divider);
}

.setup-progress-connector-done[b-qxrmljsnxc] {
    background: var(--auth-success-border);
}

/* ── Card shell ──────────────────────────────────────────────────── */

.setup-page-card[b-qxrmljsnxc] {
    /* Plan 337 Tier B: chrome lives on `.auth-card` in wwwroot/app.css. */
}

.setup-page-error[b-qxrmljsnxc] {
    margin-bottom: 1rem;
    padding: 0.75rem 0.95rem;
    border: 1px solid var(--auth-error-border);
    border-radius: 6px;
    background: var(--auth-error-bg);
    color: var(--auth-text);
    font-size: 0.9rem;
    line-height: 1.45;
}

/* Child setup-step components render with their own CSS isolation scope.
   Bridge the parent auth-card tokens into those descendants. */

[b-qxrmljsnxc] .setup-step {
    display: flex;
    flex-direction: column;
}

[b-qxrmljsnxc] .setup-step-title {
    margin: 0;
    text-align: center;
    color: var(--auth-text);
    font-size: 1.75rem;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: 0;
}

[b-qxrmljsnxc] .setup-step-subtitle {
    margin: 0.65rem 0 1.75rem;
    text-align: center;
    color: var(--auth-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

[b-qxrmljsnxc] .setup-field-group {
    margin-bottom: 1.25rem;
}

[b-qxrmljsnxc] .setup-field-label {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--auth-text);
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.4;
}

[b-qxrmljsnxc] .setup-password-input-wrap {
    position: relative;
}

[b-qxrmljsnxc] .setup-field-input {
    /* Plan 337 Tier B: chrome lives on `.auth-input` in wwwroot/app.css. */
}

[b-qxrmljsnxc] .setup-password-input {
    padding-right: 3rem;
}

[b-qxrmljsnxc] .setup-password-toggle {
    position: absolute;
    top: 50%;
    right: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--auth-text-muted);
    transform: translateY(-50%);
    cursor: pointer;
}

[b-qxrmljsnxc] .setup-password-toggle:hover,
[b-qxrmljsnxc] .setup-password-toggle:focus-visible {
    color: var(--auth-text);
    background: rgba(255, 255, 255, 0.04);
    outline: none;
}

[b-qxrmljsnxc] .setup-form-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

[b-qxrmljsnxc] .setup-primary-button {
    /* Plan 337 Tier B: chrome lives on `.auth-button-primary` in wwwroot/app.css. */
}

[b-qxrmljsnxc] .setup-secondary-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding-top: 0.75rem;
}

[b-qxrmljsnxc] .setup-back-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.5rem;
    padding: 0.45rem 0.7rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--auth-text-muted);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    cursor: pointer;
}

[b-qxrmljsnxc] .setup-back-button:hover,
[b-qxrmljsnxc] .setup-back-button:focus-visible {
    color: var(--auth-text);
    background: rgba(255, 255, 255, 0.04);
    outline: none;
}

[b-qxrmljsnxc] .setup-password-criteria {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-bottom: 0.5rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
}

[b-qxrmljsnxc] .setup-password-criteria-title {
    color: var(--auth-text);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

[b-qxrmljsnxc] .setup-criteria-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--auth-text-muted);
    font-size: 0.85rem;
}

[b-qxrmljsnxc] .setup-criteria-met {
    color: var(--auth-success-text);
}

[b-qxrmljsnxc] .setup-field-input-code {
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.42em;
    font-weight: 700;
    padding-left: 1.25rem;
    font-variant-numeric: tabular-nums;
}

[b-qxrmljsnxc] .setup-qr-container {
    display: flex;
    justify-content: center;
    margin-bottom: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: #fff;
}

[b-qxrmljsnxc] .setup-manual-key {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-bottom: 1.25rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
    text-align: center;
}

[b-qxrmljsnxc] .setup-manual-key-label {
    color: var(--auth-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

[b-qxrmljsnxc] .setup-manual-key-value {
    color: var(--auth-text);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    word-break: break-all;
    -webkit-user-select: all;
    user-select: all;
}

[b-qxrmljsnxc] .setup-recovery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

[b-qxrmljsnxc] .setup-recovery-code {
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: #17171a;
    color: var(--auth-text);
    font-family: monospace;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-align: center;
    -webkit-user-select: all;
    user-select: all;
}

[b-qxrmljsnxc] .setup-recovery-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    margin: -0.35rem 0 1rem;
}

[b-qxrmljsnxc] .setup-recovery-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.45rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
    color: var(--auth-text);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

[b-qxrmljsnxc] .setup-recovery-action:hover,
[b-qxrmljsnxc] .setup-recovery-action:focus-visible {
    border-color: var(--auth-input-border-hover);
    background: rgba(255, 255, 255, 0.04);
    color: var(--auth-text);
    box-shadow: 0 0 0 3px rgba(152, 19, 27, 0.08);
    outline: none;
}

[b-qxrmljsnxc] .setup-recovery-status {
    margin: -0.35rem 0 0.9rem;
    color: var(--auth-success-text);
    font-size: 0.82rem;
    line-height: 1.4;
    text-align: center;
}

[b-qxrmljsnxc] .setup-acknowledge {
    margin-bottom: 0.5rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
}

[b-qxrmljsnxc] .setup-acknowledge-label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--auth-text);
    font-size: 0.9rem;
    cursor: pointer;
}

/* ── Step layout ─────────────────────────────────────────────────── */

.setup-step[b-qxrmljsnxc] {
    display: flex;
    flex-direction: column;
}

.setup-step-title[b-qxrmljsnxc] {
    margin: 0;
    text-align: center;
    color: var(--auth-text);
    font-size: 1.75rem;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.setup-step-subtitle[b-qxrmljsnxc] {
    margin: 0.65rem 0 1.75rem;
    text-align: center;
    color: var(--auth-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

/* ── Choice cards ────────────────────────────────────────────────── */

.setup-choice-cards[b-qxrmljsnxc] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 0.75rem;
}

.setup-choice-card[b-qxrmljsnxc] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    width: 100%;
    padding: 1rem 1rem 1.05rem;
    border: 1px solid var(--auth-divider);
    border-radius: 6px;
    background: #17171a;
    color: var(--auth-text);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.setup-choice-card-primary[b-qxrmljsnxc] {
    border-color: rgba(152, 19, 27, 0.55);
    background: linear-gradient(180deg, rgba(152, 19, 27, 0.2), rgba(152, 19, 27, 0.08));
}

.setup-choice-card-secondary[b-qxrmljsnxc] {
    background: rgba(255, 255, 255, 0.02);
}

.setup-choice-card:hover[b-qxrmljsnxc],
.setup-choice-card:focus-visible[b-qxrmljsnxc] {
    border-color: var(--auth-input-border-hover);
    box-shadow: 0 0 0 3px rgba(152, 19, 27, 0.12);
    outline: none;
}

.setup-choice-card-primary:hover[b-qxrmljsnxc],
.setup-choice-card-primary:focus-visible[b-qxrmljsnxc] {
    border-color: rgba(152, 19, 27, 0.8);
    background: linear-gradient(180deg, rgba(152, 19, 27, 0.26), rgba(152, 19, 27, 0.1));
}

.setup-choice-card:disabled[b-qxrmljsnxc] {
    opacity: 0.7;
    cursor: not-allowed;
}

.setup-choice-badge[b-qxrmljsnxc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.45rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: var(--auth-tag-bg);
    color: var(--auth-tag-text);
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.setup-choice-title[b-qxrmljsnxc] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--auth-text);
}

.setup-choice-desc[b-qxrmljsnxc] {
    font-size: 0.88rem;
    color: var(--auth-text-muted);
    line-height: 1.5;
}

.setup-choice-note[b-qxrmljsnxc] {
    margin: 0;
    text-align: center;
    color: var(--auth-text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

/* ── Completion ──────────────────────────────────────────────────── */

.setup-complete-icon[b-qxrmljsnxc] {
    margin-bottom: 1rem;
}

.setup-completion-handoff[b-qxrmljsnxc] {
    align-items: center;
    text-align: center;
}

/* ── Responsive ──────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .setup-page-card[b-qxrmljsnxc] {
        padding: 1.5rem;
    }

    .setup-choice-cards[b-qxrmljsnxc] {
        gap: 0.75rem;
    }

    .setup-recovery-grid[b-qxrmljsnxc] {
        grid-template-columns: 1fr;
    }

    .setup-recovery-actions[b-qxrmljsnxc] {
        grid-template-columns: 1fr;
    }
}
