/* STD 10.2.3 · capa móvil autoritativa.
 * Objetivos: cero pull-to-refresh accidental, módulos siempre arriba, tablas -> tarjetas,
 * controles táctiles completos y ninguna barra fija cubriendo acciones.
 */
@media(max-width:720px){
  :root{--std-mobile-safe-bottom:max(8px,env(safe-area-inset-bottom));--std-mobile-bar-h:64px;--std-mobile-content-floor:156px}
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;-webkit-text-size-adjust:100%}
  body{touch-action:pan-y;background:#f3f8fc}
  body.stdMobileMode1021{padding-bottom:calc(var(--std-mobile-content-floor) + env(safe-area-inset-bottom))!important}
  body.portalChooserOpen #stdMobileWorkspace1021{display:none!important}
  .main,.advisorMain,.metricsMain,.stdMetricsMain54,.view,.advisorView,.metricsView,.card,.advisorCard,.metricPanel,.stdPanel{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  .main,.advisorMain,.metricsMain,.stdMetricsMain54{width:100%!important;margin:0!important;padding-left:10px!important;padding-right:10px!important;padding-bottom:calc(var(--std-mobile-content-floor) + env(safe-area-inset-bottom))!important}
  img,canvas,video{max-width:100%!important;height:auto}

  /* Módulos arriba. Nada de drawer lateral en móvil. */
  body.portalAttention .appShell,body.portalConfig .appShell,body.portalAdvisory #advisorApp,body.portalMetrics #stdMetricsApp{display:block!important;width:100%!important;min-height:100dvh!important}
  body.portalAttention .sidebar,body.portalConfig .sidebar,
  body.portalAdvisory .advisorSide,
  body.portalMetrics #stdMetricsApp .metricsSide,body.portalMetrics #stdMetricsApp .stdMetricsSide54{
    position:sticky!important;left:auto!important;right:auto!important;top:0!important;bottom:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:0!important;z-index:2147481000!important;padding:8px 9px!important;overflow:visible!important;border-right:0!important;box-sizing:border-box!important
  }
  body.portalAttention .sidebar,body.portalConfig .sidebar{background:rgba(255,255,255,.985)!important;border-bottom:1px solid #cbddea!important;box-shadow:0 4px 14px rgba(11,48,82,.06)!important}
  body.portalAdvisory .advisorSide{background:linear-gradient(100deg,#08264a,#0b4275)!important;border-bottom:1px solid rgba(255,255,255,.15)!important}
  body.portalMetrics #stdMetricsApp .metricsSide,body.portalMetrics #stdMetricsApp .stdMetricsSide54{background:linear-gradient(100deg,#071c38,#0b3a68)!important;border-bottom:1px solid rgba(255,255,255,.15)!important}
  body.portalAttention .brandBlock,body.portalConfig .brandBlock{display:none!important}
  body.portalAdvisory .advisorBrand,body.portalMetrics #stdMetricsApp .metricsBrand{display:none!important}
  body.portalAttention .sideFoot,body.portalConfig .sideFoot,body.portalAdvisory .advisorSideFoot,body.portalMetrics #stdMetricsApp .metricsSideFoot{display:none!important}

  body.portalAttention #mainNav,body.portalConfig #mainNav,
  body.portalAdvisory .advisorNav,
  body.portalMetrics #stdMetricsApp .metricsNav{
    display:flex!important;flex-direction:row!important;grid-template-columns:none!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:1px 1px 4px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x proximity
  }
  body.portalAttention #mainNav::-webkit-scrollbar,body.portalConfig #mainNav::-webkit-scrollbar,body.portalAdvisory .advisorNav::-webkit-scrollbar,body.portalMetrics #stdMetricsApp .metricsNav::-webkit-scrollbar{display:none!important}
  body.portalAttention #mainNav>.navLeaf,body.portalAttention #mainNav>.navTree,body.portalConfig #mainNav>.navLeaf,body.portalConfig #mainNav>.navTree{flex:0 0 auto!important;width:auto!important;min-width:max-content!important;scroll-snap-align:start}
  body.portalAttention #mainNav .navParent,body.portalAttention #mainNav .navLeaf,body.portalConfig #mainNav .navParent,body.portalConfig #mainNav .navLeaf{
    min-height:43px!important;padding:9px 12px!important;border:1px solid #c7dceb!important;border-radius:11px!important;background:#f8fbfe!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)!important;white-space:nowrap!important
  }
  body.portalAttention #mainNav .navParent.active,body.portalAttention #mainNav .navLeaf.active,body.portalConfig #mainNav .navParent.active,body.portalConfig #mainNav .navLeaf.active{background:#e5f5fc!important;border-color:#69b9dc!important}
  body.portalAdvisory .advisorNav button,body.portalMetrics #stdMetricsApp .metricsNav button{
    flex:0 0 auto!important;width:auto!important;min-width:max-content!important;min-height:44px!important;padding:9px 12px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:11px!important;background:rgba(255,255,255,.075)!important;color:#f4f9ff!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)!important;white-space:nowrap!important;scroll-snap-align:start!important
  }
  body.portalAdvisory .advisorNav button+button,body.portalMetrics #stdMetricsApp .metricsNav button+button{margin-left:0!important}
  body.portalAdvisory .advisorNav button.active,body.portalMetrics #stdMetricsApp .metricsNav button.active{background:#fff!important;color:#0d4e7e!important;border-color:#fff!important;box-shadow:0 4px 12px rgba(0,0,0,.17)!important}
  body.portalAdvisory .advisorNav button span,body.portalMetrics #stdMetricsApp .metricsNav button span{font-size:12px!important}
  body.portalAttention #mainNav .navChildren,body.portalConfig #mainNav .navChildren{position:absolute!important;left:8px!important;right:8px!important;top:100%!important;z-index:2147481100!important;max-height:55dvh!important;overflow:auto!important;padding:7px!important;border:1px solid #d2e2ee!important;border-radius:12px!important;background:#fff!important;box-shadow:0 15px 36px rgba(9,44,77,.2)!important}

  /* Barra inferior: Área + Avisos + Perfil. "Módulos" desaparece porque los módulos viven arriba. */
  .stdMobileWorkspace1021{position:fixed!important;left:10px!important;right:10px!important;bottom:var(--std-mobile-safe-bottom)!important;z-index:2147482500!important;height:var(--std-mobile-bar-h)!important;padding:5px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;border:1px solid #cbdde9!important;border-radius:18px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 12px 34px rgba(7,34,63,.22)!important;backdrop-filter:blur(12px)!important}
  .stdMobileWorkspace1021 button{position:relative!important;min-width:0!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#315d7f!important;display:grid!important;place-items:center!important;align-content:center!important;gap:2px!important;font:inherit!important}
  .stdMobileWorkspace1021 button>span{font-size:19px!important;line-height:1!important}.stdMobileWorkspace1021 button>b{font-size:10px!important;font-weight:900!important}.stdMobileWorkspace1021 button:active{background:#e8f5fc!important}
  .stdMobileNoticeBadge1023{position:absolute!important;top:4px!important;left:calc(50% + 9px)!important;min-width:18px!important;height:18px!important;padding:0 4px!important;border-radius:999px!important;background:#e83e4d!important;color:#fff!important;font-style:normal!important;font-size:9px!important;font-weight:900!important;display:grid!important;place-items:center!important;border:2px solid #fff!important}.stdMobileNoticeBadge1023[hidden]{display:none!important}
  .stdNotificationBell1020{display:none!important}
  .stdNotificationPanel1020{top:10px!important;right:8px!important;left:8px!important;bottom:calc(var(--std-mobile-bar-h) + 20px + env(safe-area-inset-bottom))!important;width:auto!important;max-height:none!important;border-radius:16px!important}
  .stdNotificationList1020{padding-bottom:12px!important}.stdNotificationItem1020{min-height:78px!important;padding-top:12px!important;padding-bottom:12px!important}
  .stdNotificationIcon1021.kind-propuestas{background:#e8f6ff!important;color:#0878ac!important}.stdNotificationIcon1021.kind-contratos{background:#f0edff!important;color:#6749ae!important}

  /* Pendientes/Resumen del día nunca tapa botones ni contenido. */
  .stdActivityCenter73{right:8px!important;left:8px!important;bottom:calc(var(--std-mobile-bar-h) + 16px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important}
  .stdCenterTab73{min-height:52px!important;padding:8px 12px!important;border:1px solid #c9dbea!important;border-radius:15px!important;box-shadow:0 8px 24px rgba(13,51,88,.12)!important}
  .stdActivityCenter73.open .stdCenterDrawer73{max-height:calc(100dvh - var(--std-mobile-bar-h) - 100px)!important;border-radius:17px!important;border-bottom:1px solid #c9dbea!important}
  .stdCenterBody73{max-height:calc(100dvh - var(--std-mobile-bar-h) - 180px)!important;padding:10px!important;grid-template-columns:1fr!important}
  .stdDayPopup73{padding:10px!important}.stdDayPopupPanel73{max-height:calc(100dvh - 30px)!important}.stdDayPopupBody73{max-height:calc(100dvh - 110px)!important}
  .stdAttentionBrief72{bottom:calc(var(--std-mobile-bar-h) + 18px + env(safe-area-inset-bottom))!important}
  .stdToastStack81697{left:10px!important;right:10px!important;bottom:calc(var(--std-mobile-bar-h) + 78px + env(safe-area-inset-bottom))!important;width:auto!important}.stdToast81697.actionable{cursor:pointer!important}.stdToast81697.actionable:active{transform:scale(.99)!important}

  /* Tablas funcionales como tarjetas, sin scroll horizontal. */
  table.stdMobileCardTable1020,table.stdMobileCardTable1020 tbody{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}table.stdMobileCardTable1020 thead{display:none!important}
  table.stdMobileCardTable1020 tr{display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0 0 12px!important;padding:10px 12px!important;border:1px solid #d4e4ef!important;border-radius:15px!important;background:#fff!important;box-shadow:0 4px 14px rgba(15,52,89,.055)!important;overflow:hidden!important}
  table.stdMobileCardTable1020 td{display:grid!important;grid-template-columns:minmax(96px,.4fr) minmax(0,1fr)!important;gap:10px!important;align-items:center!important;width:auto!important;min-width:0!important;max-width:100%!important;padding:9px 0!important;border:0!important;border-bottom:1px solid #edf2f6!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word!important}
  table.stdMobileCardTable1020 td:last-child{border-bottom:0!important}table.stdMobileCardTable1020 td::before{content:attr(data-std-label);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;color:#75899d;min-width:0}
  table.stdMobileCardTable1020 td[data-field="nombre"],table.stdMobileCardTable1020 td[data-field="cliente"],table.stdMobileCardTable1020 td:first-child{grid-template-columns:1fr!important;padding-top:4px!important}table.stdMobileCardTable1020 td[data-field="nombre"]::before,table.stdMobileCardTable1020 td[data-field="cliente"]::before,table.stdMobileCardTable1020 td:first-child::before{display:none!important}
  table.stdMobileCardTable1020 button,table.stdMobileCardTable1020 select,table.stdMobileCardTable1020 input,table.stdMobileCardTable1020 textarea{min-height:44px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px!important}
  .advisorTableWrap,.tableWrap,.crmTableWrap,.crmFinalTableWrap,.cobTableWrap,.liqTableWrap,.metricTableWrap,.expFilesTableWrap,.stdLeadTableWrap81700{overflow-x:hidden!important;max-width:100%!important;min-width:0!important;width:100%!important}
  .advisorResizeHandle,[draggable="true"] .advisorResizeHandle,.stdDragHandle,.std81647SortHandle,[data-drag-handle]{display:none!important}th[draggable="true"]{cursor:default!important}
  table.stdMobileCardTable1020 tr.is-selected,table.stdMobileCardTable1020 tr.leadSelected81645,table.stdMobileCardTable1020 tr.stdRowSelected{outline:none!important;background:#fff!important}
  #viewCRM .stdCrmBulkBar,#viewCRM .stdCrmBulkBar81700,#advisorViewLeads .leadBulkBar81645,#advisorViewLeads .stdLeadBulk81700{max-width:100%!important}

  /* KPIs y filtros: todo apilable y sin botones cortados. */
  body.portalMetrics #stdMetricsApp .metricsMain,body.portalMetrics #stdMetricsApp .stdMetricsMain54{overflow-x:hidden!important}
  body.portalMetrics #stdMetricsContent,body.portalMetrics #stdMetricsContent>*{min-width:0!important;max-width:100%!important}
  body.portalMetrics .metricSplit,body.portalMetrics .stdMetricPanelsGrid59,body.portalMetrics .stdPortfolioSplit54,body.portalMetrics .stdPortfolioKpis54,body.portalMetrics .stdFinanceKpis54{grid-template-columns:1fr!important}
  .metricsFilters,.advisorFilters,.leadHeadActions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important}.metricsFilters label{min-width:0!important}.metricsFilters select,.metricsFilters input,.advisorFilters select,.advisorFilters input{width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important}
  .topActions,.advisorTop,.metricsTop{padding-right:0!important;gap:8px!important}.stdDashboardTitle h1,.advisorTop h1,.metricsTop h1{font-size:22px!important}.stdFeedbackFab913{display:none!important}

  /* Generador de propuestas: controles alineados y preview Carta escalado al ancho disponible. */
  #advisorViewPropuestasGenerador .form-container,#advisorViewPropuestasGenerador .preview-container,#advisorViewPropuestasGenerador .erp-main-grid{min-width:0!important;max-width:100%!important;width:100%!important}
  #advisorViewPropuestasGenerador .preview-container{min-height:0!important;overflow:hidden!important}
  .std-inline-grid{grid-template-columns:1fr!important;width:100%!important;min-width:0!important}.std-inline-grid>*{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  .std-inline-grid input,.std-inline-grid select,.std-inline-grid textarea,.erp-form input,.erp-form select,.erp-form textarea,#advisorViewPropuestasGenerador input,#advisorViewPropuestasGenerador select,#advisorViewPropuestasGenerador textarea{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;font-size:16px!important}
  #advisorViewPropuestasGenerador input[type="date"]{-webkit-appearance:none!important;appearance:none!important}
  .erp-preview-scroll{width:100%!important;max-width:100%!important;min-height:0!important;overflow:hidden!important;padding:8px!important;box-sizing:border-box!important;-webkit-overflow-scrolling:auto!important}
  #proposal-preview{flex:none!important;margin:0!important;max-width:none!important;will-change:transform!important}
  .erp-actions-card,.erp-form-card{max-width:100%!important;min-width:0!important}.erp-actions-card{margin-bottom:30px!important}

  /* Botones y formularios táctiles globales. Evita zoom automático de Safari. */
  button,select,input,textarea{box-sizing:border-box}input,select,textarea{font-size:16px}
  .card,.advisorCard,.metricPanel{border-radius:14px!important}
  .savingsFooter{position:relative!important;bottom:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;margin-bottom:20px!important}.savingsActions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.savingsActions button{min-height:48px!important;width:100%!important}
}
@media(max-width:420px){
  .metricsFilters,.advisorFilters,.leadHeadActions{grid-template-columns:1fr!important}
  table.stdMobileCardTable1020 td{grid-template-columns:minmax(86px,.38fr) minmax(0,1fr)!important}
}

@media(min-width:721px){
  body:not(.portalChooserOpen) .main,body:not(.portalChooserOpen) .advisorMain,body:not(.portalChooserOpen) .metricsMain{padding-top:max(24px,env(safe-area-inset-top))}
  .metricsTop,.advisorTop,.stdDashboardTitle{padding-right:250px!important;min-height:48px}.stdNotificationBell1020{right:238px!important}.stdFeedbackFab913{right:22px!important}
}

@media(min-width:821px) and (max-height:900px){.portalChooserPanel{padding-top:18px!important;padding-bottom:28px!important;overflow:auto!important}.portalOptionGrid{gap:14px!important}.portalOption{min-height:220px!important;padding:20px!important}.portalOptionIcon{width:58px!important;height:58px!important;margin-bottom:12px!important}.portalOption h3{font-size:20px!important}.portalOption p{margin-bottom:12px!important;line-height:1.4!important}}
