/* /Components/Account/Pages/Manage/Email.razor.rz.scp.css */
/* Out-of-band form that exists only to carry the antiforgery token for the
   "send verification email" button, because HTML forbids nested forms. It has
   no visible content, so it must not pick up the global `form` surface-card
   styling in app.css. */

.verification-form[b-7i0x10qkml] {
    display: contents;
}

.email-field[b-7i0x10qkml] {
    margin-bottom: var(--space-5);
}

.email-field .form-label[b-7i0x10qkml] {
    display: block;
    margin-bottom: var(--space-2);
    font-weight: 600;
}

.email-status[b-7i0x10qkml] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin: var(--space-2) 0 0;
    padding: var(--space-1) var(--space-3);
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
}

.email-status__icon[b-7i0x10qkml] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    font-size: .7rem;
    line-height: 1;
}

.email-status--verified[b-7i0x10qkml] {
    color: #4ade80;
    border-color: rgb(74 222 128 / 35%);
    background: rgb(74 222 128 / 12%);
}

.email-status--verified .email-status__icon[b-7i0x10qkml] {
    color: #0b1a10;
    background: #4ade80;
}

.email-status--pending[b-7i0x10qkml] {
    color: #fbbf24;
    border-color: rgb(251 191 36 / 35%);
    background: rgb(251 191 36 / 12%);
}

.email-status--pending .email-status__icon[b-7i0x10qkml] {
    color: #2a1d02;
    background: #fbbf24;
}

.email-status__action[b-7i0x10qkml] {
    display: block;
    margin-top: var(--space-2);
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
    color: var(--color-link, #f05a5a);
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.email-status__action:hover[b-7i0x10qkml] {
    background: none;
    text-decoration: none;
}
/* /Components/Account/Pages/Manage/EnableAuthenticator.razor.rz.scp.css */
/* The QR SVG is emitted with only a viewBox, so it would otherwise stretch to
   fill the container. Constrain it and keep the quiet zone white in dark mode,
   since scanners need the light/dark contrast to be the right way round. */

.qr-code[b-m1t3tdkapx] {
    width: 220px;
    max-width: 100%;
    padding: var(--space-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: #fff;
}

.qr-code[b-m1t3tdkapx]  svg {
    display: block;
    width: 100%;
    height: auto;
}
/* /Components/Account/Pages/Manage/ExternalLogins.razor.rz.scp.css */
/* Mobile: stack the provider name above its actions instead of the
   global horizontal-scroll table behavior. */

@media (max-width: 760px) {
    table.table[b-fytg5btmca] {
        display: block;
        overflow-x: visible;
        white-space: normal;
    }

    .table tbody[b-fytg5btmca],
    .table tr[b-fytg5btmca],
    .table td[b-fytg5btmca] {
        display: block;
        width: 100%;
    }

    .table tr[b-fytg5btmca] {
        margin-bottom: var(--space-4);
        padding: .5rem var(--space-4);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background: var(--color-surface-2);
    }

    .table td[b-fytg5btmca] {
        padding: .35rem 0;
        border: 0;
    }

    .table td:first-child[b-fytg5btmca] {
        font-weight: 600;
    }
}
/* /Components/Account/Pages/Manage/Passkeys.razor.rz.scp.css */
/* The global `form` rule in app.css renders this form as a bordered surface
   card but gives it no margin, so it sits flush against the passkey table
   above it. */

.passkey-add[b-jmmeld36vg] {
    margin-top: var(--space-4);
}

/* Mobile: stack the passkey name above its actions instead of the
   global horizontal-scroll table behavior. */

@media (max-width: 760px) {
    table.table[b-jmmeld36vg] {
        display: block;
        overflow-x: visible;
        white-space: normal;
    }

    .table tbody[b-jmmeld36vg],
    .table tr[b-jmmeld36vg],
    .table td[b-jmmeld36vg] {
        display: block;
        width: 100%;
    }

    .table tr[b-jmmeld36vg] {
        margin-bottom: var(--space-4);
        padding: .5rem var(--space-4);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background: var(--color-surface-2);
    }

    .table td[b-jmmeld36vg] {
        padding: .35rem 0;
        border: 0;
    }

    .table td:first-child[b-jmmeld36vg] {
        font-weight: 600;
    }
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.layout-grid[b-arxte9klcm] {
    display: block;
    width: min(100%, var(--content-width-wide));
    margin-inline: auto;
    padding: var(--space-6) var(--space-5) var(--space-8);
    flex: 1 0 auto;
}

.content[b-arxte9klcm] {
    min-width: 0;
}

@media (max-width: 860px) {
    .layout-grid[b-arxte9klcm] {
        padding: var(--space-5) var(--space-4) var(--space-7);
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.layout-grid[b-6kvmb8csno] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: var(--space-6);
    align-items: start;
    width: min(100%, var(--content-width));
    margin-inline: auto;
    padding: var(--space-6) var(--space-5) var(--space-8);
    flex: 1 0 auto;
}

.content[b-6kvmb8csno] {
    min-width: 0;
}

@media (max-width: 860px) {
    .layout-grid[b-6kvmb8csno] {
        grid-template-columns: 1fr;
        /* The grid stretches to fill the viewport, so let the content row swallow the slack
           and keep the sidebar row at its natural height, pinned just above the footer.
           Without this both rows stretch equally and the collapsed widgets bar floats in
           the middle of the empty space on short pages. */
        grid-template-rows: minmax(min-content, 1fr) auto;
        gap: var(--space-5);
        padding: var(--space-5) var(--space-4) var(--space-7);
    }

    /* On the homepage (marked by .news-front) the sidebar widgets
       (Seneste aktive emner / The Rusher Council) go before the content. */
    .layout-grid:has(.news-front) .content[b-6kvmb8csno] {
        order: 2;
    }

    /* ...which also swaps the rows, so the growing row has to swap with them. */
    .layout-grid:has(.news-front)[b-6kvmb8csno] {
        grid-template-rows: auto minmax(min-content, 1fr);
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-s96pppml8p],
.components-reconnect-repeated-attempt-visible[b-s96pppml8p],
.components-reconnect-failed-visible[b-s96pppml8p],
.components-reconnect-rejected-visible[b-s96pppml8p],
.components-pause-visible[b-s96pppml8p],
.components-resume-failed-visible[b-s96pppml8p],
.components-rejoining-animation[b-s96pppml8p] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-retrying[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-failed[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-rejected[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-rejected .components-reconnect-rejected-visible[b-s96pppml8p],
#components-reconnect-modal.components-reconnect-rejected .components-rejoining-animation[b-s96pppml8p] {
    display: block;
}

#components-reconnect-modal[b-s96pppml8p] {
    width: min(28rem, calc(100vw - 2rem));
    margin: 12vh auto;
    padding: 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background: linear-gradient(180deg, var(--color-surface-2), var(--color-surface));
    box-shadow: var(--shadow-soft), var(--shadow-glow);
    opacity: 0;
    transition: display 0.3s allow-discrete, overlay 0.3s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-s96pppml8p 0.5s both;
}

#components-reconnect-modal[open][b-s96pppml8p] {
    animation: components-reconnect-modal-slideUp-b-s96pppml8p 0.35s cubic-bezier(.2, .8, .25, 1), components-reconnect-modal-fadeInOpacity-b-s96pppml8p 0.25s ease-out;
    animation-fill-mode: both;
}

#components-reconnect-modal[b-s96pppml8p]::backdrop {
    background-color: color-mix(in srgb, var(--color-bg-deep) 68%, transparent);
    animation: components-reconnect-modal-fadeInOpacity-b-s96pppml8p 0.25s ease-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-s96pppml8p {
    0% {
        transform: translateY(18px) scale(0.985);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-s96pppml8p {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-s96pppml8p {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-s96pppml8p] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
}

.components-reconnect-title[b-s96pppml8p] {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.2;
    color: var(--color-text-strong);
}

.components-reconnect-description[b-s96pppml8p] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: .95rem;
    line-height: 1.4;
}

#components-reconnect-modal p[b-s96pppml8p] {
    margin: 0;
    text-align: left;
}

#components-reconnect-modal button[b-s96pppml8p] {
    width: 100%;
    border: 1px solid color-mix(in srgb, var(--color-brand) 40%, var(--color-border));
    background-color: var(--color-brand);
    color: var(--color-brand-ink);
    padding: .55rem .75rem;
    border-radius: var(--radius-sm);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

#components-reconnect-modal button:hover[b-s96pppml8p] {
    background-color: var(--color-brand-strong);
}

#components-reconnect-modal button:active[b-s96pppml8p] {
    transform: translateY(1px);
}

.components-rejoining-animation[b-s96pppml8p] {
    position: relative;
    width: 2rem;
    height: 2rem;
    margin: .15rem 0 .2rem;
}

.components-rejoining-animation div[b-s96pppml8p] {
    position: absolute;
    border: 2px solid var(--color-brand);
    opacity: 1;
    border-radius: 50%;
    animation: components-rejoining-animation-b-s96pppml8p 1.2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2)[b-s96pppml8p] {
    animation-delay: -0.4s;
}

@keyframes components-rejoining-animation-b-s96pppml8p {
    0% {
        top: 1rem;
        left: 1rem;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 1rem;
        left: 1rem;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 1rem;
        left: 1rem;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0;
        left: 0;
        width: 2rem;
        height: 2rem;
        opacity: 0;
    }
}

@media (max-width: 640px) {
    #components-reconnect-modal[b-s96pppml8p] {
        margin-top: 8vh;
        padding: 1rem;
    }
}
/* /Components/Layout/SiteChrome.razor.rz.scp.css */
.site-shell[b-n62zj4wwws] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--color-bg);
    color: var(--color-text);
}

.top-nav[b-n62zj4wwws] {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(0, 0, 0, .25);
    background: var(--header-bg);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}

.nav-inner[b-n62zj4wwws] {
    display: flex;
    align-items: center;
    gap: var(--space-5);
    width: min(100%, var(--content-width));
    margin-inline: auto;
    padding: 1rem var(--space-5);
}

.brand[b-n62zj4wwws] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: .01em;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1;
}

.brand:hover[b-n62zj4wwws] {
    color: #fff;
    opacity: .92;
}

.brand-logo[b-n62zj4wwws] {
    display: block;
    flex-shrink: 0;
    width: auto;
    max-width: none;
    height: 56px;
}

.nav-panel[b-n62zj4wwws] {
    display: flex;
    align-items: center;
    gap: var(--space-5);
    flex: 1;
}

.top-nav nav[b-n62zj4wwws],
.nav-actions[b-n62zj4wwws] {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.nav-quick-actions[b-n62zj4wwws] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    flex-wrap: nowrap;
}

.top-nav nav[b-n62zj4wwws]  a,
.top-nav nav a[b-n62zj4wwws] {
    position: relative;
    color: #fff;
    background: transparent;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .84rem;
    letter-spacing: .04em;
    border-radius: var(--radius-xs);
    padding: .55rem .7rem;
    transition: background-color .16s ease, color .16s ease;
}

.top-nav nav[b-n62zj4wwws]  a:hover,
.top-nav nav[b-n62zj4wwws]  a:focus-visible,
.top-nav nav a:hover[b-n62zj4wwws],
.top-nav nav a:focus-visible[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .22);
    color: #fff;
}

.top-nav nav[b-n62zj4wwws]  .nav-dot {
    position: absolute;
    top: .35rem;
    right: .28rem;
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: #3b82f6;
    box-shadow: 0 0 0 .1rem rgba(255, 255, 255, .55);
    pointer-events: none;
}

.top-nav nav[b-n62zj4wwws]  .nav-dot-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.nav-actions a[b-n62zj4wwws],
.nav-actions button[b-n62zj4wwws] {
    color: #fff;
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
    border-radius: var(--radius-xs);
    padding: .5rem .68rem;
    transition: background-color .16s ease, color .16s ease;
}

.nav-actions > a:hover[b-n62zj4wwws],
.nav-actions > a:focus-visible[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .22);
    color: #fff;
}

/* "Opret bruger" call to action stays a light chip on the red bar */
.button-link[b-n62zj4wwws] {
    border: 1px solid #fff !important;
    color: #fff !important;
    background: rgba(0, 0, 0, .18) !important;
    text-transform: uppercase !important;
    font-size: .84rem !important;
    letter-spacing: .04em !important;
}

.button-link:hover[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .32) !important;
    color: #fff !important;
}

.nav-actions[b-n62zj4wwws] {
    margin-left: auto;
}

.nav-actions[b-n62zj4wwws]  .nav-icon,
.nav-actions .nav-icon[b-n62zj4wwws] {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
}

.nav-actions .help-menu > summary[b-n62zj4wwws] {
    display: flex;
    align-items: center;
}

.nav-actions form[b-n62zj4wwws] {
    margin: 0;
}

.nav-search[b-n62zj4wwws] {
    display: flex;
    align-items: center;
    gap: .25rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

form.nav-search input[type="search"][b-n62zj4wwws] {
    width: 11rem;
    height: 2.2rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: #fff;
    color: #3a3a3a;
    padding: .4rem .6rem;
}

form.nav-search button[b-n62zj4wwws] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    height: 2.2rem;
    margin: 0;
    border: 0;
    border-radius: var(--radius-xs);
    background: transparent;
    color: #fff;
    padding: .3rem .45rem;
    font-weight: 400;
    box-shadow: none;
}

form.nav-search button:hover[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .22);
    color: #fff;
    transform: none;
    box-shadow: none;
}

.user-menu[b-n62zj4wwws] {
    position: relative;
}

.help-menu[b-n62zj4wwws] {
    position: relative;
}

.help-menu > summary[b-n62zj4wwws] {
    position: relative;
    list-style: none;
    cursor: pointer;
    color: #fff;
    border-radius: var(--radius-xs);
    padding: .5rem .68rem;
    white-space: nowrap;
    line-height: 1;
    transition: background-color .16s ease;
}

.help-menu > summary[b-n62zj4wwws]::-webkit-details-marker {
    display: none;
}

.help-menu > summary:hover[b-n62zj4wwws],
.help-menu[open] > summary[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .22);
}

.help-menu .nav-dot[b-n62zj4wwws] {
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: #3b82f6;
    pointer-events: none;
}

.help-menu > summary .nav-dot[b-n62zj4wwws] {
    position: absolute;
    top: .3rem;
    right: .35rem;
    box-shadow: 0 0 0 .1rem rgba(255, 255, 255, .55);
}

.help-menu__panel .nav-dot[b-n62zj4wwws] {
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: .5rem;
    background-clip: content-box;
    box-sizing: content-box;
}

.nav-icon-link[b-n62zj4wwws] {
    display: inline-flex;
    align-items: center;
    color: #fff;
    border-radius: var(--radius-xs);
    padding: .5rem .68rem;
    line-height: 1;
    text-decoration: none;
    transition: background-color .16s ease;
}

.nav-icon-link:hover[b-n62zj4wwws],
.nav-icon-link:focus-visible[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .22);
    color: #fff;
}

.help-menu__panel[b-n62zj4wwws] {
    position: absolute;
    top: calc(100% + .4rem);
    right: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    min-width: 12rem;
    padding: .35rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 35%);
}

.help-menu__panel p[b-n62zj4wwws] {
    margin: .2rem .35rem .35rem;
    color: var(--color-text-muted);
    font-size: .82rem;
}

.nav-actions .help-menu__panel a[b-n62zj4wwws] {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 0;
    margin: 0;
    border-radius: var(--radius-xs);
    padding: .55rem .7rem;
    background: transparent;
    color: var(--color-text-strong);
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
}

.nav-actions .help-menu__panel a:hover[b-n62zj4wwws] {
    background: var(--color-surface-2);
    color: var(--color-text-strong);
}

.user-menu > summary[b-n62zj4wwws] {
    list-style: none;
    cursor: pointer;
    color: #fff;
    border-radius: var(--radius-xs);
    padding: .5rem .68rem;
    white-space: nowrap;
    transition: background-color .16s ease;
}

.user-menu > summary[b-n62zj4wwws]::-webkit-details-marker {
    display: none;
}

.user-menu > summary:hover[b-n62zj4wwws],
.user-menu[open] > summary[b-n62zj4wwws] {
    background: rgba(0, 0, 0, .22);
}

.user-menu__caret[b-n62zj4wwws] {
    font-size: .7em;
    opacity: .85;
}

.user-menu__panel[b-n62zj4wwws] {
    position: absolute;
    top: calc(100% + .4rem);
    right: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    min-width: 11rem;
    padding: .35rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 35%);
}

.nav-actions .user-menu__panel a[b-n62zj4wwws],
.nav-actions .user-menu__panel button[b-n62zj4wwws] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5rem;
    width: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: var(--radius-xs);
    padding: .55rem .7rem;
    background: transparent;
    color: var(--color-text-strong);
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
}

.nav-actions .user-menu__panel a:hover[b-n62zj4wwws],
.nav-actions .user-menu__panel button:hover[b-n62zj4wwws] {
    background: var(--color-surface-2);
    color: var(--color-text-strong);
    transform: none;
    box-shadow: none;
}

.user-menu__panel form[b-n62zj4wwws] {
    margin: 0;
}

.site-footer[b-n62zj4wwws] {
    background: var(--footer-bg);
    color: #fff;
}

.site-footer .footer-credit[b-n62zj4wwws] {
    width: min(100%, var(--content-width));
    margin: 0 auto;
    padding: var(--space-4) var(--space-5);
    text-align: center;
    font-style: italic;
    font-size: .85rem;
}

.site-footer .footer-credit a[b-n62zj4wwws] {
    color: #fff;
    text-decoration: underline;
}

.cookie-banner[b-n62zj4wwws] {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-5);
    background: rgba(20, 20, 20, .95);
    color: #fff;
    font-size: .88rem;
}

.cookie-banner[hidden][b-n62zj4wwws] {
    display: none;
}

.cookie-banner p[b-n62zj4wwws] {
    margin: 0;
}

.cookie-banner a[b-n62zj4wwws] {
    color: #fff;
    text-decoration: underline;
}

.cookie-banner button[b-n62zj4wwws] {
    padding: .3rem 1.2rem;
    border: none;
    border-radius: 4px;
    background: var(--color-brand);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.nav-toggle[b-n62zj4wwws],
.nav-toggle-button[b-n62zj4wwws],
.nav-mobile-bell[b-n62zj4wwws] {
    display: none;
}

@media (max-width: 860px) {
    .nav-inner[b-n62zj4wwws] {
        flex-wrap: wrap;
        gap: var(--space-3);
        padding-inline: var(--space-4);
    }

    .nav-mobile-bell[b-n62zj4wwws] {
        display: block;
        margin-left: auto;
    }

    .nav-toggle-button[b-n62zj4wwws] {
        position: relative;
        display: inline-flex;
        align-items: center;
        margin-left: 0;
        border: 1px solid rgba(255, 255, 255, .6);
        border-radius: var(--radius-xs);
        padding: .5rem .7rem;
        color: #fff;
        background: rgba(0, 0, 0, .18);
        text-transform: uppercase;
        font-weight: 600;
        font-size: .84rem;
        cursor: pointer;
    }

    .nav-toggle-button[b-n62zj4wwws]  .nav-dot {
        position: absolute;
        top: -.15rem;
        right: -.15rem;
        width: .55rem;
        height: .55rem;
        border-radius: 50%;
        background: #3b82f6;
        box-shadow: 0 0 0 .1rem rgba(255, 255, 255, .55);
        pointer-events: none;
    }

    .nav-toggle-button[b-n62zj4wwws]  .nav-dot-sr {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* When the menu is open the real badge/dots are visible inside it. */
    .nav-toggle:checked ~ .nav-toggle-button[b-n62zj4wwws]  .nav-dot {
        display: none;
    }

    .nav-panel[b-n62zj4wwws] {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-2);
        padding: var(--space-3) 0;
    }

    .nav-toggle:checked ~ .nav-panel[b-n62zj4wwws] {
        display: flex;
    }

    .top-nav nav[b-n62zj4wwws],
    .nav-actions[b-n62zj4wwws] {
        align-items: stretch;
        flex-direction: column;
        margin-left: 0;
    }

    .nav-quick-actions[b-n62zj4wwws] {
        position: relative;
        display: flex;
        align-items: center;
        gap: .3rem;
        width: 100%;
    }

    /* The bell lives in the top bar on mobile; hide the in-menu instance. */
    .nav-quick-actions[b-n62zj4wwws]  .notification-menu {
        display: none;
    }

    .nav-search[b-n62zj4wwws] {
        width: 100%;
    }

    .nav-search input[b-n62zj4wwws] {
        flex: 1;
        width: auto;
    }

    .user-menu__panel[b-n62zj4wwws] {
        position: static;
        min-width: 0;
        box-shadow: none;
    }

    .help-menu__panel[b-n62zj4wwws] {
        position: static;
        min-width: 0;
        box-shadow: none;
    }
}
/* /Features/Account/SigninPromptModal.razor.rz.scp.css */
.signin-prompt__overlay[b-3q7mvuk6o0] {
    position: fixed;
    inset: 0;
    z-index: 1002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    background: rgba(0, 0, 0, .6);
}

.signin-prompt[b-3q7mvuk6o0] {
    position: relative;
    max-width: 26rem;
    padding: var(--space-5) var(--space-5) var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .5);
}

.signin-prompt__close[b-3q7mvuk6o0] {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 1rem;
    cursor: pointer;
}

.signin-prompt__close:hover[b-3q7mvuk6o0] {
    color: var(--color-text-strong);
}

.signin-prompt__title[b-3q7mvuk6o0] {
    margin: 0 0 var(--space-3);
    color: var(--color-text-strong);
    font-size: 1.2rem;
}

.signin-prompt__gif[b-3q7mvuk6o0] {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 var(--space-3);
    border-radius: var(--radius-xs);
}

.signin-prompt__text[b-3q7mvuk6o0] {
    margin: 0 0 var(--space-4);
    font-size: .95rem;
}

.signin-prompt__actions[b-3q7mvuk6o0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
}

.signin-prompt__login[b-3q7mvuk6o0],
.signin-prompt__register[b-3q7mvuk6o0] {
    padding: .3rem 1.2rem;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
}

.signin-prompt__login[b-3q7mvuk6o0] {
    background: var(--color-brand);
    color: var(--color-brand-ink);
}

.signin-prompt__login:hover[b-3q7mvuk6o0] {
    background: var(--color-brand-strong);
}

.signin-prompt__register[b-3q7mvuk6o0] {
    border: 1px solid var(--color-border-strong);
    color: var(--color-text-strong);
}

.signin-prompt__dismiss[b-3q7mvuk6o0] {
    margin-left: auto;
    padding: .3rem .6rem;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    font-size: .9rem;
    cursor: pointer;
}

.signin-prompt__dismiss:hover[b-3q7mvuk6o0] {
    color: var(--color-text-strong);
}

@media (max-width: 480px) {
    .signin-prompt[b-3q7mvuk6o0] {
        max-width: none;
        width: 100%;
    }
}
/* /Features/Admin/AdminAppLog.razor.rz.scp.css */
.applog__filters[b-h7kwf7419o] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--space-3) var(--space-4);
    background: var(--color-surface);
}

.applog__filters label[b-h7kwf7419o] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    color: var(--color-text-muted);
    font-size: .82rem;
}

.applog__filters select[b-h7kwf7419o],
.applog__filters input[b-h7kwf7419o] {
    min-width: 10rem;
    font-size: .9rem;
}

.applog__filter-category input[b-h7kwf7419o] {
    min-width: 18rem;
}

.applog__filter-actions[b-h7kwf7419o] {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-left: auto;
}

.applog__count[b-h7kwf7419o] {
    color: var(--color-text-muted);
    font-size: .85rem;
    white-space: nowrap;
}

.applog__reset[b-h7kwf7419o] {
    min-height: 0;
    margin: 0;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-xs);
    padding: .35rem .7rem;
    background: var(--color-surface);
    color: var(--color-text-strong);
    font: inherit;
    font-size: .85rem;
    cursor: pointer;
    box-shadow: none;
}

.applog__reset:hover[b-h7kwf7419o] {
    background: var(--color-surface-2);
    transform: none;
    box-shadow: none;
}

.applog__empty[b-h7kwf7419o] {
    margin: 0;
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-sm);
    padding: var(--space-5);
    color: var(--color-text-muted);
    text-align: center;
}

/* The log pane stays dark in both themes: it mirrors a terminal, and the ANSI-ish
   level colours below are tuned for a dark background. */
.applog__output[b-h7kwf7419o] {
    max-height: 600px;
    margin: 0;
    overflow: auto;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    padding: var(--space-4);
    background: #14161a;
    color: #dfe3e8;
    font-size: .8rem;
    line-height: 1.45;
    white-space: pre;
    tab-size: 4;
}

.applog__line--debug[b-h7kwf7419o] {
    color: #9aa4b1;
}

.applog__line--info[b-h7kwf7419o] {
    color: #6fb3f2;
}

.applog__line--warning[b-h7kwf7419o] {
    color: #f0b849;
}

.applog__line--error[b-h7kwf7419o] {
    color: #ff7b72;
    font-weight: 600;
}

@media (max-width: 760px) {
    .applog__filters[b-h7kwf7419o] {
        flex-direction: column;
        align-items: stretch;
    }

    .applog__filter-category input[b-h7kwf7419o],
    .applog__filters select[b-h7kwf7419o],
    .applog__filters input[b-h7kwf7419o] {
        min-width: 0;
        width: 100%;
    }

    .applog__filter-actions[b-h7kwf7419o] {
        margin-left: 0;
        justify-content: space-between;
    }

    .applog__output[b-h7kwf7419o] {
        white-space: pre-wrap;
        word-break: break-word;
    }
}
/* /Features/Admin/AdminDashboard.razor.rz.scp.css */
/* ---- Stat cards ---- */

.admin-stats[b-k60kq2apxq] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .75rem;
    margin: 1.25rem 0 1.75rem;
}

.admin-stats article[b-k60kq2apxq] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .9rem 1rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    transition: transform .12s ease, border-color .12s ease;
}

.admin-stats article:hover[b-k60kq2apxq] {
    transform: translateY(-2px);
    border-color: var(--color-border-strong);
}

.admin-stats strong[b-k60kq2apxq] {
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1.1;
    color: var(--color-text-strong);
}

.admin-stats span[b-k60kq2apxq] {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-muted);
}

.admin-stats article.stat-alert[b-k60kq2apxq] {
    border-color: var(--color-brand);
    box-shadow: var(--shadow-glow);
}

.admin-stats article.stat-alert strong[b-k60kq2apxq] {
    color: var(--color-brand-strong);
}

/* ---- Activity panels ---- */

.admin-columns[b-k60kq2apxq] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 1rem;
    align-items: start;
}

.admin-side[b-k60kq2apxq] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.admin-panel[b-k60kq2apxq] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 1rem 1.15rem 1.15rem;
}

.admin-panel header[b-k60kq2apxq] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .6rem;
}

.admin-panel h2[b-k60kq2apxq] {
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 0;
}

.admin-panel header a[b-k60kq2apxq] {
    font-size: .8rem;
    white-space: nowrap;
    color: var(--color-text-muted);
}

.admin-panel header a:hover[b-k60kq2apxq] {
    color: var(--color-link-hover);
}

.admin-empty[b-k60kq2apxq] {
    color: var(--color-text-muted);
    margin: 0;
}

/* ---- Audit table ---- */

.admin-table[b-k60kq2apxq] {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: .85rem;
}

.admin-table th:nth-child(1)[b-k60kq2apxq] { width: 6.8rem; }
.admin-table th:nth-child(2)[b-k60kq2apxq] { width: 30%; }
.admin-table th:nth-child(3)[b-k60kq2apxq] { width: 22%; }

.admin-table th[b-k60kq2apxq] {
    text-align: left;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
    padding: .3rem .5rem;
    border-bottom: 1px solid var(--color-border);
}

.admin-table td[b-k60kq2apxq] {
    padding: .35rem .5rem;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-table tbody tr:last-child td[b-k60kq2apxq] {
    border-bottom: none;
}

.admin-table code[b-k60kq2apxq] {
    font-size: .8rem;
    background: var(--color-bg-deep);
    padding: .1rem .35rem;
    border-radius: var(--radius-xs);
}

.admin-time[b-k60kq2apxq],
.admin-entity[b-k60kq2apxq] {
    white-space: nowrap;
    color: var(--color-text-muted);
}

/* ---- Recent lists ---- */

.admin-list[b-k60kq2apxq] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.admin-list li[b-k60kq2apxq] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .45rem 0;
    border-bottom: 1px solid var(--color-border);
}

.admin-list li:last-child[b-k60kq2apxq] {
    border-bottom: none;
}

.admin-meta[b-k60kq2apxq] {
    font-size: .78rem;
    color: var(--color-text-muted);
}

/* ---- Shortcut tiles ---- */

.admin-shortcuts-heading[b-k60kq2apxq] {
    margin-top: 1.75rem;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.admin-links[b-k60kq2apxq] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .75rem;
    margin-top: .75rem;
}

.admin-links a[b-k60kq2apxq] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: .9rem 1rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: transform .12s ease, border-color .12s ease;
}

.admin-links a:hover[b-k60kq2apxq] {
    transform: translateY(-2px);
    border-color: var(--color-brand);
}

.admin-links strong[b-k60kq2apxq] {
    color: var(--color-text-strong);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .9rem;
}

.admin-links span[b-k60kq2apxq] {
    font-size: .8rem;
    color: var(--color-text-muted);
}

/* ---- Responsive ---- */

@media (max-width: 900px) {
    .admin-columns[b-k60kq2apxq] {
        grid-template-columns: 1fr;
    }
}
/* /Features/Admin/AdminForum.razor.rz.scp.css */
/* ---- Page header ---- */

h1[b-v6z5yw0l7b] {
    font-family: var(--font-display);
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: .25rem;
}

p[b-v6z5yw0l7b] {
    color: var(--color-text-muted);
    margin-top: 0;
}

h2[b-v6z5yw0l7b] {
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 1.5rem 0 .6rem;
}

/* ---- Status message ---- */

.status-msg[b-v6z5yw0l7b] {
    padding: .6rem 1rem;
    margin-bottom: 1rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    background: var(--color-surface-2);
    font-size: .9rem;
    color: var(--color-text-strong);
}

/* ---- Create / edit forms ---- */

.create-form[b-v6z5yw0l7b] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: flex-end;
    padding: .85rem 1rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
}

.create-form input[b-v6z5yw0l7b],
.create-form select[b-v6z5yw0l7b] {
    flex: 1 1 10rem;
    min-width: 0;
    padding: .45rem .65rem;
    font-size: .9rem;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-strong);
    width: auto;
}

.create-form input[type="number"][b-v6z5yw0l7b] {
    flex: 0 0 5rem;
}

.create-form label[b-v6z5yw0l7b] {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .9rem;
    white-space: nowrap;
    cursor: pointer;
}

.create-form label input[type="checkbox"][b-v6z5yw0l7b] {
    flex: 0 0 auto;
    width: auto;
}

.create-form button[b-v6z5yw0l7b] {
    white-space: nowrap;
}

/* ---- Inline inputs inside grid cells ---- */

.admin-inline-input[b-v6z5yw0l7b] {
    width: 100%;
    padding: .35rem .5rem;
    font-size: .85rem;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xs);
    color: var(--color-text-strong);
    min-width: 0;
    transition: border-color .12s ease;
}

.admin-inline-input:focus[b-v6z5yw0l7b] {
    outline: none;
    border-color: var(--color-brand);
}

.admin-inline-number[b-v6z5yw0l7b] {
    text-align: center;
}

/* ---- Action buttons in grid rows ---- */

.action-cell[b-v6z5yw0l7b] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    white-space: nowrap;
}

.action-cell button[b-v6z5yw0l7b] {
    font-size: .8rem;
    padding: .3rem .6rem;
}

/* ---- Access panel ---- */

.admin-forum-access-panel[b-v6z5yw0l7b] {
    padding: 1rem 1.25rem 1.25rem;
    margin-top: 1rem;
    border: 1px solid var(--color-border);
    border-left: 3px solid var(--color-brand);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
}

.admin-forum-access-panel h3[b-v6z5yw0l7b] {
    font-size: .95rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0 0 .75rem;
}

.admin-access-matrix[b-v6z5yw0l7b] {
    width: auto;
    margin-bottom: .75rem;
    font-size: .88rem;
    border-collapse: collapse;
}

.admin-access-matrix th[b-v6z5yw0l7b] {
    text-align: left;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
    padding: .3rem .75rem .3rem 0;
    border-bottom: 1px solid var(--color-border);
}

.admin-access-matrix td[b-v6z5yw0l7b] {
    padding: .3rem .75rem .3rem 0;
    border-bottom: 1px solid var(--color-border);
    vertical-align: middle;
}

.admin-access-matrix tbody tr:last-child td[b-v6z5yw0l7b] {
    border-bottom: none;
}

.admin-access-matrix input[type="checkbox"][b-v6z5yw0l7b] {
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
}

.access-actions[b-v6z5yw0l7b] {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}
/* /Features/Admin/AdminUserDetail.razor.rz.scp.css */
/* ---- Page header ---- */

.admin-user-detail[b-chf6p14kcj]  .admin-back {
    margin: 0 0 1rem;
    font-size: .9rem;
}

.admin-user-detail[b-chf6p14kcj]  .admin-back a {
    color: var(--color-text-muted);
    text-decoration: none;
}

.admin-user-detail[b-chf6p14kcj]  .admin-back a:hover {
    color: var(--color-link-hover);
}

.admin-user-detail[b-chf6p14kcj]  .user-hero {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.admin-user-detail[b-chf6p14kcj]  .user-hero__avatar {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.admin-user-detail[b-chf6p14kcj]  .user-hero__body {
    min-width: 0;
}

.admin-user-detail[b-chf6p14kcj]  .user-hero .admin-intro {
    margin: 0 0 .5rem;
}

.admin-user-detail[b-chf6p14kcj]  .badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.admin-user-detail[b-chf6p14kcj]  .badge-ok {
    border-color: color-mix(in srgb, var(--color-success) 48%, transparent);
    background: color-mix(in srgb, var(--color-success) 18%, transparent);
}

.admin-user-detail[b-chf6p14kcj]  .badge-warning {
    border-color: color-mix(in srgb, var(--color-warning) 48%, transparent);
    background: color-mix(in srgb, var(--color-warning) 18%, transparent);
}

.admin-user-detail[b-chf6p14kcj]  .badge-danger {
    border-color: color-mix(in srgb, var(--color-danger) 50%, transparent);
    background: color-mix(in srgb, var(--color-danger) 18%, transparent);
}

.admin-user-detail[b-chf6p14kcj]  .admin-notice {
    padding: .8rem 1rem;
    border: 1px solid var(--color-border);
    border-left: 3px solid var(--color-brand);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    color: var(--color-text-strong);
}

/* ---- Panels ---- */

.admin-user-detail[b-chf6p14kcj]  .admin-panel {
    padding: 1rem 1.15rem 1.15rem;
    margin-bottom: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
}

.admin-user-detail[b-chf6p14kcj]  .admin-panel > header {
    margin-bottom: .75rem;
}

.admin-user-detail[b-chf6p14kcj]  .admin-panel h2 {
    margin: 0;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* Global styling turns every form into a bordered card; inside a panel that
   would nest two boxes, so flatten forms here. */
.admin-user-detail[b-chf6p14kcj]  .admin-panel form {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.admin-user-detail[b-chf6p14kcj]  .panel-subsection {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

.admin-user-detail[b-chf6p14kcj]  .panel-subsection h3 {
    margin: 0 0 .6rem;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
}

.admin-user-detail[b-chf6p14kcj]  .panel-hint {
    max-width: 70ch;
    margin: 0 0 .6rem;
    font-size: .9rem;
    color: var(--color-text-muted);
}

.admin-user-detail[b-chf6p14kcj]  .panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .75rem 0 0;
}

.admin-user-detail[b-chf6p14kcj]  .admin-panel--danger {
    border-color: color-mix(in srgb, var(--color-danger) 45%, transparent);
    border-left: 3px solid var(--color-danger);
}

.admin-user-detail[b-chf6p14kcj]  .admin-panel--danger h2 {
    color: var(--color-danger-text);
}

/* ---- Overview ---- */

.admin-user-detail[b-chf6p14kcj]  .detail-list {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
    gap: .45rem 1rem;
    margin: 0;
}

.admin-user-detail[b-chf6p14kcj]  .detail-list dt {
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-muted);
}

.admin-user-detail[b-chf6p14kcj]  .detail-list dd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 0;
    color: var(--color-text-strong);
}

/* ---- Roles ---- */

.admin-user-detail[b-chf6p14kcj]  .role-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-user-detail[b-chf6p14kcj]  .role-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: .55rem .7rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    font-weight: 600;
    cursor: pointer;
    transition: border-color .12s ease;
}

.admin-user-detail[b-chf6p14kcj]  .role-item:hover {
    border-color: var(--color-brand);
}

.admin-user-detail[b-chf6p14kcj]  .role-item input {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
}

.admin-user-detail[b-chf6p14kcj]  .role-item--locked,
.admin-user-detail[b-chf6p14kcj]  .role-item--locked input {
    cursor: not-allowed;
}

.admin-user-detail[b-chf6p14kcj]  .role-item--locked {
    opacity: .55;
}

.admin-user-detail[b-chf6p14kcj]  .role-item--locked:hover {
    border-color: var(--color-border);
}

/* ---- Notification preferences ---- */

.admin-user-detail[b-chf6p14kcj]  .notification-preferences .preference-name {
    display: block;
    font-weight: 600;
}

/* ---- Responsive ---- */

@media (max-width: 760px) {
    .admin-user-detail[b-chf6p14kcj]  .detail-list {
        grid-template-columns: 1fr;
        gap: .1rem;
    }

    .admin-user-detail[b-chf6p14kcj]  .detail-list dd {
        margin-bottom: .55rem;
    }

    .admin-user-detail[b-chf6p14kcj]  table.notification-preferences {
        display: block;
        overflow-x: visible;
        white-space: normal;
    }

    .admin-user-detail[b-chf6p14kcj]  .notification-preferences thead {
        display: none;
    }

    .admin-user-detail[b-chf6p14kcj]  .notification-preferences tbody,
    .admin-user-detail[b-chf6p14kcj]  .notification-preferences tr,
    .admin-user-detail[b-chf6p14kcj]  .notification-preferences td {
        display: block;
        width: 100%;
    }

    .admin-user-detail[b-chf6p14kcj]  .notification-preferences tr {
        margin-bottom: var(--space-4);
        padding: var(--space-4);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
    }

    .admin-user-detail[b-chf6p14kcj]  .notification-preferences td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-4);
        padding: .35rem 0;
        border: 0;
    }

    .admin-user-detail[b-chf6p14kcj]  .notification-preferences td.preference-type {
        display: block;
        margin-bottom: .35rem;
        padding-bottom: .5rem;
        border-bottom: 1px solid var(--color-border);
    }

    .admin-user-detail[b-chf6p14kcj]  .notification-preferences td[data-label]::before {
        content: attr(data-label);
    }
}
/* /Features/Admin/AdminUsers.razor.rz.scp.css */
.admin-tabs[b-e2vubj9t5b] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: var(--space-4);
    border-bottom: 1px solid var(--color-border);
}

.admin-tabs a[b-e2vubj9t5b] {
    padding: .5rem .9rem;
    border-bottom: 2px solid transparent;
    color: var(--color-text-muted);
    font-weight: 600;
    text-decoration: none;
}

.admin-tabs a:hover[b-e2vubj9t5b] {
    color: var(--color-text-strong);
}

.admin-tabs a.active[b-e2vubj9t5b] {
    color: var(--color-text-strong);
    border-bottom-color: var(--color-brand);
}

.admin-tabs__count[b-e2vubj9t5b] {
    display: inline-block;
    margin-left: .3rem;
    padding: .05rem .45rem;
    border-radius: 999px;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    font-size: .75rem;
    font-weight: 500;
}
/* /Features/Council/TheRusherCouncil.razor.rz.scp.css */
.trc-section-title[b-hq9ozxw7j9] {
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 1.25rem 0 0;
}
/* /Features/Forum/ForumPage.razor.rz.scp.css */
/* Mobile: collapse the topic list into stacked cards so no column
   is hidden behind the global table overflow-x scroll rule. */

@media (max-width: 760px) {
    table.forum-topic-list[b-3bzorwc8nt] {
        display: block;
        overflow-x: visible;
        white-space: normal;
    }

    .forum-topic-list thead[b-3bzorwc8nt] {
        display: none;
    }

    .forum-topic-list tbody[b-3bzorwc8nt],
    .forum-topic-list tr[b-3bzorwc8nt],
    .forum-topic-list td[b-3bzorwc8nt] {
        display: block;
        width: 100%;
    }

    .forum-topic-list tr[b-3bzorwc8nt] {
        margin-bottom: var(--space-4);
        padding: .35rem var(--space-4);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background: var(--color-surface-2);
    }

    .forum-topic-list td[b-3bzorwc8nt] {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: .5rem;
        padding: .4rem 0;
        border-bottom: 1px solid var(--color-border);
    }

    .forum-topic-list tr td:last-child[b-3bzorwc8nt] {
        border-bottom: 0;
    }

    .forum-topic-list td.topic-title[b-3bzorwc8nt] {
        display: block;
        padding: .55rem 0;
        font-size: 1.05rem;
    }

    .forum-topic-list td[data-label][b-3bzorwc8nt]::before {
        content: attr(data-label);
        flex: 0 0 7rem;
        font-size: .75rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }
}
/* /Features/Forum/SubscriptionsPage.razor.rz.scp.css */
.subscription-list[b-4qki73tl0y] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.subscription-list li[b-4qki73tl0y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
    padding: var(--space-2) 0;
}

.subscription-list li a[b-4qki73tl0y] {
    flex: 1 1 auto;
    min-width: 0;
}
/* /Features/Forum/TopicReplies.razor.rz.scp.css */
/* News topics render the linked article in place of the generated reply #0 stub;
   it reads as page content, not as a card. */
.news-topic-article[b-1t0c536t76] {
    margin-bottom: var(--space-5);
}

.news-topic-article[b-1t0c536t76]  .news-hero {
    max-height: 20rem;
    margin-bottom: var(--space-4);
}

.news-topic-article[b-1t0c536t76]  .news-meta {
    margin-top: 0;
}

/* Reactions for the article live on its reply #0, so the strip sits under the article
   instead of inside a reply card. It borrows .reply-actions from the global stylesheet
   for the icon-button reset, and only adds spacing here. */
.news-topic-article__reactions[b-1t0c536t76] {
    /* Flush with the right edge of the reply cards below. */
    justify-content: flex-end;
    margin-top: var(--space-2);
    margin-bottom: var(--space-5);
}

.news-topic-article .news-topic-article__reactions[b-1t0c536t76] {
    /* The section already carries the gap to the replies below. */
    margin-bottom: 0;
}

/* Outside a reply card the picker has no card to sit on top of, so lift it above the
   replies below. */
.news-topic-article__reactions .reaction-picker[b-1t0c536t76] {
    position: relative;
    z-index: 20;
}

@media (max-width: 48rem) {
    .news-topic-article[b-1t0c536t76]  .news-hero {
        max-height: 12rem;
    }
}

/* Submit row under the reply editor: right-aligned with breathing room, since the
   editor's own grid gap does not apply outside the component. */
.reply-form__actions[b-1t0c536t76] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--space-4);
}

.edit-history__overlay[b-1t0c536t76] {
    position: fixed;
    inset: 0;
    z-index: 1002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    background: rgba(0, 0, 0, .6);
}

.edit-history[b-1t0c536t76] {
    position: relative;
    width: 100%;
    max-width: 44rem;
    max-height: 85vh;
    overflow-y: auto;
    padding: var(--space-5) var(--space-5) var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .5);
}

.edit-history__close[b-1t0c536t76] {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 1rem;
    cursor: pointer;
}

.edit-history__close:hover[b-1t0c536t76] {
    color: var(--color-text-strong);
}

.edit-history__title[b-1t0c536t76] {
    margin: 0 0 var(--space-3);
    color: var(--color-text-strong);
    font-size: 1.1rem;
}

.edit-history__revision[b-1t0c536t76] {
    margin: 0 0 var(--space-4);
    padding-top: var(--space-3);
    border-top: 1px solid var(--color-border);
}

.edit-history__meta[b-1t0c536t76] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
    color: var(--color-text-muted);
    font-size: .85rem;
}

.edit-history__reason[b-1t0c536t76] {
    font-style: italic;
}

.edit-history__previous-title[b-1t0c536t76] {
    margin: 0 0 var(--space-2);
    font-size: .9rem;
}

.edit-history__body[b-1t0c536t76] {
    margin: 0;
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xs);
    background: var(--color-surface-muted, rgba(0, 0, 0, .15));
    font-size: .85rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
/* /Features/Messaging/ConversationList.razor.rz.scp.css */
/* Conversation list: one card per conversation, unread rows carry a brand accent. */

.pm-toolbar[b-hi6vs6rmvd] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-3);
}

.pm-list[b-hi6vs6rmvd] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.pm-list__row[b-hi6vs6rmvd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-3);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.pm-list__row:hover[b-hi6vs6rmvd] {
    border-color: var(--color-border-strong);
}

.pm-list__row--unread[b-hi6vs6rmvd] {
    border-left: 3px solid var(--color-brand);
}

.pm-list__link[b-hi6vs6rmvd] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex: 1 1 auto;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.pm-list__avatars[b-hi6vs6rmvd] {
    display: flex;
    flex: 0 0 auto;
}

/* Group conversations stack their avatars slightly, like a chat app. */
.pm-list__avatars[b-hi6vs6rmvd]  .pm-avatar + .pm-avatar {
    margin-left: -.75rem;
}

.pm-list__avatars[b-hi6vs6rmvd]  .pm-avatar {
    /* Sized to roughly match the three text lines next to it. */
    width: 4.25rem;
    height: 4.25rem;
    border-radius: var(--radius-sm);
    object-fit: cover;
    border: 2px solid var(--color-surface);
    background: var(--color-surface);
}

.pm-list__main[b-hi6vs6rmvd] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pm-list__title[b-hi6vs6rmvd] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--color-text-strong);
}

.pm-list__participants[b-hi6vs6rmvd] {
    color: var(--color-text);
}

.pm-list__snippet[b-hi6vs6rmvd] {
    color: var(--color-text-muted);
    font-size: .9em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Destructive action stays quiet until the user reaches for it. */
.pm-list__delete[b-hi6vs6rmvd] {
    flex: 0 0 auto;
    opacity: .5;
    transition: opacity .15s ease;
}

.pm-list__row:hover .pm-list__delete[b-hi6vs6rmvd],
.pm-list__delete:focus-visible[b-hi6vs6rmvd] {
    opacity: 1;
}

.pm-empty[b-hi6vs6rmvd] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-muted);
}

.pm-empty p[b-hi6vs6rmvd] {
    margin: 0;
}
/* /Features/Messaging/ConversationThread.razor.rz.scp.css */
/* Conversation thread laid out like a chat: incoming messages hug the left, your own hug the
   right and carry the brand colour, so the two sides are impossible to mix up. */

.pm-thread__head[b-jtty8aujzr] {
    margin-bottom: var(--space-5);
}

.pm-thread__participants[b-jtty8aujzr] {
    margin: var(--space-1) 0 0;
    font-size: 1.05rem;
    color: var(--color-text);
}

.pm-thread__participants-label[b-jtty8aujzr] {
    color: var(--color-text-muted);
    margin-right: var(--space-1);
}

.pm-thread__participants a[b-jtty8aujzr] {
    color: var(--color-text-strong);
    font-weight: 700;
    text-decoration: none;
}

.pm-thread__participants a:hover[b-jtty8aujzr],
.pm-thread__participants a:focus-visible[b-jtty8aujzr] {
    text-decoration: underline;
}

.pm-thread__participant[b-jtty8aujzr] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--color-text-strong);
    font-weight: 700;
    text-decoration: none;
    vertical-align: middle;
}

a.pm-thread__participant:hover[b-jtty8aujzr],
a.pm-thread__participant:focus-visible[b-jtty8aujzr] {
    text-decoration: underline;
}

.pm-thread__participant[b-jtty8aujzr]  .pm-avatar {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--radius-xs);
    object-fit: cover;
}

.pm-messages[b-jtty8aujzr] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

.pm-message[b-jtty8aujzr] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
    /* Keep anchored messages (#besked-n) clear of the sticky site header. */
    scroll-margin-top: 6.0rem;
}

.pm-message:target .pm-message__bubble[b-jtty8aujzr] {
    border-color: var(--color-brand);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-brand) 45%, transparent);
}

.pm-message[b-jtty8aujzr]  .pm-message__avatar {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--radius-sm);
    object-fit: cover;
    flex: 0 0 auto;
}

.pm-message--other[b-jtty8aujzr] {
    justify-content: flex-start;
}

.pm-message--own[b-jtty8aujzr] {
    /* Own avatar sits on the right-hand edge, mirroring the bubble. With row-reverse the main
       axis starts at the right, so flex-start is what pins the row to that edge. */
    flex-direction: row-reverse;
    justify-content: flex-start;
}

.pm-message__bubble[b-jtty8aujzr] {
    /* Leaves room for the avatar and gap next to it so a wide bubble never overflows the page. */
    max-width: min(80%, 42rem);
    min-width: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.pm-message--other .pm-message__bubble[b-jtty8aujzr] {
    background: var(--color-surface);
    /* Flattened corner points at the sender's side, like a speech bubble tail. */
    border-bottom-left-radius: var(--radius-xs);
}

.pm-message--own .pm-message__bubble[b-jtty8aujzr] {
    background: color-mix(in srgb, var(--color-brand) 22%, var(--color-surface));
    border-color: color-mix(in srgb, var(--color-brand) 55%, var(--color-border));
    border-bottom-right-radius: var(--radius-xs);
}

.pm-message__head[b-jtty8aujzr] {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-bottom: 1px solid var(--color-border);
    background: rgba(255, 255, 255, .04);
}

.pm-message--own .pm-message__head[b-jtty8aujzr] {
    /* The name sits closest to the owner's edge on their own side. */
    flex-direction: row-reverse;
    border-bottom-color: color-mix(in srgb, var(--color-brand) 40%, var(--color-border));
}

.pm-message__head strong[b-jtty8aujzr],
.pm-message__sender[b-jtty8aujzr] {
    color: var(--color-text-strong);
    font-weight: 700;
    text-decoration: none;
}

.pm-message__sender:hover[b-jtty8aujzr],
.pm-message__sender:focus-visible[b-jtty8aujzr] {
    text-decoration: underline;
}

.pm-message__head time[b-jtty8aujzr] {
    font-size: .85em;
    color: var(--color-text-muted);
}

.pm-message__body[b-jtty8aujzr] {
    padding: var(--space-3);
    overflow-wrap: anywhere;
}

.pm-message__body[b-jtty8aujzr]  img {
    max-width: 100%;
    height: auto;
}

.pm-message__body[b-jtty8aujzr]  > *:last-child {
    margin-bottom: 0;
}

.pm-composer .form-label[b-jtty8aujzr] {
    font-weight: 700;
    color: var(--color-text-strong);
}

.pm-composer .btn[b-jtty8aujzr] {
    margin-top: var(--space-3);
}

/* Destructive action lives at the end of the page, not in the header. */
.pm-thread__footer[b-jtty8aujzr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-6);
    padding-top: var(--space-3);
    border-top: 1px solid var(--color-border);
}

.pm-thread__delete[b-jtty8aujzr] {
    opacity: .65;
    transition: opacity .15s ease;
}

.pm-thread__delete:hover[b-jtty8aujzr],
.pm-thread__delete:focus-visible[b-jtty8aujzr] {
    opacity: 1;
}

@media (max-width: 36rem) {
    .pm-message__bubble[b-jtty8aujzr] {
        max-width: 100%;
    }
}
/* /Features/Messaging/NewConversation.razor.rz.scp.css */
/* Recipient picker. Bootstrap's list-group/badge/btn-close defaults are not themed by the site,
   so search results and chips use the theme tokens directly and work in both themes. */

.pm-picker[b-weeg51z1zw] {
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    overflow: hidden;
}

.pm-picker li + li .pm-picker__item[b-weeg51z1zw] {
    border-top: 1px solid var(--color-border);
}

.pm-picker__item[b-weeg51z1zw] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    width: 100%;
    padding: var(--space-3);
    background: transparent;
    border: 0;
    color: var(--color-text);
    text-align: left;
    cursor: pointer;
}

.pm-picker__item:hover[b-weeg51z1zw],
.pm-picker__item:focus-visible[b-weeg51z1zw] {
    background: var(--color-accent-soft);
    color: var(--color-text-strong);
}

.pm-picker__item[b-weeg51z1zw]  .pm-avatar,
.pm-chip[b-weeg51z1zw]  .pm-avatar {
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-xs);
    object-fit: cover;
    flex: 0 0 auto;
}

.pm-picker__names[b-weeg51z1zw] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.pm-picker__name[b-weeg51z1zw] {
    font-weight: 700;
    color: var(--color-text-strong);
}

.pm-picker__slug[b-weeg51z1zw] {
    font-size: .85em;
    color: var(--color-text-muted);
}

.pm-picker__add[b-weeg51z1zw] {
    flex: 0 0 auto;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--color-text-muted);
}

.pm-picker__item:hover .pm-picker__add[b-weeg51z1zw] {
    color: var(--color-brand-strong);
}

.pm-chips[b-weeg51z1zw] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
}

.pm-chip[b-weeg51z1zw] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2) var(--space-1) var(--space-1);
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--color-text-strong);
}

.pm-chip__name[b-weeg51z1zw] {
    font-weight: 700;
}

.pm-chip__remove[b-weeg51z1zw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}

.pm-chip__remove:hover[b-weeg51z1zw],
.pm-chip__remove:focus-visible[b-weeg51z1zw] {
    background: var(--color-accent-soft);
    color: var(--color-danger);
}
/* /Features/Moderation/ModerationPage.razor.rz.scp.css */
/* Open reports: stacked cards with clear rows instead of a cramped table. */
.report-cards[b-ylse24gpfh] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.report-card[b-ylse24gpfh] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.report-card-header[b-ylse24gpfh] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-1) var(--space-4);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-border);
    background: color-mix(in srgb, var(--color-text-strong) 8%, var(--color-surface-2));
}

.report-card-topic[b-ylse24gpfh] {
    font-weight: 700;
    font-size: 1.05rem;
}

.report-card-age[b-ylse24gpfh] {
    color: var(--color-text-muted);
    font-size: .85rem;
}

.report-card-meta[b-ylse24gpfh] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-6);
    margin: 0;
    padding: var(--space-3) var(--space-4) 0;
}

.report-card-meta dt[b-ylse24gpfh] {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.report-card-meta dd[b-ylse24gpfh] {
    margin: 0;
}

.report-card-snippet[b-ylse24gpfh] {
    margin: var(--space-3) var(--space-4) 0;
    border-left: 3px solid var(--color-border-strong);
    padding: var(--space-2) var(--space-3);
    background: var(--color-surface-2);
    color: var(--color-text-muted);
    font-style: italic;
}

.report-card-reply[b-ylse24gpfh] {
    margin: var(--space-2) var(--space-4) 0;
}

.report-card-actions[b-ylse24gpfh] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-top: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-top: 1px solid var(--color-border);
    background: var(--color-surface-2);
}

.report-card-actions textarea[b-ylse24gpfh] {
    width: 100%;
    min-height: 3.5rem;
    margin: 0;
}

/* Posting date of the reported reply, shown next to the "Hop til svar" link. */
.report-reply-date[b-ylse24gpfh] {
    margin-left: .35rem;
    color: var(--color-text-muted);
    font-size: .85rem;
}

.report-action-buttons[b-ylse24gpfh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: .75rem;
    row-gap: .35rem;
}

/* Closed reports reuse the card layout but end with the meta row,
   so give it the bottom padding the actions footer otherwise provides. */
.report-card--closed .report-card-meta[b-ylse24gpfh] {
    padding-bottom: var(--space-3);
}

.report-card-replyno[b-ylse24gpfh] {
    color: var(--color-text-muted);
    font-weight: 400;
    font-size: .9rem;
}
/* /Features/News/EditNewsArticle.razor.rz.scp.css */
.news-page[b-6vsy8jcsaw],
.news-changelog[b-6vsy8jcsaw] {
    display: grid;
    gap: 1rem;
}

.form-row[b-6vsy8jcsaw] {
    display: grid;
    gap: .35rem;
    margin-bottom: 1rem;
}

.form-row input[b-6vsy8jcsaw],
.form-row textarea[b-6vsy8jcsaw] {
    width: 100%;
}

.news-actions[b-6vsy8jcsaw] {
    display: flex;
    gap: .75rem;
}

.news-status[b-6vsy8jcsaw] {
    background: var(--color-surface-3);
    border-radius: .35rem;
    padding: .25rem .5rem;
}

.hero-preview[b-6vsy8jcsaw] {
    margin: .5rem 0 0;
}

.hero-preview img[b-6vsy8jcsaw] {
    display: block;
    max-height: 180px;
    max-width: 100%;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.hero-preview figcaption[b-6vsy8jcsaw] {
    margin-top: .25rem;
    font-size: .85rem;
    color: var(--color-text-muted);
}
/* /Features/News/EditorialList.razor.rz.scp.css */
.news-page[b-8hthm9rkom] {
    display: grid;
    gap: 1rem;
}

.news-header[b-8hthm9rkom] {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    flex-wrap: wrap;
}

.badge[b-8hthm9rkom],
.news-status[b-8hthm9rkom] {
    background: var(--color-surface-3);
    border-radius: .35rem;
    padding: .25rem .5rem;
}

.news-cell-title .badge[b-8hthm9rkom] {
    margin-left: .5rem;
    font-size: .8rem;
}

.news-editor-table[b-8hthm9rkom] {
    border-collapse: collapse;
    width: 100%;
}

.news-editor-table th[b-8hthm9rkom],
.news-editor-table td[b-8hthm9rkom] {
    border-bottom: 1px solid var(--color-border);
    padding: .75rem;
    text-align: left;
    vertical-align: middle;
}

/* app.css styles .news-actions as flex globally; keep the cell a real table cell on desktop,
   shrink-to-fit so the buttons never wrap. */
td.news-actions[b-8hthm9rkom] {
    display: table-cell;
    width: 1%;
    white-space: nowrap;
}

.actions-row[b-8hthm9rkom] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .5rem;
}

/* Compact, uniform action buttons — override the global link/button chrome. */
.action-btn[b-8hthm9rkom] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: .3rem .75rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface-3);
    color: var(--color-text-strong);
    font: inherit;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.action-btn:hover[b-8hthm9rkom] {
    transform: none;
    box-shadow: none;
    background: var(--color-surface-2);
    border-color: var(--color-border-strong);
    color: var(--color-text-strong);
}

.action-btn--primary[b-8hthm9rkom] {
    border-color: var(--color-brand);
    background: var(--color-brand);
    color: var(--color-brand-ink);
}

.action-btn--primary:hover[b-8hthm9rkom] {
    background: var(--color-brand-strong);
    border-color: var(--color-brand-strong);
    color: #fff;
}

/* Mobile: collapse the table into stacked cards. */
@media (max-width: 860px) {
    .news-editor-table thead[b-8hthm9rkom] {
        display: none;
    }

    .news-editor-table[b-8hthm9rkom],
    .news-editor-table tbody[b-8hthm9rkom],
    .news-editor-table tr[b-8hthm9rkom],
    .news-editor-table td[b-8hthm9rkom] {
        display: block;
        width: 100%;
    }

    .news-editor-table tr[b-8hthm9rkom] {
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background: var(--color-surface-2);
        padding: .35rem .75rem;
        margin-bottom: .75rem;
    }

    .news-editor-table td[b-8hthm9rkom] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: .5rem;
        border-bottom: 1px solid var(--color-border);
        padding: .55rem 0;
    }

    .news-editor-table td.news-actions[b-8hthm9rkom] {
        white-space: normal;
    }

    .news-editor-table td.news-actions .actions-row[b-8hthm9rkom] {
        flex-wrap: wrap;
    }

    .news-editor-table tr td:last-child[b-8hthm9rkom] {
        border-bottom: 0;
    }

    .news-editor-table td[b-8hthm9rkom]::before {
        content: attr(data-label);
        flex: 0 0 6rem;
        font-size: .75rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--color-text-muted);
    }

    .news-cell-title .badge[b-8hthm9rkom] {
        margin-left: 0;
    }
}
/* /Features/News/NewsArticlePage.razor.rz.scp.css */
.news-article[b-q6i4a82dpv] {
    display: grid;
    gap: 1rem;
}

.news-article-comments[b-q6i4a82dpv] {
    border-top: 1px solid var(--color-border);
    margin-top: 1rem;
    padding-top: 1rem;
}
/* /Features/News/NewsListContent.razor.rz.scp.css */
.news-page[b-jc6hjapflo],
.news-article[b-jc6hjapflo] {
    display: grid;
    gap: 1.5rem;
}

.news-front[b-jc6hjapflo] {
    gap: 1rem;
}

.pager[b-jc6hjapflo] {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

/* Old-site header look comes from the global h1 styles in app.css */
.news-header[b-jc6hjapflo] {
    display: grid;
    gap: .5rem;
}

.news-front .news-header[b-jc6hjapflo] {
    margin-bottom: 0;
}

.news-front .news-header h1[b-jc6hjapflo] {
    margin-bottom: 0;
}

.news-actions[b-jc6hjapflo] {
    display: flex;
    justify-content: flex-end;
}

.news-actions:empty[b-jc6hjapflo] {
    display: none;
}

/* Old-site tile grid: image with title strip overlaid at the bottom */
.news-list[b-jc6hjapflo] {
    display: grid;
    gap: 1.75rem;
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 980px) {
    .news-list[b-jc6hjapflo] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .news-list[b-jc6hjapflo] {
        grid-template-columns: 1fr;
    }
}

.news-card[b-jc6hjapflo] {
    position: relative;
}

.news-card-link[b-jc6hjapflo] {
    color: var(--color-text-strong);
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.news-card-link img[b-jc6hjapflo],
.news-card-noimage[b-jc6hjapflo] {
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    width: 100%;
}

.news-card-noimage[b-jc6hjapflo] {
    background: var(--color-surface-2);
}

.news-card-caption[b-jc6hjapflo] {
    background: rgba(0, 0, 0, .6);
    bottom: 0;
    color: #fff;
    display: grid;
    left: 0;
    padding: .5rem .75rem;
    position: absolute;
    right: 0;
    text-align: center;
}

.news-card h2[b-jc6hjapflo] {
    color: #fff;
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

/* Summary is hidden and slides up when hovering the tile */
.news-card-summary[b-jc6hjapflo] {
    color: rgba(255, 255, 255, .85);
    font-size: .85rem;
    line-height: 1.4;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .25s ease, opacity .25s ease, margin-top .25s ease;
}

.news-card-link:hover .news-card-summary[b-jc6hjapflo],
.news-card-link:focus-visible .news-card-summary[b-jc6hjapflo] {
    margin-top: .35rem;
    max-height: 8rem;
    opacity: 1;
}

.news-card-link:hover img[b-jc6hjapflo] {
    transform: scale(1.03);
}

.news-card-link img[b-jc6hjapflo] {
    transition: transform .2s ease;
}

.news-card .count-bubble[b-jc6hjapflo] {
    position: absolute;
    right: .5rem;
    top: .5rem;
}

.news-meta[b-jc6hjapflo],
.news-comments[b-jc6hjapflo] {
    color: var(--color-text-muted);
}

/* Front-page "view all" link */
.news-viewall[b-jc6hjapflo] {
    display: flex;
    gap: 2rem;
    justify-content: center;
}

.news-viewall a[b-jc6hjapflo] {
    color: var(--color-text-strong);
    font-weight: 700;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.news-viewall a:hover[b-jc6hjapflo] {
    color: var(--color-brand-strong);
}

.news-hero[b-jc6hjapflo] {
    border-radius: var(--radius-sm);
    max-height: 360px;
    object-fit: cover;
    width: 100%;
}

.badge[b-jc6hjapflo],
.news-status[b-jc6hjapflo] {
    background: var(--color-surface-3);
    border-radius: .35rem;
    padding: .25rem .5rem;
}

.news-editor-table[b-jc6hjapflo] {
    border-collapse: collapse;
    width: 100%;
}

.news-editor-table th[b-jc6hjapflo],
.news-editor-table td[b-jc6hjapflo] {
    border-bottom: 1px solid var(--color-border);
    padding: .75rem;
    text-align: left;
}

.form-row[b-jc6hjapflo] {
    display: grid;
    gap: .35rem;
    margin-bottom: 1rem;
}

.form-row input[b-jc6hjapflo],
.form-row textarea[b-jc6hjapflo] {
    width: 100%;
}
/* /Features/News/SubmitNewsArticle.razor.rz.scp.css */
.news-page[b-tnityk72dn] {
    display: grid;
    gap: 1rem;
}

.form-row[b-tnityk72dn] {
    display: grid;
    gap: .35rem;
    margin-bottom: 1rem;
}

.form-row input[b-tnityk72dn],
.form-row textarea[b-tnityk72dn] {
    width: 100%;
}

.news-status[b-tnityk72dn] {
    background: var(--color-surface-3);
    border-radius: .35rem;
    padding: .25rem .5rem;
}
/* /Features/Notifications/NotificationBell.razor.rz.scp.css */
.notification-menu[b-9j0ipgdpi7] {
    position: relative;
}

.notification-bell[b-9j0ipgdpi7] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    border: 0;
    border-radius: var(--radius-xs, .3rem);
    padding: .4rem .5rem;
    background: transparent;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    box-shadow: none;
}

.notification-bell:hover[b-9j0ipgdpi7],
.notification-bell:focus-visible[b-9j0ipgdpi7] {
    background: rgba(0, 0, 0, .22);
    color: #fff;
    transform: none;
    box-shadow: none;
}

.notification-bell .nav-icon[b-9j0ipgdpi7] {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
}

.notification-badge[b-9j0ipgdpi7] {
    position: absolute;
    top: -.35rem;
    right: -.45rem;
    min-width: 1.2rem;
    padding: .1rem .35rem;
    border-radius: 999px;
    background: #3b82f6;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
}

.notification-flyout[b-9j0ipgdpi7] {
    position: absolute;
    top: 2.6rem;
    right: 0;
    z-index: 20;
    width: min(22rem, 90vw);
    overflow: hidden;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 35%);
}

/* On mobile the bell sits in the top bar next to the Menu button, so a
   flyout anchored to the tiny bell would overflow. Anchor it to the header
   (.top-nav, the nearest positioned ancestor) and span the full width. */
@media (max-width: 860px) {
    .notification-menu[b-9j0ipgdpi7] {
        position: static;
    }

    .notification-flyout[b-9j0ipgdpi7] {
        top: calc(100% + .4rem);
        right: 0;
        left: 0;
        width: auto;
    }
}

.notification-flyout-header[b-9j0ipgdpi7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--color-border);
}

.notification-flyout-actions[b-9j0ipgdpi7] {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.notification-settings-link[b-9j0ipgdpi7] {
    color: var(--color-text-muted);
    font-size: 1.05rem;
    line-height: 1;
    text-decoration: none;
}

.notification-settings-link:hover[b-9j0ipgdpi7],
.notification-settings-link:focus-visible[b-9j0ipgdpi7] {
    color: var(--color-link);
}

ul[b-9j0ipgdpi7] {
    margin: 0;
    padding: 0;
    list-style: none;
}

li[b-9j0ipgdpi7] {
    border-bottom: 1px solid var(--color-border);
}

li.unread[b-9j0ipgdpi7] {
    background: var(--color-surface-2);
    box-shadow: inset 3px 0 0 #3b82f6;
}

li:not(.unread) a[b-9j0ipgdpi7] {
    color: var(--color-text-muted);
    font-weight: 400;
}

li a[b-9j0ipgdpi7] {
    display: grid;
    gap: .2rem;
    padding: .8rem 1rem;
    color: var(--color-text-strong);
    font-weight: 600;
}

small[b-9j0ipgdpi7] {
    color: var(--color-text-muted);
}

.notification-unread-badge[b-9j0ipgdpi7] {
    display: inline-block;
    margin-left: .4rem;
    min-width: 1.2rem;
    padding: .05rem .35rem;
    border-radius: 999px;
    background: #3b82f6;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    text-align: center;
    vertical-align: text-bottom;
}

.notification-unread-dot[b-9j0ipgdpi7] {
    display: inline-block;
    margin-left: .45rem;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: #3b82f6;
    vertical-align: middle;
}

.notification-read-count[b-9j0ipgdpi7] {
    margin-left: .3rem;
    color: var(--color-text-muted);
    font-size: .82rem;
    font-weight: 400;
}

.notification-empty[b-9j0ipgdpi7],
.notification-all-link[b-9j0ipgdpi7] {
    display: block;
    margin: 0;
    padding: .9rem 1rem;
}

.notification-all-link[b-9j0ipgdpi7] {
    text-align: center;
    background: var(--color-surface-2);
}
/* /Features/Notifications/NotificationsPage.razor.rz.scp.css */
.notifications-page[b-0lm7o2lg3t] {
    max-width: 56rem;
}

.notifications-header[b-0lm7o2lg3t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.notifications-header p[b-0lm7o2lg3t] {
    margin: 0;
    color: var(--color-text-muted);
}

.notifications-settings-link[b-0lm7o2lg3t],
.pager a[b-0lm7o2lg3t] {
    border: 1px solid var(--color-border-strong);
    border-radius: .5rem;
    padding: .45rem .8rem;
    background: var(--color-surface-2);
    color: var(--color-text-strong);
    text-decoration: none;
}

.notifications-header-actions[b-0lm7o2lg3t] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.notifications-header button:disabled[b-0lm7o2lg3t] {
    cursor: not-allowed;
    opacity: .55;
}

.notification-list[b-0lm7o2lg3t] {
    display: grid;
    gap: .75rem;
}

article[b-0lm7o2lg3t] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

article.unread[b-0lm7o2lg3t] {
    border-color: var(--color-brand);
    background: var(--color-surface-2);
}

article a[b-0lm7o2lg3t] {
    display: grid;
    gap: .25rem;
    padding: 1rem;
    color: var(--color-text-strong);
    text-decoration: none;
}

article span[b-0lm7o2lg3t],
article small[b-0lm7o2lg3t] {
    color: var(--color-text-muted);
}

.pager[b-0lm7o2lg3t] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
}
/* /Features/Notifications/NotificationToastHost.razor.rz.scp.css */
/* Bottom-right notification popups. The save/error toasts own the top-right corner
   (.toast-stack in app.css), so the two never overlap. */
.notification-toasts[b-dlhouwx63l] {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1050; /* Below .toast-stack (1100) and the reconnect modal, above page content. */
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(22rem, calc(100vw - 2rem));
    pointer-events: none;
}

.notification-toast[b-dlhouwx63l] {
    pointer-events: auto;
    display: flex;
    align-items: stretch;
    gap: 0.25rem;
    border: 1px solid color-mix(in srgb, var(--color-accent, #4a9) 45%, transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--color-accent, #4a9) 10%, var(--color-surface));
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(6px);
    overflow: hidden;
}

/* The whole card is the target, so a click anywhere but the close button opens the notification. */
.notification-toast__main[b-dlhouwx63l] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    padding: 0.7rem 0.85rem;
    cursor: pointer;
    box-shadow: none;
}

.notification-toast__main:hover[b-dlhouwx63l],
.notification-toast__main:focus-visible[b-dlhouwx63l] {
    background: color-mix(in srgb, var(--color-accent, #4a9) 16%, transparent);
    transform: none;
    box-shadow: none;
}

.notification-toast__type[b-dlhouwx63l] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    opacity: 0.75;
}

.notification-toast__title[b-dlhouwx63l] {
    /* Titles carry topic names and can run long; two lines keeps the popup a popup. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 700;
    line-height: 1.25;
}

.notification-toast__close[b-dlhouwx63l] {
    flex: 0 0 auto;
    align-self: flex-start;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0.55rem 0.6rem;
    cursor: pointer;
    opacity: 0.7;
    box-shadow: none;
}

.notification-toast__close:hover[b-dlhouwx63l],
.notification-toast__close:focus-visible[b-dlhouwx63l] {
    opacity: 1;
    transform: none;
    box-shadow: none;
}

@media (prefers-reduced-motion: no-preference) {
    .notification-toast[b-dlhouwx63l] {
        animation: notification-toast-in-b-dlhouwx63l 180ms ease-out;
    }

    @keyframes notification-toast-in-b-dlhouwx63l {
        from {
            opacity: 0;
            transform: translateY(0.75rem);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media (max-width: 40rem) {
    .notification-toasts[b-dlhouwx63l] {
        left: 1rem;
        right: 1rem;
        width: auto;
    }
}
/* /Features/Notifications/PushPromptBanner.razor.rz.scp.css */
.push-prompt[b-itmtmyekcb] {
    position: fixed;
    right: var(--space-4);
    /* Keep clear of the full-width cookie banner at the very bottom. */
    bottom: calc(var(--space-4) + 3.5rem);
    z-index: 1001;
    max-width: 22rem;
    padding: var(--space-4);
    border-radius: var(--radius-sm);
    background: rgba(20, 20, 20, .97);
    color: #fff;
    font-size: .9rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .4);
}

.push-prompt__text[b-itmtmyekcb] {
    margin: 0 0 var(--space-3);
}

.push-prompt__actions[b-itmtmyekcb] {
    display: flex;
    gap: var(--space-3);
}

.push-prompt__enable[b-itmtmyekcb],
.push-prompt__dismiss[b-itmtmyekcb] {
    padding: .3rem 1.2rem;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
}

.push-prompt__enable[b-itmtmyekcb] {
    background: var(--color-brand);
    color: #fff;
}

.push-prompt__dismiss[b-itmtmyekcb] {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .4);
    color: #fff;
}

.push-prompt__enable:disabled[b-itmtmyekcb],
.push-prompt__dismiss:disabled[b-itmtmyekcb] {
    opacity: .6;
    cursor: default;
}

@media (max-width: 480px) {
    .push-prompt[b-itmtmyekcb] {
        left: var(--space-4);
        max-width: none;
    }
}
/* /Features/Profile/NotificationSettings.razor.rz.scp.css */
/* Desktop: normal table. Mobile: stacked cards so the push column
   is never hidden behind the global table overflow-x scroll rule. */

.notification-preferences .preference-name[b-lqdhspzhqk] {
    display: block;
    font-weight: 600;
}

.notification-preferences .preference-description[b-lqdhspzhqk] {
    display: block;
    margin-top: .15rem;
    max-width: 46ch;
    color: var(--color-text-muted, #6c757d);
    font-size: .85em;
    font-weight: 400;
    white-space: normal;
}

@media (max-width: 760px) {
    table.notification-preferences[b-lqdhspzhqk] {
        display: block;
        overflow-x: visible;
        white-space: normal;
    }

    .notification-preferences thead[b-lqdhspzhqk] {
        display: none;
    }

    .notification-preferences tbody[b-lqdhspzhqk],
    .notification-preferences tr[b-lqdhspzhqk],
    .notification-preferences td[b-lqdhspzhqk] {
        display: block;
        width: 100%;
    }

    .notification-preferences tr[b-lqdhspzhqk] {
        margin-bottom: var(--space-4);
        padding: var(--space-4);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
    }

    .notification-preferences td[b-lqdhspzhqk] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-4);
        padding: .35rem 0;
        border: 0;
    }

    .notification-preferences td.preference-type[b-lqdhspzhqk] {
        display: block;
        padding-bottom: .5rem;
        border-bottom: 1px solid var(--color-border);
        margin-bottom: .35rem;
        font-weight: 600;
    }

    .notification-preferences td[data-label][b-lqdhspzhqk]::before {
        content: attr(data-label);
    }
}
/* /Features/Profile/PublicProfile.razor.rz.scp.css */
.profile-page[b-z8ah65dceu] {
    display: grid;
    gap: 1rem;
}

/* --- Private profile state --- */

.profile-private[b-z8ah65dceu] {
    padding: 2.5rem 1.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    text-align: center;
}

.profile-private svg[b-z8ah65dceu] {
    width: 2.6rem;
    height: 2.6rem;
    color: var(--color-text-muted);
}

.profile-private h1[b-z8ah65dceu] {
    margin: .6rem 0 .3rem;
}

.profile-private p[b-z8ah65dceu] {
    margin: 0;
    color: var(--color-text-muted);
}

/* --- Hero --- */

.profile-hero[b-z8ah65dceu] {
    display: flex;
    gap: 1.4rem;
    align-items: flex-start;
    padding: 1.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

[b-z8ah65dceu] .profile-hero__avatar {
    flex-shrink: 0;
    width: 8.5rem;
    height: 8.5rem;
    border-radius: var(--radius-md);
    object-fit: cover;
    border: 1px solid var(--color-border-strong);
}

.profile-hero__main[b-z8ah65dceu] {
    display: grid;
    gap: .8rem;
    min-width: 0;
}

.profile-hero__name-row[b-z8ah65dceu] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
}

.profile-hero__name-row h1[b-z8ah65dceu] {
    margin: 0;
    line-height: 1.15;
}

.profile-hero__role[b-z8ah65dceu] {
    padding: .15rem .55rem;
    border-radius: 999px;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border-strong);
    color: var(--color-text-muted);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.profile-hero__role--moderator[b-z8ah65dceu],
.profile-hero__role--admin[b-z8ah65dceu],
.profile-hero__role--superadmin[b-z8ah65dceu] {
    background: var(--color-brand);
    border-color: transparent;
    color: var(--color-brand-ink);
}

.profile-hero__meta[b-z8ah65dceu] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 2rem;
    margin: 0;
}

.profile-hero__meta div[b-z8ah65dceu] {
    display: grid;
    gap: .1rem;
}

.profile-hero__meta dt[b-z8ah65dceu] {
    color: var(--color-text-muted);
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.profile-hero__meta dd[b-z8ah65dceu] {
    margin: 0;
    font-weight: 600;
}

.profile-hero__actions[b-z8ah65dceu] {
    display: flex;
    gap: .6rem;
}

/* --- Cards --- */

.profile-columns[b-z8ah65dceu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.profile-card[b-z8ah65dceu] {
    padding: 1.1rem 1.3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    min-width: 0;
    overflow-wrap: break-word;
}

.profile-card h2[b-z8ah65dceu] {
    margin: 0 0 .7rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 1.15rem;
}

.profile-card__empty[b-z8ah65dceu] {
    margin: 0;
    color: var(--color-text-muted);
    font-style: italic;
}

/* --- Activity tabs --- */

.profile-activity__tabs[b-z8ah65dceu] {
    display: flex;
    gap: .4rem;
    margin-bottom: .9rem;
    border-bottom: 1px solid var(--color-border);
}

.profile-activity__tabs button[b-z8ah65dceu] {
    padding: .5rem .9rem;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--color-text-muted);
    font-weight: 600;
    box-shadow: none;
}

.profile-activity__tabs button:hover[b-z8ah65dceu] {
    color: var(--color-text-strong);
    transform: none;
    box-shadow: none;
}

.profile-activity__tabs button.active[b-z8ah65dceu] {
    color: var(--color-text-strong);
    border-bottom-color: var(--color-brand);
}

.profile-activity__count[b-z8ah65dceu] {
    display: inline-block;
    margin-left: .3rem;
    padding: .05rem .45rem;
    border-radius: 999px;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    font-size: .75rem;
}

.profile-activity__list[b-z8ah65dceu] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.profile-activity__list li[b-z8ah65dceu] {
    display: grid;
    gap: .15rem;
    padding: .6rem 0;
    border-bottom: 1px solid var(--color-border);
}

.profile-activity__list li:last-child[b-z8ah65dceu] {
    border-bottom: 0;
}

.profile-activity__title[b-z8ah65dceu] {
    font-weight: 600;
}

.profile-activity__replyno[b-z8ah65dceu] {
    color: var(--color-text-muted);
    font-weight: 400;
    font-size: .85rem;
}

.profile-activity__meta[b-z8ah65dceu] {
    color: var(--color-text-muted);
    font-size: .85rem;
}

.profile-activity__snippet[b-z8ah65dceu] {
    color: var(--color-text-muted);
    font-size: .9rem;
}

/* --- Responsive --- */

@media (max-width: 700px) {
    .profile-hero[b-z8ah65dceu] {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .profile-hero__name-row[b-z8ah65dceu],
    .profile-hero__meta[b-z8ah65dceu],
    .profile-hero__actions[b-z8ah65dceu] {
        justify-content: center;
    }

    .profile-hero__meta[b-z8ah65dceu] {
        gap: .8rem 1.4rem;
    }

    .profile-columns[b-z8ah65dceu] {
        grid-template-columns: 1fr;
    }
}
/* /Features/Search/SearchPage.razor.rz.scp.css */
.search-page[b-yetqsn0etq] {
    display: grid;
    gap: var(--space-5);
}

.search-form[b-yetqsn0etq] {
    display: flex;
    gap: var(--space-3);
}

.search-form input[b-yetqsn0etq] {
    flex: 1;
}

.search-tabs[b-yetqsn0etq] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.search-tabs a[b-yetqsn0etq] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: .45rem .75rem;
    color: var(--color-text-muted);
    text-decoration: none;
}

.search-tabs a.active[b-yetqsn0etq],
.search-tabs a:hover[b-yetqsn0etq] {
    background: var(--color-surface-2);
    color: var(--color-text-strong);
}

.search-results[b-yetqsn0etq] {
    display: grid;
    gap: var(--space-3);
}

.search-hit[b-yetqsn0etq] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    padding: var(--space-4);
}

.search-hit h3[b-yetqsn0etq] {
    margin-top: 0;
}

.search-hit small[b-yetqsn0etq],
.search-count[b-yetqsn0etq],
.empty-state[b-yetqsn0etq] {
    color: var(--color-text-muted);
}
/* /Features/Shared/DataGrid/DataGrid.razor.rz.scp.css */
.datagrid[b-p10ylz1c4y] {
    --dg-cell-y: .6rem;
    --dg-cell-x: .7rem;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.datagrid[data-density="compact"][b-p10ylz1c4y] {
    --dg-cell-y: .3rem;
    --dg-cell-x: .55rem;
    font-size: .9rem;
}

.datagrid__sr[b-p10ylz1c4y] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- toolbar ---------- */

.datagrid__toolbar[b-p10ylz1c4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-3);
}

.datagrid__filters[b-p10ylz1c4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    min-width: 0;
}

.datagrid__filters[b-p10ylz1c4y]  form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin: 0;
    border: 0;
    padding: 0;
    background: none;
    box-shadow: none;
}

.datagrid__tools[b-p10ylz1c4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    margin-left: auto;
}

.datagrid__count[b-p10ylz1c4y] {
    color: var(--color-text-muted);
    font-size: .85rem;
    white-space: nowrap;
}

.datagrid__tool[b-p10ylz1c4y],
.datagrid[b-p10ylz1c4y]  .datagrid__tool {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    min-height: 0;
    margin: 0;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-xs);
    padding: .35rem .7rem;
    background: var(--color-surface);
    color: var(--color-text-strong);
    font: inherit;
    font-size: .85rem;
    line-height: 1.3;
    cursor: pointer;
    box-shadow: none;
    list-style: none;
}

.datagrid__tool:hover[b-p10ylz1c4y],
.datagrid[b-p10ylz1c4y]  .datagrid__tool:hover {
    background: var(--color-surface-2);
    transform: none;
    box-shadow: none;
}

.datagrid__tool[disabled][b-p10ylz1c4y] {
    opacity: .5;
    cursor: not-allowed;
}

.datagrid__tool[b-p10ylz1c4y]::-webkit-details-marker {
    display: none;
}

.datagrid__menu[b-p10ylz1c4y] {
    position: relative;
}

.datagrid__menu-panel[b-p10ylz1c4y] {
    position: absolute;
    top: calc(100% + .3rem);
    right: 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 12rem;
    max-height: 60vh;
    overflow-y: auto;
    padding: .4rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 35%);
}

.datagrid__menu-panel label[b-p10ylz1c4y] {
    display: flex;
    align-items: center;
    gap: .45rem;
    border-radius: var(--radius-xs);
    padding: .3rem .4rem;
    font-size: .88rem;
    font-weight: 400;
    cursor: pointer;
}

.datagrid__menu-panel label:hover[b-p10ylz1c4y] {
    background: var(--color-surface-2);
}

/* ---------- bulk action bar ---------- */

.datagrid__bulkbar[b-p10ylz1c4y] {
    position: sticky;
    top: 4.6rem;
    z-index: 30;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    border: 1px solid var(--color-brand);
    border-radius: var(--radius-sm);
    padding: .5rem .75rem;
    background: var(--color-surface-2);
    font-size: .9rem;
}

.datagrid__bulkactions[b-p10ylz1c4y] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

/* ---------- empty state ---------- */

.datagrid__empty[b-p10ylz1c4y] {
    margin: 0;
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-sm);
    padding: var(--space-5);
    color: var(--color-text-muted);
    text-align: center;
}

/* ---------- desktop table ---------- */

.datagrid__scroll[b-p10ylz1c4y] {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
}

.datagrid__table[b-p10ylz1c4y] {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-size: inherit;
}

.datagrid__table thead th[b-p10ylz1c4y] {
    position: sticky;
    top: 0;
    z-index: 2;
    border-bottom: 2px solid var(--color-border-strong);
    padding: var(--dg-cell-y) var(--dg-cell-x);
    background: var(--color-surface-2);
    color: var(--color-text-strong);
    text-align: left;
    font-weight: 700;
    white-space: nowrap;
}

.datagrid__table tbody td[b-p10ylz1c4y] {
    position: relative;
    border-bottom: 1px solid var(--color-border);
    padding: var(--dg-cell-y) var(--dg-cell-x);
    vertical-align: top;
}

.datagrid__table tbody tr:last-child td[b-p10ylz1c4y] {
    border-bottom: 0;
}

.datagrid__table tbody tr[b-p10ylz1c4y] {
    position: relative;
}

.datagrid__table tbody tr:hover[b-p10ylz1c4y] {
    background: var(--color-surface-2);
}

.datagrid__table tbody tr.is-selected[b-p10ylz1c4y] {
    background: color-mix(in srgb, var(--color-brand) 12%, transparent);
}

.datagrid__num[b-p10ylz1c4y] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.datagrid__col-select[b-p10ylz1c4y],
.datagrid__col-toggle[b-p10ylz1c4y] {
    width: 2.4rem;
    text-align: center;
}

.datagrid__col-actions[b-p10ylz1c4y] {
    width: 1%;
    white-space: nowrap;
}

.datagrid__actions[b-p10ylz1c4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
}

.datagrid__actions[b-p10ylz1c4y]  button,
.datagrid__actions[b-p10ylz1c4y]  a {
    margin: 0;
}

.datagrid__sort[b-p10ylz1c4y] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: var(--radius-xs);
    padding: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
}

.datagrid__sort:hover[b-p10ylz1c4y] {
    color: var(--color-brand);
    background: none;
    transform: none;
    box-shadow: none;
    text-decoration: none;
}

.datagrid__sort-mark[b-p10ylz1c4y] {
    font-size: .7em;
    opacity: .8;
}

.datagrid__expand[b-p10ylz1c4y] {
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: var(--radius-xs);
    padding: .1rem .35rem;
    background: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    box-shadow: none;
}

.datagrid__expand:hover[b-p10ylz1c4y] {
    background: var(--color-surface-2);
    transform: none;
    box-shadow: none;
}

.datagrid__table tbody tr.datagrid__detail:hover[b-p10ylz1c4y] {
    background: none;
}

.datagrid__table tr.datagrid__detail > td[b-p10ylz1c4y] {
    background: var(--color-surface-2);
    padding: var(--space-3) var(--space-4);
}

.datagrid__table tr.datagrid__detail[b-p10ylz1c4y]  pre {
    max-height: 22rem;
    overflow: auto;
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Row link stretched over the whole row: keeps real link semantics (middle-click,
   copy address, keyboard focus) without guessing at click targets in JS. */
.datagrid__rowlink[b-p10ylz1c4y]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}

.datagrid__table tbody td[b-p10ylz1c4y]  :where(a, button, input, select, textarea, label, details, summary) {
    position: relative;
    z-index: 1;
}

.datagrid__table tbody td > :where(a, button, input, select, textarea, label, details, summary):not(.datagrid__rowlink)[b-p10ylz1c4y] {
    position: relative;
    z-index: 1;
}

/* ---------- mobile cards ---------- */

.datagrid-cards[b-p10ylz1c4y] {
    display: none;
    flex-direction: column;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.datagrid-card[b-p10ylz1c4y] {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--space-3);
    background: var(--color-surface);
}

.datagrid-card.is-selected[b-p10ylz1c4y] {
    border-color: var(--color-brand);
    background: color-mix(in srgb, var(--color-brand) 12%, transparent);
}

.datagrid-card__head[b-p10ylz1c4y] {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
}

.datagrid-card__titles[b-p10ylz1c4y] {
    min-width: 0;
    flex: 1;
}

.datagrid-card__title[b-p10ylz1c4y] {
    margin: 0;
    color: var(--color-text-strong);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.datagrid-card__subtitle[b-p10ylz1c4y] {
    margin: .15rem 0 0;
    color: var(--color-text-muted);
    font-size: .88rem;
    overflow-wrap: anywhere;
}

.datagrid-card__meta[b-p10ylz1c4y] {
    display: grid;
    grid-template-columns: 1fr;
    gap: .25rem;
    margin: 0;
}

.datagrid-card__meta > div[b-p10ylz1c4y] {
    display: grid;
    grid-template-columns: minmax(6rem, 40%) 1fr;
    gap: .5rem;
    align-items: baseline;
    border-top: 1px solid var(--color-border);
    padding-top: .25rem;
}

.datagrid-card__meta dt[b-p10ylz1c4y] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.datagrid-card__meta dd[b-p10ylz1c4y] {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.datagrid-card__detail-body[b-p10ylz1c4y] {
    margin-top: .5rem;
}

.datagrid-card__detail-body[b-p10ylz1c4y]  pre {
    max-height: 18rem;
    overflow: auto;
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

.datagrid-card__actions[b-p10ylz1c4y] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    border-top: 1px solid var(--color-border);
    padding-top: .55rem;
}

@media (max-width: 760px) {
    /* Cards replace the table. Both trees are rendered server-side (up to
       DataGrid.CardRenderLimit rows) so the switch needs no JS measurement. */
    .datagrid__scroll[b-p10ylz1c4y] {
        display: none;
    }

    .datagrid-cards[b-p10ylz1c4y] {
        display: flex;
    }

    .datagrid__toolbar[b-p10ylz1c4y] {
        flex-direction: column;
        align-items: stretch;
    }

    .datagrid__tools[b-p10ylz1c4y] {
        margin-left: 0;
    }

    .datagrid__bulkbar[b-p10ylz1c4y] {
        top: 0;
    }
}
/* /Features/Shared/MarkdownEditor.razor.rz.scp.css */
.markdown-editor[b-352xwzw7v9] {
    display: grid;
    gap: 0.75rem;
}

.markdown-editor__toolbar[b-352xwzw7v9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.markdown-editor__label[b-352xwzw7v9] {
    margin-bottom: 0;
}

.markdown-editor__help[b-352xwzw7v9] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
}

.markdown-editor__toolbar button[b-352xwzw7v9],
.markdown-editor__toolbar select[b-352xwzw7v9],
.markdown-editor__insert-image[b-352xwzw7v9] {
    border: 1px solid var(--color-border-strong);
    border-radius: 0.4rem;
    background: var(--color-surface-2);
    color: var(--color-text-strong);
    padding: 0.35rem 0.6rem;
}

/* Icon-only toolbar controls. Scoped to this class on purpose: the emoticon and GIF
   panel buttons are DOM descendants of the toolbar, so an element selector here would
   shrink every emoticon and GIF thumbnail too. */
.markdown-editor__tool[b-352xwzw7v9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    min-width: 2.15rem;
    min-height: 2.15rem;
    padding: 0.35rem;
    line-height: 1;
}

.markdown-editor__tool svg[b-352xwzw7v9] {
    display: block;
    width: 1.05rem;
    height: 1.05rem;
}

/* The GIF button keeps a literal text glyph; no icon reads as "GIF" reliably. */
.markdown-editor__tool-text[b-352xwzw7v9] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.markdown-editor__tool-caret[b-352xwzw7v9] {
    font-size: 0.6rem;
    opacity: 0.75;
}

/* Preview is a toggle; without its text label the on-state needs to be visible. */
.markdown-editor__tool.is-active[b-352xwzw7v9] {
    border-color: var(--color-brand);
    color: var(--color-brand);
}

/* Mimic the global button hover (bg/color stay as above, like the other toolbar buttons). */
.markdown-editor__insert-image[b-352xwzw7v9] {
    display: inline-flex;
    align-items: center;
    margin: 0;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

.markdown-editor__insert-image:hover[b-352xwzw7v9] {
    transform: translateY(-1px);
    box-shadow: var(--shadow-glow);
}

.markdown-editor__insert-image[b-352xwzw7v9]  input[type="file"] {
    display: none;
}

.markdown-editor__input[b-352xwzw7v9],
.markdown-editor__preview[b-352xwzw7v9] {
    min-height: 12rem;
    width: 100%;
    border: 1px solid var(--color-border-strong);
    border-radius: 0.6rem;
    background: var(--color-surface);
    color: var(--color-text-strong);
    padding: 0.75rem;
}

.markdown-editor__preview[b-352xwzw7v9] {
    overflow-wrap: anywhere;
}

/* The textarea auto-grows to fit its content, so a manual resize grip would just
   fight the next keystroke. Use the expand button for extra room instead. */
.markdown-editor__input[b-352xwzw7v9] {
    resize: none;
}

/* Expanded mode: give the writing area most of the viewport height. Applies to the
   preview too, so toggling preview while expanded does not collapse the box. */
.markdown-editor.is-expanded .markdown-editor__input[b-352xwzw7v9],
.markdown-editor.is-expanded .markdown-editor__preview[b-352xwzw7v9] {
    min-height: 70vh;
}
/* /Features/Shared/MarkdownHelp.razor.rz.scp.css */
.markdown-help[b-m4gbqc0dvp] {
    position: relative;
    display: inline-flex;
}

.markdown-help__icon[b-m4gbqc0dvp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    min-height: 0;
    padding: 0;
    border: 1px solid var(--color-border-strong);
    border-radius: 50%;
    background: var(--color-surface-3);
    color: var(--color-text-strong);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1;
    cursor: help;
}

.markdown-help__icon:hover[b-m4gbqc0dvp] {
    transform: none;
    box-shadow: none;
    background: var(--color-surface-2);
    border-color: var(--color-border-strong);
    color: var(--color-text-strong);
}

/* Native popover: opens centered in the viewport (top layer), capped to the
   viewport height with internal scrolling, so the bottom is always reachable
   regardless of where the toolbar sits on the page. Closes on Esc/click outside. */
.markdown-help__panel[b-m4gbqc0dvp] {
    inset: 0;
    margin: auto;
    width: min(22rem, 85vw);
    max-height: min(85vh, 42rem);
    overflow-y: auto;
    padding: .9rem 1rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    color: var(--color-text);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
    font-size: .85rem;
    text-align: left;
}

.markdown-help__panel[b-m4gbqc0dvp]::backdrop {
    background: rgba(0, 0, 0, .35);
}

.markdown-help__panel h3[b-m4gbqc0dvp] {
    margin: 0 0 .5rem;
    font-size: .95rem;
}

.markdown-help__panel table[b-m4gbqc0dvp] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: .5rem;
}

.markdown-help__panel td[b-m4gbqc0dvp] {
    padding: .2rem .4rem .2rem 0;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
}

.markdown-help__panel tr:last-child td[b-m4gbqc0dvp] {
    border-bottom: 0;
}

.markdown-help__panel code[b-m4gbqc0dvp] {
    background: var(--color-surface-3);
    border-radius: .25rem;
    padding: .05rem .3rem;
    font-size: .8rem;
    white-space: nowrap;
}

.markdown-help__panel p[b-m4gbqc0dvp] {
    margin: 0 0 .4rem;
    color: var(--color-text-muted);
}

.markdown-help__panel p:last-child[b-m4gbqc0dvp] {
    margin-bottom: 0;
}

.markdown-help__panel .markdown-help__more[b-m4gbqc0dvp] {
    margin-top: .6rem;
    padding-top: .5rem;
    border-top: 1px solid var(--color-border);
}

.markdown-help__panel .markdown-help__more a[b-m4gbqc0dvp] {
    font-weight: 600;
}

/* The global mobile rule turns tables into nowrap scroll containers,
   clipping the second column inside the narrow panel — keep it a table. */
@media (max-width: 760px) {
    .markdown-help__panel table[b-m4gbqc0dvp] {
        display: table;
        overflow-x: visible;
        white-space: normal;
    }
}
/* /Features/Statistics/StatisticsDashboard.razor.rz.scp.css */
/* ---- Period selector ---- */

.stats-period[b-r2lv8wb5j3] {
    display: inline-flex;
    gap: .35rem;
    margin: .5rem 0 1rem;
}

.stats-period button[b-r2lv8wb5j3] {
    padding: .4rem .9rem;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: var(--color-surface);
    color: var(--color-text-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: border-color .12s ease, color .12s ease;
}

.stats-period button:hover:not(:disabled)[b-r2lv8wb5j3] {
    border-color: var(--color-border-strong);
    color: var(--color-text-strong);
}

.stats-period button.active[b-r2lv8wb5j3] {
    border-color: var(--color-brand);
    color: var(--color-text-strong);
}

/* ---- Stat cards ---- */

.admin-stats[b-r2lv8wb5j3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: .75rem;
    margin: .5rem 0 1.5rem;
}

.admin-stats article[b-r2lv8wb5j3] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .9rem 1rem;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.admin-stats strong[b-r2lv8wb5j3] {
    font-family: var(--font-body);
    font-size: 1.9rem;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.1;
    color: var(--color-brand-strong);
}

.admin-stats span[b-r2lv8wb5j3] {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-muted);
}

.admin-stats span.stat-label[b-r2lv8wb5j3] {
    color: var(--color-text-strong);
    text-transform: none;
    letter-spacing: 0;
    font-size: .9rem;
}

.admin-stats span.stat-delta[b-r2lv8wb5j3] {
    font-size: .78rem;
    text-transform: none;
    letter-spacing: 0;
}

.stat-delta-up[b-r2lv8wb5j3] {
    color: #46a758;
}

.stat-delta-down[b-r2lv8wb5j3] {
    color: var(--color-brand);
}

/* ---- Panels & charts ---- */

.stats-grid[b-r2lv8wb5j3] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
    align-items: start;
}

/* Grid items default to min-width: auto, which lets the Chart.js canvas and the
   tables push the column wider than the viewport. */
.stats-grid > *[b-r2lv8wb5j3] {
    min-width: 0;
}

.admin-panel[b-r2lv8wb5j3] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 1rem 1.15rem 1.15rem;
    overflow: hidden;
}

.admin-panel header[b-r2lv8wb5j3] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .6rem;
    min-width: 0;
}

.admin-panel h2[b-r2lv8wb5j3] {
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-empty[b-r2lv8wb5j3] {
    color: var(--color-text-muted);
    margin: 0;
}

.stats-chart[b-r2lv8wb5j3] {
    position: relative;
    height: 260px;
    min-width: 0;
    overflow: hidden;
}

.stats-chart canvas[b-r2lv8wb5j3] {
    max-width: 100%;
}

/* ---- Tables ---- */

.admin-table[b-r2lv8wb5j3] {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: .85rem;
}

.admin-table th[b-r2lv8wb5j3] {
    text-align: left;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
    padding: .3rem .5rem;
    border-bottom: 1px solid var(--color-border);
}

.admin-table td[b-r2lv8wb5j3] {
    padding: .35rem .5rem;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-table tbody tr:last-child td[b-r2lv8wb5j3] {
    border-bottom: none;
}

.stats-table th.stats-num[b-r2lv8wb5j3],
.stats-table td.stats-num[b-r2lv8wb5j3] {
    width: 6.5rem;
    text-align: right;
}

.stats-note[b-r2lv8wb5j3] {
    font-size: .8rem;
    color: var(--color-text-muted);
}

/* ---- Responsive ---- */

@media (max-width: 900px) {
    .stats-grid[b-r2lv8wb5j3] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .admin-stats[b-r2lv8wb5j3] {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .admin-panel[b-r2lv8wb5j3] {
        padding: .85rem .8rem .9rem;
    }

    .admin-panel h2[b-r2lv8wb5j3] {
        font-size: .95rem;
    }

    .stats-chart[b-r2lv8wb5j3] {
        height: 220px;
    }

    .admin-table[b-r2lv8wb5j3] {
        font-size: .8rem;
    }

    .admin-table th[b-r2lv8wb5j3],
    .admin-table td[b-r2lv8wb5j3] {
        padding-inline: .25rem;
    }

    .stats-table th.stats-num[b-r2lv8wb5j3],
    .stats-table td.stats-num[b-r2lv8wb5j3] {
        width: 4.5rem;
    }
}
