:root{--azul:#2a52be;--azul2:#1d3a8a;--crema:#f6f4ee;--tinta:#1c2333;--gris:#6b7280;--linea:#dfe3ec;--verde:#17a05d;--rojo:#d64545;--amarillo:#f0a500}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--crema);color:var(--tinta);-webkit-text-size-adjust:100%}
button{font:inherit;cursor:pointer;border:0;border-radius:12px}
input,textarea,select{font:inherit}
.top{background:var(--azul);color:#fff;padding:14px 16px;position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px}
.top h1{font-size:20px;letter-spacing:.5px}.top .mesa{margin-left:auto;background:#fff;color:var(--azul);font-weight:800;border-radius:99px;padding:4px 14px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 12px;background:#fff;border-bottom:1px solid var(--linea);position:sticky;top:52px;z-index:9;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;padding:7px 14px;background:var(--crema);border:1px solid var(--linea);font-weight:700;font-size:14px}
.chip.on{background:var(--azul);color:#fff;border-color:var(--azul)}
.wrap{padding:12px 12px 110px;max-width:640px;margin:0 auto}
h2.cat{font-size:19px;color:#fff;background:#14275e;text-transform:uppercase;letter-spacing:1.5px;margin:22px 0 10px;padding:11px 14px;border-radius:12px}
.item{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:#fff;border:1px solid var(--linea);padding:12px 14px;margin-bottom:8px}
.item b{display:block;font-size:16px}.item small{color:var(--gris);display:block;margin-top:2px;font-size:13px}
.item .pr{margin-left:auto;font-weight:800;color:var(--azul);white-space:nowrap;padding-left:8px}
.item.off{opacity:.45;pointer-events:none}
.bar{position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--linea);z-index:20}
.bar button{width:100%;background:var(--azul);color:#fff;font-weight:800;font-size:17px;padding:15px;display:flex;justify-content:space-between}
.hoja{position:fixed;inset:0;background:rgba(10,15,30,.5);z-index:30;display:flex;align-items:flex-end;justify-content:center}
.hoja>div{background:#fff;width:100%;max-width:640px;max-height:90vh;overflow:auto;border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
.hoja h3{font-size:19px;margin-bottom:4px}.hoja .d{color:var(--gris);font-size:14px;margin-bottom:10px}
.grp{margin:12px 0}.grp>b{display:block;font-size:14px;margin-bottom:6px}
.op{display:inline-block;margin:0 6px 6px 0}.op input{display:none}
.op span{display:inline-block;padding:9px 14px;border:2px solid var(--linea);border-radius:12px;font-weight:700;font-size:15px}
.op input:checked+span{border-color:var(--azul);background:#eaf0ff;color:var(--azul2)}
textarea,.inp{width:100%;border:2px solid var(--linea);border-radius:12px;padding:10px;margin-top:6px}
.cant{display:flex;align-items:center;gap:14px;margin:12px 0}.cant button{width:42px;height:42px;background:var(--crema);border:1px solid var(--linea);font-size:22px;font-weight:800}
.btn{background:var(--azul);color:#fff;font-weight:800;padding:14px 18px;width:100%;font-size:16px}
.btn.sec{background:var(--crema);color:var(--tinta);border:1px solid var(--linea)}
.lin{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid var(--linea);align-items:flex-start}.lin .x{margin-left:auto;background:none;color:var(--rojo);font-weight:800;font-size:20px;padding:0 6px}
.total{display:flex;justify-content:space-between;font-weight:800;font-size:18px;margin:12px 0}
.msg{text-align:center;padding:40px 18px}.msg .big{font-size:56px}.msg h2{margin:10px 0 6px}.msg p{color:var(--gris)}
.estado{display:inline-block;padding:6px 14px;border-radius:99px;font-weight:800;margin:10px 0;background:#eaf0ff;color:var(--azul2)}
.estado.listo{background:#dff6ea;color:#0d6b3d}
.err{background:#fdecec;color:#9b1c1c;padding:10px 12px;border-radius:12px;margin:10px 0;font-size:14px}
/* personal */
.stop{background:var(--tinta);color:#fff;padding:12px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.stop h1{font-size:18px}.stop nav{display:flex;gap:6px;margin-left:auto}.stop nav a{color:#cfd6e8;text-decoration:none;padding:6px 12px;border-radius:99px;font-weight:700;font-size:14px}.stop nav a.on{background:#fff;color:var(--tinta)}
.lic{padding:8px 16px;font-size:14px;background:#fff7df;border-bottom:1px solid #f0e0a8}.lic.mal{background:#fdecec;border-color:#f3b5b5}
.pin{max-width:340px;margin:18vh auto;padding:18px;text-align:center}.pin input{text-align:center;font-size:22px;letter-spacing:3px;margin:12px 0}
.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:12px}
.card{background:#fff;border:3px solid var(--linea);border-radius:16px;padding:12px}
.card.nuevo{border-color:var(--rojo)}.card.preparando{border-color:var(--amarillo)}.card.listo{border-color:var(--verde)}
.card .h{display:flex;align-items:baseline;gap:8px}.card .h b{font-size:26px}.card .h span{margin-left:auto;color:var(--gris);font-size:13px}
.card ul{list-style:none;margin:8px 0}.card li{padding:4px 0;border-bottom:1px dashed var(--linea);font-size:16px}.card li small{display:block;color:var(--gris)}.card li .n{color:var(--rojo);font-weight:700}
.card .acc{display:flex;gap:8px;margin-top:8px}.card .acc button{flex:1;padding:11px;font-weight:800;background:var(--azul);color:#fff}.card .acc .g{background:var(--verde)}.card .acc .s{background:var(--crema);color:var(--tinta);border:1px solid var(--linea);flex:0 0 auto}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:9px 10px;border-bottom:1px solid var(--linea);text-align:left;font-size:14px;vertical-align:top}th{background:var(--crema)}
.sum{display:flex;gap:10px;flex-wrap:wrap;padding:12px}.sum div{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:10px 16px}.sum b{display:block;font-size:22px;color:var(--azul)}
.tools{display:flex;gap:8px;padding:0 12px 10px;flex-wrap:wrap;align-items:center}.tools button,.tools input{padding:9px 14px;border-radius:12px;border:1px solid var(--linea);background:#fff;font-weight:700}
.pill{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:800;background:#eaf0ff;color:var(--azul2)}.pill.ok{background:#dff6ea;color:#0d6b3d}.pill.mal{background:#fdecec;color:#9b1c1c}
@media print{.stop,.tools,.lic{display:none}body{background:#fff}}

.item .em{font-size:30px;width:40px;text-align:center;flex:none;line-height:1}
.item .em:empty{display:none}
