@import '_content/LiveChartsCore.SkiaSharpView.Blazor/LiveChartsCore.SkiaSharpView.Blazor.i4zkn35tfz.bundle.scp.css';

/* /Components/Addresses/AddressLinksPanel.razor.rz.scp.css */
/* Add-address row: the address picker sits next to the address-type dropdown.
   Both are MudField-based (TritiumAddressPicker + TritiumDialogSelect), so they share
   the same height — like the filter row in the Project Explorer. They wrap on narrow widths. */

.tt-addr-add-row[b-hr9uh9cu7e] { flex-wrap: wrap; align-items: flex-start; }

.tt-addr-pick[b-hr9uh9cu7e] { flex: 1 1 240px; min-width: 0; }
.tt-addr-type[b-hr9uh9cu7e] { flex: 1 1 170px; min-width: 0; }
/* /Components/Admin/StorageSettings.razor.rz.scp.css */
/* Confine vertical scrolling to the providers list in the left column — the routing card on the
   right and the dialog itself stay put while a long provider list scrolls internally. */
.storage-providers-scroll[b-xco09887io] {
    max-height: 64vh;
    overflow-y: auto;
}

/* "How routing works" explainer above the routing controls. */
.routing-help[b-xco09887io] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 12px 14px;
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}

.routing-help .rh-icon[b-xco09887io] {
    flex: 0 0 auto;
    font-size: 1.15rem !important;
    margin-top: 2px;
}

.routing-help .rh-list[b-xco09887io] {
    margin: 4px 0 4px 0;
    padding-left: 18px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    line-height: 1.55;
}

.routing-help .rh-list li[b-xco09887io] {
    margin-bottom: 1px;
}

.routing-help .rh-example[b-xco09887io] {
    display: block;
    margin-top: 4px;
    padding: 5px 9px;
    border-left: 2px solid var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 6%, transparent);
    border-radius: 0 5px 5px 0;
    color: var(--mud-palette-text-primary);
    font-style: italic;
}
/* /Components/CompanySetup/CompanySetupGate.razor.rz.scp.css */
.sw-gate-center[b-vvg5ohvdyl] {
    position: fixed;
    inset: 0;
    /* Below MudBlazor's overlay stack so menus/dialogs render above the wall (see CompanySetupWizard.razor.css). */
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mud-palette-background);
    padding: 24px;
}

.sw-gate-card[b-vvg5ohvdyl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 460px;
    padding: 40px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 16px;
}

.sw-gate-body[b-vvg5ohvdyl] {
    color: var(--mud-palette-text-secondary);
}

.sw-gate-actions[b-vvg5ohvdyl] {
    position: absolute;
    top: 16px;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
}
/* /Components/CompanySetup/CompanySetupWizard.razor.rz.scp.css */
.sw-root[b-w2t6l0tc7m] {
    /* Fill the viewport WITHOUT position:fixed or a z-index. A fixed/z-indexed root establishes a stacking
       context that traps descendants: real dialogs (portaled to the page root) would paint above it, but
       some catalog panels use an INLINE MudOverlay whose backdrop escapes to the root while the form stays
       trapped inside — so the backdrop covers the form. Plain relative + 100vh fills the screen (the wizard
       is the only content here) and lets dialogs, popovers and panel overlays all layer correctly. */
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
}

/* ── Header ─────────────────────────────────────────────────────────── */
.sw-header[b-w2t6l0tc7m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 28px;
    border-bottom: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-surface);
}

.sw-brand[b-w2t6l0tc7m] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sw-brand-text[b-w2t6l0tc7m] {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.sw-title[b-w2t6l0tc7m] {
    font-size: 1.15rem;
    font-weight: 600;
}

.sw-subtitle[b-w2t6l0tc7m] {
    font-size: 0.8rem;
    color: var(--mud-palette-text-secondary);
    max-width: 640px;
}

.sw-header-actions[b-w2t6l0tc7m] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.sw-header-sep[b-w2t6l0tc7m] {
    width: 1px;
    height: 24px;
    margin: 0 6px;
    background: var(--mud-palette-divider);
}

.sw-progress[b-w2t6l0tc7m] {
    height: 4px;
}

/* ── Body: rail + content ───────────────────────────────────────────── */
.sw-body[b-w2t6l0tc7m] {
    flex: 1 1 auto;
    display: flex;
    min-height: 0;
}

.sw-rail[b-w2t6l0tc7m] {
    width: 300px;
    flex: 0 0 300px;
    border-right: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-surface);
    padding: 16px 12px;
    overflow-y: auto;
}

.sw-rail-group[b-w2t6l0tc7m] {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mud-palette-secondary);
    padding: 14px 14px 4px;
    margin-top: 4px;
}

.sw-rail-group:first-child[b-w2t6l0tc7m] {
    margin-top: 0;
}

.sw-rail-item[b-w2t6l0tc7m] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color .12s ease;
}

.sw-rail-item:hover[b-w2t6l0tc7m] {
    background: var(--mud-palette-action-default-hover);
}

.sw-rail-item.active[b-w2t6l0tc7m] {
    background: var(--mud-palette-primary-hover);
}

.sw-rail-num[b-w2t6l0tc7m] {
    flex: 0 0 28px;
    height: 28px;
    width: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--mud-palette-action-default-hover);
    font-size: 0.85rem;
    font-weight: 600;
}

.sw-rail-item.active .sw-rail-num[b-w2t6l0tc7m] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.sw-rail-index[b-w2t6l0tc7m] {
    line-height: 1;
}

.sw-rail-text[b-w2t6l0tc7m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.sw-rail-title[b-w2t6l0tc7m] {
    font-size: 0.92rem;
    font-weight: 500;
}

.sw-rail-tag[b-w2t6l0tc7m] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--mud-palette-text-secondary);
}

.sw-rail-tag.req[b-w2t6l0tc7m] {
    color: var(--mud-palette-primary);
}

/* ── Content ────────────────────────────────────────────────────────── */
.sw-content[b-w2t6l0tc7m] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sw-step-scroll[b-w2t6l0tc7m] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 36px 0;
}

.sw-step-head[b-w2t6l0tc7m] {
    width: 70%;
    margin: 0 auto 8px;
}

.sw-step-counter[b-w2t6l0tc7m] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 6px;
}

.sw-step-title[b-w2t6l0tc7m] {
    font-weight: bold;
}

.sw-step-tag[b-w2t6l0tc7m] {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
}

.sw-step-tag.req[b-w2t6l0tc7m] {
    color: var(--mud-palette-primary);
}

.sw-step-desc[b-w2t6l0tc7m] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 3px;
    padding-left: 8px;
    line-height: 1.66;
}

.sw-step-help[b-w2t6l0tc7m] {
    line-height: 1.55;
}

.sw-step-card[b-w2t6l0tc7m] {
    width: 70%;
    margin: 28px auto 0;
}

.sw-footer[b-w2t6l0tc7m] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px clamp(24px, 6vw, 96px);
    border-top: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-surface);
}

/* ── Narrow screens: rail collapses to a top strip ──────────────────── */
@media (max-width: 760px) {
    .sw-body[b-w2t6l0tc7m] {
        flex-direction: column;
    }

    .sw-rail[b-w2t6l0tc7m] {
        width: 100%;
        flex: 0 0 auto;
        display: flex;
        gap: 8px;
        border-right: none;
        border-bottom: 1px solid var(--mud-palette-divider);
        overflow-x: auto;
        overflow-y: hidden;
    }

    .sw-rail-item[b-w2t6l0tc7m] {
        flex: 0 0 auto;
    }

    .sw-rail-text[b-w2t6l0tc7m] {
        display: none;
    }
}
/* /Components/CompanySetup/Steps/FinishStepView.razor.rz.scp.css */
.sw-finish-hero[b-qjb69dqqcn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.sw-finish-sub[b-qjb69dqqcn] {
    color: var(--mud-palette-text-secondary);
    max-width: 520px;
}

.sw-finish-list[b-qjb69dqqcn] {
    border-radius: 12px;
    overflow: hidden;
}

.sw-finish-row[b-qjb69dqqcn] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.sw-finish-row:last-child[b-qjb69dqqcn] {
    border-bottom: none;
}

.sw-finish-row.pending[b-qjb69dqqcn] {
    background: var(--mud-palette-warning-hover);
}

.sw-finish-title[b-qjb69dqqcn] {
    font-size: 0.92rem;
    font-weight: 500;
}

.sw-finish-status[b-qjb69dqqcn] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Dashboard/AddWidgetDialog.razor.rz.scp.css */
.aw-search[b-sosar2f9fr] {
    margin-bottom: 12px;
}

.aw-body[b-sosar2f9fr] {
    /* Category cards flow into two masonry-style columns so less scrolling is needed. */
    column-count: 2;
    column-gap: 18px;
    min-width: 680px;
    max-width: 920px;
}

@media (max-width: 720px) {
    .aw-body[b-sosar2f9fr] { column-count: 1; min-width: 0; }
}

/* Each category is a subtly framed card, kept together in one column. */
.aw-cat[b-sosar2f9fr] {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    margin: 0 0 16px;
    padding: 10px 12px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}

.aw-cat-label[b-sosar2f9fr] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mud-palette-primary);
    margin: 0 0 8px;
}

.aw-tiles[b-sosar2f9fr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 8px;
}

.aw-tile[b-sosar2f9fr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 6px;
    border-radius: 10px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    cursor: pointer;
    text-align: center;
    transition: background .12s, border-color .12s, transform .1s;
}

.aw-tile:hover[b-sosar2f9fr],
.aw-tile:focus-visible[b-sosar2f9fr] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
    transform: translateY(-2px);
    outline: none;
}

.aw-tile-icon[b-sosar2f9fr] {
    font-size: 1.7rem;
    color: var(--mud-palette-primary);
}

.aw-tile-label[b-sosar2f9fr] {
    font-size: 0.7rem;
    line-height: 1.2;
    color: var(--mud-palette-text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.aw-empty[b-sosar2f9fr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px 8px;
}

.aw-empty-icon[b-sosar2f9fr] {
    font-size: 2.6rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/ApAgingWidget.razor.rz.scp.css */
.apa-root[b-wuse99gk37] { display: flex; flex-direction: column; gap: 4px; }

.apa-head[b-wuse99gk37] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
}

.apa-title[b-wuse99gk37] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
}

.apa-total[b-wuse99gk37] {
    font-size: 1.15rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.apa-count[b-wuse99gk37] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    margin-left: 2px;
}

.apa-empty[b-wuse99gk37] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 8px;
}

.apa-empty-icon[b-wuse99gk37] { font-size: 2.4rem; }
/* /Components/Dashboard/Widgets/BillsDueWidget.razor.rz.scp.css */
.bd-root[b-ohqbwjp9lj] { display: flex; flex-direction: column; gap: 2px; }
.bd-list[b-ohqbwjp9lj] { display: flex; flex-direction: column; gap: 2px; }

.bd-row[b-ohqbwjp9lj] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.bd-row:hover[b-ohqbwjp9lj],
.bd-row:focus-visible[b-ohqbwjp9lj] {
    background: color-mix(in srgb, var(--mud-palette-warning) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-warning) 32%, transparent);
    outline: none;
}

.bd-main[b-ohqbwjp9lj] { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }

.bd-num[b-ohqbwjp9lj] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bd-vendor[b-ohqbwjp9lj] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bd-right[b-ohqbwjp9lj] { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; }

.bd-amt[b-ohqbwjp9lj] {
    font-size: 0.85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.bd-due[b-ohqbwjp9lj] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.bd-foot[b-ohqbwjp9lj] { display: flex; justify-content: flex-end; padding-top: 2px; }

.bd-empty[b-ohqbwjp9lj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 22px 8px;
}

.bd-empty-icon[b-ohqbwjp9lj] { font-size: 2.4rem; }
/* /Components/Dashboard/Widgets/ExpenseBreakdownWidget.razor.rz.scp.css */
.eb-root[b-evqdyqdgmq] { display: flex; flex-direction: column; gap: 6px; }

.eb-head[b-evqdyqdgmq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
}

.eb-title[b-evqdyqdgmq] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
}

.eb-body[b-evqdyqdgmq] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.eb-chart[b-evqdyqdgmq] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
}

.eb-legend[b-evqdyqdgmq] {
    flex: 1 1 170px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 160px;
}

.eb-item[b-evqdyqdgmq] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
}

.eb-dot[b-evqdyqdgmq] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.eb-name[b-evqdyqdgmq] {
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.eb-val[b-evqdyqdgmq] {
    margin-left: auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
    flex-shrink: 0;
}

.eb-total[b-evqdyqdgmq] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    border-top: 1px solid var(--mud-palette-lines-default);
    padding-top: 5px;
    margin-top: 3px;
    font-weight: 700;
}

.eb-empty[b-evqdyqdgmq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 8px;
}

.eb-empty-icon[b-evqdyqdgmq] {
    font-size: 2.4rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/FinancialSnapshotWidget.razor.rz.scp.css */
.fsw-root[b-tdhaghz20f] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fsw-head[b-tdhaghz20f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
}

.fsw-year[b-tdhaghz20f] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
}

.fsw-body[b-tdhaghz20f] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.fsw-chart[b-tdhaghz20f] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
}

.fsw-figures[b-tdhaghz20f] {
    flex: 1 1 160px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 150px;
}

.fsw-fig[b-tdhaghz20f] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
}

.fsw-fig-label[b-tdhaghz20f] {
    color: var(--mud-palette-text-secondary);
}

.fsw-fig-val[b-tdhaghz20f] {
    margin-left: auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.fsw-fig--net[b-tdhaghz20f] {
    border-top: 1px solid var(--mud-palette-lines-default);
    padding-top: 6px;
    margin-top: 2px;
}

.fsw-dot[b-tdhaghz20f] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.fsw-margin[b-tdhaghz20f] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    text-align: right;
}

.fsw-empty[b-tdhaghz20f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 8px;
}

.fsw-empty-icon[b-tdhaghz20f] {
    font-size: 2.4rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/InventoryValuationWidget.razor.rz.scp.css */
.iv-root[b-v8gw2lncq2] { display: flex; flex-direction: column; gap: 6px; }

.iv-head[b-v8gw2lncq2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
}

.iv-title[b-v8gw2lncq2] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
}

.iv-body[b-v8gw2lncq2] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.iv-chart[b-v8gw2lncq2] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
}

.iv-legend[b-v8gw2lncq2] {
    flex: 1 1 170px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 160px;
}

.iv-item[b-v8gw2lncq2] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
}

.iv-dot[b-v8gw2lncq2] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.iv-name[b-v8gw2lncq2] {
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.iv-val[b-v8gw2lncq2] {
    margin-left: auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
    flex-shrink: 0;
}

.iv-total[b-v8gw2lncq2] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    border-top: 1px solid var(--mud-palette-lines-default);
    padding-top: 5px;
    margin-top: 3px;
    font-weight: 700;
}

.iv-empty[b-v8gw2lncq2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 8px;
}

.iv-empty-icon[b-v8gw2lncq2] {
    font-size: 2.4rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/KpiWidget.razor.rz.scp.css */
/* A metric tile is a fixed-width, inline-block card so multiple metrics placed in one panel
   flow horizontally and wrap onto the next line, rather than each filling 100% of the width.
   On a narrow panel it shrinks to fit (max-width:100%). */
.kpi-widget[b-ym7me0lllb] {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    vertical-align: top;
    margin: 0 10px 10px 0;
}

/* The inner health-tile card fills the fixed-width wrapper. */
.kpi-widget[b-ym7me0lllb]  .acc-health-tile {
    width: 100%;
}
/* /Components/Dashboard/Widgets/NetIncomeTrendWidget.razor.rz.scp.css */
.nit-root[b-9zbvqw4hd3] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nit-head[b-9zbvqw4hd3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
}

.nit-title[b-9zbvqw4hd3] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
}

.nit-empty[b-9zbvqw4hd3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 8px;
}

.nit-empty-icon[b-9zbvqw4hd3] {
    font-size: 2.4rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/OpenPoWidget.razor.rz.scp.css */
/* Fixed-width gradient metric tile (matches the other KPI tiles). */
.opo-widget[b-4lnl9qoid1] {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    vertical-align: top;
    margin: 0 10px 10px 0;
}

.opo-card[b-4lnl9qoid1] {
    transition: transform .18s ease, box-shadow .18s ease;
}

.opo-card:hover[b-4lnl9qoid1] {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}
/* /Components/Dashboard/Widgets/OverdueInvoicesWidget.razor.rz.scp.css */
.ow-root[b-3n0e2krnbl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ow-list[b-3n0e2krnbl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ow-row[b-3n0e2krnbl] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.ow-row:hover[b-3n0e2krnbl],
.ow-row:focus-visible[b-3n0e2krnbl] {
    background: color-mix(in srgb, var(--mud-palette-error) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-error) 30%, transparent);
    outline: none;
}

.ow-main[b-3n0e2krnbl] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.ow-num[b-3n0e2krnbl] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ow-cust[b-3n0e2krnbl] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ow-right[b-3n0e2krnbl] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
}

.ow-amt[b-3n0e2krnbl] {
    font-size: 0.85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.ow-days[b-3n0e2krnbl] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mud-palette-error);
}

.ow-foot[b-3n0e2krnbl] {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}

.ow-empty[b-3n0e2krnbl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 22px 8px;
}

.ow-empty-icon[b-3n0e2krnbl] {
    font-size: 2.4rem;
}
/* /Components/Dashboard/Widgets/PayrollKpiWidget.razor.rz.scp.css */
/* Fixed-width metric tile so payroll tiles line up horizontally alongside the accounting
   metric tiles (matches .kpi-widget) and wrap onto the next line. */
.pk-widget[b-numsm0lasu] {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    vertical-align: top;
    margin: 0 10px 10px 0;
}

.pk-card[b-numsm0lasu] {
    transition: transform .18s ease, box-shadow .18s ease;
}

.pk-card:hover[b-numsm0lasu] {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}
/* /Components/Dashboard/Widgets/PinnedWidget.razor.rz.scp.css */
.pw-tiles[b-k7ptvnc8bv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 8px;
}

.pw-tile[b-k7ptvnc8bv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 6px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: var(--mud-palette-background-grey);
    cursor: pointer;
    text-align: center;
    transition: background .12s, border-color .12s, transform .1s;
}

.pw-tile:hover[b-k7ptvnc8bv],
.pw-tile:focus-visible[b-k7ptvnc8bv] {
    background: color-mix(in srgb, var(--mud-palette-warning) 14%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-warning) 50%, transparent);
    transform: translateY(-2px);
    outline: none;
}

.pw-tile-icon[b-k7ptvnc8bv] {
    font-size: 1.6rem;
    color: var(--mud-palette-primary);
}

.pw-tile-label[b-k7ptvnc8bv] {
    font-size: 0.68rem;
    line-height: 1.2;
    color: var(--mud-palette-text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pw-empty[b-k7ptvnc8bv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 22px 10px;
    text-align: center;
}

.pw-empty-icon[b-k7ptvnc8bv] {
    font-size: 2.4rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/PosToApproveWidget.razor.rz.scp.css */
.pta-root[b-tc75me7gpe] { display: flex; flex-direction: column; gap: 2px; }
.pta-list[b-tc75me7gpe] { display: flex; flex-direction: column; gap: 2px; }

.pta-row[b-tc75me7gpe] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.pta-row:hover[b-tc75me7gpe],
.pta-row:focus-visible[b-tc75me7gpe] {
    background: color-mix(in srgb, var(--mud-palette-warning) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-warning) 32%, transparent);
    outline: none;
}

.pta-main[b-tc75me7gpe] { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }

.pta-num[b-tc75me7gpe] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pta-vendor[b-tc75me7gpe] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pta-right[b-tc75me7gpe] { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; }

.pta-amt[b-tc75me7gpe] {
    font-size: 0.85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.pta-status[b-tc75me7gpe] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mud-palette-warning);
}

.pta-foot[b-tc75me7gpe] { display: flex; justify-content: flex-end; padding-top: 2px; }

.pta-empty[b-tc75me7gpe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 22px 8px;
}

.pta-empty-icon[b-tc75me7gpe] { font-size: 2.4rem; }
/* /Components/Dashboard/Widgets/ProfitKpiWidget.razor.rz.scp.css */
/* Fixed-width gradient metric tile (matches the other KPI tiles). */
.prk-widget[b-5o38qcla55] {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    vertical-align: top;
    margin: 0 10px 10px 0;
}

.prk-card[b-5o38qcla55] {
    transition: transform .18s ease, box-shadow .18s ease;
}

.prk-card:hover[b-5o38qcla55] {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}
/* /Components/Dashboard/Widgets/QuickActionsWidget.razor.rz.scp.css */
.qa-tiles[b-tuojq2zlus] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 8px;
}

.qa-tile[b-tuojq2zlus] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 6px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: var(--mud-palette-background-grey);
    cursor: pointer;
    text-align: center;
    transition: background .12s, border-color .12s, transform .1s;
}

.qa-tile:hover[b-tuojq2zlus],
.qa-tile:focus-visible[b-tuojq2zlus] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
    transform: translateY(-2px);
    outline: none;
}

.qa-tile-icon[b-tuojq2zlus] {
    font-size: 1.6rem;
    color: var(--mud-palette-primary);
}

.qa-tile-label[b-tuojq2zlus] {
    font-size: 0.68rem;
    line-height: 1.2;
    color: var(--mud-palette-text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* /Components/Dashboard/Widgets/RecentActivityWidget.razor.rz.scp.css */
.ra-root[b-2d6ojn9r6i] { display: flex; flex-direction: column; gap: 2px; }
.ra-list[b-2d6ojn9r6i] { display: flex; flex-direction: column; gap: 2px; }

.ra-row[b-2d6ojn9r6i] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.ra-row:hover[b-2d6ojn9r6i],
.ra-row:focus-visible[b-2d6ojn9r6i] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
    outline: none;
}

.ra-icon[b-2d6ojn9r6i] {
    font-size: 1.25rem;
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

.ra-main[b-2d6ojn9r6i] { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }

.ra-title[b-2d6ojn9r6i] {
    font-size: 0.85rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ra-sub[b-2d6ojn9r6i] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ra-foot[b-2d6ojn9r6i] { display: flex; justify-content: flex-end; padding-top: 2px; }

.ra-empty[b-2d6ojn9r6i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 22px 8px;
}

.ra-empty-icon[b-2d6ojn9r6i] {
    font-size: 2.4rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/RecentWidget.razor.rz.scp.css */
.rw-list[b-f5km925qxz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rw-row[b-f5km925qxz] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.rw-row:hover[b-f5km925qxz],
.rw-row:focus-visible[b-f5km925qxz] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    outline: none;
}

.rw-icon[b-f5km925qxz] {
    font-size: 1.25rem;
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

.rw-text[b-f5km925qxz] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rw-title[b-f5km925qxz] {
    font-size: 0.85rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rw-sub[b-f5km925qxz] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rw-empty[b-f5km925qxz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 8px;
}

.rw-empty-icon[b-f5km925qxz] {
    font-size: 2.2rem;
    color: var(--mud-palette-text-disabled);
}
/* /Components/Dashboard/Widgets/ReportWidget.razor.rz.scp.css */
.rw-root[b-nodijw7asq] {
    display: flex;
    flex-direction: column;
    min-height: 120px;
}

/* Minimalist control cluster: icon-only View / Params tabs with the Refresh icon to their right. */
.rw-bar[b-nodijw7asq] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
}

/* Trim the refresh icon button so it sits flush against the tab strip without dominating the bar. */
.rw-refresh[b-nodijw7asq] {
    padding: 4px;
}

.rw-refresh[b-nodijw7asq]  .mud-icon-root {
    font-size: 1rem;
}

.rw-empty[b-nodijw7asq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px 8px;
    text-align: center;
}

.rw-empty-icon[b-nodijw7asq] {
    font-size: 2.2rem;
    opacity: 0.4;
}

.rw-params[b-nodijw7asq] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Framed parameter card — subtle border + tint, matching the Add-widget category cards. */
.rw-pcard[b-nodijw7asq] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}

.rw-field[b-nodijw7asq] {
    width: 100%;
}

/* Rows + fit-mode stacked vertically at a shared width. */
.rw-opts[b-nodijw7asq] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 220px;
    margin-top: 2px;
}

/* Execute + Edit buttons on the left, spaced apart. */
.rw-actions[b-nodijw7asq] {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 2px;
}

/* Bottom-left view bar: a minimalist rows selector plus the "showing first N rows" note. */
.rw-viewfoot[b-nodijw7asq] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

/* Minimalist native dropdown — small, transparent, a subtle affordance rather than a full form field. */
.rw-rows[b-nodijw7asq] {
    font-size: 0.68rem;
    color: var(--mud-palette-text-secondary);
    background: transparent;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    padding: 1px 4px;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color .12s ease, color .12s ease;
}

.rw-rows:hover[b-nodijw7asq] {
    color: var(--mud-palette-text-primary);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
}

.rw-rows:focus-visible[b-nodijw7asq] {
    outline: none;
    border-color: var(--mud-palette-primary);
}

/* Native option list needs explicit colours to stay readable in dark mode. */
.rw-rows option[b-nodijw7asq] {
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-surface);
}

.rw-trunc[b-nodijw7asq] {
    font-size: 0.68rem;
    color: var(--mud-palette-text-secondary);
}

/* Fit mode: the JS scaler sets an explicit height + transform on the canvas; hide horizontal spill. */
.rw-frame--fit[b-nodijw7asq] {
    width: 100%;
    overflow: hidden;
    position: relative;
}

/* Scroll mode: keep the report's designed width and scroll horizontally within the panel. */
.rw-frame--scroll[b-nodijw7asq] {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.rw-canvas[b-nodijw7asq] {
    /* fit mode scales this via transform; scroll mode shows it at natural width */
    display: inline-block;
}

/* No paper look: the frame is transparent and takes the panel's background, so report text inherits
   the theme colour and stays readable in light and dark mode (per design — it's a viewport, not a page). */
.rw-section[b-nodijw7asq] {
    background: transparent;
    color: inherit;
    margin: 0 0 6px 0;
}
/* /Components/Dashboard/Widgets/RevenueKpiWidget.razor.rz.scp.css */
/* Fixed-width gradient metric tile (matches .kpi-widget / .pk-widget) so revenue tiles line up
   horizontally alongside the other metric tiles and wrap. */
.rk-widget[b-phd8w9j7dy] {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    vertical-align: top;
    margin: 0 10px 10px 0;
}

.rk-card[b-phd8w9j7dy] {
    transition: transform .18s ease, box-shadow .18s ease;
}

.rk-card:hover[b-phd8w9j7dy] {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}
/* /Components/Dashboard/Widgets/SalesBacklogWidget.razor.rz.scp.css */
/* Fixed-width gradient metric tile (matches the other KPI tiles). */
.oso-widget[b-okfcidu7bi] {
    display: inline-block;
    width: 240px;
    max-width: 100%;
    vertical-align: top;
    margin: 0 10px 10px 0;
}

.oso-card[b-okfcidu7bi] {
    transition: transform .18s ease, box-shadow .18s ease;
}

.oso-card:hover[b-okfcidu7bi] {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}
/* /Components/Dashboard/Widgets/UnreconciledBankWidget.razor.rz.scp.css */
.ubw-root[b-zg2innog0m] { display: flex; flex-direction: column; gap: 2px; }
.ubw-list[b-zg2innog0m] { display: flex; flex-direction: column; gap: 2px; }

.ubw-row[b-zg2innog0m] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.ubw-row:hover[b-zg2innog0m],
.ubw-row:focus-visible[b-zg2innog0m] {
    background: color-mix(in srgb, var(--mud-palette-info) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-info) 32%, transparent);
    outline: none;
}

.ubw-main[b-zg2innog0m] { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }

.ubw-desc[b-zg2innog0m] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ubw-acct[b-zg2innog0m] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ubw-amt[b-zg2innog0m] {
    font-size: 0.85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
    flex-shrink: 0;
}

.ubw-foot[b-zg2innog0m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 2px;
}

.ubw-count[b-zg2innog0m] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    padding-left: 8px;
}

.ubw-empty[b-zg2innog0m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 22px 8px;
}

.ubw-empty-icon[b-zg2innog0m] { font-size: 2.4rem; }
/* /Components/Navigation/CommandPaletteDialog.razor.rz.scp.css */
/* Command palette (⌘K) — Spotlight-style overlay body. */
.cmd-palette[b-n9bjy7w9xk] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: -8px -4px;   /* trim MudDialog content padding for a tight box */
}

.cmd-palette-field[b-n9bjy7w9xk] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.cmd-palette-search-icon[b-n9bjy7w9xk] {
    flex: 0 0 auto;
    color: var(--mud-palette-text-secondary);
    font-size: 1.5rem !important;
}

.cmd-palette-input[b-n9bjy7w9xk] {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.6;
    padding: 0;
}

.cmd-palette-input[b-n9bjy7w9xk]::placeholder {
    color: var(--mud-palette-text-disabled);
}

.cmd-palette-badge[b-n9bjy7w9xk] {
    flex: 0 0 auto;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--mud-palette-text-secondary);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 5px;
    padding: 2px 7px;
    background: var(--mud-palette-background-grey);
}

.cmd-palette-body[b-n9bjy7w9xk] {
    padding-top: 4px;
}

.cmd-palette-foot[b-n9bjy7w9xk] {
    display: flex;
    gap: 18px;
    padding: 9px 12px 4px;
    border-top: 1px solid var(--mud-palette-lines-default);
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
}

.cmd-palette-foot span[b-n9bjy7w9xk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.cmd-palette-foot kbd[b-n9bjy7w9xk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    font-size: 0.72rem;
    font-family: inherit;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
}
/* /Components/Preferences/KeyboardShortcutsSettings.razor.rz.scp.css */
/* Keyboard-combo pill in the shortcuts settings list. */
.ks-combo[b-ojlfd4rnm3] {
    display: inline-flex;
    align-items: center;
    min-width: 70px;
    justify-content: center;
    padding: 3px 10px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
}
/* /Components/Products/ProductsExplorerPanel.razor.rz.scp.css */
/* "More filters" popover — trial of a collapsed-filter pattern for TritiumGridToolbar (2026-07-20),
   scoped to this page only so it stays fully self-contained and reversible while it's being judged.
   Same shape as the taskbar tray popovers (.msc-panel-dropdown etc.): a relative host, an absolutely
   positioned panel anchored under the button, and a full-screen click-catcher to dismiss on outside click. */
/* TritiumGridToolbar's OWN equalization rule gives every filter FIELD `min-height:44px` — but that alone
   left the button sitting slightly higher than Search. Why: MudGrid's row default is `align-items:stretch`,
   so my MudItem gets stretched to match the row's TALLEST item (the search field, label + input + its
   underline chrome, taller than 44px) — but `min-height:44px` on .pe-more-filters is only a FLOOR, so the
   div didn't fill that taller stretched box, just sat at its own natural (shorter) height, flush to the
   TOP of the stretched MudItem. `height:100%` makes it fill the actual stretched height, so centering
   within THAT is centering within the same box the search field occupies — not an approximated number. */
.pe-more-filters[b-bca1ei3gib] {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    /* The button now right-aligns within this (wide) host — see the MudItem's column span in the .razor
       file — so it sits flush against the toolbar's true right edge instead of trailing Search. */
    justify-content: flex-end;
}

.pe-more-filters-overlay[b-bca1ei3gib] {
    position: fixed;
    inset: 0;
    z-index: 19;
}

.pe-more-filters-panel[b-bca1ei3gib] {
    position: absolute;
    top: calc(100% + 6px);
    /* right:0, not left:0 — the button now sits at the RIGHT edge of .pe-more-filters (justify-content:
       flex-end above), so anchoring the panel to the left would float it away from the button that opens
       it. Anchoring to the button's own edge keeps the panel visually attached regardless of window width. */
    right: 0;
    z-index: 20;
    min-width: 280px;
    max-width: 360px;
    border-radius: 8px;
}
/* /Components/Search/AdminQuickActions.razor.rz.scp.css */
/* Admin quick-actions strip at the top of the master-search dropdown — desktop-icon tiles,
   mirroring the report element palette (TritiumElementPicker .tep-tile). */
.aqa-strip[b-lq6wx9fd8k] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}

.aqa-tile[b-lq6wx9fd8k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    width: 78px;
    padding: 6px 4px;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    border: 1px solid transparent;
    transition: background .12s, border-color .12s;
    text-align: center;
}

.aqa-tile:hover[b-lq6wx9fd8k] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
}

.aqa-tile:focus-visible[b-lq6wx9fd8k] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}

.aqa-tile-label[b-lq6wx9fd8k] {
    font-size: 0.66rem;
    line-height: 1.2;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* /Components/_Shared/CriticalErrorWindow/CriticalErrorContent.razor.rz.scp.css */
.tt-crit-err[b-8bdy2gdnr5] {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 4px;
}

.tt-crit-err__icon[b-8bdy2gdnr5] {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    padding-top: 4px;
}

.tt-crit-err__body[b-8bdy2gdnr5] {
    flex: 1 1 auto;
    min-width: 0;
}

.tt-crit-err__details[b-8bdy2gdnr5] {
    margin: 4px 0 0;
    padding: 10px 12px;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius, 4px);
    font-family: Consolas, 'Courier New', monospace;
    font-size: .78rem;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 280px;
    overflow: auto;
}
/* /Components/_Shared/TritiumAddressPicker/TritiumAddressPicker.razor.rz.scp.css */
/* TritiumAddressPicker — decoupled address search / pick / show control.
   Sibling of TritiumContactPicker; theme palette variables only. */

.tapk-root[b-mjx8bds5f6] { position: relative; display: block; }

/* ── The field (MudField shell + clickable wrapper) ─────────────────────── */
.tapk-fieldwrap[b-mjx8bds5f6] { display: block; outline: none; cursor: pointer; border-radius: var(--mud-default-borderradius); }
.tapk-fieldwrap.tapk-nointeract[b-mjx8bds5f6] { cursor: default; }
.tapk-fieldwrap:focus-visible[b-mjx8bds5f6] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
/* The MudField gives label/border/helper/error; this row is its value area. */
.tapk-field-content[b-mjx8bds5f6] { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 30px; user-select: none; }

.tapk-card-icon[b-mjx8bds5f6] { flex-shrink: 0; opacity: 0.6; }
.tapk-card-placeholder[b-mjx8bds5f6] { font-size: 0.78rem; color: var(--mud-palette-text-secondary); font-style: italic; }

/* Trailing controls (clear + chevron) pinned to the far right. */
.tapk-card-trailing[b-mjx8bds5f6] { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.tapk-card-chevron[b-mjx8bds5f6]  { flex-shrink: 0; opacity: 0.45; font-size: 1.1rem !important; }

/* ── Location badge (leading) ───────────────────────────────────────────── */
.tapk-badge[b-mjx8bds5f6] {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
.tapk-badge-icon[b-mjx8bds5f6] { font-size: 1.25rem !important; }

/* ── Body (street + locality + tags) ────────────────────────────────────── */
.tapk-main[b-mjx8bds5f6] { flex: 1; min-width: 0; }
.tapk-name-line[b-mjx8bds5f6] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tapk-name[b-mjx8bds5f6] {
    font-size: 0.84rem; font-weight: 600; line-height: 1.3;
    color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}

.tapk-tags[b-mjx8bds5f6] { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; flex-wrap: wrap; margin-left: auto; justify-content: flex-end; }
.tapk-tag[b-mjx8bds5f6] {
    font-size: 0.56rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
    padding: 1px 6px; border-radius: 4px; line-height: 1.5; white-space: nowrap;
}
.tapk-tag-ok[b-mjx8bds5f6] {
    color: var(--mud-palette-success);
    background: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-success) 35%, transparent);
}
.tapk-tag-map[b-mjx8bds5f6] {
    color: var(--mud-palette-info);
    background: color-mix(in srgb, var(--mud-palette-info) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-info) 35%, transparent);
}

.tapk-meta[b-mjx8bds5f6] {
    display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; margin-top: 3px;
    font-size: 0.68rem; color: var(--mud-palette-text-secondary);
}
.tapk-meta-item[b-mjx8bds5f6] { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
/* Icon size/color are set inline on the MudIcon — scoped CSS can't reach a child
   component's rendered <svg> (it has no [b-xxx] scope attribute). */
.tapk-meta-icon[b-mjx8bds5f6] { flex-shrink: 0; }

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tapk-backdrop[b-mjx8bds5f6] { position: fixed; inset: 0; z-index: 8998; }

.tapk-popup[b-mjx8bds5f6] {
    position: fixed; z-index: 8999; max-width: 580px;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
}
.tapk-search-bar[b-mjx8bds5f6] {
    padding: 10px 12px 8px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}
.tapk-search-row[b-mjx8bds5f6] { display: flex; align-items: center; gap: 6px; }
.tapk-action-btn[b-mjx8bds5f6] { flex-shrink: 0; }

.tapk-grid[b-mjx8bds5f6] {
    display: grid; grid-template-columns: 1fr; gap: 6px;
    padding: 10px 12px 12px; max-height: 480px; min-height: 220px; overflow-y: auto;
}
.tapk-empty[b-mjx8bds5f6] {
    grid-column: 1 / -1; padding: 50px 0; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.tapk-empty--nodata[b-mjx8bds5f6] { font-style: italic; }
.tapk-empty-icon[b-mjx8bds5f6] { font-size: 2.4rem !important; opacity: 0.4; }

/* ── Result tiles ───────────────────────────────────────────────────────── */
.tapk-tile[b-mjx8bds5f6] {
    padding: 9px 11px; border-radius: 8px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background);
    display: flex; align-items: center; gap: 10px;
    cursor: pointer; min-height: 56px;
    transition: background .12s, border-color .12s, box-shadow .1s, transform .1s;
}
.tapk-tile:hover[b-mjx8bds5f6] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}
.tapk-tile:focus-visible[b-mjx8bds5f6] { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; border-color: var(--mud-palette-primary); }
.tapk-tile-selected[b-mjx8bds5f6] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary);
}

/* In a tile there is more room: let the street line wrap if long. */
.tapk-tile .tapk-name[b-mjx8bds5f6] { white-space: normal; }
/* /Components/_Shared/TritiumAppLauncher/TritiumAppLauncher.razor.rz.scp.css */
/* TritiumAppLauncher — search-first Start-menu surface: search + cascading columns + recents footer. */

/* Keyboard-focus ring for navigable cells (arrow-key navigation). */
.tal-nav:focus-visible[b-xmukfy7k0m] {
    outline: 2px solid color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 65%, transparent);
    outline-offset: -2px;
}

.tal-root[b-xmukfy7k0m] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: var(--mud-palette-surface);
    /* Theme-aware base color so child MudIcon SVGs (which scoped CSS can't reach) inherit a visible
       color in dark mode instead of falling back to the inherited default (black). Icons with an
       explicit inline color still override this. */
    color: var(--mud-palette-text-primary);
}

/* ── search ───────────────────────────────────────────────────────────────── */
.tal-search[b-xmukfy7k0m] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    flex-shrink: 0;
}

.tal-search-icon[b-xmukfy7k0m] {
    color: var(--mud-palette-text-secondary);
    flex: 0 0 auto;
}

.tal-search-input[b-xmukfy7k0m] {
    flex: 1 1 auto;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1rem;
    color: var(--mud-palette-text-primary);
}

.tal-search-input[b-xmukfy7k0m]::placeholder {
    color: var(--mud-palette-text-disabled);
}

.tal-search-clear[b-xmukfy7k0m] {
    flex: 0 0 auto;
}

/* ── browse: cascading columns ────────────────────────────────────────────── */
.tal-cols[b-xmukfy7k0m] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr) minmax(0, 1fr);
}

.tal-col[b-xmukfy7k0m] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid var(--mud-palette-lines-default);
}

.tal-col:last-child[b-xmukfy7k0m] {
    border-right: none;
}

.tal-modules[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 3%, var(--mud-palette-surface));
}

.tal-col-head[b-xmukfy7k0m] {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    padding: 12px 14px 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

.tal-col-scroll[b-xmukfy7k0m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px 8px 12px;
    overflow-y: auto;
    min-height: 0;
}

/* module tiles (column 1) */
.tal-module[b-xmukfy7k0m] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border-radius: 10px;
    cursor: pointer;
    outline: none;
    border: 1px solid transparent;
    transition: background .12s, border-color .12s, transform .12s;
}

.tal-module:hover[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
    transform: translateX(2px);
}

.tal-module.tal-active[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 12%, transparent);
    border-color: color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 38%, transparent);
}

.tal-module:focus-visible[b-xmukfy7k0m] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}

.tal-module-icon[b-xmukfy7k0m] {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.tal-module-label[b-xmukfy7k0m] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* node / child rows (columns 2 & 3) */
.tal-item[b-xmukfy7k0m] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 10px;
    border-radius: 9px;
    border: 1px solid transparent;
    cursor: pointer;
    outline: none;
    min-width: 0;
    transition: background .12s, border-color .12s;
}

.tal-item:hover[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.tal-item.tal-active[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 12%, transparent);
}

/* "You are here" — the leaf matching the currently-open page. Same look as a selected module tile:
   a tint plus a thin primary border. */
.tal-item.tal-current[b-xmukfy7k0m],
.tal-row.tal-current[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 16%, transparent);
    border-color: color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 45%, transparent);
    color: var(--mud-palette-primary);           /* child icon inherits this (kept theme-safe) */
}

.tal-item.tal-current .tal-item-label[b-xmukfy7k0m],
.tal-row.tal-current .tal-row-title[b-xmukfy7k0m] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

/* A group that contains the current page — a fainter border so it's findable when collapsed. */
.tal-item.tal-current-ancestor[b-xmukfy7k0m] {
    border-color: color-mix(in srgb, var(--tal-accent, var(--mud-palette-primary)) 24%, transparent);
}

.tal-item:focus-visible[b-xmukfy7k0m] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}

.tal-item-icon[b-xmukfy7k0m] {
    flex: 0 0 auto;
    font-size: 1.2rem !important;
    color: var(--mud-palette-text-secondary);
}

.tal-item-label[b-xmukfy7k0m] {
    flex: 1 1 auto;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tal-item-chevron[b-xmukfy7k0m] {
    flex: 0 0 auto;
    font-size: 1.1rem !important;
    color: var(--mud-palette-text-disabled);
}

/* Pin (star) affordance — hidden until the row is hovered; always shown when pinned. */
.tal-pin[b-xmukfy7k0m] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    cursor: pointer;
    opacity: 0;
    color: var(--mud-palette-text-secondary);   /* child star inherits this */
    transition: opacity .12s, background .12s, color .12s;
}

.tal-item:hover .tal-pin[b-xmukfy7k0m],
.tal-row:hover .tal-pin[b-xmukfy7k0m] {
    opacity: 0.7;
}

.tal-pin:hover[b-xmukfy7k0m] {
    opacity: 1;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.tal-pin.tal-pinned[b-xmukfy7k0m] {
    opacity: 1;
    color: var(--mud-palette-warning);          /* amber filled star */
}

.tal-pin-icon[b-xmukfy7k0m] {
    color: inherit;
}

/* ── search results ───────────────────────────────────────────────────────── */
.tal-results[b-xmukfy7k0m] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 6px 8px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tal-row[b-xmukfy7k0m] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 10px;
    border-radius: 9px;
    border: 1px solid transparent;
    cursor: pointer;
    outline: none;
    min-width: 0;
    transition: background .12s, border-color .12s;
}

.tal-row:hover[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.tal-row-icon[b-xmukfy7k0m] {
    flex: 0 0 auto;
    font-size: 1.25rem !important;
    color: var(--mud-palette-text-secondary);
}

.tal-row-text[b-xmukfy7k0m] { min-width: 0; flex: 1 1 auto; }

.tal-row-title[b-xmukfy7k0m] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tal-row-sub[b-xmukfy7k0m] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tal-searchrecords[b-xmukfy7k0m] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px;
    margin-top: 4px;
    border-radius: 9px;
    cursor: pointer;
    outline: none;
    border: 1px dashed var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
    transition: background .12s;
}

.tal-searchrecords:hover[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 6%, transparent);
}

.tal-searchrecords-arrow[b-xmukfy7k0m] {
    margin-left: auto;
    font-size: 1.1rem !important;
}

/* ── footer: pinned + recents ─────────────────────────────────────────────── */
.tal-foot[b-xmukfy7k0m] {
    flex-shrink: 0;
    border-top: 1px solid var(--mud-palette-lines-default);
    padding: 8px 10px;
    background: color-mix(in srgb, var(--mud-palette-primary) 2%, var(--mud-palette-surface));
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tal-foot-row[b-xmukfy7k0m] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.tal-foot-label[b-xmukfy7k0m] {
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    width: 56px;
}

.tal-chips[b-xmukfy7k0m] {
    flex: 1 1 auto;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.tal-chip[b-xmukfy7k0m] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 16px;
    cursor: pointer;
    outline: none;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    max-width: 200px;
    transition: background .12s, border-color .12s;
}

.tal-chip:hover[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
}

.tal-chip-icon[b-xmukfy7k0m] {
    flex: 0 0 auto;
    font-size: 1.05rem !important;
    color: var(--mud-palette-text-secondary);
}

.tal-chip-label[b-xmukfy7k0m] {
    font-size: 0.8rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Pinned "My tiles" — desktop-icon style (icon over label), matching the report designer element tiles. */
.tal-foot-row--tiles[b-xmukfy7k0m] {
    align-items: flex-start;
}

.tal-foot-row--tiles .tal-foot-label[b-xmukfy7k0m] {
    padding-top: 8px;
}

.tal-tiles[b-xmukfy7k0m] {
    flex: 1 1 auto;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.tal-tile[b-xmukfy7k0m] {
    flex: 0 0 auto;
    width: 76px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 4px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    outline: none;
    text-align: center;
    transition: background .12s, border-color .12s;
}

.tal-tile:hover[b-xmukfy7k0m] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
}

.tal-tile:focus-visible[b-xmukfy7k0m] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}

.tal-tile-label[b-xmukfy7k0m] {
    font-size: 0.66rem;
    line-height: 1.2;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* ── empty states ─────────────────────────────────────────────────────────── */
.tal-empty[b-xmukfy7k0m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 34px 16px 40px;
    text-align: center;
}

.tal-empty-icon[b-xmukfy7k0m] {
    font-size: 2rem !important;
    opacity: 0.35;
}

/* ── responsive: collapse to a single scrolling column on narrow screens ──── */
@media (max-width: 720px) {
    .tal-cols[b-xmukfy7k0m] {
        grid-template-columns: 1fr;
        grid-auto-rows: min-content;
        overflow-y: auto;
    }

    .tal-col[b-xmukfy7k0m] {
        border-right: none;
        border-bottom: 1px solid var(--mud-palette-lines-default);
    }
}

/* ── touch: no hover, so reveal the pin star and enlarge tap targets ───────── */
@media (hover: none) {
    .tal-pin[b-xmukfy7k0m] {
        opacity: 0.55;
    }

    .tal-item[b-xmukfy7k0m],
    .tal-row[b-xmukfy7k0m] {
        padding-top: 11px;
        padding-bottom: 11px;
    }

    .tal-module[b-xmukfy7k0m] {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .tal-chip[b-xmukfy7k0m] {
        padding: 7px 12px;
    }
}
/* /Components/_Shared/TritiumCardPanel/TritiumCardPanel.razor.rz.scp.css */
/* Scoped to TritiumCardPanel — moves with the component (Blazor CSS isolation).
   Uses MudBlazor palette variables so it follows the host theme; the only
   dependency is MudBlazor itself. */

.tcp-root[b-85j4ia8e2e] {
    display: flex;
    flex-direction: column;      /* header / divider / body stack; body fills the height */
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius, 4px);
    overflow: hidden;            /* clip header hover / divider to the rounded corners */
}

/* ── Header ── */
.tcp-header[b-85j4ia8e2e] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
}

.tcp-clickable[b-85j4ia8e2e] {
    cursor: pointer;
    user-select: none;
    outline: none;
}

.tcp-clickable:hover[b-85j4ia8e2e] {
    background: var(--mud-palette-action-default-hover);
}

/* ── ShadeColor tint ──
   --tcp-shade is set inline by the component to a palette color when ShadeColor
   is assigned. Body ~7%, header ~15% (a touch more on hover) over the surface. */
.tcp-shaded .tcp-header[b-85j4ia8e2e] {
    background: color-mix(in srgb, var(--tcp-shade) 15%, transparent);
}

.tcp-shaded .tcp-body[b-85j4ia8e2e] {
    background: color-mix(in srgb, var(--tcp-shade) 7%, transparent);
}

.tcp-shaded .tcp-clickable:hover[b-85j4ia8e2e] {
    background: color-mix(in srgb, var(--tcp-shade) 22%, transparent);
}

.tcp-clickable:focus-visible[b-85j4ia8e2e] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.tcp-icon[b-85j4ia8e2e] {
    flex: 0 0 auto;
}

.tcp-titles[b-85j4ia8e2e] {
    flex: 1 1 auto;
    min-width: 0;                /* allow truncation of long titles */
}

.tcp-title[b-85j4ia8e2e] {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mud-palette-primary);
}

.tcp-subtitle[b-85j4ia8e2e] {
    font-size: 0.8rem;
    line-height: 1.3;
    margin-top: 2px;
    color: var(--mud-palette-text-secondary);
}

.tcp-actions[b-85j4ia8e2e] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* The chevron icon is swapped per state in the markup (ExpandMore ▼ expanded,
   ChevronRight ▶ collapsed) — CSS rotation can't reach the child MudIcon under
   Blazor CSS isolation, so it's an icon swap, not a transform. */
.tcp-chevron[b-85j4ia8e2e] {
    flex: 0 0 auto;
}

/* ── Divider + body ── */
.tcp-divider[b-85j4ia8e2e] {
    flex: 0 0 auto;
    height: 1px;
    background: var(--mud-palette-lines-default);
}

.tcp-body[b-85j4ia8e2e] {
    flex: 1 1 auto;              /* fill the card height so the body tint covers it all */
    min-height: 0;              /* allow a scrolling BodyClass (overflow:auto) to work */
    padding: 4px;
}

.tcp-hidden[b-85j4ia8e2e] {
    display: none;
}
/* /Components/_Shared/TritiumChart/TritiumChart.razor.rz.scp.css */
.tritium-chart[b-1bhel1jctc] {
    position: relative;
    min-height: 0;
}

.tritium-chart-nodata[b-1bhel1jctc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 80px;
    font-size: 0.8rem;
    opacity: 0.55;
}
/* /Components/_Shared/TritiumContactPicker/TritiumContactPicker.razor.rz.scp.css */
/* TritiumContactPicker — decoupled contact search / pick / show control (role-filtered).
   Sibling of TritiumProjectPicker; theme palette variables only. */

.tcpk-root[b-1pt6cylpqy] { position: relative; display: block; }

/* ── The field (MudField shell + clickable wrapper) ─────────────────────── */
.tcpk-fieldwrap[b-1pt6cylpqy] { display: block; outline: none; cursor: pointer; border-radius: var(--mud-default-borderradius); }
.tcpk-fieldwrap.tcpk-nointeract[b-1pt6cylpqy] { cursor: default; }
.tcpk-fieldwrap:focus-visible[b-1pt6cylpqy] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
/* The MudField gives label/border/helper/error; this row is its value area. */
.tcpk-field-content[b-1pt6cylpqy] { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 30px; user-select: none; }

.tcpk-card-icon[b-1pt6cylpqy] { flex-shrink: 0; opacity: 0.6; }
.tcpk-card-placeholder[b-1pt6cylpqy] { font-size: 0.78rem; color: var(--mud-palette-text-secondary); font-style: italic; }

/* Trailing controls (clear + chevron) pinned to the far right. */
.tcpk-card-trailing[b-1pt6cylpqy] { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.tcpk-card-chevron[b-1pt6cylpqy]  { flex-shrink: 0; opacity: 0.45; font-size: 1.1rem !important; }

/* ── Initials avatar ────────────────────────────────────────────────────── */
.tcpk-avatar[b-1pt6cylpqy] {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
    text-transform: uppercase; line-height: 1;
}

/* ── Body (name + roles + meta + address) ───────────────────────────────── */
.tcpk-main[b-1pt6cylpqy] { flex: 1; min-width: 0; }
.tcpk-name-line[b-1pt6cylpqy] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tcpk-name[b-1pt6cylpqy] {
    font-size: 0.84rem; font-weight: 600; line-height: 1.3;
    color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}

.tcpk-roles[b-1pt6cylpqy] { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; flex-wrap: wrap; margin-left: auto; justify-content: flex-end; }
.tcpk-role[b-1pt6cylpqy] {
    font-size: 0.56rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
    padding: 1px 6px; border-radius: 4px; line-height: 1.5; white-space: nowrap;
    color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}
.tcpk-role-more[b-1pt6cylpqy] {
    color: var(--mud-palette-text-secondary);
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 12%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-text-secondary) 30%, transparent);
}

.tcpk-meta[b-1pt6cylpqy] {
    display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; margin-top: 3px;
    font-size: 0.68rem; color: var(--mud-palette-text-secondary);
}
.tcpk-meta-item[b-1pt6cylpqy] { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.tcpk-meta-email[b-1pt6cylpqy] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
/* Icon size/color are set inline on the MudIcon — scoped CSS can't reach a child
   component's rendered <svg> (it has no [b-xxx] scope attribute). */
.tcpk-meta-icon[b-1pt6cylpqy] { flex-shrink: 0; }

.tcpk-address[b-1pt6cylpqy] {
    display: flex; align-items: center; gap: 4px; margin-top: 3px;
    font-size: 0.66rem; color: var(--mud-palette-text-secondary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tcpk-backdrop[b-1pt6cylpqy] { position: fixed; inset: 0; z-index: 8998; }

.tcpk-popup[b-1pt6cylpqy] {
    position: fixed; z-index: 8999; max-width: 580px;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
}
.tcpk-search-bar[b-1pt6cylpqy] {
    padding: 10px 12px 8px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}
.tcpk-search-row[b-1pt6cylpqy] { display: flex; align-items: center; gap: 6px; }
.tcpk-action-btn[b-1pt6cylpqy] { flex-shrink: 0; }
.tcpk-role-filter[b-1pt6cylpqy] { display: flex; align-items: center; gap: 5px; margin-top: 6px; }
.tcpk-role-filter-icon[b-1pt6cylpqy] { font-size: 0.9rem !important; opacity: 0.6; color: var(--mud-palette-text-secondary); }
.tcpk-role-filter-chip[b-1pt6cylpqy] { font-size: 0.58rem; }

.tcpk-grid[b-1pt6cylpqy] {
    display: grid; grid-template-columns: 1fr; gap: 6px;
    padding: 10px 12px 12px; max-height: 480px; min-height: 220px; overflow-y: auto;
}
.tcpk-empty[b-1pt6cylpqy] {
    grid-column: 1 / -1; padding: 50px 0; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.tcpk-empty--nodata[b-1pt6cylpqy] { font-style: italic; }
.tcpk-empty-icon[b-1pt6cylpqy] { font-size: 2.4rem !important; opacity: 0.4; }

/* ── Result tiles ───────────────────────────────────────────────────────── */
.tcpk-tile[b-1pt6cylpqy] {
    padding: 9px 11px; border-radius: 8px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background);
    display: flex; align-items: center; gap: 10px;
    cursor: pointer; min-height: 56px;
    transition: background .12s, border-color .12s, box-shadow .1s, transform .1s;
}
.tcpk-tile:hover[b-1pt6cylpqy] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}
.tcpk-tile:focus-visible[b-1pt6cylpqy] { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; border-color: var(--mud-palette-primary); }
.tcpk-tile-selected[b-1pt6cylpqy] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary);
}

/* In a tile there is more room: let the address show in full (still single-line). */
.tcpk-tile .tcpk-name[b-1pt6cylpqy] { white-space: normal; }
/* /Components/_Shared/TritiumDatasourcePicker/TritiumDatasourcePicker.razor.rz.scp.css */
/* TritiumDatasourcePicker — decoupled two-panel data-source picker.
   Uses theme palette variables only (no hard-coded colors). */

.tdp-root[b-5dddr6bb12] { position: relative; display: block; }

/* ── The field (MudField shell + clickable wrapper) ─────────────────────── */
.tdp-fieldwrap[b-5dddr6bb12] { display: block; outline: none; cursor: pointer; border-radius: var(--mud-default-borderradius); }
.tdp-fieldwrap.tdp-nointeract[b-5dddr6bb12] { cursor: default; }
.tdp-fieldwrap:focus-visible[b-5dddr6bb12] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
.tdp-field-content[b-5dddr6bb12] { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 30px; user-select: none; }

.tdp-card-icon[b-5dddr6bb12] { flex-shrink: 0; opacity: 0.7; }
.tdp-card-title[b-5dddr6bb12] {
    font-size: 0.85rem; font-weight: 600; line-height: 1.3;
    color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.tdp-card-placeholder[b-5dddr6bb12] { font-size: 0.78rem; color: var(--mud-palette-text-secondary); font-style: italic; }
.tdp-card-trailing[b-5dddr6bb12] { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.tdp-card-chevron[b-5dddr6bb12] { flex-shrink: 0; opacity: 0.45; font-size: 1.1rem !important; }

/* ── Origin chip ─────────────────────────────────────────────────────────── */
.tdp-badge[b-5dddr6bb12] {
    font-size: 0.58rem; font-weight: 700; letter-spacing: 0.04em;
    padding: 1px 6px; border-radius: 4px; flex-shrink: 0; line-height: 1.5;
    text-transform: uppercase; white-space: nowrap;
}
.tdp-chip-muted[b-5dddr6bb12] {
    font-size: 0.62rem; font-weight: 600; letter-spacing: 0.02em;
    padding: 1px 6px; border-radius: 4px; flex-shrink: 0; line-height: 1.5;
    color: var(--mud-palette-text-secondary);
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 12%, transparent);
}

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tdp-backdrop[b-5dddr6bb12] { position: fixed; inset: 0; z-index: 8998; }
.tdp-popup[b-5dddr6bb12] {
    position: fixed; z-index: 8999;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
    display: flex; flex-direction: column;
}
.tdp-search-bar[b-5dddr6bb12] {
    padding: 10px 12px 8px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}

/* ── Origin filter chips ────────────────────────────────────────────────── */
.tdp-filterbar[b-5dddr6bb12] {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: 8px 12px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
}
.tdp-fchip[b-5dddr6bb12] {
    font-size: 0.6rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 10px; line-height: 1.6; white-space: nowrap;
    cursor: pointer; user-select: none; outline: none; transition: filter .12s, opacity .12s;
    opacity: 0.7;
}
.tdp-fchip:hover[b-5dddr6bb12] { opacity: 1; }
.tdp-fchip--on[b-5dddr6bb12]  { opacity: 1; }
.tdp-fchip:focus-visible[b-5dddr6bb12] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent); }

/* ── Two-panel body ─────────────────────────────────────────────────────── */
/* Definite height so each grid column becomes a bounded scroll region (an auto-sized
   track would grow with its content and never scroll). */
.tdp-body[b-5dddr6bb12] { display: grid; grid-template-columns: minmax(220px, 38%) 1fr; height: clamp(300px, 56vh, 460px); }

/* Left list */
.tdp-list[b-5dddr6bb12] {
    border-right: 1px solid var(--mud-palette-lines-default);
    overflow-y: auto; min-height: 0; padding: 6px;
    display: flex; flex-direction: column; gap: 4px;
}
.tdp-row[b-5dddr6bb12] {
    border: 1px solid transparent; border-radius: 8px; padding: 7px 9px;
    cursor: pointer; outline: none; transition: background .12s, border-color .12s;
}
.tdp-row:hover[b-5dddr6bb12] { background: color-mix(in srgb, var(--mud-palette-primary) 7%, transparent); }
.tdp-row:focus-visible[b-5dddr6bb12] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent); }
.tdp-row-active[b-5dddr6bb12] {
    background: color-mix(in srgb, var(--mud-palette-primary) 13%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}
.tdp-row-head[b-5dddr6bb12] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tdp-row-title[b-5dddr6bb12] {
    font-size: 0.8rem; font-weight: 600; color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.tdp-row-check[b-5dddr6bb12] { color: var(--mud-palette-success); flex-shrink: 0; }
.tdp-row-badge[b-5dddr6bb12] { margin-left: auto; }
.tdp-row-desc[b-5dddr6bb12] {
    font-size: 0.68rem; color: var(--mud-palette-text-secondary); margin-top: 2px;
    line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Right detail */
.tdp-detail[b-5dddr6bb12] { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.tdp-detail-scroll[b-5dddr6bb12] { flex: 1; overflow-y: auto; min-height: 0; padding: 12px 14px; min-width: 0; }
.tdp-detail-head[b-5dddr6bb12] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tdp-detail-title[b-5dddr6bb12] { font-size: 0.98rem; font-weight: 700; color: var(--mud-palette-text-primary); }
.tdp-detail-desc[b-5dddr6bb12] {
    font-size: 0.78rem; line-height: 1.5; color: var(--mud-palette-text-secondary);
    margin-top: 8px;
}
.tdp-section-label[b-5dddr6bb12] {
    font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--mud-palette-text-secondary); margin: 14px 0 6px;
}

/* Preview table */
.tdp-preview-wrap[b-5dddr6bb12] { overflow-x: auto; border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; }
.tdp-preview-table[b-5dddr6bb12] { border-collapse: collapse; width: 100%; font-size: 0.72rem; }
.tdp-preview-table th[b-5dddr6bb12] {
    text-align: left; font-weight: 700; white-space: nowrap;
    padding: 5px 8px; background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-surface));
    border-bottom: 1px solid var(--mud-palette-lines-default); color: var(--mud-palette-text-primary);
}
.tdp-preview-table td[b-5dddr6bb12] {
    padding: 4px 8px; white-space: nowrap;
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 55%, transparent);
    color: var(--mud-palette-text-primary);
}
.tdp-preview-table tbody tr:nth-child(even) td[b-5dddr6bb12] { background: color-mix(in srgb, var(--mud-palette-text-secondary) 5%, transparent); }
.tdp-preview-table .tdp-num[b-5dddr6bb12] { text-align: right; font-variant-numeric: tabular-nums; }
.tdp-preview-nodata[b-5dddr6bb12] { text-align: center; font-style: italic; color: var(--mud-palette-text-secondary); padding: 10px; }
.tdp-preview-loading[b-5dddr6bb12], .tdp-preview-empty[b-5dddr6bb12] {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 18px; color: var(--mud-palette-text-secondary); font-size: 0.78rem; font-style: italic;
}

/* Footer action (Select) */
.tdp-detail-actions[b-5dddr6bb12] {
    border-top: 1px solid var(--mud-palette-lines-default);
    padding: 8px 12px; display: flex; justify-content: flex-end;
    background: color-mix(in srgb, var(--mud-palette-primary) 3%, var(--mud-palette-surface));
}

/* Empty states */
.tdp-empty[b-5dddr6bb12], .tdp-detail-empty[b-5dddr6bb12] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 8px; padding: 30px 16px; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
}
.tdp-empty-icon[b-5dddr6bb12] { font-size: 2rem !important; opacity: 0.4; }
/* /Components/_Shared/TritiumDateDisplay/TritiumDateDisplay.razor.rz.scp.css */
/* Scoped to TritiumDateDisplay — moves with the component (Blazor CSS isolation).
   Structure only; the date/time colors are theme-driven via inline style (the
   Color enum → MudBlazor palette variable). */

.tdd-root[b-8474qrhimz] {
    line-height: 1.2;
}

.tdd-date[b-8474qrhimz] {
    font-size: 0.80rem;
    line-height: 1.2;
    cursor: pointer;       /* clicking cycles the date format */
    user-select: none;
    width: fit-content;    /* only the text is the click target */
}

.tdd-time[b-8474qrhimz] {
    font-size: 0.72rem;
    line-height: 1.2;
}
/* /Components/_Shared/TritiumDialogSelect/TritiumDialogSelect.razor.rz.scp.css */
/* Scoped to TritiumDialogSelect — moves with the component (Blazor CSS isolation).
   Uses MudBlazor palette variables so it follows the host theme; the only
   dependency is MudBlazor itself. */

.ds-root[b-v8ft5h1kar] {
    position: relative;   /* anchor for the dropdown panel */
    width: 100%;
}

/* Click target over the whole field; also the keyboard focus target. */
.ds-fieldwrap[b-v8ft5h1kar] {
    cursor: pointer;
    outline: none;
}

.ds-fieldwrap:focus-visible[b-v8ft5h1kar] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: var(--mud-default-borderradius, 4px);
}

/* Disabled / read-only: no click affordance. */
.ds-nointeract[b-v8ft5h1kar] {
    cursor: default;
}

/* Chips wrap inside the field. */
.ds-content[b-v8ft5h1kar] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.ds-placeholder[b-v8ft5h1kar] {
    color: var(--mud-palette-text-disabled);
    font-size: .9rem;
}

.ds-text[b-v8ft5h1kar] {
    font-size: .9rem;
    color: var(--mud-palette-text-primary);
}

.ds-chip[b-v8ft5h1kar] {
    margin: 0;
}

/* ── Dropdown presentation ── */
/* Transparent full-screen catcher so a click outside closes the panel. */
.ds-backdrop[b-v8ft5h1kar] {
    position: fixed;
    inset: 0;
    z-index: 1300;
}

.ds-dropdown[b-v8ft5h1kar] {
    /* Fixed + JS-anchored so it escapes any overflow:hidden / scroll ancestor
       (e.g. a TritiumCardPanel). Position is set inline from the field's rect. */
    position: fixed;
    z-index: 1301;
    display: flex;
    flex-direction: column;
    max-height: 60vh;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius, 4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22), 0 2px 6px rgba(0, 0, 0, 0.12);
}

.ds-dropdown-body[b-v8ft5h1kar] {
    overflow-y: auto;
    padding: 4px 10px;
}

.ds-dropdown-actions[b-v8ft5h1kar] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    padding: 6px 8px;
    border-top: 1px solid var(--mud-palette-lines-default);
}
/* /Components/_Shared/TritiumDialogSelect/TritiumDialogSelectContent.razor.rz.scp.css */
/* Scoped to TritiumDialogSelectContent — travels with the component. */

/* Rendered as a <button> for native keyboard support — reset its chrome to look
   like a plain list row, full width so hover/focus span the row. */
.ds-opt-row[b-xt4acv5q3b] {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    cursor: pointer;
    padding: 8px 4px;
    user-select: none;
    background: transparent;
    border: none;
    text-align: left;
    font: inherit;
    color: inherit;
    border-radius: 4px;
}

.ds-opt-row:hover[b-xt4acv5q3b] {
    background: var(--mud-palette-action-default-hover);
}

/* Visible focus ring for keyboard users (Tab / Space / Enter). */
.ds-opt-row:focus-visible[b-xt4acv5q3b] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.ds-opt-label[b-xt4acv5q3b] {
    font-size: 0.95rem;
}

/* Indent the "other" text field under the label (icon 24px + 10px gap). */
.ds-opt-other[b-xt4acv5q3b] {
    margin-left: 34px;
    max-width: 380px;
    padding-bottom: 8px;
}
/* /Components/_Shared/TritiumDocumentNumberDisplay/TritiumDocumentNumberDisplay.razor.rz.scp.css */
/* Scoped to TritiumDocumentNumberDisplay — moves with the component (Blazor CSS
   isolation). Uses MudBlazor palette variables so it follows the host theme. */

.dnd-wrap[b-ht9ytfu3ei] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    justify-content: center;
    min-height: 40px;
    padding: 5px 14px 7px;
    border: 1.5px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
    transition: border-color .15s;
}

.dnd-label[b-ht9ytfu3ei] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--mud-palette-text-secondary);
}

.dnd-icon[b-ht9ytfu3ei] { font-size: 0.7rem !important; }

.dnd-value[b-ht9ytfu3ei] {
    font-size: 0.9rem;
    font-weight: 700;
    font-family: monospace;
    letter-spacing: 0.05em;
    line-height: 1.25;
    color: var(--mud-palette-text-primary);
}

.dnd-value-placeholder[b-ht9ytfu3ei] {
    font-size: 0.8rem;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0;
    color: var(--mud-palette-text-secondary);
}
/* /Components/_Shared/TritiumDocumentTotals/TritiumDocumentTotalLine.razor.rz.scp.css */
/* Scoped to TritiumDocumentTotalLine — the rows rendered inside TritiumDocumentTotals.
   (CSS isolation: these styles must live with the component that renders the elements.) */

.dtl[b-rnxnbo6bz9] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-top: 1px solid var(--mud-palette-lines-default);
}
.dtl:first-child[b-rnxnbo6bz9] { border-top: none; }

/* ── sizes ── */
.dtl-sm[b-rnxnbo6bz9] { padding: 6px 18px; }
.dtl-md[b-rnxnbo6bz9] { padding: 8px 18px; }
.dtl-lg[b-rnxnbo6bz9] {
    padding: 10px 18px;
    background: color-mix(in srgb, var(--mud-palette-lines-default) 28%, var(--mud-palette-surface));
}

/* ── label ── */
.dtl-label[b-rnxnbo6bz9] { white-space: nowrap; text-transform: uppercase; letter-spacing: 0.04em; }
.dtl-label-sm[b-rnxnbo6bz9] { font-size: 0.78rem; }
.dtl-label-md[b-rnxnbo6bz9] { font-size: 0.875rem; }
.dtl-label-lg[b-rnxnbo6bz9] { font-size: 0.9rem; font-weight: 600; }

/* ── amount container ── */
.dtl-amount[b-rnxnbo6bz9] {
    display: flex;
    align-items: baseline;
    flex-shrink: 0;
    margin-left: 14px;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}

/* ── currency chip in the label ── */
.dtl-cur-chip[b-rnxnbo6bz9] {
    font-size: 0.58rem; font-weight: 700; letter-spacing: 0.04em;
    padding: 1px 5px; border-radius: 4px; line-height: 1.5;
    margin-left: 5px; vertical-align: middle;
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    color: var(--mud-palette-primary);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
}

/* ── integer part ── */
.dtl-int[b-rnxnbo6bz9] { font-weight: 500; letter-spacing: -0.01em; }
.dtl-int-sm[b-rnxnbo6bz9] { font-size: 1.0rem; }
.dtl-int-md[b-rnxnbo6bz9] { font-size: 1.15rem; }
.dtl-int-lg[b-rnxnbo6bz9] { font-size: 1.3rem; font-weight: 500; }

/* ── decimal part ── */
.dtl-dec[b-rnxnbo6bz9] { font-weight: 500; opacity: 0.75; }
.dtl-dec-sm[b-rnxnbo6bz9] { font-size: 0.75rem; }
.dtl-dec-md[b-rnxnbo6bz9] { font-size: 0.90rem; }
.dtl-dec-lg[b-rnxnbo6bz9] { font-size: 0.95rem; font-weight: 400; }
/* /Components/_Shared/TritiumDocumentTotals/TritiumDocumentTotals.razor.rz.scp.css */
/* Scoped to TritiumDocumentTotals — the bordered container. The rows themselves are
   styled by TritiumDocumentTotalLine's own scoped CSS (it renders them). */

.dt-wrap[b-jov5h7fxpf] {
    min-width: 300px;
    border: 1.5px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
    overflow: hidden;            /* clip the large total-row background to rounded corners */
    transition: border-color .15s;
}
/* /Components/_Shared/TritiumElementPicker/TritiumElementPicker.razor.rz.scp.css */
/* TritiumElementPicker — decoupled "add element/field" action picker.
   Theme-palette variables only (follows the host theme). */

.tep-root[b-bp7uruu4bb] { position: relative; display: inline-block; }

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tep-backdrop[b-bp7uruu4bb] { position: fixed; inset: 0; z-index: 8998; }
.tep-popup[b-bp7uruu4bb] {
    position: fixed; z-index: 8999;
    display: flex; flex-direction: column;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
}

.tep-section-label[b-bp7uruu4bb] {
    font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    padding: 8px 12px 4px;
}
.tep-section-label--types[b-bp7uruu4bb] {
    border-top: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}

/* ── Top: two columns (data fields | company fields) ── */
.tep-top[b-bp7uruu4bb] { display: flex; align-items: stretch; }
.tep-col[b-bp7uruu4bb] { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
.tep-col + .tep-col[b-bp7uruu4bb] { border-left: 1px solid var(--mud-palette-lines-default); }

/* ── Fields list (large) ── */
.tep-fields[b-bp7uruu4bb] {
    overflow-y: auto; min-height: 0; max-height: 340px;
    padding: 4px 6px 8px; display: flex; flex-direction: column; gap: 2px;
}
.tep-field-row[b-bp7uruu4bb] {
    display: flex; align-items: center; gap: 8px;
    padding: 5px 8px; border-radius: 6px; cursor: pointer; outline: none;
    border: 1px solid transparent; transition: background .12s;
}
.tep-field-row:hover[b-bp7uruu4bb] { background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent); }
.tep-field-row:focus-visible[b-bp7uruu4bb] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent); }
.tep-field-icon[b-bp7uruu4bb] { opacity: 0.7; flex-shrink: 0; }
.tep-field-name[b-bp7uruu4bb] {
    flex: 1 1 auto; min-width: 0; font-size: 0.82rem; color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tep-field-chip[b-bp7uruu4bb] {
    flex-shrink: 0; max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-family: monospace; font-size: 0.62rem; line-height: 1.6; padding: 1px 6px; border-radius: 4px;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}

/* ── Bottom: element-type tiles (small, desktop-icon style) ── */
.tep-types[b-bp7uruu4bb] {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px;
    padding: 8px 10px 12px;
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}
.tep-tile[b-bp7uruu4bb] {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 8px 4px; border-radius: 8px; cursor: pointer; outline: none;
    border: 1px solid transparent; transition: background .12s, border-color .12s;
    text-align: center;
}
.tep-tile:hover[b-bp7uruu4bb] {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
}
.tep-tile:focus-visible[b-bp7uruu4bb] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent); }
.tep-tile--disabled[b-bp7uruu4bb] { cursor: not-allowed; opacity: .4; }
.tep-tile--disabled:hover[b-bp7uruu4bb] { background: transparent; border-color: transparent; }
.tep-tile-icon[b-bp7uruu4bb] { font-size: 1.6rem !important; color: var(--mud-palette-primary); }
.tep-tile-label[b-bp7uruu4bb] {
    font-size: 0.66rem; line-height: 1.2; color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}

/* ── Empty state ── */
.tep-empty[b-bp7uruu4bb] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 8px; padding: 22px 16px; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
}
.tep-empty-icon[b-bp7uruu4bb] { font-size: 2rem !important; opacity: 0.35; }
/* /Components/_Shared/TritiumEmployeePicker/TritiumEmployeePicker.razor.rz.scp.css */
/* TritiumEmployeePicker — decoupled employee search / pick / show control (job-title filtered).
   Exact sibling of TritiumContactPicker; theme palette variables only. */

.tep-root[b-cbm29jm4os] { position: relative; display: block; }

/* ── The field (MudField shell + clickable wrapper) ─────────────────────── */
.tep-fieldwrap[b-cbm29jm4os] { display: block; outline: none; cursor: pointer; border-radius: var(--mud-default-borderradius); }
.tep-fieldwrap.tep-nointeract[b-cbm29jm4os] { cursor: default; }
.tep-fieldwrap:focus-visible[b-cbm29jm4os] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
/* The MudField gives label/border/helper/error; this row is its value area. */
.tep-field-content[b-cbm29jm4os] { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 30px; user-select: none; }

.tep-card-icon[b-cbm29jm4os] { flex-shrink: 0; opacity: 0.6; }
.tep-card-placeholder[b-cbm29jm4os] { font-size: 0.78rem; color: var(--mud-palette-text-secondary); font-style: italic; }

/* Trailing controls (clear + chevron) pinned to the far right. */
.tep-card-trailing[b-cbm29jm4os] { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.tep-card-chevron[b-cbm29jm4os]  { flex-shrink: 0; opacity: 0.45; font-size: 1.1rem !important; }

/* ── Initials avatar ────────────────────────────────────────────────────── */
.tep-avatar[b-cbm29jm4os] {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
    text-transform: uppercase; line-height: 1;
}

/* ── Body (name + job titles + meta + address) ──────────────────────────── */
.tep-main[b-cbm29jm4os] { flex: 1; min-width: 0; }
.tep-name-line[b-cbm29jm4os] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tep-name[b-cbm29jm4os] {
    font-size: 0.84rem; font-weight: 600; line-height: 1.3;
    color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}

.tep-jobtitles[b-cbm29jm4os] { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; flex-wrap: wrap; margin-left: auto; justify-content: flex-end; }
.tep-jobtitle[b-cbm29jm4os] {
    font-size: 0.56rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
    padding: 1px 6px; border-radius: 4px; line-height: 1.5; white-space: nowrap;
    color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}
.tep-jobtitle-more[b-cbm29jm4os] {
    color: var(--mud-palette-text-secondary);
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 12%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-text-secondary) 30%, transparent);
}

.tep-meta[b-cbm29jm4os] {
    display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; margin-top: 3px;
    font-size: 0.68rem; color: var(--mud-palette-text-secondary);
}
.tep-meta-item[b-cbm29jm4os] { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.tep-meta-email[b-cbm29jm4os] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
/* Icon size/color are set inline on the MudIcon — scoped CSS can't reach a child
   component's rendered <svg> (it has no [b-xxx] scope attribute). */
.tep-meta-icon[b-cbm29jm4os] { flex-shrink: 0; }

.tep-address[b-cbm29jm4os] {
    display: flex; align-items: center; gap: 4px; margin-top: 3px;
    font-size: 0.66rem; color: var(--mud-palette-text-secondary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tep-backdrop[b-cbm29jm4os] { position: fixed; inset: 0; z-index: 8998; }

.tep-popup[b-cbm29jm4os] {
    position: fixed; z-index: 8999; max-width: 580px;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
}
.tep-search-bar[b-cbm29jm4os] {
    padding: 10px 12px 8px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}
.tep-search-row[b-cbm29jm4os] { display: flex; align-items: center; gap: 6px; }
.tep-action-btn[b-cbm29jm4os] { flex-shrink: 0; }
.tep-jt-filter[b-cbm29jm4os] { display: flex; align-items: center; gap: 5px; margin-top: 6px; }
.tep-jt-filter-icon[b-cbm29jm4os] { font-size: 0.9rem !important; opacity: 0.6; color: var(--mud-palette-text-secondary); }
.tep-jt-filter-chip[b-cbm29jm4os] { font-size: 0.58rem; }

.tep-grid[b-cbm29jm4os] {
    display: grid; grid-template-columns: 1fr; gap: 6px;
    padding: 10px 12px 12px; max-height: 480px; min-height: 220px; overflow-y: auto;
}
.tep-empty[b-cbm29jm4os] {
    grid-column: 1 / -1; padding: 50px 0; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.tep-empty--nodata[b-cbm29jm4os] { font-style: italic; }
.tep-empty-icon[b-cbm29jm4os] { font-size: 2.4rem !important; opacity: 0.4; }

/* ── Result tiles ───────────────────────────────────────────────────────── */
.tep-tile[b-cbm29jm4os] {
    padding: 9px 11px; border-radius: 8px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background);
    display: flex; align-items: center; gap: 10px;
    cursor: pointer; min-height: 56px;
    transition: background .12s, border-color .12s, box-shadow .1s, transform .1s;
}
.tep-tile:hover[b-cbm29jm4os] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}
.tep-tile:focus-visible[b-cbm29jm4os] { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; border-color: var(--mud-palette-primary); }
.tep-tile-selected[b-cbm29jm4os] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary);
}

/* In a tile there is more room: let the address show in full (still single-line). */
.tep-tile .tep-name[b-cbm29jm4os] { white-space: normal; }
/* /Components/_Shared/TritiumGlobalSearch/TritiumGlobalSearch.razor.rz.scp.css */
.tgs-root[b-ecm83yub0b] {
    position: relative;
    display: inline-flex;
}

/* Inline trigger: let the field size to FieldWidth (block, not inline-flex). */
.tgs-root-inline[b-ecm83yub0b] {
    display: block;
}

.tgs-inline-field[b-ecm83yub0b] {
    max-width: 100%;
}

.tgs-catcher[b-ecm83yub0b] {
    position: fixed;
    inset: 0;
    z-index: 2999;
}

.tgs-pop[b-ecm83yub0b] {
    max-width: 95vw;
    border-radius: var(--mud-default-borderradius);
    overflow: hidden;
    background: var(--mud-palette-surface);
}

.tgs-field[b-ecm83yub0b] {
    padding: 12px 12px 8px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tgs-body[b-ecm83yub0b] {
    padding: 8px;
}

.tgs-hint[b-ecm83yub0b] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px 10px;
    justify-content: center;
}

.tgs-hint-icon[b-ecm83yub0b] {
    opacity: 0.3;
}
/* /Components/_Shared/TritiumGlobalSearch/TritiumSearchResults.razor.rz.scp.css */
.tsr-root[b-i70lzxdcmf] {
    width: 100%;
}

.tsr-state[b-i70lzxdcmf] {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 22px 10px;
}

.tsr-empty-icon[b-i70lzxdcmf] {
    opacity: 0.3;
}

.tsr-columns[b-i70lzxdcmf] {
    display: flex;
    gap: 0 14px;
    align-items: flex-start;
}

.tsr-col[b-i70lzxdcmf] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tsr-section[b-i70lzxdcmf] {
    min-width: 0;
}

.tsr-section-head[b-i70lzxdcmf] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px 4px 8px;
    position: sticky;
    top: 0;
    background: var(--mud-palette-surface);
}

.tsr-section-title[b-i70lzxdcmf] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mud-palette-text-secondary);
}

.tsr-section-count[b-i70lzxdcmf] {
    margin-left: auto;
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-action-default-hover);
    border-radius: 10px;
    padding: 0 7px;
    line-height: 1.5;
}

.tsr-hits[b-i70lzxdcmf] {
    display: flex;
    flex-direction: column;
}

.tsr-hit[b-i70lzxdcmf] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px;
    border-radius: var(--mud-default-borderradius);
    cursor: pointer;
    min-width: 0;
}

.tsr-hit:hover[b-i70lzxdcmf],
.tsr-hit-active[b-i70lzxdcmf] {
    /* background: var(--mud-palette-action-default-hover); */
    background: color-mix(in srgb, var(--mud-palette-primary) 15%, transparent);
}

.tsr-hit-active[b-i70lzxdcmf] {
    box-shadow: inset 2px 0 0 0 var(--mud-palette-primary);
}

.tsr-hit-icon[b-i70lzxdcmf] {
    opacity: 0.7 !important;
    flex-shrink: 0;
}

.tsr-hit-text[b-i70lzxdcmf] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.tsr-hit-title[b-i70lzxdcmf] {
    font-size: 0.9rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tsr-hit-sub[b-i70lzxdcmf] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tsr-hit-badge[b-i70lzxdcmf] {
    flex-shrink: 0;
}
/* /Components/_Shared/TritiumGridToolbar/TritiumGridToolbar.razor.rz.scp.css */
/* Scoped to TritiumGridToolbar — moves with the component (Blazor CSS isolation).
   Uses MudBlazor palette variables so it follows the host theme; the only
   dependency is MudBlazor itself.

   The filter-field rules use ::deep because the fields are supplied by the
   consumer (ChildContent) and so do not carry this component's scope id — ::deep
   lets us reach those descendants from the scoped root. */

.ttgt-root[b-syj68zp36x] {
    width: 100%;
    margin-bottom: 8px;
}

/* ── Header row ── */
.ttgt-header[b-syj68zp36x] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 8px;
    padding: 12px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgb(185, 185, 185);
}

.ttgt-title[b-syj68zp36x] {
    color: rgba(var(--mud-palette-primary-rgb), 0.8);
    font-weight: 600;
    min-width: 0;                 /* allow long titles to truncate instead of breaking layout */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ttgt-actions[b-syj68zp36x] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.ttgt-buttons[b-syj68zp36x] {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Vertical rule between the buttons and the free-form actions (label filter / help). */
.ttgt-divider[b-syj68zp36x] {
    width: 1px;
    height: 24px;
    margin: 0 12px;
    background: var(--mud-palette-lines-default);
}

.ttgt-extras[b-syj68zp36x] {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Inset the filter row from the panel edges. The MudGrid's negative gutter margin
   is cancelled by the items' own gutter padding, so the filter CONTENT lines up at
   exactly this padding from each edge. */
.ttgt-filters[b-syj68zp36x] {
    padding-left: 10px;
    padding-right: 10px;
}

/* ── Equal-height filter fields ──
   Every field (text, date-range, dialog-select, pickers) renders a
   `.mud-input.mud-input-outlined` box that, by default, sizes to its content +
   slot padding — so each ends up a different height. Give them a common MINIMUM
   height (so single-line fields line up), zero the slot's vertical padding and
   vertically centre the content. NOTE: this MUST be `min-height`, not a fixed
   `height` — a multi-select Chips field has to GROW as its chips wrap to extra
   rows; a fixed height clips them and they overflow over the neighbouring
   controls (broken layout). */
.ttgt-root[b-syj68zp36x]  .mud-input.mud-input-outlined {
    min-height: 44px !important;
    align-items: center !important;
}

.ttgt-root[b-syj68zp36x]  .mud-input.mud-input-outlined .mud-input-slot {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Contact / Employee picker → single compact line in the SELECTED display only
   (dropdown tiles keep their full detail). !important is required: these classes
   come from each picker's *scoped* stylesheet, with comparable specificity. */
.ttgt-root[b-syj68zp36x]  .tcpk-field-content .tcpk-meta,
.ttgt-root[b-syj68zp36x]  .tcpk-field-content .tcpk-address,
.ttgt-root[b-syj68zp36x]  .tep-field-content  .tep-meta,
.ttgt-root[b-syj68zp36x]  .tep-field-content  .tep-address {
    display: none !important;
}

.ttgt-root[b-syj68zp36x]  .tcpk-field-content .tcpk-avatar,
.ttgt-root[b-syj68zp36x]  .tep-field-content  .tep-avatar {
    width: 24px !important;
    height: 24px !important;
    font-size: 0.58rem !important;
}
/* /Components/_Shared/TritiumLabelColumn/TritiumLabelColumn.razor.rz.scp.css */
/* Scoped to TritiumLabelColumn — moves with the component (Blazor CSS isolation).
   Marker colors are fixed label colors (set inline), not theme-driven. */

.tlc-root[b-m7vi1fsn7s] {
    display: flex;
    gap: 4px;
}

.tlc-icon[b-m7vi1fsn7s] {
    font-size: 14px !important;
}
/* /Components/_Shared/TritiumLinkManager/TritiumLinkManager.razor.rz.scp.css */
/* TritiumLinkManager — decoupled link list + add control. Palette variables only. */

.tlm-item[b-zfw3couefr] {
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    border-radius: var(--mud-default-borderradius, 4px);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.tlm-name[b-zfw3couefr] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/_Shared/TritiumMapDisplay/TritiumMapDisplay.razor.rz.scp.css */
.tmap-root[b-am5a96gbhy] {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    z-index: 0;   /* keep Leaflet panes under MudBlazor overlays */
}

.tmap-empty[b-am5a96gbhy] {
    width: 100%;
    border-radius: 8px;
    border: 1px dashed var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 6%, transparent);
    color: var(--mud-palette-text-secondary);
    font-size: 0.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.tmap-empty-icon[b-am5a96gbhy] {
    font-size: 2rem !important;
    opacity: 0.4;
}
/* /Components/_Shared/TritiumMiniTabs/TritiumMiniTabs.razor.rz.scp.css */
/* Minimal tab strip — a thin bordered segmented control with very small labels. */
.tmt[b-gsvgttripo] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 7px;
    background: color-mix(in srgb, var(--mud-palette-surface) 60%, transparent);
}

.tmt-tab[b-gsvgttripo] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 2px 9px;
    border: none;
    border-radius: 5px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .12s ease, color .12s ease;
    user-select: none;
}

.tmt-tab:hover[b-gsvgttripo] {
    color: var(--mud-palette-text-primary);
    background: color-mix(in srgb, var(--mud-palette-action-default) 8%, transparent);
}

.tmt-tab--active[b-gsvgttripo],
.tmt-tab--active:hover[b-gsvgttripo] {
    color: var(--mud-palette-primary-text);
    background: var(--mud-palette-primary);
}

.tmt-icon[b-gsvgttripo] {
    font-size: 0.9rem;
}

.tmt-label[b-gsvgttripo] {
    white-space: nowrap;
}

/* Icon-only: square, tight buttons — the tooltip carries the label. */
.tmt--icononly .tmt-tab[b-gsvgttripo] {
    padding: 3px 6px;
    gap: 0;
}
/* /Components/_Shared/TritiumMoneyDisplay/TritiumMoneyDisplay.razor.rz.scp.css */
/* Scoped to TritiumMoneyDisplay — moves with the component (Blazor CSS isolation).
   Structure + sizes; the amount color is theme-driven via inline style. */

.tmd-root[b-d20sih3ity] {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}

.tmd-int[b-d20sih3ity] { font-weight: 600; letter-spacing: -0.01em; }
.tmd-dec[b-d20sih3ity] { font-weight: 500; opacity: 0.75; }
/* leading currency symbol — slightly smaller & de-emphasised, scales with the size.
   The span is always present (empty when ShowCurrency is false), so only space it
   when it actually holds a symbol. */
.tmd-cur[b-d20sih3ity] { font-size: 0.85em; opacity: 0.7; }
.tmd-cur:not(:empty)[b-d20sih3ity] { margin-right: 4px; }

/* ── sizes ── */
.tmd-lg .tmd-int[b-d20sih3ity] { font-size: 1.4rem;  font-weight: 500; }
.tmd-lg .tmd-dec[b-d20sih3ity] { font-size: 0.95rem; }
.tmd-md .tmd-int[b-d20sih3ity] { font-size: 1.1rem;  font-weight: 600; }
.tmd-md .tmd-dec[b-d20sih3ity] { font-size: 0.80rem; }
.tmd-sm .tmd-int[b-d20sih3ity] { font-size: 0.92rem; font-weight: 600; }
.tmd-sm .tmd-dec[b-d20sih3ity] { font-size: 0.72rem; }
/* /Components/_Shared/TritiumNavigator/TritiumNavigator.razor.rz.scp.css */
/* TritiumNavigator — "Navigate" launcher popover. Two columns: modules (left) + recents (right). */

.tnav-root[b-a145ajm1wu] {
    display: inline-block;
}

/* Click-away catcher behind the popover (which sits at z-index 3000). */
.tnav-catcher[b-a145ajm1wu] {
    position: fixed;
    inset: 0;
    z-index: 2999;
}

.tnav-pop[b-a145ajm1wu] {
    overflow: hidden;
    border-radius: 14px;
}

.tnav-grid[b-a145ajm1wu] {
    display: grid;
    grid-template-columns: minmax(180px, 30%) 1fr;
}

/* ── shared column header ─────────────────────────────────────────────────── */
.tnav-col-head[b-a145ajm1wu] {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    padding: 12px 14px 8px;
}

/* ── left: modules ────────────────────────────────────────────────────────── */
.tnav-modules[b-a145ajm1wu] {
    border-right: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 3%, var(--mud-palette-surface));
}

.tnav-modules-list[b-a145ajm1wu] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px 8px 12px;
}

.tnav-module[b-a145ajm1wu] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border-radius: 10px;
    cursor: pointer;
    outline: none;
    border: 1px solid transparent;
    transition: background .12s, border-color .12s, transform .12s;
}

.tnav-module:hover[b-a145ajm1wu] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
    transform: translateX(2px);
}

.tnav-module:focus-visible[b-a145ajm1wu] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}

.tnav-module-icon[b-a145ajm1wu] {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.tnav-module-label[b-a145ajm1wu] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── right: recently visited ──────────────────────────────────────────────── */
.tnav-recents[b-a145ajm1wu] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tnav-recents-head[b-a145ajm1wu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 6px;
}

.tnav-recents-list[b-a145ajm1wu] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 8px 10px;
    overflow-y: auto;
}

.tnav-recent[b-a145ajm1wu] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 7px 10px;
    border-radius: 9px;
    cursor: pointer;
    outline: none;
    min-width: 0;
    transition: background .12s;
}

.tnav-recent:hover[b-a145ajm1wu] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.tnav-recent:focus-visible[b-a145ajm1wu] {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 40%, transparent);
}

.tnav-recent-icon[b-a145ajm1wu] {
    flex: 0 0 auto;
    font-size: 1.25rem !important;
    opacity: 0.8;
    color: var(--mud-palette-text-secondary);
}

.tnav-recent-text[b-a145ajm1wu] {
    min-width: 0;
}

.tnav-recent-title[b-a145ajm1wu] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tnav-recent-sub[b-a145ajm1wu] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tnav-empty[b-a145ajm1wu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 34px 16px 40px;
    text-align: center;
}

.tnav-empty-icon[b-a145ajm1wu] {
    font-size: 2rem !important;
    opacity: 0.35;
}
/* /Components/_Shared/TritiumProjectPicker/TritiumProjectPicker.razor.rz.scp.css */
/* TritiumProjectPicker — decoupled project search / pick / show control.
   Mirrors the InvoicePicker look using theme palette variables only. */

.tpp-root[b-03ftq84bwa] { position: relative; display: block; }

/* ── The field (MudField shell + clickable wrapper) ─────────────────────── */
.tpp-fieldwrap[b-03ftq84bwa] { display: block; outline: none; cursor: pointer; border-radius: var(--mud-default-borderradius); }
.tpp-fieldwrap.tpp-nointeract[b-03ftq84bwa] { cursor: default; }
.tpp-fieldwrap:focus-visible[b-03ftq84bwa] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
/* The MudField gives label/border/helper/error; this row is its value area. */
.tpp-field-content[b-03ftq84bwa] { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 30px; user-select: none; }

.tpp-card-icon[b-03ftq84bwa]    { flex-shrink: 0; opacity: 0.6; }
/* Trailing controls (clear + chevron) grouped and pinned to the far right, so the
   chevron is always the right-most element regardless of content width. */
.tpp-card-trailing[b-03ftq84bwa] { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.tpp-card-chevron[b-03ftq84bwa] { flex-shrink: 0; opacity: 0.45; font-size: 1.1rem !important; }
.tpp-card-placeholder[b-03ftq84bwa] { font-size: 0.78rem; color: var(--mud-palette-text-secondary); font-style: italic; }

.tpp-card-main[b-03ftq84bwa] { flex: 1; min-width: 0; }
.tpp-card-line[b-03ftq84bwa] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tpp-card-number[b-03ftq84bwa] {
    font-size: 0.72rem; font-weight: 700; font-family: monospace;
    color: var(--mud-palette-text-secondary); white-space: nowrap; flex-shrink: 0;
}
.tpp-card-name[b-03ftq84bwa] {
    font-size: 0.82rem; font-weight: 600; line-height: 1.3;
    color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.tpp-card-line .tpp-badge[b-03ftq84bwa] { margin-left: auto; }
.tpp-card-customer[b-03ftq84bwa] { font-size: 0.68rem; color: var(--mud-palette-text-secondary); margin-top: 2px; }

/* ── Status badge ───────────────────────────────────────────────────────── */
.tpp-badge[b-03ftq84bwa] {
    font-size: 0.58rem; font-weight: 700; letter-spacing: 0.04em;
    padding: 1px 6px; border-radius: 4px; flex-shrink: 0; line-height: 1.5;
    text-transform: uppercase; white-space: nowrap;
}

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tpp-backdrop[b-03ftq84bwa] { position: fixed; inset: 0; z-index: 8998; }

.tpp-popup[b-03ftq84bwa] {
    position: fixed; z-index: 8999; max-width: 580px;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
}
.tpp-search-bar[b-03ftq84bwa] {
    padding: 10px 12px 8px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}
.tpp-search-row[b-03ftq84bwa] { display: flex; align-items: center; gap: 6px; }
.tpp-action-btn[b-03ftq84bwa] { flex-shrink: 0; }

.tpp-grid[b-03ftq84bwa] {
    display: grid; grid-template-columns: 1fr; gap: 6px;
    padding: 10px 12px 12px; max-height: 480px; min-height: 220px; overflow-y: auto;
}
.tpp-empty[b-03ftq84bwa] {
    grid-column: 1 / -1; padding: 50px 0; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.tpp-empty--nodata[b-03ftq84bwa] { font-style: italic; }
.tpp-empty-icon[b-03ftq84bwa] { font-size: 2.4rem !important; opacity: 0.4; }

/* ── Result tiles ───────────────────────────────────────────────────────── */
.tpp-tile[b-03ftq84bwa] {
    padding: 9px 11px; border-radius: 8px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background);
    display: flex; flex-direction: column; gap: 3px;
    cursor: pointer; min-height: 52px; justify-content: center;
    transition: background .12s, border-color .12s, box-shadow .1s, transform .1s;
}
.tpp-tile:hover[b-03ftq84bwa] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}
.tpp-tile:focus-visible[b-03ftq84bwa] { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; border-color: var(--mud-palette-primary); }
.tpp-tile-selected[b-03ftq84bwa] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary);
}
.tpp-tile-header[b-03ftq84bwa] { display: flex; align-items: center; gap: 6px; }
.tpp-tile-number[b-03ftq84bwa] {
    font-size: 0.72rem; font-weight: 700; font-family: monospace;
    color: var(--mud-palette-text-secondary);
}
.tpp-tile-header .tpp-badge[b-03ftq84bwa] { margin-left: auto; }
.tpp-tile-name[b-03ftq84bwa] {
    font-size: 0.82rem; font-weight: 600; line-height: 1.25; color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tpp-tile-customer[b-03ftq84bwa] {
    font-size: 0.66rem; color: var(--mud-palette-text-secondary); font-weight: 500;
    display: flex; align-items: center; gap: 4px;
}
/* Icon size/color are set inline on the MudIcon — scoped CSS can't reach a child
   component's rendered <svg> (it has no [b-xxx] scope attribute). */
/* /Components/_Shared/TritiumStatTile/TritiumStatTile.razor.rz.scp.css */
/* Scoped to TritiumStatTile — moves with the component (Blazor CSS isolation).
   Uses MudBlazor palette variables so it follows the host theme; the only
   dependency is MudBlazor itself. A compact two-tone mini-card. */

.tst-root[b-zwyderdw7y] {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;          /* the % width includes the border */
    min-width: 0;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius, 4px);
    overflow: hidden;                /* clip header tint to rounded corners */
}

/* ── Slim header / toolbar ── */
.tst-header[b-zwyderdw7y] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    line-height: 1.3;
}

.tst-icon[b-zwyderdw7y] {
    flex: 0 0 auto;
    font-size: 1rem !important;
}

.tst-label[b-zwyderdw7y] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.56rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tst-actions[b-zwyderdw7y] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 2px;
}

/* ── Value body ── */
.tst-body[b-zwyderdw7y] {
    flex: 1 1 auto;             /* fill the tile so the shade reaches the bottom when a
                                   neighbour (in a grid row) makes the tile taller */
    padding: 4px 8px 6px;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--mud-palette-text-primary);
}

/* ── ShadeColor tint (same model as TritiumCardPanel) ──
   --tst-shade is set inline by the component when ShadeColor is assigned. */
.tst-shaded[b-zwyderdw7y] {
    border-color: color-mix(in srgb, var(--tst-shade) 45%, var(--mud-palette-lines-default));
}

.tst-shaded .tst-header[b-zwyderdw7y] {
    background: color-mix(in srgb, var(--tst-shade) 15%, transparent);
}

.tst-shaded .tst-label[b-zwyderdw7y] {
    color: var(--tst-shade);
}

.tst-shaded .tst-body[b-zwyderdw7y] {
    background: color-mix(in srgb, var(--tst-shade) 7%, transparent);
}
/* /Components/_Shared/TritiumUserPicker/TritiumUserPicker.razor.rz.scp.css */
/* TritiumUserPicker — decoupled app-user (login) search / pick / show control.
   Sibling of TritiumContactPicker / TritiumEmployeePicker; theme palette variables only. */

.tup-root[b-3x5jrv2aut] { position: relative; display: block; }

/* ── The field (MudField shell + clickable wrapper) ─────────────────────── */
.tup-fieldwrap[b-3x5jrv2aut] { display: block; outline: none; cursor: pointer; border-radius: var(--mud-default-borderradius); }
.tup-fieldwrap.tup-nointeract[b-3x5jrv2aut] { cursor: default; }
.tup-fieldwrap:focus-visible[b-3x5jrv2aut] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 45%, transparent); }
/* The MudField gives label/border/helper/error; this row is its value area. */
.tup-field-content[b-3x5jrv2aut] { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 30px; user-select: none; }

.tup-card-icon[b-3x5jrv2aut] { flex-shrink: 0; opacity: 0.6; }
.tup-card-placeholder[b-3x5jrv2aut] { font-size: 0.78rem; color: var(--mud-palette-text-secondary); font-style: italic; }

/* Trailing controls (clear + chevron) pinned to the far right. */
.tup-card-trailing[b-3x5jrv2aut] { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.tup-card-chevron[b-3x5jrv2aut]  { flex-shrink: 0; opacity: 0.45; font-size: 1.1rem !important; }

/* ── Initials avatar ────────────────────────────────────────────────────── */
.tup-avatar[b-3x5jrv2aut] {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
    text-transform: uppercase; line-height: 1;
}

/* ── Body (name + tags + meta) ──────────────────────────────────────────── */
.tup-main[b-3x5jrv2aut] { flex: 1; min-width: 0; }
.tup-name-line[b-3x5jrv2aut] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tup-name[b-3x5jrv2aut] {
    font-size: 0.84rem; font-weight: 600; line-height: 1.3;
    color: var(--mud-palette-text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}

.tup-tags[b-3x5jrv2aut] { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; flex-wrap: wrap; margin-left: auto; justify-content: flex-end; }
.tup-tag[b-3x5jrv2aut] {
    font-size: 0.56rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
    padding: 1px 6px; border-radius: 4px; line-height: 1.5; white-space: nowrap;
    color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
}
.tup-tag-more[b-3x5jrv2aut] {
    color: var(--mud-palette-text-secondary);
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 12%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-text-secondary) 30%, transparent);
}

.tup-meta[b-3x5jrv2aut] {
    display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; margin-top: 3px;
    font-size: 0.68rem; color: var(--mud-palette-text-secondary);
}
.tup-meta-item[b-3x5jrv2aut] { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.tup-meta-email[b-3x5jrv2aut] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
/* Icon size/color are set inline on the MudIcon — scoped CSS can't reach a child
   component's rendered <svg> (it has no [b-xxx] scope attribute). */
.tup-meta-icon[b-3x5jrv2aut] { flex-shrink: 0; }

/* ── Floating popup ─────────────────────────────────────────────────────── */
.tup-backdrop[b-3x5jrv2aut] { position: fixed; inset: 0; z-index: 8998; }

.tup-popup[b-3x5jrv2aut] {
    position: fixed; z-index: 8999; max-width: 580px;
    border-radius: 12px; background: var(--mud-palette-surface);
    box-shadow: 0 8px 32px rgba(0,0,0,0.26), 0 2px 8px rgba(0,0,0,0.13);
    border: 1px solid var(--mud-palette-lines-default); overflow: hidden;
}
.tup-search-bar[b-3x5jrv2aut] {
    padding: 10px 12px 8px; border-bottom: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, var(--mud-palette-surface));
}
.tup-search-row[b-3x5jrv2aut] { display: flex; align-items: center; gap: 6px; }
.tup-action-btn[b-3x5jrv2aut] { flex-shrink: 0; }
.tup-tag-filter[b-3x5jrv2aut] { display: flex; align-items: center; gap: 5px; margin-top: 6px; }
.tup-tag-filter-icon[b-3x5jrv2aut] { font-size: 0.9rem !important; opacity: 0.6; color: var(--mud-palette-text-secondary); }
.tup-tag-filter-chip[b-3x5jrv2aut] { font-size: 0.58rem; }

.tup-grid[b-3x5jrv2aut] {
    display: grid; grid-template-columns: 1fr; gap: 6px;
    padding: 10px 12px 12px; max-height: 480px; min-height: 220px; overflow-y: auto;
}
.tup-empty[b-3x5jrv2aut] {
    grid-column: 1 / -1; padding: 50px 0; text-align: center;
    color: var(--mud-palette-text-secondary); font-size: 0.78rem;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.tup-empty--nodata[b-3x5jrv2aut] { font-style: italic; }
.tup-empty-icon[b-3x5jrv2aut] { font-size: 2.4rem !important; opacity: 0.4; }

/* ── Result tiles ───────────────────────────────────────────────────────── */
.tup-tile[b-3x5jrv2aut] {
    padding: 9px 11px; border-radius: 8px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background);
    display: flex; align-items: center; gap: 10px;
    cursor: pointer; min-height: 56px;
    transition: background .12s, border-color .12s, box-shadow .1s, transform .1s;
}
.tup-tile:hover[b-3x5jrv2aut] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}
.tup-tile:focus-visible[b-3x5jrv2aut] { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; border-color: var(--mud-palette-primary); }
.tup-tile-selected[b-3x5jrv2aut] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-background));
    border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary);
}

.tup-tile .tup-name[b-3x5jrv2aut] { white-space: normal; }
