.sidebar {
    position: sticky;
    top: var(--space-6);
    align-self: start;
    display: grid;
    gap: 0.8rem;
    padding: 0.85rem;
    overflow: hidden;
}

.app-shell--business .sidebar {
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 16%, rgba(56, 74, 69, 0.08));
    background: rgba(255, 255, 255, 0.86);
}

.sidebar::before,
.topbar::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.78), transparent 34%),
        linear-gradient(135deg, rgba(232, 237, 235, 0.22), transparent 60%);
}

.brand-lockup {
    display: grid;
    gap: var(--space-2);
}

.brand-mark {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--color-accent-strong), var(--color-accent));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.brand-mark--nest {
    position: relative;
}

.brand-mark--nest::before,
.brand-mark--nest::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
}

.brand-mark--nest::before {
    width: 1.35rem;
    height: 0.28rem;
    left: 0.72rem;
    top: 1.18rem;
    transform: rotate(32deg);
}

.brand-mark--nest::after {
    width: 1.1rem;
    height: 0.28rem;
    left: 0.82rem;
    top: 1.05rem;
    transform: rotate(-36deg);
}

.sidebar-brand {
    gap: 0.4rem;
}

.sidebar-brand__row {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    margin-bottom: 0.15rem;
}

.sidebar-brand__meta {
    font-size: 0.74rem;
}

.sidebar-brand__badge,
.sidebar-section-label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sidebar-brand__badge {
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    color: var(--color-accent-strong);
    background: color-mix(in srgb, var(--color-accent) 14%, white);
    border: 1px solid color-mix(in srgb, var(--color-accent) 24%, transparent);
}

.app-shell--business .sidebar-brand__badge {
    color: #fff;
    background: linear-gradient(180deg, var(--business-brand-accent, #d18c22), color-mix(in srgb, var(--business-brand-accent, #d18c22) 72%, #2e2116));
    border-color: transparent;
}

.sidebar-section-label {
    color: var(--color-text-soft);
    margin-bottom: 0.22rem;
    font-size: 0.68rem;
}

.nav-list {
    display: grid;
    gap: 0.22rem;
}

.sidebar-section {
    display: grid;
    gap: 0.4rem;
}

.sidebar-areas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.area-switch__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.2rem;
    padding: 0.48rem 0.68rem;
    border-radius: 999px;
    border: 1px solid rgba(56, 74, 69, 0.1);
    background: rgba(250, 252, 251, 0.82);
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.8rem;
    transition: transform var(--duration-fast) var(--ease-standard), border-color var(--duration-base) var(--ease-standard), background-color var(--duration-base) var(--ease-standard);
}

.app-shell--business .area-switch__item {
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
}

.area-switch__item.is-active,
.area-switch__item:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--color-accent) 28%, rgba(178, 196, 188, 0.8));
    background: rgba(246, 250, 248, 0.98);
}

.app-shell--business .area-switch__item.is-active,
.app-shell--business .area-switch__item:hover {
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 30%, transparent);
    background: rgba(246, 250, 248, 0.98);
}

.nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.62rem 0.72rem;
    border-radius: 0.8rem;
    color: var(--color-text-soft);
    border: 1px solid transparent;
    transition:
        background-color var(--duration-base) var(--ease-standard),
        color var(--duration-base) var(--ease-standard),
        transform var(--duration-fast) var(--ease-standard),
        border-color var(--duration-base) var(--ease-standard);
}

.app-shell--business .nav-link {
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
}

.nav-link__main {
    display: flex;
    gap: var(--space-3);
    align-items: center;
    min-width: 0;
}

.nav-link__icon {
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 0.85rem;
    background: rgba(245, 248, 247, 0.88);
    border: 1px solid rgba(200, 211, 207, 0.8);
}

.nav-link__icon svg {
    width: 1.15rem;
    height: 1.15rem;
    fill: currentColor;
}

.nav-link__copy {
    display: grid;
    gap: 0;
    min-width: 0;
}

.nav-link__copy strong {
    font-size: 0.88rem;
    color: var(--color-text);
}

.nav-link__copy span {
    font-size: var(--text-sm);
    color: var(--color-text-soft);
}

.sidebar-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.12rem 0.38rem;
    border-radius: 999px;
    font-size: 0.58rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sidebar-badge--soon {
    color: #6a4d15;
    background: rgba(220, 182, 92, 0.18);
    border: 1px solid rgba(220, 182, 92, 0.28);
}

.nav-link__chevron {
    font-size: 0.92rem;
    line-height: 1;
    color: rgba(76, 97, 90, 0.65);
}

.nav-link:hover,
.nav-link.is-active {
    background: rgba(246, 250, 248, 0.96);
    color: var(--color-text);
    border-color: color-mix(in srgb, var(--color-accent) 28%, rgba(178, 196, 188, 0.7));
    transform: translateX(2px);
}

.app-shell--business .nav-link:hover,
.app-shell--business .nav-link.is-active {
    background: rgba(246, 250, 248, 0.96);
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 30%, transparent);
}

.nav-link.is-active {
    box-shadow: 0 12px 28px var(--color-area-glow);
}

.app-shell--business .nav-link.is-active .nav-link__copy strong,
.app-shell--business .nav-link:hover .nav-link__copy strong,
.app-shell--business .nav-link.is-active .nav-link__chevron,
.app-shell--business .nav-link:hover .nav-link__chevron {
    color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 78%, #2f2418);
}

.sidebar--minimal {
    top: 1rem;
    gap: 1rem;
    padding: 0.95rem 0.85rem;
    border-radius: 1.7rem;
    background:
        linear-gradient(180deg, rgba(255, 251, 243, 0.98), rgba(252, 245, 232, 0.95)),
        linear-gradient(135deg, color-mix(in srgb, var(--business-brand-surface, #f7ead0) 34%, white), transparent 60%);
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
    box-shadow: 0 24px 64px color-mix(in srgb, var(--business-brand-accent, #d18c22) 9%, transparent);
}

.sidebar--minimal .sidebar-brand {
    gap: 0.75rem;
}

.sidebar--minimal .sidebar-brand .text-muted,
.sidebar--minimal .sidebar-section-label,
.sidebar--minimal .sidebar-shortcuts,
.sidebar--minimal .sidebar-user {
    display: none;
}

.sidebar--minimal .brand-mark {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 0.9rem;
}

.sidebar--minimal .sidebar-brand__row {
    margin-bottom: 0;
}

.sidebar--minimal .area-switch {
    gap: 0.55rem;
}

.sidebar--minimal .area-switch__item {
    padding: 0.8rem 0.85rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.68);
}

.sidebar--minimal .area-switch__item span {
    display: none;
}

.sidebar--minimal .nav-list {
    gap: 0.45rem;
}

.sidebar--minimal .nav-link {
    padding: 0.82rem 0.85rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.56);
}

.sidebar--minimal .nav-link__copy {
    gap: 0;
}

.sidebar--minimal .nav-link__copy strong {
    font-size: 0.92rem;
}

.sidebar--minimal .nav-link__copy span,
.sidebar--minimal .nav-link__chevron {
    display: none;
}

.sidebar--minimal .nav-link:hover,
.sidebar--minimal .nav-link.is-active {
    transform: translateX(0);
    background: rgba(255, 255, 255, 0.92);
}

.sidebar--minimal:not(.is-expanded) {
    width: 92px;
}

.sidebar--minimal:not(.is-expanded) .sidebar-mobile-head > .brand-lockup > div,
.sidebar--minimal:not(.is-expanded) .area-switch__item strong,
.sidebar--minimal:not(.is-expanded) .nav-link__copy,
.sidebar--minimal:not(.is-expanded) .sidebar-theme-switch span,
.sidebar--minimal:not(.is-expanded) .sidebar-badge {
    display: none;
}

.sidebar--minimal:not(.is-expanded) .sidebar-theme-switch {
    min-height: 3rem;
    place-items: center;
}

.sidebar--minimal:not(.is-expanded) .nav-link {
    justify-content: center;
    min-height: 3.15rem;
}

.sidebar--minimal:not(.is-expanded) .area-switch__item {
    min-height: 3.1rem;
    place-items: center;
}

.sidebar--minimal.is-expanded {
    width: auto;
}

.sidebar--minimal.is-expanded .sidebar-brand .text-muted,
.sidebar--minimal.is-expanded .sidebar-section-label,
.sidebar--minimal.is-expanded .sidebar-shortcuts,
.sidebar--minimal.is-expanded .sidebar-user {
    display: grid;
}

.sidebar--minimal.is-expanded .area-switch__item span,
.sidebar--minimal.is-expanded .nav-link__copy span,
.sidebar--minimal.is-expanded .nav-link__chevron,
.sidebar--minimal.is-expanded .sidebar-theme-switch span {
    display: initial;
}

.topbar {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-5) var(--space-6);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 246, 0.96));
}

.business-topbar {
    position: sticky;
    top: 1rem;
    z-index: 48;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 1.75rem;
    border: 1px solid color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
    background:
        linear-gradient(180deg, rgba(255, 251, 243, 0.94), rgba(255, 255, 255, 0.84)),
        linear-gradient(135deg, color-mix(in srgb, var(--business-brand-surface, #f7ead0) 34%, white), transparent 60%);
    box-shadow: 0 24px 64px color-mix(in srgb, var(--business-brand-accent, #d18c22) 8%, transparent);
    backdrop-filter: blur(18px);
}

.business-topbar__primary,
.business-topbar__actions {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
}

.business-topbar__menu,
.business-topbar__quick,
.business-topbar__theme {
    min-height: 2.85rem;
    padding: 0.78rem 1rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
    background: rgba(255, 255, 255, 0.82);
    color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 76%, #3d2b1d);
    font-weight: 700;
    text-decoration: none;
}

.business-topbar__menu {
    min-width: 6.5rem;
}

.business-topbar__brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    color: var(--color-text);
    text-decoration: none;
}

.business-topbar__mark {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    border-radius: 0.95rem;
    background: linear-gradient(135deg, color-mix(in srgb, var(--business-brand-accent, #d18c22) 72%, #2e2116), var(--business-brand-accent, #d18c22));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
    position: relative;
}

.business-topbar__mark::before,
.business-topbar__mark::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
}

.business-topbar__mark::before {
    width: 1.3rem;
    height: 0.28rem;
    left: 0.72rem;
    top: 1.14rem;
    transform: rotate(33deg);
}

.business-topbar__mark::after {
    width: 1.05rem;
    height: 0.28rem;
    left: 0.82rem;
    top: 1.01rem;
    transform: rotate(-36deg);
}

.business-topbar__copy {
    display: grid;
    gap: 0.05rem;
    min-width: 0;
}

.business-topbar__copy strong {
    font-size: 1rem;
    line-height: 1.1;
}

.business-topbar__copy span,
.business-topbar__usercopy span {
    font-size: 0.8rem;
    color: var(--color-text-soft);
}

.business-topbar__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-width: 0;
}

.business-topbar__link {
    min-height: 2.7rem;
    display: inline-flex;
    align-items: center;
    padding: 0.62rem 0.95rem;
    border-radius: 999px;
    color: var(--color-text-soft);
    text-decoration: none;
    font-weight: 700;
    border: 1px solid transparent;
}

.business-topbar__link:hover,
.business-topbar__link.is-active {
    color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 74%, #3d2b1d);
    background: color-mix(in srgb, var(--business-brand-surface, #f7ead0) 46%, white);
    border-color: color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
}

.business-topbar__user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-left: 0.25rem;
    min-width: 0;
}

.business-topbar__avatar {
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border-radius: 0.9rem;
    background: linear-gradient(135deg, color-mix(in srgb, var(--business-brand-accent, #d18c22) 72%, #2e2116), color-mix(in srgb, var(--business-brand-accent, #d18c22) 82%, white));
    color: #fff;
    font-weight: 700;
}

.business-topbar__usercopy {
    display: grid;
    gap: 0.05rem;
}

.business-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 68;
    border: 0;
    background: rgba(24, 21, 17, 0.26);
    backdrop-filter: blur(8px);
}

.business-menu-panel {
    position: fixed;
    top: 1rem;
    left: 1rem;
    bottom: 1rem;
    z-index: 69;
    width: min(24rem, calc(100vw - 2rem));
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1.8rem;
    border: 1px solid color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
    background:
        linear-gradient(180deg, rgba(255, 251, 243, 0.98), rgba(252, 245, 232, 0.95)),
        linear-gradient(135deg, color-mix(in srgb, var(--business-brand-surface, #f7ead0) 34%, white), transparent 60%);
    box-shadow: 0 32px 80px color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
    overflow-y: auto;
    transform: translateX(calc(-100% - 2rem));
    transition: transform var(--duration-base) var(--ease-standard);
}

.app-body.app-business-panel-open .business-menu-panel {
    transform: translateX(0);
}

.app-body.app-business-panel-open {
    overflow: hidden;
}

.app-body.app-business-panel-open .business-menu-backdrop {
    display: block;
}

.business-menu-panel__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.business-menu-panel__close {
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--business-brand-accent, #d18c22) 14%, transparent);
    background: rgba(255, 255, 255, 0.86);
    color: var(--color-text);
    font-size: 1.5rem;
    line-height: 1;
}

.topbar__title {
    margin-top: 0.75rem;
    font-size: var(--text-2xl);
}

.sidebar-user {
    margin-top: auto;
}

.sidebar-logout {
    width: 100%;
    justify-content: center;
    min-height: 2.2rem;
    padding-block: 0.4rem;
}

.sidebar-mobile-head {
    display: contents;
}

.sidebar-mobile-close {
    display: none;
}

@media (max-width: 1024px) {
    .business-topbar {
        top: 0.75rem;
        flex-direction: column;
        align-items: stretch;
        padding: 0.95rem;
        border-radius: 1.5rem;
    }

    .business-topbar__primary,
    .business-topbar__actions {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .business-topbar__nav {
        order: 3;
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.15rem;
    }

    .business-topbar__nav::-webkit-scrollbar {
        display: none;
    }

    .business-topbar__usercopy,
    .business-topbar__theme {
        display: none;
    }

    .business-topbar__quick {
        padding-inline: 0.9rem;
    }

    .business-menu-panel {
        top: 0.75rem;
        left: 0.75rem;
        bottom: 0.75rem;
        width: min(24rem, calc(100vw - 1.5rem));
        border-radius: 1.45rem;
    }

    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 65;
        width: min(24rem, calc(100vw - 1.4rem));
        height: 100dvh;
        align-self: unset;
        gap: var(--space-5);
        padding: 1rem;
        border-radius: 0 1.5rem 1.5rem 0;
        overflow-y: auto;
        transform: translateX(calc(-100% - 1rem));
        transition: transform var(--duration-base) var(--ease-standard);
    }

    .app-body.app-nav-open .sidebar {
        transform: translateX(0);
    }

    .sidebar-mobile-head {
        display: flex;
        align-items: start;
        justify-content: space-between;
        gap: var(--space-3);
    }

    .sidebar-mobile-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.65rem;
        height: 2.65rem;
        flex: 0 0 auto;
        border-radius: 999px;
        border: 1px solid rgba(56, 74, 69, 0.1);
        background: rgba(255, 255, 255, 0.94);
        color: var(--color-text);
        font-size: 1.5rem;
        line-height: 1;
    }

    .sidebar-brand {
        gap: var(--space-3);
    }

    .area-switch__item,
    .nav-link,
    .sidebar-shortcut,
    .sidebar-user__card {
        border-radius: 1.15rem;
    }
}
