/* OSU 96.32.23 — navegación superior por áreas y creación contextual. */
.nav-create-zone{
  margin-top:6px!important;
  padding:9px!important;
  border-top:1px solid var(--sap-border)!important;
  background:var(--sap-surface-alt)!important;
}
.nav-create-zone>span{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--sap-muted)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.nav-create-actions{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
.nav-create-actions button{
  min-height:29px!important;
  padding:5px 9px!important;
  color:var(--sap-brand)!important;
  border:1px solid color-mix(in srgb,var(--sap-brand) 45%,var(--sap-border))!important;
  border-radius:4px!important;
  background:var(--sap-surface)!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
.nav-create-actions button::before{content:"＋ ";font-weight:900!important}
.nav-create-actions button:hover{
  color:#fff!important;
  border-color:var(--sap-brand)!important;
  background:var(--sap-brand)!important;
}
.nav-create-actions button:focus-visible{outline:2px solid transparent!important;box-shadow:var(--osu-focus-ring)!important}

@media(min-width:761px){
  .sidebar,.sidebar:hover,.sidebar:focus-within,
  body:not(.sidebar-peek) .sidebar:hover,body:not(.sidebar-peek) .sidebar:focus-within{
    inset:var(--sap-shell-height) 0 auto 0!important;
    width:100%!important;
    height:45px!important;
    max-height:none!important;
    padding:0 14px!important;
    overflow:visible!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transform-origin:top center!important;
    border:0!important;
    border-bottom:1px solid var(--sap-border-strong)!important;
    border-radius:0!important;
    background:var(--sap-surface)!important;
    box-shadow:0 7px 18px rgba(20,39,58,.16)!important;
  }
  body.sidebar-peek .sidebar{
    inset:var(--sap-shell-height) 0 auto 0!important;
    width:100%!important;
    height:45px!important;
    max-height:none!important;
    padding:0 14px!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .sidebar .brand,.sidebar .mobile-menu-close,.sidebar .sidebar-footer,.sidebar .nav-section-label{display:none!important}
  body.sidebar-peek .sidebar .nav-list{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:2px!important;
    width:100%!important;
    max-width:1500px!important;
    height:44px!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  body.sidebar-peek .sidebar .nav-list>a,
  body.sidebar-peek .sidebar .nav-group{
    flex:0 0 auto!important;
    width:auto!important;
    min-height:44px!important;
    margin:0!important;
    padding:7px 11px!important;
    gap:7px!important;
    justify-content:flex-start!important;
    color:var(--sap-text)!important;
    border:0!important;
    border-bottom:3px solid transparent!important;
    border-radius:0!important;
    background:transparent!important;
    font-size:12px!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }
  body.sidebar-peek .sidebar .nav-list>a:hover,
  body.sidebar-peek .sidebar .nav-group:hover,
  body.sidebar-peek .sidebar .nav-group[aria-expanded="true"]{
    color:var(--sap-brand)!important;
    border-bottom-color:var(--sap-brand)!important;
    background:var(--sap-hover)!important;
  }
  body.sidebar-peek .sidebar .nav-list>a.active{
    color:var(--sap-brand)!important;
    border-left:0!important;
    border-bottom-color:var(--sap-brand)!important;
    background:var(--sap-selected)!important;
  }
  body.sidebar-peek .sidebar .nav-icon{
    width:19px!important;
    height:19px!important;
    flex:0 0 19px!important;
  }
  body.sidebar-peek .sidebar .nav-icon svg{width:17px!important;height:17px!important}
  body.sidebar-peek .sidebar .nav-group b{width:14px!important;height:14px!important;margin-left:1px!important}
  body.sidebar-peek .sidebar .nav-submenu:not([hidden]){
    position:absolute!important;
    z-index:4!important;
    top:calc(100% + 1px)!important;
    left:var(--nav-flyout-left,0)!important;
    display:grid!important;
    width:min(330px,calc(100vw - 24px))!important;
    max-height:calc(100dvh - var(--sap-shell-height) - 58px)!important;
    margin:0!important;
    padding:7px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border:1px solid var(--sap-border-strong)!important;
    border-top:0!important;
    border-radius:0 0 7px 7px!important;
    background:var(--sap-surface)!important;
    box-shadow:0 13px 28px rgba(20,39,58,.22)!important;
  }
  body.sidebar-peek .sidebar .nav-submenu a{
    min-height:35px!important;
    padding:7px 9px!important;
    color:var(--sap-text)!important;
    border:0!important;
    border-left:3px solid transparent!important;
    border-radius:4px!important;
    font-size:12px!important;
  }
  body.sidebar-peek .sidebar .nav-submenu a:hover{color:var(--sap-brand)!important;background:var(--sap-hover)!important}
  body.sidebar-peek .sidebar .nav-submenu a.active{color:var(--sap-brand)!important;border-left-color:var(--sap-brand)!important;background:var(--sap-selected)!important}
  .sidebar-backdrop:not([hidden]){
    inset:calc(var(--sap-shell-height) + 45px) 0 0!important;
    background:rgba(29,45,62,.14)!important;
  }
}

@media(max-width:760px){
  .nav-create-zone{margin:4px 0 2px 19px!important;padding:8px 5px 7px 8px!important;border-left:1px solid var(--sap-border)!important}
  .nav-create-actions button{min-height:31px!important;font-size:11px!important}
}

/* 96.32.24 — apertura progresiva y geometría estable. */
@media(min-width:761px){
  body.sidebar-peek .sidebar{background:var(--sap-surface)!important}
  body.sidebar-peek .sidebar .nav-list{
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:var(--sap-surface)!important;
  }
  body.sidebar-peek .sidebar .nav-submenu:not([hidden]){
    top:45px!important;
    width:min(286px,calc(100vw - 24px))!important;
  }
  .sidebar-backdrop:not([hidden]){
    background:transparent!important;
    backdrop-filter:none!important;
  }
}
/* 96.32.26 — cada área contiene su propio desplegable sin alterar la fila. */
.nav-menu-cluster{position:relative!important;min-width:0!important}
@media(min-width:761px){
  body.sidebar-peek .sidebar .nav-menu-cluster{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:stretch!important;
    height:44px!important;
  }
  body.sidebar-peek .sidebar .nav-menu-cluster .nav-group{height:44px!important}
  body.sidebar-peek .sidebar .nav-menu-cluster .nav-submenu:not([hidden]){
    top:45px!important;
    right:auto!important;
    left:0!important;
  }
  body.sidebar-peek .sidebar .nav-menu-cluster:last-of-type .nav-submenu:not([hidden]){
    right:0!important;
    left:auto!important;
  }
}
@media(max-width:760px){
  .sidebar.open .nav-menu-cluster{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
  }
}

/* 96.32.27 — barra superior estable y adaptable. */
@media (min-width:761px){
  #sidebar.sidebar,
  #sidebar.sidebar:hover,
  #sidebar.sidebar:focus-within,
  body.sidebar-peek #sidebar.sidebar{
    right:0!important;
    left:0!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-list{
    width:calc(100vw - 28px)!important;
    min-width:0!important;
    max-width:none!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-menu-cluster{
    width:max-content!important;
    min-width:max-content!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-menu-cluster .nav-submenu:not([hidden]){
    position:absolute!important;
  }
}

/* En ventanas angostas conservamos una sola fila sin cortar áreas críticas. */
@media (min-width:761px) and (max-width:920px){
  body.sidebar-peek #sidebar.sidebar .nav-list>a:nth-of-type(-n+2){
    width:44px!important;
    min-width:44px!important;
    padding:7px!important;
    justify-content:center!important;
    gap:0!important;
    overflow:hidden!important;
    font-size:0!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-list>a:nth-of-type(-n+2) .nav-icon{
    margin:0!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-group{
    padding-inline:9px!important;
    gap:5px!important;
  }
}

/* 96.32.28 — geometría invariable en hover y foco. */
@media (min-width:761px){
  #sidebar.sidebar,
  #sidebar.sidebar:hover,
  #sidebar.sidebar:focus,
  #sidebar.sidebar:focus-within,
  body.sidebar-collapsed #sidebar.sidebar,
  body.sidebar-collapsed #sidebar.sidebar:hover,
  body.sidebar-collapsed #sidebar.sidebar:focus-within,
  body.sidebar-peek #sidebar.sidebar{
    top:var(--sap-shell-height)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:45px!important;
    min-height:45px!important;
    max-height:45px!important;
    padding:0 14px!important;
    overflow:visible!important;
    transform:translateY(0)!important;
  }
  body:not(.sidebar-peek) #sidebar.sidebar{
    transform:translateY(-8px)!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-list,
  body.sidebar-peek #sidebar.sidebar:hover .nav-list,
  body.sidebar-peek #sidebar.sidebar:focus-within .nav-list{
    top:0!important;
    width:calc(100vw - 28px)!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:0!important;
    align-items:stretch!important;
    overflow:visible!important;
  }
  body.sidebar-peek #sidebar.sidebar .nav-list>a,
  body.sidebar-peek #sidebar.sidebar .nav-menu-cluster,
  body.sidebar-peek #sidebar.sidebar .nav-group{
    margin-top:0!important;
    margin-bottom:0!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}