@import '_content/Stratis.PdfViewer.Web/Stratis.PdfViewer.Web.ntipjtlbnu.bundle.scp.css';

/* /Components/Features/Admin/SiteContent/SiteContentPage.razor.rz.scp.css */
.content-tabs[b-33kdreapr6] {
    margin-top: 1rem;
}

.content-section[b-33kdreapr6] {
    padding: 1.25rem 0.25rem 0.5rem;
    max-width: 52rem;
}

.content-section__description[b-33kdreapr6] {
    margin: 0 0 1.5rem;
    font-size: 0.875rem;
    line-height: 1.4;
    color: #8a97a3;
}

[b-33kdreapr6] .content-field {
    margin-bottom: 1.75rem;
}

[b-33kdreapr6] .content-field__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

[b-33kdreapr6] .content-field__label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1f2d3a;
}

[b-33kdreapr6] .content-field__help {
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: #8a97a3;
}

/* Label and URL side by side on a wide screen, stacked when there is no room. The URL gets the
   extra space - it is the longer of the two by far. */
[b-33kdreapr6] .content-field__link-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    gap: 0.75rem;
}

@media (max-width: 767.98px) {
    [b-33kdreapr6] .content-field__link-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Organisations */

[b-33kdreapr6] .content-orgs__note {
    margin-bottom: 1rem;
}

[b-33kdreapr6] .content-org {
    border: 1px solid #e3e8ed;
    border-radius: 0.5rem;
    padding: 0.875rem 1rem;
    margin-bottom: 1rem;
}

[b-33kdreapr6] .content-org--deleted {
    opacity: 0.55;
}

[b-33kdreapr6] .content-org__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-33kdreapr6] .content-org__name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1f2d3a;
}

[b-33kdreapr6] .content-org__actions {
    margin-left: auto;
    display: flex;
    gap: 0.125rem;
}

[b-33kdreapr6] .content-org__fields {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.875rem;
}

[b-33kdreapr6] .content-org__logo {
    max-height: 2.5rem;
    max-width: 10rem;
    object-fit: contain;
    align-self: flex-start;
}

[b-33kdreapr6] .content-org__error {
    margin: 0;
    font-size: 0.8125rem;
    color: #d84040;
}

[b-33kdreapr6] .content-orgs__add {
    margin-top: 0.25rem;
}

/* Publish bar - the same slim strip as the draft bar on the resources screen, with the extra
   state this screen has: saved but not yet live. */

[b-33kdreapr6] .publish-bar {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.625rem 0.875rem;
    border: 1px solid #e3e8ed;
    border-radius: 0.5rem;
    background: #f7f9fb;
    margin-bottom: 1rem;
}

[b-33kdreapr6] .publish-bar__text {
    font-size: 0.875rem;
    color: #1f2d3a;
}

[b-33kdreapr6] .publish-bar__text--ready {
    color: #0c7d7d;
    font-weight: 600;
}

[b-33kdreapr6] .publish-bar__text--error {
    color: #d84040;
    font-weight: 600;
}

[b-33kdreapr6] .publish-bar__text--quiet {
    color: #8a97a3;
}

[b-33kdreapr6] .publish-bar__actions {
    margin-left: auto;
    display: flex;
    gap: 0.5rem;
}

[b-33kdreapr6] .publish-bar__btn--publish {
    background-color: #0c7d7d;
    color: #fff;
}

/* Split pane -------------------------------------------------------------- */

.content-split[b-33kdreapr6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

/* Below the editor on a narrow screen. Editing on a phone is not the point, but the page should
   not become unusable on one. */
@media (max-width: 1279.98px) {
    .content-split[b-33kdreapr6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .content-split__preview[b-33kdreapr6] {
        position: static;
    }
}

.content-split__editor[b-33kdreapr6] {
    min-width: 0;
}

.content-split__preview[b-33kdreapr6] {
    min-width: 0;
    position: sticky;
    top: 1rem;
}

/* Preview ----------------------------------------------------------------- */

[b-33kdreapr6] .preview {
    border: 1px solid #e3e8ed;
    border-radius: 0.5rem;
    background: #fff;
    overflow: hidden;
}

[b-33kdreapr6] .preview__header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.625rem 0.875rem;
    border-bottom: 1px solid #e3e8ed;
    background: #f7f9fb;
}

[b-33kdreapr6] .preview__title {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #8a97a3;
}

[b-33kdreapr6] .preview__header .preview-toggle {
    margin-left: auto;
}

[b-33kdreapr6] .preview__viewport {
    padding: 1rem;
    /* Scrolls vertically only - the frame is scaled to fit horizontally, never clipped. */
    overflow-x: hidden;
    background: #f2f5f8;
    max-height: calc(100vh - 14rem);
    overflow-y: auto;
}

/* The frame is the container the previewed components query against, which is why their CSS uses
   @container rather than @media.

   It keeps the real width it is imitating and is zoomed down to fit the pane (--preview-scale is
   set by the ResizeObserver in content-editor.js). zoom rather than transform: scale() because
   zoom participates in layout, so the pane's height follows the scaled content instead of leaving
   a gap; and container queries still see the true width, which is what makes the toggle mean
   something. */
[b-33kdreapr6] .preview__frame {
    background: #fff;
    border-radius: 0.375rem;
    overflow: hidden;
    zoom: var(--preview-scale, 1);
}

[b-33kdreapr6] .preview__frame--desktop {
    width: 1280px;
}

[b-33kdreapr6] .preview__frame--mobile {
    width: 390px;
    margin-inline: auto;
    border: 1px solid #e3e8ed;
}

[b-33kdreapr6] .preview__note {
    margin: 0;
    padding: 0.625rem 0.875rem;
    border-top: 1px solid #e3e8ed;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: #8a97a3;
}

/* Rich text toolbar ------------------------------------------------------- */

[b-33kdreapr6] .rich-text {
    border: 1px solid #e3e8ed;
    border-radius: 0.375rem;
    overflow: hidden;
}

[b-33kdreapr6] .rich-text__toolbar {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    padding: 0.25rem 0.375rem;
    border-bottom: 1px solid #e3e8ed;
    background: #f7f9fb;
}

/* The field sits flush inside the bordered wrapper, so it drops its own outline. */
[b-33kdreapr6] .rich-text__input .mud-input-outlined-border {
    border: none;
}

[b-33kdreapr6] .content-load-error {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

[b-33kdreapr6] .content-field__test {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    margin-top: 0.375rem;
}

[b-33kdreapr6] .content-field__stored {
    font-size: 0.75rem;
    color: #8a97a3;
    word-break: break-all;
}
/* /Components/Features/Contact/ContactFormSection.razor.rz.scp.css */
.contact-form-section[b-x7ced92r1e] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    padding: 60px 60px;
    box-sizing: border-box;
    background-color: #f7f8fa;
}

/* ── Left label column ───────────────────────────────────────── */
.contact-form-section__label-col[b-x7ced92r1e] {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 4px;
}

.contact-form-section__heading[b-x7ced92r1e] {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

.contact-form-section__description[b-x7ced92r1e] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.65;
    margin: 0;
}

.contact-form-section__inline-link[b-x7ced92r1e] {
    color: #0c7d7d;
    text-decoration: underline;
    font-weight: 600;
}

.contact-form-section__inline-link:hover[b-x7ced92r1e] {
    color: #085f5f;
}

/* ── Right form card ─────────────────────────────────────────── */
.contact-form-section__card[b-x7ced92r1e] {
    flex: 1;
    min-width: 0;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 4px 6px 16px 0 rgba(0, 0, 0, 0.09);
    padding: 28px 32px 32px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── "Required Field*" note ──────────────────────────────────── */
.contact-form-section__required-note[b-x7ced92r1e] {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #0c7d7d;
    text-align: right;
    margin-bottom: -8px;
}

/* ── Field wrapper ───────────────────────────────────────────── */
.contact-form-section__field[b-x7ced92r1e] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-form-section__label[b-x7ced92r1e] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #212121;
}

.contact-form-section__required-star[b-x7ced92r1e] {
    color: #c00;
    margin-left: 2px;
}

/* ── Category select ─────────────────────────────────────────── */
.contact-form-section__select[b-x7ced92r1e] {
    width: 100%;
    height: 46px;
    border: 1px solid #d8dce2;
    border-radius: 6px;
    padding: 0 44px 0 14px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #6b7280;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230c7d7d'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px 20px;
    outline: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.15s ease;
}

.contact-form-section__select:focus[b-x7ced92r1e] {
    border-color: #0c7d7d;
}

/* ── Textarea ────────────────────────────────────────────────── */
.contact-form-section__textarea[b-x7ced92r1e] {
    width: 100%;
    border: 1px solid #d8dce2;
    border-radius: 6px;
    padding: 12px 14px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #212121;
    resize: vertical;
    outline: none;
    box-sizing: border-box;
    line-height: 1.6;
    transition: border-color 0.15s ease;
}

.contact-form-section__textarea[b-x7ced92r1e]::placeholder {
    color: #a0a8b4;
}

.contact-form-section__textarea:focus[b-x7ced92r1e] {
    border-color: #0c7d7d;
}

/* ── Actions row ─────────────────────────────────────────────── */
.contact-form-section__actions[b-x7ced92r1e] {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

@media (max-width: 959.98px) {
    .contact-form-section[b-x7ced92r1e] {
        flex-direction: column;
        gap: 20px;
        padding: 32px 20px;
    }

    .contact-form-section__label-col[b-x7ced92r1e] {
        flex: 0 0 auto;
    }

    .contact-form-section__card[b-x7ced92r1e] {
        align-self: stretch;
        padding: 22px 16px;
        border-radius: 16px;
    }

    .contact-form-section__actions[b-x7ced92r1e] {
        justify-content: stretch;
    }

    .contact-form-section__actions[b-x7ced92r1e]  .mud-button-root {
        width: 100%;
        min-height: var(--tap-min);
    }
}

/* ── Validation / send failure ───────────────────────────────── */
.contact-form-section__error[b-x7ced92r1e] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #d84040;
    margin: 0;
}

/* ── Success state (replaces the form, as on mobile) ─────────── */
.contact-form-section__success[b-x7ced92r1e] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 0;
}

.contact-form-section__success-title[b-x7ced92r1e] {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #0c7d7d;
}

.contact-form-section__success-body[b-x7ced92r1e] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #6e6e6e;
    margin: 0;
    line-height: 1.55;
}

.contact-form-section__reset[b-x7ced92r1e] {
    background: none;
    border: none;
    padding: 0;
    margin-top: 4px;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #0c7d7d;
    text-decoration: underline;
}

.contact-form-section__reset:hover[b-x7ced92r1e] {
    color: #085f5f;
}
/* /Components/Features/Contact/ContactHeroSection.razor.rz.scp.css */
.contact-hero[b-8fk3bxddpw] {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 112px 60px 40px;
    background: linear-gradient(to right, #1a3a5c 0%, #1e4468 50%, #0f2135 100%);
    box-sizing: border-box;
}

.contact-hero__title[b-8fk3bxddpw] {
    font-family: 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 300;
    color: #fff;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

@media (max-width: 959.98px) {
    .contact-hero[b-8fk3bxddpw] {
        padding: 88px 20px 32px;
    }

    .contact-hero__title[b-8fk3bxddpw] {
        font-size: 32px;
    }
}
/* /Components/Features/Contact/ContactInfoSection.razor.rz.scp.css */
.contact-info-section[b-wbt4dlaybx] {
    container-type: inline-size;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    padding: 0 60px 72px;
    box-sizing: border-box;
    background-color: #f7f8fa;
}

/* ── Left label column ───────────────────────────────────────── */
.contact-info-section__label-col[b-wbt4dlaybx] {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 4px;
}

.contact-info-section__heading[b-wbt4dlaybx] {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

.contact-info-section__description[b-wbt4dlaybx] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.65;
    margin: 0;
}

/* ── Right info card ─────────────────────────────────────────── */
.contact-info-section__card[b-wbt4dlaybx] {
    flex: 1;
    min-width: 0;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 4px 6px 16px 0 rgba(0, 0, 0, 0.09);
    padding: 32px 36px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    /* A fourth column squeezed the others below the width an email address needs,
       so they were breaking mid-word. Wrapping to a second row keeps every column
       readable rather than fitting them all on one line at any cost. */
    flex-wrap: wrap;
    row-gap: 28px;
}

/* ── Vertical divider between columns ────────────────────────── */
.contact-info-section__divider[b-wbt4dlaybx] {
    width: 1px;
    align-self: stretch;
    background-color: #e8eaf0;
    margin: 0 32px;
    flex-shrink: 0;
}

/* ── Individual contact column ───────────────────────────────── */
.contact-info-col[b-wbt4dlaybx] {
    flex: 1;
    /* Roughly the width of the longest email at 13px; below this the addresses break
       mid-word. */
    min-width: 172px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contact-info-col__title[b-wbt4dlaybx] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #274769;
    margin: 0;
    line-height: 1.3;
}

.contact-info-col__items[b-wbt4dlaybx] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-info-col__item[b-wbt4dlaybx] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

/* Branded SVGs carry their own teal, so no ::deep or !important is needed now
   that these are plain <img> elements in this component's own markup. */
.contact-info-col__icon[b-wbt4dlaybx] {
    width: 18px;
    height: 18px;
    object-fit: contain;
    flex-shrink: 0;
}

.contact-info-col__link[b-wbt4dlaybx] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #0c7d7d;
    text-decoration: underline;
    line-height: 1.5;
    word-break: break-word;
    transition: color 0.15s ease;
}

.contact-info-col__link:hover[b-wbt4dlaybx] {
    color: #085f5f;
}

.contact-info-col__hours[b-wbt4dlaybx] {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

@container (max-width: 959.98px) {
    .contact-info-section[b-wbt4dlaybx] {
        flex-direction: column;
        gap: 20px;
        padding: 0 20px 48px;
    }

    .contact-info-section__label-col[b-wbt4dlaybx] {
        flex: 0 0 auto;
    }

    .contact-info-section__card[b-wbt4dlaybx] {
        align-self: stretch;
        flex-direction: column;
        padding: 22px 16px;
        border-radius: 16px;
        gap: 24px;
    }

    .contact-info-section__divider[b-wbt4dlaybx] {
        width: auto;
        height: 1px;
        margin: 0;
        align-self: auto;
    }
}

/* ── Follow Us ────────────────────────────────────────────────
   Laid out as a row rather than the stacked rhythm of the other columns: two
   destinations read better side by side than as a list of two. */
.contact-info-col__socials[b-wbt4dlaybx] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
}

.contact-info-col__social[b-wbt4dlaybx] {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 7px 12px 7px 10px;
    border: 1px solid #e3e7ec;
    border-radius: 999px;
    background-color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #274769;
    text-decoration: none;
    transition: border-color .15s ease, background-color .15s ease;
}

.contact-info-col__social:hover[b-wbt4dlaybx] {
    border-color: #0c7d7d;
    background-color: #f4faf9;
}

.contact-info-col__social:focus-visible[b-wbt4dlaybx] {
    outline: 2px solid #0c7d7d;
    outline-offset: 2px;
}

/* 20px rather than the 18px used by the line icons in the other columns: these two
   are denser artwork and read smaller at the same box size. */
.contact-info-col__social-icon[b-wbt4dlaybx] {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

/* The card is a row of columns on desktop; a fifth one would squeeze them, so the
   social row wraps to full width alongside the others on narrow viewports. */
@container (max-width: 959.98px) {
    .contact-info-col__socials[b-wbt4dlaybx] {
        gap: 8px;
    }
}

/* Forces Follow Us onto its own row and renders as a horizontal rule there, rather
   than leaving a vertical divider dangling at the end of the first row once the
   fourth column wraps. */
.contact-info-section__divider--row[b-wbt4dlaybx] {
    flex-basis: 100%;
    width: auto;
    height: 1px;
    align-self: stretch;
    margin: 4px 0 0;
}

/* The copy is injected as markup by ContentHtml, so its <p> carries no scope attribute and a
   plain descendant selector would not reach it - hence ::deep. The wrapper above is this
   component's own element, so colour and font inherit down to the paragraph normally; this only
   removes the browser's default paragraph margin, which the single <p> this replaced never had. */
.contact-info-section__description[b-wbt4dlaybx]  p {
    margin: 0;
}

/* The copy is injected as markup by ContentHtml, so its <p> carries no scope attribute and a
   plain descendant selector would not reach it - hence ::deep. The wrapper above is this
   component's own element, so colour and font inherit down to the paragraph normally; this only
   removes the browser's default paragraph margin, which the single <p> this replaced never had. */
.contact-info-col__hours[b-wbt4dlaybx]  p {
    margin: 0;
}
/* /Components/Features/Dashboard/HeroSection.razor.rz.scp.css */
.hero[b-w1603hudmg] {
    background: linear-gradient(to right, #1a3a5c 0%, #1e4468 50%, #0f2135 100%);
    height: 360px;
    padding: 112px 60px 100px; 
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.hero__text[b-w1603hudmg] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.hero__actions[b-w1603hudmg] {
    flex-shrink: 0;
    padding-bottom: 6px;
}

.hero__salutation[b-w1603hudmg] {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0;
    line-height: 1;
}

.hero__name[b-w1603hudmg] {
    font-family: 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 300;
    color: #fff;
    margin: 0;
    line-height: 1.1;
}

@media (max-width: 959.98px) {
    .hero[b-w1603hudmg] {
        height: 280px;
        padding: 96px 20px 70px; 
    }

    .hero__salutation[b-w1603hudmg] {
        font-size: 11px;
    }

    .hero__name[b-w1603hudmg] {
        font-size: 40px;
    }
}

.hero__name-skeleton[b-w1603hudmg] {
    width: 260px;
    max-width: 60%;
    height: 57px;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.18);
    animation: hero-name-pulse-b-w1603hudmg 1.4s ease-in-out infinite;
}

@keyframes hero-name-pulse-b-w1603hudmg {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

@media (max-width: 959.98px) {
    .hero__name-skeleton[b-w1603hudmg] {
        width: 200px;
        height: 44px;
    }
}
/* /Components/Features/Dashboard/InfoCard.razor.rz.scp.css */
.info-card[b-h3bk6uouxk] {
    flex: 1 1 560px;
    min-width: 360px;
    max-width: 100%;
    height: 258px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 24px;
    padding: 28px;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    box-sizing: border-box;
    overflow: hidden;
}

@media (max-width: 1279.98px) {
    .info-card[b-h3bk6uouxk] {
        flex-basis: 400px;
        min-width: 0;
    }
}

@media (max-width: 959.98px) {
    .info-card[b-h3bk6uouxk] {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        padding: 24px;
    }
}

.info-card__header[b-h3bk6uouxk] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    align-self: stretch;
    gap: 12px;
}

.info-card__title[b-h3bk6uouxk] {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #274769;
    line-height: 1.3;
    flex: 1;
}

.info-card__icon[b-h3bk6uouxk] {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
}

.info-card__body[b-h3bk6uouxk] {
    font-size: 14px;
    color: #6e6e6e;
    line-height: 1.55;
    margin: 0;
    align-self: stretch;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    max-height: calc(4 * 1.55em);
}

.info-card--skeleton[b-h3bk6uouxk] {
    align-items: stretch;
    justify-content: space-between;
    gap: 16px;
}

.info-card__skeleton-body[b-h3bk6uouxk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
/* /Components/Features/Dashboard/InfoCarouselSection.razor.rz.scp.css */
.info-section[b-mt8f6f9tpp] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    padding: 48px 60px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

/* ── Section heading ────────────────────────────────────────── */
.info-section__heading-row[b-mt8f6f9tpp] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    align-self: flex-start;
}

.info-section__heading-icon[b-mt8f6f9tpp] {
    width: 24px;
    height: 28px;
    object-fit: contain;
}

.info-section__heading[b-mt8f6f9tpp] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

/* ── Stage: arrow | viewport | arrow ────────────────────────── */
.info-section__stage[b-mt8f6f9tpp] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    align-self: stretch;
}

/* ── Arrow buttons ──────────────────────────────────────────── */
.info-section__arrow[b-mt8f6f9tpp] {
    height: 258px;
    width: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    color: #274769;
    transition: background-color 0.15s ease, color 0.15s ease;
    padding: 0;
}

.info-section__arrow:hover:not(:disabled)[b-mt8f6f9tpp] {
    background-color: rgba(39, 71, 105, 0.07);
    color: #0c7d7d;
}

.info-section__arrow:disabled[b-mt8f6f9tpp] {
    opacity: 0.2;
    cursor: not-allowed;
}

.info-section__arrow[b-mt8f6f9tpp]  .info-section__arrow-icon {
    font-size: 48px !important;
    width: 48px !important;
    height: 48px !important;
}

/* ── Viewport ───────────────────────────────────────────────────
   overflow:clip hides off-screen pages (which extend hundreds of
   pixels past the edge) while overflow-clip-margin:24px extends
   the clip region outward so card box-shadows are never cut.   */
.info-section__viewport[b-mt8f6f9tpp] {
    flex: 1;
    min-width: 0;
    overflow: clip;
    overflow-clip-margin: 24px;
}

/* ── Track — all pages side-by-side, slides via transform ────── */
.info-section__track[b-mt8f6f9tpp] {
    display: flex;
    flex-direction: row;
    /* width & transform come from Blazor inline style */
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

/* ── Page — one visible unit of 3 cards ─────────────────────── */
/* Width is set inline from the page count. It cannot live here: with content
   coming from the API the number of pages varies, and a hardcoded fraction
   only lined up while there were exactly nine placeholder cards. */
/* 32px side padding rather than 12px. The cards flex-grow to fill, so the only
   way to take width off each one is to reduce what the page offers them:
   40px less across the row lands ~20px narrower per card at any viewport. */
.info-section__page[b-mt8f6f9tpp] {
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0 32px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
}

/* ── Navigation dots ────────────────────────────────────────── */
.info-section__dots[b-mt8f6f9tpp] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
}

.info-section__dot[b-mt8f6f9tpp] {
    height: 6px;
    border-radius: 3px;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: width 0.25s ease, background-color 0.25s ease;
    width: 20px;
    background-color: #274769;
}

.info-section__dot--active[b-mt8f6f9tpp] {
    width: 32px;
    background-color: #0c7d7d;
}

/* ── Mobile scroller — swipeable 1-card-per-page strip, like the
   NavDx CarouselView. The transform-based desktop stage pages 3-up
   in C#, so mobile swaps it for CSS scroll-snap instead. ───────── */
.info-section__mobile-scroller[b-mt8f6f9tpp] {
    display: none;
}

@media (max-width: 959.98px) {
    .info-section[b-mt8f6f9tpp] {
        padding: 32px 0;
        gap: 16px;
    }

    .info-section__heading-row[b-mt8f6f9tpp] {
        padding: 0 20px;
    }

    .info-section__stage[b-mt8f6f9tpp],
    .info-section__dots[b-mt8f6f9tpp] {
        display: none;
    }

    .info-section__mobile-scroller[b-mt8f6f9tpp] {
        display: flex;
        flex-direction: row;
        align-self: stretch;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 16px;
        padding: 4px 20px 24px;
        scrollbar-width: none;
    }

    .info-section__mobile-scroller[b-mt8f6f9tpp]::-webkit-scrollbar {
        display: none;
    }

    .info-section__mobile-card[b-mt8f6f9tpp] {
        flex: 0 0 calc(100% - 40px);
        scroll-snap-align: center;
    }
}

.info-section__placeholder[b-mt8f6f9tpp] {
    padding: 0 60px;
}

.info-section__empty[b-mt8f6f9tpp] {
    padding: 0 60px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #919191;
}

@media (max-width: 959.98px) {
    .info-section__placeholder[b-mt8f6f9tpp],
    .info-section__empty[b-mt8f6f9tpp] {
        padding: 0 20px;
    }
}

/* Reserves the arrow gutters while loading so the cards sit exactly where they
   will once the carousel is interactive. */
.info-section__arrow--ghost[b-mt8f6f9tpp] {
    visibility: hidden;
    pointer-events: none;
}
/* /Components/Features/Dashboard/MyTestsSection.razor.rz.scp.css */
.my-tests[b-ww0al9q7fg] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 24px;
    padding: 0 60px 8px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

/* ── Heading row ─────────────────────────────────────────────── */
.my-tests__heading-row[b-ww0al9q7fg] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.my-tests__heading-left[b-ww0al9q7fg] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.my-tests__heading-icon[b-ww0al9q7fg] {
    width: 24px;
    height: 28px;
    object-fit: contain;
}

.my-tests__heading[b-ww0al9q7fg] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

.my-tests__view-all[b-ww0al9q7fg] {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #007474;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 2px;
    transition: color 0.15s ease;
}

.my-tests__view-all:hover[b-ww0al9q7fg] {
    color: #005f5f;
}

/* ── Card ────────────────────────────────────────────────────── */
.my-tests__card[b-ww0al9q7fg] {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
}

/* ── Column header row ───────────────────────────────────────── */
.my-tests__col-headers[b-ww0al9q7fg] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 8px;
}

.my-tests__col-label[b-ww0al9q7fg] {
    font-size: 11px;
    font-weight: 600;
    color: #919191;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ── Divider ─────────────────────────────────────────────────── */
.my-tests__divider[b-ww0al9q7fg] {
    height: 1px;
    background-color: #e1e1e1;
}

/* ── Test row ────────────────────────────────────────────────── */
.my-tests__row[b-ww0al9q7fg] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
}

.my-tests__date[b-ww0al9q7fg] {
    font-size: 15px;
    color: #212121;
    font-family: 'Open Sans', sans-serif;
}

/* ── Status badges ───────────────────────────────────────────── */
.my-tests__badge[b-ww0al9q7fg] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 12px;
    white-space: nowrap;
}

.my-tests__badge--upcoming[b-ww0al9q7fg] {
    background-color: #dde8f7;
    color: #274769;
}

.my-tests__badge--pending[b-ww0al9q7fg] {
    background-color: #fef3cd;
    color: #856404;
}

.my-tests__badge--completed[b-ww0al9q7fg] {
    background-color: #d4f4e8;
    color: #0c6b44;
}

.my-tests__badge--results-ready[b-ww0al9q7fg] {
    background-color: #d1f0f0;
    color: #007474;
}

.my-tests__badge--cancelled[b-ww0al9q7fg] {
    background-color: #e8e8e8;
    color: #5a5a5a;
}

@media (max-width: 959.98px) {
    .my-tests[b-ww0al9q7fg] {
        padding: 0 20px 8px;
        gap: 16px;
    }

    .my-tests__card[b-ww0al9q7fg] {
        padding: 16px 20px;
        border-radius: 16px;
        box-shadow: var(--card-shadow);
    }

    .my-tests__heading[b-ww0al9q7fg] {
        font-size: 20px;
    }
}

.my-tests__skeleton-badge[b-ww0al9q7fg] {
    border-radius: 12px;
}

.my-tests__empty[b-ww0al9q7fg] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #919191;
    margin: 0;
    padding: 14px 0;
}
/* /Components/Features/Dashboard/PatientTestimonialsSection.razor.rz.scp.css */
.testimonials-section[b-d0ssctdsgi] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 40px 60px 48px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

/* ── Heading ─────────────────────────────────────────────────── */
.testimonials-section__heading-row[b-d0ssctdsgi] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.testimonials-section__heading-icon[b-d0ssctdsgi] {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.testimonials-section__heading[b-d0ssctdsgi] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

/* ── Subtitle ────────────────────────────────────────────────── */
.testimonials-section__subtitle[b-d0ssctdsgi] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #6e6e6e;
    margin: -12px 0 0;
    line-height: 1.55;
}

/* ── Stage: arrow | viewport | arrow ────────────────────────── */
.testimonials-section__stage[b-d0ssctdsgi] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    align-self: stretch;
}

/* ── Arrow buttons ──────────────────────────────────────────── */
.testimonials-section__arrow[b-d0ssctdsgi] {
    height: 240px;
    width: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    color: #274769;
    transition: background-color 0.15s ease, color 0.15s ease;
    padding: 0;
}

.testimonials-section__arrow:hover:not(:disabled)[b-d0ssctdsgi] {
    background-color: rgba(39, 71, 105, 0.07);
    color: #0c7d7d;
}

.testimonials-section__arrow:disabled[b-d0ssctdsgi] {
    opacity: 0.2;
    cursor: not-allowed;
}

.testimonials-section__arrow[b-d0ssctdsgi]  .testimonials-section__arrow-icon {
    font-size: 48px !important;
    width: 48px !important;
    height: 48px !important;
}

/* ── Viewport ────────────────────────────────────────────────── */
.testimonials-section__viewport[b-d0ssctdsgi] {
    flex: 1;
    min-width: 0;
    overflow: clip;
    overflow-clip-margin: 24px;
}

/* ── Track ───────────────────────────────────────────────────── */
.testimonials-section__track[b-d0ssctdsgi] {
    display: flex;
    flex-direction: row;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

/* ── Page ────────────────────────────────────────────────────── */
/* Width is set inline from the page count; a hardcoded fraction only lined up
   while the testimonials were a fixed nine placeholders. */
.testimonials-section__page[b-d0ssctdsgi] {
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0 12px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
}

/* ── Navigation dots ────────────────────────────────────────── */
.testimonials-section__dots[b-d0ssctdsgi] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.testimonials-section__dot[b-d0ssctdsgi] {
    height: 6px;
    border-radius: 3px;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: width 0.25s ease, background-color 0.25s ease;
    width: 20px;
    background-color: #274769;
}

.testimonials-section__dot--active[b-d0ssctdsgi] {
    width: 32px;
    background-color: #0c7d7d;
}

/* ── Mobile scroller — swipeable 1-card-per-page strip, like the
   NavDx TestimonialCarouselView (desktop 3-up stage is C#-paged). */
.testimonials-section__mobile-scroller[b-d0ssctdsgi] {
    display: none;
}

@media (max-width: 959.98px) {
    .testimonials-section[b-d0ssctdsgi] {
        padding: 32px 0;
        gap: 16px;
    }

    .testimonials-section__heading-row[b-d0ssctdsgi],
    .testimonials-section__subtitle[b-d0ssctdsgi] {
        padding: 0 20px;
    }

    .testimonials-section__stage[b-d0ssctdsgi],
    .testimonials-section__dots[b-d0ssctdsgi] {
        display: none;
    }

    .testimonials-section__mobile-scroller[b-d0ssctdsgi] {
        display: flex;
        flex-direction: row;
        align-self: stretch;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 16px;
        padding: 4px 20px 24px;
        scrollbar-width: none;
    }

    .testimonials-section__mobile-scroller[b-d0ssctdsgi]::-webkit-scrollbar {
        display: none;
    }

    .testimonials-section__mobile-card[b-d0ssctdsgi] {
        flex: 0 0 calc(100% - 40px);
        scroll-snap-align: center;
    }
}

.testimonials-section__placeholder[b-d0ssctdsgi] {
    padding: 0 60px;
}

.testimonials-section__empty[b-d0ssctdsgi] {
    padding: 0 60px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #919191;
}

@media (max-width: 959.98px) {
    .testimonials-section__placeholder[b-d0ssctdsgi],
    .testimonials-section__empty[b-d0ssctdsgi] {
        padding: 0 20px;
    }
}

.testimonials-section__arrow--ghost[b-d0ssctdsgi] {
    visibility: hidden;
    pointer-events: none;
}
/* /Components/Features/Dashboard/TasksCard.razor.rz.scp.css */
.tasks-card-wrap[b-r737qbw044] {
    padding: 0 60px;
    margin-top: -68px;
    position: relative;
    z-index: 10;
}

.tasks-card[b-r737qbw044] {
    padding: 28px 48px;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
}

/* ── Left column (~20%) ──────────────────────────────────────── */
.tasks-card__left[b-r737qbw044] {
    width: 20%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    padding-right: 32px;
}

.tasks-card__icon[b-r737qbw044] {
    width: 24px;
    height: 28px;
    object-fit: contain;
}

.tasks-card__title[b-r737qbw044] {
    width: 91px;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 500;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: 0.64px;
    color: #080808;
}

.tasks-card__date[b-r737qbw044] {
    font-size: 11px;
    font-weight: 600;
    color: #0c7d7d;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    line-height: 1.3;
}

/* ── Right column ────────────────────────────────────────────── */
.tasks-card__right[b-r737qbw044] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    padding-left: 32px;
}

/* ── Task item ───────────────────────────────────────────────── */
.tasks-card__item[b-r737qbw044] {
    display: grid;
    grid-template-columns: 3px 1fr;
    gap: 14px;
    align-items: stretch;
}

.tasks-card__accent[b-r737qbw044] {
    width: 3px;
    border-radius: 2px;
    align-self: stretch;
}

.tasks-card__accent--danger[b-r737qbw044] {
    background-color: #D32F2F;
}

.tasks-card__accent--warning[b-r737qbw044] {
    background-color: #E5A700;
}

.tasks-card__accent--info[b-r737qbw044] {
    background-color: #274769;
}

.tasks-card__item-body[b-r737qbw044] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tasks-card__item-title[b-r737qbw044] {
    width: 271px;
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 600;
    font-style: normal;
    line-height: 1.17;
    letter-spacing: normal;
    color: #274769;
    margin: 0;
}

.tasks-card__item-text[b-r737qbw044] {
    font-size: 14px;
    color: #6e6e6e;
    margin: 0;
    line-height: 1.45;
}

.tasks-card__cta-row[b-r737qbw044] {
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
}

@media (max-width: 959.98px) {
    .tasks-card-wrap[b-r737qbw044] {
        padding: 0 20px;
        margin-top: -50px;
    }

    .tasks-card[b-r737qbw044] {
        flex-direction: column;
        padding: 22px 16px;
        border-radius: 16px;
        box-shadow: var(--card-shadow);
        gap: 16px;
    }

    .tasks-card__left[b-r737qbw044] {
        width: 100%;
        padding-right: 0;
    }

    .tasks-card__title[b-r737qbw044] {
        font-size: 20px;
        width: auto;
    }

    .tasks-card__right[b-r737qbw044] {
        padding-left: 0;
        gap: 20px;
    }

    .tasks-card__item-title[b-r737qbw044] {
        width: auto;
        font-size: 18px;
    }

    .tasks-card__cta-row[b-r737qbw044] {
        justify-content: stretch;
    }
}

.tasks-card__accent--skeleton[b-r737qbw044] {
    background-color: #e6e9ee;
}
/* /Components/Features/Dashboard/TestimonialCard.razor.rz.scp.css */
.testimonial-card[b-d8xywkvnwq] {
    flex: 1;
    min-width: 0;
    height: 302px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px 20px 16px;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    box-sizing: border-box;
    overflow: hidden;
}

/* ── Header: avatar + meta + menu ───────────────────────────── */
.testimonial-card__header[b-d8xywkvnwq] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.testimonial-card__avatar-wrap[b-d8xywkvnwq] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.testimonial-card__avatar-wrap[b-d8xywkvnwq]  .testimonial-card__avatar {
    width: 42px;
    height: 42px;
    font-size: 15px;
    font-weight: 600;
    background-color: #274769;
    color: #fff;
    flex-shrink: 0;
}

.testimonial-card__meta[b-d8xywkvnwq] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.testimonial-card__name[b-d8xywkvnwq] {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #080808;
    line-height: 1.2;
}

.testimonial-card__handle[b-d8xywkvnwq] {
    font-size: 13px;
    color: #919191;
    line-height: 1.2;
}

.testimonial-card__header[b-d8xywkvnwq]  .testimonial-card__menu-btn {
    color: #919191;
    padding: 4px;
    margin: -4px;
}

/* ── Body text ──────────────────────────────────────────────── */
.testimonial-card__body[b-d8xywkvnwq] {
    font-size: 14px;
    color: #212121;
    line-height: 1.6;
    margin: 0;
    flex: 1;
    font-family: 'Open Sans', sans-serif;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    max-height: calc(7 * 1.6em);
}

.testimonial-card__hashtag[b-d8xywkvnwq] {
    color: #0c7d7d;
    font-weight: 600;
}

/* ── Footer: likes + comments ───────────────────────────────── */
.testimonial-card__footer[b-d8xywkvnwq] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.testimonial-card__stat[b-d8xywkvnwq] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: #6e6e6e;
    font-family: 'Open Sans', sans-serif;
}

.testimonial-card__source[b-d8xywkvnwq] {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #0c7d7d;
    text-decoration: underline;
}

.testimonial-card__stat[b-d8xywkvnwq]  .testimonial-card__stat-icon {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #6e6e6e;
}

.testimonial-card--skeleton[b-d8xywkvnwq] {
    justify-content: flex-start;
    gap: 14px;
}

.testimonial-card__skeleton-header[b-d8xywkvnwq] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.testimonial-card__skeleton-meta[b-d8xywkvnwq] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.testimonial-card__skeleton-body[b-d8xywkvnwq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
/* /Components/Features/MyTests/MyTestsHeroSection.razor.rz.scp.css */
.mytests-hero[b-vtrek59apa] {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 112px 60px 48px;
    background: linear-gradient(to right, #1a3a5c 0%, #1e4468 50%, #0f2135 100%);
    box-sizing: border-box;
}

/* ── Left: title + description ──────────────────────────────── */
.mytests-hero__content[b-vtrek59apa] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 640px;
}

.mytests-hero__title[b-vtrek59apa] {
    font-family: 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 300;
    color: #fff;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.mytests-hero__description[b-vtrek59apa] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.65;
    margin: 0;
    max-width: 560px;
}

.mytests-hero__support-link[b-vtrek59apa] {
    color: #fff;
    text-decoration: underline;
}

.mytests-hero__support-link:hover[b-vtrek59apa] {
    color: rgba(255, 255, 255, 0.75);
}


/* Mobile: 280px-style hero matching the NavDx sheet heroes */
@container (max-width: 959.98px) {
    .mytests-hero[b-vtrek59apa] {
        padding: 88px 20px 32px;
    }

    .mytests-hero__title[b-vtrek59apa] {
        font-size: 32px;
    }
}

/* Right-aligned under the hero content: these heroes are columns with a
   description (and a search bar), so a row would squeeze them. */
.mytests-hero__actions[b-vtrek59apa] {
    align-self: flex-end;
    margin-top: 20px;
}

/* The copy is injected as markup by ContentHtml, so its <p> carries no scope attribute and a
   plain descendant selector would not reach it - hence ::deep. The wrapper above is this
   component's own element, so colour and font inherit down to the paragraph normally; this only
   removes the browser's default paragraph margin, which the single <p> this replaced never had. */
.mytests-hero__description[b-vtrek59apa]  p {
    margin: 0;
}

/* The navigation-team link now arrives inside the CMS copy as a plain <a> with no class, so it
   is styled by position rather than by name. Kept alongside the .mytests-hero__support-link
   rules above, which still apply if the class is ever put back in the content. */
.mytests-hero__description[b-vtrek59apa]  a {
    color: #fff;
    text-decoration: underline;
}

.mytests-hero__description[b-vtrek59apa]  a:hover {
    color: rgba(255, 255, 255, 0.75);
}
/* /Components/Features/MyTests/ReportViewerDialog.razor.rz.scp.css */
.report-viewer[b-bwqlx1u18c] {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: #fff;
    font-family: 'Open Sans', system-ui, sans-serif;
    overflow: hidden;
}

/* ── Title bar ─────────────────────────────────────────────── */
.report-viewer__titlebar[b-bwqlx1u18c] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid #e8f1f8;
}

.report-viewer__title[b-bwqlx1u18c] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #080808;
}

.report-viewer__title-actions[b-bwqlx1u18c] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.report-viewer__iconbtn[b-bwqlx1u18c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #6e6e6e;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.report-viewer__iconbtn:hover[b-bwqlx1u18c] {
    background-color: #f2f4f6;
}

.report-viewer__iconbtn-img[b-bwqlx1u18c] {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* ── Toolbar ───────────────────────────────────────────────── */
.report-viewer__toolbar[b-bwqlx1u18c] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
}

.report-viewer__modes[b-bwqlx1u18c] {
    display: flex;
    padding: 2px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background-color: #f3f5f7;
}

.report-viewer__mode[b-bwqlx1u18c] {
    padding: 5px 16px;
    border: none;
    border-radius: 6px;
    background: transparent;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #6e6e6e;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.report-viewer__mode.is-active[b-bwqlx1u18c] {
    background-color: var(--color-teal);
    color: #fff;
    font-weight: 700;
}

.report-viewer__zoom[b-bwqlx1u18c] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.report-viewer__zoombtn[b-bwqlx1u18c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: #fff;
    font-size: 16px;
    line-height: 1;
    color: #525252;
    cursor: pointer;
}

.report-viewer__zoombtn:disabled[b-bwqlx1u18c] {
    opacity: 0.4;
    cursor: default;
}

.report-viewer__zoomlabel[b-bwqlx1u18c] {
    width: 42px;
    text-align: center;
    font-size: 12px;
    color: #6e6e6e;
}

/* ── Body (PDF surface) ────────────────────────────────────── */
.report-viewer__body[b-bwqlx1u18c] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    overflow: hidden;
}

/* ── Footer ────────────────────────────────────────────────── */
.report-viewer__footer[b-bwqlx1u18c] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid #e8f1f8;
}

.report-viewer__pagelabel[b-bwqlx1u18c] {
    font-size: 13px;
    color: #6e6e6e;
}

.report-viewer__footer-actions[b-bwqlx1u18c] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.report-viewer__navbtn[b-bwqlx1u18c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    padding: 6px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background-color: #fff;
    font-size: 18px;
    line-height: 1;
    color: #274769;
    cursor: pointer;
}

.report-viewer__navbtn:disabled[b-bwqlx1u18c] {
    opacity: 0.35;
    cursor: default;
}

.report-viewer__close-btn[b-bwqlx1u18c] {
    padding: 9px 18px;
    border: none;
    border-radius: 10px;
    background-color: var(--color-teal);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

@media (max-width: 599.98px) {
    .report-viewer[b-bwqlx1u18c] {
        width: 94vw;
        height: 88vh;
    }
}

.report-viewer__iconbtn:disabled[b-bwqlx1u18c] {
    opacity: 0.4;
    cursor: default;
}

.report-viewer__iconbtn:disabled:hover[b-bwqlx1u18c] {
    background-color: transparent;
}
/* /Components/Features/MyTests/ResultInfoBody.razor.rz.scp.css */
/* Moved here from ResultInfoDialog.razor.css when this markup was split into its own component
   so the CMS could preview it. Scoped CSS follows the markup, not the class name: left behind,
   .result-info__body compiled to .result-info__body[b-dialog] and stopped matching anything.

   The paragraphs are injected by ContentHtml and carry no scope attribute, so they are reached
   with ::deep rather than a plain descendant selector. */
.result-info__body[b-ut5ne6i3v8] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13.5px;
    color: #4a4a4a;
    line-height: 1.55;
}

.result-info__body[b-ut5ne6i3v8]  p {
    margin: 0;
}

.result-info__body[b-ut5ne6i3v8]  .result-info__guide-link,
.result-info__body[b-ut5ne6i3v8]  a {
    font-family: inherit;
    font-size: inherit;
    font-weight: 600;
    color: #0c7d7d;
    text-decoration: underline;
}

.result-info__body[b-ut5ne6i3v8]  .result-info__guide-link:hover,
.result-info__body[b-ut5ne6i3v8]  a:hover {
    color: #085f5f;
}
/* /Components/Features/MyTests/ResultInfoDialog.razor.rz.scp.css */
.result-info[b-hfhe28jcvp] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 22px 20px;
    max-width: 420px;
    box-sizing: border-box;
}

.result-info__header[b-hfhe28jcvp] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.result-info__title[b-hfhe28jcvp] {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #274769;
    margin: 0;
    line-height: 1.3;
}

.result-info__close[b-hfhe28jcvp] {
    background: none;
    border: none;
    padding: 4px;
    margin: -4px;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
}

.result-info__close-icon[b-hfhe28jcvp] {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.result-info__actions[b-hfhe28jcvp] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin-top: 2px;
}

.result-info__cancel[b-hfhe28jcvp] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #6e6e6e;
}

.result-info__cancel:hover[b-hfhe28jcvp] {
    color: #212121;
}

@media (max-width: 599.98px) {
    .result-info[b-hfhe28jcvp] {
        padding: 18px;
        max-width: none;
    }

    .result-info__actions[b-hfhe28jcvp] {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 8px;
    }

    .result-info__cancel[b-hfhe28jcvp] {
        padding: 10px 0;
    }
}
/* /Components/Features/MyTests/TestsTableSection.razor.rz.scp.css */
.tests-table-section[b-m1tqkbpw5a] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 48px 60px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

.tests-table-section__heading-block[b-m1tqkbpw5a] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tests-table-section__heading[b-m1tqkbpw5a] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

.tests-table-section__subtitle[b-m1tqkbpw5a] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-style: italic;
    color: #6e6e6e;
    margin: 0;
    line-height: 1.5;
}

.tests-table-section__card[b-m1tqkbpw5a] {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    display: flex;
    flex-direction: column;
}

.tests-table-section__tabs[b-m1tqkbpw5a] {
    height: 41px;
    align-self: stretch;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 2px;
    border-radius: 7px;
    box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.08);
    background-color: rgba(255, 255, 255, 0.7);
    box-sizing: border-box;
}

.tests-table-section__tab[b-m1tqkbpw5a] {
    flex: 1;
    height: 100%;
    padding: 0 16px;
    background: none;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #6e6e6e;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    text-align: center;
    white-space: nowrap;
}

.tests-table-section__tab--active[b-m1tqkbpw5a] {
    font-weight: 700;
    color: #080808;
    background-color: #fff;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
}

.tests-table-section__tab-count[b-m1tqkbpw5a] {
    font-weight: 400;
    color: #919191;
}

/* ── Column headers ──────────────────────────────────────────── */
.tests-table-section__col-headers[b-m1tqkbpw5a] {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 16px 24px 8px;
    gap: 16px;
}

.tests-table-section__col-label[b-m1tqkbpw5a] {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #919191;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ── Divider ─────────────────────────────────────────────────── */
.tests-table-section__divider[b-m1tqkbpw5a] {
    height: 1px;
    background-color: #e1e1e1;
    margin: 0 24px;
}

/* ── Data row ────────────────────────────────────────────────── */
.tests-table-section__row[b-m1tqkbpw5a] {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 20px 24px;
    gap: 16px;
    min-height: 80px;
}

/* ── Status cell: badge + text ───────────────────────────────── */
.tests-table-section__status-cell[b-m1tqkbpw5a] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.tests-table-section__badge[b-m1tqkbpw5a] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 10px;
    white-space: nowrap;
    flex-shrink: 0;
}

.tests-table-section__badge--upcoming[b-m1tqkbpw5a] {
    background-color: #dde8f7;
    color: #274769;
}

.tests-table-section__badge--pending[b-m1tqkbpw5a] {
    background-color: #fef3cd;
    color: #856404;
}

.tests-table-section__badge--completed[b-m1tqkbpw5a] {
    background-color: #d4f4e8;
    color: #0c6b44;
}

.tests-table-section__badge--results-ready[b-m1tqkbpw5a] {
    background-color: #d1f0f0;
    color: #007474;
}

.tests-table-section__badge--cancelled[b-m1tqkbpw5a] {
    background-color: #e8e8e8;
    color: #5a5a5a;
}

.tests-table-section__status-text[b-m1tqkbpw5a] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #212121;
}

/* ── Blood draw date cell ────────────────────────────────────── */
.tests-table-section__date-cell[b-m1tqkbpw5a] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.tests-table-section__date-cell[b-m1tqkbpw5a]  .tests-table-section__warn-icon {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #D32F2F;
    flex-shrink: 0;
}

.tests-table-section__date-warn[b-m1tqkbpw5a] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #D32F2F;
}

.tests-table-section__date-text[b-m1tqkbpw5a] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #212121;
}

/* ── Provider ────────────────────────────────────────────────── */
.tests-table-section__provider[b-m1tqkbpw5a] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #212121;
}

/* ── Loading skeletons ───────────────────────────────────────
   Shape-matched to what they stand in for: the badge placeholder
   gets the badge's 10px pill radius, the action placeholder gets
   the button's radius and (on mobile) its full-width behaviour. */
.tests-table-section__row[b-m1tqkbpw5a]  .tests-table-section__skeleton--badge {
    border-radius: 10px;
    flex-shrink: 0;
}

.tests-table-section__row[b-m1tqkbpw5a]  .tests-table-section__skeleton--button {
    border-radius: 8px;
    max-width: 100%;
}

/* ── Empty state ─────────────────────────────────────────────── */
.tests-table-section__empty[b-m1tqkbpw5a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-family: 'Open Sans', sans-serif;
    padding: 32px 24px;
    margin: 0;
    text-align: center;
}

.tests-table-section__empty-title[b-m1tqkbpw5a] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #274769;
}

.tests-table-section__empty-subtitle[b-m1tqkbpw5a] {
    font-size: 14px;
    color: #919191;
    max-width: 420px;
    line-height: 1.5;
}

/* ── Column sizing (was inline flex styles) ──────────────────── */
.tests-table-section__cell--status[b-m1tqkbpw5a] {
    flex: 0 0 220px;
}

.tests-table-section__cell--date[b-m1tqkbpw5a] {
    flex: 1;
}

.tests-table-section__cell--provider[b-m1tqkbpw5a] {
    flex: 1;
}

.tests-table-section__cell--action[b-m1tqkbpw5a] {
    flex: 0 0 300px;
}

.tests-table-section__action-cell[b-m1tqkbpw5a] {
    display: flex;
    align-items: center;
}

/* ── Mobile: rows become stacked test cards, like the NavDx
   MyTestsSheetView test cards (badge, status, date, provider,
   then a full-width action button). ─────────────────────────── */
@media (max-width: 959.98px) {
    .tests-table-section[b-m1tqkbpw5a] {
        padding: 32px 20px;
        gap: 16px;
    }

    .tests-table-section__tabs[b-m1tqkbpw5a] {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .tests-table-section__tabs[b-m1tqkbpw5a]::-webkit-scrollbar {
        display: none;
    }

    .tests-table-section__tab[b-m1tqkbpw5a] {
        flex: 1 0 auto;
    }

    /* The wrapper stops being a card; each test row becomes its own
       rounded card, matching the NavDx MyTestsSheetView test cards. */
    .tests-table-section__card[b-m1tqkbpw5a] {
        background: none;
        border-radius: 0;
        box-shadow: none;
        gap: 16px;
    }

    .tests-table-section__col-headers[b-m1tqkbpw5a],
    .tests-table-section__divider[b-m1tqkbpw5a] {
        display: none;
    }

    .tests-table-section__row[b-m1tqkbpw5a] {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 16px;
        min-height: 0;
        background-color: #fff;
        border-radius: 12px;
        box-shadow: var(--card-shadow);
    }

    .tests-table-section__empty[b-m1tqkbpw5a] {
        background-color: #fff;
        border-radius: 12px;
        box-shadow: var(--card-shadow);
    }

    .tests-table-section__cell--status[b-m1tqkbpw5a],
    .tests-table-section__cell--date[b-m1tqkbpw5a],
    .tests-table-section__cell--provider[b-m1tqkbpw5a],
    .tests-table-section__cell--action[b-m1tqkbpw5a] {
        flex: 0 0 auto;
        width: 100%;
    }

    .tests-table-section__status-cell[b-m1tqkbpw5a] {
        flex-wrap: wrap;
    }

    .tests-table-section__action-cell:empty[b-m1tqkbpw5a] {
        display: none;
    }

    .tests-table-section__action-cell[b-m1tqkbpw5a]  .mud-button-root {
        width: 100%;
        min-height: var(--tap-min);
    }

    /* Stacked-card rows: the action placeholder goes full-width and
       tap-height, exactly like the real button it replaces. */
    .tests-table-section__row[b-m1tqkbpw5a]  .tests-table-section__skeleton--button {
        width: 100% !important;
        height: var(--tap-min) !important;
    }
}
/* /Components/Features/MyTests/TreatmentScheduleSection.razor.rz.scp.css */
.treatment-section[b-jtman7yeyr] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 60px 60px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

.treatment-section__heading[b-jtman7yeyr] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

/* ── Card ────────────────────────────────────────────────────── */
.treatment-section__card[b-jtman7yeyr] {
    display: flex;
    flex-direction: row;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    padding: 40px 48px;
    gap: 48px;
    box-sizing: border-box;
}

/* ── Left column ─────────────────────────────────────────────── */
.treatment-section__left[b-jtman7yeyr] {
    flex: 0 0 38%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.treatment-section__left-title[b-jtman7yeyr] {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #0c7d7d;
    line-height: 1.4;
    margin: 0;
}

.treatment-section__left-body[b-jtman7yeyr] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.65;
    margin: 0;
}

/* ── Right column ────────────────────────────────────────────── */
.treatment-section__right[b-jtman7yeyr] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.treatment-section__right-heading[b-jtman7yeyr] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #080808;
    margin: 0 0 16px;
    line-height: 1.35;
}

.treatment-section__right-divider[b-jtman7yeyr] {
    height: 1px;
    background-color: #e1e1e1;
}

/* ── Interval row ────────────────────────────────────────────── */
.treatment-section__interval-row[b-jtman7yeyr] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 0;
}

.treatment-section__interval-period[b-jtman7yeyr] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #212121;
    line-height: 1.4;
}

/* ── Frequency badge ─────────────────────────────────────────── */
.treatment-section__frequency-badge[b-jtman7yeyr] {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #7A5200;
    background-color: #FFF0C0;
    border-radius: 4px;
    padding: 4px 12px;
    white-space: nowrap;
    align-self: flex-start;
}

@media (max-width: 959.98px) {
    .treatment-section[b-jtman7yeyr] {
        padding: 0 20px 40px;
        gap: 16px;
    }

    .treatment-section__card[b-jtman7yeyr] {
        flex-direction: column;
        padding: 22px 16px;
        gap: 24px;
        border-radius: 16px;
        box-shadow: var(--card-shadow);
    }

    .treatment-section__left[b-jtman7yeyr] {
        flex: 0 0 auto;
    }
}

.treatment-section__fallback[b-jtman7yeyr] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #6e6e6e;
    line-height: 1.6;
    margin: 4px 0 0;
}

/* Column headers come from the API ("Time in Post-Treatment" / "Tests per Year"), so
   they are laid out on the same grid as the rows beneath them. */
.treatment-section__col-headers[b-jtman7yeyr] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 0;
}

.treatment-section__col-label[b-jtman7yeyr] {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #919191;
}
/* /Components/Features/Profile/AdminProfileSection.razor.rz.scp.css */
/* ── Hero ─────────────────────────────────────────────────── */
.adp-hero[b-ermcnqhk4z] {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 32px 0 36px;
}

.adp-hero__avatar[b-ermcnqhk4z] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #0c7d7d;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(12, 125, 125, 0.25);
}

.adp-hero__initials[b-ermcnqhk4z] {
    font-family: 'Montserrat', sans-serif;
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
    letter-spacing: 1px;
}

.adp-hero__identity[b-ermcnqhk4z] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.adp-hero__name[b-ermcnqhk4z] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #0f1117;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.adp-hero__verified[b-ermcnqhk4z] {
    display: flex;
    align-items: center;
}

.adp-hero__email[b-ermcnqhk4z] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #6b7280;
    margin: 0;
}

/* ── Badges ───────────────────────────────────────────────── */
.adp-badge[b-ermcnqhk4z] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 20px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
}

.adp-badge--admin[b-ermcnqhk4z] {
    background-color: #e8f5f5;
    color: #0c7d7d;
}

.adp-badge--verified[b-ermcnqhk4z] {
    background-color: #e8f5f5;
    color: #0c7d7d;
}

.adp-badge--enabled[b-ermcnqhk4z] {
    background-color: #e7f3e8;
    color: #2e7d32;
}

/* ── Two-column card grid ─────────────────────────────────── */
.adp-grid[b-ermcnqhk4z] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 32px;
}

/* ── Cards ────────────────────────────────────────────────── */
.adp-card[b-ermcnqhk4z] {
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #e8eaed;
    box-shadow: 2px 4px 14px 0 rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.adp-card__header[b-ermcnqhk4z] {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
    background-color: #f8f9fa;
    border-bottom: 1px solid #e8eaed;
    padding: 12px 20px;
    letter-spacing: 0.01em;
}

.adp-card__row[b-ermcnqhk4z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 20px;
    border-bottom: 1px solid #f1f3f5;
}

.adp-card__row:last-child[b-ermcnqhk4z] {
    border-bottom: none;
}

.adp-card__label[b-ermcnqhk4z] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #6b7280;
}

.adp-card__value[b-ermcnqhk4z] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #0f1117;
    text-align: right;
}

@media (max-width: 959.98px) {
    .adp-grid[b-ermcnqhk4z] {
        grid-template-columns: 1fr;
    }

    .adp-hero[b-ermcnqhk4z] {
        flex-direction: column;
        text-align: center;
    }

    .adp-hero__name[b-ermcnqhk4z] {
        justify-content: center;
    }
}
/* /Components/Features/Profile/AppealDetailDialog.razor.rz.scp.css */
.ap-dialog__row[b-m9n9is1yer] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ap-dialog__label[b-m9n9is1yer] {
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: #919191;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ap-dialog__value[b-m9n9is1yer] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #212121;
}

.ap-dialog__status[b-m9n9is1yer] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ap-dialog__date[b-m9n9is1yer] {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #919191;
}
/* /Components/Features/Profile/ClaimAppealSection.razor.rz.scp.css */
.claim-card[b-6w69a8t46q] {
    gap: 0 !important;
    padding: 0 !important;
}

.claim-divider[b-6w69a8t46q] {
    height: 1px;
    background-color: #eef0f4;
}

.claim-row[b-6w69a8t46q] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    gap: 16px;
}

.claim-row__left[b-6w69a8t46q] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.claim-row__payer-label[b-6w69a8t46q] {
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: #919191;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.claim-row__payer-name[b-6w69a8t46q] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #212121;
}

.claim-row__right[b-6w69a8t46q] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.claim-row__status-col[b-6w69a8t46q] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.claim-expand[b-6w69a8t46q] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background-color: transparent;
    color: #525252;
    cursor: pointer;
}

.claim-expand__icon[b-6w69a8t46q] {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.claim-expand:hover[b-6w69a8t46q] {
    background-color: #f2f4f7;
}

.claim-empty[b-6w69a8t46q] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 28px;
}

.claim-empty__title[b-6w69a8t46q] {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #212121;
}

.claim-empty__body[b-6w69a8t46q] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
}

/* Mobile: claim rows stack vertically; the Sign form button goes
   full-width instead of overflowing off-screen. */
@media (max-width: 959.98px) {
    .claim-row[b-6w69a8t46q] {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 16px 20px;
    }

    .claim-row__right[b-6w69a8t46q] {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .claim-row__status-col[b-6w69a8t46q] {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .claim-row__right[b-6w69a8t46q]  .mud-button-root {
        width: 100%;
        min-height: var(--tap-min);
    }
}
/* /Components/Features/Profile/InsuranceCardUploadBox.razor.rz.scp.css */
/* ID-1 card format (85.60 x 53.98 mm) - the real dimensions of an
   insurance or credit card, so the slot reads as a card at a glance. */
.ins-card[b-1is7sq7a50] {
    position: relative;
    width: 264px;
    aspect-ratio: 1.586;
    border-radius: 10px;
    overflow: hidden;
    background-color: #f7f9fb;
    border: 1px solid #d8dce2;
}

.ins-card__image[b-1is7sq7a50] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter 0.2s ease;
}

.ins-card__image--blurred[b-1is7sq7a50] {
    filter: blur(12px);
}

.ins-card__empty[b-1is7sq7a50],
.ins-card__file[b-1is7sq7a50] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 16px;
}

.ins-card[b-1is7sq7a50]  .ins-card__empty-icon,
.ins-card[b-1is7sq7a50]  .ins-card__file-icon {
    font-size: 30px !important;
    width: 30px !important;
    height: 30px !important;
    color: #b6bdc7;
}

.ins-card__empty-text[b-1is7sq7a50],
.ins-card__file-name[b-1is7sq7a50] {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #919191;
    text-align: center;
    word-break: break-all;
}

.ins-card__reveal[b-1is7sq7a50] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: none;
    background-color: rgba(8, 8, 8, 0.35);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.ins-card__reveal[b-1is7sq7a50]  .ins-card__reveal-icon {
    font-size: 22px !important;
    width: 22px !important;
    height: 22px !important;
}

.ins-card__countdown[b-1is7sq7a50] {
    position: absolute;
    right: 8px;
    bottom: 8px;
    padding: 2px 8px;
    border-radius: 10px;
    background-color: rgba(8, 8, 8, 0.65);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
}

/* Matches the app's existing .pinfo-link treatment for inline actions
   rather than introducing a second, heavier button style. */
.ins-card__action[b-1is7sq7a50] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: none;
    background: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #0c7d7d;
    text-decoration: underline;
    cursor: pointer;
}

.ins-card__action:hover:not(:disabled)[b-1is7sq7a50] {
    color: #0a6a6a;
}

.ins-card__action:disabled[b-1is7sq7a50] {
    color: #b6bdc7;
    cursor: default;
}

.ins-card__action-icon[b-1is7sq7a50] {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

@media (max-width: 599.98px) {
    .ins-card[b-1is7sq7a50] {
        width: 100%;
        max-width: 264px;
    }
}

/* Wraps the revealed image so it can be opened full size. Sized to the card and stripped
   of button chrome, so it reads as the image itself rather than a control. */
.ins-card__zoom[b-1is7sq7a50] {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: zoom-in;
}

.ins-card__zoom:focus-visible[b-1is7sq7a50] {
    outline: 2px solid #0c7d7d;
    outline-offset: -2px;
}
/* /Components/Features/Profile/InsuranceCardUploadDialog.razor.rz.scp.css */
.up-dialog__title[b-vi7jun3db8] {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #080808;
}

.up-dialog[b-vi7jun3db8] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ── Dropzone ─────────────────────────────────────────────────── */
.up-drop[b-vi7jun3db8] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 34px 20px;
    border: 1.5px dashed #d3d9e2;
    border-radius: 12px;
    background-color: #fff;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.up-drop--active[b-vi7jun3db8] {
    border-color: #0c7d7d;
    background-color: #f2fafa;
}

.up-drop__icon[b-vi7jun3db8] {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.up-drop__text[b-vi7jun3db8] {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
}

.up-drop__link[b-vi7jun3db8] {
    color: #0c7d7d;
    text-decoration: underline;
    font-weight: 600;
}

/* InputFile is a child component, so its rendered <input> never receives this
   component's scope attribute - ::deep is required or the rule silently does
   nothing and the native file button shows through. */
.up-drop[b-vi7jun3db8]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.up-drop[b-vi7jun3db8]  input[type="file"]:disabled {
    cursor: default;
}

/* ── Meta row ─────────────────────────────────────────────────── */
.up-meta[b-vi7jun3db8] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #919191;
}

/* ── Selected file row ────────────────────────────────────────── */
.up-file[b-vi7jun3db8] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    background-color: #fff;
}

.up-file--failed[b-vi7jun3db8] {
    border-color: #f3c9c9;
}

.up-file__thumb[b-vi7jun3db8] {
    flex: 0 0 auto;
    width: 62px;
    aspect-ratio: 1.586;
    border-radius: 6px;
    overflow: hidden;
    background-color: #f4f6f9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.up-file__image[b-vi7jun3db8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.up-file__thumb[b-vi7jun3db8]  .up-file__icon {
    font-size: 22px !important;
    width: 22px !important;
    height: 22px !important;
    color: #b6bdc7;
}

.up-file__body[b-vi7jun3db8] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.up-file__name[b-vi7jun3db8] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #212121;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.up-file__meta[b-vi7jun3db8] {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #919191;
}

.up-file__failed[b-vi7jun3db8] {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #d84040;
}

.up-file__bar[b-vi7jun3db8] {
    height: 5px;
    border-radius: 3px;
    background-color: #eef1f5;
    overflow: hidden;
    margin-top: 2px;
}

.up-file__bar-fill[b-vi7jun3db8] {
    height: 100%;
    border-radius: 3px;
    background-color: #0c7d7d;
    transition: width 0.15s linear;
}

.up-file__bar-fill--pulsing[b-vi7jun3db8] {
    animation: up-pulse-b-vi7jun3db8 1.1s ease-in-out infinite;
}

@keyframes up-pulse-b-vi7jun3db8 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

.up-file__remove[b-vi7jun3db8] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 6px;
    background-color: transparent;
    color: #919191;
    cursor: pointer;
}

.up-file__remove:hover[b-vi7jun3db8] {
    background-color: #f4f6f9;
    color: #d84040;
}

/* ── Actions ──────────────────────────────────────────────────── */
.up-actions[b-vi7jun3db8] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.up-btn[b-vi7jun3db8] {
    height: 38px;
    min-width: 92px;
    padding: 0 20px;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.up-btn--ghost[b-vi7jun3db8] {
    border: 1px solid #d8dce2;
    background-color: transparent;
    color: #525252;
}

.up-btn--ghost:hover[b-vi7jun3db8] {
    background-color: #f4f6f9;
}

.up-btn--primary[b-vi7jun3db8] {
    border: none;
    background-color: #0c7d7d;
    color: #fff;
}

.up-btn--primary:hover:not(:disabled)[b-vi7jun3db8] {
    background-color: #0a6a6a;
}

.up-btn--primary:disabled[b-vi7jun3db8] {
    background-color: #c8cdd6;
    cursor: default;
}
/* /Components/Features/Profile/InsuranceSection.razor.rz.scp.css */
/* Button left, copy right. `row-reverse` rather than reordering the markup: the DOM keeps
   heading → explanation → action, so a screen reader and the tab order still meet the button
   after the text it acts on. */
.ins-uninsured__text-row[b-ru3w2dw1q1] {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 16px;
}

.ins-uninsured__copy[b-ru3w2dw1q1] {
    flex: 1 1 auto;
    min-width: 0;
}

.ins-uninsured__heading[b-ru3w2dw1q1] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #0c7d7d;
    margin: 0 0 8px;
}

.ins-uninsured__body[b-ru3w2dw1q1] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.6;
    margin: 0;
}

/* Top-left of the panel, above the copy, rather than floated opposite it. */
.ins-uninsured__icon[b-ru3w2dw1q1] {
    width: 38px;
    height: 38px;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
    margin-bottom: 12px;
}

.ins-uninsured__actions[b-ru3w2dw1q1] {
    display: flex;
    flex-shrink: 0;
    align-items: flex-start;
    margin-top: 0;
}

.ins-divider[b-ru3w2dw1q1] {
    height: 1px;
    background-color: #e8eaf0;
}

.ins-primary__heading[b-ru3w2dw1q1] {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #0c7d7d;
    margin: 0;
}

.ins-primary__updated[b-ru3w2dw1q1] {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #919191;
    font-style: italic;
    margin: 2px 0 0;
}

.ins-upload-row[b-ru3w2dw1q1] {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.ins-upload-area[b-ru3w2dw1q1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ins-upload-caption[b-ru3w2dw1q1] {
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    color: #919191;
    line-height: 1.4;
}

/* Mobile: insurance card upload boxes (front/back) stack vertically
   and CTAs go full-width. */
@media (max-width: 959.98px) {
    .ins-upload-row[b-ru3w2dw1q1] {
        grid-template-columns: 1fr;
    }

    /* Below the copy on a narrow screen, full width. Back to `column` so the reversal above
       does not put the button above the text it belongs to. */
    .ins-uninsured__text-row[b-ru3w2dw1q1] {
        flex-direction: column;
        gap: 12px;
    }

    .ins-uninsured__actions[b-ru3w2dw1q1] {
        justify-content: stretch;
        width: 100%;
    }

    .ins-uninsured__actions[b-ru3w2dw1q1]  .mud-button-root {
        width: 100%;
        min-height: var(--tap-min);
    }
}

/* The copy is injected as markup by ContentHtml, so its <p> carries no scope attribute and a
   plain descendant selector would not reach it - hence ::deep. The wrapper above is this
   component's own element, so colour and font inherit down to the paragraph normally; this only
   removes the browser's default paragraph margin, which the single <p> this replaced never had. */
.ins-uninsured__body[b-ru3w2dw1q1]  p {
    margin: 0;
}
/* /Components/Features/Profile/PersonalInfoUsageNote.razor.rz.scp.css */
/* The link itself is styled by .pinfo-link in the profile's shared stylesheet; only the optional
   snippet needs anything here. Injected by ContentHtml, so its paragraph carries no scope
   attribute and is reached with ::deep. */
.pinfo-usage-note[b-q5wge3a22n] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.6;
    margin-bottom: 6px;
}

.pinfo-usage-note[b-q5wge3a22n]  p {
    margin: 0;
}
/* /Components/Features/Profile/ProfilePage.razor.rz.scp.css */
.profile-page-inner[b-yxgpa4xckr] {
    padding: 0 100px;
}

.profile-anchor[b-yxgpa4xckr] {
    scroll-margin-top: 96px;
}

@media (max-width: 1279.98px) {
    .profile-page-inner[b-yxgpa4xckr] {
        padding: 0 32px;
    }
}

@media (max-width: 959.98px) {
    .profile-page-inner[b-yxgpa4xckr] {
        padding: 0;
    }
}

.profile-logout-row[b-yxgpa4xckr] {
    display: flex;
    justify-content: center;
    padding: 24px 0 40px;
}

.profile-logout-btn[b-yxgpa4xckr] {
    height: 44px;
    padding: 0 48px;
    border-radius: 8px;
    border: 2px solid #d84040;
    background-color: transparent;
    color: #d84040;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.profile-logout-btn:hover[b-yxgpa4xckr] {
    background-color: #d84040;
    color: #fff;
}


/* /Components/Features/Profile/ProfilePageHeader.razor.rz.scp.css */
.profile-header[b-u7qfz56b37] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
}

.profile-header__icon[b-u7qfz56b37] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.profile-header__title[b-u7qfz56b37] {
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.2;
}

.profile-header__actions[b-u7qfz56b37] {
    margin-left: auto;
}
/* /Components/Features/Profile/ProfileSkeleton.razor.rz.scp.css */
.profile-skeleton__block[b-c1rb5cyh1p] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profile-skeleton__block--end[b-c1rb5cyh1p] {
    align-items: flex-end;
}

.profile-skeleton__cards[b-c1rb5cyh1p] {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.profile-skeleton__card-box[b-c1rb5cyh1p] {
    width: 264px;
    aspect-ratio: 1.586;
    border-radius: 10px;
    background-color: #f0f2f5;
    border: 1px solid #e3e7ec;
    animation: profile-skeleton-pulse-b-c1rb5cyh1p 1.4s ease-in-out infinite;
}

.profile-skeleton__claim-row[b-c1rb5cyh1p] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 0;
}

@keyframes profile-skeleton-pulse-b-c1rb5cyh1p {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.55; }
}

@media (max-width: 599.98px) {
    .profile-skeleton__card-box[b-c1rb5cyh1p] {
        width: 100%;
        max-width: 264px;
    }
}
/* /Components/Features/Resources/FaqCategoryCard.razor.rz.scp.css */
.faq-card[b-2qu0jrxd9o] {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* ── Category title ──────────────────────────────────────────── */
.faq-card__title[b-2qu0jrxd9o] {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #0c7d7d;
    margin: 0 0 4px;
    line-height: 1.25;
}

/* ── Divider ─────────────────────────────────────────────────── */
.faq-card__divider[b-2qu0jrxd9o] {
    height: 1px;
    background-color: #e8e8e8;
    margin: 4px 0;
}

/* ── FAQ item ────────────────────────────────────────────────── */
.faq-card__item[b-2qu0jrxd9o] {
    display: flex;
    flex-direction: column;
    border-left: 3px solid #0c7d7d;
    padding-left: 16px;
    margin: 4px 0;
}

/* ── Question row (button) ───────────────────────────────────── */
.faq-card__question-row[b-2qu0jrxd9o] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: none;
    border: none;
    padding: 14px 0;
    cursor: pointer;
    text-align: left;
    width: 100%;
    gap: 16px;
}

.faq-card__question-text[b-2qu0jrxd9o] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #212121;
    line-height: 1.5;
    flex: 1;
}

.faq-card__question-row[b-2qu0jrxd9o]  .faq-card__toggle-icon {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    color: #274769;
    flex-shrink: 0;
}

/* ── Expanded answer ─────────────────────────────────────────── */
.faq-card__answer[b-2qu0jrxd9o] {
    padding-bottom: 14px;
}

.faq-card__answer-text[b-2qu0jrxd9o] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 959.98px) {
    .faq-card__title[b-2qu0jrxd9o] {
        font-size: 16px;
    }

    .faq-card__item[b-2qu0jrxd9o] {
        padding-left: 12px;
    }
}
/* /Components/Features/Resources/FaqPanel.razor.rz.scp.css */
.faq-panel__card[b-deg3lejwl6] {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

@media (max-width: 959.98px) {
    .faq-panel__card[b-deg3lejwl6] {
        padding: 16px;
        gap: 16px;
    }
}
/* /Components/Features/Resources/ResourceCategorySection.razor.rz.scp.css */
.res-category__card[b-3qnc45getm] {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.res-category__item[b-3qnc45getm] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #f0f0f0;
}

.res-category__item:last-child[b-3qnc45getm] {
    border-bottom: none;
}

.res-category__item-link[b-3qnc45getm] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #0c7d7d;
    text-decoration: none;
    flex: 1;
    transition: color 0.15s ease;
}

.res-category__item-link:hover[b-3qnc45getm] {
    color: #085f5f;
    text-decoration: underline;
}

.res-category__download-btn[b-3qnc45getm] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #274769;
    transition: color 0.15s ease;
    flex-shrink: 0;
}

.res-category__download-btn:hover[b-3qnc45getm] {
    color: #0c7d7d;
}

.res-category__download-icon[b-3qnc45getm] {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

@media (max-width: 959.98px) {
    .res-category__item[b-3qnc45getm] {
        padding: 12px 16px;
    }
}
/* /Components/Features/Resources/ResourcesFaqsBodySection.razor.rz.scp.css */
.rf-body[b-vl4oxshxmi] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    padding: 48px 60px 60px;
    box-sizing: border-box;
}

.rf-body__resources-col[b-vl4oxshxmi] {
    flex: 0 0 33%;
    display: flex;
    flex-direction: column;
}

.rf-body__faq-col[b-vl4oxshxmi] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

@media (max-width: 959.98px) {
    .rf-body[b-vl4oxshxmi] {
        flex-direction: column;
        gap: 20px; /* matches the gap between accordions in the resources list */
        padding: 32px 20px 40px;
    }

    .rf-body__resources-col[b-vl4oxshxmi] {
        flex: 0 0 auto;
        align-self: stretch;
    }
}
/* /Components/Features/Resources/ResourcesFaqsBodySkeleton.razor.rz.scp.css */
/* Column split, padding and gaps copied from ResourcesFaqsBodySection so the
   loaded content lands exactly where the skeleton sat. */
.rf-skeleton[b-5bg5yzyv6y] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    padding: 48px 60px 60px;
    box-sizing: border-box;
}

.rf-skeleton__resources-col[b-5bg5yzyv6y] {
    flex: 0 0 33%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.rf-skeleton__faq-col[b-5bg5yzyv6y] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Matches .accordion-section */
.rf-skeleton__accordion[b-5bg5yzyv6y] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rf-skeleton__header[b-5bg5yzyv6y] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Matches .res-category__card / .faq-panel__card */
.rf-skeleton__card[b-5bg5yzyv6y] {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.rf-skeleton__card--faq[b-5bg5yzyv6y] {
    gap: 20px;
    padding: 20px;
}

/* Matches .res-category__item */
.rf-skeleton__row[b-5bg5yzyv6y] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #f0f0f0;
}

.rf-skeleton__row:last-child[b-5bg5yzyv6y] {
    border-bottom: none;
}

/* Matches .faq-card__item: the teal rail plus the question row's padding. */
.rf-skeleton__question[b-5bg5yzyv6y] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-left: 3px solid #e2e5e9;
    padding: 14px 0 14px 16px;
    margin: 4px 0;
}

@media (max-width: 959.98px) {
    .rf-skeleton[b-5bg5yzyv6y] {
        flex-direction: column;
        gap: 20px;
        padding: 32px 20px 40px;
    }

    .rf-skeleton__resources-col[b-5bg5yzyv6y] {
        flex: 0 0 auto;
        align-self: stretch;
        gap: 20px;
    }

    .rf-skeleton__card--faq[b-5bg5yzyv6y] {
        padding: 16px;
        gap: 16px;
    }

    .rf-skeleton__row[b-5bg5yzyv6y] {
        padding: 12px 16px;
    }

    .rf-skeleton__question[b-5bg5yzyv6y] {
        padding-left: 12px;
    }
}
/* /Components/Features/Resources/ResourcesFaqsHeroSection.razor.rz.scp.css */
.rf-hero[b-4thvtgkzn3] {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 112px 60px 48px;
    background: linear-gradient(to right, #1a3a5c 0%, #1e4468 50%, #0f2135 100%);
    box-sizing: border-box;
}

/* ── Content ─────────────────────────────────────────────────── */
.rf-hero__content[b-4thvtgkzn3] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 680px;
}

.rf-hero__title[b-4thvtgkzn3] {
    font-family: 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 300;
    color: #fff;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.rf-hero__description[b-4thvtgkzn3] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.65;
    margin: 0;
}

/* ── Search bar ──────────────────────────────────────────────── */
.rf-hero__search-wrap[b-4thvtgkzn3] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 0 20px;
    height: 52px;
    max-width: 560px;
    box-sizing: border-box;
}

.rf-hero__search-icon[b-4thvtgkzn3] {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}

.rf-hero__search-input[b-4thvtgkzn3] {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #212121;
}

.rf-hero__search-input[b-4thvtgkzn3]::placeholder {
    color: #919191;
}

@media (max-width: 959.98px) {
    .rf-hero[b-4thvtgkzn3] {
        padding: 88px 20px 32px;
    }

    .rf-hero__title[b-4thvtgkzn3] {
        font-size: 32px;
    }

    .rf-hero__search-wrap[b-4thvtgkzn3] {
        max-width: none;
        height: 48px;
        padding: 0 14px;
    }
}

/* Right-aligned under the hero content: these heroes are columns with a
   description (and a search bar), so a row would squeeze them. */
.rf-hero__actions[b-4thvtgkzn3] {
    align-self: flex-end;
    margin-top: 20px;
}
/* /Components/Features/Resources/ResourcesFaqsPage.razor.rz.scp.css */
/* Matches the horizontal rhythm of .rf-body so the message lines up with the
   content it replaces. */
.rf-no-results[b-jkyd4r8ur1] {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #6e6e6e;
    margin: 0;
    padding: 48px 60px 60px;
}

@media (max-width: 959.98px) {
    .rf-no-results[b-jkyd4r8ur1] {
        padding: 32px 20px 40px;
    }
}
/* /Components/Features/Resources/ResourcesPanel.razor.rz.scp.css */
.resources-panel[b-tlkeszb3h8] {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

@media (max-width: 959.98px) {
    .resources-panel[b-tlkeszb3h8] {
        gap: 20px;
    }
}
/* /Components/Features/SupportGroups/AdvocacyGroupCard.razor.rz.scp.css */
.advocacy-card[b-ho1fc1qud9] {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    padding: 32px 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
}

/* ── Logo area ───────────────────────────────────────────────── */
.advocacy-card__logo-wrap[b-ho1fc1qud9] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80px;
}

.advocacy-card__logo[b-ho1fc1qud9] {
    max-height: 72px;
    max-width: 260px;
    width: auto;
    object-fit: contain;
}

/* ── Body ────────────────────────────────────────────────────── */
.advocacy-card__body[b-ho1fc1qud9] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.advocacy-card__name[b-ho1fc1qud9] {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #0c7d7d;
    margin: 0;
    line-height: 1.3;
}

.advocacy-card__description[b-ho1fc1qud9] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #525252;
    line-height: 1.65;
    margin: 0;
}

.advocacy-card__website-link[b-ho1fc1qud9] {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #0c7d7d;
    text-decoration: underline;
    align-self: flex-start;
    transition: color 0.15s ease;
}

.advocacy-card__website-link:hover[b-ho1fc1qud9] {
    color: #085f5f;
}

/* ── Footer: newsletter signup button ────────────────────────── */
.advocacy-card__footer[b-ho1fc1qud9] {
    display: flex;
    justify-content: flex-end;
    padding-top: 8px;
}

@container (max-width: 959.98px) {
    .advocacy-card[b-ho1fc1qud9] {
        padding: 18px 16px;
        gap: 12px;
        border-radius: 12px;
        box-shadow: var(--card-shadow);
    }

    .advocacy-card__logo-wrap[b-ho1fc1qud9] {
        min-height: 60px;
    }

    .advocacy-card__logo[b-ho1fc1qud9] {
        max-height: 56px;
        max-width: 100%;
    }

    .advocacy-card__name[b-ho1fc1qud9] {
        font-size: 16px;
    }

    /* Newsletter CTA: full-width and allowed to wrap so long labels
       can't push past the card edge (global style forces nowrap). */
    .advocacy-card__footer[b-ho1fc1qud9] {
        justify-content: stretch;
        padding-top: 4px;
    }

    .advocacy-card__footer[b-ho1fc1qud9]  .mud-button-root {
        width: 100%;
        min-height: var(--tap-min);
        height: auto;
        white-space: normal;
        font-size: 14px;
        padding: 8px 16px;
    }
}

/* The copy is injected as markup by ContentHtml, so its <p> carries no scope attribute and a
   plain descendant selector would not reach it - hence ::deep. The wrapper above is this
   component's own element, so colour and font inherit down to the paragraph normally; this only
   removes the browser's default paragraph margin, which the single <p> this replaced never had. */
.advocacy-card__description[b-ho1fc1qud9]  p {
    margin: 0;
}
/* /Components/Features/SupportGroups/AdvocacyGroupsSection.razor.rz.scp.css */
.advocacy-section[b-4zyl0zcw5q] {
    container-type: inline-size;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0 60px 60px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

.advocacy-section__heading[b-4zyl0zcw5q] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

.advocacy-section__grid[b-4zyl0zcw5q] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@container (max-width: 959.98px) {
    .advocacy-section[b-4zyl0zcw5q] {
        padding: 0 20px 40px;
        gap: 16px;
    }
}

@container (max-width: 767.98px) {
    .advocacy-section__grid[b-4zyl0zcw5q] {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
/* /Components/Features/SupportGroups/AdvocacyPostCard.razor.rz.scp.css */
.advocacy-post-card[b-6a1j235m69] {
    flex: 1;
    min-width: 0;
    height: 302px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 20px 16px;
    border-radius: 12px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    box-sizing: border-box;
    overflow: hidden;
}

/* ── Header ─────────────────────────────────────────────────── */
.advocacy-post-card__header[b-6a1j235m69] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.advocacy-post-card__avatar-wrap[b-6a1j235m69] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.advocacy-post-card__avatar-wrap[b-6a1j235m69]  .advocacy-post-card__avatar {
    width: 42px;
    height: 42px;
    font-size: 15px;
    font-weight: 600;
    background-color: #274769;
    color: #fff;
    flex-shrink: 0;
}

.advocacy-post-card__meta[b-6a1j235m69] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.advocacy-post-card__name[b-6a1j235m69] {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #080808;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.advocacy-post-card__date[b-6a1j235m69] {
    font-size: 13px;
    color: #919191;
    line-height: 1.2;
}

/* ── Thumbnail ──────────────────────────────────────────────── */
.advocacy-post-card__thumb[b-6a1j235m69] {
    width: 100%;
    height: 96px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
    background-color: #f0f2f5;
}

/* ── Body ───────────────────────────────────────────────────── */
/* min-height: 0 and the matching max-height keep the clamp honest: a flex item defaults
   to min-height: auto, so without them the text outgrows the fixed card height and gets
   sliced mid-line below the ellipsis. */
.advocacy-post-card__body[b-6a1j235m69] {
    font-size: 14px;
    color: #212121;
    line-height: 1.6;
    margin: 0;
    flex: 1;
    font-family: 'Open Sans', sans-serif;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    max-height: calc(5 * 1.6em);
}

/* ── Footer ─────────────────────────────────────────────────── */
.advocacy-post-card__footer[b-6a1j235m69] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    margin-top: auto;
}

.advocacy-post-card__platform[b-6a1j235m69] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: #6e6e6e;
    font-family: 'Open Sans', sans-serif;
}

.advocacy-post-card__platform[b-6a1j235m69]  .advocacy-post-card__platform-icon {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #6e6e6e;
}

.advocacy-post-card__source[b-6a1j235m69] {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #0c7d7d;
    text-decoration: underline;
}

/* ── Skeleton ───────────────────────────────────────────────── */
.advocacy-post-card--skeleton[b-6a1j235m69] {
    justify-content: flex-start;
    gap: 14px;
}

.advocacy-post-card__skeleton-header[b-6a1j235m69] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.advocacy-post-card__skeleton-meta[b-6a1j235m69] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.advocacy-post-card__skeleton-body[b-6a1j235m69] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
/* /Components/Features/SupportGroups/LatestPostsSection.razor.rz.scp.css */
.latest-posts-section[b-79lefl0fs2] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 40px 60px 48px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

/* ── Heading ─────────────────────────────────────────────────── */
.latest-posts-section__heading-row[b-79lefl0fs2] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.latest-posts-section__heading-icon[b-79lefl0fs2] {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.latest-posts-section__heading[b-79lefl0fs2] {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #080808;
    margin: 0;
    line-height: 1.25;
}

/* ── Subtitle ────────────────────────────────────────────────── */
.latest-posts-section__subtitle[b-79lefl0fs2] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #6e6e6e;
    margin: -12px 0 0;
    line-height: 1.55;
}

/* ── Stage: arrow | viewport | arrow ────────────────────────── */
.latest-posts-section__stage[b-79lefl0fs2] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    align-self: stretch;
}

/* ── Arrow buttons ──────────────────────────────────────────── */
.latest-posts-section__arrow[b-79lefl0fs2] {
    height: 240px;
    width: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    color: #274769;
    transition: background-color 0.15s ease, color 0.15s ease;
    padding: 0;
}

.latest-posts-section__arrow:hover:not(:disabled)[b-79lefl0fs2] {
    background-color: rgba(39, 71, 105, 0.07);
    color: #0c7d7d;
}

.latest-posts-section__arrow:disabled[b-79lefl0fs2] {
    opacity: 0.2;
    cursor: not-allowed;
}

.latest-posts-section__arrow[b-79lefl0fs2]  .latest-posts-section__arrow-icon {
    font-size: 48px !important;
    width: 48px !important;
    height: 48px !important;
}

/* ── Viewport ────────────────────────────────────────────────── */
.latest-posts-section__viewport[b-79lefl0fs2] {
    flex: 1;
    min-width: 0;
    overflow: clip;
    overflow-clip-margin: 24px;
}

/* ── Track ───────────────────────────────────────────────────── */
.latest-posts-section__track[b-79lefl0fs2] {
    display: flex;
    flex-direction: row;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

/* ── Page ────────────────────────────────────────────────────── */
/* Width is set inline from the page count; a hardcoded fraction only lined up
   while the testimonials were a fixed nine placeholders. */
.latest-posts-section__page[b-79lefl0fs2] {
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0 12px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
}

/* ── Navigation dots ────────────────────────────────────────── */
.latest-posts-section__dots[b-79lefl0fs2] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.latest-posts-section__dot[b-79lefl0fs2] {
    height: 6px;
    border-radius: 3px;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: width 0.25s ease, background-color 0.25s ease;
    width: 20px;
    background-color: #274769;
}

.latest-posts-section__dot--active[b-79lefl0fs2] {
    width: 32px;
    background-color: #0c7d7d;
}

/* ── Mobile scroller — swipeable 1-card-per-page strip, like the
   NavDx TestimonialCarouselView (desktop 3-up stage is C#-paged). */
.latest-posts-section__mobile-scroller[b-79lefl0fs2] {
    display: none;
}

@media (max-width: 959.98px) {
    .latest-posts-section[b-79lefl0fs2] {
        padding: 32px 0;
        gap: 16px;
    }

    .latest-posts-section__heading-row[b-79lefl0fs2],
    .latest-posts-section__subtitle[b-79lefl0fs2] {
        padding: 0 20px;
    }

    .latest-posts-section__stage[b-79lefl0fs2],
    .latest-posts-section__dots[b-79lefl0fs2] {
        display: none;
    }

    .latest-posts-section__mobile-scroller[b-79lefl0fs2] {
        display: flex;
        flex-direction: row;
        align-self: stretch;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 16px;
        padding: 4px 20px 24px;
        scrollbar-width: none;
    }

    .latest-posts-section__mobile-scroller[b-79lefl0fs2]::-webkit-scrollbar {
        display: none;
    }

    .latest-posts-section__mobile-card[b-79lefl0fs2] {
        flex: 0 0 calc(100% - 40px);
        scroll-snap-align: center;
    }
}

.latest-posts-section__placeholder[b-79lefl0fs2] {
    padding: 0 60px;
}

.latest-posts-section__empty[b-79lefl0fs2] {
    padding: 0 60px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #919191;
}

@media (max-width: 959.98px) {
    .latest-posts-section__placeholder[b-79lefl0fs2],
    .latest-posts-section__empty[b-79lefl0fs2] {
        padding: 0 20px;
    }
}

.latest-posts-section__arrow--ghost[b-79lefl0fs2] {
    visibility: hidden;
    pointer-events: none;
}
/* /Components/Features/SupportGroups/SupportGroupsHeroSection.razor.rz.scp.css */
.sg-hero[b-v62t8ispjs] {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 112px 60px 48px;
    background: linear-gradient(to right, #1a3a5c 0%, #1e4468 50%, #0f2135 100%);
    box-sizing: border-box;
}

.sg-hero__content[b-v62t8ispjs] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 640px;
}

.sg-hero__title[b-v62t8ispjs] {
    font-family: 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 300;
    color: #fff;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.sg-hero__description[b-v62t8ispjs] {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 959.98px) {
    .sg-hero[b-v62t8ispjs] {
        padding: 88px 20px 32px;
    }

    .sg-hero__title[b-v62t8ispjs] {
        font-size: 32px;
    }
}

/* Right-aligned under the hero content: these heroes are columns with a
   description (and a search bar), so a row would squeeze them. */
.sg-hero__actions[b-v62t8ispjs] {
    align-self: flex-end;
    margin-top: 20px;
}
/* /Components/Layout/AppFooter.razor.rz.scp.css */
.app-footer[b-rgtr1bhouk] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 60px;
    background-color: #f7f8fa;
    box-sizing: border-box;
}

.app-footer__links[b-rgtr1bhouk] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
}

.app-footer__link[b-rgtr1bhouk] {
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: normal;
    line-height: 1.8;
    color: #525252;
    text-decoration: underline;
    white-space: nowrap;
    transition: color 0.15s ease;
}

.app-footer__link:hover[b-rgtr1bhouk],
.app-footer__link.active[b-rgtr1bhouk] {
    color: #274769;
    text-decoration: underline;
}

.app-footer__copyright[b-rgtr1bhouk] {
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    font-weight: normal;
    line-height: 1.8;
    color: #525252;
    margin: 0;
    white-space: nowrap;
}

/* Mobile: stack links vertically like the NavDx sheet footer */
@media (max-width: 959.98px) {
    .app-footer[b-rgtr1bhouk] {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 16px 20px 32px;
    }

    .app-footer__links[b-rgtr1bhouk] {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .app-footer__link[b-rgtr1bhouk] {
        font-size: 11px;
    }

    .app-footer__copyright[b-rgtr1bhouk] {
        font-size: 11px;
        white-space: normal;
    }
}
/* /Components/Layout/AppHeaderNav.razor.rz.scp.css */
.app-header[b-88sx3ivtaw] {
    height: 80px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 0 60px;
    box-shadow: 4px 6px 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    gap: 174px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
}

/* Brand - logos + divider */
.app-header__brand[b-88sx3ivtaw] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.app-header__logo-naveris[b-88sx3ivtaw] {
    width: 181.6px;
    height: 38.5px;
    object-fit: contain;
    flex-shrink: 0;
}

.app-header__logo-navdx[b-88sx3ivtaw] {
    height: 32px;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
}

.app-header__divider[b-88sx3ivtaw] {
    width: 1px;
    height: 40px;
    background-color: #d0d5dd;
}

/* Nav links - grows to fill remaining space */
.app-header__nav[b-88sx3ivtaw] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 40px;
    flex: 1;
}


/* Profile / actions - pinned to the right */
.app-header__actions[b-88sx3ivtaw] {
    margin-left: auto;
    display: flex;
    align-items: center;
}

.app-header__profile-btn[b-88sx3ivtaw] {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.15s ease;
}

.app-header__profile-btn:hover[b-88sx3ivtaw] {
    background-color: rgba(28, 71, 107, 0.08);
}

.app-header__logo-link[b-88sx3ivtaw] {
    display: flex;
    align-items: center;
    text-decoration: none;
}

/* Desktop profile link wrapper — a plain element so CSS isolation
   can hide it on mobile (the NavLink itself, being a component,
   never receives the scope attribute). */
.app-header__profile-desktop[b-88sx3ivtaw] {
    display: flex;
    align-items: center;
}

/* Hamburger + mobile profile toggle: hidden on desktop */
.app-header__hamburger[b-88sx3ivtaw],
.app-header__profile-toggle[b-88sx3ivtaw] {
    display: none;
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-min);
    min-height: var(--tap-min);
}

/* ── Compact desktop: 960–1279px ─────────────────────────── */
@media (max-width: 1279.98px) {
    .app-header[b-88sx3ivtaw] {
        gap: 32px;
        padding: 0 32px;
    }

    .app-header__nav[b-88sx3ivtaw] {
        gap: 16px;
    }
}

/* ── Mobile (<960px): NavDx app header parity ────────────────
   64px bar, hamburger left, centered logo, profile toggle right,
   bottom corners 24px, soft shadow. Header stays above the
   slide-down sheets (z-index 100 vs sheet 90). */
@media (max-width: 959.98px) {
    .app-header[b-88sx3ivtaw] {
        height: var(--header-h-mobile);
        display: grid;
        grid-template-columns: 56px 1fr 56px;
        align-items: center;
        padding: 0 12px;
        gap: 0;
        border-bottom-left-radius: 24px;
        border-bottom-right-radius: 24px;
        box-shadow: var(--sheet-shadow);
    }

    .app-header__hamburger[b-88sx3ivtaw] {
        display: flex;
    }

    .app-header__nav[b-88sx3ivtaw] {
        display: none;
    }

    .app-header__brand[b-88sx3ivtaw] {
        justify-content: center;
    }

    .app-header__logo-navdx[b-88sx3ivtaw] {
        height: 24px;
    }

    .app-header__actions[b-88sx3ivtaw] {
        margin-left: 0;
        justify-content: flex-end;
    }

    .app-header__profile-desktop[b-88sx3ivtaw] {
        display: none;
    }

    .app-header__profile-toggle[b-88sx3ivtaw] {
        display: flex;
    }
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth-bg[b-2vfx7twqc5] {
    min-height: 100dvh;
    overflow-x: hidden;
    background: url('/auth_bg.png') center center / cover no-repeat;
    background-attachment: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 24px 0;
}

.auth-bg[b-2vfx7twqc5]::before {
    content: '';
    position: fixed;
    inset: 0;
    background: linear-gradient(180deg, rgba(26,58,92,0.5) 0%, rgba(30,68,104,0.5) 50%, rgba(15,33,53,0.5) 100%);
    pointer-events: none;
    z-index: 0;
}

.auth-card-wrap[b-2vfx7twqc5] {
    width: min(500px, calc(100vw - 32px));
    position: relative;
    z-index: 1;
}
/* /Components/Layout/LandingLayout.razor.rz.scp.css */
.app-shell-landing[b-xuu25fdxqt] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f7f8fa;
}

/* No top padding - hero gradient extends behind the fixed header */
.app-content-landing[b-xuu25fdxqt] {
    flex: 1;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-nwbv64m7da] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f7f8fa;
}

.app-content[b-nwbv64m7da] {
    flex: 1;
    padding: 112px 60px 32px; /* 80px fixed header + 32px breathing room */
}

@media (max-width: 1279.98px) {
    .app-content[b-nwbv64m7da] {
        padding: 112px 32px 32px;
    }
}

@media (max-width: 959.98px) {
    .app-content[b-nwbv64m7da] {
        padding: calc(var(--header-h-mobile) + 20px) var(--gutter-mobile) 24px;
    }
}

#blazor-error-ui[b-nwbv64m7da] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-nwbv64m7da] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/MobileNavMenu.razor.rz.scp.css */
.mobile-nav-menu__items[b-c5x6o0tpkm] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 32px 28px 0;
}
/* /Components/Layout/MobileNavMenuItem.razor.rz.scp.css */
.mobile-nav-item[b-knlu6eruko] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    background: none;
    border: none;
    padding: 14px 0;
    cursor: pointer;
    text-align: left;
    min-height: var(--tap-min);
}

.mobile-nav-item__icon[b-knlu6eruko] {
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.mobile-nav-item__icon img[b-knlu6eruko] {
    height: 24px;
    width: auto;
    max-width: 48px;
    object-fit: contain;
}

.mobile-nav-item__label[b-knlu6eruko] {
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 600;
    color: var(--color-ink);
}

.mobile-nav-item--pulsing[b-knlu6eruko] {
    animation: nav-item-pulse-b-knlu6eruko 160ms ease-in-out;
}

@keyframes nav-item-pulse-b-knlu6eruko {
    0%   { opacity: 1; }
    50%  { opacity: .4; }
    100% { opacity: 1; }
}
/* /Components/Layout/MobileProfileMenu.razor.rz.scp.css */
.mobile-profile-menu__content[b-907bypjwcq] {
    display: flex;
    flex-direction: column;
    padding: 32px 28px 0;
}

.mobile-profile-menu__header[b-907bypjwcq] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 20px;
}

.mobile-profile-menu__title[b-907bypjwcq] {
    font-family: var(--font-title);
    font-size: 28px;
    font-weight: 600;
    color: var(--color-ink);
}

.mobile-profile-menu__items[b-907bypjwcq] {
    display: flex;
    flex-direction: column;
}

.mobile-profile-menu__item[b-907bypjwcq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    border-top: 1px solid #d8dce2;
    padding: 16px 0;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 600;
    color: var(--color-ink);
    min-height: var(--tap-min);
}

.mobile-profile-menu__item:last-child[b-907bypjwcq] {
    border-bottom: 1px solid #d8dce2;
}

.mobile-profile-menu__chevron[b-907bypjwcq] {
    width: 16px;
    height: 16px;
    transform: rotate(-90deg);
}

.mobile-profile-menu__item--logout[b-907bypjwcq] {
    color: #d32f2f;
}
/* /Components/Layout/SheetFooterLinks.razor.rz.scp.css */
.sheet-footer[b-4zfwiqalwu] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 28px 28px 36px;
}

[b-4zfwiqalwu] .sheet-footer__link {
    font-family: var(--font-body);
    font-size: 11px;
    color: #6e6e6e;
    text-decoration: underline;
}

.sheet-footer__copyright[b-4zfwiqalwu] {
    margin: 6px 0 0;
    font-family: var(--font-body);
    font-size: 11px;
    color: #6e6e6e;
}
/* /Components/Shared/AccordionSection.razor.rz.scp.css */
.accordion-section[b-2hbnorgmfa] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.accordion-section__header[b-2hbnorgmfa] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 100%;
    text-align: left;
}

.accordion-section__name[b-2hbnorgmfa] {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #080808;
    line-height: 1.2;
}

.accordion-section__arrow[b-2hbnorgmfa] {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.accordion-section__arrow--open[b-2hbnorgmfa] {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .accordion-section__arrow[b-2hbnorgmfa] {
        transition: none;
    }
}

@media (max-width: 959.98px) {
    .accordion-section__name[b-2hbnorgmfa] {
        font-size: 17px;
    }
}
/* /Components/Shared/BusyOverlay.razor.rz.scp.css */
.busy-shield[b-tjqpivki70] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: transparent;
    cursor: progress;
}

.busy-bar[b-tjqpivki70] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 2001;
    background-color: rgba(12, 125, 125, 0.16);
    overflow: hidden;
}

.busy-bar__fill[b-tjqpivki70] {
    width: 40%;
    height: 100%;
    background-color: var(--color-teal);
    animation: busy-bar-slide-b-tjqpivki70 1.1s ease-in-out infinite;
}

@keyframes busy-bar-slide-b-tjqpivki70 {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(250%); }
}

/* Without motion the bar cannot travel, so it holds a steady partial fill instead of
   sitting invisible off-screen. */
@media (prefers-reduced-motion: reduce) {
    .busy-bar__fill[b-tjqpivki70] {
        animation: none;
        width: 100%;
        opacity: .55;
    }
}
/* /Components/Shared/OtpInput.razor.rz.scp.css */
.otp[b-gik2yivhav] {
    display: flex;
    width: 100%;
    border: 1px solid #9a9a9a;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
}

.otp__cell[b-gik2yivhav] {
    flex: 1 1 0;
    min-width: 0;
    height: 64px;
    border: none;
    border-left: 1px solid #9a9a9a;
    background-color: transparent;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #212121;
    caret-color: #0c7d7d;
}

.otp__cell:first-child[b-gik2yivhav] {
    border-left: none;
    border-radius: 9px 0 0 9px;
}

.otp__cell:last-child[b-gik2yivhav] {
    border-radius: 0 9px 9px 0;
}

.otp__cell:focus[b-gik2yivhav] {
    outline: none;
    background-color: #f2fafa;
    box-shadow: inset 0 0 0 2px #0c7d7d;
}

.otp__cell:disabled[b-gik2yivhav] {
    background-color: #f7f9fb;
    color: #919191;
}

@media (max-width: 599.98px) {
    .otp__cell[b-gik2yivhav] {
        height: 54px;
        font-size: 19px;
    }
}
/* /Components/Shared/RefreshButton.razor.rz.scp.css */
.refresh-btn[b-65p4a7qfyj] {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid #d8dce2;
    border-radius: 8px;
    background-color: #fff;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #274769;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.refresh-btn:hover:not(:disabled)[b-65p4a7qfyj] {
    background-color: #f2f4f7;
    border-color: #0c7d7d;
}

.refresh-btn:disabled[b-65p4a7qfyj] {
    cursor: default;
    opacity: 0.7;
}

.refresh-btn__icon[b-65p4a7qfyj] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    fill: currentColor;
}

.refresh-btn--busy .refresh-btn__icon[b-65p4a7qfyj] {
    animation: refresh-btn-spin-b-65p4a7qfyj 0.9s linear infinite;
    transform-origin: 50% 50%;
}

@keyframes refresh-btn-spin-b-65p4a7qfyj {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .refresh-btn--busy .refresh-btn__icon[b-65p4a7qfyj] {
        animation: none;
    }
}

@media (max-width: 599.98px) {
    .refresh-btn__text[b-65p4a7qfyj] {
        display: none;
    }

    .refresh-btn[b-65p4a7qfyj] {
        padding: 8px;
    }
}
