/* Che Carga · ajustes para celulares y tabletas pequeñas. Se carga al final: solo cambia la presentación, no la lógica. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* iOS hace zoom al tocar un campo con letra menor de 16 px: en pantallas táctiles se usa 16 px. */
@media (pointer:coarse){
  input,select,textarea{font-size:16px}
  .tpm button{font-size:16px;padding:12px}
  .seg button{min-height:38px}
  .lgi{min-height:36px}
  .lk{min-height:28px;padding:0 8px}
  .sel .btn,.tb .ib{min-height:36px}
}

.mhint{display:none;margin:0;padding:8px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mut)}

@media (max-width:700px){
  /* la firma deja de flotar sobre el contenido y queda al final de la página */
  .lfoot{padding-bottom:6px}
  .sig{position:static;margin:4px 14px 22px auto;width:max-content;max-width:calc(100% - 28px)}
  body{padding-bottom:0}

  /* barra de vistas: botones que ocupan todo el ancho y se tocan bien */
  .tb{padding:10px 12px;gap:10px}
  .tb>div{width:100%}
  .tb .seg{flex:1 1 auto}
  .tb .seg button{flex:1 1 auto;padding:0 8px}
  .zm{justify-content:space-between}
  .mhint{display:block}
  .stage[data-view="3d"] .mhint{display:none}

  /* mercadería: cada fila es una tarjeta con todos sus campos a la vista (antes se cortaba hacia la derecha) */
  .tw:has(> table.cargo:not(.imt)){overflow:visible}
  table.cargo:not(.imt){min-width:0}
  table.cargo:not(.imt) thead{display:none}
  table.cargo:not(.imt) tbody{display:block}
  table.cargo:not(.imt) tr.r{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 6px;padding:12px 8px 8px;margin-top:8px;border:1px solid var(--line);border-radius:var(--r-lg,6px);background:var(--panel)}
  table.cargo:not(.imt) tr.r.rev{background:var(--rev)}
  table.cargo:not(.imt) tr.r.hl{background:color-mix(in srgb,var(--acc) 16%,var(--panel))}
  table.cargo:not(.imt) tr.r td{display:block;padding:0;background:transparent!important;border:0!important;min-width:0}
  table.cargo:not(.imt) td[data-l]::before{content:attr(data-l);display:block;margin-bottom:3px;font-size:11.5px;color:var(--mut)}
  table.cargo:not(.imt) tr.r td.cn{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0}
  table.cargo:not(.imt) tr.r td.cn::before{display:none}
  table.cargo:not(.imt) tr.r td.cn input{flex:1;min-width:0}
  table.cargo:not(.imt) td input[type=number]{width:100%!important;padding:3px 4px}
  table.cargo:not(.imt) tr.r td:nth-child(7){grid-column:1/4;display:flex;align-items:center;gap:8px}
  table.cargo:not(.imt) tr.r td:nth-child(7)::before{margin:0}
  table.cargo:not(.imt) tr.r td:nth-child(8){grid-column:4/6;display:flex;justify-content:flex-end;align-items:end;gap:4px}
  table.cargo:not(.imt) tr.op{display:block;margin:-4px 0 0;padding:0 8px 8px;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-lg,6px) var(--r-lg,6px)}
  table.cargo:not(.imt) tr.op td{display:block;padding:0!important;border:0!important}
  table.cargo:not(.imt) tr.r:has(+ tr.op:not([hidden])){border-bottom-left-radius:0;border-bottom-right-radius:0}
  .ol>div{flex:1 1 120px;width:auto}

  /* tablas de resultados: menos columnas y sin ancho mínimo para que todo entre sin desplazarse */
  table.ord{min-width:0!important}
  table.ord th:nth-child(n+5):nth-child(-n+8),table.ord td:nth-child(n+5):nth-child(-n+8){display:none}
  table.ord th,table.ord td{padding:5px 3px;font-size:12px}
  .res table{min-width:0!important}
  .res .two{grid-template-columns:minmax(0,1fr)}
  .res th,.res td{font-size:12px}
  .uni table{min-width:0}
  .uni th,.uni td{padding:4px 3px;font-size:12px}
}

@media (max-width:480px){
  .ws{gap:12px;padding:10px}
  .pn>.in{padding:12px}
  .sh{padding:10px 12px}
  .kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k{padding:10px 12px}
  .res{width:calc(100% - 20px)}
  details.fb{width:calc(100% - 20px)}
  .welcome,#sharedBar{padding:0 10px}
  .glh{display:none}
}
