/* v51: interfaz automática por plataforma y capacidades */
html.platform-desktop body{--adaptive-content-max:1780px}
html.platform-desktop .mobile-bottom-nav{display:none!important}
html.platform-desktop .sidebar{display:block}
html.platform-desktop main{max-width:var(--adaptive-content-max)}
html.platform-desktop.has-touch button,
html.platform-desktop.has-touch input,
html.platform-desktop.has-touch select{min-height:44px}

/* Tablet: navegación lateral tipo drawer, densidad intermedia y dos columnas útiles. */
html.platform-tablet body{--tablet-safe-bottom:max(env(safe-area-inset-bottom),0px)}
html.platform-tablet .sidebar,
html.platform-tablet body.sidebar-collapsed .sidebar{
  width:min(42vw,340px)!important;left:-110%!important;box-shadow:20px 0 55px rgba(0,0,0,.32)!important;
}
html.platform-tablet body.nav-open .sidebar,
html.platform-tablet body.nav-open.sidebar-collapsed .sidebar{left:0!important}
html.platform-tablet main,
html.platform-tablet body.sidebar-collapsed main{margin-left:0!important;padding-left:22px!important;padding-right:22px!important}
html.platform-tablet .desktop-sidebar-toggle{display:grid!important}
html.platform-tablet .mobile-bottom-nav{display:none!important}
html.platform-tablet .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html.platform-tablet .grid.four,.platform-tablet .grid.five{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html.platform-tablet .workgrid{grid-template-columns:minmax(0,1fr)!important}
html.platform-tablet .top-actions button{min-height:46px}
html.platform-tablet input,html.platform-tablet select,html.platform-tablet textarea{font-size:16px;min-height:48px}
html.platform-tablet .project-center-card{inset:2vh 2vw!important}

/* Teléfono: composición nativa, una columna, navegación inferior y drawer. */
html.platform-phone body{overflow-x:hidden;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
html.platform-phone main,
html.platform-phone body.sidebar-collapsed main{margin-left:0!important;width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}
html.platform-phone .sidebar,
html.platform-phone body.sidebar-collapsed .sidebar{width:min(88vw,326px)!important;left:-110%!important}
html.platform-phone body.nav-open .sidebar,
html.platform-phone body.nav-open.sidebar-collapsed .sidebar{left:0!important}
html.platform-phone .desktop-sidebar-toggle{display:grid!important}
html.platform-phone .mobile-bottom-nav{display:grid!important}
html.platform-phone .app-utility{position:sticky!important;top:0!important;z-index:90!important}
html.platform-phone .section-context small,
html.platform-phone #currentSectionSubtitle,
html.platform-phone .install-trigger,
html.platform-phone .quick-new-sale{display:none!important}
html.platform-phone .section-context{min-width:0;max-width:calc(100vw - 190px)}
html.platform-phone .section-context strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
html.platform-phone .top{display:block!important;padding-left:2px!important;padding-right:2px!important}
html.platform-phone .top h1{font-size:26px!important}
html.platform-phone .top-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
html.platform-phone .top-actions>*{width:100%!important}
html.platform-phone .grid,
html.platform-phone .grid.two,
html.platform-phone .grid.three,
html.platform-phone .grid.four,
html.platform-phone .grid.five{grid-template-columns:1fr!important}
html.platform-phone .current-sale-cards{grid-template-columns:1fr 1fr!important}
html.platform-phone .workgrid{display:block!important}
html.platform-phone .paper{min-width:760px}
html.platform-phone .tablebox{overflow-x:auto!important}
html.platform-phone table{min-width:720px}
html.platform-phone .project-center-card{inset:0!important;border-radius:0!important;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
html.platform-phone .project-finance-grid{grid-template-columns:1fr 1fr!important}
html.platform-phone .project-files-list{grid-template-columns:1fr!important}

/* En modo instalado se eliminan controles pensados para navegador y se respetan áreas seguras. */
html.is-standalone.platform-phone .app-utility{padding-top:max(8px,env(safe-area-inset-top))!important}
html.is-standalone .install-trigger{display:none!important}
html.is-standalone.platform-phone .mobile-bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom))!important}

/* Orientación horizontal del teléfono: compactar sin convertirlo erróneamente en escritorio. */
@media (orientation:landscape) and (max-height:540px){
  html.platform-phone .mobile-bottom-nav{min-height:54px!important}
  html.platform-phone body{padding-bottom:70px}
  html.platform-phone .top h1{font-size:23px!important}
  html.platform-phone .current-sale-cards{grid-template-columns:repeat(4,1fr)!important}
}

@media(max-width:390px){
  html.platform-phone .current-sale-cards{grid-template-columns:1fr!important}
  html.platform-phone .top-actions{grid-template-columns:1fr!important}
  html.platform-phone .project-finance-grid{grid-template-columns:1fr!important}
}
