/*
 * VST Business Management System
 * Copyright (c) 2026 VST Services. All rights reserved.
 * Proprietary and confidential.
 */
/* V1.14.1 grouped application menu */
.app-main-navbar {
    min-height:64px;
    box-shadow:0 6px 18px rgba(16,24,40,.04);
    z-index:1030;
}

.app-brand {
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    min-width:max-content;
    padding-right:.75rem;
}

.app-brand-mark {
    width:36px;
    height:36px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #2563eb, #0f172a);
    color:#fff;
    font-weight:900;
    letter-spacing:-.06em;
    box-shadow:0 8px 18px rgba(37,99,235,.22);
}

.app-brand-text {
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.app-brand-text strong {
    font-size:.98rem;
    letter-spacing:-.02em;
}

.app-brand-text small {
    color:#667085;
    font-size:.72rem;
    font-weight:600;
    margin-top:.12rem;
}

.app-navbar-groups .nav-link {
    font-weight:700;
    color:#344054;
    border-radius:999px;
    padding:.55rem .8rem;
    margin:.05rem .08rem;
}

.app-navbar-groups .nav-link:hover,
.app-navbar-groups .nav-link:focus {
    background:#f2f4f7;
    color:#182230;
}

.app-navbar-groups .nav-link.active,
.app-navbar-groups .show > .nav-link {
    background:#eef4ff;
    color:#1849a9;
}

.app-dropdown-menu {
    border:1px solid #e4e7ec;
    border-radius:16px;
    box-shadow:0 18px 48px rgba(16,24,40,.16);
    padding:.45rem;
    min-width:280px;
}

.app-menu-item {
    border-radius:12px;
    padding:.65rem .75rem;
    display:flex;
    flex-direction:column;
    gap:.15rem;
    font-weight:700;
    color:#182230;
}

.app-menu-item small {
    color:#667085;
    font-weight:500;
    white-space:normal;
    line-height:1.2;
}

.app-menu-item:hover,
.app-menu-item:focus {
    background:#f8fafc;
    color:#1849a9;
}

.app-menu-item.active,
.dropdown-item.active,
.dropdown-item:active {
    background:#eef4ff;
    color:#1849a9;
}

.app-user-actions {
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-left:.5rem;
}

.app-user-button {
    min-height:44px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    font-weight:700;
    background:#fff;
}

.app-user-avatar {
    width:30px;
    height:30px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eef4ff;
    color:#1849a9;
    font-weight:900;
}

.app-user-name {
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media (min-width: 1200px) {
    .app-main-navbar .dropdown:hover > .dropdown-menu {
        display:block;
        margin-top:0;
    }
}

@media (max-width: 1199.98px) {
    .app-main-navbar {
        min-height:60px;
    }

    .app-navbar-groups {
        padding-top:.85rem;
        gap:.2rem;
    }

    .app-navbar-groups .nav-link {
        border-radius:14px;
        padding:.78rem .85rem;
        margin:.05rem 0;
        background:#f8fafc;
    }

    .app-dropdown-menu {
        box-shadow:none;
        border-radius:14px;
        margin:.2rem 0 .5rem 0;
        min-width:100%;
        background:#fff;
    }

    .app-menu-item {
        padding:.78rem .85rem;
    }

    .app-user-actions {
        width:100%;
        margin:.75rem 0 0;
        display:block;
    }

    .app-user-actions .dropdown,
    .app-user-button {
        width:100%;
    }

    .app-user-button {
        justify-content:space-between;
        border-radius:14px;
        padding:.65rem .8rem;
    }

    .app-brand-text small {
        display:none;
    }
}

@media (max-width: 575.98px) {
    .app-brand-mark {
        width:34px;
        height:34px;
        border-radius:11px;
    }

    .app-brand-text strong {
        font-size:.9rem;
    }
}

/* V1.22: clearer grouped dropdown headers */
.app-menu-header {
    color:#1849a9;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:.45rem .75rem .2rem;
}
.app-dropdown-menu .dropdown-divider {
    margin:.45rem .35rem;
}
@media (min-width: 1200px) {
    .app-dropdown-menu {
        max-height:calc(100vh - 90px);
        overflow-y:auto;
    }
}
