/* ===== App shell: menu trái + header (user layout) =====
   Chỉ override giao diện; không đổi cấu trúc/link. Nạp sau layout_full_page.css & theme. */
:root {
    --shell-primary: #15803d;
    --shell-primary-soft: #ecfdf3;
    --shell-ink: #0f172a;
    --shell-text: #334155;
    --shell-muted: #94a3b8;
    --shell-line: #e5ebe7;
    --shell-hover: #f3f6f4;
}

body {
    background-color: #f6f8f7;
}

/* Menu container */
.layout-menu.bg-menu-theme {
    border-right: 1px solid var(--shell-line);
    background: #fff !important;
    box-shadow: none !important;
}

.layout-menu.bg-menu-theme::before {
    display: none;
}

.layout-menu .app-brand .text-style {
    font-size: 1.3rem !important;
    text-shadow: none;
}

/* Menu items */
.layout-menu.bg-menu-theme .menu-inner > .menu-item {
    margin-right: 12px;
    margin-left: 12px;
}

.layout-menu.bg-menu-theme a.menu-link {
    min-height: 40px;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500 !important;
    color: var(--shell-text);
    transition: background-color .15s, color .15s;
}

.layout-menu.bg-menu-theme .menu-item > a.menu-link:not(.industry-menu) {
    padding: 8px 12px !important;
}

.layout-menu.bg-menu-theme a.menu-link:hover,
.layout-menu.bg-menu-theme a.menu-link:focus-visible {
    background-color: var(--shell-hover);
    color: var(--shell-ink);
}

.layout-menu.bg-menu-theme a.menu-link.text-primary,
.layout-menu.bg-menu-theme a.menu-link.text-primary i {
    color: var(--shell-primary) !important;
}

.layout-menu .menu-item .menu-link:hover div {
    color: var(--shell-ink) !important;
}

.layout-menu .menu-icon,
.layout-menu a.menu-link > i {
    color: #64748b;
}

.layout-menu.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) {
    background-color: var(--shell-primary-soft) !important;
    font-weight: 600 !important;
    color: var(--shell-primary) !important;
}

.layout-menu.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) i,
.layout-menu.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) div {
    color: var(--shell-primary) !important;
}

.layout-wrapper:not(.layout-horizontal) .layout-menu.bg-menu-theme .menu-inner > .menu-item.active:before {
    background: var(--shell-primary);
}

.layout-menu.bg-menu-theme .menu-inner > .menu-item.open .menu-item.active > .menu-link::before {
    background-color: var(--shell-primary) !important;
}

/* Group headers */
.layout-menu.bg-menu-theme .menu-header {
    margin: 18px 0 4px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: .7rem;
    font-weight: 600 !important;
    letter-spacing: .08em;
    color: var(--shell-muted) !important;
}

.layout-menu.bg-menu-theme .menu-header::before {
    display: none;
}

/* Industry / account badges */
.layout-menu .industry-menu,
.layout-menu p.menu-link.border {
    min-height: 0;
    border-width: 1px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: .78rem;
    font-weight: 600 !important;
    letter-spacing: .02em;
}

.layout-menu .industry-menu:hover {
    transform: none;
    box-shadow: none !important;
}

.layout-menu .industry-menu i {
    font-size: 1rem !important;
}

/* Header */
.layout-navbar.bg-navbar-theme {
    border-bottom: 1px solid var(--shell-line);
    background: #fff !important;
    box-shadow: none !important;
}

.layout-navbar.bg-navbar-theme::before {
    display: none;
}

.layout-navbar .navbar-brand .leaf {
    display: none;
}

.layout-navbar .navbar-brand .logo {
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--shell-ink);
}

.layout-navbar .navbar-brand .logo:hover {
    color: var(--shell-primary);
}

.layout-navbar #icon_noti {
    font-size: 1.4rem !important;
    color: #475569;
}

.layout-navbar #btn_noti {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-top: 0;
    padding: 0;
    border-radius: 10px;
    transition: background-color .15s;
}

.layout-navbar #btn_noti:hover {
    background: var(--shell-hover);
}

.layout-navbar .dropdown-menu {
    border: 1px solid var(--shell-line);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .1);
}

.layout-navbar .dropdown-item {
    border-radius: 8px;
}

.layout-navbar .dropdown-item:hover {
    background: var(--shell-hover);
}

/* Mobile floating menu toggle */
.layout-menu-1:hover {
    background-color: var(--shell-primary);
}
