:root{--bg: #f3f4f6;--surface: #ffffff;--ink: #111827;--ink-soft: #4b5563;--line: #e5e7eb;--primary: #0f766e;--primary-press: #0b5650;--accent: #be123c;--ok: #15803d;--warn-bg: #fef2f2;--warn-ink: #991b1b;--warn-line: #fecaca;--radius: 16px;--tap: 64px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 16px rgba(0, 0, 0, .06)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:19px;line-height:1.4;-webkit-text-size-adjust:100%}button{font:inherit;cursor:pointer;touch-action:manipulation}.app{max-width:880px;margin:0 auto;padding:16px 16px 64px}.topbar{display:flex;align-items:center;gap:12px;padding:8px 4px 18px}.topbar h1{font-size:1.5rem;margin:0;letter-spacing:-.01em}.topbar .marca{color:var(--primary);font-weight:800}.btn-volver{min-height:52px;padding:0 20px;border:2px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:var(--tap);padding:0 24px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font-size:1.2rem;font-weight:800;box-shadow:var(--shadow)}.btn:active{background:var(--primary-press)}.btn:disabled{background:#9ca3af;box-shadow:none;opacity:.8}.btn-secundario{background:var(--surface);color:var(--primary);border:2px solid var(--primary);box-shadow:none}.btn-secundario:active{background:#ecfdf5}.lista{display:grid;gap:14px}.tarjeta-pedido{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;min-height:96px}.tarjeta-pedido:active{border-color:var(--primary);transform:translateY(1px)}.tarjeta-pedido .cliente{font-size:1.45rem;font-weight:800}.tarjeta-pedido .faltan-grande{font-size:1.1rem;color:var(--accent);font-weight:800;white-space:nowrap}.chevron{font-size:2rem;color:var(--ink-soft)}.badge{display:inline-block;font-size:.85rem;font-weight:800;padding:4px 12px;border-radius:999px;letter-spacing:.02em}.badge-PENDIENTE{background:#fff7ed;color:#9a3412}.badge-PARCIAL{background:#eff6ff;color:#1d4ed8}.badge-COMPLETADO{background:#ecfdf5;color:var(--ok)}.badge-CANCELADO{background:#f3f4f6;color:#374151}.encabezado-pedido{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}.encabezado-pedido .cliente{font-size:1.6rem;font-weight:800}.linea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}.linea .titulo{font-size:1.3rem;font-weight:800;margin-bottom:4px}.linea .meta{color:var(--ink-soft);font-size:1.05rem;margin-bottom:16px}.linea .meta .faltan{color:var(--accent);font-weight:800}.stepper{display:grid;grid-template-columns:var(--tap) 1fr var(--tap);align-items:stretch;gap:12px}.stepper button{height:76px;border-radius:14px;border:2px solid var(--primary);background:#fff;color:var(--primary);font-size:2.4rem;font-weight:800;line-height:1}.stepper button:active{background:#ecfdf5}.stepper button:disabled{border-color:var(--line);color:#9ca3af;background:#f9fafb}.stepper .valor{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--line);border-radius:14px;background:#fff}.stepper .valor .num{font-size:2.6rem;font-weight:800;line-height:1}.stepper .valor .lbl{font-size:.85rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.tope-aviso{margin-top:10px;color:var(--ink-soft);font-size:.95rem;text-align:center}.barra-accion{position:sticky;bottom:0;padding:14px 0 0;background:linear-gradient(to top,var(--bg) 70%,transparent)}.resumen-accion{text-align:center;font-weight:700;margin-bottom:10px}.aviso-error{display:flex;gap:12px;align-items:flex-start;background:var(--warn-bg);border:2px solid var(--warn-line);color:var(--warn-ink);border-radius:14px;padding:16px 18px;margin-bottom:16px;font-weight:600}.aviso-error .icono{font-size:1.4rem}.estado-vacio,.estado-cargando{text-align:center;color:var(--ink-soft);padding:48px 16px;font-size:1.15rem}.recibo{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;max-width:420px;margin:0 auto 20px}.recibo.completado{border:2px solid var(--ok)}.recibo .ticket-cabecera{text-align:center;border-bottom:2px dashed var(--line);padding-bottom:12px;margin-bottom:12px}.recibo .ticket-cabecera .negocio{font-weight:800;font-size:1.2rem}.recibo .ticket-cabecera .sub{color:var(--ink-soft);font-size:.95rem}.recibo .listo{text-align:center;background:#ecfdf5;color:var(--ok);font-weight:800;border-radius:10px;padding:8px;margin-bottom:12px}.recibo table{width:100%;border-collapse:collapse}.recibo th,.recibo td{text-align:left;padding:8px 4px;border-bottom:1px solid var(--line);font-size:1rem}.recibo th.num,.recibo td.num{text-align:right;font-variant-numeric:tabular-nums}.recibo .total{display:flex;justify-content:space-between;font-weight:800;font-size:1.15rem;padding-top:14px}.recibo .total .faltan{color:var(--accent)}.recibo .total.cero .faltan{color:var(--ok)}.acciones-recibo{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px;margin:0 auto}.tabs{display:flex;gap:10px;margin-left:auto}.tab{min-height:56px;padding:0 22px;border:2px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink-soft);font-size:1.1rem;font-weight:800}.tab.activa{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow)}.producto{margin-bottom:22px}.producto-nombre{font-size:1.35rem;margin:0 0 10px 4px}.variante{display:grid;grid-template-columns:1fr auto;grid-template-areas:"info stock" "accion accion";gap:12px 16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:14px}.variante-info{grid-area:info}.variante-nombre{font-size:1.3rem;font-weight:800}.variante-precio{color:var(--ink-soft);font-size:1.05rem}.variante-stock{grid-area:stock;display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}.stock-num{font-size:2.6rem;font-weight:800;font-variant-numeric:tabular-nums}.stock-num.cero{color:var(--accent)}.stock-lbl{font-size:.8rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.badge-agotado{margin-top:6px;background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);font-weight:800;font-size:.85rem;padding:2px 12px;border-radius:999px}.variante-accion{grid-area:accion}.btn-agregar{min-height:56px;font-size:1.05rem}.confirmacion{background:#ecfdf5;color:var(--ok);border:1px solid #a7f3d0;border-radius:12px;padding:10px 14px;font-weight:800;margin-bottom:10px;text-align:center}.agregar-panel{border-top:2px dashed var(--line);padding-top:14px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.chip{min-height:52px;padding:0 20px;border:2px solid var(--primary);border-radius:12px;background:#fff;color:var(--primary);font-size:1.1rem;font-weight:800}.chip:active{background:#ecfdf5}.chip-reset{border-color:var(--line);color:var(--ink-soft)}.campo-motivo{width:100%;margin-top:12px;min-height:56px;padding:0 16px;border:2px solid var(--line);border-radius:12px;font-size:1.1rem;background:#fff;color:var(--ink)}.campo-motivo:focus{outline:none;border-color:var(--primary)}.agregar-acciones{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}@media print{body{background:#fff}.app>.topbar,.acciones-recibo,.no-print{display:none!important}.app{padding:0;max-width:none}.recibo{box-shadow:none;border:none;border-radius:0;max-width:80mm;margin:0;padding:4mm;font-family:Courier New,monospace}.recibo .listo{background:none;border:1px dashed #000}@page{size:80mm auto;margin:4mm}}
