/* STD V8.16.97 · estabilidad, móvil real y Leads normalizados */
:root{--std97-safe-bottom:max(12px,env(safe-area-inset-bottom));}
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}

/* Un portal a la vez: evita Configuración + Asesoría superpuestos. */
body:not(.portalAttention) .appShell{display:none!important}
body.portalAttention .appShell{display:grid!important}
body:not(.portalAdvisory) #advisorApp{display:none!important}
body.portalAdvisory #advisorApp{display:grid!important}
body:not(.portalMetrics) #stdMetricsApp{display:none!important}
body.portalMetrics #stdMetricsApp{display:grid!important}
body.portalConfig .appShell{display:grid!important}
body.portalConfig #advisorApp,body.portalConfig #stdMetricsApp{display:none!important}
body.portalAdvisory .appShell,body.portalAdvisory #stdMetricsApp{display:none!important}
body.portalMetrics .appShell,body.portalMetrics #advisorApp{display:none!important}

/* Leads: cabecera normal, scope visible, búsqueda siempre debajo. */
#advisorViewLeads .leadView8148{overflow:hidden}
#advisorViewLeads .leadHead8148{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;padding:18px 18px 13px!important}
#advisorViewLeads .leadHead8148>div:first-child{min-width:220px;flex:1 1 320px}
#advisorViewLeads .leadHeadActions{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 1 auto!important}
#advisorViewLeads .stdLeadScope81647{display:inline-flex!important;align-items:center!important;padding:3px!important;border:1px solid #cedeed!important;border-radius:12px!important;background:#f6faff!important;gap:3px!important}
#advisorViewLeads .stdLeadScope81647 button{border:0!important;background:transparent!important;color:#46637e!important;border-radius:9px!important;padding:8px 11px!important;font-weight:900!important;white-space:nowrap!important;cursor:pointer!important}
#advisorViewLeads .stdLeadScope81647 button.active{background:#fff!important;color:#0d63aa!important;box-shadow:0 2px 8px rgba(20,76,126,.12)!important}
#advisorViewLeads .leadSearch8148,#advisorViewLeads .stdCommercialSearch94{width:100%!important;max-width:none!important;margin:0!important}
#advisorViewLeads .leadSearch8148{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 16px!important;background:#fff!important}
#advisorViewLeads .leadSearch8148 input{min-width:0!important;flex:1!important;padding-right:44px!important}
#advisorViewLeads .advisorTableWrap{max-width:100%!important;overflow:auto!important;overscroll-behavior:contain}
#advisorViewLeads .leadTable8148 td,#advisorViewLeads .leadTable8148 th{max-width:none}

/* Barra de notificaciones */
.stdToastStack81697{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:2147483000;display:grid;gap:9px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.stdToast81697{pointer-events:auto;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:11px 11px 11px 12px;background:rgba(255,255,255,.98);border:1px solid #cfe0ed;border-radius:15px;box-shadow:0 15px 44px rgba(9,34,66,.23);transform:translateY(12px);opacity:0;transition:opacity .2s ease,transform .2s ease;color:#12395e}
.stdToast81697.show{transform:translateY(0);opacity:1}
.stdToast81697 .stdToastIcon81697{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f6ff;font-size:20px}
.stdToast81697 strong{display:block;font-size:14px;color:#0a355f}.stdToast81697 p{margin:3px 0 0;font-size:12px;line-height:1.35;color:#5b7188}
.stdToast81697>button{border:0;background:transparent;color:#6c8094;font-size:20px;width:28px;height:28px;border-radius:8px;cursor:pointer}
.stdToast81697.kind-lead .stdToastIcon81697{background:#e7fbff}.stdToast81697.kind-proposal .stdToastIcon81697{background:#eef5ff}.stdToast81697.kind-contract .stdToastIcon81697{background:#f2efff}.stdToast81697.kind-assign .stdToastIcon81697{background:#ebfbf3}

/* Todas las rejillas deben poder encogerse sin empujar el viewport. */
.appShell,.main,.advisorApp,.advisorMain,#stdMetricsApp,.metricsMain,.stdMetricsMain54,.view,.advisorView,.card,.advisorCard{min-width:0!important;max-width:100%}
img,svg,canvas{max-width:100%}
.tableWrap,.advisorTableWrap,.crmFinalTableWrap,.cobTableWrap,.metricTableWrap,.expFilesTableWrap{max-width:100%!important;-webkit-overflow-scrolling:touch}

@media(max-width:900px){
  /* Atención / configuración: sidebar compacto horizontal. */
  body.portalAttention .appShell,body.portalConfig .appShell{display:block!important;min-height:100dvh!important}
  body.portalAttention .sidebar,body.portalConfig .sidebar{position:sticky!important;top:0!important;z-index:80!important;height:auto!important;min-height:0!important;width:100%!important;padding:9px 10px!important;gap:7px!important;border-right:0!important;border-bottom:1px solid #d7e4ef!important;background:rgba(255,255,255,.97)!important;backdrop-filter:none!important}
  body.portalAttention .brandBlock,body.portalConfig .brandBlock{padding:2px 4px 7px!important;gap:8px!important}
  body.portalAttention .brandBlock img,body.portalConfig .brandBlock img{width:34px!important;height:34px!important}
  body.portalAttention .brandBlock strong,body.portalConfig .brandBlock strong{font-size:14px!important}
  body.portalAttention .brandBlock span,body.portalConfig .brandBlock span{display:none!important}
  body.portalAttention #mainNav,body.portalConfig #mainNav{display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;gap:5px!important;padding:0 0 2px!important;scrollbar-width:none!important;flex:0 0 auto!important}
  body.portalAttention #mainNav::-webkit-scrollbar,body.portalConfig #mainNav::-webkit-scrollbar{display:none}
  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}
  body.portalAttention #mainNav .navParent,body.portalAttention #mainNav .navLeaf,body.portalConfig #mainNav .navParent,body.portalConfig #mainNav .navLeaf{padding:9px 11px!important;border-radius:11px!important;white-space:nowrap!important}
  body.portalAttention #mainNav .navChildren,body.portalConfig #mainNav .navChildren{position:absolute!important;left:8px!important;right:8px!important;top:100%!important;z-index:100!important;background:#fff!important;border:1px solid #d7e5f0!important;border-radius:12px!important;box-shadow:0 14px 36px rgba(9,44,77,.2)!important;padding:7px!important;max-height:55vh!important;overflow:auto!important}
  body.portalAttention .sideFoot,body.portalConfig .sideFoot{display:none!important}
  body.portalAttention .main,body.portalConfig .main{padding:12px 11px calc(24px + var(--std97-safe-bottom))!important;width:100%!important}
  body.portalAttention .topbar,body.portalConfig .topbar{margin-bottom:12px!important;align-items:flex-start!important}.topbar h1{font-size:22px!important}

  /* Asesoría: no sidebar a media pantalla; navegación horizontal. */
  body.portalAdvisory #advisorApp{display:block!important;min-height:100dvh!important}
  body.portalAdvisory .advisorSide{position:sticky!important;top:0!important;z-index:80!important;height:auto!important;min-height:0!important;width:100%!important;padding:9px 10px!important;background:linear-gradient(100deg,#09274b,#0a3d70)!important}
  body.portalAdvisory .advisorBrand{display:none!important}
  body.portalAdvisory .advisorNav{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:hidden!important;gap:6px!important;padding:0 0 3px!important;scrollbar-width:none!important}
  body.portalAdvisory .advisorNav::-webkit-scrollbar{display:none}
  body.portalAdvisory .advisorNav button{flex:0 0 auto!important;width:auto!important;min-width:max-content!important;padding:9px 11px!important;border-radius:10px!important;white-space:nowrap!important}
  body.portalAdvisory .advisorNav button span{font-size:12px!important}
  body.portalAdvisory .advisorSideFoot{display:none!important}
  body.portalAdvisory .advisorMain{width:100%!important;padding:12px 10px calc(25px + var(--std97-safe-bottom))!important}
  body.portalAdvisory .advisorTop{margin-bottom:12px!important;gap:8px!important}.advisorTop h1{font-size:22px!important}.advisorTop p{font-size:12px!important}

  /* Métricas: sidebar deja de ocupar media pantalla. */
  body.portalMetrics #stdMetricsApp,body.portalMetrics #stdMetricsApp[data-std-metrics54="1"],body.portalMetrics #stdMetricsApp[data-std-metrics56="1"]{display:block!important;grid-template-columns:1fr!important;width:100%!important;min-height:100dvh!important;overflow-x:hidden!important}
  body.portalMetrics #stdMetricsApp .metricsSide,body.portalMetrics #stdMetricsApp .stdMetricsSide54{position:sticky!important;top:0!important;z-index:80!important;min-height:0!important;height:auto!important;width:100%!important;padding:9px 10px!important;background:linear-gradient(100deg,#071b36,#0a315d)!important}
  body.portalMetrics #stdMetricsApp .metricsBrand{display:none!important}
  body.portalMetrics #stdMetricsApp .metricsNav{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:hidden!important;gap:6px!important;padding:0 0 3px!important;scrollbar-width:none!important}
  body.portalMetrics #stdMetricsApp .metricsNav::-webkit-scrollbar{display:none}
  body.portalMetrics #stdMetricsApp .metricsNav button{flex:0 0 auto!important;min-width:max-content!important;width:auto!important;padding:9px 11px!important;border-radius:10px!important;white-space:nowrap!important}
  body.portalMetrics #stdMetricsApp .metricsSideFoot{display:none!important}
  body.portalMetrics #stdMetricsApp .metricsMain,body.portalMetrics #stdMetricsApp .stdMetricsMain54{width:100%!important;padding:12px 10px calc(25px + var(--std97-safe-bottom))!important;overflow-x:hidden!important}
  body.portalMetrics #stdMetricsApp .metricsTop{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  body.portalMetrics #stdMetricsApp .stdMetricHeading54 h1{font-size:22px!important;white-space:normal!important}
  body.portalMetrics #stdMetricsApp .metricsFilters{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.portalMetrics #stdMetricsApp .metricsFilters label:first-child{grid-column:1/-1!important}
  body.portalMetrics #stdMetricsApp .metricsFilters select{width:100%!important;min-width:0!important}
  body.portalMetrics #stdMetricsApp .metricSplit,body.portalMetrics #stdMetricsApp .stdMetricPanelsGrid59,body.portalMetrics #stdMetricsApp .stdPortfolioSplit54,body.portalMetrics #stdMetricsApp .stdPortfolioKpis54,body.portalMetrics #stdMetricsApp .stdFinanceKpis54{grid-template-columns:1fr!important}

  /* Handles de escritorio no aportan en móvil y disparaban trabajo extra. */
  .stdDragHandle,.std81647SortHandle,.advisorResizeHandle,[data-drag-handle]{display:none!important}
}

@media(max-width:720px){
  /* Leads como tarjetas táctiles. */
  #advisorViewLeads .leadHead8148{padding:14px 12px 10px!important;align-items:flex-start!important}
  #advisorViewLeads .leadHead8148 h2{font-size:20px!important;margin-bottom:3px!important}
  #advisorViewLeads .leadHead8148 p{font-size:12px!important}
  #advisorViewLeads .leadHeadActions{width:100%!important;margin:0!important;justify-content:space-between!important}
  #advisorViewLeads .stdLeadScope81647{flex:1 1 auto!important}
  #advisorViewLeads .stdLeadScope81647 button{flex:1 1 50%!important;padding:8px 7px!important}
  #advisorViewLeads .leadHeadActions>.advisorBtn{flex:0 0 auto!important}
  #advisorViewLeads .leadSearch8148{padding:9px 11px!important}
  #advisorViewLeads .leadSearch8148 input{font-size:16px!important;min-height:43px!important}
  #advisorViewLeads .leadBuckets8148,#advisorViewLeads .std-proposal-tabs{display:flex!important;overflow-x:auto!important;gap:6px!important;padding-left:10px!important;padding-right:10px!important;scrollbar-width:none!important}
  #advisorViewLeads .leadBuckets8148 button,#advisorViewLeads .std-proposal-tabs button{flex:0 0 auto!important;white-space:nowrap!important}
  #advisorViewLeads .advisorTableWrap{overflow:visible!important;border:0!important;background:transparent!important;padding:0 10px 8px!important}
  #advisorViewLeads .leadTable8148{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important;border:0!important;background:transparent!important}
  #advisorViewLeads .leadTable8148 colgroup,#advisorViewLeads .leadTable8148 thead{display:none!important}
  #advisorViewLeads .leadTable8148 tbody{display:grid!important;gap:10px!important;width:100%!important}
  #advisorViewLeads .leadTable8148 tr{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;padding:12px!important;border:1px solid #d9e6f1!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 20px rgba(17,54,91,.07)!important;gap:10px 12px!important}
  #advisorViewLeads .leadTable8148 tr.leadSelected81645{border-color:#37a4d5!important;box-shadow:0 0 0 2px rgba(55,164,213,.13),0 8px 22px rgba(17,54,91,.08)!important}
  #advisorViewLeads .leadTable8148 td{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;padding:0!important;border:0!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;background:transparent!important}
  #advisorViewLeads .leadTable8148 td[data-field="nombre"]{grid-column:1/-1!important;padding-bottom:8px!important;border-bottom:1px solid #edf2f7!important}
  #advisorViewLeads .leadTable8148 td[data-field="acreedores"],#advisorViewLeads .leadTable8148 td[data-field="ultima"],#advisorViewLeads .leadTable8148 td[data-field="acciones"]{grid-column:1/-1!important}
  #advisorViewLeads .leadTable8148 td:not([data-field="nombre"])::before{content:attr(data-field);display:block;margin-bottom:4px;text-transform:uppercase;font-size:9px;letter-spacing:.06em;font-weight:950;color:#8294a6}
  #advisorViewLeads .leadTable8148 td[data-field="asesor"]::before{content:'Asesor'}#advisorViewLeads .leadTable8148 td[data-field="acreedores"]::before{content:'Acreedores'}#advisorViewLeads .leadTable8148 td[data-field="ultima"]::before{content:'Última acción'}#advisorViewLeads .leadTable8148 td[data-field="estatus"]::before{content:'Estatus'}#advisorViewLeads .leadTable8148 td[data-field="fecha"]::before{content:'Fecha'}#advisorViewLeads .leadTable8148 td[data-field="acciones"]::before{content:'Acciones'}
  #advisorViewLeads .advisorLeadCell{align-items:center!important;min-width:0!important}#advisorViewLeads .advisorLeadCell>div{min-width:0!important}#advisorViewLeads .advisorLeadCell small{white-space:normal!important;overflow-wrap:anywhere!important}
  #advisorViewLeads .leadNameLink8149{font-size:15px!important;text-align:left!important;white-space:normal!important}
  #advisorViewLeads .leadAdvisorSelect8150,#advisorViewLeads .leadStatusSelect{width:100%!important;min-width:0!important;max-width:100%!important}
  #advisorViewLeads .leadActionBar,#advisorViewLeads .templateActions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:7px!important}#advisorViewLeads .leadActionBar .advisorBtn,#advisorViewLeads .templateActions .advisorBtn{width:100%!important;justify-content:center!important}
  #advisorViewLeads .leadPager8148{grid-template-columns:1fr!important;text-align:center!important;padding:11px!important;gap:8px!important}#advisorViewLeads .leadPager8148>div:last-child{text-align:center!important}#advisorViewLeads .leadPager8148 nav{justify-content:center!important;overflow-x:auto!important}

  /* Modal CRM de pantalla completa usable con una mano. */
  dialog.stdDialog,#dlgCliente{width:100vw!important;max-width:100vw!important;height:min(100dvh,100vh)!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;inset:0!important}
  .dlgHead{padding:13px 13px!important;gap:9px!important;position:sticky!important;top:0!important;background:#fff!important;z-index:10!important}.dlgHead h3{font-size:21px!important;line-height:1.15!important}.dlgHead p{font-size:12px!important}.dlgHead button{width:40px!important;height:40px!important;flex:0 0 auto!important}
  .dlgBody{padding:12px 11px calc(22px + var(--std97-safe-bottom))!important;overflow-x:hidden!important}
  .clientTabs{display:flex!important;overflow-x:auto!important;gap:6px!important;scrollbar-width:none!important}.clientTabs button{flex:0 0 auto!important;min-width:max-content!important;padding:10px 13px!important;white-space:nowrap!important}
  .clientGeneralGrid,.detailGrid{grid-template-columns:1fr!important;display:grid!important;gap:9px!important}
  .clientGeneralGrid .emailField,.clientGeneralGrid .detailField,.detailGrid .detailField{grid-column:auto!important;width:100%!important;min-width:0!important}
  .clientGeneralGrid .detailField,.detailField{padding:12px!important;border-radius:14px!important}.clientGeneralGrid .detailField b,.detailField b{font-size:16px!important;line-height:1.3!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .movementGroups{grid-template-columns:1fr!important;gap:9px!important}.movementGroup{padding:11px!important}.movementGroup>div{display:grid!important;grid-template-columns:1fr!important}.movementGroup button{width:100%!important;justify-content:center!important;min-height:42px!important}
  .actionsBox{display:grid!important;grid-template-columns:1fr!important}.actionsBox button{width:100%!important}
  .leadDocumentActions8150{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.leadDocumentActions8150 button{width:100%!important}

  /* Formularios / tarjetas / permisos. */
  .grid.kpis,.moduleGrid,.layout2,.reportBuilder,.checkGrid,.filterBar,.advisorKpis,.advisorGrid,.performanceGrid,.calcGrid,.templateGrid,.guideGrid,.stdPermSwitchGrid,.stdPermModules{grid-template-columns:1fr!important}
  .card,.advisorCard{border-radius:16px!important;padding:12px!important}
  .filterBar input,.filterBar select,.filterBar button{min-width:0!important;width:100%!important}
  .stdPermPageHead,.stdPermAreaHead,.stdPermModule summary{min-width:0!important;gap:8px!important}.stdPermPageHead{flex-direction:column!important;align-items:stretch!important}
  .stdPermSwitch{min-width:0!important}.stdPermSwitch span{min-width:0!important;overflow-wrap:anywhere!important}

  /* Tablas que aún no tienen modo tarjeta: scroll explícito en vez de comprimir letras. */
  .stdTable,.crmFinalTable,.cobTable,.expFilesTable,.stdMetricTable54{min-width:760px!important}
  .tableWrap,.crmFinalTableWrap,.cobTableWrap,.expFilesTableWrap,.metricTableWrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

  .stdToastStack81697{right:10px!important;left:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:auto!important}.stdToast81697{grid-template-columns:38px minmax(0,1fr) 26px!important;padding:10px!important}.stdToast81697 .stdToastIcon81697{width:38px!important;height:38px!important}
}

@media(max-width:430px){
  body.portalMetrics #stdMetricsApp .metricsFilters{grid-template-columns:1fr!important}body.portalMetrics #stdMetricsApp .metricsFilters label:first-child{grid-column:auto!important}
  #advisorViewLeads .leadTable8148 tr{grid-template-columns:1fr!important}#advisorViewLeads .leadTable8148 td{grid-column:1/-1!important}
  #advisorViewLeads .leadHeadActions{display:grid!important;grid-template-columns:1fr auto!important}#advisorViewLeads .stdLeadScope81647{min-width:0!important}
}
