/* =========================================================
   SMART NIVESH MF - GLOBAL ROOT SIDEBAR SYSTEM
   This file is loaded LAST on every PHP/HTML page.
   ========================================================= */

:root{
    --sn-sidebar-width:280px;
    --sn-brand-area-height:100px;
    --sn-brand-title-size:24px;
    --sn-brand-title-line-height:28px;
    --sn-brand-title-weight:800;
    --sn-brand-tagline-size:10px;
    --sn-brand-tagline-line-height:14px;
    --sn-brand-tagline-spacing:1.6px;
    --sn-sidebar-menu-size:16px;
    --sn-sidebar-menu-weight:600;
    --sn-sidebar-menu-line-height:20px;
}

/* Every sidebar uses the same base typography */
.sidebar,
.sidebar *{
    font-family:Inter,Arial,Helvetica,sans-serif !important;
    box-sizing:border-box !important;
}

/* Same desktop sidebar width on all pages */
@media (min-width:901px){
    .sidebar{
        width:var(--sn-sidebar-width) !important;
        min-width:var(--sn-sidebar-width) !important;
        max-width:var(--sn-sidebar-width) !important;
    }
}

/* Fixed brand container */
.sidebar .sidebar-logo,
.sidebar .sidebar-brand,
.sidebar .brand,
.sidebar .brand-logo,
.sidebar .logo{
    min-height:var(--sn-brand-area-height) !important;
}

/* Fixed Smart Nivesh text logo */
.sidebar .sn-text-brand,
.sidebar .sn-fixed-brand{
    width:100% !important;
    height:var(--sn-brand-area-height) !important;
    min-height:var(--sn-brand-area-height) !important;
    max-height:var(--sn-brand-area-height) !important;
    margin:0 !important;
    padding:0 10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    overflow:hidden !important;
}

/* Never use clamp, vw or page-specific inherited size */
.sidebar .sn-brand-title,
.sidebar .sn-fixed-brand .sn-brand-title{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:var(--sn-brand-title-size) !important;
    font-weight:var(--sn-brand-title-weight) !important;
    line-height:var(--sn-brand-title-line-height) !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
    color:#ffffff !important;
    transform:none !important;
}

.sidebar .sn-brand-title span,
.sidebar .sn-fixed-brand .sn-brand-title span{
    color:#d6a23a !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}

.sidebar .sn-brand-tagline,
.sidebar .sn-fixed-brand .sn-brand-tagline{
    display:block !important;
    width:100% !important;
    margin:5px 0 0 !important;
    padding:0 !important;
    font-size:var(--sn-brand-tagline-size) !important;
    font-weight:700 !important;
    line-height:var(--sn-brand-tagline-line-height) !important;
    letter-spacing:var(--sn-brand-tagline-spacing) !important;
    white-space:nowrap !important;
    text-align:center !important;
    color:#aebdcb !important;
    transform:none !important;
}

/* One sidebar menu font size everywhere */
.sidebar .nav-list a,
.sidebar .nav a,
.sidebar .menu a,
.sidebar nav > a,
.sidebar > a.nav-item,
.sidebar a.nav-item,
.sidebar .menu-item{
    font-size:var(--sn-sidebar-menu-size) !important;
    font-weight:var(--sn-sidebar-menu-weight) !important;
    line-height:var(--sn-sidebar-menu-line-height) !important;
}

.sidebar .nav-list a span:not(.icon),
.sidebar .nav a span:not(.icon),
.sidebar .menu a span:not(.icon),
.sidebar a.nav-item span:not(.icon),
.sidebar .menu-item span:not(.icon){
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}

/* Responsive size is also global and identical on every page */
@media (max-width:900px){
    :root{
        --sn-brand-area-height:82px;
        --sn-brand-title-size:18px;
        --sn-brand-title-line-height:22px;
        --sn-brand-tagline-size:9px;
        --sn-brand-tagline-line-height:12px;
        --sn-brand-tagline-spacing:1.2px;
        --sn-sidebar-menu-size:15px;
        --sn-sidebar-menu-line-height:19px;
    }
}

/* =========================================================
   FINAL UNIFIED CLIENT SIDEBAR BRAND - ALL PORTAL PAGES
   Old per-page logo markup is normalized to the same classes.
   ========================================================= */
.sidebar > .brand,
.sidebar > .logo,
.sidebar .sidebar-brand,
.sidebar .sidebar-logo{
    height:100px !important;
    min-height:100px !important;
    max-height:100px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    flex-shrink:0 !important;
}
.sidebar .brand > a{display:none !important;}
.sidebar .brand-text{display:none !important;}
.sidebar .logo-text{display:none !important;}
.sidebar > .brand .sn-text-brand,
.sidebar > .logo .sn-text-brand{
    width:100% !important;
    height:100px !important;
    min-height:100px !important;
    max-height:100px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    overflow:hidden !important;
}
.sidebar .sn-brand-title{
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:24px !important;
    font-weight:800 !important;
    line-height:28px !important;
    letter-spacing:.2px !important;
    white-space:nowrap !important;
    color:#fff !important;
    margin:0 !important;
    padding:0 !important;
}
.sidebar .sn-brand-title span{color:#d6a23a !important;}
.sidebar .sn-brand-tagline{
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:10px !important;
    font-weight:700 !important;
    line-height:14px !important;
    letter-spacing:1.8px !important;
    white-space:nowrap !important;
    color:#b9c5d1 !important;
    margin:5px 0 0 !important;
    padding:0 !important;
}
@media(max-width:900px){
 .sidebar > .brand,.sidebar > .logo,.sidebar .sidebar-brand,.sidebar .sidebar-logo{height:82px !important;min-height:82px !important;max-height:82px !important;}
 .sidebar > .brand .sn-text-brand,.sidebar > .logo .sn-text-brand{height:82px !important;min-height:82px !important;max-height:82px !important;}
 .sidebar .sn-brand-title{font-size:18px !important;line-height:22px !important;}
 .sidebar .sn-brand-tagline{font-size:9px !important;line-height:12px !important;letter-spacing:1.2px !important;}
}

/* =========================================================
   FINAL BRAND FIT FIX - NEVER CUT "MF"
   ========================================================= */
.sidebar > .brand,
.sidebar > .logo,
.sidebar .sidebar-brand,
.sidebar .sidebar-logo{
    box-sizing:border-box !important;
    padding:0 6px !important;
    overflow:visible !important;
}
.sidebar > .brand .sn-text-brand,
.sidebar > .logo .sn-text-brand,
.sidebar .sidebar-brand .sn-text-brand,
.sidebar .sidebar-logo .sn-text-brand{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
}
.sidebar .sn-brand-title{
    box-sizing:border-box !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:22px !important;
    line-height:27px !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
}
.sidebar .sn-brand-tagline{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    font-size:10px !important;
    letter-spacing:1.45px !important;
}
@media(max-width:900px){
    .sidebar .sn-brand-title{font-size:18px !important;line-height:22px !important;}
    .sidebar .sn-brand-tagline{font-size:9px !important;letter-spacing:1.1px !important;}
}
