

/* LUCIO_MENU_HIERARCHY_V31 · 2026-09-29
   Top-level only: Dashboard, Operación, Administración, Mi perfil.
   Operación y Administración arrancan cerrados; sus hijos viven dentro. */
.lucio-primary-group{margin:0!important}
.lucio-primary-group>.lucio-primary-children{padding:4px 0 8px!important}
.lucio-primary-children>a{
  display:flex!important;align-items:center!important;min-height:38px!important;
  margin:2px 8px 2px 40px!important;padding:0 10px!important;border-radius:10px!important;
  color:#627287!important;text-decoration:none!important;font-size:11px!important;font-weight:750!important
}
.lucio-primary-children>a:hover,.lucio-primary-children>a.active{background:#eef6ff!important;color:#0b55b7!important}
.lucio-nav-subgroup{margin:2px 8px 2px 40px!important;border:0!important}
.lucio-nav-subgroup>summary{
  min-height:38px!important;padding:0 10px!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;border-radius:10px!important;list-style:none!important;
  color:#627287!important;background:transparent!important;font-size:11px!important;font-weight:800!important;cursor:pointer!important
}
.lucio-nav-subgroup>summary::-webkit-details-marker{display:none!important}
.lucio-nav-subgroup>summary:hover,.lucio-nav-subgroup[open]>summary{background:#f3f8fc!important;color:#0b55b7!important}
.lucio-nav-subgroup>summary span{font-size:15px!important;transition:transform .18s ease!important}
.lucio-nav-subgroup[open]>summary span{transform:rotate(90deg)!important}
.lucio-nav-subchildren{display:none!important;padding:2px 0 5px 10px!important}
.lucio-nav-subgroup[open]>.lucio-nav-subchildren{display:grid!important;gap:2px!important}
.lucio-nav-subchildren>a{
  min-height:34px!important;padding:0 9px!important;display:flex!important;align-items:center!important;
  border-radius:9px!important;color:#748399!important;text-decoration:none!important;font-size:10px!important;font-weight:700!important
}
.lucio-nav-subchildren>a:hover,.lucio-nav-subchildren>a.active{background:#eef6ff!important;color:#0b55b7!important}

/* Logout fijo al fondo del sidebar: NO se mueve al abrir/cerrar grupos. */
html body .portal-sidebar{position:relative!important}
html body .portal-sidebar .portal-foot{
  position:absolute!important;
  left:12px!important;right:12px!important;bottom:14px!important;
  width:auto!important;margin:0!important;padding:0!important;
  z-index:20!important;flex:none!important
}
html body .portal-sidebar .portal-foot form{margin:0!important;width:100%!important}
html body .portal-sidebar .portal-logout{
  width:100%!important;min-height:50px!important;margin:0!important;padding:0 12px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
  border:1px solid #d8e8f8!important;border-radius:15px!important;background:#fff!important;
  color:#526476!important;font-size:12px!important;font-weight:800!important;
  box-shadow:0 -4px 16px rgba(7,29,77,.04)!important
}
html body .portal-sidebar .portal-logout:hover{
  background:#f4f8fc!important;color:#0b55b7!important;border-color:#bfd8ef!important
}
html body .portal-sidebar .portal-logout>span:first-child{
  width:24px!important;min-width:24px!important;text-align:center!important;font-size:17px!important;line-height:1!important
}
html body .portal-sidebar .portal-logout .lucio-nav-label{display:inline!important;font-size:12px!important}
@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  /* Desktop: sidebar completo fijado al viewport. El scroll pertenece al contenido, no al sidebar. */
  html body.lucio-home-view .portal-shell,
  html body:not(.lucio-home-view) .portal-shell{display:block!important}
  html body.lucio-home-view .portal-shell > aside.portal-sidebar[data-lucio-sidebar],
  html body:not(.lucio-home-view) .portal-shell > aside.portal-sidebar[data-lucio-sidebar]{
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;
    width:284px!important;min-width:284px!important;max-width:284px!important;
    height:100vh!important;margin:0!important;z-index:1000!important
  }
  html body.lucio-home-view .portal-shell > main.portal-main,
  html body:not(.lucio-home-view) .portal-shell > main.portal-main{
    margin-left:284px!important;width:calc(100% - 284px)!important;min-width:0!important
  }
  html body .portal-sidebar .portal-menu{
    flex:1 1 auto!important;min-height:0!important;
    padding-bottom:78px!important;max-height:calc(100vh - 112px)!important;overflow-y:auto!important
  }
}
@media (max-width:1100px),(hover:none),(pointer:coarse){
  html body .portal-sidebar{position:fixed!important}
  html body .portal-sidebar .portal-menu{
    flex:1 1 auto!important;min-height:0!important;
    padding-bottom:82px!important;max-height:calc(100dvh - 100px)!important;overflow-y:auto!important
  }
  html body .portal-sidebar .portal-foot{left:16px!important;right:16px!important;bottom:14px!important}
}

/* CLON RESPONSIVE QA 2026-10-13: eliminate grid overflow on 360-650px screens */
@media(max-width:650px){
 html body .portal-content .heading{display:flex!important;flex-wrap:wrap!important;gap:10px!important;min-width:0!important}
 html body .portal-content .heading>div{min-width:0!important;max-width:100%!important}
 html body .portal-content .heading>.button,html body .portal-content .heading .button{max-width:100%!important;white-space:normal!important}
 html body .portal-content a.panel[style*="repeat(4,minmax(90px,130px))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body .portal-content a.panel[style*="repeat(4,minmax(90px,130px))"]>div:first-child,
 html body .portal-content a.panel[style*="repeat(4,minmax(90px,130px))"]>span:last-child{grid-column:1/-1!important}
 html body .portal-content div[style*="repeat(4,minmax(150px,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body .portal-content div[style*="repeat(3,minmax(160px,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body .portal-content a.panel[style*="1.2fr .6fr .8fr 2fr auto"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body .portal-content a.panel[style*="1.2fr .6fr .8fr 2fr auto"]>div:first-child,html body .portal-content a.panel[style*="1.2fr .6fr .8fr 2fr auto"]>span:last-child{grid-column:1/-1!important}
 html body .portal-content a.panel[style*="120px 220px 1fr auto"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body .portal-content a.panel[style*="120px 220px 1fr auto"]>span:nth-of-type(2),html body .portal-content a.panel[style*="120px 220px 1fr auto"]>span:last-child{grid-column:1/-1!important}
 html body .portal-content div.panel[style*="1fr 220px auto"]{grid-template-columns:minmax(0,1fr)!important}
 html body .portal-content .heading,.portal-content .heading>div,.portal-content .panel{overflow-wrap:anywhere!important;min-width:0}
}
