/*
 * Result dashboard parity (v4.1.370)
 * Net Salary is the canonical visual contract for primary results, four-card
 * metric rows and supporting donut visuals across the migrated calculators.
 */

:is(
    .ic-salarycalc .ic-sal-hero,
    .ic-holidaypay .ic-holiday-hero-row,
    .ic-firsthomecalc .ic-fhs-hero-row,
    .ic-dayratecalc .ic-dr-hero-row,
    .ic-payecalc .ic-paye-hero-row,
    .ic-loancalc .ic-loan-top-grid,
    .ic-savingsgoalcalc .ic-sg-result-dashboard,
    .ic-renttaxcreditcalc .ic-rtc-overview,
    .ic-statesavingscalc .ic-ss-result-overview,
    .ic-ncscalc .ic-ncs-overview,
    .ic-susicalc .ic-susi-dashboard,
    .ic-redundancycalc .ic-rd-overview,
    .ic-fhsservicecalc .ic-fhs-service-charge-overview
) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

:is(
    .ic-salarycalc .ic-sal-hero-left,
    .ic-holidaypay .ic-holiday-hero-left,
    .ic-firsthomecalc .ic-fhs-hero-main,
    .ic-dayratecalc .ic-dr-hero-main,
    .ic-payecalc .ic-paye-hero-left,
    .ic-loancalc .ic-loan-main-stack,
    .ic-savingsgoalcalc .ic-sg-result-main,
    .ic-renttaxcreditcalc .ic-rtc-overview-main,
    .ic-statesavingscalc .ic-ss-result-overview-main,
    .ic-ncscalc .ic-ncs-overview-main,
    .ic-susicalc .ic-susi-dashboard-main,
    .ic-redundancycalc .ic-rd-overview-main,
    .ic-fhsservicecalc .ic-fhs-service-charge-overview-main
) {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 14px !important;
}

/* Primary result cards: exact Net Salary dimensions and type rhythm. */
:is(
    .ic-salarycalc .ic-sal-net-card,
    .ic-holidaypay .ic-holiday-hero-left > .ic-result-primary,
    .ic-firsthomecalc .ic-fhs-hero-main > .ic-result-primary,
    .ic-dayratecalc .ic-dr-hero-main > .ic-result-primary,
    .ic-payecalc .ic-paye-hero-left > .ic-result-primary,
    .ic-loancalc .ic-loan-main-stack > .ic-result-primary,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-result-primary,
    .ic-renttaxcreditcalc .ic-rtc-overview-main > .ic-result-primary,
    .ic-statesavingscalc .ic-ss-result-overview-main > .ic-result-primary,
    .ic-ncscalc .ic-ncs-overview-main > .ic-result-primary,
    .ic-susicalc .ic-susi-primary-card,
    .ic-redundancycalc .ic-rd-overview-main > .ic-result-primary,
    .ic-fhsservicecalc .ic-fhs-service-charge-overview-main > .ic-result-primary
) {
    min-height: 132px !important;
    margin: 0 !important;
    padding: 22px 24px !important;
    border-radius: var(--ic-radius, 16px) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
}

/* Only the dashboard metric grids are governed here; lower content grids keep
 * their own calculator-specific layouts. */
:is(
    .ic-salarycalc .ic-sal-top-metrics,
    .ic-holidaypay .ic-holiday-top-metrics,
    .ic-firsthomecalc .ic-fhs-top-metrics,
    .ic-dayratecalc .ic-dr-summary-grid,
    .ic-payecalc .ic-paye-top-metrics,
    .ic-loancalc .ic-loan-top-metrics,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
    .ic-renttaxcreditcalc .ic-rtc-top-metrics,
    .ic-statesavingscalc .ic-ss-summary-grid--primary,
    .ic-ncscalc .ic-ncs-summary-grid,
    .ic-susicalc .ic-susi-summary-grid,
    .ic-redundancycalc .ic-rd-top-metrics,
    .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    align-items: stretch !important;
}

:is(
    .ic-salarycalc .ic-sal-top-metrics,
    .ic-holidaypay .ic-holiday-top-metrics,
    .ic-firsthomecalc .ic-fhs-top-metrics,
    .ic-dayratecalc .ic-dr-summary-grid,
    .ic-payecalc .ic-paye-top-metrics,
    .ic-loancalc .ic-loan-top-metrics,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
    .ic-renttaxcreditcalc .ic-rtc-top-metrics,
    .ic-statesavingscalc .ic-ss-summary-grid--primary,
    .ic-ncscalc .ic-ncs-summary-grid,
    .ic-susicalc .ic-susi-summary-grid,
    .ic-redundancycalc .ic-rd-top-metrics,
    .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
) > :is(.ic-summary-card, .ic-dr-summary-card, .ic-sg-stat) {
    box-sizing: border-box !important;
    grid-column: auto !important;
    min-width: 0 !important;
    min-height: 96px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--ic-card-border, var(--ic-border, #e2e8f0)) !important;
    border-radius: 16px !important;
    background: var(--ic-surface, #fff) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 6px !important;
}

:is(
    .ic-salarycalc .ic-sal-top-metrics,
    .ic-holidaypay .ic-holiday-top-metrics,
    .ic-firsthomecalc .ic-fhs-top-metrics,
    .ic-dayratecalc .ic-dr-summary-grid,
    .ic-payecalc .ic-paye-top-metrics,
    .ic-loancalc .ic-loan-top-metrics,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
    .ic-renttaxcreditcalc .ic-rtc-top-metrics,
    .ic-statesavingscalc .ic-ss-summary-grid--primary,
    .ic-ncscalc .ic-ncs-summary-grid,
    .ic-susicalc .ic-susi-summary-grid,
    .ic-redundancycalc .ic-rd-top-metrics,
    .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
) :is(.ic-summary-label, .ic-dr-summary-label, .ic-sg-stat__label) {
    margin: 0 !important;
    color: var(--ic-text-muted, #64748b) !important;
    font-family: var(--ic-font, Inter, system-ui, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .07em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}

:is(
    .ic-salarycalc .ic-sal-top-metrics,
    .ic-holidaypay .ic-holiday-top-metrics,
    .ic-firsthomecalc .ic-fhs-top-metrics,
    .ic-dayratecalc .ic-dr-summary-grid,
    .ic-payecalc .ic-paye-top-metrics,
    .ic-loancalc .ic-loan-top-metrics,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
    .ic-renttaxcreditcalc .ic-rtc-top-metrics,
    .ic-statesavingscalc .ic-ss-summary-grid--primary,
    .ic-ncscalc .ic-ncs-summary-grid,
    .ic-susicalc .ic-susi-summary-grid,
    .ic-redundancycalc .ic-rd-top-metrics,
    .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
) :is(.ic-summary-value, .ic-dr-summary-value, .ic-sg-stat__value) {
    margin: 0 !important;
    color: var(--ic-text, #0f172a) !important;
    font-family: var(--ic-font-display, Outfit, Inter, system-ui, sans-serif) !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
}

:is(
    .ic-salarycalc .ic-sal-top-metrics,
    .ic-holidaypay .ic-holiday-top-metrics,
    .ic-firsthomecalc .ic-fhs-top-metrics,
    .ic-dayratecalc .ic-dr-summary-grid,
    .ic-payecalc .ic-paye-top-metrics,
    .ic-loancalc .ic-loan-top-metrics,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
    .ic-renttaxcreditcalc .ic-rtc-top-metrics,
    .ic-statesavingscalc .ic-ss-summary-grid--primary,
    .ic-ncscalc .ic-ncs-summary-grid,
    .ic-susicalc .ic-susi-summary-grid,
    .ic-redundancycalc .ic-rd-top-metrics,
    .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
) :is(.ic-summary-meta, .ic-dr-summary-meta, .ic-sg-stat__note) {
    margin: 0 !important;
    color: var(--ic-text-muted, #64748b) !important;
    font-family: var(--ic-font, Inter, system-ui, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

/* Accent cards retain the approved pale-green Net Salary treatment. */
:is(
    .ic-salarycalc .ic-sal-top-metrics,
    .ic-holidaypay .ic-holiday-top-metrics,
    .ic-firsthomecalc .ic-fhs-top-metrics,
    .ic-dayratecalc .ic-dr-summary-grid,
    .ic-payecalc .ic-paye-top-metrics,
    .ic-loancalc .ic-loan-top-metrics,
    .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
    .ic-renttaxcreditcalc .ic-rtc-top-metrics,
    .ic-statesavingscalc .ic-ss-summary-grid--primary,
    .ic-ncscalc .ic-ncs-summary-grid,
    .ic-susicalc .ic-susi-summary-grid,
    .ic-redundancycalc .ic-rd-top-metrics,
    .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
) > :is(.ic-summary-card--accent, .ic-sg-stat--accent) {
    border-color: rgba(22, 163, 74, .26) !important;
    background: linear-gradient(180deg, rgba(240, 253, 244, .96), rgba(255, 255, 255, .98)) !important;
}

/* Canonical supporting visual measurements. */
:is(
    .ic-salarycalc .ic-sal-donut,
    .ic-holidaypay .ic-holiday-donut,
    .ic-firsthomecalc .ic-fhs-donut,
    .ic-dayratecalc .ic-dr-donut,
    .ic-payecalc .ic-paye-donut,
    .ic-loancalc .ic-loan-donut,
    .ic-savingsgoalcalc .ic-sg-donut,
    .ic-renttaxcreditcalc .ic-rtc-donut,
    .ic-statesavingscalc .ic-ss-donut,
    .ic-ncscalc .ic-ncs-donut,
    .ic-susicalc .ic-susi-threshold-ring,
    .ic-redundancycalc .ic-rd-donut,
    .ic-fhsservicecalc .ic-fhs-service-charge-donut
) {
    width: min(245px, 100%) !important;
    max-width: 245px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin-inline: auto !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
}

:is(
    .ic-salarycalc .ic-sal-donut-wrap,
    .ic-holidaypay .ic-holiday-donut-wrap,
    .ic-firsthomecalc .ic-fhs-donut-wrap,
    .ic-dayratecalc .ic-dr-donut-card,
    .ic-payecalc .ic-paye-donut-wrap,
    .ic-loancalc .ic-loan-chart-card,
    .ic-savingsgoalcalc .ic-sg-donut-wrap,
    .ic-renttaxcreditcalc .ic-rtc-donut-wrap,
    .ic-statesavingscalc .ic-ss-donut-wrap,
    .ic-ncscalc .ic-ncs-donut-wrap,
    .ic-susicalc .ic-susi-threshold-visual,
    .ic-redundancycalc .ic-rd-donut-wrap,
    .ic-fhsservicecalc .ic-fhs-service-charge-visual
) {
    width: 100% !important;
    min-width: 0 !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

:is(
    .ic-salarycalc .ic-sal-donut-center,
    .ic-holidaypay .ic-holiday-donut-center,
    .ic-firsthomecalc .ic-fhs-donut-center,
    .ic-dayratecalc .ic-dr-donut-center,
    .ic-payecalc .ic-paye-donut-center,
    .ic-loancalc .ic-loan-donut__hole,
    .ic-savingsgoalcalc .ic-sg-donut-center,
    .ic-renttaxcreditcalc .ic-rtc-donut-center,
    .ic-statesavingscalc .ic-ss-donut-center,
    .ic-ncscalc .ic-ncs-donut-center,
    .ic-susicalc .ic-susi-threshold-ring__centre,
    .ic-redundancycalc .ic-rd-donut-center,
    .ic-fhsservicecalc .ic-fhs-service-charge-donut-center
) {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: 54% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    padding: 10px !important;
    border-radius: 50% !important;
    background: var(--ic-surface, #fff) !important;
    text-align: center !important;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06) !important;
}

:is(
    .ic-salarycalc .ic-sal-donut-center-label,
    .ic-holidaypay .ic-holiday-donut-center span,
    .ic-firsthomecalc .ic-fhs-donut-center span,
    .ic-dayratecalc .ic-dr-donut-center span,
    .ic-payecalc .ic-paye-donut-center span,
    .ic-loancalc .ic-loan-donut__hole span,
    .ic-savingsgoalcalc .ic-sg-donut-center span,
    .ic-renttaxcreditcalc .ic-rtc-donut-center span,
    .ic-statesavingscalc .ic-ss-donut-center-label,
    .ic-ncscalc .ic-ncs-donut-center span,
    .ic-susicalc .ic-susi-threshold-ring__centre span,
    .ic-redundancycalc .ic-rd-donut-center span,
    .ic-fhsservicecalc .ic-fhs-service-charge-donut-center span
) {
    color: var(--ic-text-light, #64748b) !important;
    font-family: var(--ic-font, Inter, system-ui, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

:is(
    .ic-salarycalc .ic-sal-donut-center-value,
    .ic-holidaypay .ic-holiday-donut-center strong,
    .ic-firsthomecalc .ic-fhs-donut-center strong,
    .ic-dayratecalc .ic-dr-donut-center strong,
    .ic-payecalc .ic-paye-donut-center strong,
    .ic-loancalc .ic-loan-donut__hole strong,
    .ic-savingsgoalcalc .ic-sg-donut-center strong,
    .ic-renttaxcreditcalc .ic-rtc-donut-center strong,
    .ic-statesavingscalc .ic-ss-donut-center-value,
    .ic-ncscalc .ic-ncs-donut-center strong,
    .ic-susicalc .ic-susi-threshold-ring__centre strong,
    .ic-redundancycalc .ic-rd-donut-center strong,
    .ic-fhsservicecalc .ic-fhs-service-charge-donut-center strong
) {
    margin: 0 !important;
    color: var(--ic-text, #0f172a) !important;
    font-family: var(--ic-font-display, Outfit, Inter, system-ui, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 26px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.ic-susicalc .ic-susi-threshold-ring__centre small {
    color: var(--ic-text-light, #64748b) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

:is(
    .ic-salarycalc .ic-sal-legend,
    .ic-holidaypay .ic-holiday-legend,
    .ic-firsthomecalc .ic-fhs-donut-legend,
    .ic-dayratecalc .ic-dr-donut-legend,
    .ic-payecalc .ic-paye-legend,
    .ic-loancalc .ic-loan-legend,
    .ic-savingsgoalcalc .ic-sg-donut-legend,
    .ic-renttaxcreditcalc .ic-rtc-donut-legend,
    .ic-statesavingscalc .ic-ss-legend,
    .ic-ncscalc .ic-ncs-legend,
    .ic-susicalc .ic-susi-threshold-legend,
    .ic-redundancycalc .ic-rd-donut-legend,
    .ic-fhsservicecalc .ic-fhs-service-charge-legend
) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 12px !important;
    color: var(--ic-text-muted, #64748b) !important;
    font-family: var(--ic-font, Inter, system-ui, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

@media (min-width: 701px) and (max-width: 1100px) {
    :is(
        .ic-salarycalc .ic-sal-hero,
        .ic-holidaypay .ic-holiday-hero-row,
        .ic-firsthomecalc .ic-fhs-hero-row,
        .ic-dayratecalc .ic-dr-hero-row,
        .ic-payecalc .ic-paye-hero-row,
        .ic-loancalc .ic-loan-top-grid,
        .ic-savingsgoalcalc .ic-sg-result-dashboard,
        .ic-renttaxcreditcalc .ic-rtc-overview,
        .ic-statesavingscalc .ic-ss-result-overview,
        .ic-ncscalc .ic-ncs-overview,
        .ic-susicalc .ic-susi-dashboard,
        .ic-redundancycalc .ic-rd-overview,
        .ic-fhsservicecalc .ic-fhs-service-charge-overview
    ) {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 280px) !important;
        gap: 18px !important;
    }

    :is(
        .ic-salarycalc .ic-sal-top-metrics,
        .ic-holidaypay .ic-holiday-top-metrics,
        .ic-firsthomecalc .ic-fhs-top-metrics,
        .ic-dayratecalc .ic-dr-summary-grid,
        .ic-payecalc .ic-paye-top-metrics,
        .ic-loancalc .ic-loan-top-metrics,
        .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
        .ic-renttaxcreditcalc .ic-rtc-top-metrics,
        .ic-statesavingscalc .ic-ss-summary-grid--primary,
        .ic-ncscalc .ic-ncs-summary-grid,
        .ic-susicalc .ic-susi-summary-grid,
        .ic-redundancycalc .ic-rd-top-metrics,
        .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    :is(
        .ic-salarycalc .ic-sal-donut,
        .ic-holidaypay .ic-holiday-donut,
        .ic-firsthomecalc .ic-fhs-donut,
        .ic-dayratecalc .ic-dr-donut,
        .ic-payecalc .ic-paye-donut,
        .ic-loancalc .ic-loan-donut,
        .ic-savingsgoalcalc .ic-sg-donut,
        .ic-renttaxcreditcalc .ic-rtc-donut,
        .ic-statesavingscalc .ic-ss-donut,
        .ic-ncscalc .ic-ncs-donut,
        .ic-susicalc .ic-susi-threshold-ring,
        .ic-redundancycalc .ic-rd-donut,
        .ic-fhsservicecalc .ic-fhs-service-charge-donut
    ) {
        width: min(220px, 100%) !important;
        max-width: 220px !important;
    }
}

@media (max-width: 700px) {
    :is(
        .ic-salarycalc .ic-sal-hero,
        .ic-holidaypay .ic-holiday-hero-row,
        .ic-firsthomecalc .ic-fhs-hero-row,
        .ic-dayratecalc .ic-dr-hero-row,
        .ic-payecalc .ic-paye-hero-row,
        .ic-loancalc .ic-loan-top-grid,
        .ic-savingsgoalcalc .ic-sg-result-dashboard,
        .ic-renttaxcreditcalc .ic-rtc-overview,
        .ic-statesavingscalc .ic-ss-result-overview,
        .ic-ncscalc .ic-ncs-overview,
        .ic-susicalc .ic-susi-dashboard,
        .ic-redundancycalc .ic-rd-overview,
        .ic-fhsservicecalc .ic-fhs-service-charge-overview
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    :is(
        .ic-salarycalc .ic-sal-top-metrics,
        .ic-holidaypay .ic-holiday-top-metrics,
        .ic-firsthomecalc .ic-fhs-top-metrics,
        .ic-dayratecalc .ic-dr-summary-grid,
        .ic-payecalc .ic-paye-top-metrics,
        .ic-loancalc .ic-loan-top-metrics,
        .ic-savingsgoalcalc .ic-sg-result-main > .ic-sg-top-grid,
        .ic-renttaxcreditcalc .ic-rtc-top-metrics,
        .ic-statesavingscalc .ic-ss-summary-grid--primary,
        .ic-ncscalc .ic-ncs-summary-grid,
        .ic-susicalc .ic-susi-summary-grid,
        .ic-redundancycalc .ic-rd-top-metrics,
        .ic-fhsservicecalc .ic-fhs-service-charge-summary-grid
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    :is(
        .ic-salarycalc .ic-sal-net-card,
        .ic-holidaypay .ic-holiday-hero-left > .ic-result-primary,
        .ic-firsthomecalc .ic-fhs-hero-main > .ic-result-primary,
        .ic-dayratecalc .ic-dr-hero-main > .ic-result-primary,
        .ic-payecalc .ic-paye-hero-left > .ic-result-primary,
        .ic-loancalc .ic-loan-main-stack > .ic-result-primary,
        .ic-savingsgoalcalc .ic-sg-result-main > .ic-result-primary,
        .ic-renttaxcreditcalc .ic-rtc-overview-main > .ic-result-primary,
        .ic-statesavingscalc .ic-ss-result-overview-main > .ic-result-primary,
        .ic-ncscalc .ic-ncs-overview-main > .ic-result-primary,
        .ic-susicalc .ic-susi-primary-card,
        .ic-redundancycalc .ic-rd-overview-main > .ic-result-primary,
        .ic-fhsservicecalc .ic-fhs-service-charge-overview-main > .ic-result-primary
    ) {
        min-height: 124px !important;
        padding: 18px 14px !important;
    }

    :is(
        .ic-salarycalc .ic-sal-donut,
        .ic-holidaypay .ic-holiday-donut,
        .ic-firsthomecalc .ic-fhs-donut,
        .ic-dayratecalc .ic-dr-donut,
        .ic-payecalc .ic-paye-donut,
        .ic-loancalc .ic-loan-donut,
        .ic-savingsgoalcalc .ic-sg-donut,
        .ic-renttaxcreditcalc .ic-rtc-donut,
        .ic-statesavingscalc .ic-ss-donut,
        .ic-ncscalc .ic-ncs-donut,
        .ic-susicalc .ic-susi-threshold-ring,
        .ic-redundancycalc .ic-rd-donut,
        .ic-fhsservicecalc .ic-fhs-service-charge-donut
    ) {
        width: min(220px, 78vw) !important;
        max-width: 220px !important;
    }
}

/* Donut correction, 4.1.370 revision 1.
 * Explicit percentage geometry prevents old grid tracks, padding and minimum
 * sizes from shrinking the cutout. All charts use the Net Salary proportions. */
.ic-salarycalc .ic-sal-donut.ic-sal-donut.ic-sal-donut,
.ic-holidaypay .ic-holiday-donut.ic-holiday-donut.ic-holiday-donut,
.ic-firsthomecalc .ic-fhs-donut.ic-fhs-donut.ic-fhs-donut,
.ic-dayratecalc .ic-dr-donut.ic-dr-donut.ic-dr-donut,
.ic-payecalc .ic-paye-donut.ic-paye-donut.ic-paye-donut,
.ic-loancalc .ic-loan-donut.ic-loan-donut.ic-loan-donut,
.ic-savingsgoalcalc .ic-sg-donut.ic-sg-donut.ic-sg-donut,
.ic-renttaxcreditcalc .ic-rtc-donut.ic-rtc-donut.ic-rtc-donut,
.ic-statesavingscalc .ic-ss-donut.ic-ss-donut.ic-ss-donut,
.ic-ncscalc .ic-ncs-donut.ic-ncs-donut.ic-ncs-donut,
.ic-susicalc .ic-susi-threshold-ring.ic-susi-threshold-ring.ic-susi-threshold-ring,
.ic-redundancycalc .ic-rd-donut.ic-rd-donut.ic-rd-donut,
.ic-fhsservicecalc .ic-fhs-service-charge-donut.ic-fhs-service-charge-donut.ic-fhs-service-charge-donut {
    position: relative !important;
    box-sizing: border-box !important;
    width: min(245px, 100%) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    border-radius: 50% !important;
    margin-inline: auto !important;
    isolation: isolate;
}
.ic-salarycalc .ic-sal-donut.ic-sal-donut.ic-sal-donut > .ic-sal-donut-center.ic-sal-donut-center,
.ic-holidaypay .ic-holiday-donut.ic-holiday-donut.ic-holiday-donut > .ic-holiday-donut-center.ic-holiday-donut-center,
.ic-firsthomecalc .ic-fhs-donut.ic-fhs-donut.ic-fhs-donut > .ic-fhs-donut-center.ic-fhs-donut-center,
.ic-dayratecalc .ic-dr-donut.ic-dr-donut.ic-dr-donut > .ic-dr-donut-center.ic-dr-donut-center,
.ic-payecalc .ic-paye-donut.ic-paye-donut.ic-paye-donut > .ic-paye-donut-center.ic-paye-donut-center,
.ic-loancalc .ic-loan-donut.ic-loan-donut.ic-loan-donut > .ic-loan-donut__hole.ic-loan-donut__hole,
.ic-savingsgoalcalc .ic-sg-donut.ic-sg-donut.ic-sg-donut > .ic-sg-donut-center.ic-sg-donut-center,
.ic-renttaxcreditcalc .ic-rtc-donut.ic-rtc-donut.ic-rtc-donut > .ic-rtc-donut-center.ic-rtc-donut-center,
.ic-statesavingscalc .ic-ss-donut.ic-ss-donut.ic-ss-donut > .ic-ss-donut-center.ic-ss-donut-center,
.ic-ncscalc .ic-ncs-donut.ic-ncs-donut.ic-ncs-donut > .ic-ncs-donut-center.ic-ncs-donut-center,
.ic-susicalc .ic-susi-threshold-ring.ic-susi-threshold-ring.ic-susi-threshold-ring > .ic-susi-threshold-ring__centre.ic-susi-threshold-ring__centre,
.ic-redundancycalc .ic-rd-donut.ic-rd-donut.ic-rd-donut > .ic-rd-donut-center.ic-rd-donut-center,
.ic-fhsservicecalc .ic-fhs-service-charge-donut.ic-fhs-service-charge-donut.ic-fhs-service-charge-donut > .ic-fhs-service-charge-donut-center.ic-fhs-service-charge-donut-center {
    position: absolute !important;
    inset: 23% !important;
    width: 54% !important;
    height: 54% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    background: var(--ic-surface, #fff) !important;
    text-align: center !important;
    z-index: 1 !important;
}
@media (max-width: 1100px) {
.ic-salarycalc .ic-sal-donut.ic-sal-donut.ic-sal-donut,
.ic-holidaypay .ic-holiday-donut.ic-holiday-donut.ic-holiday-donut,
.ic-firsthomecalc .ic-fhs-donut.ic-fhs-donut.ic-fhs-donut,
.ic-dayratecalc .ic-dr-donut.ic-dr-donut.ic-dr-donut,
.ic-payecalc .ic-paye-donut.ic-paye-donut.ic-paye-donut,
.ic-loancalc .ic-loan-donut.ic-loan-donut.ic-loan-donut,
.ic-savingsgoalcalc .ic-sg-donut.ic-sg-donut.ic-sg-donut,
.ic-renttaxcreditcalc .ic-rtc-donut.ic-rtc-donut.ic-rtc-donut,
.ic-statesavingscalc .ic-ss-donut.ic-ss-donut.ic-ss-donut,
.ic-ncscalc .ic-ncs-donut.ic-ncs-donut.ic-ncs-donut,
.ic-susicalc .ic-susi-threshold-ring.ic-susi-threshold-ring.ic-susi-threshold-ring,
.ic-redundancycalc .ic-rd-donut.ic-rd-donut.ic-rd-donut,
.ic-fhsservicecalc .ic-fhs-service-charge-donut.ic-fhs-service-charge-donut.ic-fhs-service-charge-donut { width: min(220px, 100%) !important; }
}

/* Same first and second segment colours as Net Pay and Income Tax. */
.ic-salarycalc,
.ic-holidaypay,
.ic-firsthomecalc,
.ic-dayratecalc,
.ic-payecalc,
.ic-loancalc,
.ic-savingsgoalcalc,
.ic-renttaxcreditcalc,
.ic-statesavingscalc,
.ic-ncscalc,
.ic-susicalc,
.ic-redundancycalc,
.ic-fhsservicecalc {
    --ic-chart-primary: var(--ic-success, #16a34a);
    --ic-chart-secondary: var(--ic-primary, #106b37);
    --ic-chart-third: var(--ic-warn, #d97706);
    --ic-chart-fourth: #7c3aed;
    --ic-chart-fifth: #0ea5e9;
    --ic-holiday-remain: var(--ic-chart-primary);
    --ic-holiday-used: var(--ic-chart-secondary);
    --ic-paye-20: var(--ic-chart-primary);
    --ic-paye-40: var(--ic-chart-secondary);
    --ic-dr-takehome: var(--ic-chart-primary);
    --ic-dr-tax: var(--ic-chart-secondary);
    --ic-dr-costs: var(--ic-chart-third);
    --ic-dr-pension: var(--ic-chart-fourth);
    --ic-dr-buffer: var(--ic-chart-fifth);
    --ic-loan-principal: var(--ic-chart-primary);
    --ic-loan-interest: var(--ic-chart-secondary);
    --ic-loan-fees: var(--ic-chart-third);
    --ic-ss-chart-principal: var(--ic-chart-primary);
    --ic-ss-chart-return: var(--ic-chart-secondary);
    --ic-sg-donut-first: var(--ic-chart-primary);
    --ic-sg-donut-second: var(--ic-chart-secondary);
    --ic-rtc-cap: var(--ic-chart-secondary);
    --ic-ncs-parent: var(--ic-chart-secondary);
    --ic-rd-bonus: var(--ic-chart-secondary);
    --ic-fhs-service-remaining: var(--ic-chart-secondary);
    --ic-fhs-mortgage: var(--ic-chart-primary);
    --ic-fhs-deposit: var(--ic-chart-secondary);
    --ic-fhs-htb: var(--ic-chart-third);
    --ic-fhs-equity: var(--ic-chart-fourth);
    --ic-fhs-gap: var(--ic-chart-fifth);
}
.ic-savingsgoalcalc .ic-sg-donut { --ic-sg-donut-first: var(--ic-chart-primary); --ic-sg-donut-second: var(--ic-chart-secondary); }
.ic-ncscalc .ic-ncs-dot--support,
.ic-renttaxcreditcalc .ic-rtc-donut-legend i:not(.is-remaining),
.ic-redundancycalc .ic-rd-donut-legend i:not(.is-bonus),
.ic-fhsservicecalc .ic-fhs-service-charge-legend i:not(.is-remaining),
.ic-susicalc .ic-susi-threshold-visual .ic-susi-threshold-legend i:not(.is-remaining) {
    background: var(--ic-chart-primary) !important;
}
.ic-susicalc .ic-susi-threshold-visual .ic-susi-threshold-legend .is-remaining {
    background: var(--ic-chart-secondary) !important;
}
.ic-susicalc .ic-susi-threshold-ring {
    background: conic-gradient(var(--ic-chart-primary) 0 var(--ic-susi-gauge-angle, 0deg), var(--ic-chart-secondary) var(--ic-susi-gauge-angle, 0deg) 360deg) !important;
}
