
/* ============================================================
   SUPERSWISH - Visual completo, todo visible, sin pérdidas
   Objetivo:
   - no ocultar iconos ni contenido
   - no pantalla negra
   - no botones cortados
   - tablas completas con scroll horizontal
   - Android/WebView estable sin esconder secciones
   ============================================================ */

*,
*::before,
*::after{
  box-sizing:border-box !important;
}

html,
body{
  max-width:100% !important;
  min-height:100% !important;
  overflow-x:hidden !important;
  background:#ffffff !important;
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

/* Fondo limpio durante el arranque para que no aparezca negro */
body::before{
  content:'' !important;
  position:fixed !important;
  inset:0 !important;
  background:#ffffff !important;
  z-index:-2 !important;
  pointer-events:none !important;
}

/* No permitir que Android/WebView esconda contenido por optimización */
body,
#app,
.app,
main,
.container,
.card,
.section,
.panel,
.table-container,
.partner-panel-block,
#pedidosTableContainer,
#misEntregasContainer,
#deliveryActionOrdersContainer{
  content-visibility:visible !important;
  contain:none !important;
}

/* Contenido general visible y no recortado */
.container,
.card,
.panel,
.section,
.dashboard,
.admin-panel,
.socio-panel{
  max-width:100% !important;
  overflow:visible !important;
}

/* Iconos, imágenes y logos siempre visibles */
img,
svg,
.logo,
.logo *,
.brand,
.brand *,
.icon,
.icon *,
[class*="icon"],
[class*="Icon"],
.emoji,
button,
.btn,
.notification-bell,
.floating-chat,
.chat-button,
.install-button{
  visibility:visible !important;
  opacity:1 !important;
  max-width:100% !important;
}

img,
svg{
  height:auto;
}

button,
.btn{
  pointer-events:auto !important;
}

/* No esconder bloques importantes aunque sea móvil */
.hero,
.hero-section,
.landing-hero,
.category-strip,
.category-row,
.filters,
.tabs,
.nav,
.navbar,
.header,
.app-header,
.restaurant-card,
.menu-item,
.stat-card,
.payment-card,
.order-card,
.notification-panel,
.modal,
.modal-content{
  visibility:visible !important;
  opacity:1 !important;
}

/* Si algún fix anterior añadió clases de modo ligero, no deben esconder contenido */
html.android-lite,
body.android-lite{
  background:#ffffff !important;
}

body.android-lite img,
body.android-lite svg{
  opacity:1 !important;
  visibility:visible !important;
}

/* Floating buttons dentro de pantalla, sin tapar demasiado ni perderse */
.notification-bell,
.floating-chat,
.chat-fab,
#notificationBell,
#chatFloatingButton{
  z-index:9999 !important;
  position:fixed !important;
}

.floating-chat,
.chat-fab,
#chatFloatingButton{
  right:max(14px, env(safe-area-inset-right)) !important;
  bottom:max(18px, env(safe-area-inset-bottom)) !important;
}

/* ============================================================
   TABLAS DE SOCIOS / DELIVERY
   ============================================================ */

#pedidosTableContainer,
#misEntregasContainer,
#deliveryActionOrdersContainer,
.partner-panel-block{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:visible !important;
  min-height:0 !important;
  height:auto !important;
}

/* La tabla ocupa todo el ancho del card. Si no cabe, se desliza. */
.ssw-orders-scroll,
.partner-panel-scroll,
.table-container{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  background:#ffffff !important;
  border:1px solid #e7edf5 !important;
  border-radius:18px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:0 8px 22px rgba(15,23,42,.055) !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  contain:none !important;
}

/* Tablas estilo web completo */
.ssw-orders-table,
.partner-table,
table{
  background:#ffffff;
}

.ssw-orders-table,
.partner-table{
  width:100% !important;
  min-width:1040px !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  margin:0 !important;
  color:#172033 !important;
  font-size:.84rem !important;
  min-height:0 !important;
  height:auto !important;
}

.ssw-orders-table thead,
.partner-table thead{
  display:table-header-group !important;
}

.ssw-orders-table tbody,
.partner-table tbody{
  display:table-row-group !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  background:#fff !important;
  content-visibility:visible !important;
}

.ssw-orders-table tr,
.partner-table tr{
  display:table-row !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  background:#fff !important;
  content-visibility:visible !important;
}

.ssw-orders-table th,
.ssw-orders-table td,
.partner-table th,
.partner-table td{
  display:table-cell !important;
  visibility:visible !important;
  opacity:1 !important;
  content-visibility:visible !important;
}

.ssw-orders-table thead th,
.partner-table thead th{
  background:#07306d !important;
  color:#fff !important;
  text-align:left !important;
  padding:12px 12px !important;
  font-weight:950 !important;
  font-size:.82rem !important;
  border-right:1px solid rgba(255,255,255,.13) !important;
  white-space:nowrap !important;
  vertical-align:middle !important;
}

.ssw-orders-table thead th:first-child,
.partner-table thead th:first-child{
  border-top-left-radius:16px !important;
}

.ssw-orders-table thead th:last-child,
.partner-table thead th:last-child{
  border-top-right-radius:16px !important;
  border-right:0 !important;
}

.ssw-orders-table tbody td,
.partner-table tbody td{
  padding:12px 12px !important;
  border-bottom:1px solid #edf2f7 !important;
  background:#fff !important;
  color:#1d2939 !important;
  font-weight:820 !important;
  vertical-align:middle !important;
  line-height:1.18 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.ssw-orders-table tbody tr:nth-child(even) td,
.partner-table tbody tr:nth-child(even) td{
  background:#fcfdff !important;
}

/* Columnas amplias para que nada se corte */
.ssw-orders-table .col-order,
.partner-table .col-order{
  width:17% !important;
}

.ssw-orders-table .col-client,
.partner-table .col-client{
  width:14% !important;
}

.ssw-orders-table .col-driver,
.partner-table .col-driver,
.partner-table .col-main{
  width:16% !important;
}

.ssw-orders-table .col-total,
.partner-table .col-money,
.partner-table .col-total{
  width:10% !important;
}

.ssw-orders-table .col-status,
.partner-table .col-status{
  width:13% !important;
}

.ssw-orders-table .col-action,
.partner-table .col-action{
  width:30% !important;
  min-width:300px !important;
}

/* Texto de celdas importante visible */
.ssw-orders-table .order-num,
.ssw-orders-table .cell-strong,
.partner-table .order-num,
.partner-table .cell-strong{
  display:block !important;
  max-width:100% !important;
  color:#101828 !important;
  font-weight:950 !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.ssw-orders-table small,
.partner-table small{
  display:block !important;
  margin-top:3px !important;
  color:#475467 !important;
  font-size:.70rem !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.ssw-orders-table .muted,
.partner-table .muted{
  color:#667085 !important;
  font-weight:850 !important;
}

/* Estado */
.ssw-orders-table .status-badge,
.partner-table .status-badge,
.partner-status-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:27px !important;
  padding:5px 11px !important;
  border-radius:999px !important;
  font-size:.70rem !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  box-shadow:0 5px 13px rgba(15,23,42,.07) !important;
}

/* Acciones completas: los iconos y textos no se pierden */
.ssw-order-actions,
.partner-actions,
.partner-order-table-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

.ssw-order-actions .btn,
.partner-actions .btn,
.partner-order-table-actions .btn{
  width:auto !important;
  margin:0 !important;
  min-width:82px !important;
  max-width:none !important;
  padding:9px 12px !important;
  border-radius:999px !important;
  font-size:.72rem !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  box-shadow:none !important;
  transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
}

.ssw-order-actions .btn-view,
.partner-actions .btn-view,
.partner-order-table-actions .btn-view{
  min-width:82px !important;
  background:#eef4ff !important;
  color:#07306d !important;
  border:1px solid #cfe0ff !important;
}

.ssw-order-actions .btn-status,
.partner-actions .btn-status,
.partner-order-table-actions .btn-status{
  min-width:150px !important;
}

/* Detalles visibles dentro del modal/panel */
#sswOrderDetailsBackdrop{
  position:fixed !important;
  inset:0 !important;
  background:rgba(5,12,25,.55) !important;
  z-index:999998 !important;
  display:none;
}

#sswOrderDetailsBackdrop.active{
  display:block !important;
}

#sswOrderDetailsPanel{
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:999999 !important;
  width:min(92vw,760px) !important;
  max-height:82vh !important;
  overflow:auto !important;
  background:#fff !important;
  border-radius:20px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.35) !important;
  border:1px solid #e7edf5 !important;
  padding:16px !important;
  display:none;
}

#sswOrderDetailsPanel.active{
  display:block !important;
}

.ssw-detail-grid,
.partner-details-grid,
.partner-order-details-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}

.ssw-detail-box,
.partner-detail-box,
.partner-order-detail-box{
  background:#f8fafc !important;
  border:1px solid #e7edf5 !important;
  border-radius:13px !important;
  padding:10px !important;
  min-width:0 !important;
  overflow:visible !important;
}

.ssw-detail-box b,
.partner-detail-box b,
.partner-order-detail-box b{
  display:block !important;
  color:#07306d !important;
  font-size:.72rem !important;
  margin-bottom:4px !important;
  font-weight:950 !important;
}

.ssw-detail-box span,
.ssw-detail-box div,
.ssw-detail-box li,
.partner-detail-box span,
.partner-detail-box div,
.partner-detail-box li,
.partner-order-detail-box span,
.partner-order-detail-box div,
.partner-order-detail-box li{
  color:#334155 !important;
  font-size:.78rem !important;
  font-weight:820 !important;
  line-height:1.35 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* Vacío limpio */
.ssw-orders-empty,
.partner-empty{
  width:100% !important;
  margin:0 auto !important;
  padding:18px !important;
  text-align:center !important;
  color:#667085 !important;
  background:#f8fafc !important;
  border:1px dashed #cbd5e1 !important;
  border-radius:16px !important;
  font-weight:900 !important;
}

/* En celular no se oculta nada: solo se permite desplazamiento horizontal */
@media (max-width:900px), (pointer:coarse){
  html,
  body{
    background:#ffffff !important;
    overflow-x:hidden !important;
  }

  /* No usamos display:none para iconos ni contenido.
     Solo reducimos efectos visuales pesados sin desaparecer elementos. */
  .card,
  .stat-card,
  .restaurant-card,
  .menu-item,
  .table-container,
  .ssw-orders-scroll,
  .partner-panel-scroll,
  .notification-panel,
  .modal-content,
  #sswOrderDetailsPanel{
    filter:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    will-change:auto !important;
  }

  .ssw-orders-scroll,
  .partner-panel-scroll{
    max-width:100% !important;
    border-radius:15px !important;
  }

  .ssw-orders-table,
  .partner-table{
    min-width:980px !important;
    width:980px !important;
    font-size:.78rem !important;
  }

  .ssw-orders-table thead th,
  .ssw-orders-table tbody td,
  .partner-table thead th,
  .partner-table tbody td{
    padding:10px 9px !important;
  }

  .ssw-order-actions .btn,
  .partner-actions .btn,
  .partner-order-table-actions .btn{
    min-width:78px !important;
    padding:8px 10px !important;
    font-size:.68rem !important;
  }

  .ssw-order-actions .btn-status,
  .partner-actions .btn-status,
  .partner-order-table-actions .btn-status{
    min-width:135px !important;
  }

  .ssw-detail-grid,
  .partner-details-grid,
  .partner-order-details-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:560px){
  .ssw-orders-table,
  .partner-table{
    min-width:940px !important;
    width:940px !important;
    font-size:.74rem !important;
  }
}
