@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.lcdo7z9xd2.bundle.scp.css';

/* /Components/Layout/ImpersonationBanner.razor.rz.scp.css */
.impersonation-banner[b-4o9ncqspgb] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 1rem;
    background: var(--accent-deep, #993c1d);
    color: #fff;
    font-size: 0.92rem;
    z-index: 10;
}

.banner-text strong[b-4o9ncqspgb] {
    font-weight: 600;
}

.banner-stop[b-4o9ncqspgb] {
    margin: 0;
}

.banner-stop button[b-4o9ncqspgb] {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 6px;
    padding: 4px 12px;
    font: inherit;
    cursor: pointer;
}

.banner-stop button:hover[b-4o9ncqspgb] {
    background: rgba(255, 255, 255, 0.25);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Fixed-viewport shell: the grid is exactly 100vh tall and each region
   scrolls inside its own cell. This is what pins the sidebar's "Logga ut"
   footer to the bottom of the viewport regardless of main-content length —
   the alternative (min-height) lets the whole page scroll as one unit, which
   drags the sidebar footer along with it. */
.layout-root[b-psqo33py3k] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

.app-shell[b-psqo33py3k] {
    display: grid;
    grid-template-columns: 220px 1fr 280px;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "topbar topbar topbar"
        "sidebar main rightpanel";
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.page[b-psqo33py3k] {
    grid-area: main;
    padding: 2rem 2.25rem;
    min-width: 0;
    overflow-y: auto;
}

@media (max-width: 1180px) {
    .app-shell[b-psqo33py3k] {
        grid-template-columns: 220px 1fr;
        grid-template-areas:
            "topbar topbar"
            "sidebar main";
    }
}

@media (max-width: 768px) {
    .layout-root[b-psqo33py3k] {
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }

    .app-shell[b-psqo33py3k] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "topbar"
            "main";
        /* On mobile the sidebar leaves the grid flow (slides in as overlay),
           so the natural document scroll behaviour is what we want here. */
        flex: none;
        min-height: 100vh;
        overflow: visible;
    }

    .page[b-psqo33py3k] {
        padding: 1rem;
        overflow-y: visible;
    }
}

#blazor-error-ui[b-psqo33py3k] {
    color-scheme: light dark;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-psqo33py3k] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NotificationBell.razor.rz.scp.css */
.notification-bell[b-0x7h9zqci3] {
    position: relative;
    display: flex;
    align-items: center;
}

.bell-trigger[b-0x7h9zqci3] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--text-primary);
    cursor: pointer;
}

.bell-trigger:hover[b-0x7h9zqci3],
.notification-bell.open .bell-trigger[b-0x7h9zqci3] {
    background: var(--hover-overlay);
}

.bell-trigger svg[b-0x7h9zqci3] {
    width: 20px;
    height: 20px;
}

.unread-badge[b-0x7h9zqci3] {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--accent-deep, #993c1d);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    box-sizing: border-box;
}

.notification-pop[b-0x7h9zqci3] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: min(380px, 92vw);
    max-height: 480px;
    overflow-y: auto;
    z-index: 20;
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 0.35rem 0;
}

.pop-header[b-0x7h9zqci3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.85rem 0.55rem;
    border-bottom: 0.5px solid var(--border-soft);
}

.pop-title[b-0x7h9zqci3] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--text-primary);
}

.pop-action[b-0x7h9zqci3] {
    background: transparent;
    border: 0;
    color: var(--accent-deep, #993c1d);
    font: inherit;
    font-size: 0.78rem;
    cursor: pointer;
    padding: 0;
}

.pop-action:hover[b-0x7h9zqci3] {
    text-decoration: underline;
}

.empty[b-0x7h9zqci3] {
    padding: 1rem 0.85rem;
    color: var(--text-tertiary);
    font-size: 0.88rem;
}

.notification-list[b-0x7h9zqci3] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.notification-item[b-0x7h9zqci3] {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.04);
}

.notification-item:last-child[b-0x7h9zqci3] {
    border-bottom: 0;
}

.notification-link[b-0x7h9zqci3] {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 0.6rem 0.85rem;
    font: inherit;
    color: var(--text-primary);
    cursor: pointer;
}

.notification-link:hover[b-0x7h9zqci3] {
    background: rgba(0, 0, 0, 0.03);
}

.notification-item.unread .notification-link[b-0x7h9zqci3] {
    background: rgba(216, 90, 48, 0.05);
}

.notification-item.unread .notification-title[b-0x7h9zqci3] {
    font-weight: 600;
}

.notification-title[b-0x7h9zqci3] {
    font-size: 0.88rem;
    line-height: 1.3;
    margin-bottom: 3px;
}

.notification-time[b-0x7h9zqci3] {
    font-size: 0.72rem;
    color: var(--text-tertiary);
}
/* /Components/Layout/OrgSwitcher.razor.rz.scp.css */
.org-switcher[b-y0zdjki11w] {
    position: relative;
}

/* Trigger styled as a button but rendered to look like a flat card. */
.org-card[b-y0zdjki11w] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.6rem;
    border-radius: 10px;
    color: var(--text-primary);
    width: 100%;
    background: transparent;
    border: 0;
    text-align: left;
    font: inherit;
}

.org-card-clickable[b-y0zdjki11w] {
    cursor: pointer;
}

.org-card-clickable:hover[b-y0zdjki11w],
.org-switcher.open .org-card[b-y0zdjki11w] {
    background: var(--hover-overlay);
}

.org-card:disabled[b-y0zdjki11w] {
    cursor: default;
}

.org-avatar[b-y0zdjki11w] {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--org-avatar);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.org-info[b-y0zdjki11w] {
    flex: 1;
    min-width: 0;
}

.org-name[b-y0zdjki11w] {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.org-meta[b-y0zdjki11w] {
    margin-top: 3px;
    font-size: 0.75rem;
    color: var(--text-tertiary);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.org-chevron[b-y0zdjki11w] {
    width: 12px;
    height: 12px;
    color: var(--text-tertiary);
    flex-shrink: 0;
    transition: transform 120ms ease;
}

.org-switcher.open .org-chevron[b-y0zdjki11w] {
    transform: rotate(180deg);
}

/* Popover menu */
.org-menu[b-y0zdjki11w] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 20;
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.org-menu-label[b-y0zdjki11w] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-tertiary);
    font-weight: 600;
    padding: 0.3rem 0.5rem 0.4rem;
}

.org-menu-form[b-y0zdjki11w] {
    margin: 0;
}

.org-menu-item[b-y0zdjki11w] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.5rem;
    border-radius: 6px;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    cursor: pointer;
    color: var(--text-primary);
}

.org-menu-item:hover[b-y0zdjki11w] {
    background: var(--hover-overlay);
}

.org-menu-item.is-active[b-y0zdjki11w] {
    background: var(--accent-tint);
    color: var(--accent-deep);
    cursor: default;
}

.org-menu-avatar[b-y0zdjki11w] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: var(--org-avatar);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.org-menu-info[b-y0zdjki11w] {
    flex: 1;
    min-width: 0;
}

.org-menu-name[b-y0zdjki11w] {
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.org-menu-type[b-y0zdjki11w] {
    margin-top: 2px;
    font-size: 0.7rem;
    color: var(--text-tertiary);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.org-menu-role[b-y0zdjki11w] {
    margin-top: 3px;
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: var(--text-tertiary);
    line-height: 1.2;
}

.org-menu-check[b-y0zdjki11w] {
    width: 14px;
    height: 14px;
    color: var(--accent-deep);
    flex-shrink: 0;
}

/* Compact variant — used when hosted in the TopBar. Shrinks the trigger to
   one line + small avatar, hides the subtitle, and pins the dropdown to a
   fixed width independent of the (now-narrow) trigger. */
.org-switcher.compact .org-card[b-y0zdjki11w] {
    width: auto;
    padding: 0.3rem 0.55rem;
    gap: 0.55rem;
}

.org-switcher.compact .org-avatar[b-y0zdjki11w] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 0.78rem;
}

.org-switcher.compact .org-name[b-y0zdjki11w] {
    font-size: 0.9rem;
}

.org-switcher.compact .org-meta[b-y0zdjki11w] {
    display: none;
}

.org-switcher.compact .org-menu[b-y0zdjki11w] {
    left: 0;
    right: auto;
    width: 280px;
}

@media (max-width: 768px) {
    .org-switcher.compact .org-card[b-y0zdjki11w] {
        padding: 0.25rem;
    }

    .org-switcher.compact .org-info[b-y0zdjki11w],
    .org-switcher.compact .org-chevron[b-y0zdjki11w] {
        display: none;
    }
}
/* /Components/Layout/PublicSiteLayout.razor.rz.scp.css */
.public-site[b-iknoii5khe] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--bg-page);
    color: var(--text-primary);
    font-family: var(--font-sans);
}

.public-site-header[b-iknoii5khe] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--bg-page);
    border-bottom: 0.5px solid var(--border-soft);
}

.public-site-header-inner[b-iknoii5khe] {
    max-width: 1180px;
    margin: 0 auto;
    padding: 14px 32px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.public-site-brand[b-iknoii5khe] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--text-primary);
    flex-shrink: 0;
}

.public-site-mark[b-iknoii5khe] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: var(--accent);
    color: var(--on-accent);
    font-family: var(--font-serif);
    font-size: 18px;
    line-height: 1;
}

.public-site-brand-text[b-iknoii5khe] {
    display: flex;
    flex-direction: column;
    gap: 0;
    line-height: 1.1;
    min-width: 0;
}

.public-site-brand-name[b-iknoii5khe] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.public-site-brand-location[b-iknoii5khe] {
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--text-muted);
}

.public-site-nav[b-iknoii5khe] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1 1 auto;
    justify-content: center;
    flex-wrap: wrap;
    min-width: 0;
}

.public-site-navlink[b-iknoii5khe] {
    position: relative;
    color: var(--text-primary);
    text-decoration: none;
    font-size: 14px;
    padding: 6px 0;
    line-height: 1.2;
}

.public-site-navlink:hover[b-iknoii5khe] {
    color: var(--accent);
}

.public-site-navlink.is-active[b-iknoii5khe] {
    color: var(--accent);
}

.public-site-navlink.is-active[b-iknoii5khe]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: var(--accent);
    border-radius: 1px;
}

.public-site-actions[b-iknoii5khe] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.public-site-auth-link[b-iknoii5khe] {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 13px;
}

.public-site-auth-link:hover[b-iknoii5khe] {
    color: var(--accent);
}

.public-site-cta[b-iknoii5khe] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    background: var(--accent);
    color: var(--on-accent);
    border-radius: 999px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.public-site-cta:hover[b-iknoii5khe] {
    background: var(--accent-hover);
}

.public-site-cta-arrow[b-iknoii5khe] {
    font-size: 13px;
}

.public-site-main[b-iknoii5khe] {
    flex: 1;
    width: 100%;
}

.public-site-footer[b-iknoii5khe] {
    background: var(--neutral-layer-1);
    border-top: 0.5px solid var(--border-soft);
    padding: 48px 32px 24px;
    margin-top: 64px;
}

.public-site-footer-inner[b-iknoii5khe] {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
}

.public-site-footer-brand[b-iknoii5khe],
.public-site-footer-col[b-iknoii5khe] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    color: var(--text-secondary);
}

.public-site-footer-name[b-iknoii5khe] {
    font-family: var(--font-serif);
    font-size: 20px;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.public-site-footer-tagline[b-iknoii5khe] {
    color: var(--text-secondary);
    font-size: 13px;
    margin-bottom: 8px;
}

.public-site-footer-email[b-iknoii5khe] {
    color: var(--accent);
    text-decoration: none;
}

.public-site-footer-email:hover[b-iknoii5khe] {
    text-decoration: underline;
}

.public-site-footer-heading[b-iknoii5khe] {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.public-site-footer-col a[b-iknoii5khe] {
    color: var(--text-primary);
    text-decoration: none;
}

.public-site-footer-col a:hover[b-iknoii5khe] {
    color: var(--accent);
}

.public-site-footer-meta[b-iknoii5khe] {
    max-width: 1180px;
    margin: 32px auto 0;
    padding-top: 24px;
    border-top: 0.5px solid var(--border-soft);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 11px;
    color: var(--text-muted);
}

.public-site-poweredby a[b-iknoii5khe] {
    color: var(--text-muted);
    text-decoration: none;
}

.public-site-poweredby a:hover[b-iknoii5khe] {
    color: var(--accent);
    text-decoration: underline;
}

@media (max-width: 900px) {
    .public-site-header-inner[b-iknoii5khe] {
        flex-wrap: wrap;
        padding: 14px 20px;
        gap: 12px;
    }
    .public-site-nav[b-iknoii5khe] {
        order: 3;
        flex-basis: 100%;
        justify-content: flex-start;
        gap: 16px;
    }
    .public-site-actions[b-iknoii5khe] {
        margin-left: auto;
    }
    .public-site-footer[b-iknoii5khe] {
        padding: 40px 20px 20px;
    }
    .public-site-footer-inner[b-iknoii5khe] {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

@media (max-width: 540px) {
    .public-site-footer-inner[b-iknoii5khe] {
        grid-template-columns: 1fr;
    }
    .public-site-auth-link[b-iknoii5khe] {
        display: none;
    }
    .public-site-footer-meta[b-iknoii5khe] {
        flex-direction: column;
        gap: 4px;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-3vbrjq1nz0],
.components-reconnect-repeated-attempt-visible[b-3vbrjq1nz0],
.components-reconnect-failed-visible[b-3vbrjq1nz0],
.components-pause-visible[b-3vbrjq1nz0],
.components-resume-failed-visible[b-3vbrjq1nz0],
.components-rejoining-animation[b-3vbrjq1nz0] {
    display: none;
}

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


#components-reconnect-modal[b-3vbrjq1nz0] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-3vbrjq1nz0 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-3vbrjq1nz0 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-3vbrjq1nz0 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-3vbrjq1nz0]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-3vbrjq1nz0 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-3vbrjq1nz0 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-3vbrjq1nz0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-3vbrjq1nz0] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-3vbrjq1nz0] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-3vbrjq1nz0] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-3vbrjq1nz0] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-3vbrjq1nz0] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-3vbrjq1nz0] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-3vbrjq1nz0 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

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

@keyframes components-rejoining-animation-b-3vbrjq1nz0 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

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

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/RightPanel.razor.rz.scp.css */
.right-panel[b-qyr3dbp0nv] {
    grid-area: rightpanel;
    background: var(--bg-rightpanel);
    border-left: 0.5px solid var(--border-soft);
    padding: 1.25rem 1rem;
    box-sizing: border-box;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Backdrop only matters in drawer mode; hidden in the default desktop state. */
.right-panel-backdrop[b-qyr3dbp0nv] {
    display: none;
}

/* Drawer mode at non-desktop widths. MainLayout's grid drops the "rightpanel"
   named area here, so leaving `grid-area: rightpanel` above is harmless — the
   element is taken out of the grid by position: fixed below. Body class
   `right-panel-open` (toggled by wwwroot/js/right-panel.js) slides the
   drawer in from the right; the backdrop catches outside-click to close.
   Mirrors the mobile-sidebar drawer pattern. */
@media (max-width: 1180px) {
    .right-panel[b-qyr3dbp0nv] {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(320px, 92vw);
        z-index: 30;
        transform: translateX(100%);
        transition: transform 200ms ease;
        box-shadow: -4px 0 16px rgba(0, 0, 0, 0.12);
    }

    body.right-panel-open .right-panel[b-qyr3dbp0nv] {
        transform: translateX(0);
    }

    body.right-panel-open .right-panel-backdrop[b-qyr3dbp0nv] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 29;
        background: var(--backdrop-soft);
        border: 0;
        padding: 0;
        margin: 0;
        cursor: default;
    }
}

.rp-section[b-qyr3dbp0nv] {
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 0.85rem 0.9rem 0.95rem;
}

.rp-header[b-qyr3dbp0nv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.rp-title[b-qyr3dbp0nv] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-secondary);
    font-weight: 600;
}

.rp-link[b-qyr3dbp0nv] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.rp-link:hover[b-qyr3dbp0nv] {
    color: var(--accent-hover);
    text-decoration: underline;
}

.rp-list[b-qyr3dbp0nv] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

/* Events */
.rp-event[b-qyr3dbp0nv] {
    list-style: none;
}

.rp-event-link[b-qyr3dbp0nv] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: inherit;
    text-decoration: none;
    border-radius: 6px;
    padding: 2px;
    margin: -2px;
    transition: background-color 120ms ease;
}

.rp-event-link:hover[b-qyr3dbp0nv] {
    background: var(--neutral-layer-2);
}

.rp-event-link:hover .rp-event-title[b-qyr3dbp0nv] {
    color: var(--accent);
}

.rp-date[b-qyr3dbp0nv] {
    flex-shrink: 0;
    width: 40px;
    text-align: center;
    border-radius: 6px;
    padding: 4px 0 5px;
    background: var(--neutral-layer-2);
    line-height: 1;
}

.rp-date-month[b-qyr3dbp0nv] {
    font-size: 0.6rem;
    color: var(--accent);
    letter-spacing: 0.08em;
    font-weight: 600;
}

.rp-date-day[b-qyr3dbp0nv] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-top: 2px;
}

.rp-event-info[b-qyr3dbp0nv] {
    min-width: 0;
    padding-top: 1px;
}

.rp-event-title[b-qyr3dbp0nv] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-primary);
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.rp-event-when[b-qyr3dbp0nv] {
    margin-top: 2px;
    font-size: 0.72rem;
    color: var(--text-tertiary);
}

/* Members */
.rp-member[b-qyr3dbp0nv] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.rp-avatar[b-qyr3dbp0nv] {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #888;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.rp-member-info[b-qyr3dbp0nv] {
    min-width: 0;
    flex: 1;
}

.rp-member-name[b-qyr3dbp0nv] {
    font-size: 0.825rem;
    color: var(--text-primary);
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rp-member-role[b-qyr3dbp0nv] {
    font-size: 0.7rem;
    color: var(--text-tertiary);
    line-height: 1.2;
    margin-top: 1px;
}

.rp-empty[b-qyr3dbp0nv] {
    font-size: 0.8rem;
    color: var(--text-tertiary);
}

/* Tickets */
.rp-ticket[b-qyr3dbp0nv] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.rp-ticket-status[b-qyr3dbp0nv] {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 50%;
    background: #888;
    display: inline-block;
}

.rp-ticket-status.status-open[b-qyr3dbp0nv] {
    background: var(--accent);
}

.rp-ticket-status.status-in-progress[b-qyr3dbp0nv] {
    background: #EF9F27;
}

.rp-ticket-link[b-qyr3dbp0nv] {
    font-size: 0.825rem;
    color: var(--text-primary);
    text-decoration: none;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.rp-ticket-link:hover[b-qyr3dbp0nv] {
    color: var(--accent);
    text-decoration: underline;
}
/* /Components/Layout/Sidebar.razor.rz.scp.css */
.sidebar[b-jrmed82015] {
    grid-area: sidebar;
    background: var(--bg-sidebar);
    border-right: 0.5px solid var(--border-soft);
    padding: 1rem 0.85rem 1.1rem;
    overflow-y: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.sidebar-nav[b-jrmed82015] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
}

.nav-section-label[b-jrmed82015] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-tertiary);
    padding: 0 0.7rem;
    margin: 0.25rem 0 0.4rem;
    font-weight: 600;
}

/* FluentNavMenu container — Fluent's own scoped attribute marks .fluent-nav-menu,
   so target it via ::deep from our scoped CSS. The defaults (width 100%,
   padding 0 2px) are fine; we just neutralize the small side padding so
   active-state tint background lines up with .nav-section-label. */
.sidebar-nav[b-jrmed82015]  .fluent-nav-menu {
    padding: 0;
}

/* Each FluentNavLink renders:
     <div class="fluent-nav-item">
       <a class="fluent-nav-link [active]">
         <div class="positioning-region">
           <div class="content-region">
             <svg class="fluent-nav-icon" />
             <div class="fluent-nav-text">label</div>
   We restyle the positioning-region to match our coral design, kill the
   default 3px left-bar active indicator, and apply the tint background
   + bold coral text on the active link. */
.sidebar-nav[b-jrmed82015]  .fluent-nav-item .positioning-region {
    background: transparent;
    border: 0;
    border-radius: 8px;
    min-height: 0;
    padding: 0.65rem 0.8rem;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.2;
    transition: background-color 80ms ease, color 80ms ease;
}

.sidebar-nav[b-jrmed82015]  .fluent-nav-item .content-region {
    margin-inline-start: 0;
    gap: 0.85rem;
}

.sidebar-nav[b-jrmed82015]  .fluent-nav-text {
    margin-inline-start: 0;
    width: auto;
    flex: 1;
}

/* Kill the default 3px left bar indicator that FluentNavMenu draws on .active. */
.sidebar-nav[b-jrmed82015]  .fluent-nav-item a.active .positioning-region::before {
    display: none;
}

/* Hover — match our existing hover-overlay token, not Fluent's neutral fill. */
.sidebar-nav[b-jrmed82015]  .fluent-nav-item:not(.disabled) .positioning-region:hover:not(:has(.disabled)) {
    background: var(--hover-overlay);
    color: var(--text-primary);
}

/* Active — coral tint bg, bold coral text + icon (via currentColor on the svg fill). */
.sidebar-nav[b-jrmed82015]  .fluent-nav-item a.active .positioning-region {
    background: var(--accent-tint);
    color: var(--accent-deep);
    font-weight: 600;
}

.sidebar-backdrop[b-jrmed82015] {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--backdrop-strong);
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 9;
}

/* Mobile: sidebar slides in as overlay, backdrop appears when open. */
@media (max-width: 768px) {
    .sidebar[b-jrmed82015] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 260px;
        max-width: 80vw;
        transform: translateX(-100%);
        transition: transform 180ms ease;
        z-index: 10;
        padding-top: 5rem;
        box-shadow: 1px 0 8px rgba(0, 0, 0, 0.08);
    }

    body.menu-open .sidebar[b-jrmed82015] {
        transform: translateX(0);
    }

    body.menu-open .sidebar-backdrop[b-jrmed82015] {
        display: block;
    }
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
.topbar[b-74vvofmesc] {
    grid-area: topbar;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1.5rem;
    background: var(--bg-topbar);
    border-bottom: 0.5px solid var(--border-soft);
    min-height: 4rem;
    box-sizing: border-box;
}

.topbar-org[b-74vvofmesc] {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1;
}

.topbar-actions[b-74vvofmesc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.menu-toggle[b-74vvofmesc] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: var(--text-primary);
    cursor: pointer;
    padding: 0;
}

.menu-toggle:hover[b-74vvofmesc] {
    background: var(--hover-overlay);
}

.menu-toggle svg[b-74vvofmesc] {
    width: 22px;
    height: 22px;
}

/* Right-panel toggle — only visible at widths where MainLayout's grid has
   dropped the rightpanel area (≤1180px). On true desktop the right panel is
   inline in the grid and the button is unnecessary. */
.right-panel-toggle[b-74vvofmesc] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: var(--text-primary);
    cursor: pointer;
    padding: 0;
}

.right-panel-toggle:hover[b-74vvofmesc] {
    background: var(--hover-overlay);
}

.right-panel-toggle svg[b-74vvofmesc] {
    width: 20px;
    height: 20px;
}

@media (max-width: 1180px) {
    .right-panel-toggle[b-74vvofmesc] {
        display: inline-flex;
    }
}

@media (max-width: 768px) {
    .menu-toggle[b-74vvofmesc] {
        display: inline-flex;
    }

    .topbar[b-74vvofmesc] {
        padding: 0.5rem 0.85rem;
    }
}
/* /Components/Layout/UserMenu.razor.rz.scp.css */
.user-menu[b-bfgpnrf6bl] {
    position: relative;
}

.user-card[b-bfgpnrf6bl] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.55rem 0.3rem 0.35rem;
    border-radius: 10px;
    color: var(--text-primary);
    background: transparent;
    border: 0;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.user-card:hover[b-bfgpnrf6bl],
.user-menu.open .user-card[b-bfgpnrf6bl] {
    background: var(--hover-overlay);
}

.user-avatar[b-bfgpnrf6bl] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #6b7a8f;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.user-firstname[b-bfgpnrf6bl] {
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text-primary);
    max-width: 9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-chevron[b-bfgpnrf6bl] {
    width: 12px;
    height: 12px;
    color: var(--text-tertiary);
    flex-shrink: 0;
    transition: transform 120ms ease;
}

.user-menu.open .user-chevron[b-bfgpnrf6bl] {
    transform: rotate(180deg);
}

.user-menu-pop[b-bfgpnrf6bl] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: min(260px, 92vw);
    z-index: 20;
    background: var(--surface-elevated);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 0.45rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

@media (max-width: 768px) {
    .user-card[b-bfgpnrf6bl] {
        padding: 0.25rem;
    }

    .user-firstname[b-bfgpnrf6bl],
    .user-chevron[b-bfgpnrf6bl] {
        display: none;
    }
}

.user-menu-header[b-bfgpnrf6bl] {
    padding: 0.35rem 0.55rem 0.5rem;
    border-bottom: 0.5px solid var(--border-soft);
    margin-bottom: 0.2rem;
}

.user-menu-name[b-bfgpnrf6bl] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-menu-email[b-bfgpnrf6bl] {
    margin-top: 2px;
    font-size: 0.7rem;
    color: var(--text-tertiary);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-menu-form[b-bfgpnrf6bl] {
    margin: 0;
}

.user-menu-item[b-bfgpnrf6bl] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.55rem;
    padding: 0.5rem 0.55rem;
    border-radius: 6px;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    cursor: pointer;
    color: var(--text-primary);
    font-size: 0.85rem;
}

.user-menu-item:hover[b-bfgpnrf6bl] {
    background: var(--hover-overlay);
}

.user-menu-item svg[b-bfgpnrf6bl] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.user-menu-item.danger[b-bfgpnrf6bl] {
    color: var(--danger);
}

.user-menu-item.danger:hover[b-bfgpnrf6bl] {
    background: var(--danger-tint);
    color: var(--danger-hover);
}

/* Theme picker (Auto / Ljus / Mörk segmented control). */
.theme-picker[b-bfgpnrf6bl] {
    padding: 0.35rem 0.55rem 0.4rem;
    border-top: 0.5px solid var(--border-soft);
    border-bottom: 0.5px solid var(--border-soft);
    margin: 0.15rem 0;
}

.theme-picker-label[b-bfgpnrf6bl] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-tertiary);
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.theme-picker-buttons[b-bfgpnrf6bl] {
    display: flex;
    gap: 0.2rem;
}

.theme-btn[b-bfgpnrf6bl] {
    flex: 1;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    border: 0.5px solid var(--border-soft);
    background: transparent;
    color: var(--text-secondary);
    font: inherit;
    font-size: 0.75rem;
    cursor: pointer;
}

.theme-btn:hover[b-bfgpnrf6bl] {
    background: var(--hover-overlay);
    color: var(--text-primary);
}

.theme-btn.active[b-bfgpnrf6bl] {
    background: var(--accent-tint);
    border-color: var(--accent);
    color: var(--accent-deep);
    font-weight: 600;
}
/* /Components/Pages/Documents/Documents.razor.rz.scp.css */
.breadcrumb[b-f9uk03g4fs] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
    color: var(--text-secondary);
}

.breadcrumb a[b-f9uk03g4fs] {
    color: var(--accent-deep, #993c1d);
    text-decoration: none;
}

.breadcrumb a:hover[b-f9uk03g4fs] {
    text-decoration: underline;
}

.breadcrumb .current[b-f9uk03g4fs] {
    color: var(--text-primary);
    font-weight: 500;
}

.breadcrumb .sep[b-f9uk03g4fs] {
    color: var(--text-muted);
}

.documents-toolbar[b-f9uk03g4fs] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0.75rem 0 0.5rem;
}

.document-search[b-f9uk03g4fs] {
    flex: 1 1 320px;
    min-width: 0;
    padding: 0.55rem 0.85rem;
    border: 0.5px solid var(--border-soft);
    border-radius: 8px;
    background: var(--surface-card);
    color: var(--text-primary);
    font: inherit;
    font-size: 0.92rem;
    line-height: 1.3;
}

.document-search:focus-visible[b-f9uk03g4fs] {
    outline: none;
    border-color: var(--accent, #D85A30);
    box-shadow: 0 0 0 3px var(--accent-tint, #faece7);
}

.documents-grid[b-f9uk03g4fs] {
    margin-top: 0.25rem;
}

.row-link[b-f9uk03g4fs] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    color: var(--text-primary);
}

.row-link:hover .row-name[b-f9uk03g4fs] {
    text-decoration: underline;
}

.row-icon[b-f9uk03g4fs] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.row-icon.folder[b-f9uk03g4fs] {
    color: var(--accent-deep, #993c1d);
}

.row-icon.file[b-f9uk03g4fs] {
    color: var(--text-secondary);
}

.row-name[b-f9uk03g4fs] {
    font-weight: 500;
}

.row-meta[b-f9uk03g4fs] {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.empty[b-f9uk03g4fs] {
    color: var(--text-secondary);
}

.move-picker[b-f9uk03g4fs] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 320px;
    overflow-y: auto;
    border: 0.5px solid var(--border-soft);
    border-radius: 8px;
    padding: 8px 10px;
}

.move-option[b-f9uk03g4fs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 4px 2px;
    cursor: pointer;
    font-size: 0.92rem;
}

.move-option input[type="radio"][b-f9uk03g4fs] {
    margin: 0;
}

.visibility-fieldset[b-f9uk03g4fs] {
    border: 0;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.visibility-fieldset legend[b-f9uk03g4fs] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 4px;
    padding: 0;
}

.visibility-option[b-f9uk03g4fs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.92rem;
}

.visibility-option input[type="radio"][b-f9uk03g4fs] {
    margin: 0;
}
/* /Components/Pages/Events/Calendar.razor.rz.scp.css */
.event-list[b-wpv04rygng] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.event-row[b-wpv04rygng] {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 16px;
    align-items: center;
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 14px 16px;
    text-decoration: none;
    color: inherit;
    transition: background-color 120ms ease, border-color 120ms ease;
}

.event-row:hover[b-wpv04rygng] {
    background: var(--neutral-layer-2);
    border-color: var(--border-medium, var(--border-soft));
}

.date-pill[b-wpv04rygng] {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
}

.date-month[b-wpv04rygng] {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    color: var(--accent-deep, #993c1d);
    font-weight: 600;
}

.date-day[b-wpv04rygng] {
    font-family: var(--font-serif);
    font-size: 1.9rem;
    font-weight: 400;
    color: var(--text-primary);
    margin-top: 2px;
}

.date-weekday[b-wpv04rygng] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
    margin-top: 2px;
}

.event-main[b-wpv04rygng] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.event-title[b-wpv04rygng] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.15rem;
    color: var(--text-primary);
    line-height: 1.25;
}

.event-meta[b-wpv04rygng] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.meta-item[b-wpv04rygng] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.event-chevron[b-wpv04rygng] {
    font-size: 1.5rem;
    color: var(--text-tertiary);
    line-height: 1;
}

.empty[b-wpv04rygng] {
    color: var(--text-secondary);
    margin-top: 0.5rem;
}

.pager[b-wpv04rygng] {
    margin-top: 1.5rem;
}

@media (max-width: 480px) {
    .event-row[b-wpv04rygng] {
        grid-template-columns: 56px 1fr auto;
        gap: 12px;
        padding: 12px 14px;
    }

    .date-day[b-wpv04rygng] {
        font-size: 1.6rem;
    }

    .event-meta[b-wpv04rygng] {
        gap: 10px;
    }
}
/* /Components/Pages/Events/CalendarMonth.razor.rz.scp.css */
.month-nav[b-6blpp47wxu] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin: 1rem 0 1.25rem;
}

.month-label[b-6blpp47wxu] {
    font-size: 1.05rem;
    font-weight: 500;
    min-width: 180px;
    text-align: center;
}

.month-grid[b-6blpp47wxu] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: var(--border-soft);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    overflow: hidden;
}

.month-grid-header[b-6blpp47wxu] {
    background: var(--neutral-layer-2);
    padding: 0.55rem 0.6rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary);
    font-weight: 600;
    text-align: center;
}

.month-day[b-6blpp47wxu] {
    background: var(--surface-card);
    min-height: 110px;
    padding: 0.4rem 0.45rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    overflow: hidden;
}

.month-day.outside[b-6blpp47wxu] {
    background: var(--neutral-layer-1);
    color: var(--text-muted);
}

.day-num-wrap[b-6blpp47wxu] {
    height: 22px;
    display: flex;
    align-items: center;
}

.month-day .day-num[b-6blpp47wxu] {
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1;
}

.month-day.today .day-num[b-6blpp47wxu] {
    background: var(--accent);
    color: #fff;
    border-radius: 999px;
    padding: 3px 7px;
}

.event-chip[b-6blpp47wxu] {
    display: block;
    font-size: 0.71rem;
    background: var(--neutral-layer-2);
    border-left: 2px solid var(--accent);
    padding: 2px 5px;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    color: var(--text-primary);
    text-decoration: none;
}

.event-chip:hover[b-6blpp47wxu] {
    background: var(--accent-tint, #faece7);
}

.event-chip.past[b-6blpp47wxu] {
    border-left-color: #b8b8b8;
    color: var(--text-tertiary);
    opacity: 0.7;
}

.month-day.outside .event-chip[b-6blpp47wxu] {
    opacity: 0.55;
}

.more-chip[b-6blpp47wxu] {
    font-size: 0.68rem;
    color: var(--text-tertiary);
    padding: 1px 4px;
}

@media (max-width: 768px) {
    .month-day[b-6blpp47wxu] {
        min-height: 80px;
        padding: 0.3rem 0.3rem 0.4rem;
    }

    .month-grid-header[b-6blpp47wxu] {
        padding: 0.4rem 0.3rem;
        font-size: 0.62rem;
    }

    .event-chip[b-6blpp47wxu] {
        font-size: 0.65rem;
        padding: 1px 3px;
    }

    .more-chip[b-6blpp47wxu] {
        font-size: 0.62rem;
    }

    .month-label[b-6blpp47wxu] {
        min-width: 130px;
        font-size: 0.95rem;
    }
}
/* /Components/Pages/Events/EventDetail.razor.rz.scp.css */
.back-link[b-yquhh0mvsf] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1rem;
    color: var(--accent-deep, #993c1d);
    font-size: 0.9rem;
    text-decoration: none;
}

.back-link:hover[b-yquhh0mvsf] {
    text-decoration: underline;
}

.back-arrow[b-yquhh0mvsf] {
    font-size: 1rem;
    line-height: 1;
}

.event-stack[b-yquhh0mvsf] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.info-cards[b-yquhh0mvsf] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.info-card[b-yquhh0mvsf] {
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 14px 16px;
}

.info-label[b-yquhh0mvsf] {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    color: var(--text-tertiary);
    text-transform: uppercase;
    margin-bottom: 6px;
}

.info-value[b-yquhh0mvsf] {
    font-size: 1rem;
    color: var(--text-primary);
    font-weight: 500;
}

.info-value.info-muted[b-yquhh0mvsf] {
    color: var(--text-tertiary);
    font-weight: 400;
    font-style: italic;
}

.info-sub[b-yquhh0mvsf] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-top: 2px;
}

.rsvp-label[b-yquhh0mvsf] {
    font-weight: 500;
    color: var(--text-primary);
}

.rsvp-buttons[b-yquhh0mvsf] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rsvp-past[b-yquhh0mvsf] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-style: italic;
}

.check[b-yquhh0mvsf] {
    margin-right: 4px;
}

.event-body[b-yquhh0mvsf] {
    white-space: pre-wrap;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-primary);
}

.attendees-grid[b-yquhh0mvsf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}

.attendee-card[b-yquhh0mvsf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 10px 14px;
}

.attendee-avatar[b-yquhh0mvsf] {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #888;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.attendee-name[b-yquhh0mvsf] {
    flex: 1;
    min-width: 0;
    color: var(--text-primary);
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.attendee-check[b-yquhh0mvsf] {
    color: var(--text-tertiary);
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .info-cards[b-yquhh0mvsf] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .attendees-grid[b-yquhh0mvsf] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Feed/Feed.razor.rz.scp.css */
.feed-toolbar[b-3fpewhm72c] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.25rem;
    border-bottom: 0.5px solid var(--border-soft);
}

.feed-tabs[b-3fpewhm72c] {
    display: flex;
    gap: 0.25rem;
}

.feed-filter[b-3fpewhm72c] {
    margin-bottom: 0.25rem;
}

.feed-tab[b-3fpewhm72c] {
    background: transparent;
    border: 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
    padding: 0.55rem 0.9rem;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    font-family: inherit;
    line-height: 1.2;
    transition: color 80ms ease, border-color 80ms ease;
}

.feed-tab:hover[b-3fpewhm72c] {
    color: var(--text-primary);
}

.feed-tab.is-active[b-3fpewhm72c] {
    color: var(--accent);
    border-bottom-color: var(--accent);
    font-weight: 500;
}

.post-list[b-3fpewhm72c] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.post-card[b-3fpewhm72c] {
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 0.95rem 1.1rem 0.75rem;
}

.post-card.is-pinned[b-3fpewhm72c] {
    border-left: 3px solid var(--accent);
    padding-left: calc(1.1rem - 2.5px);
}

.post-card.is-hidden[b-3fpewhm72c] {
    background: var(--neutral-layer-2);
    opacity: 0.85;
}

.pinned-marker[b-3fpewhm72c] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--accent);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 0.55rem;
}

.pinned-marker svg[b-3fpewhm72c] {
    width: 12px;
    height: 12px;
}

.post-row[b-3fpewhm72c] {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.post-avatar[b-3fpewhm72c] {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #888;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.post-content[b-3fpewhm72c] {
    flex: 1;
    min-width: 0;
}

.post-header[b-3fpewhm72c] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}

.post-author[b-3fpewhm72c] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.post-sep[b-3fpewhm72c] {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.post-time[b-3fpewhm72c] {
    color: var(--text-tertiary);
    font-size: 0.8rem;
}

.post-title[b-3fpewhm72c] {
    margin: 0.2rem 0 0.35rem 0;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--text-primary);
}

.post-title-link[b-3fpewhm72c] {
    color: inherit;
    text-decoration: none;
}

.post-title-link:hover[b-3fpewhm72c] {
    text-decoration: underline;
}

.post-stat-link[b-3fpewhm72c] {
    color: var(--text-tertiary);
    text-decoration: none;
    cursor: pointer;
}

.post-stat-link:hover[b-3fpewhm72c] {
    color: var(--text-primary);
}

.post-body[b-3fpewhm72c] {
    white-space: pre-wrap;
    font-size: 0.93rem;
    line-height: 1.5;
    color: var(--text-primary);
}

.post-footer[b-3fpewhm72c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.7rem;
    padding-top: 0.55rem;
    border-top: 0.5px solid var(--border-soft);
}

.post-stat[b-3fpewhm72c] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--text-tertiary);
}

.post-stat svg[b-3fpewhm72c] {
    width: 14px;
    height: 14px;
}

[b-3fpewhm72c] .visibility-admin::part(control) {
    background: #fbe7df;
    color: #8a3a1d;
    font-size: 0.7rem;
}

[b-3fpewhm72c] .badge-hidden::part(control) {
    background: #efefef;
    color: var(--text-secondary);
    font-size: 0.7rem;
}

[b-3fpewhm72c] .target-group::part(control) {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
    font-size: 0.7rem;
}

.empty[b-3fpewhm72c] {
    color: var(--text-secondary);
    margin-top: 0.5rem;
}

.pager[b-3fpewhm72c] {
    margin-top: 1.5rem;
}
/* /Components/Pages/Feed/FeedPostDetail.razor.rz.scp.css */
.breadcrumb[b-8fqfktwuvy] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
    color: var(--text-secondary);
}

.breadcrumb a[b-8fqfktwuvy] {
    color: var(--accent-deep, #993c1d);
    text-decoration: none;
}

.breadcrumb a:hover[b-8fqfktwuvy] {
    text-decoration: underline;
}

.breadcrumb .current[b-8fqfktwuvy] {
    color: var(--text-primary);
    font-weight: 500;
}

.breadcrumb .sep[b-8fqfktwuvy] {
    color: var(--text-muted);
}

.page-stack[b-8fqfktwuvy] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    margin-top: 1.25rem;
}

.post-detail[b-8fqfktwuvy] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.post-header-row[b-8fqfktwuvy] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.post-avatar[b-8fqfktwuvy] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #888;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.post-meta[b-8fqfktwuvy] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.post-author[b-8fqfktwuvy] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-primary);
}

.post-sep[b-8fqfktwuvy] {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.post-time[b-8fqfktwuvy] {
    color: var(--text-tertiary);
    font-size: 0.85rem;
}

.post-title[b-8fqfktwuvy] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.7rem;
    margin: 0;
    color: var(--text-primary);
    line-height: 1.2;
}

.post-body[b-8fqfktwuvy] {
    white-space: pre-wrap;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-primary);
}

/* Markdig wraps each paragraph in <p> with the browser's default
   ~1em block margin, which on top of our 1.6 line-height feels too
   airy. Tighten paragraph and list spacing, and drop white-space:
   pre-wrap (the source markdown has already collapsed newlines). */
[b-8fqfktwuvy] .markdown-body {
    white-space: normal;
}

[b-8fqfktwuvy] .markdown-body p,
[b-8fqfktwuvy] .markdown-body ul,
[b-8fqfktwuvy] .markdown-body ol {
    margin: 0.5em 0;
}

[b-8fqfktwuvy] .markdown-body > :first-child {
    margin-top: 0;
}

[b-8fqfktwuvy] .markdown-body > :last-child {
    margin-bottom: 0;
}

.comments[b-8fqfktwuvy] {
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 0.5px solid var(--border-soft);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.section-title[b-8fqfktwuvy] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.1rem;
    margin: 0;
    color: var(--text-primary);
}

.empty[b-8fqfktwuvy] {
    color: var(--text-secondary);
}

.comment-list[b-8fqfktwuvy] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.comment[b-8fqfktwuvy] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.comment-avatar[b-8fqfktwuvy] {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #888;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comment-bubble[b-8fqfktwuvy] {
    flex: 1;
    background: var(--neutral-layer-2);
    border-radius: 10px;
    padding: 0.5rem 0.75rem 0.6rem;
    min-width: 0;
}

.comment-header[b-8fqfktwuvy] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.comment-author[b-8fqfktwuvy] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--text-primary);
}

.comment-timestamp[b-8fqfktwuvy] {
    color: var(--text-tertiary);
    font-size: 0.75rem;
}

.comment-body[b-8fqfktwuvy] {
    white-space: pre-wrap;
    font-size: 0.9rem;
    margin-top: 0.2rem;
    line-height: 1.45;
    color: var(--text-primary);
}

[b-8fqfktwuvy] .comment-delete::part(control) {
    font-size: 0.7rem;
    padding: 2px 6px;
}

.comment-composer[b-8fqfktwuvy] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

[b-8fqfktwuvy] .visibility-admin::part(control) {
    background: #fbe7df;
    color: #8a3a1d;
    font-size: 0.7rem;
}

[b-8fqfktwuvy] .badge-hidden::part(control) {
    background: #efefef;
    color: var(--text-secondary);
    font-size: 0.7rem;
}

[b-8fqfktwuvy] .target-group::part(control) {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
    font-size: 0.7rem;
}
/* /Components/Pages/Feed/NewsCompose.razor.rz.scp.css */
.breadcrumb[b-z3u68t9aia] {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.breadcrumb a[b-z3u68t9aia] {
    color: var(--text-secondary);
    text-decoration: none;
}

.breadcrumb a:hover[b-z3u68t9aia] {
    text-decoration: underline;
}

.breadcrumb .sep[b-z3u68t9aia] {
    margin: 0 0.4rem;
    color: var(--text-secondary);
}

.breadcrumb .current[b-z3u68t9aia] {
    color: var(--text-primary);
    font-weight: 500;
}

.page-stack[b-z3u68t9aia] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.settings-form[b-z3u68t9aia] {
    width: 100%;
}

.form-stack[b-z3u68t9aia] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.field[b-z3u68t9aia] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
}

.field-label[b-z3u68t9aia] {
    font-weight: 600;
    font-size: 14px;
}

.field > .muted[b-z3u68t9aia] {
    margin-bottom: 4px;
}

.muted[b-z3u68t9aia] {
    color: var(--text-muted);
    font-size: 12px;
}

[b-z3u68t9aia] .markdown-input textarea,
[b-z3u68t9aia] .markdown-input .e-content {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
}
/* /Components/Pages/Feed/NewsEdit.razor.rz.scp.css */
.breadcrumb[b-vipe55yo0h] {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.breadcrumb a[b-vipe55yo0h] {
    color: var(--text-secondary);
    text-decoration: none;
}

.breadcrumb a:hover[b-vipe55yo0h] {
    text-decoration: underline;
}

.breadcrumb .sep[b-vipe55yo0h] {
    margin: 0 0.4rem;
    color: var(--text-secondary);
}

.breadcrumb .current[b-vipe55yo0h] {
    color: var(--text-primary);
    font-weight: 500;
}

.page-stack[b-vipe55yo0h] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.settings-form[b-vipe55yo0h] {
    width: 100%;
}

.form-stack[b-vipe55yo0h] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.field[b-vipe55yo0h] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
}

.field-label[b-vipe55yo0h] {
    font-weight: 600;
    font-size: 14px;
}

.field > .muted[b-vipe55yo0h] {
    margin-bottom: 4px;
}

.muted[b-vipe55yo0h] {
    color: var(--text-muted);
    font-size: 12px;
}

[b-vipe55yo0h] .markdown-input textarea,
[b-vipe55yo0h] .markdown-input .e-content {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
}
/* /Components/Pages/Groups/AddGroupMembersDialog.razor.rz.scp.css */
.picker-grid[b-gcgntrmlml] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 16px;
    flex: 1;
    min-height: 0;
    margin-top: 12px;
}

.picker-left[b-gcgntrmlml],
.picker-right[b-gcgntrmlml] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
}

.picker-right[b-gcgntrmlml] {
    border-left: 1px solid var(--border-soft);
    padding-left: 16px;
}

.suggestion-label[b-gcgntrmlml] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--text-secondary);
    margin: 14px 0 6px;
}

.suggestion-list[b-gcgntrmlml] {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.suggestion-list li[b-gcgntrmlml] {
    margin: 0;
}

.suggestion-row[b-gcgntrmlml] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    background: transparent;
    border: none;
    border-left: 3px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    text-align: left;
    color: inherit;
    font: inherit;
}

.suggestion-row:hover[b-gcgntrmlml] {
    background: var(--accent-tint, rgba(0,0,0,0.04));
}

.suggestion-row:focus-visible[b-gcgntrmlml] {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}

.suggestion-row.is-selected[b-gcgntrmlml] {
    background: var(--accent-tint, rgba(0,0,0,0.04));
    border-left-color: var(--accent);
}

.suggestion-meta[b-gcgntrmlml] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.suggestion-name[b-gcgntrmlml] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.suggestion-sub[b-gcgntrmlml] {
    color: var(--text-secondary);
    font-size: 0.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.suggestion-check[b-gcgntrmlml] {
    color: var(--accent);
    font-weight: 600;
    margin-left: 6px;
}

.picker-empty[b-gcgntrmlml] {
    color: var(--text-secondary);
    padding: 16px 4px;
    font-size: 0.9rem;
}

.selected-header[b-gcgntrmlml] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-soft);
}

.selected-count[b-gcgntrmlml] {
    font-weight: 500;
    color: var(--text-secondary);
}

.link-button[b-gcgntrmlml] {
    background: none;
    border: none;
    padding: 0;
    color: var(--accent);
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
}

.link-button:hover[b-gcgntrmlml] {
    text-decoration: underline;
}

.selected-empty[b-gcgntrmlml] {
    color: var(--text-secondary);
    font-size: 0.85rem;
    padding: 16px 4px;
}

.selected-list[b-gcgntrmlml] {
    list-style: none;
    margin: 0;
    padding: 8px 0 0;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.selected-chip[b-gcgntrmlml] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    border: 1px solid var(--border-soft);
    border-radius: 999px;
    min-width: 0;
    max-width: 100%;
}

.chip-name[b-gcgntrmlml] {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9rem;
}

.chip-remove[b-gcgntrmlml] {
    background: none;
    border: none;
    padding: 0 4px;
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 1.1rem;
    line-height: 1;
    border-radius: 4px;
}

.chip-remove:hover[b-gcgntrmlml] {
    color: var(--text-primary, inherit);
    background: var(--accent-tint, rgba(0,0,0,0.05));
}

.chip-remove:focus-visible[b-gcgntrmlml] {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

@media (max-width: 720px) {
    .picker-grid[b-gcgntrmlml] {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        gap: 8px;
    }

    /* The suggestion-row checkmark already conveys selection state, so the
       chip list is redundant on mobile. Keep just the header (count +
       Återställ) on top; to revert a removal, tap the row again. */
    .picker-right[b-gcgntrmlml] {
        order: -1;
        border-left: none;
        padding-left: 0;
    }

    .selected-list[b-gcgntrmlml],
    .selected-empty[b-gcgntrmlml] {
        display: none;
    }

    .selected-header[b-gcgntrmlml] {
        border-bottom: none;
        padding-bottom: 0;
    }
}
/* /Components/Pages/Groups/GroupDetail.razor.rz.scp.css */
.breadcrumb[b-3nfupbp6uy] {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.breadcrumb a[b-3nfupbp6uy] {
    color: var(--text-secondary);
    text-decoration: none;
}

.breadcrumb a:hover[b-3nfupbp6uy] {
    text-decoration: underline;
}

.breadcrumb .sep[b-3nfupbp6uy] {
    margin: 0 0.4rem;
    color: var(--text-secondary);
}

.breadcrumb .current[b-3nfupbp6uy] {
    color: var(--text-primary);
    font-weight: 500;
}

.group-detail[b-3nfupbp6uy] {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.detail-header[b-3nfupbp6uy] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.group-title[b-3nfupbp6uy] {
    margin: 0;
    flex: 1;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.9rem;
}

.header-actions[b-3nfupbp6uy] {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.description-text[b-3nfupbp6uy] {
    margin: 0;
    color: var(--text-primary);
    white-space: pre-wrap;
}

.permissions-hint[b-3nfupbp6uy] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.empty[b-3nfupbp6uy] {
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.action-cell[b-3nfupbp6uy] {
    text-align: right;
}

.member-name[b-3nfupbp6uy] {
    margin-right: 0.5rem;
}

[b-3nfupbp6uy] .admin-badge::part(control) {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
    font-size: 0.7rem;
}

.icon-button[b-3nfupbp6uy] {
    background: transparent;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--text-secondary);
}

.icon-button.danger[b-3nfupbp6uy] {
    color: var(--accent, currentColor);
}

.icon-button svg[b-3nfupbp6uy] {
    width: 18px;
    height: 18px;
    display: block;
}

.icon-button:hover[b-3nfupbp6uy] {
    color: var(--accent-deep, currentColor);
}
/* /Components/Pages/Groups/Groups.razor.rz.scp.css */
.empty[b-n4n6wx5iqn] {
    color: var(--text-secondary);
    margin-top: 0.5rem;
}

.group-name-link[b-n4n6wx5iqn] {
    color: var(--accent-deep, currentColor);
    text-decoration: none;
    font-weight: 500;
}

.group-name-link:hover[b-n4n6wx5iqn],
.group-name-link:focus-visible[b-n4n6wx5iqn] {
    text-decoration: underline;
}

.action-cell[b-n4n6wx5iqn] {
    text-align: right;
}
/* /Components/Pages/Member/Members.razor.rz.scp.css */
/* Override FluentBadge colors per MemberState / application status. The Fluent
   default neutral fill is close enough as a base; we tint the part(control). */
[b-x2yx95thz3] .state.state-active::part(control),
[b-x2yx95thz3] .state.state-accepted::part(control) {
    background: #e6f4ee;
    color: #1d6a4e;
}

[b-x2yx95thz3] .state.state-invited::part(control) {
    background: #fff4e1;
    color: #8a5a0c;
}

[b-x2yx95thz3] .state.state-inactive::part(control),
[b-x2yx95thz3] .state.state-rejected::part(control) {
    background: #efefef;
    color: var(--text-secondary);
}

/* Stack the cards inside each tab vertically with the same gap the
   PublicSite admin pages use. */
.tab-pane[b-x2yx95thz3] {
    padding-top: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.message-cell[b-x2yx95thz3] {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.row-actions-empty[b-x2yx95thz3] {
    color: var(--text-muted);
}
/* /Components/Pages/MyAccount.razor.rz.scp.css */
.account-section[b-6n0g1oli0n] {
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

.section-title[b-6n0g1oli0n] {
    margin: 0 0 12px 0;
    font-size: 1.05rem;
    font-weight: 500;
}

.section-header[b-6n0g1oli0n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.section-header .section-title[b-6n0g1oli0n] {
    margin: 0;
}

.section-description[b-6n0g1oli0n] {
    margin: 0 0 12px 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.profile-list[b-6n0g1oli0n] {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 6px 16px;
    margin: 0;
}

.profile-list dt[b-6n0g1oli0n] {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.profile-list dd[b-6n0g1oli0n] {
    margin: 0;
    font-size: 0.95rem;
}

.export-form[b-6n0g1oli0n] {
    margin: 0 0 16px 0;
}

.export-list[b-6n0g1oli0n] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.export-row[b-6n0g1oli0n] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    border: 0.5px solid var(--border-soft);
    border-radius: 8px;
    background: #fafafa;
}

.export-row-meta[b-6n0g1oli0n] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
}

.export-row-date[b-6n0g1oli0n] {
    color: var(--text-primary);
}

.export-row-size[b-6n0g1oli0n] {
    color: var(--text-tertiary);
    font-size: 0.82rem;
}

.muted[b-6n0g1oli0n] {
    color: var(--text-tertiary);
    font-size: 0.9rem;
}

.download-link[b-6n0g1oli0n] {
    color: var(--accent-fill-rest, #D85A30);
    text-decoration: none;
    font-weight: 500;
}

.download-link:hover[b-6n0g1oli0n] {
    text-decoration: underline;
}

.empty[b-6n0g1oli0n] {
    color: var(--text-tertiary);
    margin-top: 8px;
}

.danger-section[b-6n0g1oli0n] {
    border-color: #f0d4cc;
}

.delete-form[b-6n0g1oli0n] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    margin-top: 12px;
}

.delete-label[b-6n0g1oli0n] {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.consent-history[b-6n0g1oli0n] {
    margin-top: 12px;
    font-size: 0.9rem;
}

.consent-history summary[b-6n0g1oli0n] {
    cursor: pointer;
    color: var(--text-secondary);
}

.consent-history ul[b-6n0g1oli0n] {
    list-style: none;
    padding: 8px 0 0 0;
    margin: 0;
}

.consent-history li[b-6n0g1oli0n] {
    padding: 4px 0;
    color: #444;
}

.status-completed[b-6n0g1oli0n]::part(control) {
    background: #d6f0e0;
    color: #1d6f43;
}

.status-pending[b-6n0g1oli0n]::part(control) {
    background: #fff1d4;
    color: #8a5a00;
}

.status-failed[b-6n0g1oli0n]::part(control) {
    background: #f9d7d2;
    color: #963022;
}
/* /Components/Pages/NotificationSettings.razor.rz.scp.css */
.pref-list[b-zqy3zysw6s] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pref-row[b-zqy3zysw6s] {
    padding: 12px 0;
    border-bottom: 0.5px solid var(--border-soft);
}

.pref-row:last-child[b-zqy3zysw6s] {
    border-bottom: 0;
    padding-bottom: 0;
}

.pref-row:first-child[b-zqy3zysw6s] {
    padding-top: 0;
}

.pref-hint[b-zqy3zysw6s] {
    margin-top: 4px;
    margin-left: 26px;
    font-size: 0.82rem;
    color: var(--text-tertiary);
}
/* /Components/Pages/Public/Apply.razor.rz.scp.css */
.public-page[b-2iadovyqyi] {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 32px 96px;
    box-sizing: border-box;
}

.public-site-empty[b-2iadovyqyi] {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 32px 96px;
    box-sizing: border-box;
}

.public-site-empty h1[b-2iadovyqyi] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(32px, 4vw, 44px);
    margin: 0 0 16px;
    color: var(--text-primary);
}

.public-site-empty p[b-2iadovyqyi] {
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin: 0;
}

.public-site-empty code[b-2iadovyqyi] {
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
    font-size: 14px;
    background: var(--neutral-layer-1);
    padding: 1px 6px;
    border-radius: 4px;
}

.public-page-header[b-2iadovyqyi] {
    margin-bottom: 32px;
    border-bottom: 0.5px solid var(--border-soft);
    padding-bottom: 24px;
}

.public-page-header h1[b-2iadovyqyi] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(40px, 6vw, 64px);
    line-height: 1.05;
    margin: 0;
    color: var(--text-primary);
}

.public-page-lede[b-2iadovyqyi] {
    margin: 16px 0 0;
    font-size: 17px;
    line-height: 1.6;
    color: var(--text-secondary);
    max-width: 60ch;
}

.public-page-body[b-2iadovyqyi] {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-primary);
}

.public-page-body p:first-child[b-2iadovyqyi] {
    margin-top: 0;
}

.public-page-body a[b-2iadovyqyi] {
    color: var(--accent);
}

/* Stack form fields vertically with even gaps. Defers per-input styling to the
   shared .field rules in app.css so InputText / InputTextArea pick them up
   (their <input>/<textarea> elements live in a child component scope that
   this stylesheet can't reach without ::deep, and the global rules already
   match anonymous-flow conventions). */
.apply-form[b-2iadovyqyi] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 8px;
}

.apply-form .field[b-2iadovyqyi] {
    margin: 0;
}

.apply-form .actions[b-2iadovyqyi] {
    margin-top: 8px;
}

/* Honeypot — visually hidden, off-screen, untabbable. */
.honeypot[b-2iadovyqyi] {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 540px) {
    .public-page[b-2iadovyqyi] {
        padding: 56px 20px 72px;
    }
}
/* /Components/Pages/Public/Landing.razor.rz.scp.css */
/* The landing scrolls full-width; sections own their own container width. */

.landing-empty[b-0xctca1ge0] {
    max-width: 720px;
    margin: 96px auto;
    padding: 0 32px;
    text-align: center;
}

.landing-empty h1[b-0xctca1ge0] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 32px;
}

.landing-empty code[b-0xctca1ge0] {
    background: var(--neutral-layer-1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* ---------- Hero ---------- */

.landing-hero[b-0xctca1ge0] {
    position: relative;
    background: linear-gradient(
        135deg,
        var(--accent-tint) 0%,
        var(--neutral-layer-1) 60%);
    color: var(--text-primary);
    overflow: hidden;
    min-height: 320px;
    display: flex;
    align-items: flex-end;
}

.landing-hero.has-image[b-0xctca1ge0] {
    color: #fff;
    min-height: 400px;
}

.landing-hero-bg[b-0xctca1ge0] {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.landing-hero-overlay[b-0xctca1ge0] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(34, 22, 14, 0.05) 0%,
        rgba(34, 22, 14, 0.55) 100%);
}

.landing-hero-content[b-0xctca1ge0] {
    position: relative;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding: 48px 32px;
    z-index: 1;
}

.landing-hero-eyebrow[b-0xctca1ge0] {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: inherit;
    opacity: 0.75;
    margin-bottom: 24px;
}

.landing-hero-title[b-0xctca1ge0] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(48px, 8vw, 88px);
    line-height: 1.02;
    margin: 0 0 16px;
    color: inherit;
    max-width: 12ch;
}

.landing-hero-tagline[b-0xctca1ge0] {
    font-size: 18px;
    color: inherit;
    opacity: 0.9;
    margin: 0;
    max-width: 50ch;
}

.landing-hero-caption[b-0xctca1ge0] {
    position: absolute;
    top: 16px;
    right: 24px;
    font-size: 11px;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.7);
    z-index: 1;
}

/* ---------- Section shell ---------- */

.landing-section[b-0xctca1ge0] {
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 32px;
    box-sizing: border-box;
}

.landing-section-eyebrow[b-0xctca1ge0] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.landing-eyebrow-rule[b-0xctca1ge0] {
    display: inline-block;
    width: 36px;
    height: 1px;
    background: var(--border-soft);
}

.landing-eyebrow-text[b-0xctca1ge0] {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.landing-section-tag[b-0xctca1ge0] {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
    display: block;
    margin-bottom: 6px;
}

.landing-section-title[b-0xctca1ge0] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.1;
    margin: 0;
    color: var(--text-primary);
}

.landing-section-header[b-0xctca1ge0] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    border-bottom: 0.5px solid var(--border-soft);
    padding-bottom: 16px;
}

.landing-section-headings[b-0xctca1ge0] {
    min-width: 0;
}

/* ---------- Välkommen ---------- */

.landing-welcome[b-0xctca1ge0] {
    display: grid;
    grid-template-columns: 200px 1fr;
    column-gap: 48px;
    row-gap: 16px;
    padding-top: 64px;
}

.landing-welcome > .landing-section-eyebrow[b-0xctca1ge0] {
    grid-column: 1;
    margin-bottom: 0;
    align-self: start;
    padding-top: 6px;
}

.landing-welcome-body[b-0xctca1ge0] {
    grid-column: 2;
    font-size: 18px;
    line-height: 1.55;
    color: var(--text-primary);
    max-width: 60ch;
}

.landing-welcome-body :first-child[b-0xctca1ge0] {
    margin-top: 0;
}

.landing-welcome-body a[b-0xctca1ge0] {
    color: var(--accent);
}

/* ---------- Card grids ---------- */

.landing-card-grid[b-0xctca1ge0] {
    display: grid;
    gap: 16px;
}

.landing-event-grid[b-0xctca1ge0] {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.landing-post-grid[b-0xctca1ge0] {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.landing-card[b-0xctca1ge0] {
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 6px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.landing-event-card[b-0xctca1ge0] {
    gap: 8px;
}

.landing-event-date[b-0xctca1ge0] {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    color: var(--text-tertiary);
    letter-spacing: 0.02em;
}

.landing-card-title[b-0xctca1ge0] {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 16px;
    margin: 0;
    color: var(--text-primary);
    line-height: 1.3;
}

.landing-card-meta[b-0xctca1ge0] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
    color: var(--text-tertiary);
}

.landing-card-location[b-0xctca1ge0] {
    color: var(--text-secondary);
}

.landing-card-when[b-0xctca1ge0] {
    color: var(--text-tertiary);
}

.landing-card-body[b-0xctca1ge0] {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-secondary);
    margin: 0;
}

/* Category badges. Hex literals here intentionally match CLAUDE.md's
   per-category palette — these are feature-level identifiers, not site
   chrome tokens. */
.landing-badge[b-0xctca1ge0] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.02em;
    line-height: 1.4;
    background: var(--accent-tint);
    color: var(--text-primary);
}

.badge-meddelande[b-0xctca1ge0] {
    background: rgba(216, 90, 48, 0.16);
    color: #993C1D;
}

.badge-evenemang[b-0xctca1ge0] {
    background: rgba(239, 159, 39, 0.16);
    color: #8a5a14;
}

.badge-allmant[b-0xctca1ge0] {
    background: rgba(29, 158, 117, 0.16);
    color: #136b50;
}

/* ---------- Kontakt ---------- */

.landing-contact[b-0xctca1ge0] {
    padding-top: 16px;
    padding-bottom: 48px;
}

.landing-contact-inner[b-0xctca1ge0] {
    background: var(--accent-tint);
    border-radius: 10px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 56px;
    align-items: start;
}

.landing-contact-left .landing-section-eyebrow[b-0xctca1ge0] {
    margin-bottom: 12px;
}

.landing-contact-left .landing-eyebrow-rule[b-0xctca1ge0] {
    display: none;
}

.landing-contact-blurb[b-0xctca1ge0] {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-secondary);
    margin: 16px 0 0;
    max-width: 38ch;
}

.landing-contact-grid[b-0xctca1ge0] {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 32px;
    row-gap: 14px;
    margin: 0;
}

.landing-contact-grid dt[b-0xctca1ge0] {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-tertiary);
    align-self: baseline;
    line-height: 1.4;
}

.landing-contact-grid dd[b-0xctca1ge0] {
    margin: 0;
    color: var(--text-primary);
    font-size: 15px;
    line-height: 1.4;
    align-self: baseline;
}

.landing-contact-grid a[b-0xctca1ge0] {
    color: var(--accent);
    text-decoration: none;
}

.landing-contact-grid a:hover[b-0xctca1ge0] {
    text-decoration: underline;
}

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

@media (max-width: 900px) {
    .landing-section[b-0xctca1ge0] {
        padding: 20px 20px;
    }
    .landing-welcome[b-0xctca1ge0] {
        grid-template-columns: 1fr;
    }
    .landing-welcome > .landing-section-eyebrow[b-0xctca1ge0] {
        padding-top: 0;
    }
    .landing-contact-inner[b-0xctca1ge0] {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px;
    }
    .landing-hero-content[b-0xctca1ge0] {
        padding: 36px 20px;
    }
}

@media (max-width: 540px) {
    .landing-section[b-0xctca1ge0] {
        padding: 16px 20px;
    }
    .landing-section-header[b-0xctca1ge0] {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .landing-contact-grid[b-0xctca1ge0] {
        grid-template-columns: 1fr;
        row-gap: 4px;
    }
    .landing-contact-grid dt[b-0xctca1ge0] {
        padding-top: 12px;
    }
}
/* /Components/Pages/Public/PublicPage.razor.rz.scp.css */
.public-page[b-yi6eq4jks1] {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 32px 96px;
    box-sizing: border-box;
}

.public-page-header[b-yi6eq4jks1] {
    margin-bottom: 32px;
    border-bottom: 0.5px solid var(--border-soft);
    padding-bottom: 24px;
}

.public-page-header h1[b-yi6eq4jks1] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(40px, 6vw, 64px);
    line-height: 1.05;
    margin: 0;
    color: var(--text-primary);
}

.public-page-body[b-yi6eq4jks1] {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-primary);
}

.public-page-body :first-child[b-yi6eq4jks1] {
    margin-top: 0;
}

.public-page-body h2[b-yi6eq4jks1],
.public-page-body h3[b-yi6eq4jks1] {
    font-family: var(--font-sans);
    font-weight: 500;
    margin-top: 32px;
}

.public-page-body a[b-yi6eq4jks1] {
    color: var(--accent);
}

@media (max-width: 540px) {
    .public-page[b-yi6eq4jks1] {
        padding: 56px 20px 72px;
    }
}
/* /Components/Pages/PublicSite/PublicSitePageEdit.razor.rz.scp.css */
.breadcrumb[b-uehz7eloed] {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.breadcrumb a[b-uehz7eloed] {
    color: var(--text-secondary);
    text-decoration: none;
}

.breadcrumb a:hover[b-uehz7eloed] {
    text-decoration: underline;
}

.breadcrumb .sep[b-uehz7eloed] {
    margin: 0 0.4rem;
    color: var(--text-secondary);
}

.breadcrumb .current[b-uehz7eloed] {
    color: var(--text-primary);
    font-weight: 500;
}

.page-stack[b-uehz7eloed] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.settings-form[b-uehz7eloed] {
    width: 100%;
}

.form-stack[b-uehz7eloed] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.form-actions[b-uehz7eloed] {
    display: flex;
    justify-content: flex-end;
}

.field[b-uehz7eloed] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
}

.field-label[b-uehz7eloed] {
    font-weight: 600;
    font-size: 14px;
}

.field > .muted[b-uehz7eloed] {
    margin-bottom: 4px;
}

.muted[b-uehz7eloed] {
    color: var(--text-muted);
    font-size: 12px;
}

[b-uehz7eloed] .markdown-input textarea,
[b-uehz7eloed] .markdown-input .e-content {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
}

.status-card[b-uehz7eloed] {
    flex-direction: row;
    align-items: center;
    gap: 48px;
    flex-wrap: wrap;
}

.status-state[b-uehz7eloed] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 1 auto;
}

.status-label[b-uehz7eloed] {
    font-weight: 500;
    font-size: 14px;
}

.status-address[b-uehz7eloed] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
}

@media (max-width: 1180px) {
    .status-address[b-uehz7eloed] {
        align-items: flex-start;
    }
}

/* Address pill — mirrors the styling on /public-site so the page editor
   carries the same visual language. */
.address-pill[b-uehz7eloed] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--neutral-layer-1);
    border: 0.5px solid var(--border-soft);
    border-radius: 4px;
    padding: 2px 4px 2px 8px;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    width: fit-content;
    max-width: 100%;
}

.address-host[b-uehz7eloed] {
    color: var(--text-muted);
    white-space: nowrap;
}

.address-slug[b-uehz7eloed] {
    color: var(--accent);
    font-weight: 500;
    white-space: nowrap;
}

.address-copy[b-uehz7eloed] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 3px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    flex-shrink: 0;
}

.address-copy:hover:not(:disabled)[b-uehz7eloed] {
    background: var(--neutral-layer-2, rgba(0, 0, 0, 0.05));
    color: var(--text-primary);
}

.address-copy:disabled[b-uehz7eloed] {
    cursor: not-allowed;
    color: var(--text-muted);
}
/* /Components/Pages/PublicSite/PublicSitePages.razor.rz.scp.css */
.breadcrumb[b-vtnc7ibm0a] {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.breadcrumb a[b-vtnc7ibm0a] {
    color: var(--text-secondary);
    text-decoration: none;
}

.breadcrumb a:hover[b-vtnc7ibm0a] {
    text-decoration: underline;
}

.breadcrumb .sep[b-vtnc7ibm0a] {
    margin: 0 0.4rem;
    color: var(--text-secondary);
}

.breadcrumb .current[b-vtnc7ibm0a] {
    color: var(--text-primary);
    font-weight: 500;
}

[b-vtnc7ibm0a] .clickable-rows tbody tr {
    cursor: pointer;
}

[b-vtnc7ibm0a] .row-link {
    color: inherit;
    text-decoration: none;
    font-weight: 500;
}

[b-vtnc7ibm0a] .row-link:hover {
    text-decoration: underline;
}
/* /Components/Pages/PublicSite/PublicSiteSettings.razor.rz.scp.css */
.page-stack[b-q328h9ggpd] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.settings-form[b-q328h9ggpd] {
    width: 100%;
}

.settings-tabs[b-q328h9ggpd] {
    width: 100%;
}

.settings-tabs .form-stack[b-q328h9ggpd] {
    padding-top: 12px;
    padding-bottom: 16px;
}

.form-stack[b-q328h9ggpd] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.form-actions[b-q328h9ggpd] {
    display: flex;
    justify-content: flex-end;
}

[b-q328h9ggpd] .markdown-input textarea,
[b-q328h9ggpd] .markdown-input .e-content {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
}

.field[b-q328h9ggpd] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-q328h9ggpd] {
    font-weight: 600;
    font-size: 14px;
}

.field > .muted[b-q328h9ggpd] {
    margin-bottom: 4px;
}

.status-card[b-q328h9ggpd] {
    flex-direction: row;
    align-items: center;
    gap: 48px;
    flex-wrap: wrap;
}

.status-state[b-q328h9ggpd] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 1 auto;
}

.status-label[b-q328h9ggpd] {
    font-weight: 500;
    font-size: 14px;
}

.status-address[b-q328h9ggpd] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
}

@media (max-width: 1180px) {
    .status-address[b-q328h9ggpd] {
        align-items: flex-start;
    }
}

.address-pill[b-q328h9ggpd] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--neutral-layer-1);
    border: 0.5px solid var(--border-soft);
    border-radius: 4px;
    padding: 2px 4px 2px 8px;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    width: fit-content;
    max-width: 100%;
}

.address-host[b-q328h9ggpd] {
    color: var(--text-muted);
    white-space: nowrap;
}

.address-slug[b-q328h9ggpd] {
    color: var(--accent);
    font-weight: 500;
    white-space: nowrap;
}

.address-copy[b-q328h9ggpd] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 3px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    flex-shrink: 0;
}

.address-copy:hover[b-q328h9ggpd] {
    background: var(--neutral-layer-2, rgba(0, 0, 0, 0.05));
    color: var(--text-primary);
}

.info-label[b-q328h9ggpd] {
    color: var(--text-tertiary);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.muted[b-q328h9ggpd] {
    color: var(--text-muted);
    font-size: 12px;
}

.toggle-list[b-q328h9ggpd] {
    gap: 0;
}

.toggle-row[b-q328h9ggpd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 0.5px solid var(--border-soft);
}

.toggle-row:last-child[b-q328h9ggpd] {
    border-bottom: 0;
}

.toggle-meta[b-q328h9ggpd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.toggle-label[b-q328h9ggpd] {
    font-weight: 500;
    font-size: 14px;
}

.hero-preview[b-q328h9ggpd] {
    width: 100%;
    max-height: 280px;
    overflow: hidden;
    border-radius: 6px;
    background: var(--neutral-layer-1);
    border: 0.5px solid var(--border-soft);
}

.hero-preview img[b-q328h9ggpd] {
    width: 100%;
    height: 100%;
    max-height: 280px;
    object-fit: cover;
    display: block;
}

.hero-empty[b-q328h9ggpd] {
    padding: 32px;
    text-align: center;
    border: 1px dashed var(--border-soft);
    border-radius: 6px;
    background: var(--neutral-layer-1);
}

.hero-actions[b-q328h9ggpd] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* /Components/Pages/SystemAdmin/SystemOrgFeatures.razor.rz.scp.css */
.breadcrumb[b-qpfe8mryt8] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
    color: var(--text-secondary);
}

.breadcrumb a[b-qpfe8mryt8] {
    color: var(--accent-deep, #993c1d);
    text-decoration: none;
}

.breadcrumb a:hover[b-qpfe8mryt8] {
    text-decoration: underline;
}

.breadcrumb .current[b-qpfe8mryt8] {
    color: var(--text-primary);
    font-weight: 500;
}

.breadcrumb .sep[b-qpfe8mryt8] {
    color: var(--text-muted);
}

.feature-list[b-qpfe8mryt8] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-row[b-qpfe8mryt8] {
    padding: 12px 0;
    border-bottom: 0.5px solid var(--border-soft);
}

.feature-row:first-child[b-qpfe8mryt8] {
    padding-top: 0;
}

.feature-row:last-child[b-qpfe8mryt8] {
    border-bottom: 0;
    padding-bottom: 0;
}
/* /Components/Pages/SystemAdmin/SystemUsers.razor.rz.scp.css */
.muted[b-5c26dkt04r] {
    color: var(--text-tertiary);
    font-style: italic;
}

.status-active[b-5c26dkt04r]::part(control) {
    background: #d6f0e0;
    color: #1d6f43;
}

.status-sysadmin[b-5c26dkt04r]::part(control) {
    background: #e0d6f0;
    color: #4d2e8a;
}

.status-anonymized[b-5c26dkt04r]::part(control) {
    background: #eee;
    color: var(--text-secondary);
}
/* /Components/Pages/Tickets/TicketCard.razor.rz.scp.css */
.ticket-card[b-xm3wb30joj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 168px;
    grid-template-rows: auto auto;
    gap: 0.55rem 1.5rem;
    align-items: start;
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 16px 20px;
    text-decoration: none;
    color: inherit;
    transition: border-color 120ms ease, background 120ms ease;
}

.card-main[b-xm3wb30joj] {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.card-reporter[b-xm3wb30joj] {
    grid-column: 2;
    grid-row: 1;
}

.card-assignee[b-xm3wb30joj] {
    grid-column: 2;
    grid-row: 2;
}

.ticket-card:hover[b-xm3wb30joj] {
    background: var(--neutral-layer-2);
    border-color: var(--border-medium, var(--border-soft));
}

.card-main[b-xm3wb30joj] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.card-status-row[b-xm3wb30joj] {
    display: flex;
}

.status-pill[b-xm3wb30joj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.4;
}

.status-dot[b-xm3wb30joj] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.status-pill.is-open[b-xm3wb30joj] {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
}

.status-pill.is-inprogress[b-xm3wb30joj] {
    background: #fef4dd;
    color: #8a5b00;
}

.status-pill.is-done[b-xm3wb30joj] {
    background: #e6f4ef;
    color: #1d6e54;
}

.card-title[b-xm3wb30joj] {
    font-size: 1.02rem;
    font-weight: 500;
    color: var(--text-primary);
    line-height: 1.35;
}

.card-description[b-xm3wb30joj] {
    font-size: 0.88rem;
    color: var(--text-secondary);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-meta[b-xm3wb30joj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.1rem;
    margin-top: 0.2rem;
    font-size: 0.82rem;
    color: var(--text-secondary);
}

.meta-item[b-xm3wb30joj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.meta-item.priority-normal[b-xm3wb30joj] {
    color: var(--text-secondary);
}

.meta-item.priority-low[b-xm3wb30joj] {
    color: var(--text-tertiary);
}

.meta-item.priority-high[b-xm3wb30joj] {
    color: var(--accent-deep, #993c1d);
    font-weight: 500;
}

.meta-item.priority-urgent[b-xm3wb30joj] {
    color: #8a2a0c;
    font-weight: 500;
}

.card-side[b-xm3wb30joj] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.side-label[b-xm3wb30joj] {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-tertiary);
    font-weight: 600;
}

.side-person[b-xm3wb30joj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.person-name[b-xm3wb30joj] {
    font-size: 0.85rem;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.person-name.muted[b-xm3wb30joj] {
    color: var(--text-tertiary);
}

.avatar-placeholder[b-xm3wb30joj] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px dashed var(--border-medium, var(--border-soft));
    color: var(--text-tertiary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    line-height: 1;
    flex-shrink: 0;
}

/* Mobile: single column, side blocks become inline rows under the meta. */
@media (max-width: 768px) {
    .ticket-card[b-xm3wb30joj] {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0.9rem;
        padding: 14px 16px;
    }

    .card-main[b-xm3wb30joj],
    .card-reporter[b-xm3wb30joj],
    .card-assignee[b-xm3wb30joj] {
        grid-column: auto;
        grid-row: auto;
    }

    .card-side[b-xm3wb30joj] {
        flex-direction: row;
        align-items: center;
        gap: 0.6rem;
    }

    .side-label[b-xm3wb30joj] {
        flex-shrink: 0;
        min-width: 78px;
    }
}

/* Dark-mode pill palette mirrors Tickets.razor.css for the legacy classes. */
:root[data-theme="dark"] .status-pill.is-open[b-xm3wb30joj] {
    background: var(--accent-tint);
    color: var(--accent);
}

:root[data-theme="dark"] .status-pill.is-inprogress[b-xm3wb30joj] {
    background: #3a2d0c;
    color: #e3bf69;
}

:root[data-theme="dark"] .status-pill.is-done[b-xm3wb30joj] {
    background: #143028;
    color: #7dcdaf;
}

:root[data-theme="dark"] .meta-item.priority-high[b-xm3wb30joj] {
    color: var(--accent);
}

:root[data-theme="dark"] .meta-item.priority-urgent[b-xm3wb30joj] {
    color: var(--danger);
}
/* /Components/Pages/Tickets/TicketDetail.razor.rz.scp.css */
.breadcrumb[b-avpvynygq1] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
    color: var(--text-secondary);
}

.breadcrumb a[b-avpvynygq1] {
    color: var(--accent-deep, #993c1d);
    text-decoration: none;
}

.breadcrumb a:hover[b-avpvynygq1] {
    text-decoration: underline;
}

.breadcrumb .current[b-avpvynygq1] {
    color: var(--text-primary);
    font-weight: 500;
}

.breadcrumb .sep[b-avpvynygq1] {
    color: var(--text-muted);
}

.ticket-detail[b-avpvynygq1] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ticket-detail > header[b-avpvynygq1] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ticket-title[b-avpvynygq1] {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.7rem;
    margin: 0;
    color: var(--text-primary);
}

.description-text[b-avpvynygq1] {
    white-space: pre-wrap;
    margin: 0;
    color: var(--text-primary);
    line-height: 1.5;
}

.meta-dl[b-avpvynygq1] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 16px;
    margin: 0;
    font-size: 0.92rem;
}

.meta-dl dt[b-avpvynygq1] {
    color: var(--text-tertiary);
}

.meta-dl dd[b-avpvynygq1] {
    margin: 0;
    color: var(--text-primary);
}

.comment-list[b-avpvynygq1] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.comment[b-avpvynygq1] {
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft);
    border-radius: 10px;
    padding: 12px 14px;
}

.comment-head[b-avpvynygq1] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
    font-size: 0.85rem;
}

.comment-author[b-avpvynygq1] {
    font-weight: 500;
    color: var(--text-primary);
}

.comment-date[b-avpvynygq1] {
    color: var(--text-tertiary);
    flex: 1;
}

.comment-body[b-avpvynygq1] {
    white-space: pre-wrap;
    color: var(--text-primary);
    line-height: 1.5;
}

.empty[b-avpvynygq1] {
    color: var(--text-secondary);
}

.comment-compose[b-avpvynygq1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.field-label[b-avpvynygq1] {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.target-group[b-avpvynygq1]::part(control) {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
}

.status-open[b-avpvynygq1]::part(control) {
    background: #fff2eb;
    color: #993c1d;
}

.status-inprogress[b-avpvynygq1]::part(control) {
    background: #fef4dd;
    color: #8a5b00;
}

.status-resolved[b-avpvynygq1]::part(control) {
    background: #e6f4ef;
    color: #1d6e54;
}

.status-closed[b-avpvynygq1]::part(control) {
    background: #eee;
    color: var(--text-secondary);
}

.priority-urgent[b-avpvynygq1]::part(control) {
    background: #fde2d6;
    color: #8a2a0c;
}

.priority-high[b-avpvynygq1]::part(control) {
    background: #fff2eb;
    color: #993c1d;
}

.priority-normal[b-avpvynygq1]::part(control) {
    background: #f0f0f0;
    color: #444;
}

.priority-low[b-avpvynygq1]::part(control) {
    background: #f6f6f6;
    color: var(--text-tertiary);
}

/* Dark-mode pill palette. Reuses tokens where the hue matches; the amber
   and green variants pick coordinated hex values since the design system
   doesn't expose those hues as tokens. Mirrored verbatim in
   Tickets.razor.css — keep both in sync. */
:root[data-theme="dark"] .status-open[b-avpvynygq1]::part(control) {
    background: var(--accent-tint);
    color: var(--accent);
}

:root[data-theme="dark"] .status-inprogress[b-avpvynygq1]::part(control) {
    background: #3a2d0c;
    color: #e3bf69;
}

:root[data-theme="dark"] .status-resolved[b-avpvynygq1]::part(control) {
    background: #143028;
    color: #7dcdaf;
}

:root[data-theme="dark"] .status-closed[b-avpvynygq1]::part(control) {
    background: var(--hover-overlay);
    color: var(--text-secondary);
}

:root[data-theme="dark"] .priority-urgent[b-avpvynygq1]::part(control) {
    background: var(--danger-tint);
    color: var(--danger);
}

:root[data-theme="dark"] .priority-high[b-avpvynygq1]::part(control) {
    background: var(--accent-tint);
    color: var(--accent);
}

:root[data-theme="dark"] .priority-normal[b-avpvynygq1]::part(control) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-secondary);
}

:root[data-theme="dark"] .priority-low[b-avpvynygq1]::part(control) {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-tertiary);
}
/* /Components/Pages/Tickets/Tickets.razor.rz.scp.css */
/* Page layout */
.tickets-layout[b-ilwpdsi4vp] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 1.75rem;
    align-items: start;
}

.tickets-main[b-ilwpdsi4vp] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tickets-toolbar[b-ilwpdsi4vp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.ticket-search[b-ilwpdsi4vp] {
    flex: 1 1 320px;
    min-width: 0;
    padding: 0.55rem 0.85rem;
    border: 0.5px solid var(--border-soft);
    border-radius: 8px;
    background: var(--surface-card);
    color: var(--text-primary);
    font: inherit;
    font-size: 0.92rem;
    line-height: 1.3;
}

.ticket-search:focus-visible[b-ilwpdsi4vp] {
    outline: none;
    border-color: var(--accent, #D85A30);
    box-shadow: 0 0 0 3px var(--accent-tint, #faece7);
}

.ticket-list[b-ilwpdsi4vp] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.ticket-empty[b-ilwpdsi4vp] {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-secondary);
    background: var(--surface-card);
    border: 0.5px dashed var(--border-soft);
    border-radius: 10px;
}

.pager[b-ilwpdsi4vp] {
    margin-top: 0.5rem;
}

/* Whenever the global RightPanel hides (1180 px breakpoint in MainLayout),
   the inner facet sidebar would dominate the remaining width. Drop the
   tickets-layout to a single column at that point and let the facets
   render as a chip row above the list. */
@media (max-width: 1180px) {
    .tickets-layout[b-ilwpdsi4vp] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* True mobile: stack the search and checkbox onto separate rows. */
@media (max-width: 768px) {
    .tickets-toolbar[b-ilwpdsi4vp] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
    }

    .ticket-search[b-ilwpdsi4vp] {
        flex: 1 1 auto;
    }
}

/* ---- Legacy classes still used by TicketDetail.razor (and any caller
   that renders FluentBadge pills with these class names). Keep in sync
   with TicketDetail.razor.css. ---- */

.empty[b-ilwpdsi4vp] {
    color: var(--text-secondary);
}

.ticket-title-link[b-ilwpdsi4vp] {
    color: var(--accent-deep, #993c1d);
    text-decoration: none;
    font-weight: 500;
}

.ticket-title-link:hover[b-ilwpdsi4vp] {
    text-decoration: underline;
}

.target-group[b-ilwpdsi4vp]::part(control) {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
    font-size: 0.7rem;
    margin-left: 0.5rem;
}

.status-open[b-ilwpdsi4vp]::part(control) {
    background: #fff2eb;
    color: #993c1d;
}

.status-inprogress[b-ilwpdsi4vp]::part(control) {
    background: #fef4dd;
    color: #8a5b00;
}

.status-resolved[b-ilwpdsi4vp]::part(control) {
    background: #e6f4ef;
    color: #1d6e54;
}

.status-closed[b-ilwpdsi4vp]::part(control) {
    background: #eee;
    color: var(--text-secondary);
}

.priority-urgent[b-ilwpdsi4vp]::part(control) {
    background: #fde2d6;
    color: #8a2a0c;
}

.priority-high[b-ilwpdsi4vp]::part(control) {
    background: #fff2eb;
    color: #993c1d;
}

.priority-normal[b-ilwpdsi4vp]::part(control) {
    background: #f0f0f0;
    color: #444;
}

.priority-low[b-ilwpdsi4vp]::part(control) {
    background: #f6f6f6;
    color: var(--text-tertiary);
}

/* Dark-mode pill palette. Reuses tokens where the hue matches; the amber
   and green variants pick coordinated hex values since the design system
   doesn't expose those hues as tokens. Mirrored verbatim in
   TicketDetail.razor.css — keep both in sync. */
:root[data-theme="dark"] .status-open[b-ilwpdsi4vp]::part(control) {
    background: var(--accent-tint);
    color: var(--accent);
}

:root[data-theme="dark"] .status-inprogress[b-ilwpdsi4vp]::part(control) {
    background: #3a2d0c;
    color: #e3bf69;
}

:root[data-theme="dark"] .status-resolved[b-ilwpdsi4vp]::part(control) {
    background: #143028;
    color: #7dcdaf;
}

:root[data-theme="dark"] .status-closed[b-ilwpdsi4vp]::part(control) {
    background: var(--hover-overlay);
    color: var(--text-secondary);
}

:root[data-theme="dark"] .priority-urgent[b-ilwpdsi4vp]::part(control) {
    background: var(--danger-tint);
    color: var(--danger);
}

:root[data-theme="dark"] .priority-high[b-ilwpdsi4vp]::part(control) {
    background: var(--accent-tint);
    color: var(--accent);
}

:root[data-theme="dark"] .priority-normal[b-ilwpdsi4vp]::part(control) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-secondary);
}

:root[data-theme="dark"] .priority-low[b-ilwpdsi4vp]::part(control) {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-tertiary);
}

:root[data-theme="dark"] .ticket-search:focus-visible[b-ilwpdsi4vp] {
    box-shadow: 0 0 0 3px var(--accent-tint);
}
/* /Components/Pages/Tickets/TicketsFacets.razor.rz.scp.css */
.tickets-facets[b-nabef97oj9] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

.facet-section[b-nabef97oj9] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.facet-title[b-nabef97oj9] {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-secondary);
    font-weight: 600;
    padding: 0 0.4rem;
}

.facet-rows[b-nabef97oj9] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.facet-row[b-nabef97oj9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.4rem 0.55rem;
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: var(--text-primary);
    font: inherit;
    font-size: 0.88rem;
    text-align: left;
    line-height: 1.3;
    transition: background 100ms ease;
}

.facet-row:hover[b-nabef97oj9] {
    background: var(--neutral-layer-2);
}

.facet-row.is-active[b-nabef97oj9] {
    background: var(--accent-tint, #faece7);
    color: var(--accent-deep, #993c1d);
    font-weight: 500;
}

.facet-row.is-active .facet-count[b-nabef97oj9] {
    background: var(--accent-deep, #993c1d);
    color: #fff;
}

.facet-row-label[b-nabef97oj9] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.facet-dot[b-nabef97oj9] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--accent);
}

.facet-dot.dot-open[b-nabef97oj9] { background: var(--accent, #D85A30); }
.facet-dot.dot-inprogress[b-nabef97oj9] { background: #EF9F27; }
.facet-dot.dot-done[b-nabef97oj9] { background: #1d9e75; }

.facet-count[b-nabef97oj9] {
    flex-shrink: 0;
    min-width: 22px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--neutral-layer-2);
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
    font-weight: 500;
}

/* Whenever the global RightPanel hides (1180 px) the facet column is
   replaced by a horizontally scrollable chip row above the list. STATUS
   and GRUPP each become their own chip row. */
@media (max-width: 1180px) {
    .tickets-facets[b-nabef97oj9] {
        flex-direction: column;
        gap: 0.6rem;
    }

    .facet-section[b-nabef97oj9] {
        gap: 0.25rem;
    }

    .facet-title[b-nabef97oj9] {
        font-size: 0.58rem;
        padding: 0;
    }

    .facet-rows[b-nabef97oj9] {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.45rem;
        padding-bottom: 0.25rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .facet-rows[b-nabef97oj9]::-webkit-scrollbar { display: none; }

    .facet-row[b-nabef97oj9] {
        flex-shrink: 0;
        width: auto;
        padding: 0.3rem 0.7rem;
        border-radius: 999px;
        gap: 0.4rem;
        background: var(--neutral-layer-2);
    }

    .facet-row:hover[b-nabef97oj9] {
        background: var(--neutral-layer-2);
    }

    .facet-count[b-nabef97oj9] {
        background: transparent;
        padding: 0;
        min-width: 0;
    }

    .facet-row.is-active .facet-count[b-nabef97oj9] {
        background: transparent;
        color: inherit;
    }
}
/* /Components/Shared/Avatar.razor.rz.scp.css */
.avatar[b-g7jjz436gq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-weight: 600;
    line-height: 1;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.page-header[b-x7mgt5aiyu] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0.25rem 0 1.25rem;
}

.title[b-x7mgt5aiyu] {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--text-primary);
}

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

.subtitle[b-x7mgt5aiyu] {
    margin: 0;
    color: var(--text-tertiary);
    font-size: 0.92rem;
}

.subtitle-spacer[b-x7mgt5aiyu] {
    display: block;
}

.actions[b-x7mgt5aiyu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

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

@media (max-width: 1180px) {
    .meta[b-x7mgt5aiyu] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .actions[b-x7mgt5aiyu] {
        flex-direction: column;
        align-items: flex-start;
        align-self: flex-start;
    }

    .actions[b-x7mgt5aiyu]  fluent-stack {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}
/* /Components/Shared/RowActionItem.razor.rz.scp.css */
.row-action-item[b-lyir6nwk0n] {
    display: block;
    width: 100%;
    text-align: left;
    padding: 8px 14px;
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    color: var(--text-primary);
    text-decoration: none;
}

a.row-action-item[b-lyir6nwk0n] {
    box-sizing: border-box;
}

.row-action-item:hover:not(:disabled)[b-lyir6nwk0n] {
    background: var(--hover-overlay);
}

.row-action-item:disabled[b-lyir6nwk0n] {
    color: var(--text-muted);
    cursor: not-allowed;
}

.row-action-item.destructive[b-lyir6nwk0n] {
    color: var(--danger, #c14a3c);
    border-top: 0.5px solid var(--border-soft, #e0d8c9);
    margin-top: 4px;
    padding-top: 10px;
}

.row-action-item.destructive:hover:not(:disabled)[b-lyir6nwk0n] {
    background: #fcebea;
    color: var(--danger-hover, #a23a2d);
}

.row-action-item.destructive:first-child[b-lyir6nwk0n] {
    /* When there are no preceding non-destructive items, drop the separator. */
    border-top: 0;
    margin-top: 0;
    padding-top: 8px;
}
/* /Components/Shared/RowActionMenu.razor.rz.scp.css */
.row-action-menu[b-kuv7w4m8fn] {
    position: relative;
    display: inline-block;
}

.kebab-trigger[b-kuv7w4m8fn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 4px;
    background: transparent;
    border: 0;
    border-radius: 4px;
    color: var(--text-secondary);
    cursor: pointer;
}

.kebab-trigger:hover[b-kuv7w4m8fn] {
    background: var(--hover-overlay);
    color: var(--text-primary);
}

.kebab-trigger[aria-expanded="true"][b-kuv7w4m8fn] {
    background: var(--hover-overlay-strong);
    color: var(--text-primary);
}

.kebab-trigger svg[b-kuv7w4m8fn] {
    width: 16px;
    height: 16px;
}

.row-action-pop[b-kuv7w4m8fn] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    min-width: 180px;
    background: var(--surface-card);
    border: 0.5px solid var(--border-soft, #e0d8c9);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    padding: 4px 0;
    z-index: 20;
}
