/* /Components/Brand/Logo.razor.rz.scp.css */
.logo[b-fqmmuvdusb] { display: inline-flex; align-items: center; gap: .55em; color: inherit; }
.logo__mark[b-fqmmuvdusb] { display: inline-flex; flex-direction: column; flex: none; }
.logo__bar[b-fqmmuvdusb] { background: var(--logo-bar, var(--amber)); clip-path: polygon(0 0, 50% 0, 100% 100%, 50% 100%); }
.logo__name[b-fqmmuvdusb] {
    font-family: var(--font-display);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    line-height: .9;
    color: var(--logo-word, #fff);
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.admin[b-pioflpa3e1] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 232px 1fr;
}

.admin-side[b-pioflpa3e1] {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 20px 18px 16px;
    background: var(--ink);
    border-right: 1px solid var(--line);
}
.admin-brand[b-pioflpa3e1] { display: flex; align-items: center; gap: .8rem; text-decoration: none; }
.admin-brand__app[b-pioflpa3e1] {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--amber);
    padding-left: .8rem;
    border-left: 1px solid var(--line);
}

/* The menu scrolls on its own, so the logo and the signed-in user stay in view however long it gets. */
.admin-nav[b-pioflpa3e1] {
    display: flex; flex-direction: column; gap: 2px; flex: 1; min-height: 0;
    overflow-y: auto; overscroll-behavior: contain;
    margin-right: -10px; padding-right: 10px;
    scrollbar-width: thin; scrollbar-color: var(--line) transparent;
}
.admin-nav[b-pioflpa3e1]  a {
    display: block;
    padding: 7px 10px;
    border-left: 2px solid transparent;
    color: var(--stone-2);
    text-decoration: none;
    font-size: 15px;
}
.admin-nav[b-pioflpa3e1]  a:hover { color: #fff; background: var(--surface); }
.admin-nav[b-pioflpa3e1]  a.active { color: #fff; border-left-color: var(--amber); background: var(--surface); }
.admin-nav__group[b-pioflpa3e1] {
    margin: 14px 0 2px;
    padding-left: 12px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--stone);
}

.admin-user[b-pioflpa3e1] { border-top: 1px solid var(--line); padding-top: 14px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.admin-user__name[b-pioflpa3e1] { color: #fff; overflow-wrap: anywhere; }
.admin-user__roles[b-pioflpa3e1] { font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--amber); }
.admin-user__actions[b-pioflpa3e1] { display: flex; gap: 14px; align-items: center; margin-top: 6px; }
.admin-user__actions form[b-pioflpa3e1] { margin: 0; }
.admin-user__actions a[b-pioflpa3e1], .admin-user__actions[b-pioflpa3e1]  .btn-link { color: var(--stone-2); font-size: 14px; padding: 0; border: 0; text-decoration: none; }
.admin-user__actions a:hover[b-pioflpa3e1], .admin-user__actions[b-pioflpa3e1]  .btn-link:hover { color: #fff; }

.admin-main[b-pioflpa3e1] { padding: 32px 40px 64px; min-width: 0; }

@media (max-width: 860px) {
    .admin[b-pioflpa3e1] { grid-template-columns: 1fr; }
    .admin-side[b-pioflpa3e1] {
        position: static;
        height: auto;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px 20px;
        padding: 12px 16px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .admin-nav[b-pioflpa3e1] { flex-direction: row; flex-wrap: wrap; flex-basis: 100%; order: 3; gap: 4px; overflow: visible; margin-right: 0; padding-right: 0; }
    .admin-nav[b-pioflpa3e1]  a { border-left: 0; border-bottom: 2px solid transparent; padding: 6px 8px; }
    .admin-nav[b-pioflpa3e1]  a.active { border-bottom-color: var(--amber); }
    .admin-nav__group[b-pioflpa3e1] { display: none; }
    .admin-user[b-pioflpa3e1] { border-top: 0; padding-top: 0; margin-left: auto; flex-direction: row; align-items: center; gap: 12px; }
    .admin-user__name[b-pioflpa3e1], .admin-user__roles[b-pioflpa3e1] { display: none; }
    .admin-user__actions[b-pioflpa3e1] { margin-top: 0; }
    .admin-main[b-pioflpa3e1] { padding: 24px 16px 48px; }
}

.admin-nav[b-pioflpa3e1]  a.nav-with-count { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.admin-nav[b-pioflpa3e1]  .nav-count {
    font-family: var(--font-mono); font-size: 11px; line-height: 1; padding: 3px 6px; min-width: 1.6em; text-align: center;
    border: 1px solid var(--line); color: var(--stone-2); background: transparent;
}
.admin-nav[b-pioflpa3e1]  a.active .nav-count { border-color: var(--amber); color: #fff; }
.admin-nav[b-pioflpa3e1]  .nav-counts { display: flex; gap: 4px; align-items: center; }
.admin-nav[b-pioflpa3e1]  .nav-count--alert { border-color: var(--signal); color: var(--signal); white-space: nowrap; }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.site[b-tij3ivds6b] { min-height: 100vh; display: flex; flex-direction: column; }

.site-header[b-tij3ivds6b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 14px 32px;
    background: var(--black);
    border-bottom: 3px solid var(--amber);
}
.site-brand[b-tij3ivds6b] { display: inline-flex; align-items: center; gap: .9rem; text-decoration: none; }
.site-brand__app[b-tij3ivds6b] {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--amber);
    padding-left: .9rem;
    border-left: 1px solid var(--line);
}
.site-nav[b-tij3ivds6b] { display: flex; align-items: center; gap: 1.5rem; }
/* The form is a flex box so the button has no baseline gap under it and lines up with the links. */
.site-nav form[b-tij3ivds6b] { margin: 0; display: flex; align-items: center; }
.site-nav a[b-tij3ivds6b], .site-nav[b-tij3ivds6b]  .btn-link {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--stone-2);
    text-decoration: none;
    line-height: 18px;
    padding: 0;
    border: 0;
}
.site-nav a:hover[b-tij3ivds6b], .site-nav[b-tij3ivds6b]  .btn-link:hover { color: #fff; }

.site-main[b-tij3ivds6b] {
    flex: 1;
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 48px 32px 64px;
}

.site-footer[b-tij3ivds6b] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
    padding: 20px 32px;
    border-top: 1px solid var(--paper-line);
    font-size: 14px;
    color: var(--paper-ink);
}
.site-footer a[b-tij3ivds6b] { color: var(--paper-ink); }

@media (max-width: 640px) {
    .site-header[b-tij3ivds6b] { padding: 12px 16px; flex-wrap: wrap; row-gap: 8px; }
    .site-brand__app[b-tij3ivds6b] { display: none; }
    .site-nav[b-tij3ivds6b] { gap: .9rem; }
    .site-nav a[b-tij3ivds6b], .site-nav[b-tij3ivds6b]  .btn-link { font-size: 11px; letter-spacing: .08em; white-space: nowrap; }
    .site-main[b-tij3ivds6b] { padding: 32px 16px 48px; }
    .site-footer[b-tij3ivds6b] { padding: 16px; }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* Blazor's reconnect dialog in the Steadrock brand. Carbon by default (the staff admin is where
   live connections matter most); paper on pages without the carbon theme. Square, calm, amber signal. */

.components-reconnect-first-attempt-visible[b-dd3okwflzd],
.components-reconnect-repeated-attempt-visible[b-dd3okwflzd],
.components-reconnect-failed-visible[b-dd3okwflzd],
.components-pause-visible[b-dd3okwflzd],
.components-resume-failed-visible[b-dd3okwflzd],
.components-rejoining-animation[b-dd3okwflzd] {
    display: none;
}

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

#components-reconnect-modal[b-dd3okwflzd] {
    --rc-bg: var(--ink, #141416);
    --rc-fg: var(--stone-2, #BFB9AE);
    --rc-strong: #fff;
    --rc-line: var(--line, #34343A);
    --rc-muted: var(--stone, #8A857C);
    --rc-kicker: var(--amber, #FFB627);
    color-scheme: dark;
    background: var(--rc-bg);
    color: var(--rc-fg);
    width: min(22rem, calc(100vw - 32px));
    margin: 22vh auto;
    padding: 22px 24px 24px;
    border: 1px solid var(--rc-line);
    border-top: 3px solid var(--amber, #FFB627);
    border-radius: 0;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .45);
    font-family: var(--font-body, system-ui, sans-serif);
    opacity: 0;
    transition: display .3s allow-discrete, overlay .3s allow-discrete;
    animation: components-reconnect-modal-fadeOut-b-dd3okwflzd .2s both;
}

#components-reconnect-modal[open][b-dd3okwflzd] {
    /* A short delay so a blip of a second or two never shows the dialog at all. */
    animation: components-reconnect-modal-in-b-dd3okwflzd .24s cubic-bezier(.2, 0, .2, 1) .6s both;
}

#components-reconnect-modal[b-dd3okwflzd]::backdrop {
    background: rgba(10, 10, 11, .55);
    backdrop-filter: blur(2px);
    animation: components-reconnect-modal-fadeIn-b-dd3okwflzd .24s ease .6s both;
}

html:not(:has(.theme-carbon)) #components-reconnect-modal[b-dd3okwflzd] {
    --rc-bg: var(--paper-2, #F5F1E9);
    --rc-fg: var(--black, #0A0A0B);
    --rc-strong: var(--black, #0A0A0B);
    --rc-line: var(--paper-line, #CFC8BB);
    --rc-muted: var(--paper-ink, #6B6459);
    --rc-kicker: var(--paper-ink, #6B6459);
    color-scheme: light;
    box-shadow: 0 18px 48px rgba(10, 10, 11, .18);
}

@keyframes components-reconnect-modal-in-b-dd3okwflzd {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}
@keyframes components-reconnect-modal-fadeIn-b-dd3okwflzd { from { opacity: 0; } to { opacity: 1; } }
@keyframes components-reconnect-modal-fadeOut-b-dd3okwflzd { from { opacity: 1; } to { opacity: 0; } }

.components-reconnect-container[b-dd3okwflzd] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

#components-reconnect-modal p[b-dd3okwflzd] {
    margin: 0;
    line-height: 1.45;
    color: var(--rc-strong);
}

#components-reconnect-modal .reconnect-kicker[b-dd3okwflzd] {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--rc-kicker);
}

#components-reconnect-modal .reconnect-note[b-dd3okwflzd] {
    display: inline-block;
    margin-top: 6px;
    font-size: .875rem;
    color: var(--rc-muted);
}

#components-reconnect-modal .num[b-dd3okwflzd] { font-family: var(--font-mono, ui-monospace, monospace); }

#components-reconnect-modal button[b-dd3okwflzd] {
    align-self: flex-start;
    border: 1px solid var(--amber, #FFB627);
    background: var(--amber, #FFB627);
    color: var(--black, #0A0A0B);
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 9px 20px;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color .12s cubic-bezier(.2, 0, .2, 1);
}
#components-reconnect-modal button:hover[b-dd3okwflzd] { background: var(--amber-deep, #E89A12); border-color: var(--amber-deep, #E89A12); }
#components-reconnect-modal button:focus-visible[b-dd3okwflzd] { outline: 2px solid var(--rc-strong); outline-offset: 2px; }

/* An indeterminate bar rather than a spinner: a sliver of amber running along a hairline. */
.components-rejoining-animation[b-dd3okwflzd] {
    position: relative;
    height: 2px;
    overflow: hidden;
    background: var(--rc-line);
}
.components-rejoining-animation div[b-dd3okwflzd] {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 35%;
    background: var(--amber, #FFB627);
    animation: components-rejoining-slide-b-dd3okwflzd 1.4s cubic-bezier(.4, 0, .2, 1) infinite;
}
.components-rejoining-animation div:nth-child(2)[b-dd3okwflzd] { animation-delay: -.7s; opacity: .45; }

@keyframes components-rejoining-slide-b-dd3okwflzd {
    from { left: -35%; }
    to { left: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    #components-reconnect-modal[b-dd3okwflzd], #components-reconnect-modal[open][b-dd3okwflzd], #components-reconnect-modal[b-dd3okwflzd]::backdrop { animation-duration: .01s; }
    .components-rejoining-animation div[b-dd3okwflzd] { animation: none; left: 0; width: 100%; opacity: .6; }
    .components-rejoining-animation div:nth-child(2)[b-dd3okwflzd] { display: none; }
}
/* /Components/Pages/Admin/AuditLog.razor.rz.scp.css */
.audit-head[b-x9w12c0p8c] { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.audit-intro[b-x9w12c0p8c] { max-width: 70ch; }
.audit-filters[b-x9w12c0p8c] { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 24px 0 8px; }
.audit-filters label[b-x9w12c0p8c] { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.audit-count[b-x9w12c0p8c] { font-size: 13px; margin: 12px 0 4px; }
.audit-pages[b-x9w12c0p8c] { display: flex; align-items: center; gap: 16px; justify-content: center; margin-top: 16px; }
/* /Components/Pages/Admin/AuditTable.razor.rz.scp.css */
.audit td[b-kktrfic8px] { vertical-align: top; }
.audit__when[b-kktrfic8px] { white-space: nowrap; font-size: 13px; color: var(--stone-2); }
.audit__who[b-kktrfic8px] { white-space: nowrap; }
.audit__action[b-kktrfic8px] { color: #fff; }
.audit__id[b-kktrfic8px] { display: block; font-size: 12px; color: var(--stone); overflow-wrap: break-word; max-width: 34ch; }
.audit--alert .audit__action[b-kktrfic8px] { color: var(--signal); }
.audit__details[b-kktrfic8px] { margin-top: 2px; font-size: 14px; }
.audit__details summary[b-kktrfic8px] { color: var(--stone); cursor: pointer; }
.audit__details dl[b-kktrfic8px] { display: grid; grid-template-columns: max-content 1fr; gap: 2px 14px; margin: 8px 0 4px; }
.audit__details dt[b-kktrfic8px] { font-family: var(--font-mono); font-size: 12px; font-weight: 400; color: var(--stone); }
.audit__details dd[b-kktrfic8px] { margin: 0; font-family: var(--font-mono); font-size: 12px; overflow-wrap: anywhere; color: var(--stone-2); }
.audit__before[b-kktrfic8px] { text-decoration: line-through; color: var(--stone); }
/* /Components/Pages/Admin/Overview.razor.rz.scp.css */
.tiles[b-rtbi9rwsqc] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 8px 0 40px; }
.tile[b-rtbi9rwsqc] { background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--amber); padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.tile p[b-rtbi9rwsqc] { margin: 0; }
.tile__value[b-rtbi9rwsqc] { font-size: 2.25rem; color: #fff; line-height: 1; }
.recent__head[b-rtbi9rwsqc] { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
/* /Components/Pages/Home.razor.rz.scp.css */
.home[b-9t4lm63c9z] { max-width: 640px; padding-top: 24px; }
.home h1[b-9t4lm63c9z] { font-size: clamp(2.5rem, 7vw, 4rem); font-weight: 900; }
.home__lead[b-9t4lm63c9z] { font-size: 1.25rem; margin-bottom: 2rem; }
