/* _content/NaverisPatientPortalAdmin.Web/Components/Features/Admin/SiteContent/SiteContentPage.razor.rz.scp.css */
/* Site content editor - a clinical workspace: calm neutral surfaces, one teal accent for action,
   and colour reserved for state (live, saved-not-published, unsaved, error). Every text colour
   here clears WCAG AA on its background; the old #8a97a3 grey (3:1) is kept for decoration only.

   Children are styled through ::deep from the .cms root, which carries this page's scope. */

.cms[b-33kdreapr6] {
    --cms-ink: #17242f;
    --cms-ink-soft: #3c4a57;
    --cms-muted: #5b6977;
    --cms-faint: #8a97a3;
    --cms-line: #e3e8ed;
    --cms-line-strong: #cdd6de;
    --cms-surface: #ffffff;
    --cms-subtle: #f6f8fa;
    --cms-canvas: #eef2f6;

    --cms-teal: #0c7d7d;
    --cms-teal-ink: #0a6a6a;
    --cms-teal-tint: #e8f4f4;
    --cms-navy: #274769;
    --cms-navy-tint: #eaf0f7;
    --cms-amber: #b86a00;
    --cms-amber-ink: #8a4b00;
    --cms-amber-tint: #fdf3e3;
    --cms-amber-line: #f1d7ad;
    --cms-green: #1f8a55;
    --cms-green-tint: #e5f4ec;
    --cms-red: #c63a3a;
    --cms-red-ink: #a52f2f;
    --cms-red-tint: #fcebeb;

    --cms-radius: 12px;
    --cms-radius-sm: 8px;
    --cms-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);

    --cms-font-title: 'Montserrat', sans-serif;
    --cms-font-body: 'Open Sans', sans-serif;

    /* What sticks to the top of the window: the app header, then the publish bar. */
    --cms-header: var(--header-h, 80px);
    --cms-bar-gap: 12px;
    --cms-bar-h: 64px;
    --cms-sticky: calc(var(--cms-header) + var(--cms-bar-gap) + var(--cms-bar-h) + 16px);

    color: var(--cms-ink);
    font-family: var(--cms-font-body);
}

.cms[b-33kdreapr6]  .mud-input,
.cms[b-33kdreapr6]  .mud-input-label {
    font-family: var(--cms-font-body);
}

/* Layout ------------------------------------------------------------------ */

.cms-layout[b-33kdreapr6] {
    display: grid;
    grid-template-columns: 216px minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.cms-layout__nav[b-33kdreapr6],
.cms-layout__editor[b-33kdreapr6],
.cms-layout__preview[b-33kdreapr6] {
    min-width: 0;
}

.cms-layout__nav[b-33kdreapr6],
.cms-layout__preview[b-33kdreapr6] {
    position: sticky;
    top: var(--cms-sticky);
}

.cms-layout__editor[b-33kdreapr6] {
    scroll-margin-top: var(--cms-sticky);
}

/* Compact desktop: the preview drops beneath the editor, the rail stays. */
@media (max-width: 1279.98px) {
    .cms-layout[b-33kdreapr6] {
        grid-template-columns: 200px minmax(0, 1fr);
    }

    .cms-layout__preview[b-33kdreapr6] {
        grid-column: 2;
        position: static;
    }
}

/* Mobile: one column, the rail becomes a scrolling row of sections. */
@media (max-width: 959.98px) {
    .cms[b-33kdreapr6] {
        --cms-header: var(--header-h-mobile, 64px);
        --cms-bar-h: 108px;
    }

    .cms-layout[b-33kdreapr6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .cms-layout__nav[b-33kdreapr6] {
        position: static;
    }

    .cms-layout__preview[b-33kdreapr6] {
        grid-column: auto;
    }
}

[b-33kdreapr6] .cms-skeleton {
    border-radius: var(--cms-radius);
}

[b-33kdreapr6] .cms-notice {
    margin-bottom: 16px;
    border-radius: var(--cms-radius-sm);
    background: var(--cms-navy-tint);
    color: var(--cms-ink);
    font-size: 0.8125rem;
}

/* Publish bar ------------------------------------------------------------- */

[b-33kdreapr6] .publish-bar {
    position: sticky;
    top: calc(var(--cms-header) + var(--cms-bar-gap));
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    min-height: var(--cms-bar-h);
    padding: 12px 16px;
    margin-bottom: 20px;
    background: var(--cms-surface);
    border: 1px solid var(--cms-line);
    border-radius: var(--cms-radius);
    /* The spread shadow paints the page colour into the gap above the bar, so content scrolling
       under the app header does not show through between the two. */
    box-shadow: var(--cms-shadow), 0 calc(-1 * var(--cms-bar-gap) - 1px) 0 var(--page-bg, #f7f8fa);
}

[b-33kdreapr6] .publish-bar__status {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

[b-33kdreapr6] .publish-bar__dot {
    flex: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--publish-dot, var(--cms-green));
    box-shadow: 0 0 0 4px var(--publish-tint, var(--cms-green-tint));
    transition: background-color 200ms ease, box-shadow 200ms ease;
}

[b-33kdreapr6] .publish-bar--live    { --publish-dot: var(--cms-green); --publish-tint: var(--cms-green-tint); }
[b-33kdreapr6] .publish-bar--ready   { --publish-dot: var(--cms-amber); --publish-tint: var(--cms-amber-tint); }
[b-33kdreapr6] .publish-bar--unsaved { --publish-dot: var(--cms-navy);  --publish-tint: var(--cms-navy-tint); }
[b-33kdreapr6] .publish-bar--error   { --publish-dot: var(--cms-red);   --publish-tint: var(--cms-red-tint); }

[b-33kdreapr6] .publish-bar__copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

[b-33kdreapr6] .publish-bar__state {
    font-family: var(--cms-font-title);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cms-ink);
}

[b-33kdreapr6] .publish-bar--error .publish-bar__state,
[b-33kdreapr6] .publish-bar--error .publish-bar__detail {
    color: var(--cms-red-ink);
}

[b-33kdreapr6] .publish-bar__detail {
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--cms-muted);
}

[b-33kdreapr6] .publish-bar__actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

[b-33kdreapr6] .publish-bar__divider {
    width: 1px;
    height: 24px;
    margin: 0 6px;
    background: var(--cms-line);
}

[b-33kdreapr6] .publish-bar__btn.mud-button-root {
    text-transform: none;
    font-family: var(--cms-font-title);
    font-weight: 600;
    letter-spacing: 0;
    border-radius: var(--cms-radius-sm);
    box-shadow: none;
}

[b-33kdreapr6] .publish-bar__btn--publish.mud-button-root {
    padding-inline: 16px;
}

@media (max-width: 959.98px) {
    [b-33kdreapr6] .publish-bar__actions {
        margin-left: 0;
        width: 100%;
    }

    [b-33kdreapr6] .publish-bar__divider {
        display: none;
    }

    [b-33kdreapr6] .publish-bar__btn--save {
        margin-left: auto;
    }
}

/* Section rail ------------------------------------------------------------ */

[b-33kdreapr6] .cms-nav {
    padding: 12px 8px;
    background: var(--cms-surface);
    border: 1px solid var(--cms-line);
    border-radius: var(--cms-radius);
    box-shadow: var(--cms-shadow);
}

[b-33kdreapr6] .cms-nav__heading {
    display: block;
    padding: 0 10px 8px;
    font-family: var(--cms-font-title);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cms-muted);
}

[b-33kdreapr6] .cms-nav__list.mud-list {
    padding: 0;
}

[b-33kdreapr6] .cms-nav__item.mud-list-item {
    margin-bottom: 2px;
    padding: 8px 10px;
    border-radius: var(--cms-radius-sm);
    color: var(--cms-ink-soft);
}

[b-33kdreapr6] .cms-nav__item.mud-list-item:hover {
    background: var(--cms-subtle);
}

[b-33kdreapr6] .cms-nav__item.mud-selected-item {
    background: var(--cms-teal-tint);
    color: var(--cms-teal-ink);
}

[b-33kdreapr6] .cms-nav__item.mud-selected-item:hover {
    background: var(--cms-teal-tint);
}

[b-33kdreapr6] .cms-nav__row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

[b-33kdreapr6] .cms-nav__icon {
    flex: none;
    color: var(--cms-muted);
}

[b-33kdreapr6] .mud-selected-item .cms-nav__icon {
    color: var(--cms-teal);
}

[b-33kdreapr6] .cms-nav__title {
    flex: 1;
    min-width: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-33kdreapr6] .cms-nav__regulated {
    flex: none;
    font-size: 1rem;
    color: var(--cms-amber);
}

[b-33kdreapr6] .cms-nav__count {
    flex: none;
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--cms-amber-tint);
    color: var(--cms-amber-ink);
    font-family: var(--cms-font-title);
    font-size: 0.6875rem;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 959.98px) {
    [b-33kdreapr6] .cms-nav {
        padding: 6px;
    }

    [b-33kdreapr6] .cms-nav__heading {
        display: none;
    }

    [b-33kdreapr6] .cms-nav__list.mud-list {
        display: flex;
        gap: 4px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    [b-33kdreapr6] .cms-nav__item.mud-list-item {
        flex: none;
        width: auto;
        margin-bottom: 0;
    }

    [b-33kdreapr6] .cms-nav__title {
        overflow: visible;
    }
}

/* Section panel ----------------------------------------------------------- */

[b-33kdreapr6] .cms-panel {
    background: var(--cms-surface);
    border: 1px solid var(--cms-line);
    border-radius: var(--cms-radius);
    box-shadow: var(--cms-shadow);
}

[b-33kdreapr6] .cms-panel__header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 28px;
    border-bottom: 1px solid var(--cms-line);
}

[b-33kdreapr6] .cms-panel__icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--cms-teal-tint);
    color: var(--cms-teal);
}

[b-33kdreapr6] .cms-panel__heading {
    flex: 1;
    min-width: 0;
}

[b-33kdreapr6] .cms-panel__title {
    margin: 0;
    font-family: var(--cms-font-title);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--cms-ink);
}

[b-33kdreapr6] .cms-panel__description {
    margin: 4px 0 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--cms-muted);
}

[b-33kdreapr6] .cms-panel__changes {
    flex: none;
    margin-top: 2px;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--cms-amber-tint);
    color: var(--cms-amber-ink);
    font-family: var(--cms-font-title);
    font-size: 0.75rem;
    font-weight: 600;
}

[b-33kdreapr6] .cms-panel__regulated.mud-alert {
    margin: 20px 28px 0;
    padding: 10px 14px;
    border: 1px solid var(--cms-amber-line);
    border-radius: var(--cms-radius-sm);
    background: var(--cms-amber-tint);
    color: var(--cms-amber-ink);
    font-size: 0.8125rem;
    line-height: 1.5;
}

[b-33kdreapr6] .cms-panel__regulated .mud-alert-icon {
    color: var(--cms-amber);
}

[b-33kdreapr6] .cms-panel__body {
    padding: 24px 28px 28px;
}

@media (max-width: 959.98px) {
    [b-33kdreapr6] .cms-panel__header {
        padding: 16px 18px;
    }

    [b-33kdreapr6] .cms-panel__regulated.mud-alert {
        margin: 16px 18px 0;
    }

    [b-33kdreapr6] .cms-panel__body {
        padding: 20px 18px 24px;
    }
}

[b-33kdreapr6] .cms-group + .cms-group,
[b-33kdreapr6] .cms-group + .content-orgs {
    margin-top: 8px;
    padding-top: 24px;
    border-top: 1px solid var(--cms-line);
}

[b-33kdreapr6] .cms-group__title {
    margin: 0 0 16px;
    font-family: var(--cms-font-title);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cms-muted);
}

/* Fields ------------------------------------------------------------------ */

/* Each field carries a gutter marker in the panel's left padding - amber once edited, red when
   invalid - so the changes in a long section can be found by scanning down the edge. */
[b-33kdreapr6] .content-field {
    margin: 0 0 24px -17px;
    padding-left: 14px;
    border-left: 3px solid transparent;
    transition: border-color 150ms ease;
}

[b-33kdreapr6] .content-field:last-child {
    margin-bottom: 8px;
}

[b-33kdreapr6] .content-field--changed {
    border-left-color: var(--cms-amber);
}

[b-33kdreapr6] .content-field--error {
    border-left-color: var(--cms-red);
}

[b-33kdreapr6] .content-field__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

[b-33kdreapr6] .content-field__label {
    font-family: var(--cms-font-title);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cms-ink);
}

[b-33kdreapr6] .content-field__help {
    margin: 0 0 8px;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--cms-muted);
}

[b-33kdreapr6] .content-field .draft-chip {
    margin-left: 0;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--cms-amber-tint);
    color: var(--cms-amber-ink);
}

[b-33kdreapr6] .content-field .mud-input-outlined-border {
    border-color: var(--cms-line-strong);
    border-radius: var(--cms-radius-sm);
}

/* 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: 12px;
}

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

[b-33kdreapr6] .content-field__test {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 6px;
}

[b-33kdreapr6] .content-field__stored {
    font-size: 0.75rem;
    color: var(--cms-muted);
    word-break: break-all;
}

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

[b-33kdreapr6] .rich-text {
    border: 1px solid var(--cms-line-strong);
    border-radius: var(--cms-radius-sm);
    overflow: hidden;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

[b-33kdreapr6] .rich-text:focus-within {
    border-color: var(--cms-teal);
    box-shadow: 0 0 0 3px var(--cms-teal-tint);
}

[b-33kdreapr6] .rich-text__toolbar {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 4px 6px;
    border-bottom: 1px solid var(--cms-line);
    background: var(--cms-subtle);
}

[b-33kdreapr6] .rich-text__toolbar .mud-icon-button {
    border-radius: 6px;
    color: var(--cms-ink-soft);
}

/* 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] .rich-text__input textarea {
    font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace;
    font-size: 0.8125rem;
    line-height: 1.6;
}

/* Organisations ----------------------------------------------------------- */

[b-33kdreapr6] .content-orgs__header {
    margin-bottom: 16px;
}

[b-33kdreapr6] .content-orgs__note {
    margin: -8px 0 0;
}

[b-33kdreapr6] .content-org {
    margin-bottom: 12px;
    border: 1px solid var(--cms-line);
    border-radius: 10px;
    overflow: hidden;
}

[b-33kdreapr6] .content-org__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 10px 14px;
    background: var(--cms-subtle);
    border-bottom: 1px solid var(--cms-line);
}

[b-33kdreapr6] .content-org--deleted .content-org__header {
    border-bottom: none;
}

[b-33kdreapr6] .content-org__avatar {
    flex: none;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 4px;
    border: 1px solid var(--cms-line);
    border-radius: var(--cms-radius-sm);
    background: var(--cms-surface);
    color: var(--cms-faint);
}

[b-33kdreapr6] .content-org__logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

[b-33kdreapr6] .content-org__name {
    font-family: var(--cms-font-title);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cms-ink);
}

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

[b-33kdreapr6] .content-org--deleted .content-org__name {
    text-decoration: line-through;
}

[b-33kdreapr6] .content-org .draft-chip {
    margin-left: 0;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--cms-amber-tint);
    color: var(--cms-amber-ink);
}

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

[b-33kdreapr6] .content-org__fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px 16px;
    padding: 16px;
}

[b-33kdreapr6] .content-org__field--full {
    grid-column: 1 / -1;
}

/* The description editor sits in the card, not the panel gutter. */
[b-33kdreapr6] .content-org .content-field {
    margin: 0;
    padding-left: 0;
    border-left: none;
}

[b-33kdreapr6] .content-org__error {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--cms-red-ink);
}

[b-33kdreapr6] .content-orgs__add.mud-button-root {
    width: 100%;
    padding-block: 10px;
    border-style: dashed;
    border-color: var(--cms-line-strong);
    border-radius: 10px;
    color: var(--cms-teal-ink);
    text-transform: none;
    font-family: var(--cms-font-title);
    font-weight: 600;
}

[b-33kdreapr6] .content-orgs__add.mud-button-root:hover {
    border-color: var(--cms-teal);
    background: var(--cms-teal-tint);
}

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

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

[b-33kdreapr6] .preview {
    background: var(--cms-surface);
    border: 1px solid var(--cms-line);
    border-radius: var(--cms-radius);
    box-shadow: var(--cms-shadow);
    overflow: hidden;
}

[b-33kdreapr6] .preview__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px 10px 16px;
    border-bottom: 1px solid var(--cms-line);
}

[b-33kdreapr6] .preview__heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-33kdreapr6] .preview__title {
    font-family: var(--cms-font-title);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cms-ink);
}

[b-33kdreapr6] .preview__tag {
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--cms-amber-tint);
    color: var(--cms-amber-ink);
    font-family: var(--cms-font-title);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

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

[b-33kdreapr6] .preview__viewport {
    padding: 16px;
    /* Scrolls vertically only - the frame is scaled to fit horizontally, never clipped. */
    overflow-x: hidden;
    overflow-y: auto;
    max-height: calc(100vh - var(--cms-sticky) - 72px);
    background-color: var(--cms-canvas);
    background-image: radial-gradient(#d6dee6 1px, transparent 1px);
    background-size: 16px 16px;
}

@media (max-width: 1279.98px) {
    [b-33kdreapr6] .preview__viewport {
        max-height: none;
    }
}

/* Browser chrome over the desktop frame - says "this is a page", not "this is a form". */
[b-33kdreapr6] .preview__chrome {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 32px;
    padding: 0 12px;
    background: var(--cms-surface);
    border: 1px solid var(--cms-line);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
}

[b-33kdreapr6] .preview__dots {
    display: flex;
    gap: 6px;
}

[b-33kdreapr6] .preview__dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cms-line-strong);
}

[b-33kdreapr6] .preview__address {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
    height: 20px;
    padding: 0 10px;
    border-radius: 6px;
    background: var(--cms-subtle);
    color: var(--cms-muted);
    font-size: 0.6875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-33kdreapr6] .preview__address .mud-icon-root {
    font-size: 0.75rem;
    color: var(--cms-green);
}

/* The frame sets the width the previewed components lay out at. Each of them is its own query
   container (container-type on its root, layout on an inner wrapper), and their CSS uses @container
   rather than @media, so they reflow to this width rather than to the browser window.

   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;
    overflow: hidden;
    zoom: var(--preview-scale, 1);
}

[b-33kdreapr6] .preview__frame--desktop {
    width: 1280px;
    border: 1px solid var(--cms-line);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
}

/* A plain device outline rather than a photoreal phone - enough to read as "a phone". */
[b-33kdreapr6] .preview__frame--mobile {
    width: 390px;
    margin-inline: auto;
    border: 6px solid #1d2934;
    border-radius: 28px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.16);
}

[b-33kdreapr6] .preview__note {
    margin: 0;
    padding: 10px 16px;
    border-top: 1px solid var(--cms-line);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--cms-muted);
}

/* Misc -------------------------------------------------------------------- */

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

@media (prefers-reduced-motion: reduce) {
    [b-33kdreapr6] .content-field,
    [b-33kdreapr6] .rich-text,
    [b-33kdreapr6] .publish-bar__dot {
        transition: none;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/Components/Features/Contact/ContactInfoSection.razor.rz.scp.css */
/* The section is only the query container; its layout lives on __inner. A container query never
   matches the element that declares container-type - it resolves against that element's ancestors -
   so the mobile rules that used to target .contact-info-section itself never applied: on a phone it
   stayed a 60px-padded desktop row, and the label column pushed the page off the right edge. */
.contact-info-section[b-wbt4dlaybx] {
    container-type: inline-size;
    background-color: #f7f8fa;
}

.contact-info-section__inner[b-wbt4dlaybx] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    padding: 0 60px 72px;
    box-sizing: border-box;
}

/* ── 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;
}

/* 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. Declared before the mobile rules so they override it. */
.contact-info-section__divider--row[b-wbt4dlaybx] {
    flex-basis: 100%;
    width: auto;
    height: 1px;
    align-self: stretch;
    margin: 4px 0 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;
}

/* The anchor is rendered by ContentLink, so it carries ContentLink's scope rather than this
   component's and a plain .contact-info-col__link never matched it - the phone, email and booking
   links came out as unstyled text. ::deep from this component's own wrapper reaches it, the same as
   the ContentHtml copy below. */
.contact-info-col__item[b-wbt4dlaybx]  .contact-info-col__link {
    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__item[b-wbt4dlaybx]  .contact-info-col__link:hover {
    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__inner[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;
        /* Once the card is a column, the row divider's flex-basis: 100% is a height, and against
           a card with no set height it resolves to nothing - the rule above Follow Us vanished. */
        flex-basis: 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;
}

/* ContentLink renders these anchors too - hence ::deep, as for the contact links above. */
.contact-info-col__socials[b-wbt4dlaybx]  .contact-info-col__social {
    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__socials[b-wbt4dlaybx]  .contact-info-col__social:hover {
    border-color: #0c7d7d;
    background-color: #f4faf9;
}

.contact-info-col__socials[b-wbt4dlaybx]  .contact-info-col__social:focus-visible {
    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;
    }
}

/* 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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    gap: 12px;
    padding: 14px 0;
}

/* The date and its "Estimated" label travel together; on a narrow phone the label wraps under
   the date instead of pushing the status badge off the row. */
.my-tests__date-group[b-ww0al9q7fg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 8px;
    min-width: 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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/Components/Features/MyTests/EstimatedDateLabel.razor.rz.scp.css */
/* A qualifier on the date beside it, not a second status badge - so plain text in the muted label
   colour, with only the info button in the brand teal. */
.estimated-date[b-r7flkrdbkl] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
}

/* MudIconButton renders its own markup, hence ::deep from this component's span. Trimmed from
   Mud's small size (5px padding, 20px icon) so it sits on the date's line of text. */
.estimated-date[b-r7flkrdbkl]  .estimated-date__info {
    padding: 2px;
    color: #0c7d7d;
}

.estimated-date[b-r7flkrdbkl]  .estimated-date__info .mud-icon-root {
    font-size: 16px;
    width: 16px;
    height: 16px;
}
/* _content/NaverisPatientPortalAdmin.Web/Components/Features/MyTests/MyTestsHeroSection.razor.rz.scp.css */
/* The section is only the query container; its layout lives on __inner, because a container query
   never matches the element that declares container-type. The mobile padding below used to target
   .mytests-hero itself and so never applied - phones kept the 60px desktop gutters. */
.mytests-hero[b-vtrek59apa] {
    container-type: inline-size;
    background: linear-gradient(to right, #1a3a5c 0%, #1e4468 50%, #0f2135 100%);
}

.mytests-hero__inner[b-vtrek59apa] {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 112px 60px 48px;
    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__inner[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);
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/Components/Features/MyTests/ScheduleBloodDrawDialog.razor.rz.scp.css */
/* Matches the Result Info dialog and the Contact page's support card: navy Montserrat title,
   Open Sans body, the teal phone icon and an underlined teal number. */

.schedule-draw[b-0g2ejmem7p] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px 24px 24px;
    max-width: 420px;
    box-sizing: border-box;
}

.schedule-draw__header[b-0g2ejmem7p] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.schedule-draw__title[b-0g2ejmem7p] {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #274769;
}

.schedule-draw__close[b-0g2ejmem7p] {
    display: flex;
    flex-shrink: 0;
    padding: 4px;
    margin: -2px -4px 0 0;
    border: none;
    background: none;
    cursor: pointer;
}

.schedule-draw__close-icon[b-0g2ejmem7p] {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.schedule-draw__text[b-0g2ejmem7p] {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #3d3d3d;
}

.schedule-draw__phone[b-0g2ejmem7p] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
}

.schedule-draw__phone-icon[b-0g2ejmem7p] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    object-fit: contain;
}

/* The anchor is rendered by ContentLink, so it carries that component's scope - ::deep reaches it. */
.schedule-draw__phone[b-0g2ejmem7p]  .schedule-draw__phone-link {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #0c7d7d;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.15s ease;
}

.schedule-draw__phone[b-0g2ejmem7p]  .schedule-draw__phone-link:hover {
    color: #085f5f;
}

.schedule-draw__hours[b-0g2ejmem7p] {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #4b5563;
}

@media (max-width: 599.98px) {
    .schedule-draw[b-0g2ejmem7p] {
        padding: 20px;
        max-width: none;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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 ────────────────────────────────────────────── */
/* Laid out like the column headers above it - time on the left, tests per year on the right.
   It used to stack, which left the badge under the time and away from "Tests per year"
   (CareDx QA, My Tests). On a phone too narrow for both, the badge wraps to its own line and
   stays right-aligned under its header. */
.treatment-section__interval-row[b-jtman7yeyr] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    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;
    margin-left: auto;
}

@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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}

/* Stands in for a hidden card; the image itself is only requested once revealed. */
.ins-card__hidden[b-1is7sq7a50] {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e3e8ee 0%, #f4f6f9 50%, #dde3ea 100%);
}

.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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}


/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}

@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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/Components/Features/SupportGroups/AdvocacyGroupsSection.razor.rz.scp.css */
/* The section is only the query container; its layout lives on __inner, because a container query
   never matches the element that declares container-type. The mobile padding below used to target
   .advocacy-section itself and so never applied - phones kept the 60px desktop gutters. */
.advocacy-section[b-4zyl0zcw5q] {
    container-type: inline-size;
    align-self: stretch;
    background-color: #f7f8fa;
}

.advocacy-section__inner[b-4zyl0zcw5q] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0 60px 60px;
    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__inner[b-4zyl0zcw5q] {
        padding: 0 20px 40px;
        gap: 16px;
    }
}

@container (max-width: 767.98px) {
    .advocacy-section__grid[b-4zyl0zcw5q] {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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; }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
/* _content/NaverisPatientPortalAdmin.Web/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;
    }
}
