/* _content/BlazorApp/Components/Account/Pages/Manage/EnableAuthenticator.razor.rz.scp.css */
.info-message[b-i8dh5x4oz3] {
    margin: 0.625rem 0 0.625rem 0;
    justify-content: start;
}
/* _content/BlazorApp/Components/Account/Pages/Manage/ExternalLogins.razor.rz.scp.css */
.current-logins[b-ej3nwntx13] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.current-logins-item[b-ej3nwntx13] {
    display: flex;
    gap: 0.625rem;
}
/* _content/BlazorApp/Components/Account/Shared/ExternalLoginPicker.razor.rz.scp.css */
.external-logins[b-jwlc44ligf] {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 500px) {
    .external-logins[b-jwlc44ligf] {
        flex-direction: column;
    }
}
/* _content/BlazorApp/Components/Account/Shared/ManageLayout.razor.rz.scp.css */
[b-qbkjja2yu5] .tab-icon {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
}

[b-qbkjja2yu5] .icon-profile {
    -webkit-mask-image: url("images/account/manage-profile.svg");
    mask-image: url("images/account/manage-profile.svg");
}

[b-qbkjja2yu5] .icon-email {
    -webkit-mask-image: url("images/account/manage-email.svg");
    mask-image: url("images/account/manage-email.svg");
}

[b-qbkjja2yu5] .icon-two-factor {
    -webkit-mask-image: url("images/account/manage-two-factor.svg");
    mask-image: url("images/account/manage-two-factor.svg");
}

[b-qbkjja2yu5] .icon-password {
    -webkit-mask-image: url("images/account/manage-password.svg");
    mask-image: url("images/account/manage-password.svg");
}

[b-qbkjja2yu5] .icon-personal {
    -webkit-mask-image: url("images/account/manage-personal.svg");
    mask-image: url("images/account/manage-personal.svg");
}

[b-qbkjja2yu5] .icon-external {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}
/* _content/BlazorApp/Components/Account/Shared/ShowRecoveryCodes.razor.rz.scp.css */
.codes[b-ubb2w7oldi] {
    margin: 0.625rem 0px 0.625rem 0px;
}
/* _content/BlazorApp/Components/Layout/AuthenticatedLayout.razor.rz.scp.css */
/* Appbar text color override moved to site.css (global) because MudAppBar renders
   outside the scoped CSS boundary. This file retained for any future scoped overrides. */
/* _content/BlazorApp/Components/Layout/NavMenu.razor.rz.scp.css */
/* Nav menu styles are in wwwroot/css/site.css (global) because Blazor CSS
   isolation does not work here — NavMenu.razor has no root HTML element,
   only <MudNavMenu>, so no b-* scope attribute is attached. */
/* _content/BlazorApp/Components/Layout/UnauthenticatedLayout.razor.rz.scp.css */
.page[b-njgkfb2cva] {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f5f5f5;
}

.main-content[b-njgkfb2cva] {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}

.footer[b-njgkfb2cva] {
    width: 100%;
    background-color: var(--mud-palette-surface, #f8f9fa);
    border-top: 1px solid var(--mud-palette-divider, #dee2e6);
    padding: 1rem;
    margin-top: auto;
}

.footer-content[b-njgkfb2cva] {
    text-align: center;
    color: var(--mud-palette-text-secondary, #6c757d);
    font-size: 0.875rem;
}
/* _content/BlazorApp/Components/Pages/Admin/ProviderEditDialog.razor.rz.scp.css */
.provider-edit-dialog[b-ouu67ur64y] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.provider-edit-dialog form[b-ouu67ur64y] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-fields[b-ouu67ur64y] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* form-actions removed — buttons are now in MudDialog DialogActions */

.text-danger[b-ouu67ur64y] {
    color: #dc2626;
    font-size: 0.875rem;
}

.help-text[b-ouu67ur64y] {
    color: #6b7280;
    font-size: 0.75rem;
}

/* Tebra-owned fields (read-only) — render with a subtle grey background and muted text
   so it's obvious they're managed elsewhere, without using Disabled (which blocks copy). */
[b-ouu67ur64y] .tebra-readonly .mud-input-outlined .mud-input-slot {
    background-color: #f3f4f6;
    cursor: not-allowed;
}

[b-ouu67ur64y] .tebra-readonly .mud-input-outlined-border {
    border-style: dashed !important;
    border-color: #d1d5db !important;
}

[b-ouu67ur64y] .tebra-readonly .mud-input-root,
[b-ouu67ur64y] .tebra-readonly input {
    color: #4b5563;
    cursor: not-allowed;
}

[b-ouu67ur64y] .tebra-readonly .mud-input-label {
    color: #6b7280;
}

.tebra-dialog-title[b-ouu67ur64y] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.tebra-subtitle[b-ouu67ur64y] {
    color: #6b7280;
    font-style: italic;
}
/* _content/BlazorApp/Components/Pages/Admin/ProvidersSection.razor.rz.scp.css */
/* ── Grid wrapper (flex: 1 fills remaining space) ── */
.providers-content-wrapper[b-rj288hmmqj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.providers-grid-container[b-rj288hmmqj] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* Constrain grid root to fill flex container so internal scroll works */
[b-rj288hmmqj] .providers-grid {
    height: 100%;
}

/* Fix: MudBlazor applies overflow:clip when StickyRight + HorizontalScrollbar combine,
   which kills vertical scrolling (open bug #7237). Override to restore scroll. */
[b-rj288hmmqj] .providers-grid .mud-table-container {
    overflow: auto !important;
}

/* Sticky column background — match grid colors instead of MudBlazor's gray default */
[b-rj288hmmqj] .providers-grid .mud-table-cell.sticky-right,
[b-rj288hmmqj] .providers-grid th.sticky-right,
[b-rj288hmmqj] .providers-grid td.sticky-right {
    background: white !important;
}

[b-rj288hmmqj] .providers-grid .mud-table-body .mud-table-row:hover td.sticky-right {
    background: var(--mud-palette-table-hover, #f5f5f5) !important;
}

/* Fixed layout for stable column widths during virtualized scroll */
[b-rj288hmmqj] .providers-grid .mud-table-root {
    table-layout: fixed;
}

/* Grid header — uppercase, never wrap/truncate */
[b-rj288hmmqj] .providers-grid .mud-table-head .mud-table-cell {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

/* Grid cells — truncate with ellipsis when content overflows column width */
[b-rj288hmmqj] .providers-grid .mud-table-body .mud-table-cell {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Filter row inputs — reset header uppercase so typed text stays normal case */
[b-rj288hmmqj] .providers-grid .mud-table-head .mud-input input,
[b-rj288hmmqj] .providers-grid .mud-table-head .mud-select .mud-input input {
    text-transform: none;
    font-weight: 400;
    letter-spacing: normal;
}

/* ── Provider photo / initials ── */
.provider-photo[b-rj288hmmqj] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 0.688rem;
    overflow: hidden;
}

.photo-placeholder[b-rj288hmmqj] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* ── Cell styles ── */
.provider-name[b-rj288hmmqj] {
    font-weight: 600;
    color: #111827;
}

.phone-link[b-rj288hmmqj] {
    color: #2563eb;
    text-decoration: none;
}

.phone-link:hover[b-rj288hmmqj] {
    text-decoration: underline;
}

/* ── Actions menu (MudMenu) — size down the default activator button so the
   sticky-right column doesn't expand every row's height. Without this, MudMenu
   emits a medium MudIconButton (~40px), which wins over Dense="true" and makes
   the providers grid visibly taller than the patients grid. ── */
[b-rj288hmmqj] .providers-grid .mud-menu .mud-icon-button {
    padding: 2px;
}

[b-rj288hmmqj] .providers-grid .mud-menu .mud-icon-button .mud-icon-root {
    font-size: 1.125rem;
}
/* _content/BlazorApp/Components/Pages/Admin/UsersSection.razor.rz.scp.css */
/* ── Grid wrapper (flex: 1 fills remaining space) ── */
.users-content-wrapper[b-hxcllxayom] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.users-grid-container[b-hxcllxayom] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* Constrain grid root to fill flex container so internal scroll works */
[b-hxcllxayom] .users-grid {
    height: 100%;
}

/* Fix: MudBlazor applies overflow:clip when StickyRight + HorizontalScrollbar combine,
   which kills vertical scrolling (open bug #7237). Override to restore scroll. */
[b-hxcllxayom] .users-grid .mud-table-container {
    overflow: auto !important;
}

/* Sticky column background — match grid colors instead of MudBlazor's gray default */
[b-hxcllxayom] .users-grid .mud-table-cell.sticky-right,
[b-hxcllxayom] .users-grid th.sticky-right,
[b-hxcllxayom] .users-grid td.sticky-right {
    background: white !important;
}

[b-hxcllxayom] .users-grid .mud-table-body .mud-table-row:hover td.sticky-right {
    background: var(--mud-palette-table-hover, #f5f5f5) !important;
}

/* Fixed layout for stable column widths during virtualized scroll */
[b-hxcllxayom] .users-grid .mud-table-root {
    table-layout: fixed;
}

/* Grid header — uppercase, never wrap/truncate */
[b-hxcllxayom] .users-grid .mud-table-head .mud-table-cell {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

/* Grid cells — truncate with ellipsis when content overflows column width */
[b-hxcllxayom] .users-grid .mud-table-body .mud-table-cell {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Filter row inputs — reset header uppercase so typed text stays normal case */
[b-hxcllxayom] .users-grid .mud-table-head .mud-input input,
[b-hxcllxayom] .users-grid .mud-table-head .mud-select .mud-input input {
    text-transform: none;
    font-weight: 400;
    letter-spacing: normal;
}
/* _content/BlazorApp/Components/Pages/Billing/Submissions.razor.rz.scp.css */
.filters-section[b-9uu21yu67x] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.filter-toggles[b-9uu21yu67x] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-shrink: 0;
}

.filters-row[b-9uu21yu67x] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.filters-left[b-9uu21yu67x] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.patient-search-wrapper[b-9uu21yu67x] {
    flex: 1;
    min-width: 180px;
    max-width: 320px;
}

.dos-start-wrapper[b-9uu21yu67x],
.dos-end-wrapper[b-9uu21yu67x],
.submission-start-wrapper[b-9uu21yu67x],
.submission-end-wrapper[b-9uu21yu67x] {
    width: 155px;
    flex-shrink: 0;
}

.provider-wrapper[b-9uu21yu67x] {
    width: 190px;
    flex-shrink: 0;
}

.scheduler-wrapper[b-9uu21yu67x] {
    width: 190px;
    flex-shrink: 0;
}

.insurance-wrapper[b-9uu21yu67x] {
    width: 200px;
    flex-shrink: 0;
}

/* Compact filter inputs for dense desktop layout */
[b-9uu21yu67x] .filters-left .mud-input input,
[b-9uu21yu67x] .filters-left .mud-input .mud-input-adornment-start .mud-icon-root {
    font-size: 0.75rem;
}

.submissions-grid-container[b-9uu21yu67x] {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: auto;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    position: relative;
    flex: 1;
    min-height: 0;
}

/* Constrain grid root to fill flex container so internal scroll works */
[b-9uu21yu67x] .submissions-grid {
    height: 100%;
}

/* Fixed layout for stable column widths during virtualized scroll */
[b-9uu21yu67x] .submissions-grid table {
    table-layout: fixed;
}

/* Grid header — uppercase, never wrap/truncate */
[b-9uu21yu67x] .submissions-grid .mud-table-head .mud-table-cell {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

/* Filter row inputs — reset header uppercase so typed text stays normal case */
[b-9uu21yu67x] .submissions-grid .mud-table-head .mud-input input,
[b-9uu21yu67x] .submissions-grid .mud-table-head .mud-select .mud-input input {
    text-transform: none;
    font-weight: 400;
    letter-spacing: normal;
}

[b-9uu21yu67x] .submissions-grid .mud-table-body .mud-table-cell {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Responsive */
@media (max-width: 768px) {
    .filters-row[b-9uu21yu67x] {
        flex-direction: column;
        align-items: stretch;
    }

    .filters-left[b-9uu21yu67x] {
        order: 1;
    }

    .patient-search-wrapper[b-9uu21yu67x] {
        max-width: none;
    }

    .submissions-grid-container[b-9uu21yu67x] {
        overflow: auto;
    }
}
/* _content/BlazorApp/Components/Pages/Calendar/DayView.razor.rz.scp.css */
.day-view-component[b-1lj3tqjfcc] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
}

.day-view-single[b-1lj3tqjfcc] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0;
}

.day-view-multi-provider[b-1lj3tqjfcc] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
}

.time-axis-header[b-1lj3tqjfcc] {
    padding: 0.5rem;
    font-size: 0.8125rem;
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #f1f5f9;
    background-color: white;
    position: sticky;
    left: 0;
    top: 0;
    z-index: 3;
}

.time-axis-body[b-1lj3tqjfcc] {
    border-right: 1px solid #f1f5f9;
    background-color: white;
    position: sticky;
    left: 0;
    z-index: 2;
}

.time-axis-label[b-1lj3tqjfcc] {
    position: absolute;
    right: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 500;
    color: #94a3b8;
    transform: translateY(-50%);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.time-axis-label:first-child[b-1lj3tqjfcc] {
    transform: translateY(0);
}

.provider-column-header[b-1lj3tqjfcc] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 0.55rem 0.65rem;
    background-color: white;
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #f1f5f9;
    border-top: 3px solid var(--col-hue, #2563eb);
    position: sticky;
    top: 0;
    z-index: 1;
}

.provider-column-count[b-1lj3tqjfcc] {
    font-size: 0.6875rem;
    color: #6b7280;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.day-view-empty[b-1lj3tqjfcc] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 3rem 1.5rem;
    color: #6b7280;
    text-align: center;
}

.day-view-empty-title[b-1lj3tqjfcc] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #374151;
}

.day-view-empty-hint[b-1lj3tqjfcc] {
    font-size: 0.8125rem;
    color: #6b7280;
}

@media (max-width: 1024px) {
    .day-view-multi-provider[b-1lj3tqjfcc] {
        min-width: 100%;
    }
}

@media (max-width: 768px) {
    .day-view-multi-provider[b-1lj3tqjfcc] {
        min-width: 600px;
    }

    .provider-column-header[b-1lj3tqjfcc] {
        padding: 0.4rem 0.5rem;
    }
}
/* _content/BlazorApp/Components/Pages/Calendar/MonthView.razor.rz.scp.css */
.month-view-component[b-ai06hms02r] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.5rem;
}

.month-grid[b-ai06hms02r] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    /* Header row sized to its content; date rows fill remaining space evenly. */
    grid-template-rows: auto;
    grid-auto-rows: minmax(8.75rem, 1fr);
    gap: 1px;
    background-color: #e5e7eb;
    border-radius: 0.375rem;
}

.month-day-header[b-ai06hms02r] {
    text-align: left;
    font-weight: 600;
    color: #6b7280;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.45rem 0.625rem;
    background-color: #fafafa;
    line-height: 1;
}

.month-day[b-ai06hms02r] {
    background-color: white;
    padding: 0.4rem 0.5rem;
    cursor: pointer;
    transition: background-color 0.12s ease;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 0;
    min-width: 0;
}

.month-day:hover[b-ai06hms02r] {
    background-color: #f9fafb;
}

.month-day:focus-visible[b-ai06hms02r] {
    outline: 2px solid #2563eb;
    outline-offset: -2px;
}

.month-day.is-weekend[b-ai06hms02r] {
    background-color: #fafafa;
}

.month-day.is-other-month[b-ai06hms02r] {
    background-color: #fafafa;
}

.month-day.is-other-month .month-day-number[b-ai06hms02r] {
    color: #cbd5e1;
}

.month-day.is-today[b-ai06hms02r] {
    background-color: #eff6ff;
    box-shadow: inset 0 0 0 2px #2563eb;
}

.month-day-head[b-ai06hms02r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
}

.month-day-number[b-ai06hms02r] {
    font-weight: 600;
    color: #111827;
    font-size: 0.8125rem;
    line-height: 1;
}

.month-day.is-today .month-day-number[b-ai06hms02r] {
    color: #1d4ed8;
    font-weight: 700;
}

.month-day-count[b-ai06hms02r] {
    font-size: 0.625rem;
    font-weight: 600;
    color: #6b7280;
    background-color: #f3f4f6;
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
    line-height: 1.4;
}

.month-day.is-today .month-day-count[b-ai06hms02r] {
    color: #1d4ed8;
    background-color: #dbeafe;
}

.month-day-chips[b-ai06hms02r] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.2rem;
    overflow: hidden;
    min-height: 0;
}

.month-day-overflow[b-ai06hms02r] {
    font-size: 0.625rem;
    font-weight: 600;
    color: #6b7280;
    padding: 0.05rem 0.35rem;
    align-self: flex-start;
    line-height: 1.4;
    cursor: help;
    border-radius: 999px;
    transition: background-color 0.12s;
}

.month-day-overflow:hover[b-ai06hms02r] {
    background-color: #f3f4f6;
    color: #374151;
}

.month-day-overflow-popover[b-ai06hms02r] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 9rem;
    max-width: 14rem;
    padding: 0.1rem 0.25rem;
}

.month-day-overflow-popover-title[b-ai06hms02r] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.month-day-overflow-popover-list[b-ai06hms02r] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
}

.month-day-times[b-ai06hms02r] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.4rem;
    overflow: hidden;
}

.month-day-time[b-ai06hms02r] {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #1e3a8a;
    background-color: #eff6ff;
    border-radius: 0.25rem;
    padding: 0.05rem 0.35rem;
    line-height: 1.4;
    border: 1px solid #dbeafe;
}

.month-day-time--more[b-ai06hms02r] {
    color: #6b7280;
    background-color: #f3f4f6;
    border-color: #e5e7eb;
}

/* Tablet — keep grid intact, tighten chips */
@media (max-width: 1024px) {
    .month-grid[b-ai06hms02r] {
        grid-auto-rows: minmax(6.25rem, 1fr);
    }

    .month-day[b-ai06hms02r] {
        padding: 0.3rem 0.4rem;
        gap: 0.25rem;
    }

    .month-day-number[b-ai06hms02r] {
        font-size: 0.75rem;
    }
}

/* Narrow tablet / large phone — switch to a 7-col compact dot grid */
@media (max-width: 768px) {
    .month-grid[b-ai06hms02r] {
        grid-auto-rows: minmax(4.25rem, 1fr);
    }

    .month-day-header[b-ai06hms02r] {
        padding: 0.3rem 0.35rem;
        font-size: 0.625rem;
    }

    .month-day[b-ai06hms02r] {
        padding: 0.25rem 0.3rem;
        gap: 0.2rem;
    }

    /* Hide chips, show dot strip instead — "who's working" at a glance */
    .month-day-chips[b-ai06hms02r] {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.15rem;
        align-items: center;
    }

    .month-day-chips :deep(.provider-chip)[b-ai06hms02r] {
        padding: 0;
        background: transparent;
        border: none;
    }

    .month-day-chips :deep(.provider-chip-label)[b-ai06hms02r] {
        display: none;
    }

    .month-day-chips :deep(.provider-chip-dot)[b-ai06hms02r] {
        width: 0.5rem;
        height: 0.5rem;
    }

    .month-day-time[b-ai06hms02r] {
        font-size: 0.625rem;
        padding: 0 0.25rem;
    }
}
/* _content/BlazorApp/Components/Pages/Calendar/ProviderCalendar.razor.rz.scp.css */
.loading-state[b-fhm5raenpn] {
    text-align: center;
    padding: 3rem;
    color: #6b7280;
    font-size: 0.875rem;
}
/* _content/BlazorApp/Components/Pages/Calendar/WeekView.razor.rz.scp.css */
.week-view-component[b-ycc2wdtfw1] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
}

.week-grid[b-ycc2wdtfw1] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
}

.time-axis-header[b-ycc2wdtfw1] {
    padding: 0.5rem 0.25rem;
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #f1f5f9;
    background-color: white;
    position: sticky;
    left: 0;
    top: 0;
    z-index: 3;
}

.time-axis-body[b-ycc2wdtfw1] {
    border-right: 1px solid #f1f5f9;
    background-color: white;
    position: sticky;
    left: 0;
    z-index: 2;
}

.time-axis-label[b-ycc2wdtfw1] {
    position: absolute;
    right: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 500;
    color: #94a3b8;
    transform: translateY(-50%);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* First hour label — keep above the line so it isn't clipped by the container top */
.time-axis-label:first-child[b-ycc2wdtfw1] {
    transform: translateY(0);
}

.week-day-header[b-ycc2wdtfw1] {
    text-align: center;
    padding: 0.55rem 0.25rem 0.5rem;
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #f1f5f9;
    cursor: pointer;
    transition: background-color 0.15s;
    background-color: white;
    position: sticky;
    top: 0;
    z-index: 1;
}

.week-day-header:hover[b-ycc2wdtfw1] {
    background-color: #f8fafc;
}

.week-day-header.is-today[b-ycc2wdtfw1] {
    background: linear-gradient(to bottom, #eff6ff 0%, white 100%);
    border-bottom-color: #2563eb;
    border-bottom-width: 2px;
}

.week-day-header .day-name[b-ycc2wdtfw1] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.week-day-header .day-number[b-ycc2wdtfw1] {
    font-size: 1.375rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.1;
    margin-top: 0.1rem;
    font-variant-numeric: tabular-nums;
}

.week-day-header.is-today .day-number[b-ycc2wdtfw1] {
    color: #1d4ed8;
}

.week-day-header:focus-visible[b-ycc2wdtfw1] {
    outline: 2px solid #2563eb;
    outline-offset: -2px;
}

@media (max-width: 1024px) {
    .week-view-component[b-ycc2wdtfw1] {
        overflow: hidden;
    }

    .week-grid[b-ycc2wdtfw1] {
        min-width: 880px;
    }
}

@media (max-width: 768px) {
    .week-grid[b-ycc2wdtfw1] {
        min-width: 720px;
    }

    .week-day-header .day-number[b-ycc2wdtfw1] {
        font-size: 1.125rem;
    }
}
/* _content/BlazorApp/Components/Pages/Icons/Icons.razor.rz.scp.css */
.icon-preview[b-ssvkryg5v7] {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.card[b-ssvkryg5v7] {
    background-color: var(--bs-dark);
    border: 1px solid var(--bs-gray-700);
    transition: transform 0.2s ease-in-out;
}

.card:hover[b-ssvkryg5v7] {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.card-title[b-ssvkryg5v7] {
    color: var(--bs-white);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.card-text[b-ssvkryg5v7] {
    color: var(--bs-gray-400) !important;
    font-size: 0.8rem;
    word-break: break-all;
}
/* _content/BlazorApp/Components/Pages/Map/MapView.razor.rz.scp.css */

.map-filters[b-tynbt4f6wn] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-shrink: 0;
}

.filter-group[b-tynbt4f6wn] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.filter-group label[b-tynbt4f6wn] {
    font-weight: 500;
    font-size: 0.875rem;
    color: #374151;
}

.filter-hint[b-tynbt4f6wn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #6b7280;
    font-size: 0.6875rem;
    font-weight: 600;
    cursor: help;
    margin-left: 0.25rem;
    vertical-align: middle;
}

.map-layout[b-tynbt4f6wn] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.map-panel[b-tynbt4f6wn] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.map-canvas[b-tynbt4f6wn] {
    width: 100%;
    flex: 1;
    min-height: 400px;
    border: none;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.map-empty-state[b-tynbt4f6wn] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #6b7280;
    font-size: 1rem;
    z-index: 10;
    background: white;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.map-legend[b-tynbt4f6wn] {
    display: flex;
    gap: 1.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
}

.legend-item[b-tynbt4f6wn] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #374151;
}

.legend-icon[b-tynbt4f6wn] {
    width: 24px;
    height: 26px;
    flex-shrink: 0;
}


.appointments-panel[b-tynbt4f6wn] {
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
}

.appointments-panel h2[b-tynbt4f6wn] {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #1f2937;
    flex-shrink: 0;
}

.appointments-list[b-tynbt4f6wn] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    gap: 1rem;
}

.provider-group[b-tynbt4f6wn] {
    background: #f9fafb;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    margin-bottom: 1rem;
}

.provider-group-header[b-tynbt4f6wn] {
    font-weight: 600;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.provider-group-cards[b-tynbt4f6wn] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.appointment-card[b-tynbt4f6wn] {
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.2s;
}

.appointment-card:hover[b-tynbt4f6wn] {
    background: #f9fafb;
    border-color: #2563eb;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.appointment-card.selected[b-tynbt4f6wn] {
    background: #dbeafe;
    border-color: #2563eb;
    border-width: 2px;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.2);
}

.appointment-card.anchor-card[b-tynbt4f6wn] {
    border-color: #2563eb;
    background: #eff6ff;
}

.appointment-card.anchor-card.selected[b-tynbt4f6wn] {
    background: #bfdbfe;
    border-color: #1d4ed8;
}

.appointment-header[b-tynbt4f6wn] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.anchor-badge[b-tynbt4f6wn] {
    background: #2563eb;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.appointment-time[b-tynbt4f6wn] {
    font-weight: 600;
    color: #374151;
}

.appointment-patient-name[b-tynbt4f6wn] {
    font-weight: 500;
    color: #1f2937;
    margin-bottom: 0.25rem;
}

.appointment-address[b-tynbt4f6wn] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: #6b7280;
}

.address-icon[b-tynbt4f6wn] {
    width: 14px;
    height: 16px;
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    .map-layout[b-tynbt4f6wn] {
        grid-template-columns: 1fr;
        flex: none;
        overflow-y: auto;
    }

    .map-canvas[b-tynbt4f6wn] {
        flex: none;
        height: 50vh;
        min-height: 300px;
    }

    .map-legend[b-tynbt4f6wn] {
        flex-wrap: wrap;
        gap: 0.75rem 1.5rem;
    }

    .appointments-panel[b-tynbt4f6wn] {
        height: auto;
        overflow: visible;
    }
}

/* _content/BlazorApp/Components/Pages/Outreach/OutreachDashboard.razor.rz.scp.css */

/* Statistics Cards */
.stats-grid[b-zbdqujlsm1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.stat-card[b-zbdqujlsm1] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    transition: border-color 0.2s ease;
    cursor: pointer;
}

.stat-card.active[b-zbdqujlsm1] {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

.stat-card:hover[b-zbdqujlsm1] {
    border-color: #2563eb;
}

.stat-content[b-zbdqujlsm1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.stat-label[b-zbdqujlsm1] {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0 0 0.5rem 0;
}

.stat-value[b-zbdqujlsm1] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
}

.stat-value.stat-green[b-zbdqujlsm1] {
    color: #16a34a;
}

.stat-value.stat-blue[b-zbdqujlsm1] {
    color: #2563eb;
}

.stat-value.stat-yellow[b-zbdqujlsm1] {
    color: #ca8a04;
}

.stat-icon[b-zbdqujlsm1] {
    width: 2.5rem;
    height: 2.5rem;
    opacity: 0.6;
    flex-shrink: 0;
}

/* Content Split */
.content-split[b-zbdqujlsm1] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.patient-list-panel[b-zbdqujlsm1] {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.panel-header[b-zbdqujlsm1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.panel-header-left[b-zbdqujlsm1] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.panel-header h2[b-zbdqujlsm1] {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

/* Grid flex chain — let ref-data-grid global CSS handle density */
.outreach-grid-wrapper[b-zbdqujlsm1] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.outreach-grid-actions[b-zbdqujlsm1] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: nowrap;
}

/* Phone and Email columns: wrap text within column width */
.outreach-grid-wrap-cell[b-zbdqujlsm1] {
    word-break: break-word;
    white-space: normal;
    overflow-wrap: break-word;
}

/* Responsive */
@media (max-width: 1024px) {
    .content-split[b-zbdqujlsm1] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .outreach-dashboard[b-zbdqujlsm1] {
        padding: 1rem;
    }

    .header-section[b-zbdqujlsm1] {
        flex-direction: column;
        align-items: flex-start;
    }

    .stats-grid[b-zbdqujlsm1] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* _content/BlazorApp/Components/Pages/Patients/Patient.razor.rz.scp.css */

.filters-section[b-iygz1s3n74] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.filter-toggles[b-iygz1s3n74] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-shrink: 0;
}

.filters-right[b-iygz1s3n74] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-left: auto;
}

[b-iygz1s3n74] .filters-right .mud-button-label {
    font-size: 0.75rem;
}

.patients-grid-container[b-iygz1s3n74] {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: auto;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    position: relative;
    flex: 1;
    min-height: 0;
}

/* Constrain grid root to fill flex container so internal scroll works */
[b-iygz1s3n74] .patients-grid {
    height: 100%;
}

/* Fixed layout for stable column widths during virtualized scroll */
[b-iygz1s3n74] .patients-grid table {
    table-layout: fixed;
}

/* Grid header — uppercase, never wrap/truncate */
[b-iygz1s3n74] .patients-grid .mud-table-head .mud-table-cell {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

/* Filter row inputs — reset header uppercase so typed text stays normal case */
[b-iygz1s3n74] .patients-grid .mud-table-head .mud-input input,
[b-iygz1s3n74] .patients-grid .mud-table-head .mud-select .mud-input input {
    text-transform: none;
    font-weight: 400;
    letter-spacing: normal;
}

[b-iygz1s3n74] .patients-grid .mud-table-body .mud-table-cell {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Patient-specific cell styles */
.patient-photo[b-iygz1s3n74] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 0.688rem;
    overflow: hidden;
}

.photo-placeholder[b-iygz1s3n74] {
    line-height: 1;
}

.patient-photo-link[b-iygz1s3n74] {
    text-decoration: none;
    display: block;
    cursor: pointer;
}

.name-cell[b-iygz1s3n74] {
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    cursor: pointer;
}

.name-cell:hover[b-iygz1s3n74] {
    text-decoration: underline;
    color: #2563eb;
}

/* Assign dialog */
.assign-dialog-content[b-iygz1s3n74] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.assign-dialog-content p[b-iygz1s3n74] {
    margin: 0;
    color: #374151;
}

.assign-dialog-actions[b-iygz1s3n74] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    margin-top: 0.5rem;
}

/* Responsive */
@media (max-width: 768px) {
    .filters-right[b-iygz1s3n74] {
        margin-left: 0;
        justify-content: flex-start;
    }

    .patients-grid-container[b-iygz1s3n74] {
        overflow: auto;
    }
}
/* _content/BlazorApp/Components/Pages/Patients/PatientDetail.razor.rz.scp.css */
.patient-detail-container[b-ox0cjaqaol] {
    padding: 0.75rem 1rem;
    width: 100%;
}

.patient-detail-header[b-ox0cjaqaol] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.back-button[b-ox0cjaqaol] {
    text-decoration: none;
    border-radius: 0.375rem;
}

.back-button:hover[b-ox0cjaqaol] {
    text-decoration: none;
}

.back-icon[b-ox0cjaqaol] {
    font-size: 1.25rem;
    line-height: 1;
}

.header-actions[b-ox0cjaqaol] {
    display: flex;
    gap: 0.75rem;
}

.patient-profile-section[b-ox0cjaqaol] {
    display: flex;
    gap: 1.5rem;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.25rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.profile-photo-section[b-ox0cjaqaol] {
    flex-shrink: 0;
}

.profile-photo-large[b-ox0cjaqaol] {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.profile-photo-placeholder-large[b-ox0cjaqaol] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 3rem;
    line-height: 1;
}

.patient-info-section[b-ox0cjaqaol] {
    flex: 1;
}

.patient-info-section h1[b-ox0cjaqaol] {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: #111827;
}

.info-grid[b-ox0cjaqaol] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.info-item[b-ox0cjaqaol] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.info-item label[b-ox0cjaqaol] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.info-item div[b-ox0cjaqaol] {
    font-size: 0.875rem;
    color: #111827;
}

.empty-field[b-ox0cjaqaol] {
    color: #9ca3af;
    font-style: italic;
}

/* Status badge styles now provided by global eb-status-badge classes in shared-components.css */

.patient-location-map[b-ox0cjaqaol] {
    width: 100%;
    height: 500px;
    border-radius: 0.375rem;
    border: 1px solid #e5e7eb;
}

.map-empty-state[b-ox0cjaqaol] {
    padding: 3rem;
    text-align: center;
    color: #6b7280;
}

.map-empty-state p[b-ox0cjaqaol] {
    margin: 0;
    font-size: 0.875rem;
}

/* Appointment Detail Card */
.appointment-empty-state[b-ox0cjaqaol] {
    padding: 3rem;
    text-align: center;
    color: #6b7280;
}

.appointment-empty-state p[b-ox0cjaqaol] {
    margin: 0;
    font-size: 0.875rem;
}

.appointment-detail-card[b-ox0cjaqaol] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.appointment-header[b-ox0cjaqaol] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.appointment-header-left[b-ox0cjaqaol] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.appointment-title[b-ox0cjaqaol] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
}

.appointment-header-right[b-ox0cjaqaol] {
    flex-shrink: 0;
}

.appointment-duration[b-ox0cjaqaol] {
    font-size: 0.875rem;
    color: #6b7280;
    background: #f3f4f6;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
}

.appointment-info-grid[b-ox0cjaqaol] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.appointment-info-item[b-ox0cjaqaol] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.appointment-info-item label[b-ox0cjaqaol] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.appointment-info-item div[b-ox0cjaqaol] {
    font-size: 0.875rem;
    color: #111827;
}

.appointment-section h4[b-ox0cjaqaol] {
    margin: 0 0 0.75rem 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.scheduler-notes-card[b-ox0cjaqaol] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 0.375rem;
    padding: 1rem;
}

.scheduler-notes-card p[b-ox0cjaqaol] {
    margin: 0;
    font-size: 0.875rem;
    color: #92400e;
    white-space: pre-wrap;
    line-height: 1.5;
}

.appointment-status-header[b-ox0cjaqaol] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.appointment-empty-state-wrapper[b-ox0cjaqaol] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Responsive - Mobile */
@media (max-width: 768px) {
    .patient-detail-container[b-ox0cjaqaol] {
        padding: 1rem;
    }

    .patient-detail-header[b-ox0cjaqaol] {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .patient-profile-section[b-ox0cjaqaol] {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .info-grid[b-ox0cjaqaol] {
        grid-template-columns: 1fr;
    }

    .patient-location-map[b-ox0cjaqaol] {
        height: 400px;
    }

    .appointment-header[b-ox0cjaqaol] {
        flex-direction: column;
    }

    .appointment-info-grid[b-ox0cjaqaol] {
        grid-template-columns: 1fr;
    }
}

/* _content/BlazorApp/Components/Pages/Reporting/ReportingDashboard.razor.rz.scp.css */
/* ── Filters Row ── */
.reporting-filters-row[b-kc2a6ah9ia] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.reporting-filter-select[b-kc2a6ah9ia] {
    min-width: 250px;
    max-width: 320px;
}

.reporting-filter-select--year[b-kc2a6ah9ia] {
    min-width: 140px;
    max-width: 180px;
}

/* ── Content Split (Status Breakdown + Recent Activity) ── */
.reporting-content-split[b-kc2a6ah9ia] {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 1024px) {
    .reporting-content-split[b-kc2a6ah9ia] {
        grid-template-columns: 1fr;
    }
}

.panel-card[b-kc2a6ah9ia] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.panel-header[b-kc2a6ah9ia] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e5e7eb;
}

.panel-header-title[b-kc2a6ah9ia] {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

/* ── Status Breakdown Rows ── */
.reporting-status-list[b-kc2a6ah9ia] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.reporting-status-row[b-kc2a6ah9ia] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.reporting-status-row__header[b-kc2a6ah9ia] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.reporting-status-row__label[b-kc2a6ah9ia] {
    font-size: 0.875rem;
    color: #111827;
}

.reporting-status-row__count[b-kc2a6ah9ia] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #111827;
    font-variant-numeric: tabular-nums;
}

.reporting-status-bar[b-kc2a6ah9ia] {
    position: relative;
    height: 0.5rem;
    background: #f3f4f6;
    border-radius: 9999px;
    overflow: hidden;
}

.reporting-status-bar__fill[b-kc2a6ah9ia] {
    height: 100%;
    background: #6b7280;
    border-radius: 9999px;
    transition: width 0.3s ease;
}

/* Status-colored bars — fill color mirrors eb-status-badge--* text color */
.reporting-status-bar--unknown .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #5b21b6; }
.reporting-status-bar--notcontacted .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #92400e; }
.reporting-status-bar--schedulingoutreach .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #1e40af; }
.reporting-status-bar--requestedcallback .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #3730a3; }
.reporting-status-bar--additionalinforequested .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #155e75; }
.reporting-status-bar--clinicrequested .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #115e59; }
.reporting-status-bar--telemedrequested .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #164e63; }
.reporting-status-bar--scheduled .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #065f46; }
.reporting-status-bar--hcd .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #14532d; }
.reporting-status-bar--seen .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #166534; }
.reporting-status-bar--scheduledbutnovisit .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #854d0e; }
.reporting-status-bar--refusal .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #991b1b; }
.reporting-status-bar--deceased .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #7f1d1d; }
.reporting-status-bar--hospice .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #9a3412; }
.reporting-status-bar--ineligible .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #92400e; }
.reporting-status-bar--retractedbyplan .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #991b1b; }
.reporting-status-bar--invaliddata .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #374151; }
.reporting-status-bar--novideocomponent .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #4b5563; }
.reporting-status-bar--donotcalluntilfurthernotice .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #78350f; }
.reporting-status-bar--unabletoschedule .reporting-status-bar__fill[b-kc2a6ah9ia] { background: #6b7280; }

/* ── Recent Activity Stack ── */
.reporting-activity-stack[b-kc2a6ah9ia] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.reporting-activity-line[b-kc2a6ah9ia] {
    font-size: 0.875rem;
    color: #111827;
    margin: 0;
}

.reporting-activity-line strong[b-kc2a6ah9ia] {
    font-weight: 600;
}

.reporting-section-header[b-kc2a6ah9ia] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0.5rem 0 0 0;
}

.reporting-empty-inline[b-kc2a6ah9ia] {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

/* ── Leaderboards ── */
.reporting-leaderboard[b-kc2a6ah9ia] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.reporting-leaderboard-row[b-kc2a6ah9ia] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.25rem 0;
}

.reporting-leaderboard-label[b-kc2a6ah9ia] {
    font-size: 0.875rem;
    color: #111827;
}

.reporting-leaderboard-count[b-kc2a6ah9ia] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #6b7280;
    font-variant-numeric: tabular-nums;
}
/* _content/BlazorApp/Components/Shared/Calendar/AppointmentCard.razor.rz.scp.css */
.appointment-card-wrapper[b-31s5vwjeds] {
    overflow: visible;
    /* Wrapper is absolute-positioned with explicit left/right (set inline by parent),
       so its width is already determined. Block layout + width:100% on the inner card
       keeps the card filling the column regardless of its text content length —
       matching the travel-buffer width and the rest of the calendar layout. */
}

[b-31s5vwjeds] .mud-tooltip-root {
    width: 100%;
    height: 100%;
    display: block;
}

.appointment-card-component[b-31s5vwjeds] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 1px 6px 1px 8px;
    border-radius: 0.25rem;
    border-left: 3px solid var(--card-rule, #2563eb);
    background-color: var(--card-bg, #eff6ff);
    color: var(--card-ink, #1e3a8a);
    font-size: 0.75rem;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    cursor: default;
    transition: background-color 0.15s, transform 0.15s;
}

.appointment-card-component.clickable[b-31s5vwjeds] {
    cursor: pointer;
}

.appointment-card-component:hover[b-31s5vwjeds] {
    filter: brightness(0.97);
}

.appointment-card-component.status-completed[b-31s5vwjeds] {
    border-left-color: #16a34a;
    background-color: #f0fdf4;
    color: #14532d;
}

.appointment-card-component.status-cancelled[b-31s5vwjeds] {
    border-left-color: #dc2626;
    background-color: #fef2f2;
    color: #991b1b;
    opacity: 0.75;
}

.appointment-card-component.status-cancelled .card-patient-name[b-31s5vwjeds] {
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.appointment-card-component.status-noshow[b-31s5vwjeds] {
    border-left-color: #f59e0b;
    background-color: #fffbeb;
    color: #78350f;
    opacity: 0.85;
}

.appointment-card-component.status-inprogress[b-31s5vwjeds] {
    border-left-color: #8b5cf6;
    background-color: #f5f3ff;
    color: #4c1d95;
}

.card-time[b-31s5vwjeds] {
    font-weight: 700;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
}

.card-patient-name[b-31s5vwjeds] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 1;
}

.card-anchor-badge[b-31s5vwjeds] {
    color: currentColor;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    opacity: 0.7;
}

.card-status-dot[b-31s5vwjeds] {
    flex-shrink: 0;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background-color: currentColor;
    margin-left: auto;
}

.appointment-card-component.status-completed .card-status-dot[b-31s5vwjeds] { background-color: #16a34a; }
.appointment-card-component.status-cancelled .card-status-dot[b-31s5vwjeds] { background-color: #dc2626; }
.appointment-card-component.status-noshow .card-status-dot[b-31s5vwjeds] { background-color: #f59e0b; }
.appointment-card-component.status-inprogress .card-status-dot[b-31s5vwjeds] { background-color: #8b5cf6; }

.appointment-tooltip[b-31s5vwjeds] {
    font-size: 0.8125rem;
    line-height: 1.55;
}

.tooltip-name[b-31s5vwjeds] {
    font-weight: 600;
    margin-bottom: 0.15rem;
}

.tooltip-timezone[b-31s5vwjeds] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
}

@media (max-width: 768px) {
    .appointment-card-component[b-31s5vwjeds] {
        font-size: 0.6875rem;
        gap: 0.2rem;
    }
}

.appointment-card-component.clickable:focus-visible[b-31s5vwjeds] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}
/* _content/BlazorApp/Components/Shared/Calendar/CalendarControls.razor.rz.scp.css */
.calendar-controls[b-hf1446la5k] {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 0.875rem;
    flex-shrink: 0;
}

.controls-left[b-hf1446la5k],
.controls-center[b-hf1446la5k],
.controls-right[b-hf1446la5k] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.controls-center[b-hf1446la5k] {
    justify-content: center;
}

.controls-right[b-hf1446la5k] {
    justify-content: flex-end;
}

.provider-selector[b-hf1446la5k] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 240px;
    max-width: 320px;
    width: 100%;
}

.navigation-label[b-hf1446la5k] {
    min-width: 9.5rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    color: #111827;
}

@media (max-width: 1024px) {
    .calendar-controls[b-hf1446la5k] {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "left right"
            "center center";
    }

    .controls-left[b-hf1446la5k] { grid-area: left; }
    .controls-right[b-hf1446la5k] { grid-area: right; }
    .controls-center[b-hf1446la5k] {
        grid-area: center;
        justify-content: flex-start;
    }

    .navigation-label[b-hf1446la5k] {
        min-width: 0;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .calendar-controls[b-hf1446la5k] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "left"
            "center"
            "right";
    }

    .controls-center[b-hf1446la5k],
    .controls-right[b-hf1446la5k] {
        justify-content: center;
    }

    .provider-selector[b-hf1446la5k] {
        min-width: 0;
        max-width: none;
    }
}
/* _content/BlazorApp/Components/Shared/Calendar/DayColumn.razor.rz.scp.css */
.day-column-component[b-i8zkqf7e2f] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.day-column-header[b-i8zkqf7e2f] {
    text-align: center;
    padding: 0.5rem 0.25rem;
    border-bottom: 2px solid #e5e7eb;
    cursor: pointer;
    transition: background-color 0.15s;
}

.day-column-header:hover[b-i8zkqf7e2f] {
    background-color: #f3f4f6;
}

.day-column-header.is-today[b-i8zkqf7e2f] {
    background-color: #eff6ff;
    border-bottom-color: #2563eb;
}

.day-column-header .day-name[b-i8zkqf7e2f] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.day-column-header .day-number[b-i8zkqf7e2f] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
}

.day-column-header.is-today .day-number[b-i8zkqf7e2f] {
    color: #2563eb;
}

.day-column-body[b-i8zkqf7e2f] {
    position: relative;
    border-right: 1px solid #f3f4f6;
}

.time-label[b-i8zkqf7e2f] {
    position: absolute;
    left: 0;
    width: 52px;
    font-size: 0.6875rem;
    font-weight: 500;
    color: #94a3b8;
    text-align: right;
    padding-right: 0.5rem;
    transform: translateY(-50%);
    pointer-events: none;
    font-variant-numeric: tabular-nums;
}

/* First hour label — keep its top edge at the container top so it isn't clipped */
.time-label:first-child[b-i8zkqf7e2f] {
    transform: translateY(0);
}

.hour-line[b-i8zkqf7e2f] {
    position: absolute;
    right: 0;
    height: 1px;
    background-color: #e5e7eb;
}

.travel-buffer[b-i8zkqf7e2f] {
    position: absolute;
    background-color: #fef3c7;
    border-left: 2px dashed #fbbf24;
    border-radius: 0.25rem;
    opacity: 0.6;
    pointer-events: none;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.travel-buffer-preview[b-i8zkqf7e2f] {
    opacity: 0.4;
    border-left-style: dotted;
}

.travel-buffer-label[b-i8zkqf7e2f] {
    font-size: 0.6875rem;
    color: #92400e;
    font-style: italic;
    padding-left: 0.5rem;
    white-space: nowrap;
}

.day-column-slot-available[b-i8zkqf7e2f] {
    position: absolute;
    right: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding-left: 0.5rem;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
    z-index: 1;
    border-radius: 0.25rem;
    transition: background 0.15s;
}

.day-column-slot-available:hover[b-i8zkqf7e2f] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
    color: var(--mud-palette-primary);
}

.day-column-slot-selected[b-i8zkqf7e2f] {
    position: absolute;
    right: 4px;
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    color: var(--mud-palette-primary);
    z-index: 2;
    cursor: pointer;
}

.slot-selected-header[b-i8zkqf7e2f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.slot-selected-time[b-i8zkqf7e2f] {
    font-weight: 600;
}

.slot-selected-duration[b-i8zkqf7e2f] {
    font-weight: 400;
    opacity: 0.7;
}

.slot-selected-timezone[b-i8zkqf7e2f] {
    font-size: 0.6875rem;
    opacity: 0.8;
}

.day-column-slot-available:focus-visible[b-i8zkqf7e2f] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
    color: var(--mud-palette-primary);
}

.day-column-slot-selected:focus-visible[b-i8zkqf7e2f] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.day-column-header:focus-visible[b-i8zkqf7e2f] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.day-column-no-slots[b-i8zkqf7e2f] {
    position: absolute;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
    text-align: center;
    padding: 1rem;
}
/* _content/BlazorApp/Components/Shared/Calendar/ProviderChip.razor.rz.scp.css */
.provider-chip[b-8ka6ur1r9i] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background-color: var(--chip-surface);
    color: var(--chip-ink);
    border-radius: 999px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
    border: 1px solid color-mix(in srgb, var(--chip-hue) 22%, transparent);
}

.provider-chip-dot[b-8ka6ur1r9i] {
    flex: 0 0 auto;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background-color: var(--chip-hue);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--chip-hue) 18%, transparent);
}

.provider-chip-label[b-8ka6ur1r9i] {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Sizes */
.provider-chip--sm[b-8ka6ur1r9i] {
    padding: 0.15rem 0.45rem 0.15rem 0.4rem;
    font-size: 0.6875rem;
    letter-spacing: 0.01em;
}

.provider-chip--md[b-8ka6ur1r9i] {
    padding: 0.25rem 0.6rem 0.25rem 0.55rem;
    font-size: 0.75rem;
}

.provider-chip--lg[b-8ka6ur1r9i] {
    padding: 0.35rem 0.75rem 0.35rem 0.65rem;
    font-size: 0.875rem;
    gap: 0.4rem;
}

.provider-chip--lg .provider-chip-dot[b-8ka6ur1r9i] {
    width: 0.55rem;
    height: 0.55rem;
}
/* _content/BlazorApp/Components/Shared/IdleTimeoutProvider.razor.rz.scp.css */
.idle-timeout-overlay[b-lummtxbpe7] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.idle-timeout-modal[b-lummtxbpe7] {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

.idle-timeout-icon[b-lummtxbpe7] {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.5rem;
}

.idle-timeout-modal h3[b-lummtxbpe7] {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    color: #1a1a1a;
}

.idle-timeout-modal p[b-lummtxbpe7] {
    margin: 0 0 0.25rem;
    color: #666;
    font-size: 0.95rem;
}

.idle-timeout-countdown[b-lummtxbpe7] {
    font-size: 2rem;
    font-weight: 600;
    color: #d97706;
    margin: 0.5rem 0 1.5rem;
    font-variant-numeric: tabular-nums;
}

.idle-timeout-button[b-lummtxbpe7] {
    background-color: #2563eb;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s;
}

.idle-timeout-button:hover[b-lummtxbpe7] {
    background-color: #1d4ed8;
}
/* _content/BlazorApp/Components/Shared/NavigationCard.razor.rz.scp.css */
.welcome-card[b-2495iz0qga] {
    width: 18rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
        0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border-radius: 0.75rem;
    color: var(--bs-link-color);
    padding: 1.25rem;
    text-decoration: none;
    position: relative;
    background-color: var(--bs-white);
}

.welcome-card:hover[b-2495iz0qga] {
    box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1),
        0px 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.welcome-card .welcome-card-icon[b-2495iz0qga] {
    width: 3rem;
    height: 3rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.welcome-card .welcome-card-icon img[b-2495iz0qga] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.welcome-card-content[b-2495iz0qga] {
    text-align: center;
    z-index: 1;
}

.welcome-card .welcome-card-title[b-2495iz0qga] {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--bs-body-color);
}

.welcome-card .welcome-card-description[b-2495iz0qga] {
    font-size: 1rem;
    color: var(--bs-gray-600);
    margin-bottom: 0.5rem;
}

.welcome-card .welcome-card-back[b-2495iz0qga] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-bg);
    opacity: 0.05;
    border-radius: 1rem;
    z-index: 0;
}

.welcome-card-link[b-2495iz0qga] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
}

.welcome-card-action[b-2495iz0qga] {
    display: block;
    margin: 0.75rem;
    padding: 0.5rem 1rem;
    background: #05303c;
    color: #fff;
    text-align: center;
    border-radius: 0.5rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.04);
    border: none;
    cursor: pointer;
    font-size: 1rem;
    position: relative;
    z-index: 2;
}

.welcome-card-action:hover[b-2495iz0qga] {
    background: #06405a;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 992px) {
    .welcome-card[b-2495iz0qga] {
        width: 18rem;
    }
}

@media (max-width: 768px) {
    .welcome-card[b-2495iz0qga] {
        width: 100%;
        max-width: 25rem;
    }
}
/* _content/BlazorApp/Components/Shared/PageLayout.razor.rz.scp.css */
.page-layout[b-beaai1ns61] {
    padding: 0.75rem 1rem;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.page-header[b-beaai1ns61] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.5rem;
    gap: 1rem;
    flex-shrink: 0;
}

.page-title-row[b-beaai1ns61] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.page-header-actions[b-beaai1ns61] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.page-subtitle[b-beaai1ns61] {
    margin: 0.125rem 0 0 0;
}
/* _content/BlazorApp/Components/Shared/ResizableSplitter.razor.rz.scp.css */
.resizable-splitter[b-o24pckdqg4] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    user-select: none;
}

.resizable-splitter--vertical[b-o24pckdqg4] {
    width: 8px;
    cursor: col-resize;
    background: var(--mud-palette-lines-default);
}

.resizable-splitter--horizontal[b-o24pckdqg4] {
    height: 8px;
    cursor: row-resize;
    background: var(--mud-palette-lines-default);
}

.resizable-splitter-handle[b-o24pckdqg4] {
    border-radius: 2px;
    background: var(--mud-palette-text-secondary);
    opacity: 0.4;
    transition: opacity 0.15s, background 0.15s;
}

.resizable-splitter--vertical .resizable-splitter-handle[b-o24pckdqg4] {
    width: 3px;
    height: 40px;
}

.resizable-splitter--horizontal .resizable-splitter-handle[b-o24pckdqg4] {
    height: 3px;
    width: 40px;
}

.resizable-splitter:hover .resizable-splitter-handle[b-o24pckdqg4] {
    background: var(--mud-palette-primary);
    opacity: 1;
}
/* _content/BlazorApp/Components/Shared/Scheduling/PatientOutreachDialog.razor.rz.scp.css */
/* === Title bar === */
.outreach-dialog-title[b-ycvpq6vkkv] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* === Content wrapper === */
.outreach-dialog-content[b-ycvpq6vkkv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* === Tab bar === */
.outreach-dialog-tabs[b-ycvpq6vkkv] {
    flex-shrink: 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

/* === Two-column body === */
.outreach-dialog-body[b-ycvpq6vkkv] {
    display: flex;
    flex-direction: row;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Left column: call log + scheduling */
.outreach-dialog-left[b-ycvpq6vkkv] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    padding: 8px 20px 0;
}

/* Right column: map + nearby patients */
.outreach-dialog-right[b-ycvpq6vkkv] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    background: var(--mud-palette-background-gray);
}

.outreach-dialog-right-inner[b-ycvpq6vkkv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* Map area — takes 60% of right column */
.outreach-dialog-map[b-ycvpq6vkkv] {
    flex: 3;
    min-height: 180px;
    overflow: hidden;
}

/* Nearby patients list — takes 40% */
.outreach-dialog-nearby[b-ycvpq6vkkv] {
    flex: 2;
    min-height: 120px;
    overflow-y: auto;
    background: var(--mud-palette-surface);
}

/* === Tab header === */
.outreach-tab-header[b-ycvpq6vkkv] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

[b-ycvpq6vkkv] .outreach-tab-close {
    padding: 2px !important;
    min-width: unset !important;
}

/* === Footer === */
.outreach-dialog-footer[b-ycvpq6vkkv] {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 8px;
}

.outreach-dialog-footer-status[b-ycvpq6vkkv] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.outreach-dialog-footer-actions[b-ycvpq6vkkv] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* _content/BlazorApp/Components/Shared/Scheduling/SchedulingPanel.razor.rz.scp.css */
.scheduling-panel[b-3ly89ypkkq] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: 0;
}

.scheduling-panel-header[b-3ly89ypkkq] {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    padding: 0.75rem 1rem;
}

.scheduling-panel-context[b-3ly89ypkkq] {
    font-size: 0.85rem;
    color: var(--mud-palette-text-secondary);
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.375rem 1rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.scheduling-panel-context strong[b-3ly89ypkkq] {
    color: var(--mud-palette-primary);
}

.scheduling-panel-body[b-3ly89ypkkq] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.5rem 0;
}

.scheduling-panel-placeholder[b-3ly89ypkkq] {
    padding: 2rem;
    text-align: center;
}

.scheduling-panel-footer[b-3ly89ypkkq] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--mud-palette-lines-default);
    gap: 0.5rem;
}

.scheduling-panel-field--provider[b-3ly89ypkkq] {
    flex: 2;
    min-width: 180px;
}

.scheduling-panel-field--date[b-3ly89ypkkq] {
    flex: 1;
    min-width: 130px;
}

.scheduling-panel-field--time[b-3ly89ypkkq] {
    flex: 1;
    min-width: 120px;
}

.scheduling-panel-field--duration[b-3ly89ypkkq] {
    flex: 0 0 110px;
}
