@import '_content/Rejuvicon.ClientCommon/Rejuvicon.ClientCommon.z7iqguoevi.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.AddressDetails/Rejuvicon.CommonWebAppModuleClient.AddressDetails.yorgexcm2l.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.Forms/Rejuvicon.CommonWebAppModuleClient.Forms.qwzf5knl11.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.MedicalNotes/Rejuvicon.CommonWebAppModuleClient.MedicalNotes.cbnaf1uwhn.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.Patients/Rejuvicon.CommonWebAppModuleClient.Patients.dreujzna60.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.TreatmentPlans/Rejuvicon.CommonWebAppModuleClient.TreatmentPlans.5day84riuw.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Appointments/Rejuvicon.WebAppModuleClient.Appointments.slj10959n9.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Inventory/Rejuvicon.WebAppModuleClient.Inventory.t166u473ri.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Patients/Rejuvicon.WebAppModuleClient.Patients.fj4swsfk9h.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Settings/Rejuvicon.WebAppModuleClient.Settings.8ja1a1hnbv.bundle.scp.css';

/* /Layout/AppErrorBoundary.razor.rz.scp.css */
.app-error-boundary[b-3kayjyor8a] {
    margin: 1.5rem;
    padding: 1.5rem;
    border: 1px solid var(--rz-danger);
    border-radius: var(--rjv-radius-md);
    background: var(--rz-danger-lighter);
}

.app-error-boundary h2[b-3kayjyor8a] {
    margin-top: 0;
}

.app-error-boundary p[b-3kayjyor8a] {
    margin-bottom: 1rem;
}
/* /Layout/AppVersionBanner.razor.rz.scp.css */
.app-version-banner[b-rxaqjnjqle] {
    position: fixed;
    top: 0.75rem;
    left: calc(var(--rjv-sidebar-width) + 1rem);
    right: 1rem;
    z-index: 2100;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(255, 122, 92, 0.4);
    border-radius: 8px;
    background: #fff7f4;
    color: var(--rjv-slate-deep);
    box-shadow: 0 0.75rem 2rem rgba(28, 42, 58, 0.14);
}

.app-version-banner span[b-rxaqjnjqle] {
    font-weight: 600;
    text-align: center;
}

@media (max-width: 640px) {
    .app-version-banner[b-rxaqjnjqle] {
        left: 0.75rem;
        right: 0.75rem;
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Full-screen splash shown while the client (WebAssembly runtime + app shell) finishes loading.
   Sits above all app chrome; fades out once MainLayout's first interactive render flips it ready. */
.app-splash[b-laj7obb6v6] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--rjv-surface) 0%, #eef3f8 100%);
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.app-splash--ready[b-laj7obb6v6] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.app-splash__inner[b-laj7obb6v6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.75rem;
}

.app-splash__text[b-laj7obb6v6] {
    color: var(--rjv-slate-deep);
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* Sized up for the splash overlay (vs the small inline default). Component already
   handles the staggered fade animation and reduced-motion. */
.app-splash .rjv-loading-dots--medium[b-laj7obb6v6] {
    font-size: 2rem;
    color: var(--rjv-coral);
}

/* Brand lockup at the top of the sidebar. Sized to the topbar height so the wordmark row
   aligns with the header; collapses to the icon-only mark with the sidebar rail. */
.rjv-brand[b-laj7obb6v6] {
    display: flex;
    align-items: center;
    flex: none;
    box-sizing: border-box;
    min-height: var(--rz-header-min-height, 3.125rem);
    padding-left: 0.75rem;
    overflow: hidden;
}

/* The wordmark token colour is slate-deep — the sidebar background — so force white here. */
.rjv-brand[b-laj7obb6v6]  .rjv-wordmark {
    color: var(--rjv-white);
}

.rjv-brand--collapsed[b-laj7obb6v6] {
    padding-left: 0;
    justify-content: center;
}

.rjv-brand--collapsed[b-laj7obb6v6]  .rjv-wordmark {
    display: none;
}

/* Left padding matches .rz-body's padding so the page title's left edge lines up with the
   content column below it (the header starts at the sidebar edge, same as the body). */
.rjv-header-start[b-laj7obb6v6] {
    display: flex;
    align-items: center;
    height: 100%;
    padding-inline-start: var(--rz-layout-body-padding, 1rem);
}

.rjv-header-end[b-laj7obb6v6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    height: var(--rz-header-min-height, 3.125rem);
    padding-right: 1rem;
}

/* Selector matches the button's own rz-button/rz-variant-text/rz-light classes so its
   specificity beats Radzen's own .rz-button.rz-variant-text.rz-light:not(.rz-state-disabled):hover
   rule (standard-base.css), which otherwise wins and leaves the default barely-visible overlay. */
.rjv-header-end[b-laj7obb6v6]  .rz-button.rz-variant-text.rz-light.rjv-header-action-button:hover {
    background: var(--rz-base-300);
    border-radius: 50%;
    transition: background 0.15s ease;
}
/* /Layout/ProfileMenu.razor.rz.scp.css */
/* Stretch the menu to the full header height so the dropdown drops exactly from the
   topbar base instead of from the centred avatar. */
.profile-menu-host[b-2lurr5vdx4] {
    display: flex;
    align-items: center;
    height: 100%;
}

.profile-menu[b-2lurr5vdx4] {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
}

.profile-menu-trigger[b-2lurr5vdx4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

/* Invisible click-catcher covering the viewport while the menu is open; sits just below the
   dropdown so clicks inside the panel still reach it, and over the trigger so clicking the
   avatar again also dismisses. */
.profile-menu-backdrop[b-2lurr5vdx4] {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: transparent;
}

/* Pin the panel flush to the topbar base and to the right edge of the header. */
.profile-dropdown[b-2lurr5vdx4] {
    position: absolute;
    inset-block-start: calc(100% + var(--rz-border-width, 1px));
    inset-inline-end: -0.75rem;
    z-index: 1000;
    display: none;
    min-width: max-content;
    overflow: hidden;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-border-color, #e0e0e0);
    border-radius: var(--rz-border-radius, 4px);
    box-shadow: var(--rz-shadow-3, 0 0.5rem 1.25rem rgba(15, 23, 42, 0.16));
}

.profile-menu--open .profile-dropdown[b-2lurr5vdx4] {
    display: block;
}

/* The avatar toggle is the menu's clickable handle. */
.profile-avatar-img[b-2lurr5vdx4] {
    display: inline-flex;
    cursor: pointer;
    user-select: none;
}

.profile-card[b-2lurr5vdx4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    min-width: 14rem;
}

.profile-name[b-2lurr5vdx4] {
    font-weight: 600;
    word-break: break-word;
}

.profile-details[b-2lurr5vdx4] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.profile-pin-link[b-2lurr5vdx4] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rz-link-color, var(--rz-primary));
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.profile-pin-link:hover[b-2lurr5vdx4] {
    color: var(--rz-link-hover-color, var(--rz-primary-dark));
}

.profile-pin-link:focus-visible[b-2lurr5vdx4] {
    outline: 2px solid var(--rz-primary);
    outline-offset: 2px;
}

.profile-divider[b-2lurr5vdx4] {
    margin: 0;
    border: none;
    border-top: 1px solid var(--rz-border-color, #e0e0e0);
}

.profile-logout-btn[b-2lurr5vdx4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: none;
    border: none;
    text-align: left;
    font: inherit;
    color: var(--rz-text-color, #2b2b2b);
    text-decoration: none;
    cursor: pointer;
}

.profile-logout-btn:hover[b-2lurr5vdx4] {
    background: var(--rz-base-200, rgba(0, 0, 0, 0.05));
}
