/* ======================================================================
   CEREBRO CUIK · RESPONSIVE MOBILE HARDENING v5.0.4
   Android · iPhone/iOS · otros smartphones · PWA standalone
   Esta capa complementa los estilos de cada modulo sin alterar RBAC,
   rutas, datos, navegacion ni logica de negocio.
   ====================================================================== */

:root{
  --cuik-safe-top:env(safe-area-inset-top,0px);
  --cuik-safe-right:env(safe-area-inset-right,0px);
  --cuik-safe-bottom:env(safe-area-inset-bottom,0px);
  --cuik-safe-left:env(safe-area-inset-left,0px);
  --cuik-touch:44px;
}

html{
  width:100%;
  max-width:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
}

body[class*="cuik-page-"]{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  overscroll-behavior-x:none;
}

body[class*="cuik-page-"] *,
body[class*="cuik-page-"] *::before,
body[class*="cuik-page-"] *::after{
  box-sizing:border-box;
}

body[class*="cuik-page-"] img,
body[class*="cuik-page-"] video,
body[class*="cuik-page-"] canvas{
  max-width:100%;
}
body[class*="cuik-page-"] svg{max-width:100%}
body[class*="cuik-page-"] input,
body[class*="cuik-page-"] select,
body[class*="cuik-page-"] textarea,
body[class*="cuik-page-"] button{max-width:100%}
body[class*="cuik-page-"] input[type="file"]{width:100%}
body[class*="cuik-page-"] pre,
body[class*="cuik-page-"] code{overflow-wrap:anywhere}

/* Evita zoom automatico de Safari iOS al enfocar formularios. */
@media (max-width:900px){
  body[class*="cuik-page-"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  body[class*="cuik-page-"] select,
  body[class*="cuik-page-"] textarea{
    font-size:16px!important;
  }

  body[class*="cuik-page-"] button,
  body[class*="cuik-page-"] [role="button"],
  body[class*="cuik-page-"] a.btn,
  body[class*="cuik-page-"] a.button,
  body[class*="cuik-page-"] .btn,
  body[class*="cuik-page-"] .button,
  body[class*="cuik-page-"] .icon-btn,
  body[class*="cuik-page-"] .icon-button,
  body[class*="cuik-page-"] .geo-button,
  body[class*="cuik-page-"] .geo-icon-button,
  body[class*="cuik-page-"] .fichas-button,
  body[class*="cuik-page-"] .fichas-icon-button,
  body[class*="cuik-page-"] .soc-btn,
  body[class*="cuik-page-"] .primary-button,
  body[class*="cuik-page-"] .secondary-button{
    min-height:var(--cuik-touch);
    touch-action:manipulation;
  }

  body[class*="cuik-page-"] .topbar,
  body[class*="cuik-page-"] .core-shell-topbar,
  body[class*="cuik-page-"] .fichas-topbar,
  body[class*="cuik-page-"] .eb-topbar,
  body[class*="cuik-page-"] .territorial-topbar,
  body[class*="cuik-page-"] .push-topbar,
  body[class*="cuik-page-"] .soc-topbar,
  body[class*="cuik-page-"] .geo-topbar{
    height:auto!important;
    min-height:calc(60px + var(--cuik-safe-top));
    padding-top:max(0px,var(--cuik-safe-top));
  }

  body[class*="cuik-page-"] .toast,
  body[class*="cuik-page-"] .geo-toast,
  body[class*="cuik-page-"] [class*="notification-toast"]{
    right:max(10px,var(--cuik-safe-right))!important;
    bottom:max(10px,var(--cuik-safe-bottom))!important;
    left:max(10px,var(--cuik-safe-left));
    width:auto!important;
    max-width:none!important;
  }

  body[class*="cuik-page-"] .table-wrap,
  body[class*="cuik-page-"] .table-scroll,
  body[class*="cuik-page-"] .table-container,
  body[class*="cuik-page-"] .geo-table-wrap,
  body[class*="cuik-page-"] .soc-table-wrap,
  body[class*="cuik-page-"] .tracking-table-wrap,
  body[class*="cuik-page-"] .ai-table-wrap,
  body[class*="cuik-page-"] .additional-table-wrap,
  body[class*="cuik-page-"] .growth-trend-table-wrap{
    max-width:100%;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
}

@media (pointer:coarse){
  body[class*="cuik-page-"] button,
  body[class*="cuik-page-"] a,
  body[class*="cuik-page-"] select,
  body[class*="cuik-page-"] input[type="checkbox"],
  body[class*="cuik-page-"] input[type="radio"]{
    touch-action:manipulation;
  }
}

/* ----------------------------------------------------------------------
   HOME MODULAR
   ---------------------------------------------------------------------- */
@media (max-width:820px){
  .cuik-page-inicio .topbar{
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-inicio main{
    width:100%;
    max-width:100%;
    padding-left:max(14px,var(--cuik-safe-left))!important;
    padding-right:max(14px,var(--cuik-safe-right))!important;
    padding-bottom:max(20px,var(--cuik-safe-bottom))!important;
  }
  .cuik-page-inicio .stage,
  .cuik-page-inicio .center,
  .cuik-page-inicio .brain-wrap,
  .cuik-page-inicio .col,
  .cuik-page-inicio .module-card{min-width:0;max-width:100%}
}

/* ----------------------------------------------------------------------
   DASHBOARD BI PRINCIPAL
   ---------------------------------------------------------------------- */
@media (max-width:900px){
  .cuik-page-dashboard .core-shell,
  .cuik-page-dashboard .core-shell-main,
  .cuik-page-dashboard .core-shell-content,
  .cuik-page-dashboard main,
  .cuik-page-dashboard section,
  .cuik-page-dashboard article{min-width:0;max-width:100%}
  .cuik-page-dashboard .core-shell-sidebar{width:min(84vw,290px)!important;max-width:290px}
  .cuik-page-dashboard .core-shell-topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(12px,var(--cuik-safe-left))!important;
    padding-right:max(12px,var(--cuik-safe-right))!important;
  }
  .cuik-page-dashboard .core-shell-primary-actions,
  .cuik-page-dashboard .hero-actions,
  .cuik-page-dashboard .summary-title-actions,
  .cuik-page-dashboard .executive-stage-actions,
  .cuik-page-dashboard .semantic-ai-actions{flex-wrap:wrap;max-width:100%}
  .cuik-page-dashboard .filter-toolbar,
  .cuik-page-dashboard .filter-chip-panel{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cuik-page-dashboard .kpi-modal,
  .cuik-page-dashboard .core-modal-backdrop{
    padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important;
  }
  .cuik-page-dashboard .kpi-modal-card,
  .cuik-page-dashboard [class*="modal-card"]{
    width:min(100%,calc(100vw - 16px))!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    overflow:auto;
  }
}
@media (max-width:760px){
  .cuik-page-dashboard .hero-grid,
  .cuik-page-dashboard .dashboard-grid,
  .cuik-page-dashboard .chart-grid,
  .cuik-page-dashboard .filter-grid,
  .cuik-page-dashboard .meta-grid,
  .cuik-page-dashboard .source-grid,
  .cuik-page-dashboard .business-type-grid,
  .cuik-page-dashboard .semantic-ai-grid,
  .cuik-page-dashboard .ai-grid,
  .cuik-page-dashboard .additional-service-grid,
  .cuik-page-dashboard .additional-load-panel{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cuik-page-dashboard .kpi-grid,
  .cuik-page-dashboard .ai-score-grid,
  .cuik-page-dashboard .additional-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .cuik-page-dashboard .core-shell-primary-actions{width:100%;justify-content:flex-start}
  .cuik-page-dashboard .chart,
  .cuik-page-dashboard [class*="chart-"]{max-width:100%;min-width:0}
}
@media (max-width:420px){
  .cuik-page-dashboard .kpi-grid,
  .cuik-page-dashboard .ai-score-grid,
  .cuik-page-dashboard .additional-kpi-grid{grid-template-columns:1fr!important}
  .cuik-page-dashboard .core-shell-primary-actions>*{flex:1 1 calc(50% - 6px);min-width:0}
}

/* ----------------------------------------------------------------------
   CAMPAÑA REFIERE
   ---------------------------------------------------------------------- */
@media (max-width:900px){
  .cuik-page-campana .app{width:100%;max-width:100%;min-width:0}
  .cuik-page-campana .topbar{
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-campana .panel,
  .cuik-page-campana .chart-card,
  .cuik-page-campana .table-panel{min-width:0;max-width:100%}
  .cuik-page-campana .modal{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-campana .modal-card{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
}
@media (max-width:760px){
  .cuik-page-campana .upload-grid,
  .cuik-page-campana .dashboard-grid,
  .cuik-page-campana .three-grid,
  .cuik-page-campana .detail-grid,
  .cuik-page-campana .insight-grid{grid-template-columns:1fr!important}
  .cuik-page-campana .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cuik-page-campana .top-actions{max-width:100%;flex-wrap:wrap!important}
}
@media (max-width:430px){
  .cuik-page-campana .kpi-grid{grid-template-columns:1fr!important}
  .cuik-page-campana .top-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ----------------------------------------------------------------------
   CONSULTAR FICHAS 360
   ---------------------------------------------------------------------- */
@media (max-width:820px){
  .cuik-page-fichas .fichas-app,
  .cuik-page-fichas .fichas-layout,
  .cuik-page-fichas .fichas-main,
  .cuik-page-fichas .fichas-results{min-width:0;max-width:100%}
  .cuik-page-fichas .fichas-sidebar{width:min(86vw,300px)!important;max-width:300px}
  .cuik-page-fichas .fichas-topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-fichas .fichas-actions{flex-wrap:wrap;max-width:100%}
  .cuik-page-fichas .fichas-search-row,
  .cuik-page-fichas .fichas-source-grid{grid-template-columns:1fr!important}
  .cuik-page-fichas .fichas-search-field,
  .cuik-page-fichas .fichas-search-button,
  .cuik-page-fichas .fichas-clear-button{width:100%;min-width:0}
  .cuik-page-fichas .fichas-modal{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-fichas .fichas-modal-card,
  .cuik-page-fichas .fichas-history-modal-card,
  .cuik-page-fichas .fichas-empty-modal-card,
  .cuik-page-fichas .fichas-shield-card{
    width:100%!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    overflow:auto;
  }
}
@media (max-width:520px){
  .cuik-page-fichas .fichas-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .cuik-page-fichas .fichas-actions>*{width:100%;min-width:0}
  .cuik-page-fichas .fichas-master-actions{display:grid!important;grid-template-columns:1fr;width:100%}
}

/* ----------------------------------------------------------------------
   EVALUACIÓN DE DESEMPEÑO
   ---------------------------------------------------------------------- */
@media (max-width:900px){
  .cuik-page-evaluacion .app,
  .cuik-page-evaluacion .main{min-width:0;max-width:100%}
  .cuik-page-evaluacion .sidebar{width:min(86vw,300px)!important;max-width:300px}
  .cuik-page-evaluacion .topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-evaluacion .top-actions{max-width:100%;flex-wrap:wrap}
  .cuik-page-evaluacion .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cuik-page-evaluacion .modal{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-evaluacion .modal-card{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
}
@media (max-width:760px){
  .cuik-page-evaluacion .filters,
  .cuik-page-evaluacion .chart-grid,
  .cuik-page-evaluacion .profile-grid,
  .cuik-page-evaluacion .profile-form,
  .cuik-page-evaluacion .insight-grid,
  .cuik-page-evaluacion .ai-plan-grid{grid-template-columns:1fr!important}
  .cuik-page-evaluacion .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:430px){.cuik-page-evaluacion .kpi-grid{grid-template-columns:1fr!important}}

/* ----------------------------------------------------------------------
   EVENTOS Y BAZARES
   ---------------------------------------------------------------------- */
@media (max-width:900px){
  .cuik-page-eventos .eb-shell,
  .cuik-page-eventos .eb-main{min-width:0;max-width:100%}
  .cuik-page-eventos .eb-sidebar{width:min(86vw,280px)!important;max-width:280px}
  .cuik-page-eventos .eb-topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-eventos .topbar-actions{flex-wrap:wrap;max-width:100%}
  .cuik-page-eventos .modal-backdrop{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-eventos .modal{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
}
@media (max-width:680px){
  .cuik-page-eventos .filters,
  .cuik-page-eventos .charts-grid,
  .cuik-page-eventos .bottom-grid,
  .cuik-page-eventos .billing-grid,
  .cuik-page-eventos .event-cards,
  .cuik-page-eventos .form-grid,
  .cuik-page-eventos .check-grid{grid-template-columns:1fr!important}
  .cuik-page-eventos .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cuik-page-eventos .hero-actions>*{width:100%}
}
@media (max-width:420px){.cuik-page-eventos .kpi-grid{grid-template-columns:1fr!important}}

/* ----------------------------------------------------------------------
   EXPERIENCIA DEL COMERCIO
   ---------------------------------------------------------------------- */
@media (max-width:900px){
  .cuik-page-experiencia .app,
  .cuik-page-experiencia .main{min-width:0;max-width:100%}
  .cuik-page-experiencia .sidebar{width:min(86vw,290px)!important;max-width:290px}
  .cuik-page-experiencia .topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-experiencia .topbar-right{max-width:100%;flex-wrap:wrap}
  .cuik-page-experiencia .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cuik-page-experiencia .modal-backdrop{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-experiencia .modal{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
  .cuik-page-experiencia .chart-fullscreen{inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important;padding-bottom:var(--cuik-safe-bottom)!important}
}
@media (max-width:760px){
  .cuik-page-experiencia .content-grid,
  .cuik-page-experiencia .charts-grid,
  .cuik-page-experiencia .form-grid{grid-template-columns:1fr!important}
  .cuik-page-experiencia .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:420px){.cuik-page-experiencia .kpi-grid{grid-template-columns:1fr!important}}

/* ----------------------------------------------------------------------
   GEOREGISTRY PRO
   ---------------------------------------------------------------------- */
@media (max-width:980px){
  .cuik-page-georegistry .geo-app,
  .cuik-page-georegistry .geo-main{min-width:0;max-width:100%}
  .cuik-page-georegistry .geo-sidebar{width:min(86vw,290px)!important;max-width:290px}
  .cuik-page-georegistry .geo-topbar{
    flex-wrap:wrap;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-georegistry .geo-mobile-actions,
  .cuik-page-georegistry .geo-sidebar-actions,
  .cuik-page-georegistry .geo-followup-head-actions{max-width:100%;flex-wrap:wrap}
  .cuik-page-georegistry .geo-map-grid,
  .cuik-page-georegistry .geo-chart-grid,
  .cuik-page-georegistry .geo-team-grid,
  .cuik-page-georegistry .geo-operations-grid{grid-template-columns:1fr!important}
  .cuik-page-georegistry .geo-modal-backdrop{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-georegistry .geo-modal{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
}
@media (max-width:650px){
  .cuik-page-georegistry .geo-filterbar,
  .cuik-page-georegistry .geo-form{grid-template-columns:1fr!important}
  .cuik-page-georegistry .geo-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cuik-page-georegistry .geo-map{height:clamp(320px,55dvh,430px)!important}
  .cuik-page-georegistry .geo-map-panel:fullscreen{height:100dvh!important;padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-georegistry .geo-form-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .cuik-page-georegistry .geo-form-actions>*{width:100%}
}
@media (max-width:390px){.cuik-page-georegistry .geo-kpi-grid{grid-template-columns:1fr!important}}

/* ----------------------------------------------------------------------
   GESTIÓN TERRITORIAL
   ---------------------------------------------------------------------- */
@media (max-width:1024px){
  .cuik-page-territorial .territorial-shell,
  .cuik-page-territorial .territorial-main{min-width:0;max-width:100%}
  .cuik-page-territorial .territorial-sidebar{width:min(86vw,290px)!important;max-width:290px}
  .cuik-page-territorial .territorial-topbar{
    flex-wrap:wrap;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-territorial .topbar-actions{max-width:100%;flex-wrap:wrap}
  .cuik-page-territorial .territorial-modal-backdrop{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-territorial .territorial-modal{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
}
@media (max-width:720px){
  .cuik-page-territorial .upload-grid,
  .cuik-page-territorial .main-grid,
  .cuik-page-territorial .charts-grid,
  .cuik-page-territorial .bottom-grid,
  .cuik-page-territorial .filters{grid-template-columns:1fr!important}
  .cuik-page-territorial .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cuik-page-territorial .table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}
@media (max-width:420px){.cuik-page-territorial .kpi-grid{grid-template-columns:1fr!important}}

/* ----------------------------------------------------------------------
   CENTRO DE CONOCIMIENTO
   ---------------------------------------------------------------------- */
@media (max-width:1080px){
  .cuik-page-knowledge .app-shell,
  .cuik-page-knowledge .main-content,
  .cuik-page-knowledge main{min-width:0;max-width:100%}
  .cuik-page-knowledge .sidebar{width:min(86vw,300px)!important;max-width:300px}
  .cuik-page-knowledge .topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-knowledge .top-actions,
  .cuik-page-knowledge .chat-head-actions{max-width:100%;flex-wrap:wrap}
  .cuik-page-knowledge .tracking-table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .cuik-page-knowledge .modal{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-knowledge .modal-card{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
}
@media (max-width:720px){
  .cuik-page-knowledge .dashboard-grid,
  .cuik-page-knowledge .premium-dashboard-grid,
  .cuik-page-knowledge .analytics-grid,
  .cuik-page-knowledge .quick-grid,
  .cuik-page-knowledge .document-grid,
  .cuik-page-knowledge .course-grid,
  .cuik-page-knowledge .filters,
  .cuik-page-knowledge .premium-filters,
  .cuik-page-knowledge .tracking-filters{grid-template-columns:1fr!important}
  .cuik-page-knowledge .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cuik-page-knowledge .filter-search{width:100%!important;max-width:none!important}
}
@media (max-width:420px){.cuik-page-knowledge .kpi-grid{grid-template-columns:1fr!important}}

/* ----------------------------------------------------------------------
   MENSAJES PUSH
   ---------------------------------------------------------------------- */
@media (max-width:850px){
  .cuik-page-push .push-shell,
  .cuik-page-push .push-main{min-width:0;max-width:100%}
  .cuik-page-push .push-sidebar{width:min(86vw,280px)!important;max-width:280px}
  .cuik-page-push .push-topbar{
    flex-wrap:wrap;
    gap:8px;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-push .analytics-grid,
  .cuik-page-push .composer-grid{grid-template-columns:1fr!important}
  .cuik-page-push .table-scroll{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .cuik-page-push .modal-backdrop{padding:max(8px,var(--cuik-safe-top)) max(8px,var(--cuik-safe-right)) max(8px,var(--cuik-safe-bottom)) max(8px,var(--cuik-safe-left))!important}
  .cuik-page-push .modal-card{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
}
@media (max-width:560px){
  .cuik-page-push .kpi-grid,
  .cuik-page-push .form-grid,
  .cuik-page-push .audience-grid,
  .cuik-page-push .preview-column,
  .cuik-page-push .security-alert-controls,
  .cuik-page-push .security-alert-stats{grid-template-columns:1fr!important}
  .cuik-page-push .form-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .cuik-page-push .form-actions>*{width:100%}
}

/* ----------------------------------------------------------------------
   SOC LIVE / CYBER DEFENSE
   ---------------------------------------------------------------------- */
@media (max-width:980px){
  .cuik-page-soc .soc-shell,
  .cuik-page-soc .soc-main{min-width:0;max-width:100%}
  .cuik-page-soc .soc-topbar{
    flex-wrap:wrap;
    padding-left:max(10px,var(--cuik-safe-left))!important;
    padding-right:max(10px,var(--cuik-safe-right))!important;
  }
  .cuik-page-soc .soc-actions,
  .cuik-page-soc .soc-panel-actions,
  .cuik-page-soc .soc-defense-actions{max-width:100%;flex-wrap:wrap}
  .cuik-page-soc .soc-grid-command,
  .cuik-page-soc .soc-grid-analytics,
  .cuik-page-soc .soc-grid-users,
  .cuik-page-soc .soc-grid-three,
  .cuik-page-soc .soc-grid-fichas,
  .cuik-page-soc .soc-grid-defense,
  .cuik-page-soc .soc-grid-appfw,
  .cuik-page-soc .soc-defense-detail-grid,
  .cuik-page-soc .soc-defense-intel-grid,
  .cuik-page-soc .soc-ficha-perf-grid{grid-template-columns:1fr!important}
  .cuik-page-soc .soc-table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .cuik-page-soc .soc-defense-modal,
  .cuik-page-soc .soc-logout-modal{width:100%!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow:auto}
}
@media (max-width:680px){
  .cuik-page-soc .soc-kpis,
  .cuik-page-soc .soc-defense-kpis,
  .cuik-page-soc .soc-appfw-kpis,
  .cuik-page-soc .soc-ficha-perf-kpis,
  .cuik-page-soc .soc-ficha-rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cuik-page-soc .soc-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .cuik-page-soc .soc-actions>*{width:100%;min-width:0}
  .cuik-page-soc .soc-card-expanded{inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding-bottom:var(--cuik-safe-bottom)!important}
}
@media (max-width:390px){
  .cuik-page-soc .soc-kpis,
  .cuik-page-soc .soc-defense-kpis,
  .cuik-page-soc .soc-appfw-kpis,
  .cuik-page-soc .soc-ficha-perf-kpis,
  .cuik-page-soc .soc-ficha-rank-grid{grid-template-columns:1fr!important}
}

/* ----------------------------------------------------------------------
   FLUJOS PÚBLICOS: EXPERIENCIA Y REFIERE
   ---------------------------------------------------------------------- */
@media (max-width:640px){
  .cuik-page-public-experiencia .wrap,
  .cuik-page-public-refiere .wrap{
    width:100%!important;
    max-width:100%!important;
    padding-left:max(12px,var(--cuik-safe-left))!important;
    padding-right:max(12px,var(--cuik-safe-right))!important;
    padding-bottom:max(18px,var(--cuik-safe-bottom))!important;
  }
  .cuik-page-public-experiencia .card,
  .cuik-page-public-refiere .card{width:100%;max-width:100%}
  .cuik-page-public-experiencia .grid,
  .cuik-page-public-refiere .grid{grid-template-columns:1fr!important}
  .cuik-page-public-experiencia .field.full,
  .cuik-page-public-refiere .field.full{grid-column:1!important}
  .cuik-page-public-experiencia .actions,
  .cuik-page-public-refiere .actions{display:grid!important;grid-template-columns:1fr;gap:8px}
  .cuik-page-public-experiencia .actions>* ,
  .cuik-page-public-refiere .actions>*{width:100%}
  .cuik-page-public-experiencia .rating{display:grid!important;grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px}
  .cuik-page-public-experiencia .rate{min-width:44px;min-height:44px}
}

/* ----------------------------------------------------------------------
   PANTALLAS MUY ESTRECHAS Y LANDSCAPE DE SMARTPHONE
   ---------------------------------------------------------------------- */
@media (max-width:360px){
  body[class*="cuik-page-"]{--cuik-touch:42px}
  body[class*="cuik-page-"] h1{overflow-wrap:anywhere}
  body[class*="cuik-page-"] .title-wrap,
  body[class*="cuik-page-"] .topbar-title,
  body[class*="cuik-page-"] .geo-title-block{min-width:0}
}

@media (orientation:landscape) and (max-height:540px) and (max-width:960px){
  body[class*="cuik-page-"] .sidebar,
  body[class*="cuik-page-"] .geo-sidebar,
  body[class*="cuik-page-"] .fichas-sidebar,
  body[class*="cuik-page-"] .eb-sidebar,
  body[class*="cuik-page-"] .territorial-sidebar,
  body[class*="cuik-page-"] .push-sidebar{overflow-y:auto;-webkit-overflow-scrolling:touch}
  body[class*="cuik-page-"] .modal-card,
  body[class*="cuik-page-"] .geo-modal,
  body[class*="cuik-page-"] .fichas-modal-card,
  body[class*="cuik-page-"] .territorial-modal,
  body[class*="cuik-page-"] .soc-defense-modal,
  body[class*="cuik-page-"] .soc-logout-modal{max-height:calc(100dvh - 8px)!important}
  .cuik-page-georegistry .geo-map{height:72dvh!important;min-height:260px}
}

@media (prefers-reduced-motion:reduce){
  body[class*="cuik-page-"] *,
  body[class*="cuik-page-"] *::before,
  body[class*="cuik-page-"] *::after{
    scroll-behavior:auto!important;
  }
}

/* Safe-area adicional para PWA en iPhone con notch / Dynamic Island. */
@media (max-width:1024px){
  body[class*="cuik-page-"] .sidebar,
  body[class*="cuik-page-"] .core-shell-sidebar,
  body[class*="cuik-page-"] .geo-sidebar,
  body[class*="cuik-page-"] .fichas-sidebar,
  body[class*="cuik-page-"] .eb-sidebar,
  body[class*="cuik-page-"] .territorial-sidebar,
  body[class*="cuik-page-"] .push-sidebar{
    padding-top:max(12px,var(--cuik-safe-top))!important;
    padding-bottom:max(12px,var(--cuik-safe-bottom))!important;
  }
}

@supports (-webkit-touch-callout:none){
  body[class*="cuik-page-"]{min-height:-webkit-fill-available}
}


/* v5.0.6.0 · endurecimiento responsive transversal */
@media(max-width:1024px){body[class*="cuik-page-"] :is(.topbar,.core-shell-topbar,.geo-topbar,.fichas-topbar,.eb-topbar,.territorial-topbar){max-width:100vw;overflow:visible}body[class*="cuik-page-"] :is(.table-wrap,.table-scroll){max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}body[class*="cuik-page-"] img,body[class*="cuik-page-"] canvas,body[class*="cuik-page-"] svg{max-width:100%}}
@media(max-width:640px){body[class*="cuik-page-"] :is(.topbar-actions,.actions,.geo-header-actions,.fichas-actions,.cal-actions){gap:6px!important}body[class*="cuik-page-"] :is(.icon-button,.icon-btn,.cuik-notification-button){min-width:42px!important;min-height:42px!important}body[class*="cuik-page-"] .modal-backdrop{padding:8px!important}}
