/* ==========================================================================
   GLOBAL GNB ICONS (FontAwesome) - Applied to both Desktop and Mobile
   ========================================================================== */
#gnb .gnb-depth1>li>.btn {
    position: relative;
}

#gnb .gnb-depth1>li>.btn:before {
    content: '';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    /* Desktop Positioning (Default) - Mobile overrides this in media query if needed */
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 20px;
    height: 20px;
    font-size: 17px;
    line-height: 20px;
    text-align: center;
    color: #555;
    /* Softened Black to reduce visual thickness */
    -webkit-font-smoothing: antialiased;
    /* Smoother edges */
    /* Default Icon Color */
    background: none !important;
    /* Ensure SVG is gone */
    transition: color 0.2s;
    margin-left: 4px;
}

/* Hover/Active State */
#gnb .gnb-depth1>li>.btn:hover,
#gnb .gnb-depth1>li.active>.btn {
    color: #495EF4 !important;
    background-color: rgba(73, 94, 244, 0.06) !important;
    /* Subtle Brand Tint */
    box-shadow: inset 0 -3px 0 0 #495EF4 !important;
    /* Internal Bottom Line to avoid layout shift */
}

#gnb .gnb-depth1>li>.btn:hover:before,
#gnb .gnb-depth1>li.active>.btn:before {
    color: #495EF4 !important;
}

/* Icon Mappings via Unique Classes */
#gnb .gnb-depth1>li>.btn.menu-approval:before {
    content: "\f573";
}

/* file-signature */
#gnb .gnb-depth1>li>.btn.menu-smartcheck:before {
    content: "\f46c";
}

/* clipboard-check */
#gnb .gnb-depth1>li>.btn.menu-accounting:before {
    content: "\f1ec";
}

/* calculator */
#gnb .gnb-depth1>li>.btn.menu-sales:before {
    content: "\f0b1";
}

/* briefcase */
#gnb .gnb-depth1>li>.btn.menu-workplace:before {
    content: "\f1ad";
}

/* building */
#gnb .gnb-depth1>li>.btn.menu-hr-assets:before {
    content: "\f0c0";
}

/* users */
#gnb .gnb-depth1>li>.btn.menu-hr-staff:before {
    content: "\f2c2";
}

/* id-card */
#gnb .gnb-depth1>li>.btn.menu-field:before {
    content: "\f772";
}

/* helmet-safety */
#gnb .gnb-depth1>li>.btn.menu-system:before {
    content: "\f013";
}

/* gear */

/* Mobile Specific Override for Icon Position (if needed to match previous layout) */
@media screen and (max-width: 1024px) {
    #gnb .gnb-depth1>li>.btn:before {
        top: 14px;
        left: 20px;
        transform: none;
    }
}

/* ==========================================================================
   USER REQUEST: GNB STYLING (Bottom Line + Dropdown Shadow)
   ========================================================================== */

/* 1. Header Bottom Line (Pretty Separator) */
#header {
    border-bottom: 1px solid #E5E7EB !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    background-color: #ffffff;
}

/* 2. Dropdown Menu Styling (Bottom Radius + Shadow) */
#gnb .gnb-depth2 {
    /* Only round bottom corners */
    border-radius: 0 0 12px 12px !important;

    /* Premium Shadow Effect */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;

    /* Clean Border (Remove top border to merge with header) */
    border: 1px solid #E5E7EB !important;
    border-top: none !important;

    /* Background consistency */
    background-color: #fff !important;

    /* Spacing adjustment for cleaner look */
    padding: 16px !important;
    margin-top: 0px !important;
    /* Ensure it attaches to the header */
}

#gnb .gnb-depth2>li>.btn {
    border-radius: 6px;
    /* Inner items rounded */
}

#gnb .gnb-depth2>li>.btn:hover {
    background-color: rgba(73, 94, 244, 0.08) !important;
    /* Brand tint hover */
    color: #495EF4 !important;
}