/* CoachPanel V20.0.3.129 · Inicio 3D real, sin iconos duplicados */
#inicio .inicio-main-grid{
  width:100%!important;
  align-items:stretch!important;
}
#inicio .inicio-main-grid>.launcher-card{
  position:relative!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-items:center!important;
  align-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
/* Neutraliza cualquier icono antiguo generado por CSS o scripts previos. */
#inicio .inicio-main-grid>.launcher-card::before,
#inicio .inicio-main-grid>.launcher-card>.launcher-card-icon{
  content:none!important;
  display:none!important;
  background-image:none!important;
}
#inicio .cp-home-3d-media{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  margin:auto!important;
  min-width:0!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#inicio .cp-home-3d-media::after{
  content:attr(data-fallback);
  position:absolute;
  inset:18%;
  z-index:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(55,214,122,.34);
  border-radius:24%;
  background:linear-gradient(145deg,rgba(55,214,122,.18),rgba(5,12,8,.92));
  color:#eaf8ee;
  font:900 clamp(20px,3vw,34px)/1 Montserrat,Inter,sans-serif;
  letter-spacing:.04em;
  opacity:1;
}
#inicio .cp-home-3d-image{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
  opacity:0;
  filter:drop-shadow(0 14px 20px rgba(0,0,0,.58)) saturate(1.12) contrast(1.05)!important;
}
#inicio .cp-home-3d-image.is-loaded{opacity:1!important}
#inicio .cp-home-3d-media.has-loaded::after{display:none!important}
#inicio .cp-home-3d-media.has-error::after{display:grid!important}
#inicio .cp-home-3d-image.is-error{display:none!important}
#inicio .launcher-card-label{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  align-self:end!important;
}

/* Móvil: dos columnas, icono visible y centrado. */
@media (max-width:699px){
  html body #inicio .inicio-main-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin:22px auto 22px!important;
  }
  html body #inicio .inicio-main-grid>.launcher-card{
    min-height:164px!important;
    height:164px!important;
    padding:10px 7px 12px!important;
    row-gap:2px!important;
    border-radius:20px!important;
  }
  html body #inicio .cp-home-3d-media{
    width:112px!important;
    height:112px!important;
  }
  html body #inicio .launcher-card-label{
    font-size:17px!important;
    line-height:1.08!important;
    font-weight:850!important;
  }
}
@media (max-width:390px){
  html body #inicio .inicio-main-grid>.launcher-card{min-height:150px!important;height:150px!important}
  html body #inicio .cp-home-3d-media{width:98px!important;height:98px!important}
  html body #inicio .launcher-card-label{font-size:16px!important}
}

/* iPad vertical: dos columnas grandes y uso casi total del ancho. */
@media (min-width:700px) and (max-width:1100px) and (orientation:portrait){
  html body main{max-width:none!important;width:100%!important;padding-left:10px!important;padding-right:10px!important}
  html body #inicio{max-width:none!important;width:100%!important}
  html body #inicio .inicio-app-launcher{
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    padding:22px 20px 24px!important;
  }
  html body #inicio .inicio-main-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
  html body #inicio .inicio-main-grid>.launcher-card{
    min-height:245px!important;
    height:245px!important;
    padding:14px 16px 16px!important;
  }
  html body #inicio .cp-home-3d-media{width:180px!important;height:180px!important}
  html body #inicio .launcher-card-label{font-size:27px!important;line-height:1.05!important;font-weight:900!important}
}

/* iPad horizontal: cuatro botones por fila, pero con mayor altura e icono. */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  html body main{max-width:none!important;width:100%!important;padding-left:12px!important;padding-right:12px!important}
  html body #inicio{max-width:none!important;width:100%!important}
  html body #inicio .inicio-app-launcher{
    width:calc(100vw - 24px)!important;
    max-width:none!important;
    padding:22px!important;
  }
  html body #inicio .inicio-main-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
  }
  html body #inicio .inicio-main-grid>.launcher-card{
    min-height:224px!important;
    height:224px!important;
    padding:12px 12px 15px!important;
  }
  html body #inicio .cp-home-3d-media{width:162px!important;height:162px!important}
  html body #inicio .launcher-card-label{font-size:23px!important;font-weight:900!important}
}

/* Ordenador: cuatro columnas equilibradas, sin iconos auxiliares ni espacios muertos. */
@media (min-width:1101px){
  html body main{max-width:1660px!important;width:100%!important;padding-left:18px!important;padding-right:18px!important}
  html body #inicio{max-width:none!important;width:100%!important}
  html body #inicio .inicio-app-launcher{
    width:min(1620px,calc(100vw - 36px))!important;
    max-width:1620px!important;
    padding:24px 28px 26px!important;
  }
  html body #inicio .inicio-main-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:20px!important;
  }
  html body #inicio .inicio-main-grid>.launcher-card{
    min-height:248px!important;
    height:248px!important;
    padding:14px 16px 17px!important;
  }
  html body #inicio .cp-home-3d-media{width:184px!important;height:184px!important}
  html body #inicio .launcher-card-label{font-size:27px!important;font-weight:900!important}
}

/* La pantalla real permanece completamente tapada durante el arranque. */
html.app-booting body{background:#050806!important;overflow:hidden!important}
html.app-booting body> :not(#coachpanelBootScreen):not(script){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.app-booting #coachpanelBootScreen{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}
