/*
 * SmartFinReports — Inner/Tool Header
 * Loaded only on internal pages after the global header styles.
 * Goal: balanced navigation that scrolls away and leaves maximum room for tools.
 */

body.sfr-inner-page{
    --sfr-inner-header-h:72px;
    --sfr-inner-header-mobile-h:64px;
}

body.sfr-inner-page .sfr-header,
body.sfr-inner-page.admin-bar .sfr-header{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    z-index:9990 !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
    border:0 !important;
    box-shadow:0 6px 22px rgba(15,23,42,.065) !important;
    transform:none !important;
}

body.sfr-inner-page .sfr-header-glow,
body.sfr-inner-page .sfr-topbar{
    display:none !important;
}

body.sfr-inner-page .sfr-navbar{
    display:block !important;
    width:100% !important;
    min-height:var(--sfr-inner-header-h) !important;
    height:var(--sfr-inner-header-h) !important;
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
    border:0 !important;
    border-bottom:1px solid #e2e8f0 !important;
    box-shadow:none !important;
}

body.sfr-inner-page .sfr-navbar-inner{
    width:min(1260px,calc(100% - 48px)) !important;
    min-height:var(--sfr-inner-header-h) !important;
    height:var(--sfr-inner-header-h) !important;
    margin-inline:auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:clamp(14px,1.6vw,26px) !important;
    position:relative !important;
    transform:none !important;
}

body.sfr-inner-page .sfr-brand,
body.sfr-inner-page .sfr-brand-v40,
body.sfr-inner-page .sfr-brand-logo{
    flex:0 0 auto !important;
    min-width:190px !important;
    width:auto !important;
    height:var(--sfr-inner-header-h) !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:visible !important;
    transform:none !important;
}

body.sfr-inner-page .sfr-brand picture{
    display:flex !important;
    align-items:center !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
}

body.sfr-inner-page .sfr-brand-logo-img,
body.sfr-inner-page .sfr-brand img,
body.sfr-inner-page .sfr-brand .custom-logo{
    display:block !important;
    width:auto !important;
    max-width:198px !important;
    height:auto !important;
    max-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
}

body.sfr-inner-page .sfr-main-nav{
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    overflow:visible !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

body.sfr-inner-page .sfr-mobile-nav-head,
body.sfr-inner-page .sfr-mobile-nav-actions,
body.sfr-inner-page .sfr-mobile-backdrop{
    display:none !important;
}

body.sfr-inner-page .sfr-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:clamp(14px,1.35vw,24px) !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
}

body.sfr-inner-page .sfr-menu > li{
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
}

body.sfr-inner-page .sfr-menu > li > a{
    min-height:40px !important;
    height:40px !important;
    padding:0 2px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#0f172a !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

body.sfr-inner-page .sfr-menu > li > a:hover,
body.sfr-inner-page .sfr-menu > li > a.is-active,
body.sfr-inner-page .sfr-menu > li.current-menu-item > a{
    color:#1e3a8a !important;
}

body.sfr-inner-page .sfr-menu > li > a::after{
    bottom:1px !important;
    height:2px !important;
    background:#f59e0b !important;
}

body.sfr-inner-page .sfr-actions{
    flex:0 0 auto !important;
    min-width:0 !important;
    width:auto !important;
    height:var(--sfr-inner-header-h) !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-direction:row-reverse !important;
    direction:ltr !important;
    gap:12px !important;
}

body.sfr-inner-page .sfr-search,
body.sfr-inner-page .sfr-lang-switch{
    flex:0 0 38px !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #e2e8f0 !important;
    border-radius:10px !important;
    background:#ffffff !important;
    color:#1e3a8a !important;
    box-shadow:none !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1 !important;
}

body.sfr-inner-page .sfr-search:hover,
body.sfr-inner-page .sfr-lang-switch:hover{
    background:#f8fafc !important;
    border-color:#bfdbfe !important;
}

body.sfr-inner-page .sfr-search svg{
    width:19px !important;
    height:19px !important;
}

body.sfr-inner-page .sfr-nav-cta{
    flex:0 0 auto !important;
    min-width:128px !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 16px !important;
    border:0 !important;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    background:linear-gradient(135deg,#f59e0b,#d97706) !important;
    color:#ffffff !important;
    box-shadow:0 8px 18px rgba(217,119,6,.18) !important;
    font-size:12.5px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    transform:none !important;
}

body.sfr-inner-page .sfr-nav-cta:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 11px 22px rgba(217,119,6,.24) !important;
}

body.sfr-inner-page .sfr-nav-cta svg{
    width:17px !important;
    height:17px !important;
}

body.sfr-inner-page .sfr-header-search{
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    left:0 !important;
    z-index:50 !important;
}

/* Laptop: keep a comfortable single row without shrinking the logo excessively. */
@media (min-width:1081px) and (max-width:1240px){
    body.sfr-inner-page .sfr-navbar-inner{
        width:calc(100% - 32px) !important;
        gap:12px !important;
    }
    body.sfr-inner-page .sfr-brand,
    body.sfr-inner-page .sfr-brand-v40,
    body.sfr-inner-page .sfr-brand-logo{
        min-width:170px !important;
    }
    body.sfr-inner-page .sfr-brand-logo-img,
    body.sfr-inner-page .sfr-brand img,
    body.sfr-inner-page .sfr-brand .custom-logo{
        max-width:176px !important;
        max-height:40px !important;
    }
    body.sfr-inner-page .sfr-menu{
        gap:13px !important;
    }
    body.sfr-inner-page .sfr-menu > li > a{
        font-size:12px !important;
    }
    body.sfr-inner-page .sfr-actions{
        gap:8px !important;
    }
    body.sfr-inner-page .sfr-nav-cta{
        min-width:112px !important;
        padding-inline:12px !important;
        font-size:11.5px !important;
    }
}

/* Tablet and mobile navigation. */
@media (max-width:1080px){
    body.sfr-inner-page{
        --sfr-inner-header-h:var(--sfr-inner-header-mobile-h);
    }

    body.sfr-inner-page .sfr-header,
    body.sfr-inner-page.admin-bar .sfr-header{
        position:relative !important;
        top:auto !important;
    }

    body.sfr-inner-page .sfr-navbar,
    body.sfr-inner-page .sfr-navbar-inner{
        min-height:var(--sfr-inner-header-mobile-h) !important;
        height:var(--sfr-inner-header-mobile-h) !important;
    }

    body.sfr-inner-page .sfr-navbar-inner{
        width:calc(100% - 28px) !important;
        gap:12px !important;
    }

    body.sfr-inner-page .sfr-brand,
    body.sfr-inner-page .sfr-brand-v40,
    body.sfr-inner-page .sfr-brand-logo{
        min-width:0 !important;
        height:var(--sfr-inner-header-mobile-h) !important;
    }

    body.sfr-inner-page .sfr-brand-logo-img,
    body.sfr-inner-page .sfr-brand img,
    body.sfr-inner-page .sfr-brand .custom-logo{
        max-width:178px !important;
        max-height:39px !important;
    }

    body.sfr-inner-page .sfr-menu-toggle{
        flex:0 0 42px !important;
        display:block !important;
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        margin:0 !important;
        padding:9px !important;
        border:1px solid #e2e8f0 !important;
        border-radius:11px !important;
        background:#ffffff !important;
        color:#1e3a8a !important;
        box-shadow:none !important;
        order:2 !important;
    }

    body.sfr-inner-page .sfr-main-nav{
        position:fixed !important;
        top:var(--sfr-inner-header-mobile-h) !important;
        right:14px !important;
        left:14px !important;
        bottom:auto !important;
        z-index:10002 !important;
        width:auto !important;
        max-height:calc(100dvh - var(--sfr-inner-header-mobile-h) - 18px) !important;
        margin:0 !important;
        padding:14px !important;
        display:block !important;
        overflow:auto !important;
        background:#ffffff !important;
        border:1px solid #e2e8f0 !important;
        border-radius:16px !important;
        box-shadow:0 20px 50px rgba(15,23,42,.18) !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translateY(-8px) !important;
        transition:opacity .2s ease,transform .2s ease,visibility .2s ease !important;
    }

    body.sfr-inner-page.sfr-menu-open .sfr-main-nav,
    body.sfr-inner-page .sfr-main-nav.is-open,
    body.sfr-inner-page .sfr-main-nav.active{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateY(0) !important;
    }

    body.sfr-inner-page .sfr-mobile-nav-head{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;
        margin:0 0 12px !important;
        padding:0 2px 12px !important;
        border-bottom:1px solid #e2e8f0 !important;
    }

    body.sfr-inner-page .sfr-mobile-nav-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
        margin-top:12px !important;
    }

    body.sfr-inner-page .sfr-mobile-nav-actions a{
        min-height:42px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:10px !important;
        background:#f8fafc !important;
        border:1px solid #e2e8f0 !important;
        color:#1e3a8a !important;
        font-size:12px !important;
        font-weight:800 !important;
    }

    body.sfr-inner-page .sfr-menu{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
        width:100% !important;
    }

    body.sfr-inner-page .sfr-menu > li,
    body.sfr-inner-page .sfr-menu > li > a{
        width:100% !important;
    }

    body.sfr-inner-page .sfr-menu > li > a{
        min-height:44px !important;
        height:auto !important;
        padding:9px 12px !important;
        justify-content:flex-start !important;
        background:#f8fafc !important;
        border:1px solid #e2e8f0 !important;
        border-radius:10px !important;
        font-size:12.5px !important;
    }

    body.sfr-inner-page .sfr-menu > li > a::after{
        display:none !important;
    }

    body.sfr-inner-page .sfr-actions{
        display:none !important;
    }

    body.sfr-inner-page .sfr-mobile-backdrop{
        position:fixed !important;
        inset:0 !important;
        z-index:10001 !important;
        display:block !important;
        background:rgba(15,23,42,.36) !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transition:opacity .2s ease,visibility .2s ease !important;
    }

    body.sfr-inner-page.sfr-menu-open .sfr-mobile-backdrop{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }
}

@media (max-width:782px){
    body.admin-bar.sfr-inner-page .sfr-main-nav{
        top:calc(var(--sfr-inner-header-mobile-h) + 46px) !important;
        max-height:calc(100dvh - var(--sfr-inner-header-mobile-h) - 64px) !important;
    }
}

@media (min-width:783px) and (max-width:1080px){
    body.admin-bar.sfr-inner-page .sfr-main-nav{
        top:calc(var(--sfr-inner-header-mobile-h) + 32px) !important;
        max-height:calc(100dvh - var(--sfr-inner-header-mobile-h) - 50px) !important;
    }
}

@media (max-width:640px){
    body.sfr-inner-page .sfr-navbar-inner{
        width:calc(100% - 22px) !important;
    }

    body.sfr-inner-page .sfr-brand-logo-img,
    body.sfr-inner-page .sfr-brand img,
    body.sfr-inner-page .sfr-brand .custom-logo{
        max-width:154px !important;
        max-height:36px !important;
    }

    body.sfr-inner-page .sfr-main-nav{
        right:10px !important;
        left:10px !important;
        padding:12px !important;
        border-radius:14px !important;
    }

    body.sfr-inner-page .sfr-menu{
        grid-template-columns:1fr !important;
    }

    body.sfr-inner-page .sfr-mobile-nav-actions{
        grid-template-columns:1fr !important;
    }
}

@media (prefers-reduced-motion:reduce){
    body.sfr-inner-page .sfr-main-nav,
    body.sfr-inner-page .sfr-mobile-backdrop,
    body.sfr-inner-page .sfr-nav-cta{
        transition:none !important;
    }
}
