/* V1.2.346 · Barra de navegación superior (reemplaza el menú lateral) */
body aside#topbar{position:fixed!important;inset:0 0 auto 0!important;width:100%!important;height:50px!important;padding:0 12px!important;display:flex!important;align-items:center;gap:6px;background:linear-gradient(#073a45,#052832)!important;box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:50;overflow:visible!important}
#topbar .tb-logo{display:flex;align-items:center;flex:0 0 auto;margin-right:6px}
#topbar .tb-logo img{height:34px;width:auto;display:block}
#topbar #tb-burger{display:none;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:20px;border-radius:6px;padding:2px 9px;cursor:pointer}
body aside#topbar nav.apjae-nav{display:flex!important;flex-direction:row;align-items:center;gap:2px;flex:1 1 auto;min-width:0;margin:0!important;padding:0!important;overflow:visible!important;height:100%}
#topbar .apjae-nav>a.nav-home{display:flex;align-items:center;height:100%;padding:0 10px!important;margin:0!important;color:#fff;text-decoration:none;font-size:12px!important;white-space:nowrap;border-radius:0;border:0!important}
#topbar .apjae-nav>a.nav-home:hover{background:rgba(255,255,255,.12)}
#topbar .apjae-nav>details.nav-group{position:relative;margin:0!important;border:0!important;height:100%}
#topbar .apjae-nav>details.nav-group>summary{display:flex;align-items:center;height:50px;padding:0 10px!important;margin:0;cursor:pointer;color:#f1c83b;font-size:11.5px!important;font-weight:800;white-space:nowrap;list-style:none}
#topbar .apjae-nav>details.nav-group>summary:before{content:""!important;margin:0}
#topbar .apjae-nav>details.nav-group>summary:after{content:"▾";margin-left:5px;color:#fff;font-size:10px}
#topbar .apjae-nav>details.nav-group>summary:hover,#topbar .apjae-nav>details.nav-group[open]>summary{background:rgba(255,255,255,.14)}
#topbar .apjae-nav>details.nav-group.tb-actual>summary{box-shadow:inset 0 -3px 0 #ffd21c}
/* panel desplegable (JS envuelve el contenido en .tb-panel) */
#topbar .apjae-nav>details.nav-group>.tb-panel{display:none;position:absolute;left:0;top:50px;width:330px;max-width:92vw;max-height:calc(100vh - 62px);overflow-y:auto;background:#06323c;border-top:2px solid #ffd21c;box-shadow:0 10px 24px rgba(0,0,0,.4)}
#topbar .apjae-nav>details.nav-group[open]>.tb-panel{display:block}
#topbar .apjae-nav>details.nav-group a.tree-child{display:block;padding:9px 16px!important;color:#e8f3f5;font-size:12.5px!important;text-decoration:none;border-left:3px solid transparent!important;margin:0!important;white-space:normal}
#topbar .apjae-nav>details.nav-group a.tree-child:hover{background:rgba(255,255,255,.12);color:#fff}
#topbar .apjae-nav a.nav-active{background:rgba(255,255,255,.16)!important;border-left:3px solid #ffd21c!important}
#topbar .nav-subgroup{margin:0!important;border:0!important;border-top:1px solid rgba(255,255,255,.12)!important;background:#06323c}
#topbar .nav-subgroup>summary{padding:9px 16px!important;color:#fff;font-size:12px!important;font-weight:800;cursor:pointer;list-style:none}
#topbar .nav-subgroup>summary:before{content:"▸ ";color:#f1c83b}
#topbar .nav-subgroup[open]>summary:before{content:"▾ "}
#topbar .nav-subgroup a.tree-child.level-2{padding-left:30px!important}
#topbar .nav-subgroup a.tree-child.level-3{padding-left:44px!important}
#topbar .level-2-group,#topbar .level-3-group{margin-left:0!important}
/* alto máximo con scroll interno: se aplica al grupo entero */
#topbar .apjae-nav>details.nav-group[open]{--panel:calc(100vh - 62px)}
/* usuario */
#topbar .tb-user{position:relative;margin-left:auto;flex:0 0 auto;height:50px;display:flex;align-items:center}
#topbar .tb-userbtn{display:flex;flex-direction:column;align-items:flex-end;margin:0;background:transparent;border:0;color:#fff;cursor:pointer;line-height:1.1;padding:4px 8px;font-size:12px}
#topbar .tb-userbtn small{font-size:9.5px;color:#9fd3dc}
#topbar .tb-usermenu{display:none;position:absolute;right:0;top:46px;min-width:190px;background:#06323c;border-top:2px solid #ffd21c;box-shadow:0 8px 20px rgba(0,0,0,.35)}
#topbar .tb-user.abierto .tb-usermenu{display:block}
#topbar .tb-usermenu a,body #topbar .tb-usermenu a.salir{position:static!important;display:block;width:auto;padding:10px 16px;color:#fff;text-decoration:none;font-size:12.5px;background:transparent;border:0;margin:0;text-align:left}
#topbar .tb-usermenu a:hover{background:rgba(255,255,255,.12)}
/* contenido a pantalla completa */
html:root{--apjae-sidebar:0px!important}
main.con-menu,body main{margin-left:0!important;width:100%!important;max-width:100%!important;padding-top:66px!important}
/* pantallas chicas: hamburguesa */
@media(max-width:1100px){
  #topbar .apjae-nav>a.nav-home{padding:0 7px!important;font-size:11px!important}
  #topbar .apjae-nav>details.nav-group>summary{padding:0 7px!important;font-size:10.5px!important}
}
@media(max-width:1180px){
  #topbar #tb-burger{display:block}
  body aside#topbar nav.apjae-nav{display:none!important;position:fixed;top:50px;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0;background:#052832;overflow-y:auto!important;height:auto}
  #topbar.movil-abierto nav.apjae-nav{display:flex!important}
  #topbar .apjae-nav>a.nav-home,#topbar .apjae-nav>details.nav-group>summary{height:auto;padding:13px 16px!important;font-size:13px!important}
  #topbar .apjae-nav>details.nav-group{height:auto}
  #topbar .apjae-nav>details.nav-group>.tb-panel{position:static;width:100%;max-width:none;max-height:none;box-shadow:none}
  #topbar .tb-userbtn small{display:none}
}
@media print{aside#topbar{display:none!important}main.con-menu{padding-top:0!important}}
#topbar .tb-userbtn{flex-direction:row;align-items:center;gap:6px;white-space:nowrap}
#topbar .tb-userbtn b{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis}
#topbar .tb-userbtn small{display:none}
@media(max-width:1300px) and (min-width:1181px){#topbar .tb-userbtn b{max-width:90px}#topbar .apjae-nav>a.nav-home{padding:0 7px!important}#topbar .apjae-nav>details.nav-group>summary{padding:0 7px!important;font-size:10.5px!important}}

/* V1.2.445 campana de pendientes */
#topbar .tb-bell{position:relative;margin-left:auto;flex:0 0 auto;height:50px;display:flex;align-items:center}
#topbar .tb-bell+.tb-user{margin-left:6px}
#tb-bellbtn{background:transparent;border:0;color:#fff;font-size:20px;cursor:pointer;position:relative;padding:4px 8px;margin:0}
#tb-bellN{position:absolute;top:0;right:0;background:#d32f2f;color:#fff;font:700 10px Arial;border-radius:9px;padding:2px 5px;min-width:16px;text-align:center}
#tb-bellpanel{display:none;position:absolute;right:0;top:46px;width:340px;max-width:92vw;background:#fff;color:#1c2b33;border:1px solid #cfd8dc;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:10001;padding:10px 0}
#tb-bellpanel.abierto{display:block}
#tb-bellpanel h4{margin:0 14px 6px;font-size:13px;color:#0b3a42}
#tb-bellpanel a{display:block;padding:8px 14px;color:#1c2b33;text-decoration:none;font-size:13px;border-top:1px solid #eef2f4}
#tb-bellpanel a:hover{background:#eef6f7}
#tb-bellpanel a.r{border-left:4px solid #d32f2f}
#tb-bellpanel small{display:block;padding:8px 14px;color:#607d8b}
