/*
|--------------------------------------------------------------------------
| NoviDesk V160.148F — Premium Desktop Sidebar
|--------------------------------------------------------------------------
| Final sidebar layer for the default NoviDesk desktop theme.
| Matches the approved blue/white mockup while preserving all existing
| permissions, routes, capabilities and mobile behavior.
|
| Scope:
| - desktop only (>=851px)
| - novidesk-premium only
| - no mobile changes
| - no alternate company theme changes
|--------------------------------------------------------------------------
*/

@media (min-width:851px){

html[data-bg-theme="novidesk-premium"] .bg-desktop-owner-shell{
    grid-template-columns:258px minmax(0,1fr)!important;
}

html[data-bg-theme="novidesk-premium"] .bg-desktop-sidebar{
    width:258px!important;
    min-width:258px!important;
    height:100vh!important;
    padding:14px 12px 12px!important;
    gap:10px!important;
    overflow:hidden!important;
    background:
        radial-gradient(circle at 0 0,rgba(111,170,199,.12),transparent 25%),
        linear-gradient(180deg,#FFFFFF 0%,#FAFDFE 64%,#F3F9FC 100%)!important;
    border-right:1px solid #E1EBF1!important;
    box-shadow:10px 0 32px rgba(31,78,103,.055)!important;
}

/* Brand */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-brand{
    flex:0 0 auto!important;
    min-height:54px!important;
    padding:3px 5px 11px!important;
    margin:0!important;
    gap:10px!important;
    border-bottom:1px solid #EDF3F6!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-brand .bg-sidebar-brand-mark.bg-sidebar-brand-logo{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex-basis:46px!important;
    border-radius:15px!important;
    padding:6px!important;
    border:1px solid #DCEAF1!important;
    background:#FFFFFF!important;
    box-shadow:0 8px 20px rgba(47,127,159,.10)!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-brand-copy strong{
    color:#0C1B33!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-brand-copy span{
    margin-top:4px!important;
    color:#8090A1!important;
    font-size:8.5px!important;
    font-weight:850!important;
    letter-spacing:.11em!important;
}

/* Company card */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-company{
    flex:0 0 auto!important;
    margin:0!important;
    padding:11px!important;
    border:1px solid #DDE9F0!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,#FFFFFF 0%,#F7FBFD 100%)!important;
    box-shadow:0 8px 20px rgba(31,78,103,.05)!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v143-company-identity{
    gap:9px!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v143-company-avatar{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
    border-radius:12px!important;
    border:1px solid #DCE8EE!important;
    box-shadow:0 6px 14px rgba(31,78,103,.09)!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v143-company-identity-copy{
    gap:3px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company-label{
    color:#8291A2!important;
    font-size:8.5px!important;
    line-height:1.1!important;
    letter-spacing:.11em!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v143-company-identity-copy > strong{
    color:#0C1B33!important;
    font-size:14px!important;
    line-height:1.15!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company-meta{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    margin-top:9px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-mini-pill{
    min-height:22px!important;
    padding:3px 8px!important;
    border:1px solid #D7E8F0!important;
    border-radius:999px!important;
    background:#EDF8FC!important;
    color:#2F7F9F!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:850!important;
    box-shadow:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-mini-pill.is-active{
    gap:5px!important;
    color:#287A67!important;
    border-color:#CBE9DF!important;
    background:#EFFAF6!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-mini-pill.is-active::before{
    content:""!important;
    width:6px!important;
    height:6px!important;
    flex:0 0 6px!important;
    border-radius:999px!important;
    background:#2BB98A!important;
    box-shadow:0 0 0 3px rgba(43,185,138,.10)!important;
}

/* Work / management switch — always blue/white, never legacy purple */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v124-context-switch-sidebar{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    margin-top:10px!important;
    padding:3px!important;
    border:1px solid #D9E8F0!important;
    border-radius:12px!important;
    background:#F4F9FC!important;
    box-shadow:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v124-context-switch-sidebar form{
    flex:1 1 0!important;
    margin:0!important;
    background:transparent!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v124-context-switch-sidebar button{
    width:100%!important;
    min-height:32px!important;
    padding:6px 8px!important;
    border:0!important;
    border-radius:9px!important;
    background:#FFFFFF!important;
    color:#5C7182!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:900!important;
    box-shadow:none!important;
    transform:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v124-context-switch-sidebar button:hover{
    background:#EAF6FB!important;
    color:#2F6078!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v124-context-switch-sidebar button.active{
    background:linear-gradient(135deg,#63A9C8 0%,#2F7F9F 100%)!important;
    color:#FFFFFF!important;
    box-shadow:0 7px 15px rgba(47,127,159,.20)!important;
}

/* Location */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v125-location-switch{
    margin-top:10px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v125-location-label{
    display:block!important;
    margin:0 0 5px!important;
    color:#8392A3!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:.11em!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v125-location-select{
    width:100%!important;
    min-height:36px!important;
    padding:6px 29px 6px 10px!important;
    border:1px solid #DCE8EF!important;
    border-radius:11px!important;
    background:#FBFDFE!important;
    color:#29465A!important;
    font-size:10.5px!important;
    font-weight:800!important;
    box-shadow:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company .nd-v125-location-badge{
    margin-top:10px!important;
    min-height:34px!important;
    padding:6px 9px!important;
    border:1px solid #DCE8EF!important;
    border-radius:11px!important;
    background:#F5FAFD!important;
    color:#2F6078!important;
    font-size:10.5px!important;
    font-weight:800!important;
}

/* Navigation scrolls independently so account block is always visible */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 4px 7px 0!important;
    scrollbar-width:thin!important;
    scrollbar-color:#CFE1E9 transparent!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-nav::-webkit-scrollbar{
    width:4px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-nav::-webkit-scrollbar-thumb{
    border-radius:999px!important;
    background:#CFE1E9!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-sidebar-group{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex:0 0 auto!important;
    margin:10px 7px 4px!important;
    color:#8292A3!important;
    font-size:8.5px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-sidebar-group:first-child{
    margin-top:2px!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-sidebar-group::after{
    content:""!important;
    display:block!important;
    flex:1 1 auto!important;
    height:1px!important;
    min-width:18px!important;
    background:linear-gradient(90deg,#D4E5ED,rgba(212,229,237,0))!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link{
    flex:0 0 auto!important;
    min-height:36px!important;
    padding:4px 8px!important;
    gap:8px!important;
    border:1px solid transparent!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#536B7D!important;
    box-shadow:none!important;
    transform:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link-text{
    color:inherit!important;
    font-size:11.5px!important;
    line-height:1.15!important;
    font-weight:800!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-ico{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    flex-basis:28px!important;
    border:1px solid #E3EDF2!important;
    border-radius:9px!important;
    background:#F1F7FA!important;
    color:#688092!important;
    box-shadow:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-ico svg{
    width:15px!important;
    height:15px!important;
    stroke-width:1.9!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link:hover{
    transform:none!important;
    border-color:#DDEAF0!important;
    background:#F3F9FC!important;
    color:#2F6078!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link.active{
    border-color:#CDE4EE!important;
    background:linear-gradient(135deg,#EAF6FB 0%,#DCEFF7 100%)!important;
    color:#245F79!important;
    box-shadow:0 6px 16px rgba(47,127,159,.09)!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link.active .bg-sidebar-ico{
    border-color:transparent!important;
    background:linear-gradient(135deg,#63A9C8,#2F7F9F)!important;
    color:#FFFFFF!important;
    box-shadow:0 6px 14px rgba(47,127,159,.18)!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-counter{
    min-width:19px!important;
    height:19px!important;
    padding:0 5px!important;
    border:0!important;
    background:#2F7F9F!important;
    color:#FFFFFF!important;
    font-size:9px!important;
    box-shadow:none!important;
}

/* Fixed premium account card */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-bottom{
    position:relative!important;
    flex:0 0 auto!important;
    display:grid!important;
    gap:8px!important;
    margin:0!important;
    padding:9px!important;
    border:1px solid #DDE9F0!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 8px 20px rgba(31,78,103,.05)!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-user{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:7px 39px 7px 7px!important;
    border:1px solid #E8F0F4!important;
    border-radius:12px!important;
    background:#F8FCFE!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-user-avatar{
    position:relative!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex:0 0 34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:11px!important;
    background:linear-gradient(135deg,#7CB7D0,#2F7F9F)!important;
    color:#FFFFFF!important;
    box-shadow:0 6px 14px rgba(47,127,159,.18)!important;
    font-size:10px!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-user-avatar i{
    position:absolute!important;
    right:-2px!important;
    bottom:-2px!important;
    width:9px!important;
    height:9px!important;
    border:2px solid #FFFFFF!important;
    border-radius:999px!important;
    background:#2BB98A!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-user-copy{
    min-width:0!important;
    display:block!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-user small{
    display:block!important;
    margin:0!important;
    color:#8996A5!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.10em!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-user strong{
    display:block!important;
    max-width:125px!important;
    margin-top:4px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#173047!important;
    font-size:11.5px!important;
    line-height:1.1!important;
    font-weight:900!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-bottom-actions{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(58px,1fr))!important;
    gap:5px!important;
    margin:0!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-mini-action,
html[data-bg-theme="novidesk-premium"] .bg-sidebar-logout{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:5px 4px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    border:1px solid #DCE8EF!important;
    border-radius:10px!important;
    background:#FFFFFF!important;
    color:#536B7D!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:850!important;
    text-decoration:none!important;
    box-shadow:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-mini-action:hover,
html[data-bg-theme="novidesk-premium"] .bg-sidebar-logout:hover{
    border-color:#CFE3EC!important;
    background:#EDF8FC!important;
    color:#2F7F9F!important;
    transform:none!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-action-icon{
    width:16px!important;
    height:16px!important;
    display:grid!important;
    place-items:center!important;
    color:currentColor!important;
}

html[data-bg-theme="novidesk-premium"] .nd-v148f-action-icon svg{
    width:16px!important;
    height:16px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-logout-form{
    min-width:0!important;
    margin:0!important;
    display:flex!important;
}

/* Owner security lock remains available, but sits cleanly in the profile card */
html[data-bg-theme="novidesk-premium"] .bg-sidebar-bottom-actions > .bg-sidebar-owner-lock-form{
    position:absolute!important;
    z-index:2!important;
    top:17px!important;
    right:15px!important;
    margin:0!important;
    display:flex!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-bottom-actions > .bg-sidebar-owner-lock{
    position:absolute!important;
    z-index:2!important;
    top:17px!important;
    right:15px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-owner-lock{
    width:27px!important;
    min-width:27px!important;
    height:27px!important;
    min-height:27px!important;
    padding:0!important;
    border:1px solid #DCE8EF!important;
    border-radius:9px!important;
    background:#FFFFFF!important;
    color:#61798A!important;
    box-shadow:none!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-owner-lock:hover{
    transform:none!important;
    border-color:#CFE3EC!important;
    background:#EDF8FC!important;
    color:#2F7F9F!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-owner-lock.is-unlocked{
    border-color:#CDE5EE!important;
    background:#EFF8FC!important;
    color:#2F7F9F!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-owner-lock.is-locked{
    border-color:#DCE8EF!important;
    background:#F8FBFD!important;
    color:#698091!important;
}

}

/* Keep the desktop sidebar compact on smaller laptop widths. */
@media (min-width:851px) and (max-width:1199px){

html[data-bg-theme="novidesk-premium"] .bg-desktop-owner-shell{
    grid-template-columns:226px minmax(0,1fr)!important;
}

html[data-bg-theme="novidesk-premium"] .bg-desktop-sidebar{
    width:226px!important;
    min-width:226px!important;
    padding-left:10px!important;
    padding-right:10px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-brand .bg-sidebar-brand-mark.bg-sidebar-brand-logo{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex-basis:42px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-brand-copy strong{
    font-size:18px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-company{
    padding:9px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link{
    padding-left:6px!important;
    padding-right:6px!important;
}

html[data-bg-theme="novidesk-premium"] .bg-sidebar-link-text{
    font-size:10.8px!important;
}

}
