/* V164 - Corrección estructural consolidada. Última hoja CSS. */
:root{--academy-sidebar-width:300px}
@media(min-width:821px){
 html body .app{display:block!important;position:relative!important;width:100%!important;max-width:100%!important;grid-template-columns:none!important;margin:0!important;padding:0!important}
 html body .app>#mainSidebar.sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--academy-sidebar-width)!important;min-width:var(--academy-sidebar-width)!important;max-width:var(--academy-sidebar-width)!important;height:100dvh!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important;overflow-y:auto!important;padding:18px 16px 14px!important;transform:none!important;z-index:60!important}
 html body .app>.main{position:relative!important;display:block!important;left:auto!important;right:auto!important;float:none!important;transform:none!important;margin:0 0 0 var(--academy-sidebar-width)!important;width:calc(100% - var(--academy-sidebar-width))!important;min-width:0!important;max-width:none!important;padding:0!important;box-sizing:border-box!important}
 html body .app>.main>.topbar{width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:58px!important;height:auto!important;padding:8px 20px!important}
 html body .app>.main>.content{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:18px clamp(16px,2vw,30px) 30px!important;box-sizing:border-box!important}
 html body .app>.main>.content>.page{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
}
/* Los textos deben caber dentro de cada botón, nunca sobresalir. */
html body #mainSidebar .nav{width:100%!important;min-width:0!important;max-width:100%!important;flex:0 0 auto!important;overflow:visible!important}
html body #mainSidebar .nav button{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;gap:10px!important;padding:10px 11px!important;overflow:hidden!important;min-height:46px!important}
html body #mainSidebar .nav button .nav-ico{flex:0 0 22px!important;width:22px!important;min-width:22px!important}
html body #mainSidebar .nav button span:last-child{display:block!important;flex:1 1 auto!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;text-overflow:clip!important;overflow:visible!important;font-size:14px!important;line-height:1.3!important;letter-spacing:-.015em!important;font-weight:400!important;text-align:left!important}
html body #mainSidebar .brand{flex:0 0 auto!important;margin-bottom:8px!important}
html body #mainSidebar .academy-brand-lockup{padding:13px 9px!important;min-width:0!important;max-width:100%!important}
html body #mainSidebar .academy-brand-lockup strong{font-size:12px!important;letter-spacing:.085em!important;font-weight:500!important;white-space:normal!important;line-height:1.3!important}
html body #mainSidebar .nav-divider{margin:12px 0!important}
html body #mainSidebar .nav-group-title.oppo-title{font-size:11.5px!important;line-height:1.3!important;white-space:normal!important;letter-spacing:.07em!important;margin:8px 0!important}
html body #mainSidebar .sidebar-credit{display:block!important;position:relative!important;bottom:auto!important;flex:0 0 auto!important;margin:auto 0 0!important;padding:12px!important;background:#eaf7f2!important;border:1px solid #bfe2d5!important;border-radius:12px!important;color:#426b68!important;font-size:12px!important;line-height:1.45!important;white-space:normal!important}
html body #mainSidebar .sidebar-credit strong{color:#174b43!important;font-weight:500!important}
/* Inicio: sin bandas vacías ni anchos desplazados. */
html body #inicio.home-page{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
html body #inicio.home-page .home-premium-wrap{width:100%!important;max-width:100%!important;min-width:0!important;margin:14px 0!important;padding:0!important}
html body #inicio.home-page .home-premium-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
html body #inicio.home-page .home-premium-grid .premium-tile{position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:clamp(205px,18vw,255px)!important;box-sizing:border-box!important;overflow:hidden!important;border-radius:20px!important;background-size:cover!important;background-position:center!important;padding:18px 20px!important}
html body #inicio.home-page .home-premium-grid .premium-tile b{font-size:clamp(20px,1.75vw,26px)!important;line-height:1.15!important}
html body #inicio.home-page .home-premium-grid .premium-tile small{font-size:clamp(12px,1vw,15px)!important;line-height:1.35!important}
html body #inicio.home-page .home-main-grid{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(270px,.85fr)!important;align-items:stretch!important;gap:14px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
html body #inicio.home-page .home-left-column,html body #inicio.home-page .home-right-column{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important}
html body #inicio.home-page .home-left-column>.home-landscape-card{display:flex!important;align-items:center!important;width:100%!important;max-width:100%!important;min-height:165px!important;height:165px!important;margin-top:12px!important;background-size:cover!important;background-position:center!important;box-sizing:border-box!important;overflow:hidden!important}
html body #inicio.home-page .home-landscape-copy strong{font-family:inherit!important;font-weight:500!important;font-size:clamp(20px,2vw,29px)!important}
html body #inicio.home-page .home-right-column .home-oppo-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
@media(min-width:821px) and (max-width:1250px){html body #inicio.home-page .home-main-grid{grid-template-columns:1fr!important}html body #inicio.home-page .home-premium-grid .premium-tile{height:205px!important;padding:14px!important}}
@media(max-width:820px){html body .app{display:block!important;width:100%!important}html body .app>.main{width:100%!important;max-width:100%!important;margin:0!important;min-width:0!important}html body .app>.main>.content{padding:12px!important;min-width:0!important}html body .app>#mainSidebar.sidebar{width:min(340px,92vw)!important;min-width:0!important;max-width:min(340px,92vw)!important;box-sizing:border-box!important;overflow-x:hidden!important}html body #inicio.home-page .home-premium-grid{grid-template-columns:1fr!important;gap:12px!important}html body #inicio.home-page .home-premium-grid .premium-tile{height:220px!important}html body #inicio.home-page .home-main-grid{grid-template-columns:1fr!important}html body #mainSidebar .nav button span:last-child{font-size:14px!important}}
@media(min-width:600px) and (max-width:820px){html body #inicio.home-page .home-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
