/* /Components/Contacts/Giving/ContactGivingStrip.razor.rz.scp.css */
/* The footer band of the contact header card. Recessed a step towards the page background so it
   reads as part of the card rather than something placed beneath it. */
.giving-band[b-zop9mxnnkj] {
    border-top: 1px solid var(--aura-line);
    background: color-mix(in srgb, var(--mud-palette-background) 55%, var(--mud-palette-surface));
    overflow: hidden;
    container-type: inline-size;
    /* The card's own bottom corners, so the band doesn't poke past them. */
    border-bottom-left-radius: var(--aura-radius-card);
    border-bottom-right-radius: var(--aura-radius-card);
}

/* Hairline rules between the figures: every figure draws its own left and top rule, and the grid
   is pulled up and left by one pixel so the first column's and first row's rules fall outside the
   band. Unlike rules drawn by the gap, this leaves nothing behind in an unfilled last row. */
.giving-grid[b-zop9mxnnkj] {
    display: grid;
    grid-template-columns: repeat(var(--giving-columns, 4), minmax(0, 1fr));
    width: calc(100% + 1px);
    margin: -1px 0 0 -1px;
    padding: 0;
}

@container (max-width: 600px) {
    .giving-grid[b-zop9mxnnkj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container (max-width: 320px) {
    .giving-grid[b-zop9mxnnkj] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.giving-figure[b-zop9mxnnkj] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 16px 24px 18px;
    border-left: 1px solid var(--aura-line);
    border-top: 1px solid var(--aura-line);
}

.giving-label[b-zop9mxnnkj] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.giving-label-icon[b-zop9mxnnkj] {
    display: inline-flex;
    opacity: 0.8;
}

.giving-value[b-zop9mxnnkj] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0 6px;
    margin: 2px 0 0;
}

.giving-amount[b-zop9mxnnkj] {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.giving-amount-muted[b-zop9mxnnkj] {
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.giving-unit[b-zop9mxnnkj] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.giving-caption[b-zop9mxnnkj] {
    margin: 0;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.giving-empty[b-zop9mxnnkj] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
}

.giving-empty-icon[b-zop9mxnnkj] {
    width: 36px;
    height: 36px;
    border-radius: var(--aura-radius-control);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.giving-empty-title[b-zop9mxnnkj] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.giving-empty-text[b-zop9mxnnkj] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Contacts/Timeline/ContactTimelineFeed.razor.rz.scp.css */
/* ===== Timeline root ===== */
.timeline-root[b-x18il31qn4] {
    display: flex;
    flex-direction: column;
    color: var(--mud-palette-text-primary);
}

/* ===== Filter tabs (segmented control) ===== */
.filter-tabs[b-x18il31qn4] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 3px;
    margin-bottom: 20px;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 5%, transparent);
    border-radius: var(--aura-radius-control);
    /* Self-sizing wrapper so it doesn't fill the full content width. */
    align-self: flex-start;
}

.filter-tab[b-x18il31qn4] {
    --tab-color: var(--mud-palette-text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--aura-radius-badge);
    border: none;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, box-shadow 120ms ease;
    user-select: none;
    white-space: nowrap;
}

.filter-tab:hover:not(.is-active)[b-x18il31qn4] {
    background: color-mix(in srgb, var(--mud-palette-text-primary) 6%, transparent);
    color: var(--mud-palette-text-primary);
}

.filter-tab:focus-visible[b-x18il31qn4] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.filter-tab.is-active[b-x18il31qn4] {
    background: var(--mud-palette-surface, var(--mud-palette-background));
    color: var(--tab-color);
    box-shadow: var(--aura-shadow-card), 0 0 0 1px var(--aura-line);
}

.filter-tab[data-color="success"][b-x18il31qn4]   { --tab-color: var(--mud-palette-success); }
.filter-tab[data-color="warning"][b-x18il31qn4]   { --tab-color: var(--mud-palette-warning); }
.filter-tab[data-color="error"][b-x18il31qn4]     { --tab-color: var(--mud-palette-error); }
.filter-tab[data-color="info"][b-x18il31qn4]      { --tab-color: var(--mud-palette-info); }
.filter-tab[data-color="primary"][b-x18il31qn4]   { --tab-color: var(--mud-palette-primary); }
.filter-tab[data-color="secondary"][b-x18il31qn4] { --tab-color: var(--mud-palette-secondary); }
.filter-tab[data-color="tertiary"][b-x18il31qn4]  { --tab-color: var(--mud-palette-tertiary); }

/* "All" tab has no data-color → default-color treatment using primary accent on active. */
.filter-tab:not([data-color]).is-active[b-x18il31qn4] {
    color: var(--mud-palette-primary);
}

.filter-tab-icon[b-x18il31qn4] {
    display: inline-flex;
    color: inherit;
    opacity: 0.85;
}

.filter-tab.is-active .filter-tab-icon[b-x18il31qn4] {
    opacity: 1;
}

/* ===== Loading + empty states ===== */
.timeline-loading[b-x18il31qn4] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

/* ===== Timeline list + rail ===== */
.timeline-list[b-x18il31qn4] {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.timeline-list[b-x18il31qn4]::before {
    content: "";
    position: absolute;
    left: 17px;
    /* The first day-header is followed by entries; let the line start at the first medallion
       and end at the last. The day-header pill renders above this z-index so it gets covered. */
    top: 14px;
    bottom: 14px;
    width: 2px;
    background: var(--aura-line-strong);
}

/* ===== Day header ===== */
.day-header[b-x18il31qn4] {
    position: relative;
    padding: 20px 0 8px 52px;
    z-index: 1;
}

.timeline-list > .day-header:first-child[b-x18il31qn4] {
    padding-top: 0;
}

.day-label[b-x18il31qn4] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: var(--aura-radius-pill);
    background: var(--aura-surface-inset);
    border: 1px solid var(--aura-line-strong);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

/* ===== Entry row ===== */
.entry[b-x18il31qn4] {
    position: relative;
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 16px;
    padding: 10px 12px 10px 0;
    margin-left: -12px;
    align-items: flex-start;
    border-radius: var(--aura-radius-control);
    transition: background 120ms ease;
}

.entry-clickable[b-x18il31qn4] {
    cursor: pointer;
}

.entry:hover[b-x18il31qn4] {
    background: color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent);
}

/* ===== Medallion (icon rail) ===== */
.entry-rail[b-x18il31qn4] {
    display: flex;
    justify-content: center;
    padding-top: 2px;
    margin-left: 12px;
}

.medallion[b-x18il31qn4] {
    --medallion-color: var(--mud-palette-text-secondary);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    /* Solid blend so the rail line behind it is occluded. */
    background: color-mix(in srgb, var(--medallion-color) 12%, var(--mud-palette-surface, var(--mud-palette-background)));
    color: var(--medallion-color);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--medallion-color) 20%, transparent);
    flex-shrink: 0;
    z-index: 1;
}

/* ::deep: the icon is rendered by MudIcon, so it never carries this component's isolation attribute. */
.medallion[b-x18il31qn4]  .mud-icon-root {
    font-size: 18px;
}

.medallion[data-color="success"][b-x18il31qn4]   { --medallion-color: var(--mud-palette-success); }
.medallion[data-color="warning"][b-x18il31qn4]   { --medallion-color: var(--mud-palette-warning); }
.medallion[data-color="error"][b-x18il31qn4]     { --medallion-color: var(--mud-palette-error); }
.medallion[data-color="info"][b-x18il31qn4]      { --medallion-color: var(--mud-palette-info); }
.medallion[data-color="primary"][b-x18il31qn4]   { --medallion-color: var(--mud-palette-primary); }
.medallion[data-color="secondary"][b-x18il31qn4] { --medallion-color: var(--mud-palette-secondary); }
.medallion[data-color="tertiary"][b-x18il31qn4]  { --medallion-color: var(--mud-palette-tertiary); }

/* ===== Entry body ===== */
.entry-body[b-x18il31qn4] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding-top: 6px;
}

.entry-title[b-x18il31qn4] {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--mud-palette-text-primary);
    word-break: break-word;
}

.timeline-root[b-x18il31qn4]  .entry-title-link {
    color: var(--mud-palette-text-primary);
    font-weight: 500;
}

.timeline-root[b-x18il31qn4]  .entry-title-link:hover {
    color: var(--mud-palette-primary);
}

/* What has since become of the record — "Since removed", "Since voided", "Since refunded". */
.entry-annotation[b-x18il31qn4] {
    margin-left: 8px;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.entry-description[b-x18il31qn4] {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
    /* Soft truncation for long descriptions; full content visible via tooltip on the row. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.entry-meta[b-x18il31qn4] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.2;
}

.entry-time[b-x18il31qn4] {
    cursor: help;
    border-bottom: 1px dotted transparent;
    transition: border-color 120ms ease;
}

.entry:hover .entry-time[b-x18il31qn4] {
    border-bottom-color: var(--mud-palette-lines-default);
}

.entry-meta-separator[b-x18il31qn4] {
    opacity: 0.5;
}

.entry-actor[b-x18il31qn4] {
    color: var(--mud-palette-text-secondary);
}

/* ===== Amount chip ===== */
.entry-amount[b-x18il31qn4] {
    align-self: center;
    padding: 4px 10px;
    border-radius: var(--aura-radius-badge);
    background: color-mix(in srgb, var(--mud-palette-success) 10%, var(--mud-palette-background));
    border: 1px solid color-mix(in srgb, var(--mud-palette-success) 25%, transparent);
    color: color-mix(in srgb, var(--mud-palette-success) 90%, var(--mud-palette-text-primary));
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

/* An amount that no longer counts reads muted rather than green. */
.entry-amount.entry-amount-annotated[b-x18il31qn4] {
    background: var(--aura-surface-inset);
    border-color: var(--aura-line-strong);
    color: var(--mud-palette-text-secondary);
}

/* ===== Load-more footer ===== */
.load-more-row[b-x18il31qn4] {
    display: flex;
    justify-content: center;
    padding: 12px 0 4px;
    margin-top: 8px;
    border-top: 1px dashed var(--aura-line-strong);
}

/* ===== Mobile collapse ===== */
@media (max-width: 600px) {
    .entry[b-x18il31qn4] {
        grid-template-columns: 32px 1fr;
        gap: 12px;
        padding-right: 4px;
    }
    .entry-amount[b-x18il31qn4] {
        grid-column: 2;
        justify-self: start;
        margin-top: 6px;
    }
    .timeline-list[b-x18il31qn4]::before { left: 15px; }
    .day-header[b-x18il31qn4] { padding-left: 44px; }
    .medallion[b-x18il31qn4] { width: 32px; height: 32px; }
}
/* /Components/Dashboards/DashboardPicker.razor.rz.scp.css */
.picker-row[b-yp243gy4yx] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.picker-text[b-yp243gy4yx] {
    flex: 1 1 auto;
    min-width: 0;
}
/* /Components/Dashboards/GeneralDashboardContent.razor.rz.scp.css */
/* The General dashboard: figures, then rows of cards on one rhythm. Rows stack below 960px. */
.general-dashboard[b-c7ome4xf7t] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.dashboard-row[b-c7ome4xf7t] {
    display: grid;
    gap: var(--aura-space-page);
    align-items: stretch;
}

.dashboard-row--main-side[b-c7ome4xf7t] {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.dashboard-row--halves[b-c7ome4xf7t] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 959.98px) {
    .dashboard-row--main-side[b-c7ome4xf7t],
    .dashboard-row--halves[b-c7ome4xf7t] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.dashboard-side[b-c7ome4xf7t] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
    min-width: 0;
}

.quick-actions[b-c7ome4xf7t] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.activity-list[b-c7ome4xf7t] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.activity-row[b-c7ome4xf7t] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--aura-line);
}

.activity-row:last-child[b-c7ome4xf7t] {
    border-bottom: none;
}

.activity-text[b-c7ome4xf7t] {
    flex: 1 1 auto;
    min-width: 0;
}

.activity-icon[b-c7ome4xf7t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface-inset);
    color: var(--mud-palette-text-secondary);
}

.activity-icon--created[b-c7ome4xf7t] {
    color: var(--mud-palette-success);
    background-color: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
}

.activity-icon--updated[b-c7ome4xf7t] {
    color: var(--mud-palette-info);
    background-color: color-mix(in srgb, var(--mud-palette-info) 12%, transparent);
}

.activity-icon--deleted[b-c7ome4xf7t] {
    color: var(--mud-palette-error);
    background-color: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
}

.activity-icon--restored[b-c7ome4xf7t] {
    color: var(--mud-palette-warning);
    background-color: color-mix(in srgb, var(--mud-palette-warning) 12%, transparent);
}

.activity-pager[b-c7ome4xf7t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
}
/* /Components/Dashboards/GettingStartedCard.razor.rz.scp.css */
.getting-started-actions[b-dznngat9iy] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
/* /Components/Dashboards/OperationalAlertsList.razor.rz.scp.css */
.ops-alerts[b-ckpg7lias2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ops-alert[b-ckpg7lias2] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ops-alert[b-ckpg7lias2]  .ops-alert-icon {
    color: var(--mud-palette-text-secondary);
}

.ops-alert.aura-tone-info[b-ckpg7lias2]  .ops-alert-icon {
    color: var(--mud-palette-info);
}

.ops-alert.aura-tone-warning[b-ckpg7lias2]  .ops-alert-icon {
    color: var(--mud-palette-warning);
}

.ops-alert.aura-tone-danger[b-ckpg7lias2]  .ops-alert-icon {
    color: var(--mud-palette-error);
}
/* /Components/Dashboards/Widgets/KpiTile.razor.rz.scp.css */
/* A figure fills its grid cell, so tiles in one dashboard row share a height. */
.kpi-tile[b-n6llk8ymce] {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}

.kpi-tile[b-n6llk8ymce]  .aura-stat {
    flex: 1 1 auto;
}
/* /Components/Dashboards/Widgets/ReportTileTable.razor.rz.scp.css */
.report-tile-table[b-s8j7ogivze] {
    overflow: auto;
    min-width: 0;
}
/* /Components/Dialogs/AddDashboardTileDialog.razor.rz.scp.css */
/* Fixed height (not max-height) so the dialog stays the same size whether the current section
   has fifty widgets or an empty state — no jump on switch. */
.add-tile-scroll[b-vpgdmubgne] {
    height: 460px;
    overflow-y: auto;
    padding: 4px 4px 8px;
}

.add-tile-grid[b-vpgdmubgne] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.add-tile-card[b-vpgdmubgne] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    padding: 14px;
    border-radius: var(--aura-radius-card);
    border: 1px solid var(--aura-line);
    background: var(--aura-surface);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.add-tile-card:hover[b-vpgdmubgne] {
    border-color: var(--mud-palette-primary);
    box-shadow: var(--aura-shadow-raised);
}

.add-tile-card:focus-visible[b-vpgdmubgne] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.add-tile-card-head[b-vpgdmubgne] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* /Components/Dialogs/AddressPickerDialog.razor.rz.scp.css */
.address-picker-row[b-ydo3y9jg13] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.address-picker-row:hover[b-ydo3y9jg13] {
    border-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 4%, transparent);
}

.address-picker-row-selected[b-ydo3y9jg13] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
}

.address-picker-row-main[b-ydo3y9jg13] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    flex: 1 1 auto;
}

.address-picker-row-lines[b-ydo3y9jg13] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.address-picker-row-meta[b-ydo3y9jg13] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.address-picker-row-check[b-ydo3y9jg13] {
    display: inline-flex;
    flex: 0 0 auto;
}
/* /Components/Dialogs/AdjustStockDialog.razor.rz.scp.css */
.adjust-fields[b-of6yw0jg28] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Dialogs/ContactEmailViewerDialog.razor.rz.scp.css */
.email-frame[b-s0shixwbn5] {
    display: block;
    width: 100%;
    height: 520px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background: var(--aura-paper);
}
/* /Components/Dialogs/OrderConfirmDialog.razor.rz.scp.css */
.confirm-total[b-gtb5wvhyqv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 16px 20px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface-inset);
}

.confirm-total-label[b-gtb5wvhyqv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

.confirm-total-for[b-gtb5wvhyqv] {
    font-size: 0.75rem;
}

.confirm-total-amount[b-gtb5wvhyqv] {
    color: var(--mud-palette-primary);
    font-size: 1.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
/* /Components/Dialogs/SelectBatchDialog.razor.rz.scp.css */
/* Fixed-size body — the dialog never resizes with row count, search results, loading state,
   or a switch to the new-batch form. */
.batch-dialog-body[b-r5ux7b27ev] {
    height: 500px;
    overflow-y: auto;
}

.auto-option[b-r5ux7b27ev] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
}

.auto-option:hover[b-r5ux7b27ev] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
}

.auto-option:focus-visible[b-r5ux7b27ev] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.batch-dialog-searchrow[b-r5ux7b27ev] {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 12px;
}
/* /Components/Dialogs/ShareReportDialog.razor.rz.scp.css */
/* Plain elements so the rules apply without ::deep — a MudBlazor root never receives this
   component's isolation attribute. Same reason ReportList.razor writes its card grid by hand. */
.share-dialog-body[b-6ksnyqjoeb] {
    min-width: 0;
}

/* ── Visibility cards ─────────────────────────────────────────────────────────────────
   Stacked, not a grid: three mutually exclusive answers to one question read as a list,
   and each hint needs a full line at this dialog width. */
.share-options[b-6ksnyqjoeb] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.share-card[b-6ksnyqjoeb] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background: var(--mud-palette-surface);
    /* Blazor does not emit onclick as an HTML attribute, so [onclick] would never match. */
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
}

.share-card:hover[b-6ksnyqjoeb] {
    border-color: var(--mud-palette-primary);
    background-color: var(--mud-palette-action-default-hover);
}

/* Only the selected card is in the tab order, so its focus ring is the one thing telling a
   keyboard user where they are before they press an arrow. */
.share-card:focus-visible[b-6ksnyqjoeb] {
    outline: none;
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mud-palette-primary) 25%, transparent);
}

/* Border plus a tint plus the check: three cues, because on a dialog that is entirely this
   one decision, "which is selected" should not rest on a single hairline. */
.share-card--selected[b-6ksnyqjoeb] {
    border-color: var(--mud-palette-primary);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 6%, transparent);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
}

.share-card__icon[b-6ksnyqjoeb] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: var(--aura-radius-control);
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
}

.share-card--selected .share-card__icon[b-6ksnyqjoeb] {
    background: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
}

/* min-width:0 so a long hint wraps inside the card instead of pushing the check off it. */
.share-card__text[b-6ksnyqjoeb] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
    min-width: 0;
}

.share-card__title[b-6ksnyqjoeb] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

/* Secondary text, not the theme's secondary COLOR — that is the brand sky blue, which
   reads as a hyperlink sitting under a label. */
.share-card__hint[b-6ksnyqjoeb] {
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}

.share-card__check[b-6ksnyqjoeb] {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--mud-palette-text-disabled);
}

.share-card--selected .share-card__check[b-6ksnyqjoeb] {
    color: var(--mud-palette-primary);
}

.share-picker[b-6ksnyqjoeb] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.share-grant-row[b-6ksnyqjoeb] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--aura-line);
}

.share-grant-row:last-child[b-6ksnyqjoeb] {
    border-bottom: none;
}

/* /Components/Dialogs/TaxStatementBatchPreviewDialog.razor.rz.scp.css */
.statement-frame[b-746y8kyuab] {
    display: block;
    width: 100%;
    height: 70vh;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background: var(--aura-paper);
}
/* /Components/Help/HelpDrawer.razor.rz.scp.css */
.help-drawer-layout[b-h8f1tji7vp] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.help-drawer-body[b-h8f1tji7vp] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.help-drawer-body[b-h8f1tji7vp]  .aura-empty {
    margin: auto 0;
}

.help-drawer-frame[b-h8f1tji7vp] {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/*
    Running version, shown at the end of the nav so support can ask "what does the bottom of
    your sidebar say?" instead of guessing which build a tenant is on.

    Deliberately not pinned to the bottom of the drawer with flexbox. Pinning means overriding
    MudBlazor's own `.mud-drawer-content` layout through `::deep`, which is brittle across
    MudBlazor upgrades and buys very little — the nav is short enough that this sits in view on
    a normal viewport anyway. If it ever needs pinning, that is a self-contained change here.
*/
/* App bar: the full logo and every control on a wide screen; on a phone the mark alone, and the
   secondary controls move into the account menu so the bar fits and Sign out stays reachable. */
.appbar-logo-full[b-bgrs603u7w],
.appbar-logo-icon[b-bgrs603u7w] {
    display: block;
    height: 20px;
    width: auto;
}

.appbar-logo-icon[b-bgrs603u7w] {
    display: none;
    height: 24px;
}

.appbar-wide[b-bgrs603u7w] {
    display: contents;
}

.appbar-narrow-only[b-bgrs603u7w] {
    display: none;
}

@media (max-width: 599.98px) {
    .appbar-logo-full[b-bgrs603u7w],
    .appbar-wide[b-bgrs603u7w] {
        display: none;
    }

    .appbar-logo-icon[b-bgrs603u7w],
    .appbar-narrow-only[b-bgrs603u7w] {
        display: block;
    }
}

.drawer-divider[b-bgrs603u7w] {
    flex: 0 0 auto;
    margin: 0;
    border: none;
    border-top: 1px solid var(--aura-line);
}

.app-version[b-bgrs603u7w] {
    padding: 12px 16px 16px;
    margin-top: 8px;
    border-top: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

/* MudBlazor 9 activator wrapper for the user menu. MudAvatar exposes no OnClick, and v9's
   ActivatorContent no longer wraps its content in anything clickable, so the avatar needs its
   own hit target. role="button" + tabindex keep it reachable from the keyboard. */
.user-menu-activator[b-bgrs603u7w] {
    display: inline-flex;
    cursor: pointer;
}

.user-menu-activator:focus-visible[b-bgrs603u7w] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: 50%;
}

.user-menu-activator[b-bgrs603u7w]  .user-avatar {
    font-size: 0.75rem;
    font-weight: 600;
    user-select: none;
}

.user-menu-heading[b-bgrs603u7w] {
    min-width: 180px;
}
/* /Components/Layout/NotificationBell.razor.rz.scp.css */
.notification-dropdown[b-9singf0voe] {
    width: 360px;
    max-height: 480px;
    display: flex;
    flex-direction: column;
}

.notification-header[b-9singf0voe] {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--aura-line);
}

.notification-item-text[b-9singf0voe]  .notification-message {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.notification-list[b-9singf0voe] {
    overflow-y: auto;
    max-height: 400px;
}

.notification-item[b-9singf0voe] {
    padding: 10px 16px;
    cursor: pointer;
    border-bottom: 1px solid var(--aura-line);
    transition: background 0.15s ease;
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.notification-item:last-child[b-9singf0voe] {
    border-bottom: none;
}

.notification-item:hover[b-9singf0voe] {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

.notification-item-content[b-9singf0voe] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.notification-item-text[b-9singf0voe] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.notification-footer[b-9singf0voe] {
    border-top: 1px solid var(--aura-line);
    padding: 4px 8px;
}
/* /Components/Layout/RecentContactsDrawer.razor.rz.scp.css */
.recent-drawer[b-lhuawomjk9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.filter-row[b-lhuawomjk9] {
    padding: 12px 16px 4px;
    flex-shrink: 0;
}

/* Reserves the progress bar's height so the list doesn't jump when a refresh starts. */
.refresh-slot[b-lhuawomjk9] {
    height: 4px;
    flex-shrink: 0;
}

.recent-list[b-lhuawomjk9] {
    flex: 1;
    overflow-y: auto;
    padding: 4px 16px 12px;
}

/* ─── Day groups ─── */

.recent-group + .recent-group[b-lhuawomjk9] {
    margin-top: 8px;
}

.recent-group-heading[b-lhuawomjk9] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    padding: 12px 4px 6px;
}

/* ─── Rows ─── */

.recent-row[b-lhuawomjk9] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    margin-bottom: 6px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background: var(--mud-palette-surface);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.recent-row:hover[b-lhuawomjk9] {
    background: color-mix(in srgb, var(--mud-palette-primary) 5%, var(--mud-palette-surface));
    border-color: var(--mud-palette-primary);
}

.recent-row:focus-visible[b-lhuawomjk9] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

/* The contact whose page is open: in its place, marked, not a link. */
.recent-row-current[b-lhuawomjk9] {
    cursor: default;
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, var(--aura-line));
}

.recent-row-current:hover[b-lhuawomjk9] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-surface));
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, var(--aura-line));
}

.recent-avatar[b-lhuawomjk9] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    /* Neutral: the icon's shape says person or organization. The palette's Info and Secondary are
       the same sky blue in the default theme, so tinting by type made the two look alike. */
    color: var(--mud-palette-text-secondary);
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 12%, transparent);
}

.recent-body[b-lhuawomjk9] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.recent-line[b-lhuawomjk9] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.recent-name[b-lhuawomjk9] {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}

.recent-id[b-lhuawomjk9] {
    font-family: var(--aura-font-mono);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.recent-meta[b-lhuawomjk9],
.recent-detail[b-lhuawomjk9] {
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ─── States ─── */

.recent-skeleton[b-lhuawomjk9] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    margin-bottom: 6px;
}

.recent-skeleton-lines[b-lhuawomjk9] {
    flex: 1;
}

.drawer-footer[b-lhuawomjk9] {
    padding: 8px 16px 16px;
    border-top: 1px solid var(--aura-line);
    flex-shrink: 0;
}
/* /Components/Layout/TaskDrawer.razor.rz.scp.css */
.task-drawer[b-xjec7ujlo1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* A drawer, not a page: the panel sits right under its tab strip. */
.task-drawer[b-xjec7ujlo1]  .mud-tabs-panels {
    padding-top: 0;
}

/* Two tabs split the drawer's width between them, as they did before the tabs were MudTabs.
   MudTabs wraps each tab in a tooltip root, and that wrapper — not the tab — is the flex item, so
   it takes the share and the tab fills it. A flex rule on the tab itself matched and did nothing:
   the tabs stayed at MudBlazor's 160px minimum, short of the underline beneath them. */
.task-drawer[b-xjec7ujlo1]  .mud-tabs-tabbar-wrapper {
    width: 100%;
}

.task-drawer[b-xjec7ujlo1]  .mud-tabs-tabbar-wrapper > .mud-tooltip-root {
    flex: 1 1 0;
    min-width: 0;
}

.task-drawer[b-xjec7ujlo1]  .mud-tabs-tabbar-wrapper .mud-tab {
    width: 100%;
}

.filter-row[b-xjec7ujlo1] {
    padding: 12px 16px 0;
}

.task-list[b-xjec7ujlo1] {
    flex: 1;
    overflow-y: auto;
    max-height: calc(100vh - 260px);
    padding: 8px 16px;
}

.task-card[b-xjec7ujlo1] {
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    padding: 12px;
    margin-bottom: 8px;
    background: var(--mud-palette-surface);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.task-card:hover[b-xjec7ujlo1] {
    background: color-mix(in srgb, var(--mud-palette-primary) 5%, var(--mud-palette-surface));
    border-color: var(--mud-palette-primary);
}

.task-card-top[b-xjec7ujlo1] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.task-card-info[b-xjec7ujlo1] {
    flex: 1;
    min-width: 0;
}

.task-card-action[b-xjec7ujlo1] {
    display: inline-flex;
    flex-shrink: 0;
}

.task-card-bottom[b-xjec7ujlo1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6px;
}

/* The priority sits at caption size beside the due date; the dot that used to lead the card said
   the same thing a second time, in colours that matched the Pending chips. */
.task-card-priority[b-xjec7ujlo1] {
    font-size: 0.75rem;
}

.task-card-priority[b-xjec7ujlo1]  .mud-icon-root {
    font-size: 1rem;
}

.task-card-bottom[b-xjec7ujlo1]  .task-card-overdue {
    font-weight: 600;
}

.drawer-footer[b-xjec7ujlo1] {
    padding: 8px 16px 16px;
    border-top: 1px solid var(--aura-line);
    flex-shrink: 0;
}
/* /Components/Lookups/LookupChildList.razor.rz.scp.css */
/* .lookup-child-list is a plain element of ours and anchors the ::deep rules for the drop
   container and zone, which MudBlazor renders; the rows are written in this file's ItemRenderer. */
.lookup-child-list[b-hir46fuo2g] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lookup-child-list[b-hir46fuo2g]  .lookup-child-container,
.lookup-child-list[b-hir46fuo2g]  .lookup-child-zone {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* One step in from the card, so an item reads as belonging to the list rather than competing with it. */
.lookup-child-row[b-hir46fuo2g] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface-inset);
    padding: 12px;
}

.lookup-child-controls[b-hir46fuo2g] {
    display: flex;
    align-items: center;
    padding-top: 8px;
}

.lookup-child-handle[b-hir46fuo2g] {
    display: inline-flex;
    cursor: grab;
    color: var(--mud-palette-text-secondary);
}

.lookup-child-body[b-hir46fuo2g] {
    flex: 1;
    min-width: 0;
}

.lookup-child-announcer[b-hir46fuo2g] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
/* /Components/Lookups/LookupEditDrawer.razor.rz.scp.css */
/* Every class here is on a plain element this component writes, so no ::deep is needed. */
.lookup-drawer[b-6afulpbgh4] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lookup-drawer-body[b-6afulpbgh4] {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.lookup-drawer-footer[b-6afulpbgh4] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 24px 20px;
    border-top: 1px solid var(--aura-line);
    background-color: var(--aura-surface);
}

.lookup-drawer-buttons[b-6afulpbgh4] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
/* /Components/Lookups/LookupListView.razor.rz.scp.css */
/* .lookup-list is a plain element this component writes and anchors every ::deep rule below. */
.lookup-list[b-9i7m5utxwr] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.lookup-list-header[b-9i7m5utxwr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.lookup-list-heading[b-9i7m5utxwr] {
    min-width: 0;
    flex: 1 1 320px;
}

.lookup-list-title[b-9i7m5utxwr] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.lookup-list-icon[b-9i7m5utxwr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.lookup-list-actions[b-9i7m5utxwr] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.lookup-list[b-9i7m5utxwr]  .lookup-list-actions-cell {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}

.lookup-row-name-cell[b-9i7m5utxwr] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

/* A real button so the row can be reached and opened from the keyboard; styled as its name. */
.lookup-row-name[b-9i7m5utxwr] {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    font-weight: 500;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.lookup-row-name:hover[b-9i7m5utxwr] {
    color: var(--mud-palette-primary);
}

.lookup-row-name:focus-visible[b-9i7m5utxwr] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: var(--aura-radius-badge);
}

.lookup-row-name-text[b-9i7m5utxwr] {
    font-weight: 500;
}

.lookup-row-subline[b-9i7m5utxwr] {
    font-size: 0.8125rem;
    margin-top: 2px;
}
/* /Components/Lookups/LookupReorderList.razor.rz.scp.css */
/* .lookup-reorder is a plain element of ours and anchors the ::deep rules; the container, zone and
   rows are rendered by MudDropContainer from our ItemRenderer, which is written in this file, so
   the row classes carry this component's attribute too. */
.lookup-reorder[b-y04mijchgu] {
    display: flex;
    flex-direction: column;
}

.lookup-reorder[b-y04mijchgu]  .lookup-reorder-container,
.lookup-reorder[b-y04mijchgu]  .lookup-reorder-zone {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lookup-reorder-row[b-y04mijchgu] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
}

.lookup-reorder-handle[b-y04mijchgu] {
    display: inline-flex;
    cursor: grab;
    color: var(--mud-palette-text-secondary);
}

.lookup-reorder-position[b-y04mijchgu] {
    min-width: 2ch;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lookup-reorder-name[b-y04mijchgu] {
    flex: 1;
    min-width: 0;
    font-weight: 500;
}

.lookup-reorder-arrows[b-y04mijchgu] {
    display: inline-flex;
}

.lookup-reorder-announcer[b-y04mijchgu] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
/* /Components/Lookups/LookupSummaryLine.razor.rz.scp.css */
.lookup-summary-line[b-13nd6zt72o] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 0;
}
/* /Components/Pages/Account/AlertSubscriptionForm.razor.rz.scp.css */
/* The alert form's own pieces; the cards, the option grids and the save card are Ui components. */

.type-list[b-ihn1vkm6fm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.type-row[b-ihn1vkm6fm] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.type-row:hover[b-ihn1vkm6fm] {
    border-color: var(--mud-palette-primary);
}

.type-row.selected[b-ihn1vkm6fm] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
}

.type-row.everything[b-ihn1vkm6fm] {
    border-style: dashed;
}

.type-body[b-ihn1vkm6fm] {
    min-width: 0;
    padding-top: 9px;
}

.type-title[b-ihn1vkm6fm] {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
}

.type-desc[b-ihn1vkm6fm] {
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}

.type-meta[b-ihn1vkm6fm] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 4px;
}

.narrowing[b-ihn1vkm6fm] {
    margin-top: 16px;
}
/* /Components/Pages/Account/AlertSubscriptionSummary.razor.rz.scp.css */
.alert-summary[b-9s918flxy4] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.alert-summary__sentence[b-9s918flxy4] {
    margin: 0;
    padding: 12px 14px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
    font-size: 0.875rem;
    line-height: 1.5;
}
/* /Components/Pages/Account/OperationsLogAlerts.razor.rz.scp.css */
.alerts-list[b-cn6ked8nvo] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.alert-switch[b-cn6ked8nvo] {
    display: inline-flex;
}
/* /Components/Pages/Account/Profile.razor.rz.scp.css */
.profile-page[b-26r86g6ncd] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.profile-identity[b-26r86g6ncd] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.password-grid[b-26r86g6ncd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.password-grid[b-26r86g6ncd]  .password-grid__full {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .password-grid[b-26r86g6ncd] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.info-list[b-26r86g6ncd] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.info-row[b-26r86g6ncd] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.info-title[b-26r86g6ncd] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    line-height: 1.4;
}

.info-detail[b-26r86g6ncd] {
    margin-top: 2px;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    line-height: 1.5;
}

.mfa-actions[b-26r86g6ncd] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0 16px;
    padding-top: 20px;
    border-top: 1px solid var(--aura-line);
}

.recovery-codes[b-26r86g6ncd] {
    padding: 12px 16px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    font-size: 0.95rem;
    letter-spacing: 0.04em;
}
/* /Components/Pages/Account/Security/TrustedDevices.razor.rz.scp.css */
.rename-row[b-vlzdg94dqx] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 260px;
}
/* /Components/Pages/Admin/AdminHome.razor.rz.scp.css */
/* .admin-home-page is a plain element of ours and anchors the ::deep rules on the icons, which
   MudIcon renders. */
.admin-home-body[b-tyhc6wq5z6] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.admin-grid[b-tyhc6wq5z6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: var(--aura-space-stack);
    align-items: stretch;
}

@media (max-width: 600px) {
    .admin-grid[b-tyhc6wq5z6] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.admin-card-links[b-tyhc6wq5z6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 8px 8px;
}

.admin-link[b-tyhc6wq5z6] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--aura-radius-control);
    cursor: pointer;
    transition: background-color 120ms ease;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.admin-link:hover[b-tyhc6wq5z6] {
    background-color: var(--mud-palette-action-default-hover);
}

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

.admin-home-page[b-tyhc6wq5z6]  .admin-link-icon {
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.admin-link-text[b-tyhc6wq5z6] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.admin-link-title[b-tyhc6wq5z6] {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.3;
}

.admin-link-description[b-tyhc6wq5z6] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    line-height: 1.4;
    margin-top: 2px;
    /* No line clamp: the description is the only thing telling two similar items apart, and a
       two-line clamp cut ten of them mid-word at the 340px card minimum (UAT F100). Length is
       held by AdminHomeDescriptionTests instead, so a card grows to three lines at most. */
}

.admin-home-page[b-tyhc6wq5z6]  .admin-link-chevron {
    color: var(--mud-palette-text-disabled);
    opacity: 0.5;
    flex-shrink: 0;
    transition: opacity 120ms ease, transform 120ms ease;
}

.admin-link:hover[b-tyhc6wq5z6]  .admin-link-chevron {
    opacity: 1;
    transform: translateX(2px);
}
/* /Components/Pages/Admin/ApiKeySettings.razor.rz.scp.css */
.api-keys-page[b-zqhcokflqn] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.created-key[b-zqhcokflqn] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
}

.created-key__value[b-zqhcokflqn] {
    padding: 4px 8px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    word-break: break-all;
}

.field-stack[b-zqhcokflqn] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.scopes-head[b-zqhcokflqn] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.scopes-head__actions[b-zqhcokflqn] {
    display: flex;
    gap: 8px;
}

.scope-groups[b-zqhcokflqn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

.scope-group[b-zqhcokflqn] {
    padding: 12px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
}

.scope-group__head[b-zqhcokflqn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.scope-group__chips[b-zqhcokflqn],
.scope-badges[b-zqhcokflqn] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
/* /Components/Pages/Admin/AuditLogs.razor.rz.scp.css */
/* A value before and after a change: the old one in the error colour, the new one in the success
   colour, both fixed-width so a changed digit stands out. The same as the contact's audit log. */
.audit-value[b-c48okhtdy9] {
    display: inline-block;
    max-width: 250px;
    overflow: hidden;
    font-family: var(--aura-font-mono);
    font-size: 0.8125rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.audit-value--old[b-c48okhtdy9] {
    color: var(--mud-palette-error);
}

.audit-value--new[b-c48okhtdy9] {
    color: var(--mud-palette-success);
}
/* /Components/Pages/Admin/Automations/AutomationBuilder.razor.rz.scp.css */
.field-stack[b-7w956ldw28] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-stack[b-7w956ldw28]  .limit-field {
    max-width: 280px;
}

/* The task action's priority, due date, category and type. Built in RenderActionConfig's render
   tree, which carries no scope attribute of its own — hence ::deep from the wrapper. */
.field-stack[b-7w956ldw28]  .task-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--aura-space-stack);
}

.menu-option[b-7w956ldw28] {
    display: flex;
    flex-direction: column;
}

.menu-option__hint[b-7w956ldw28] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.sample-row[b-7w956ldw28] {
    border-left: 2px solid var(--mud-palette-primary);
    padding-left: 12px;
    margin-bottom: 8px;
}

.wizard-nav[b-7w956ldw28] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.wizard-nav__spacer[b-7w956ldw28] {
    flex: 1 1 auto;
}
/* /Components/Pages/Admin/Automations/AutomationExecutions.razor.rz.scp.css */
.execution-descriptions[b-ntfthhadd1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 360px;
    font-size: 0.875rem;
    line-height: 1.4;
}
/* /Components/Pages/Admin/Automations/AutomationList.razor.rz.scp.css */
.starter-grid[b-yvtmz2g2pu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--aura-space-stack);
}

.starter-card[b-yvtmz2g2pu] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: start;
    cursor: pointer;
    transition: border-color 120ms ease-in-out, background-color 120ms ease-in-out;
}

.starter-card:hover[b-yvtmz2g2pu] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
}

.starter-card:focus-visible[b-yvtmz2g2pu] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.starter-card__head[b-yvtmz2g2pu] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.starter-card__title[b-yvtmz2g2pu] {
    font-weight: 600;
}

.starter-card__text[b-yvtmz2g2pu] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.status-cell[b-yvtmz2g2pu] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Admin/Automations/MergeTagAwareTextField.razor.rz.scp.css */
.merge-tag-field__head[b-o8xikqgqw8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

.merge-tag-field__label[b-o8xikqgqw8] {
    font-size: 0.875rem;
    font-weight: 600;
}

.merge-tag-option[b-o8xikqgqw8] {
    display: flex;
    flex-direction: column;
}

.merge-tag-preview[b-o8xikqgqw8] {
    font-size: 0.75rem;
    font-style: italic;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Admin/BackgroundActivity.razor.rz.scp.css */
/* .bg-activity-page is a plain element of ours; the cards are plain elements too, so they need
   no ::deep. A card with a detail page is the link itself. */
.bg-activity-page[b-hiaqdifzy3] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.bg-activity-grid[b-hiaqdifzy3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: var(--aura-space-stack);
}

@media (max-width: 600px) {
    .bg-activity-grid[b-hiaqdifzy3] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.bg-card[b-hiaqdifzy3] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: var(--aura-card-pad);
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface);
    box-shadow: var(--aura-shadow-card);
    color: inherit;
    text-decoration: none;
}

.bg-card--link[b-hiaqdifzy3] {
    cursor: pointer;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.bg-card--link:hover[b-hiaqdifzy3],
.bg-card--link:focus-visible[b-hiaqdifzy3] {
    border-color: var(--mud-palette-primary);
    box-shadow: var(--aura-shadow-raised);
}

.bg-card--link:focus-visible[b-hiaqdifzy3] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.bg-card-header[b-hiaqdifzy3] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.bg-card-icon[b-hiaqdifzy3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.bg-card-title[b-hiaqdifzy3] {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    line-height: 1.3;
}

.bg-card-description[b-hiaqdifzy3] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
    line-height: 1.4;
}

.bg-card-footer[b-hiaqdifzy3] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--aura-line);
}

.bg-card-stat[b-hiaqdifzy3] {
    display: flex;
    flex-direction: column;
}

.bg-card-stat-label[b-hiaqdifzy3] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.bg-card-stat-value[b-hiaqdifzy3] {
    font-size: 0.875rem;
    font-weight: 500;
}
/* /Components/Pages/Admin/BackgroundActivityDetail.razor.rz.scp.css */
/* .bg-detail-page is a plain element of ours: the paused notice, the figures, the tabs. */
.bg-detail-page[b-k2qhdlq81g] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.bg-detail-paused[b-k2qhdlq81g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.bg-detail-failures-head[b-k2qhdlq81g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
/* /Components/Pages/Admin/BrandingSettings.razor.rz.scp.css */
.branding-page[b-vc1xql1uc5] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

/* ── Colour scheme ── */

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

.theme-tile[b-vc1xql1uc5] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    background: var(--aura-surface);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.theme-tile:hover:not(:disabled)[b-vc1xql1uc5],
.theme-tile:focus-visible[b-vc1xql1uc5] {
    border-color: var(--mud-palette-primary);
}

.theme-tile.is-current[b-vc1xql1uc5] {
    border-color: var(--mud-palette-primary);
    box-shadow: inset 0 0 0 1px var(--mud-palette-primary);
}

.theme-tile:disabled[b-vc1xql1uc5] {
    cursor: default;
}

.theme-tile:disabled:not(.is-current)[b-vc1xql1uc5] {
    opacity: 0.6;
}

.theme-swatch[b-vc1xql1uc5] {
    position: relative;
    display: block;
    height: 96px;
    background: linear-gradient(135deg, var(--swatch-a) 0%, var(--swatch-b) 60%, var(--swatch-c) 100%);
}

.theme-tile-check[b-vc1xql1uc5] {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    color: var(--mud-palette-white);
}

.theme-tile-body[b-vc1xql1uc5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
}

.theme-tile-name[b-vc1xql1uc5] {
    font-weight: 600;
}

/* ── Logo ── */

.logo-preview-row[b-vc1xql1uc5] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.logo-preview-row__meta[b-vc1xql1uc5] {
    flex: 1 1 200px;
    min-width: 0;
}

.logo-preview-row__actions[b-vc1xql1uc5] {
    display: flex;
    gap: 8px;
}

.logo-preview[b-vc1xql1uc5] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 80px;
    overflow: hidden;
    border: 1px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
}

.logo-preview img[b-vc1xql1uc5] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.logo-dropzone[b-vc1xql1uc5] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 28px;
    border: 2px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    background: var(--aura-surface-inset);
    color: inherit;
    font: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.logo-dropzone:hover:not(:disabled)[b-vc1xql1uc5],
.logo-dropzone:focus-visible[b-vc1xql1uc5] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
}

.logo-dropzone:disabled[b-vc1xql1uc5] {
    cursor: default;
}

.logo-dropzone__title[b-vc1xql1uc5] {
    font-weight: 500;
}
/* /Components/Pages/Admin/ContactEmailDesignEdit.razor.rz.scp.css */
.field-stack[b-y2ggdyyljo] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.merge-group + .merge-group[b-y2ggdyyljo] {
    margin-top: 12px;
}

.merge-group__title[b-y2ggdyyljo] {
    margin-bottom: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.merge-field-group[b-y2ggdyyljo] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.merge-field-drag[b-y2ggdyyljo] {
    cursor: grab;
    user-select: none;
}

.merge-field-drag:active[b-y2ggdyyljo] {
    cursor: grabbing;
    opacity: 0.7;
}
/* /Components/Pages/Admin/ContactEmailHistory.razor.rz.scp.css */
.history[b-e7mr2qlx0g] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Admin/ContactEmailKindCard.razor.rz.scp.css */
.email-card[b-rowijoxr8d] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.email-card__when[b-rowijoxr8d] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    font-size: 0.875rem;
}

/* A part of the card — its wording, its collection details — under a hairline. */
.email-card__part[b-rowijoxr8d] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--aura-line);
}

.email-card__part-head[b-rowijoxr8d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* A list of named things, one of them in use — the wording here, the designs on Settings. */
.named-list[b-rowijoxr8d] {
    display: flex;
    flex-direction: column;
}

.named-row[b-rowijoxr8d] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--aura-line);
}

.named-row:last-child[b-rowijoxr8d] {
    border-bottom: none;
}

.named-row__text[b-rowijoxr8d] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
}

.named-row__sub[b-rowijoxr8d] {
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Pages/Admin/ContactEmails.razor.rz.scp.css */
.contact-emails-page[b-nwqvka42tb],
.tab-stack[b-nwqvka42tb] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-grid[b-nwqvka42tb] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.field-grid[b-nwqvka42tb]  .field-grid__full {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .field-grid[b-nwqvka42tb] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tab-stack[b-nwqvka42tb]  .retention-field {
    max-width: 280px;
}

/* The same rows the email cards use for their wording: named things, one of them in use. */
.named-list[b-nwqvka42tb] {
    display: flex;
    flex-direction: column;
}

.named-row[b-nwqvka42tb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--aura-line);
}

.named-row:last-child[b-nwqvka42tb] {
    border-bottom: none;
}

.named-row__text[b-nwqvka42tb] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
}

.named-row__sub[b-nwqvka42tb] {
    font-size: 0.75rem;
}
/* /Components/Pages/Admin/ContactEmailThankYouCard.razor.rz.scp.css */
.email-card[b-qc24bl7pnz] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* A part of the card — its wording, its collection details — under a hairline. */
.email-card__part[b-qc24bl7pnz] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--aura-line);
}

.email-card__part-head[b-qc24bl7pnz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* A list of named things, one of them in use — the wording here, the designs on Settings. */
.named-list[b-qc24bl7pnz] {
    display: flex;
    flex-direction: column;
}

.named-row[b-qc24bl7pnz] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--aura-line);
}

.named-row:last-child[b-qc24bl7pnz] {
    border-bottom: none;
}

.named-row__text[b-qc24bl7pnz] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
}

.named-row__sub[b-qc24bl7pnz] {
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.email-card__actions[b-qc24bl7pnz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}

.on-count[b-qc24bl7pnz] {
    font-size: 0.8125rem;
    white-space: nowrap;
}
/* /Components/Pages/Admin/ContactEmailWordingEdit.razor.rz.scp.css */
.field-stack[b-bodbed5ycg] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.merge-group + .merge-group[b-bodbed5ycg] {
    margin-top: 12px;
}

.merge-group__title[b-bodbed5ycg] {
    margin-bottom: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.merge-field-group[b-bodbed5ycg] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.merge-field-drag[b-bodbed5ycg] {
    cursor: grab;
    user-select: none;
}

.merge-field-drag:active[b-bodbed5ycg] {
    cursor: grabbing;
    opacity: 0.7;
}

.preview-text[b-bodbed5ycg] {
    max-height: 620px;
    overflow: auto;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
    font-size: 0.8125rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Pages/Admin/ContractHours.razor.rz.scp.css */
.summary-chips[b-rssp55sf31] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.summary-chip[b-rssp55sf31] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-pill);
    font-size: 0.8125rem;
}

.selection-bar[b-rssp55sf31] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.selection-bar[b-rssp55sf31]  .invoice-field {
    max-width: 240px;
}

.entry-form[b-rssp55sf31] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.entry-times[b-rssp55sf31] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Admin/DemoDetail.razor.rz.scp.css */
.field-stack[b-ujtf94tl7t] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-grid[b-ujtf94tl7t] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--aura-space-stack);
}

.attendee-row[b-ujtf94tl7t] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.send-result[b-ujtf94tl7t],
.paste-actions[b-ujtf94tl7t] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 700px) {
    .attendee-row[b-ujtf94tl7t] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/DepartmentDetail.razor.rz.scp.css */
/* .department-page is a plain element of ours and anchors the ::deep rule on the tier select. */
.department-stack[b-qx0op9np4g] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.department-fields[b-qx0op9np4g] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--aura-space-stack);
}

@media (max-width: 700px) {
    .department-fields[b-qx0op9np4g] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.permission-bulk[b-qx0op9np4g] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    margin-top: -8px;
}

.permission-groups[b-qx0op9np4g] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.permission-group[b-qx0op9np4g] {
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    overflow: hidden;
}

.permission-group-header[b-qx0op9np4g] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    cursor: pointer;
}

.permission-group-header:hover[b-qx0op9np4g] {
    background-color: var(--mud-palette-action-default-hover);
}

.permission-group-name[b-qx0op9np4g] {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    font-size: 0.875rem;
}

.permission-group-count[b-qx0op9np4g] {
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-secondary);
}

.permission-group-count.has-selection[b-qx0op9np4g] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.permission-group-body[b-qx0op9np4g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0 16px;
    padding: 4px 12px 12px 44px;
    border-top: 1px solid var(--aura-line);
    background-color: var(--aura-surface-inset);
}

.member-name[b-qx0op9np4g] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Admin/DepartmentDiscountTiers.razor.rz.scp.css */
/* A tier's name and its caps fit on one line without the column taking the table. MudSelect
   renders the element its Class lands on, so the rule hangs off this component's own wrapper. */
.department-tiers[b-a8hfzw3nx5]  .department-tier-field {
    max-width: 420px;
}
/* /Components/Pages/Admin/Departments.razor.rz.scp.css */
.department-name[b-pa0r2ndqch] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.create-department[b-pa0r2ndqch] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.create-permission-group[b-pa0r2ndqch] {
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    overflow: hidden;
}

.create-permission-group-head[b-pa0r2ndqch] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 4px 4px 12px;
    background-color: var(--aura-surface-inset);
    font-size: 0.875rem;
}

.create-permission-group-body[b-pa0r2ndqch] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    padding: 4px 12px 8px;
}
/* /Components/Pages/Admin/DuplicateContacts.razor.rz.scp.css */
.match-reasons[b-wk2pvovxl0] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
}

.pair-actions[b-wk2pvovxl0] {
    display: inline-flex;
    justify-content: flex-end;
    gap: 8px;
}
/* /Components/Pages/Admin/FulfillmentExportProfileEdit.razor.rz.scp.css */
.field-stack[b-eds5dz2nd5] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

/* A wide field beside a narrow one: the first track takes the rest, so the narrow field pins right. */
.field-row[b-eds5dz2nd5] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    gap: 8px 24px;
    align-items: start;
}

.field-stack[b-eds5dz2nd5]  .delimiter-field {
    max-width: 240px;
}

/* Heading and field share two equal tracks, so a long field name can't widen one row. */
.column-row[b-eds5dz2nd5] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.column-row__actions[b-eds5dz2nd5] {
    display: flex;
    align-items: center;
}

@media (max-width: 600px) {
    .field-row[b-eds5dz2nd5],
    .column-row[b-eds5dz2nd5] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/FulfillmentExportProfiles.razor.rz.scp.css */
.name-cell[b-xmzu5f9ecl] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Admin/HostBackgroundActivity.razor.rz.scp.css */
.failures[b-n8dcu4u70j] {
    color: var(--mud-palette-error);
    font-weight: 600;
}
/* /Components/Pages/Admin/LetterTemplateEdit.razor.rz.scp.css */
.field-stack[b-9u4t8mjnfb] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Admin/MailchimpSettings.razor.rz.scp.css */
.settings-flow[b-2focy2ruk2] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.field-grid[b-2focy2ruk2] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
}

@media (max-width: 600px) {
    .field-grid[b-2focy2ruk2] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.list-count[b-2focy2ruk2] {
    font-size: 0.8125rem;
    white-space: nowrap;
}
/* /Components/Pages/Admin/Ncoa/NcoaImportCreate.razor.rz.scp.css */
.ncoa-steps[b-5v2pa4wd5n] {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.ncoa-steps li + li[b-5v2pa4wd5n] {
    margin-top: 6px;
}
/* /Components/Pages/Admin/Ncoa/NcoaImportDetail.razor.rz.scp.css */
.field-stack[b-gzm83cmcso] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-stack[b-gzm83cmcso]  .profile-field {
    max-width: 360px;
}

.step-actions[b-gzm83cmcso] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Generic CSV mapping table — CSS Grid so the header row and every data row share
   the exact same column tracks at any window width. */
.ncoa-mapping[b-gzm83cmcso] {
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
}

.ncoa-mapping-row[b-gzm83cmcso] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    column-gap: 12px;
    align-items: center;
    padding: 8px 12px;
}

.ncoa-mapping-row + .ncoa-mapping-row[b-gzm83cmcso] {
    border-top: 1px solid var(--aura-line);
}

.ncoa-mapping-header[b-gzm83cmcso] {
    padding-top: 6px;
    padding-bottom: 6px;
    background: var(--aura-surface-inset);
}

@media (max-width: 600px) {
    .ncoa-mapping-row[b-gzm83cmcso] {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 6px;
    }
}
/* /Components/Pages/Admin/Ncoa/NcoaImportReview.razor.rz.scp.css */
/* The rail is hidden at 768px and below (RailLayout); the outcome picker stands in for it. */
.rail-picker[b-l4b5babb3q] {
    display: none;
}

@media (max-width: 768px) {
    .rail-picker[b-l4b5babb3q] {
        display: block;
    }
}

.entry-list[b-l4b5babb3q] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.entry-heading[b-l4b5babb3q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.entry-body[b-l4b5babb3q] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--aura-space-stack);
}

.entry-addresses[b-l4b5babb3q] {
    flex: 1 1 60%;
    min-width: 260px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--aura-space-stack);
}

.entry-actions[b-l4b5babb3q] {
    flex: 0 1 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    max-width: 320px;
}

.entry-why[b-l4b5babb3q] {
    flex-basis: 100%;
    text-align: right;
}

.entry-pager[b-l4b5babb3q] {
    display: flex;
    justify-content: center;
}
/* /Components/Pages/Admin/NoteCategoryEdit.razor.rz.scp.css */
/* The inside of one sub-category, written in this file's ChildTemplate. */
.sub-category-row[b-dajp3b8zpt] {
    display: flex;
    align-items: center;
    column-gap: 20px;
    row-gap: 4px;
    flex-wrap: wrap;
}

/* A sub-category is a short name; capped so it doesn't stretch across a wide screen. */
.sub-category-name[b-dajp3b8zpt] {
    flex: 1 1 260px;
    max-width: 560px;
    min-width: 0;
}
/* /Components/Pages/Admin/OperationsLog.razor.rz.scp.css */
/* A long subject or message stays on one line in the table; the dialog shows it whole. */
.ops-truncate[b-txgmxke7c3] {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ops-truncate--subject[b-txgmxke7c3] {
    max-width: 200px;
}

.ops-truncate--message[b-txgmxke7c3] {
    max-width: 340px;
}

.ops-details[b-txgmxke7c3] {
    overflow-x: auto;
}

.ops-details pre[b-txgmxke7c3] {
    margin: 0;
    white-space: pre-wrap;
    font-family: var(--aura-font-mono);
    font-size: 0.8125rem;
}
/* /Components/Pages/Admin/OrderProcessingSettings.razor.rz.scp.css */
.ops-settings-content[b-on9hstpomm] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
    min-width: 0;
}

/* Below 768px RailLayout hides the rail; a picker takes its place. */
.rail-picker[b-on9hstpomm] {
    display: none;
}

@media (max-width: 768px) {
    .rail-picker[b-on9hstpomm] {
        display: block;
    }
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/HandlingFeeSection.razor.rz.scp.css */
.field-stack[b-4y8vow6nqb] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-stack[b-4y8vow6nqb]  .amount-field {
    max-width: 280px;
}

.percentage-row[b-4y8vow6nqb] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 16px;
}

@media (max-width: 600px) {
    .percentage-row[b-4y8vow6nqb] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/OverviewSection.razor.rz.scp.css */
.status-list[b-l09msqs217] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.status-list__divider[b-l09msqs217] {
    margin: 8px 0;
    border-top: 1px solid var(--aura-line);
}

.status-row[b-l09msqs217] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: var(--aura-radius-control);
    color: inherit;
    text-decoration: none;
}

.status-row--link[b-l09msqs217] {
    cursor: pointer;
    transition: background-color 0.12s ease;
}

.status-row--link:hover[b-l09msqs217],
.status-row--link:focus-visible[b-l09msqs217] {
    background-color: var(--mud-palette-action-default-hover);
}

.status-row__icon[b-l09msqs217] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
    color: var(--mud-palette-text-secondary);
}

.status-row__text[b-l09msqs217] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.status-row__label[b-l09msqs217] {
    font-size: 0.875rem;
    font-weight: 600;
}

.status-row__detail[b-l09msqs217] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.status-row[b-l09msqs217]  .status-row__chevron {
    color: var(--mud-palette-text-disabled);
    transition: transform 0.12s ease;
}

.status-row--link:hover[b-l09msqs217]  .status-row__chevron {
    transform: translateX(2px);
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/PaymentsSection.razor.rz.scp.css */
.field-stack[b-3hjuxuvphm] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-grid[b-3hjuxuvphm] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.field-grid--three[b-3hjuxuvphm] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 600px) {
    .field-grid[b-3hjuxuvphm],
    .field-grid--three[b-3hjuxuvphm] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.source-row[b-3hjuxuvphm]  .source-field {
    max-width: 360px;
}

/* Payment methods by order type — a method × order-type matrix.
   The names take a third of the width and the three order-type columns share the rest evenly, so
   "Accepted on" sits over the middle of its block rather than being pushed to the far edge. On a
   narrow screen the table keeps a readable minimum and scrolls inside its own container instead of
   squeezing the headings into a word per line. */
.payment-method-grid[b-3hjuxuvphm]  table {
    min-width: 36rem;
}

.payment-method-grid-method[b-3hjuxuvphm] {
    width: 34%;
    vertical-align: bottom;
}

/* The question every order-type column answers. Quieter than the column headings beneath it. */
.payment-method-grid-group[b-3hjuxuvphm] {
    text-align: center;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--mud-palette-text-secondary);
}

.payment-method-grid-kind-head[b-3hjuxuvphm] {
    width: 22%;
    text-align: center;
    vertical-align: bottom;
    font-weight: 600;
    line-height: 1.35;
}

/* Sets the checkbox block off from the method names. */
.payment-method-grid-divide[b-3hjuxuvphm] {
    border-left: 1px solid var(--aura-line);
}

.payment-method-grid-name[b-3hjuxuvphm] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* MudCheckBox renders its own full-width control, so its content is centred from the cell this
   component writes. */
.payment-method-grid-check[b-3hjuxuvphm] {
    text-align: center;
}

.payment-method-grid-check[b-3hjuxuvphm]  .mud-input-control {
    align-items: center;
}

.payment-method-grid[b-3hjuxuvphm] {
    overflow-x: auto;
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/RecurringGiftsSection.razor.rz.scp.css */
.field-stack[b-jkzn4qmdct] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

/* The frequencies sit side by side, in columns that line up with the pre-selected frequency's cards
   below, and drop to one column on a phone: three short switches stacked down the page read as three
   separate settings. */
.frequency-list[b-jkzn4qmdct] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-top: 8px;
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/ShippingSection.razor.rz.scp.css */
.field-stack[b-pj4qzd8cx6] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-grid[b-pj4qzd8cx6] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.address-grid[b-pj4qzd8cx6] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

.address-grid[b-pj4qzd8cx6]  .address-grid__full {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .field-grid[b-pj4qzd8cx6],
    .address-grid[b-pj4qzd8cx6] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/TaxSection.razor.rz.scp.css */
.field-stack[b-jgqcawmmru] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-grid[b-jgqcawmmru] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 600px) {
    .field-grid[b-jgqcawmmru] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/OrderProcessingSettingsSections/WelcomeItemsSection.razor.rz.scp.css */
.field-stack[b-csq1l97emh] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.add-row[b-csq1l97emh] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

@media (max-width: 600px) {
    .add-row[b-csq1l97emh] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/OrganizationProfile.razor.rz.scp.css */
.org-profile-grid[b-tbmi2n7skk] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.org-profile-grid--two[b-tbmi2n7skk] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.org-profile-grid[b-tbmi2n7skk]  .span-2 {
    grid-column: span 2;
}

.org-profile-grid[b-tbmi2n7skk]  .span-3 {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .org-profile-grid[b-tbmi2n7skk],
    .org-profile-grid--two[b-tbmi2n7skk] {
        grid-template-columns: minmax(0, 1fr);
    }

    .org-profile-grid[b-tbmi2n7skk]  .span-2 {
        grid-column: auto;
    }
}

.org-profile-preview[b-tbmi2n7skk] {
    padding: 12px 14px;
    border: 1px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    font-size: 0.875rem;
    line-height: 1.5;
}

.org-profile-preview-name[b-tbmi2n7skk] {
    font-weight: 700;
}

.org-profile-preview-signature[b-tbmi2n7skk] {
    margin-top: 8px;
    font-style: italic;
}
/* /Components/Pages/Admin/PackingSlipTemplateEdit.razor.rz.scp.css */
.field-stack[b-2kc147p0xs] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Admin/ReferenceData.razor.rz.scp.css */
.reference-data-content[b-udhge0e79r] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
    min-width: 0;
}

/* Below 768px RailLayout hides the rail; a picker takes its place. */
.rail-picker[b-udhge0e79r] {
    display: none;
}

.reference-data-picker-group[b-udhge0e79r] {
    margin-left: 0.5rem;
    font-size: 0.75rem;
}

@media (max-width: 768px) {
    .rail-picker[b-udhge0e79r] {
        display: block;
    }
}
/* /Components/Pages/Admin/ReferenceDataSections/RelationshipTypeForm.razor.rz.scp.css */
.relationship-type-form[b-s60psqorp9] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
    container-type: inline-size;
}

/* One name, or the two sides beside each other with the link between them. */
.relationship-sides[b-s60psqorp9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.relationship-sides.is-pair[b-s60psqorp9] {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: start;
}

/* Level with the inputs, not with their helper text. */
.relationship-sides-link[b-s60psqorp9] {
    display: inline-flex;
    align-items: center;
    height: 56px;
    margin-top: 6px;
    color: var(--mud-palette-text-secondary);
}

.relationship-note[b-s60psqorp9] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.relationship-type-form[b-s60psqorp9]  .relationship-note-icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--mud-palette-text-secondary);
}

.relationship-active[b-s60psqorp9] {
    padding-top: var(--aura-space-stack);
    border-top: 1px solid var(--aura-line);
}

/* Too narrow for two fields side by side: stack them, the link turned to point down. */
@container (max-width: 420px) {
    .relationship-sides.is-pair[b-s60psqorp9] {
        grid-template-columns: minmax(0, 1fr);
    }

    .relationship-sides-link[b-s60psqorp9] {
        height: auto;
        margin-top: 0;
        justify-content: center;
        transform: rotate(90deg);
    }
}
/* /Components/Pages/Admin/SalePromotionEdit.razor.rz.scp.css */
.field-stack[b-gq8g533bqq] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-stack[b-gq8g533bqq]  .amount-field {
    max-width: 280px;
}

.schedule-grid[b-gq8g533bqq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 600px) {
    .schedule-grid[b-gq8g533bqq] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.target-list[b-gq8g533bqq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.target-entry[b-gq8g533bqq] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
}

.target-entry-main[b-gq8g533bqq] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.target-entry-name[b-gq8g533bqq] {
    color: var(--mud-palette-text-secondary);
    font-weight: 400;
}
/* /Components/Pages/Admin/TagCategoryEdit.razor.rz.scp.css */
/* The inside of one tag, written in this file's ChildTemplate. MudText renders its own element,
   so its class is reached with ::deep from a plain element of ours. */
.tag-settings[b-n9pbe2rtcv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
    row-gap: 4px;
    min-height: 40px;
}

.tag-settings[b-n9pbe2rtcv]  .tag-usage {
    min-width: 120px;
}

.tag-severity[b-n9pbe2rtcv] {
    width: 180px;
}
/* /Components/Pages/Admin/TaxStatementBatchDetail.razor.rz.scp.css */
.progress-stack[b-m2h4e4lpl8] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.progress-headline[b-m2h4e4lpl8],
.progress-eta[b-m2h4e4lpl8] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Admin/TaxStatementBatchNew.razor.rz.scp.css */
.field-stack[b-kpznvv222e] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

/* A narrow field beside a wide one. */
.field-row[b-kpznvv222e] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: var(--aura-space-stack) 24px;
    align-items: start;
}

.field-row--even[b-kpznvv222e] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.picker[b-kpznvv222e] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.chip-row[b-kpznvv222e] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

@media (max-width: 760px) {
    .field-row[b-kpznvv222e],
    .field-row--even[b-kpznvv222e] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/TaxStatementCsvProfileEdit.razor.rz.scp.css */
.field-stack[b-9ktlx68q9k] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-stack[b-9ktlx68q9k]  .delimiter-field {
    max-width: 240px;
}

/* Heading and field share two equal tracks, so a long field name can't widen one row. */
.column-row[b-9ktlx68q9k] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.column-row__actions[b-9ktlx68q9k] {
    display: flex;
    align-items: center;
}

@media (max-width: 600px) {
    .column-row[b-9ktlx68q9k] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/TaxStatementTemplateEdit.razor.rz.scp.css */
.field-stack[b-iq638dq2vr] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Admin/TenantCreate.razor.rz.scp.css */
.field-stack[b-1zkwhp6w9b] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.test-row[b-1zkwhp6w9b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: -8px;
}
/* /Components/Pages/Admin/TenantDetail.razor.rz.scp.css */
.field-stack[b-ha41om4bsm] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.field-grid[b-ha41om4bsm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--aura-space-stack);
}

.field-grid--address[b-ha41om4bsm] {
    grid-template-columns: 2fr 1fr 1fr;
}

@media (max-width: 600px) {
    .field-grid--address[b-ha41om4bsm] {
        grid-template-columns: 1fr;
    }
}

.button-row[b-ha41om4bsm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.created-key[b-ha41om4bsm] {
    display: block;
    word-break: break-all;
    padding: 8px 12px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    border: 1px solid var(--aura-line-strong);
}

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

.tier-feature[b-ha41om4bsm] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
}

.tier-feature-name[b-ha41om4bsm] {
    flex: 1 1 auto;
    min-width: 0;
}

.feature-group[b-ha41om4bsm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.scope-head[b-ha41om4bsm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.scope-grid[b-ha41om4bsm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
    max-height: 360px;
    overflow-y: auto;
    padding: 12px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
}

.scope-group[b-ha41om4bsm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.scope-group-head[b-ha41om4bsm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8125rem;
}

.scope-chips[b-ha41om4bsm] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}
/* /Components/Pages/Admin/TenantUsers.razor.rz.scp.css */
.presence[b-a52hefv6bl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.presence-dot[b-a52hefv6bl] {
    width: 8px;
    height: 8px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-line-strong);
}

.presence-dot.is-online[b-a52hefv6bl] {
    background-color: var(--mud-palette-success);
}

.user-form[b-a52hefv6bl] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.user-form-names[b-a52hefv6bl] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 600px) {
    .user-form-names[b-a52hefv6bl] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/UserPermissionOverrides.razor.rz.scp.css */
.permission-overrides-body[b-2z1tgvw6n7] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.permission-groups[b-2z1tgvw6n7] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.permission-group[b-2z1tgvw6n7] {
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    overflow: hidden;
}

/* A real button, so the group opens from the keyboard too. */
.permission-group-header[b-2z1tgvw6n7] {
    width: 100%;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-align: left;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 16px;
    cursor: pointer;
    user-select: none;
    transition: background-color 120ms ease;
}

.permission-group-header:focus-visible[b-2z1tgvw6n7] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.permission-group-header:hover[b-2z1tgvw6n7] {
    background-color: var(--mud-palette-action-default-hover);
}

.permission-group-name[b-2z1tgvw6n7] {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    font-size: 0.875rem;
}

.permission-group-inherited[b-2z1tgvw6n7] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.permission-group-body[b-2z1tgvw6n7] {
    padding: 8px 16px 12px 40px;
    border-top: 1px solid var(--aura-line);
    background-color: var(--aura-surface-inset);
}

.permission-row[b-2z1tgvw6n7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 130px;
    align-items: center;
    gap: 16px;
    padding: 6px 8px;
    border-radius: var(--aura-radius-control);
}

.permission-row:hover[b-2z1tgvw6n7] {
    background-color: var(--mud-palette-action-default-hover);
}

.permission-row-label[b-2z1tgvw6n7] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.permission-row-effective[b-2z1tgvw6n7] {
    display: inline-flex;
    justify-content: flex-end;
}

.permission-overrides-body[b-2z1tgvw6n7]  .tri-toggle {
    min-width: 220px;
}

@media (max-width: 700px) {
    .permission-row[b-2z1tgvw6n7] {
        grid-template-columns: minmax(0, 1fr);
    }

    .permission-row-effective[b-2z1tgvw6n7] {
        justify-content: flex-start;
    }
}

/* Room for the sticky save bar, so it never covers the last group. */
.permission-overrides-body[b-2z1tgvw6n7] {
    padding-bottom: 72px;
}
/* /Components/Pages/Admin/Users.razor.rz.scp.css */
.user-form[b-lserwtpi09] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.user-form-names[b-lserwtpi09] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 600px) {
    .user-form-names[b-lserwtpi09] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/WebhookSettings.razor.rz.scp.css */
.webhooks-page[b-m19e6e4z8q] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.created-secret[b-m19e6e4z8q] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
}

.created-secret__value[b-m19e6e4z8q] {
    padding: 4px 8px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    word-break: break-all;
}

.field-stack[b-m19e6e4z8q] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.endpoint-url[b-m19e6e4z8q],
.delivery-error[b-m19e6e4z8q] {
    display: inline-block;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.delivery-error[b-m19e6e4z8q] {
    max-width: 220px;
    color: var(--mud-palette-error);
}

.delivery-pager[b-m19e6e4z8q] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 8px;
    border-top: 1px solid var(--aura-line);
}
/* /Components/Pages/Admin/WhatsNewDispatchDetail.razor.rz.scp.css */
/* The search sits inside the card, above the flush table. */
.dispatch-search[b-ecl8gl2tea] {
    padding: 0 var(--aura-card-pad) 12px;
}

.dispatch-titles[b-ecl8gl2tea] {
    margin: 0;
    padding-left: 20px;
}

.dispatch-titles li[b-ecl8gl2tea] {
    padding: 2px 0;
}
/* /Components/Pages/Batches/BatchList.razor.rz.scp.css */
/* The page is the container the columns measure: the side nav takes a different share of the
   window open and collapsed, so a viewport breakpoint would guess wrong half the time. */
.batch-list-page[b-28xestkhl4] {
    container-type: inline-size;
}

/* ---- Cell content: written in this component's row template, so plain selectors apply. ---- */

.batch-number[b-28xestkhl4] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.batch-number--link:hover[b-28xestkhl4],
.batch-number--link:focus-visible[b-28xestkhl4] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

/* One line each, so every row is the same height and the columns read straight down. */
.batch-caption[b-28xestkhl4] {
    font-size: 0.75rem;
    line-height: 1.45;
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
}

.batch-date[b-28xestkhl4],
.batch-amount[b-28xestkhl4] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.batch-balanced[b-28xestkhl4] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
}

/* "Not entered", "Not counted yet": on the first line with the figures, at their size, so the
   row still reads straight across. */
.batch-muted[b-28xestkhl4] {
    color: var(--mud-palette-text-secondary);
}

.batch-totals-label[b-28xestkhl4] {
    font-weight: 600;
}

/* Below 960px MudTable stacks each row into a card, label on the left and the cell's content on
   the right. Each cell's content is one block, so its amount and caption stay together there
   rather than landing at opposite ends of the card. */
@media (max-width: 959.98px) {
    .batch-cell[b-28xestkhl4] {
        text-align: right;
    }

    .batch-list-page[b-28xestkhl4]  .batch-table .mud-table-cell.batch-col-actions {
        width: auto;
        justify-content: flex-end;
    }
}

/* ---- The table itself: MudBlazor renders these elements, so they hang off the wrapper. ---- */

/* Column priority as the page narrows (the side nav open, a laptop screen): the expected total
   goes first — the variance beside it still says whether it matches — then the opened date.
   Only in table mode; below 960px MudTable stacks each row into a card with room for all of it. */
@media (min-width: 960px) {
    @container (max-width: 820px) {
        .batch-list-page[b-28xestkhl4]  .batch-col-expected {
            display: none;
        }
    }

    @container (max-width: 660px) {
        .batch-list-page[b-28xestkhl4]  .batch-col-opened {
            display: none;
        }
    }
}

/* Every cell is a figure over a caption, or a figure alone. Top-aligned, the figures share one
   line across the row; centred, a one-line cell sat between the two lines of its neighbours. */
.batch-list-page[b-28xestkhl4]  .batch-table .mud-table-body .mud-table-cell,
.batch-list-page[b-28xestkhl4]  .batch-table .mud-table-foot .mud-table-cell {
    vertical-align: top;
}

.batch-list-page[b-28xestkhl4]  .batch-col-actions {
    width: 48px;
    text-align: right;
}

/* A deleted batch has no page to open; it reads as set aside, and its menu offers Restore. */
.batch-list-page[b-28xestkhl4]  .batch-row-deleted .mud-table-cell {
    color: var(--mud-palette-text-secondary);
}

.batch-list-page[b-28xestkhl4]  .batch-table-totals .mud-table-cell {
    border-bottom: none;
    background: var(--aura-surface-inset);
}
/* /Components/Pages/Batches/DailyReconciliation.razor.rz.scp.css */
.recon-date-nav[b-dmcsjb6bha] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: var(--aura-space-page);
}

.recon-date-nav[b-dmcsjb6bha]  .recon-date-picker {
    flex: 0 1 320px;
}

.recon-batches[b-dmcsjb6bha] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.recon-batch-title[b-dmcsjb6bha] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.recon-table-wrapper[b-dmcsjb6bha] {
    overflow-x: auto;
}

/* A row that needs somebody is tinted. */
.recon-row-warning td[b-dmcsjb6bha] {
    background: color-mix(in srgb, var(--mud-palette-warning) 5%, transparent);
}

.recon-row-error td[b-dmcsjb6bha] {
    background: color-mix(in srgb, var(--mud-palette-error) 5%, transparent);
}
/* /Components/Pages/Batches/ReconciliationItemNotes.razor.rz.scp.css */
/* The notes sit under their reconciliation row, as part of it. */
.recon-notes-row td[b-k9xrggmpsa] {
    border-top: none;
    padding-top: 0;
    padding-bottom: 12px;
}

.recon-notes[b-k9xrggmpsa] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
}

.recon-note[b-k9xrggmpsa] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.5;
}

.recon-note-body[b-k9xrggmpsa] {
    flex: 1;
    min-width: 0;
}

/* A note is what somebody wrote: keep their line breaks, and don't let a long word run off. */
.recon-notes[b-k9xrggmpsa]  .recon-note-text {
    white-space: pre-line;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Cohorts/CohortBuilder.razor.rz.scp.css */
.cohort-preview[b-dncu6415jq] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cohort-preview__result[b-dncu6415jq] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: opacity 120ms ease;
}

/* The last answer stays visible while the next one loads, faded rather than swapped out. */
.cohort-preview__result.is-refreshing[b-dncu6415jq] {
    opacity: 0.6;
}

.cohort-samples[b-dncu6415jq] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.875rem;
}

.cohort-samples li[b-dncu6415jq] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
/* /Components/Pages/Cohorts/CohortList.razor.rz.scp.css */
.cohort-list[b-hj76uj18m6] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.cohort-name[b-hj76uj18m6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.member-count[b-hj76uj18m6] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}
/* /Components/Pages/Contacts/CleanContact.razor.rz.scp.css */
/* Each removed group is separated by a hairline, with a small muted label above values in the
   primary text colour. */
.record-group[b-5r3s6vpmsv] {
    padding: 14px 0;
    border-top: 1px solid var(--aura-line);
}

.record-group:first-of-type[b-5r3s6vpmsv] {
    padding-top: 4px;
    border-top: none;
}

.record-group-label[b-5r3s6vpmsv] {
    margin-bottom: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.record-group-label-spaced[b-5r3s6vpmsv] {
    margin-top: 24px;
}

.record-count[b-5r3s6vpmsv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    margin-left: 6px;
    padding: 0 6px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface-inset);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1;
    color: var(--mud-palette-text-secondary);
    vertical-align: middle;
}

.record-note[b-5r3s6vpmsv] {
    font-weight: 400;
    color: var(--mud-palette-text-secondary);
}

.record-value[b-5r3s6vpmsv] {
    padding: 4px 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--mud-palette-text-primary);
    word-break: break-word;
}

.record-value + .record-value[b-5r3s6vpmsv] {
    border-top: 1px dashed var(--aura-line);
}

.clean-summary[b-5r3s6vpmsv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
}

.clean-summary li[b-5r3s6vpmsv] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.clean-actions[b-5r3s6vpmsv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* /Components/Pages/Contacts/ContactAttachments.razor.rz.scp.css */
.attachment-name[b-8lid5rewp9] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* The file picker's face: a dashed tile that opens the picker. */
.upload-drop[b-8lid5rewp9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 150px;
    padding: 24px;
    border: 1px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface-inset);
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.upload-drop:hover[b-8lid5rewp9],
.upload-drop:focus-visible[b-8lid5rewp9] {
    border-color: var(--mud-palette-primary);
}
/* /Components/Pages/Contacts/ContactAuditLog.razor.rz.scp.css */
/* A value before and after a change: the old one in the error colour, the new one in the success
   colour, both fixed-width so a changed digit stands out. */
.audit-value[b-34zwma0aty] {
    display: inline-block;
    max-width: 250px;
    overflow: hidden;
    font-family: var(--aura-font-mono);
    font-size: 0.8125rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.audit-value--old[b-34zwma0aty] {
    color: var(--mud-palette-error);
}

.audit-value--new[b-34zwma0aty] {
    color: var(--mud-palette-success);
}
/* /Components/Pages/Contacts/ContactDashboard.razor.rz.scp.css */
/* ═══════════════════════ TOP BAR ═══════════════════════ */

.contact-topbar[b-aq913qrdio] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: var(--aura-space-stack);
}

/* ═══════════════════════ ALERT BANNERS ═══════════════════════ */

.contact-alerts[b-aq913qrdio] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: var(--aura-space-stack);
}

.contact-alerts[b-aq913qrdio]  .contact-alert-row {
    padding-top: 6px;
    padding-bottom: 6px;
    opacity: 0;
    transform: translateY(-6px);
    animation: contact-alert-enter-b-aq913qrdio 360ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.contact-alerts[b-aq913qrdio]  .contact-alert-row:nth-child(1) { animation-delay: 40ms; }
.contact-alerts[b-aq913qrdio]  .contact-alert-row:nth-child(2) { animation-delay: 100ms; }
.contact-alerts[b-aq913qrdio]  .contact-alert-row:nth-child(3) { animation-delay: 160ms; }
.contact-alerts[b-aq913qrdio]  .contact-alert-row:nth-child(n+4) { animation-delay: 200ms; }

.contact-alert-line[b-aq913qrdio] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    line-height: 1.4;
}

.contact-alert-name[b-aq913qrdio] {
    font-weight: 700;
    flex-shrink: 0;
}

.contact-alert-sep[b-aq913qrdio] {
    opacity: 0.6;
    flex-shrink: 0;
}

.contact-alert-comment[b-aq913qrdio] {
    font-weight: 400;
    opacity: 0.92;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

@keyframes contact-alert-enter-b-aq913qrdio {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-alerts[b-aq913qrdio]  .contact-alert-row {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

/* ═══════════════════════ HERO ═══════════════════════ */

.contact-hero[b-aq913qrdio] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: var(--aura-space-page);
}

.contact-avatar[b-aq913qrdio] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
    font-size: 1.25rem;
    font-weight: 700;
}

.contact-hero-main[b-aq913qrdio] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-hero-title[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.contact-hero-actions[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

.contact-hero-badges[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.contact-meta[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
}

.contact-meta-item[b-aq913qrdio] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

/* ═══════════════════════ ACTIVITY TABS ═══════════════════════ */

/* The tab bar stays in view while the timeline scrolls; the hero above it does not. */
.activity-tabs[b-aq913qrdio] {
    position: sticky;
    top: var(--aura-sticky-top);
    z-index: 3;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    border-bottom: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card) var(--aura-radius-card) 0 0;
    background-color: var(--aura-surface);
}

.activity-tabs[b-aq913qrdio]::-webkit-scrollbar {
    display: none;
}

.activity-tab[b-aq913qrdio] {
    flex: 1 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 48px;
    margin-bottom: -1px;
    padding: 12px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.activity-tab:hover[b-aq913qrdio] {
    background-color: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.activity-tab:focus-visible[b-aq913qrdio] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.activity-tab.is-active[b-aq913qrdio] {
    color: var(--mud-palette-primary);
    border-bottom-color: var(--mud-palette-primary);
}

.activity-tab-count[b-aq913qrdio] {
    min-width: 20px;
    padding: 0 6px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface-inset);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.5;
}

.activity-tab.is-active .activity-tab-count[b-aq913qrdio] {
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.activity-panel[b-aq913qrdio] {
    padding: var(--aura-card-pad);
}

.panel-actions[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: var(--aura-space-stack);
}

.panel-pager[b-aq913qrdio] {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}

.table-scroll[b-aq913qrdio] {
    overflow-x: auto;
}

.transactions-total[b-aq913qrdio] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--aura-line);
}

.attachment-file[b-aq913qrdio] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.attachment-name[b-aq913qrdio] {
    font-weight: 500;
}

/* ═══════════════════════ NOTES ═══════════════════════ */

.note-item[b-aq913qrdio] {
    padding: 12px 0;
    border-bottom: 1px solid var(--aura-line);
}

.note-item:first-child[b-aq913qrdio] {
    padding-top: 0;
}

.note-item:last-child[b-aq913qrdio] {
    border-bottom: none;
}

.note-header[b-aq913qrdio] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.note-actions[b-aq913qrdio] {
    display: inline-flex;
    margin-left: auto;
}

.note-content[b-aq913qrdio] {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.note-meta[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

/* ═══════════════════════ SIDEBAR ═══════════════════════ */

.card-title-row[b-aq913qrdio] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.count-badge[b-aq913qrdio] {
    min-width: 24px;
    padding: 1px 8px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface-inset);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.action-stack[b-aq913qrdio] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tags-container[b-aq913qrdio] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.scroll-area[b-aq913qrdio] {
    max-height: 240px;
    overflow-y: auto;
}

.scroll-area--tall[b-aq913qrdio] {
    max-height: 400px;
}

/* ═══════════════════════ ENTRY ROWS ═══════════════════════ */

.entry-list[b-aq913qrdio] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.entry-row[b-aq913qrdio] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: inherit;
    text-decoration: none;
}

.entry-row--link[b-aq913qrdio] {
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.entry-row--link:hover[b-aq913qrdio] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
}

.entry-row--link:focus-visible[b-aq913qrdio] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.entry-lead[b-aq913qrdio] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.entry-main[b-aq913qrdio] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.entry-title[b-aq913qrdio],
.entry-name[b-aq913qrdio] {
    font-size: 0.875rem;
    font-weight: 600;
    word-break: break-word;
}

.entry-name[b-aq913qrdio] {
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.entry-name:hover[b-aq913qrdio] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.entry-id[b-aq913qrdio] {
    margin-left: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.entry-caption[b-aq913qrdio] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.entry-actions[b-aq913qrdio] {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 4px;
}

/* ═══════════════════════ DIALOGS ═══════════════════════ */

.dialog-fields[b-aq913qrdio] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.subscribe-list-row[b-aq913qrdio] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
}

/* ═══════════════════════ RESPONSIVE ═══════════════════════ */

@media (max-width: 959px) {
    .activity-tabs[b-aq913qrdio] {
        position: static;
    }
}

@media (max-width: 600px) {
    .contact-hero[b-aq913qrdio] {
        padding: var(--aura-card-pad);
    }

    .contact-avatar[b-aq913qrdio] {
        width: 44px;
        height: 44px;
        font-size: 1rem;
    }
}
/* /Components/Pages/Contacts/ContactForm.razor.rz.scp.css */
/* EditorLayout draws the frame — the two columns, the sticky save card, the mobile bar. What is
   left here is the contact's own furniture. */

/* ── Summary ─────────────────────────────────────────────────────────── */

.summary-identity[b-gb6dbb30le] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.summary-identity-text[b-gb6dbb30le] {
    min-width: 0;
}

.summary-lines[b-gb6dbb30le] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
}

.summary-lines li[b-gb6dbb30le] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.summary-line-text[b-gb6dbb30le] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.summary-duplicates[b-gb6dbb30le] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

/* ── Contact type ────────────────────────────────────────────────────── */

.type-locked[b-gb6dbb30le] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: var(--aura-space-stack);
}

.type-picker[b-gb6dbb30le] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: var(--aura-space-stack);
}

@media (max-width: 599px) {
    .type-picker[b-gb6dbb30le] {
        grid-template-columns: 1fr;
    }
}

.type-option[b-gb6dbb30le] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.type-option:hover[b-gb6dbb30le] {
    border-color: var(--mud-palette-primary);
}

.type-option:focus-visible[b-gb6dbb30le] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.type-option.is-selected[b-gb6dbb30le] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
}

.type-option-name[b-gb6dbb30le] {
    display: block;
    font-size: 0.875rem;
}

.type-option-hint[b-gb6dbb30le] {
    display: block;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* ── Addresses ───────────────────────────────────────────────────────── */

.address-list[b-gb6dbb30le] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.address-block[b-gb6dbb30le] {
    padding: 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
}

.address-block-header[b-gb6dbb30le] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.address-block-title[b-gb6dbb30le],
.address-block-actions[b-gb6dbb30le] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
/* /Components/Pages/Contacts/ContactList.razor.rz.scp.css */
/* The page is the container the columns measure: the side nav takes a different share of the
   window open and collapsed, so a viewport breakpoint would guess wrong half the time. */
.contact-list-page[b-jq5h2tj3j2] {
    container-type: inline-size;
}

.contact-list-page[b-jq5h2tj3j2]  .deleted-row {
    text-decoration: line-through;
    opacity: 0.6;
}

.contact-name-cell[b-jq5h2tj3j2] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* The ID copies itself on a click (clipboard.js reads data-clipboard-text). */
.contact-id[b-jq5h2tj3j2] {
    padding: 1px 6px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-badge);
    font-family: var(--aura-font-mono);
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.contact-id:hover[b-jq5h2tj3j2],
.contact-id:focus-visible[b-jq5h2tj3j2] {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
}

/* A long email or street stays on one line, clipped, with the whole value on hover. */
.contact-clip[b-jq5h2tj3j2] {
    display: block;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Beside the side nav on a laptop the address goes first — it's on the contact's page, one click
   away — so the name, phone, email and status fit without a sideways scroll. Only in table mode;
   a narrow screen stacks each row into a card with room for all of it. */
@media (min-width: 600px) {
    @container (max-width: 1100px) {
        .contact-list-page[b-jq5h2tj3j2]  .contact-col-address {
            display: none;
        }
    }
}
/* /Components/Pages/Contacts/ContactMethodsSection.razor.rz.scp.css */
/* One line per contact method: value | type | actions.
   A grid rather than flex so every row shares the same column edges — with flex, a validation
   message under one field or a missing button on another made the column positions drift. */
.method-row[b-bk7qc4hk1q] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 148px auto;
    column-gap: 12px;
    align-items: center;
}

.method-row[b-bk7qc4hk1q]  .method-value {
    min-width: 0;
}

/* The action cluster is its own fixed grid so a phone row (star, globe, remove) and an email row
   (star, empty, remove) put their buttons in exactly the same three columns. Previously this was
   a hardcoded 30px spacer standing in for a button, which never quite lined up. */
.method-actions[b-bk7qc4hk1q] {
    display: grid;
    grid-template-columns: repeat(3, 34px);
    align-items: center;
    justify-items: center;
}

.method-action-slot[b-bk7qc4hk1q] {
    display: block;
    width: 34px;
}

/* Below the breakpoint the value takes the full width and type + actions share the line, rather
   than letting the type select wrap somewhere unpredictable. */
@media (max-width: 599px) {
    .method-row[b-bk7qc4hk1q] {
        grid-template-columns: minmax(0, 1fr) auto;
        row-gap: 4px;
    }

    .method-row[b-bk7qc4hk1q]  .method-value {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Contacts/ContactNoteForm.razor.rz.scp.css */
.field-stack[b-q50k23rqr6] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Contacts/ContactNotes.razor.rz.scp.css */
.note-content-cell[b-qctq42qaea] {
    display: block;
    max-width: 400px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
/* /Components/Pages/Contacts/ContactTagForm.razor.rz.scp.css */
.field-stack[b-kqbffrn0fb] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}
/* /Components/Pages/Contacts/ContactTags.razor.rz.scp.css */
.comment-cell[b-3njip5yvz9] {
    display: block;
    max-width: 300px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
/* /Components/Pages/Contacts/MergeContacts.razor.rz.scp.css */
.merge-comparison[b-zo0hjh0uhb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--aura-space-stack);
}

.contact-summary-card[b-zo0hjh0uhb] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface-inset);
}

.contact-summary-head[b-zo0hjh0uhb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.contact-summary-badges[b-zo0hjh0uhb],
.contact-summary-stats[b-zo0hjh0uhb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}

.contact-summary-facts[b-zo0hjh0uhb],
.merge-summary[b-zo0hjh0uhb],
.merge-note-list[b-zo0hjh0uhb] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
}

.contact-summary-facts li[b-zo0hjh0uhb],
.merge-summary li[b-zo0hjh0uhb] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    word-break: break-word;
}

.merge-note-list li + li[b-zo0hjh0uhb] {
    padding-top: 6px;
    border-top: 1px solid var(--aura-line);
}

.merge-swap[b-zo0hjh0uhb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-top: var(--aura-space-stack);
}

.merge-fields-list[b-zo0hjh0uhb] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.merge-field-row[b-zo0hjh0uhb] {
    display: grid;
    grid-template-columns: 160px 1fr 1fr;
    gap: 12px;
    align-items: stretch;
}

.merge-field-name[b-zo0hjh0uhb] {
    display: flex;
    align-items: center;
    padding-right: 12px;
    font-size: 0.875rem;
    font-weight: 600;
}

.merge-choice-card[b-zo0hjh0uhb] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 10px 14px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.merge-choice-card:hover[b-zo0hjh0uhb] {
    border-color: var(--mud-palette-primary);
}

.merge-choice-card:focus-visible[b-zo0hjh0uhb] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.merge-choice-card.is-selected[b-zo0hjh0uhb] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
}

.merge-choice-card-header[b-zo0hjh0uhb] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.merge-choice-source[b-zo0hjh0uhb] {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.merge-choice-role[b-zo0hjh0uhb] {
    flex-shrink: 0;
    padding: 1px 8px;
    border-radius: var(--aura-radius-pill);
    font-size: 0.7rem;
    font-weight: 500;
}

.role-duplicate[b-zo0hjh0uhb] {
    background-color: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
    color: var(--mud-palette-error);
}

.role-primary[b-zo0hjh0uhb] {
    background-color: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
    color: var(--mud-palette-success);
}

.merge-choice-check[b-zo0hjh0uhb] {
    display: inline-flex;
    flex-shrink: 0;
    margin-left: auto;
}

.merge-choice-value[b-zo0hjh0uhb] {
    min-height: 1.4em;
    font-size: 0.9375rem;
    word-break: break-word;
}

@media (max-width: 768px) {
    .merge-field-row[b-zo0hjh0uhb] {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .merge-field-name[b-zo0hjh0uhb] {
        padding: 0 0 4px;
    }
}

.merge-counts[b-zo0hjh0uhb] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.merge-page[b-zo0hjh0uhb]  .count-zero {
    opacity: 0.55;
}

.merge-preview-header[b-zo0hjh0uhb] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.merge-actions[b-zo0hjh0uhb] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* /Components/Pages/Contacts/RecurringDonationDetail.razor.rz.scp.css */
.allocation-row[b-4l0jnzdzrr] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.allocation-amount[b-4l0jnzdzrr] {
    flex: 0 0 180px;
}

.allocation-fund[b-4l0jnzdzrr] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new-card[b-4l0jnzdzrr] {
    padding: 16px;
}

.new-card-header[b-4l0jnzdzrr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
/* /Components/Pages/Dashboards/UserDashboardBuilder.razor.rz.scp.css */
.builder-page[b-dpghscze88] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

/* 24 columns and 50px rows: dashboard-grid.js COLS, the tile validator's upper bound, the
   data-grid-row-height attribute above, and .user-dashboard-grid in app.css must all agree. */
.builder-grid[b-dpghscze88] {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    gap: 16px;
    grid-auto-rows: 50px;
    touch-action: none; /* no scroll-while-drag on touch */
}

.builder-tile[b-dpghscze88] {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--aura-surface);
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    user-select: none;
}

.builder-tile:hover[b-dpghscze88] {
    border-color: var(--mud-palette-primary);
}

.builder-tile-drag-handle[b-dpghscze88] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 8px 6px 4px;
    border-bottom: 1px solid var(--aura-line);
    background: var(--aura-surface-inset);
    cursor: move;
}

.builder-tile-title[b-dpghscze88] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

.builder-tile-title[b-dpghscze88]  .builder-tile-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.builder-tile-actions[b-dpghscze88] {
    display: flex;
    cursor: default;
}

.builder-tile-preview[b-dpghscze88] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 12px;
}

.builder-tile-resize-handle[b-dpghscze88] {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 18px;
    height: 18px;
    padding: 2px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    cursor: nwse-resize;
}

.builder-tile-resize-grip[b-dpghscze88] {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--mud-palette-text-secondary);
    border-bottom: 2px solid var(--mud-palette-text-secondary);
    border-bottom-right-radius: var(--aura-radius-badge);
    opacity: 0.55;
}

.builder-tile-resize-handle:hover .builder-tile-resize-grip[b-dpghscze88] {
    opacity: 1;
}
/* /Components/Pages/Fulfillment/FulfillmentQueue.razor.rz.scp.css */
.fulfillment-queue-page[b-wd391tjwrb]  .processing-card {
    min-width: 320px;
}

.child-row-cell[b-wd391tjwrb] {
    padding: 8px 16px 12px 56px;
    background: var(--aura-surface-inset);
}

.fulfillment-queue-page[b-wd391tjwrb]  .child-row-table {
    border: 1px solid var(--aura-line);
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: var(--aura-radius-control);
    overflow: hidden;
}

/* The step bar: what to do next, directly above the rows it acts on. */
.queue-steps[b-wd391tjwrb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    min-height: 56px;
    margin-bottom: 12px;
    padding: 8px 12px 8px 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background: var(--aura-surface-inset);
}

.queue-steps--active[b-wd391tjwrb] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
    box-shadow: var(--aura-shadow-raised);
}

.queue-steps[b-wd391tjwrb]  .queue-steps-icon {
    color: var(--mud-palette-text-secondary);
}

.queue-steps-end[b-wd391tjwrb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-inline-start: auto;
}

.queue-steps[b-wd391tjwrb]  .queue-steps-arrow {
    color: var(--mud-palette-text-secondary);
}

.queue-step-number[b-wd391tjwrb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-inline-end: 8px;
    border-radius: var(--aura-radius-pill);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
}

/* The number reads in the button's own background colour on a disc of its text colour. */
.queue-steps[b-wd391tjwrb]  .mud-button-filled .queue-step-number {
    background: var(--mud-palette-primary-text);
    color: var(--mud-palette-primary);
}

.queue-steps[b-wd391tjwrb]  .mud-button-outlined .queue-step-number {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

/* A step waiting for the one before it: its number greys with the rest of the button. */
.queue-steps[b-wd391tjwrb]  .mud-button-root[disabled] .queue-step-number {
    background: var(--mud-palette-action-disabled);
    color: var(--mud-palette-surface);
}

.queue-steps[b-wd391tjwrb]  .queue-step-done {
    margin-inline-end: 8px;
    color: var(--mud-palette-success);
}

@media (max-width: 600px) {
    .queue-steps-end[b-wd391tjwrb] {
        margin-inline-start: 0;
        width: 100%;
    }

    .queue-steps[b-wd391tjwrb]  .queue-steps-arrow {
        display: none;
    }
}
/* /Components/Pages/Fulfillment/ShipmentList.razor.rz.scp.css */
.child-row-cell[b-mgbve8920c] {
    padding: 8px 16px 12px 56px;
    background: var(--aura-surface-inset);
}

.shipment-list-page[b-mgbve8920c]  .child-row-table {
    border: 1px solid var(--aura-line);
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: var(--aura-radius-control);
    overflow: hidden;
}
/* /Components/Pages/HostAdminHome.razor.rz.scp.css */
/* The background-health tile opens the fleet rollup. */
.stat-link[b-u0f7831ypt] {
    display: block;
    color: inherit;
    text-decoration: none;
    border-radius: var(--aura-radius-card);
    cursor: pointer;
}

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

.host-links[b-u0f7831ypt] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2px 8px;
    padding: 0 8px 8px;
}

.host-link[b-u0f7831ypt] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--aura-radius-control);
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 120ms ease;
}

.host-link:hover[b-u0f7831ypt] {
    background-color: var(--mud-palette-action-default-hover);
}

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

.host-link-icon[b-u0f7831ypt] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.host-link-text[b-u0f7831ypt] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.host-link-title[b-u0f7831ypt] {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.3;
}

.host-link-description[b-u0f7831ypt] {
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}

.host-home-page[b-u0f7831ypt]  .host-link-chevron {
    flex-shrink: 0;
    opacity: 0.5;
    color: var(--mud-palette-text-disabled);
    transition: opacity 120ms ease, transform 120ms ease;
}

.host-link:hover[b-u0f7831ypt]  .host-link-chevron {
    opacity: 1;
    transform: translateX(2px);
}
/* /Components/Pages/Inventory/BackOrders.razor.rz.scp.css */
.release-fields[b-bbiyowagdu] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.queue-row--releasing[b-bbiyowagdu] {
    background-color: color-mix(in srgb, var(--mud-palette-success) 8%, transparent);
}

.backorders-pager[b-bbiyowagdu] {
    display: flex;
    justify-content: center;
    margin-top: var(--aura-space-stack);
}
/* /Components/Pages/Inventory/InventoryItemDashboard.razor.rz.scp.css */
.stock-stack[b-xgf47b7boz] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

/* A figure that opens what it counts. */
.value-link[b-xgf47b7boz] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

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

.stock-footer[b-xgf47b7boz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-top: var(--aura-space-stack);
    padding-top: 12px;
    border-top: 1px solid var(--aura-line);
}

.stock-bins[b-xgf47b7boz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
}

.stock-bins-label[b-xgf47b7boz] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
}

.stock-actions[b-xgf47b7boz] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.limiting[b-xgf47b7boz] {
    color: var(--mud-palette-warning-darken, var(--mud-palette-warning));
}

.change-up[b-xgf47b7boz] {
    color: var(--mud-palette-success);
    font-weight: 600;
}

.change-down[b-xgf47b7boz] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

.table-scroll[b-xgf47b7boz] {
    overflow-x: auto;
}

.history-pager[b-xgf47b7boz] {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}

.item-page[b-xgf47b7boz]  .history-filter {
    min-width: 220px;
}

.item-text[b-xgf47b7boz] {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Pages/Inventory/InventoryItemForm.razor.rz.scp.css */
.item-form[b-qxm9l9jlpy] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

/* ── Type ────────────────────────────────────────────────────────────── */

.type-picker[b-qxm9l9jlpy] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 599px) {
    .type-picker[b-qxm9l9jlpy] {
        grid-template-columns: 1fr;
    }
}

.type-option[b-qxm9l9jlpy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 20px 16px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: var(--mud-palette-text-secondary);
    font: inherit;
    text-align: center;
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

.type-option:hover[b-qxm9l9jlpy] {
    border-color: var(--mud-palette-primary);
}

.type-option:focus-visible[b-qxm9l9jlpy] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.type-option.is-selected[b-qxm9l9jlpy] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
    color: var(--mud-palette-primary);
}

.type-option-title[b-qxm9l9jlpy] {
    color: var(--mud-palette-text-primary);
    font-size: 0.9375rem;
    font-weight: 600;
}

.type-option-text[b-qxm9l9jlpy] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* ── Availability ────────────────────────────────────────────────────── */

.setting-stack[b-qxm9l9jlpy] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── Variants and components ─────────────────────────────────────────── */

.variant-stack[b-qxm9l9jlpy] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.item-form[b-qxm9l9jlpy]  .quantity-cell {
    width: 140px;
}

/* ── Review ──────────────────────────────────────────────────────────── */

.review-grid[b-qxm9l9jlpy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--aura-space-stack);
}

.review-list[b-qxm9l9jlpy] {
    margin: 0;
    padding-left: 18px;
    font-size: 0.875rem;
    line-height: 1.6;
}

/* ── Step navigation ─────────────────────────────────────────────────── */

.wizard-nav[b-qxm9l9jlpy] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wizard-nav-spacer[b-qxm9l9jlpy] {
    flex: 1 1 auto;
}
/* /Components/Pages/Inventory/InventoryList.razor.rz.scp.css */
.status-cell[b-8y23z17b3a] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.inventory-pager[b-8y23z17b3a] {
    display: flex;
    justify-content: center;
    margin-top: var(--aura-space-stack);
}
/* /Components/Pages/Inventory/StockBinsEditor.razor.rz.scp.css */
.bins-editor[b-kfzai7tr0q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bin-row[b-kfzai7tr0q] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bins-editor[b-kfzai7tr0q]  .bin-label {
    flex: 1 1 auto;
}
/* /Components/Pages/Inventory/StockDashboard.razor.rz.scp.css */
/* A figure in a cell that opens what it counts. */
.cell-link[b-wia6ptgjjy] {
    padding: 2px 6px;
    border: 0;
    border-radius: var(--aura-radius-badge);
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

.cell-link:hover[b-wia6ptgjjy] {
    background-color: var(--aura-tint-primary);
    text-decoration: underline;
}

.cell-link:focus-visible[b-wia6ptgjjy] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.cell-link--attention[b-wia6ptgjjy] {
    color: var(--mud-palette-warning-darken, var(--mud-palette-warning));
}

.bin-cell[b-wia6ptgjjy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.stock-pager[b-wia6ptgjjy] {
    display: flex;
    justify-content: center;
    margin-top: var(--aura-space-stack);
}
/* /Components/Pages/Onboarding/OnboardingLookupGroup.razor.rz.scp.css */
.lookup-group[b-6edgix9oj6] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lookup-group + .lookup-group[b-6edgix9oj6] {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--aura-line);
}

.lookup-group__head[b-6edgix9oj6] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lookup-group__items[b-6edgix9oj6] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.lookup-group__add[b-6edgix9oj6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.lookup-group__add[b-6edgix9oj6]  .lookup-group__field {
    flex: 1 1 220px;
    max-width: 320px;
}
/* /Components/Pages/Onboarding/OnboardingWizard.razor.rz.scp.css */
.onboarding-container[b-ngf8zyw20c] {
    max-width: 800px;
    margin: 0 auto;
    padding: 32px 16px;
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.onboarding-header[b-ngf8zyw20c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.onboarding-logo[b-ngf8zyw20c] {
    display: block;
    height: 26px;
    width: auto;
}

.onboarding-step[b-ngf8zyw20c] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.onboarding-hero[b-ngf8zyw20c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px 8px;
    text-align: center;
}

.onboarding-hero__icon[b-ngf8zyw20c] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--aura-radius-pill);
    background: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.onboarding-hero__icon--done[b-ngf8zyw20c] {
    background: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
    color: var(--mud-palette-success);
}

.onboarding-hero__list[b-ngf8zyw20c] {
    margin: 4px 0 12px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

.subcategories[b-ngf8zyw20c] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
    padding: 12px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
}

.subcategories__row[b-ngf8zyw20c] {
    display: flex;
    align-items: center;
    gap: 4px;
    max-width: 360px;
}

.invite-list[b-ngf8zyw20c] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.invite-row[b-ngf8zyw20c] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) 96px;
    align-items: center;
    gap: 8px;
}

.invite-row__state[b-ngf8zyw20c] {
    display: flex;
    justify-content: center;
}

@media (max-width: 600px) {
    .invite-row[b-ngf8zyw20c] {
        grid-template-columns: minmax(0, 1fr);
        padding-bottom: 12px;
        border-bottom: 1px solid var(--aura-line);
    }

    .invite-row__state[b-ngf8zyw20c] {
        justify-content: flex-start;
    }
}

.wizard-nav[b-ngf8zyw20c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.wizard-nav__end[b-ngf8zyw20c] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
/* /Components/Pages/Orders/OrderDetail.razor.rz.scp.css */
.table-wrapper[b-ura4dlm9ko] {
    overflow-x: auto;
}

/* A caption under an amount or a name: a discount, a refund, why a line was voided. */
.line-caption[b-ura4dlm9ko] {
    display: block;
    margin-top: 2px;
    font-size: 0.75rem;
}

.line-caption--voided[b-ura4dlm9ko] {
    color: var(--mud-palette-error);
}

/* A voided line reads as struck through; its caption says why and is not struck. */
tr.voided-row td[b-ura4dlm9ko] {
    text-decoration: line-through;
    color: var(--mud-palette-text-disabled);
}

tr.voided-row .line-caption[b-ura4dlm9ko] {
    text-decoration: none;
}

.recurring-line[b-ura4dlm9ko] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.shipment-list[b-ura4dlm9ko] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.shipment-row + .shipment-row[b-ura4dlm9ko] {
    padding-top: 16px;
    border-top: 1px solid var(--aura-line);
}

.shipment-row-head[b-ura4dlm9ko] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.shipment-row-head > :first-child[b-ura4dlm9ko] {
    flex: 1 1 auto;
}

.contact-email-row[b-ura4dlm9ko] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--aura-line);
}

.contact-email-row:last-of-type[b-ura4dlm9ko] {
    border-bottom: none;
}

/* ── Refund drawer: our own elements inside it, so plain selectors apply. ── */

.refund-drawer-content[b-ura4dlm9ko] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.refund-drawer-body[b-ura4dlm9ko] {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.refund-drawer-footer[b-ura4dlm9ko] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid var(--aura-line);
    background: var(--aura-surface);
}

.refund-item-card[b-ura4dlm9ko] {
    padding: 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    transition: border-color 0.15s ease;
}

.refund-item-card.is-selected[b-ura4dlm9ko] {
    border-color: var(--mud-palette-primary);
}

/* Each refund choice: its name, and what it does beneath it. */
.refund-handling-option[b-ura4dlm9ko] {
    display: flex;
    flex-direction: column;
    padding: 4px 0;
}

.refund-drawer-blockers[b-ura4dlm9ko] {
    flex-shrink: 0;
    padding: 0 20px 12px;
}
/* /Components/Pages/Orders/OrderWizard.razor.rz.scp.css */
/* The order screen. SectionCard, DetailLayout and the Ui badges draw the frame; what is left
   here is the order's own furniture: address tiles, donation rows, the rate and method
   choices, the payment strip and the summary lines. */

/* ═══════════════════════ PLACED ═══════════════════════ */

/* Placed: one card, centred in the space the form left. */
.placed-order[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: var(--aura-space-page) 0;
}

.placed-order[b-rybofja0b1]  .placed-order-card {
    width: 100%;
    max-width: 560px;
}

/* ═══════════════════════ ADDRESSES ═══════════════════════ */

/* Sized to the card, not the window: beside the summary the main column is narrow long
   before the window is. */
.address-grid[b-rybofja0b1] {
    display: grid;
    gap: var(--aura-space-stack);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.address-card[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
}

.address-card-header[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.address-card-title[b-rybofja0b1] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.address-card-body[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.address-card-badges[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

/* ═══════════════════════ DONATIONS ═══════════════════════ */

/* Fund, amount, Add on one line; the fund takes what is left. */
.donation-add-row[b-rybofja0b1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 160px) auto;
    gap: 12px;
    align-items: center;
}

@media (max-width: 599px) {
    .donation-add-row[b-rybofja0b1] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .transaction-wizard-page[b-rybofja0b1]  .donation-add-fund {
        grid-column: 1 / -1;
    }
}

.fund-option[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.donation-list[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: var(--aura-space-stack);
}

.donation-card[b-rybofja0b1] {
    overflow: hidden;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
}

.donation-card-header[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 8px;
    padding: 6px 8px 6px 12px;
    background-color: var(--aura-surface-inset);
}

.donation-card-title[b-rybofja0b1],
.donation-card-amount[b-rybofja0b1] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.donation-card-recurring[b-rybofja0b1] {
    padding: 6px 12px 10px;
}

/* The switch on the left, the fixed frequency (when there is only one) on the right. */
.donation-recurring-header[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 12px;
}

.recurring-frequency-fixed[b-rybofja0b1] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.section-subtotal[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 12px;
}

.transaction-wizard-page[b-rybofja0b1]  .section-subtotal-amount {
    margin-left: auto;
}

/* Welcome gift — the first-donation items the server adds, listed read-only. */
.welcome-gift-row[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-top: 1px solid var(--aura-line);
}

.welcome-gift-row:first-child[b-rybofja0b1] {
    border-top: none;
    padding-top: 0;
}

.welcome-gift-row-skipped[b-rybofja0b1] {
    opacity: 0.7;
}

/* ═══════════════════════ ITEMS ═══════════════════════ */

/* Rendered inside the autocomplete's popover. The template is this component's markup, so the
   scope attribute travels with it even though the popover sits elsewhere in the page. */
.item-search-row[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    min-width: 0;
    padding: 6px 0;
}

.item-search-row-main[b-rybofja0b1] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.item-search-row-name[b-rybofja0b1] {
    display: flex;
    flex: 1 1 auto;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.item-search-row-name-text[b-rybofja0b1] {
    overflow: hidden;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    text-overflow: ellipsis;
}

.item-search-row-sku[b-rybofja0b1] {
    flex: 0 0 auto;
    padding: 1px 6px;
    border-radius: var(--aura-radius-badge);
    background-color: var(--aura-surface-inset);
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.item-search-row-price[b-rybofja0b1] {
    flex: 0 0 auto;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.item-search-row-meta[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.item-search-row-desc[b-rybofja0b1] {
    max-width: 100%;
    overflow: hidden;
    font-size: 0.8rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media (max-width: 599px) {
    .item-search-row-main[b-rybofja0b1] {
        flex-wrap: wrap;
    }
}

.item-preview[b-rybofja0b1] {
    margin-bottom: var(--aura-space-stack);
    padding: 16px;
    border: 1px solid var(--mud-palette-primary);
}

.item-preview-price[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.item-qty[b-rybofja0b1],
.item-discount[b-rybofja0b1] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ═══════════════════════ SHIPPING + TAX ═══════════════════════ */

.ship-tax-status[b-rybofja0b1] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 0 12px;
}

.ship-tax-alert-body[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.ship-tax-empty[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 16px;
    border: 1px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
}

.ship-tax-overrides[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ship-tax-overrides-fullwidth[b-rybofja0b1] {
    margin-top: var(--aura-space-stack);
    padding-top: var(--aura-space-stack);
    border-top: 1px solid var(--aura-line);
}

.ship-tax-adjustments-row[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
}

.ship-tax-adjustments-row[b-rybofja0b1] >  * {
    flex: 1 1 200px;
    max-width: 260px;
}

.ship-tax-tax-body[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.transaction-wizard-page[b-rybofja0b1]  .ship-tax-breakdown-panel .mud-expand-panel {
    background: transparent;
}

.transaction-wizard-page[b-rybofja0b1]  .ship-tax-breakdown-panel .mud-expand-panel-header {
    min-height: 36px;
    padding: 4px 0;
}

.transaction-wizard-page[b-rybofja0b1]  .ship-tax-breakdown-panel .mud-expand-panel-content {
    padding: 4px 0 0;
}

/* ═══════════════════════ CHOICE TILES (rates, payment methods) ═══════════════════════ */

.shipping-rates-grid[b-rybofja0b1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.payment-method-grid[b-rybofja0b1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
    gap: 12px;
}

.shipping-rate-card[b-rybofja0b1],
.payment-method-card[b-rybofja0b1] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.shipping-rate-card[b-rybofja0b1] {
    align-items: flex-start;
}

.payment-method-card[b-rybofja0b1] {
    align-items: center;
    justify-content: center;
    min-height: 88px;
    text-align: center;
}

.shipping-rate-card:hover[b-rybofja0b1],
.payment-method-card:hover[b-rybofja0b1] {
    border-color: var(--mud-palette-primary);
}

.shipping-rate-card:focus-visible[b-rybofja0b1],
.payment-method-card:focus-visible[b-rybofja0b1] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.shipping-rate-card.is-selected[b-rybofja0b1],
.payment-method-card.is-selected[b-rybofja0b1] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
}

/* Loading placeholder: the same shape, but nothing to click. */
.shipping-rate-card.is-skeleton[b-rybofja0b1] {
    cursor: default;
}

.shipping-rate-card.is-skeleton:hover[b-rybofja0b1] {
    border-color: var(--aura-line-strong);
}

.shipping-rate-cost[b-rybofja0b1] {
    margin-top: 4px;
    font-weight: 600;
    font-size: 1rem;
}

.shipping-rate-card.is-selected .shipping-rate-cost[b-rybofja0b1] {
    color: var(--mud-palette-primary);
}

.payment-method-label[b-rybofja0b1] {
    font-size: 0.8125rem;
    font-weight: 600;
}

.choice-check[b-rybofja0b1] {
    position: absolute;
    top: 6px;
    right: 6px;
    display: inline-flex;
}

@media (max-width: 959px) {
    .payment-method-grid[b-rybofja0b1] {
        grid-template-columns: repeat(3, 1fr);
    }

    .shipping-rates-grid[b-rybofja0b1] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 599px) {
    .payment-method-grid[b-rybofja0b1] {
        grid-template-columns: repeat(2, 1fr);
    }

    .shipping-rates-grid[b-rybofja0b1] {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════ PAYMENT ═══════════════════════ */

.payment-summary-strip[b-rybofja0b1] {
    margin-bottom: var(--aura-space-stack);
    padding: 12px 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface-inset);
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.payment-summary-strip.is-balanced[b-rybofja0b1] {
    border-color: color-mix(in srgb, var(--mud-palette-success) 45%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-success) 6%, transparent);
}

.payment-summary-strip.is-unbalanced[b-rybofja0b1] {
    border-color: color-mix(in srgb, var(--mud-palette-warning) 45%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-warning) 6%, transparent);
}

.payment-summary-row[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.payment-summary-of[b-rybofja0b1] {
    font-weight: 400;
    color: var(--mud-palette-text-secondary);
}

.allocation-ok[b-rybofja0b1] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.payment-details[b-rybofja0b1] {
    margin-top: var(--aura-space-stack);
}

.payment-split-action[b-rybofja0b1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.split-payment-card[b-rybofja0b1] {
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
}

.split-payment-header[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}

.split-payment-badge[b-rybofja0b1] {
    padding: 2px 10px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-tint-primary);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mud-palette-primary);
}

.split-payment-amount[b-rybofja0b1] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.split-payment-fill[b-rybofja0b1] {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

/* The explanation sits under the checkbox's label, not under its box. */
.transaction-wizard-page[b-rybofja0b1]  .receipt-hint {
    margin-left: 34px;
}

/* ═══════════════════════ SUMMARY ═══════════════════════ */

.summary-contact[b-rybofja0b1] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.summary-row[b-rybofja0b1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}

.summary-batch[b-rybofja0b1] {
    margin-bottom: 12px;
}

.summary-batch-value[b-rybofja0b1] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.recurring-summary[b-rybofja0b1] {
    margin: 4px 0 8px;
    padding-left: 12px;
    border-left: 2px solid var(--mud-palette-info);
}

.summary-total[b-rybofja0b1] {
    margin-bottom: var(--aura-space-stack);
}

/* ═══════════════════════ MOBILE BAR ═══════════════════════ */

/* The page is the size container its MobileActionBar is decided against: when DetailLayout stacks
   the summary under the form, the total and Place order ride along at the foot of the screen. */
.transaction-wizard-page[b-rybofja0b1] {
    container-type: inline-size;
}

.wizard-mobilebar-total[b-rybofja0b1] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
/* /Components/Pages/Reports/ReportBuilder.razor.rz.scp.css */
.details-grid[b-67mp1snnme] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 16px;
}

@media (max-width: 720px) {
    .details-grid[b-67mp1snnme] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ── Data-source picker ───────────────────────────────────────────────────────────────
   Narrower cards than the report catalog's: there are nineteen and the operator is scanning
   names, so more of them on screen beats width per card. Buttons, so Tab reaches them. */
.source-grid[b-67mp1snnme] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.source-card[b-67mp1snnme] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 14px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.source-card:hover[b-67mp1snnme] {
    border-color: var(--mud-palette-primary);
    background-color: var(--mud-palette-action-default-hover);
}

.source-card:focus-visible[b-67mp1snnme] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.source-card__name[b-67mp1snnme] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

/* Two lines, so a long description cannot make one card twice the height of its row. */
.source-card__description[b-67mp1snnme] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}

/* ── Column groups ────────────────────────────────────────────────────────────────────
   A header row per category, because it is a control: a search match always opens its
   group, so filtering never hides a hit behind a shut container. */
.column-group + .column-group[b-67mp1snnme] {
    margin-top: 4px;
}

.column-group__header[b-67mp1snnme] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 6px;
    border: none;
    border-bottom: 1px solid var(--aura-line);
    background: none;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 120ms ease;
}

.column-group__header:hover[b-67mp1snnme] {
    background-color: var(--mud-palette-action-default-hover);
}

.column-group__header[b-67mp1snnme]  .column-group__chevron {
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.column-group__name[b-67mp1snnme] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

/* Trailing edge, so the counts line up and read as a column. */
.column-group__count[b-67mp1snnme] {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

/* Says where the work is when a group is shut, which is what makes shutting one safe. */
.column-group__count--chosen[b-67mp1snnme] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.column-chip-row[b-67mp1snnme] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 12px;
}

.column-chip[b-67mp1snnme] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-pill);
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color 150ms ease, background-color 150ms ease;
}

.column-chip:hover[b-67mp1snnme] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
}

.column-chip-selected[b-67mp1snnme],
.column-chip-selected:hover[b-67mp1snnme] {
    background: var(--mud-palette-primary);
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.column-chip[b-67mp1snnme]  .column-chip-icon {
    font-size: 0.95rem;
    margin-left: -2px;
}

/* A heading, not a control: the selected-columns editor below the chips. */
.column-category-label[b-67mp1snnme] {
    margin: 16px 0 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--aura-line);
    color: var(--mud-palette-text-primary);
    font-size: 0.875rem;
    font-weight: 600;
}

.selected-column[b-67mp1snnme] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.selected-column__move[b-67mp1snnme] {
    display: flex;
}

.selected-column[b-67mp1snnme]  .selected-column__name {
    min-width: 160px;
}

.selected-column__label[b-67mp1snnme] {
    flex: 1 1 auto;
    min-width: 0;
}

/* A rule row: a select that grows, fixed controls, a remove action. */
.config-row[b-67mp1snnme] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.config-row[b-67mp1snnme]  .config-row__grow {
    flex: 1 1 auto;
    min-width: 0;
}

.config-row[b-67mp1snnme]  .config-row__fixed {
    flex: 0 0 150px;
}

/* ── Preview ─────────────────────────────────────────────────────────────────────────
   Capped so the pane cannot grow past the viewport and take its own refresh button off
   screen with it; the results scroll inside instead. */
.builder-preview__body[b-67mp1snnme] {
    max-height: calc(100vh - 260px);
    overflow-y: auto;
}

.preview-mode[b-67mp1snnme] {
    display: flex;
    margin-bottom: 12px;
}

.preview-table-scroll[b-67mp1snnme] {
    overflow: auto;
}

/* Faded rather than hidden: the previous answer is still the most useful thing to look at
   while deciding whether the change you just made was the one you wanted. */
.builder-preview__result--stale[b-67mp1snnme] {
    opacity: 0.55;
    transition: opacity 120ms ease;
}
/* /Components/Pages/Reports/ReportList.razor.rz.scp.css */
/* The reports catalog: header, figures, search, then two tabs that each hold a RailLayout. */
.reports-page[b-310nqi1su6] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
    /* Category names are ours, not typed by a user, and the longest ellipsised at 240px. */
    --aura-rail-width: 280px;
}

/* An overflow ancestor disables position: sticky for everything inside it, so the rail
   scrolled away with a long catalog. The tab strip draws its own frame; nothing is clipped. */
.reports-page[b-310nqi1su6]  .mud-tabs {
    overflow: visible;
}

.reports-toolbar[b-310nqi1su6] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rail-new[b-310nqi1su6] {
    margin-top: 8px;
    padding-left: 2px;
}

/* Below 768px RailLayout hides the rail; a picker takes its place. */
.rail-picker[b-310nqi1su6] {
    display: none;
}

@media (max-width: 768px) {
    .rail-picker[b-310nqi1su6] {
        display: block;
    }
}

.rail-picker-actions[b-310nqi1su6] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

/* ── Catalog rows ───────────────────────────────────────────────────────────────────────
   Rows rather than cards: a list shows twenty-plus reports a screen where a card grid shows
   nine, and past fifty nobody browses a catalog, they search it. The saved-report rows below
   reuse .report-row, so the two tabs are the same shape by construction. */
.type-rows[b-310nqi1su6] {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background: var(--aura-surface);
    box-shadow: var(--aura-shadow-card);
    overflow: hidden;
}

.type-row[b-310nqi1su6] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--aura-line);
    transition: background-color 120ms ease;
}

.type-row:last-child[b-310nqi1su6] {
    border-bottom: none;
}

.type-row:hover[b-310nqi1su6] {
    background-color: var(--mud-palette-action-default-hover);
    cursor: pointer;
}

.type-row:focus-within[b-310nqi1su6] {
    background-color: var(--mud-palette-action-default-hover);
}

.type-row__body[b-310nqi1su6] {
    flex: 1;
    min-width: 0;
}

/* The stretched link: the whole row is the report name's click target. */
.type-row__link[b-310nqi1su6] {
    color: inherit;
    text-decoration: none;
    outline: none;
}

.type-row__link[b-310nqi1su6]::after {
    content: "";
    position: absolute;
    inset: 0;
}

/* Above the stretched link, so the star stays clickable. */
.type-row__actions[b-310nqi1su6] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

/* The icon tile the shelf cards and the data-source picker use. */
.type-row__icon[b-310nqi1su6] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.saved-row[b-310nqi1su6] {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ── Report row ─────────────────────────────────────────────────────────
   A report is one object with a name, a purpose and some metadata, not five cells. */
.report-row[b-310nqi1su6] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 3px;
    padding: 4px 0;
}

.report-row__title[b-310nqi1su6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.report-row__name[b-310nqi1su6] {
    font-weight: 600;
}

.report-row__name--deleted[b-310nqi1su6] {
    text-decoration: line-through;
    opacity: 0.5;
}

.report-row__description[b-310nqi1su6] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
    /* Two lines is plenty in a list; the full text is on the report itself. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.report-row__meta[b-310nqi1su6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.report-row__dot[b-310nqi1su6] {
    opacity: 0.6;
}
/* /Components/Pages/Reports/ReportTypeRunner.razor.rz.scp.css */
.report-runner-page[b-aqilkfhdo8] {
    display: flex;
    flex-direction: column;
}

.report-runner-body[b-aqilkfhdo8] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.runner-toolbar[b-aqilkfhdo8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.column-preview[b-aqilkfhdo8] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* A label, not a control: quieter than the builder's clickable column chips. */
.column-preview__chip[b-aqilkfhdo8] {
    padding: 4px 10px;
    border-radius: var(--aura-radius-pill);
    background: var(--aura-surface);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* MudSelect grows to fill its flex parent; the slot keeps the preset picker a sensible width. */
.preset-slot[b-aqilkfhdo8] {
    flex: 0 0 220px;
    min-width: 0;
}
/* /Components/Pages/Reports/ReportViewer.razor.rz.scp.css */
.report-view[b-odw9qm5ts2] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.report-view-toolbar[b-odw9qm5ts2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.drill-count[b-odw9qm5ts2] {
    margin: 0 0 8px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}
/* /Components/Pages/Tasks/Notifications.razor.rz.scp.css */
/* The list fills the flush card, so it takes the card's corners and clips the unread tint to them. */
.notification-list[b-m1816xmxrt] {
    margin: 0;
    padding: 0;
    list-style: none;
    border-radius: var(--aura-radius-card);
    overflow: hidden;
}

.notification-row[b-m1816xmxrt] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px var(--aura-card-pad);
    border-bottom: 1px solid var(--aura-line);
    transition: background-color 120ms ease;
}

.notification-row:last-child[b-m1816xmxrt] {
    border-bottom: none;
}

.notification-row.is-unread[b-m1816xmxrt] {
    background-color: var(--aura-tint-primary);
}

.notification-row.is-link[b-m1816xmxrt] {
    cursor: pointer;
}

.notification-row.is-link:hover[b-m1816xmxrt] {
    background-color: var(--mud-palette-action-default-hover);
}

.notification-icon[b-m1816xmxrt] {
    flex-shrink: 0;
    display: inline-flex;
    padding-top: 2px;
    color: var(--mud-palette-text-secondary);
}

.notification-row.is-unread .notification-icon[b-m1816xmxrt] {
    color: var(--mud-palette-primary);
}

.notification-text[b-m1816xmxrt] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.notification-title[b-m1816xmxrt] {
    font-size: 0.875rem;
}

.notification-row.is-unread .notification-title[b-m1816xmxrt] {
    font-weight: 600;
}

.notification-message[b-m1816xmxrt],
.notification-time[b-m1816xmxrt] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

.notification-meta[b-m1816xmxrt] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.notification-pager[b-m1816xmxrt] {
    display: flex;
    justify-content: center;
    margin-top: var(--aura-space-stack);
}
/* /Components/Pages/Tasks/TaskDetail.razor.rz.scp.css */
.task-contact-link[b-rqw2k35nzt] {
    color: var(--mud-palette-primary);
    font-weight: 500;
    text-decoration: none;
}

.task-contact-link:hover[b-rqw2k35nzt] {
    text-decoration: underline;
}

.task-text[b-rqw2k35nzt] {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

.task-completed[b-rqw2k35nzt] {
    margin-top: var(--aura-space-stack);
    padding-top: 12px;
    border-top: 1px solid var(--aura-line);
}
/* /Components/Pages/Tasks/TaskList.razor.rz.scp.css */
.task-title[b-hmoisu8aqw] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.overdue-date[b-hmoisu8aqw] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

/* The bulk-assign bar sits above the table while any row is ticked. */
.bulk-bar[b-hmoisu8aqw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-bottom: var(--aura-space-stack);
    padding: 10px 16px;
    border: 1px solid var(--mud-palette-primary);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-tint-primary);
}

.bulk-bar-actions[b-hmoisu8aqw] {
    display: flex;
    gap: 8px;
}

.task-pager[b-hmoisu8aqw] {
    display: flex;
    justify-content: center;
    margin-top: var(--aura-space-stack);
}
/* /Components/Pages/WhatsNew/WhatsNew.razor.rz.scp.css */
.whats-new-page[b-qmgy39vwxo] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

/* A feed, newest first: a marker per post on a hairline that runs down the left. */
.post-list[b-qmgy39vwxo] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
    margin: 0;
    padding: 0;
    list-style: none;
}

.post[b-qmgy39vwxo] {
    position: relative;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
}

.post:not(:last-child)[b-qmgy39vwxo]::before {
    content: "";
    position: absolute;
    top: 36px;
    bottom: calc(-1 * var(--aura-space-stack));
    left: 15px;
    border-left: 1px solid var(--aura-line);
}

.post__marker[b-qmgy39vwxo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-top: 8px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-pill);
    background: var(--aura-surface);
    color: var(--mud-palette-text-secondary);
}

.post--unread .post__marker[b-qmgy39vwxo] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.post__meta[b-qmgy39vwxo] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}

.post__new[b-qmgy39vwxo] {
    padding: 1px 8px;
    border-radius: var(--aura-radius-badge);
    background: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
    font-size: 0.75rem;
    font-weight: 600;
}

.post__date[b-qmgy39vwxo] {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* The release a post shipped in: a support and traceability affordance, muted past the date. */
.post__version[b-qmgy39vwxo] {
    margin-left: 4px;
    opacity: 0.7;
}

.post[b-qmgy39vwxo]  .post__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
}
/* /Components/Reports/FilterGroupEditor.razor.rz.scp.css */
/* ─── Filter group container ─── */
.filter-group[b-topjxi8auh] {
    position: relative;
    border-radius: var(--aura-radius-control);
    padding: 12px 14px 12px 22px; /* extra left padding clears the spine */
    margin-top: 0;
    margin-bottom: 0;
    background: var(--aura-surface);
    border: 1px solid var(--aura-line);

    /* The spine — 4px colored bar on the left edge that runs the full height
       of the group. Color reflects the operator (AND vs OR). */
    border-left-width: 4px;
}

.filter-group-and[b-topjxi8auh] {
    border-left-color: var(--mud-palette-primary);
}

.filter-group-or[b-topjxi8auh] {
    border-left-color: var(--mud-palette-secondary);
}

.filter-group-root[b-topjxi8auh] {
    background: transparent;
}

.filter-group-nested[b-topjxi8auh] {
    margin-top: 8px;
    background: rgba(var(--mud-palette-primary-rgb), 0.025);
}

.filter-group-or.filter-group-nested[b-topjxi8auh] {
    background: rgba(var(--mud-palette-secondary-rgb), 0.03);
}

/* ─── Group header ─── */
.filter-group-header[b-topjxi8auh] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.filter-group-summary[b-topjxi8auh] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
}

.filter-group-empty[b-topjxi8auh] {
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    margin: 4px 0 8px 0;
    font-style: italic;
}

/* ─── Connector pills between siblings ─── */
.filter-connector[b-topjxi8auh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 6px 0 6px 8px;
    padding: 2px 10px;
    height: 20px;
    border: 0;
    border-radius: var(--aura-radius-pill);
    color: var(--mud-palette-primary-text);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    transition: filter 0.15s ease;
    /* The connector is part of the group's tree visually — keep it left-aligned
       so it stamps the boundary between siblings without dominating the row. */
    align-self: flex-start;
    width: fit-content;
}

.filter-connector:hover[b-topjxi8auh] {
    filter: brightness(1.1);
}

.filter-connector-and[b-topjxi8auh] {
    background: var(--mud-palette-primary);
}

.filter-connector-or[b-topjxi8auh] {
    background: var(--mud-palette-secondary);
    color: var(--mud-palette-secondary-text);
}

.filter-connector:focus-visible[b-topjxi8auh] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}
/* /Components/Reports/FilterLeafEditor.razor.rz.scp.css */
/* One rule in a filter group. */
.filter-leaf[b-2tesccaz6v] {
    margin-bottom: 8px;
    padding: 12px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface);
    transition: background-color 150ms ease;
}

.filter-leaf:hover[b-2tesccaz6v] {
    background: var(--aura-tint-primary);
}
/* /Components/Reports/ReportSchedulePanel.razor.rz.scp.css */
.schedule-view[b-w7es732h6d] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.schedule-actions[b-w7es732h6d] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.schedule-view .schedule-actions[b-w7es732h6d] {
    justify-content: flex-start;
}

.recipient-badges[b-w7es732h6d] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.recipient-row[b-w7es732h6d] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.recipient-row__who[b-w7es732h6d] {
    flex: 1 1 auto;
    min-width: 0;
}

.schedule-save[b-w7es732h6d] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
}
/* /Components/Reports/ReportShelf.razor.rz.scp.css */
/* The shelf's rules live with the component that renders it: scoped CSS matches only elements a
   component renders itself, so when these cards moved here from ReportList its rules had to move
   too, or they would have been emitted and never applied. */
.report-shelf[b-y4l4zwqfeb] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.report-shelf-heading[b-y4l4zwqfeb] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.report-card-grid[b-y4l4zwqfeb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

.report-card[b-y4l4zwqfeb] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--aura-card-pad);
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background: var(--aura-surface);
    box-shadow: var(--aura-shadow-card);
    cursor: pointer;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.report-card:hover[b-y4l4zwqfeb] {
    border-color: var(--mud-palette-primary);
    box-shadow: var(--aura-shadow-raised);
}

.report-card:focus-within[b-y4l4zwqfeb] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.report-card-head[b-y4l4zwqfeb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 4px;
}

.report-card-icon[b-y4l4zwqfeb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

/* Above the stretched link, so the star and the menu stay clickable. */
.report-card-actions[b-y4l4zwqfeb] {
    position: relative;
    z-index: 1;
    display: inline-flex;
}

.report-card-title[b-y4l4zwqfeb] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    text-decoration: none;
    outline: none;
}

/* The stretched link: the whole card is the title's click target. */
.report-card-title[b-y4l4zwqfeb]::after {
    content: "";
    position: absolute;
    inset: 0;
}

/* Descriptions vary in length; three lines keeps the rows even without making the report
   unrecognisable. */
.report-card-description[b-y4l4zwqfeb] {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

/* Pinned to the bottom, so the badges don't step down the row like a staircase. */
.report-card-chart[b-y4l4zwqfeb] {
    margin-top: auto;
    padding-top: 8px;
    display: flex;
}
/* /Components/Shared/AddressFields.razor.rz.scp.css */
.address-fields-scope[b-vduggsag97]  .address-fields {
    margin: 0;
}

.address-fields-scope[b-vduggsag97]  .address-fields-more {
    padding-left: 4px;
    padding-right: 8px;
}

/* A full-width band between the postal code and the fields it fills, so the relationship reads
   spatially. Beside the field it looked like a tooltip that had come unstuck. */
.address-fields-scope[b-vduggsag97]  .address-lookup-cell {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.address-lookup-status[b-vduggsag97] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--aura-radius-control);
    font-size: 0.8125rem;
    line-height: 1.3;
}

.address-lookup-status.is-prompt[b-vduggsag97] {
    border: 1px dashed color-mix(in srgb, var(--mud-palette-primary) 35%, transparent);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-text-secondary);
}

.address-lookup-status.is-working[b-vduggsag97] {
    border: 1px solid transparent;
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-text-secondary);
}

.address-lookup-status.is-filled[b-vduggsag97] {
    border: 1px solid color-mix(in srgb, var(--mud-palette-success) 30%, transparent);
    background-color: color-mix(in srgb, var(--mud-palette-success) 10%, transparent);
    color: var(--mud-palette-success-darken);
}
/* /Components/Shared/AddressValidationDialog.razor.rz.scp.css */
.address-card[b-mxuqp8rh7t] {
    padding: 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
}

.address-card--suggested[b-mxuqp8rh7t] {
    border-color: var(--mud-palette-primary);
}
/* /Components/Shared/DuplicateContactDialog.razor.rz.scp.css */
.duplicate-list[b-560de977vh] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.duplicate-card[b-560de977vh] {
    padding: 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s;
}

.duplicate-card:hover[b-560de977vh] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
}

.duplicate-card:focus-visible[b-560de977vh] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.preview-link[b-560de977vh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 50%;
    color: var(--mud-palette-text-secondary);
    transition: color 0.15s, background-color 0.15s;
}

.preview-link:hover[b-560de977vh] {
    color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
}
/* /Components/Shared/Import/ImportWizardContent.razor.rz.scp.css */
.import-wizard[b-588nj52eem] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

.wizard-nav[b-588nj52eem] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.wizard-nav--end[b-588nj52eem] {
    justify-content: flex-end;
}

.wizard-nav__start[b-588nj52eem],
.wizard-nav__end[b-588nj52eem] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.wizard-nav__end[b-588nj52eem] {
    margin-left: auto;
}

.upload-dropzone[b-588nj52eem] {
    width: 100%;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 24px;
    border: 2px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    background: var(--aura-surface-inset);
    color: inherit;
    font: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.upload-dropzone:hover:not(:disabled)[b-588nj52eem],
.upload-dropzone:focus-visible[b-588nj52eem] {
    border-color: var(--mud-palette-primary);
    background: var(--aura-tint-primary);
}

.upload-dropzone:disabled[b-588nj52eem] {
    cursor: progress;
}

.upload-dropzone__title[b-588nj52eem] {
    font-size: 0.9375rem;
    font-weight: 500;
}

.upload-dropzone__hint[b-588nj52eem] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.table-scroll[b-588nj52eem] {
    overflow-x: auto;
}

.table-scroll--capped[b-588nj52eem] {
    max-height: 320px;
    overflow-y: auto;
}

.warning-list[b-588nj52eem] {
    margin: 4px 0 0;
    padding-left: 20px;
}

.import-progress[b-588nj52eem] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
/* /Components/Shared/MergeFieldPalette.razor.rz.scp.css */
.merge-group + .merge-group[b-scbjzbib1z] {
    margin-top: 12px;
}

.merge-group__title[b-scbjzbib1z] {
    margin-bottom: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.merge-field-group[b-scbjzbib1z] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.merge-field-drag[b-scbjzbib1z] {
    cursor: grab;
    user-select: none;
}

.merge-field-drag:active[b-scbjzbib1z] {
    cursor: grabbing;
    opacity: 0.7;
}
/* /Components/Shared/PaymentCardEntry.razor.rz.scp.css */
.payment-card-entry[b-axyhs3qish] {
    width: 100%;
}

/* Stripe mounts its card field inside this element and toggles the StripeElement--* classes on
   it, so it is drawn to match an outlined MudBlazor input. The state classes are Stripe's, not
   this markup's, so those two rules reach them through ::deep from the wrapper. */
.stripe-card-element[b-axyhs3qish] {
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--aura-radius-control);
    padding: 12px 14px;
    min-height: 44px;
    transition: border-color 0.2s;
}

.stripe-card-element:hover[b-axyhs3qish] {
    border-color: var(--mud-palette-text-primary);
}

.payment-card-entry[b-axyhs3qish]  .stripe-card-element.StripeElement--focus {
    border-color: var(--mud-palette-primary);
    border-width: 2px;
    padding: 11px 13px;
}

.payment-card-entry[b-axyhs3qish]  .stripe-card-element.StripeElement--invalid {
    border-color: var(--mud-palette-error);
}
/* /Components/Ui/BackLink.razor.rz.scp.css */
.aura-back-link[b-by1o38fyh3] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
    padding: 2px 8px 2px 2px;
    border-radius: var(--aura-radius-control);
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    max-width: 100%;
    transition: color 0.15s, background-color 0.15s;
}

.aura-back-link:hover[b-by1o38fyh3] {
    color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
}

.aura-back-link:focus-visible[b-by1o38fyh3] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.aura-back-link[b-by1o38fyh3]  .aura-back-link-icon {
    font-size: 1.05rem;
}

.aura-back-link > span[b-by1o38fyh3] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Ui/BlockerList.razor.rz.scp.css */
.aura-blockers[b-1bq8c3uv5u] {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface-inset);
    font-size: 0.8125rem;
}

.aura-blockers[b-1bq8c3uv5u]  .aura-blockers-heading {
    margin-bottom: 4px;
    color: var(--mud-palette-text-secondary);
}

.aura-blockers-list[b-1bq8c3uv5u] {
    margin: 0;
    padding-inline-start: 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
/* /Components/Ui/DetailItem.razor.rz.scp.css */
.aura-dl-row[b-a6c5fex994] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.aura-dl-row.aura-dl-row--stacked[b-a6c5fex994] {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
}

.aura-dl-label[b-a6c5fex994] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    flex-shrink: 0;
}

.aura-dl-value[b-a6c5fex994] {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
}

.aura-dl-row--stacked .aura-dl-value[b-a6c5fex994] {
    text-align: left;
    font-weight: 400;
}
/* /Components/Ui/DetailLayout.razor.rz.scp.css */
/* The host is the size container the columns are decided against; a container cannot query
   itself, so the grid is its child. Nothing in a detail page is fixed-position — the mobile save
   bars are sticky — so the containment this implies changes nothing else. */
.aura-detail-host[b-1chd4nzyq1] {
    container-type: inline-size;
}

.aura-detail[b-1chd4nzyq1] {
    display: grid;
    gap: var(--aura-space-page);
    align-items: start;
}

@container (min-width: 820px) {
    .aura-detail[b-1chd4nzyq1] {
        grid-template-columns: minmax(0, 1fr) var(--aura-sidebar-width);
    }

    .aura-detail.aura-detail--single[b-1chd4nzyq1] {
        grid-template-columns: minmax(0, 1fr);
    }

    .aura-detail-sidebar.is-sticky[b-1chd4nzyq1] {
        position: sticky;
        top: var(--aura-sticky-top);
    }
}

.aura-detail-main[b-1chd4nzyq1],
.aura-detail-sidebar[b-1chd4nzyq1] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
    min-width: 0;
}
/* /Components/Ui/DetailList.razor.rz.scp.css */
.aura-dl[b-cjq5wwhxkr] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}
/* /Components/Ui/DialogTitle.razor.rz.scp.css */
.aura-dialog-title[b-yeyz32127s] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-inline-end: 32px;
}

.aura-dialog-title-icon[b-yeyz32127s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-dialog-title-icon.aura-tone-danger[b-yeyz32127s] {
    background-color: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
    color: var(--mud-palette-error);
}

.aura-dialog-title-icon.aura-tone-warning[b-yeyz32127s] {
    background-color: color-mix(in srgb, var(--mud-palette-warning) 14%, transparent);
    color: var(--mud-palette-warning);
}

.aura-dialog-title-text[b-yeyz32127s] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
/* /Components/Ui/DrawerHeader.razor.rz.scp.css */
.aura-drawer-header[b-w4f78otcxv] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 16px 16px 20px;
    border-bottom: 1px solid var(--aura-line);
}

.aura-drawer-header-icon[b-w4f78otcxv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-drawer-header-text[b-w4f78otcxv] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aura-drawer-header-actions[b-w4f78otcxv] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
/* /Components/Ui/EditorLayout.razor.rz.scp.css */
/* .aura-editor is the size container the MobileActionBar inside it is decided against — the same
   width at which DetailLayout stacks the save card under the form. */
.aura-editor[b-2zdsjyxr70] {
    container-type: inline-size;
}

.aura-editor-mobilebar-text[b-2zdsjyxr70] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.editor-secondary-actions[b-2zdsjyxr70] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}
/* /Components/Ui/EmptyState.razor.rz.scp.css */
.aura-empty[b-tq479ofb2r] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
    padding: 40px 24px;
}

.aura-empty--compact[b-tq479ofb2r] {
    padding: 20px 16px;
}

.aura-empty--bordered[b-tq479ofb2r] {
    border: 1px dashed var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface);
}

.aura-empty-icon[b-tq479ofb2r] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-empty--compact .aura-empty-icon[b-tq479ofb2r] {
    width: 36px;
    height: 36px;
    margin-bottom: 4px;
}

.aura-empty[b-tq479ofb2r]  .aura-empty-message {
    max-width: 480px;
}

.aura-empty-action[b-tq479ofb2r] {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
/* /Components/Ui/FilterPanel.razor.rz.scp.css */
.filter-panel[b-dpt94qyj2d] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: var(--aura-space-stack);
}

.filter-panel-row[b-dpt94qyj2d] {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

/* The search fills what the other controls leave — never a box that stops short. */
.filter-panel-search[b-dpt94qyj2d] {
    flex: 1 1 240px;
    min-width: 0;
}

/* MudDateRangePicker renders two dates, a separator, a calendar adornment and a clear button;
   much under this clips a populated range mid-date. */
.filter-panel-date[b-dpt94qyj2d] {
    flex: 0 0 300px;
}

/* The dropdowns' own roots become items of the row. */
.filter-panel-fields[b-dpt94qyj2d] {
    display: contents;
}

.filter-panel-toggles[b-dpt94qyj2d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.filter-panel-clear[b-dpt94qyj2d] {
    flex: 0 0 auto;
    margin-inline-start: auto;
}

/* Row: a dropdown keeps a compact width beside the search, which is the flexible one. */
.filter-panel--row .filter-panel-fields[b-dpt94qyj2d]  > * {
    flex: 0 1 180px;
    min-width: 150px;
}

/* No search box: the dropdowns share the row, up to a width a dropdown can use. */
.filter-panel--row.filter-panel--no-search .filter-panel-fields[b-dpt94qyj2d]  > * {
    flex: 1 1 200px;
    max-width: 320px;
}

/* TwoRows: every dropdown in an equal column across the second row, so they line up however
   many there are. */
.filter-panel-row--columns .filter-panel-fields[b-dpt94qyj2d]  > * {
    flex: 1 1 0;
    min-width: 160px;
}

.filter-panel-footer[b-dpt94qyj2d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.filter-panel-footer:empty[b-dpt94qyj2d] {
    display: none;
}

@media (max-width: 600px) {
    .filter-panel-search[b-dpt94qyj2d],
    .filter-panel-date[b-dpt94qyj2d],
    .filter-panel--row .filter-panel-fields[b-dpt94qyj2d]  > * {
        flex: 1 1 100%;
        max-width: none;
    }
}
/* /Components/Ui/FilterToggle.razor.rz.scp.css */
.aura-filter-toggle[b-71buhgga56] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s, color 0.15s;
}

.aura-filter-toggle:hover:not(:disabled)[b-71buhgga56] {
    border-color: var(--mud-palette-primary);
}

.aura-filter-toggle:focus-visible[b-71buhgga56] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.aura-filter-toggle.is-on[b-71buhgga56] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-filter-toggle:disabled[b-71buhgga56] {
    cursor: default;
    color: var(--mud-palette-text-disabled);
}

.aura-filter-toggle[b-71buhgga56]  .aura-filter-toggle-icon {
    font-size: 1rem;
}

.aura-filter-toggle-count[b-71buhgga56] {
    margin-inline-start: 2px;
    padding: 0 6px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface-inset);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}
/* /Components/Ui/LabelBadge.razor.rz.scp.css */
.aura-label-badge[b-26igkmlo2m] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 22px;
    padding: 0 8px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-badge);
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
}

.aura-label-badge[b-26igkmlo2m]  .aura-label-badge-icon {
    font-size: 0.95rem;
}
/* /Components/Ui/LoadErrorState.razor.rz.scp.css */
.aura-load-error[b-4ea2byyazw] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: var(--aura-card-pad);
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 35%, var(--aura-line));
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface);
}

.aura-load-error--compact[b-4ea2byyazw] {
    padding: 12px;
    gap: 10px;
    border-radius: var(--aura-radius-control);
}

.aura-load-error-icon[b-4ea2byyazw] {
    display: inline-flex;
    color: var(--mud-palette-error);
    flex-shrink: 0;
}

.aura-load-error-body[b-4ea2byyazw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.aura-load-error-actions[b-4ea2byyazw] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
/* /Components/Ui/MobileActionBar.razor.rz.scp.css */
.aura-mobilebar[b-52xmh2i10w] {
    display: none;
}

@container (max-width: 819px) {
    .aura-mobilebar[b-52xmh2i10w] {
        position: sticky;
        bottom: 0;
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: var(--aura-space-stack);
        padding: 10px 16px;
        border: 1px solid var(--aura-line-strong);
        border-radius: var(--aura-radius-card);
        background-color: var(--aura-surface);
        box-shadow: var(--aura-shadow-raised);
    }
}
/* /Components/Ui/OptionCard.razor.rz.scp.css */
.aura-option[b-a3jbo2bobd] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-control);
    background-color: var(--aura-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease;
}

.aura-option:hover:not(:disabled)[b-a3jbo2bobd] {
    border-color: var(--mud-palette-primary);
}

.aura-option:focus-visible[b-a3jbo2bobd] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.aura-option.is-selected[b-a3jbo2bobd] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
}

.aura-option:disabled[b-a3jbo2bobd] {
    cursor: default;
    opacity: 0.55;
}

.aura-option-icon[b-a3jbo2bobd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 6px;
    border-radius: var(--aura-radius-control);
    background: var(--aura-surface-inset);
    color: var(--mud-palette-text-secondary);
}

.is-selected .aura-option-icon[b-a3jbo2bobd] {
    background: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-option-title[b-a3jbo2bobd] {
    font-size: 0.9375rem;
    font-weight: 600;
}

.aura-option-text[b-a3jbo2bobd] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    line-height: 1.4;
}
/* /Components/Ui/OptionGroup.razor.rz.scp.css */
.aura-option-group[b-750lt9et7o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.aura-option-group.is-compact[b-750lt9et7o] {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
/* /Components/Ui/PageHeader.razor.rz.scp.css */
.aura-page-header[b-ucm55944gp] {
    margin-bottom: var(--aura-space-page);
}

/* Wraps, and the heading has a 280px basis: on a phone the actions drop below the title instead
   of squeezing the subtitle into a column one word wide beside them. */
.aura-page-header-row[b-ucm55944gp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
}

.aura-page-header-heading[b-ucm55944gp] {
    flex: 1 1 280px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aura-page-header-title-line[b-ucm55944gp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.aura-page-header-status[b-ucm55944gp] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

/* Keeps its buttons on one line beside the title while they fit; alone on its own line (a phone,
   or four actions) it shrinks to the width it has and the buttons wrap, rather than running off
   the right edge. */
.aura-page-header-actions[b-ucm55944gp] {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    max-width: 100%;
}
/* /Components/Ui/PageLoading.razor.rz.scp.css */
.aura-loading-bar[b-mykylapa09] {
    margin-bottom: var(--aura-space-stack);
}

.aura-loading-skeleton[b-mykylapa09] {
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-stack);
}

.aura-loading-skeleton[b-mykylapa09]  .aura-loading-line {
    border-radius: var(--aura-radius-card);
}
/* /Components/Ui/RailHeading.razor.rz.scp.css */
.aura-rail-heading[b-hqbm3r1qe8] {
    margin-top: 14px;
    padding: 4px 10px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
}
/* /Components/Ui/RailItem.razor.rz.scp.css */
.aura-rail-row[b-x1qqkbv81i] {
    display: flex;
    align-items: center;
    gap: 2px;
    border-radius: var(--aura-radius-control);
}

.aura-rail-row:hover[b-x1qqkbv81i] {
    background-color: var(--mud-palette-action-default-hover);
}

.aura-rail-row.is-active[b-x1qqkbv81i] {
    background-color: var(--aura-tint-primary);
}

.aura-rail-item[b-x1qqkbv81i] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    padding: 7px 10px;
    border: 0;
    border-radius: var(--aura-radius-control);
    background: none;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.aura-rail-item:focus-visible[b-x1qqkbv81i] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.aura-rail-item[b-x1qqkbv81i]  .aura-rail-icon {
    color: var(--mud-palette-text-secondary);
}

.is-active .aura-rail-item[b-x1qqkbv81i] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.is-active .aura-rail-item[b-x1qqkbv81i]  .aura-rail-icon {
    color: var(--mud-palette-primary);
}

/* A long name ellipsises rather than pushing the count out of the rail. */
.aura-rail-label[b-x1qqkbv81i] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aura-rail-count[b-x1qqkbv81i] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.aura-rail-actions[b-x1qqkbv81i] {
    display: inline-flex;
    padding-right: 2px;
}
/* /Components/Ui/RailLayout.razor.rz.scp.css */
.aura-rail-layout[b-6ec2iiqigs] {
    display: grid;
    grid-template-columns: var(--aura-rail-width) minmax(0, 1fr);
    gap: var(--aura-space-page);
    align-items: start;
}

/* Sticky, and never taller than the window: a rail longer than the screen (the reports
   catalog's categories) otherwise kept its last entries out of reach until the content beside
   it was scrolled to the very bottom. It scrolls on its own instead. */
.aura-rail[b-6ec2iiqigs] {
    position: sticky;
    top: var(--aura-sticky-top);
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    max-height: calc(100dvh - var(--aura-sticky-top) - var(--aura-space-page));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.aura-rail-content[b-6ec2iiqigs] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--aura-space-page);
}

@media (max-width: 768px) {
    .aura-rail-layout[b-6ec2iiqigs] {
        grid-template-columns: minmax(0, 1fr);
    }

    .aura-rail[b-6ec2iiqigs] {
        display: none;
    }
}
/* /Components/Ui/SaveBar.razor.rz.scp.css */
.aura-savebar[b-33vvdxguwv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
}

.aura-savebar--sticky[b-33vvdxguwv] {
    position: sticky;
    bottom: 16px;
    z-index: 5;
    margin-top: var(--aura-space-page);
    padding: 10px 12px 10px 16px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface);
    box-shadow: var(--aura-shadow-raised);
}

.aura-savebar-status[b-33vvdxguwv] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.aura-savebar-dot[b-33vvdxguwv] {
    width: 8px;
    height: 8px;
    border-radius: var(--aura-radius-pill);
    background-color: var(--mud-palette-warning);
    flex-shrink: 0;
}

.aura-savebar-actions[b-33vvdxguwv] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-inline-start: auto;
}

.aura-savebar-detail[b-33vvdxguwv] {
    flex: 1 1 100%;
}
/* /Components/Ui/SectionCard.razor.rz.scp.css */
.aura-card[b-am4psk2l3j] {
    background-color: var(--aura-surface);
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    box-shadow: var(--aura-shadow-card);
    min-width: 0;
}

.aura-card--dense[b-am4psk2l3j] {
    --aura-card-pad: 16px;
}

.aura-card--inset[b-am4psk2l3j] {
    background-color: var(--aura-surface-inset);
    box-shadow: none;
}

.aura-card--fill[b-am4psk2l3j] {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.aura-card-header[b-am4psk2l3j] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: var(--aura-card-pad) var(--aura-card-pad) 0;
}

.aura-card-header.is-clickable[b-am4psk2l3j] {
    cursor: pointer;
}

.aura-card-header[role="button"]:focus-visible[b-am4psk2l3j] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
    border-radius: var(--aura-radius-card);
}

/* Collapsed, the header is all there is: it takes the body's bottom padding too, and centres
   its title against the icon and chevron, or the title sat high in a bar too short for it. */
.aura-card--collapsed > .aura-card-header[b-am4psk2l3j] {
    align-items: center;
    padding-bottom: var(--aura-card-pad);
}

.aura-card--collapsed > .aura-card-header .aura-card-icon[b-am4psk2l3j] {
    margin-top: 0;
}

.aura-card-heading[b-am4psk2l3j] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aura-card-actions[b-am4psk2l3j] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-block: -4px;
}

.aura-card-number[b-am4psk2l3j],
.aura-card-icon[b-am4psk2l3j] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-card-number[b-am4psk2l3j] {
    width: 28px;
    height: 28px;
    border-radius: var(--aura-radius-pill);
    font-size: 0.8125rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.aura-card-icon[b-am4psk2l3j] {
    width: 32px;
    height: 32px;
    border-radius: var(--aura-radius-control);
    margin-top: -4px;
}

.aura-card-chevron[b-am4psk2l3j] {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--mud-palette-text-secondary);
    transition: transform 0.2s;
}

.aura-card-chevron.is-expanded[b-am4psk2l3j] {
    transform: rotate(180deg);
}

.aura-card-body[b-am4psk2l3j] {
    padding: var(--aura-card-pad);
    min-width: 0;
}

.aura-card-header + .aura-card-body[b-am4psk2l3j] {
    padding-top: var(--aura-space-stack);
}

.aura-card--flush > .aura-card-body[b-am4psk2l3j] {
    padding: 0;
}

.aura-card--flush > .aura-card-header + .aura-card-body[b-am4psk2l3j] {
    padding-top: var(--aura-space-stack);
}

.aura-card--fill > .aura-card-body[b-am4psk2l3j] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

.aura-card-footer[b-am4psk2l3j] {
    padding: 12px var(--aura-card-pad);
    border-top: 1px solid var(--aura-line);
}
/* /Components/Ui/SettingToggle.razor.rz.scp.css */
.aura-setting[b-vzhjgft60u] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aura-setting[b-vzhjgft60u]  .aura-setting-help,
.aura-setting-extra[b-vzhjgft60u] {
    display: block;
    max-width: 620px;
    margin-inline-start: 48px;
}

.aura-setting-extra[b-vzhjgft60u] {
    margin-top: 8px;
}

@media (max-width: 599px) {
    .aura-setting[b-vzhjgft60u]  .aura-setting-help,
    .aura-setting-extra[b-vzhjgft60u] {
        margin-inline-start: 0;
    }
}
/* /Components/Ui/StatGroup.razor.rz.scp.css */
.aura-stat-group[b-h48s2vnvp3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}
/* /Components/Ui/StatTile.razor.rz.scp.css */
.aura-stat[b-alik6keg6k] {
    display: flex;
    flex-direction: column;
    /* MudBlazor styles every button with centred flex content; a figure reads from the left. */
    align-items: stretch;
    justify-content: flex-start;
    gap: 4px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--aura-line);
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-surface);
    box-shadow: var(--aura-shadow-card);
    text-align: left;
    font: inherit;
    color: inherit;
}

button.aura-stat[b-alik6keg6k] {
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s;
}

button.aura-stat:hover[b-alik6keg6k] {
    border-color: var(--aura-line-strong);
}

button.aura-stat:focus-visible[b-alik6keg6k] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.aura-stat.is-selected[b-alik6keg6k] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
}

.aura-stat-label[b-alik6keg6k] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
}

.aura-stat-label[b-alik6keg6k]  .aura-stat-icon {
    font-size: 1.05rem;
}

.aura-tone-info .aura-stat-label[b-alik6keg6k]  .aura-stat-icon {
    color: var(--mud-palette-info);
}

.aura-tone-success .aura-stat-label[b-alik6keg6k]  .aura-stat-icon {
    color: var(--mud-palette-success);
}

.aura-tone-warning .aura-stat-label[b-alik6keg6k]  .aura-stat-icon {
    color: var(--mud-palette-warning);
}

.aura-tone-danger .aura-stat-label[b-alik6keg6k]  .aura-stat-icon {
    color: var(--mud-palette-error);
}

.aura-stat[b-alik6keg6k]  .aura-stat-value {
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.aura-stat-caption[b-alik6keg6k] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

/* A change against last month: green up, red down, with the arrow saying which. */
.aura-trend-up[b-alik6keg6k],
.aura-trend-down[b-alik6keg6k] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}

.aura-trend-up[b-alik6keg6k] {
    color: var(--mud-palette-success);
}

.aura-trend-down[b-alik6keg6k] {
    color: var(--mud-palette-error);
}

.aura-stat[b-alik6keg6k]  .aura-trend-icon {
    font-size: 1rem;
}

/* A dashboard figure: the value larger, the icon in a tinted tile at the right. */
.aura-stat--prominent[b-alik6keg6k] {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
}

.aura-stat-main[b-alik6keg6k] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.aura-stat--prominent[b-alik6keg6k]  .aura-stat-value {
    font-weight: 700;
    line-height: 1.15;
}

.aura-stat-icon-tile[b-alik6keg6k] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--aura-radius-card);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-tone-info .aura-stat-icon-tile[b-alik6keg6k] {
    color: var(--mud-palette-info);
}

.aura-tone-success .aura-stat-icon-tile[b-alik6keg6k] {
    color: var(--mud-palette-success);
}

.aura-tone-warning .aura-stat-icon-tile[b-alik6keg6k] {
    color: var(--mud-palette-warning);
}

.aura-tone-danger .aura-stat-icon-tile[b-alik6keg6k] {
    color: var(--mud-palette-error);
}
/* /Components/Ui/StatusBadge.razor.rz.scp.css */
.aura-status[b-s88zsn50j2] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    vertical-align: middle;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.aura-status.aura-tone-warning[b-s88zsn50j2],
.aura-status.aura-tone-danger[b-s88zsn50j2] {
    color: var(--mud-palette-text-primary);
}

.aura-status-chip[b-s88zsn50j2] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 24px;
    padding: 0 8px 0 6px;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-badge);
    background-color: var(--aura-surface);
    color: var(--mud-palette-text-primary);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
}

.aura-status-chip.aura-tone-warning[b-s88zsn50j2] {
    border-color: color-mix(in srgb, var(--mud-palette-warning) 55%, transparent);
}

.aura-status-chip.aura-tone-danger[b-s88zsn50j2] {
    border-color: color-mix(in srgb, var(--mud-palette-error) 55%, transparent);
}

.aura-status-chip.aura-tone-success[b-s88zsn50j2] {
    border-color: color-mix(in srgb, var(--mud-palette-success) 45%, transparent);
}

.aura-status[b-s88zsn50j2]  .aura-status-icon,
.aura-status-chip[b-s88zsn50j2]  .aura-status-icon {
    font-size: 1.05rem;
    color: var(--mud-palette-text-secondary);
}

.aura-tone-info[b-s88zsn50j2]  .aura-status-icon {
    color: var(--mud-palette-info);
}

.aura-tone-success[b-s88zsn50j2]  .aura-status-icon {
    color: var(--mud-palette-success);
}

.aura-tone-warning[b-s88zsn50j2]  .aura-status-icon {
    color: var(--mud-palette-warning);
}

.aura-tone-danger[b-s88zsn50j2]  .aura-status-icon {
    color: var(--mud-palette-error);
}
/* /Components/Ui/SuccessState.razor.rz.scp.css */
.aura-success[b-av33smk7u5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 40px 32px 32px;
}

.aura-success-ring[b-av33smk7u5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    margin-bottom: 4px;
    border-radius: var(--aura-radius-pill);
    background-color: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
}

.aura-success[b-av33smk7u5]  .aura-success-icon {
    width: 60px;
    height: 60px;
    font-size: 60px;
    color: var(--mud-palette-success);
}

.aura-success-message[b-av33smk7u5] {
    max-width: 440px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--mud-palette-text-secondary);
}

.aura-success-actions[b-av33smk7u5] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}
/* /Components/Ui/WizardStepper.razor.rz.scp.css */
.aura-stepper[b-y4fu8irizm] {
    display: flex;
    align-items: center;
    gap: 0;
    /* No margin of its own: every host stacks it in a gap container, which spaces it. */
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
}

.aura-step[b-y4fu8irizm] {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
}

.aura-step:not(:last-child)[b-y4fu8irizm]::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    min-width: 16px;
    margin: 0 8px;
    background-color: var(--aura-line-strong);
}

.aura-step.is-done:not(:last-child)[b-y4fu8irizm]::after {
    background-color: var(--mud-palette-primary);
}

.aura-step:last-child[b-y4fu8irizm] {
    flex: 0 0 auto;
}

.aura-step-button[b-y4fu8irizm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    border: 0;
    border-radius: var(--aura-radius-control);
    background: none;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    white-space: nowrap;
}

.aura-step-button:not(:disabled)[b-y4fu8irizm] {
    cursor: pointer;
}

.aura-step-button:not(:disabled):hover[b-y4fu8irizm] {
    background-color: var(--aura-tint-primary);
}

.aura-step-button:focus-visible[b-y4fu8irizm] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.aura-step-marker[b-y4fu8irizm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border: 1px solid var(--aura-line-strong);
    border-radius: var(--aura-radius-pill);
    background-color: var(--aura-surface);
    font-size: 0.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.aura-step.is-done .aura-step-marker[b-y4fu8irizm] {
    border-color: var(--mud-palette-primary);
    background-color: var(--aura-tint-primary);
    color: var(--mud-palette-primary);
}

.aura-step.is-current .aura-step-marker[b-y4fu8irizm] {
    border-color: var(--mud-palette-primary);
    background-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.aura-step.is-current .aura-step-button[b-y4fu8irizm] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}

@media (max-width: 600px) {
    .aura-step:not(.is-current) .aura-step-label[b-y4fu8irizm] {
        display: none;
    }
}
/* /Components/Ui/WorkingState.razor.rz.scp.css */
.aura-working[b-sq47r4jzip] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 32px 16px;
}

.aura-working[b-sq47r4jzip]  .aura-working-title {
    margin-top: 8px;
}

.aura-working[b-sq47r4jzip]  .aura-working-message {
    max-width: 400px;
}
