body.pos #vista-botonera #pedido { display: flex; }
body.pos .fila-sup { display: flex; flex-direction: column; gap: var(--ex-sp-8); min-width: 0; flex: none; }
body.pos #vista-botonera .fila-sup:has(.bot-campo) { margin-bottom: var(--ex-sp-10); }
body.pos #vista-botonera .fila-sup:not(:has(.bot-campo)) { display: none; }
body.pos #vista-botonera #pedido .fila-sup { padding: var(--ex-sp-8) var(--ex-sp-12) 0; }
body.pos .bot-config-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ex-sp-8) var(--ex-sp-12); min-width: 0; width: 100%; }
body.pos .bot-campo { min-width: 0; }
body.pos .sol-cuerpo { display: flex; flex-direction: column; gap: var(--ex-sp-12); margin-bottom: var(--ex-sp-12); }
body.pos .sol-contador { display: grid; grid-template-columns: var(--ex-h-lg) minmax(0, 1fr) var(--ex-h-lg); gap: var(--ex-sp-8); align-items: center; }
body.pos .sol-contador > .btn, body.pos .sol-mover > .btn, body.pos #btn-solapa-borrar { min-height: var(--ex-h-lg); max-height: none; font-size: var(--ex-fs-base); }
body.pos .sol-contador > .btn { padding: 0; font-size: var(--ex-fs-3xl); }
body.pos .sol-contador .form-control { min-height: var(--ex-h-lg); font-size: var(--ex-fs-3xl); font-weight: 700; }
body.pos #btn-solapa-aplicar { min-height: var(--ex-h-lg); max-height: none; min-width: 140px; font-size: var(--ex-fs-base); }
body.pos .sol-mover { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ex-sp-8); margin-bottom: var(--ex-sp-12); }
body.pos #btn-solapa-borrar { width: 100%; justify-content: center; }
body.pos .bot-ajuste { flex: none; margin: var(--ex-sp-6) 0 0; font-size: var(--ex-fs-xs); color: var(--ex-ink-3); }
body.pos .bot-celda.hueco { cursor: pointer; border-color: var(--ex-marca-line); color: var(--ex-marca-hi); }
body.pos .bot-celda.hueco:hover { background: var(--ex-marca-soft); }
body.pos .bot-celda.hueco .mas { font-size: var(--ex-fs-4xl); line-height: 1; }
body.pos .bot-celda.cambiar { border-color: var(--ex-warn-line); border-left-color: var(--ex-warn); background: var(--ex-warn-soft); }
body.pos .bot-celda .bot-cambiar {
  font-family: var(--ex-mono); font-size: var(--ex-fs-xs); font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
  color: var(--ex-warn); border: 1px solid var(--ex-warn-line); border-radius: var(--ex-r-chip); padding: 1px var(--ex-sp-8);
}
body.pos .bot-celda.sel { outline: 3px solid var(--ex-marca); outline-offset: -3px; background: var(--ex-marca-soft); }

body.pos .bot-asig-boton { flex: none; display: flex; flex-direction: column; gap: var(--ex-sp-8); padding: var(--ex-sp-10) var(--ex-sp-12); border-top: var(--ex-bd-soft); }
body.pos .bot-asig-fila { display: flex; align-items: flex-end; gap: var(--ex-sp-8); min-width: 0; }
body.pos .bot-asig-fila #FormBoton { flex: 1 1 0; min-width: 0; display: flex; align-items: flex-start; gap: var(--ex-sp-8); }
body.pos .bot-asig-texto { flex: 1 1 0; min-width: 0; }
body.pos .bot-asig-tecla { flex: 0 0 84px; min-width: 0; }
body.pos .bot-contador { display: block; text-align: right; color: var(--ex-ink-2); font-family: var(--ex-mono); font-size: var(--ex-fs-xs); }
body.pos .bot-contador.tope { color: var(--ex-warn); font-weight: 700; }
body.pos .bot-asig-acciones { display: flex; flex: none; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ex-sp-8); }
body.pos .bot-asig-der { display: inline-flex; gap: var(--ex-sp-8); margin-left: auto; }
body.pos .bot-config-titulo { font-size: var(--ex-fs-md); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pos #bot-productos > .vacio { text-align: center; color: var(--ex-ink-2); }
body.pos #bot-productos > .pos-cargando, body.pos #bot-productos > .btn { align-self: center; }

body.pos #vista-botonera #pedido .ped-cab { flex-wrap: nowrap; }
body.pos #vista-botonera #pedido .ped-cab strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ex-fs-md); }

body.pos #bot-productos { flex: 1 1 0; min-height: 0; min-width: 0; display: flex; flex-direction: column; }
body.pos #bot-productos > .list-wrapper { flex: 1 1 0; min-height: 0; background: transparent; }
body.pos #bot-productos [id$="Body"] { flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden; }
body.pos #bot-productos .card-header .bp-filtros { align-items: center; gap: var(--ex-sp-4); }
body.pos #bot-productos .bp-filtro .icono { width: 31px; height: 31px; font-size: var(--ex-fs-base); border-radius: var(--ex-r-input); }
body.pos #bot-productos .list-group-item { background: transparent; border-color: var(--ex-line-soft); cursor: pointer; }
body.pos #bot-productos .list-group-item:hover { background: var(--ex-marca-soft); }
body.pos .bot-fila { display: flex; flex-direction: column; gap: 1px; width: 100%; padding: var(--ex-sp-6) var(--ex-sp-12); text-align: left; color: var(--ex-ink); }
body.pos .bot-fila.on { background: var(--ex-marca-soft); box-shadow: var(--ex-sel-lado); }
body.pos .bot-fila .fila-1 { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ex-sp-8); }
body.pos .bot-fila .fila-1 strong { min-width: 0; overflow-wrap: anywhere; }
body.pos .bot-fila .fila-1 .imp { font-weight: 700; }
body.pos .bot-fila .fila-2 { display: flex; align-items: center; justify-content: space-between; gap: var(--ex-sp-8); color: var(--ex-ink-2); font-size: var(--ex-fs-sm); }
body.pos .bot-fila .fila-2 .datos { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pos .bot-fila .fila-2 .agotado { color: var(--ex-danger); font-weight: 700; }
body.pos .bot-fila .fila-2 .bajo { color: var(--ex-warn); }
body.pos .bot-fila .fila-2 .lugar { flex: none; display: inline-flex; align-items: center; gap: var(--ex-sp-4); color: var(--ex-ink-3); }
body.pos .bot-fila.asignado .fila-2 .lugar { color: var(--ex-ok); }
body.pos .bot-fila .tag18 { margin-left: var(--ex-sp-8); }

body.pos .teclado-config { display: flex; flex-direction: column; gap: var(--ex-sp-10); }
body.pos .teclado-config .tc-ayuda { margin: 0; min-height: 2.4em; color: var(--ex-ink-2); font-size: var(--ex-fs-md); }
body.pos .teclado-config .tc-ayuda.error { color: var(--ex-danger); font-weight: 700; }
body.pos .teclado-config .btn { flex-direction: column; gap: 0; min-height: 62px; height: 62px; max-height: none; padding: 0; line-height: 1.1; }
body.pos .teclado-config .tc-texto { font-family: var(--ex-mono); font-size: var(--ex-fs-xl); font-weight: 700; }
body.pos .teclado-config .btn .mdi { font-size: var(--ex-fs-2xl); }
body.pos .teclado-config .tecla-pc { font-family: inherit; font-size: var(--ex-fs-2xs); font-weight: 700; color: var(--ex-ink-3); }
body.pos .teclado-config .btn.sel { outline: 3px solid var(--ex-marca); outline-offset: -3px; }
body.pos .teclado-config .btn.repetida { outline: 3px solid var(--ex-danger); outline-offset: -3px; background: var(--ex-danger-soft); }
body.pos .teclado-config .tc-funciones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ex-sp-6); }
body.pos .teclado-config .tc-funciones .btn[data-tc="pagar"] { background: var(--ex-marca); border-color: var(--ex-marca); color: var(--ex-on-marca); }
body.pos .teclado-config .tc-funciones .btn[data-tc="pagar"] .tecla-pc { color: var(--ex-on-marca); opacity: .85; }

@media (max-width: 767px) { body.pos .bot-config-form { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 999px) {
  body.pos #vista-botonera > .accesos { display: flex; flex-wrap: wrap; justify-content: flex-end; overflow: visible; }
  body.pos #vista-botonera > .accesos .acceso { flex: 0 0 96px; }
  body.pos #vista-botonera > .accesos .acceso.esqueleto { display: none; }
}
@media (max-width: 699px) {
  body.pos #vista-botonera { display: flex; flex-direction: column; gap: var(--ex-sp-8); overflow-y: auto; }
  body.pos #vista-botonera #productos { flex: none; order: 1; }
  body.pos #vista-botonera #pedido { flex: none; order: 2; min-height: 420px; max-height: 70vh; }
  body.pos #vista-botonera #botonera { flex: none; overflow: visible; }
  body.pos #vista-botonera #botonera.grilla { overflow-y: auto; overflow-x: hidden; }
  body.pos #vista-botonera .bot-celda { padding: var(--ex-sp-8); }
  body.pos #vista-botonera .bot-celda .nom { font-size: var(--ex-fs-md); }
}
