/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ──────────────────────────────────────────────────────────────────
   IMPORTANT SCOPING NOTE
   Blazor CSS isolation only tags elements MainLayout renders ITSELF
   (the brand link, the drawer-footer div, the seam toggle, <main>).
   MudBlazor component roots (MudDrawer/.cw-drawer, MudNavMenu/.cw-nav,
   MudAppBar/.cw-appbar, MudMainContent/.cw-content) never receive the
   scope attribute, so BOTH plain and ::deep selectors that start at
   those classes silently match nothing. All styling for them lives in
   wwwroot/css/app.css under "Sidebar & app frame". Keep only rules
   anchored at MainLayout's own elements in this file.
   ────────────────────────────────────────────────────────────────── */

/* Brand (own <a> element inside the drawer) — the shaving mark and the
   lowercase Fraunces wordmark on the iron rail, mirroring the login
   panel's lockup (fixed chalk/copper in both themes, exactly like the
   rail itself). */
.cw-brand-row[b-e76awppphb] {
    display: flex;
    align-items: center;
}

.cw-brand[b-e76awppphb] {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 10px;
    padding: 12px 20px 10px;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.cw-brand:hover .cw-brand-name[b-e76awppphb] {
    color: var(--cw-chalk-bright);
}

.cw-brand:focus-visible[b-e76awppphb] {
    outline: 2px solid color-mix(in oklab, var(--cw-chalk), transparent 30%);
    outline-offset: 2px;
    border-radius: 8px;
}

.cw-brand-glyph[b-e76awppphb] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.cw-brand-name[b-e76awppphb] {
    font-family: var(--cw-font-display);
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--cw-chalk);
    letter-spacing: -0.01em;
}

.cw-mobile-nav-close[b-e76awppphb] {
    display: none;
}

/* ── Content column (own <main>) ────────────────────────────────── */

.cw-content-inner[b-e76awppphb] {
    padding: 32px 40px;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}

@media (max-width: 959.98px) {
    .cw-content-inner[b-e76awppphb] {
        padding: 20px;
    }

    .cw-brand[b-e76awppphb] {
        padding: 12px 14px 10px;
    }

    .cw-mobile-nav-close[b-e76awppphb] {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        margin-right: 8px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--cw-rail-text);
        cursor: pointer;
    }

    .cw-mobile-nav-close:hover[b-e76awppphb] {
        background: var(--cw-rail-hover);
        color: var(--cw-chalk-bright);
    }

    .cw-mobile-nav-close:focus-visible[b-e76awppphb] {
        outline: 2px solid color-mix(in oklab, var(--cw-chalk), transparent 30%);
        outline-offset: -2px;
    }

}

/* ── Drawer footer & account button (own elements) ──────────────── */

.cw-drawer-footer[b-e76awppphb] {
    padding: 8px 16px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--cw-rail-text-dim);
}

/* MudMenu wraps the activator; its root and our explicit account button
   both stretch so the identity card fills the expanded drawer. */
.cw-drawer-footer[b-e76awppphb]  .cw-user-menu {
    width: 100%;
}

.cw-account-trigger[b-e76awppphb] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    width: 100%;
    min-width: 0;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 6px 9px;
    border-radius: 10px;
    border: 1px solid var(--cw-rail-hairline);
    background: var(--cw-rail-hover);
    color: var(--cw-chalk-bright);
    font: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.cw-account-avatar[b-e76awppphb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--cw-rail-active);
    color: var(--cw-chalk-bright);
    font-size: 0.8125rem;
    font-weight: 750;
    line-height: 1;
    text-transform: uppercase;
    overflow: hidden;
}

.cw-account-avatar img[b-e76awppphb] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cw-account-copy[b-e76awppphb] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}

.cw-account-name[b-e76awppphb],
.cw-account-role[b-e76awppphb] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cw-account-name[b-e76awppphb] {
    color: var(--cw-chalk-bright);
    font-size: 0.8438rem;
    font-weight: 650;
}

.cw-account-role[b-e76awppphb] {
    margin-top: 2px;
    color: var(--cw-rail-text-dim);
    font-size: 0.6875rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cw-account-caret[b-e76awppphb] {
    color: var(--cw-rail-icon);
}

.cw-account-trigger:hover[b-e76awppphb] {
    border-color: color-mix(in oklab, var(--cw-chalk), transparent 62%);
    background: color-mix(in oklab, var(--cw-chalk), transparent 90%);
}

.cw-account-trigger:focus-visible[b-e76awppphb] {
    outline: 2px solid color-mix(in oklab, var(--cw-chalk), transparent 30%);
    outline-offset: 2px;
}
/* /Components/Layout/MarketingLayout.razor.rz.scp.css */
.marketing-frame[b-9tq95xvsje] {
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% 12%, rgba(150, 73, 28, 0.11), transparent 31rem),
        radial-gradient(circle at 92% 0%, rgba(78, 101, 119, 0.12), transparent 30rem),
        #f7f3ea;
    color: #26201a;
    font-family: "Inter", sans-serif;
}

.marketing-header[b-9tq95xvsje] {
    position: sticky;
    z-index: 20;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    padding: 0 5vw;
    border-bottom: 1px solid rgba(38, 32, 26, 0.1);
    background: rgba(247, 243, 234, 0.9);
    backdrop-filter: blur(18px);
}

.marketing-brand[b-9tq95xvsje] {
    display: inline-flex;
    align-items: center;
}

.marketing-brand img[b-9tq95xvsje] {
    display: block;
    width: 170px;
    height: auto;
}

.marketing-nav[b-9tq95xvsje] {
    display: flex;
    align-items: center;
    gap: 1.65rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.marketing-nav a[b-9tq95xvsje],
.marketing-footer a[b-9tq95xvsje] {
    color: inherit;
    text-decoration: none;
}

.marketing-nav a:hover[b-9tq95xvsje],
.marketing-footer a:hover[b-9tq95xvsje] {
    color: #96491c;
}

.marketing-nav .marketing-nav-cta[b-9tq95xvsje] {
    padding: 0.65rem 1.05rem;
    border-radius: 999px;
    background: #96491c;
    color: #fffaf1;
}

.marketing-nav .marketing-nav-cta:hover[b-9tq95xvsje] {
    background: #783915;
    color: #fffaf1;
}

.marketing-login[b-9tq95xvsje] {
    padding-left: 1.1rem;
    border-left: 1px solid rgba(38, 32, 26, 0.18);
}

.marketing-main[b-9tq95xvsje] {
    min-height: calc(100vh - 168px);
}

.marketing-footer[b-9tq95xvsje] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    padding: 2rem 5vw;
    border-top: 1px solid rgba(237, 229, 214, 0.14);
    background: #201a14;
    color: rgba(237, 229, 214, 0.76);
    font-size: 0.82rem;
}

.marketing-footer > div[b-9tq95xvsje] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    color: #f5efe2;
    font-family: var(--cw-font-display);
    font-size: 1.15rem;
}

.marketing-footer img[b-9tq95xvsje] {
    width: 28px;
    filter: brightness(0) invert(1);
}

.marketing-footer p[b-9tq95xvsje] {
    margin: 0;
    text-align: center;
}

.marketing-footer a[b-9tq95xvsje] {
    color: #ede5d6;
}

@media (max-width: 760px) {
    .marketing-header[b-9tq95xvsje] {
        min-height: 66px;
        padding: 0 1.1rem;
    }

    .marketing-brand img[b-9tq95xvsje] {
        width: 142px;
    }

    .marketing-nav[b-9tq95xvsje] {
        gap: 0.7rem;
    }

    .marketing-nav a:not(.marketing-nav-cta):not(.marketing-login)[b-9tq95xvsje] {
        display: none;
    }

    .marketing-login[b-9tq95xvsje] {
        padding-left: 0.75rem;
    }

    .marketing-footer[b-9tq95xvsje] {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        text-align: center;
    }

    .marketing-footer > div[b-9tq95xvsje] {
        justify-content: center;
    }
}
/* /Components/Layout/NotificationBell.razor.rz.scp.css */
.cw-notif-button[b-qp86n4r92l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.cw-notif-button:hover[b-qp86n4r92l] {
    background: color-mix(in oklab, currentColor, transparent 85%);
}

.cw-notif-button:focus-visible[b-qp86n4r92l] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Drawer-nav variant: a button dressed as a nav link. MudBlazor's
   .mud-nav-link class supplies layout/hover; this resets button chrome
   and the nav data-count pill CSS in app.css supplies the badge. */
.cw-notif-nav[b-qp86n4r92l] {
    width: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.cw-notif-panel[b-qp86n4r92l] {
    width: 380px;
    max-width: 92vw;
    /* Explicit paper background so arbitrary (non-MudMenuItem) content can
       never render see-through, whatever the popover host paints. */
    background: var(--mud-palette-surface);
}

.cw-notif-header[b-qp86n4r92l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px 4px 16px;
}

.cw-notif-title[b-qp86n4r92l] {
    font-weight: 600;
    font-size: 0.95rem;
}

.cw-notif-empty[b-qp86n4r92l] {
    padding: 24px 16px;
    font-size: 0.85rem;
    opacity: 0.7;
}

.cw-notif-loading[b-qp86n4r92l] {
    display: flex;
    justify-content: center;
    padding: 24px 16px;
}

.cw-notif-failure[b-qp86n4r92l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.85rem;
}

.cw-notif-items[b-qp86n4r92l] {
    /* Short phones: leave room for header + "See all" instead of letting
       the popover clip a row against the footer divider. */
    max-height: min(420px, calc(100dvh - 220px));
    overflow-y: auto;
    padding: 4px 0 12px;
}

/* Scroll affordance at the fold — a clipped sixth row otherwise reads
   as breakage rather than "there's more". */
.cw-notif-items[b-qp86n4r92l]::after {
    content: "";
    position: sticky;
    display: block;
    bottom: 0;
    height: 18px;
    margin-top: -18px;
    background: linear-gradient(to bottom, transparent, var(--mud-palette-surface));
    pointer-events: none;
}

.cw-notif-item[b-qp86n4r92l] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.cw-notif-item:hover[b-qp86n4r92l] {
    background: color-mix(in oklab, currentColor, transparent 88%);
}

.cw-notif-item:focus-visible[b-qp86n4r92l] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.cw-notif-item-icon[b-qp86n4r92l] {
    margin-top: 2px;
    opacity: 0.7;
    flex-shrink: 0;
}

.cw-notif-item-body[b-qp86n4r92l] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.cw-notif-item-message[b-qp86n4r92l] {
    font-size: 0.85rem;
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cw-notif-item--unread .cw-notif-item-message[b-qp86n4r92l] {
    font-weight: 600;
}

.cw-notif-item-meta[b-qp86n4r92l] {
    font-size: 0.75rem;
    opacity: 0.65;
    /* One line always — a wrapped orphan "ago" breaks the row rhythm.
       The client name yields; the timestamp stays whole. */
    display: flex;
    white-space: nowrap;
    min-width: 0;
}

.cw-notif-item-client[b-qp86n4r92l] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.cw-notif-item-time[b-qp86n4r92l] {
    flex: 0 0 auto;
}

.cw-notif-item-dot[b-qp86n4r92l] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-primary);
    margin-top: 6px;
    margin-left: auto;
    flex-shrink: 0;
}
/* /Components/Layout/PortalLayout.razor.rz.scp.css */
.portal-shell[b-0x3sqzmt4w] {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--mud-palette-background);
}

.portal-header[b-0x3sqzmt4w] {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
}

.portal-header-inner[b-0x3sqzmt4w] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    max-width: 900px;
    min-height: 47px;
    margin: 0 auto;
    padding: 10px 20px;
}

.portal-brand[b-0x3sqzmt4w] {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.portal-brand-mark[b-0x3sqzmt4w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--mud-palette-primary), var(--mud-palette-primary-darken));
    color: var(--mud-palette-primary-text);
    font-size: 0.86rem;
    font-weight: 700;
}

.portal-brand-name[b-0x3sqzmt4w] {
    overflow: hidden;
    font-size: 0.94rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-brand-context[b-0x3sqzmt4w] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 400;
}

.portal-nav[b-0x3sqzmt4w] {
    display: flex;
    gap: 2px;
    margin-left: 8px;
}

[b-0x3sqzmt4w] .portal-nav-link {
    padding: 5px 12px;
    border-radius: 999px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.81rem;
    font-weight: 500;
    text-decoration: none;
}

[b-0x3sqzmt4w] .portal-nav-link:hover {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

[b-0x3sqzmt4w] .portal-nav-link.active {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.portal-user[b-0x3sqzmt4w] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin-left: auto;
}

.portal-user-chip[b-0x3sqzmt4w] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 3px 8px 3px 3px;
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
}

.portal-user-chip:hover[b-0x3sqzmt4w] {
    background: var(--mud-palette-action-default-hover);
}

.portal-user-avatar[b-0x3sqzmt4w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-surface));
    color: var(--mud-palette-primary);
    font-size: 0.7rem;
    font-weight: 700;
}

.portal-user-name[b-0x3sqzmt4w] {
    overflow: hidden;
    max-width: 150px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.81rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-logout-form[b-0x3sqzmt4w] {
    display: inline;
}

.portal-logout[b-0x3sqzmt4w] {
    padding: 5px 0;
    border: 0;
    background: none;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    font: inherit;
    font-size: 0.81rem;
}

.portal-logout:hover[b-0x3sqzmt4w] {
    color: var(--mud-palette-primary);
}

.portal-mobile-menu[b-0x3sqzmt4w] {
    display: none;
    margin-left: auto;
}

.portal-mobile-menu-trigger[b-0x3sqzmt4w] {
    position: relative;
    z-index: 3;
    display: grid;
    width: 36px;
    height: 36px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 9px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    place-items: center;
}

.portal-mobile-menu.is-open .portal-mobile-menu-trigger[b-0x3sqzmt4w] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, var(--mud-palette-lines-default));
    background: color-mix(in srgb, var(--mud-palette-primary) 9%, transparent);
    color: var(--mud-palette-primary);
}

.portal-mobile-menu-backdrop[b-0x3sqzmt4w] {
    position: fixed;
    z-index: 1;
    inset: 0;
}

.portal-mobile-menu-panel[b-0x3sqzmt4w] {
    position: absolute;
    z-index: 2;
    top: calc(100% + 1px);
    right: 12px;
    left: 12px;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    box-shadow: 0 16px 38px -18px rgba(0, 0, 0, 0.45);
}

.portal-mobile-menu-panel nav[b-0x3sqzmt4w],
.portal-mobile-account[b-0x3sqzmt4w] {
    display: flex;
    flex-direction: column;
    padding: 6px;
}

.portal-mobile-account[b-0x3sqzmt4w] {
    border-top: 1px solid var(--mud-palette-lines-default);
}

.portal-mobile-account form[b-0x3sqzmt4w] {
    display: contents;
}

[b-0x3sqzmt4w] .portal-mobile-link {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
    text-align: left;
    text-decoration: none;
}

[b-0x3sqzmt4w] .portal-mobile-link:hover,
[b-0x3sqzmt4w] .portal-mobile-link.active {
    background: var(--mud-palette-action-default-hover);
}

[b-0x3sqzmt4w] .portal-mobile-link.active {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.portal-main[b-0x3sqzmt4w] {
    flex: 1;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 20px 72px;
    outline: none;
}

.portal-announcement[b-0x3sqzmt4w] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    padding: 10px 12px 10px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    font-size: 0.82rem;
    line-height: 1.45;
}

.portal-announcement--critical[b-0x3sqzmt4w] {
    border-color: color-mix(in srgb, var(--mud-palette-error) 38%, var(--mud-palette-lines-default));
    background: color-mix(in srgb, var(--mud-palette-error) 6%, var(--mud-palette-surface));
}

.portal-announcement--warning[b-0x3sqzmt4w] {
    border-color: color-mix(in srgb, var(--mud-palette-warning) 38%, var(--mud-palette-lines-default));
    background: color-mix(in srgb, var(--mud-palette-warning) 6%, var(--mud-palette-surface));
}

.portal-announcement--info[b-0x3sqzmt4w] {
    border-color: color-mix(in srgb, var(--mud-palette-info) 32%, var(--mud-palette-lines-default));
    background: color-mix(in srgb, var(--mud-palette-info) 5%, var(--mud-palette-surface));
}

.portal-announcement-copy[b-0x3sqzmt4w] {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.portal-foot[b-0x3sqzmt4w] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px 40px;
    color: var(--mud-palette-text-disabled);
    font-size: 0.78rem;
}

.portal-foot-contact a[b-0x3sqzmt4w] {
    color: var(--mud-palette-text-secondary);
    text-decoration: none;
}

.portal-foot-contact a:hover[b-0x3sqzmt4w] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

@media (max-width: 760px) {
    .portal-header-inner[b-0x3sqzmt4w] {
        padding: 9px 12px;
    }

    .portal-desktop-only[b-0x3sqzmt4w] {
        display: none;
    }

    .portal-mobile-menu[b-0x3sqzmt4w] {
        display: block;
    }

    .portal-main[b-0x3sqzmt4w] {
        padding: 16px 12px 40px;
    }

    .portal-foot[b-0x3sqzmt4w] {
        padding: 0 12px 24px;
        text-align: center;
    }
}

@media (max-width: 390px) {
    .portal-brand-context[b-0x3sqzmt4w] {
        display: none;
    }
}
/* /Components/Pages/Account/AccountShell.razor.rz.scp.css */
/* Account shell — the same nav-rail idiom as SettingsShell, scoped under
   .account-shell so ::deep reaches into MudBlazor children. Desktop: sticky
   side rail. Below md: a horizontal, scrollable pill strip. */

.account-shell[b-4akbe9ch1p]  .settings-layout {
    display: grid;
    grid-template-columns: 232px minmax(0, 1fr);
    gap: var(--cw-card-gap);
    align-items: start;
}

.account-shell[b-4akbe9ch1p]  .settings-nav {
    position: sticky;
    top: 24px;
    max-height: calc(100dvh - 138px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    padding-bottom: 14px;
}

.account-shell[b-4akbe9ch1p]  .settings-nav::after {
    content: "";
    position: sticky;
    display: block;
    bottom: 0;
    height: 26px;
    margin-top: -26px;
    background: linear-gradient(to bottom, transparent, var(--mud-palette-surface));
    pointer-events: none;
}

.account-shell[b-4akbe9ch1p]  .settings-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}

/* Full-bleed nav list: the card pattern's --cw-card-pad is too generous for a
   rail of nav links, so the interior pads here (the old pa-2 value); the phone
   pill strip below tightens it further. */
.account-shell[b-4akbe9ch1p]  .settings-nav-body {
    padding: 8px;
}

.account-shell[b-4akbe9ch1p]  .mud-nav-link {
    border-radius: 10px;
    margin: 2px 4px;
}

.account-shell[b-4akbe9ch1p]  .mud-nav-link.active {
    background: var(--mud-palette-primary-lighten);
    color: var(--mud-palette-primary);
    font-weight: 600;
}

@media (max-width: 959.98px) {
    .account-shell[b-4akbe9ch1p]  .settings-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cw-card-gap);
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav {
        position: sticky;
        top: calc(var(--mud-appbar-min-height, 48px) + 8px);
        z-index: 20;
        max-height: none;
        overflow: visible;
        background: var(--mud-palette-surface);
        padding-bottom: 0;
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        height: auto;
        width: 28px;
        margin-top: 0;
        background: linear-gradient(to right, transparent, var(--mud-palette-surface));
        border-radius: 0 14px 14px 0;
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav-body {
        padding: 6px !important;
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav-menu {
        display: flex;
        align-items: center;
        gap: 2px;
        overflow-x: auto;
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
        padding-right: 26px;
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav-menu .mud-nav-item {
        flex: 0 0 auto;
        width: auto;
        scroll-snap-align: start;
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav-menu .mud-nav-link {
        width: auto;
        white-space: nowrap;
        margin: 0;
    }
}

@media (max-width: 600px) {
    .account-shell[b-4akbe9ch1p]  .settings-nav-menu .mud-nav-link {
        min-height: 40px;
        padding: 8px 12px;
    }

    .account-shell[b-4akbe9ch1p]  .settings-nav-menu .mud-nav-link-icon {
        display: none;
    }
}
/* /Components/Pages/Account/CalendarConnections.razor.rz.scp.css */
/* Base layout for .cal-conn-row / .cal-conn-main / .cal-conn-title lives in
   app.css. This file only fixes the phone reflow: below 600px the status chip
   was overflowing the shrunken title column underneath the row's action
   button. Wrap the row so the action drops to its own right-aligned line. */

.cal-conn-action[b-qx49pkc6r6] {
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .cal-conn-row[b-qx49pkc6r6] {
        flex-wrap: wrap;
    }

    .cal-conn-main[b-qx49pkc6r6] {
        flex: 1 1 100%;
    }

    .cal-conn-title[b-qx49pkc6r6] {
        flex-wrap: wrap;
    }

    .cal-conn-action[b-qx49pkc6r6] {
        flex: 1 1 100%;
        display: flex;
        justify-content: flex-end;
    }
}
/* /Components/Pages/Account/Notifications.razor.rz.scp.css */
.notification-preferences[b-s8uzfjd9cf] {
  display: flex;
  flex-direction: column;
  gap: var(--cw-card-gap);
}

.away-heading[b-s8uzfjd9cf],
.history-heading[b-s8uzfjd9cf],
.channel-toggle[b-s8uzfjd9cf],
.delivery-options[b-s8uzfjd9cf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.away-presets[b-s8uzfjd9cf] {
  border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
  border-radius: var(--cw-radius-tile);
  overflow: hidden;
}

.away-preset[b-s8uzfjd9cf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.away-preset:last-child[b-s8uzfjd9cf] {
  border-bottom: 0;
}

.away-preset--disabled[b-s8uzfjd9cf] {
  background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 28%);
  opacity: 0.68;
}

.preset-title-line[b-s8uzfjd9cf],
.pause-controls[b-s8uzfjd9cf] {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.pause-controls[b-s8uzfjd9cf] {
  justify-content: flex-end;
}

.pause-controls[b-s8uzfjd9cf]  .mud-picker {
  width: 12rem;
}

.pause-remaining[b-s8uzfjd9cf] {
  color: var(--mud-palette-primary);
}

.customize-panel[b-s8uzfjd9cf]  .mud-expand-panel {
  box-shadow: none;
}

.matrix-section[b-s8uzfjd9cf] {
  min-width: 0;
}

.routing-row[b-s8uzfjd9cf] {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(20rem, auto);
  gap: 1rem;
  align-items: center;
  padding: 0.8rem 0;
  border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 48%);
}

.routing-row:last-child[b-s8uzfjd9cf] {
  border-bottom: 0;
}

.routing-row--muted[b-s8uzfjd9cf] {
  opacity: 0.58;
  background: color-mix(in oklab, var(--mud-palette-background), transparent 55%);
}

.routing-copy[b-s8uzfjd9cf] {
  min-width: 0;
}

.routing-actions[b-s8uzfjd9cf] {
  display: grid;
  grid-template-columns: repeat(4, auto);
  align-items: center;
  justify-content: end;
  gap: 0.4rem;
}

.routing-actions--team[b-s8uzfjd9cf] {
  grid-template-columns: repeat(4, auto);
}

.digest-chip[b-s8uzfjd9cf] {
  grid-column: 1 / -1;
  justify-self: end;
  opacity: 0.72;
}

.history-list[b-s8uzfjd9cf] {
  display: flex;
  flex-direction: column;
}

.history-row[b-s8uzfjd9cf] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 48%);
}

.history-row:last-child[b-s8uzfjd9cf] {
  border-bottom: 0;
}

.history-status[b-s8uzfjd9cf] {
  color: var(--mud-palette-text-secondary);
  text-align: right;
  white-space: nowrap;
}

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

  .routing-actions[b-s8uzfjd9cf] {
    justify-content: start;
  }

  .digest-chip[b-s8uzfjd9cf] {
    justify-self: start;
  }
}

@media (max-width: 600px) {
  .away-heading[b-s8uzfjd9cf],
  .history-heading[b-s8uzfjd9cf],
  .channel-toggle[b-s8uzfjd9cf],
  .delivery-options[b-s8uzfjd9cf],
  .away-preset[b-s8uzfjd9cf],
  .away-preset--pause[b-s8uzfjd9cf] {
    align-items: flex-start;
    flex-direction: column;
  }

  .pause-controls[b-s8uzfjd9cf] {
    justify-content: flex-start;
    width: 100%;
  }

  .pause-controls[b-s8uzfjd9cf]  .mud-picker {
    width: 100%;
  }

  .routing-actions[b-s8uzfjd9cf],
  .routing-actions--team[b-s8uzfjd9cf] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .routing-actions[b-s8uzfjd9cf]  .mud-button-root {
    width: 100%;
  }

  .history-row[b-s8uzfjd9cf] {
    grid-template-columns: 1fr;
  }

  .history-status[b-s8uzfjd9cf] {
    text-align: left;
  }
}
/* /Components/Pages/Account/Profile.razor.rz.scp.css */
.profile-photo-layout[b-lobj50azjl] {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.profile-photo-preview[b-lobj50azjl] {
    width: 112px;
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-primary-lighten);
    color: var(--mud-palette-primary);
    font-size: 2rem;
    font-weight: 750;
}

.profile-photo-preview img[b-lobj50azjl] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.profile-photo-copy[b-lobj50azjl] {
    min-width: 0;
    max-width: 640px;
}

.profile-photo-actions[b-lobj50azjl] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 599.98px) {
    .profile-photo-layout[b-lobj50azjl] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Assets/Details.razor.rz.scp.css */
.asset-hero[b-bs2ufg90u3] {
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.asset-hero-head[b-bs2ufg90u3] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 1rem;
}

.asset-hero-head[b-bs2ufg90u3]  .mud-icon-root {
    color: var(--cw-status-critical, #DC2626);
}

.asset-hero-title[b-bs2ufg90u3] {
    min-width: 0;
}

.asset-hero-subhead[b-bs2ufg90u3] {
    margin-top: 2px;
    margin-bottom: 6px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.asset-hero-row[b-bs2ufg90u3] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.asset-hero-sev[b-bs2ufg90u3] {
    flex: 0 0 auto;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding-top: 2px;
}

.asset-hero-sev--crit[b-bs2ufg90u3] {
    color: var(--cw-status-critical, #DC2626);
}

.asset-hero-sev--high[b-bs2ufg90u3] {
    color: var(--cw-status-warning, #CA8A04);
}

.asset-hero-sev--warn[b-bs2ufg90u3] {
    color: var(--mud-palette-text-secondary);
}

.asset-hero-body[b-bs2ufg90u3] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.asset-hero-headline[b-bs2ufg90u3] {
    font-weight: 600;
}

.asset-hero-detail[b-bs2ufg90u3] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.asset-hero-action[b-bs2ufg90u3] {
    flex: 0 0 auto;
}

.asset-card-note[b-bs2ufg90u3] {
    margin-top: 10px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.asset-warranty-line[b-bs2ufg90u3] {
    margin-top: 8px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
}

.asset-ours-list[b-bs2ufg90u3] {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.asset-card-witness[b-bs2ufg90u3] {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.level-retire-card .cw-plain-list[b-bs2ufg90u3] {
    margin: 0;
    padding-left: 18px;
    list-style: disc;
}

.level-retire-card .cw-plain-list li[b-bs2ufg90u3] {
    margin-bottom: 4px;
}
/* /Components/Pages/Assets/List.razor.rz.scp.css */
/* Assets list — column discipline for the data grid.

   CSS-isolation note (see UI_STYLE_GUIDE.md): the classes below sit on
   MudDataGrid-rendered cells, which never carry the scope attribute, so
   every rule routes through the page's own `.data-grid-container` div. */

/* Asset names are identifiers — "SW-CORE-03" must never wrap to
   "SW-CORE-" / "03". The client · site caption is the flexible line. */
.data-grid-container[b-6p7aymj25j]  .grid-row-link {
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.data-grid-container[b-6p7aymj25j]  .asset-name-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.data-grid-container[b-6p7aymj25j]  .asset-hand-icon {
    color: var(--mud-palette-text-secondary);
}

.data-grid-container[b-6p7aymj25j]  .asset-name-sub {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

/* Serial + IP cells: one line each, so the auto table layout gives the
   identifier columns their content width and lets OS wrap instead. */
.data-grid-container[b-6p7aymj25j]  .asset-cell-id {
    white-space: nowrap;
}

.data-grid-container[b-6p7aymj25j]  .asset-col-secondary {
    white-space: nowrap;
}

/* Tablet band: selected columns remain selected instead of auto-hiding.
   Floor the grid and let report-table scroll with the fade affordance. */
@media (min-width: 601px) and (max-width: 959.98px) {
    .data-grid-container.report-table[b-6p7aymj25j] {
        --cw-table-min: 860px;
    }
}

/* ── PARITY-2g: the drawn asset list ────────────────────────────────── */

/* Filter bar: the fpick pill idiom + the right-side counts. */
.asset-filter[b-6p7aymj25j] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.asset-filter-label[b-6p7aymj25j] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.asset-filter[b-6p7aymj25j]  .asset-fpick {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    border-radius: 999px !important;
    padding: 4px 12px !important;
    min-height: 30px !important;
}

.asset-filter-spacer[b-6p7aymj25j] {
    flex: 1;
}

.asset-filter-count[b-6p7aymj25j] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.asset-muted[b-6p7aymj25j] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.asset-link-btn[b-6p7aymj25j] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.asset-link-btn:hover[b-6p7aymj25j] {
    text-decoration: underline;
}

.asset-link-btn:focus-visible[b-6p7aymj25j] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

/* Health: text only, never a chip. */
.asset-health[b-6p7aymj25j] {
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

.asset-health--on[b-6p7aymj25j] {
    color: var(--mud-palette-success);
}

.asset-health--off[b-6p7aymj25j] {
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
}

.asset-health--none[b-6p7aymj25j] {
    color: var(--mud-palette-text-secondary);
    font-weight: 400;
}

/* Expiry cell: kind verb + date, warn inside T−30, crit past tense. */
.asset-expiry[b-6p7aymj25j] {
    font-size: 0.8125rem;
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
}

.asset-expiry-kind[b-6p7aymj25j] {
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
}

.asset-expiry--lapsed[b-6p7aymj25j] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

.asset-expiry--lapsed .asset-expiry-kind[b-6p7aymj25j] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

.asset-expiry--soon .asset-expiry-kind[b-6p7aymj25j] {
    color: var(--mud-palette-warning);
}

/* Column chooser head/foot + the Public IP note. */
.asset-colmenu-head[b-6p7aymj25j],
.page-shell[b-6p7aymj25j]  .asset-colmenu-head {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary) !important;
}

.page-shell[b-6p7aymj25j]  .asset-colmenu-foot {
    font-size: 0.75rem !important;
    color: var(--mud-palette-text-secondary) !important;
    white-space: normal !important;
    max-width: 320px;
}

.asset-colmenu-note[b-6p7aymj25j] {
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

/* Card foot: the ticket-list pager idiom + the column hint. */
.asset-card-foot[b-6p7aymj25j] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px 14px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

/* Empty state (drawn box). */
.asset-empty[b-6p7aymj25j] {
    margin-top: 12px;
    padding: 46px 24px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 14px;
    background: var(--mud-palette-surface);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
}

.asset-empty-title[b-6p7aymj25j] {
    font-size: 1.1875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.asset-empty-body[b-6p7aymj25j] {
    max-width: 520px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
    line-height: 1.55;
}

.asset-empty-muted[b-6p7aymj25j] {
    color: var(--mud-palette-text-secondary);
}

.asset-empty-actions[b-6p7aymj25j] {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

/* Mobile 390: cards replace the grid. */
.asset-mcards[b-6p7aymj25j] {
    display: none;
}

@media (max-width: 599.98px) {
    .asset-table-wrap[b-6p7aymj25j] {
        display: none;
    }

    .asset-mcards[b-6p7aymj25j] {
        display: block;
        margin-top: 12px;
    }

    .asset-mcard[b-6p7aymj25j] {
        background: var(--mud-palette-surface);
        border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
        border-radius: 14px;
        padding: 11px 13px;
        margin-bottom: 9px;
    }

    .asset-mcard-title[b-6p7aymj25j] {
        font-weight: 600;
        font-size: 0.875rem;
        display: flex;
        gap: 7px;
        align-items: center;
        flex-wrap: wrap;
        color: var(--mud-palette-text-primary);
    }

    .asset-mcard-meta[b-6p7aymj25j] {
        font-size: 0.6875rem;
        color: var(--mud-palette-text-secondary);
        margin-top: 3px;
    }

    .asset-mcard-foot[b-6p7aymj25j] {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 8px;
        flex-wrap: wrap;
    }

    .asset-mcard-spacer[b-6p7aymj25j] {
        flex: 1;
    }
}
/* /Components/Pages/Billing/Components/MetricSourcePicker.razor.rz.scp.css */
.metric-source-picker[b-dzi5g9w14s] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.metric-source-picker[b-dzi5g9w14s]  .mud-input-control {
    flex: 1 1 220px;
    width: auto;
    min-width: 0;
}

.metric-source-picker[b-dzi5g9w14s]  .mud-select {
    flex: 1 1 220px;
    min-width: 0;
}

@media (max-width: 600px) {
    .metric-source-picker[b-dzi5g9w14s] {
        flex-direction: column;
    }

    .metric-source-picker[b-dzi5g9w14s]  .mud-input-control {
        flex-basis: auto;
        width: 100%;
    }

    .metric-source-picker[b-dzi5g9w14s]  .mud-select {
        flex: 0 1 auto;
        width: 100%;
        max-width: 100%;
    }
}
/* /Components/Pages/Billing/Components/TierBuilder.razor.rz.scp.css */
.tier-builder-row[b-co9pr7l06c] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    width: 100%;
    min-width: 0;
}

.tier-builder-row[b-co9pr7l06c]  .mud-input-control {
    flex: 1 1 80px;
    width: auto;
    min-width: 72px;
    max-width: 100px;
}

@media (max-width: 600px) {
    .tier-builder-row[b-co9pr7l06c] {
        gap: 8px;
    }
}
/* /Components/Pages/Billing/Details.razor.rz.scp.css */
.details-shell.invoice-detail[b-0akx4n67uo] {
    padding: 24px;
}

.invoice-breadcrumb[b-0akx4n67uo] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 16px;
}

.invoice-breadcrumb-sep[b-0akx4n67uo] {
    opacity: 0.4;
}

.invoice-breadcrumb-id[b-0akx4n67uo] {
    font-weight: 600;
    opacity: 0.7;
}

.invoice-detail-grid[b-0akx4n67uo] {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: var(--cw-card-gap);
    align-items: start;
}

@media (max-width: 960px) {
    .invoice-detail-grid[b-0akx4n67uo] {
        grid-template-columns: 1fr;
    }
}

[b-0akx4n67uo] .invoice-main {
    padding: 20px;
}

.invoice-main-header[b-0akx4n67uo] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
    gap: 16px;
}

.invoice-main-header>div:first-child[b-0akx4n67uo] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.invoice-main-actions[b-0akx4n67uo] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

@media (max-width: 599.98px) {
    /* MudTable's phone layout makes each cell a label/value flex row. The
       description carries several lines, so let its label sit above them. */
    .invoice-detail[b-0akx4n67uo]  .mud-xs-table .mud-table-cell[data-label="Description"] {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 2px;
        padding: 10px 16px;
    }

    .invoice-detail[b-0akx4n67uo]  .mud-xs-table .mud-table-cell[data-label="Description"]::before {
        margin-bottom: 2px;
        padding-right: 0;
        padding-inline-end: 0;
    }

    .invoice-detail[b-0akx4n67uo]  .mud-xs-table .mud-table-cell[data-label="Description"] > .ml-2 {
        margin-left: 0 !important;
    }
}

@media (max-width: 600px) {
    .details-shell.invoice-detail[b-0akx4n67uo] {
        padding: 16px;
    }

    .invoice-main-header[b-0akx4n67uo] {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .invoice-main-actions[b-0akx4n67uo] {
        width: 100%;
        flex-wrap: wrap;
    }

    .invoice-main-actions[b-0akx4n67uo]  .mud-button-root {
        flex: 1 1 auto;
    }
}

.invoice-totals[b-0akx4n67uo] {
    padding: 16px 20px;
    display: flex;
    justify-content: flex-end;
}

.invoice-totals-inner[b-0akx4n67uo] {
    min-width: 200px;
}

.invoice-total-row[b-0akx4n67uo] {
    display: flex;
    justify-content: space-between;
    /* The grand-total row is the widest child of the totals stack, so
       space-between alone leaves label and amount touching ("Total$…"). */
    gap: 24px;
    padding: 2px 0;
    font-size: 0.875rem;
}

/* The money side of each totals row is a machine value (label stays Inter). */
.invoice-total-row span:last-child[b-0akx4n67uo] {
    font-family: var(--cw-font-mono);
    font-variant-numeric: tabular-nums;
}

.invoice-total-grand[b-0akx4n67uo] {
    font-weight: 700;
    font-size: 1rem;
}

.invoice-total-grand span:last-child[b-0akx4n67uo] {
    font-weight: 600;
}

[b-0akx4n67uo] .invoice-sidebar {
    padding: 20px;
}

/* ── Grouped line items ── */

.invoice-group[b-0akx4n67uo] {
    margin-bottom: 8px;
}

.invoice-group-header[b-0akx4n67uo] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px 4px;
}

.invoice-group-subtotal[b-0akx4n67uo] {
    display: flex;
    justify-content: space-between;
    padding: 8px 16px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    border-top: 1px solid var(--mud-palette-lines-default);
}

.invoice-group-subtotal span:last-child[b-0akx4n67uo] {
    font-family: var(--cw-font-mono);
    font-variant-numeric: tabular-nums;
}

/* Line-item tables match the Service Desk head treatment (identical values to
   .data-grid-container) so the invoice reads like the rest of the app. */
[b-0akx4n67uo] .invoice-main .mud-table-head th.mud-table-cell {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--mud-palette-text-secondary) !important;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

[b-0akx4n67uo] .invoice-main .mud-table-body td.mud-table-cell {
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

/* Machine values: `Class="cw-mono"` sits on the MudTd itself, and MudBlazor's
   `.mud-table-root .mud-table-body .mud-table-cell` family rule out-ranks the
   single-class global — restate the mono face at cell level here. */
[b-0akx4n67uo] .invoice-main .mud-table-body td.mud-table-cell.cw-mono {
    font-family: var(--cw-font-mono);
    font-variant-numeric: tabular-nums;
    letter-spacing: normal;
    font-synthesis-weight: none;
}

/* The stacked line-item tables (Recurring / Labor / Expenses …) are siblings:
   pin the numeric columns to shared widths so figures align vertically from
   table to table. Skipped below 600px, where MudTable switches to the stacked
   mobile layout. */
@media (min-width: 600px) {
    [b-0akx4n67uo] .invoice-main .mud-table-root {
        table-layout: fixed;
    }

    [b-0akx4n67uo] .invoice-main .mud-table-head th.mud-table-cell:nth-child(2) {
        width: 110px; /* Unit Price */
    }

    [b-0akx4n67uo] .invoice-main .mud-table-head th.mud-table-cell:nth-child(3) {
        width: 80px; /* Qty */
    }

    [b-0akx4n67uo] .invoice-main .mud-table-head th.mud-table-cell:nth-child(4) {
        width: 120px; /* Amount */
    }

    [b-0akx4n67uo] .invoice-main .mud-table-head th.mud-table-cell:nth-child(5) {
        width: 90px; /* Taxable */
    }

    [b-0akx4n67uo] .invoice-main .mud-table-head th.mud-table-cell:nth-child(6) {
        width: 96px; /* Edit/remove actions (draft only) */
    }
}

[b-0akx4n67uo] .invoice-main .mud-table-hover .mud-table-body .mud-table-row:hover {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

[b-0akx4n67uo] .invoice-coverage-line {
    opacity: 0.55;
    font-style: italic;
}
/* /Components/Pages/Billing/Dialogs/ManagedDeviceEvidenceReviewDialog.razor.rz.scp.css */
.evidence-tiles[b-9nalwfeg9d] {
    display: flex;
    align-items: center;
    gap: 20px;
}

.evidence-tiles .summary-item[b-9nalwfeg9d] {
    flex: 1;
}

.evidence-arrow[b-9nalwfeg9d] {
    color: var(--mud-palette-text-secondary);
    flex: none;
}

.evidence-summary[b-9nalwfeg9d] {
    color: var(--mud-palette-text-primary);
}

/* Horizontal scroll affordance: the four-column table keeps a sensible minimum
   width and scrolls inside the shared data-grid-container at narrow widths
   rather than clipping. */
.evidence-diff-scroll[b-9nalwfeg9d] {
    overflow-x: auto;
}

.evidence-diff[b-9nalwfeg9d] {
    width: 100%;
    min-width: 22rem;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.evidence-diff th[b-9nalwfeg9d] {
    text-align: left;
    font-size: var(--cw-label-size, 0.6875rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    padding: 8px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    white-space: nowrap;
}

.evidence-diff td[b-9nalwfeg9d] {
    padding: 8px;
    vertical-align: top;
    line-height: 1.4;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.evidence-diff .evidence-effect[b-9nalwfeg9d] {
    text-align: right;
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
}

.evidence-diff tr.evidence-flag td[b-9nalwfeg9d] {
    background: color-mix(in oklab, var(--cw-status-warning, #CA8A04), transparent 92%);
}

.evidence-diff tr.evidence-flag .evidence-effect[b-9nalwfeg9d] {
    color: var(--cw-status-warning, #CA8A04);
    font-weight: 600;
}

.evidence-diff tr.evidence-removed td[b-9nalwfeg9d] {
    color: var(--mud-palette-text-secondary);
}

.evidence-diff tr.evidence-removed .evidence-effect[b-9nalwfeg9d] {
    font-weight: 600;
}

.evidence-diff tr.evidence-unchanged td[b-9nalwfeg9d] {
    color: var(--mud-palette-text-secondary);
    border-bottom: none;
}

.evidence-boundary[b-9nalwfeg9d] {
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background-grey);
    border-radius: var(--cw-radius-tile, 12px);
    padding: 12px 14px;
}

.evidence-boundary strong[b-9nalwfeg9d] {
    color: var(--mud-palette-text-primary);
}

.evidence-witness[b-9nalwfeg9d] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.evidence-witness .mud-icon-root[b-9nalwfeg9d] {
    color: var(--cw-status-ok, #1E8E3E);
}

.evidence-witness.evidence-witness-stale .mud-icon-root[b-9nalwfeg9d] {
    color: var(--cw-status-warning, #CA8A04);
}

.evidence-override[b-9nalwfeg9d] {
    border-left: 3px solid var(--mud-palette-primary);
    padding-left: 12px;
}
/* /Components/Pages/BillingWorkspace.razor.rz.scp.css */
/*
 * Billing styles live in wwwroot/css/app.css because MudBlazor child
 * components do not receive this page's CSS-isolation attribute.
 */
/* /Components/Pages/Books/BooksReportPrintDoc.razor.rz.scp.css */
/* The printable lender statement. Screen visibility and app-chrome isolation
   live in app.css § "Print" (the "hide everything, show #books-print-root"
   rule spans the whole layout, which scoped CSS cannot reach). This file is
   the document's own look: paper-black ink on white, a serif measure a bank
   expects, and rows that never shear across a page break. */

.books-print[b-jump3759rt] {
    color: #1a1a1a;
    background: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    line-height: 1.45;
}

.books-print-head[b-jump3759rt] {
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid #1a1a1a;
}

.books-print-company[b-jump3759rt] {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.books-print-title[b-jump3759rt] {
    font-size: 15px;
    font-weight: 700;
    margin-top: 3px;
}

.books-print-period[b-jump3759rt],
.books-print-basis[b-jump3759rt],
.books-print-generated[b-jump3759rt] {
    font-size: 11px;
    color: #444;
    margin-top: 1px;
}

.books-print table[b-jump3759rt] {
    width: 100%;
    border-collapse: collapse;
}

.books-print thead th[b-jump3759rt] {
    text-align: left;
    padding: 5px 8px;
    border-bottom: 1.5px solid #1a1a1a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.books-print tbody td[b-jump3759rt] {
    padding: 4px 8px;
    border-bottom: 1px solid #dcdcdc;
    vertical-align: top;
}

.books-print tr[b-jump3759rt] {
    break-inside: avoid;
    page-break-inside: avoid;
}

.books-print .num[b-jump3759rt] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.books-print .indent td:first-child[b-jump3759rt],
.books-print td.indent[b-jump3759rt] {
    padding-left: 22px;
}

.books-print tr.section td[b-jump3759rt] {
    font-weight: 700;
    border-bottom: 1px solid #1a1a1a;
    padding-top: 12px;
}

.books-print tr.subtotal td[b-jump3759rt] {
    font-weight: 700;
}

.books-print tr.total td[b-jump3759rt] {
    font-weight: 700;
    border-top: 1.5px solid #1a1a1a;
    border-bottom: none;
    padding-top: 6px;
}

.books-print .term[b-jump3759rt] {
    display: block;
    font-weight: 600;
}

.books-print .plain[b-jump3759rt] {
    display: block;
    font-size: 10px;
    color: #666;
}

.books-print .off[b-jump3759rt] {
    color: #777;
    font-style: italic;
}

.books-print-note[b-jump3759rt] {
    margin-top: 10px;
    font-size: 11px;
    font-weight: 700;
    color: #b00020;
}
/* /Components/Pages/Books/Dialogs/AccountRegisterDialog.razor.rz.scp.css */
.register-head[b-7jrm95ml8s] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.register-head-note[b-7jrm95ml8s] {
    max-width: 420px;
}

/* The brought-forward / closing lines that bookend the ledger rows. */
.register-bookend[b-7jrm95ml8s] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 8px 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
}

.register-bookend--closing[b-7jrm95ml8s] {
    font-weight: 600;
}

.register-empty[b-7jrm95ml8s] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px;
    text-align: center;
}

.register-empty[b-7jrm95ml8s]  .mud-typography {
    max-width: 480px;
}
/* /Components/Pages/Books/Index.razor.rz.scp.css */
/* Books page — scoped tweaks only; table/surface polish is global (app.css). */

/* Close tab: on narrow screens the readiness row wraps as whole units —
   a button drops to the next line instead of breaking its label in two. */
.books-close-row[b-5y62g5bak6]  .mud-button-root {
    white-space: nowrap;
}

.books-kpi-grid[b-5y62g5bak6] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--cw-card-gap);
}

.books-kpi[b-5y62g5bak6] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.books-kpi:hover[b-5y62g5bak6] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), var(--mud-palette-lines-default) 45%);
    background: color-mix(in oklab, var(--mud-palette-primary), var(--mud-palette-surface) 97%);
}

.books-kpi:focus-visible[b-5y62g5bak6] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.books-kpi-label[b-5y62g5bak6],
.books-kpi-sub[b-5y62g5bak6] {
    color: var(--mud-palette-text-secondary);
}

.books-kpi-label[b-5y62g5bak6] {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.books-kpi-value[b-5y62g5bak6],
.books-money-value[b-5y62g5bak6] {
    font-size: 1.18rem;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
}

.books-kpi-value--negative[b-5y62g5bak6] {
    color: var(--mud-palette-error);
}

.books-kpi-sub[b-5y62g5bak6] {
    font-size: 0.72rem;
    line-height: 1.35;
}

.books-story-grid[b-5y62g5bak6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--cw-card-gap);
}

.books-money-row[b-5y62g5bak6] {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
}

.books-money-row > div[b-5y62g5bak6] {
    min-width: 120px;
}

.books-card-head[b-5y62g5bak6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.books-recon-values[b-5y62g5bak6] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.books-recon-values > div[b-5y62g5bak6] {
    min-width: 0;
    padding: 10px 12px;
    border-radius: 9px;
    background: var(--mud-palette-background-gray);
}

@media (max-width: 1099px) {
    .books-kpi-grid[b-5y62g5bak6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .books-kpi:last-child[b-5y62g5bak6] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .books-story-grid[b-5y62g5bak6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .books-recon-values[b-5y62g5bak6] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 520px) {
    .books-kpi-grid[b-5y62g5bak6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .books-kpi:last-child[b-5y62g5bak6] {
        grid-column: auto;
    }

    .books-card-head[b-5y62g5bak6] {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Tabs sometimes place a result surface after a command bar. Keep every such
   transition on the single card-gap token, independent of populated state. */
.page-shell[b-5y62g5bak6]  .books-card-gap {
    margin-top: var(--cw-card-gap);
}

.page-shell[b-5y62g5bak6]  .books-card-gap-sm {
    margin-top: var(--cw-card-gap);
}

.page-shell[b-5y62g5bak6]  .books-card-gap-xs {
    margin-top: var(--cw-card-gap);
}

/* Vendors section header on the Bills tab: a titled row with the add button
   pushed right, set off from the bills table above by the standard card gap. */
.books-vendors-head[b-5y62g5bak6] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: var(--cw-card-gap);
    margin-bottom: 4px;
}

/* Per-report export/print actions: a quiet right-aligned pair above each
   report's table (CSV + Print), matching the Reports-page CSV button idiom. */
.books-report-actions[b-5y62g5bak6] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    margin-top: 8px;
}

/* Dialog-like report cards keep their measure (was inline max-width). */
.page-shell[b-5y62g5bak6]  .books-sales-tax-card {
    max-width: 480px;
}

.page-shell[b-5y62g5bak6]  .books-close-card {
    max-width: 760px;
}
/* /Components/Pages/Calendar.razor.rz.scp.css */
.calendar-page[b-x0ayc7nmar] {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    gap: var(--cw-card-gap);
}

/* ── View controls: WHO × SPAN segments, weeknav, kind legend ──────── */
.cal-bar[b-x0ayc7nmar] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cal-bar-spacer[b-x0ayc7nmar] {
    flex: 1;
}

.cal-seg[b-x0ayc7nmar] {
    display: inline-flex;
    padding: 2px;
    gap: 2px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 15%);
    border-radius: 10px;
    background: var(--mud-palette-surface);
}

.cal-seg-btn[b-x0ayc7nmar] {
    border: 0;
    border-radius: 8px;
    padding: 6px 12px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.cal-seg-btn--on[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 88%);
    color: var(--mud-palette-primary);
}

.cal-seg-btn:focus-visible[b-x0ayc7nmar],
.cal-nav-btn:focus-visible[b-x0ayc7nmar],
.cal-nav-today:focus-visible[b-x0ayc7nmar],
.cal-link:focus-visible[b-x0ayc7nmar] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.cal-weeknav[b-x0ayc7nmar] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--mud-palette-text-primary);
}

.cal-nav-btn[b-x0ayc7nmar] {
    border: 0;
    padding: 2px 6px;
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    font-weight: 400;
    cursor: pointer;
}

.cal-nav-today[b-x0ayc7nmar] {
    border: 0;
    padding: 4px 10px;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-secondary);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}

.cal-nav-today:hover[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 25%);
}

.cal-kind-legend[b-x0ayc7nmar] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.cal-k[b-x0ayc7nmar] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cal-sw[b-x0ayc7nmar] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex: 0 0 auto;
}

.cal-sw--visit[b-x0ayc7nmar] { background: var(--mud-palette-primary); }
.cal-sw--work[b-x0ayc7nmar] { background: #B45309; }
.cal-sw--window[b-x0ayc7nmar] { background: var(--mud-palette-secondary); }
.cal-sw--block[b-x0ayc7nmar] { background: #9AA4AD; }
.cal-sw--sync[b-x0ayc7nmar] {
    border: 1px dashed var(--mud-palette-lines-default);
    background: repeating-linear-gradient(45deg, transparent 0 2px, rgba(38,32,26,0.14) 2px 4px);
}

.calendar-page[b-x0ayc7nmar]  .cal-canceled-switch {
    margin: 0;
}

/* ── Board + needs-scheduling rail ─────────────────────────────────── */
.cal-grid-area[b-x0ayc7nmar] {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--cw-card-gap);
    align-items: start;
}

.cal-columns[b-x0ayc7nmar] {
    display: grid;
    gap: 8px;
}

.cal-columns--1[b-x0ayc7nmar] { grid-template-columns: 1fr; }
.cal-columns--2[b-x0ayc7nmar] { grid-template-columns: repeat(2, 1fr); }
.cal-columns--3[b-x0ayc7nmar] { grid-template-columns: repeat(3, 1fr); }
.cal-columns--4[b-x0ayc7nmar] { grid-template-columns: repeat(4, 1fr); }
.cal-columns--5[b-x0ayc7nmar],
.cal-columns--6[b-x0ayc7nmar],
.cal-columns--7[b-x0ayc7nmar] { grid-template-columns: repeat(7, 1fr); }

.cal-col[b-x0ayc7nmar] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 260px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

.cal-col--today[b-x0ayc7nmar] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
    box-shadow: 0 4px 18px -12px color-mix(in oklab, var(--mud-palette-primary), transparent 40%);
}

.cal-col-head[b-x0ayc7nmar] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px 7px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.cal-col-avatar[b-x0ayc7nmar] {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--cal-team-avatar, var(--mud-palette-primary));
    color: #fff;
    font-size: 0.5938rem;
    font-weight: 700;
}

.cal-col-name[b-x0ayc7nmar] {
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--mud-palette-text-primary);
}

.cal-col--today .cal-col-name[b-x0ayc7nmar] {
    color: var(--mud-palette-primary);
}

.cal-col-load[b-x0ayc7nmar] {
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 1px;
}

.cal-col-load--over[b-x0ayc7nmar] {
    color: #B45309;
    font-weight: 700;
}

.cal-col-body[b-x0ayc7nmar] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    padding: 7px;
}

/* The drop target lights up mid-drag; the drawn hint names the exact slot. */
.cal-drop-hint[b-x0ayc7nmar] {
    display: none;
    border: 1.5px dashed color-mix(in oklab, var(--mud-palette-primary), transparent 35%);
    border-radius: 8px;
    padding: 10px;
    font-size: 0.75rem;
    color: var(--mud-palette-primary);
    text-align: center;
    background: var(--mud-palette-surface);
}

.cal-drop-hint-sub[b-x0ayc7nmar] {
    display: block;
    margin-top: 2px;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

.cal-can-drop[b-x0ayc7nmar] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 30%);
    box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--mud-palette-primary), transparent 55%);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 96%);
}

.cal-can-drop .cal-drop-hint[b-x0ayc7nmar] {
    display: block;
}

/* ── Event cards ───────────────────────────────────────────────────── */
/* MudMenu wraps every card; its root and activator are MudBlazor DOM
   (no scope attribute from this file) and must be sized through ::deep —
   without this they shrink-wrap to content and an overlap pair's second
   card spills into the next week column instead of sharing the width. */
.cal-col-body[b-x0ayc7nmar]  .cal-evt-menu,
.cal-col-body[b-x0ayc7nmar]  .mud-menu,
.cal-col-body[b-x0ayc7nmar]  .mud-menu-activator {
    display: block;
    width: 100%;
    min-width: 0;
}

.cal-evt[b-x0ayc7nmar] {
    display: block;
    width: 100%;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-left: 3px solid var(--mud-palette-secondary);
    border-radius: 8px;
    padding: 6px 8px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.cal-evt:hover[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 55%);
}

.cal-evt:focus-visible[b-x0ayc7nmar] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.cal-evt .e-time[b-x0ayc7nmar] {
    display: block;
    font-family: var(--cw-font-mono);
    font-size: 0.6563rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.cal-evt .e-title[b-x0ayc7nmar] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 1px;
}

.cal-evt .e-client[b-x0ayc7nmar] {
    display: block;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 1px;
}

.cal-evt .e-tk[b-x0ayc7nmar] {
    font-size: 0.6563rem;
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.cal-evt--visit[b-x0ayc7nmar] { border-left-color: var(--mud-palette-primary); }
.cal-evt--window[b-x0ayc7nmar] { border-left-color: var(--mud-palette-secondary); }
.cal-evt--block[b-x0ayc7nmar] { border-left-color: #9AA4AD; }
.cal-evt--work[b-x0ayc7nmar] {
    border-left-color: #B45309;
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 94%);
}

.cal-evt--canceled[b-x0ayc7nmar] {
    opacity: 0.55;
}

.cal-evt--canceled .e-title[b-x0ayc7nmar] {
    text-decoration: line-through;
}

/* Synced busy: hatched, quiet, no popover — details stay in the source. */
.cal-evt--sync[b-x0ayc7nmar],
.cal-evt--sync:hover[b-x0ayc7nmar] {
    border: 1px dashed var(--mud-palette-lines-default);
    background: repeating-linear-gradient(45deg, transparent 0 6px, rgba(38,32,26,0.045) 6px 12px);
    color: var(--mud-palette-text-secondary);
    cursor: default;
}

.cal-evt--sync .e-title[b-x0ayc7nmar] {
    color: var(--mud-palette-text-secondary);
}

/* Overlapping entries stack side by side; the note names the overlap. */
.cal-conflict[b-x0ayc7nmar] {
    display: flex;
    gap: 6px;
}

.cal-conflict[b-x0ayc7nmar]  .cal-evt-menu {
    flex: 1;
    min-width: 0;
}

/* A pair shares one narrow week column: the mono range wraps rather than
   forcing the card wider than its half. */
.cal-conflict .cal-evt .e-time[b-x0ayc7nmar] {
    font-size: 0.5938rem;
    white-space: normal;
    overflow-wrap: anywhere;
}

.cal-conflict-note[b-x0ayc7nmar] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 2px;
    font-size: 0.6875rem;
    color: #B45309;
}

.cal-off-chip[b-x0ayc7nmar] {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 3px 8px;
    border-radius: 7px;
    font-size: 0.6875rem;
    color: #B45309;
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 92%);
}

.cal-free[b-x0ayc7nmar] {
    border: 1px dashed var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 8px;
    font-size: 0.6875rem;
    color: var(--cw-status-ok);
}

/* Team + Week: one tech column, day sections inside. */
.cal-weeksec[b-x0ayc7nmar] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.cal-weeksec:first-of-type[b-x0ayc7nmar] {
    border-top: none;
}

.cal-weeksec-head[b-x0ayc7nmar] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 0 2px;
}

.cal-weeksec-day[b-x0ayc7nmar] {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.cal-weeksec-load[b-x0ayc7nmar] {
    font-size: 0.625rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Entry popover ─────────────────────────────────────────────────── */
.cal-evt-pop[b-x0ayc7nmar] {
    width: 320px;
    background: var(--mud-palette-surface);
}

.cal-evt-pop-head[b-x0ayc7nmar] {
    padding: 12px 14px 8px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.cal-evt-pop-title[b-x0ayc7nmar] {
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.3;
    color: var(--mud-palette-text-primary);
}

.cal-evt-pop-when[b-x0ayc7nmar] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

.cal-evt-pop-body[b-x0ayc7nmar] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 10px 14px;
    font-size: 0.75rem;
}

.cal-evt-pop-prov[b-x0ayc7nmar] {
    color: var(--mud-palette-text-secondary);
}

.cal-evt-pop-links[b-x0ayc7nmar] {
    display: flex;
    gap: 12px;
    padding: 0 14px 12px;
}

.cal-evt-pop-links a[b-x0ayc7nmar] {
    color: var(--mud-palette-primary);
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
}

.cal-evt-pop-links a:hover[b-x0ayc7nmar] {
    text-decoration: underline;
}

.cal-kind-chip[b-x0ayc7nmar] {
    display: inline-flex;
    align-items: center;
    padding: 1.5px 9px;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
}

.cal-kind-chip--visit[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 88%);
    color: #7A3A14;
}

.cal-kind-chip--work[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 86%);
    color: #B45309;
}

.cal-kind-chip--window[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 86%);
    color: var(--mud-palette-secondary);
}

.cal-kind-chip--block[b-x0ayc7nmar] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 88%);
    color: var(--mud-palette-text-secondary);
}

/* ── Needs scheduling rail ─────────────────────────────────────────── */
.cal-needs[b-x0ayc7nmar] {
    display: flex;
    flex-direction: column;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    overflow: hidden;
}

.cal-needs-head[b-x0ayc7nmar] {
    padding: 14px 14px 10px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.cal-needs-title[b-x0ayc7nmar] {
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
}

.cal-needs-sub[b-x0ayc7nmar] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.cal-needs-explainer[b-x0ayc7nmar] {
    padding: 8px 14px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.cal-needs-rows[b-x0ayc7nmar] {
    display: flex;
    flex-direction: column;
}

.cal-u-row[b-x0ayc7nmar] {
    display: flex;
    align-items: baseline;
    gap: 9px;
    padding: 8px 12px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    cursor: grab;
}

.cal-u-row:first-child[b-x0ayc7nmar] {
    border-top: none;
}

.cal-u-main[b-x0ayc7nmar] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.cal-u-title[b-x0ayc7nmar] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.cal-u-meta[b-x0ayc7nmar] {
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

.cal-link[b-x0ayc7nmar] {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.cal-link:hover[b-x0ayc7nmar] {
    text-decoration: underline;
}

.cal-u-assign[b-x0ayc7nmar] {
    flex: 0 0 auto;
    font-size: 0.6875rem;
}

.cal-u-unmark[b-x0ayc7nmar] {
    flex: 0 0 auto;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.cal-needs-empty[b-x0ayc7nmar] {
    padding: 14px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.cal-needs-foot[b-x0ayc7nmar] {
    padding: 10px 12px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    font-size: 0.75rem;
}

/* ── Empty week ────────────────────────────────────────────────────── */
.cal-empty[b-x0ayc7nmar] {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 36px 24px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    text-align: center;
}

.cal-empty-title[b-x0ayc7nmar] {
    font-family: var(--cw-font-display);
    font-size: 1.1875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.cal-empty-sub[b-x0ayc7nmar] {
    max-width: 440px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.cal-empty-actions[b-x0ayc7nmar] {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

/* ── Phone (<600px): day view only, My calendar only; the team toggle
   and strip stay desktop jobs. The week collapses to today's column. ── */
@media (max-width: 599.98px) {
    .calendar-page .cal-seg:first-child[b-x0ayc7nmar] {
        display: none;
    }

    .cal-grid-area[b-x0ayc7nmar] {
        grid-template-columns: 1fr;
    }

    .cal-columns--2[b-x0ayc7nmar],
    .cal-columns--3[b-x0ayc7nmar],
    .cal-columns--4[b-x0ayc7nmar],
    .cal-columns--5[b-x0ayc7nmar],
    .cal-columns--6[b-x0ayc7nmar],
    .cal-columns--7[b-x0ayc7nmar] {
        grid-template-columns: 1fr;
    }

    /* Day view only: in week span, only today's column renders. */
    .cal-col:not(.cal-col--today)[b-x0ayc7nmar] {
        display: none;
    }

    .cal-kind-legend[b-x0ayc7nmar] {
        gap: 8px;
    }
}
/* /Components/Pages/CalendarTeamStrip.razor.rz.scp.css */
.cal-team-bar[b-ct5qcwlj6c] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 25%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

.cal-team-bar > summary[b-ct5qcwlj6c] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    color: var(--mud-palette-text-primary);
    font-size: 0.8125rem;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.cal-team-bar > summary[b-ct5qcwlj6c]::-webkit-details-marker,
.cal-team-overflow > summary[b-ct5qcwlj6c]::-webkit-details-marker {
    display: none;
}

.cal-team-bar > summary:focus-visible[b-ct5qcwlj6c],
.cal-team-overflow > summary:focus-visible[b-ct5qcwlj6c],
.cal-team-member:focus-visible[b-ct5qcwlj6c],
.cal-team-option:focus-visible[b-ct5qcwlj6c],
.cal-team-search input:focus-visible[b-ct5qcwlj6c] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.cal-team-caret[b-ct5qcwlj6c] {
    color: var(--mud-palette-text-secondary);
    font-weight: 400;
}

.cal-team-count[b-ct5qcwlj6c] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
}

.cal-team-body[b-ct5qcwlj6c] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    padding: 0 12px 11px;
}

.cal-team-member[b-ct5qcwlj6c] {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px 4px 5px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 32%);
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 42%);
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}

.cal-team-member:hover[b-ct5qcwlj6c] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 58%);
}

.cal-team-member--checked[b-ct5qcwlj6c] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
    color: var(--mud-palette-primary);
}

.cal-team-avatar[b-ct5qcwlj6c] {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--cal-team-avatar, var(--mud-palette-primary));
    color: #fff;
    font-size: 0.5625rem;
    font-weight: 700;
}

.cal-team-name[b-ct5qcwlj6c] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cal-team-booked[b-ct5qcwlj6c] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cal-team-member--checked .cal-team-booked[b-ct5qcwlj6c] {
    color: var(--mud-palette-primary);
}

.cal-team-overflow[b-ct5qcwlj6c] {
    position: static;
    flex: 0 0 auto;
}

.cal-team-overflow > summary[b-ct5qcwlj6c] {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border: 1px dashed color-mix(in oklab, var(--mud-palette-primary), transparent 48%);
    border-radius: 999px;
    color: var(--mud-palette-primary);
    font-size: 0.75rem;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.cal-team-overflow[open] > summary[b-ct5qcwlj6c],
.cal-team-overflow > summary:hover[b-ct5qcwlj6c] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
}

.cal-team-popover[b-ct5qcwlj6c] {
    position: absolute;
    top: calc(100% + 7px);
    right: 12px;
    z-index: 20;
    width: min(350px, calc(100vw - 48px));
    padding: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    box-shadow: 0 16px 38px color-mix(in oklab, var(--mud-palette-text-primary), transparent 80%);
}

.cal-team-search[b-ct5qcwlj6c] {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 4px 9px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 9px;
    color: var(--mud-palette-text-secondary);
}

.cal-team-search input[b-ct5qcwlj6c] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.8125rem;
}

.cal-team-esc[b-ct5qcwlj6c] {
    flex: 0 0 auto;
    font-family: var(--cw-font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-lines-default);
    border-bottom-width: 2px;
    border-radius: 5px;
    padding: 0 5px;
    background: var(--mud-palette-surface);
}

.cal-team-group-title[b-ct5qcwlj6c] {
    padding: 9px 8px 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.625rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cal-team-scroll[b-ct5qcwlj6c] {
    max-height: 220px;
    overflow-y: auto;
}

.cal-team-option[b-ct5qcwlj6c] {
    width: 100%;
    min-height: 38px;
    display: grid;
    grid-template-columns: 14px 26px minmax(0, 1fr) 8px auto;
    align-items: center;
    gap: 8px;
    padding: 5px 7px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.75rem;
    text-align: left;
    cursor: pointer;
}

.cal-team-option:hover[b-ct5qcwlj6c],
.cal-team-option--checked[b-ct5qcwlj6c] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
}

.cal-team-option--offline[b-ct5qcwlj6c] {
    opacity: 0.58;
}

.cal-team-option-check[b-ct5qcwlj6c] {
    width: 14px;
    flex: 0 0 auto;
    color: var(--mud-palette-primary);
    font-weight: 700;
}

.cal-team-option-count[b-ct5qcwlj6c] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    white-space: nowrap;
}

.cal-team-empty[b-ct5qcwlj6c],
.cal-team-popover-foot[b-ct5qcwlj6c] {
    padding: 8px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
}

.cal-team-popover-foot[b-ct5qcwlj6c] {
    margin: 5px -8px -8px;
    border-top: 1px solid var(--mud-palette-lines-default);
    text-align: center;
}

.cal-team-legend[b-ct5qcwlj6c] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 1 1 360px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
}

.cal-presence-dot[b-ct5qcwlj6c] {
    width: 7px;
    height: 7px;
    display: inline-block;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--mud-palette-lines-default);
}

.cal-presence-dot--active[b-ct5qcwlj6c] {
    background: var(--cw-status-ok);
}

.cal-presence-dot--away[b-ct5qcwlj6c] {
    background: var(--cw-status-warning);
}

.cal-presence-dot--offline[b-ct5qcwlj6c] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 38%);
}

@media (max-width: 600px) {
    /* Team view stays a desktop job (the mockup's phone figure). */
    .cal-team-bar[b-ct5qcwlj6c] {
        display: none;
    }

    .cal-team-popover[b-ct5qcwlj6c] {
        position: fixed;
        top: 18vh;
        right: 16px;
        left: 16px;
        width: auto;
    }
}
/* /Components/Pages/Clients/Components/ClientBriefStrip.razor.rz.scp.css */
.client-brief-strip[b-he26mkf3n4] {
    margin-top: 16px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-primary), transparent 72%);
    border-radius: var(--cw-radius-tile, 12px);
    background: color-mix(in oklab, var(--mud-palette-primary), var(--mud-palette-surface) 94%);
    overflow: hidden;
}

.client-brief-strip summary[b-he26mkf3n4] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
}

.client-brief-strip summary[b-he26mkf3n4]::-webkit-details-marker {
    display: none;
}

.client-brief-strip summary:focus-visible[b-he26mkf3n4],
.client-brief-refresh:focus-visible[b-he26mkf3n4] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.client-brief-sparkle[b-he26mkf3n4],
.client-brief-expand[b-he26mkf3n4] {
    color: var(--mud-palette-primary);
}

.client-brief-purpose[b-he26mkf3n4],
.client-brief-disclaimer[b-he26mkf3n4],
.client-brief-model[b-he26mkf3n4] {
    color: var(--mud-palette-text-secondary);
}

.client-brief-tag[b-he26mkf3n4] {
    margin-left: auto;
    padding: 3px 8px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.client-brief-expand[b-he26mkf3n4] {
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.client-brief-body[b-he26mkf3n4] {
    padding: 0 14px 14px 40px;
}

.client-brief-narrative[b-he26mkf3n4] {
    line-height: 1.55;
    white-space: pre-line;
}

.client-brief-model[b-he26mkf3n4] {
    margin-top: 5px;
    font-size: 0.75rem;
}

.client-brief-loading[b-he26mkf3n4] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--mud-palette-text-secondary);
}

/* The computed facts under the prose. Quieter than the narrative — they are
   corroboration and a way through, not the story. */
.client-brief-evidence[b-he26mkf3n4] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.client-brief-evidence-label[b-he26mkf3n4] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.client-brief-chip[b-he26mkf3n4] {
    font-size: 0.75rem;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    white-space: nowrap;
}

.client-brief-actions[b-he26mkf3n4] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 10px;
}

.client-brief-refresh[b-he26mkf3n4] {
    appearance: none;
    padding: 3px 2px;
    border: 0;
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    font-size: 0.8125rem;
    cursor: pointer;
}

.client-brief-refresh:hover:not(:disabled)[b-he26mkf3n4] {
    text-decoration: underline;
}

.client-brief-refresh:disabled[b-he26mkf3n4] {
    opacity: 0.55;
    cursor: default;
}

.client-brief-disclaimer[b-he26mkf3n4] {
    font-size: 0.75rem;
}

@media (max-width: 960px) {
    .client-brief-strip summary[b-he26mkf3n4] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .client-brief-tag[b-he26mkf3n4] {
        order: 4;
        width: 100%;
        margin-left: 26px;
        white-space: normal;
    }

    .client-brief-expand[b-he26mkf3n4] {
        margin-left: auto;
    }

    .client-brief-body[b-he26mkf3n4] {
        padding-left: 14px;
    }
}
/* /Components/Pages/Clients/Components/ClientHistoryFeed.razor.rz.scp.css */
.client-history-state[b-4dikg8kwnu] {
    display: flex;
    justify-content: center;
    padding: 32px;
}

.client-history-empty[b-4dikg8kwnu] {
    padding: 18px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: var(--cw-radius-tile, 12px);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-secondary);
}

.client-history-feed[b-4dikg8kwnu] {
    display: grid;
    gap: 22px;
}

.client-history-month h3[b-4dikg8kwnu] {
    margin: 0 0 8px;
    color: var(--mud-palette-text-secondary);
    font-size: var(--cw-label-size, 0.6875rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.client-history-rows[b-4dikg8kwnu] {
    overflow: hidden;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: var(--cw-radius-card, 14px);
    background: var(--mud-palette-surface);
}

.client-history-row[b-4dikg8kwnu] {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 9px 12px;
    color: inherit;
    text-decoration: none;
}

.client-history-row + .client-history-row[b-4dikg8kwnu] {
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 48%);
}

.client-history-row:hover[b-4dikg8kwnu] {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.client-history-row:focus-visible[b-4dikg8kwnu] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.client-history-icon[b-4dikg8kwnu] {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 90%);
    color: var(--mud-palette-secondary);
}

.client-history-copy[b-4dikg8kwnu] {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.client-history-title[b-4dikg8kwnu] {
    font-size: 0.875rem;
    font-weight: 600;
}

.client-history-detail[b-4dikg8kwnu] {
    overflow: hidden;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.client-history-time[b-4dikg8kwnu] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.client-history-row[b-4dikg8kwnu]  .client-history-chevron {
    color: var(--mud-palette-text-secondary);
}

@media (max-width: 600px) {
    .client-history-row[b-4dikg8kwnu] {
        grid-template-columns: 30px minmax(0, 1fr) 20px;
    }

    .client-history-time[b-4dikg8kwnu] {
        grid-column: 2;
        grid-row: 2;
    }

    .client-history-row[b-4dikg8kwnu]  .client-history-chevron {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
}
/* /Components/Pages/Clients/Details.razor.rz.scp.css */
.details-shell[b-e1ma44u9hu] {
    /* Matches the shared .page-shell width so every page lines up. */
    max-width: min(1320px, calc(100vw - 32px));
    width: 100%;
    margin: 0 auto;
}

/* MudPaper renders outside CSS isolation scope: use ::deep and scope it under details-shell. */
.details-shell[b-e1ma44u9hu]  .client-hero {
    padding: 24px;
    border-radius: 14px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 20%);
}

.client-hero-row[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.client-hero-avatar[b-e1ma44u9hu] {
    flex-shrink: 0;
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.client-hero-avatar:focus-visible[b-e1ma44u9hu] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 3px;
    border-radius: var(--mud-default-borderradius);
}

.avatar-overlay[b-e1ma44u9hu] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
    border-radius: var(--mud-default-borderradius);
    opacity: 0;
    transition: opacity 0.2s ease;
    color: white;
    pointer-events: none;
}

.client-hero-avatar:hover .avatar-overlay[b-e1ma44u9hu] {
    opacity: 1;
}

.client-hero-main[b-e1ma44u9hu] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.client-hero-title[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.client-name[b-e1ma44u9hu] {
    font-weight: 700;
    letter-spacing: -0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.client-hero-meta[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    min-width: 0;
    flex-wrap: wrap;
}

.client-meta-link[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
}

.client-meta-link:hover[b-e1ma44u9hu] {
    color: var(--mud-palette-text-primary);
}

.client-meta-strong[b-e1ma44u9hu] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}

.client-meta-divider[b-e1ma44u9hu] {
    opacity: 0.7;
}

.client-hero-tags[b-e1ma44u9hu] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.client-hero-actions[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* ── Tabs ────────────────────────────────────────────────────────── */

.client-tabs[b-e1ma44u9hu] {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding: 4px 6px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 14px;
    background: var(--mud-palette-surface);
    scrollbar-width: thin;
}

.client-tab-button[b-e1ma44u9hu],
.client-section-button[b-e1ma44u9hu] {
    border: 0;
    color: var(--mud-palette-text-secondary);
    background: transparent;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: color 120ms ease, background-color 120ms ease;
}

.client-tab-button[b-e1ma44u9hu] {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 10px;
}

.client-tab-button:hover[b-e1ma44u9hu],
.client-section-button:hover[b-e1ma44u9hu] {
    color: var(--mud-palette-text-primary);
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.client-tab-button:focus-visible[b-e1ma44u9hu],
.client-section-button:focus-visible[b-e1ma44u9hu] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.client-tab-button--active[b-e1ma44u9hu],
.client-section-button--active[b-e1ma44u9hu] {
    color: var(--mud-palette-primary);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 91%);
}

.client-tab-count[b-e1ma44u9hu] {
    margin-left: 6px;
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.client-tab-content[b-e1ma44u9hu] {
    padding-top: 16px;
}

.client-section-list[b-e1ma44u9hu] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
    padding: 6px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 8%);
}

.client-section-button[b-e1ma44u9hu] {
    min-height: 36px;
    padding: 0 12px;
    border-radius: 9px;
}

/* ── Dashboard Cards ─────────────────────────────────────────────── */

.client-health-strip[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 16px;
    padding: 9px 14px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    font-size: 0.8125rem;
}

.client-health-live[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--cw-status-ok);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.client-health-dot[b-e1ma44u9hu] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--cw-status-ok);
}

.client-health-item[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
}

.client-health-item b[b-e1ma44u9hu] {
    color: var(--mud-palette-text-primary);
    font-weight: 700;
}

.client-health-sep[b-e1ma44u9hu] {
    color: var(--mud-palette-lines-default);
}

.client-health-muted[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
}

.client-health-ok[b-e1ma44u9hu] {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border: 1px solid color-mix(in oklab, var(--cw-status-ok), transparent 60%);
    border-radius: 999px;
    color: var(--cw-status-ok);
    font-size: 0.6875rem;
    font-weight: 600;
}

.client-health-warn[b-e1ma44u9hu] {
    color: var(--cw-status-warning);
    font-weight: 600;
}

.client-health-spacer[b-e1ma44u9hu] {
    flex: 1;
}

.client-health-updated[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

/* Ready-to-bill: one green line, only when something is unbilled. */
.client-ready-strip[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding: 10px 14px;
    border: 1px solid color-mix(in oklab, var(--cw-status-ok), transparent 60%);
    border-radius: 12px;
    background: color-mix(in oklab, var(--cw-status-ok), transparent 94%);
    font-size: 0.8125rem;
}

.client-ready-text[b-e1ma44u9hu] {
    flex: 1;
    min-width: 0;
    color: var(--mud-palette-text-primary);
}

.client-ready-text b[b-e1ma44u9hu] {
    font-weight: 700;
}

/* The mid-call and context rows: three equal cards. */
.client-ov-grid[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--cw-card-gap);
    margin-bottom: var(--cw-card-gap);
}

.dash-card-count[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.dash-card-sub[b-e1ma44u9hu] {
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--mud-palette-text-secondary);
}

.dash-card-foot[b-e1ma44u9hu] {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    font-size: 0.75rem;
}

.dash-card-foot--muted[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
}

.dash-foot-link[b-e1ma44u9hu] {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.dash-foot-link:hover[b-e1ma44u9hu] {
    text-decoration: underline;
}

.dash-foot-link:focus-visible[b-e1ma44u9hu] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

/* Open-tickets mini-list */
.dash-row-list[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
}

.dash-row[b-e1ma44u9hu] {
    display: flex;
    align-items: baseline;
    gap: 9px;
    padding: 7px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    color: inherit;
    text-decoration: none;
}

.dash-row:first-child[b-e1ma44u9hu] {
    border-top: none;
}

.dash-row:hover .dash-row-title[b-e1ma44u9hu] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.dash-row-main[b-e1ma44u9hu] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.dash-row-title[b-e1ma44u9hu] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.dash-row-meta[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

.dash-row-side[b-e1ma44u9hu] {
    flex: 0 0 auto;
}

.dash-row-why[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

.dash-row-why--warn[b-e1ma44u9hu] {
    color: var(--cw-status-warning);
    font-weight: 600;
}

/* Money position figures */
.dash-money-block + .dash-money-block[b-e1ma44u9hu] {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.dash-money-label[b-e1ma44u9hu] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.dash-money-fig[b-e1ma44u9hu] {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--mud-palette-text-primary);
    font-variant-numeric: tabular-nums;
}

.dash-money-sub[b-e1ma44u9hu] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.dash-v-sub[b-e1ma44u9hu] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.dash-last-activity[b-e1ma44u9hu] {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* Billing tab: the four money tiles */
.client-money-tiles[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 12px;
}

.client-money-tile[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    color: inherit;
    text-decoration: none;
}

.client-money-tile:hover[b-e1ma44u9hu] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 55%);
}

.client-money-tile-label[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.client-money-tile-value[b-e1ma44u9hu] {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--mud-palette-text-primary);
    font-variant-numeric: tabular-nums;
}

.client-money-tile-sub[b-e1ma44u9hu] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* Readiness checklist rows */
.client-check-row[b-e1ma44u9hu] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    font-size: 0.8125rem;
}

.client-check-row:first-child[b-e1ma44u9hu] {
    border-top: none;
}

.client-check-glyph[b-e1ma44u9hu] {
    flex: 0 0 18px;
    text-align: center;
}

.client-check-glyph--ok[b-e1ma44u9hu] {
    color: var(--cw-status-ok);
}

.client-check-glyph--warn[b-e1ma44u9hu] {
    color: var(--cw-status-warning);
}

.client-check-main[b-e1ma44u9hu] {
    flex: 1;
    min-width: 0;
    color: var(--mud-palette-text-primary);
}

.client-check-muted[b-e1ma44u9hu] {
    color: var(--mud-palette-text-secondary);
}

/* Recent invoices */
.client-invoice-list[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
}

.client-invoice-row[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.client-invoice-row:first-child[b-e1ma44u9hu] {
    border-top: none;
}

.client-invoice-main[b-e1ma44u9hu] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.client-invoice-number[b-e1ma44u9hu] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.client-invoice-number:hover[b-e1ma44u9hu] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.client-invoice-for[b-e1ma44u9hu] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.client-invoice-total[b-e1ma44u9hu] {
    flex: 0 0 auto;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    text-align: right;
}

.client-invoice-status[b-e1ma44u9hu] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.client-invoice-status-sub[b-e1ma44u9hu] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.client-invoice-actions[b-e1ma44u9hu] {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
    font-size: 0.75rem;
}

.client-invoice-actions a[b-e1ma44u9hu] {
    color: var(--mud-palette-primary);
    font-weight: 600;
    text-decoration: none;
}

.client-invoice-actions a:hover[b-e1ma44u9hu] {
    text-decoration: underline;
}

/* ── Phone (<600px): same stacking order, one column ──────────────── */
@media (max-width: 1100px) {
    .client-ov-grid[b-e1ma44u9hu] {
        grid-template-columns: 1fr;
    }

    .client-money-tiles[b-e1ma44u9hu] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 599.98px) {
    .client-health-strip[b-e1ma44u9hu] {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .client-health-spacer[b-e1ma44u9hu] {
        display: none;
    }

    .client-money-tiles[b-e1ma44u9hu] {
        grid-template-columns: 1fr;
    }

    .client-invoice-row[b-e1ma44u9hu] {
        flex-wrap: wrap;
        gap: 6px;
    }
}

.client-credentials-preview[b-e1ma44u9hu] {
    margin: -4px -4px 0;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-list {
    display: flex;
    flex-direction: column;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-row:first-child {
    border-top: none;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-main {
    flex: 1 1 auto;
    min-width: 0;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-name,
.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-username {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-name {
    color: var(--mud-palette-text-primary);
    font-size: 0.875rem;
    font-weight: 600;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-username,
.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-note {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.client-credentials-preview[b-e1ma44u9hu]  .vault-preview-note {
    margin-top: 9px;
}

.details-shell[b-e1ma44u9hu]  .dash-card {
    padding: 20px;
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

.dash-card-header[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--mud-palette-text-secondary);
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.dash-card-title[b-e1ma44u9hu] {
    /* Card titles are sentence-case bold on this page (the mockup's canon);
       only whisper labels (money tiles, kv keys) stay uppercase. */
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.dash-card--summary .dash-card-header[b-e1ma44u9hu] {
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: none;
}

.dash-header-action[b-e1ma44u9hu] {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.dash-header-action:hover[b-e1ma44u9hu] {
    color: var(--mud-palette-text-primary);
}

/* Key-value list inside Details card */
.dash-kv-list[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dash-kv[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.dash-k[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    line-height: 1.2;
}

.dash-v[b-e1ma44u9hu] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Notes */
.dash-notes[b-e1ma44u9hu] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    white-space: pre-wrap;
    min-height: 28px;
}

/* Links */
.dash-link-list[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dash-link-row[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 0;
}

/* ::deep so the rule also reaches MudLink roots carrying this class (a Mud
   component's root element never gets the isolation attribute). flex:1 packs
   each row left — text sits beside its leading icon and the trailing
   metadata/action cluster lands at a consistent x on every row. */
.details-shell[b-e1ma44u9hu]  .dash-link-text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Prose rows (QBR narrative, sales notes, reminders) wrap instead of
   hard-clipping mid-word at the card edge. */
.details-shell[b-e1ma44u9hu]  .dash-link-text--wrap {
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Long sales notes cap at 3 lines with an ellipsis. */
.details-shell[b-e1ma44u9hu]  .sales-note-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
}

/* Docs: every row reserves the pin gutter (icon is visibility:hidden when
   unpinned) so pinned/unpinned titles share one left edge. */
.details-shell[b-e1ma44u9hu]  .doc-pin {
    vertical-align: text-bottom;
    margin-right: 4px;
}

/* Tags */
.dash-tag-list[b-e1ma44u9hu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Empty state */
.dash-empty[b-e1ma44u9hu] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
    padding: 12px 0 4px;
}

.qbr-score[b-e1ma44u9hu] {
    font-size: 3rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0;
    color: var(--mud-palette-text-primary);
}

.qbr-narrative[b-e1ma44u9hu] {
    white-space: pre-wrap;
}

.qbr-recommendations[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.details-shell[b-e1ma44u9hu]  .qbr-recommendation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border-radius: 10px;
}

.qbr-recommendation-main[b-e1ma44u9hu] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.cw-grid-actions[b-e1ma44u9hu] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 100%;
}

.dash-summary[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dash-summary-title[b-e1ma44u9hu] {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.dash-summary-sub[b-e1ma44u9hu] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.dash-summary-rows[b-e1ma44u9hu] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.dash-summary-row[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    color: var(--mud-palette-text-primary);
    font-size: 0.875rem;
    min-width: 0;
}

.dash-summary-k[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    padding-top: 2px;
}

/* Values wrap up to two lines instead of ellipsizing mid-word (timezones like
   "America/Chicago" were truncating). Only plain-HTML children match here —
   MudLink values keep their single line exactly as before. */
.dash-summary-row> :nth-child(2)[b-e1ma44u9hu] {
    min-width: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.dash-mini-list[b-e1ma44u9hu] {
    padding-top: 12px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.dash-mini-title[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 6px;
}

.dash-mini-row[b-e1ma44u9hu] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    padding: 2px 0;
}

.dash-section-divider[b-e1ma44u9hu] {
    height: 1px;
    background: color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    margin: 16px 0 12px;
}

.dash-section-title[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 6px;
}

.billing-overview-strip[b-e1ma44u9hu] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    padding: 8px 10px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 8%);
}

.billing-health-card[b-e1ma44u9hu] {
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 10%);
}

.billing-health-header[b-e1ma44u9hu] {
    margin-bottom: 10px;
}

.billing-health-list[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 8px;
}

.billing-health-item[b-e1ma44u9hu] {
    min-width: 0;
    min-height: 96px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 10px;
    padding: 7px 9px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 8%);
}

.billing-health-item-main[b-e1ma44u9hu] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

.billing-health-item-title[b-e1ma44u9hu] {
    font-weight: 600;
    line-height: 1.15;
    font-size: 0.93rem;
}

.billing-health-item-detail[b-e1ma44u9hu] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.details-shell[b-e1ma44u9hu]  .billing-health-item .mud-button-root {
    min-width: 56px;
    white-space: nowrap;
    padding: 2px 10px;
    height: auto;
    font-size: 0.75rem;
    align-self: center;
    flex-shrink: 0;
}

.billing-table-wrap[b-e1ma44u9hu] {
    overflow-x: auto;
}

/* ::deep is required — without it the compiled selector demands the scope
   attribute on MudTable's own elements and matches nothing, so the table
   squeezed to min-content and clipped mid-header with no scroll. Scoped to
   desktop widths: these MudTables stack below 960px (Breakpoint.Sm) and a
   min-width there would force the stacked cards to scroll sideways. */
@media (min-width: 960px) {
    .details-shell[b-e1ma44u9hu]  .billing-table-wrap :is(table, .mud-table-container) {
        min-width: 640px;
    }
}

/* Stacked phone rows: let a cell's content wrap under its data-label instead
   of laying title + chips + captions out in one unshrinkable flex row (that
   row pushed the value columns off-screen, leaving labels with no values). */
@media (max-width: 959.98px) {
    .details-shell[b-e1ma44u9hu]  .billing-table-wrap td.mud-table-cell {
        flex-wrap: wrap;
        row-gap: 4px;
        min-width: 0;
    }
}

/* Embedded tables (contacts, sites, service items, invoices) adopt the
   Service Desk head treatment — identical values to .data-grid-container — so
   the detail cards read like the Clients/Users grids. Done via scoped CSS
   rather than a .data-grid-container wrapper to avoid a double border inside
   the already-outlined cards. Contacts/sites sit directly in .dash-card;
   service-items/invoices are wrapped in .billing-table-wrap. */
.details-shell[b-e1ma44u9hu]  .dash-card .mud-table-head th.mud-table-cell,
.details-shell[b-e1ma44u9hu]  .billing-table-wrap .mud-table-head th.mud-table-cell {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--mud-palette-text-secondary) !important;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.details-shell[b-e1ma44u9hu]  .dash-card .mud-table-body td.mud-table-cell,
.details-shell[b-e1ma44u9hu]  .billing-table-wrap .mud-table-body td.mud-table-cell {
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.details-shell[b-e1ma44u9hu]  .dash-card .mud-table-hover .mud-table-body .mud-table-row:hover,
.details-shell[b-e1ma44u9hu]  .billing-table-wrap .mud-table-hover .mud-table-body .mud-table-row:hover {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

/* MudSimpleTable renders plain <thead>/<tbody> without .mud-table-cell, so the
   in-card tables on the Tickets/Sales tabs need the same selectors
   .data-grid-container uses in app.css (identical values) to pick up the
   Service Desk head. :not(.mud-table-cell) keeps MudTable/MudDataGrid out. */
.details-shell[b-e1ma44u9hu]  .dash-card thead th:not(.mud-table-cell) {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    text-align: left;
    padding: 10px 16px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.details-shell[b-e1ma44u9hu]  .dash-card tbody td:not(.mud-table-cell) {
    padding: 10px 16px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.details-shell[b-e1ma44u9hu]  .dash-card .mud-table-hover tbody tr:hover td:not(.mud-table-cell) {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

/* Simple tables don't stack on phones — the Tickets/Sales tab tables wrap in
   the global .report-table (app.css) + --cw-table-min instead: a width floor
   plus horizontal scroll with a right-edge fade affordance. The old local
   .dash-table-scroll wrapper scrolled without any affordance, so trailing
   headers looked hard-clipped at the card edge. */

.billing-card-intro[b-e1ma44u9hu] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 10px;
}

.details-shell[b-e1ma44u9hu]  .billing-toolbar-input.mud-input-control {
    margin-top: 0;
}

.billing-contract-toolbar[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.billing-contract-search[b-e1ma44u9hu] {
    flex: 1 1 auto;
    min-width: 280px;
}

.billing-section-label[b-e1ma44u9hu] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    padding-top: 2px;
}

.billing-section-label--manual[b-e1ma44u9hu] {
    margin-top: 4px;
}

/* The metrics list has no height-capped scroll pane: the old min(58vh, 680px)
   pane cut the last tile's "Used by" links mid-line, and even the sticky
   bottom fade read as a broken tile rather than a scroll hint. */

.billing-mono[b-e1ma44u9hu] {
    font-family: var(--cw-font-mono);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.billing-chip-wrap[b-e1ma44u9hu] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.billing-metric-card[b-e1ma44u9hu] {
    border-left: 3px solid transparent;
}

.billing-metric-card--tracked[b-e1ma44u9hu] {
    border-left-color: color-mix(in oklab, var(--mud-palette-info), transparent 30%);
}

.billing-metric-card--manual[b-e1ma44u9hu] {
    border-left-color: color-mix(in oklab, var(--mud-palette-info), transparent 25%);
}

.billing-metric-avatar[b-e1ma44u9hu] {
    flex-shrink: 0;
}

.details-shell[b-e1ma44u9hu]  .billing-metric-avatar--tracked {
    background: var(--mud-palette-primary-lighten);
    color: var(--mud-palette-primary);
}

.details-shell[b-e1ma44u9hu]  .billing-metric-avatar--manual {
    background: var(--mud-palette-info-lighten);
    color: var(--mud-palette-info);
}

.billing-metric-text[b-e1ma44u9hu] {
    min-width: 0;
}

.billing-metric-title-row[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.billing-metric-value[b-e1ma44u9hu] {
    font-weight: 700;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    white-space: nowrap;
}

.billing-metric-meta[b-e1ma44u9hu] {
    margin-left: 44px;
    margin-top: 6px;
    padding: 6px 10px;
    border-radius: 6px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 8%);
    border-left: 2px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
    display: inline-block;
}

.billing-metric-links[b-e1ma44u9hu] {
    margin-left: 44px;
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.billing-metric-links[b-e1ma44u9hu]  .mud-chip {
    height: auto;
    min-height: 26px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.billing-metric-links[b-e1ma44u9hu]  .mud-chip .mud-chip-content {
    white-space: normal;
    line-height: 1.3;
}

.billing-manual-editor[b-e1ma44u9hu] {
    background: var(--mud-palette-background-gray);
}

.billing-manual-editor--narrow[b-e1ma44u9hu] {
    max-width: 640px;
}

.billing-contract-summary[b-e1ma44u9hu] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.billing-empty-state[b-e1ma44u9hu] {
    border: 1px dashed color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 12%);
}

.billing-contract-layout[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    min-width: 0;
    max-width: 100%;
}

.billing-contract-list-pane[b-e1ma44u9hu] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: min(75vh, 800px);
    overflow-y: auto;
    position: sticky;
    top: 16px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 10%);
    min-width: 0;
    max-width: 100%;
}

.billing-contract-list-row[b-e1ma44u9hu] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    align-items: center;
}

.billing-contract-list-item[b-e1ma44u9hu] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 10px;
    background: var(--mud-palette-surface);
    padding: 11px 12px;
    width: 100%;
    text-align: left;
    color: inherit;
    font: inherit;
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.billing-contract-list-edit[b-e1ma44u9hu] {
    flex-shrink: 0;
}

.billing-contract-list-item:hover[b-e1ma44u9hu] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 35%);
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-primary) 4%);
}

.billing-contract-list-item--selected[b-e1ma44u9hu] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 25%);
    box-shadow: 0 0 0 1px color-mix(in oklab, var(--mud-palette-primary), transparent 50%) inset;
}

.billing-contract-list-item--inactive[b-e1ma44u9hu] {
    opacity: 0.8;
}

.billing-contract-list-item-head[b-e1ma44u9hu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
}

.billing-contract-list-item-name[b-e1ma44u9hu] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
    min-width: 0;
}

.billing-contract-detail-pane[b-e1ma44u9hu] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 12px;
    padding: 14px;
    background: var(--mud-palette-surface);
    position: relative;
    min-width: 0;
    max-width: 100%;
}

.billing-contract-detail-header[b-e1ma44u9hu] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    position: sticky;
    top: 8px;
    z-index: 3;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    border-radius: 10px;
    padding: 10px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 8%);
}

.billing-contract-detail-identity[b-e1ma44u9hu] {
    min-width: 0;
}

.billing-contract-detail-actions[b-e1ma44u9hu] {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.billing-contract-description[b-e1ma44u9hu] {
    margin-bottom: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 12%);
    border-left: 3px solid color-mix(in oklab, var(--mud-palette-primary), transparent 60%);
    font-style: italic;
    color: var(--mud-palette-text-primary);
}

.billing-contract-alert[b-e1ma44u9hu] {
    margin-bottom: 8px;
}

.billing-service-items-surface[b-e1ma44u9hu] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 15%);
    padding: 6px 6px 2px;
}

.billing-service-empty[b-e1ma44u9hu] {
    font-style: italic;
}

.details-shell[b-e1ma44u9hu]  .billing-projection-card {
    margin-bottom: 10px;
    padding: 16px;
    border-radius: 12px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-info) 3%);
}

.billing-projection-head[b-e1ma44u9hu] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.billing-projection-total[b-e1ma44u9hu] {
    text-align: right;
}

.details-shell[b-e1ma44u9hu]  .billing-service-items-surface .mud-table-container {
    border-radius: 8px;
    max-height: min(48vh, 420px);
    overflow-y: auto;
}

.billing-anchor[b-e1ma44u9hu] {
    display: block;
    position: relative;
    top: -76px;
    visibility: hidden;
}

/* Credentials tab (embedded vault panel): the kebab (inline-flex .mud-menu)
   rode a few px higher than the eye/copy buttons (inline-block tooltip
   roots) — normalize all three to one midline. */
.details-shell[b-e1ma44u9hu]  .client-credentials-card td.mud-table-cell > .mud-tooltip-root,
.details-shell[b-e1ma44u9hu]  .client-credentials-card td.mud-table-cell > .mud-menu {
    vertical-align: middle;
}

/* ── Responsive ──────────────────────────────────────────────────── */

@media (max-width: 1279.98px) {
    .client-hero-row[b-e1ma44u9hu] {
        flex-wrap: wrap;
        align-items: flex-start;
        row-gap: 14px;
    }

    .client-hero-actions[b-e1ma44u9hu] {
        width: 100%;
        justify-content: flex-end;
    }

    .details-shell[b-e1ma44u9hu]  .qbr-recommendation {
        align-items: stretch;
        flex-direction: column;
    }

    .billing-metric-value[b-e1ma44u9hu] {
        font-size: 0.875rem;
    }

    .billing-overview-strip[b-e1ma44u9hu] {
        padding: 8px;
    }

    .billing-contract-toolbar[b-e1ma44u9hu] {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    .billing-contract-search[b-e1ma44u9hu] {
        min-width: 0;
    }

    .billing-contract-layout[b-e1ma44u9hu] {
        grid-template-columns: 1fr;
    }

    .billing-contract-list-pane[b-e1ma44u9hu] {
        max-height: min(44vh, 420px);
        position: static;
    }

    .billing-contract-detail-header[b-e1ma44u9hu] {
        flex-direction: column;
        align-items: flex-start;
        top: 0;
        z-index: 2;
    }

    .billing-contract-detail-actions[b-e1ma44u9hu] {
        justify-content: flex-start;
    }

    .details-shell[b-e1ma44u9hu]  .billing-table-wrap .mud-table-cell {
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

@media (max-width: 700px) {
    .client-credentials-preview[b-e1ma44u9hu]  .vault-preview-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .billing-health-list[b-e1ma44u9hu] {
        grid-template-columns: minmax(0, 1fr);
    }

    .billing-health-item[b-e1ma44u9hu] {
        min-height: 0;
    }
}

@media (max-width: 599.98px) {
    .client-health-strip[b-e1ma44u9hu] {
        display: block;
    }

    .client-health-fact[b-e1ma44u9hu] {
        min-width: 0;
        border-right: 0;
        border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    }

    .client-health-fact:last-child[b-e1ma44u9hu] {
        border-bottom: 0;
    }

    .client-section-list--more[b-e1ma44u9hu] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .client-section-list--more .client-section-button[b-e1ma44u9hu] {
        white-space: normal;
    }

    .client-hero-title[b-e1ma44u9hu] {
        flex-wrap: wrap;
    }

    .client-name[b-e1ma44u9hu] {
        flex: 1 1 140px;
    }

    /* Contacts: MudDataGrid stacks cells into cards below 600px and the
       actions cell landed as an orphan row at each record's foot. Pin the
       kebab beside the contact identity — same pattern as Clients/List. */
    .details-shell[b-e1ma44u9hu]  .contacts-grid .mud-table-body .mud-table-row {
        position: relative;
    }

    .details-shell[b-e1ma44u9hu]  .contacts-grid .mud-table-body .mud-table-row > .mud-table-cell[data-label="Name"] {
        padding-right: 60px !important;
    }

    .details-shell[b-e1ma44u9hu]  .contacts-grid .mud-table-body .mud-table-row > .mud-table-cell:last-child {
        position: absolute !important;
        top: 2px;
        right: 8px;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px;
        min-height: 44px;
        padding: 0 !important;
        align-items: center;
        justify-content: center;
        border: 0 !important;
        z-index: 2;
    }

    .details-shell[b-e1ma44u9hu]  .contacts-grid .mud-table-body .mud-table-row > .mud-table-cell:last-child > div,
    .details-shell[b-e1ma44u9hu]  .contacts-grid .mud-table-body .mud-table-row > .mud-table-cell:last-child .mud-menu,
    .details-shell[b-e1ma44u9hu]  .contacts-grid .mud-table-body .mud-table-row > .mud-table-cell:last-child .mud-icon-button {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        align-items: center;
        justify-content: center;
    }
}
/* /Components/Pages/Clients/Dialogs/ClientInvoicePreviewDialog.razor.rz.scp.css */
.preview-total[b-58zomza86u] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--mud-palette-text-primary);
    font-variant-numeric: tabular-nums;
}

.preview-breakdown[b-58zomza86u] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.preview-breakdown-row[b-58zomza86u] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Clients/List.razor.rz.scp.css */
/* Clients list — scoped under .clients-page (see UI_STYLE_GUIDE.md).
   Mirrors the Service Desk aesthetic: hairline borders, soft tints,
   14px surfaces, sentence-case controls. */

/* (.command-bar, .grid-cell-primary, .clickable-row come from app.css) */

/* Client avatar — identical shape/colors to the Service Desk list. */
.clients-page[b-khi3oaqukg]  .client-avatar {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    flex: 0 0 auto;
}

.client-avatar--initials[b-khi3oaqukg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    background: var(--client-avatar-bg, var(--mud-palette-primary));
}

.client-identity-copy[b-khi3oaqukg] {
    min-width: 0;
}

@media (max-width: 600px) {
    /* MudDataGrid stacks into cards below 600px (Breakpoint.Xs) and the
       SelectColumn cells render as orphan unlabeled checkbox rows floating
       between cards. Selection is a desktop bulk-action affordance — hide
       the whole column at phone width. :not([colspan]) keeps full-width
       utility cells (NoRecordsContent / loading) visible. */
    .clients-page[b-khi3oaqukg]  .mud-table-head .mud-table-cell:first-child,
    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell:first-child:not([colspan]) {
        display: none !important;
    }
}

@media (max-width: 700px) {
    /* MudDataGrid stacks every cell into a card on phones. Its empty actions
       column otherwise lands after Open tickets, leaving the three-dot menu
       detached from the client it controls. Pin it to the identity row. */
    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row {
        position: relative;
    }

    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell[data-label="Client"] {
        padding-right: 60px !important;
    }

    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell:last-child {
        position: absolute !important;
        /* The identity row is now the first stacked row (the selection
           checkbox row above it is hidden at phone width). */
        top: 2px;
        right: 8px;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px;
        min-height: 44px;
        padding: 0 !important;
        align-items: center;
        justify-content: center;
        border: 0 !important;
        z-index: 2;
    }

    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell:last-child > div,
    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell:last-child .mud-menu,
    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell:last-child .mud-menu-activator,
    .clients-page[b-khi3oaqukg]  .mud-table-body .mud-table-row > .mud-table-cell:last-child .mud-icon-button {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        align-items: center;
        justify-content: center;
    }
}
/* /Components/Pages/DashboardNotificationsCard.razor.rz.scp.css */
.dashboard-notifications-chip[b-8ddow263ik] {
    display: none;
    align-items: center;
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: color-mix(in oklab, currentColor, transparent 88%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 600;
    text-align: center;
}

.dashboard-notifications-foot[b-8ddow263ik] {
    margin-top: auto;
    padding: 10px 14px 12px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--mud-palette-text-secondary);
}

/* The burst meta's count IS the copy ("since 5:01 AM — one grouped row,
   not 38") — the base .action-row-meta ellipsis must never clip it. */
.dashboard-notification-row--burst .action-row-meta[b-8ddow263ik] {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    overflow-wrap: anywhere;
}

.action-card-header-link[b-8ddow263ik] {
    color: var(--mud-palette-primary);
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.action-card-header-link:hover[b-8ddow263ik] {
    text-decoration: underline;
}

@media (max-width: 599.98px) {
    /* The phone shows the count chip instead of the wordy sub (the mockup's
       390 figure: title + chip, no subtitle line). */
    .dashboard-notifications-card .action-card-sub[b-8ddow263ik] {
        display: none;
    }

    .dashboard-notifications-chip[b-8ddow263ik] {
        display: inline-flex;
    }
}
/* /Components/Pages/Founding.razor.rz.scp.css */
.founding-page[b-knspkbqpue] {
    overflow: hidden;
}

.eyebrow[b-knspkbqpue] {
    display: inline-block;
    color: #96491c;
    font-family: var(--cw-font-mono);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.095em;
    text-transform: uppercase;
}

.hero-section[b-knspkbqpue] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.72fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 8rem);
    width: min(1280px, 90vw);
    margin: 0 auto;
    padding: clamp(5rem, 9vw, 8.2rem) 0 clamp(4rem, 7vw, 6.5rem);
}

.hero-flags[b-knspkbqpue] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
}

.hero-flags span[b-knspkbqpue] {
    padding: 0.42rem 0.72rem;
    border: 1px solid rgba(78, 101, 119, 0.25);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    color: #4e6577;
    font-size: 0.72rem;
    font-weight: 650;
}

.hero-copy h1[b-knspkbqpue] {
    max-width: 820px;
    margin: 0.85rem 0 1.6rem;
    color: #201a14;
    font-family: var(--cw-font-display);
    font-size: clamp(3.35rem, 6.4vw, 6.4rem);
    font-weight: 600;
    letter-spacing: -0.052em;
    line-height: 0.93;
}

.hero-copy h1 em[b-knspkbqpue] {
    color: #96491c;
    font-style: normal;
}

.hero-lede[b-knspkbqpue] {
    max-width: 720px;
    margin: 0;
    color: #4c443c;
    font-size: clamp(1.06rem, 1.5vw, 1.28rem);
    line-height: 1.68;
}

.hero-actions[b-knspkbqpue] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.45rem;
    margin-top: 2.2rem;
}

.primary-button[b-knspkbqpue],
.secondary-button[b-knspkbqpue] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 1.35rem;
    border: 0;
    border-radius: 9px;
    font-family: "Inter", sans-serif;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.primary-button[b-knspkbqpue] {
    background: #96491c;
    box-shadow: 0 12px 28px rgba(150, 73, 28, 0.2);
    color: #fffaf1;
}

.primary-button:hover[b-knspkbqpue] {
    background: #783915;
}

.secondary-button[b-knspkbqpue] {
    border: 1px solid rgba(38, 32, 26, 0.24);
    background: transparent;
    color: #26201a;
}

.text-link[b-knspkbqpue] {
    color: #26201a;
    font-size: 0.92rem;
    font-weight: 650;
    text-decoration: none;
}

.text-link:hover[b-knspkbqpue] {
    color: #96491c;
}

.hero-note[b-knspkbqpue] {
    margin: 1rem 0 0;
    color: #6f665d;
    font-size: 0.79rem;
}

.proof-card[b-knspkbqpue] {
    position: relative;
    padding: 1.4rem;
    border: 1px solid rgba(237, 229, 214, 0.14);
    border-radius: 22px;
    background: #201a14;
    box-shadow: 0 35px 80px rgba(38, 32, 26, 0.21);
    color: #ede5d6;
}

.proof-card[b-knspkbqpue]::before {
    position: absolute;
    z-index: -1;
    right: -45px;
    bottom: -45px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(150, 73, 28, 0.24);
    content: "";
    filter: blur(1px);
}

.proof-card-topline[b-knspkbqpue] {
    display: flex;
    justify-content: space-between;
    padding: 0 0.2rem 1.2rem;
    border-bottom: 1px solid rgba(237, 229, 214, 0.13);
    color: rgba(237, 229, 214, 0.68);
    font-family: var(--cw-font-mono);
    font-size: 0.69rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.proof-live[b-knspkbqpue] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.proof-live i[b-knspkbqpue] {
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d67a45;
    box-shadow: 0 0 0 4px rgba(214, 122, 69, 0.13);
}

.proof-card ol[b-knspkbqpue] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.proof-card li[b-knspkbqpue] {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 0.75rem;
    padding: 1.05rem 0.25rem;
    border-bottom: 1px solid rgba(237, 229, 214, 0.1);
}

.proof-card li > span[b-knspkbqpue] {
    color: rgba(237, 229, 214, 0.42);
    font-family: var(--cw-font-mono);
    font-size: 0.69rem;
}

.proof-card li div[b-knspkbqpue] {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
}

.proof-card li b[b-knspkbqpue] {
    color: #f5efe2;
    font-size: 0.93rem;
}

.proof-card li small[b-knspkbqpue] {
    color: rgba(237, 229, 214, 0.57);
    font-size: 0.73rem;
}

.proof-footer[b-knspkbqpue] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 0.25rem 0.1rem;
    font-size: 0.75rem;
}

.proof-footer span[b-knspkbqpue] {
    color: rgba(237, 229, 214, 0.56);
}

.proof-footer strong[b-knspkbqpue] {
    color: #d99a70;
    font-family: var(--cw-font-mono);
    font-size: 0.72rem;
}

.truth-strip[b-knspkbqpue] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-block: 1px solid #e3dbca;
    background: rgba(255, 255, 255, 0.48);
}

.truth-strip > div[b-knspkbqpue] {
    padding: 1.55rem 4vw;
    border-right: 1px solid #e3dbca;
}

.truth-strip > div:last-child[b-knspkbqpue] {
    border-right: 0;
}

.truth-strip b[b-knspkbqpue],
.truth-strip span[b-knspkbqpue] {
    display: block;
}

.truth-strip b[b-knspkbqpue] {
    margin-bottom: 0.35rem;
    color: #26201a;
    font-size: 0.85rem;
}

.truth-strip span[b-knspkbqpue] {
    color: #6a6259;
    font-size: 0.75rem;
    line-height: 1.5;
}

.demo-section[b-knspkbqpue] {
    display: grid;
    grid-template-columns: minmax(260px, 0.58fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2.5rem, 7vw, 6rem);
}

.demo-copy h2[b-knspkbqpue] {
    margin: 0.7rem 0 1rem;
    color: #201a14;
    font-family: var(--cw-font-display);
    font-size: clamp(2.2rem, 4vw, 3.75rem);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.06;
}

.demo-copy > p[b-knspkbqpue] {
    color: #655d55;
    font-size: 1rem;
    line-height: 1.7;
}

.demo-copy ul[b-knspkbqpue] {
    margin: 1.6rem 0;
    padding: 0;
    list-style: none;
}

.demo-copy li[b-knspkbqpue] {
    padding: 0.65rem 0;
    border-top: 1px solid #d7cebd;
    color: #655d55;
    font-size: 0.78rem;
    line-height: 1.45;
}

.demo-copy code[b-knspkbqpue] {
    color: #4e6577;
    font-family: var(--cw-font-mono);
    font-size: 0.72rem;
}

.demo-player-shell[b-knspkbqpue] {
    min-width: 0;
    padding: 0.7rem;
    border: 1px solid rgba(237, 229, 214, 0.14);
    border-radius: 18px;
    background: #201a14;
    box-shadow: 0 28px 70px rgba(38, 32, 26, 0.18);
}

.demo-player-shell video[b-knspkbqpue] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 11px;
    background: #0c0a08;
    object-fit: contain;
}

.demo-player-shell > p[b-knspkbqpue] {
    margin: 0.75rem 0.45rem 0.25rem;
    color: rgba(237, 229, 214, 0.62);
    font-size: 0.68rem;
    line-height: 1.5;
}

.content-section[b-knspkbqpue] {
    width: min(1180px, 90vw);
    margin: 0 auto;
    padding: clamp(5rem, 8vw, 8rem) 0;
}

.section-heading[b-knspkbqpue] {
    max-width: 760px;
    margin-bottom: 3rem;
}

.section-heading h2[b-knspkbqpue],
.fit-column h2[b-knspkbqpue],
.offer-section h2[b-knspkbqpue],
.application-intro h2[b-knspkbqpue] {
    margin: 0.7rem 0 1rem;
    color: #201a14;
    font-family: var(--cw-font-display);
    font-size: clamp(2.2rem, 4vw, 3.75rem);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.06;
}

.section-heading p[b-knspkbqpue],
.offer-section > div:first-child p[b-knspkbqpue],
.application-intro > p[b-knspkbqpue] {
    color: #655d55;
    font-size: 1rem;
    line-height: 1.7;
}

.workflow-grid[b-knspkbqpue] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #d7cebd;
    border-left: 1px solid #d7cebd;
}

.workflow-grid article[b-knspkbqpue] {
    min-height: 215px;
    padding: 1.7rem;
    border-right: 1px solid #d7cebd;
    border-bottom: 1px solid #d7cebd;
    background: rgba(252, 250, 244, 0.64);
}

.workflow-grid article > span[b-knspkbqpue] {
    color: #96491c;
    font-family: var(--cw-font-mono);
    font-size: 0.72rem;
}

.workflow-grid h3[b-knspkbqpue] {
    margin: 2rem 0 0.7rem;
    font-size: 1.05rem;
}

.workflow-grid p[b-knspkbqpue] {
    margin: 0;
    color: #655d55;
    font-size: 0.86rem;
    line-height: 1.65;
}

.fit-section[b-knspkbqpue] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #201a14;
    color: #ede5d6;
}

.fit-column[b-knspkbqpue] {
    padding: clamp(4rem, 8vw, 7rem) max(5vw, calc((100vw - 1180px) / 2));
}

.fit-column--yes[b-knspkbqpue] {
    border-right: 1px solid rgba(237, 229, 214, 0.14);
    background: radial-gradient(circle at 0 0, rgba(150, 73, 28, 0.25), transparent 26rem);
}

.fit-column--no[b-knspkbqpue] {
    background: radial-gradient(circle at 100% 100%, rgba(78, 101, 119, 0.2), transparent 28rem);
}

.fit-column h2[b-knspkbqpue] {
    color: #f5efe2;
    font-size: clamp(2rem, 3.4vw, 3rem);
}

.fit-column ul[b-knspkbqpue] {
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.fit-column li[b-knspkbqpue] {
    position: relative;
    padding: 1rem 0 1rem 2rem;
    border-top: 1px solid rgba(237, 229, 214, 0.12);
    color: rgba(237, 229, 214, 0.76);
    font-size: 0.88rem;
    line-height: 1.55;
}

.fit-column--yes li[b-knspkbqpue]::before,
.fit-column--no li[b-knspkbqpue]::before {
    position: absolute;
    left: 0;
    color: #d99a70;
    content: "✓";
    font-weight: 700;
}

.fit-column--no li[b-knspkbqpue]::before {
    color: #8ea4b4;
    content: "—";
}

.offer-section[b-knspkbqpue] {
    width: min(1180px, 90vw);
    margin: 0 auto;
    padding: clamp(5rem, 8vw, 8rem) 0;
}

.offer-section > div:first-child[b-knspkbqpue] {
    max-width: 820px;
}

.price-grid[b-knspkbqpue] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.price-grid article[b-knspkbqpue] {
    display: grid;
    padding: 1.8rem;
    border: 1px solid #d7cebd;
    border-radius: 14px;
    background: rgba(252, 250, 244, 0.72);
}

.price-grid .price-featured[b-knspkbqpue] {
    border-color: #96491c;
    box-shadow: inset 0 4px 0 #96491c;
}

.price-grid small[b-knspkbqpue] {
    color: #655d55;
    font-weight: 650;
}

.price-grid strong[b-knspkbqpue] {
    margin-top: 1.6rem;
    color: #201a14;
    font-family: var(--cw-font-mono);
    font-size: 2.65rem;
    line-height: 1;
}

.price-grid span[b-knspkbqpue] {
    margin-top: 0.65rem;
    color: #766d63;
    font-size: 0.75rem;
}

.price-caveat[b-knspkbqpue] {
    margin: 1.2rem 0 0;
    color: #766d63;
    font-size: 0.77rem;
}

.application-section[b-knspkbqpue] {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(500px, 1.1fr);
    gap: clamp(3rem, 8vw, 8rem);
    padding: clamp(5rem, 8vw, 8rem) max(5vw, calc((100vw - 1180px) / 2));
    border-top: 1px solid #e3dbca;
    background: #ede7dc;
}

.application-intro[b-knspkbqpue] {
    align-self: start;
    position: sticky;
    top: 115px;
}

.application-intro h2[b-knspkbqpue] {
    font-size: clamp(2.35rem, 4vw, 3.75rem);
}

.application-expectations[b-knspkbqpue] {
    margin-top: 2.2rem;
}

.application-expectations > div[b-knspkbqpue] {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 0.8rem;
    padding: 1rem 0;
    border-top: 1px solid #d7cebd;
}

.application-expectations span[b-knspkbqpue] {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #201a14;
    color: #ede5d6;
    font-family: var(--cw-font-mono);
    font-size: 0.69rem;
}

.application-expectations p[b-knspkbqpue] {
    margin: 0;
    color: #655d55;
    font-size: 0.79rem;
    line-height: 1.55;
}

.application-expectations b[b-knspkbqpue] {
    color: #26201a;
}

.application-card[b-knspkbqpue] {
    min-width: 0;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid #d7cebd;
    border-radius: 18px;
    background: #fcfaf4;
    box-shadow: 0 22px 58px rgba(38, 32, 26, 0.08);
}

.form-grid[b-knspkbqpue] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem;
}

.field[b-knspkbqpue],
.field-check[b-knspkbqpue] {
    min-width: 0;
}

.field--wide[b-knspkbqpue] {
    grid-column: 1 / -1;
}

.field label[b-knspkbqpue],
.commitments legend[b-knspkbqpue] {
    display: block;
    margin-bottom: 0.45rem;
    color: #3f3932;
    font-size: 0.76rem;
    font-weight: 700;
}

.field[b-knspkbqpue]  input,
.field[b-knspkbqpue]  select,
.field[b-knspkbqpue]  textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 45px;
    padding: 0.72rem 0.8rem;
    border: 1px solid #cfc5b4;
    border-radius: 8px;
    outline: none;
    background: #fffef9;
    color: #26201a;
    font-family: "Inter", sans-serif;
    font-size: 0.85rem;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.field[b-knspkbqpue]  select {
    cursor: pointer;
}

.field[b-knspkbqpue]  textarea {
    min-height: 125px;
    resize: vertical;
    line-height: 1.55;
}

.field[b-knspkbqpue]  input:focus,
.field[b-knspkbqpue]  select:focus,
.field[b-knspkbqpue]  textarea:focus {
    border-color: #96491c;
    box-shadow: 0 0 0 3px rgba(150, 73, 28, 0.12);
}

.field[b-knspkbqpue]  .validation-message,
.application-card[b-knspkbqpue]  .validation-message {
    display: block;
    margin-top: 0.35rem;
    color: #b42318;
    font-size: 0.72rem;
}

.field-check[b-knspkbqpue] {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 0.65rem;
}

.field-check[b-knspkbqpue]  input {
    width: 17px;
    height: 17px;
    margin: 0.1rem 0 0;
    accent-color: #96491c;
}

.field-check label[b-knspkbqpue] {
    color: #4f473f;
    font-size: 0.78rem;
    line-height: 1.45;
}

.commitments[b-knspkbqpue] {
    display: grid;
    gap: 0.8rem;
    margin: 1.7rem 0 0;
    padding: 1.2rem;
    border: 1px solid #d7cebd;
    border-radius: 10px;
    background: #f8f3e9;
}

.commitments legend[b-knspkbqpue] {
    padding: 0 0.35rem;
}

.consent-check[b-knspkbqpue] {
    margin-top: 1.3rem;
}

.privacy-note[b-knspkbqpue] {
    margin: 1.2rem 0;
    color: #766d63;
    font-size: 0.7rem;
    line-height: 1.55;
}

.submit-button[b-knspkbqpue] {
    width: 100%;
}

.submit-button:disabled[b-knspkbqpue] {
    cursor: wait;
    opacity: 0.65;
}

.honeypot[b-knspkbqpue] {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.form-errors[b-knspkbqpue] {
    margin-bottom: 1.2rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(180, 35, 24, 0.3);
    border-radius: 9px;
    background: #f9dedc;
    color: #7d1b13;
    font-size: 0.78rem;
}

.form-errors ul[b-knspkbqpue] {
    margin: 0.45rem 0 0;
    padding-left: 1.25rem;
}

.receipt[b-knspkbqpue] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 470px;
}

.receipt-mark[b-knspkbqpue] {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin-bottom: 1.6rem;
    border-radius: 50%;
    background: #1e8e3e;
    color: white;
    font-size: 1.5rem;
}

.receipt h3[b-knspkbqpue] {
    margin: 0.6rem 0 0.8rem;
    color: #201a14;
    font-family: var(--cw-font-display);
    font-size: 2.2rem;
}

.receipt p:not(.eyebrow)[b-knspkbqpue] {
    max-width: 520px;
    margin: 0 0 1.5rem;
    color: #655d55;
    line-height: 1.65;
}

.program-unavailable[b-knspkbqpue] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: min(760px, 88vw);
    min-height: calc(100vh - 250px);
    margin: 0 auto;
}

.program-unavailable h1[b-knspkbqpue] {
    margin: 0.8rem 0;
    font-family: var(--cw-font-display);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    line-height: 1.05;
}

.program-unavailable p[b-knspkbqpue] {
    max-width: 620px;
    margin-bottom: 1.5rem;
    color: #655d55;
    line-height: 1.65;
}

@media (max-width: 980px) {
    .hero-section[b-knspkbqpue] {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .proof-card[b-knspkbqpue] {
        width: min(560px, 100%);
    }

    .workflow-grid[b-knspkbqpue] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .demo-section[b-knspkbqpue] {
        grid-template-columns: 1fr;
    }

    .application-section[b-knspkbqpue] {
        grid-template-columns: 1fr;
    }

    .application-intro[b-knspkbqpue] {
        position: static;
    }
}

@media (max-width: 700px) {
    .hero-section[b-knspkbqpue] {
        width: min(92vw, 620px);
        padding-top: 3.7rem;
    }

    .hero-copy h1[b-knspkbqpue] {
        font-size: clamp(3rem, 13vw, 4.2rem);
    }

    .hero-actions[b-knspkbqpue] {
        align-items: stretch;
        flex-direction: column;
    }

    .primary-button[b-knspkbqpue],
    .secondary-button[b-knspkbqpue] {
        width: 100%;
        box-sizing: border-box;
    }

    .truth-strip[b-knspkbqpue],
    .fit-section[b-knspkbqpue],
    .price-grid[b-knspkbqpue],
    .form-grid[b-knspkbqpue] {
        grid-template-columns: 1fr;
    }

    .truth-strip > div[b-knspkbqpue] {
        border-right: 0;
        border-bottom: 1px solid #e3dbca;
    }

    .truth-strip > div:last-child[b-knspkbqpue] {
        border-bottom: 0;
    }

    .workflow-grid[b-knspkbqpue] {
        grid-template-columns: 1fr;
    }

    .workflow-grid article[b-knspkbqpue] {
        min-height: auto;
    }

    .fit-column--yes[b-knspkbqpue] {
        border-right: 0;
        border-bottom: 1px solid rgba(237, 229, 214, 0.14);
    }

    .application-section[b-knspkbqpue] {
        padding-inline: 4vw;
    }

    .application-card[b-knspkbqpue] {
        padding: 1.15rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .field[b-knspkbqpue]  input,
    .field[b-knspkbqpue]  select,
    .field[b-knspkbqpue]  textarea {
        transition: none;
    }
}
/* /Components/Pages/Knowledge/Dialogs/SopViewDialog.razor.rz.scp.css */
/* The checklist read surface (PARITY-2h). */
.sopview-head[b-fpbkidndm6] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.sopview-steps[b-fpbkidndm6] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    border-radius: 14px;
    padding: 10px 14px;
}

.sopview-step[b-fpbkidndm6] {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 60%);
    font-size: 0.875rem;
    align-items: baseline;
}

.sopview-step:first-child[b-fpbkidndm6] {
    border-top: none;
}

.sopview-step-n[b-fpbkidndm6] {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 88%);
    color: var(--mud-palette-primary);
    display: grid;
    place-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
}
/* /Components/Pages/Knowledge/Editor.razor.rz.scp.css */
/* Rendered markdown (view mode + preview). The inner HTML comes from
   MarkdownRenderer via MarkupString, so it carries no scope attribute —
   everything below needs ::deep. */
.kb-markdown[b-i6asbtb3yv]  h1,
.kb-markdown[b-i6asbtb3yv]  h2,
.kb-markdown[b-i6asbtb3yv]  h3,
.kb-markdown[b-i6asbtb3yv]  h4 {
    margin: 1.1em 0 0.4em;
    line-height: 1.3;
}

.kb-markdown[b-i6asbtb3yv]  h1:first-child,
.kb-markdown[b-i6asbtb3yv]  h2:first-child,
.kb-markdown[b-i6asbtb3yv]  h3:first-child,
.kb-markdown[b-i6asbtb3yv]  p:first-child {
    margin-top: 0;
}

.kb-markdown[b-i6asbtb3yv]  h1 { font-size: 1.4rem; }
.kb-markdown[b-i6asbtb3yv]  h2 { font-size: 1.2rem; }
.kb-markdown[b-i6asbtb3yv]  h3 { font-size: 1.05rem; }

.kb-markdown[b-i6asbtb3yv]  p,
.kb-markdown[b-i6asbtb3yv]  ul,
.kb-markdown[b-i6asbtb3yv]  ol {
    margin: 0.5em 0;
    line-height: 1.6;
}

.kb-markdown[b-i6asbtb3yv]  ul,
.kb-markdown[b-i6asbtb3yv]  ol {
    padding-inline-start: 1.5em;
}

.kb-markdown[b-i6asbtb3yv]  code {
    background: var(--mud-palette-background-gray);
    border-radius: 4px;
    padding: 1px 5px;
    font-size: 0.85em;
}

.kb-markdown[b-i6asbtb3yv]  pre {
    background: var(--mud-palette-background-gray);
    border-radius: 6px;
    padding: 12px;
    overflow-x: auto;
    margin: 0.75em 0;
}

.kb-markdown[b-i6asbtb3yv]  pre code {
    background: none;
    padding: 0;
}

.kb-markdown[b-i6asbtb3yv]  blockquote {
    border-inline-start: 3px solid var(--mud-palette-lines-default);
    margin: 0.75em 0;
    padding: 2px 0 2px 12px;
    color: var(--mud-palette-text-secondary);
}

.kb-markdown[b-i6asbtb3yv]  table {
    border-collapse: collapse;
    margin: 0.75em 0;
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.kb-markdown[b-i6asbtb3yv]  th,
.kb-markdown[b-i6asbtb3yv]  td {
    border: 1px solid var(--mud-palette-lines-default);
    padding: 6px 10px;
    text-align: left;
}

.kb-markdown[b-i6asbtb3yv]  a {
    color: var(--mud-palette-primary);
}

.kb-markdown[b-i6asbtb3yv]  hr {
    border: none;
    border-top: 1px solid var(--mud-palette-lines-default);
    margin: 1em 0;
}

.kb-markdown[b-i6asbtb3yv]  img {
    max-width: 100%;
    border-radius: 6px;
    border: 1px solid var(--mud-palette-lines-default);
    margin: 0.5em 0;
    cursor: zoom-in; /* click opens the lightbox (js/lightbox.js) */
}

/* An unsized screenshot shouldn't swallow the page — cap it and let the
   lightbox carry full size. An explicit ![alt|400](…) width wins. */
.kb-markdown[b-i6asbtb3yv]  img:not([width]) {
    max-height: 520px;
}

/* Edit mode: a document editor, top to bottom — title, one row of
   classification, tags, then the content pane full-width. */
.kb-edit[b-i6asbtb3yv] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.kb-edit-meta[b-i6asbtb3yv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0 16px;
    align-items: center;
}

.kb-edit-tags[b-i6asbtb3yv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.kb-edit-tags .kb-tag-wrap[b-i6asbtb3yv] {
    flex: 0 1 300px;
    min-width: 220px;
}

/* Pinned rides the far end of the tags row — one band, no orphan column. */
.kb-edit-tags .kb-edit-pin[b-i6asbtb3yv] {
    margin-left: auto;
}

.kb-edit[b-i6asbtb3yv]  .kb-edit-tip {
    margin-top: -6px; /* hugs the Content toolbar it explains */
}

/* Markdown source editor */
.kb-editor[b-i6asbtb3yv]  textarea {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    line-height: 1.5;
}

/* Split mode: write on the left, live render on the right. Stretch keeps
   both pane bottoms on one line (the preview otherwise stopped ~85px short
   of the editor); the sticky cap still bounds it on very long documents. */
.kb-split[b-i6asbtb3yv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: stretch;
}

.kb-split[b-i6asbtb3yv]  .kb-split-preview {
    position: sticky;
    top: 12px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    min-height: 320px;
}

@media (max-width: 960px) {
    .kb-split[b-i6asbtb3yv] {
        grid-template-columns: 1fr;
    }
}

/* The active Write/Split/Preview segment wears the app's copper-tinted
   pill — the outlined group alone gives no visible selected state. The
   button root is Mud-rendered, so route through the page's own .kb-edit. */
.kb-edit[b-i6asbtb3yv]  .kb-pane-active {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 86%);
    color: var(--mud-palette-primary);
    font-weight: 600;
}

/* View-mode header: five actions squeeze the H1 into a sliver at tablet
   widths. Labels never wrap mid-button, and below 960px the header stacks
   title-then-actions (app.css only does this under 700px). */
.page-shell[b-i6asbtb3yv]  .page-header-actions .mud-button-root {
    white-space: nowrap;
}

@media (max-width: 960px) {
    .page-shell[b-i6asbtb3yv]  .page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .page-shell[b-i6asbtb3yv]  .page-header-actions {
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Knowledge/KindCardsEmpty.razor.rz.scp.css */
/* Day-one empty: centered intro + the three bordered kind-cards (drawn,
   1-col ≤1100px). Lives here, not in the host page's sheet — CSS isolation
   scopes to this component's own elements. */
.kb-empty[b-04nq70xrfb] {
    margin-top: var(--cw-card-gap);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.kb-empty-title[b-04nq70xrfb] {
    font-size: 1.1875rem;
    font-weight: 600;
    text-align: center;
    color: var(--mud-palette-text-primary);
}

.kb-empty-sub[b-04nq70xrfb] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    max-width: 460px;
    margin: 4px auto 0;
    text-align: center;
}

.kb-kind-cards[b-04nq70xrfb] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cw-card-gap);
}

@media (max-width: 1100px) {
    .kb-kind-cards[b-04nq70xrfb] {
        grid-template-columns: 1fr;
    }
}

.kb-kind-card[b-04nq70xrfb] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 14px;
    background: var(--mud-palette-surface);
    padding: 16px 18px;
}

.kb-kind-title[b-04nq70xrfb] {
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--mud-palette-text-primary);
}

.kb-kind-sub[b-04nq70xrfb] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 10px;
}
/* /Components/Pages/Knowledge/List.razor.rz.scp.css */
.kb-section-label[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px 7px;
    border-top: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.kb-section-label:first-child[b-uzsjlp21mo] {
    border-top: 0;
}

.kb-section-empty[b-uzsjlp21mo] {
    padding: 8px 16px 12px;
}

.kb-row[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.kb-row:first-of-type[b-uzsjlp21mo] {
    border-top: none;
}

.kb-row:hover[b-uzsjlp21mo] {
    background: var(--mud-palette-action-default-hover);
}

.kb-document-row[b-uzsjlp21mo] {
    padding: 10px 16px;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

/* The pin gutter is reserved on EVERY row (empty span on unpinned ones)
   so titles share one left edge whether pinned or not. */
.kb-doc-pin[b-uzsjlp21mo] {
    display: inline-flex;
    align-items: center;
    flex: 0 0 20px;
}

.kb-doc-main[b-uzsjlp21mo] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.kb-doc-titleline[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* The updated date lives in a fixed right-aligned metadata slot instead of
   floating inline after the title + chip at a varying x. */
.kb-doc-updated[b-uzsjlp21mo] {
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.kb-document-row:focus-visible[b-uzsjlp21mo] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

/* UX-01: SOP/template rows are keyboard buttons — show where focus is. */
.kb-row-main[b-uzsjlp21mo] {
    flex: 1;
    min-width: 0;
    padding: 10px 8px 10px 16px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.kb-row-main:focus-visible[b-uzsjlp21mo] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.kb-row[b-uzsjlp21mo]  > .mud-menu {
    flex: 0 0 auto;
    margin-right: 8px;
}

/* SOP and service templates are operational records, not article cards.
   Give them stable columns on larger screens and let MudTable turn each row
   into a labelled card on phones. */
.template-toolbar[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.template-toolbar[b-uzsjlp21mo]  .mud-input-control {
    width: min(360px, 100%);
}

.template-table-shell[b-uzsjlp21mo] {
    overflow: hidden;
}

.template-table[b-uzsjlp21mo]  .mud-table-container {
    overflow-x: auto;
}

.template-table[b-uzsjlp21mo]  .mud-table-head .mud-table-cell {
    padding: 10px 14px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    color: var(--mud-palette-text-secondary);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-cell {
    padding: 11px 14px;
    vertical-align: middle;
}

.template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-row:last-child .mud-table-cell {
    border-bottom: 0;
}

.template-name-button[b-uzsjlp21mo] {
    display: flex;
    flex-direction: column;
    /* MudBlazor's global button reset sets align-items/justify-content to
       center, which floated the short template name to the middle of this
       column flex — pin both back to the start. */
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2px;
    width: 100%;
    min-width: 210px;
    max-width: 440px;
    padding: 2px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.template-name-button:focus-visible[b-uzsjlp21mo] {
    border-radius: 4px;
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 3px;
}

.template-name[b-uzsjlp21mo] {
    font-size: 0.875rem;
    font-weight: 650;
    line-height: 1.35;
}

.template-description[b-uzsjlp21mo],
.template-cell-secondary[b-uzsjlp21mo],
.template-tags[b-uzsjlp21mo] {
    display: block;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
}

.template-description[b-uzsjlp21mo] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.template-cell-primary[b-uzsjlp21mo] {
    display: block;
    color: var(--mud-palette-text-primary);
    font-size: 0.8125rem;
    font-weight: 550;
    line-height: 1.35;
}

.template-defaults[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.template-tags[b-uzsjlp21mo] {
    max-width: 180px;
    overflow-wrap: anywhere;
}

/* "Jul 13, 2026" reads as one token — never two lines. */
.template-updated[b-uzsjlp21mo] {
    white-space: nowrap;
}

.template-actions-cell[b-uzsjlp21mo] {
    width: 56px;
    text-align: right;
}

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

@media (max-width: 600px) {
    .template-toolbar[b-uzsjlp21mo] {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .template-toolbar[b-uzsjlp21mo]  .mud-input-control {
        width: 100%;
    }

    .template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-row {
        position: relative;
        margin-bottom: 12px;
        padding: 8px 54px 8px 12px;
        border: 1px solid var(--mud-palette-lines-default);
        border-radius: 12px;
        background: var(--mud-palette-surface);
    }

    .template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-cell {
        min-height: 36px;
        padding: 7px 0 7px 104px;
        border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 50%);
    }

    .template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-cell::before {
        width: 94px;
        color: var(--mud-palette-text-secondary);
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-cell:first-child {
        padding-left: 0;
    }

    .template-table[b-uzsjlp21mo]  .mud-table-body .mud-table-cell:first-child::before,
    .template-table[b-uzsjlp21mo]  .mud-table-body .template-actions-cell::before {
        display: none;
    }

    .template-name-button[b-uzsjlp21mo] {
        min-width: 0;
        max-width: none;
        padding-right: 4px;
    }

    .template-actions-cell[b-uzsjlp21mo] {
        position: absolute;
        top: 8px;
        right: 6px;
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .template-tags[b-uzsjlp21mo] {
        max-width: none;
    }
}

/* ── PARITY-2h: the drawn knowledge list ────────────────────────────── */

/* Section heads: "📌 Pinned" with the legend, then "All documents". */
.kb-section-head[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px 6px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.kb-section-head:first-of-type[b-uzsjlp21mo] {
    border-top: none;
}

.kb-section-title[b-uzsjlp21mo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.kb-section-legend[b-uzsjlp21mo] {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.kb-doc-pin--muted[b-uzsjlp21mo] {
    color: var(--mud-palette-text-secondary);
    opacity: 0.38;
}

/* Card foot pager (ticket-list idiom). */
.kb-card-foot[b-uzsjlp21mo] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px 14px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.kb-muted[b-uzsjlp21mo] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.kb-link-btn[b-uzsjlp21mo] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.kb-link-btn:hover[b-uzsjlp21mo] {
    text-decoration: underline;
}

.kb-link-btn:focus-visible[b-uzsjlp21mo] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

/* The kbd hint riding the search field. */
.kb-kbd[b-uzsjlp21mo] {
    align-self: center;
    font: 600 0.625rem var(--mud-typography-caption-family, monospace);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
    border-bottom-width: 2px;
    border-radius: 5px;
    padding: 1px 6px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-secondary);
}


/* Tab result surfaces use the canonical inter-card rhythm in every state. */
.page-shell[b-uzsjlp21mo]  .kb-card-gap-sm {
    margin-top: var(--cw-card-gap);
}
/* /Components/Pages/Manual/Article.razor.rz.scp.css */
.manual-reader[b-yi0i8bpnpj] {
  width: 100%;
  margin: 0 auto;
}

.manual-reader-layout[b-yi0i8bpnpj] {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.manual-reader[b-yi0i8bpnpj]  .manual-nav-card {
  position: sticky;
  top: 24px;
  max-height: calc(100dvh - 72px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding-bottom: 14px;
}

.manual-reader[b-yi0i8bpnpj]  .manual-nav-card::after {
  content: "";
  position: sticky;
  display: block;
  bottom: 0;
  height: 26px;
  margin-top: -26px;
  background: linear-gradient(to bottom, transparent, var(--mud-palette-surface));
  pointer-events: none;
}

/* Full-bleed nav list: the card pattern's --cw-card-pad is too generous for a
   rail of nav links, so the interior pads here (the old pa-2 value); the phone
   pill strip below tightens it further. */
.manual-reader[b-yi0i8bpnpj]  .manual-nav-body {
  padding: 8px;
}

.manual-nav-menu[b-yi0i8bpnpj] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.manual-nav-area-button[b-yi0i8bpnpj] {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--mud-palette-text-primary);
  font: inherit;
  font-size: 0.8125rem;
  text-align: left;
  cursor: pointer;
}

.manual-nav-area-button:hover[b-yi0i8bpnpj],
.manual-nav-area-button:focus-visible[b-yi0i8bpnpj] {
  background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.manual-nav-area-button.current-area[b-yi0i8bpnpj] {
  color: var(--mud-palette-primary);
  font-weight: 600;
}

.manual-nav-articles[b-yi0i8bpnpj] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 4px 6px 14px;
  padding-left: 10px;
  border-left: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
}

.manual-nav-article[b-yi0i8bpnpj] {
  padding: 7px 8px;
  border-radius: 8px;
  color: var(--mud-palette-text-secondary);
  font-size: 0.75rem;
  line-height: 1.35;
  text-decoration: none;
}

.manual-nav-article:hover[b-yi0i8bpnpj],
.manual-nav-article:focus-visible[b-yi0i8bpnpj] {
  color: var(--mud-palette-text-primary);
  background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.manual-nav-article.active[b-yi0i8bpnpj] {
  color: var(--mud-palette-primary);
  background: var(--mud-palette-primary-lighten);
  font-weight: 600;
}

.manual-content[b-yi0i8bpnpj] {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
}

.manual-breadcrumb[b-yi0i8bpnpj] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--mud-palette-text-secondary);
  font-size: 0.875rem;
}

.manual-breadcrumb-separator[b-yi0i8bpnpj] {
  flex: 0 0 auto;
  padding: 0 2px;
  opacity: 0.7;
}

.manual-breadcrumb-current[b-yi0i8bpnpj] {
  overflow: hidden;
  color: var(--mud-palette-text-primary);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-reader[b-yi0i8bpnpj]  .manual-article-card {
  padding: clamp(20px, 4vw, 44px);
}

.manual-article-header[b-yi0i8bpnpj] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.manual-article-header h1[b-yi0i8bpnpj] {
  margin: 0;
  color: var(--mud-palette-text-primary);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.manual-reader[b-yi0i8bpnpj]  .manual-kind-chip {
  flex: 0 0 auto;
  height: 22px;
  color: var(--mud-palette-text-secondary);
  border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
  background: color-mix(in oklab, var(--mud-palette-background), transparent 38%);
  font-size: 0.6875rem;
}

.manual-on-this-page[b-yi0i8bpnpj] {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 26px;
  padding: 11px 14px;
  border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 38%);
  border-radius: 10px;
  background: color-mix(in oklab, var(--mud-palette-background), transparent 45%);
}

.manual-on-this-page-label[b-yi0i8bpnpj] {
  flex: 0 0 auto;
  color: var(--mud-palette-text-secondary);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.manual-on-this-page-links[b-yi0i8bpnpj] {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 5px 14px;
}

.manual-on-this-page-links a[b-yi0i8bpnpj],
.manual-related-links a[b-yi0i8bpnpj],
.manual-prose[b-yi0i8bpnpj]  a {
  color: var(--mud-palette-primary);
  text-decoration: none;
}

.manual-on-this-page-links a:hover[b-yi0i8bpnpj],
.manual-related-links a:hover[b-yi0i8bpnpj],
.manual-prose[b-yi0i8bpnpj]  a:hover {
  text-decoration: underline;
}

.manual-on-this-page-links a[b-yi0i8bpnpj] {
  font-size: 0.75rem;
}

.manual-on-this-page-links a.nested[b-yi0i8bpnpj] {
  color: var(--mud-palette-text-secondary);
}

.manual-prose[b-yi0i8bpnpj] {
  max-width: 78ch;
  color: var(--mud-palette-text-primary);
  font-size: 0.9375rem;
  line-height: 1.72;
}

.manual-prose[b-yi0i8bpnpj]  h1:first-child {
  display: none;
}

.manual-prose[b-yi0i8bpnpj]  h2,
.manual-prose[b-yi0i8bpnpj]  h3 {
  scroll-margin-top: 24px;
  color: var(--mud-palette-text-primary);
  line-height: 1.3;
}

.manual-prose[b-yi0i8bpnpj]  h2 {
  margin: 2.2rem 0 0.75rem;
  font-size: 1.35rem;
}

.manual-prose[b-yi0i8bpnpj]  h3 {
  margin: 1.65rem 0 0.6rem;
  font-size: 1.08rem;
}

.manual-prose[b-yi0i8bpnpj]  p,
.manual-prose[b-yi0i8bpnpj]  ul,
.manual-prose[b-yi0i8bpnpj]  ol,
.manual-prose[b-yi0i8bpnpj]  blockquote,
.manual-prose[b-yi0i8bpnpj]  table {
  margin: 0 0 1rem;
}

.manual-prose[b-yi0i8bpnpj]  blockquote {
  padding: 10px 14px;
  border-left: 3px solid color-mix(in oklab, var(--mud-palette-primary), transparent 35%);
  border-radius: 0 10px 10px 0;
  background: color-mix(in oklab, var(--mud-palette-primary-lighten), transparent 42%);
  color: var(--mud-palette-text-secondary);
}

.manual-prose[b-yi0i8bpnpj]  blockquote > :last-child {
  margin-bottom: 0;
}

.manual-prose[b-yi0i8bpnpj]  table {
  width: 100%;
  border-collapse: collapse;
}

.manual-prose[b-yi0i8bpnpj]  th,
.manual-prose[b-yi0i8bpnpj]  td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--mud-palette-lines-default);
  text-align: left;
  vertical-align: top;
}

.manual-prose[b-yi0i8bpnpj]  th {
  color: var(--mud-palette-text-secondary);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.manual-related[b-yi0i8bpnpj] {
  max-width: 78ch;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.manual-related h2[b-yi0i8bpnpj] {
  margin: 0 0 10px;
  font-size: 1rem;
}

.manual-related-links[b-yi0i8bpnpj] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  font-size: 0.875rem;
}

.manual-version[b-yi0i8bpnpj] {
  max-width: 78ch;
  margin-top: 28px;
  color: var(--mud-palette-text-secondary);
  font-size: 0.75rem;
}

.manual-reader[b-yi0i8bpnpj]  .manual-not-found {
  padding: 24px;
}

@media (max-width: 959.98px) {
  .manual-reader-layout[b-yi0i8bpnpj] {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .manual-reader[b-yi0i8bpnpj]  .manual-nav-card {
    position: sticky;
    top: calc(var(--mud-appbar-min-height, 48px) + 8px);
    z-index: 20;
    max-height: none;
    overflow: visible;
    padding-bottom: 0;
    background: var(--mud-palette-surface);
  }

  .manual-reader[b-yi0i8bpnpj]  .manual-nav-card::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 28px;
    height: auto;
    margin-top: 0;
    border-radius: 0 14px 14px 0;
    background: linear-gradient(to right, transparent, var(--mud-palette-surface));
  }

  .manual-reader[b-yi0i8bpnpj]  .manual-nav-body {
    padding: 6px !important;
  }

  .manual-nav-menu[b-yi0i8bpnpj] {
    flex-direction: row;
    align-items: center;
    gap: 2px;
    overflow-x: auto;
    padding-right: 26px;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }

  .manual-nav-area[b-yi0i8bpnpj] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 2px;
    scroll-snap-align: start;
  }

  .manual-nav-area-button[b-yi0i8bpnpj] {
    width: auto;
    white-space: nowrap;
  }

  .manual-nav-articles[b-yi0i8bpnpj] {
    flex-direction: row;
    align-items: center;
    margin: 0;
    padding: 0;
    border-left: 0;
  }

  .manual-nav-article[b-yi0i8bpnpj] {
    white-space: nowrap;
  }
}

@media (max-width: 600px) {
  .manual-reader[b-yi0i8bpnpj]  .manual-article-card {
    padding: 20px 16px;
  }

  .manual-breadcrumb[b-yi0i8bpnpj] {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .manual-breadcrumb-current[b-yi0i8bpnpj] {
    flex-basis: 100%;
    white-space: normal;
  }

  .manual-article-header[b-yi0i8bpnpj] {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .manual-on-this-page[b-yi0i8bpnpj] {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}
/* /Components/Pages/Manual/Index.razor.rz.scp.css */
.manual-index[b-irxecm7t74] {
  gap: var(--cw-card-gap);
}

.manual-search-field[b-irxecm7t74] {
  width: min(100%, 440px);
}

.manual-index[b-irxecm7t74]  .manual-search-field .mud-input-control {
  margin: 0;
}

.manual-index[b-irxecm7t74]  .manual-area-card,
.manual-index[b-irxecm7t74]  .manual-search-results {
  overflow: hidden;
}

.manual-area-heading[b-irxecm7t74] {
  margin: 0;
  padding: 14px 18px 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
  background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
  color: var(--mud-palette-text-secondary);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.manual-row[b-irxecm7t74] {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 48%);
  color: inherit;
  text-decoration: none;
  transition: background-color 120ms ease;
}

.manual-row:last-child[b-irxecm7t74] {
  border-bottom: 0;
}

.manual-row:hover[b-irxecm7t74],
.manual-row:focus-visible[b-irxecm7t74] {
  background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.manual-row-main[b-irxecm7t74] {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.manual-title-line[b-irxecm7t74] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.manual-row-title[b-irxecm7t74] {
  color: var(--mud-palette-text-primary);
  font-size: 0.9375rem;
  font-weight: 600;
}

.manual-row-summary[b-irxecm7t74] {
  color: var(--mud-palette-text-secondary);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.manual-index[b-irxecm7t74]  .manual-kind-chip {
  height: 22px;
  color: var(--mud-palette-text-secondary);
  border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
  background: color-mix(in oklab, var(--mud-palette-background), transparent 38%);
  font-size: 0.6875rem;
}

.manual-area-label[b-irxecm7t74] {
  flex: 0 0 auto;
  color: var(--mud-palette-text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
}

.manual-all-areas-toggle[b-irxecm7t74] {
  display: flex;
  justify-content: center;
  margin-top: -4px;
}

.manual-index[b-irxecm7t74]  .manual-all-areas-toggle .mud-button-root {
  color: var(--mud-palette-text-secondary);
}

.manual-all-areas[b-irxecm7t74] {
  display: flex;
  flex-direction: column;
  gap: var(--cw-card-gap);
}

.manual-index[b-irxecm7t74]  .manual-empty {
  padding: 32px;
  color: var(--mud-palette-text-secondary);
  text-align: center;
}

@media (max-width: 600px) {
  .manual-row[b-irxecm7t74] {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    padding: 13px 14px;
  }
}
/* /Components/Pages/MyDay/Index.razor.rz.scp.css */
.page-shell[b-qaxet41674]  .myday-minutes-field {
    max-width: 130px;
}

@media (max-width: 599.98px) {
    .page-shell[b-qaxet41674]  .myday-minutes-field {
        max-width: none;
        width: 100%;
    }
}

/* ── PARITY-2f: the drawn Your-day composition ─────────────────────── */

.myday-head[b-qaxet41674] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.myday-title[b-qaxet41674] {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0;
    color: var(--mud-palette-text-primary);
}

.myday-sub[b-qaxet41674] {
    margin-top: 6px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    max-width: 640px;
}

/* The teach-don't-hide gloss: dotted underline, one plain sentence on hover. */
.myday-gloss[b-qaxet41674] {
    border-bottom: 1px dotted var(--mud-palette-primary);
    cursor: help;
}

.myday-actions[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

/* Day switcher: ‹ prev · current · next › + the earlier-days sentence. */
.myday-switch[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.myday-switch-cur[b-qaxet41674] {
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
}

.myday-switch-spacer[b-qaxet41674] {
    flex: 1;
}

.myday-switch-note[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-ds-nav[b-qaxet41674] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.myday-ds-nav:hover[b-qaxet41674] {
    color: var(--mud-palette-primary);
}

.myday-ds-nav:focus-visible[b-qaxet41674] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

/* Wrap-up hero. */
.myday-hero[b-qaxet41674] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 14px;
    background: var(--mud-palette-surface);
    margin-bottom: 16px;
}

.myday-hero-head[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px 8px;
}

.myday-hero-badge[b-qaxet41674] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 88%);
    color: var(--mud-palette-primary);
}

.myday-hero--done[b-qaxet41674] {
    border-color: color-mix(in oklab, var(--mud-palette-success), transparent 55%);
}

.myday-hero-badge--done[b-qaxet41674] {
    background: color-mix(in oklab, var(--mud-palette-success), transparent 88%);
    color: var(--mud-palette-success);
}

.myday-hero-title[b-qaxet41674] {
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--mud-palette-text-primary);
    margin: 0;
}

.myday-hero-sub[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-hero-body[b-qaxet41674] {
    padding: 2px 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.myday-hero-line[b-qaxet41674] {
    font-size: 1.03rem;
    letter-spacing: -0.01em;
    color: var(--mud-palette-text-primary);
}

.myday-warn[b-qaxet41674] {
    color: var(--mud-palette-warning);
}

.myday-hero-note[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    max-width: 640px;
}

/* Two-column grid. */
.myday-grid[b-qaxet41674] {
    display: grid;
    grid-template-columns: 1.55fr 1fr;
    gap: var(--cw-card-gap);
    align-items: start;
}

@media (max-width: 1100px) {
    .myday-grid[b-qaxet41674] {
        grid-template-columns: 1fr;
    }

    .myday-section-label--spacer[b-qaxet41674] {
        display: none;
    }
}

.myday-main[b-qaxet41674],
.myday-side[b-qaxet41674],
.myday-decide[b-qaxet41674],
.myday-logged[b-qaxet41674] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
    min-width: 0;
}

.myday-section-label[b-qaxet41674] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    margin: 0;
}

.myday-section-label--spacer[b-qaxet41674] {
    visibility: hidden;
}

.myday-status-group[b-qaxet41674] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}

.myday-card[b-qaxet41674] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

/* Nudge card. */
.myday-nudge[b-qaxet41674] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 55%);
}

.myday-nudge--gap[b-qaxet41674] {
    border-style: dashed;
    border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 10%);
}

.myday-n-top[b-qaxet41674] {
    display: flex;
    gap: 12px;
    padding: 13px 18px 4px;
}

.myday-n-main[b-qaxet41674] {
    flex: 1;
    min-width: 0;
}

.myday-n-top[b-qaxet41674]  .myday-n-title,
.myday-n-title[b-qaxet41674] {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    margin: 0;
}

.myday-n-meta[b-qaxet41674] {
    display: block;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 1px;
}

.myday-n-track[b-qaxet41674] {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin: 8px 18px 0;
    padding: 9px 12px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 55%);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 50%);
    border-radius: 10px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.myday-n-actions[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 18px 6px;
}

.myday-n-actions-spacer[b-qaxet41674] {
    flex: 1;
}

.myday-or[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-dur-chips[b-qaxet41674] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.myday-dur-chip[b-qaxet41674] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
    background: transparent;
    border-radius: 999px;
    padding: 6px 12px;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    white-space: nowrap;
}

.myday-dur-chip:hover:not(:disabled)[b-qaxet41674] {
    border-color: var(--mud-palette-primary);
}

.myday-dur-chip:disabled[b-qaxet41674] {
    opacity: 0.55;
    cursor: default;
}

.myday-dur-chip--suggested[b-qaxet41674] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
    color: var(--mud-palette-primary);
}

.myday-dur-chip:focus-visible[b-qaxet41674] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
}

.myday-n-foot[b-qaxet41674] {
    padding: 0 18px 14px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-n-error[b-qaxet41674] {
    padding: 0 18px 8px;
    color: var(--mud-palette-error);
    font-size: 0.8125rem;
    font-weight: 500;
}

.myday-mono[b-qaxet41674],
.myday-sched-when[b-qaxet41674],
.myday-lr-dur[b-qaxet41674] {
    font-family: var(--mud-typography-caption-family, monospace);
    font-variant-numeric: tabular-nums;
}

/* Just-logged flip. */
.myday-flip[b-qaxet41674] {
    border-color: color-mix(in oklab, var(--mud-palette-success), transparent 45%);
    background: color-mix(in oklab, var(--mud-palette-success), transparent 96%);
}

.myday-flip-line[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    flex-wrap: wrap;
}

.myday-flip-line[b-qaxet41674]  .myday-flip-icon {
    flex: none;
}

.myday-flip-spacer[b-qaxet41674] {
    flex: 1;
}

.myday-flip-link[b-qaxet41674] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    font-size: 0.8125rem;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.myday-flip-link:hover[b-qaxet41674] {
    text-decoration: underline;
}

.myday-flip-link:focus-visible[b-qaxet41674] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

/* Logged rows. */
.myday-logcard[b-qaxet41674] {
    overflow: hidden;
}

.myday-logcard[b-qaxet41674]  .myday-logrow {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 18px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
    /* Color comes from Color="Color.Inherit" on the MudLink because MudBlazor palette classes are !important. */
}

.myday-logcard[b-qaxet41674]  .myday-logrow:first-child {
    border-top: none;
}

.myday-logcard[b-qaxet41674]  .myday-logrow:hover {
    background: color-mix(in oklab, var(--mud-palette-background), transparent 30%);
    text-decoration: none;
}

.myday-lr-dur[b-qaxet41674] {
    flex: none;
    width: 64px;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: right;
}

.myday-lr-main[b-qaxet41674] {
    flex: 1;
    min-width: 0;
}

.myday-lr-title[b-qaxet41674] {
    display: block;
    font-weight: 600;
    font-size: 0.8125rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.myday-lr-meta[b-qaxet41674] {
    display: block;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

.myday-lr-bill[b-qaxet41674] {
    flex: none;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

/* Empty state. */
.myday-empty[b-qaxet41674] {
    padding: 28px 18px;
    text-align: center;
}

.myday-empty-title[b-qaxet41674] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin-bottom: 4px;
}

.myday-empty-sub[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    max-width: 420px;
    margin: 0 auto 8px;
}

/* Sidebar cards. */
.myday-card-head[b-qaxet41674] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px 8px;
}

.myday-card-title[b-qaxet41674] {
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    margin: 0;
}

.myday-card-sub[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-card-foot[b-qaxet41674] {
    padding: 8px 16px 12px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-sched-row[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.myday-sched-main[b-qaxet41674] {
    flex: 1;
    min-width: 0;
}

.myday-sched-title[b-qaxet41674] {
    display: block;
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
}

.myday-sched-meta[b-qaxet41674] {
    display: block;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

.myday-sched-side[b-qaxet41674] {
    flex: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.myday-sched-when[b-qaxet41674] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.myday-sched-when--muted[b-qaxet41674] {
    font-family: inherit;
}

.myday-sched-empty[b-qaxet41674] {
    padding: 6px 16px 10px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.myday-chip[b-qaxet41674] {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

.myday-chip--ok[b-qaxet41674] {
    background: color-mix(in oklab, var(--mud-palette-success), transparent 86%);
    color: color-mix(in oklab, var(--mud-palette-success), black 25%);
}

.myday-chip--steel[b-qaxet41674] {
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 86%);
    color: color-mix(in oklab, var(--mud-palette-secondary), black 12%);
}

/* Inline ≥2h billable confirm — swaps the card's actions until answered. */
.myday-confirm[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 18px 6px;
}

.myday-confirm-q[b-qaxet41674] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
}

/* Small scraps: one low-emphasis group (neutral card border, quiet rows). */
.myday-scraps-head[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px 6px;
}

.myday-scraps-title[b-qaxet41674] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.myday-scrap-row[b-qaxet41674] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 18px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.myday-scrap-row[b-qaxet41674]  .myday-scrap-ticket {
    font-size: 0.8125rem;
    font-weight: 600;
    /* Color comes from Color="Color.Inherit" on the MudLink because MudBlazor palette classes are !important. */
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.myday-scrap-dur[b-qaxet41674] {
    font-family: var(--mud-typography-caption-family, monospace);
    font-variant-numeric: tabular-nums;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    flex: none;
}

.myday-scraps-foot[b-qaxet41674] {
    padding: 6px 18px 12px;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

/* Mobile 390: the tracked suggestion is one thumb-tap; rows stack. */
@media (max-width: 599.98px) {
    .myday-n-actions .myday-dur-chips:first-child[b-qaxet41674] {
        width: 100%;
    }

    .myday-n-actions .myday-dur-chip--suggested:first-child[b-qaxet41674] {
        flex: 1;
        text-align: center;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .myday-lr-bill[b-qaxet41674] {
        display: none;
    }
}
/* /Components/Pages/Portal/Home.razor.rz.scp.css */
.portal-home[b-ppkyqirpo6] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}

.portal-home-heading[b-ppkyqirpo6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
/* /Components/Pages/Portal/Invoices/Details.razor.rz.scp.css */
/* Phone: four columns squeeze Description to a word per line — keep the
   table at a readable width and let it scroll sideways instead, with a
   right-edge fade hinting at the hidden columns. Base table styles live in
   app.css (.portal-invoice-table-wrap owns the overflow-x scrolling). */
@media (max-width: 600px) {
    .portal-invoice-downloads[b-j6q4klwfp6] {
        align-items: stretch !important;
        flex-direction: column;
    }

    .portal-invoice-downloads[b-j6q4klwfp6]  .mud-button-root {
        width: 100%;
    }

    .portal-invoice-scroll[b-j6q4klwfp6] {
        position: relative;
    }

    .portal-invoice-scroll[b-j6q4klwfp6]::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 24px;
        pointer-events: none;
        background: linear-gradient(to left,
            var(--mud-palette-surface),
            color-mix(in srgb, var(--mud-palette-surface) 0%, transparent));
    }

    .portal-invoice-table[b-j6q4klwfp6] {
        min-width: 520px;
    }
}
/* /Components/Pages/Portal/Invoices/List.razor.rz.scp.css */
.portal-invoices-card[b-95143k3f1w] {
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 16px;
    background: var(--mud-palette-surface);
}

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

.portal-invoices-head[b-95143k3f1w] {
    padding: 15px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.portal-invoices-table-wrap[b-95143k3f1w] {
    overflow-x: auto;
}

.portal-invoices-list[b-95143k3f1w] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

.portal-invoices-list th[b-95143k3f1w],
.portal-invoices-list td[b-95143k3f1w] {
    padding: 11px 13px;
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 65%, transparent);
    text-align: left;
    vertical-align: middle;
}

.portal-invoices-list th[b-95143k3f1w] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
    font-weight: 650;
}

.portal-invoices-list tbody tr:last-child td[b-95143k3f1w] {
    border-bottom: 0;
}

.portal-invoices-list tbody tr:hover[b-95143k3f1w] {
    background: var(--mud-palette-action-default-hover);
}

.portal-invoices-num[b-95143k3f1w] {
    text-align: right !important;
    white-space: nowrap;
}

.portal-invoice-link[b-95143k3f1w],
.portal-invoice-actions a[b-95143k3f1w] {
    color: var(--mud-palette-primary);
    font-weight: 650;
    text-decoration: none;
}

.portal-invoice-link:hover[b-95143k3f1w],
.portal-invoice-actions a:hover[b-95143k3f1w] {
    text-decoration: underline;
}

.portal-invoice-muted[b-95143k3f1w],
.portal-invoice-timing[b-95143k3f1w] {
    color: var(--mud-palette-text-secondary);
}

.portal-invoice-timing[b-95143k3f1w] {
    margin-top: 3px;
    font-size: 0.74rem;
    white-space: nowrap;
}

.portal-invoice-actions[b-95143k3f1w] {
    text-align: right !important;
    white-space: nowrap;
}

.portal-invoices-empty[b-95143k3f1w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px;
    text-align: center;
}

.portal-invoices-foot[b-95143k3f1w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 12px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

@media (max-width: 700px) {
    .portal-invoices-table-wrap[b-95143k3f1w] {
        overflow: visible;
    }

    .portal-invoices-list[b-95143k3f1w],
    .portal-invoices-list tbody[b-95143k3f1w],
    .portal-invoices-list tr[b-95143k3f1w],
    .portal-invoices-list td[b-95143k3f1w] {
        display: block;
        width: 100%;
    }

    .portal-invoices-list thead[b-95143k3f1w] {
        display: none;
    }

    .portal-invoices-list tr[b-95143k3f1w] {
        padding: 11px 13px;
        border-bottom: 1px solid var(--mud-palette-lines-default);
    }

    .portal-invoices-list tbody tr:last-child[b-95143k3f1w] {
        border-bottom: 0;
    }

    .portal-invoices-list td[b-95143k3f1w] {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 10px;
        padding: 4px 0;
        border: 0;
        text-align: left !important;
        white-space: normal;
    }

    .portal-invoices-list td[b-95143k3f1w]::before {
        content: attr(data-label);
        color: var(--mud-palette-text-secondary);
        font-size: 0.72rem;
        font-weight: 650;
    }

    .portal-invoice-actions[b-95143k3f1w] {
        justify-content: start;
    }
}
/* /Components/Pages/Portal/Kb/List.razor.rz.scp.css */
.portal-kb-card[b-u9k6rmgas4] {
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

.portal-kb-link[b-u9k6rmgas4] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 65%, transparent);
}

.portal-kb-link:last-of-type[b-u9k6rmgas4] {
    border-bottom: 0;
}

.portal-kb-link:hover[b-u9k6rmgas4] {
    background: var(--mud-palette-action-default-hover);
}

.portal-kb-link:focus-visible[b-u9k6rmgas4] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.portal-kb-icon[b-u9k6rmgas4] {
    display: inline-flex;
    color: var(--mud-palette-primary);
}

.portal-kb-copy[b-u9k6rmgas4] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.portal-kb-title[b-u9k6rmgas4] {
    overflow-wrap: anywhere;
    font-weight: 600;
}

.portal-kb-meta[b-u9k6rmgas4] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
}

.portal-kb-arrow[b-u9k6rmgas4] {
    color: var(--mud-palette-text-disabled);
}

.portal-kb-paging[b-u9k6rmgas4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 12px;
    border-top: 1px solid var(--mud-palette-lines-default);
}
/* /Components/Pages/Portal/PortalTokenFailureCard.razor.rz.scp.css */
/* One width and one top gap for every token-failure card, so share/csat/
   sign/verify failures read as the same state instead of four ad-hoc pages. */
.portal-fail-wrap[b-w3seuarlbo] {
    max-width: 560px;
    margin: clamp(28px, 7vh, 64px) auto 0;
}

.portal-fail-copy[b-w3seuarlbo] {
    margin-top: 6px;
    line-height: 1.55;
}

.portal-fail-copy p[b-w3seuarlbo] {
    margin: 0 0 10px;
}

.portal-fail-copy p:last-child[b-w3seuarlbo] {
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .portal-fail-wrap[b-w3seuarlbo] {
        margin-top: 12px;
    }

    .portal-fail-wrap[b-w3seuarlbo]  .mud-button-root {
        width: 100%;
        min-height: 44px;
    }
}
/* /Components/Pages/Portal/SignCeremony.razor.rz.scp.css */
.portal-sign-document[b-vdalem3zsv] {
    width: 100%;
    height: 65vh;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    background: var(--mud-palette-surface);
}

.portal-sign-form-panel[b-vdalem3zsv] {
    border-radius: 6px;
    background: var(--mud-palette-background-gray);
}

.portal-sign-consent[b-vdalem3zsv] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px;
}

.portal-sign-consent input[b-vdalem3zsv] {
    margin-top: 3px;
}

.portal-sign-name-label[b-vdalem3zsv] {
    display: block;
    margin-bottom: 12px;
}

.portal-sign-name[b-vdalem3zsv],
.portal-sign-decline-reason[b-vdalem3zsv] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.portal-sign-name[b-vdalem3zsv] {
    max-width: 420px;
    font-size: 1rem;
}

.portal-sign-decline > summary[b-vdalem3zsv] {
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.portal-sign-decline-reason[b-vdalem3zsv] {
    display: block;
    max-width: 560px;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.portal-sign-document:focus-visible[b-vdalem3zsv],
.portal-sign-consent input:focus-visible[b-vdalem3zsv],
.portal-sign-name:focus-visible[b-vdalem3zsv],
.portal-sign-decline > summary:focus-visible[b-vdalem3zsv],
.portal-sign-decline-reason:focus-visible[b-vdalem3zsv] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .portal-sign-document[b-vdalem3zsv] {
        height: 48vh;
        min-height: 280px;
    }

    .portal-sign-form-panel[b-vdalem3zsv] {
        padding: 16px !important;
    }

    .portal-sign-form-panel form > button[b-vdalem3zsv] {
        width: 100%;
        min-height: 44px;
    }

    .portal-sign-name[b-vdalem3zsv] {
        max-width: none;
    }
}
/* /Components/Pages/Portal/Tickets/Details.razor.rz.scp.css */
/* The subject IS the page title — on narrow screens let it wrap (2 lines at
   tablet, 3 at phone) instead of vanishing behind a single-line ellipsis.
   Base chat styles live in app.css; desktop keeps the one-line topbar. */
@media (max-width: 960px) {
    .portal-chat-title[b-gmzm6dz9ec] {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }
}

@media (max-width: 600px) {
    .portal-chat-title[b-gmzm6dz9ec] {
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}
/* /Components/Pages/Portal/Tickets/List.razor.rz.scp.css */
.portal-requests-card[b-qtfikp72s8] {
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 16px;
    background: var(--mud-palette-surface);
}

.portal-requests-head[b-qtfikp72s8],
.portal-requests-search[b-qtfikp72s8],
.portal-requests-foot[b-qtfikp72s8] {
    padding: 15px 16px;
}

.portal-requests-head[b-qtfikp72s8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.portal-requests-search[b-qtfikp72s8] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 70%, transparent);
}

.portal-requests-rows[b-qtfikp72s8] {
    display: flex;
    flex-direction: column;
}

.portal-request-row[b-qtfikp72s8] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 60%, transparent);
}

.portal-request-row:last-child[b-qtfikp72s8] {
    border-bottom: 0;
}

.portal-request-row:hover[b-qtfikp72s8] {
    background: var(--mud-palette-action-default-hover);
}

.portal-request-row:focus-visible[b-qtfikp72s8] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.portal-request-main[b-qtfikp72s8] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.portal-request-title[b-qtfikp72s8] {
    overflow-wrap: anywhere;
    font-weight: 600;
}

.portal-request-snippet[b-qtfikp72s8] {
    overflow: hidden;
    max-width: 68ch;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-request-meta[b-qtfikp72s8] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
}

.portal-requests-state[b-qtfikp72s8],
.portal-requests-empty[b-qtfikp72s8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 150px;
    padding: 32px;
    text-align: center;
}

.portal-requests-state[b-qtfikp72s8] {
    color: var(--mud-palette-text-secondary);
}

.portal-requests-state[b-qtfikp72s8]  .mud-progress-linear {
    align-self: stretch;
}

.portal-requests-empty[b-qtfikp72s8]  .mud-icon-root {
    color: var(--mud-palette-text-disabled);
}

.portal-requests-empty[b-qtfikp72s8]  .mud-button-root {
    margin-top: 4px;
}

.portal-requests-foot[b-qtfikp72s8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

@media (max-width: 600px) {
    .portal-requests-head[b-qtfikp72s8],
    .portal-request-row[b-qtfikp72s8] {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-requests-head[b-qtfikp72s8]  .mud-button-root {
        width: 100%;
    }

    .portal-request-row[b-qtfikp72s8] {
        gap: 8px;
    }

    .portal-request-row[b-qtfikp72s8]  .mud-chip {
        align-self: flex-start;
        margin: 0;
    }
}
/* /Components/Pages/Proof.razor.rz.scp.css */
.proof-page[b-y1ehubixyf],
.proof-unavailable[b-y1ehubixyf] {
    --proof-ink: #28211b;
    --proof-muted: #6f6458;
    --proof-line: rgba(40, 33, 27, 0.14);
    --proof-rust: #96491c;
    --proof-paper: #fffdf8;
    color: var(--proof-ink);
}

.proof-page[b-y1ehubixyf] {
    overflow: hidden;
}

.proof-hero[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.72fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
    min-height: 690px;
    padding: clamp(5.5rem, 10vw, 9rem) 7vw;
}

.proof-eyebrow[b-y1ehubixyf] {
    margin: 0 0 1rem;
    color: var(--proof-rust);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.proof-hero h1[b-y1ehubixyf],
.proof-section h2[b-y1ehubixyf],
.proof-controls-section h2[b-y1ehubixyf],
.proof-restore-section h2[b-y1ehubixyf],
.proof-limits-section h2[b-y1ehubixyf],
.proof-final-cta h2[b-y1ehubixyf],
.proof-unavailable h1[b-y1ehubixyf] {
    margin: 0;
    font-family: var(--cw-font-display);
    font-weight: 650;
    letter-spacing: -0.035em;
    line-height: 1.02;
}

.proof-hero h1[b-y1ehubixyf] {
    max-width: 820px;
    font-size: clamp(3.25rem, 6.4vw, 6.7rem);
}

.proof-hero h1 em[b-y1ehubixyf] {
    color: var(--proof-rust);
    font-weight: inherit;
}

.proof-lede[b-y1ehubixyf] {
    max-width: 710px;
    margin: 2rem 0 0;
    color: var(--proof-muted);
    font-size: clamp(1.05rem, 1.7vw, 1.28rem);
    line-height: 1.7;
}

.proof-actions[b-y1ehubixyf] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    align-items: center;
    margin-top: 2.25rem;
}

.proof-button[b-y1ehubixyf],
.proof-text-link[b-y1ehubixyf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    color: inherit;
    font-weight: 750;
    text-decoration: none;
}

.proof-button[b-y1ehubixyf] {
    padding: 0.8rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 999px;
}

.proof-button--primary[b-y1ehubixyf] {
    background: var(--proof-rust);
    color: #fffaf1;
}

.proof-button--primary:hover[b-y1ehubixyf] {
    background: #783915;
}

.proof-button--secondary[b-y1ehubixyf] {
    border-color: var(--proof-line);
    background: var(--proof-paper);
}

.proof-text-link[b-y1ehubixyf] {
    gap: 0.5rem;
    color: var(--proof-rust);
}

.proof-snapshot[b-y1ehubixyf] {
    position: relative;
    padding: 1.6rem;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 24px;
    background: #211b16;
    box-shadow: 0 28px 70px rgba(54, 37, 22, 0.2);
    color: #f6eee2;
}

.proof-snapshot[b-y1ehubixyf]::before {
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 17px;
    content: "";
    pointer-events: none;
}

.proof-snapshot-heading[b-y1ehubixyf] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0.35rem 1.3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.proof-status[b-y1ehubixyf] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #b9d4b0;
}

.proof-status i[b-y1ehubixyf] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #85ad77;
    box-shadow: 0 0 0 4px rgba(133, 173, 119, 0.15);
}

.proof-snapshot dl[b-y1ehubixyf] {
    display: grid;
    gap: 0;
    margin: 0;
}

.proof-snapshot dl > div[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.2rem 1rem;
    padding: 1.35rem 0.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.proof-snapshot dt[b-y1ehubixyf],
.proof-snapshot small[b-y1ehubixyf],
.proof-snapshot > p[b-y1ehubixyf] {
    color: rgba(246, 238, 226, 0.63);
}

.proof-snapshot dt[b-y1ehubixyf] {
    font-size: 0.85rem;
}

.proof-snapshot dd[b-y1ehubixyf] {
    grid-row: span 2;
    margin: 0;
    font-family: var(--cw-font-display);
    font-size: 1.28rem;
}

.proof-snapshot small[b-y1ehubixyf] {
    font-size: 0.72rem;
}

.proof-snapshot > p[b-y1ehubixyf] {
    margin: 1.25rem 0.35rem 0.25rem;
    font-size: 0.75rem;
    line-height: 1.55;
}

.proof-principles[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-block: 1px solid var(--proof-line);
    background: rgba(255, 253, 248, 0.72);
}

.proof-principles > div[b-y1ehubixyf] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1.8rem 4vw;
    border-right: 1px solid var(--proof-line);
}

.proof-principles > div:last-child[b-y1ehubixyf] {
    border-right: 0;
}

.proof-principles b[b-y1ehubixyf] {
    font-family: var(--cw-font-display);
    font-size: 1.03rem;
}

.proof-principles span[b-y1ehubixyf] {
    color: var(--proof-muted);
    font-size: 0.82rem;
}

.proof-section[b-y1ehubixyf],
.proof-controls-section[b-y1ehubixyf],
.proof-restore-section[b-y1ehubixyf],
.proof-limits-section[b-y1ehubixyf],
.proof-final-cta[b-y1ehubixyf] {
    padding: clamp(5rem, 9vw, 8rem) 7vw;
}

.proof-section-heading[b-y1ehubixyf] {
    max-width: 820px;
}

.proof-section-heading h2[b-y1ehubixyf],
.proof-restore-section h2[b-y1ehubixyf],
.proof-final-cta h2[b-y1ehubixyf] {
    font-size: clamp(2.5rem, 4.6vw, 4.8rem);
}

.proof-section-heading > p:last-child[b-y1ehubixyf],
.proof-restore-section > div:first-child > p:last-child[b-y1ehubixyf],
.proof-final-cta > p:not(.proof-eyebrow)[b-y1ehubixyf] {
    margin: 1.5rem 0 0;
    color: var(--proof-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.proof-release-chain[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 4rem 0 0;
    padding: 0;
    list-style: none;
}

.proof-release-chain li[b-y1ehubixyf] {
    min-height: 250px;
    padding: 1.5rem;
    border-top: 1px solid var(--proof-ink);
    border-right: 1px solid var(--proof-line);
}

.proof-release-chain li:last-child[b-y1ehubixyf] {
    border-right: 0;
}

.proof-release-chain li:nth-child(4n)[b-y1ehubixyf] {
    border-right: 0;
}

.proof-release-chain li > span[b-y1ehubixyf],
.proof-control-grid article > span[b-y1ehubixyf] {
    color: var(--proof-rust);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.proof-release-chain b[b-y1ehubixyf] {
    display: block;
    margin-top: 2.6rem;
    font-family: var(--cw-font-display);
    font-size: 1.35rem;
}

.proof-release-chain p[b-y1ehubixyf],
.proof-control-grid p[b-y1ehubixyf] {
    color: var(--proof-muted);
    font-size: 0.88rem;
    line-height: 1.65;
}

.proof-controls-section[b-y1ehubixyf] {
    background: #ede4d6;
}

.proof-control-grid[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 3.5rem;
    background: rgba(40, 33, 27, 0.15);
    border: 1px solid rgba(40, 33, 27, 0.15);
}

.proof-control-grid article[b-y1ehubixyf] {
    min-height: 315px;
    padding: clamp(2rem, 4vw, 3.5rem);
    background: #f6efe4;
}

.proof-control-grid h3[b-y1ehubixyf] {
    max-width: 560px;
    margin: 1.2rem 0 0;
    font-family: var(--cw-font-display);
    font-size: clamp(1.55rem, 2.4vw, 2.4rem);
    line-height: 1.12;
}

.proof-control-grid p[b-y1ehubixyf] {
    max-width: 650px;
    margin: 1.4rem 0 0;
}

.proof-control-grid small[b-y1ehubixyf] {
    display: block;
    margin-top: 1.6rem;
    color: #5f5144;
    font-size: 0.76rem;
    font-weight: 700;
}

.proof-restore-section[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr);
    gap: 2rem 6vw;
    align-items: center;
    background: #211b16;
    color: #f6eee2;
}

.proof-restore-section .proof-eyebrow[b-y1ehubixyf] {
    color: #d89367;
}

.proof-restore-section > div:first-child > p:last-child[b-y1ehubixyf] {
    color: rgba(246, 238, 226, 0.68);
}

.proof-restore-flow[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    gap: 0.65rem;
    align-items: center;
}

.proof-restore-flow span[b-y1ehubixyf] {
    display: grid;
    min-height: 105px;
    place-items: center;
    padding: 1rem;
    border: 1px solid rgba(246, 238, 226, 0.18);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-align: center;
    text-transform: uppercase;
}

.proof-restore-flow i[b-y1ehubixyf] {
    color: #d89367;
    font-style: normal;
}

.proof-caveat[b-y1ehubixyf] {
    grid-column: 1 / -1;
    margin: 1.5rem 0 0;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(246, 238, 226, 0.12);
    color: rgba(246, 238, 226, 0.58);
    font-size: 0.79rem;
    line-height: 1.6;
}

.proof-limits-section[b-y1ehubixyf] {
    background: var(--proof-paper);
}

.proof-limits-grid[b-y1ehubixyf] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 3.5rem;
}

.proof-limits-grid > div[b-y1ehubixyf] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 185px;
    padding: 1.6rem;
    border: 1px solid var(--proof-line);
    border-radius: 16px;
}

.proof-limits-grid b[b-y1ehubixyf] {
    font-family: var(--cw-font-display);
    font-size: 1.15rem;
}

.proof-limits-grid span[b-y1ehubixyf] {
    color: var(--proof-muted);
    font-size: 0.86rem;
    line-height: 1.6;
}

.proof-final-cta[b-y1ehubixyf] {
    text-align: center;
}

.proof-final-cta > p:not(.proof-eyebrow)[b-y1ehubixyf] {
    max-width: 720px;
    margin-inline: auto;
}

.proof-final-cta .proof-button[b-y1ehubixyf] {
    margin-top: 2rem;
}

.proof-unavailable[b-y1ehubixyf] {
    min-height: 72vh;
    padding: 8rem 7vw;
}

.proof-unavailable h1[b-y1ehubixyf] {
    max-width: 850px;
    font-size: clamp(2.6rem, 5vw, 5rem);
}

.proof-unavailable > p[b-y1ehubixyf] {
    max-width: 650px;
    margin: 1.5rem 0 2rem;
    color: var(--proof-muted);
    line-height: 1.7;
}

@media (max-width: 1050px) {
    .proof-hero[b-y1ehubixyf] {
        grid-template-columns: 1fr;
    }

    .proof-snapshot[b-y1ehubixyf] {
        max-width: 680px;
    }

    .proof-release-chain[b-y1ehubixyf] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .proof-release-chain li:nth-child(2n)[b-y1ehubixyf] {
        border-right: 0;
    }

    .proof-release-chain li:nth-child(4n)[b-y1ehubixyf] {
        border-right: 0;
    }

    .proof-release-chain li:last-child[b-y1ehubixyf] {
        grid-column: 1 / -1;
        min-height: 180px;
    }

    .proof-restore-section[b-y1ehubixyf] {
        grid-template-columns: 1fr;
    }

    .proof-limits-grid[b-y1ehubixyf] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .proof-hero[b-y1ehubixyf],
    .proof-section[b-y1ehubixyf],
    .proof-controls-section[b-y1ehubixyf],
    .proof-restore-section[b-y1ehubixyf],
    .proof-limits-section[b-y1ehubixyf],
    .proof-final-cta[b-y1ehubixyf],
    .proof-unavailable[b-y1ehubixyf] {
        padding-inline: 1.25rem;
    }

    .proof-hero[b-y1ehubixyf] {
        min-height: auto;
        padding-block: 5rem;
    }

    .proof-hero h1[b-y1ehubixyf] {
        font-size: clamp(3rem, 15vw, 4.6rem);
    }

    .proof-principles[b-y1ehubixyf],
    .proof-control-grid[b-y1ehubixyf],
    .proof-limits-grid[b-y1ehubixyf] {
        grid-template-columns: 1fr;
    }

    .proof-principles > div[b-y1ehubixyf] {
        padding: 1.4rem 1.25rem;
        border-right: 0;
        border-bottom: 1px solid var(--proof-line);
    }

    .proof-principles > div:last-child[b-y1ehubixyf] {
        border-bottom: 0;
    }

    .proof-release-chain[b-y1ehubixyf] {
        grid-template-columns: 1fr;
    }

    .proof-release-chain li[b-y1ehubixyf],
    .proof-release-chain li:nth-child(2n)[b-y1ehubixyf],
    .proof-release-chain li:last-child[b-y1ehubixyf] {
        grid-column: auto;
        min-height: auto;
        border-right: 0;
    }

    .proof-release-chain b[b-y1ehubixyf] {
        margin-top: 1.25rem;
    }

    .proof-restore-flow[b-y1ehubixyf] {
        grid-template-columns: 1fr;
    }

    .proof-restore-flow span[b-y1ehubixyf] {
        min-height: 74px;
    }

    .proof-restore-flow i[b-y1ehubixyf] {
        transform: rotate(90deg);
        text-align: center;
    }
}
/* /Components/Pages/Reports/Index.razor.rz.scp.css */
.reports-hub[b-flht1beyd1] {
    max-width: 1180px;
}

.reports-grid[b-flht1beyd1] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--cw-card-gap);
}

.reports-grid-item[b-flht1beyd1] {
    min-width: 0;
    height: 100%;
}

.reports-truth-note[b-flht1beyd1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 2px 12px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    text-align: center;
}

@media (max-width: 1050px) {
    .reports-grid[b-flht1beyd1] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .reports-grid[b-flht1beyd1] {
        grid-template-columns: minmax(0, 1fr);
    }

    .reports-truth-note[b-flht1beyd1] {
        align-items: flex-start;
        text-align: left;
    }
}
/* /Components/Pages/Reports/ReportHubCard.razor.rz.scp.css */
.report-hub-card[b-76monn3g85] {
    height: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    padding: 22px;
    background: var(--mud-palette-surface);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: var(--cw-radius-card);
    transition: border-color 140ms ease, transform 140ms ease;
}

.report-hub-card:hover[b-76monn3g85] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 52%);
    transform: translateY(-1px);
}

.report-card-heading[b-76monn3g85] {
    min-height: 112px;
}

.report-system-term[b-76monn3g85] {
    display: inline-flex;
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
    color: var(--mud-palette-primary);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.report-question[b-76monn3g85] {
    margin: 13px 0 5px;
    font-size: 1.12rem;
    line-height: 1.28;
    font-weight: 600;
}

.report-question a[b-76monn3g85] {
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.report-question a:hover[b-76monn3g85] {
    color: var(--mud-palette-primary);
}

.report-question a:focus-visible[b-76monn3g85],
.report-open:focus-visible[b-76monn3g85],
.report-secondary:focus-visible[b-76monn3g85] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 3px;
    border-radius: 3px;
}

.report-descriptor[b-76monn3g85] {
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}

.report-evidence[b-76monn3g85] {
    margin-top: 16px;
    padding: 14px 0 15px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 48%);
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 48%);
}

.report-period[b-76monn3g85] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.report-statistic[b-76monn3g85] {
    margin: 7px 0 0;
    font-family: var(--cw-font-mono);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.55;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.report-decision[b-76monn3g85] {
    flex: 1;
    margin: 14px 0 18px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    line-height: 1.55;
}

.report-actions[b-76monn3g85] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.report-open[b-76monn3g85] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--mud-palette-primary);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}

.report-secondary[b-76monn3g85] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    text-decoration: underline;
    text-decoration-color: color-mix(in oklab, currentColor, transparent 62%);
    text-underline-offset: 3px;
}

@media (max-width: 640px) {
    .report-hub-card[b-76monn3g85] {
        min-height: 0;
        padding: 19px;
    }

    .report-card-heading[b-76monn3g85] {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .report-hub-card[b-76monn3g85] {
        transition: none;
    }

    .report-hub-card:hover[b-76monn3g85] {
        transform: none;
    }
}
/* /Components/Pages/Reports/SlaAttainment.razor.rz.scp.css */
.sla-page[b-9ehobyeko5] {
    max-width: 1180px;
}

.sla-question-header[b-9ehobyeko5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.sla-heading-copy[b-9ehobyeko5] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.sla-context[b-9ehobyeko5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}

.sla-system-term[b-9ehobyeko5] {
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
    color: var(--mud-palette-primary);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.sla-breach-gloss[b-9ehobyeko5] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-info), transparent 72%);
    border-radius: var(--cw-radius-tile);
    background: color-mix(in oklab, var(--mud-palette-info), transparent 94%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    line-height: 1.5;
}

.sla-breach-gloss-icon[b-9ehobyeko5] {
    flex: 0 0 auto;
    color: var(--mud-palette-info);
}

.sla-breach-gloss > div[b-9ehobyeko5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sla-breach-gloss strong[b-9ehobyeko5] {
    color: var(--mud-palette-text-primary);
    font-size: 0.75rem;
}

.sla-filters[b-9ehobyeko5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: fit-content;
    padding: 10px 12px;
}

.sla-date-field[b-9ehobyeko5] {
    width: 9.5rem;
}

.sla-section-heading[b-9ehobyeko5] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.sla-section-heading > div[b-9ehobyeko5] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sla-client-table[b-9ehobyeko5] {
    --cw-table-min: 680px;
}

.sla-week-table[b-9ehobyeko5] {
    --cw-table-min: 960px;
}

.sla-miss-copy[b-9ehobyeko5] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}

.sla-breach-count[b-9ehobyeko5] {
    display: inline-flex;
    min-width: 2rem;
    justify-content: center;
    padding: 3px 7px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 90%);
    color: var(--mud-palette-text-secondary);
    font-family: var(--cw-font-mono);
    font-size: 0.75rem;
    font-weight: 600;
}

.sla-breach-count--attention[b-9ehobyeko5] {
    background: color-mix(in oklab, var(--cw-status-warning), transparent 88%);
    color: var(--cw-status-warning);
}

.sla-footnote[b-9ehobyeko5] {
    margin: 14px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .sla-question-header[b-9ehobyeko5] {
        flex-direction: column;
        gap: 14px;
    }

    .sla-filters[b-9ehobyeko5] {
        width: 100%;
    }

    .sla-date-field[b-9ehobyeko5] {
        flex: 1 1 9rem;
        width: auto;
    }

    .sla-section-heading[b-9ehobyeko5] {
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .sla-section-heading[b-9ehobyeko5] {
        flex-direction: column;
        gap: 8px;
    }
}
/* /Components/Pages/Reports/TimeTruth.razor.rz.scp.css */
/* .cw-num-cell alignment, the tablet .stat-grid 2×2, and the
   .report-table scroll-fade pattern all live in wwwroot/css/app.css —
   they're shared report grammar, not page styling. */

/* The no-cost-rate flag sits inline on the tech's name line. */
.tt-tech-name[b-av3guzjdl7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tt-section-heading[b-av3guzjdl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}
/* /Components/Pages/Sales/AgreementEditor.razor.rz.scp.css */
/* The Effective date + Renews on row. `.agreement-dates-row` is a plain div
   rendered by this page, so it carries the isolation attribute; the Mud
   pickers inside are reached through ::deep (see UI_STYLE_GUIDE.md). */

.agreement-dates-row[b-3oreo974su] {
    display: flex;
    gap: 8px;
}

.agreement-dates-row[b-3oreo974su]  .mud-picker {
    flex: 1;
    min-width: 0;
}

/* Keep the resting label clear of the calendar adornment: MudBlazor's own
   .mud-input-label already ellipsizes at max-width:100%, but 100% runs under
   the end-adornment icon — reserve that slot. MudBlazor's shrink rules carry
   higher specificity, so the floated label keeps its full width. */
.agreement-dates-row[b-3oreo974su]  .mud-input-label {
    max-width: calc(100% - 56px);
}
/* /Components/Pages/Sales/AgreementsList.razor.rz.scp.css */
/* Scoped under the page's own `.agreements-page` wrapper div where the class
   sits on a Mud component (which never receives the isolation attribute);
   plain-HTML selectors like `.agreement-title` are stamped directly.
   See UI_STYLE_GUIDE.md — "MudBlazor + CSS isolation — THE RULE". */

/* Header actions: buttons never break their own label across lines — when
   the header is squeezed (768) they wrap as whole buttons instead. */
.agreements-page[b-vakw75v8ch]  .agreements-header-actions .mud-button-root {
    white-space: nowrap;
}

/* Grid dates ("Jan 1, 2026") read as one unit; the title column absorbs
   the squeeze instead. */
.agreements-page[b-vakw75v8ch]  .agreement-date {
    white-space: nowrap;
}

/* Titles clamp to two lines so narrow grids keep a calm row rhythm. */
.agreement-title[b-vakw75v8ch] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* Tab result surfaces use the canonical inter-card rhythm in every state. */
.agreements-page[b-vakw75v8ch]  .agreements-card-gap-sm {
    margin-top: var(--cw-card-gap);
}
/* /Components/Pages/Sales/QuoteBuilder.razor.rz.scp.css */
/* The Title + "Valid until" headline row. `.quote-headline-row` is a plain
   div rendered by this page, so it carries the isolation attribute; the Mud
   inputs inside are reached through ::deep (see UI_STYLE_GUIDE.md). */

.quote-headline-row[b-cpml7bn6fc] {
    display: flex;
    gap: 8px;
}

.quote-headline-row[b-cpml7bn6fc]  .quote-title-field {
    flex: 1;
    min-width: 0;
}

.quote-headline-row[b-cpml7bn6fc]  .quote-valid-until {
    flex: 0 0 180px;
}

.quote-conversion-actions[b-cpml7bn6fc] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.quote-contract-action[b-cpml7bn6fc] {
    display: grid;
    gap: 3px;
}

.quote-contract-action span[b-cpml7bn6fc] {
    max-width: 430px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
}

.quote-billing-hidden[b-cpml7bn6fc] {
    align-self: center;
    color: var(--mud-palette-text-secondary);
    font-size: 0.76rem;
}

/* Phones: stack the pair so the date value never clips mid-glyph. */
@media (max-width: 600px) {
    .quote-headline-row[b-cpml7bn6fc] {
        flex-direction: column;
    }

    .quote-headline-row[b-cpml7bn6fc]  .quote-valid-until {
        flex: 1 1 auto;
    }

    .quote-conversion-actions[b-cpml7bn6fc] {
        display: grid;
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Sales/QuoteCashBranch.razor.rz.scp.css */
.quote-cash-branch[b-lj3b292tz9] {
    position: relative;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--cw-radius-card);
    background: var(--mud-palette-surface);
}

.quote-cash-branch[b-lj3b292tz9]::before {
    position: absolute;
    top: -19px;
    left: 50%;
    width: 1px;
    height: 18px;
    background: var(--mud-palette-lines-default);
    content: "";
}

.quote-cash-branch__heading[b-lj3b292tz9] {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    justify-content: space-between;
}

.quote-cash-branch__label[b-lj3b292tz9] {
    color: var(--mud-palette-text-primary);
    font-size: 0.84rem;
    font-weight: 650;
}

.quote-cash-branch__status[b-lj3b292tz9] {
    flex: 0 0 auto;
    padding: 2px 7px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 650;
    line-height: 1.35;
}

.quote-cash-branch__detail[b-lj3b292tz9] {
    margin: 7px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.77rem;
    line-height: 1.45;
}

.quote-cash-branch__paperwork[b-lj3b292tz9] {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
    padding: 9px 0 0;
    border-top: 1px solid var(--mud-palette-lines-default);
    list-style: none;
}

.quote-cash-branch__paperwork li[b-lj3b292tz9] {
    display: flex;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
    min-width: 0;
}

.quote-cash-branch__paperwork a[b-lj3b292tz9],
.quote-cash-branch__paperwork span[b-lj3b292tz9] {
    min-width: 0;
    overflow: hidden;
    color: var(--mud-palette-text-primary);
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quote-cash-branch__paperwork a[b-lj3b292tz9] {
    color: var(--mud-palette-primary);
    text-decoration: none;
}

.quote-cash-branch__paperwork a:hover[b-lj3b292tz9] {
    text-decoration: underline;
}

.quote-cash-branch__paperwork small[b-lj3b292tz9] {
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
    font-size: 0.66rem;
}

.quote-cash-tone--future[b-lj3b292tz9] {
    color: var(--mud-palette-text-secondary);
}

.quote-cash-tone--skipped[b-lj3b292tz9] {
    color: var(--mud-palette-text-disabled);
    background: color-mix(in srgb, var(--mud-palette-background) 72%, transparent);
}

.quote-cash-tone--current[b-lj3b292tz9] {
    color: var(--mud-palette-primary);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 52%, var(--mud-palette-lines-default));
}

.quote-cash-tone--complete[b-lj3b292tz9] {
    color: var(--mud-palette-success);
    border-color: color-mix(in srgb, var(--mud-palette-success) 46%, var(--mud-palette-lines-default));
}

.quote-cash-tone--attention[b-lj3b292tz9] {
    color: var(--mud-palette-warning);
    border-color: color-mix(in srgb, var(--mud-palette-warning) 55%, var(--mud-palette-lines-default));
}

@media (max-width: 760px) {
    .quote-cash-branch[b-lj3b292tz9]::before {
        top: -13px;
        left: 20px;
        height: 12px;
    }
}
/* /Components/Pages/Sales/QuoteCashMap.razor.rz.scp.css */
.quote-cash-map[b-rwvqudkg23] {
    margin-top: 12px;
    padding: 18px;
    overflow: hidden;
}

.quote-cash-map__intro[b-rwvqudkg23] {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    justify-content: space-between;
}

.quote-cash-map__eyebrow[b-rwvqudkg23],
.quote-cash-map__records-title[b-rwvqudkg23] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.quote-cash-map__intro h2[b-rwvqudkg23] {
    margin: 2px 0 0;
    color: var(--mud-palette-text-primary);
    font-size: 1rem;
    font-weight: 650;
}

.quote-cash-map__intro p[b-rwvqudkg23] {
    max-width: 520px;
    margin: 1px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.76rem;
    line-height: 1.45;
}

.quote-cash-map__flow[b-rwvqudkg23] {
    position: relative;
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.quote-cash-map__hub[b-rwvqudkg23] {
    position: relative;
    display: grid;
    justify-self: center;
    width: min(100%, 340px);
    padding: 12px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--cw-radius-card);
    background: var(--mud-palette-surface);
    text-align: center;
}

.quote-cash-map__hub[b-rwvqudkg23]::after {
    position: absolute;
    bottom: -18px;
    left: 50%;
    width: 1px;
    height: 18px;
    background: var(--mud-palette-lines-default);
    content: "";
}

.quote-cash-map__hub span[b-rwvqudkg23] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.67rem;
    font-weight: 650;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.quote-cash-map__hub strong[b-rwvqudkg23] {
    margin-top: 2px;
    color: currentColor;
    font-size: 0.94rem;
}

.quote-cash-map__hub small[b-rwvqudkg23] {
    margin-top: 3px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
}

.quote-cash-map__branches[b-rwvqudkg23] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding-top: 18px;
}

.quote-cash-map__branches[b-rwvqudkg23]::before {
    position: absolute;
    top: 0;
    right: 16.666%;
    left: 16.666%;
    height: 1px;
    background: var(--mud-palette-lines-default);
    content: "";
}

.quote-cash-map__trail[b-rwvqudkg23] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--cw-radius-control);
    background: color-mix(in srgb, var(--mud-palette-background) 64%, transparent);
}

.quote-cash-map__milestone[b-rwvqudkg23] {
    position: relative;
    display: flex;
    gap: 7px;
    align-items: center;
    min-width: 0;
    color: var(--mud-palette-text-disabled);
    font-size: 0.72rem;
}

.quote-cash-map__milestone:not(:last-child)[b-rwvqudkg23]::after {
    position: absolute;
    top: 50%;
    right: 9px;
    width: calc(100% - 24px);
    height: 1px;
    background: var(--mud-palette-lines-default);
    content: "";
    transform: translate(50%, -50%);
}

.quote-cash-map__milestone span[b-rwvqudkg23] {
    z-index: 1;
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: var(--mud-palette-surface);
}

.quote-cash-map__milestone strong[b-rwvqudkg23] {
    z-index: 1;
    overflow: hidden;
    padding-right: 4px;
    background: color-mix(in srgb, var(--mud-palette-background) 64%, var(--mud-palette-surface));
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quote-cash-map__records[b-rwvqudkg23] {
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.quote-cash-map__record-list[b-rwvqudkg23] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.quote-cash-map__record-list a[b-rwvqudkg23] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1px 8px;
    min-width: 0;
    padding: 9px 11px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--cw-radius-control);
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.quote-cash-map__record-list a:hover[b-rwvqudkg23] {
    border-color: var(--mud-palette-primary);
}

.quote-cash-map__record-list span[b-rwvqudkg23] {
    grid-row: 1 / span 2;
    align-self: center;
    color: currentColor;
    font-size: 0.67rem;
    font-weight: 650;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.quote-cash-map__record-list strong[b-rwvqudkg23] {
    overflow: hidden;
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quote-cash-map__record-list small[b-rwvqudkg23] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.68rem;
}

.quote-cash-tone--future[b-rwvqudkg23] {
    color: var(--mud-palette-text-secondary);
}

.quote-cash-tone--skipped[b-rwvqudkg23] {
    color: var(--mud-palette-text-disabled);
    background: color-mix(in srgb, var(--mud-palette-background) 72%, transparent);
}

.quote-cash-tone--current[b-rwvqudkg23] {
    color: var(--mud-palette-primary);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 52%, var(--mud-palette-lines-default));
}

.quote-cash-tone--complete[b-rwvqudkg23] {
    color: var(--mud-palette-success);
    border-color: color-mix(in srgb, var(--mud-palette-success) 46%, var(--mud-palette-lines-default));
}

.quote-cash-tone--attention[b-rwvqudkg23] {
    color: var(--mud-palette-warning);
    border-color: color-mix(in srgb, var(--mud-palette-warning) 55%, var(--mud-palette-lines-default));
}

@media (max-width: 760px) {
    .quote-cash-map[b-rwvqudkg23] {
        padding: 15px;
    }

    .quote-cash-map__intro[b-rwvqudkg23] {
        display: block;
    }

    .quote-cash-map__intro p[b-rwvqudkg23] {
        margin-top: 6px;
    }

    .quote-cash-map__hub[b-rwvqudkg23] {
        justify-self: stretch;
        text-align: left;
    }

    .quote-cash-map__hub[b-rwvqudkg23]::after,
    .quote-cash-map__branches[b-rwvqudkg23]::before {
        display: none;
    }

    .quote-cash-map__branches[b-rwvqudkg23] {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-top: 0;
        padding-left: 14px;
        border-left: 1px solid var(--mud-palette-lines-default);
    }

    .quote-cash-map__trail[b-rwvqudkg23] {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .quote-cash-map__milestone:not(:last-child)[b-rwvqudkg23]::after {
        top: 13px;
        right: auto;
        left: 3px;
        width: 1px;
        height: 18px;
        transform: none;
    }

    .quote-cash-map__record-list[b-rwvqudkg23] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Sales/QuotesList.razor.rz.scp.css */
/* CSS isolation: every class below sits on a MudBlazor child component
   (MudPaper, MudTable, MudAutocomplete, MudTd), which never receives this
   file's scope attribute — so each rule is keyed off the page's own
   `.quotes-page` wrapper div and reaches the Mud markup through ::deep
   (the Tickets `.service-desk` pattern). A selector that STARTS at a Mud
   component's class matches nothing; see UI_STYLE_GUIDE.md. */

.quotes-page[b-96crj1pmxt]  .quote-section {
    padding: 24px;
}

.quotes-page[b-96crj1pmxt]  .quote-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.quotes-page[b-96crj1pmxt]  .quote-client-filter {
    width: min(280px, 100%);
}

/* Tablet band: floor the 7-column table so the report-table wrapper
   (class on the MudTable root) scrolls it with the fade affordance
   instead of truncating the SENT column at the card edge. */
@media (min-width: 601px) and (max-width: 959.98px) {
    .quotes-page[b-96crj1pmxt]  .quote-table.report-table {
        --cw-table-min: 880px;
    }
}

.quotes-page[b-96crj1pmxt]  .quote-table .mud-table-container {
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
}

.quotes-page[b-96crj1pmxt]  .quote-table .mud-table-head .mud-table-cell {
    padding: 10px 14px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-cell {
    padding: 10px 14px;
    vertical-align: middle;
}

.quotes-page[b-96crj1pmxt]  .quote-number,
.quotes-page[b-96crj1pmxt]  .quote-title,
.quotes-page[b-96crj1pmxt]  .quote-total,
.quotes-page[b-96crj1pmxt]  .quote-monthly,
.quotes-page[b-96crj1pmxt]  .quote-date {
    display: block;
}

.quotes-page[b-96crj1pmxt]  .quote-number,
.quotes-page[b-96crj1pmxt]  .quote-total {
    font-size: 0.875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.quotes-page[b-96crj1pmxt]  .quote-title {
    max-width: 36ch;
    margin-top: 2px;
    overflow: hidden;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quotes-page[b-96crj1pmxt]  .quote-monthly,
.quotes-page[b-96crj1pmxt]  .quote-date {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.quotes-page[b-96crj1pmxt]  .quote-actions {
    width: 72px;
    text-align: right;
}

.quotes-page[b-96crj1pmxt]  .quote-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 32px 16px;
    text-align: center;
}

.quotes-page[b-96crj1pmxt]  .visually-hidden {
    position: absolute;
    /* Pin to the page origin: with no positioned ancestor, the span's
       static position inside the horizontally-scrolled table (x≈913 at
       768px) counted toward document scrollWidth and gave every quotes
       viewport a phantom sideways scroll. */
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 600px) {
    .quotes-page[b-96crj1pmxt]  .quote-section {
        padding: 16px;
    }

    .quotes-page[b-96crj1pmxt]  .quote-section-header {
        flex-direction: column;
        align-items: stretch;
    }

    .quotes-page[b-96crj1pmxt]  .quote-client-filter {
        width: 100%;
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-container {
        overflow: visible;
        border: 0;
    }

    /* Stacked rows keep table-row display by default, so the card padding
       and borders below inflate the table's min-content 9px past the page.
       Block-ify the chain (the Team roster's stacked pattern) so the row
       chrome stays inside the container width. */
    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-root,
    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body {
        display: block;
        width: 100%;
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-row {
        display: block;
        box-sizing: border-box;
        margin-bottom: 12px;
        padding: 8px 12px;
        border: 1px solid var(--mud-palette-lines-default);
        border-radius: 12px;
        background: var(--mud-palette-surface);
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-cell {
        min-height: 38px;
        padding: 8px 0 8px 100px;
        border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 50%);
        /* Wide values (total + "+$N/mo") wrap under the label instead of
           bleeding past the card border; IDs stay whole. */
        flex-wrap: wrap;
        min-width: 0;
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-cell > * {
        max-width: 100%;
    }

    .quotes-page[b-96crj1pmxt]  .quote-number,
    .quotes-page[b-96crj1pmxt]  .quote-monthly {
        white-space: nowrap;
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-cell::before {
        width: 90px;
        color: var(--mud-palette-text-secondary);
        /* The stacked data-label stays in the UI face even inside the mono
           Total cell (td.cw-num-cell) — labels are prose, values are data. */
        font-family: var(--mud-typography-default-family);
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-cell:first-child {
        padding-left: 0;
    }

    .quotes-page[b-96crj1pmxt]  .quote-table .mud-table-body .mud-table-cell:first-child::before {
        display: none;
    }

    .quotes-page[b-96crj1pmxt]  .quote-title {
        max-width: none;
        white-space: normal;
    }

    .quotes-page[b-96crj1pmxt]  .quote-actions {
        width: auto;
        justify-content: flex-end !important;
        border-bottom: 0 !important;
    }
}
/* /Components/Pages/Settings/Ai.razor.rz.scp.css */
/* Provider meta line: keep the "last checked" timestamp whole when the
   caption wraps at narrow widths (it was breaking mid-date). */
.ai-checked-at[b-qnuop9n3gu] {
    white-space: nowrap;
}

/* Usage table: below 600px the five columns were crushing into 3-line
   wraps and "Est. cost" was clipped off entirely. Keep natural column
   widths and scroll sideways inside the card instead; a right-edge fade
   hints that there is more table to the right. */
.ai-usage-tablewrap[b-qnuop9n3gu] {
    position: relative;
}

@media (max-width: 600px) {
    .ai-usage-scroll[b-qnuop9n3gu] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .ai-usage-scroll[b-qnuop9n3gu]  table {
        min-width: 560px;
    }

    .ai-usage-tablewrap[b-qnuop9n3gu]::after {
        content: "";
        position: absolute;
        top: 1px;
        right: 1px;
        bottom: 1px;
        width: 28px;
        border-radius: 0 14px 14px 0;
        background: linear-gradient(to right, transparent, var(--mud-palette-surface));
        pointer-events: none;
    }
}
/* /Components/Pages/Settings/BusinessHours.razor.rz.scp.css */
/* Inter-card spacing comes from this container gap, never card margins
   (UI_STYLE_GUIDE.md "Card spacing & alignment"). */
.settings-cards[b-aoz2d864ep] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}

.holiday-table-scope[b-aoz2d864ep]  .mud-table {
    border: none;
    box-shadow: none;
}

.holiday-table-scope[b-aoz2d864ep]  .mud-table-head th.mud-table-cell {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--mud-palette-text-secondary) !important;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.holiday-table-scope[b-aoz2d864ep]  .mud-table-body td {
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.holiday-table-scope[b-aoz2d864ep]  .mud-table-hover .mud-table-body .mud-table-row:hover {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}
/* /Components/Pages/Settings/ConnectM365Wizard.razor.rz.scp.css */
.wizard-steps-list[b-fqjjitwrxa] {
    margin: 0;
    padding-left: 1.2rem;
}

.wizard-steps-list li[b-fqjjitwrxa] {
    margin: 2px 0;
}

.wizard-script-block[b-fqjjitwrxa] {
    background: var(--mud-palette-background-gray);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    padding: 12px;
}

.wizard-script-block pre[b-fqjjitwrxa] {
    margin: 0 0 8px 0;
    font-size: 0.78rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Pages/Settings/Email.razor.rz.scp.css */
.mailbox-card--inactive[b-pe238bjsm9] {
    opacity: 0.65;
}

/* One queued/skipped item per row, separated by hairlines */
.delivery-row[b-pe238bjsm9] {
    padding: 8px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.delivery-row:first-of-type[b-pe238bjsm9] {
    border-top: none;
}

.text-truncate[b-pe238bjsm9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60ch;
}

.signature-placeholders[b-pe238bjsm9] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.signature-placeholder-token[b-pe238bjsm9] {
    margin-left: 5px;
    color: var(--mud-palette-text-secondary);
    font-family: var(--cw-font-mono);
    font-size: 0.75rem;
}

.signature-preview-list[b-pe238bjsm9] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.signature-preview[b-pe238bjsm9] {
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 40%);
}

.signature-preview-label[b-pe238bjsm9] {
    margin-bottom: 7px;
    color: var(--mud-palette-text-primary);
    font-size: 0.75rem;
    font-weight: 650;
}

.signature-preview pre[b-pe238bjsm9],
.signature-preview-empty[b-pe238bjsm9] {
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.signature-preview-empty[b-pe238bjsm9] {
    font-size: 0.8125rem;
}
/* /Components/Pages/Settings/FoundingApplications.razor.rz.scp.css */
/* The 8-column attribution table can't fit a phone and MudSimpleTable can't
   stack, so it scrolls horizontally with a right-edge fade affordance
   (same treatment as the pill strips in UI_STYLE_GUIDE). */
.founding-attribution-scroll[b-xobsgidrzp] {
    overflow-x: auto;
    scrollbar-width: thin;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%);
}
/* /Components/Pages/Settings/General.razor.rz.scp.css */
/* Inter-card spacing comes from this container gap, never card margins
   (UI_STYLE_GUIDE.md "Card spacing & alignment"). */
.settings-cards[b-oflx44iv4t] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}
/* /Components/Pages/Settings/Index.razor.rz.scp.css */
.settings-index-grid[b-2x73d5sfqn] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--cw-card-gap);
    align-items: start;
}

.settings-index-group[b-2x73d5sfqn] {
    overflow: hidden;
}

/* AuthorizeView emits no link for a destination the current person cannot
   manage. Do not leave a full empty card behind for focused administrators. */
.settings-index-group:not(:has(.settings-index-item))[b-2x73d5sfqn] {
    display: none;
}

.settings-index-group-header[b-2x73d5sfqn] {
    padding: 16px 18px 13px;
}

.settings-index-group-header h2[b-2x73d5sfqn] {
    margin: 0;
    color: var(--mud-palette-text-primary);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.3;
}

.settings-index-group-header p[b-2x73d5sfqn] {
    margin: 3px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.settings-index-item[b-2x73d5sfqn] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 10px 18px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.settings-index-item:hover[b-2x73d5sfqn] {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.settings-index-item:focus-visible[b-2x73d5sfqn] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.settings-index-name[b-2x73d5sfqn] {
    flex: 0 0 190px;
    font-size: 0.875rem;
    font-weight: 600;
}

.settings-index-description[b-2x73d5sfqn] {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .settings-index-grid[b-2x73d5sfqn] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 600px) {
    .settings-index-item[b-2x73d5sfqn] {
        display: block;
        padding: 9px 14px;
    }

    .settings-index-name[b-2x73d5sfqn],
    .settings-index-description[b-2x73d5sfqn] {
        display: block;
    }

    .settings-index-description[b-2x73d5sfqn] {
        margin-top: 2px;
        font-size: 0.75rem;
    }
}
/* /Components/Pages/Settings/Intake.razor.rz.scp.css */
/* One rule/source per row, separated by hairlines (matches Email page) */
.delivery-row[b-ihtqegm30t] {
    padding: 8px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.delivery-row:first-of-type[b-ihtqegm30t] {
    border-top: none;
}

/* ── Task-card heading and actions ───────────────────────────────────── */
.intake-card-head[b-ihtqegm30t] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.intake-card-head > :first-child[b-ihtqegm30t] {
    flex: 1 1 auto;
    min-width: 0;
}

.intake-card-actions[b-ihtqegm30t] {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    align-items: center;
}

/* ── Acknowledgment disclosure ───────────────────────────────────────── */
.intake-ack[b-ihtqegm30t] {
    overflow: hidden;
}

.intake-ack__summary[b-ihtqegm30t] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 13px 18px;
    cursor: pointer;
    list-style: none;
}

.intake-ack__summary[b-ihtqegm30t]::-webkit-details-marker {
    display: none;
}

.intake-ack__summary:focus-visible[b-ihtqegm30t] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.intake-ack__heading[b-ihtqegm30t] {
    flex: 1 1 auto;
    min-width: 0;
}

.intake-ack__caret[b-ihtqegm30t] {
    display: inline-block;
    color: var(--mud-palette-text-secondary);
    transition: transform 120ms ease;
}

.intake-ack[open] .intake-ack__caret[b-ihtqegm30t] {
    transform: rotate(90deg);
}

.intake-ack__body[b-ihtqegm30t] {
    padding: 14px 18px 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* ── Rule empty state from the approved hierarchy ───────────────────── */
.intake-rule-empty[b-ihtqegm30t] {
    padding: 8px 0 4px;
}

/* ── Rule ordering control (rank number between up/down) ─────────────── */
.rule-rank[b-ihtqegm30t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 2px 0;
}

.rule-rank__num[b-ihtqegm30t] {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1;
    color: var(--mud-palette-text-secondary);
    padding: 1px 0;
}

.rule-rank[b-ihtqegm30t]  .rule-rank__btn {
    padding: 2px;
}

/* Small "When / Then" lead-in labels on a rule's description lines */
.intake-cond[b-ihtqegm30t] {
    display: inline-block;
    min-width: 2.6em;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: var(--mud-palette-text-secondary);
}

/* ── Webhook URL field: truncates cleanly, actions pinned at the end ─── */
.webhook-url[b-ihtqegm30t] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.webhook-url__text[b-ihtqegm30t] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    padding: 5px 10px;
    border-radius: 6px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
}

.webhook-url__actions[b-ihtqegm30t] {
    flex: 0 0 auto;
    display: flex;
}

/* ── Example payload, shown once under the sources ──────────────────── */
.payload-ref[b-ihtqegm30t] {
    margin-top: 12px;
    padding: 12px;
    border-radius: 10px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
}

.payload-ref__label[b-ihtqegm30t] {
    display: block;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 6px;
}

.payload-ref__code[b-ihtqegm30t] {
    margin: 0;
    font-size: 0.75rem;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--mud-palette-text-primary);
}

/* ── Editable acknowledgment and sample ────────────────────────────── */
.ack-token-list[b-ihtqegm30t]  .mud-chip {
    cursor: pointer;
}

.ack-preview[b-ihtqegm30t] {
    padding: 12px;
    border-radius: 10px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
}

.ack-preview__body[b-ihtqegm30t] {
    margin: 4px 0 0;
    white-space: pre-wrap;
    word-break: break-word;
    font: inherit;
    color: var(--mud-palette-text-primary);
}

/* ── Empty states ───────────────────────────────────────────────────── */
.intake-empty[b-ihtqegm30t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
    padding: 24px 16px;
}

.intake-empty[b-ihtqegm30t]  .intake-empty__icon {
    color: var(--mud-palette-text-disabled);
    width: 32px;
    height: 32px;
    margin-bottom: 4px;
}

@media (max-width: 599px) {
    .intake-card-head[b-ihtqegm30t] {
        flex-direction: column;
        gap: 12px;
    }

    .intake-card-actions[b-ihtqegm30t] {
        width: 100%;
        flex-wrap: wrap;
    }

    .intake-card-actions[b-ihtqegm30t]  .mud-button-root {
        flex: 1 1 150px;
    }

    .intake-ack__summary[b-ihtqegm30t] {
        align-items: flex-start;
        padding: 12px 14px;
    }

    .intake-ack__body[b-ihtqegm30t] {
        padding: 14px;
    }
}
/* /Components/Pages/Settings/Integrations/Catalog.razor.rz.scp.css */
/* The feature strip's app.css layout is flex with grow, which made tile
   widths jump between rows (an orphan tile stretched full width). A
   fixed-basis wrapping grid keeps every tile the same width; gap and
   margin still come from the app.css rule. */
.integration-feature-strip[b-fl0sduraoc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
/* /Components/Pages/Settings/Integrations/GoogleWorkspace.razor.rz.scp.css */
/* "What this powers" rows: icon + link + em-dash description on one line
   (replacing the d-flex utilities). Below 600px the description drops to
   its own full-width line so labels stop breaking mid-word and the
   descriptions share one left edge. Kept in sync with
   Microsoft365.razor.css. */

/* SettingsShell's .settings-content wrapper supplies no gap, so stack the
   page's top-level blocks at the standard card gap (UI_STYLE_GUIDE "Card
   spacing & alignment"). */
.settings-content > * + *[b-ca27cdldnr] {
    margin-top: var(--cw-card-gap);
}

.powers-list[b-ca27cdldnr] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.powers-item[b-ca27cdldnr] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.registration-steps[b-ca27cdldnr] {
    margin: 0;
    padding-left: 1.35rem;
}

.registration-steps > li[b-ca27cdldnr] {
    margin-bottom: 16px;
    padding-left: 4px;
}

.registration-steps > li:last-child[b-ca27cdldnr] {
    margin-bottom: 0;
}

.registration-scopes[b-ca27cdldnr] {
    margin: 8px 0;
    padding-left: 1.2rem;
}

.registration-scopes li[b-ca27cdldnr] {
    margin: 4px 0;
}

@media (max-width: 600px) {
    .powers-item[b-ca27cdldnr] {
        flex-wrap: wrap;
        row-gap: 2px;
    }

    .powers-item[b-ca27cdldnr]  .mud-typography-body2 {
        flex-basis: 100%;
    }
}
/* /Components/Pages/Settings/Integrations/LevelWorkspace.razor.rz.scp.css */
/* The Reading / Listening / Doing rows share one geometry: an icon on the far
   left, then a content column that carries a header line (row name left, state
   chip right) above its sentences and inline management. The content column
   grows to full width so the header's chip sits flush right on every row and
   stays put when an inline panel expands below it. */

.level-row-main[b-n2zt6panm8] {
    flex: 1 1 auto;
    min-width: 0;
}

.level-row-header[b-n2zt6panm8] {
    width: 100%;
}

.level-key-masked[b-n2zt6panm8] {
    font-family: var(--cw-font-mono);
    overflow-wrap: anywhere;
}
/* /Components/Pages/Settings/Integrations/Microsoft365.razor.rz.scp.css */
/* "What this powers" rows: icon + link + em-dash description on one line
   (replacing the d-flex utilities). Below 600px the description drops to
   its own full-width line so labels stop breaking mid-word and the
   descriptions share one left edge. Kept in sync with
   GoogleWorkspace.razor.css. */

/* SettingsShell's .settings-content wrapper supplies no gap, so stack the
   page's top-level blocks at the standard card gap (UI_STYLE_GUIDE "Card
   spacing & alignment"). */
.settings-content > * + *[b-wn14pf6brl] {
    margin-top: var(--cw-card-gap);
}

.powers-list[b-wn14pf6brl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.powers-item[b-wn14pf6brl] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.registration-steps[b-wn14pf6brl] {
    margin: 0;
    padding-left: 1.35rem;
}

.registration-steps > li[b-wn14pf6brl] {
    margin-bottom: 16px;
    padding-left: 4px;
}

.registration-steps > li:last-child[b-wn14pf6brl] {
    margin-bottom: 0;
}

.registration-scopes[b-wn14pf6brl] {
    margin: 8px 0;
    padding-left: 1.2rem;
}

.registration-scopes li[b-wn14pf6brl] {
    margin: 4px 0;
}

@media (max-width: 600px) {
    .powers-item[b-wn14pf6brl] {
        flex-wrap: wrap;
        row-gap: 2px;
    }

    .powers-item[b-wn14pf6brl]  .mud-typography-body2 {
        flex-basis: 100%;
    }
}
/* /Components/Pages/Settings/Integrations/Zoom.razor.rz.scp.css */
/* The "How to create the Zoom app" guide mirrors the M365/Google setup
   guides — same step-list spacing (see Microsoft365.razor.css). */

.registration-steps[b-nujkv9fd9n] {
    margin: 0;
    padding-left: 1.35rem;
}

.registration-steps > li[b-nujkv9fd9n] {
    margin-bottom: 16px;
    padding-left: 4px;
}

.registration-steps > li:last-child[b-nujkv9fd9n] {
    margin-bottom: 0;
}
/* /Components/Pages/Settings/Ops.razor.rz.scp.css */
/* Both ops tables sit flush inside a surface-card, so instead of wrapping
   them in the global .data-grid-container (which would double-border the
   card) we mirror its head/row/hover values here — same numbers as app.css. */

.ops-table[b-5vqxjpod5b]  thead th {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%) !important;
    color: var(--mud-palette-text-secondary) !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%) !important;
}

.ops-table[b-5vqxjpod5b]  tbody td {
    padding: 10px 16px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.ops-table[b-5vqxjpod5b]  tbody tr:hover td {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

/* Phone: three columns can't share 390px (Cadence clips mid-word, "What"
   wraps letter-per-line), so each row stacks: headline line first, the
   remaining cells flow beneath it. */
@media (max-width: 600px) {
    .ops-table[b-5vqxjpod5b]  table,
    .ops-table[b-5vqxjpod5b]  tbody {
        display: block;
        width: 100%;
    }

    .ops-table[b-5vqxjpod5b]  thead {
        display: none;
    }

    .ops-table[b-5vqxjpod5b]  tbody tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 10px;
        row-gap: 2px;
        padding: 10px 0;
        border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
    }

    .ops-table[b-5vqxjpod5b]  tbody td {
        display: block;
        width: auto !important;
        min-width: 0;
        padding: 0;
        border-bottom: 0 !important;
    }

    /* Sweeps: name on its own line, then "last run" chip + cadence. */
    .ops-table--sweeps[b-5vqxjpod5b]  tbody td:first-child {
        flex: 1 1 100%;
        font-weight: 600;
    }

    /* Errors: age + host chip inline, the message gets the full width. */
    .ops-table--errors[b-5vqxjpod5b]  tbody td:last-child {
        flex: 1 1 100%;
        padding-top: 2px;
    }
}
/* /Components/Pages/Settings/PortalAnnouncements.razor.rz.scp.css */
/* Announcement card row: chips + title + meta on the left, action icons on
   the right (mirrors the MudStack layout it replaced). Below 600px the card
   restacks — chips row, then the title on its own full-width line, then body
   and meta, then a right-aligned action row — instead of squeezing the text
   into a sliver beside the icons. */

.pa-row[b-lt979ce2zu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.pa-main[b-lt979ce2zu] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pa-head[b-lt979ce2zu] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    row-gap: 4px;
}

.pa-title[b-lt979ce2zu] {
    min-width: 0;
}

.pa-actions[b-lt979ce2zu] {
    display: flex;
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .pa-row[b-lt979ce2zu] {
        flex-direction: column;
        align-items: stretch;
    }

    /* In column direction the grow/basis pair would size by free space —
       let the text block take its natural height. */
    .pa-main[b-lt979ce2zu] {
        flex: 0 0 auto;
    }

    /* Chips stay together on the first line; the title takes the next. */
    .pa-title[b-lt979ce2zu] {
        order: 10;
        flex-basis: 100%;
    }

    .pa-actions[b-lt979ce2zu] {
        justify-content: flex-end;
    }
}
/* /Components/Pages/Settings/ScheduleTypesSettings.razor.rz.scp.css */
/* Row action icons stay side by side; the cell never stacks them. */
.st-actions[b-g19elpkgrm] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 2px;
    white-space: nowrap;
}

/* Color budget: routine delete icons ride the default ink and only turn
   red on hover (the confirm dialog carries the destructive warning). */
.st-actions[b-g19elpkgrm]  .st-delete:hover {
    color: var(--mud-palette-error);
}
/* /Components/Pages/Settings/ServiceDesk.razor.rz.scp.css */
/* Inter-card spacing comes from this container gap, never card margins
   (UI_STYLE_GUIDE.md "Card spacing & alignment"). */
.settings-cards[b-1crfcptjf1] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}
/* /Components/Pages/Settings/SettingsShell.razor.rz.scp.css */
.settings-content[b-yoa52ej94f] {
    min-width: 0;
}
/* /Components/Pages/Settings/SignIn.razor.rz.scp.css */
/* Inter-card spacing comes from this container gap, never card margins
   (UI_STYLE_GUIDE.md "Card spacing & alignment"). */
.settings-cards[b-352350griq] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}

/* Provider cards stretch to equal height inside their MudGrid row. */
.signin-provider-card[b-352350griq] {
    height: 100%;
}
/* /Components/Pages/Settings/TravelSettings.razor.rz.scp.css */
/* Preset buttons wrap on narrow screens rather than overflowing the card. */
.tv-presets[b-e3hhlbzgsb] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Components/Pages/Settings/Users/Details.razor.rz.scp.css */
.member-detail-grid[b-bv1q6k1gkl] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--cw-card-gap);
}

.member-section[b-bv1q6k1gkl] {
    min-width: 0;
}

.member-section--wide[b-bv1q6k1gkl] {
    grid-column: 1 / -1;
}

.security-methods[b-bv1q6k1gkl] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.detail-method-badge[b-bv1q6k1gkl] {
    display: inline-flex;
    padding: 5px 9px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 650;
}

.detail-method-badge--warning[b-bv1q6k1gkl] {
    border-color: color-mix(in oklab, var(--mud-palette-warning), transparent 55%);
    color: var(--mud-palette-warning-darken);
}

.member-action-list[b-bv1q6k1gkl] {
    display: flex;
    flex-direction: column;
}

.member-action-row[b-bv1q6k1gkl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* The description shrinks and wraps; action buttons never break mid-word. */
.member-action-row > div:first-child[b-bv1q6k1gkl] {
    min-width: 0;
}

.member-action-row[b-bv1q6k1gkl]  .mud-button-root {
    flex-shrink: 0;
    white-space: nowrap;
}

.member-action-row:first-child[b-bv1q6k1gkl] {
    padding-top: 0;
    border-top: 0;
}

.member-signature-preview[b-bv1q6k1gkl] {
    margin: 0;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    color: var(--mud-palette-text-secondary);
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 40%);
    font: inherit;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

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

    .member-section--wide[b-bv1q6k1gkl] {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    .member-action-row[b-bv1q6k1gkl] {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .member-action-row[b-bv1q6k1gkl]  .mud-button-root {
        width: 100%;
    }
}
/* /Components/Pages/Settings/Users/List.razor.rz.scp.css */
.user-command-bar[b-cikd2a6cjb] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

.user-search[b-cikd2a6cjb] {
    flex: 1 1 320px;
    min-width: 220px;
}

.user-filters[b-cikd2a6cjb] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-filter[b-cikd2a6cjb] {
    width: 150px;
}

.users-grid[b-cikd2a6cjb] {
    /* The roster is min-content wide; if a width still can't fit it,
       scroll instead of clipping (the global container hides overflow). */
    overflow-x: auto;
}

.users-grid[b-cikd2a6cjb]  .mud-table-head .mud-table-cell {
    white-space: nowrap;
}

/* Tighter cell gutters so all six columns fit inside the card at 768+. */
.users-grid[b-cikd2a6cjb]  .mud-table-root .mud-table-cell {
    padding-inline: 8px;
}

.users-grid[b-cikd2a6cjb]  .mud-table-root .mud-table-cell:first-child {
    padding-inline-start: 16px;
}

.users-grid[b-cikd2a6cjb]  .mud-table-root .mud-table-cell:last-child {
    padding-inline: 4px;
}

.users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell {
    padding-top: 12px;
    padding-bottom: 12px;
    vertical-align: middle;
}

.user-identity[b-cikd2a6cjb] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.user-avatar[b-cikd2a6cjb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-primary), var(--mud-palette-surface) 86%);
    color: var(--mud-palette-primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.user-identity-copy[b-cikd2a6cjb],
.user-security[b-cikd2a6cjb] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.user-display-name[b-cikd2a6cjb],
.user-role[b-cikd2a6cjb],
.user-last-login[b-cikd2a6cjb] {
    display: block;
    color: var(--mud-palette-text-primary);
    font-size: 0.8125rem;
    font-weight: 650;
    line-height: 1.4;
}

.user-login[b-cikd2a6cjb],
.user-email[b-cikd2a6cjb],
.user-cell-secondary[b-cikd2a6cjb] {
    display: block;
    max-width: 28ch;
    overflow: hidden;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-identity-copy[b-cikd2a6cjb]  .mud-chip {
    align-self: flex-start;
    height: 22px;
    margin-top: 3px;
}

.signin-badges[b-cikd2a6cjb] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    max-width: 360px;
}

.signin-badge[b-cikd2a6cjb] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 7px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 650;
    line-height: 1.2;
}

.signin-badge--secure[b-cikd2a6cjb] {
    border-color: color-mix(in oklab, var(--mud-palette-success), transparent 55%);
    color: var(--mud-palette-success);
}

.signin-badge--warning[b-cikd2a6cjb] {
    border-color: color-mix(in oklab, var(--mud-palette-warning), transparent 55%);
    color: var(--mud-palette-warning-darken);
}

.signin-badge[b-cikd2a6cjb]  .mud-icon-root {
    font-size: 0.9rem;
}

.team-tabs[b-cikd2a6cjb]  .mud-tabs-panels {
    background: transparent;
}

.invitation-row[b-cikd2a6cjb] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 6px 2px;
}

.invitation-actions[b-cikd2a6cjb] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.team-empty-state[b-cikd2a6cjb] {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
}

.user-status-control[b-cikd2a6cjb] {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.user-empty[b-cikd2a6cjb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 32px 16px;
}

@media (max-width: 800px) {
    .user-command-bar[b-cikd2a6cjb] {
        align-items: stretch;
        flex-direction: column;
    }

    .user-search[b-cikd2a6cjb] {
        flex: 0 0 auto;
        min-width: 0;
        width: 100%;
    }

    .user-filters[b-cikd2a6cjb] {
        width: 100%;
    }

    .user-filter[b-cikd2a6cjb] {
        flex: 1 1 0;
        width: auto;
    }
}

@media (max-width: 600px) {
    /* MudBlazor's stacked xs mode keeps <tr> as display:table-row, so row
       padding is ignored and long values spill past the card edge. Block-ify
       the whole chain so the stacked flex cells lay out inside the card. */
    .users-grid[b-cikd2a6cjb]  .mud-table-root,
    .users-grid[b-cikd2a6cjb]  .mud-table-body {
        display: block;
        width: 100%;
    }

    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-row {
        position: relative;
        display: block;
        padding: 8px 12px;
        border-bottom: 1px solid var(--mud-palette-lines-default);
    }

    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell {
        min-width: 0;
        min-height: 38px;
        flex-wrap: wrap;
        justify-content: flex-end;
        column-gap: 12px;
        padding: 8px 0;
        border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 50%);
    }

    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell::before {
        flex: 0 0 96px;
        width: 96px;
        margin-right: auto;
        color: var(--mud-palette-text-secondary);
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell:first-child {
        justify-content: flex-start;
        padding-left: 0;
        padding-right: 44px; /* keep the identity clear of the chevron */
    }

    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell:first-child::before,
    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell:last-child::before {
        display: none;
    }

    /* Last visible stacked cell (the chevron cell is absolute): don't stack
       a faint divider right above the row border. */
    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell:nth-last-child(2) {
        border-bottom: 0;
    }

    .users-grid[b-cikd2a6cjb]  .mud-table-body .mud-table-cell:last-child {
        position: absolute;
        top: 8px;
        right: 6px;
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .user-identity[b-cikd2a6cjb] {
        min-width: 0;
    }

    .user-email[b-cikd2a6cjb],
    .user-login[b-cikd2a6cjb],
    .user-cell-secondary[b-cikd2a6cjb] {
        max-width: 100%;
    }

    .signin-badges[b-cikd2a6cjb] {
        max-width: none;
        justify-content: flex-end;
    }

    .invitation-row[b-cikd2a6cjb] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .invitation-actions[b-cikd2a6cjb] {
        width: 100%;
        padding-left: 32px;
    }
}

@media (max-width: 420px) {
    .user-filters[b-cikd2a6cjb] {
        align-items: stretch;
        flex-direction: column;
    }
}
/* /Components/Pages/Settings/Workspaces.razor.rz.scp.css */
/* Inter-card spacing comes from this container gap, never card margins
   (UI_STYLE_GUIDE.md "Card spacing & alignment"). */
.settings-cards[b-tfnn1sle43] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}
/* /Components/Pages/Settings/WorkTypesSettings.razor.rz.scp.css */
/* Row action icons stay side by side; the cell never stacks them. */
.wt-actions[b-tmfz1gjmtp] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 2px;
    white-space: nowrap;
}

/* Color budget: routine delete icons ride the default ink and only turn
   red on hover (the confirm dialog carries the destructive warning). */
.wt-actions[b-tmfz1gjmtp]  .wt-delete:hover {
    color: var(--mud-palette-error);
}

/* Internal-time categories: chips wrap freely; the add row caps its width so
   the input doesn't stretch the full card. */
.wt-cat-chips[b-tmfz1gjmtp] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wt-cat-add[b-tmfz1gjmtp] {
    max-width: 420px;
}
/* /Components/Pages/Setup/SetupWizard.razor.rz.scp.css */
.setup-wizard[b-cbqflcyhdn] {
    min-height: 100dvh;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
}

.setup-wizard[b-cbqflcyhdn]  .setup-shell {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

.setup-wizard[b-cbqflcyhdn]  .setup-top {
    min-height: 57px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 26px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    background: var(--mud-palette-surface);
}

.setup-wizard[b-cbqflcyhdn]  .setup-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--mud-palette-text-primary);
    font-family: var(--cw-font-display);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}

.setup-wizard[b-cbqflcyhdn]  .setup-brand svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: var(--mud-palette-text-primary);
    stroke-width: 7;
    stroke-linecap: round;
}

.setup-wizard[b-cbqflcyhdn]  .setup-brand .setup-brand-curl {
    stroke: #de8b4a;
}

.setup-wizard[b-cbqflcyhdn]  .setup-top-spacer,
.setup-wizard[b-cbqflcyhdn]  .setup-progress-spacer,
.setup-wizard[b-cbqflcyhdn]  .setup-foot-spacer {
    flex: 1;
}

.setup-wizard[b-cbqflcyhdn]  .setup-signed-in,
.setup-wizard[b-cbqflcyhdn]  .setup-progress-count,
.setup-wizard[b-cbqflcyhdn]  .setup-foot-note {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.5;
}

.setup-wizard[b-cbqflcyhdn]  .setup-main {
    flex: 1;
    display: grid;
    place-items: start center;
    min-width: 0;
    padding: 30px 24px 46px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-column {
    width: min(740px, 100%);
    max-width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-column--wide {
    width: min(960px, 100%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-progress {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.setup-wizard[b-cbqflcyhdn]  .setup-step-pill {
    padding: 4px 11px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    font-size: 0.75rem;
    font-weight: 650;
    white-space: nowrap;
}

.setup-wizard[b-cbqflcyhdn]  .setup-step-pill--current {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-step-pill--done {
    border-color: color-mix(in oklab, var(--mud-palette-success), transparent 55%);
    color: var(--mud-palette-success);
}

.setup-wizard[b-cbqflcyhdn]  .setup-why {
    padding: 10px 14px;
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: 0 10px 10px 0;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
    font-size: 0.84rem;
    line-height: 1.55;
}

.setup-wizard[b-cbqflcyhdn]  .setup-card {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--cw-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: 0 18px 44px -36px rgba(38, 32, 26, 0.48);
}

.setup-wizard[b-cbqflcyhdn]  .setup-card-head {
    padding: 18px 22px 5px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-card-head h1,
.setup-wizard[b-cbqflcyhdn]  .setup-complete-card h1 {
    margin: 0;
    color: var(--mud-palette-text-primary);
    font-size: 1.08rem;
    font-weight: 750;
    letter-spacing: -0.01em;
    line-height: 1.3;
}

.setup-wizard[b-cbqflcyhdn]  .setup-card-head p {
    margin: 3px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-card-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 8px 22px 16px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-card-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 4px 22px 18px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-card-foot .mud-button-root {
    min-height: 38px;
    text-transform: none;
}

.setup-wizard[b-cbqflcyhdn]  .setup-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-field-error {
    display: flex;
    gap: 6px;
    align-items: baseline;
    color: var(--mud-palette-error);
    font-size: 0.78rem;
    font-weight: 550;
}

.setup-wizard[b-cbqflcyhdn]  .setup-field-error::before {
    content: "⚠";
    font-size: 0.72rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-alert {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    font-size: 0.8rem;
    line-height: 1.5;
}

.setup-wizard[b-cbqflcyhdn]  .setup-alert--error {
    border-color: color-mix(in oklab, var(--mud-palette-error), transparent 55%);
    color: var(--mud-palette-error);
    background: color-mix(in oklab, var(--mud-palette-error), transparent 94%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-alert--success {
    border-color: color-mix(in oklab, var(--mud-palette-success), transparent 55%);
    color: var(--mud-palette-success);
    background: color-mix(in oklab, var(--mud-palette-success), transparent 94%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-alert--warning {
    border-color: color-mix(in oklab, var(--mud-palette-warning), transparent 55%);
    color: var(--mud-palette-warning-darken);
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 93%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-alert--info {
    border-color: color-mix(in oklab, var(--mud-palette-info), transparent 58%);
    color: var(--mud-palette-text-primary);
    background: color-mix(in oklab, var(--mud-palette-info), transparent 94%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-option {
    width: 100%;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-surface);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.setup-wizard[b-cbqflcyhdn]  .setup-option:hover,
.setup-wizard[b-cbqflcyhdn]  .setup-option:focus-visible {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-option:focus-visible,
.setup-wizard[b-cbqflcyhdn]  .setup-provider-link:focus-visible {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), transparent 35%);
    outline-offset: 2px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-option--selected {
    border-color: var(--mud-palette-primary);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 94%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-option-radio {
    width: 16px;
    height: 16px;
    flex: none;
    margin-top: 2px;
    border: 2px solid var(--mud-palette-lines-default);
    border-radius: 999px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-option--selected .setup-option-radio {
    border-color: var(--mud-palette-primary);
    background: radial-gradient(circle, var(--mud-palette-primary) 0 4px, transparent 5px);
}

.setup-wizard[b-cbqflcyhdn]  .setup-option > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-option b {
    font-size: 0.84rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-option small {
    color: var(--mud-palette-text-secondary);
    font-size: 0.77rem;
    line-height: 1.45;
}

.setup-wizard[b-cbqflcyhdn]  .setup-section-label {
    margin-top: 2px;
    color: var(--mud-palette-text-secondary);
    font-size: var(--cw-label-size);
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.setup-wizard[b-cbqflcyhdn]  .setup-team-single {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 10px;
    align-items: end;
}

.setup-wizard[b-cbqflcyhdn]  .setup-team-single > .mud-button-root {
    justify-self: start;
}

.setup-wizard[b-cbqflcyhdn]  .setup-role-note {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.76rem;
    line-height: 1.5;
}

.setup-wizard[b-cbqflcyhdn]  .setup-inline-actions,
.setup-wizard[b-cbqflcyhdn]  .setup-provider-actions,
.setup-wizard[b-cbqflcyhdn]  .setup-email-action,
.setup-wizard[b-cbqflcyhdn]  .setup-complete-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.setup-wizard[b-cbqflcyhdn]  .setup-provider-link {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-primary), var(--mud-palette-lines-default) 60%);
    border-radius: 9px;
    color: var(--mud-palette-primary);
    background: var(--mud-palette-surface);
    font-size: 0.8rem;
    font-weight: 650;
    text-decoration: none;
}

.setup-wizard[b-cbqflcyhdn]  .setup-provider-link:hover {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 94%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-paste-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-paste-table {
    width: 100%;
    min-width: 650px;
    border-collapse: collapse;
    font-size: 0.75rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-paste-table th {
    padding: 8px 10px;
    color: var(--mud-palette-text-secondary);
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    font-size: 0.66rem;
    font-weight: 650;
    letter-spacing: 0.06em;
    text-align: left;
    text-transform: uppercase;
}

.setup-wizard[b-cbqflcyhdn]  .setup-paste-table td {
    padding: 9px 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 42%);
    vertical-align: top;
}

.setup-wizard[b-cbqflcyhdn]  .setup-row-state {
    display: inline-flex;
    line-height: 1.4;
}

.setup-wizard[b-cbqflcyhdn]  .setup-row-state--ready {
    color: var(--mud-palette-success);
    font-weight: 650;
}

.setup-wizard[b-cbqflcyhdn]  .setup-row-state--needsfix {
    color: var(--mud-palette-error);
}

.setup-wizard[b-cbqflcyhdn]  .setup-row-state--duplicate {
    color: var(--mud-palette-warning-darken);
}

.setup-wizard[b-cbqflcyhdn]  .setup-bulk-failure {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 9px 11px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 9px;
    font-size: 0.76rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-bulk-failure span {
    color: var(--mud-palette-text-secondary);
}

.setup-wizard[b-cbqflcyhdn]  .setup-modules-grid,
.setup-wizard[b-cbqflcyhdn]  .setup-complete-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 246px;
    min-width: 0;
    gap: 20px;
    align-items: start;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-list {
    min-width: 0;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 42%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-row:first-child {
    padding-top: 2px;
    border-top: 0;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-row > div:first-child {
    flex: 1;
    min-width: 0;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-row b {
    display: block;
    font-size: 0.84rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-row small {
    display: block;
    margin-top: 2px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.74rem;
    line-height: 1.45;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-row--stacked {
    align-items: flex-start;
    flex-direction: column;
}

.setup-wizard[b-cbqflcyhdn]  .setup-module-switches {
    display: flex;
    gap: 8px 16px;
    flex-wrap: wrap;
}

.setup-wizard[b-cbqflcyhdn]  .setup-chip {
    display: inline-flex;
    margin-left: 5px;
    padding: 2px 7px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.64rem;
    font-weight: 650;
    vertical-align: middle;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-preview {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 246px;
    min-height: 520px;
    border-radius: var(--cw-radius-card);
    color: var(--cw-chalk);
    background:
        radial-gradient(360px 240px at -10% 110%, rgba(222, 139, 74, 0.13), transparent 65%),
        linear-gradient(160deg, #26201a 0%, #201a14 62%, #2b2115 100%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-brand {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 15px 16px 11px;
    color: var(--cw-chalk-bright);
    font-family: var(--cw-font-display);
    font-weight: 600;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-brand svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: var(--cw-chalk);
    stroke-width: 7;
    stroke-linecap: round;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-brand .setup-rail-curl {
    stroke: #de8b4a;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px 0;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-group > span {
    padding: 5px 6px 3px;
    color: var(--cw-chalk-dim);
    font-size: 0.64rem;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-group > b {
    padding: 6px 9px;
    border-radius: 8px;
    color: rgba(237, 229, 214, 0.92);
    font-size: 0.75rem;
    font-weight: 550;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-group:first-of-type > b:first-of-type {
    color: var(--cw-chalk-bright);
    background: rgba(237, 229, 214, 0.11);
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-note {
    margin: 12px 10px;
    padding: 9px 11px;
    border: 1px dashed rgba(237, 229, 214, 0.3);
    border-radius: 9px;
    color: var(--cw-chalk-dim);
    font-size: 0.7rem;
    line-height: 1.45;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-bottom {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: auto;
    padding: 12px 16px 16px;
    border-top: 1px solid rgba(237, 229, 214, 0.12);
    font-size: 0.75rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-rail-bottom span {
    overflow: hidden;
    color: var(--cw-chalk-dim);
    font-size: 0.68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.setup-wizard[b-cbqflcyhdn]  .setup-complete-card .setup-card-body {
    gap: 14px;
    padding: 26px 24px;
}

.setup-wizard[b-cbqflcyhdn]  .setup-complete-card h1 {
    font-size: 1.35rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-complete-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--mud-palette-success);
    background: color-mix(in oklab, var(--mud-palette-success), transparent 88%);
}

.setup-wizard[b-cbqflcyhdn]  .setup-summary {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 0.84rem;
}

.setup-wizard[b-cbqflcyhdn]  .setup-summary small {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.setup-loading[b-cbqflcyhdn] {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--mud-palette-text-secondary);
}

.setup-loading--error[b-cbqflcyhdn] {
    color: var(--mud-palette-error);
}

@media (max-width: 900px) {
    .setup-wizard[b-cbqflcyhdn]  .setup-modules-grid,
    .setup-wizard[b-cbqflcyhdn]  .setup-complete-grid {
        grid-template-columns: 1fr;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-rail-preview {
        width: 100%;
        min-height: 0;
    }
}

@media (max-width: 620px) {
    .setup-wizard[b-cbqflcyhdn]  .setup-top {
        padding: 11px 16px;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-signed-in {
        max-width: 46vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-main {
        padding: 18px 14px 32px;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-progress {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-progress-spacer {
        display: none;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-progress-count {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-card-head {
        padding: 16px 16px 5px;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-card-body {
        padding: 8px 16px 14px;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-card-foot {
        align-items: stretch;
        flex-direction: column;
        padding: 4px 16px 16px;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-card-foot .mud-button-root {
        width: 100%;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-foot-spacer {
        display: none;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-team-single {
        grid-template-columns: 1fr;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-inline-actions,
    .setup-wizard[b-cbqflcyhdn]  .setup-provider-actions,
    .setup-wizard[b-cbqflcyhdn]  .setup-email-action {
        align-items: stretch;
        flex-direction: column;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-provider-link {
        justify-content: center;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-module-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .setup-wizard[b-cbqflcyhdn]  .setup-module-switches {
        flex-direction: column;
        gap: 0;
    }
}
/* /Components/Pages/Tickets/AlertBurstBanner.razor.rz.scp.css */
.alert-burst[b-ev4qgwfoqi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-block: 1px solid color-mix(in oklab, var(--mud-palette-warning), transparent 62%);
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 93%);
}

.alert-burst__message[b-ev4qgwfoqi],
.alert-burst__actions[b-ev4qgwfoqi] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.alert-burst__message[b-ev4qgwfoqi]  .mud-icon-root {
    color: var(--mud-palette-warning-darken);
}

@media (max-width: 959px) {
    .alert-burst[b-ev4qgwfoqi] {
        align-items: flex-start;
        flex-direction: column;
    }

    .alert-burst__actions[b-ev4qgwfoqi] {
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Tickets/AlertGroupHeader.razor.rz.scp.css */
.alert-group[b-buh9wqbifg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 3.25rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
}

.alert-group__toggle[b-buh9wqbifg],
.alert-group__actions[b-buh9wqbifg] {
    display: flex;
    align-items: center;
}

.alert-group__toggle[b-buh9wqbifg] {
    min-width: 0;
    gap: 0.45rem;
    border: 0;
    padding: 0.25rem;
    color: var(--mud-palette-text-primary);
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.alert-group__title[b-buh9wqbifg] {
    font-weight: 650;
}

.alert-group__caret[b-buh9wqbifg] {
    width: 10px;
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
    font-size: 0.625rem;
}

.alert-group__plug[b-buh9wqbifg] {
    font-size: 0.95rem;
    color: var(--mud-palette-secondary);
}

.alert-group__meta[b-buh9wqbifg] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.alert-group__actions[b-buh9wqbifg] {
    flex: 0 0 auto;
}

@media (max-width: 700px) {
    .alert-group[b-buh9wqbifg] {
        align-items: flex-start;
        flex-direction: column;
    }

    .alert-group__toggle[b-buh9wqbifg] {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}
/* /Components/Pages/Tickets/Details.razor.rz.scp.css */
.ticket-detail[b-ryi0tmd92y] {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
}

.ticket-breadcrumb[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
}

.ticket-breadcrumb-sep[b-ryi0tmd92y] {
    opacity: 0.7;
    padding: 0 2px;
}

.ticket-breadcrumb-id[b-ryi0tmd92y] {
    font-family: var(--cw-font-mono);
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.ticket-group-banner[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0;
    padding: 9px 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-primary), transparent 72%);
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 94%);
}

.ticket-group-banner-copy[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.ticket-group-banner-copy[b-ryi0tmd92y]  .mud-link {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 650;
}

.ticket-detail-grid[b-ryi0tmd92y] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

@media (max-width: 959.98px) {
    .ticket-detail-grid[b-ryi0tmd92y] {
        /* minmax(0, …), not plain 1fr: a bare 1fr track is minmax(auto, 1fr),
           so any wide min-content child expands it past the viewport and the
           whole page scrolls sideways at narrow widths. */
        grid-template-columns: minmax(0, 1fr);
    }
}

/* MudPaper renders outside CSS isolation scope: use ::deep and scope it under a wrapper. */
.ticket-detail[b-ryi0tmd92y]  .ticket-main,
.ticket-detail[b-ryi0tmd92y]  .ticket-side-card {
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

/* Keep buttons in this view human-readable (not all-caps). */
.ticket-detail[b-ryi0tmd92y]  .mud-button-root {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.ticket-main-header[b-ryi0tmd92y] {
    padding: 22px 24px 18px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.ticket-main-header-top[b-ryi0tmd92y] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ticket-main-title[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: wrap;
}

/* MudText renders outside isolation scope, so target via ::deep */
.ticket-detail[b-ryi0tmd92y]  .ticket-main-subject {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.ticket-main-actions[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 6px;
    /* When the subject squeezes the cluster, whole buttons flow to the next
       row — a label must never break in two with an orphaned icon. */
    flex-wrap: wrap;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-main-actions .mud-button-text,
.ticket-detail[b-ryi0tmd92y]  .ticket-main-actions .mud-button-outlined {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 650 !important;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-main-actions .mud-button-text:hover,
.ticket-detail[b-ryi0tmd92y]  .ticket-main-actions .mud-button-outlined:hover {
    color: var(--mud-palette-text-primary);
}

/* The one filled button (Log time) keeps the solid palette primary — the
   shared label rule above must never wash it out (PARITY-2e round 1). */
.ticket-detail[b-ryi0tmd92y]  .ticket-main-actions .mud-button-filled {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 650 !important;
    white-space: nowrap;
}

.ticket-main-meta[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* SLA chip next to the status chip (Phase 7.4) — absent when healthy */
.ticket-sla-chip[b-ryi0tmd92y] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.7rem;
    font-weight: 750;
    white-space: nowrap;
}

.ticket-sla-chip--warn[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 86%);
    border-color: color-mix(in oklab, var(--mud-palette-warning), transparent 70%);
    color: color-mix(in oklab, var(--mud-palette-warning), black 22%);
}

.ticket-sla-chip--overdue[b-ryi0tmd92y] {
    background: color-mix(in oklab, #DC2626, transparent 88%);
    border-color: color-mix(in oklab, #DC2626, transparent 74%);
    color: #B91C1C;
}

.ticket-dot[b-ryi0tmd92y] {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--mud-palette-text-secondary);
    opacity: 0.45;
}

/* Tabs: keep the mockup's simple underline style */
.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tabs-tabbar {
    padding: 0 24px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tab {
    min-height: 46px;
    padding: 14px 0;
    margin-right: 22px;
    font-weight: 650;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--mud-palette-text-secondary);
}

/* The Tasks-tab count/dot: MudBlazor renders tab badges as an absolute overlay
   on a zero-width badge root, which spills into this strip's 22px tab gap and
   collides with the next tab's label. Make the badge a flow chip after the
   label instead — the root's built-in 8px inline margin then does its job. */
.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tab-badge {
    vertical-align: middle;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tab-badge .mud-badge-wrapper {
    position: static;
    width: auto;
    height: auto;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tab-badge .mud-badge {
    position: static;
    transform: none;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tab.mud-tab-active {
    color: var(--mud-palette-primary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tab:hover {
    color: var(--mud-palette-text-primary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-tabs .mud-tabs-panels {
    padding: 18px 24px 24px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 25%);
}

.ticket-tab-body[b-ryi0tmd92y] {
    min-height: 280px;
    display: flex;
    flex-direction: column;
}

.ticket-empty[b-ryi0tmd92y] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
    padding: 10px 0 4px;
}

/* Sidebar */
.ticket-sidebar[b-ryi0tmd92y] {
    display: flex;
    flex-direction: column;
    gap: var(--cw-card-gap);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-card {
    padding: var(--cw-card-pad);
}

/* ::deep so sidebar cards built as child components share the same title
   idiom — same reason .ticket-side-card above is ::deep. */
.ticket-detail[b-ryi0tmd92y]  .ticket-side-title {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 10px;
}

/* Quick actions (Status / Priority / Assignee) — the pickers live inside
   .ticket-statusbar since PARITY-2e; the old .ticket-qa wrapper is gone. */
.ticket-qa-grid[b-ryi0tmd92y] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 55%);
}

.ticket-qa-sla[b-ryi0tmd92y] {
    align-self: center;
    margin-left: auto;
}

.ticket-qa-field[b-ryi0tmd92y] {
    border: none;
    background: transparent;
    padding: 6px 10px;
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-radius: 10px;
}

.ticket-qa-field:focus-visible[b-ryi0tmd92y] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 2px;
}

.ticket-qa-label[b-ryi0tmd92y] {
    font-size: 0.625rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.ticket-qa-value[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.875rem;
    font-weight: 650;
    color: var(--mud-palette-text-primary);
}

.ticket-qa-value>span[b-ryi0tmd92y] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-qa-field:hover .ticket-qa-value[b-ryi0tmd92y] {
    color: var(--mud-palette-primary);
}

.ticket-priority-dot[b-ryi0tmd92y] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--ticket-priority-color, #6B7280);
    flex: 0 0 auto;
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--ticket-priority-color, #6B7280), transparent 86%);
}

.ticket-assignee-avatar[b-ryi0tmd92y] {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    font-weight: 800;
    background: color-mix(in oklab, var(--mud-palette-primary), white 78%);
    color: color-mix(in oklab, var(--mud-palette-primary), black 12%);
    flex: 0 0 auto;
}

@media (max-width: 599.98px) {
    .ticket-main-header[b-ryi0tmd92y] {
        padding: 18px 16px 14px;
    }

    .ticket-main-header-top[b-ryi0tmd92y] {
        flex-direction: column;
        align-items: stretch;
    }

    .ticket-main-actions[b-ryi0tmd92y] {
        flex-wrap: wrap;
    }

    .ticket-qa-grid[b-ryi0tmd92y] {
        flex-direction: column;
        gap: 12px;
    }

    .ticket-composer-footer[b-ryi0tmd92y] {
        flex-direction: column;
        align-items: stretch;
    }

    .ticket-composer-tools[b-ryi0tmd92y],
    .ticket-composer-send[b-ryi0tmd92y] {
        width: 100%;
        min-width: 0;
    }

    .ticket-composer-send[b-ryi0tmd92y] {
        align-items: stretch;
        justify-content: flex-start;
    }

    .ticket-log-chip-group[b-ryi0tmd92y] {
        width: 100%;
        min-width: 0;
    }

    .ticket-log-chip-group[b-ryi0tmd92y] >  .mud-tooltip-root {
        flex: 1;
        min-width: 0;
    }

    .ticket-log-chip-group .ticket-log-chip--main[b-ryi0tmd92y] {
        width: 100%;
        min-height: 40px;
        justify-content: center;
        white-space: normal;
    }

    .ticket-composer-send[b-ryi0tmd92y] >  .mud-tooltip-root {
        width: 100%;
    }

    .ticket-composer-send[b-ryi0tmd92y] >  .mud-tooltip-root .mud-button-root {
        width: 100%;
    }
}

/* Composer */
.ticket-detail[b-ryi0tmd92y]  .ticket-composer {
    padding: 14px;
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

.ticket-composer-tabs[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 10px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
    /* Phone widths: the modes flow onto extra rows as whole tabs (nowrap
       labels below) instead of wrapping inside a button. */
    flex-wrap: wrap;
}


.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input {
    margin: 0 !important;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input .mud-input {
    border-radius: 12px;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input .mud-input-outlined-border {
    border-radius: 12px;
    border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%) !important;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input textarea {
    padding: 12px 12px;
    font-size: 0.875rem;
    line-height: 1.55;
    min-height: 120px;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input--internal .mud-input-outlined-border {
    border-color: color-mix(in oklab, #F59E0B, transparent 45%) !important;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input--internal textarea {
    background: color-mix(in oklab, #F59E0B, transparent 92%);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input--side .mud-input-outlined-border {
    border-color: color-mix(in oklab, var(--mud-palette-secondary), transparent 45%) !important;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-input--side textarea {
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 94%);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-send-btn--side {
    background: var(--mud-palette-secondary) !important;
    color: var(--mud-palette-surface) !important;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-composer-subject {
    margin: 0 0 8px 0 !important;
}

.ticket-composer-thread-label[b-ryi0tmd92y] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.75rem;
    font-weight: 650;
    /* Steel pulled toward the ink so the small text clears 4.5:1 on the
       tinted grounds in both themes. */
    color: color-mix(in oklab, var(--mud-palette-secondary), var(--mud-palette-text-primary) 30%);
    white-space: nowrap;
    overflow: hidden;
    max-width: 260px;
    min-width: 0;
}

/* text-overflow can't ellipsize the anonymous text inside a flex container —
   the subject needs its own shrinkable span or it clips mid-glyph. Shared by
   the composer "Continuing:" label and the timeline thread label. */
.ticket-thread-text[b-ryi0tmd92y] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-composer-audience[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 8px;
    min-height: 32px;
}

.ticket-side-thread-picker[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
    padding: 6px 8px;
    border-radius: 9px;
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 95%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.ticket-signature-controls[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    color: var(--mud-palette-text-secondary);
}

.ticket-composer-footer[b-ryi0tmd92y] {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ticket-composer-tools[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
}

/* ── AI triage suggestion (Phase 10.3) ───────────────────────────────── */

.ticket-triage-suggestion[b-ryi0tmd92y] {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--mud-palette-lines-default);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ticket-triage-suggestion-chips[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.ticket-triage-suggestion-rationale[b-ryi0tmd92y] {
    font-size: 0.875rem;
    font-style: italic;
}

/* ── AI assists (Phase 10.2) ─────────────────────────────────────────── */

.ticket-ai-strip[b-ryi0tmd92y],
.ticket-ai-proposal[b-ryi0tmd92y] {
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    border-radius: 12px;
    padding: 10px 14px;
}

.ticket-ai-strip[b-ryi0tmd92y] {
    margin-bottom: 16px;
}

.ticket-ai-proposal[b-ryi0tmd92y] {
    margin-bottom: 12px;
}

.ticket-ai-strip-head[b-ryi0tmd92y],
.ticket-ai-proposal-head[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ticket-ai-proposal-head[b-ryi0tmd92y] {
    margin-bottom: 8px;
}

.ticket-ai-strip-title[b-ryi0tmd92y] {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-primary);
}

.ticket-ai-stale[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.ticket-ai-strip-actions[b-ryi0tmd92y] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ticket-ai-strip-body[b-ryi0tmd92y] {
    margin-top: 8px;
}

.ticket-ai-draft-panel[b-ryi0tmd92y] {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ticket-ai-draft-panel > :first-child[b-ryi0tmd92y] {
    flex: 1;
}

.ticket-ai-text[b-ryi0tmd92y] {
    font-size: 0.875rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ticket-ai-steps[b-ryi0tmd92y] {
    margin: 0 0 6px;
    padding-left: 20px;
    font-size: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ticket-composer-send[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ticket-composer-hint[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Timeline filter bar — separates conversation, internal notes, and system log */
.ticket-feed-filters[b-ryi0tmd92y] {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: wrap;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
}


/* Timeline feed — drawn flat rows (PARITY-2e round 1): hairline-separated,
   avatar left, no bubble boxes. */
.ticket-feed[b-ryi0tmd92y] {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ticket-alert-payload[b-ryi0tmd92y] {
    margin: 4px 8px 8px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
    border-radius: 8px;
    background: color-mix(in oklab, var(--mud-palette-surface), transparent 30%);
}

.ticket-alert-payload-summary[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    list-style: none;
}

.ticket-alert-payload-summary[b-ryi0tmd92y]::-webkit-details-marker {
    display: none;
}

.ticket-alert-payload-body[b-ryi0tmd92y] {
    margin: 0;
    padding: 0 12px 12px;
    font-size: 0.75rem;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--mud-palette-text-secondary);
    font-family: var(--cw-font-mono, ui-monospace, monospace);
}

.ticket-event[b-ryi0tmd92y] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 8px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 50%);
}

.ticket-event:first-child[b-ryi0tmd92y] {
    border-top: none;
}

.ticket-event-avatar[b-ryi0tmd92y] {
    flex: 0 0 auto;
    padding-top: 2px;
}

.ticket-event-user-avatar[b-ryi0tmd92y],
.ticket-event-system-icon[b-ryi0tmd92y] {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 55%);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
}

.ticket-event-user-avatar img[b-ryi0tmd92y],
.ticket-assignee-avatar img[b-ryi0tmd92y] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ticket-event-body[b-ryi0tmd92y] {
    min-width: 0;
    flex: 1;
}

.ticket-event-top[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    /* Long author + chip + subject combinations push the right cluster to
       the next row as a unit — nothing ever overlaps the timestamp. */
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.ticket-event-who[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ticket-event-author[b-ryi0tmd92y] {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.ticket-event-role[b-ryi0tmd92y],
.ticket-event-separator[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.ticket-event-meta[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 340px;
}

.ticket-event-images[b-ryi0tmd92y] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.ticket-event-image[b-ryi0tmd92y] {
    display: block;
    max-width: 320px;
    max-height: 220px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-gray);
}

.ticket-event-image-link:hover .ticket-event-image[b-ryi0tmd92y] {
    border-color: var(--mud-palette-primary);
}

.ticket-event-when[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Right cluster of the event header. The private-thread Reply stays worded and
   visible so continuing an outside email never depends on a hover-only glyph. */
.ticket-event-top-right[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
}

.ticket-event-top-right[b-ryi0tmd92y]  .ticket-event-action {
    opacity: 0.72;
    color: var(--mud-palette-text-secondary);
    font-size: 0.7rem;
    padding-inline: 6px;
    min-width: 0;
}

.ticket-event-top-right[b-ryi0tmd92y]  .ticket-event-action:hover {
    opacity: 1;
    color: var(--mud-palette-secondary);
}

/* Side-conversation thread label — which vendor thread this bubble belongs
   to. The subject text lives in .ticket-thread-text for a real ellipsis. */
.ticket-event-thread[b-ryi0tmd92y] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.7rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--mud-palette-secondary), var(--mud-palette-text-primary) 30%);
    white-space: nowrap;
    overflow: hidden;
    max-width: 220px;
    min-width: 0;
}

.ticket-event-thread[b-ryi0tmd92y]  .mud-icon-root {
    font-size: 0.9rem;
}

/* The @ icon never squashes when the subject shrinks to its ellipsis. */
.ticket-event-thread[b-ryi0tmd92y]  .mud-icon-root,
.ticket-composer-thread-label[b-ryi0tmd92y]  .mud-icon-root {
    flex: 0 0 auto;
}

/* Phone: author + type chip keep the first line with the timestamp; the
   subject/meta wrap to their own full-width, ellipsized line. (Must sit
   after the base .ticket-event-thread/.ticket-event-meta rules — equal
   specificity, so source order decides.) */
@media (max-width: 599.98px) {
    .ticket-event-top[b-ryi0tmd92y] {
        align-items: flex-start;
    }

    .ticket-event-who[b-ryi0tmd92y] {
        flex-wrap: wrap;
        row-gap: 2px;
    }

    .ticket-event-thread[b-ryi0tmd92y] {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .ticket-event-meta[b-ryi0tmd92y] {
        max-width: 100%;
    }
}

.ticket-event-badge[b-ryi0tmd92y] {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 7px;
    border-radius: 999px;
    background: color-mix(in oklab, #F59E0B, transparent 86%);
    color: #7A4B00;
    white-space: nowrap;
    flex: 0 0 auto;
}

.ticket-event-badge--opened[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 85%);
    color: color-mix(in oklab, var(--mud-palette-primary), black 10%);
}

.ticket-event-bubble[b-ryi0tmd92y] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.5;
}

.ticket-event--system .ticket-event-bubble[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
    font-style: italic;
    font-size: 0.8125rem;
}

/* Internal notes tint the whole row (drawn), not a box around the text. */
.ticket-event--internal[b-ryi0tmd92y] {
    background: color-mix(in oklab, #F59E0B, transparent 94%);
    border-radius: 10px;
}

.ticket-event--internal .ticket-event-user-avatar[b-ryi0tmd92y] {
    background: color-mix(in oklab, #F59E0B, white 80%);
    color: #7A4B00;
    border-color: color-mix(in oklab, #F59E0B, transparent 60%);
}

.ticket-event-badge--internal[b-ryi0tmd92y] {
    background: color-mix(in oklab, #F59E0B, transparent 84%);
    color: #7A4B00;
}

/* Side conversations stay visibly private — a cool steel row tint instead of
   the amber team-note one. */
.ticket-event--side[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 94%);
    border-radius: 10px;
}

.ticket-event--side .ticket-event-user-avatar[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-secondary), white 82%);
    color: color-mix(in oklab, var(--mud-palette-secondary), black 12%);
    border-color: color-mix(in oklab, var(--mud-palette-secondary), transparent 60%);
}

.ticket-event-badge--side[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 84%);
    color: color-mix(in oklab, var(--mud-palette-secondary), var(--mud-palette-text-primary) 30%);
}

/* Failed outbound reply — surface the delivery failure */
.ticket-event--failed[b-ryi0tmd92y] {
    background: color-mix(in oklab, #EF4444, transparent 94%);
    border-radius: 10px;
}

/* Outbound reply the outbox is still retrying — delayed, not lost */
.ticket-event--retrying[b-ryi0tmd92y] {
    background: color-mix(in oklab, #F59E0B, transparent 95%);
    border-radius: 10px;
}

/* Autoresponder (out-of-office/bounce) — recorded but visually de-emphasized */
.ticket-event--auto .ticket-event-bubble[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
}

.ticket-event-badge--customer[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 85%);
    color: color-mix(in oklab, var(--mud-palette-primary), black 10%);
}

.ticket-event-badge--reply[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 86%);
    color: var(--mud-palette-text-secondary);
}

.ticket-event-badge--portal-only[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 90%);
    color: var(--mud-palette-text-secondary);
}

.ticket-event-badge--failed[b-ryi0tmd92y] {
    background: color-mix(in oklab, #EF4444, transparent 84%);
    color: color-mix(in oklab, #DC2626, black 8%);
}

.ticket-event-badge--retrying[b-ryi0tmd92y] {
    background: color-mix(in oklab, #F59E0B, transparent 84%);
    color: color-mix(in oklab, #B45309, black 8%);
}

.ticket-event-badge--auto[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 86%);
    color: var(--mud-palette-text-secondary);
}

/* Attachment chips — shared by the timeline and the composer pending list */
.ticket-event-attachments[b-ryi0tmd92y],
.ticket-composer-attachments[b-ryi0tmd92y] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.ticket-composer-attachments[b-ryi0tmd92y] {
    padding: 0 12px;
}

.ticket-attachment-chip[b-ryi0tmd92y] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font-size: 0.75rem;
    text-decoration: none;
    max-width: 100%;
}

a.ticket-attachment-chip:hover[b-ryi0tmd92y] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 55%);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 95%);
}

.ticket-attachment-name[b-ryi0tmd92y] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 220px;
}

.ticket-attachment-size[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.ticket-attachment-remove[b-ryi0tmd92y] {
    margin: -4px -6px -4px 0;
}

/* Resolution callout — surfaces the captured resolution summary */
.ticket-resolution[b-ryi0tmd92y] {
    border: 1px solid color-mix(in oklab, #22C55E, transparent 65%);
    background: color-mix(in oklab, #22C55E, transparent 92%);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.ticket-resolution-head[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    color: color-mix(in oklab, #16A34A, black 12%);
}

.ticket-resolution-title[b-ryi0tmd92y] {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ticket-resolution-when[b-ryi0tmd92y] {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.ticket-resolution-body[b-ryi0tmd92y] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* Sidebar content */
.ticket-side-client[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.ticket-side-avatar[b-ryi0tmd92y] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
    background: color-mix(in oklab, var(--mud-palette-primary), white 72%);
    color: color-mix(in oklab, var(--mud-palette-primary), black 12%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-weight: 850;
}

.ticket-side-avatar img[b-ryi0tmd92y] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ticket-side-client-meta[b-ryi0tmd92y] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-sub {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ticket-side-sub[b-ryi0tmd92y]::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--ticket-status-dot, #22C55E);
    opacity: 0.9;
}

.ticket-side-actions[b-ryi0tmd92y] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ticket-side-actions> :only-child[b-ryi0tmd92y] {
    grid-column: 1 / -1;
}

.ticket-side-person[b-ryi0tmd92y] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

.ticket-side-person-avatar[b-ryi0tmd92y] {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.75rem;
    background: color-mix(in oklab, var(--mud-palette-secondary), white 82%);
    color: color-mix(in oklab, var(--mud-palette-secondary), black 12%);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
}

.ticket-side-person-name[b-ryi0tmd92y] {
    font-size: 0.875rem;
    font-weight: 750;
    color: var(--mud-palette-text-primary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-lines {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-line {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
    overflow-wrap: anywhere;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-link {
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-link:hover {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-empty {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-title-row .ticket-side-title {
    margin-bottom: 0;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-title-row .ticket-side-section-label {
    margin-bottom: 0;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-section + .ticket-side-section {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 45%);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-side-section-label {
    margin-bottom: 8px;
    font-size: 0.75rem;
    font-weight: 650;
    color: var(--mud-palette-text-secondary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-remote-link {
    margin-top: 5px;
    padding-left: 0;
    color: var(--mud-palette-text-secondary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-remote-link:hover {
    color: var(--mud-palette-text-primary);
}

.ticket-group-rollup[b-ryi0tmd92y] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.ticket-group-list[b-ryi0tmd92y] {
    display: flex;
    flex-direction: column;
}

.ticket-group-row[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.ticket-group-row:last-child[b-ryi0tmd92y] {
    border-bottom: none;
    padding-bottom: 0;
}

.ticket-group-row-copy[b-ryi0tmd92y] {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.ticket-group-row-copy[b-ryi0tmd92y]  .mud-link {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ticket-group-row-copy[b-ryi0tmd92y]  .mud-chip {
    margin-top: 3px;
}

.ticket-tags[b-ryi0tmd92y] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ticket-asset-top[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.ticket-asset-name[b-ryi0tmd92y] {
    font-size: 0.875rem;
    font-weight: 750;
    color: var(--mud-palette-text-primary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-asset-badge[b-ryi0tmd92y] {
    font-size: 0.6875rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
}

.ticket-asset-badge--online[b-ryi0tmd92y] {
    background: color-mix(in oklab, #22C55E, transparent 84%);
    border-color: color-mix(in oklab, #22C55E, transparent 70%);
    color: color-mix(in oklab, #16A34A, black 10%);
}

.ticket-asset-badge--offline[b-ryi0tmd92y] {
    background: color-mix(in oklab, #EF4444, transparent 86%);
    border-color: color-mix(in oklab, #EF4444, transparent 72%);
    color: color-mix(in oklab, #DC2626, black 10%);
}

/* ── Tasks tab ──────────────────────────────────────────────────────── */

.task-progress[b-ryi0tmd92y] {
    margin-bottom: 16px;
}

.task-progress-label[b-ryi0tmd92y] {
    font-size: 0.8125rem;
    font-weight: 650;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 6px;
    display: block;
}

.task-list[b-ryi0tmd92y] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.task-row[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px 4px 0;
    border-radius: 10px;
    transition: background 0.15s;
}

.task-row:hover[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 55%);
}

.task-description[b-ryi0tmd92y] {
    flex: 1;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    min-width: 0;
    overflow-wrap: anywhere;
}

.task-row--done .task-description[b-ryi0tmd92y] {
    text-decoration: line-through;
    color: var(--mud-palette-text-secondary);
}

.ticket-detail[b-ryi0tmd92y]  .task-delete {
    opacity: 0;
    transition: opacity 0.15s;
    color: var(--mud-palette-text-secondary);
}

.task-row:hover[b-ryi0tmd92y]  .task-delete {
    opacity: 1;
}

.ticket-detail[b-ryi0tmd92y]  .task-delete:hover {
    color: var(--mud-palette-error);
}

.task-add[b-ryi0tmd92y] {
    margin-top: 12px;
}

.ticket-detail[b-ryi0tmd92y]  .task-add .mud-input-outlined-border {
    border-radius: 12px;
    border-style: dashed;
    border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
}

.ticket-detail[b-ryi0tmd92y]  .task-add .mud-input-outlined-border:focus-within {
    border-style: solid;
}

/* ── Work tabs (Time + Expenses) ────────────────────────────────────── */

.work-header[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.work-summary[b-ryi0tmd92y] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
}

.work-summary strong[b-ryi0tmd92y] {
    font-family: var(--cw-font-mono);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.work-summary-sub[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
    margin-left: 6px;
}

.ticket-detail[b-ryi0tmd92y]  .work-table {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

/* The work tables are wider than a phone pane; .work-table's radius clip
   used to hard-crop the trailing columns. Let the table's own container
   scroll sideways instead, with a right-edge fade so the crop reads as
   "more to the right" (same affordance as the settings pill strip). */
.work-table-scroll[b-ryi0tmd92y] {
    position: relative;
}

.work-table-scroll[b-ryi0tmd92y]  .work-table .mud-table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 700px) {
    .work-table-scroll[b-ryi0tmd92y]::after {
        content: "";
        position: absolute;
        top: 1px;
        right: 1px;
        bottom: 1px;
        width: 28px;
        pointer-events: none;
        background: linear-gradient(to right, transparent, var(--mud-palette-surface));
        border-radius: 0 12px 12px 0;
    }

    .work-table-scroll[b-ryi0tmd92y]  .work-table table {
        min-width: 640px;
    }
}

.ticket-detail[b-ryi0tmd92y]  .work-table th {
    font-size: 0.6875rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 45%);
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    padding: 10px 12px;
}

.ticket-detail[b-ryi0tmd92y]  .work-table td {
    font-size: 0.8125rem;
    padding: 8px 12px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.ticket-detail[b-ryi0tmd92y]  .work-table tr:last-child td {
    border-bottom: none;
}

.work-notes[b-ryi0tmd92y] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
}
.ticket-triage-banner[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.ticket-triage-banner-actions[b-ryi0tmd92y] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* ── Presence & collision (Phase 17.1) ─────────────────────────────── */

.ticket-presence-stack[b-ryi0tmd92y] {
    display: inline-flex;
    align-items: center;
    margin-left: 2px;
}

.ticket-presence-avatar[b-ryi0tmd92y] {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    font-weight: 800;
    color: white;
    background: color-mix(in oklab, var(--presence-color, var(--mud-palette-primary)), white 8%);
    border: 2px solid var(--mud-palette-surface);
    flex: 0 0 auto;
    cursor: default;
}

.ticket-presence-avatar + .ticket-presence-avatar[b-ryi0tmd92y] {
    margin-left: -6px;
}

.ticket-presence-avatar--typing[b-ryi0tmd92y] {
    animation: ticket-presence-pulse-b-ryi0tmd92y 1.6s ease-in-out infinite;
}

@keyframes ticket-presence-pulse-b-ryi0tmd92y {
    0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--presence-color, var(--mud-palette-primary)), transparent 45%); }
    50% { box-shadow: 0 0 0 4px transparent; }
}

.ticket-typing-line[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 0;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    font-style: italic;
}

.ticket-collision-strip[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 12px 0;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.8125rem;
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 88%);
    border: 1px solid color-mix(in oklab, var(--mud-palette-warning), transparent 60%);
    color: var(--mud-palette-text-primary);
}

/* ── Mentions (Phase 17.2) ─────────────────────────────────────────── */

.ticket-mention-popup[b-ryi0tmd92y] {
    display: flex;
    flex-direction: column;
    margin: 4px 12px 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-4);
    overflow: hidden;
}

.ticket-mention-option[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: none;
    background: transparent;
    cursor: pointer;
    font: inherit;
    text-align: left;
    color: var(--mud-palette-text-primary);
}

.ticket-mention-option:hover[b-ryi0tmd92y] {
    background: var(--mud-palette-action-default-hover);
}

.ticket-mention-name[b-ryi0tmd92y] {
    font-weight: 600;
}

.ticket-mention-username[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

[b-ryi0tmd92y] .ticket-mention {
    display: inline;
    padding: 1px 4px;
    border-radius: 4px;
    font-weight: 600;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 86%);
    color: var(--mud-palette-primary);
}

/* ── PARITY-2e: drawn ticket detail ─────────────────────────────────── */

/* Page head: title + actions above the card, provenance line under. The
   actions stay on one row even under a long title — the title shrinks and
   wraps instead of pushing the ⋯ menu to a second line (PARITY-2e round 1). */
.ticket-page-head[b-ryi0tmd92y] {
    margin-bottom: 14px;
}

.ticket-page-head .ticket-main-header-top[b-ryi0tmd92y] {
    flex-wrap: nowrap;
}

.ticket-page-head .ticket-main-title[b-ryi0tmd92y] {
    flex-wrap: nowrap;
    min-width: 0;
}

.ticket-page-head .ticket-main-actions[b-ryi0tmd92y] {
    flex-wrap: nowrap;
    flex: 0 0 auto;
}

.ticket-detail[b-ryi0tmd92y]  .ticket-page-head .ticket-main-subject {
    font-size: 1.45rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 599.98px) {
    .ticket-page-head .ticket-main-header-top[b-ryi0tmd92y] {
        flex-wrap: wrap;
    }

    .ticket-page-head .ticket-main-actions[b-ryi0tmd92y] {
        flex-wrap: wrap;
    }
}

.ticket-page-head .ticket-main-meta[b-ryi0tmd92y] {
    margin-top: 8px;
}

/* The Watch toggle as a quiet text link in the provenance line. */
.ticket-watch-link[b-ryi0tmd92y] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: color-mix(in oklab, currentColor, transparent 55%);
    text-underline-offset: 2px;
}

.ticket-watch-link:hover[b-ryi0tmd92y] {
    color: var(--mud-palette-primary);
}

.ticket-watch-link:focus-visible[b-ryi0tmd92y] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 2px;
    border-radius: 3px;
}

/* Status bar: pickers left, SLA clock right — its own strip. */
.ticket-statusbar[b-ryi0tmd92y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    padding: 10px 14px;
    margin-bottom: 16px;
    border-radius: 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 55%);
}

/* The strip owns the chrome now; the pickers grid sits borderless inside. */
.ticket-statusbar .ticket-qa-grid[b-ryi0tmd92y] {
    padding: 0;
    border: none;
    background: transparent;
    gap: 18px;
}

.ticket-statusbar-sla[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* MudMenu activator semantics used to hang on .ticket-qa — the strip
   replaced that wrapper. */
.ticket-statusbar[b-ryi0tmd92y]  .mud-menu,
.ticket-statusbar[b-ryi0tmd92y]  .mud-menu-activator {
    display: block;
}

.ticket-statusbar[b-ryi0tmd92y]  .mud-menu-activator:focus-visible .ticket-qa-field {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 2px;
}

/* AI brief: basis line, text links, footer row, why panel. */
.ticket-ai-basis[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-ai-link[b-ryi0tmd92y] {
    border: none;
    background: transparent;
    padding: 2px 4px;
    font: inherit;
    font-size: 0.8125rem;
    color: var(--mud-palette-primary);
    cursor: pointer;
    border-radius: 6px;
}

.ticket-ai-link:hover[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
}

.ticket-ai-link--quiet[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
}

.ticket-ai-link--quiet:hover[b-ryi0tmd92y] {
    color: var(--mud-palette-primary);
}

.ticket-ai-link:focus-visible[b-ryi0tmd92y] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
}

.ticket-ai-strip-actions[b-ryi0tmd92y] {
    align-items: center;
}

.ticket-ai-brief-foot[b-ryi0tmd92y] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 0 14px 12px;
}

.ticket-ai-brief--dismissed[b-ryi0tmd92y] {
    align-items: center;
    padding: 8px 12px;
    gap: 8px;
}

.ticket-ai-why[b-ryi0tmd92y] {
    padding: 0 14px 12px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* Composer: the standing AI reassurance under the footer. */
.ticket-composer-ai-note[b-ryi0tmd92y] {
    margin-top: 8px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* Log-with-reply chip: the trailing estimate hint and the edit affordance. */
.ticket-log-hint[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    align-self: center;
}

.ticket-log-chip-edit-ic[b-ryi0tmd92y] {
    opacity: 0.7;
}

.ticket-log-chip--disarm[b-ryi0tmd92y] {
    border-left: 1px solid color-mix(in oklab, currentColor, transparent 70%);
}

/* Snippet picker: head, two-line items, foot note. */
.ticket-detail[b-ryi0tmd92y]  .ticket-snippet-head,
.ticket-detail[b-ryi0tmd92y]  .ticket-snippet-foot {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.ticket-detail[b-ryi0tmd92y]  .ticket-snippet-foot {
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.ticket-snippet-item[b-ryi0tmd92y] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.ticket-snippet-title[b-ryi0tmd92y] {
    font-weight: 600;
}

.ticket-snippet-preview[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Feed filter counts — a plain number, not parentheses. */
.ticket-feed-count[b-ryi0tmd92y] {
    font-weight: 650;
    color: var(--mud-palette-text-secondary);
    margin-left: 2px;
}

/* Brand-new-ticket empty state. */
.ticket-empty--fresh[b-ryi0tmd92y] {
    text-align: center;
    padding: 28px 18px;
}

.ticket-empty-title[b-ryi0tmd92y] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin-bottom: 4px;
}

.ticket-empty-sub[b-ryi0tmd92y] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    max-width: 380px;
    margin: 0 auto;
}

/* Sidebar kv composition + quiet inline links. */
.ticket-kv[b-ryi0tmd92y] {
    display: flex;
    gap: 10px;
    padding: 7px 0;
    align-items: baseline;
}

.ticket-kv-k[b-ryi0tmd92y] {
    flex: 0 0 auto;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.ticket-kv-v[b-ryi0tmd92y] {
    flex: 1;
    min-width: 0;
    font-size: 0.875rem;
}

.ticket-kv-link[b-ryi0tmd92y] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.ticket-kv-link:hover[b-ryi0tmd92y] {
    text-decoration: underline;
}

.ticket-kv-link:focus-visible[b-ryi0tmd92y] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

.ticket-side-empty-inline[b-ryi0tmd92y] {
    color: var(--mud-palette-text-secondary);
}

/* The Level link sits on its own line under the asset's OS text (drawn). */
.ticket-remote-row[b-ryi0tmd92y] {
    display: block;
    margin-top: 2px;
}

.ticket-job-runs[b-ryi0tmd92y] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 6px;
}

.ticket-job-run-line[b-ryi0tmd92y] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* The sidebar collapse is inert on desktop: the wrapper vanishes into the
   layout and the summary button never renders. */
.ticket-sidebar-wrap[b-ryi0tmd92y] {
    display: contents;
}

.ticket-sidebar-summary[b-ryi0tmd92y] {
    display: none;
}

/* Composer tab + footer label swap spans: short forms exist only for the
   390px layout. */
.ticket-tab-short[b-ryi0tmd92y] {
    display: none;
}

/* The drawn text-tab idiom (PARITY-2e round 1): plain text with a copper
   underline on the active tab — the same idiom the card's own tabs use.
   Rendered by this component directly, so isolation applies. */
.ticket-ct[b-ryi0tmd92y],
.ticket-ftab[b-ryi0tmd92y] {
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    padding: 7px 12px;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    white-space: nowrap;
}

.ticket-ct:hover[b-ryi0tmd92y],
.ticket-ftab:hover[b-ryi0tmd92y] {
    color: var(--mud-palette-text-primary);
}

.ticket-ct--active[b-ryi0tmd92y],
.ticket-ftab--active[b-ryi0tmd92y] {
    color: var(--mud-palette-primary);
    border-bottom-color: var(--mud-palette-primary);
}

.ticket-ct:focus-visible[b-ryi0tmd92y],
.ticket-ftab:focus-visible[b-ryi0tmd92y] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: -2px;
    border-radius: 6px 6px 0 0;
}

@media (max-width: 599.98px) {
    /* Drawn mobile: tabs read Reply / Note; the side-conversation tab and
       the footer labels step back to icons so the row fits. */
    .ticket-tab-full[b-ryi0tmd92y] {
        display: none;
    }

    .ticket-tab-short[b-ryi0tmd92y] {
        display: inline;
    }

    .ticket-log-hint[b-ryi0tmd92y] {
        flex-basis: 100%;
        order: -1;
        text-align: right;
    }

    /* Status bar wraps; the SLA chip keeps its right edge. */
    .ticket-statusbar .ticket-qa-grid[b-ryi0tmd92y] {
        flex-wrap: wrap;
    }

    /* Sidebar becomes one tap-to-expand card under the conversation. */
    .ticket-sidebar-wrap[b-ryi0tmd92y] {
        display: block;
        border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
        border-radius: 14px;
        background: var(--mud-palette-surface);
    }

    .ticket-sidebar-summary[b-ryi0tmd92y] {
        display: block;
        width: 100%;
        border: none;
        background: transparent;
        font: inherit;
        text-align: left;
        padding: 12px 14px;
        font-weight: 600;
        font-size: 0.875rem;
        cursor: pointer;
    }

    .ticket-sidebar-summary-hint[b-ryi0tmd92y] {
        font-weight: 400;
        font-size: 0.75rem;
        color: var(--mud-palette-text-secondary);
    }

    .ticket-sidebar-wrap:not(.ticket-sidebar-wrap--open) .ticket-sidebar[b-ryi0tmd92y] {
        display: none;
    }

    .ticket-sidebar-wrap.ticket-sidebar-wrap--open .ticket-sidebar[b-ryi0tmd92y] {
        padding: 0 12px 12px;
    }

    /* The send stays a small right-aligned primary in the footer row
       (drawn mobile), never a full-width bar. */
    .ticket-composer-send[b-ryi0tmd92y] {
        align-items: center;
        justify-content: flex-end;
    }

    .ticket-composer-send[b-ryi0tmd92y] >  .mud-tooltip-root,
    .ticket-composer-send[b-ryi0tmd92y] >  .mud-tooltip-root .mud-button-root {
        width: auto;
    }
}

/* Composer tool labels never break mid-phrase ("Draft with / AI"). */
.ticket-composer-tools[b-ryi0tmd92y],
.ticket-composer-tools[b-ryi0tmd92y]  .mud-button-root {
    white-space: nowrap;
}

/* The AI brief's title reads "AI brief" — bold sentence case, not the
   small-caps card-label idiom (drawn, PARITY-2e round 1). */
.ticket-ai-brief .ticket-ai-strip-title[b-ryi0tmd92y] {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

/* Client status chip on the Client & requester card (drawn ok pill). */
.ticket-side-status[b-ryi0tmd92y] {
    flex: 0 0 auto;
    align-self: flex-start;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-surface), var(--mud-palette-background) 55%);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    color: var(--mud-palette-text-secondary);
}

.ticket-side-status--ok[b-ryi0tmd92y] {
    background: color-mix(in oklab, var(--mud-palette-success), transparent 86%);
    border-color: color-mix(in oklab, var(--mud-palette-success), transparent 55%);
    color: color-mix(in oklab, var(--mud-palette-success), black 25%);
}
/* /Components/Pages/Tickets/Dialogs/AddTimeEntryDialog.razor.rz.scp.css */
.time-reply-note[b-bvt01us6h7] {
    padding: 10px 12px;
    border-radius: 9px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 45%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    overflow-wrap: anywhere;
}

.time-quick-chips[b-bvt01us6h7] {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

/* PARITY-2e: the read-only reply preview's key/value composition. */
.time-reply-note[b-bvt01us6h7] {
    display: flex;
    gap: 10px;
    align-items: baseline;
}

.time-reply-note-k[b-bvt01us6h7] {
    flex: 0 0 auto;
    font-size: 0.625rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.time-reply-note-v[b-bvt01us6h7] {
    font-style: italic;
    min-width: 0;
}

/* The ticket the dialog logs against, under the title. */
.time-context[b-bvt01us6h7] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 10px;
}

/* Work-type suggestion: help line with quiet text links. */
.time-suggestion-hint[b-bvt01us6h7] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.time-why-link[b-bvt01us6h7],
.time-prefill-use[b-bvt01us6h7] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.time-why-link:hover[b-bvt01us6h7],
.time-prefill-use:hover[b-bvt01us6h7] {
    text-decoration: underline;
}

.time-why-link:focus-visible[b-bvt01us6h7],
.time-prefill-use:focus-visible[b-bvt01us6h7] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

.time-prefill-use[b-bvt01us6h7] {
    margin-left: 4px;
}

/* PARITY-2e round 1: drawn field labels with the required asterisk, and the
   "or type" hint riding the quick-chips row. */
.time-field-label[b-bvt01us6h7] {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--mud-palette-text-primary);
}

.time-req[b-bvt01us6h7] {
    color: var(--mud-palette-error);
}

.time-type-hint[b-bvt01us6h7] {
    align-self: center;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Tickets/Dialogs/AssignScheduleDialog.razor.rz.scp.css */
.assign-sched-form[b-zkx7dq1sux] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: min(420px, 100%);
}

.assign-sched-grid[b-zkx7dq1sux] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

.assign-sched-person[b-zkx7dq1sux] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.assign-sched-avatar[b-zkx7dq1sux] {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--assign-sched-bg, var(--mud-palette-primary));
    color: #fff;
    font-size: 0.5625rem;
    font-weight: 700;
}

.assign-sched-load[b-zkx7dq1sux] {
    margin-left: auto;
    padding-left: 12px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .assign-sched-grid[b-zkx7dq1sux] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Tickets/Dialogs/CreateTicketDialog.razor.rz.scp.css */
/* Section captions — same voice as the service-desk sidebar titles. */
.ctd-section[b-fkmmw4y14c] {
    font-size: 0.6875rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 8px;
}

/* Duplicate-awareness hint under the client picker */
.ctd-hint[b-fkmmw4y14c] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 6px 2px 8px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.ctd-hint[b-fkmmw4y14c]  .mud-icon-root {
    font-size: 0.95rem;
    color: var(--mud-palette-info);
    flex: 0 0 auto;
    margin-top: 1px;
}

.ctd-hint-strong[b-fkmmw4y14c] {
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

/* Priority color dots in the dropdown — mirrors the list's priority pills. */
.ctd-dot[b-fkmmw4y14c] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    margin-right: 8px;
    vertical-align: baseline;
}

.ctd-dot--low[b-fkmmw4y14c] {
    background: var(--mud-palette-text-secondary);
    opacity: 0.6;
}

.ctd-dot--medium[b-fkmmw4y14c] {
    background: var(--mud-palette-primary);
}

.ctd-dot--high[b-fkmmw4y14c] {
    background: #F97316;
}

.ctd-dot--critical[b-fkmmw4y14c] {
    background: #DC2626;
}

/* Assign row: select + "Assign to me" quick action */
.ctd-assign[b-fkmmw4y14c] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ctd-assign[b-fkmmw4y14c]  .ctd-assign-select {
    flex: 1 1 auto;
    min-width: 0;
}

.ctd-assign[b-fkmmw4y14c]  .ctd-assign-me {
    flex: 0 0 auto;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: 0;
}
/* /Components/Pages/Tickets/Dialogs/ManageReplySnippetsDialog.razor.rz.scp.css */
.reply-snippet-list[b-gk87rx5t1f] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.reply-snippet-row[b-gk87rx5t1f] {
    padding: 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 30%);
    border-radius: 10px;
}

.reply-snippet-row-heading[b-gk87rx5t1f] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.reply-snippet-title[b-gk87rx5t1f] {
    flex: 1;
}
/* /Components/Pages/Tickets/Dialogs/RunJobDialog.razor.rz.scp.css */
.rj-title[b-q4cms2cd1r] {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.rj-target[b-q4cms2cd1r] {
    background: var(--mud-palette-background-grey);
    border-radius: 6px;
    padding: .6rem .75rem;
    margin-bottom: 1rem;
}

.rj-target-line[b-q4cms2cd1r] {
    font-weight: 500;
}

.rj-target-lock[b-q4cms2cd1r],
.rj-hint[b-q4cms2cd1r] {
    color: var(--mud-palette-text-secondary);
    font-size: .82rem;
    margin-top: .2rem;
}

.rj-section-label[b-q4cms2cd1r] {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--mud-palette-text-secondary);
    margin-bottom: .35rem;
}

.rj-job[b-q4cms2cd1r] {
    margin-bottom: .5rem;
}

.rj-job-what[b-q4cms2cd1r] {
    color: var(--mud-palette-text-secondary);
    font-size: .85rem;
    margin-left: 2rem;
    margin-top: -.25rem;
}

.rj-approval[b-q4cms2cd1r] {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    background: var(--mud-palette-background-grey);
    border-radius: 6px;
    padding: .6rem .75rem;
    margin-top: 1rem;
    font-size: .85rem;
}

.rj-billable[b-q4cms2cd1r] {
    color: var(--mud-palette-text-secondary);
    font-size: .82rem;
    margin-top: 1rem;
}
/* /Components/Pages/Tickets/LevelActionEvidence.razor.rz.scp.css */
.la-evidence[b-7moft29aoe] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 1rem;
    margin: 1rem 0;
}

.la-ev-head[b-7moft29aoe] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
    margin-bottom: .75rem;
}

.la-ev-source[b-7moft29aoe] {
    display: flex;
    gap: .75rem;
    margin: .75rem 0;
}

.la-ev-num[b-7moft29aoe] {
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--mud-palette-background-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    font-weight: 600;
}

.la-ev-line[b-7moft29aoe] {
    font-weight: 500;
}

.la-ev-warn[b-7moft29aoe] {
    color: var(--mud-palette-warning);
}

.la-ev-quote[b-7moft29aoe] {
    border-left: 3px solid var(--mud-palette-lines-default);
    padding-left: .6rem;
    margin: .35rem 0;
    font-variant-numeric: tabular-nums;
}

.la-ev-run[b-7moft29aoe] {
    font-family: var(--mud-typography-caption-family, monospace);
}

.la-ev-step[b-7moft29aoe] {
    font-size: .85rem;
}

.la-ev-muted[b-7moft29aoe],
.la-ev-note[b-7moft29aoe] {
    color: var(--mud-palette-text-secondary);
    font-size: .85rem;
}

.la-ev-note[b-7moft29aoe] {
    margin-top: .25rem;
}

.la-ev-verdict[b-7moft29aoe] {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.la-ev-machine-time[b-7moft29aoe] {
    color: var(--mud-palette-text-secondary);
    font-size: .82rem;
    margin-top: .5rem;
}
/* /Components/Pages/Tickets/List.razor.rz.scp.css */
.service-desk[b-vior4bqp1i] {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    gap: 16px;
}

.sd-content[b-vior4bqp1i] {
    min-width: 0;
    width: 100%;
}

@media (max-width: 600px) {
    .service-desk[b-vior4bqp1i]  .page-header-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        width: 100%;
    }

    .service-desk[b-vior4bqp1i]  .page-header-actions .mud-button-root {
        width: 100%;
        margin: 0 !important;
    }

    .service-desk[b-vior4bqp1i]  .sd-header-primary {
        grid-column: 1 / -1;
        grid-row: 1;
    }
}

/* Cards */
.service-desk[b-vior4bqp1i]  .sd-main {
    border-radius: 14px;
    background: var(--mud-palette-surface);
}

/* Keep buttons human-readable (not all caps). */
.service-desk[b-vior4bqp1i]  .mud-button-root {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.sd-muted[b-vior4bqp1i] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    padding: 6px 8px;
}

/* Main (MudPaper root; needs ::deep) */
.service-desk[b-vior4bqp1i]  .sd-main {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    container-type: inline-size;
    container-name: sd-main;
}

/* ── List toolbar: search leads, filters disclosure beside it ─────── */
.sd-list-toolbar[b-vior4bqp1i] {
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.sd-search-wrap[b-vior4bqp1i] {
    position: relative;
    flex: 0 0 auto;
    width: 400px;
    max-width: 100%;
}

.service-desk[b-vior4bqp1i]  .sd-search {
    width: 100%;
}

.service-desk[b-vior4bqp1i]  .sd-search .mud-input-outlined {
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-surface), #000 4%);
}

.service-desk[b-vior4bqp1i]  .sd-search .mud-input-outlined-border {
    border-radius: 10px;
    border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%) !important;
}

.service-desk[b-vior4bqp1i]  .sd-search input {
    font-size: 0.8125rem;
}

/* The "/" shortcut hint chip inside the search box (resting state only). */
.sd-search-kbd[b-vior4bqp1i] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-family: var(--cw-font-mono);
    font-size: 0.6563rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 10%);
    border-bottom-width: 2px;
    border-radius: 5px;
    padding: 0 5px;
    line-height: 1.5;
}

.sd-alert-visibility[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    padding: 9px 12px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 10px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 42%);
}

.sd-alert-visibility[b-vior4bqp1i]  .sd-alert-visibility-icon {
    font-size: 1rem;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
}

.sd-alert-visibility button[b-vior4bqp1i] {
    border: 0;
    padding: 0;
    color: var(--mud-palette-primary);
    background: transparent;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.sd-alert-visibility button:hover[b-vior4bqp1i] {
    text-decoration: underline;
}

.sd-alert-visibility button:focus-visible[b-vior4bqp1i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

/* Filter disclosure, sitting inside the toolbar next to the search box */
.sd-filter-disclosure[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 320px;
    min-width: 0;
    flex-wrap: wrap;
}

.sd-filter-toggle[b-vior4bqp1i] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.sd-filter-toggle:hover[b-vior4bqp1i] {
    border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 25%);
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 25%);
}

.sd-filter-toggle:focus-visible[b-vior4bqp1i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.sd-filter-toggle-count[b-vior4bqp1i] {
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
}

.service-desk[b-vior4bqp1i]  .sd-filter-toggle .mud-icon-root {
    font-size: 1.1rem;
    color: var(--mud-palette-text-secondary);
}

.sd-active-filters[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
}

.service-desk .sd-active-filters[b-vior4bqp1i]  .mud-chip {
    max-width: min(260px, 100%);
}

.service-desk .sd-active-filters[b-vior4bqp1i]  .mud-chip-content {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.service-desk[b-vior4bqp1i]  .sd-active-filters-clear {
    margin-left: auto;
}

.sd-filterbar[b-vior4bqp1i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.service-desk[b-vior4bqp1i]  .sd-filter {
    width: 145px;
    flex: 0 0 auto;
}

.service-desk[b-vior4bqp1i]  .sd-filter--wide {
    width: 185px;
}

.service-desk[b-vior4bqp1i]  .sd-filter .mud-input-outlined {
    background: color-mix(in oklab, var(--mud-palette-surface), #000 3%);
}

.service-desk[b-vior4bqp1i]  .sd-filterbar-clear {
    margin-left: auto;
}

/* Search-active summary line under the toolbar */
.sd-search-summary[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px 18px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-primary);
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

.sd-search-summary strong[b-vior4bqp1i] {
    font-weight: 700;
}

.sd-search-clear[b-vior4bqp1i],
.sd-pager-link[b-vior4bqp1i] {
    border: 0;
    padding: 0;
    color: var(--mud-palette-primary);
    background: transparent;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.sd-search-clear:hover[b-vior4bqp1i],
.sd-pager-link:hover[b-vior4bqp1i] {
    text-decoration: underline;
}

/* Bulk action bar — copper-tinted strip of text links, per the mockup. */
.sd-bulkbar[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 9px 18px;
    font-size: 0.8125rem;
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
    border-bottom: 1px solid color-mix(in oklab, var(--mud-palette-primary), transparent 55%);
}

.sd-bulkbar-count[b-vior4bqp1i] {
    font-size: 0.8438rem;
    font-weight: 750;
    color: var(--mud-palette-primary);
}

.sd-bulkbar-sep[b-vior4bqp1i] {
    color: var(--mud-palette-primary);
    opacity: 0.45;
}

.sd-bulkbar-link[b-vior4bqp1i] {
    border: 0;
    padding: 2px 0;
    background: transparent;
    font: inherit;
    font-weight: 600;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.sd-bulkbar-link:hover:not(:disabled)[b-vior4bqp1i] {
    text-decoration: underline;
}

.sd-bulkbar-link:disabled[b-vior4bqp1i] {
    color: var(--mud-palette-text-secondary);
    opacity: 0.65;
    cursor: not-allowed;
}

.sd-bulkbar-link--muted[b-vior4bqp1i] {
    color: var(--mud-palette-text-secondary);
}

.sd-bulkbar-link:focus-visible[b-vior4bqp1i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

/* The Assign/Priority/Status menus wear the same text-link look. (Their menu
   items render in the popover portal, outside .sd-bulkbar.) */
.sd-bulkbar[b-vior4bqp1i]  .mud-button-root {
    min-width: 0;
    padding: 2px 4px;
    border: 0;
    color: var(--mud-palette-primary);
    font-size: 0.8125rem;
    font-weight: 600;
}

.sd-bulkbar[b-vior4bqp1i]  .mud-button-root:hover {
    background: transparent;
    text-decoration: underline;
}

.sd-bulkbar[b-vior4bqp1i]  .mud-button-root:disabled {
    color: var(--mud-palette-text-secondary);
}

.sd-bulkbar-action-wrap[b-vior4bqp1i] {
    display: inline-flex;
}

/* ── Two-line ticket rows (the mockup's row composition) ─────────────
   checkbox | main (line 1: title + assign chip + status pill;
   line 2: TK-#### · contact · client · recency) | side (priority, due). */
.sd-rows[b-vior4bqp1i] {
    display: flex;
    flex-direction: column;
}

.sd-trow[b-vior4bqp1i] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 18px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    transition: background 0.12s ease;
}

.sd-rows > .sd-trow:first-child[b-vior4bqp1i] {
    border-top: none;
}

/* Group headers draw their own bottom border; don't double it on the row. */
.alert-group + .sd-trow[b-vior4bqp1i] {
    border-top: none;
}

.sd-trow:hover[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 18%);
}

.sd-trow:focus-visible[b-vior4bqp1i] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
    outline-offset: -2px;
}

/* Selected rows wear the copper tint. */
.sd-trow--sel[b-vior4bqp1i],
.sd-trow--sel:hover[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
}

/* Members of an expanded alert group take the drawn left indent. */
.sd-trow--member[b-vior4bqp1i] {
    padding-left: 47px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 55%);
}

.sd-trow--member:hover[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
}

.sd-trow-check[b-vior4bqp1i] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding-top: 2px;
}

.sd-trow-main[b-vior4bqp1i] {
    flex: 1 1 auto;
    min-width: 0;
}

.sd-trow-line1[b-vior4bqp1i] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.sd-trow-title[b-vior4bqp1i] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    /* Full titles wrap, never truncate (the mockup's headline rule). */
    white-space: normal;
    overflow-wrap: anywhere;
}

.sd-trow-title:hover[b-vior4bqp1i] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.sd-parent-ticket[b-vior4bqp1i] {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.sd-trow-line2[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 2px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    min-width: 0;
}

.sd-trow-sep[b-vior4bqp1i] {
    opacity: 0.55;
}

.sd-ticket-id[b-vior4bqp1i] {
    font-family: var(--cw-font-mono);
    font-weight: 600;
    letter-spacing: normal;
    white-space: nowrap;
    flex: 0 0 auto;
}

.sd-trow-client[b-vior4bqp1i] {
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.sd-trow-client:hover[b-vior4bqp1i] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.sd-from-level[b-vior4bqp1i] {
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.sd-trow-machine[b-vior4bqp1i] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    overflow-wrap: anywhere;
}

.sd-trow-recovered[b-vior4bqp1i] {
    color: var(--cw-status-ok, #1E8E3E);
    font-weight: 600;
}

.sd-freshness[b-vior4bqp1i] {
    margin: 0 0 10px;
}

.sd-alerts-explainer[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 12px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.sd-alerts-explainer[b-vior4bqp1i]  .mud-icon-root {
    color: var(--mud-palette-secondary);
}

.sd-plug[b-vior4bqp1i] {
    display: inline-flex;
    align-items: center;
    color: var(--mud-palette-secondary);
    flex: 0 0 auto;
}

.sd-plug[b-vior4bqp1i]  .mud-icon-root {
    font-size: 0.85rem;
    width: 0.85rem;
    height: 0.85rem;
}

.sd-trow-side[b-vior4bqp1i] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 1px;
}

/* Priority is always dot + word; pills remain reserved for status. */
.sd-priority-label[b-vior4bqp1i] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* Status pills — pills are for status; dots are for priority. */
.sd-pill[b-vior4bqp1i] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 1.5px 9px;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 0.6875rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    margin-top: 1px;
}

.sd-pill--new[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 88%);
    color: #7A3A14;
}

.sd-pill--inprogress[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-secondary), transparent 86%);
    color: var(--mud-palette-secondary);
}

.sd-pill--waiting[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 86%);
    color: color-mix(in oklab, var(--mud-palette-warning), black 18%);
}

.sd-pill--resolved[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-success), transparent 88%);
    color: color-mix(in oklab, var(--mud-palette-success), black 12%);
}

.sd-pill--closed[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 88%);
    color: var(--mud-palette-text-secondary);
}

.sd-pill:hover[b-vior4bqp1i],
.sd-pill:focus-visible[b-vior4bqp1i] {
    filter: brightness(0.96);
}

.sd-pill:focus-visible[b-vior4bqp1i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.sd-caret[b-vior4bqp1i] {
    font-size: 0.5625rem;
    opacity: 0.55;
    margin-left: 2px;
}

/* Inline assignee chip: avatar + name + caret; dashed circle when unassigned. */
.sd-assign-chip[b-vior4bqp1i] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 7px 2px 3px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    font: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    cursor: pointer;
    margin-top: -1px;
}

.sd-assign-chip:hover[b-vior4bqp1i],
.sd-assign-chip:focus-visible[b-vior4bqp1i] {
    border-color: color-mix(in oklab, var(--mud-palette-lines-default), transparent 10%);
    background: var(--mud-palette-surface);
}

.sd-assign-chip:focus-visible[b-vior4bqp1i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.sd-assign-avatar[b-vior4bqp1i] {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.5313rem;
    font-weight: 700;
    color: #fff;
    background: var(--sd-assign-bg, var(--mud-palette-primary));
    flex: 0 0 auto;
}

.sd-assign-avatar img[b-vior4bqp1i] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.sd-assign-placeholder[b-vior4bqp1i] {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    border: 1.5px dashed #A79C89;
    box-sizing: border-box;
    flex: 0 0 auto;
}

.sd-due[b-vior4bqp1i] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.sd-due--over[b-vior4bqp1i] {
    color: #DC2626;
}

.sd-promote[b-vior4bqp1i] {
    border: 0;
    padding: 0;
    background: transparent;
    font: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-primary);
    white-space: nowrap;
    cursor: pointer;
}

.sd-promote:hover[b-vior4bqp1i] {
    text-decoration: underline;
}

.sd-promote:focus-visible[b-vior4bqp1i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.sd-trow-actions[b-vior4bqp1i] {
    flex: 0 0 auto;
}

/* SLA chips — response/resolution target attention (Phase 7.4).
   Inline at the end of line 2; absent on healthy tickets. */
.sd-badge[b-vior4bqp1i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    width: fit-content;
    white-space: nowrap;
}

.sd-sla[b-vior4bqp1i] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 750;
    white-space: nowrap;
    font-size: 0.65rem;
    padding: 2px 8px;
}

.sd-sla--warn[b-vior4bqp1i] {
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 86%);
    border-color: color-mix(in oklab, var(--mud-palette-warning), transparent 70%);
    color: color-mix(in oklab, var(--mud-palette-warning), black 22%);
}

.sd-sla--overdue[b-vior4bqp1i] {
    background: color-mix(in oklab, #DC2626, transparent 88%);
    border-color: color-mix(in oklab, #DC2626, transparent 74%);
    color: #B91C1C;
}

.sd-loading[b-vior4bqp1i] {
    padding: 18px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

/* Empty states */
.sd-empty[b-vior4bqp1i] {
    padding: 40px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
}

.sd-empty-title[b-vior4bqp1i] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.sd-empty-sub[b-vior4bqp1i] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.sd-empty-actions[b-vior4bqp1i] {
    margin-top: 4px;
}

.sd-empty-guidance[b-vior4bqp1i] {
    margin-top: 14px;
    padding-top: 12px;
    max-width: 420px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    text-align: center;
}

/* Pager — one quiet card-foot line: "1–8 of 14 in “My queue” · Next →". */
.sd-pager[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 18px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
}

/* Grouped Monitoring alerts card foot (the mockup's footer line). */
.sd-alerts-foot[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 18px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.sd-alerts-foot a[b-vior4bqp1i] {
    color: var(--mud-palette-primary);
    text-decoration: none;
}

.sd-alerts-foot a:hover[b-vior4bqp1i] {
    text-decoration: underline;
}

/* "…and N more" line at the end of an expanded alert-group preview. */
.sd-ag-more[b-vior4bqp1i] {
    padding: 9px 18px 11px 47px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 40%);
    font-size: 0.75rem;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 55%);
}

.sd-ag-more-toggle[b-vior4bqp1i] {
    border: 0;
    padding: 0;
    background: transparent;
    font: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.sd-ag-more-toggle:hover[b-vior4bqp1i] {
    text-decoration: underline;
}

.sd-muted-inline[b-vior4bqp1i] {
    color: var(--mud-palette-text-secondary);
}

.sd-card-foot-note[b-vior4bqp1i] {
    padding: 8px 18px 10px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.sd-keyboard-footer[b-vior4bqp1i] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 9px 18px 12px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.sd-keyboard-footer > span:not([aria-hidden])[b-vior4bqp1i] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.sd-keyboard-footer .shortcut-help-key[b-vior4bqp1i] {
    min-width: 23px;
    padding: 0 5px;
    font-size: 0.6875rem;
}

/* Phone head — visible only under 600px, where it replaces the tab strip
   (the mockup's mobile figure: view name + count chip + filters chip). */
.sd-mobile-head[b-vior4bqp1i] {
    display: none;
}

/* ── Phone (<600px): the list becomes cards — full title, meta line,
   footer row with priority, status-adjacent chips, right-aligned due. ── */
@container sd-main (max-width: 599.98px) {
    .sd-list-toolbar[b-vior4bqp1i] {
        padding: 12px;
    }

    .sd-search-wrap[b-vior4bqp1i] {
        width: 100%;
        flex: 1 0 100%;
    }

    .sd-filter-disclosure[b-vior4bqp1i] {
        flex-basis: 100%;
    }

    .sd-filterbar[b-vior4bqp1i] {
        padding: 12px;
    }

    .service-desk[b-vior4bqp1i]  .sd-filter,
    .service-desk[b-vior4bqp1i]  .sd-filter--wide {
        width: 100%;
        flex: 1 0 100%;
    }

    .sd-rows[b-vior4bqp1i] {
        gap: 10px;
        padding: 12px;
        background: var(--mud-palette-background);
    }

    .sd-trow[b-vior4bqp1i],
    .sd-trow--member[b-vior4bqp1i] {
        flex-wrap: wrap;
        gap: 8px;
        padding: 11px 13px;
        border: 1px solid var(--mud-palette-lines-default);
        border-radius: 12px;
        background: var(--mud-palette-surface);
    }

    .sd-trow--member[b-vior4bqp1i] {
        margin-left: 20px;
    }

    .sd-trow-main[b-vior4bqp1i] {
        flex: 1 1 calc(100% - 40px);
    }

    .sd-trow-line1[b-vior4bqp1i] {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    .sd-trow-title[b-vior4bqp1i] {
        flex: 1 0 100%;
    }

    .sd-trow-side[b-vior4bqp1i] {
        flex: 1 0 100%;
        flex-direction: row;
        align-items: center;
        gap: 10px;
        padding-top: 0;
    }

    .sd-due[b-vior4bqp1i],
    .sd-promote[b-vior4bqp1i] {
        margin-left: auto;
    }
}

/* The tab strip is desktop chrome; under 600px the compact phone head takes
   over (the mockup's phone figure). The hide rule lives in
   TicketViewTabs.razor.css — the strip's root only carries that component's
   own scope attribute, never this file's (CSS-isolation rule). Viewport
   media, not the card container — this chrome lives outside the card. */
@media (max-width: 599.98px) {
    .sd-mobile-head[b-vior4bqp1i] {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 0 4px;
    }

    .sd-mobile-view[b-vior4bqp1i] {
        font-size: 1rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
    }

    .sd-mobile-chip[b-vior4bqp1i] {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 2px 9px;
        border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
        border-radius: 999px;
        background: var(--mud-palette-surface);
        color: var(--mud-palette-text-secondary);
        font-size: 0.6875rem;
        font-weight: 600;
    }

    .sd-mobile-spacer[b-vior4bqp1i] {
        flex: 1;
    }

    .sd-mobile-filters[b-vior4bqp1i] {
        font: inherit;
        cursor: pointer;
    }
}
/* /Components/Pages/Tickets/TicketEpisodeEvidence.razor.rz.scp.css */
/* Machine entries: quiet, indented, behind a copper rule. Evidence in the
   ticket, never conversation — and never sent to the client. */
.ep-pinned[b-ib9eb6g457] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    margin: 0 0 10px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-left: 3px solid var(--cw-copper, #B87333);
    border-radius: 8px;
    background: color-mix(in oklab, var(--cw-copper, #B87333), transparent 94%);
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    text-align: left;
    cursor: pointer;
}

.ep-pinned:hover[b-ib9eb6g457] {
    background: color-mix(in oklab, var(--cw-copper, #B87333), transparent 88%);
}

.ep-pinned-text[b-ib9eb6g457] {
    flex: 1 1 auto;
    min-width: 0;
}

.ep-pinned[b-ib9eb6g457]  .mud-icon-root {
    flex: 0 0 auto;
    color: var(--cw-copper, #B87333);
}

.ep-block[b-ib9eb6g457] {
    margin: 4px 0 12px;
    padding-left: 14px;
    border-left: 3px solid var(--cw-copper, #B87333);
}

.ep-reading[b-ib9eb6g457] {
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    margin-bottom: 10px;
    border-radius: 8px;
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 92%);
}

.ep-reading[b-ib9eb6g457]  .mud-icon-root {
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
}

.ep-reading-body[b-ib9eb6g457] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.ep-reading-text[b-ib9eb6g457] {
    font-size: 0.85rem;
    color: var(--mud-palette-text-primary);
}

.ep-reading-attrib[b-ib9eb6g457] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.ep-entries[b-ib9eb6g457] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ep-entry-head[b-ib9eb6g457] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.ep-entry-head--ok[b-ib9eb6g457] {
    color: var(--cw-status-ok, #1E8E3E);
}

.ep-entry-meta[b-ib9eb6g457] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    line-height: 1.4;
}
/* /Components/Pages/Tickets/TicketJobRun.razor.rz.scp.css */
.jr-page[b-uc1vurw7cg] {
    max-width: 720px;
    margin: 0 auto;
    padding: 1.5rem 1rem 3rem;
}

.jr-back[b-uc1vurw7cg] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: .85rem;
}

.jr-head[b-uc1vurw7cg] {
    margin: 1rem 0 .5rem;
}

.jr-title[b-uc1vurw7cg] {
    font-size: 1.35rem;
    font-weight: 600;
    margin: 0;
}

.jr-sub[b-uc1vurw7cg] {
    color: var(--mud-palette-text-secondary);
    margin-top: .25rem;
}

.jr-people[b-uc1vurw7cg] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: .75rem 0;
}

.jr-person[b-uc1vurw7cg] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .9rem;
}

.jr-reason[b-uc1vurw7cg] {
    border-left: 3px solid var(--mud-palette-lines-default);
    margin: .5rem 0 1rem;
    padding: .25rem 0 .25rem .75rem;
    color: var(--mud-palette-text-primary);
    font-style: italic;
}

.jr-approve[b-uc1vurw7cg],
.jr-note[b-uc1vurw7cg],
.jr-live[b-uc1vurw7cg],
.jr-outcome[b-uc1vurw7cg] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: .85rem 1rem;
    margin: 1rem 0;
}

.jr-approve-lapse[b-uc1vurw7cg],
.jr-live-note[b-uc1vurw7cg],
.jr-live-fine[b-uc1vurw7cg] {
    color: var(--mud-palette-text-secondary);
    font-size: .85rem;
    margin-top: .35rem;
}

.jr-approve-actions[b-uc1vurw7cg] {
    margin-top: .5rem;
}

.jr-timeline[b-uc1vurw7cg] {
    margin: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.jr-tl-entry[b-uc1vurw7cg] {
    display: flex;
    gap: .75rem;
}

.jr-tl-when[b-uc1vurw7cg] {
    flex: 0 0 auto;
    width: 5.5rem;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
    font-size: .82rem;
}

.jr-tl-kind[b-uc1vurw7cg] {
    font-weight: 500;
}

.jr-tl-detail[b-uc1vurw7cg] {
    color: var(--mud-palette-text-secondary);
    font-size: .85rem;
}

.jr-outcome-head[b-uc1vurw7cg] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
}

.jr-outcome-body[b-uc1vurw7cg] {
    margin-top: .35rem;
}

.jr-outcome-actions[b-uc1vurw7cg] {
    margin-top: .5rem;
    display: flex;
    gap: 1rem;
}

.jr-close-actions[b-uc1vurw7cg] {
    margin-top: 1rem;
    display: flex;
    gap: 1.25rem;
}

.jr-outcome-warn[b-uc1vurw7cg] {
    border-color: var(--mud-palette-warning);
}

.jr-outcome-unknown[b-uc1vurw7cg] {
    border-color: var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
}
/* /Components/Pages/Tickets/TicketScheduleCard.razor.rz.scp.css */
/* Card internals only — the shared .ticket-side-* idiom comes from
   Details.razor.css ::deep rules. */

.schedule-due-line[b-nclhyfojkj] {
    width: 100%;
    min-height: 44px;
    padding: 6px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.schedule-due-line:focus-visible[b-nclhyfojkj] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.schedule-due--hot[b-nclhyfojkj] {
    font-weight: 700;
}

.schedule-entry-line[b-nclhyfojkj] {
    align-items: flex-start;
}

.schedule-entry-body[b-nclhyfojkj] {
    flex: 1;
    min-width: 0;
}

.schedule-entry-title[b-nclhyfojkj] {
    font-size: 0.8125rem;
    font-weight: 650;
    color: var(--mud-palette-text-primary);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    overflow-wrap: anywhere;
}

.schedule-entry-sub[b-nclhyfojkj] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.schedule-entry-line[b-nclhyfojkj]  .schedule-repeat-icon {
    font-size: 0.875rem;
    opacity: 0.7;
}

/* Add and row-action menus are primary touch controls on the stacked mobile
   ticket sidebar. MudMenu's small icon default is only 26px. */
.ticket-side-title-row[b-nclhyfojkj]  .mud-menu-activator,
.ticket-side-title-row[b-nclhyfojkj]  .mud-icon-button,
.schedule-entry-line[b-nclhyfojkj]  .mud-menu-activator,
.schedule-entry-line[b-nclhyfojkj]  .mud-icon-button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
}
/* /Components/Pages/Tickets/TicketTeamBar.razor.rz.scp.css */
.ticket-team-solo[b-z0ibic88rr],
.ticket-team-bar[b-z0ibic88rr] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 25%);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

.ticket-team-solo[b-z0ibic88rr] {
    padding: 10px 13px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}

.ticket-team-solo a[b-z0ibic88rr] {
    margin-left: 4px;
    color: var(--mud-palette-primary);
    font-weight: 700;
    text-decoration: none;
}

.ticket-team-solo a:focus-visible[b-z0ibic88rr] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.ticket-team-bar > summary[b-z0ibic88rr] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    color: var(--mud-palette-text-primary);
    font-size: 0.8125rem;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.ticket-team-bar > summary[b-z0ibic88rr]::-webkit-details-marker,
.ticket-team-overflow > summary[b-z0ibic88rr]::-webkit-details-marker {
    display: none;
}

.ticket-team-bar > summary:focus-visible[b-z0ibic88rr],
.ticket-team-overflow > summary:focus-visible[b-z0ibic88rr],
.ticket-team-member:focus-visible[b-z0ibic88rr],
.ticket-team-option:focus-visible[b-z0ibic88rr],
.ticket-team-search input:focus-visible[b-z0ibic88rr] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.ticket-team-caret[b-z0ibic88rr] {
    display: inline-block;
    color: var(--mud-palette-text-secondary);
    transition: transform 0.12s ease;
}

.ticket-team-bar:not([open]) .ticket-team-caret[b-z0ibic88rr] {
    transform: rotate(-90deg);
}

.ticket-team-count[b-z0ibic88rr] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
}

.ticket-team-body[b-z0ibic88rr] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    padding: 0 12px 11px;
}

.ticket-team-member[b-z0ibic88rr] {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px 4px 5px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 32%);
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 42%);
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.75rem;
    cursor: pointer;
}

.ticket-team-member:hover[b-z0ibic88rr] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 58%);
}

.ticket-team-member--selected[b-z0ibic88rr] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 90%);
    color: var(--mud-palette-primary);
}

.ticket-team-avatar[b-z0ibic88rr] {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--ticket-team-avatar, var(--mud-palette-primary));
    color: var(--mud-palette-primary-text);
    font-size: 0.58rem;
    font-weight: 800;
}

.ticket-team-name[b-z0ibic88rr] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-team-open[b-z0ibic88rr] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 750;
}

.ticket-presence-dot[b-z0ibic88rr] {
    width: 7px;
    height: 7px;
    display: inline-block;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--mud-palette-lines-default);
}

.ticket-presence-dot--active[b-z0ibic88rr] {
    background: var(--cw-status-ok);
}

.ticket-presence-dot--away[b-z0ibic88rr] {
    background: var(--cw-status-warning);
}

.ticket-presence-dot--offline[b-z0ibic88rr] {
    background: color-mix(in oklab, var(--mud-palette-text-secondary), transparent 38%);
}

.ticket-team-overflow[b-z0ibic88rr] {
    /* Static, so the popover anchors to .ticket-team-body (position: relative)
       instead of the chip: right-aligned under the strip per the mockup, and
       never slid left under the fixed rail and clipped mid-glyph. */
    position: static;
    flex: 0 0 auto;
}

.ticket-team-overflow > summary[b-z0ibic88rr] {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border: 1px dashed color-mix(in oklab, var(--mud-palette-primary), transparent 48%);
    border-radius: 999px;
    color: var(--mud-palette-primary);
    font-size: 0.75rem;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.ticket-team-overflow[open] > summary[b-z0ibic88rr],
.ticket-team-overflow > summary:hover[b-z0ibic88rr] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
}

.ticket-team-popover[b-z0ibic88rr] {
    position: absolute;
    top: calc(100% + 7px);
    right: 12px;
    z-index: 20;
    width: min(350px, calc(100vw - 48px));
    padding: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    box-shadow: 0 16px 38px color-mix(in oklab, var(--mud-palette-text-primary), transparent 80%);
}

.ticket-team-search[b-z0ibic88rr] {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 4px 9px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 9px;
    color: var(--mud-palette-text-secondary);
}

.ticket-team-search input[b-z0ibic88rr] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.8125rem;
}

.ticket-team-esc[b-z0ibic88rr] {
    flex: 0 0 auto;
    font-family: var(--cw-font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-lines-default);
    border-bottom-width: 2px;
    border-radius: 5px;
    padding: 0 5px;
    background: var(--mud-palette-surface);
}

.ticket-team-option-slot[b-z0ibic88rr] {
    width: 14px;
    flex: 0 0 auto;
}

.ticket-team-group-title[b-z0ibic88rr] {
    padding: 9px 8px 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.625rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ticket-team-scroll[b-z0ibic88rr] {
    max-height: 220px;
    overflow-y: auto;
}

.ticket-team-option[b-z0ibic88rr] {
    width: 100%;
    min-height: 38px;
    display: grid;
    grid-template-columns: 14px 26px minmax(0, 1fr) 8px auto;
    align-items: center;
    gap: 8px;
    padding: 5px 7px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.75rem;
    text-align: left;
    cursor: pointer;
}

.ticket-team-option:hover[b-z0ibic88rr],
.ticket-team-option--selected[b-z0ibic88rr] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
}

.ticket-team-option--offline[b-z0ibic88rr] {
    opacity: 0.58;
}

.ticket-team-option-count[b-z0ibic88rr] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    white-space: nowrap;
}

.ticket-team-empty[b-z0ibic88rr],
.ticket-team-popover-foot[b-z0ibic88rr] {
    padding: 8px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
}

.ticket-team-popover-foot[b-z0ibic88rr] {
    margin: 5px -8px -8px;
    border-top: 1px solid var(--mud-palette-lines-default);
    text-align: center;
}

.ticket-team-legend[b-z0ibic88rr] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 1 1 360px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
}

@media (max-width: 600px) {
    .ticket-team-body[b-z0ibic88rr] {
        align-items: stretch;
    }

    .ticket-team-member[b-z0ibic88rr] {
        max-width: 100%;
    }

    .ticket-team-popover[b-z0ibic88rr] {
        position: fixed;
        top: 18vh;
        right: 16px;
        left: 16px;
        width: auto;
    }
}
/* /Components/Pages/Tickets/TicketViewTabs.razor.rz.scp.css */
.ticket-view-tabs[b-72oucm5x19] {
    display: flex;
    align-items: stretch;
    gap: 4px;
    min-width: 0;
    padding: 4px;
    overflow-x: auto;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 25%);
    border-radius: 12px;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 38%);
    scrollbar-width: thin;
}

.ticket-view-tab-list[b-72oucm5x19] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}

.ticket-view-tab-wrap[b-72oucm5x19] {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;
}

.ticket-view-tab[b-72oucm5x19] {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

.ticket-view-tab-wrap:has(.ticket-view-tab-menu) > .ticket-view-tab[b-72oucm5x19] {
    padding-right: 32px;
}

.ticket-view-tab:hover:not(:disabled)[b-72oucm5x19] {
    color: var(--mud-palette-text-primary);
    background: color-mix(in oklab, var(--mud-palette-surface), transparent 20%);
}

.ticket-view-tab:focus-visible[b-72oucm5x19],
.ticket-view-tab-menu[b-72oucm5x19]  .mud-button-root:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.ticket-view-tab:disabled[b-72oucm5x19] {
    cursor: not-allowed;
    opacity: 0.55;
}

.ticket-view-tab--active[b-72oucm5x19] {
    border-color: color-mix(in oklab, var(--mud-palette-primary), transparent 68%);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-primary);
    box-shadow: 0 1px 3px color-mix(in oklab, var(--mud-palette-text-primary), transparent 88%);
}

.ticket-view-tab--save[b-72oucm5x19] {
    color: var(--mud-palette-primary);
}

.ticket-view-tab-count[b-72oucm5x19] {
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: color-mix(in oklab, currentColor, transparent 88%);
    font-size: 0.6875rem;
    text-align: center;
}

.ticket-view-tab-menu[b-72oucm5x19] {
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 5;
}

.ticket-view-tab-menu[b-72oucm5x19]  .mud-button-root {
    min-width: 28px;
    width: 28px;
    height: 32px;
    padding: 0;
    border-radius: 8px;
    color: var(--mud-palette-text-secondary);
}

.ticket-view-tab-menu[b-72oucm5x19]  .mud-button-root:hover,
.ticket-view-tab-menu[b-72oucm5x19]  .mud-button-root[aria-expanded="true"] {
    background: color-mix(in oklab, var(--mud-palette-background), transparent 18%);
    color: var(--mud-palette-text-primary);
}

/* Under 600px the tab strip is desktop chrome: the compact phone head in
   List.razor (.sd-mobile-head) replaces it (the mockup's mobile figure).
   The hide rule must live in THIS file — the strip's root only carries this
   component's own scope attribute, never the parent's (see UI_STYLE_GUIDE.md
   "MudBlazor + CSS isolation — THE RULE"). */
@media (max-width: 599.98px) {
    .ticket-view-tabs[b-72oucm5x19] {
        display: none;
    }
}
/* /Components/Pages/Time/Index.razor.rz.scp.css */
.time-review-filters[b-n2thcnvu1z] {
    display: grid;
    gap: 1rem;
}

.time-review-ranges[b-n2thcnvu1z],
.time-review-custom[b-n2thcnvu1z] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.time-review-custom > :first-child[b-n2thcnvu1z],
.time-review-custom > :nth-child(2)[b-n2thcnvu1z] {
    width: 10rem;
}

.time-review-filter-grid[b-n2thcnvu1z] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: .75rem;
}

.time-review-totals[b-n2thcnvu1z] {
    margin-top: 1rem;
}

.time-review-group[b-n2thcnvu1z] {
    margin-top: 1rem;
    overflow: hidden;
}

.time-review-group-head[b-n2thcnvu1z] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.time-review-row[b-n2thcnvu1z] {
    display: grid;
    grid-template-columns: minmax(14rem, 2fr) 5rem minmax(16rem, 2fr) minmax(9rem, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.time-review-row:last-child[b-n2thcnvu1z] {
    border-bottom: 0;
}

.time-review-row--editable[b-n2thcnvu1z] {
    cursor: pointer;
}

.time-review-row--editable:hover[b-n2thcnvu1z],
.time-review-row--editable:focus-visible[b-n2thcnvu1z] {
    background: var(--mud-palette-action-default-hover);
    outline: none;
}

.time-review-note[b-n2thcnvu1z] {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.time-review-person[b-n2thcnvu1z],
.time-review-worktype[b-n2thcnvu1z] {
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
}

.time-review-duration[b-n2thcnvu1z] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.time-review-destination[b-n2thcnvu1z] {
    min-width: 0;
}

.time-review-state[b-n2thcnvu1z] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
}

.time-review-edit-icon[b-n2thcnvu1z] {
    color: var(--mud-palette-text-secondary);
}

@media (max-width: 900px) {
    .time-review-row[b-n2thcnvu1z] {
        grid-template-columns: 1fr auto;
        gap: .35rem 1rem;
    }

    .time-review-note[b-n2thcnvu1z],
    .time-review-destination[b-n2thcnvu1z],
    .time-review-worktype[b-n2thcnvu1z] {
        grid-column: 1;
    }

    .time-review-duration[b-n2thcnvu1z],
    .time-review-state[b-n2thcnvu1z] {
        grid-column: 2;
        grid-row: 1;
    }

    .time-review-state[b-n2thcnvu1z] {
        grid-row: 2 / span 2;
    }
}

@media (max-width: 600px) {
    .time-review-custom > :first-child[b-n2thcnvu1z],
    .time-review-custom > :nth-child(2)[b-n2thcnvu1z] {
        width: 100%;
    }

    .time-review-row[b-n2thcnvu1z] {
        grid-template-columns: 1fr;
    }

    .time-review-note[b-n2thcnvu1z],
    .time-review-duration[b-n2thcnvu1z],
    .time-review-destination[b-n2thcnvu1z],
    .time-review-worktype[b-n2thcnvu1z],
    .time-review-state[b-n2thcnvu1z] {
        grid-column: 1;
        grid-row: auto;
    }

    .time-review-state[b-n2thcnvu1z] {
        justify-content: flex-start;
    }
}
/* /Components/Pages/Vault/Activity.razor.rz.scp.css */
/* The activity feed's who-cell (PARITY-2i). */
.vault-actor[b-yi97ztppvr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.vault-actor-avatar[b-yi97ztppvr] {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: color-mix(in oklab, var(--mud-palette-secondary), white 82%);
    color: color-mix(in oklab, var(--mud-palette-secondary), black 12%);
    font-size: 0.5625rem;
    font-weight: 800;
}
/* /Components/Pages/Vault/Dialogs/VaultShareDialog.razor.rz.scp.css */
/* The share dialog's sees-box and public-address line (PARITY-2i). */
.share-sees-box[b-yzmh5923v7] {
    border: 1px solid color-mix(in oklab, var(--mud-palette-warning), transparent 55%);
    background: color-mix(in oklab, var(--mud-palette-warning), transparent 94%);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
}

.share-public-line[b-yzmh5923v7] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.8125rem;
    color: var(--mud-palette-success);
}
/* /Components/Pages/Vault/VaultCredentialsPanel.razor.rz.scp.css */

/* Desktop says the whole action; the phone keeps the short label (the
   mockup's mobile figure). */
.vault-copy-label--short[b-00qkbuumpg] {
    display: none;
}

@media (max-width: 599.98px) {
    .vault-copy-label--full[b-00qkbuumpg] {
        display: none;
    }

    .vault-copy-label--short[b-00qkbuumpg] {
        display: inline;
    }
}

/* ── PARITY-2i: the drawn vault list ────────────────────────────────── */

.vault-kbd[b-00qkbuumpg] {
    align-self: center;
    font: 600 0.625rem var(--mud-typography-caption-family, monospace);
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 20%);
    border-bottom-width: 2px;
    border-radius: 5px;
    padding: 1px 6px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-secondary);
}

.vault-name-cell[b-00qkbuumpg] {
    min-width: 0;
}

.vault-name-sub[b-00qkbuumpg] {
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
}

/* The inline reveal row (drawn). */
.vault-reveal-row td[b-00qkbuumpg] {
    background: color-mix(in oklab, var(--mud-palette-primary), transparent 92%);
    padding: 12px 14px;
}

.vault-reveal-box[b-00qkbuumpg] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.vault-reveal-kind[b-00qkbuumpg] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.vault-reveal-secret[b-00qkbuumpg] {
    font-family: var(--mud-typography-caption-family, monospace);
    font-size: 0.875rem;
    font-weight: 600;
    background: var(--mud-palette-surface);
    border: 1px solid color-mix(in oklab, var(--mud-palette-primary), transparent 45%);
    border-radius: 8px;
    padding: 6px 12px;
    user-select: all;
    word-break: break-all;
}

.vault-reveal-notes[b-00qkbuumpg] {
    margin-top: 8px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    white-space: pre-wrap;
}

.vault-reveal-spacer[b-00qkbuumpg] {
    flex: 1;
}

.vault-reveal-note[b-00qkbuumpg] {
    font-size: 0.75rem;
    color: color-mix(in oklab, var(--mud-palette-primary), black 15%);
}

/* Card foot pager + the standing history line. */
.vault-card-foot[b-00qkbuumpg] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px 14px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
}

.vault-muted[b-00qkbuumpg] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.vault-link-btn[b-00qkbuumpg] {
    border: none;
    background: transparent;
    padding: 0;
    font: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
}

.vault-link-btn:hover[b-00qkbuumpg] {
    text-decoration: underline;
}

.vault-link-btn:focus-visible[b-00qkbuumpg] {
    outline: 2px solid color-mix(in oklab, var(--mud-palette-primary), white 55%);
    outline-offset: 1px;
    border-radius: 3px;
}

/* Day-one empty (drawn). */
.vault-empty[b-00qkbuumpg] {
    margin-top: var(--cw-card-gap);
    padding: 32px;
    border: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 35%);
    border-radius: 14px;
    background: var(--mud-palette-surface);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.vault-empty-title[b-00qkbuumpg] {
    font-size: 1.1875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.vault-empty-sub[b-00qkbuumpg] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    max-width: 520px;
}

.vault-empty-actions[b-00qkbuumpg] {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.vault-empty-tip[b-00qkbuumpg] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 55%);
    padding-top: 12px;
    max-width: 520px;
}
/* /Components/QuickNotes/QuickNoteClientStep.razor.rz.scp.css */
.quick-note-client-step[b-1qvmpawf7m] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.quick-note-client-places[b-1qvmpawf7m] {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.quick-note-client-places legend[b-1qvmpawf7m] {
    margin-bottom: 6px;
    font-size: 0.78rem;
    font-weight: 650;
}

.quick-note-client-places label[b-1qvmpawf7m] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 2px;
    border-top: 1px solid var(--mud-palette-lines-default);
    cursor: pointer;
}

.quick-note-client-places label:last-child[b-1qvmpawf7m] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.quick-note-client-places input[b-1qvmpawf7m] {
    margin-top: 3px;
    accent-color: var(--mud-palette-primary);
}

.quick-note-client-places span[b-1qvmpawf7m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.quick-note-client-places strong[b-1qvmpawf7m] {
    font-size: 0.86rem;
}

.quick-note-client-places small[b-1qvmpawf7m] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.74rem;
    line-height: 1.4;
}

.quick-note-client-actions[b-1qvmpawf7m] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
}

.quick-note-client-private[b-1qvmpawf7m] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
}
/* /Components/QuickNotes/QuickNoteEditor.razor.rz.scp.css */
.quick-note-editor[b-7qlkg5i5k1] {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.quick-note-time[b-7qlkg5i5k1] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
}

.quick-note-time strong[b-7qlkg5i5k1] {
    color: var(--mud-palette-text-primary);
}

.quick-note-field-head[b-7qlkg5i5k1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0 6px;
    font-size: 0.78rem;
    font-weight: 650;
}

.quick-note-save[b-7qlkg5i5k1] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
    font-weight: 500;
}

.quick-note-save--failed[b-7qlkg5i5k1] {
    color: var(--mud-palette-error);
}

.quick-note-editor[b-7qlkg5i5k1]  .mud-input-control {
    flex: 0 0 auto;
}

.quick-note-editor[b-7qlkg5i5k1]  textarea {
    min-height: 250px;
    max-height: min(48vh, 520px);
    overflow-y: auto;
}

.quick-note-timing[b-7qlkg5i5k1] {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.5;
}

.quick-note-timing strong[b-7qlkg5i5k1] {
    color: var(--mud-palette-text-primary);
}
/* /Components/QuickNotes/QuickNoteFinish.razor.rz.scp.css */
.quick-note-finish-actions[b-s6oqi3omwb] {
    margin-top: 18px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.quick-note-finish-label[b-s6oqi3omwb] {
    padding: 16px 0 8px;
    color: var(--mud-palette-text-secondary);
    font-size: var(--cw-label-size);
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.quick-note-finish-row[b-s6oqi3omwb] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 2px;
    border: 0;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 25%);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.quick-note-finish-row:hover[b-s6oqi3omwb] {
    background: color-mix(in oklab, var(--mud-palette-background), transparent 45%);
}

.quick-note-finish-row:focus-visible[b-s6oqi3omwb] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.quick-note-finish-row span[b-s6oqi3omwb] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.quick-note-finish-row strong[b-s6oqi3omwb] {
    font-size: 0.9rem;
}

.quick-note-finish-row small[b-s6oqi3omwb] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
}

.quick-note-finish-row[b-s6oqi3omwb]  .mud-icon-root {
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
}

.quick-note-finish-quiet[b-s6oqi3omwb] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in oklab, var(--mud-palette-lines-default), transparent 25%);
}
/* /Components/QuickNotes/QuickNoteLooseEnds.razor.rz.scp.css */
.quick-note-loose-ends[b-gdloftyf8b] {
    margin-bottom: 20px;
    padding: 18px 20px;
}

.quick-note-loose-clear[b-gdloftyf8b] {
    margin-bottom: 20px;
}

.quick-note-loose-ends > header[b-gdloftyf8b] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.quick-note-loose-ends h2[b-gdloftyf8b] {
    margin: 0;
    font-family: var(--cw-font-display);
    font-size: 1rem;
}

.quick-note-loose-ends header p[b-gdloftyf8b] {
    margin: 3px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
}

.quick-note-loose-list[b-gdloftyf8b] {
    border-top: 1px solid var(--mud-palette-lines-default);
}

.quick-note-loose-row[b-gdloftyf8b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.quick-note-loose-row:last-child[b-gdloftyf8b] {
    border-bottom: 0;
}

.quick-note-loose-row h3[b-gdloftyf8b] {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.35;
}

.quick-note-loose-row p[b-gdloftyf8b] {
    margin: 3px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.73rem;
}

@media (max-width: 599.98px) {
    .quick-note-loose-ends[b-gdloftyf8b] {
        padding: 16px;
    }

    .quick-note-loose-row[b-gdloftyf8b] {
        align-items: flex-start;
    }
}
/* /Components/QuickNotes/QuickNoteWorkspace.razor.rz.scp.css */
.quick-note-panel[b-li5z9v8fqu] {
    position: fixed;
    /* Above the mobile app bar (1300), below navigation/help layers (1390/1400). */
    z-index: 1350;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    width: min(460px, calc(100vw - 72px));
    flex-direction: column;
    border-left: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    box-shadow: -12px 0 32px color-mix(in oklab, var(--mud-palette-text-primary), transparent 88%);
}

.quick-note-close[b-li5z9v8fqu] {
    position: absolute;
    z-index: 1;
    top: 18px;
    right: 18px;
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 35%);
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.quick-note-close:hover[b-li5z9v8fqu] {
    color: var(--mud-palette-text-primary);
}

.quick-note-close:focus-visible[b-li5z9v8fqu] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.quick-note-head[b-li5z9v8fqu] {
    flex: 0 0 auto;
    padding: 26px 66px 18px 26px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.quick-note-eyebrow[b-li5z9v8fqu] {
    margin-bottom: 3px;
    color: var(--mud-palette-primary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.quick-note-head h2[b-li5z9v8fqu] {
    margin: 0;
    font-family: var(--cw-font-display);
    font-size: 1.45rem;
    line-height: 1.2;
}

.quick-note-head p[b-li5z9v8fqu] {
    margin: 5px 0 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
    line-height: 1.45;
}

.quick-note-body[b-li5z9v8fqu] {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow-y: auto;
    padding: 20px 26px;
}

.quick-note-summary[b-li5z9v8fqu] {
    padding-bottom: 4px;
}

.quick-note-summary h3[b-li5z9v8fqu] {
    margin: 0 0 4px;
    font-size: 1rem;
    line-height: 1.35;
}

.quick-note-summary div[b-li5z9v8fqu] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.quick-note-summary p[b-li5z9v8fqu] {
    margin: 12px 0 0;
    color: var(--mud-palette-text-primary);
    font-size: 0.84rem;
    line-height: 1.55;
}

.quick-note-footer[b-li5z9v8fqu] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 26px;
    border-top: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in oklab, var(--mud-palette-background), var(--mud-palette-surface) 45%);
}

.quick-note-footer > span[b-li5z9v8fqu] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.71rem;
    line-height: 1.4;
}

.quick-note-footer--quiet[b-li5z9v8fqu] {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
}

@media (max-width: 599.98px) {
    .quick-note-panel[b-li5z9v8fqu] {
        width: 100vw;
        border-left: 0;
    }

    .quick-note-head[b-li5z9v8fqu] {
        padding: 20px 60px 15px 18px;
    }

    .quick-note-close[b-li5z9v8fqu] {
        top: 13px;
        right: 13px;
    }

    .quick-note-body[b-li5z9v8fqu] {
        padding: 18px;
    }

    .quick-note-footer[b-li5z9v8fqu] {
        align-items: stretch;
        flex-direction: column-reverse;
        padding: 13px 18px max(13px, env(safe-area-inset-bottom));
    }
}
/* /Components/Shared/LevelFreshnessStrip.razor.rz.scp.css */
.cw-fresh[b-cv91ozjqbj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--cw-radius-tile, 12px);
    font-size: 0.8125rem;
    line-height: 1.35;
}

.cw-fresh--ok[b-cv91ozjqbj] {
    color: var(--cw-status-ok, #1E8E3E);
    background: color-mix(in srgb, var(--cw-status-ok, #1E8E3E) 8%, transparent);
}

.cw-fresh--ok[b-cv91ozjqbj]  .mud-icon-root {
    color: var(--cw-status-ok, #1E8E3E);
}

.cw-fresh--warn[b-cv91ozjqbj] {
    color: var(--cw-status-warning, #CA8A04);
    background: color-mix(in srgb, var(--cw-status-warning, #CA8A04) 10%, transparent);
}

.cw-fresh--warn[b-cv91ozjqbj]  .mud-icon-root {
    color: var(--cw-status-warning, #CA8A04);
}

.cw-fresh[b-cv91ozjqbj]  .mud-icon-root {
    font-size: 1.05rem;
    flex: 0 0 auto;
}
/* /Components/Shared/LevelWitnessLine.razor.rz.scp.css */
.cw-witness[b-skhlmua7co] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.3;
    color: var(--mud-palette-text-secondary);
}

.cw-witness[b-skhlmua7co]  .mud-icon-root {
    font-size: 0.95rem;
    color: var(--mud-palette-text-secondary);
    opacity: 0.75;
}

.cw-witness-text[b-skhlmua7co] {
    min-width: 0;
}
/* /Components/Shared/QuoteChainNextPanel.razor.rz.scp.css */
.quote-chain-next[b-25mlkigdaw] {
    padding: 14px 16px;
    margin-top: 12px;
}

.quote-chain-next--embedded[b-25mlkigdaw] {
    padding: 12px 0 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.quote-chain-next__label[b-25mlkigdaw] {
    margin-bottom: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.quote-chain-next__step[b-25mlkigdaw] {
    color: var(--mud-palette-text-primary);
    font-size: 0.925rem;
}

.quote-chain-next__owner[b-25mlkigdaw],
.quote-chain-next__trail[b-25mlkigdaw] {
    margin-top: 3px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8rem;
}

.quote-chain-next__trail[b-25mlkigdaw] {
    margin-top: 7px;
    font-weight: 600;
}

.quote-chain-next__actions[b-25mlkigdaw] {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--mud-palette-lines-default);
}
