.flocara-account-drawer {
    border-right: 1px solid var(--flocara-border, #e2e5ec);
    overflow: hidden;
}

.flocara-account-drawer .mud-drawer-content {
    min-height: 0;
    overflow: hidden;
}

.flocara-account-sidebar {
    box-sizing: border-box;
    font-family: var(--flocara-font-family);
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: transparent;
}

.flocara-account-sidebar-header {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    flex: 0 0 auto;
    min-width: 0;
    padding: 0.75rem 0;
    background: var(--mud-palette-surface);
}

.flocara-account-profile-card {
    --flocara-profile-avatar-size: 48px;
    display: grid;
    grid-template-columns: var(--flocara-profile-avatar-size) minmax(0, 1fr);
    gap: 0.5rem 0.625rem;
    min-width: 0;
    margin-inline: 0.75rem;
    padding: 0.75rem;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
}

.flocara-account-sidebar-profile {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: var(--flocara-profile-avatar-size) minmax(0, 1fr);
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
    color: inherit !important;
    text-align: left;
    text-decoration: none !important;
    border-radius: 6px;
}

.flocara-account-sidebar-profile:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 4px;
}

.flocara-account-profile-card .flocara-account-avatar {
    width: var(--flocara-profile-avatar-size);
    margin-bottom: 0;
}

.flocara-account-identity {
    min-width: 0;
}

.flocara-account-identity .mud-typography {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flocara-account-display-name {
    font-weight: 700;
    line-height: 1.4;
}

.flocara-account-sidebar-workspace {
    grid-column: 1 / -1;
    min-width: 0;
}

.flocara-business-setup-panel {
    max-height: calc(100vh - 3rem);
    max-height: calc(100dvh - 3rem);
    overflow-y: auto;
}

.flocara-workspace-select .mud-input {
    height: 42px;
    min-height: 42px;
    margin: 0;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 3%, var(--mud-palette-surface));
    border-radius: 12px;
    font-size: 0.8125rem;
}

.flocara-workspace-select .mud-input > div.mud-input-slot[role="combobox"] {
    display: flex !important;
    align-items: center;
    min-width: 0;
    height: 42px;
    padding: 0 0 0 10px;
}

.flocara-workspace-select .mud-input.mud-input-outlined .mud-input-outlined-border {
    border-radius: inherit;
}

.flocara-workspace-select .mud-input-adornment-end {
    margin-inline: 4px 8px;
}

.flocara-workspace-option {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
}

.flocara-workspace-option .mud-icon-root {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    color: currentColor;
}

.flocara-workspace-option-label {
    min-width: 0;
}

.flocara-workspace-select .flocara-workspace-option-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flocara-workspace-options {
    min-width: 220px;
    max-width: calc(100vw - 24px);
}

.flocara-workspace-options .mud-list-item {
    min-height: 44px;
}

.flocara-workspace-options .flocara-workspace-option-label {
    overflow-wrap: anywhere;
    white-space: normal;
}

.flocara-account-nav {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    padding: 0.75rem 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
}

.flocara-account-sidebar-brand {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    height: var(--flocara-mobile-bottom-navigation-height, 68px);
    padding: 0.5rem 1.25rem;
    background: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-divider);
    box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.12);
}

.flocara-account-sidebar-brand-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(180px, 75%);
    min-height: 44px;
}

.flocara-account-sidebar-brand img {
    display: block;
    width: 100%;
    height: auto;
}

@media (min-width: 960px) {
    .flocara-account-drawer:has(.flocara-account-sidebar-brand) {
        border-right: 0;
        box-shadow: none;
    }

    .flocara-account-drawer:has(.flocara-account-sidebar-brand) .flocara-account-nav {
        border-right: 1px solid var(--flocara-border, #e2e5ec);
    }

    .flocara-account-drawer:has(.flocara-account-sidebar-brand) .flocara-account-sidebar-header {
        border-right: 1px solid var(--flocara-border, #e2e5ec);
    }

    .flocara-layout-account-drawer-open:has(.flocara-account-sidebar-brand) > .flocara-mobile-bottom-navigation {
        box-shadow: none;
    }

    .flocara-layout-account-drawer-open:has(.flocara-account-sidebar-brand) > .flocara-mobile-bottom-navigation::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.12);
        /* Clip only the shadow so floating navigation controls remain visible. */
        clip-path: inset(-24px 0 0);
    }
}

@media (max-height: 500px) {
    .flocara-account-profile-card {
        --flocara-profile-avatar-size: 40px;
        padding: 0.5rem 0.75rem;
        row-gap: 0.25rem;
    }
}

.flocara-contextual-page-back {
    position: sticky;
    top: env(safe-area-inset-top, 0px);
    z-index: 1080;
    width: calc(100% + var(--flocara-main-gutter-left, 0.5rem) + var(--flocara-main-gutter-right, 0.5rem));
    margin-bottom: 0.5rem;
    margin-right: calc(0px - var(--flocara-main-gutter-right, 0.5rem));
    margin-left: calc(0px - var(--flocara-main-gutter-left, 0.5rem));
    padding: 0;
    background: color-mix(in srgb, var(--mud-palette-background) 96%, transparent);
    border-bottom: 1px solid var(--mud-palette-divider);
    box-shadow: 0 6px 6px -6px rgb(0 0 0 / 24%);
    backdrop-filter: blur(14px) saturate(135%);
}

.flocara-contextual-top-bar {
    box-sizing: border-box;
    display: grid;
    min-height: 35px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 0.5rem;
    align-items: center;
}

.flocara-contextual-top-bar-leading,
.flocara-contextual-top-bar-actions {
    display: flex;
    min-width: 0;
    align-items: center;
}

.flocara-contextual-top-bar-leading {
    justify-content: flex-start;
}

.flocara-contextual-top-bar-actions {
    padding-right: max(0.5rem, env(safe-area-inset-right, 0px));
    justify-content: flex-end;
    gap: 0.5rem;
    white-space: nowrap;
}

.flocara-contextual-top-bar-actions .mud-button-root {
    min-height: 32px;
    height: 32px;
    padding-top: 0;
    padding-bottom: 0;
    align-items: center;
}

.flocara-contextual-top-bar-actions .mud-button-label,
.flocara-contextual-top-bar-actions .mud-button-icon-start {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.flocara-contextual-top-bar-actions .mud-button-icon-start .mud-icon-root {
    display: block;
}

.flocara-contextual-top-bar-title {
    min-width: 0;
    max-width: 100%;
    padding: 0 0.4rem;
    overflow-wrap: anywhere;
    color: var(--mud-palette-primary);
    font-family: var(--mud-typography-h4-family);
    font-size: clamp(0.75rem, 5vw, 1.5rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: var(--mud-typography-h4-letterspacing);
    text-align: left;
    white-space: normal;
}

.flocara-contextual-page-back-control {
    display: inline-flex;
    width: auto;
    height: 35px;
    padding: 0 0.55rem;
    align-items: center;
    gap: 0.4rem;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-weight: 600;
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.flocara-contextual-page-back-control:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.flocara-contextual-page-back-control .mud-icon-root {
    font-size: 1.5rem;
}

@media (max-width: 700px) {
    .flocara-contextual-page-back-control {
        width: 50px;
        min-width: 50px;
        padding: 0;
        justify-content: center;
    }

    .flocara-contextual-page-back-label {
        display: none;
    }
}

.flocara-garage-host > .flocara-contextual-page-back,
.flocara-catalog-business-host > .flocara-contextual-page-back,
.flocara-calendar-host > .flocara-contextual-page-back,
.flocara-request-details-host > .flocara-contextual-page-back,
.flocara-matches-host > .flocara-contextual-page-back,
.flocara-request-editor-host > .flocara-contextual-page-back,
.flocara-lifestyle-event-details-host > .flocara-contextual-page-back {
    display: none;
}

.flocara-contextual-action-bar-host {
    width: calc(100% + var(--flocara-main-gutter-left, 0.5rem) + var(--flocara-main-gutter-right, 0.5rem));
    margin-right: calc(0px - var(--flocara-main-gutter-right, 0.5rem));
    margin-left: calc(0px - var(--flocara-main-gutter-left, 0.5rem));
}

.flocara-contextual-action-bar-host-pinned {
    position: sticky;
    top: env(safe-area-inset-top, 0px);
    z-index: 1080;
}

.flocara-contextual-action-bar {
    width: 100%;
    padding: 0;
    color: var(--mud-palette-text-primary);
    background: color-mix(in srgb, var(--mud-palette-background) 96%, transparent);
    border-bottom: 1px solid var(--mud-palette-divider);
    backdrop-filter: blur(14px) saturate(135%);
}

.flocara-contextual-action-bar-sticky {
    box-shadow: 0 6px 6px -6px rgb(0 0 0 / 24%);
}

.flocara-contextual-page-back ~ .flocara-page-heading,
.flocara-contextual-page-back ~ * .flocara-page-heading,
.flocara-contextual-action-bar-host ~ .flocara-page-heading,
.flocara-contextual-action-bar-host ~ * .flocara-page-heading,
.flocara-contextual-page-back ~ .flocara-contextual-caption-duplicate,
.flocara-contextual-page-back ~ * .flocara-contextual-caption-duplicate {
    display: none;
}

.flocara-contextual-page-back ~ * .flocara-my-requests-sticky-region > .flocara-page-header-row {
    display: none;
}

.flocara-contextual-action-bar .mud-button-root,
.flocara-contextual-action-bar .mud-icon-button,
.flocara-contextual-action-bar button {
    border: 0 !important;
    box-shadow: none !important;
}

.flocara-contextual-action-icon {
    width: 40px;
    min-width: 40px;
    height: 40px;
    border: 0;
    border-radius: 6px;
}

.flocara-contextual-action-menu {
    display: flex;
    width: 40px;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
}

.flocara-contextual-action-menu .mud-button-root {
    width: 38px;
    min-width: 38px;
    height: 38px;
    color: var(--mud-palette-primary);
}

.flocara-scroll-to-top-fab.mud-fab {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right, 0px));
    bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    z-index: 1240;
    color: #ffffff !important;
    background-color: #d10000 !important;
    box-shadow: 0 5px 14px rgba(209, 0, 0, 0.32);
}

.flocara-scroll-to-top-fab.mud-fab:focus-visible {
    outline: 3px solid color-mix(in srgb, #d10000 35%, transparent);
    outline-offset: 2px;
}

.flocara-layout-bottom-navigation .flocara-scroll-to-top-fab.mud-fab {
    bottom: calc(var(--flocara-mobile-bottom-navigation-offset) + 1rem);
}

.flocara-account-nav .mud-nav-link {
    box-sizing: border-box;
    width: calc(100% - 1.5rem);
    min-height: 48px;
    margin: 2px 0.75rem;
    padding: 0.65rem 0.9rem;
    border-radius: 12px;
    color: var(--flocara-text, #171717);
    font-size: 0.98rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    align-items: center;
    transition: color 150ms ease, background-color 150ms ease;
}

.flocara-account-nav .mud-nav-group > .mud-nav-link > .mud-nav-link-text {
    font-weight: 400;
}

.flocara-account-nav .mud-nav-link .mud-nav-link-text {
    display: flex;
    min-width: 0;
    align-items: center;
}

.flocara-admin-nav-label {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
}

.flocara-admin-nav-counter {
    display: inline-flex;
    min-width: 1.35rem;
    height: 1.35rem;
    margin-inline-start: auto;
    padding: 0 0.4rem;
    align-items: center;
    justify-content: center;
    color: var(--mud-palette-primary-text);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    background: var(--mud-palette-primary);
    border-radius: 999px;
}

.flocara-account-nav .mud-nav-link:hover,
.flocara-account-nav .mud-nav-link:focus-visible,
.flocara-account-nav .mud-nav-link.active,
.flocara-account-nav .mud-nav-link.mud-nav-link-active,
.flocara-account-nav .mud-nav-link[aria-current="page"] {
    color: var(--mud-palette-primary) !important;
    background-color: color-mix(in srgb, var(--mud-palette-primary) 6%, transparent) !important;
}

.flocara-account-nav .mud-nav-link:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--mud-palette-primary) 38%, transparent);
    outline-offset: 1px;
}

.flocara-account-nav .mud-nav-link .mud-nav-link-icon,
.flocara-account-nav .mud-nav-link .mud-icon-root,
.flocara-account-nav .mud-nav-group .mud-nav-link-icon,
.flocara-account-nav .mud-nav-group .mud-icon-root,
.flocara-account-nav .mud-nav-group .mud-nav-link-expand-icon {
    color: currentColor !important;
}

.flocara-account-nav .mud-nav-link .mud-nav-link-icon,
.flocara-account-nav .mud-nav-group .mud-nav-link-icon {
    width: 26px;
    min-width: 26px;
    height: 26px;
    margin-inline-end: 0.9rem;
}

.flocara-account-nav .mud-nav-link .mud-icon-root {
    width: 24px;
    height: 24px;
    font-size: 24px;
}

.flocara-account-nav .mud-nav-group > .mud-nav-link .mud-nav-link-expand-icon {
    flex: 0 0 auto;
    margin-inline-start: auto;
    transform: rotate(0deg) !important;
    transition: transform 160ms ease, color 150ms ease;
}

.flocara-account-nav .mud-nav-group > .mud-nav-link .mud-nav-link-expand-icon.mud-transform {
    transform: rotate(-90deg) !important;
}

.flocara-account-nav .mud-nav-group .mud-collapse-container .mud-nav-link {
    width: calc(100% - 2.1rem);
    min-height: 44px;
    margin-inline-start: 1.35rem;
    margin-inline-end: 0.75rem;
}

.flocara-account-nav-section-divider {
    margin: 0.8rem 1.25rem !important;
    background-color: var(--flocara-surface-muted, #e5e5e5);
}

@media (hover: none) {
    .flocara-account-nav .mud-nav-link:hover:not(.active):not(.mud-nav-link-active):not([aria-current="page"]) {
        color: var(--flocara-text, #171717) !important;
        background-color: transparent !important;
    }
}
