@import '_content/ICat.Mapping/ICat.Mapping.tfrw9b3u7x.bundle.scp.css';
@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.bundle.scp.css';

/* /Components/Account/Pages/Login.razor.rz.scp.css */
.resend-link[b-ezg6uqj9ec] {
    margin: 8px 0;
}
/* /Components/Account/Pages/Manage/TwoFactorAuthentication.razor.rz.scp.css */
.forget-browser-form[b-wek1e4qp0n] {
    display: inline-block;
}
/* /Components/Account/Pages/Register.razor.rz.scp.css */
.password-hint[b-cdwn2jikgl] {
    font-size: 0.9em;
    color: var(--colorNeutralForeground3);
    margin: 4px 0 8px;
}

    .password-hint p[b-cdwn2jikgl] {
        margin: 0 0 4px;
    }

    .password-hint ul[b-cdwn2jikgl] {
        margin: 4px 0 8px;
        padding-left: 20px;
        font-size: 0.9em;
        color: var(--colorNeutralForeground3);
    }
/* /Components/Features/ArcManagement/Components/SiteDensityField.razor.rz.scp.css */
.site-density-hint[b-uo0rxwyimx] {
    font-size: 12px;
    color: var(--colorNeutralForeground3, #616161);
}
/* /Components/Features/ArcManagement/Dialogs/FundingBreakdownDialog.razor.rz.scp.css */
.options-hint[b-ezdvb0ork1] {
    margin: 0 0 12px;
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/ArcManagement/Views/ArcManagementPage.razor.rz.scp.css */
.catchment-selector[b-6uwxu1tqzl] {
    width: auto;
}
/* /Components/Features/DataImport/Views/DataImportView.razor.rz.scp.css */
.upload-progress[b-bvfdd30eqx] {
    margin: 10px;
}

.grid-container[b-bvfdd30eqx] {
    margin: 20px;
}

.catchment-selector[b-bvfdd30eqx] {
    width: auto;
    flex: 0 0 auto;
}
/* /Components/Features/FeatureManagement/Dialogs/FeatureGrantsDialog.razor.rz.scp.css */
.funding[b-5lermdqspl] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.funding-heading[b-5lermdqspl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.help-toggle[b-5lermdqspl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--colorNeutralForeground1, #242424);
    border-radius: 50%;
    background: transparent;
    color: var(--colorNeutralForeground1, #242424);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.help-toggle:hover[b-5lermdqspl],
.help-toggle[aria-expanded="true"][b-5lermdqspl] {
    background: var(--colorNeutralBackground2, #f5f5f5);
}

.help-toggle:focus-visible[b-5lermdqspl] {
    outline: 2px solid var(--colorBrandBackground, #0f6cbd);
    outline-offset: 3px;
}

.funding-help[b-5lermdqspl] {
    padding: 12px;
    border-radius: 6px;
    background: var(--colorNeutralBackground2, #f5f5f5);
    font-size: 13px;
}

.funding-help p[b-5lermdqspl] {
    margin: 0;
}

@media (pointer: coarse) {
    .help-toggle[b-5lermdqspl] {
        width: 44px;
        height: 44px;
    }
}

.funding section[b-5lermdqspl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.feature-card[b-5lermdqspl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 6px;
    background: var(--colorNeutralBackground2, #f5f5f5);
}

.feature-card span[b-5lermdqspl],
.hint[b-5lermdqspl],
.none[b-5lermdqspl],
.grant-rate[b-5lermdqspl],
.source[b-5lermdqspl] {
    font-size: 12px;
    color: var(--colorNeutralForeground3, #616161);
}

.funding h4[b-5lermdqspl] {
    margin: 0;
}

.picker-row[b-5lermdqspl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.items[b-5lermdqspl] {
    padding-top: 12px;
    border-top: 1px solid var(--colorNeutralStroke1, #d1d1d1);
}

.density[b-5lermdqspl] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
}

.grant-row[b-5lermdqspl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.source[b-5lermdqspl] {
    margin-left: 4px;
}

.none[b-5lermdqspl],
.notice[b-5lermdqspl] {
    margin: 0;
}

.notice[b-5lermdqspl],
.error[b-5lermdqspl] {
    font-size: 12px;
    color: var(--error, #b10e1c);
}

.summary[b-5lermdqspl] {
    padding: 10px 12px;
    border-radius: 6px;
    background: var(--colorNeutralBackground2, #f5f5f5);
}

.summary-title[b-5lermdqspl] {
    font-size: 12px;
}

.summary-line[b-5lermdqspl] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
/* /Components/Features/FeatureSuggestions/Dialogs/ApplySuggestionsDialog.razor.rz.scp.css */
.summary[b-dmh7s9w7h5] {
    border-collapse: collapse;
    margin-bottom: 8px;
}

.summary th[b-dmh7s9w7h5],
.summary td[b-dmh7s9w7h5] {
    text-align: left;
    padding: 4px 10px 4px 0;
    vertical-align: top;
}

.summary .count[b-dmh7s9w7h5] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    min-width: 3ch;
}

.summary .codes[b-dmh7s9w7h5] {
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/FeatureSuggestions/Dialogs/ReviewSuggestionDialog.razor.rz.scp.css */
.review[b-ulcofs24in] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.grant[b-ulcofs24in] {
    padding: 8px 12px;
    border-left: 3px solid var(--colorBrandBackground);
    background: var(--colorNeutralBackground2);
}

.fields[b-ulcofs24in] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hint[b-ulcofs24in] {
    color: var(--colorNeutralForeground3);
    font-size: 0.9em;
    margin: 4px 0 0;
}

.problem[b-ulcofs24in] {
    color: var(--error);
}
/* /Components/Features/FeatureSuggestions/Views/FeatureSuggestionsPage.razor.rz.scp.css */
.intro[b-0vvi9x3t7v] {
    max-width: 900px;
}

.toolbar[b-0vvi9x3t7v] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
    margin-bottom: 12px;
}

.muted[b-0vvi9x3t7v] {
    color: var(--colorNeutralForeground3);
}

.small[b-0vvi9x3t7v] {
    font-size: 0.85em;
}

.chips[b-0vvi9x3t7v] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 16px;
}

.chip[b-0vvi9x3t7v] {
    padding: 4px 10px;
    border: 1px solid var(--colorNeutralStroke1);
    border-radius: 999px;
}

.rows[b-0vvi9x3t7v] {
    width: 100%;
    border-collapse: collapse;
}

.rows th[b-0vvi9x3t7v],
.rows td[b-0vvi9x3t7v] {
    text-align: left;
    vertical-align: top;
    padding: 6px 8px;
    border-bottom: 1px solid var(--colorNeutralStroke2);
}

.rows .code[b-0vvi9x3t7v] {
    white-space: nowrap;
    font-weight: 600;
}

.rows .code .muted[b-0vvi9x3t7v] {
    font-weight: normal;
}

.rows .actions[b-0vvi9x3t7v] {
    white-space: nowrap;
}

.rows tr.decision-approve[b-0vvi9x3t7v] {
    background: color-mix(in srgb, var(--colorBrandBackground) 8%, transparent);
}

.rows tr.decision-dismiss[b-0vvi9x3t7v],
.rows tr.dismissed[b-0vvi9x3t7v] {
    opacity: 0.7;
}

.badge[b-0vvi9x3t7v] {
    margin-left: 4px;
    color: var(--colorNeutralForeground3);
}

.footer[b-0vvi9x3t7v] {
    position: sticky;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 10px 0;
    margin-top: 12px;
    background: var(--colorNeutralBackground1);
    border-top: 1px solid var(--colorNeutralStroke1);
}

.footer span[b-0vvi9x3t7v] {
    margin-right: auto;
}
/* /Components/Features/FundingManagement/Dialogs/EditFunderDialog.razor.rz.scp.css */
/* Base .validation-message lives in app.css; this dialog adds extra spacing */
.funder-fields[b-kh9bmbp67l]  .validation-message {
    margin-bottom: 12px;
}
/* /Components/Features/GrantUpdates/Dialogs/ApplyGrantUpdatesDialog.razor.rz.scp.css */
.summary[b-zt5xfo6xo0] {
    border-collapse: collapse;
    margin-bottom: 8px;
}

.summary th[b-zt5xfo6xo0],
.summary td[b-zt5xfo6xo0] {
    text-align: left;
    padding: 4px 10px 4px 0;
    vertical-align: top;
}

.summary .count[b-zt5xfo6xo0] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    min-width: 3ch;
}

.summary .codes[b-zt5xfo6xo0] {
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/GrantUpdates/Dialogs/ReviewGrantChangeDialog.razor.rz.scp.css */
.review[b-jxowla6za7] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    width: 100%;
}

.changes[b-jxowla6za7] {
    margin: 0;
    padding-left: 1.2rem;
}

.compare[b-jxowla6za7] {
    border-collapse: collapse;
    width: 100%;
}

.compare th[b-jxowla6za7],
.compare td[b-jxowla6za7] {
    text-align: left;
    padding: 4px 8px;
    vertical-align: middle;
    border-bottom: 1px solid var(--colorNeutralStroke2);
}

.compare thead th[b-jxowla6za7] {
    color: var(--colorNeutralForeground3);
    font-weight: 600;
}

.compare tbody th[b-jxowla6za7] {
    width: 9rem;
    font-weight: 600;
}

.govuk h4[b-jxowla6za7] {
    margin: 0 0 4px;
}

.govuk blockquote[b-jxowla6za7] {
    margin: 0;
    padding: 8px 12px;
    border-left: 3px solid var(--colorBrandBackground);
    background: var(--colorNeutralBackground2);
    white-space: pre-wrap;
    max-height: 14rem;
    overflow: auto;
}

.hint[b-jxowla6za7] {
    color: var(--colorNeutralForeground3);
    font-size: 0.9em;
}

.outcome[b-jxowla6za7] {
    padding: 8px 12px;
    border-radius: 4px;
    background: var(--colorNeutralBackground2);
    border-left: 3px solid var(--colorBrandBackground);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.notes[b-jxowla6za7] {
    margin: 0;
    padding-left: 1.2rem;
}
/* /Components/Features/GrantUpdates/Views/GrantUpdatesPage.razor.rz.scp.css */
.toolbar[b-837odudvqx] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
    margin-bottom: 12px;
}

.muted[b-837odudvqx] {
    color: var(--colorNeutralForeground3);
}

.small[b-837odudvqx] {
    font-size: 0.85em;
}

.progress[b-837odudvqx] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 12px 0;
}

.chips[b-837odudvqx] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 16px;
}

.chip[b-837odudvqx] {
    padding: 4px 10px;
    border: 1px solid var(--colorNeutralStroke1);
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
}

.chip:hover[b-837odudvqx] {
    background: var(--colorSubtleBackgroundHover);
}

.kind[b-837odudvqx] {
    margin-bottom: 16px;
}

.kind header[b-837odudvqx] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.toggle[b-837odudvqx] {
    background: none;
    border: none;
    padding: 4px 0;
    font: inherit;
    font-weight: 600;
    font-size: 1.05rem;
    color: inherit;
    cursor: pointer;
}

.rows[b-837odudvqx] {
    width: 100%;
    border-collapse: collapse;
}

.rows th[b-837odudvqx],
.rows td[b-837odudvqx] {
    text-align: left;
    padding: 4px 8px;
    vertical-align: middle;
    border-bottom: 1px solid var(--colorNeutralStroke2);
}

.rows thead th[b-837odudvqx] {
    color: var(--colorNeutralForeground3);
    font-weight: 600;
}

.rows .code[b-837odudvqx] {
    font-weight: 600;
    white-space: nowrap;
}

.rows .actions[b-837odudvqx] {
    white-space: nowrap;
}

.rows tr.decision-approve td[b-837odudvqx] {
    background: color-mix(in srgb, var(--colorBrandBackground) 8%, transparent);
}

.rows tr.decision-reject td[b-837odudvqx] {
    color: var(--colorNeutralForeground3);
}

.badge[b-837odudvqx] {
    margin-left: 4px;
    color: var(--colorBrandForeground1);
}

.codes[b-837odudvqx] {
    line-height: 1.6;
}

.footer[b-837odudvqx] {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 10px 0;
    background: var(--colorNeutralBackground1);
    border-top: 1px solid var(--colorNeutralStroke1);
}

.footer span[b-837odudvqx] {
    margin-right: auto;
}
/* /Components/Features/Guide/Views/Documentation.razor.rz.scp.css */
.docs[b-n1dri61azo] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 12px 48px;
}

.toc[b-n1dri61azo] {
    position: sticky;
    top: 12px;
    align-self: start;
    font-size: 0.95rem;
}

.toc ol[b-n1dri61azo] {
    margin: 8px 0 0;
    padding-left: 1.2rem;
    line-height: 1.9;
}

.toc a[b-n1dri61azo] {
    text-decoration: none;
}

.toc a:hover[b-n1dri61azo] {
    text-decoration: underline;
}

.content[b-n1dri61azo] {
    max-width: 780px;
    line-height: 1.55;
}

.lead[b-n1dri61azo] {
    font-size: 1.05rem;
    color: var(--colorNeutralForeground3);
}

.content section[b-n1dri61azo] {
    padding-top: 12px;
    border-top: 1px solid var(--colorNeutralStroke2);
    margin-top: 24px;
    scroll-margin-top: 12px;
}

.content h2[b-n1dri61azo] {
    font-size: 1.35rem;
    margin: 0 0 8px;
}

.content h3[b-n1dri61azo] {
    font-size: 1.05rem;
    margin: 18px 0 6px;
}

.audience[b-n1dri61azo] {
    display: inline-block;
    font-size: 0.85rem;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--colorNeutralBackground2);
    color: var(--colorNeutralForeground3);
}

.formula[b-n1dri61azo] {
    padding: 8px 12px;
    border-left: 3px solid var(--colorBrandBackground);
    background: var(--colorNeutralBackground2);
    margin: 8px 0;
}

.simple[b-n1dri61azo] {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
}

.simple th[b-n1dri61azo],
.simple td[b-n1dri61azo] {
    text-align: left;
    vertical-align: top;
    padding: 6px 8px;
    border-bottom: 1px solid var(--colorNeutralStroke2);
}

.simple thead th[b-n1dri61azo] {
    color: var(--colorNeutralForeground3);
    font-weight: 600;
}

dl[b-n1dri61azo] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 4px 16px;
}

dt[b-n1dri61azo] {
    font-weight: 600;
}

dd[b-n1dri61azo] {
    margin: 0;
}

@media (max-width: 800px) {
    .docs[b-n1dri61azo] {
        grid-template-columns: 1fr;
    }

    .toc[b-n1dri61azo] {
        position: static;
    }
}
/* /Components/Features/Guide/Views/FAQs.razor.rz.scp.css */
.faq-content[b-kgwuw4ibdf] {
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}
/* /Components/Features/Guide/Views/UserManual.razor.rz.scp.css */
.guide-content[b-xfg4fcdnuf] {
    max-width: 840px;
    margin: 0 auto;
    padding: 0 12px 24px;
}

/* Download box */
.download-box[b-xfg4fcdnuf] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--colorNeutralStroke1);
    border-radius: 8px;
    padding: 12px;
    margin: 8px 0 12px;
}

.download-actions[b-xfg4fcdnuf] {
    display: flex;
    gap: 8px;
}

.btn[b-xfg4fcdnuf] {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid var(--colorBrandStroke1, #217346);
}

    .btn:hover[b-xfg4fcdnuf] {
        text-decoration: underline;
    }

    .btn.outline[b-xfg4fcdnuf] {
        background: transparent;
    }

/* FluentAccordion renders its own elements, so ::deep is needed to reach them */
.guide-content[b-xfg4fcdnuf]  .guide-accordion fluent-accordion-item {
    border-bottom: 1px solid var(--colorNeutralStroke1);
}

    .guide-content[b-xfg4fcdnuf]  .guide-accordion fluent-accordion-item::part(button) {
        font-weight: 600;
    }
/* /Components/Features/Landing/Views/Welcome.razor.rz.scp.css */
.welcome-page[b-sk28mkjzni] {
    max-width: 1120px;
    margin: 8px auto 0;
    padding-bottom: 32px;
    color: var(--colorNeutralForeground1);
}

.welcome-hero[b-sk28mkjzni] {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 36px;
    background: var(--colorNeutralBackground2);
    border: 1px solid var(--colorNeutralStroke2);
    border-radius: 12px;
}

.eyebrow[b-sk28mkjzni] {
    display: block;
    color: var(--colorBrandForeground1);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}

.welcome-hero h1[b-sk28mkjzni] {
    margin: 12px 0 0;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.14;
    letter-spacing: -1px;
    font-weight: 650;
}

.hero-intro[b-sk28mkjzni] {
    max-width: 590px;
    margin: 18px 0 24px;
    color: var(--colorNeutralForeground2);
    font-size: 15px;
    line-height: 1.7;
}

.welcome-actions[b-sk28mkjzni] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.catchment-illustration[b-sk28mkjzni] { min-width: 0; padding: 0 4px; }
.catchment-illustration svg[b-sk28mkjzni] { display: block; width: 100%; max-width: 360px; margin: auto; }
.catchment-area[b-sk28mkjzni] { fill: var(--colorBrandBackground2); }
.contours[b-sk28mkjzni] { stroke: var(--colorBrandForeground1); stroke-width: 1; opacity: 0.2; }
.river[b-sk28mkjzni] { stroke: var(--colorBrandForeground1); stroke-width: 5; stroke-linecap: round; }
.tributary[b-sk28mkjzni] { stroke: var(--colorBrandForeground1); stroke-width: 2.5; stroke-linecap: round; opacity: 0.6; }
.map-point circle[b-sk28mkjzni] { fill: var(--colorNeutralBackground1); stroke: var(--colorBrandForeground1); stroke-width: 1.5; }
.map-point .point-centre[b-sk28mkjzni] { fill: var(--colorBrandForeground1); stroke: none; }
.map-leaf[b-sk28mkjzni] { stroke: var(--colorBrandForeground1); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.welcome-section[b-sk28mkjzni] { margin-top: 36px; }
.section-heading[b-sk28mkjzni] { margin-bottom: 20px; }
.section-heading h2[b-sk28mkjzni] { margin: 6px 0 8px; font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -0.4px; }
.section-heading > p[b-sk28mkjzni] { margin: 0; color: var(--colorNeutralForeground2); line-height: 1.6; }

.workflow-steps[b-sk28mkjzni] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.workflow-steps li[b-sk28mkjzni] { padding: 22px; border: 1px solid var(--colorNeutralStroke2); border-radius: 8px; }
.step-number[b-sk28mkjzni] { display: block; color: var(--colorBrandForeground1); font-size: 13px; font-weight: 600; letter-spacing: 1px; margin-bottom: 14px; }
.workflow-steps h3[b-sk28mkjzni], .output-card h3[b-sk28mkjzni] { margin: 0 0 8px; font-size: 17px; font-weight: 600; line-height: 1.4; }
.workflow-steps p[b-sk28mkjzni], .output-card p[b-sk28mkjzni] { margin: 0; color: var(--colorNeutralForeground2); font-size: 14px; line-height: 1.65; }

.guide-note[b-sk28mkjzni] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 14px 18px;
    margin-top: 16px;
    background: var(--colorBrandBackground2);
    border-radius: 8px;
}
.guide-icon[b-sk28mkjzni] { display: flex; color: var(--colorBrandForeground1); }
.guide-note p[b-sk28mkjzni] { flex: 1 1 280px; margin: 0; line-height: 1.6; }
.guide-note[b-sk28mkjzni]  a { white-space: nowrap; }

.output-grid[b-sk28mkjzni] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.output-card[b-sk28mkjzni] { padding: 22px; background: var(--colorNeutralBackground2); border-radius: 8px; }
.output-icon[b-sk28mkjzni] { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 16px; color: var(--colorBrandForeground1); background: var(--colorBrandBackground2); border-radius: 10px; }

@media (max-width: 1100px) {
    .welcome-hero[b-sk28mkjzni] { padding: 28px; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 16px; }
    .output-grid[b-sk28mkjzni] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workflow-steps[b-sk28mkjzni] { gap: 12px; }
    .workflow-steps li[b-sk28mkjzni] { padding: 18px; }
}

@media (max-width: 700px) {
    .welcome-page[b-sk28mkjzni] { margin-top: 4px; }
    .welcome-hero[b-sk28mkjzni] { grid-template-columns: minmax(0, 1fr); padding: 24px; }
    .catchment-illustration[b-sk28mkjzni] { display: none; }
    .desktop-break[b-sk28mkjzni] { display: none; }
    .welcome-hero h1[b-sk28mkjzni] { letter-spacing: -0.6px; }
    .hero-intro[b-sk28mkjzni] { font-size: 14px; }
    .welcome-section[b-sk28mkjzni] { margin-top: 28px; }
    .section-heading h2[b-sk28mkjzni] { font-size: 22px; }
    .workflow-steps[b-sk28mkjzni], .output-grid[b-sk28mkjzni] { grid-template-columns: minmax(0, 1fr); }
    .guide-note[b-sk28mkjzni] { padding: 14px 16px; }
    .guide-note p[b-sk28mkjzni] { flex-basis: calc(100% - 32px); }
    .guide-note[b-sk28mkjzni]  a { margin-inline-start: 32px; }
}
/* /Components/Features/LogViewer/Views/LogViewerPage.razor.rz.scp.css */
.log-toolbar[b-i8djwkzld0] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
    margin-bottom: 12px;
}

.log-actions[b-i8djwkzld0] {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.log-summary[b-i8djwkzld0] {
    margin: 0 0 8px;
    color: var(--colorNeutralForeground3);
}

.log-entries[b-i8djwkzld0] {
    font-family: Consolas, "Cascadia Mono", monospace;
    font-size: 0.85rem;
    border: 1px solid var(--colorNeutralStroke1);
    border-radius: 4px;
    max-height: 70vh;
    overflow: auto;
}

.log-entry[b-i8djwkzld0] {
    display: grid;
    grid-template-columns: max-content 3.5em minmax(0, 1fr);
    gap: 12px;
    padding: 4px 8px;
    border-bottom: 1px solid var(--colorNeutralStroke2);
    border-left: 3px solid transparent;
}

.log-time[b-i8djwkzld0] {
    color: var(--colorNeutralForeground3);
    white-space: nowrap;
}

.log-level[b-i8djwkzld0] {
    font-weight: 600;
}

.log-message[b-i8djwkzld0] {
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.log-message summary[b-i8djwkzld0] {
    cursor: pointer;
}

.log-message pre[b-i8djwkzld0] {
    margin: 6px 0 2px;
    padding: 8px;
    background: var(--colorNeutralBackground2);
    border-radius: 4px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 0.8rem;
}

.level-WRN[b-i8djwkzld0] {
    border-left-color: #c19c00;
    background: color-mix(in srgb, #c19c00 8%, transparent);
}

.level-WRN .log-level[b-i8djwkzld0] { color: var(--colorStatusWarningForeground1); }

.level-ERR[b-i8djwkzld0], .level-FTL[b-i8djwkzld0] {
    border-left-color: var(--colorStatusDangerForeground1);
    background: color-mix(in srgb, var(--colorStatusDangerForeground1) 8%, transparent);
}

.level-ERR .log-level[b-i8djwkzld0], .level-FTL .log-level[b-i8djwkzld0] { color: var(--colorStatusDangerForeground1); }

.level-INF .log-level[b-i8djwkzld0] { color: var(--colorBrandForeground1); }

.level-DBG .log-level[b-i8djwkzld0], .level-VRB .log-level[b-i8djwkzld0] { color: var(--colorNeutralForeground3); }

/* Routine request lines are noise next to real messages, so tone them down. */
.http .log-message[b-i8djwkzld0],
.http .log-level[b-i8djwkzld0] {
    color: var(--colorNeutralForeground3);
}

.http-4xx[b-i8djwkzld0] {
    border-left-color: #c19c00;
}

.http-4xx .log-message[b-i8djwkzld0] { color: var(--colorStatusWarningForeground1); }

.http-5xx[b-i8djwkzld0] {
    border-left-color: var(--colorStatusDangerForeground1);
}

.http-5xx .log-message[b-i8djwkzld0] { color: var(--colorStatusDangerForeground1); }

@media (max-width: 700px) {
    .log-entry[b-i8djwkzld0] {
        grid-template-columns: max-content minmax(0, 1fr);
    }

    .log-message[b-i8djwkzld0] {
        grid-column: 1 / -1;
    }
}
/* /Components/Features/Mapping/Components/HabitatPicker.razor.rz.scp.css */
.habitat-picker[b-89m8vpia5x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

/* Same box as the panel's <select>s: height, border and chevron. */
.chosen[b-89m8vpia5x] {
    display: block;
    width: 100%;
    min-height: 32px;
    padding: 5px 28px 5px 8px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-radius: 4px;
    background: var(--colorNeutralBackground1, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23616161' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 9px center;
    font: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}

    .chosen .name[b-89m8vpia5x] {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .chosen.empty .name[b-89m8vpia5x] {
        color: var(--colorNeutralForeground3);
    }

.helper[b-89m8vpia5x] {
    color: var(--colorNeutralForeground3);
    font-size: 12px;
}

.search-row[b-89m8vpia5x] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.search[b-89m8vpia5x] {
    flex: 1;
    min-width: 0;
    padding: 6px 8px;
    border: 1px solid var(--colorBrandBackground, #0f6cbd);
    border-radius: 4px;
    font: inherit;
    font-size: 13px;
}

.link[b-89m8vpia5x] {
    border: 0;
    padding: 0;
    background: none;
    color: var(--colorBrandForeground1, #0f6cbd);
    font: inherit;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}

.options[b-89m8vpia5x] {
    max-height: 240px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-radius: 4px;
}

    .options .group[b-89m8vpia5x] {
        position: sticky;
        top: 0;
        padding: 4px 8px;
        background: var(--colorNeutralBackground3);
        color: var(--colorNeutralForeground2);
        font-size: 12px;
        font-weight: 600;
    }

    .options .none[b-89m8vpia5x] {
        padding: 8px;
        color: var(--colorNeutralForeground3);
        font-size: 13px;
    }

.option[b-89m8vpia5x] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 5px 8px 5px 16px;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}

    .option:hover[b-89m8vpia5x], .option:focus-visible[b-89m8vpia5x] {
        background: var(--colorBrandBackground2);
    }

    .option.current[b-89m8vpia5x] {
        background: var(--colorBrandBackground2);
        font-weight: 600;
    }

    .option .code[b-89m8vpia5x] {
        color: var(--colorNeutralForeground3);
        font-size: 12px;
        white-space: nowrap;
    }

/* Native controls inherit the same foreground as their themed panel. */
button[b-89m8vpia5x], input[b-89m8vpia5x], select[b-89m8vpia5x] { color: inherit; }
/* /Components/Features/Mapping/Components/ShapePickerPanel.razor.rz.scp.css */
/* Flat inside the side panel: sections are separated by dividers, not boxed in cards. */
.picker[b-nltg03kzvl] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.picker-header[b-nltg03kzvl] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
    font-size: 13px;
}

    .picker-header.nothing-selected[b-nltg03kzvl] {
        border-bottom: 0;
        color: var(--colorNeutralForeground3);
    }

    .picker-header .title-row[b-nltg03kzvl] {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        align-self: stretch;
    }

    .picker-header .title[b-nltg03kzvl] {
        font-size: 15px;
        font-weight: 600;
    }

    .picker-header .status[b-nltg03kzvl] {
        flex-shrink: 0;
        padding: 1px 8px;
        border-radius: 10px;
        background: var(--colorBrandBackground2);
        color: var(--colorBrandForeground1);
        font-size: 12px;
    }

        .picker-header .status.unassigned[b-nltg03kzvl] {
            background: var(--colorStatusDangerBackground1);
            color: var(--error, #b10e1c);
        }

    .picker-header .meta[b-nltg03kzvl] {
        color: var(--colorNeutralForeground3);
    }

    .picker-header .assigned[b-nltg03kzvl] {
        font-weight: 600;
    }

    .picker-header .rule-warning[b-nltg03kzvl] {
        color: var(--colorStatusWarningForeground1);
    }

    .picker-header .problem[b-nltg03kzvl] {
        color: var(--error, #b10e1c);
    }

.link[b-nltg03kzvl] {
    border: 0;
    padding: 0;
    background: none;
    color: var(--colorBrandForeground1, #0f6cbd);
    font: inherit;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}

/* Underlined tabs across the panel's width: lighter than filled pills. */
.picker-tabs[b-nltg03kzvl] {
    display: flex;
    border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
}

    .picker-tabs button[b-nltg03kzvl] {
        flex: 1;
        margin-bottom: -1px;
        padding: 6px 8px;
        border: 0;
        border-bottom: 2px solid transparent;
        background: transparent;
        color: var(--colorNeutralForeground2);
        font: inherit;
        font-size: 13px;
        cursor: pointer;
    }

        .picker-tabs button:hover:not(:disabled)[b-nltg03kzvl] {
            color: var(--colorNeutralForeground1);
            background: var(--colorNeutralBackground1Hover);
        }

        .picker-tabs button.active[b-nltg03kzvl] {
            border-bottom-color: #4f7350;
            color: var(--colorNeutralForeground1);
            font-weight: 600;
        }

        .picker-tabs button:disabled[b-nltg03kzvl] {
            color: var(--colorNeutralForegroundDisabled);
            cursor: not-allowed;
        }

/* Fields, the same on both tabs: label, control, muted helper line. */
.field[b-nltg03kzvl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
}

.field-label[b-nltg03kzvl] {
    color: var(--colorNeutralForeground2);
}

.helper[b-nltg03kzvl] {
    color: var(--colorNeutralForeground3);
    font-size: 12px;
}

.search[b-nltg03kzvl] {
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-radius: 4px;
    background: var(--colorNeutralBackground1, #fff);
    font: inherit;
}

    .search:focus[b-nltg03kzvl] {
        outline: none;
        border-color: var(--colorBrandBackground, #0f6cbd);
    }

.picker-list[b-nltg03kzvl] {
    max-height: 45vh;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--colorNeutralStroke2, #e0e0e0);
}

    .picker-list > li[b-nltg03kzvl] {
        display: grid;
        grid-template-columns: 1fr auto;
        border-bottom: 1px solid var(--colorNeutralStroke2, #ececec);
    }

        .picker-list > li.current[b-nltg03kzvl] {
            background: var(--colorBrandBackground2);
            box-shadow: inset 3px 0 0 #4f7350;
        }

        .picker-list > li.none[b-nltg03kzvl] {
            display: block;
            padding: 10px 8px;
            color: var(--colorNeutralForeground3);
        }

    .picker-list .choose[b-nltg03kzvl] {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        padding: 8px;
        border: 0;
        background: none;
        font: inherit;
        text-align: left;
        cursor: pointer;
    }

        .picker-list .choose:hover[b-nltg03kzvl] {
            background: var(--colorNeutralBackground1Hover);
        }

    .picker-list .name[b-nltg03kzvl] {
        font-weight: 600;
    }

    .picker-list .code[b-nltg03kzvl] {
        font-size: 12px;
        color: var(--colorNeutralForeground3);
    }

    .picker-list .rule-warning[b-nltg03kzvl] {
        font-size: 12px;
        color: var(--colorStatusWarningForeground1);
    }

    .picker-list .info[b-nltg03kzvl] {
        align-self: center;
        padding: 6px 10px;
        border: 0;
        background: none;
        color: var(--colorNeutralForeground3);
        cursor: pointer;
    }

    .picker-list .details[b-nltg03kzvl] {
        grid-column: 1 / -1;
    }

    .details[b-nltg03kzvl] {
        padding: 4px 10px 10px;
        font-size: 13px;
    }

        .details dl[b-nltg03kzvl] {
            display: grid;
            grid-template-columns: max-content 1fr;
            gap: 2px 12px;
            margin: 0 0 6px;
        }

        .details dt[b-nltg03kzvl] {
            color: var(--colorNeutralForeground3);
        }

        .details dd[b-nltg03kzvl] {
            margin: 0;
        }

        .details ul[b-nltg03kzvl] {
            margin: 4px 0 0;
            padding-left: 18px;
        }

.habitat-change[b-nltg03kzvl] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 13px;
}

    .habitat-change .side[b-nltg03kzvl] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
    }

    /* Same size as the field labels: a section title, not a page heading. */
    .habitat-change .side-title[b-nltg03kzvl] {
        margin: 0;
        font-size: 13px;
        font-weight: 600;
    }

    /* Same box as HabitatPicker's button: height, border and chevron. */
    .habitat-change select[b-nltg03kzvl] {
        min-height: 32px;
        padding: 5px 28px 5px 8px;
        border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
        border-radius: 4px;
        background: var(--colorNeutralBackground1, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23616161' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 9px center;
        font: inherit;
        appearance: none;
        cursor: pointer;
    }

        .habitat-change select:disabled[b-nltg03kzvl] {
            color: var(--colorNeutralForegroundDisabled);
            background-color: var(--colorNeutralBackgroundDisabled);
            cursor: not-allowed;
        }

    .habitat-change .units[b-nltg03kzvl] {
        padding: 8px 10px;
        border-radius: 4px;
        background: var(--colorBrandBackground2);
    }

        .habitat-change .units .slots[b-nltg03kzvl] {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
        }

        .habitat-change .units .slot[b-nltg03kzvl] {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .habitat-change .units .slot-label[b-nltg03kzvl] {
            color: var(--colorNeutralForeground3);
            font-size: 12px;
        }

        .habitat-change .units strong[b-nltg03kzvl] {
            font-size: 15px;
        }

        .habitat-change .units .loss[b-nltg03kzvl] {
            color: var(--error, #b10e1c);
        }

        .habitat-change .units-note[b-nltg03kzvl] {
            margin: 6px 0 0;
            color: var(--colorNeutralForeground2);
            font-size: 12px;
        }

    .habitat-change .rule-warning[b-nltg03kzvl] {
        margin: 0;
        color: var(--colorStatusWarningForeground1);
    }

    .habitat-change .none[b-nltg03kzvl] {
        margin: 0;
        color: var(--colorNeutralForeground3);
    }

    .habitat-change .link[b-nltg03kzvl] {
        align-self: flex-start;
    }

/* ---- No shapes yet ------------------------------------------------------------------------------------------- */

.empty-state[b-nltg03kzvl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    padding: 28px 12px 16px;
    color: var(--colorNeutralForeground3);
    text-align: center;
}

    .empty-state strong[b-nltg03kzvl] {
        color: var(--colorNeutralForeground1);
        font-size: 15px;
    }

.empty-icon[b-nltg03kzvl] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--colorBrandBackground2);
    color: var(--colorBrandForeground1);
}

/* Buttons in the panel: primary (green), secondary (outline). */
.primary[b-nltg03kzvl], .secondary[b-nltg03kzvl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 4px 12px;
    border-radius: 4px;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.primary[b-nltg03kzvl] {
    margin-top: 4px;
    border: 1px solid #4f7350;
    background: #4f7350;
    color: #fff;
}

    .primary:hover[b-nltg03kzvl] {
        background: #43623f;
    }

.secondary[b-nltg03kzvl] {
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    background: var(--colorNeutralBackground1, #fff);
    color: var(--colorNeutralForeground1);
}

    .secondary:hover[b-nltg03kzvl] {
        background: var(--colorNeutralBackground3);
    }

/* ---- Feature tab ------------------------------------------------------------------------------------------- */

.field-label-row[b-nltg03kzvl], .helper-row[b-nltg03kzvl] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.helper.count[b-nltg03kzvl] {
    flex-shrink: 0;
}

/* The assigned feature: a card with a green edge, instead of the whole list. */
.feature-card[b-nltg03kzvl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-left: 3px solid #4f7350;
    border-radius: 4px;
    background: var(--colorNeutralBackground1, #fff);
}

    .feature-card .card-top[b-nltg03kzvl] {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .feature-card .code[b-nltg03kzvl] {
        color: var(--colorNeutralForeground3);
        font-size: 12px;
    }

    .feature-card .name[b-nltg03kzvl] {
        font-weight: 600;
    }

    .feature-card .info[b-nltg03kzvl] {
        padding: 2px 4px;
        border: 0;
        background: none;
        color: var(--colorNeutralForeground3);
        cursor: pointer;
    }

    .feature-card .card-actions[b-nltg03kzvl] {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 6px;
    }

    .feature-card .details[b-nltg03kzvl] {
        padding: 8px 0 0;
        border-top: 1px solid var(--colorNeutralStroke2, #e0e0e0);
        margin-top: 4px;
    }

/* Native controls inherit the same foreground as their themed panel. */
button[b-nltg03kzvl], input[b-nltg03kzvl], select[b-nltg03kzvl] { color: inherit; }
/* /Components/Features/Mapping/Views/CatchmentMapPage.razor.rz.scp.css */
/* The catchment map fills the content area: title, editor bar, then map and side panel taking the rest of the height, so
   drawing and saying what a shape is need no page scrolling (Stage 4c). .content is stretched to the body height
   (app.css), so 100% resolves. */
.catchment-map[b-x201sc3gmk] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 520px;
}

/* Shown instead of the map to users who haven't been approved for it (IcatPolicies.PaidServices). */
.map-on-request[b-x201sc3gmk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.map-title[b-x201sc3gmk] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 16px;
    margin-bottom: 8px;
}

.intro[b-x201sc3gmk] {
    font-size: 13px;
    color: var(--colorNeutralForeground3, #616161);
}

/* ---- Editor bar ---------------------------------------------------------------------------------------------- */

.editor-bar[b-x201sc3gmk] {
    /* Disabled actions remain visibly unavailable without becoming illegible. */
    --colorNeutralForegroundDisabled: var(--colorNeutralForeground3);
    --colorNeutralBackgroundDisabled: var(--colorNeutralBackground3);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    padding: 6px 8px 6px 12px;
    border-radius: 6px 6px 0 0;
    background: var(--colorNeutralBackground2);
    color: var(--colorNeutralForeground1);
    border: 1px solid var(--colorNeutralStroke1);
}

.editor-title[b-x201sc3gmk] {
    font-weight: 600;
}

.goto[b-x201sc3gmk] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.goto[b-x201sc3gmk]  fluent-field { margin: 0; min-width: 0; }

.editor-count[b-x201sc3gmk] {
    flex: 1;
    font-size: 13px;
    opacity: 0.9;
}

.panel-toggle[b-x201sc3gmk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

    .panel-toggle:hover[b-x201sc3gmk] {
        background: var(--colorNeutralBackground1Hover);
    }

    .panel-toggle:focus-visible[b-x201sc3gmk] {
        outline: 2px solid var(--colorStrokeFocus2);
        outline-offset: -2px;
    }

/* ---- Map and side panel ------------------------------------------------------------------------------------- */

.workspace[b-x201sc3gmk] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
}

    .workspace.panel-closed[b-x201sc3gmk] {
        grid-template-columns: minmax(0, 1fr);
    }

.map-area[b-x201sc3gmk] {
    min-width: 0;
    min-height: 0;
}

    .map-area[b-x201sc3gmk]  .map-editor {
        border-radius: 0 0 0 6px;
    }

.workspace.panel-closed .map-area[b-x201sc3gmk]  .map-editor {
    border-radius: 0 0 6px 6px;
}

.side-panel[b-x201sc3gmk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 0;
    overflow-y: auto;
    padding: 12px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-left: 0;
    border-radius: 0 0 6px 0;
    background: var(--colorNeutralBackground2);
}

/* Narrow screens: the panel goes under the map, and the page scrolls. */
@media (max-width: 900px) {
    .catchment-map[b-x201sc3gmk] {
        height: auto;
    }

    .workspace[b-x201sc3gmk], .workspace.panel-closed[b-x201sc3gmk] {
        grid-template-columns: minmax(0, 1fr);
    }

    .map-area[b-x201sc3gmk] {
        height: 60vh;
        min-height: 320px;
    }

        .map-area[b-x201sc3gmk]  .map-editor {
            border-radius: 0;
        }

    .side-panel[b-x201sc3gmk] {
        overflow: visible;
        border-left: 1px solid var(--colorNeutralStroke1, #d1d1d1);
        border-top: 0;
        border-radius: 0 0 6px 6px;
    }
}

.goto-message[b-x201sc3gmk] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 6px 10px;
    border-radius: 6px;
    background: var(--colorBrandBackground2);
    font-size: 13px;
}

    .goto-message span[b-x201sc3gmk] {
        flex: 1;
    }

    .goto-message .close[b-x201sc3gmk] {
        border: 0;
        padding: 0 2px;
        background: none;
        color: inherit;
        font-size: 16px;
        line-height: 1;
        cursor: pointer;
        opacity: 0.7;
    }

        .goto-message .close:hover[b-x201sc3gmk] {
            opacity: 1;
        }

    .goto-message.error[b-x201sc3gmk] {
        background: var(--colorStatusDangerBackground1);
        color: var(--error, #b10e1c);
    }

/* ---- Shape list --------------------------------------------------------------------------------------------- */

/* A section of the panel like the picker's: divider above, title at the field-label size. */
.shapes-header[b-x201sc3gmk] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 4px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--colorNeutralStroke2, #e0e0e0);
    font-size: 13px;
    font-weight: 600;
}

    .shapes-header .shape-count[b-x201sc3gmk] {
        color: var(--colorNeutralForeground3);
        font-weight: 400;
    }

.shape-list[b-x201sc3gmk] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
}

    .shape-list li[b-x201sc3gmk] {
        border: 1px solid var(--colorNeutralStroke2, #e6e6e6);
        border-left: 3px solid transparent;
        border-radius: 4px;
        background: var(--colorNeutralBackground1, #fff);
    }

        /* Amber, as the selected shape is on the map. */
        .shape-list li.selected[b-x201sc3gmk] {
            border-color: #e8d48a;
            border-left-color: #c19c00;
            background: var(--colorStatusWarningBackground1);
        }

.shape-select[b-x201sc3gmk] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    background: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

    .shape-select:hover[b-x201sc3gmk] {
        background: var(--colorNeutralBackground1Hover);
    }

    .shape-select .kind-icon[b-x201sc3gmk] {
        display: flex;
        color: var(--colorNeutralForeground3);
    }

    .shape-select .what[b-x201sc3gmk] {
        display: flex;
        flex-direction: column;
        gap: 1px;
        min-width: 0;
    }

    .shape-select .name[b-x201sc3gmk] {
        font-weight: 600;
    }

    .shape-select .detail[b-x201sc3gmk] {
        color: var(--colorNeutralForeground3);
    }

    .shape-select .measure[b-x201sc3gmk] {
        font-variant-numeric: tabular-nums;
    }

        .shape-select .measure.refused[b-x201sc3gmk] {
            color: var(--error, #b10e1c);
        }

    .shape-select .assignment[b-x201sc3gmk] {
        overflow: hidden;
        color: var(--colorBrandForeground1);
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Red-tinted, as unassigned shapes are red on the map. */
    .shape-select .add-details[b-x201sc3gmk] {
        padding: 1px 8px;
        border-radius: 10px;
        background: var(--colorStatusDangerBackground1);
        color: var(--error, #b10e1c);
        font-size: 12px;
        white-space: nowrap;
    }

    .shape-select .chevron[b-x201sc3gmk] {
        grid-column: 4;
        color: var(--colorNeutralForeground3);
    }

/* ---- Save summary ------------------------------------------------------------------------------------------- */

.summary[b-x201sc3gmk] {
    padding: 10px 12px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-radius: 6px;
    background: var(--colorNeutralBackground1);
    font-size: 13px;
}

    .summary header strong[b-x201sc3gmk] {
        font-size: 14px;
    }

    .summary header[b-x201sc3gmk] {
        display: flex;
        align-items: baseline;
        gap: 10px;
    }

    .summary .hint[b-x201sc3gmk] {
        color: var(--colorNeutralForeground3);
    }

    .summary .close[b-x201sc3gmk] {
        margin-left: auto;
        border: 0;
        background: none;
        font-size: 18px;
        cursor: pointer;
    }

    /* Sized explicitly: the global h4 is a page-heading size. */
    .summary h4[b-x201sc3gmk] {
        margin: 8px 0 2px;
        font-size: 13px;
        font-weight: 600;
    }

    .summary ul[b-x201sc3gmk] {
        margin: 0;
        padding-left: 18px;
    }

    .summary .refused .link[b-x201sc3gmk] {
        border: 0;
        padding: 0;
        background: none;
        color: var(--error, #b10e1c);
        font: inherit;
        text-align: left;
        cursor: pointer;
    }

    .summary .warnings .link[b-x201sc3gmk] {
        border: 0;
        padding: 0;
        background: none;
        color: var(--colorStatusWarningForeground1);
        font: inherit;
        text-align: left;
        cursor: pointer;
    }

/* Native controls inherit the same foreground as their themed panel. */
button[b-x201sc3gmk], input[b-x201sc3gmk], select[b-x201sc3gmk] { color: inherit; }

/* ---- Catchment picker, empty states, location note (Stage 6) ------------------------------------------------- */

.map-catchment[b-x201sc3gmk] {
    align-self: center;
}

.no-catchment[b-x201sc3gmk] {
    padding: 16px;
    border: 1px solid var(--colorNeutralStroke1);
    border-radius: 6px;
    background: var(--colorNeutralBackground2);
    color: var(--colorNeutralForeground1);
}

.location-note[b-x201sc3gmk] {
    margin: 0;
    padding: 6px 10px;
    border-radius: 6px;
    background: var(--colorPaletteYellowBackground1, var(--colorNeutralBackground3));
    color: var(--colorNeutralForeground1);
    font-size: 13px;
}
/* /Components/Features/PrivacyPolicy/Views/PrivacyPolicy.razor.rz.scp.css */
.contents-list[b-791r3yxfzj] {
    margin-top: 8px;
}

.request-note[b-791r3yxfzj] {
    margin-top: 12px;
}

.ico-address[b-791r3yxfzj] {
    line-height: 1.6;
}
/* /Components/Features/Reports/CatchmentReport.razor.rz.scp.css */
.report-toolbar[b-55ob51il03] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px 16px;
}

.report-download[b-55ob51il03] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 6px 14px;
    border-radius: var(--borderRadiusMedium);
    background: var(--colorBrandBackground);
    color: var(--colorNeutralForegroundOnBrand);
    font-family: var(--body-font);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.report-download:hover[b-55ob51il03] {
    background: var(--colorBrandBackgroundHover);
}

.report-download:active[b-55ob51il03] {
    background: var(--colorBrandBackgroundPressed);
}

.report-download:focus-visible[b-55ob51il03] {
    outline: var(--strokeWidthThick) solid var(--colorStrokeFocus2);
    outline-offset: 2px;
}

.catchment-selector[b-55ob51il03] {
    width: auto;
    flex: 0 0 auto;
    margin: 0;
}

.report-layout[b-55ob51il03] {
    font-family: var(--body-font);
    max-width: 960px;
    margin: 0 auto;
    padding: 24px 16px;
    color: var(--colorNeutralForeground1);
    line-height: 1.5;
}

@media print {
    .report-toolbar[b-55ob51il03] {
        display: none;
    }

    .report-layout[b-55ob51il03] {
        max-width: 210mm;
        padding: 0;
    }
}
/* /Components/Features/Reports/Components/BngSummary.razor.rz.scp.css */
/* Glass background/border comes from .glass-card in app.css */
.market-range-card[b-u8u4fefriq] {
    padding: 16px;
}

.market-range-labels[b-u8u4fefriq] {
    display: flex;
    justify-content: space-between;
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
    margin-bottom: 8px;
}

.market-range-avg[b-u8u4fefriq] {
    font-weight: 600;
    color: var(--colorNeutralForeground1);
}

.market-range-track[b-u8u4fefriq] {
    position: relative;
    height: 5px;
    background-color: var(--colorNeutralStroke2);
    border-radius: 3px;
    overflow: visible;
}

.market-range-fill[b-u8u4fefriq] {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: var(--colorCompoundBrandForeground1);
    border-radius: 3px;
}

.market-range-marker[b-u8u4fefriq] {
    position: absolute;
    top: -4px;
    width: 3px;
    height: 13px;
    background-color: var(--colorBrandForeground1);
    border-radius: 2px;
    transform: translateX(-1.5px);
}
/* /Components/Features/Reports/Components/GrantSummary.razor.rz.scp.css */
.funding-options-note[b-6j2grkqy9s] {
    margin: 8px 0 0;
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
}

.excluded-note[b-6j2grkqy9s],
.yearly-note[b-6j2grkqy9s] {
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/Reports/Components/MaintenanceSection.razor.rz.scp.css */
.yearly-grants[b-oigxbcm3bw] {
    margin-top: 12px;
}

.yearly-grants-note[b-oigxbcm3bw] {
    margin: 8px 0 0;
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/Reports/Components/MetricCard.razor.rz.scp.css */
/* Glass background/border comes from .glass-card in app.css */
.metric-card[b-ofu1b9fw8v] {
    padding: 14px 16px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.metric-label[b-ofu1b9fw8v] {
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
}

.metric-value[b-ofu1b9fw8v] {
    font-size: var(--fontSizeBase600);
    font-weight: 600;
    color: var(--colorNeutralForeground1);
    line-height: 1.2;
}

.metric-value--highlighted[b-ofu1b9fw8v] {
    color: var(--colorBrandForeground1);
}

.metric-progress-track[b-ofu1b9fw8v] {
    height: 5px;
    background-color: var(--colorNeutralStroke2);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 8px;
}

.metric-progress-fill[b-ofu1b9fw8v] {
    height: 100%;
    border-radius: 3px;
    background-color: var(--colorCompoundBrandForeground1);
    transition: width 0.4s ease;
}

.metric-caption[b-ofu1b9fw8v] {
    font-size: var(--fontSizeBase200);
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/Reports/Components/ReportSectionCard.razor.rz.scp.css */
.report-section-card[b-wqkjo0qk1b] {
    background-color: var(--colorNeutralBackground3);
    border-top: 1px solid var(--colorNeutralStroke1);
    border-right: 1px solid var(--colorNeutralStroke1);
    border-bottom: 1px solid var(--colorNeutralStroke1);
    border-left: 3px solid var(--colorCompoundBrandForeground1);
    border-radius: 0;
    padding: 20px 24px;
    margin-bottom: 16px;
}

.section-header[b-wqkjo0qk1b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.section-actions[b-wqkjo0qk1b] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.csv-link[b-wqkjo0qk1b] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--fontSizeBase200);
    color: var(--colorBrandForeground1);
    text-decoration: none;
}

    .csv-link:hover[b-wqkjo0qk1b] {
        text-decoration: underline;
    }

@media print {
    .section-actions[b-wqkjo0qk1b] {
        display: none;
    }
}

@media (max-width: 600px) {
    .report-section-card[b-wqkjo0qk1b] { padding: 16px; }
    .section-header[b-wqkjo0qk1b] { align-items: flex-start; }
}
/* /Components/Features/Reports/Components/StorageItemSummary.razor.rz.scp.css */
/* Glass background/border comes from .glass-card in app.css */
.table-glass-card[b-1xc73o3opi] {
    padding: 4px 24px;
}

.col-name[b-1xc73o3opi] { flex: 0 0 35%; padding-right: 8px; }
.col-area[b-1xc73o3opi] { flex: 0 0 15%; text-align: right; padding-right: 16px; }
.col-atten[b-1xc73o3opi] { flex: 0 0 20%; text-align: right; padding-right: 16px; }
.col-contrib[b-1xc73o3opi] { flex: 0 0 30%; display: flex; align-items: center; }

.report-table-row .col-name[b-1xc73o3opi] {
    font-weight: 500;
}

.contribution-bar-container[b-1xc73o3opi] {
    flex-grow: 1;
    height: 6px;
    background: var(--colorNeutralStroke2);
    border-radius: 3px;
    overflow: hidden;
    margin-right: 8px;
}

.contribution-bar[b-1xc73o3opi] {
    height: 100%;
    background-color: var(--colorCompoundBrandForeground1);
    border-radius: 3px;
}

.contribution-label[b-1xc73o3opi] {
    font-size: 10px;
    color: var(--colorNeutralForeground3);
    width: 30px;
    text-align: right;
}
/* /Components/Features/Reports/Inspect/InspectPanelLayout.razor.rz.scp.css */
.inspect-panel[b-33yeqnc43o] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.inspect-csv[b-33yeqnc43o] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: var(--colorBrandForeground1);
    text-decoration: none;
}

    .inspect-csv:hover[b-33yeqnc43o] {
        text-decoration: underline;
    }
/* /Components/Features/UnitCheck/Views/UnitCheckPage.razor.rz.scp.css */
.intro[b-m4vo23jk7p] {
    max-width: 760px;
}

.error[b-m4vo23jk7p] {
    color: var(--error, #b10e1c);
}

.all-clear[b-m4vo23jk7p] {
    margin-top: 16px;
    color: var(--colorStatusSuccessForeground1);
}

h2[b-m4vo23jk7p] {
    margin: 20px 0 6px;
    font-size: 16px;
}

.mismatches[b-m4vo23jk7p] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

    .mismatches th[b-m4vo23jk7p], .mismatches td[b-m4vo23jk7p] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--colorNeutralStroke2, #ececec);
        text-align: left;
        vertical-align: top;
    }

    .mismatches th[b-m4vo23jk7p] {
        color: var(--colorNeutralForeground3);
        font-weight: 600;
    }
/* /Components/Features/UserManagement/Dialogs/EditUserRolesDialog.razor.rz.scp.css */
.user-email[b-4kjfzocwxx] {
    font-weight: 600;
    margin: 0 0 12px;
}

.role-options[b-4kjfzocwxx] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.role-note[b-4kjfzocwxx] {
    margin: 12px 0 0;
    font-size: 0.9em;
    color: var(--colorNeutralForeground3);
}
/* /Components/Features/UserManagement/Views/UserManagementPage.razor.rz.scp.css */
[b-kl106flt9f] .role-badge {
    margin-right: 4px;
}

.no-roles[b-kl106flt9f] {
    color: var(--colorNeutralForeground3);
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Account names can be longer than the navigation panel. */
.account-name[b-ddb3tv8g2p] {
    white-space: normal;
    overflow-wrap: anywhere;
}
