/* /Components/Common/ReportFilterBar.razor.rz.scp.css */
.report-filter-title[b-tl8r18p1oz] {
    display: flex;
    align-items: center;
    gap: .5rem;
}
/* /Components/Layout/ClinicSwitcher.razor.rz.scp.css */
.clinic-switcher[b-qk2s1zv963] {
    border-top: 1px solid rgba(255, 255, 255, .15);
    padding: 4px 0;
    width: 100%;
    position: sticky;
    bottom: 0;
    margin-top: auto;
    background-color: var(--mud-palette-drawer-background);
    z-index: 1;
}

.clinic-btn[b-qk2s1zv963] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    width: 100%;
    color: rgba(255, 255, 255, .87);
    cursor: pointer;
    transition: background-color 150ms ease;
}

.clinic-btn:hover[b-qk2s1zv963] {
    background-color: rgba(255, 255, 255, .1);
    border-radius: 4px;
}

.clinic-btn--static[b-qk2s1zv963] {
    cursor: default;
}

.clinic-btn--static:hover[b-qk2s1zv963] {
    background-color: transparent;
}

.clinic-name[b-qk2s1zv963] {
    flex: 1;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Layout/ImpersonationBanner.razor.rz.scp.css */
/* Banner uses fixed positioning so it stays visible during scroll AND so we can
   reliably shift the MudBlazor chrome (AppBar, Drawer, MainContent) down by its
   height via global rules in app.css (toggled by the body.has-impersonation-banner
   class set in OnAfterRenderAsync). */
.impersonation-banner[b-38meh86lqy] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--banner-height, 48px);
    z-index: 2000;
}

.banner-row[b-38meh86lqy] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.banner-label[b-38meh86lqy] {
    font-weight: 600;
}

.banner-readonly[b-38meh86lqy] {
    font-style: italic;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.drawer-header[b-fdtzv6hptv] {
    height: 48px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 16px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.drawer-logo[b-fdtzv6hptv] {
    height: 40px;
    width: 40px;
    flex-shrink: 0;
}

/* Override the muted .drawer-brand style inherited from app.css —
   when paired with the logo, it needs to read as a header title, not a quiet label. */
.drawer-header[b-fdtzv6hptv]  .drawer-brand {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    opacity: 1;
    margin: 0;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-dpa1qd19v1],
.components-reconnect-repeated-attempt-visible[b-dpa1qd19v1],
.components-reconnect-failed-visible[b-dpa1qd19v1],
.components-pause-visible[b-dpa1qd19v1],
.components-resume-failed-visible[b-dpa1qd19v1],
.components-rejoining-animation[b-dpa1qd19v1] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-retrying[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-failed[b-dpa1qd19v1],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-dpa1qd19v1] {
    display: block;
}


#components-reconnect-modal[b-dpa1qd19v1] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-dpa1qd19v1 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-dpa1qd19v1 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-dpa1qd19v1 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-dpa1qd19v1]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-dpa1qd19v1 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-dpa1qd19v1 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-dpa1qd19v1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-dpa1qd19v1 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-dpa1qd19v1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-dpa1qd19v1] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-dpa1qd19v1] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-dpa1qd19v1] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-dpa1qd19v1] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-dpa1qd19v1] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-dpa1qd19v1] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-dpa1qd19v1 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-dpa1qd19v1] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-dpa1qd19v1 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/Reports/SessionsByClinic.razor.rz.scp.css */
.report-account-row[b-85vqxakich] {
    background: var(--mud-palette-background-grey);
}

.report-clinic-cell[b-85vqxakich] {
    padding-left: 32px;
}

.report-grand-total-row[b-85vqxakich] {
    border-top: 2px solid var(--mud-palette-lines-default);
}
/* /Components/Pages/Admin/Usage/UsageDeploymentTooltip.razor.rz.scp.css */
.usage-tooltip[b-0am1v42svw] {
    min-width: 280px;
}

.usage-tooltip-table[b-0am1v42svw] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.usage-tooltip-table .col-label[b-0am1v42svw] {
    text-align: left;
    padding: 2px 8px 2px 0;
}

.usage-tooltip-table .col-num[b-0am1v42svw] {
    text-align: right;
    padding: 2px 8px;
}

/* Last numeric column has no trailing padding to align with the cell edge. */
.usage-tooltip-table .col-num:last-child[b-0am1v42svw] {
    padding-right: 0;
    padding-left: 8px;
}

.usage-tooltip-table tr.totals td[b-0am1v42svw] {
    border-top: 1px solid var(--divider-on-dark);
    font-weight: 600;
    padding-top: 4px;
}
/* /Components/Pages/BehavioralHealth/BhDetailsHeader.razor.rz.scp.css */
.bh-details-header[b-9fu7l1eam4]  .mud-input.mud-input-outlined,
.bh-details-header[b-9fu7l1eam4]  .mud-input.mud-input-filled {
    background-color: var(--mud-palette-surface);
}
/* /Components/Pages/BehavioralHealth/NewSession.razor.rz.scp.css */
/* Mode-specific styles are in FocusModeView.razor.css, AdvancedModeView.razor.css, GuidedModeView.razor.css */

.focus-action-bar[b-d0ucq20qan] {
    position: sticky;
    bottom: 0;
    z-index: 10;
    margin-top: auto;
    padding: 8px 0;
    background-color: color-mix(in srgb, var(--mud-palette-surface) 85%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid var(--mud-palette-divider);
}
/* /Components/Pages/CaClaim/ClaimDetailsHeader.razor.rz.scp.css */
.claim-details-header[b-qimb3xf44c]  .mud-input.mud-input-outlined,
.claim-details-header[b-qimb3xf44c]  .mud-input.mud-input-filled {
    background-color: var(--mud-palette-surface);
}

/* Animated collapse: grid-template-rows transitions from 0fr → 1fr smoothly. */
.claim-details-pane[b-qimb3xf44c] {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.25s ease, opacity 0.2s ease;
}

.claim-details-pane.open[b-qimb3xf44c] {
    grid-template-rows: 1fr;
    opacity: 1;
}

.claim-details-pane__inner[b-qimb3xf44c] {
    overflow: hidden;
    min-height: 0;
}

.claim-details-summary__row[b-qimb3xf44c] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.claim-details-summary__text[b-qimb3xf44c] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.95rem;
    line-height: 1.4;
    color: var(--mud-palette-text-primary);
}

.claim-details-summary__sep[b-qimb3xf44c] {
    margin: 0 6px;
    color: var(--mud-palette-text-disabled);
}

.claim-details-form__collapse-row[b-qimb3xf44c] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: -8px;
}
/* /Components/Pages/CaClaim/NewSession.razor.rz.scp.css */
/* Mode-specific styles are in FocusModeView.razor.css, AdvancedModeView.razor.css, GuidedModeView.razor.css */

.focus-action-bar[b-s9w2trnxf3] {
    position: sticky;
    bottom: 0;
    z-index: 10;
    margin-top: auto;
    padding: 8px 0;
    background-color: color-mix(in srgb, var(--mud-palette-surface) 85%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid var(--mud-palette-divider);
}
/* /Components/Pages/WizardConfig/WizardConfig.razor.rz.scp.css */
.wizard-config-tabs[b-c5tqsv7bzp]  .mud-tab-panel {
    padding: 0;
}
/* /Components/Pages/WizardConfig/WizardConfigDetail.razor.rz.scp.css */
/* Intentionally empty — MudBlazor internal class overrides live in app.css */
/* /Components/Shared/Focus/FieldCard.razor.rz.scp.css */
.field-card[b-h792bd3n4v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 12px 14px;
    border-radius: 16px;
    cursor: pointer;
    background-color: var(--focus-idle-bg);
    color: var(--focus-idle-fg);
    position: relative;
    overflow: visible;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    min-width: 110px;
    flex: 1;
    user-select: none;
}

.field-card:hover[b-h792bd3n4v] {
    transform: translateY(-2px);
}

.field-card--active[b-h792bd3n4v] {
    background-color: var(--focus-selected-bg);
    color: var(--focus-selected-fg);
    transform: scale(1.0);
}

.field-card--muted[b-h792bd3n4v] {
    transform: scale(0.97);
}

.field-card__icon[b-h792bd3n4v] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.field-card__label[b-h792bd3n4v] {
    font-size: 0.8rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
}

.field-card__stamp[b-h792bd3n4v] {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.field-card__required-asterisk[b-h792bd3n4v] {
    color: var(--mud-palette-error);
    margin-left: 2px;
    font-weight: bold;
}

.field-card__stamp img[b-h792bd3n4v],
.field-card__stamp[b-h792bd3n4v]  svg.mud-svg-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* /Components/Shared/Focus/FieldPanel.razor.rz.scp.css */
.field-panel__footer[b-dnp8d597lg] {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}
/* /Components/Shared/Focus/FocusModePanel.razor.rz.scp.css */
.focus-card-row[b-97h5kc17iz] {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 20px 20px 4px;
    margin: -20px -20px 0;
}

.field-panel-wrap[b-97h5kc17iz] {
    position: relative;
    margin-top: 14px;
}

/* Upward-pointing speech-bubble arrow; left position set inline per active card */
.field-panel-arrow[b-97h5kc17iz] {
    position: absolute;
    top: -14px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 14px solid var(--focus-color, #888);
    z-index: 2;
    transition: left 0.25s ease, border-bottom-color 0.25s ease;
}

.field-panel[b-97h5kc17iz] {
    border: 2px solid var(--focus-color, #888);
    border-radius: 16px;
    padding: 24px 24px 8px;
    transition: border-color 0.25s ease, background-color 0.25s ease;
    background-color: color-mix(in srgb, var(--focus-color, #888) 10%, var(--mud-palette-surface));
}

.field-panel[b-97h5kc17iz]  .mud-input.mud-input-outlined {
    background-color: var(--mud-palette-surface);
}

.field-panel[b-97h5kc17iz]  .mud-input-outlined fieldset,
.field-panel[b-97h5kc17iz]  .mud-input-outlined.mud-focused fieldset {
    border-color: var(--focus-color) !important;
}

.field-panel__content[b-97h5kc17iz] {
    transition: opacity 0.15s ease;
}

.field-panel__content--visible[b-97h5kc17iz] {
    opacity: 1;
}

.field-panel__content--hidden[b-97h5kc17iz] {
    opacity: 0;
}

/* /Components/Shared/NarrativeWorkspaceShell.razor.rz.scp.css */
/* Scoped styling for NarrativeWorkspaceShell. Replaces the inline styles the CaClaim narrative
   page used to carry. Plain HTML elements are styled directly (they receive the scope attribute);
   MudBlazor components are reached with ::deep, anchored under a scoped container element. */

.workspace-loading[b-4m3gd4qpij] {
    display: flex;
    justify-content: center;
    margin-top: 4rem;
}

.workspace[b-4m3gd4qpij] {
    height: calc(100vh - 64px);
    overflow: hidden;
}

.workspace[b-4m3gd4qpij]  .workspace-split {
    height: 100%;
}

/* ── Left sidebar ───────────────────────────────────────────────────────── */
.sidebar[b-4m3gd4qpij] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.sidebar-header[b-4m3gd4qpij] {
    padding: 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.phase-panel[b-4m3gd4qpij] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

/* ── Section progress list ──────────────────────────────────────────────── */
.section-list[b-4m3gd4qpij] {
    flex: 1 1 0;
    min-height: 120px;
    overflow-y: auto;
    padding: 8px 0;
}

.section-list-header[b-4m3gd4qpij] {
    padding: 4px 16px 8px;
}

.section-row[b-4m3gd4qpij] {
    /* Real <button> for keyboard + focus; reset the native chrome so it reads as a list row.
       Layout is on .section-row-inner — see the note in the markup. */
    display: block;
    width: 100%;
    border: none;
    text-align: left;
    font: inherit;
    color: inherit;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
}

.section-row-inner[b-4m3gd4qpij] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
}

.section-row:not(.section-row--current):hover[b-4m3gd4qpij] {
    background: var(--mud-palette-action-default-hover);
}

.section-row--current[b-4m3gd4qpij] {
    background: var(--mud-palette-primary-lighten);
}

.section-row[b-4m3gd4qpij]  .mini-spinner {
    width: 16px;
    height: 16px;
}

.section-row[b-4m3gd4qpij]  .icon-success {
    color: var(--mud-palette-success);
}

.section-row[b-4m3gd4qpij]  .icon-warning {
    color: var(--mud-palette-warning);
}

.section-row[b-4m3gd4qpij]  .icon-disabled {
    color: var(--mud-palette-text-disabled);
}

.section-row[b-4m3gd4qpij]  .section-label--current {
    color: var(--mud-palette-primary);
    font-weight: 500;
}

/* ── Edit chat feed ─────────────────────────────────────────────────────── */
.edit-chat[b-4m3gd4qpij] {
    flex: 2 1 0;
    min-height: 280px;
    border-top: 1px solid var(--mud-palette-divider);
    display: flex;
    flex-direction: column;
}

.edit-feed[b-4m3gd4qpij] {
    flex: 1;
    overflow-y: auto;
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bubble-wrap--user[b-4m3gd4qpij] {
    align-self: flex-end;
    max-width: 85%;
}

.bubble-wrap--ai[b-4m3gd4qpij] {
    align-self: flex-start;
    max-width: 85%;
}

.bubble-wrap--ai-status[b-4m3gd4qpij] {
    align-self: flex-start;
    padding: 4px 2px;
}

.edit-feed[b-4m3gd4qpij]  .bubble {
    padding: 6px 10px;
}

.edit-feed[b-4m3gd4qpij]  .bubble--user {
    background: var(--mud-palette-primary);
    border-radius: 12px 12px 2px 12px;
}

.edit-feed[b-4m3gd4qpij]  .bubble--ai {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 12px 12px 12px 2px;
}

.edit-feed[b-4m3gd4qpij]  .bubble-text {
    white-space: pre-wrap;
}

.edit-feed[b-4m3gd4qpij]  .bubble-text--user {
    color: var(--mud-palette-primary-text);
}

.edit-feed[b-4m3gd4qpij]  .bubble-text--ack {
    font-style: italic;
}

.edit-input-row[b-4m3gd4qpij] {
    padding: 8px 12px;
    display: flex;
    gap: 8px;
    border-top: 1px solid var(--mud-palette-divider);
}

.edit-input-row[b-4m3gd4qpij]  .edit-input {
    flex: 1;
}

/* ── Action bar ─────────────────────────────────────────────────────────── */
.action-bar[b-4m3gd4qpij] {
    padding: 12px 16px;
    border-top: 1px solid var(--mud-palette-divider);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ── Right document pane ────────────────────────────────────────────────── */
.doc-pane[b-4m3gd4qpij] {
    height: 100%;
    overflow-y: auto;
    padding: 32px 48px;
}

.doc-body[b-4m3gd4qpij] {
    font-family: Georgia, serif;
    line-height: 1.75;
    color: var(--mud-palette-text-primary);
}

.doc-section[b-4m3gd4qpij] {
    margin-bottom: 28px;
}

.doc-section--stale[b-4m3gd4qpij] {
    border-left: 3px solid var(--mud-palette-warning);
    padding-left: 16px;
}

.doc-body[b-4m3gd4qpij]  .doc-section-label {
    font-weight: 600;
    letter-spacing: 0.06em;
}

.doc-body[b-4m3gd4qpij]  .doc-text {
    white-space: pre-wrap;
    font-family: Georgia, serif;
    line-height: 1.75;
}

.doc-body[b-4m3gd4qpij]  .doc-progress {
    margin-top: 6px;
    height: 2px;
    border-radius: 0;
}

.doc-body[b-4m3gd4qpij]  .doc-empty {
    font-style: italic;
    font-family: Georgia, serif;
}
