.accesos-movil, .orden-inventario-movil, .fondo-menu-movil, .stock-aviso { display: none; }

@media (max-width: 760px) {
  body { height: 100dvh; }
  .main-wrapper { --app-bg: var(--ui-fondo); width: 100%; min-width: 0; }
  .top-header-container { position: relative; z-index: 1020; padding: max(6px, env(safe-area-inset-top)) 10px 3px !important; }
  .top-header {
    --panel-bg: #fff;
    --panel-border: var(--ui-borde);
    --text-main: var(--ui-tinta);
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    grid-template-areas: "menu negocio cuenta";
    gap: 12px; padding: 4px 8px !important;
    color: var(--ui-tinta);
  }
  .top-header .cabecera-negocio { display: contents !important; }
  .top-header .identidad-negocio { grid-area: negocio; }
  .top-header :is(.header-title, #contacto-negocio) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .top-header #contacto-negocio { margin-top: 1px; color: var(--ui-secundario); }
  .top-header .cabecera-sucursal {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden; line-height: 1.15;
  }
  .top-header .cabecera-sucursal:not([hidden]) + #contacto-negocio { display: none; }
  .top-header .cuenta-cabecera { grid-area: cuenta; position: relative; display: block; max-width: none; margin: 0; }
  .top-header .cuenta-avatar { display: none; }
  .top-header .cuenta-movil {
    display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0;
    border-radius: 50%; background: #e3edfc; color: var(--ui-azul); font-size: .84rem; font-weight: 750;
  }
  .top-header .cuenta-datos {
    display: none; position: absolute; top: calc(100% + 8px); right: 0; left: auto;
    width: min(240px, calc(100vw - 36px)); padding: 12px;
    border: 1px solid var(--ui-borde); border-radius: 9px; background: #fff; box-shadow: 0 5px 18px #15263e26;
  }
  .top-header .cuenta-datos.show { display: grid; }
  .top-header .menu-toggle { grid-area: menu; width: 44px; height: 44px; color: var(--ui-tinta); background: #edf3fa; }
  .content-body { padding: 10px max(10px, env(safe-area-inset-right)) 14px max(10px, env(safe-area-inset-left)) !important; }
  .page-header { margin-bottom: 14px; }
  .page-title h2 { font-size: 1.25rem !important; }
  .page-title p { line-height: 1.45; color: var(--ui-secundario); }
  #vista-inventario .page-header { gap: 10px !important; margin-bottom: 14px !important; }
  #vista-inventario .page-title i { color: var(--ui-azul); }
  #vista-inventario .btn-nuevo { --brand-primary: var(--ui-azul); --brand-primary-dark: #183878; }
  .header-actions { flex-wrap: wrap; }
  .btn-nuevo, .btn-filtro-limpiar, .btn-pagina, .btn-exportar { min-height: 44px; }
  .btn-pagina { min-width: 44px; }
  .form-control, .form-select, .modal .form-control, .modal .form-select {
    min-height: 44px; font-size: 16px !important;
  }
  .pantalla-acceso { min-height: 0; height: 100dvh; align-items: safe center; padding: 12px; }
  .login-header { padding-block: 15px; }
  .login-header img { width: 65px; height: 65px; }
  .login-body .login-boton, .login-enlace { min-height: 44px; }

  .sidebar {
    left: 0 !important; width: min(84vw, 310px); min-height: 0; height: 100dvh;
    visibility: hidden; transform: translateX(-100%); transition: transform .2s, visibility .2s;
    padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom);
  }
  .sidebar.abierta { visibility: visible; transform: translateX(0); }
  .sidebar .nav-link-custom { min-height: 44px; }
  .fondo-menu-movil:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 1035; border: 0; background: #17243d80; }
  .barra-estado { display: none; }
  .accesos-movil {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex-shrink: 0;
    gap: 4px; padding: 4px max(7px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(7px, env(safe-area-inset-left));
    background: #fff; border-top: 1px solid var(--ui-borde); box-shadow: 0 -6px 18px #15263e1a;
  }
  .accesos-movil button { min-height: 48px; display: grid; justify-items: center; align-content: center; gap: 4px;
    border: 0; border-radius: 8px; background: transparent; color: var(--ui-tinta); font-size: .7rem; font-weight: 650; }
  .accesos-movil i { font-size: 1rem; }
  .accesos-movil .active { background: var(--ui-azul); color: #fff; }
  #avisos { bottom: calc(65px + env(safe-area-inset-bottom)) !important; }
  #avisos .toast { pointer-events: none; }
  #avisos .toast :is(a, button) { pointer-events: auto; }
  body.modal-open #avisos { z-index: 1045; }

  .orden-inventario-movil { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; font-size: .75rem; color: var(--ui-secundario); }
  .orden-inventario-movil select { width: auto; flex: 1; }
  .filtros-inventario .form-select, .filtros-fechas label { min-width: 0; }
  #vista-inventario .table-container { padding: 0 !important; border: 0; background: transparent; box-shadow: none; }
  .filtros-inventario { gap: 8px; margin-bottom: 8px; }
  .filtros-inventario > .form-select { padding-block: 8px; }
  .filtros-inventario .form-select, .filtros-inventario .form-control,
  .filtros-inventario .btn-filtro-limpiar, .orden-inventario-movil select {
    border-color: var(--ui-borde); background-color: #fff; color: var(--ui-tinta);
  }
  #vista-inventario .resumen-linea { gap: 4px 8px; margin-bottom: 8px; }
  #vista-inventario .ficha-stock { color: var(--ui-tinta); background: #fff; border-color: var(--ui-borde); }
  #vista-inventario .ficha-stock.seleccionada { color: #fff; background: var(--ui-azul); border-color: var(--ui-azul); }
  #vista-inventario .btn-exportar { color: var(--ui-secundario); }
  .filtros-fechas label input { min-width: 0; width: 100%; }
  .filtros-fechas .filtro-producto { flex-basis: 100%; }
  .resumen-linea { flex-wrap: wrap; }
  .paginador { flex-wrap: wrap; }
  .modal .modal-dialog { width: calc(100% - 16px); max-width: calc(100% - 16px) !important; margin: 8px auto; }
  .modal .modal-body { padding: 14px !important; }
  .modal .modal-header { padding: 10px 14px !important; }
  .modal .modal-footer { padding: 8px 14px !important; }
  .modal .btn-close { padding: 14px; }
  #modal-anulacion .modal-footer button { min-height: 44px; }
  #movimientos-pdf { min-height: 44px; }
  .modal-dialog-scrollable { height: calc(100% - 16px); }
  .modal .foto-selector { height: 124px; }

  .tabla-scroll:has(.tarjetas-movil) { overflow: visible; max-height: none; }
  .table.tarjetas-movil, #vista-movimientos .table.tarjetas-movil { display: block; width: 100%; min-width: 0; margin: 0; }
  .tarjetas-movil thead { display: none; }
  .tarjetas-movil tbody, .tarjetas-movil tfoot { display: grid; gap: 10px; }
  .tarjetas-movil :is(tbody, tfoot) tr {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start;
    padding: 9px; gap: 3px; border: 1px solid var(--ui-borde); border-radius: 11px; background: #fff;
  }
  .table.tarjetas-movil td { display: block; min-width: 0; padding: 4px !important; border: 0; white-space: normal; overflow-wrap: anywhere; text-align: left !important; }
  .tarjetas-movil td[data-etiqueta]:not([data-etiqueta=""])::before {
    content: attr(data-etiqueta); display: block; margin-bottom: 3px; color: var(--ui-secundario); font-size: .72rem; font-weight: 700;
  }
  .tarjetas-movil td[colspan], .tarjetas-movil .acciones-fila,
  .inventario-tabla.tarjetas-movil td:first-child, .tarjetas-movil .motivo-celda,
  .tarjetas-movil .venta-comprobante,
  .tarjetas-movil .caja-historial-acciones,
  .tarjetas-movil td:last-child:has(.btn-accion) { grid-column: 1 / -1; }
  .caja-historial-acciones :is(button, a) { min-height: 44px; }
  .venta-comprobante :is(.enlace-comprobante, [data-devolucion-venta], [data-anular-venta]), #caja-arqueo-pdf { min-height: 44px; }
  .venta-carrito-acciones button, .venta-agregar-otro { min-height: 44px; }
  .tarjetas-movil td[colspan] { text-align: center !important; padding: 18px 6px !important; }
  .tarjetas-movil td:first-child .producto-celda img, .tarjetas-movil td:first-child .producto-sin-foto {
    width: 48px; height: 48px;
  }
  .tarjetas-movil .acciones-fila { position: static; background: transparent; }
  .tarjetas-movil .motivo-celda { max-width: none; }
  .tarjetas-movil .btn-accion, .tarjetas-movil .stock-box { min-height: 44px; min-width: 44px; }
  .inventario-tabla tbody tr[data-producto] {
    grid-template-areas: "producto producto" "compra venta" "stock estado" "categoria categoria" "acciones acciones";
    gap: 8px; padding: 10px; border-radius: 13px; box-shadow: 0 2px 8px #15263e12;
  }
  .inventario-tabla .producto-identidad { grid-area: producto; background: #edf3fa; border-radius: 8px; }
  .inventario-tabla td.producto-identidad[data-etiqueta]::before { display: none; }
  .inventario-tabla .producto-celda { min-width: 0; gap: 10px; padding: 5px; }
  .inventario-tabla .producto-celda > div { min-width: 0; }
  .inventario-tabla .producto-nombre { font-size: .95rem; color: var(--ui-tinta); }
  .inventario-tabla .producto-codigo, .inventario-tabla .producto-descripcion { color: var(--ui-secundario); }
  .inventario-tabla .costo-compra { grid-area: compra; background: #f0f3f7; color: var(--ui-tinta) !important; }
  #vista-inventario .inventario-tabla td.precio-azul { grid-area: venta; background: #e3edfc; color: #173d84 !important; }
  .inventario-tabla td:is(.costo-compra, .precio-azul) {
    align-self: stretch; border-radius: 8px; padding: 9px !important; font-size: .95rem !important; font-weight: 750;
  }
  .inventario-tabla .producto-existencia { grid-area: stock; }
  .inventario-tabla .producto-estado { grid-area: estado; }
  .inventario-tabla .estado-activo, .inventario-tabla .estado-inactivo {
    display: inline-block; padding: 6px 8px; border-radius: 6px; color: #12543f; background: #e5f4ec;
  }
  .inventario-tabla .estado-inactivo { color: var(--ui-secundario); background: #edf1f5; }
  .inventario-tabla .producto-categoria { grid-area: categoria; }
  .inventario-tabla .producto-categoria[data-etiqueta]::before { display: inline; margin-right: 8px; }
  .inventario-tabla td.acciones-fila { grid-area: acciones; border-top: 1px solid var(--ui-borde); }
  .producto-stock-valor { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 7px; }
  .stock-aviso { display: inline; font-size: .72rem; font-weight: 750; }
  .stock-aviso.bajo, .inventario-tabla .stock-box.bajo { color: #734807; }
  .stock-aviso.agotado, .inventario-tabla .stock-box.agotado { color: #912c28; }
  .costos-tabla.tarjetas-movil td:first-child { grid-column: 1 / -1; }
  .sucursales-tabla.tarjetas-movil tfoot { margin-top: 10px; border-top: 0; }
  .sucursales-tabla.tarjetas-movil tfoot tr { background: #f5f6fd; }
}

