/* QR para mesas: datos, vista en vivo y tarjetas A4. */
.rej-q{display:grid;gap:18px;grid-template-columns:1fr;align-items:start}
@media(min-width:960px){.rej-q{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.datos-q{padding:20px;display:grid;gap:16px;min-width:0}
.tipos{display:flex;flex-wrap:wrap;gap:8px}
.tipos button{font:inherit;font-size:14.5px;min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--linea);background:#fff;color:var(--tinta);cursor:pointer}
.tipos button[aria-pressed=true]{background:var(--tinta);border-color:var(--tinta);color:#fff}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:420px){.dos{grid-template-columns:1fr}}
.check{display:flex;align-items:center;gap:10px;font-size:14.5px;cursor:pointer;min-height:40px}
.check input{width:20px;height:20px;min-height:20px;margin:0;flex:none}
.ayuda{border:1px solid var(--linea2);border-radius:12px;padding:0 14px;background:var(--suave)}
.ayuda summary{cursor:pointer;font-weight:500;font-size:14.5px;min-height:44px;display:flex;align-items:center}
.ayuda ol{margin:0 0 12px;padding-left:20px;font-size:14.5px;color:var(--gris);display:grid;gap:6px}
.aviso-q{margin:0;font-size:14px;border-radius:12px;padding:10px 14px;background:var(--avisofondo);color:#6B4700}
.aviso-q:empty{display:none}
.bloque{display:grid;gap:12px;border-top:1px solid var(--linea2);padding-top:16px;min-width:0}
.bloque h3{margin:0;font-size:16px;font-weight:600}
.opciones{display:flex;flex-wrap:wrap;gap:8px}
.opciones button{font:inherit;font-size:14px;min-height:42px;padding:8px 14px;border-radius:999px;border:1px solid var(--linea);background:#fff;color:var(--tinta);cursor:pointer}
.opciones button[aria-pressed=true]{background:var(--tinta);border-color:var(--tinta);color:#fff}

.vivo{padding:20px;display:grid;gap:14px;min-width:0;position:sticky;top:76px}
@media(max-width:959px){.vivo{position:static}}
.qr-caja{display:grid;justify-items:center;gap:10px;background:var(--suave);border-radius:14px;padding:18px}
.qr-caja canvas{width:220px;height:220px;image-rendering:pixelated;background:#fff;border-radius:6px}
.contenido{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px;color:var(--gris);word-break:break-all;margin:0;text-align:center;max-width:100%}
.acc{display:flex;flex-wrap:wrap;gap:8px}
.marco{min-width:0;display:grid;justify-items:center;background:var(--suave);border-radius:12px;padding:14px}
.vp-caja{position:relative;overflow:hidden;box-shadow:0 10px 30px -14px rgba(0,0,0,.35);background:#fff}
.vp-caja>.hoja{position:absolute;left:0;top:0;transform-origin:0 0}

/* ---------- Hoja de tarjetas ---------- */
#hojas{display:none}
.medidor{position:fixed;left:-20000px;top:0;visibility:hidden;pointer-events:none}
.hoja{width:210mm;height:296.6mm;background:#fff;color:#141414;position:relative;overflow:hidden;padding:6mm 6mm 0;font-family:'Inter',ui-sans-serif,system-ui,sans-serif;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.hoja *{box-sizing:border-box}
.hoja .rejilla{display:grid;grid-template-columns:1fr 1fr;width:198mm;height:284mm;border-top:.25mm dashed #bbb;border-left:.25mm dashed #bbb}
.hoja .t{border-right:.25mm dashed #bbb;border-bottom:.25mm dashed #bbb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;min-width:0;min-height:0}
.hoja.h4 .t{padding:8mm 8mm 7mm;gap:3.2mm}
.hoja.h4 .loc{font-size:9.5pt;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#555;margin:0}
.hoja.h4 .tit{font-size:21pt;font-weight:600;letter-spacing:-.015em;line-height:1.1;margin:0}
.hoja.h4 .qr{width:58mm;height:58mm}
.hoja.h4 .sub{font-size:11pt;margin:0;color:#333;line-height:1.3}
.hoja.h4 .dato{font-size:10.5pt;margin:0;color:#141414;font-weight:600;overflow-wrap:anywhere;line-height:1.35}
.hoja.h8 .rejilla{grid-template-rows:repeat(4,1fr)}
.hoja.h4 .rejilla{grid-template-rows:repeat(2,1fr)}
.hoja.h8 .t{flex-direction:row;padding:5mm 6mm;gap:5mm;text-align:left;justify-content:flex-start}
.hoja.h8 .qr{width:50mm;height:50mm;flex:none}
.hoja.h8 .txt{display:grid;gap:2mm;min-width:0}
.hoja.h8 .loc{font-size:7.5pt;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#555;margin:0}
.hoja.h8 .tit{font-size:14pt;font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em}
.hoja.h8 .sub{font-size:9pt;margin:0;color:#333;line-height:1.3}
.hoja.h8 .dato{font-size:8.5pt;margin:0;font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.hoja .pie-h{font-size:6.3pt;color:#999;text-align:center;margin:1.6mm 0 0}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{background:#fff!important}
  body>#hojas{display:block!important}
}

/* Toque cómodo en móvil */
.btn.peq{min-height:40px}
