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

/* _content/SaasWeb/Components/Layout/RewardFeedbackLayout.razor.rz.scp.css */
.reward-feedback-layout[b-bom2l5mlqv] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--surface-inner-area, #f3f3f4);
}

.reward-feedback-header[b-bom2l5mlqv] {
    padding: 0;
    background: #fff;
    border-bottom: 1px solid #e1e4e6;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
}

.reward-feedback-header-content[b-bom2l5mlqv] {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 75px;
    padding: .5rem 30px;
}

.reward-feedback-header img[b-bom2l5mlqv] {
    display: block;
    width: 240px;
    height: auto;
    max-width: 100%;
}

.reward-feedback-main[b-bom2l5mlqv] {
    flex: 1 0 auto;
    width: 100%;
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 4vw, 2rem) 4rem;
}

@media (max-width: 600px) {
    .reward-feedback-header-content[b-bom2l5mlqv] {
        min-height: 64px;
        padding: .5rem 1rem;
    }

    .reward-feedback-header img[b-bom2l5mlqv] {
        width: 200px;
    }

    .reward-feedback-main[b-bom2l5mlqv] {
        padding: 1.25rem .75rem 2.5rem;
    }
}
/* _content/SaasWeb/Components/Pages/AdminPages/AdminPages.razor.rz.scp.css */
.admin-pages[b-cno682o45x] {
    box-sizing: border-box;
    color: var(--neutral-foreground-rest);
    margin: 0 auto;
    max-width: 88rem;
    padding: 1rem clamp(1rem, 2vw, 1.5rem) 2.5rem;
    width: 100%;
}

.section-heading p[b-cno682o45x] {
    color: var(--neutral-foreground-hint);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0.4rem 0 0;
}

.admin-pages-warning[b-cno682o45x] {
    display: block;
    font-size: 0.875rem;
    line-height: 1.45;
    margin-bottom: 1.5rem;
}

.section-heading[b-cno682o45x] {
    margin-bottom: 1rem;
}

.section-heading h2[b-cno682o45x] {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0;
}

.admin-page-grid[b-cno682o45x] {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-page-card[b-cno682o45x] {
    background: var(--neutral-layer-1);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 0.875rem;
    box-shadow: 0 2px 8px rgb(0 0 0 / 7%);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 17rem;
    padding: 1.35rem;
    transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.admin-page-card:hover[b-cno682o45x] {
    border-color: color-mix(in srgb, var(--accent-fill-rest) 45%, var(--neutral-stroke-rest));
    box-shadow: 0 7px 18px rgb(0 0 0 / 10%);
    transform: translateY(-2px);
}

.admin-page-icon[b-cno682o45x] {
    align-items: center;
    background: color-mix(in srgb, var(--accent-fill-rest) 13%, var(--neutral-layer-1));
    border: 1px solid color-mix(in srgb, var(--accent-fill-rest) 25%, transparent);
    border-radius: 0.7rem;
    color: var(--accent-foreground-rest);
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    margin-bottom: 1rem;
    width: 2.75rem;
}

.admin-page-content[b-cno682o45x] {
    flex: 1 1 auto;
}

.tool-category[b-cno682o45x] {
    color: var(--neutral-foreground-hint);
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.admin-page-content h3[b-cno682o45x] {
    font-size: 1.1rem;
    font-weight: 650;
    line-height: 1.3;
    margin: 0;
}

.admin-page-content p[b-cno682o45x] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    line-height: 1.55;
    margin: 0.55rem 0 1.2rem;
}

.admin-page-link[b-cno682o45x] {
    align-items: center;
    align-self: flex-start;
    color: var(--accent-foreground-rest);
    display: inline-flex;
    font-size: 0.875rem;
    font-weight: 650;
    gap: 0.45rem;
    text-decoration: none;
}

.admin-page-link:hover[b-cno682o45x] {
    text-decoration: underline;
}

.admin-page-link:focus-visible[b-cno682o45x] {
    border-radius: 0.25rem;
    outline: 2px solid var(--focus-stroke-outer);
    outline-offset: 0.25rem;
}

@media (max-width: 70rem) {
    .admin-page-grid[b-cno682o45x] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 44rem) {
    .admin-pages[b-cno682o45x] {
        padding: 0.75rem 0.75rem 2rem;
    }

    .admin-page-grid[b-cno682o45x] {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-page-card[b-cno682o45x] {
        min-height: auto;
    }
}
/* _content/SaasWeb/Components/Pages/AdminPages/Clients.razor.rz.scp.css */
.client-search[b-5yn3fhnesz] {
    flex: 1 1 22rem;
    max-width: 28rem;
    min-width: 0;
}

/* Copied from DigitalRewardProviderSettings.razor.css (.provider-company-picker). */
.client-search[b-5yn3fhnesz]  .client-search-picker {
    min-width: 0;
    width: 100%;
}

.client-delete-item[b-5yn3fhnesz] {
    color: #d13438;
}
/* _content/SaasWeb/Components/Pages/AdminPages/DigitalRewardProviderSettings.razor.rz.scp.css */
.provider-settings[b-jwaiwqzakz] {
    margin-top: 32px;
}

/* Section heading and control row copied from MilestoneProcessing. */
.section-heading[b-jwaiwqzakz] {
    align-items: flex-start;
    display: flex;
    gap: 0.8rem;
}

.section-heading h2[b-jwaiwqzakz] {
    color: var(--neutral-foreground-rest);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0;
}

.section-heading p[b-jwaiwqzakz] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

/* Plain block children stretch to the card's width; a vertical FluentStack would shrink them. */
.provider-settings-body[b-jwaiwqzakz] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.provider-controls[b-jwaiwqzakz] {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr)) max-content;
    margin: 1.25rem 0 0;
}

.provider-override-controls[b-jwaiwqzakz] {
    grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) max-content;
}

.provider-field[b-jwaiwqzakz] {
    min-width: 0;
}

.provider-distribution-row + .provider-distribution-row[b-jwaiwqzakz] {
    margin-top: 0.75rem;
}

.provider-last-changed[b-jwaiwqzakz] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    line-height: 2.25rem;
}

/* fluent-select carries its own 250px minimum, which would overflow a narrow grid track. */
[b-jwaiwqzakz] fluent-select.provider-select,
[b-jwaiwqzakz] fluent-select.provider-select::part(control),
[b-jwaiwqzakz] .provider-company-picker,
[b-jwaiwqzakz] fluent-text-field.provider-name {
    min-width: 0;
    width: 100%;
}

[b-jwaiwqzakz] fluent-button.provider-action-button::part(control) {
    min-height: 2.25rem;
    padding-inline: 1rem;
}

/* The Save button sits in the middle of its row of labelled fields, not on their bottom edge. */
.provider-controls[b-jwaiwqzakz]  fluent-button.provider-action-button {
    align-self: center;
}

/* Copied from MilestoneProcessing: no clipping scroll box, so the row menus are never cut off. */
.provider-overrides-grid-container[b-jwaiwqzakz] {
    overflow: visible;
}

.provider-secondary-actions[b-jwaiwqzakz] {
    display: flex;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
}

@media (max-width: 900px) {
    .provider-controls[b-jwaiwqzakz],
    .provider-override-controls[b-jwaiwqzakz] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* _content/SaasWeb/Components/Pages/AdminPages/MilestoneProcessing.razor.rz.scp.css */
.milestone-processing-page[b-pw0dv5yhm3] {
    box-sizing: border-box;
    color: var(--neutral-foreground-rest);
    display: flex;
    flex-direction: column;
    font-size: 0.9375rem;
    gap: 1.5rem;
    margin: 0 auto;
    padding: 1rem clamp(1rem, 2vw, 1.5rem) 2.5rem;
    width: 100%;
}

/* The shared heading and guard carry their own bottom margin for pages that are not
   flex containers; here the page-level gap owns the spacing instead. */
.milestone-processing-page[b-pw0dv5yhm3]  .page-heading,
.milestone-processing-page[b-pw0dv5yhm3]  .production-action-guard {
    margin-bottom: 0;
}

/* Only the text is restyled: FluentMessageBar lays out its icon, message and dismiss button as a grid. */
.milestone-processing-page[b-pw0dv5yhm3]  .processing-warning {
    font-size: 0.875rem;
    line-height: 1.45;
}

.milestone-processing-page[b-pw0dv5yhm3]  fluent-card.campaign-search-card,
.milestone-processing-page[b-pw0dv5yhm3]  fluent-card.milestones-card,
.milestone-processing-page[b-pw0dv5yhm3]  fluent-card.scheduler-card {
    background: var(--neutral-layer-1);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 0.875rem;
    box-shadow: 0 2px 8px rgb(0 0 0 / 7%);
    display: block;
    padding: clamp(1.1rem, 2vw, 1.6rem);
}

.section-heading[b-pw0dv5yhm3] {
    align-items: flex-start;
    display: flex;
    gap: 0.8rem;
}

.section-heading h2[b-pw0dv5yhm3] {
    color: var(--neutral-foreground-rest);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0;
}

.section-heading p[b-pw0dv5yhm3] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

.step-number[b-pw0dv5yhm3] {
    align-items: center;
    background: color-mix(in srgb, var(--accent-fill-rest) 14%, var(--neutral-layer-1));
    border: 1px solid color-mix(in srgb, var(--accent-fill-rest) 30%, transparent);
    border-radius: 50%;
    color: var(--accent-foreground-rest);
    display: inline-flex;
    flex: 0 0 2rem;
    font-size: 0.9rem;
    font-weight: 700;
    height: 2rem;
    justify-content: center;
}

.campaign-controls[b-pw0dv5yhm3] {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(24rem, 48rem) max-content;
    margin: 1.25rem 0 0;
}

.campaign-picker-field[b-pw0dv5yhm3] {
    min-width: 0;
}

[b-pw0dv5yhm3] fluent-combobox.campaign-picker {
    min-width: 0;
    width: 100%;
}

[b-pw0dv5yhm3] fluent-button.load-milestones-button::part(control) {
    min-height: 2.25rem;
    padding-inline: 1rem;
}

.campaign-summary[b-pw0dv5yhm3] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 1rem 0 0;
}

.campaign-summary > span[b-pw0dv5yhm3] {
    align-items: center;
    background: var(--neutral-layer-2);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 0.5rem;
    display: inline-flex;
    font-size: 0.8125rem;
    gap: 0.35rem;
    min-height: 1.9rem;
    padding: 0.25rem 0.55rem;
}

.summary-label[b-pw0dv5yhm3] {
    color: var(--neutral-foreground-hint);
}

.milestones-toolbar[b-pw0dv5yhm3] {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: space-between;
}

.milestones-filters[b-pw0dv5yhm3] {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    min-width: 0;
}

[b-pw0dv5yhm3] fluent-search.milestone-search {
    flex: 0 1 44rem;
    min-width: 36rem;
}

/* Matches .campaign-table-dialog-grid: no clipping scroll box, so the last rows and the menus and
   filter pop-ups opened from them are never cut off by the container's edge. */
.milestones-grid-container[b-pw0dv5yhm3] {
    margin-top: 1.25rem;
    overflow: visible;
}

/* The columns' minimum widths (60rem) plus the 120px actions menu; above that they share the card's width. */
[b-pw0dv5yhm3] .milestone-processing-grid {
    font-size: 0.875rem;
    min-width: 67.5rem;
    width: 100%;
}

.milestones-grid-container[b-pw0dv5yhm3]  .fluent-data-grid-row[row-type="header"],
.milestones-grid-container[b-pw0dv5yhm3]  .fluent-data-grid-row[row-type="sticky-header"] {
    background: var(--neutral-layer-3);
    min-height: 2.75rem !important;
}

.milestones-grid-container[b-pw0dv5yhm3]  th.column-header {
    color: var(--neutral-foreground-rest);
    font-size: 0.8125rem;
    font-weight: 650;
    padding: 0.65rem 0.75rem;
}

.milestones-grid-container[b-pw0dv5yhm3]  .fluent-data-grid-row:not([row-type="header"]):not([row-type="sticky-header"]) {
    height: auto !important;
    min-height: 4.75rem !important;
}

.milestones-grid-container[b-pw0dv5yhm3]  td {
    border-bottom-color: var(--neutral-stroke-divider-rest);
    line-height: 1.35;
    padding: 0.8rem 0.75rem;
    vertical-align: middle;
}

.milestones-grid-container[b-pw0dv5yhm3]  .fluent-data-grid-row:last-child td {
    border-bottom: 0;
}

.secondary-text[b-pw0dv5yhm3] {
    color: var(--neutral-foreground-hint);
    font-size: 0.78rem;
    line-height: 1.3;
    margin-top: 0.2rem;
}

[b-pw0dv5yhm3] fluent-stack.action-buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

[b-pw0dv5yhm3] fluent-button.milestone-action {
    font-size: 0.8125rem;
}

[b-pw0dv5yhm3] fluent-button.milestone-action::part(control) {
    border-radius: 0.4rem;
    min-height: 2.25rem;
    padding-inline: 0.75rem;
    white-space: nowrap;
}

[b-pw0dv5yhm3] fluent-button.milestone-action[disabled]::part(control) {
    filter: saturate(0.55);
    opacity: 0.48;
}

.paginator-bar[b-pw0dv5yhm3] {
    align-items: center;
    border-top: 1px solid var(--neutral-stroke-divider-rest);
    color: var(--neutral-foreground-hint);
    display: flex;
    font-size: 0.8125rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 0.9rem;
}

.scheduler-actions[b-pw0dv5yhm3],
.scheduler-result[b-pw0dv5yhm3] {
    margin-top: 1rem;
}

/* Focused programmatically only to scroll the card into view, never by Tab. */
.scheduler-heading:focus[b-pw0dv5yhm3] {
    outline: none;
}

.empty-state[b-pw0dv5yhm3] {
    color: var(--neutral-foreground-hint);
    padding: 2.5rem 1.5rem;
    text-align: center;
}

@media (max-width: 900px) {
    .milestones-toolbar[b-pw0dv5yhm3] {
        align-items: stretch;
        flex-direction: column;
    }

    .campaign-controls[b-pw0dv5yhm3] {
        grid-template-columns: minmax(0, 1fr);
    }

    [b-pw0dv5yhm3] fluent-button.load-milestones-button {
        justify-self: start;
    }

    [b-pw0dv5yhm3] fluent-search.milestone-search {
        flex-basis: auto;
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .milestone-processing-page[b-pw0dv5yhm3] {
        font-size: 0.875rem;
        gap: 1.25rem;
        padding: 0.75rem 0.75rem 2rem;
    }

    .milestone-processing-page[b-pw0dv5yhm3]  fluent-card.campaign-search-card,
    .milestone-processing-page[b-pw0dv5yhm3]  fluent-card.milestones-card,
    .milestone-processing-page[b-pw0dv5yhm3]  fluent-card.scheduler-card {
        border-radius: 0.65rem;
        padding: 1rem;
    }

    .paginator-bar[b-pw0dv5yhm3] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }
}
/* _content/SaasWeb/Components/Pages/Campaign/AnniversaryCampaignForm.razor.rz.scp.css */
[b-1qdxh1b7jb] .fluent-datepicker-input::placeholder {
    color: transparent !important;
}

/* Title row: the h1 on the left, the Cancel (X) button on the right. The row takes over the
   h1's global 30px bottom margin so the wizard below keeps its position. */
.campaign-wizard-header[b-1qdxh1b7jb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 30px;
}

.campaign-wizard-header h1[b-1qdxh1b7jb] {
    margin: 0;
}

/* app.css paints every fluent-button dark on the host and on ::part(control) hover/focus;
   clear both so the X reads as a plain icon, with the column-sort button's light hover.
   The border matches the wizard's step circles below it. */
.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close {
    flex: 0 0 auto;
    background: transparent;
}

.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close::part(control) {
    padding: 0.5rem;
    border: 1px solid #afb1b1;
    background: transparent;
}

.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close::part(control):hover,
.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close::part(control):focus,
.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close::part(control):focus-visible,
.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close::part(control):active {
    background: var(--surface-inner-area);
}

.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close svg,
.campaign-wizard-header[b-1qdxh1b7jb]  fluent-button.campaign-wizard-close svg path {
    fill: var(--text-headline-regular) !important;
}

.date-format-hint[b-1qdxh1b7jb] {
    font-size: 0.85rem;
    color: var(--neutral-foreground-hint);
    margin-top: 4px;
}
/* _content/SaasWeb/Components/Pages/Campaign/CampaignView.razor.rz.scp.css */
.campaign-details-table[b-9t4u0jn2od] {
    border-collapse: collapse;
    width: 100%;
}

.campaign-details-row[b-9t4u0jn2od] {
    border-bottom: 1px solid #eee;
}

[b-9t4u0jn2od] .campaign-brands-summary {
    font-size: 0.9rem;
}

[b-9t4u0jn2od] .campaign-brands-info-icon {
    margin-bottom: 0.2rem;
    margin-left: 0.2rem;
}

/* Keeps the wrapped Pay now button on the same centre line as its sibling buttons. */
.campaign-pay-action[b-9t4u0jn2od] {
    display: inline-flex;
}

/* Sized like the "N selected" badge beside it, in the StatusBanner Rejected palette. A native
   button, so it keeps the page font and is reachable by keyboard; the hover shade is the
   Rejected icon background. */
.campaign-funds-shortfall[b-9t4u0jn2od] {
    align-items: center;
    align-self: center;
    background: #fdf3f4;
    border: 1px solid #f1bbbc;
    border-radius: 999px;
    color: #b3261e;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 600;
    gap: 4px;
    padding: 4px 10px;
    white-space: nowrap;
}

.campaign-funds-shortfall:hover[b-9t4u0jn2od] {
    background: #fbe6e7;
}

.campaign-funds-shortfall:focus-visible[b-9t4u0jn2od] {
    outline: 2px solid #b3261e;
    outline-offset: 2px;
}

/* The shortfall pill's shape in a yellow (warning) palette; the text is a dark amber so it stays
   readable on white. Sits under the Available Funds amount. */
.campaign-funds-pending[b-9t4u0jn2od] {
    align-items: center;
    align-self: flex-start;
    background: #fff4ce;
    border: 1px solid #fde399;
    border-radius: 999px;
    color: #8a6100;
    display: inline-flex;
    font-weight: 600;
    gap: 4px;
    padding: 2px 10px;
    white-space: nowrap;
}

.campaign-funds-pending:focus-visible[b-9t4u0jn2od] {
    outline: 2px solid #8a6100;
    outline-offset: 2px;
}

.campaign-tooltip-title[b-9t4u0jn2od] {
    font-size: 1rem;
}

.campaign-tooltip-item[b-9t4u0jn2od] {
    font-size: 0.9rem;
    margin: 0;
}

.campaign-upload-icon[b-9t4u0jn2od] {
    width: 38px;
    vertical-align: middle;
    margin-right: 0.5em;
}

.campaign-upload-copy[b-9t4u0jn2od] {
    margin-inline: 0.5em;
}

/* As wide as its widest item, the upload box, so Download template above it matches that width. */
.campaign-add-recipients[b-9t4u0jn2od] {
    display: grid;
    gap: 10px;
    max-width: 100%;
    width: fit-content;
}

/* Download template fills the upload box's width as a white, rounded button. Its label inherits the
   card's text colour and only the download arrow keeps the card header's teal. app.css paints neutral
   buttons yellow, with a dark fill and white text and icons on hover, on both the host and the
   control part, and redefines the foreground token on the host, so every state is pinned here and
   the label inherits rather than reading the token. The host is cleared so its square corners do
   not show behind the rounded control. */
.campaign-download-template[b-9t4u0jn2od] {
    width: 100%;
}

/* The menu's region is scaled to the button (AxisScalingMode.Anchor); the menu fills it. */
.campaign-download-template[b-9t4u0jn2od]  fluent-button,
.campaign-download-template[b-9t4u0jn2od]  fluent-menu {
    width: 100%;
}

.campaign-download-template[b-9t4u0jn2od]  fluent-button,
.campaign-download-template[b-9t4u0jn2od]  fluent-button:hover,
.campaign-download-template[b-9t4u0jn2od]  fluent-button:focus {
    background: transparent;
    color: inherit !important;
}

.campaign-download-template[b-9t4u0jn2od]  fluent-button::part(control),
.campaign-download-template[b-9t4u0jn2od]  fluent-button::part(control):focus,
.campaign-download-template[b-9t4u0jn2od]  fluent-button::part(control):focus-visible,
.campaign-download-template[b-9t4u0jn2od]  fluent-button::part(control):active {
    background: var(--surface-primary) !important;
    border: 1px solid var(--border-color-field);
    border-radius: 8px;
    color: inherit !important;
    width: 100%;
}

.campaign-download-template[b-9t4u0jn2od]  fluent-button::part(control):hover {
    background: var(--surface-inner-area) !important;
    color: inherit !important;
}

.campaign-download-template[b-9t4u0jn2od]  fluent-button svg,
.campaign-download-template[b-9t4u0jn2od]  fluent-button svg path,
.campaign-download-template[b-9t4u0jn2od]  fluent-button:hover > *,
.campaign-download-template[b-9t4u0jn2od]  fluent-button:focus > * {
    fill: currentColor !important;
}

.campaign-download-template[b-9t4u0jn2od]  fluent-button svg[slot="start"],
.campaign-download-template[b-9t4u0jn2od]  fluent-button svg[slot="start"] path,
.campaign-download-template[b-9t4u0jn2od]  fluent-button:hover > svg[slot="start"],
.campaign-download-template[b-9t4u0jn2od]  fluent-button:focus > svg[slot="start"] {
    fill: var(--text-headline-secondary) !important;
}
/* _content/SaasWeb/Components/Pages/Campaign/QuickCampaignForm.razor.rz.scp.css */
.form-field[b-2zzsbxm1jm]  fluent-text-field {
    width: 100%;
}

.voucher-option__image[b-2zzsbxm1jm] {
    height: auto;
    -ms-border-radius: 8px;
    border-radius: 8px;
}

[b-2zzsbxm1jm] .voucher-info-icon {
    margin-bottom: 0.2rem;
    margin-left: 0.2rem;
}

.voucher-tooltip-title[b-2zzsbxm1jm] {
    font-size: 1rem;
}

.voucher-tooltip-title--spaced[b-2zzsbxm1jm],
.voucher-tooltip-link[b-2zzsbxm1jm] {
    margin-top: 0.5rem;
}

.voucher-tooltip-body[b-2zzsbxm1jm] {
    font-size: 0.9rem;
    white-space: pre-line;
}

.voucher-meta[b-2zzsbxm1jm] {
    font-size: 0.9rem;
    color: gray;
}

/* Each brand takes the full row (.voucher-item is width: 100%); a plan lock sits at its right edge. */
.voucher-item-row[b-2zzsbxm1jm] {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    width: 100%;
}

.voucher-item-row[b-2zzsbxm1jm]  .voucher-item {
    flex: 1 1 auto;
    min-width: 0;
}

[b-2zzsbxm1jm] .manual-campaign-actions {
    margin-top: 1.5rem;
}

/* app.css pushes every submit button down by 1rem; the action row aligns its own buttons. */
[b-2zzsbxm1jm] .manual-campaign-actions fluent-button[type="submit"] {
    margin-top: 0;
}
/* _content/SaasWeb/Components/Pages/Campaign/Steps/ChooseCampaignType.razor.rz.scp.css */
.campaign-type-step[b-zji2tv904a] {
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 0;
}

.campaign-type-banner[b-zji2tv904a] {
  margin: -2rem 0 2rem;
}

.title[b-zji2tv904a] {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: 600;
}

.subtitle[b-zji2tv904a] {
  text-align: center;
  color: #605e5c;
  margin-bottom: 3rem;
  font-size: 1.1rem;
}

.cards-container[b-zji2tv904a] {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: 1 1 0;
}

.type-card[b-zji2tv904a] {
  cursor: pointer;
  position: relative;
  flex: 0 1 420px;
  max-width: 420px;
}

.type-card:hover .card-inner[b-zji2tv904a] {
  transform: translateY(-6px);
}

.card-inner[b-zji2tv904a] {
  height: 100%;
  padding: 2.5rem 2rem;
  border: 2px solid transparent;
  border-radius: 12px;
  transition: all 0.25s ease;
}

.type-card.selected .card-inner[b-zji2tv904a] {
  border: 2px solid #0078d4;
  box-shadow: 0 0 0 6px rgba(0, 120, 212, 0.15);
  background: rgba(0, 120, 212, 0.04);
}

.type-card input[type="radio"][b-zji2tv904a] {
  accent-color: #0078d4;
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  z-index: 10;
}

.header-row[b-zji2tv904a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.header-row h4[b-zji2tv904a] {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

.type-card p[b-zji2tv904a] {
  color: #605e5c;
  margin: 1.5rem 0;
  line-height: 1.5;
}

.type-card ul[b-zji2tv904a] {
  margin: 0;
  padding-left: 1.4rem;
  color: #605e5c;
}

.type-card li[b-zji2tv904a] {
  margin: 0.6rem 0;
}

@media (max-width: 992px) {
  /* The stepper is hidden and the content padding shrinks, so there is nothing to pull into. */
  .campaign-type-banner[b-zji2tv904a] {
    margin-top: 0;
  }

  .cards-container[b-zji2tv904a] {
    flex-direction: column;
    align-items: center;
  }

  .type-card[b-zji2tv904a] {
    width: 100%;
    max-width: 500px;
  }
}
/* _content/SaasWeb/Components/Pages/Campaign/Steps/StepCampaignCadence.razor.rz.scp.css */
.cadence-step[b-gov1ptw3nt] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2.5rem 0;
}

    .cadence-step .title[b-gov1ptw3nt] {
        text-align: center;
        margin-bottom: 0.5rem;
        font-size: 1.5rem;
        font-weight: 600;
    }

    .cadence-step .subtitle[b-gov1ptw3nt] {
        color: #605e5c;
        margin-bottom: 1.5rem;
        font-size: 1rem;
    }

    .cadence-step .cards-container[b-gov1ptw3nt] {
        display: flex;
        gap: 1.25rem;
        flex-direction: column;
    }

    .cadence-step .option-card[b-gov1ptw3nt] {
        cursor: pointer;
        position: relative;
        display: block;
    }

    .cadence-step[b-gov1ptw3nt]  .card-inner {
        padding: 1.25rem 1.25rem;
        border: 2px solid transparent;
        border-radius: 12px;
        transition: all 0.2s ease;
    }

    .cadence-step .option-card.selected[b-gov1ptw3nt]  .card-inner {
        border-color: #11a1af;
        box-shadow: 0 2px 12px rgba(17, 161, 175, 0.15);
    }

    .cadence-step .header-row[b-gov1ptw3nt] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-right: 44px;
        margin-bottom: 0.35rem;
    }

        .cadence-step .header-row h4[b-gov1ptw3nt] {
            margin: 0;
            font-size: 1.1rem;
            font-weight: 600;
        }

    .cadence-step .option-card p[b-gov1ptw3nt] {
        color: rgba(26, 31, 32, 0.5);
        margin: 0.25rem 0 0 0;
        line-height: 1.4;
    }

    .cadence-step .month-day-row[b-gov1ptw3nt] {
        margin-top: 0.9rem;
    }

        .cadence-step .month-day-row[b-gov1ptw3nt]  .month-day-input {
            width: 12rem;
        }

    .cadence-step .footer-row[b-gov1ptw3nt] {
        margin-top: 1.25rem;
    }

    .cadence-step .manager-email-editor[b-gov1ptw3nt] {
        margin-top: 1.25rem;
    }

    .cadence-step[b-gov1ptw3nt]  .manager-email-card {
        padding: 1.25rem;
    }

    .cadence-step .manager-email-card-header[b-gov1ptw3nt] {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;
    }

        .cadence-step .manager-email-card-header h4[b-gov1ptw3nt] {
            margin: 0;
            font-size: 1.1rem;
            font-weight: 600;
        }

    .cadence-step .manager-email-card-header p[b-gov1ptw3nt] {
        color: #605e5c;
        margin: 0.25rem 0 0;
    }

    .cadence-step .manager-email-actions[b-gov1ptw3nt] {
        display: flex;
        gap: 0.5rem;
    }

@media (max-width: 480px) {
    .cadence-step .manager-email-card-header[b-gov1ptw3nt] {
        align-items: stretch;
        flex-direction: column;
    }

        .cadence-step .manager-email-card-header[b-gov1ptw3nt]  button {
            align-self: flex-start;
        }

        .cadence-step .manager-email-actions[b-gov1ptw3nt] {
            flex-wrap: wrap;
        }
}

@media (max-width: 768px) {
    .cadence-step[b-gov1ptw3nt] {
        padding: 2rem 1rem;
    }

        .cadence-step .option-card input[type="radio"][b-gov1ptw3nt] {
            top: 1rem;
            right: 1rem;
        }
}
/* _content/SaasWeb/Components/Pages/Campaign/Steps/StepEventType.razor.rz.scp.css */
.event-type-step[b-41gmzy3wsx] {
    max-width: 1320px;
    margin: 0 auto;
    padding: 3rem 0;
}

.title[b-41gmzy3wsx] {
    text-align: center;
    margin-bottom: 3rem;
    font-size: 1.5rem;
    font-weight: 600;
}

.cards-container[b-41gmzy3wsx] {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: nowrap;
}

.type-card[b-41gmzy3wsx] {
    cursor: pointer;
    position: relative;
    flex: 1 1 0;
    max-width: 420px;
    min-width: 0;
}

[b-41gmzy3wsx] .card-inner {
    height: 100%;
    padding: 2.5rem 2rem;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: all 0.25s ease;
    position: relative;
}

.type-card input[type="radio"][b-41gmzy3wsx] {
    accent-color: #0078d4;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 24px;
    height: 24px;
    margin: 0;
    cursor: pointer;
    z-index: 10;
}

.header-row[b-41gmzy3wsx] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-right: 40px;
}

.icon[b-41gmzy3wsx] {
    font-size: 48px;
    flex-shrink: 0;
}

.header-row h4[b-41gmzy3wsx] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.type-card p[b-41gmzy3wsx] {
    color: #605e5c;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.type-card ul[b-41gmzy3wsx] {
    margin: 0;
    padding-left: 1.4rem;
    color: #605e5c;
}

.type-card li[b-41gmzy3wsx] {
    margin: 0.6rem 0;
}

@media (max-width: 860px) {
    .cards-container[b-41gmzy3wsx] {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: center;
    }

    .type-card[b-41gmzy3wsx] {
        width: 100%;
        max-width: 500px;
    }

    .header-row[b-41gmzy3wsx] {
        padding-right: 50px;
    }
}

@media (max-width: 480px) {
    .event-type-step[b-41gmzy3wsx] {
        padding: 2rem 1rem;
    }

    [b-41gmzy3wsx] .card-inner {
        padding: 2rem 1.5rem;
    }

    .header-row[b-41gmzy3wsx] {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        gap: 0.75rem;
        padding-right: 60px;
    }

    .header-row h4[b-41gmzy3wsx] {
        font-size: 1.35rem;
    }
}
/* _content/SaasWeb/Components/Pages/Campaign/Steps/StepHolidayEvents.razor.rz.scp.css */
.event-intro[b-2jsetihxod] {
  width: 100%;
}

/* Separates the add-month row from the list of months below it. */
[b-2jsetihxod] .event-add-row {
  padding-bottom: 1.5rem;
}

[b-2jsetihxod] .event-month-input {
  width: 200px;
}

.event-add__error[b-2jsetihxod] {
  color: #b42318;
  font-size: 0.875rem;
}

.event-empty[b-2jsetihxod] {
  padding: 1.5rem;
  border: 1px dashed rgba(173, 185, 189, 0.75);
  border-radius: 12px;
  color: rgba(20, 29, 41, 0.6);
  background: #fff;
  font-size: 0.875rem;
  text-align: center;
}

.event-list[b-2jsetihxod] {
  display: grid;
  gap: 1.25rem;
  width: 100%;
}

.event-month-card[b-2jsetihxod] {
  overflow: visible;
  width: 100%;
  border: 1px solid rgba(173, 185, 189, 0.45);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(20, 29, 41, 0.08);
}

.event-month-card__header[b-2jsetihxod] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 64px;
  padding: 0.75rem 1.25rem;
  background: #ffffff;
  border-radius: 0.85rem;
  box-shadow: none;
}

.event-month-card__header--collapsed[b-2jsetihxod] {
  border-bottom: 0;
}

.event-month-card__toggle[b-2jsetihxod],
.event-month-card__summary[b-2jsetihxod],
.event-card__header[b-2jsetihxod],
.event-card__actions[b-2jsetihxod] {
  display: flex;
  align-items: center;
}

.event-month-card__toggle[b-2jsetihxod] {
  gap: 0.75rem;
  min-width: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.event-month-card__toggle:focus-visible[b-2jsetihxod] {
  border-radius: 4px;
  outline: 2px solid #07867f;
  outline-offset: 4px;
}

.event-month-card__toggle h4[b-2jsetihxod] {
  margin: 0;
  color: #07867f;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}

.event-month-card__chevron[b-2jsetihxod] {
  color: #07867f;
  font-size: 1rem;
  line-height: 1;
}

.event-badge[b-2jsetihxod] {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin: 0;
  place-items: center;
  border-radius: 999px;
  background: #d9f7f3;
  color: #07867f;
  font-size: 0.875rem;
  font-weight: 700;
}

.event-month-card__summary[b-2jsetihxod] {
  justify-content: flex-end;
  gap: 0.5rem;
}

.event-count-summary[b-2jsetihxod] {
  min-width: 176px;
  padding: 0.4rem 0.75rem;
  border: 1px solid rgba(173, 185, 189, 0.45);
  border-radius: 4px;
  color: rgba(20, 29, 41, 0.6);
  background: rgba(20, 29, 41, 0.025);
  font-size: 0.875rem;
  text-align: center;
}

.event-month-card__body[b-2jsetihxod] {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
}

.event-month-card__body[hidden][b-2jsetihxod] {
  display: none;
}

.event-entry[b-2jsetihxod] {
  display: grid;
  gap: 0.35rem;
}

.event-card[b-2jsetihxod] {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid rgba(173, 185, 189, 0.45);
  border-radius: 8px;
  background: rgba(20, 29, 41, 0.025);
}

.event-card__header[b-2jsetihxod] {
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.event-card__actions[b-2jsetihxod] {
  justify-content: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

.event-card__fields[b-2jsetihxod] {
  display: grid;
  grid-template-columns: minmax(180px, 320px) minmax(110px, 140px) minmax(140px, 180px) 1fr;
  align-items: stretch;
  gap: 1rem;
}

/* A catalogue event has no day picker of its own, so it needs one column fewer. */
.event-card__fields--public[b-2jsetihxod] {
  grid-template-columns: minmax(200px, 340px) minmax(140px, 180px) 1fr;
}

/* A floating catalogue event also shows next year's date, so it needs one column more. */
.event-card__fields--floating[b-2jsetihxod] {
  grid-template-columns: minmax(200px, 340px) minmax(140px, 180px) minmax(140px, 180px) 1fr;
}

.event-field[b-2jsetihxod] {
  display: grid;
  gap: 0.35rem;
  width: 100%;
  min-width: 0;
}

.event-field-label[b-2jsetihxod] {
  color: rgba(20, 29, 41, 0.62);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.event-field[b-2jsetihxod]  fluent-select,
.event-field[b-2jsetihxod]  fluent-text-field {
  align-self: stretch;
  width: 100%;
  /* Fluent selects carry a 250px min-width, which would overflow the narrower columns. */
  min-width: 0;
}

.event-field[b-2jsetihxod]  fluent-select::part(control),
.event-field[b-2jsetihxod]  fluent-text-field::part(root) {
  box-sizing: border-box;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  font-family: inherit;
  font-size: 0.875rem;
}

/* Sits at the end of the fields row, level with the controls, as the reward card does. */
.event-email[b-2jsetihxod] {
  display: grid;
  grid-template-rows: 1.25rem 42px;
  align-items: center;
  justify-self: end;
  gap: 0.35rem;
  min-width: max-content;
}

.event-email[b-2jsetihxod]  fluent-button {
  grid-row: 2;
}

.event-email[b-2jsetihxod]  fluent-button::part(control) {
  box-sizing: border-box;
  min-height: 42px;
  height: 42px;
}

/* Keeps "Custom event" on one line when the header is tight. */
[b-2jsetihxod] .event-custom-toggle {
  flex: 0 0 auto;
  white-space: nowrap;
}

.event-card__error[b-2jsetihxod] {
  color: #b42318;
  font-size: 0.875rem;
}

.add-event-action[b-2jsetihxod] {
  display: flex;
  border: 1px dashed #11a1af;
  border-radius: 7px;
  background: #fff !important;
}

[b-2jsetihxod] .add-event-button {
  width: 100%;
}

[b-2jsetihxod] fluent-button.add-event-button::part(control) {
  width: 100%;
  justify-content: flex-start;
  color: #07867f !important;
  background: #fff !important;
  font-weight: 600;
}

[b-2jsetihxod] fluent-button.add-event-button:hover::part(control),
[b-2jsetihxod] fluent-button.add-event-button:focus::part(control),
[b-2jsetihxod] fluent-button.add-event-button:focus-visible::part(control),
[b-2jsetihxod] fluent-button.add-event-button:active::part(control) {
  color: #07867f !important;
  background: #f6fbfb !important;
}

/* event-remove styling (colour, icon-remove.svg glyph, stealth hover) lives in
   app.css so it matches milestone-remove exactly. */
[b-2jsetihxod] fluent-button.event-remove--entry::part(control) {
  padding-inline: 0.75rem;
}

@media (max-width: 760px) {
  .event-month-card__header[b-2jsetihxod],
  .event-card__header[b-2jsetihxod] {
    align-items: stretch;
    flex-direction: column;
  }

  .event-month-card__summary[b-2jsetihxod] {
    justify-content: flex-start;
  }

  .event-count-summary[b-2jsetihxod] {
    min-width: 0;
    width: 100%;
  }

  .event-card__actions[b-2jsetihxod] {
    justify-content: flex-start;
  }

  .event-card__fields[b-2jsetihxod],
  .event-card__fields--public[b-2jsetihxod],
  .event-card__fields--floating[b-2jsetihxod] {
    grid-template-columns: 1fr;
  }

  .event-email[b-2jsetihxod] {
    grid-template-rows: auto;
    justify-self: stretch;
  }
}
/* _content/SaasWeb/Components/Pages/Campaign/Steps/StepRewardsByYearsOfService.razor.rz.scp.css */
.milestone-intro[b-ez0jnu5inh] {
  width: 100%;
}

.milestone-add-row[b-ez0jnu5inh] {
  padding-bottom: 1rem;
}

[b-ez0jnu5inh] .milestone-year-input {
  width: 200px;
}

.milestone-add__error[b-ez0jnu5inh] {
  color: #b42318;
  font-size: 0.875rem;
}

.milestone-list[b-ez0jnu5inh] {
  display: grid;
  gap: 1.25rem;
}

.milestone-year-card[b-ez0jnu5inh] {
  overflow: visible;
  width: 100%;
  border: 1px solid rgba(173, 185, 189, 0.45);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(20, 29, 41, 0.08);
}

.milestone-year-card__header[b-ez0jnu5inh] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 64px;
  padding: 0.75rem 1.25rem;
  background: #ffffff;
  border-radius: 0.85rem;
  box-shadow: none;
}

.milestone-year-card__header--collapsed[b-ez0jnu5inh] {
  border-bottom: 0;
}

.milestone-year-card__toggle[b-ez0jnu5inh],
.milestone-year-card__summary[b-ez0jnu5inh],
.reward-card__header[b-ez0jnu5inh],
.reward-card__actions[b-ez0jnu5inh] {
  display: flex;
  align-items: center;
}

.milestone-year-card__toggle[b-ez0jnu5inh] {
  gap: 0.75rem;
  min-width: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.milestone-year-card__toggle:focus-visible[b-ez0jnu5inh] {
  border-radius: 4px;
  outline: 2px solid #07867f;
  outline-offset: 4px;
}

.milestone-year-card__toggle h4[b-ez0jnu5inh] {
  margin: 0;
  color: #07867f;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}

.milestone-year-card__chevron[b-ez0jnu5inh] {
  color: #07867f;
  font-size: 1rem;
  line-height: 1;
}

.milestone-badge[b-ez0jnu5inh] {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin: 0;
  place-items: center;
  border-radius: 999px;
  background: #d9f7f3;
  color: #07867f;
  font-size: 0.875rem;
  font-weight: 700;
}

.milestone-year-card__summary[b-ez0jnu5inh] {
  justify-content: flex-end;
  gap: 0.5rem;
}

.milestone-reward-summary[b-ez0jnu5inh] {
  min-width: 176px;
  padding: 0.4rem 0.75rem;
  border: 1px solid rgba(173, 185, 189, 0.45);
  border-radius: 4px;
  color: rgba(20, 29, 41, 0.6);
  background: rgba(20, 29, 41, 0.025);
  font-size: 0.875rem;
  text-align: center;
}

.milestone-year-card__body[b-ez0jnu5inh] {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
}

.milestone-year-card__body[hidden][b-ez0jnu5inh] {
  display: none;
}

.reward-entry[b-ez0jnu5inh] {
  display: grid;
  gap: 0.35rem;
}

.reward-entry__label[b-ez0jnu5inh] {
  color: rgba(20, 29, 41, 0.5);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reward-card[b-ez0jnu5inh] {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid rgba(173, 185, 189, 0.45);
  border-radius: 8px;
  background: rgba(20, 29, 41, 0.025);
}

.reward-card__header[b-ez0jnu5inh] {
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.reward-card__type[b-ez0jnu5inh] {
  display: grid;
  gap: 0.35rem;
  min-width: 210px;
}

.reward-card__actions[b-ez0jnu5inh] {
  justify-content: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
  /* Holds its row against the field group beside it, so Remove stays on the right. */
  flex: 0 0 auto;
}

.reward-field-label[b-ez0jnu5inh] {
  color: rgba(20, 29, 41, 0.62);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.reward-card__fields[b-ez0jnu5inh] {
  display: grid;
  grid-template-columns:
    minmax(180px, 250px) minmax(170px, 230px) minmax(150px, 1fr)
    auto;
  align-items: stretch;
  gap: 1rem;
}

.reward-amount[b-ez0jnu5inh],
.reward-brand[b-ez0jnu5inh] {
  display: grid;
  /*  grid-template-rows: 1.25rem 42px;*/
  gap: 0.35rem;
  width: 100%;
  min-width: 0;
}

.reward-amount[b-ez0jnu5inh]  fluent-select,
.reward-amount[b-ez0jnu5inh]  fluent-number-field,
.reward-brand[b-ez0jnu5inh]  fluent-button {
  align-self: stretch;
  width: 100%;
}

.reward-amount[b-ez0jnu5inh]  fluent-select::part(control),
.reward-amount[b-ez0jnu5inh]  fluent-number-field::part(root),
.reward-brand[b-ez0jnu5inh]  fluent-button::part(control) {
  box-sizing: border-box;
  min-height: 42px;
  height: 42px;
  font-family: inherit;
  font-size: 0.875rem;
}

.amount-currency-symbol[b-ez0jnu5inh] {
  color: rgba(20, 29, 41, 0.72);
  font-family: inherit;
  font-size: 0.875rem;
  padding-inline-end: 0.5rem;
  pointer-events: none;
}

.reward-brand[b-ez0jnu5inh]  fluent-button::part(control) {
  align-items: center;
  justify-content: center;
}

.milestone-side__selected[b-ez0jnu5inh] {
  display: flex;
  align-self: stretch;
  align-items: center;
  box-sizing: border-box;
  min-height: calc(1.25rem + 0.35rem + 42px);
  padding: calc(1.25rem + 0.35rem) 0 0;
  color: rgba(20, 29, 41, 0.7);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.milestone-side__selected strong[b-ez0jnu5inh] {
  color: #141d29;
}

.reward-email[b-ez0jnu5inh] {
  display: grid;
  grid-column: 4;
  grid-template-rows: 1.25rem 42px;
  align-items: center;
  gap: 0.35rem;
  min-width: max-content;
}

.reward-email[b-ez0jnu5inh]  fluent-button {
  grid-row: 2;
}

.reward-email[b-ez0jnu5inh]  fluent-button::part(control) {
  box-sizing: border-box;
  min-height: 42px;
  height: 42px;
}

.milestone-side__loading[b-ez0jnu5inh],
.milestone-side__error[b-ez0jnu5inh] {
  margin-top: 0;
}

.milestone-side__error[b-ez0jnu5inh] {
  color: #b42318;
  font-size: 0.875rem;
}

.add-reward-action[b-ez0jnu5inh] {
  display: flex;
  border: 1px dashed #11a1af;
  border-radius: 7px;
  background: #fff !important;
}

[b-ez0jnu5inh] .add-reward-button {
  width: 100%;
}

[b-ez0jnu5inh] fluent-button.add-reward-button::part(control) {
  width: 100%;
  justify-content: flex-start;
  color: #07867f !important;
  background: #fff !important;
  font-weight: 600;
}

[b-ez0jnu5inh] fluent-button.add-reward-button:hover::part(control),
[b-ez0jnu5inh] fluent-button.add-reward-button:focus::part(control),
[b-ez0jnu5inh] fluent-button.add-reward-button:focus-visible::part(control),
[b-ez0jnu5inh] fluent-button.add-reward-button:active::part(control) {
  color: #07867f !important;
  background: #f6fbfb !important;
}

[b-ez0jnu5inh] fluent-button.milestone-remove::part(control) {
  color: #d64550;
}

[b-ez0jnu5inh] fluent-button.reward-remove::part(control) {
  padding-inline: 0.75rem;
}

.picker[b-ez0jnu5inh] {
  width: 100%;
  margin-top: 0;
}

.picker__item[b-ez0jnu5inh] {
  min-width: 0;
}

.picker__item .picker__img[b-ez0jnu5inh] {
  flex: 0 0 72px;
  width: 72px;
  max-width: 72px;
  height: 48px;
  object-fit: contain;
}

.picker__list .picker__info[b-ez0jnu5inh] {
  min-width: 0;
  padding-right: 4.5rem;
}

.picker__name[b-ez0jnu5inh],
.picker__meta[b-ez0jnu5inh] {
  overflow-wrap: anywhere;
}

.picker__name[b-ez0jnu5inh] {
  line-height: 1.25;
}

.picker__meta[b-ez0jnu5inh] {
  line-height: 1.35;
}

@media (max-width: 760px) {
  .milestone-year-card__header[b-ez0jnu5inh],
  .reward-card__header[b-ez0jnu5inh] {
    align-items: stretch;
    flex-direction: column;
  }

  .milestone-year-card__summary[b-ez0jnu5inh],
  .reward-card__actions[b-ez0jnu5inh] {
    justify-content: flex-start;
  }

  .milestone-reward-summary[b-ez0jnu5inh],
  .reward-card__type[b-ez0jnu5inh] {
    min-width: 0;
    width: 100%;
  }

  .reward-card__fields[b-ez0jnu5inh] {
    grid-template-columns: minmax(140px, 1fr) minmax(140px, 1fr) auto;
    align-items: stretch;
  }

  .reward-amount[b-ez0jnu5inh],
  .reward-brand[b-ez0jnu5inh] {
    width: 100%;
  }

  .reward-email[b-ez0jnu5inh] {
    grid-column: 3;
    min-width: max-content;
  }
  .reward-email:first-child[b-ez0jnu5inh] {
    justify-content: flex-start;
  }
  .reward-email:last-child[b-ez0jnu5inh] {
    justify-content: flex-end;
  }

  .milestone-side__selected[b-ez0jnu5inh] {
    grid-column: 1 / -1;
    min-height: auto;
    padding-top: 0;
  }

  .picker__item .picker__img[b-ez0jnu5inh] {
    flex-basis: 56px;
    width: 56px;
    max-width: 56px;
    height: 40px;
  }
}

@media (max-width: 1140px) {
  .reward-card__fields[b-ez0jnu5inh] {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0;
  }
  .reward-card__fields .milestone-side__selected[b-ez0jnu5inh],
  .reward-card__fields .reward-email[b-ez0jnu5inh] {
    width: 50%;
  }
}
@media (max-width: 880px) {
  .reward-card__fields .milestone-side__selected[b-ez0jnu5inh],
  .reward-card__fields .reward-email[b-ez0jnu5inh] {
    width: 100%;
  }
  .reward-email[b-ez0jnu5inh] {
    grid-template-rows: auto;
    margin-bottom: 0.75rem;
  }
}
@media (max-width: 520px) {
  .reward-card__fields[b-ez0jnu5inh] {
    grid-template-columns: 1fr;
  }

  .reward-email[b-ez0jnu5inh] {
    grid-column: 1;
    grid-template-rows: auto;
    justify-content: stretch;
    gap: 0;
    min-width: 0;
  }

  .reward-email[b-ez0jnu5inh]  fluent-button {
    grid-row: 1;
    width: 100%;
  }

  .milestone-side__selected[b-ez0jnu5inh] {
    grid-column: 1;
  }
}

.milestone-empty[b-ez0jnu5inh] {
  padding: 1.5rem;
  border: 1px dashed rgba(173, 185, 189, 0.75);
  border-radius: 12px;
  color: rgba(20, 29, 41, 0.6);
  background: #fff;
  font-size: 0.875rem;
  text-align: center;
}
/* _content/SaasWeb/Components/Pages/Campaign/Steps/StepSaveAllDetails.razor.rz.scp.css */
.setup-overview-step[b-u6cyvtdaaw] {
    max-width: 720px;
    margin: 0 auto;
    padding-top: 24px;
}

.setup-overview-step h3[b-u6cyvtdaaw] {
    margin-bottom: 4px;
}

.setup-overview-step p[b-u6cyvtdaaw] {
    margin-bottom: 16px;
    color: var(--neutral-foreground-rest);
}

[b-u6cyvtdaaw] .overview-card {
    width: 100%;
}

.label[b-u6cyvtdaaw] {
    color: var(--neutral-foreground-hint);
    font-size: 0.95rem;
}

.value[b-u6cyvtdaaw] {
    font-weight: 600;
    text-align: right;
    max-width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.overview-actions[b-u6cyvtdaaw] {
    margin-top: 16px;
}

[b-u6cyvtdaaw] .overview-expand-button {
    margin-top: 15px;
}

@media (max-width: 768px) {
    .value[b-u6cyvtdaaw] {
        max-width: 55%;
    }
}
/* _content/SaasWeb/Components/Pages/CompanyOnboarding.razor.rz.scp.css */
.form-field[b-80nrgcw66v]  fluent-text-field {
    width: 100%;
}

.form-field--plain[b-80nrgcw66v] {
    background: none !important;
}

[b-80nrgcw66v] .company-onboarding-agreement-row {
    margin-bottom: 0.5rem;
}
/* _content/SaasWeb/Components/Pages/CompanyUsers.razor.rz.scp.css */
/* Grid cell overflow fix */
.company-users-page[b-kf8evfd8m0]  [role="gridcell"]:has(fluent-select) {
    overflow: visible !important;
}

.company-users-page[b-kf8evfd8m0]  [role="gridcell"]:has(.user-status),
.company-users-page[b-kf8evfd8m0]  [role="gridcell"]:has(fluent-button.user-status-action) {
    display: flex;
    align-items: center;
}

.company-users-page[b-kf8evfd8m0]  [role="gridcell"]:has(.user-status) {
    justify-content: flex-start;
}

.company-users-page[b-kf8evfd8m0]  [role="gridcell"]:has(fluent-button.user-status-action) {
    justify-content: center;
}

/* Invite users button */
.company-users-page[b-kf8evfd8m0]  .btn-invite:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: none;
}

.company-users-page[b-kf8evfd8m0]  .btn-invite:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.company-users-page[b-kf8evfd8m0]  .btn-invite svg {
    flex-shrink: 0;
    opacity: 0.9;
}

.center-wrapper[b-kf8evfd8m0] {
    display: flex;
    align-items: center;
    padding: 20px 0;
    margin: 0;
}

/* Role selector */
.company-users-page[b-kf8evfd8m0]  .role-select {
    width: 120px;
    min-width: 120px;
    --height: 24px;
}

.company-users-page[b-kf8evfd8m0]  .role-select::part(control) {
    position: relative;
    box-sizing: border-box !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 28px 0 8px !important;
    line-height: 24px !important;
}

.company-users-page[b-kf8evfd8m0]  .role-select::part(selected-value) {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 24px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-users-page[b-kf8evfd8m0]  .role-select::part(indicator) {
    position: absolute;
    top: 50%;
    right: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px !important;
    height: 12px !important;
    transform: translateY(-50%);
    pointer-events: none;
}

/* User status */
.company-users-page[b-kf8evfd8m0]  .user-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 92px;
    padding: 3px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
}

.company-users-page[b-kf8evfd8m0]  .user-status__indicator {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: currentColor;
}

.company-users-page[b-kf8evfd8m0]  .user-status--active {
    color: var(--primitive-dark-slate-gray-500);
    background: var(--primitive-teal-100);
    border-color: var(--primitive-teal-200);
}

.company-users-page[b-kf8evfd8m0]  .user-status--active .user-status__indicator {
    color: var(--primitive-teal-300);
}

.company-users-page[b-kf8evfd8m0]  .user-status--deactivated {
    color: var(--primitive-gray-400);
    background: var(--primitive-gray-100);
    border-color: var(--primitive-gray-200);
}

.company-users-page[b-kf8evfd8m0]  .user-status--deactivated .user-status__indicator {
    color: var(--primitive-gray-300);
}

/* User status action */
.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    height: 22px;
    background: transparent !important;
}

.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action::part(control) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 22px;
    height: 22px;
    justify-content: center;
    gap: 4px;
    padding: 0 6px !important;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--activate,
.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--activate::part(control) {
    color: var(--primitive-dark-slate-gray-500) !important;
    background: var(--primitive-teal-100);
    border-color: var(--primitive-teal-200);
}

.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--activate:hover::part(control),
.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--activate:focus-visible::part(control) {
    color: var(--surface-primary) !important;
    background: var(--primitive-teal-300);
    border-color: var(--primitive-teal-300);
}

.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--deactivate,
.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--deactivate::part(control) {
    color: var(--text-error) !important;
    background: var(--surface-error);
    border-color: var(--primitive-red-200);
}

.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--deactivate:hover::part(control),
.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action--deactivate:focus-visible::part(control) {
    color: var(--surface-primary) !important;
    background: var(--text-error);
    border-color: var(--text-error);
}

.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action[disabled],
.company-users-page[b-kf8evfd8m0]  fluent-button.user-status-action[disabled]::part(control) {
    color: var(--text-muted) !important;
    background: var(--primitive-gray-100) !important;
    border-color: var(--primitive-gray-200);
}

.company-users-page[b-kf8evfd8m0]  .user-status-action__icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    color: inherit;
}
/* _content/SaasWeb/Components/Pages/Dashboard.razor.rz.scp.css */
/* The height of a date picker's "From:" / "To:" label, which Fluent always renders above the input. */
.dashboard-page[b-c61pjk3uce] {
    --dashboard-filter-label-offset: 1.5rem;
}

.dashboard-page[b-c61pjk3uce]  .dashboard-card-controls {
    margin-bottom: 1rem;
}

/* Every card's controls row is one label line plus one control tall, so cards side by side start
   their charts at the same height. In a row with date pickers, the buttons and checkboxes drop to
   the inputs' line; in a row without them, the whole row drops by the same offset. */
.dashboard-page[b-c61pjk3uce]  .dashboard-box-settings--labelled > fluent-button,
.dashboard-page[b-c61pjk3uce]  .dashboard-box-settings--labelled > fluent-checkbox {
    margin-top: var(--dashboard-filter-label-offset);
}

.dashboard-page[b-c61pjk3uce]  .dashboard-box-settings--unlabelled {
    padding-top: var(--dashboard-filter-label-offset);
}

[b-c61pjk3uce] .dashboard-report-button {
    z-index: 20;
}

.dashboard-chart-host[b-c61pjk3uce],
.chart-host[b-c61pjk3uce] {
    position: relative;
    width: 100%;
    min-width: 0;
}

/* The doughnut, with its legend on the right. A fixed height, not a minimum: Chart.js sizes the canvas
   to the container's height, so with only a minimum the canvas grew past it and left empty space above
   and below the ring, which the card beside it then stretched to match. 320px lines the card up with
   Total Rewards Value next to it, whose filtered panel has the same height. */
.dashboard-chart-host--compact[b-c61pjk3uce] {
    max-width: 32rem;
    height: 320px;
    margin: 0 auto;
}

.dashboard-chart-host[b-c61pjk3uce]  canvas,
.chart-host[b-c61pjk3uce]  canvas {
    display: block;
    width: 100% !important;
    max-width: 100%;
}

.dashboard-chart-host--bar[b-c61pjk3uce] {
    min-height: 280px;
}

/* The blue-grey panel the bar and line charts sit in, inside their white card. It stays when the
   chart is empty, around the "No data" text. Doughnuts sit straight on the card. Chart.js sizes the
   canvas to the padded content box. */
.dashboard-chart-host--panel[b-c61pjk3uce] {
    box-sizing: border-box;
    padding: 0.75rem;
    background: var(--surface-chart);
    border: 1px solid var(--border-color-chart);
    border-radius: 12px;
}

/* Total Rewards Value: its reward-type checkboxes sit at the top of the panel, above the chart's
   currency legend. The panel has a fixed height, the same as the doughnut beside it, and the chart
   takes what the checkboxes leave. The chart's host gets a definite height from the flex column, so
   Chart.js cannot grow it, and wrapped checkboxes shrink the chart instead of the card. */
.dashboard-chart-panel--filtered[b-c61pjk3uce] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    height: 320px;
}

/* Total Reward Spend: its Quarterly checkbox sits at the top of the panel, above the chart's currency
   legend, as on Total Rewards Value. The chart keeps the height it had without the checkbox. */
.dashboard-chart-panel--options[b-c61pjk3uce] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.dashboard-chart-host--fill[b-c61pjk3uce] {
    flex: 1 1 0;
    min-height: 0;
}
/* _content/SaasWeb/Components/Pages/Dialogs/AddCoreHrReportDialog.razor.rz.scp.css */
.corehr-dialog-grid[b-5xi2e1454c] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 32px;
    padding: 8px 0;
}

.corehr-dialog-field[b-5xi2e1454c] {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.corehr-dialog-field[b-5xi2e1454c]  .corehr-dialog-input,
.corehr-dialog-field[b-5xi2e1454c]  fluent-text-field,
.corehr-dialog-field[b-5xi2e1454c]  fluent-select {
    width: 100% !important;
}

[b-5xi2e1454c] .country-select::part(listbox) {
    max-height: 200px !important;
    overflow-y: auto !important;
    z-index: 99999 !important;
}

.corehr-secret-row[b-5xi2e1454c] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.corehr-secret-input[b-5xi2e1454c] {
    background-color: var(--surface-field);
    border: none;
    outline: none;
    box-shadow: none;
    color: var(--text-body);
    height: 40px;
    padding: 0 8px;
    width: 100%;
    font-family: inherit;
    font-size: inherit;
}

.corehr-secret-input:focus[b-5xi2e1454c] {
    background-color: var(--surface-field);
    border: none;
    outline: none;
    box-shadow: none;
}

@media (max-width: 600px) {
    .corehr-dialog-grid[b-5xi2e1454c] {
        grid-template-columns: 1fr;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/AddFundsCalculatorView.razor.rz.scp.css */
.add-funds-dialog[b-xchr85zpey] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

[b-xchr85zpey] .add-funds-amount-field {
    width: 100%;
}

.add-funds-step[b-xchr85zpey] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.section-heading[b-xchr85zpey] {
    align-items: flex-start;
    display: flex;
    gap: 0.8rem;
}

.section-heading h3[b-xchr85zpey] {
    color: var(--neutral-foreground-rest);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
}

.section-heading p[b-xchr85zpey] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

.step-number[b-xchr85zpey] {
    align-items: center;
    background: color-mix(in srgb, var(--accent-fill-rest) 14%, var(--neutral-layer-1));
    border: 1px solid color-mix(in srgb, var(--accent-fill-rest) 30%, transparent);
    border-radius: 50%;
    color: var(--accent-foreground-rest);
    display: inline-flex;
    flex: 0 0 2rem;
    font-size: 0.9rem;
    font-weight: 700;
    height: 2rem;
    justify-content: center;
}

.amount-currency-symbol[b-xchr85zpey] {
    color: rgba(20, 29, 41, 0.72);
    font-family: inherit;
    font-size: 0.875rem;
    padding-inline-end: 0.5rem;
    pointer-events: none;
}

.calculation-empty[b-xchr85zpey] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    margin: 0;
    padding: 0.75rem 0;
}

.calculation-table[b-xchr85zpey] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.calculation-row[b-xchr85zpey] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #e5e5e5;
}

.calculation-row span[b-xchr85zpey] {
    font-size: 1rem;
}

.calculation-row strong[b-xchr85zpey] {
    font-size: 1rem;
    white-space: nowrap;
}

.calculation-row.total strong[b-xchr85zpey] {
    font-size: 1.1rem;
}

.calculation-row.available[b-xchr85zpey] {
    color: #007c89;
}

.dialog-actions[b-xchr85zpey] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 1rem;
    margin-top: 0.5rem;
    align-items: stretch;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button {
    width: auto;
    height: 2.5rem;
    min-height: 2.5rem;
    display: block !important;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(control),
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(control):hover,
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(control):focus,
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(control):focus-visible,
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(control):active {
    width: auto !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
    box-sizing: border-box !important;
    padding: 0 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    transform: none !important;
    scale: 1 !important;
    overflow: visible !important;
    line-height: 1.2 !important;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button:not([disabled])::part(control),
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button:not([disabled])::part(control):hover,
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button:not([disabled])::part(control):focus,
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button:not([disabled])::part(control):focus-visible,
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button:not([disabled])::part(control):active {
    background: var(--surface-button-primary) !important;
    color: #ffffff !important;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button[disabled]::part(control) {
    background: var(--surface-button) !important;
    color: var(--text-headline-regular) !important;
    opacity: 1 !important;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(start),
.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(content) {
    transform: none !important;
    overflow: visible !important;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(start) {
    color: currentColor !important;
    fill: currentColor !important;
}

.dialog-actions[b-xchr85zpey]  fluent-button.download-action-button::part(content) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

.close-action[b-xchr85zpey] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.close-action[b-xchr85zpey]  fluent-button {
    width: auto;
}

.close-action[b-xchr85zpey]  fluent-button::part(control) {
    width: auto;
    min-height: 2.5rem;
}
/* _content/SaasWeb/Components/Pages/Dialogs/CampaignFullDetailsDialog.razor.rz.scp.css */
[b-r0l93li9ic] .campaign-details-root {
    width: 100%;
    min-width: 0;
}

.campaign-details[b-r0l93li9ic] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    min-width: 0;
}

/* Summary strip: what the campaign is called, what it rewards and where it stands. */
.campaign-hero[b-r0l93li9ic] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid rgba(7, 134, 127, 0.25);
    border-radius: 12px;
    background: linear-gradient(135deg, #eefbf9 0%, #ffffff 70%);
}

.campaign-hero__text[b-r0l93li9ic] {
    min-width: 0;
}

.campaign-hero__type[b-r0l93li9ic] {
    color: #07867f;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.campaign-hero__name[b-r0l93li9ic] {
    margin-top: 2px;
    color: #141d29;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.campaign-hero__status[b-r0l93li9ic] {
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: 999px;
    background: #d9f7f3;
    color: #07867f;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

/*
 * app.css caps the dialog at 100dvh - 2rem but not its content, so content taller than that
 * pushes the Close footer out of the dialog. The columns get what is left of the viewport once
 * the cap margin, dialog header, summary strip and footer (about 18rem together, plus room for a
 * campaign name that wraps) are taken off, and scroll inside it.
 */
.campaign-details-layout[b-r0l93li9ic] {
    --column-max-height: max(16rem, calc(100dvh - 20rem));
    display: grid;
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.left-column[b-r0l93li9ic],
.right-column[b-r0l93li9ic] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* The details and Brands are short, so the left column scrolls as a whole. The padding keeps the
   cards' shadows clear of the scroll clip; the negative margin keeps the cards where they were. */
.left-column[b-r0l93li9ic] {
    max-height: var(--column-max-height);
    overflow-y: auto;
    padding: 2px 6px 6px 2px;
    margin: -2px -6px -6px -2px;
}

/* Matches the wizard's milestone card (StepRewardsByYearsOfService). */
.details-section[b-r0l93li9ic] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(173, 185, 189, 0.45);
    border-radius: 12px;
    padding: 16px 18px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(20, 29, 41, 0.08);
}

.section-title[b-r0l93li9ic] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #141d29;
    font-size: 1rem;
    font-weight: 700;
}

.section-count[b-r0l93li9ic] {
    margin-left: auto;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(20, 29, 41, 0.06);
    color: rgba(20, 29, 41, 0.62);
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.details-grid[b-r0l93li9ic] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 10px;
    align-items: baseline;
    width: 100%;
    min-width: 0;
    text-align: left;
}

.label[b-r0l93li9ic] {
    color: rgba(20, 29, 41, 0.62);
    font-size: 0.8125rem;
    font-weight: 600;
}

.value[b-r0l93li9ic] {
    min-width: 0;
    color: #141d29;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Alone in the right column, a section takes the column's height and scrolls its own list. */
.milestones-section[b-r0l93li9ic],
.brands-section[b-r0l93li9ic] {
    max-height: var(--column-max-height);
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* In the left column Brands grows with its list; the column itself scrolls. It must not shrink,
   or its min-height: 0 lets the column squeeze it to fit instead of scrolling. */
.left-column .brands-section[b-r0l93li9ic] {
    flex-shrink: 0;
    max-height: none;
}

.milestones-list[b-r0l93li9ic] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    min-height: 0;
    padding-right: 2px;
}

.milestone-group[b-r0l93li9ic] {
    border: 1px solid rgba(173, 185, 189, 0.45);
    border-radius: 10px;
    background: #fff;
}

/* Toggle copied from the wizard's year card header. */
.milestone-group__toggle[b-r0l93li9ic] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    color: inherit;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.milestone-group__toggle:hover[b-r0l93li9ic] {
    background: #f6fbfb;
}

.milestone-group__toggle:focus-visible[b-r0l93li9ic] {
    outline: 2px solid #07867f;
    outline-offset: 2px;
}

.milestone-badge[b-r0l93li9ic] {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    /* app.css gives .milestone-badge a top margin; the wizard resets it the same way. */
    margin: 0;
    place-items: center;
    border-radius: 999px;
    background: #d9f7f3;
    color: #07867f;
    font-size: 0.8125rem;
    font-weight: 700;
}

.milestone-group__title[b-r0l93li9ic] {
    min-width: 0;
    color: #07867f;
    font-size: 0.9375rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.milestone-group__count[b-r0l93li9ic] {
    margin-left: auto;
    color: rgba(20, 29, 41, 0.6);
    font-size: 0.8125rem;
    white-space: nowrap;
}

.milestone-group__chevron[b-r0l93li9ic] {
    color: #07867f;
    font-size: 0.875rem;
    line-height: 1;
    transition: transform 0.15s ease;
}

.milestone-group__chevron--collapsed[b-r0l93li9ic] {
    transform: rotate(-90deg);
}

/*
 * Tree: a rail drops from the centre of the group badge (12px padding + half of 34px) and an
 * elbow branches off to each reward, level with the centre of its icon
 * (8px node padding + 1px card border + 8px card padding + half of 28px).
 */
.reward-tree[b-r0l93li9ic] {
    --tree-line: #bfe9e3;
    --tree-elbow-top: 31px;
    list-style: none;
    margin: 0 12px 0 28px;
    padding: 0 0 12px 0;
}

.reward-tree[hidden][b-r0l93li9ic] {
    display: none;
}

.reward-node[b-r0l93li9ic] {
    position: relative;
    padding: 8px 0 0 20px;
}

.reward-node[b-r0l93li9ic]::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    border-left: 2px solid var(--tree-line);
}

.reward-node:last-child[b-r0l93li9ic]::before {
    bottom: auto;
    height: var(--tree-elbow-top);
}

.reward-node[b-r0l93li9ic]::after {
    content: "";
    position: absolute;
    top: var(--tree-elbow-top);
    left: 0;
    width: 14px;
    border-top: 2px solid var(--tree-line);
}

.reward-node__card[b-r0l93li9ic] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 8px 12px;
    border: 1px solid rgba(173, 185, 189, 0.45);
    border-radius: 8px;
    background: rgba(20, 29, 41, 0.025);
}

.reward-node__icon[b-r0l93li9ic] {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
}

.reward-node__icon--email[b-r0l93li9ic] {
    background: #e8f1fb;
    color: #0f6cbd;
}

.reward-node__icon--voucher[b-r0l93li9ic] {
    background: #d9f7f3;
    color: #07867f;
}

.reward-node__icon--prepaid[b-r0l93li9ic] {
    background: #f3ecfb;
    color: #6b3fa0;
}

.reward-node__body[b-r0l93li9ic] {
    flex: 1 1 auto;
    min-width: 0;
}

.reward-node__heading[b-r0l93li9ic] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    min-height: 28px;
}

.reward-node__title[b-r0l93li9ic] {
    color: #141d29;
    font-size: 0.875rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.reward-type-chip[b-r0l93li9ic] {
    padding: 1px 8px;
    border: 1px solid rgba(173, 185, 189, 0.6);
    border-radius: 999px;
    color: rgba(20, 29, 41, 0.62);
    font-size: 0.75rem;
    white-space: nowrap;
}

.reward-node__meta[b-r0l93li9ic] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 2px;
    margin: 4px 0 2px 0;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.reward-node__meta dt[b-r0l93li9ic] {
    color: rgba(20, 29, 41, 0.55);
}

.reward-node__meta dd[b-r0l93li9ic] {
    margin: 0;
    min-width: 0;
    color: #141d29;
    overflow-wrap: anywhere;
}

.reward-node__meta .reward-node__amount[b-r0l93li9ic] {
    font-weight: 600;
}

.empty-state[b-r0l93li9ic] {
    padding: 16px;
    border: 1px dashed rgba(173, 185, 189, 0.75);
    border-radius: 10px;
    color: rgba(20, 29, 41, 0.6);
    font-size: 0.875rem;
    text-align: center;
}

.brands-list[b-r0l93li9ic] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
    overflow-y: auto;
    min-height: 0;
    padding-right: 2px;
}

.brand-card[b-r0l93li9ic] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    border: 1px solid rgba(173, 185, 189, 0.45);
    border-radius: 10px;
    padding: 10px 12px;
    background: rgba(20, 29, 41, 0.025);
}

.brand-logo[b-r0l93li9ic] {
    flex: 0 0 64px;
    width: 64px;
    max-width: 64px;
    height: 42px;
    object-fit: contain;
}

.brand-logo--placeholder[b-r0l93li9ic] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #d9f7f3;
    color: #07867f;
    font-size: 18px;
    font-weight: 700;
}

.brand-info[b-r0l93li9ic] {
    min-width: 0;
}

.brand-name[b-r0l93li9ic],
.brand-meta[b-r0l93li9ic] {
    overflow-wrap: anywhere;
}

.brand-name[b-r0l93li9ic] {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25;
}

.brand-meta[b-r0l93li9ic] {
    font-size: 0.8125rem;
    margin-top: 2px;
    line-height: 1.35;
    color: rgba(20, 29, 41, 0.6);
}

/* One column: the columns stack, so the whole layout shares the height budget and scrolls. */
@media (max-width: 900px) {
    .campaign-details-layout[b-r0l93li9ic] {
        grid-template-columns: minmax(0, 1fr);
        max-height: var(--column-max-height);
        overflow-y: auto;
    }

    .left-column[b-r0l93li9ic] {
        max-height: none;
        overflow-y: visible;
        padding: 0;
        margin: 0;
    }

    .milestones-section[b-r0l93li9ic],
    .brands-section[b-r0l93li9ic] {
        max-height: none;
    }
}

@media (max-width: 760px) {
    .campaign-hero[b-r0l93li9ic] {
        align-items: flex-start;
        flex-direction: column;
    }

    .brand-logo[b-r0l93li9ic] {
        flex-basis: 56px;
        width: 56px;
        max-width: 56px;
        height: 40px;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/CampaignRecipientsView.razor.rz.scp.css */
/* Gap between the toolbar (Latest selector) and the grid header. */
.campaign-table-dialog[b-4hzar2nxjs]  .box-title {
    margin-bottom: 0.75rem;
}

/* Two-line cells (primary + hint) sized to fit the grid's Medium (44px) fixed row height; each line
   truncates with an ellipsis instead of wrapping. */
.grid-cell[b-4hzar2nxjs] {
    line-height: 1.2;
    min-width: 0;
}

.grid-cell > *[b-4hzar2nxjs] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.secondary-text[b-4hzar2nxjs] {
    color: var(--neutral-foreground-hint);
    font-size: 0.78rem;
}
/* _content/SaasWeb/Components/Pages/Dialogs/CampaignScheduledRewardsView.razor.rz.scp.css */
/* Gap between the toolbar (Latest selector) and the grid header. */
.campaign-table-dialog[b-c0qkqpox38]  .box-title {
    margin-bottom: 0.75rem;
}

/* Two-line cells (primary + hint) sized to fit the grid's Medium (44px) fixed row height; each line
   truncates with an ellipsis instead of wrapping. */
.grid-cell[b-c0qkqpox38] {
    line-height: 1.2;
    min-width: 0;
}

.grid-cell > *[b-c0qkqpox38] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.secondary-text[b-c0qkqpox38] {
    color: var(--neutral-foreground-hint);
    font-size: 0.78rem;
}
/* _content/SaasWeb/Components/Pages/Dialogs/ClientDetailsDialog.razor.rz.scp.css */
/* Summary strip, section cards and label/value grid copied from GridRowDetailsDialog.razor.css. */
.client-details[b-l98p3slbxf] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.row-details-hero[b-l98p3slbxf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid rgba(7, 134, 127, 0.25);
    border-radius: 12px;
    background: linear-gradient(135deg, #eefbf9 0%, #ffffff 70%);
}

.row-details-hero__text[b-l98p3slbxf] {
    min-width: 0;
}

.row-details-hero__type[b-l98p3slbxf] {
    color: #07867f;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.row-details-hero__name[b-l98p3slbxf] {
    margin-top: 2px;
    color: #141d29;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.row-details-hero__status[b-l98p3slbxf] {
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: 999px;
    background: #d9f7f3;
    color: #07867f;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

/* The detail cards sit side by side on a wide dialog so the billing entity grid stays in view. */
.client-details-sections[b-l98p3slbxf] {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    min-width: 0;
}

.details-section[b-l98p3slbxf] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid rgba(173, 185, 189, 0.45);
    border-radius: 12px;
    padding: 16px 18px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(20, 29, 41, 0.08);
}

.section-title[b-l98p3slbxf] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #141d29;
    font-size: 1rem;
    font-weight: 700;
}

.details-grid[b-l98p3slbxf] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 10px;
    align-items: baseline;
    width: 100%;
    min-width: 0;
    text-align: left;
}

.label[b-l98p3slbxf] {
    color: rgba(20, 29, 41, 0.62);
    font-size: 0.8125rem;
    font-weight: 600;
}

.value[b-l98p3slbxf] {
    min-width: 0;
    color: #141d29;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .row-details-hero[b-l98p3slbxf] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/ClientEditDialog.razor.rz.scp.css */
/* Copied from SubscriptionTierEditDialog.razor.css, with a section heading added. */
.client-edit-fields[b-4w1l6diuak] {
    align-items: start;
    display: grid;
    gap: 0.75rem 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.client-edit-field[b-4w1l6diuak] {
    min-width: 0;
}

.client-edit-wide[b-4w1l6diuak] {
    grid-column: 1 / -1;
    min-width: 0;
}

.client-edit-section[b-4w1l6diuak] {
    color: #141d29;
    font-size: 1rem;
    font-weight: 700;
    margin: 0.5rem 0 0;
}

.client-edit-group[b-4w1l6diuak] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.client-edit-group-label[b-4w1l6diuak] {
    font-size: 0.875rem;
}

.client-edit-hint[b-4w1l6diuak] {
    color: var(--neutral-foreground-hint);
    font-size: 0.75rem;
    margin: 0;
}

@media (max-width: 48rem) {
    .client-edit-fields[b-4w1l6diuak] {
        grid-template-columns: 1fr;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/ControllerActionRunDialog.razor.rz.scp.css */
.controller-action-dialog-body[b-75zpcmv0i6] {
    max-height: min(60vh, 32rem);
    overflow-y: auto;
    /* keep the scrollbar clear of the fields' focus outlines */
    padding-right: 8px;
}
/* _content/SaasWeb/Components/Pages/Dialogs/EditRecipientDialog.razor.rz.scp.css */
.recipient-dialog[b-yd1i3c598p] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-top: 4px;
    min-width: 0;
}

.recipient-dialog__alert[b-yd1i3c598p] {
    margin-bottom: 2px;
}

.recipient-dialog__section[b-yd1i3c598p] {
    border: 1px solid #ececec;
    border-radius: 12px;
    background: #fafafa;
    padding: 16px 16px 12px 16px;
}

.recipient-dialog__section-title[b-yd1i3c598p] {
    font-size: 14px;
    font-weight: 600;
    color: #384250;
    margin-bottom: 12px;
}

.recipient-dialog__hint[b-yd1i3c598p] {
    font-size: 12px;
    color: #667085;
    padding: 0 2px;
}

[b-yd1i3c598p] .recipient-dialog__field {
    width: 100%;
}

[b-yd1i3c598p] .recipient-dialog__country-option {
    max-height: 120px;
}

[b-yd1i3c598p] .validation-message {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #b42318;
}
/* _content/SaasWeb/Components/Pages/Dialogs/InvoiceEntityEditDialog.razor.rz.scp.css */
/* Copied from SubscriptionTierEditDialog.razor.css. */
.entity-edit-fields[b-h0qzqdbfly] {
    align-items: start;
    display: grid;
    gap: 0.75rem 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.entity-edit-field[b-h0qzqdbfly] {
    min-width: 0;
}

.entity-edit-wide[b-h0qzqdbfly] {
    grid-column: 1 / -1;
    min-width: 0;
}

@media (max-width: 48rem) {
    .entity-edit-fields[b-h0qzqdbfly] {
        grid-template-columns: 1fr;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/ReportCampaignSelectorDialog.razor.rz.scp.css */
.campaign-dialog[b-bsvhlev168] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.campaign-dialog-header[b-bsvhlev168] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid #d6d6d6;
    margin-bottom: 14px;
}

.campaign-dialog-title[b-bsvhlev168] {
    font-size: 18px;
    font-weight: 700;
    color: #075f66;
}

.campaign-dialog-subtitle[b-bsvhlev168] {
    margin-top: 4px;
    font-size: 13px;
    color: #666;
}

.campaign-dialog-count[b-bsvhlev168] {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef7f8;
    color: #075f66;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.campaign-dialog-toolbar[b-bsvhlev168] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
    width: 100%;
}

[b-bsvhlev168] .campaign-search {
    width: 100%;
    min-width: 0;
}

.campaign-list[b-bsvhlev168] {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-right: 4px;
}

.campaign-row[b-bsvhlev168] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.campaign-row:hover[b-bsvhlev168] {
    background: #f8fbfb;
    border-color: #b7dfe2;
}

.campaign-row.selected[b-bsvhlev168] {
    background: #eef7f8;
    border-color: #13a4ad;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.campaign-row-content[b-bsvhlev168] {
    min-width: 0;
}

.campaign-name[b-bsvhlev168] {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.campaign-empty[b-bsvhlev168] {
    padding: 24px;
    text-align: center;
    border: 1px dashed #ccc;
    border-radius: 10px;
    color: #666;
    background: #fafafa;
}

.campaign-dialog-footer[b-bsvhlev168] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

.campaign-dialog-footer[b-bsvhlev168]  fluent-button {
    flex: 0 0 auto;
}
/* _content/SaasWeb/Components/Pages/Dialogs/ScheduledServiceCycleDialog.razor.rz.scp.css */
.execution-cycle-dialog[b-s7uas89ysz] {
    width: min(72rem, calc(100vw - 3rem));
}

.execution-cycle-details[b-s7uas89ysz] {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(9rem, auto);
}

.execution-cycle-name[b-s7uas89ysz] {
    grid-column: 1 / 3;
    min-width: 0;
}

.execution-cycle-start[b-s7uas89ysz] {
    grid-column: 1;
    min-width: 0;
}

.execution-cycle-end[b-s7uas89ysz] {
    grid-column: 2;
    min-width: 0;
}

.execution-cycle-enabled[b-s7uas89ysz] {
    align-self: center;
    grid-column: 3;
    grid-row: 1 / 3;
}

.execution-cycle-selector-help[b-s7uas89ysz] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    margin: 0;
    white-space: nowrap;
}

.execution-cycle-selector-grid[b-s7uas89ysz] {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.execution-cycle-selector[b-s7uas89ysz] {
    align-self: start;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 0.5rem;
    min-width: 0;
    padding: 0.5rem;
}

.execution-cycle-selector-toggle[b-s7uas89ysz] {
    display: flex;
    justify-content: space-between;
    text-align: left;
    width: 100%;
}

.execution-cycle-selector-toggle span[b-s7uas89ysz] {
    color: var(--neutral-foreground-hint);
    font-size: 0.8rem;
    margin-left: 0.5rem;
}

.execution-cycle-option-list[b-s7uas89ysz] {
    display: grid;
    gap: 0.2rem;
    margin-top: 0.5rem;
    max-height: 13rem;
    overflow-y: auto;
    padding: 0.25rem;
}

@media (max-width: 68rem) {
    .execution-cycle-selector-grid[b-s7uas89ysz] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 48rem) {
    .execution-cycle-dialog[b-s7uas89ysz] {
        width: 100%;
    }

    .execution-cycle-details[b-s7uas89ysz],
    .execution-cycle-selector-grid[b-s7uas89ysz] {
        grid-template-columns: 1fr;
    }

    .execution-cycle-name[b-s7uas89ysz],
    .execution-cycle-start[b-s7uas89ysz],
    .execution-cycle-end[b-s7uas89ysz],
    .execution-cycle-enabled[b-s7uas89ysz] {
        grid-column: 1;
        grid-row: auto;
    }

    .execution-cycle-selector-help[b-s7uas89ysz] {
        white-space: normal;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/SubscriptionTierEditDialog.razor.rz.scp.css */
.tier-edit-fields[b-yy1zr955ky] {
    align-items: start;
    display: grid;
    gap: 0.75rem 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.tier-edit-field[b-yy1zr955ky] {
    min-width: 0;
}

.tier-edit-wide[b-yy1zr955ky] {
    grid-column: 1 / -1;
    min-width: 0;
}

.tier-edit-group[b-yy1zr955ky] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.tier-edit-group-label[b-yy1zr955ky] {
    font-size: 0.875rem;
}

.tier-edit-hint[b-yy1zr955ky] {
    color: var(--neutral-foreground-hint);
    font-size: 0.75rem;
    margin: 0;
}

@media (max-width: 48rem) {
    .tier-edit-fields[b-yy1zr955ky] {
        grid-template-columns: 1fr;
    }
}
/* _content/SaasWeb/Components/Pages/Dialogs/ViewCampaignFullReport.razor.rz.scp.css */
.full-report-dialog[b-cvadkm9ejk] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.report-header[b-cvadkm9ejk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.report-currency[b-cvadkm9ejk] {
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
    margin: 0;
}

.report-currency strong[b-cvadkm9ejk] {
    color: var(--neutral-foreground-rest);
}

.report-exports[b-cvadkm9ejk] {
    display: flex;
    gap: 0.5rem;
}

.report-section[b-cvadkm9ejk] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.section-heading h3[b-cvadkm9ejk] {
    color: var(--neutral-foreground-rest);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
}

.calculation-table[b-cvadkm9ejk] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.calculation-row[b-cvadkm9ejk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #e5e5e5;
}

.calculation-row span[b-cvadkm9ejk] {
    font-size: 1rem;
}

.calculation-row strong[b-cvadkm9ejk] {
    font-size: 1rem;
    white-space: nowrap;
}

.calculation-row.total strong[b-cvadkm9ejk] {
    font-size: 1.1rem;
}

.calculation-row.available[b-cvadkm9ejk] {
    color: #007c89;
}

/* The campaign view's pending-rewards yellow; padded so the tint does not touch the text. */
.calculation-row.pending[b-cvadkm9ejk] {
    background: #fff4ce;
    color: #8a6100;
    padding-inline: 0.5rem;
}

.calculation-row.funds-due[b-cvadkm9ejk] {
    color: #c50f1f;
}

.report-section[b-cvadkm9ejk]  fluent-message-bar {
    margin-top: 0.75rem;
}
/* _content/SaasWeb/Components/Pages/Privacy.razor.rz.scp.css */
.privacy-list[b-o31uk7xeue] {
    margin-top: 0cm;
}
/* _content/SaasWeb/Components/Pages/RecipientsList.razor.rz.scp.css */
/* Title and Structure controls centred on one row. The row carries the spacing the h1 margin gives
   on other pages, so the taller controls keep the same gap above the insight card. */
.page-header[b-okwnoloxd4] {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 30px;
}

.page-header h1[b-okwnoloxd4] {
    margin: 0;
}

.page-header__controls[b-okwnoloxd4] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-left: auto;
}

/* Label above the select, with no inline line box adding space under the select. */
.labeled-field[b-okwnoloxd4] {
    display: flex;
    flex-direction: column;
}

/* Spans the row's full height, then skips the select label (Fluent's line-height plus its one design
   unit of margin), so the buttons centre on the select box rather than on label + select. */
.field-actions[b-okwnoloxd4] {
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: calc(var(--type-ramp-base-line-height) + var(--design-unit) * 1px);
}

/* The upload drop zone as a full-width strip under the data source controls, so a drop anywhere
   along the card lands on it. Icon beside the two text lines, centred as a group. */
.recipients-upload-strip[b-okwnoloxd4] {
    margin-top: 1rem;
}

/* Fluent keeps room for its own progress bar, which this page never shows (the import dialog shows
   the progress), so it would leave a blank band under the text. */
.recipients-upload-strip[b-okwnoloxd4]  .inputfile-progress {
    display: none;
}

.recipients-upload-strip__content[b-okwnoloxd4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-align: left;
}

/* Beats app.css's drop-zone image margin, which suits an icon stacked above the text. */
.recipients-upload-strip__content .recipients-upload-strip__icon[b-okwnoloxd4] {
    width: 38px;
    margin: 0;
}

.recipients-upload-strip__text[b-okwnoloxd4] {
    display: flex;
    flex-direction: column;
}
/* _content/SaasWeb/Components/Pages/Reports/ReportView.razor.rz.scp.css */
.report-view-header[b-2vk0e9qqq1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
    width: 100%;
}

.report-view-header > h1[b-2vk0e9qqq1] {
    min-width: 0;
}

.report-view-structure-selector[b-2vk0e9qqq1] {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-self: end;
}

@media (max-width: 800px) {
    .report-view-header[b-2vk0e9qqq1] {
        grid-template-columns: 1fr;
        row-gap: 12px;
    }

    .report-view-structure-selector[b-2vk0e9qqq1] {
        justify-self: start;
        margin-bottom: 30px;
    }
}
/* _content/SaasWeb/Components/Pages/RewardFeedback.razor.rz.scp.css */
.reward-feedback-card[b-ea9iuehaxe] {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(91, 60, 196, 0.12);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 16px 45px rgba(37, 29, 77, 0.1);
    color: #202231;
}

.reward-feedback-card h1[b-ea9iuehaxe] {
    color: #4e35ad;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    margin: 0 0 1rem;
}

.reward-feedback-celebration[b-ea9iuehaxe] {
    margin-bottom: .75rem;
    font-size: 2.25rem;
}

.reward-feedback-intro[b-ea9iuehaxe],
.reward-feedback-reward[b-ea9iuehaxe] {
    font-size: 1.05rem;
}

.reward-feedback-card fieldset[b-ea9iuehaxe] {
    min-width: 0;
    margin: 2rem 0 0;
    padding: 0;
    border: 0;
}

.reward-feedback-card legend[b-ea9iuehaxe] {
    margin-bottom: 1rem;
    font-size: 1.15rem;
    font-weight: 700;
}

.reward-feedback-ratings-field[b-ea9iuehaxe] {
    width: 100%;
}

.reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-ratings {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.5rem;
    width: 100% !important;
}

.reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-rating-option {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    margin: 0;
    padding: .25rem .5rem;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    cursor: pointer;
    font-size: clamp(.7rem, 1.5vw, .95rem);
    white-space: nowrap;
}

.reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-rating-option input {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}

.reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-rating-option span {
    min-width: max-content;
    white-space: nowrap;
}

.reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-rating-option:hover {
    background: #f7f4ff;
}

.reward-feedback-comment-label[b-ea9iuehaxe] {
    display: block;
    margin: 1.75rem 0 .5rem;
    font-weight: 700;
}

.reward-feedback-comment-field[b-ea9iuehaxe] {
    width: 100%;
    max-width: 820px;
}

.reward-feedback-comment-field[b-ea9iuehaxe]  textarea.reward-feedback-comment {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    min-height: 260px;
    padding: 1rem;
    border: 1px solid #cfd3de;
    border-radius: .75rem;
    background: #fff;
    color: inherit;
    font: inherit;
    line-height: 1.5;
    resize: vertical;
}

.reward-feedback-privacy[b-ea9iuehaxe] {
    margin: 1.25rem 0;
    color: #5c6170;
    font-size: .9rem;
}

.reward-feedback-submit[b-ea9iuehaxe] {
    padding: .8rem 1.4rem;
    border: 0;
    border-radius: .7rem;
    background: #5b3cc4;
    color: #fff;
    font-weight: 700;
}

.reward-feedback-submit:hover[b-ea9iuehaxe] {
    background: #4930a0;
}

.reward-feedback-error[b-ea9iuehaxe] {
    color: #b42318;
}

.reward-feedback-state[b-ea9iuehaxe] {
    padding: 2rem 0;
    text-align: center;
}

@media (max-width: 760px) {
    .reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-ratings {
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 1rem;
    }

    .reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-rating-option {
        flex: 1 1 calc(50% - 1rem) !important;
        min-width: 0;
    }
}

@media (max-width: 600px) {
    .reward-feedback-ratings-field[b-ea9iuehaxe]  .reward-feedback-rating-option {
        flex-basis: 100% !important;
    }

    .reward-feedback-comment-field[b-ea9iuehaxe] {
        max-width: none;
    }

    .reward-feedback-comment-field[b-ea9iuehaxe]  textarea.reward-feedback-comment {
        min-height: 200px;
    }
}
/* _content/SaasWeb/Components/Pages/Terms.razor.rz.scp.css */
.text-page-list-item-step[b-nsfal0k70f] {
    display: flex;
    gap: 1rem;
    padding: 0.35rem 0;
}

.text-page-list-item-step span:first-child[b-nsfal0k70f] {
    flex-shrink: 0;
    min-width: 2rem;
}

.text-page-list-item-step.step-two span:first-child[b-nsfal0k70f] {
    padding-left: 1rem;
}

.terms-definition[b-nsfal0k70f] {
    min-width: 17%;
}

.terms-list[b-nsfal0k70f] {
    list-style: none;
}
/* _content/SaasWeb/Components/Shared/Admin/AdminPageHeading.razor.rz.scp.css */
/* This is a semantic <header>, so the global app.css `header {}` nav-bar rule
   (position: relative; z-index: 12; box-shadow) leaks onto it. Neutralise the
   parts that make this in-page heading compete with the real top navigation
   header for stacking, otherwise it paints over ("clips") the nav bar. */
.page-heading[b-8x9yb09jx4] {
    align-items: center;
    border-radius: 0.875rem;
    box-shadow: none;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding: clamp(1.1rem, 2vw, 1.6rem);
    position: static;
    z-index: auto;
}

.eyebrow[b-8x9yb09jx4] {
    color: var(--accent-foreground-rest);
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.page-heading h1[b-8x9yb09jx4] {
    color: var(--neutral-foreground-rest);
    font-size: clamp(1.625rem, 2vw, 2rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.2;
    margin: 0;
}

.page-heading p[b-8x9yb09jx4] {
    color: var(--neutral-foreground-hint);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0.4rem 0 0;
}

.environment-badge[b-8x9yb09jx4] {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 650;
    letter-spacing: 0.025em;
    line-height: 1;
    padding: 0.45rem 0.7rem;
    text-transform: uppercase;
}

.environment-badge.test[b-8x9yb09jx4] {
    background: color-mix(in srgb, var(--accent-fill-rest) 12%, transparent);
    border-color: color-mix(in srgb, var(--accent-fill-rest) 35%, transparent);
    color: var(--accent-foreground-rest);
}

.environment-badge.production[b-8x9yb09jx4] {
    background: #fff1f0;
    border-color: #ffccc7;
    color: #a8071a;
}

@media (max-width: 900px) {
    .page-heading[b-8x9yb09jx4] {
        align-items: stretch;
        flex-direction: column;
    }

    .environment-badge[b-8x9yb09jx4] {
        align-self: flex-start;
    }
}

@media (max-width: 600px) {
    .page-heading[b-8x9yb09jx4] {
        border-radius: 0.65rem;
        padding: 1rem;
    }
}
/* _content/SaasWeb/Components/Shared/Admin/ProductionActionGuard.razor.rz.scp.css */
.production-action-guard[b-pjn7jr62dt] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.production-action-guard[b-pjn7jr62dt]  fluent-card.production-lock-card {
    background: var(--neutral-layer-1);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 0.875rem;
    box-shadow: 0 2px 8px rgb(0 0 0 / 7%);
    display: block;
    padding: clamp(1.1rem, 2vw, 1.6rem);
}

.production-action-guard[b-pjn7jr62dt]  fluent-card.production-lock-card p {
    margin: 0 0 1rem;
}

@media (max-width: 600px) {
    .production-action-guard[b-pjn7jr62dt]  fluent-card.production-lock-card {
        border-radius: 0.65rem;
        padding: 1rem;
    }
}
/* _content/SaasWeb/Components/Shared/Grid/GridLoadingFrame.razor.rz.scp.css */
/* Positioning context for the non-fullscreen overlay, as the Dashboard cards set while they load.
   No z-index or isolation: a stacking context here would trap the grid's filter pop-ups and row
   menus under the paginator and the content below the grid. */
.grid-loading-frame[b-wvvhr0317z] {
    position: relative;
    min-width: 0;
}
/* _content/SaasWeb/Components/Shared/Grid/GridOptionFilter.razor.rz.scp.css */
.grid-option-filter[b-hdfb286y2x] {
    display: block;
}

/* fluent-combobox carries its own 250px min-width, which overflows narrow column-options pop-ups. */
.grid-option-filter[b-hdfb286y2x]  fluent-combobox,
.grid-option-filter[b-hdfb286y2x]  fluent-combobox::part(control) {
    min-width: 0;
}
/* _content/SaasWeb/Components/Shared/Grid/GridRowDetailsDialog.razor.rz.scp.css */
/* Copied from CampaignFullDetailsDialog.razor.css: summary strip, section cards and label/value grid. */
[b-97vm2rbhkn] .row-details-root {
    width: 100%;
    min-width: 0;
}

.row-details[b-97vm2rbhkn] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    min-width: 0;
}

/* Summary strip: what the row is, who or what it is about, and where it stands. */
.row-details-hero[b-97vm2rbhkn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid rgba(7, 134, 127, 0.25);
    border-radius: 12px;
    background: linear-gradient(135deg, #eefbf9 0%, #ffffff 70%);
}

.row-details-hero__text[b-97vm2rbhkn] {
    min-width: 0;
}

.row-details-hero__type[b-97vm2rbhkn] {
    color: #07867f;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.row-details-hero__name[b-97vm2rbhkn] {
    margin-top: 2px;
    color: #141d29;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.row-details-hero__status[b-97vm2rbhkn] {
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: 999px;
    background: #d9f7f3;
    color: #07867f;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

/*
 * app.css caps the dialog at 100dvh - 2rem but not its content, so content taller than that
 * pushes the Close footer out of the dialog. The sections get what is left of the viewport once
 * the cap margin, dialog header, summary strip and footer are taken off, and scroll inside it.
 * The padding keeps the cards' shadows clear of the scroll clip; the negative margin keeps the
 * cards where they were.
 */
.row-details-sections[b-97vm2rbhkn] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    max-height: max(16rem, calc(100dvh - 20rem));
    overflow-y: auto;
    padding: 2px 6px 6px 2px;
    margin: -2px -6px -6px -2px;
}

.details-section[b-97vm2rbhkn] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(173, 185, 189, 0.45);
    border-radius: 12px;
    padding: 16px 18px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(20, 29, 41, 0.08);
}

.section-title[b-97vm2rbhkn] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #141d29;
    font-size: 1rem;
    font-weight: 700;
}

.details-grid[b-97vm2rbhkn] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 10px;
    align-items: baseline;
    width: 100%;
    min-width: 0;
    text-align: left;
}

.label[b-97vm2rbhkn] {
    color: rgba(20, 29, 41, 0.62);
    font-size: 0.8125rem;
    font-weight: 600;
}

.value[b-97vm2rbhkn] {
    min-width: 0;
    color: #141d29;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .row-details-hero[b-97vm2rbhkn] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* _content/SaasWeb/Components/Shared/Grid/GridToolbar.razor.rz.scp.css */
.grid-toolbar[b-7zsen18fad] {
    margin-bottom: 10px;
}
/* _content/SaasWeb/Components/Shared/InformationLabel.razor.rz.scp.css */
.information-label[b-fqs4u0h9lr] {
    --information-label-accent: var(--surface-sidebar, var(--accent-base-color, #11a1af));

    align-items: center;
    background:
        radial-gradient(circle at 8% 25%, color-mix(in srgb, var(--information-label-accent) 16%, transparent), transparent 36%),
        linear-gradient(105deg, color-mix(in srgb, var(--information-label-accent) 7%, var(--surface-primary, #fff)), var(--surface-primary, #fff));
    border: 1px solid color-mix(in srgb, var(--information-label-accent) 30%, var(--border-color-field, #c9c9c9));
    border-radius: 12px;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--information-label-accent) 10%, transparent);
    cursor: pointer;
    display: flex;
    gap: 0.8rem;
    margin-block: 0 1rem;
    min-height: 56px;
    overflow: hidden;
    padding: 0.75rem 0.85rem;
    position: relative;
}

.information-label--static[b-fqs4u0h9lr] {
    cursor: default;
}

.information-label[b-fqs4u0h9lr]::after {
    background: linear-gradient(90deg, var(--information-label-accent), color-mix(in srgb, var(--information-label-accent) 30%, transparent));
    bottom: 0;
    content: "";
    height: 3px;
    inset-inline: 0;
    position: absolute;
}

.information-label__icon[b-fqs4u0h9lr] {
    align-items: center;
    background: var(--information-label-accent);
    border-radius: 50%;
    color: var(--surface-primary, #fff);
    display: flex;
    flex: 0 0 32px;
    height: 32px;
    justify-content: center;
}

.information-label__logo[b-fqs4u0h9lr] {
    height: 14px;
    width: 19px;
}

.information-label__message[b-fqs4u0h9lr] {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0;
}

.information-label__next[b-fqs4u0h9lr] {
    align-items: center;
    align-self: stretch;
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: var(--information-label-accent);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 1.7rem;
    justify-content: center;
    min-width: 36px;
    padding: 0;
}

.information-label__next:hover[b-fqs4u0h9lr],
.information-label__next:focus-visible[b-fqs4u0h9lr] {
    background: color-mix(in srgb, var(--information-label-accent) 10%, transparent);
}

.information-label__next:focus-visible[b-fqs4u0h9lr] {
    outline: 2px solid var(--information-label-accent);
    outline-offset: 1px;
}

@media (max-width: 600px) {
    .information-label[b-fqs4u0h9lr] {
        align-items: flex-start;
    }

    .information-label__next[b-fqs4u0h9lr] {
        align-self: center;
    }
}
/* _content/SaasWeb/Components/Shared/Recipients/RecipientImportRowEditDialog.razor.rz.scp.css */
.recipient-dialog[b-uy47rks94o] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-top: 4px;
    min-width: 0;
}

.recipient-dialog__alert[b-uy47rks94o] {
    margin-bottom: 2px;
}

.recipient-dialog__section[b-uy47rks94o] {
    border: 1px solid #ececec;
    border-radius: 12px;
    background: #fafafa;
    padding: 16px 16px 12px 16px;
}

.recipient-dialog__section-title[b-uy47rks94o] {
    font-size: 14px;
    font-weight: 600;
    color: #384250;
    margin-bottom: 12px;
}

.recipient-dialog__hint[b-uy47rks94o] {
    font-size: 12px;
    color: #667085;
    padding: 0 2px;
}

[b-uy47rks94o] .recipient-dialog__field {
    width: 100%;
}

[b-uy47rks94o] .recipient-dialog__country-option {
    max-height: 120px;
}

[b-uy47rks94o] .validation-message {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #b42318;
}

/* The row's problems, one per line inside the warning bar. */
.recipient-dialog__issues[b-uy47rks94o] {
    margin: 0;
    padding-left: 1.25rem;
}
/* _content/SaasWeb/Components/Shared/Recipients/RecipientsImportDialog.razor.rz.scp.css */
.recipients-import-file[b-8bnzc4wdeu] {
    color: var(--neutral-foreground-hint);
    overflow-wrap: anywhere;
}

.recipients-import-status[b-8bnzc4wdeu] {
    display: grid;
    gap: 4px;
}

.recipients-import-summary[b-8bnzc4wdeu] {
    font-weight: 600;
}

/* Same containment as the other long dialog lists: scroll inside the dialog, not the page. */
.recipients-import-errors[b-8bnzc4wdeu] {
    max-height: min(40vh, 20rem);
    overflow-y: auto;
    margin: 0;
    padding-left: 1.25rem;
    padding-right: 8px;
    overflow-wrap: anywhere;
}

.recipients-import-errors li + li[b-8bnzc4wdeu] {
    margin-top: 4px;
}

.recipients-import-note[b-8bnzc4wdeu] {
    color: var(--neutral-foreground-hint);
}
/* _content/SaasWeb/Components/Shared/Recipients/RecipientsImportPreviewDialog.razor.rz.scp.css */
.recipients-preview[b-5c2612vemy] {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.recipients-preview__summary[b-5c2612vemy] {
    display: grid;
    gap: 4px;
}

/* The grid scrolls sideways inside the dialog on a narrow screen instead of widening it. */
.recipients-preview__grid[b-5c2612vemy] {
    min-width: 0;
    overflow-x: auto;
}

/* Two-line cells (primary + hint) sized to fit the grid's Medium (44px) fixed row height; each line
   truncates with an ellipsis instead of wrapping. Copied from CampaignRecipientsView. */
.grid-cell[b-5c2612vemy] {
    line-height: 1.2;
    min-width: 0;
}

.grid-cell > *[b-5c2612vemy] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.secondary-text[b-5c2612vemy] {
    color: var(--neutral-foreground-hint);
    font-size: 0.78rem;
}
/* _content/SaasWeb/Components/Shared/Reports/CampaignsWithFundsDueComponent.razor.rz.scp.css */
.funds-due-report-root[b-ol06c4dtl9] {
    margin-bottom: 10px;
}

.funds-due-report-content[b-ol06c4dtl9]  .funds-due-report-toolbar {
    margin-bottom: 10px;
}

/* Copied from TotalAvailableBalanceComponent: a fixed flex basis stops the grid column sizing to its
   rows, so it fills the width beside the chart instead. It still wraps on narrow viewports. */
.funds-due-report-content[b-ol06c4dtl9] {
    flex: 1 1 30rem;
    min-width: 0;
}
/* _content/SaasWeb/Components/Shared/Reports/OrderHistoryReportComponent.razor.rz.scp.css */
[b-bqg23dx8ns] .order-history-toolbar {
    flex-wrap: wrap;
}

[b-bqg23dx8ns] .order-history-date-picker {
    width: 125px;
}

[b-bqg23dx8ns] .select-campaign-button {
    margin-right: auto !important;
}

[b-bqg23dx8ns] .select-campaign-button::part(control) {
    margin-right: auto !important;
}
/* _content/SaasWeb/Components/Shared/Reports/PredictiveRewardCostReportComponent.razor.rz.scp.css */
.predictive-summary-heading[b-37az9mbm1p] {
    flex-shrink: 0;
    white-space: nowrap;
}

.predictive-reward-tabs[b-37az9mbm1p] {
    width: 100%;
}

.predictive-reward-tabs[b-37az9mbm1p]  fluent-tab {
    border-left: 1px solid var(--neutral-stroke-rest);
    border-radius: 4px 4px 0 0;
    border-right: 1px solid var(--neutral-stroke-rest);
    border-top: 1px solid var(--neutral-stroke-rest);
    margin-right: 4px;
}
/* _content/SaasWeb/Components/Shared/Reports/ReportCampaignSummary.razor.rz.scp.css */
/* Shrinks rather than pushing the toolbar controls onto a new row; a long summary wraps instead. */
.report-campaign-summary[b-y5bwj4madl] {
    flex: 0 1 auto;
    min-width: 0;
}
/* _content/SaasWeb/Components/Shared/Reports/StatementOfAccountReportComponent.razor.rz.scp.css */
[b-zho1wdlrtx] .statement-account-toolbar {
    flex-wrap: wrap;
}

[b-zho1wdlrtx] .statement-account-date-picker {
    width: 125px;
}
/* _content/SaasWeb/Components/Shared/Reports/TotalAmountComponent.razor.rz.scp.css */
.chart-host[b-jbc6sgmvd9] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.total-amount-chart-host[b-jbc6sgmvd9] {
    height: 280px;
}

.chart-host[b-jbc6sgmvd9]  canvas {
    display: block;
    width: 100% !important;
    max-width: 100%;
}
/* _content/SaasWeb/Components/Shared/Reports/TotalAvailableBalanceComponent.razor.rz.scp.css */
[b-y01x9eg5s0] .available-balance-report-root,
[b-y01x9eg5s0] .available-balance-report-toolbar {
    margin-bottom: 10px;
}

/* A fixed flex basis stops the grid column sizing to its rows, so longer rows do not widen it
   enough to wrap the chart below. It still wraps on narrow viewports. */
.available-balance-report-content[b-y01x9eg5s0] {
    flex: 1 1 30rem;
    min-width: 0;
}
/* _content/SaasWeb/Components/Shared/Reports/TotalSpentRewardsReportComponent.razor.rz.scp.css */
[b-8k62kel0k6] .spent-rewards-report-root,
[b-8k62kel0k6] .spent-rewards-report-toolbar {
    margin-bottom: 10px;
}

[b-8k62kel0k6] .spent-rewards-report-date-picker {
    width: 125px;
}

/* Copied from TotalAvailableBalanceComponent: a fixed flex basis stops the grid column sizing to its
   rows, so it fills the width beside the chart instead. It still wraps on narrow viewports. */
.spent-rewards-report-content[b-8k62kel0k6] {
    flex: 1 1 30rem;
    min-width: 0;
}
/* _content/SaasWeb/Components/Shared/TinyMce/EmailTemplateEditor.razor.rz.scp.css */
.email-template-editor[b-ng202uqt15] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    /* Keep the 2px outline and 3px offset inside dialog scroll containers. */
    padding: 5px;
}

.email-template-editor[b-ng202uqt15]  .tox .tox-edit-area::before {
    border: 0;
}

.marker-target-announcement[b-ng202uqt15] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.insertion-field[b-ng202uqt15] {
    width: 100%;
    min-width: 0;
    border-radius: 4px;
}

.insertion-target[b-ng202uqt15] {
    outline: 2px solid var(--accent-fill-rest);
    outline-offset: 3px;
}

.marker-picker[b-ng202uqt15] {
    width: 100%;
    min-width: 0;
}

.marker-picker[b-ng202uqt15]  fluent-select,
.marker-picker[b-ng202uqt15]  fluent-select::part(control) {
    min-width: 0;
    width: 100%;
}

/* FluentSelect renders its label as a sibling of fluent-select, so the label spans the whole row
   to stay above the control, and the info icon takes the column beside the control. */
.marker-picker__control[b-ng202uqt15] {
    align-items: center;
    column-gap: 0.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    width: 100%;
}

.marker-picker__control[b-ng202uqt15]  .fluent-input-label {
    grid-column: 1 / -1;
}

/* Copied from .plan-lock (Shared/PlanLockIndicator), without its box: it sits on the form, not on a card. */
.marker-picker__info[b-ng202uqt15] {
    align-items: center;
    border-radius: calc(var(--control-corner-radius) * 1px);
    cursor: help;
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.marker-picker__info:focus-visible[b-ng202uqt15] {
    outline: 2px solid #27575b;
    outline-offset: 2px;
}

/* Same accent as the insertion-target outline, so the note reads as part of the marker picker. */
.marker-picker__note[b-ng202uqt15] {
    color: var(--accent-fill-rest);
    font-style: italic;
}

/* Copied from .create-campaign-action__tooltip (NavMenu): the tooltip's region is only as wide as the
   icon, which wraps the text word by word. Size the bubble to its text instead. */
.marker-picker[b-ng202uqt15]  .marker-picker__tooltip::part(tooltip) {
    max-width: 24rem;
    width: max-content;
}
