/* ===== v93g · cambios de diseño aprobados por Curro (mocks 27-oct). Solo estilos; ver DESIGN.md §93g ===== */
/* Botones secundarios: blanco con borde fino gris #E4E4E7 (Editar ticket, Enviar por correo, Square, Aplicar, Emitir vale) */
html body #mbox button.et92b:not(#z):not(#z):not(#z),html body #main button.et92b:not(#z):not(#z):not(#z),
html body #mbox .rc-act:not(#z):not(#z):not(#z),html body #mbox .sq-cancel:not(#z):not(#z):not(#z),
html body button.g93-sec:not(#z):not(#z):not(#z){background:#fff!important;color:#111!important;border:1px solid #E4E4E7!important;box-shadow:none!important}
/* Acción principal amarilla: Guardar cambios (Editar ticket y demás) y Cobrar en la tarjeta del ticket */
html body #mbox .ef91>button.sv91:not(#z):not(#z):not(#z),html body #mbox button.sv91:not(#z):not(#z):not(#z){background:#FFD400!important;border:1px solid #FFD400!important;color:#111!important}
html body #main .o68-b>button.g93-cob:not(#z):not(#z):not(#z){background:#FFD400!important;border:1px solid #FFD400!important;color:#111!important}
/* Dividir pago: Pendiente en rojo en cada parte */
html body #mbox .sp5-st:not(.ok):not(.pag):not(#z):not(#z){background:#FEE2E2!important;color:#D70015!important}
/* Tarjeta de ticket: +1 h rojo suave; TicketsCandy gris */
html body #main .o68-p.o68-h1:not(#z):not(#z){background:#FEE2E2!important;color:#B91C1C!important;border-color:#FEE2E2!important}
html body #main .o68-p.tc:not(#z):not(#z),html body #main .ab-tg.tc:not(#z):not(#z){background:#F4F4F5!important;color:#52525B!important;border-color:#F4F4F5!important}
/* E9: chips de ¿Cómo nos conoció? a 34 px */
html body #main #gO button.chip:not(#z):not(#z){height:34px!important;min-height:34px!important}
/* E4 Sin cargo: caja gris neutra con check */
html body #mbox .z0-box:not(#z):not(#z){background:#F4F4F5!important;color:#3F3F46!important;border:0!important;}
html body #mbox .z0-box svg{flex:none;color:#16A34A}
/* Taquilla: 12 px entre bloques */
html body #main .tq:not(#z):not(#z){gap:12px!important;row-gap:12px!important}
html body #main .tq>.card:not(#z):not(#z),html body #main .tq>details.card:not(#z):not(#z){margin-top:0!important;margin-bottom:0!important}
/* P0 Login/PIN: roles #4B5563 medio; usuario elegido blanco con borde 2 px #111; puntos negros; Borrar con icono; OK amarillo */
html body #login .lgu button small:not(#z):not(#z){color:#4B5563!important;font-weight:500!important;opacity:1!important}
html body #login .lgu button.on:not(#z):not(#z){background:#fff!important;color:#111!important;border:2px solid #111!important}
html body #login .lgu button.on b:not(#z):not(#z){color:#111!important}
html body #login .dots i.f:not(#z):not(#z){background:#111!important;border-color:#111!important}
html body #login .pad button.pk-del:not(#z):not(#z){display:flex!important;align-items:center;justify-content:center;gap:8px}
html body #login .pad button.pk-ok:not(#z):not(#z){background:#FFD400!important;border-color:#FFD400!important;color:#111!important;font-weight:700!important}
html body #login .lg #pinErr:not(#z){min-height:8px!important;margin-top:4px}
/* 06b Personal A7: cabeceras 13,5 px 600 #4B5563 sin iconos; valores 15 px; Restante rojo >0 y verde a 0; Total amarillo con iconos */
@media (max-width:600px){html body #main .p92v-r:not(#z):not(#z){grid-template-columns:46px 58px 54px 66px 70px 1fr!important;column-gap:4px!important;row-gap:3px!important;align-items:end}}
html body #main .p92v-r>span[data-l]:not(#z):not(#z){font-size:15px!important;font-weight:600;color:#111}
html body #main .p92v-r>span[data-l]::before{font-size:13.5px!important;font-weight:600!important;color:#4B5563!important;white-space:nowrap}
html body #main .p92v-r>span[data-l] b{font-weight:700}
html body #main .p92v-r .p92v-pend:not(#z):not(#z){color:#d70015!important}
html body #main .p92v-r .p92v-ok:not(#z):not(#z){color:#15803D!important}
html body #main .p92v-r .p93g-c{font-size:9.5px;line-height:0;vertical-align:.55em;margin-left:1px}
html body #main .p92v-r.p92v-tot:not(#z):not(#z){background:#FFD400!important;border:0!important;border-radius:14px!important;border-bottom:3px solid #D9B200!important;box-shadow:0 6px 16px rgba(180,140,0,.28)!important;padding:18px 14px 20px!important}
html body #main .p92v-r.p92v-tot .p92v-n b{font-size:18px;font-weight:800}
html body #main .p92v-r.p92v-tot>span.p93g-t::before{content:none!important;display:none!important}
html body #main .p92v-r.p92v-tot>span.p93g-t:not(#z):not(#z){font-weight:700;color:#111!important}
html body #main .p92v-tot .p93g-h{display:flex;justify-content:flex-end;align-items:center;gap:3px;font-style:normal;font-size:12px;font-weight:600;color:#111;white-space:nowrap}
html body #main .p92v-tot .p92v-pend:not(#z):not(#z),html body #main .p92v-tot .p92v-ok:not(#z):not(#z){color:#111!important}
html body #main .p92v-acts>button:not(#z):not(#z){display:flex!important;align-items:center;justify-content:center;gap:8px;background:#fff!important;color:#111!important;border:1px solid #E4E4E7!important}
/* 07 E6 Clientes v4: filtros en rejilla de 3 columnas, 54 px, blanco con borde gris; activo #FFD400. Regalos y Ordenar con borde gris */
html body #main .cg93:not(#z):not(#z){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;flex-wrap:initial!important}
html body #main .cg93>button.c93:not(#z):not(#z){height:54px!important;min-height:54px!important;width:auto!important;min-width:0!important;box-sizing:border-box;padding:7px 10px!important;border-radius:12px!important;background:#fff!important;border:1px solid #E4E4E7!important;color:#111!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;text-align:left!important;box-shadow:none!important;margin:0!important}
html body #main .cg93>button.c93.on:not(#z):not(#z){background:#FFD400!important;border-color:#FFD400!important}
html body #main .cg93 .c93-t:not(#z){display:flex!important;justify-content:space-between!important;align-items:center;width:100%}
html body #main .cg93 .c93-t svg{width:18px;height:18px;color:#111}
html body #main .cg93 .c93-t b:not(#z){font-size:17px!important;font-weight:700!important;color:#6B7280!important;font-variant-numeric:tabular-nums}
html body #main .cg93 .c93.on .c93-t b:not(#z){color:#111!important}
html body #main .cg93 .c93-l:not(#z){font-size:12.5px!important;font-weight:500!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111!important}
html body #main .cg93 .c93.on .c93-l:not(#z){font-weight:700!important}
html body #main .h93 .m93-b:not(#z):not(#z),html body #main .o93:not(#z):not(#z){border:1px solid #E4E4E7!important}
html body #mbox button.ce-btn:not(#z):not(#z),html body #mbox button#mqS:not(#z):not(#z),html body #main button#mqS:not(#z):not(#z){background:#FFD400!important;border-color:#FFD400!important;color:#111!important}
html body #main>.tq~.card:not(#z):not(#z){margin-top:0!important;margin-bottom:12px!important}
html body #main>.tq+.card:not(#z):not(#z){margin-top:12px!important}
/* Reservas (staff) */
.rv{max-width:760px}.rv-h{display:flex;justify-content:space-between;align-items:center;gap:10px}.rv-h h1{margin:0}
.rv-t{display:flex;gap:6px;margin:14px 0 10px}.rv-t button{flex:1;min-height:42px;border:1.5px solid #e4e4e4;border-radius:10px;background:#fff;font-weight:600}.rv-t button.on{background:#111;color:#fff;border-color:#111}
.rv-s{display:grid;grid-template-columns:1fr auto;gap:8px}.rv-s input{min-height:44px;border:1.5px solid #e4e4e4;border-radius:10px;padding:0 12px}
.rv-f{display:flex;flex-direction:column;gap:8px;margin:10px 0 14px}.rv-c{border:1.5px solid #E4E4E7;border-radius:10px;background:#fff;padding:0 2px}.rv-c.on{background:#111;border-color:#111}.rv-c[disabled]{opacity:.5}.rv-c small{font-weight:400}
.rv-k{border:1px solid #e4e4e4;border-left:6px solid #1a7f37;border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}.rv-k.bad{border-left-color:#d0021b}
.rv-k1{display:flex;justify-content:space-between;gap:8px;align-items:center}.rv-k2{font-size:13px;color:#555;margin:4px 0 8px}.rv-k3{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rv-k4{display:flex;gap:8px;margin-top:10px}.rv-k4 button{flex:1;min-height:42px}
.rv-o{font-size:11px;font-weight:700;background:#f1f1f1;border-radius:6px;padding:3px 7px;white-space:nowrap}
.rv-p{font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px}.rv-p.ok{background:#e7f8ec;color:#167a35}.rv-p.bad{background:#fdeaea;color:#b00020}.rv-p.vino{background:#111;color:#fff}.rv-m{font-size:12px;color:#555}
.rv-n{display:grid;gap:12px}.rv-n label{display:grid;gap:5px;font-size:12px;font-weight:600}.rv-n input,.rv-n textarea{min-height:44px;border:1.5px solid #e4e4e4;border-radius:10px;padding:8px 12px;font-size:16px}
.rv-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rv-seg{display:flex;gap:6px;flex-wrap:wrap}.rv-seg button{flex:1;min-height:42px;border:1.5px solid #e4e4e4;border-radius:10px;background:#fff;font-weight:600;font-size:13px}.rv-seg button.on{background:#111;color:#fff;border-color:#111}
.rv-q{display:flex;align-items:center;gap:14px}.rv-q button{width:44px;height:44px;border-radius:10px;border:1.5px solid #e4e4e4;background:#fff;font-size:20px}.rv-q b{font-size:22px;min-width:30px;text-align:center}
.rv-sum{background:#f4f4f4;border-radius:10px;padding:10px 12px;font-size:14px;margin:0}
/* Escáner de entradas (mock 33) */
.es{display:grid;gap:14px}.es-r{border-radius:16px;padding:22px 16px;text-align:center;display:grid;gap:6px;justify-items:center}
.es-r.ok{background:#dcfce7;border:1px solid #bbf7d0}.es-r.bad{background:#fee2e2;border:1px solid #fecaca}
.es-i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center}.ok .es-i{background:#15803d}.bad .es-i{background:var(--r,#d70015)}
.es-r h2{margin:6px 0 0;font-size:24px}.ok h2{color:#15803d}.bad h2{color:var(--r,#d70015)}.es-r b{font-size:17px}.es-r small{color:#555;font-size:13px}
.es-b,.es-d{background:#fff;border:1px solid #e4e4e7;border-radius:14px;padding:14px 16px}.es-bh{display:flex;justify-content:space-between;font-size:13px;color:#555;margin-bottom:8px}.es-bh b{color:#111}
.es-seg{display:flex;gap:6px}.es-seg i{flex:1;height:16px;border-radius:999px;background:#f1f1f3}.es-seg i.on{background:#15803d}
.es-k{margin:0 0 6px;color:#6b7280;font-size:14px}.es-d>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0}.es-d span{display:flex;gap:10px;align-items:center;color:#6b7280;font-size:14px}.es-d b{font-size:14px}
.es-y{display:flex;gap:8px;justify-content:center;align-items:center;background:#FFD400!important;color:#111!important;border:0;border-radius:12px;min-height:56px;font-size:17px;font-weight:700;width:100%}
.es-w{background:#fff!important;color:#111!important;border:1px solid #e4e4e7!important;border-radius:12px;min-height:50px;font-weight:600;width:100%}
/* QA 35 · Reservas */
.rv-new{display:inline-flex;align-items:center;gap:6px;background:#FFD400!important;color:#111!important}
.rv-t button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.rv-sh{display:flex;justify-content:space-between;align-items:baseline;margin:14px 2px 8px}.rv-sh b{font-size:15px;color:#111;text-transform:none}.rv-sh b::first-letter{text-transform:uppercase}.rv-n0{font-size:12px;color:#71717A;background:#F4F4F5;border-radius:999px;padding:2px 8px}
.rv-k .rv-k1 b{color:#111!important;font-size:16px}.rv-k2{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.rv-k2>span{display:inline-flex;align-items:center;gap:5px}.rv-li{flex:0 0 auto;color:#52525B}
.rv-k3{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rv-mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.rv-mh h2{margin:0}
.rv-x{width:40px;height:40px;border-radius:10px;border:1.5px solid #E4E4E7!important;background:#fff!important;color:#111!important;display:grid;place-items:center;padding:0!important}
.rv-seg button,.rv-q button{background:#fff!important;color:#111!important;border:1.5px solid #E4E4E7!important;box-shadow:none!important;white-space:nowrap;padding:8px 10px!important;min-width:0}
.rv-seg button.on{background:#111!important;color:#fff!important;border-color:#111!important}
.rv-seg2 button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.2;min-height:56px}.rv-seg2 button span{font-weight:500;font-size:12px;opacity:.85}
.rv-segv{flex-direction:column}.rv-segv button{width:100%;text-align:left;justify-content:flex-start}
.rv-req{color:#D70015;font-weight:600;font-size:12px}
.rv-pn{font-size:13px;color:#52525B;margin:-4px 0 4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rv-p.bad{background:#FDECEE!important;color:#D70015!important}
.rv-n select{min-height:44px;border:1.5px solid #E4E4E7;border-radius:10px;padding:8px 10px;background:#fff;width:100%;font-size:15px}
.rv-n .btn.ghost{background:#fff!important;border:1.5px solid #E4E4E7!important;color:#111!important}
/* QA 35 · Escáner */
.es-r.ok .es-i{background:#15803d!important}.es-r.bad .es-i{background:#D70015!important}
.es-i svg,.es-i svg *{stroke:#fff!important;opacity:1!important;fill:none!important}
.es-hl{margin:4px 0 0;font-size:22px;font-weight:800;line-height:1.2}.es-r.ok .es-hl{color:#15803d}.es-r.bad .es-hl{color:#D70015}
.es-r b{font-size:15px}.es-r.bad b{color:#7f1d1d}
.rv-q{justify-content:flex-start}.rv-q button{flex:0 0 44px!important;width:44px!important;height:44px;padding:0!important}
.rv-x{width:40px!important;height:40px!important;min-width:40px}.rv-x svg{width:20px!important;height:20px!important}
.rv-n select{font-size:14px!important;padding:8px 6px!important}
.rv-k .rv-o{background:#F4F4F5!important;color:#3F3F46!important;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}
.es-i svg{width:30px!important;height:30px!important;min-width:30px}
.rv-seg button.on,.rv-seg.rv-seg2 button.on{background:#111!important;color:#fff!important;border-color:#111!important}.rv-seg.rv-seg2 button.on span,.rv-seg.rv-seg2 button.on b{color:#fff!important}
html body #mbox .rv-seg button{background:#fff!important;color:#111!important;border:1.5px solid #E4E4E7!important}
html body #mbox .rv-seg button.on{background:#111!important;color:#fff!important;border-color:#111!important}
html body #mbox .rv-seg button.on *{color:#fff!important}
html body #mbox .rv-x svg,html body #mbox .rv-x svg.rv-li{width:20px!important;height:20px!important;min-width:20px}
html body #mbox .rv-seg button{transition:none!important}
/* QA 36 */
html body #mbox .es-r.bad b{color:#111!important}
.rv-seg2 button .rv-li{width:20px;height:20px;margin-bottom:2px}
.rv-q{display:flex;align-items:center;gap:10px}
.rv-pbox{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border:1.5px solid #E4E4E7;border-radius:10px;background:#fff;color:#111}
.rv-pbox b{font-size:20px;color:#111}.rv-pbox small{font-size:14px;color:#52525B}
.rv-pay{display:grid;gap:8px}
html body #mbox .rv-pay .rv-po{display:flex!important;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px!important;min-height:64px;background:#fff!important;color:#111!important;border:1.5px solid #E4E4E7!important;border-radius:12px!important;font-weight:400;transition:none!important}
html body #mbox .rv-pay .rv-po.on{border:2px solid #111!important}
.rv-pi{width:36px;height:36px;border-radius:10px;background:#F4F4F5;display:grid;place-items:center;flex:0 0 36px}
.rv-pt{flex:1;display:flex;flex-direction:column;gap:2px}.rv-pt b{font-size:15px;color:#111}.rv-pt small{font-size:13px;color:#52525B}
.rv-rad{width:20px;height:20px;border-radius:50%;border:2px solid #A1A1AA;flex:0 0 20px;box-sizing:border-box}
.rv-po.on .rv-rad{border:6px solid #111}
.rv-pn{margin:8px 0 0}.rv-in{display:flex;gap:8px;align-items:flex-start;background:#FEF2F2;border:1px solid #FECACA;color:#D70015;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}
.rv-in svg{flex:0 0 18px;color:#D70015;stroke:#D70015}
.rv-sum{background:#F4F4F5;border-radius:12px;padding:12px 14px;margin:12px 0;display:grid;gap:6px;font-size:14px}
.rv-sr{display:flex;justify-content:space-between;align-items:center;gap:8px}.rv-sr b{font-size:16px}
.rv-ft{display:grid;gap:8px}
html body #mbox .rv-ft .rv-ok{background:#FFD400!important;color:#111!important;border:0!important;min-height:52px;font-weight:700}
html body #mbox .rv-ft .rv-cn{background:#fff!important;color:#111!important;border:1.5px solid #E4E4E7!important;min-height:48px}
.rv-k4 .btn-y{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#FFD400!important;color:#111!important;font-weight:700}
.rv-p.vino{background:#DCFCE7!important;color:#15803D!important;display:inline-flex;align-items:center;gap:4px}

/* v94c · Nueva reserva: los 5 tipos en UNA fila de botones pequeños (icono + texto + importe debajo), deslizable */
html body #mbox .rv-tipos:not(#z):not(#z){display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
html body #mbox .rv-tipos::-webkit-scrollbar{display:none;height:0}
html body #mbox .rv-tipos button:not(#z):not(#z){flex:0 0 auto!important;width:auto!important;min-width:78px;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start!important;gap:1px;line-height:1.1;min-height:0!important;padding:8px 9px 7px!important;border-radius:12px!important;white-space:nowrap!important;overflow:visible!important;font-size:12px!important}
html body #mbox .rv-tipos button b{font-size:12.5px;font-weight:700}
html body #mbox .rv-tipos button .rv-li{width:18px;height:18px;margin-bottom:1px}
html body #mbox .rv-tipos .rv-tpi:not(#z){display:block;font-style:normal;font-size:10.5px;font-weight:600;opacity:.7;margin-top:1px;white-space:nowrap}
html body #mbox .rv-tipos .rv-tpi.on:not(#z){opacity:1}
html body #mbox .rv-tipos button:not(.on) .rv-tpi:not(#z){color:#52525B!important;opacity:1}
/* ===== v94o · Filtros de Reservas como CAJITAS en DOS filas (ORIGEN + TIPO) =====
   Rejilla de 12 columnas, gap 6 px, row-gap 8 px. Origen: 4 cajitas a span 3. Tipo: 3 cajitas a span 4.
   Los dos grupos son independientes y se combinan (AND). Nada de scroll horizontal: la rejilla siempre cabe. */
html body #main .rv-f:not(#z):not(#z){display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:8px!important;row-gap:8px!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;padding:0!important;margin:10px 0 14px!important;scrollbar-width:none}
html body #main .rv-f .rv-fg:not(#z):not(#z){display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:6px!important;row-gap:8px!important;flex-wrap:nowrap!important;width:100%!important;min-width:0!important;height:auto!important}
html body #main .rv-f .rv-c:not(#z):not(#z){grid-column:span 3!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;height:58px!important;min-height:58px!important;max-height:58px!important;width:auto!important;min-width:0!important;box-sizing:border-box!important;padding:0 2px!important;margin:0!important;border:1.5px solid #E4E4E7!important;border-radius:10px!important;background:#fff!important;color:#111!important;box-shadow:none!important;overflow:hidden!important;line-height:1!important;white-space:nowrap!important;text-align:center!important}
html body #main .rv-f .rv-fg[data-g="ft"] .rv-c:not(#z):not(#z){grid-column:span 4!important}
html body #main .rv-f .rv-c.on:not(#z):not(#z){background:#111!important;border-color:#111!important;color:#FFD400!important}
html body #main .rv-f .rv-c .rv-ct:not(#z){display:block!important;font-size:11px!important;font-weight:600!important;letter-spacing:-0.3px!important;line-height:1!important;white-space:nowrap!important;color:inherit!important;max-width:100%!important}
html body #main .rv-f .rv-c svg.rv-li{width:16px!important;height:16px!important;flex:0 0 auto!important;color:inherit!important;stroke:currentColor!important;margin:0!important}
/* Los DOS logotipos reales van como MÁSCARA (background-color:currentColor) para poder teñirlos #111 o #FFD400.
   18 px los dos (son logotipos, no glifos). El PNG solo aporta la silueta: su color da igual, manda el alfa. */
html body #main .rv-f .rv-c .rv-lg:not(#z){display:block!important;height:18px!important;flex:0 0 auto!important;padding:0!important;margin:0!important;border:0!important;background-color:currentColor!important;background-image:none!important;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
/* Web ZOOO · logo horizontal 400×112 → 18 px de alto y 64 de ancho (misma proporción) */
html body #main .rv-f .rv-c .rv-lg-logo:not(#z){width:64px!important;-webkit-mask-image:url(img/logo-zooo-negro.png);mask-image:url(img/logo-zooo-negro.png)}
/* TicketsCandy · marca cuadrada 192×192 con el molinillo HUECO (alfa) → 18×18 */
html body #main .rv-f .rv-c .rv-lg-tc:not(#z){width:18px!important;-webkit-mask-image:url(img/tc-mark-192.png);mask-image:url(img/tc-mark-192.png)}
/* Escalón 1: a 359 px o menos el texto baja a 10,5 px y aprieta el tracking. */
@media (max-width:359px){
 html body #main .rv-f .rv-c .rv-ct:not(#z){font-size:10.5px!important;letter-spacing:-0.4px!important}
}
/* Escalón 2: a 339 px o menos las cuatro de ORIGEN pasan a span 6 (dos por fila). Las de TIPO siguen a span 4. */
@media (max-width:339px){
 html body #main .rv-f .rv-fg[data-g="fo"] .rv-c:not(#z):not(#z){grid-column:span 6!important}
}
/* v94c · tarjeta de reserva: línea de caducidad del enlace */
.rv-eh{display:flex!important;align-items:center;gap:5px;font-size:12px;color:#52525B;margin:2px 0 0}
.rv-eh.bad{color:#D70015!important;font-weight:600}
.rv-rg{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.rv-imp{display:flex;align-items:center;gap:8px;border:1.5px solid #E4E4E7;border-radius:10px;padding:0 12px;min-height:46px;background:#fff}
.rv-imp input{flex:1;border:0!important;background:transparent!important;padding:8px 0!important;min-height:44px!important;font-size:16px!important;font-weight:600;width:100%;box-shadow:none!important}
.rv-impu{font-weight:700;font-size:15px;display:flex;align-items:baseline;gap:4px}
.rv-impu small{font-weight:400;font-size:11px;color:#6b6b6b}
.rv-imph{display:block;margin-top:2px;font-size:11.5px;color:#6b6b6b;font-weight:400}

/* v94g · Fila de personas: − y + DENTRO del propio campo y «personas» una sola vez */
html body #mbox .rv-q:not(#z):not(#z){display:flex!important;align-items:center!important;gap:0!important;border:1.5px solid #E4E4E7!important;border-radius:10px!important;background:#fff!important;min-height:50px!important;padding:0 2px!important;margin-top:2px}
html body #mbox .rv-q .rv-qm:not(#z){flex:0 0 46px!important;width:46px!important;height:46px!important;min-height:0!important;border:0!important;background:transparent!important;color:#111!important;font-size:24px!important;font-weight:500!important;line-height:1!important;border-radius:10px!important;padding:0!important;box-shadow:none!important}
html body #mbox .rv-q .rv-pbox:not(#z){flex:1!important;height:46px!important;border:0!important;border-radius:0!important;background:transparent!important;gap:6px!important;min-width:0}
html body #mbox .rv-q .rv-pbox b{font-size:20px}
html body #mbox .rv-q .rv-pbox small{font-size:14px;color:#52525B;white-space:nowrap}
/* v94g · Concepto (solo «Otro») */
html body #mbox #rnConcW:not(#z){display:grid}
html body #mbox #rnConcN:not(#z){font-weight:700;color:#52525B}
/* v94g · Facturación plegada: el subtítulo solo se ve en la cabecera */
html body #mbox .rv-n details:not(#z) summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;min-height:44px;align-content:center;cursor:pointer;font-size:13px;font-weight:700}
html body #mbox .rv-n details:not(#z) summary small{font-weight:400;color:#6B6B6B;font-size:12px}
html body #mbox .rv-n details[open]:not(#z) summary small{display:none}
/* v94g · Pie: primario amarillo + «Enviar por mail» + Cancelar */
html body #mbox .rv-ft .rv-f2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html body #mbox .rv-ft .rv-cn2{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;background:#fff!important;border:1.5px solid #111!important;color:#111!important;border-radius:10px;min-height:48px;font-weight:700;font-size:14px;padding:0 8px}
/* v94g · Resumen tras guardar */
.rv-rsum{border:1px solid #E4E4E7;border-radius:12px;padding:12px 14px;display:grid;gap:8px;font-size:14px;background:#fff}
.rv-rsum .rv-sr{align-items:baseline}
.rv-rcode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:15px;letter-spacing:.02em}
/* v94g · Cuadro «Enviar por email» de la ficha */
.rv-mailbox{border:1px solid #E4E4E7;border-radius:12px;padding:10px 12px;display:grid;gap:2px;background:#FAFAFA}
.rv-mailbox b{font-size:14px}.rv-mailbox span{font-size:13px;color:#52525B}.rv-mailbox small{font-size:12px;color:#6B6B6B}

/* ===== v94j · Revisión de diseño 28-oct (Picasso) · F1, F2, F4, F5, F6, F8 =====
   F3 (color de «Pendiente») NO se aplica: lo decide Curro; queda como estaba. */
/* F1 · La hoja de Nueva reserva no desborda a 390 px: la columna del grid no puede crecer con el contenido */
html body #mbox .rv-n:not(#z){grid-template-columns:minmax(0,1fr)!important;max-width:100%!important;min-width:0!important}
html body #mbox .rv-n:not(#z)>*{max-width:100%!important;min-width:0!important}
html body #mbox .rv-2:not(#z):not(#z){grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body #mbox .rv-2:not(#z)>label{display:block!important;min-width:0!important}
html body #mbox .rv-q:not(#z):not(#z),html body #mbox .rv-sum:not(#z):not(#z),html body #mbox .rv-ft:not(#z):not(#z){max-width:100%!important;min-width:0!important;box-sizing:border-box}
/* F1 · Origen: segmentado de 3 a ancho completo (TicketsCandy se lee entero) */
html body #mbox .rv-seg[data-k="origen"]:not(#z):not(#z){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;flex-wrap:nowrap!important;gap:6px!important;width:100%!important}
html body #mbox .rv-seg[data-k="origen"] button:not(#z):not(#z){flex:none!important;width:auto!important;min-width:0!important;padding:8px 2px!important;font-size:13px!important;white-space:nowrap!important;overflow:visible!important;box-sizing:border-box}
/* F1 · Tipo: rejilla 3+2 (3 arriba, 2 abajo a lo ancho). Sin fila deslizable ni scroll interno */
/* v94r · todas las cajitas de tipo del MISMO tamaño: 3 por fila y las dos últimas en la segunda fila, mismo ancho y mismo hueco */
html body #mbox .rv-tipos:not(#z):not(#z){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important;overflow-x:visible!important;padding-bottom:0!important;width:100%!important}
html body #mbox .rv-tipos button:not(#z):not(#z){grid-column:auto!important;flex:none!important;width:auto!important;min-width:0!important;box-sizing:border-box;padding:8px 4px 7px!important;white-space:nowrap!important;overflow:visible!important;height:64px!important;min-height:64px!important;max-height:64px!important}
html body #mbox .rv-tipos button:nth-child(4):not(#z):not(#z),html body #mbox .rv-tipos button:nth-child(5):not(#z):not(#z){grid-column:auto!important}
html body #mbox .rv-tipos .rv-tpi:not(#z):not(#z){white-space:nowrap!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* F2 · Tarjeta con enlace caducado: 2 botones como el resto y «Regenerar enlace» como enlace de texto bajo el aviso */
html body #main .rv-rgl:not(#z):not(#z){display:inline-block!important;width:auto!important;min-height:0!important;height:auto!important;margin:4px 0 0!important;padding:6px 0!important;background:none!important;border:0!important;box-shadow:none!important;color:#111!important;font-size:13px!important;font-weight:700!important;text-decoration:underline;text-underline-offset:2px;line-height:1.4;text-align:left}
/* F5 · Total: importe en una línea a 22 px a la derecha; concepto a 13 px, 2 líneas como máximo con elipsis */
html body #mbox .rv-sum .rv-sr:not(#z):not(#z){align-items:flex-start;gap:10px}
html body #mbox .rv-sum .rv-srt:not(#z){flex:1 1 auto;min-width:0;color:#111;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
html body #mbox .rv-sum .rv-srb:not(#z){flex:0 0 auto;color:#111;font-size:22px;line-height:1.15;font-weight:700;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
/* F6 · Pie: «Guardar reserva» amarillo a ancho completo + «Enviar por mail» blanco debajo (sin «Cancelar»: ya está la X) */
html body #mbox .rv-ft .rv-f2:not(#z):not(#z){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
html body #mbox .rv-ft .rv-cn2:not(#z):not(#z){width:100%!important;min-height:48px!important;background:#fff!important;border:1px solid var(--line,#E4E4E7)!important;color:#111!important;border-radius:var(--rad,12px)!important;font-weight:700!important;font-size:15px!important;padding:0 12px!important;box-shadow:none!important}
/* Salvaguardas de anchura estrecha (por debajo de 390): nada se recorta */
@media (max-width:389px){html body #mbox .rv-seg[data-k="origen"]:not(#z):not(#z){grid-template-columns:repeat(2,minmax(0,1fr))!important}html body #mbox .rv-seg[data-k="origen"] button:last-child:not(#z):not(#z){grid-column:1/-1!important}}
@media (max-width:359px){html body #mbox .rv-tipos:not(#z):not(#z){grid-template-columns:repeat(2,minmax(0,1fr))!important}html body #mbox .rv-tipos button:not(#z):not(#z){grid-column:span 1!important}html body #mbox .rv-tipos button:nth-child(4):not(#z):not(#z),html body #mbox .rv-tipos button:nth-child(5):not(#z):not(#z){grid-column:span 1!important}html body #mbox .rv-tipos button:last-child:not(#z):not(#z){grid-column:auto!important}} /* v94r · la última cajita ya NO ocupa la fila entera: todas iguales */
/* v94m · Resumen: el precio va pegado a su calificador («15,00 € por persona») y el IVA baja a nota al pie, como en el mock.
   Se probó a meterlos en una sola línea («15,00 € por persona · IVA incluido» = 226 px) y no cabe en la columna de 199 px que
   queda a 390 con la píldora «Pendiente» (79 px + 10 de separación), así que el IVA va en su línea, más pequeño y en gris. */
html body #mbox .rv-sum .rv-iva:not(#z){color:#111}
/* La píldora «Pendiente» pasa a la columna derecha, debajo del total: así la línea del precio usa los 288 px enteros
   y «15,00 € por persona · IVA incluido» (226 px) cabe sin partirse. */
html body #mbox .rv-sum .rv-sre:not(#z){flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}

/* v94n · Acompañantes gratis (Cumpleaños): contador propio bajo «Personas» y nota discreta en tarjetas y resúmenes */
html body #mbox #rnGratisW:not(#z){display:grid;gap:6px;margin-top:2px}
html body #mbox #rnGratisW>label:not(#z){font-size:12px;font-weight:600;color:#111}
.rv-grat{color:#52525B;font-weight:600;font-size:12px;white-space:nowrap}
html body #mbox .rv-sum .rv-grat:not(#z){font-size:12px;color:#52525B}

/* ===== v94p · Rediseño aprobado de la pantalla de RESERVAS (mock comparativo 28-oct) =====
   Medidas exactas del mock: cabecera sin rótulo de versión junto al menú (la versión queda al pie del menú
   lateral, #navVer), aviso de PIN como línea fina, Hoy/Próximos como DOS botones separados, buscador 48 px
   con lupa 18 y Escanear 48 px con QR, y tarjetas con píldora de estado arriba a la derecha, barra lateral
   de 4 px y botones «Cobrar» / «Ver reserva» abajo. Los FILTROS de v94o no se tocan. */

/* --- 1 · Cabecera: título 22/700/27,5 px y «+ Nueva reserva» 40 px en su sitio (arriba a la derecha) --- */
html body #main .rv .rv-h:not(#z):not(#z){display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important}
html body #main .rv .rv-h h1:not(#z):not(#z){font-size:22px!important;font-weight:700!important;line-height:27.5px!important;letter-spacing:-0.3px!important;margin:0!important}
html body #main .rv .rv-h .rv-new:not(#z):not(#z){flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0 16px!important;border:0!important;border-radius:12px!important;background:#FFD400!important;color:#111!important;font-size:15px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
html body #main .rv .rv-h .rv-new svg{width:18px!important;height:18px!important;flex:0 0 18px!important;color:#111!important;stroke:#111!important}

/* --- 2 · Hoy / Próximos: DOS botones separados, gap 8, 40 px de alto, radio 12 --- */
html body #main .rv .rv-t:not(#z):not(#z){display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:0 0 10px!important}
html body #main .rv .rv-t>button:not(#z):not(#z){flex:1 1 0!important;min-width:0!important;height:40px!important;min-height:40px!important;max-height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 10px!important;border:1px solid #E4E4E7!important;border-radius:12px!important;background:#fff!important;color:#111!important;font-size:14.5px!important;font-weight:600!important;line-height:1!important;box-shadow:none!important}
html body #main .rv .rv-t>button:not(#z):not(#z) svg{width:16px!important;height:16px!important;flex:0 0 16px!important;color:#111!important;stroke:#111!important}
html body #main .rv .rv-t>button.on:not(#z):not(#z){background:#111!important;border-color:#111!important;color:#fff!important}
html body #main .rv .rv-t>button.on:not(#z):not(#z) svg{color:#fff!important;stroke:#fff!important}

/* --- 3 · Buscador 48 px con la lupa dentro + botón «Escanear» 48 px --- */
html body #main .rv .rv-s:not(#z):not(#z){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;margin:0!important}
html body #main .rv .rv-s .rv-qbox:not(#z):not(#z){display:flex!important;align-items:center!important;gap:8px!important;height:48px!important;min-height:48px!important;margin:0!important;align-self:center!important;padding:0 12px!important;background:#fff!important;border:1px solid #E4E4E7!important;border-radius:12px!important;box-sizing:border-box!important;min-width:0!important}
html body #main .rv .rv-s .rv-qbox svg.rv-li{width:18px!important;height:18px!important;flex:0 0 18px!important;color:#A1A1AA!important;stroke:#A1A1AA!important}
html body #main .rv .rv-s .rv-qbox input:not(#z):not(#z){flex:1 1 auto!important;width:100%!important;min-width:0!important;height:46px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:15px!important;color:#111!important;outline:none!important}
html body #main .rv .rv-s .rv-qbox input::placeholder{font-size:15px!important;color:#A1A1AA!important;opacity:1!important}
html body #main .rv .rv-s .rv-scan:not(#z):not(#z){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 14px!important;border:1px solid #E4E4E7!important;border-radius:12px!important;background:#fff!important;color:#111!important;font-size:14.5px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
html body #main .rv .rv-s .rv-scan svg.rv-li{width:18px!important;height:18px!important;flex:0 0 18px!important;color:#111!important;stroke:#111!important}

/* --- 5 · Tarjeta de reserva --- */
html body #main .rv .rv-k:not(#z):not(#z){position:relative!important;border:1px solid #E4E4E7!important;border-left:4px solid #16A34A!important;border-radius:12px!important;padding:12px 14px!important;margin:0 0 10px!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden!important}
html body #main .rv .rv-k.bad:not(#z):not(#z){border-left-color:#D70015!important}
/* Nombre + píldora de estado ARRIBA A LA DERECHA */
html body #main .rv .rv-k .rv-k1:not(#z):not(#z){display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;margin:0!important}
html body #main .rv .rv-k .rv-k1>b:not(#z):not(#z){font-size:16px!important;font-weight:700!important;color:#111!important;line-height:1.25!important;min-width:0;overflow-wrap:anywhere}
html body #main .rv .rv-k .rv-k1s:not(#z):not(#z){flex:0 0 auto!important;display:inline-flex!important;align-items:flex-start!important;justify-content:flex-end!important;margin:0!important;padding:0!important}
html body #main .rv .rv-p:not(#z):not(#z){display:inline-flex!important;align-items:center!important;gap:4px!important;height:22px!important;min-height:22px!important;padding:0 8px!important;border-radius:999px!important;border:1px solid transparent!important;font-size:11.5px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
html body #main .rv .rv-p.ok:not(#z):not(#z){background:#E8F7EE!important;color:#15803D!important;border-color:#BBE5CB!important}
html body #main .rv .rv-p.bad:not(#z):not(#z){background:#FDECEE!important;color:#D70015!important;border-color:#F7C3C9!important}
html body #main .rv .rv-p.vino:not(#z):not(#z){background:#F4F4F5!important;color:#3F3F46!important;border-color:#E4E4E7!important}
/* Fila hora + personas (13 px #52525B) y línea de producto con el importe en negrita */
html body #main .rv .rv-k .rv-k2:not(#z):not(#z){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:4px 12px!important;margin:6px 0 0!important;font-size:13px!important;color:#52525B!important;line-height:1.35!important}
html body #main .rv .rv-k .rv-k2>span{display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:0}
html body #main .rv .rv-k .rv-k2 svg.rv-li{width:14px!important;height:14px!important;flex:0 0 14px!important;color:#71717A!important;stroke:#71717A!important}
html body #main .rv .rv-k .rv-prod:not(#z):not(#z){color:#111!important;font-size:13.5px!important;font-weight:400!important;display:block!important;margin-top:6px!important}
html body #main .rv .rv-k .rv-prod b{font-weight:700!important;color:#111!important}
/* Botones abajo en fila: Cobrar (amarillo, icono tarjeta 18) + Ver reserva (blanco con borde) */
html body #main .rv .rv-k .rv-k4:not(#z):not(#z){display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:12px 0 0!important}
html body #main .rv .rv-k .rv-k4>button:not(#z):not(#z){flex:1 1 0!important;min-width:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0 10px!important;border-radius:10px!important;font-size:14px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
html body #main .rv .rv-k .rv-k4>button.rv-cob:not(#z):not(#z){background:#FFD400!important;border:1px solid #FFD400!important;color:#111!important;font-weight:700!important}
html body #main .rv .rv-k .rv-k4>button.rv-cob svg.rv-li{width:18px!important;height:18px!important;flex:0 0 18px!important;color:#111!important;stroke:#111!important}
html body #main .rv .rv-k .rv-k4>button.rv-ver:not(#z):not(#z){background:#fff!important;border:1px solid #E4E4E7!important;color:#111!important;font-weight:700!important}
/* Aviso de enlace caducado en rojo y «Regenerar enlace» subrayado debajo */
html body #main .rv .rv-k .rv-eh.bad:not(#z):not(#z){color:#D70015!important;font-weight:600!important;font-size:12.5px!important;display:block!important;margin-top:8px!important}
html body #main .rv .rv-k .rv-rgl:not(#z):not(#z){display:inline-block!important;width:auto!important;height:auto!important;min-height:0!important;margin:4px 0 0!important;padding:2px 0!important;background:none!important;border:0!important;box-shadow:none!important;color:#111!important;font-size:13px!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:2px!important;line-height:1.4!important}

/* --- Aviso de PIN y versión discreta --- */
.nav-ver{font-size:10.5px;line-height:1.2;letter-spacing:.02em;color:var(--mut2,#9AA0A8);padding:2px 8px 4px;margin:0}

/* Escalón estrecho: a 320 px los botones de la tarjeta siguen en fila y el buscador no se rompe */
@media (max-width:359px){
 html body #main .rv .rv-k .rv-k4>button:not(#z):not(#z){font-size:13.5px!important;padding:0 8px!important;gap:6px!important}
 html body #main .rv .rv-s .rv-scan:not(#z):not(#z){padding:0 10px!important;font-size:14px!important;gap:6px!important}
 html body #main .rv .rv-s .rv-qbox:not(#z):not(#z){padding:0 10px!important}
}

/* ===== v94r · Ritmo uniforme en la hoja «Nueva reserva» (28-oct, Curro) =====
   El desorden venía de sumar margen global de `label` (12/5) + gap del grid (12) + márgenes propios.
   Aquí se anulan los márgenes sueltos y queda UN solo ritmo: huecos de 12 px entre bloques. */
html body #mbox .rv-n:not(#z){gap:12px!important;padding:0!important}
html body #mbox .rv-n:not(#z)>*{margin:0!important}
html body #mbox .rv-n:not(#z) label:not(.rv-x):not(#z){gap:5px!important;margin:0!important;font-size:12px!important;font-weight:600!important;color:#52525B!important}
html body #mbox .rv-n:not(#z) .rv-2:not(#z){gap:10px!important;margin:0!important}
html body #mbox .rv-n:not(#z) .rv-2:not(#z)>label{margin:0!important}
html body #mbox .rv-n:not(#z) input:not(#z),html body #mbox .rv-n:not(#z) select:not(#z),html body #mbox .rv-n:not(#z) textarea:not(#z){margin:0!important;height:44px!important;min-height:44px!important;box-sizing:border-box!important}
html body #mbox .rv-n:not(#z) textarea{height:auto!important;min-height:64px!important;padding:10px 12px!important}
html body #mbox .rv-n:not(#z) .rv-sum:not(#z){margin:0!important}
html body #mbox .rv-n:not(#z) .rv-ft:not(#z){margin:0!important;gap:8px!important}
html body #mbox .rv-n:not(#z) .rv-imph{margin:0!important;line-height:1.35!important}
/* Facturación: título y subtítulo pegados, en dos líneas, dentro de la misma caja de 48 px, con la flecha a la derecha */
html body #mbox .rv-n details:not(#z) summary{position:relative!important;display:block!important;min-height:48px!important;padding:7px 38px 7px 12px!important;border:1.5px solid #E4E4E7!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important;line-height:1.25!important;list-style:none!important}
html body #mbox .rv-n details:not(#z) summary::before{content:none!important;display:none!important}
html body #mbox .rv-n details:not(#z) summary::after{content:''!important;position:absolute!important;right:15px!important;top:50%!important;width:8px!important;height:8px!important;margin-top:-5px!important;border-right:2px solid #71717A!important;border-bottom:2px solid #71717A!important;transform:rotate(45deg)!important;transition:transform .15s!important}
html body #mbox .rv-n details[open]:not(#z) summary::after{transform:rotate(-135deg)!important;margin-top:-2px!important}
html body #mbox .rv-n details:not(#z) summary small{display:block!important;margin:2px 0 0!important;padding:0!important;line-height:1.2!important;font-weight:400!important;color:#6B6B6B!important;font-size:12px!important}
html body #mbox .rv-n details:not(#z) summary::-webkit-details-marker{display:none!important}
html body #mbox .rv-n details:not(#z)>*:not(summary){margin:0!important}
html body #mbox .rv-n details:not(#z)>*:not(summary)+*:not(summary){margin-top:10px!important}
html body #mbox .rv-n details[open]:not(#z){padding:0 0 10px!important}
html body #mbox .rv-n details:not(#z) .rv-2:not(#z){margin:0!important}

/* ===== v94s · Hoja «Nueva reserva» con el diseño aprobado (mock nr/prop.png de Picasso, 28-oct) =====
   Medidas del mock a 390: hoja 366, relleno 20, cabecera 20/700 con subtítulo 12/500, X 38×38 r12,
   Tipo en rejilla 3+2 de 64, Cuándo con cajas de 48, Personas 50, campos con el icono DENTRO,
   Pago en tarjetas de 64 y pie con línea superior. Márgenes laterales: 14 px (no se tocan). */
html body #mbox:has(.rv-n94s){padding:20px!important;border-radius:16px!important}
html body #mbox .rv-n94s:not(#z){gap:18px!important;padding:0!important}
html body #mbox .rv-n94s:not(#z)>*{margin:0!important;max-width:100%!important;min-width:0!important}

/* --- Cabecera: título 20/700 + subtítulo 12/500 y la X 38×38 con el MISMO aire a la derecha que el texto a la izquierda --- */
html body #mbox .mhd.mhd94s{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;position:sticky!important;top:-20px!important;z-index:6!important;margin:-20px -20px 0!important;padding:20px 20px 17px!important;background:#fff!important;border:0!important;box-shadow:none!important;box-sizing:border-box!important}
html body #mbox .mhd.mhd94s .mhd-t{flex:1 1 auto!important;min-width:0!important;display:block!important;font-weight:700!important;color:#111!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
html body #mbox .mhd.mhd94s .mhd-t b{display:block!important;font-size:20px!important;font-weight:700!important;line-height:25px!important;letter-spacing:-.3px!important;color:#111!important}
html body #mbox .mhd.mhd94s .mhd-t small{display:block!important;font-size:12px!important;font-weight:500!important;line-height:16px!important;color:#8A8F98!important;margin-top:3px!important}
html body #mbox .mhd.mhd94s .mhd-x{align-self:flex-start!important;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;background:#fff!important;color:#111!important;border:1px solid #E4E4E7!important;border-radius:12px!important;box-shadow:none!important;box-sizing:border-box!important;line-height:1!important}
html body #mbox .mhd.mhd94s .mhd-x svg,html body #mbox .mhd.mhd94s .mhd-x svg.rv-li{width:18px!important;height:18px!important;min-width:18px!important;display:block!important;stroke:#111!important;color:#111!important}

/* --- Bloques y rótulos --- */
html body #mbox .rv-n94s .rvs-sec:not(#z){display:grid!important;gap:8px!important;min-width:0!important}
html body #mbox .rv-n94s .rvs-lb:not(#z){display:flex!important;align-items:baseline!important;gap:5px!important;font-size:12.5px!important;font-weight:600!important;line-height:15px!important;color:#4B5563!important;letter-spacing:0!important}
html body #mbox .rv-n94s .rvs-lb .rv-req,html body #mbox .rv-n94s .rvs-lb #rnEReq .rv-req{font-size:12px!important;font-weight:500!important;color:#D70015!important}
html body #mbox .rv-n94s .rvs-hint:not(#z){display:block!important;font-size:11.5px!important;font-weight:500!important;line-height:15px!important;color:#8A8F98!important;margin:-2px 0 0!important}

/* --- 2 · Tipo: rejilla 3+2, cajitas de 64 con el precio del elegido en amarillo --- */
html body #mbox .rv-n94s .rv-tipos.rvs-tipos:not(#z):not(#z){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;padding:0!important;width:100%!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button:not(#z):not(#z){height:64px!important;min-height:64px!important;max-height:64px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:8px 4px!important;border:1px solid #E4E4E7!important;border-radius:12px!important;background:#fff!important;color:#111!important;box-shadow:none!important;transition:none!important;min-width:0!important;overflow:hidden!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button.on:not(#z):not(#z){background:#111!important;border-color:#111!important;color:#fff!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button b{display:block!important;font-size:12.5px!important;font-weight:650!important;line-height:15px!important;letter-spacing:-.1px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button .rv-li{width:18px!important;height:18px!important;flex:0 0 18px!important;margin:0!important;stroke:#52525B!important;color:#52525B!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button.on .rv-li{stroke:#FFD400!important;color:#FFD400!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos .rv-tpi:not(#z){display:block!important;font-style:normal!important;font-size:10.5px!important;font-weight:600!important;line-height:13px!important;letter-spacing:0!important;margin:0!important;color:#52525B!important;opacity:1!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button.on .rv-tpi:not(#z){color:#FFD400!important}
@media (max-width:359px){
 html body #mbox .rv-n94s .rv-tipos.rvs-tipos:not(#z):not(#z){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body #mbox .rv-n94s .rv-tipos.rvs-tipos button:not(#z):not(#z){grid-column:auto!important}
}

/* --- 3 · Cuándo: dos cajas de 48 con el icono dentro y el chevron a la derecha --- */
html body #mbox .rv-n94s .rvs-cuando:not(#z){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html body #mbox .rv-n94s .rvs-fld:not(#z){display:flex!important;align-items:center!important;gap:8px!important;height:48px!important;min-height:48px!important;padding:0 12px!important;border:1px solid #E4E4E7!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important;min-width:0!important;position:relative!important}
html body #mbox .rv-n94s .rvs-fld>.rv-li{width:17px!important;height:17px!important;flex:0 0 17px!important;stroke:#52525B!important;color:#52525B!important;margin:0!important}
html body #mbox .rv-n.rv-n94s .rvs-fld select:not(#z),html body #mbox .rv-n.rv-n94s .rvs-fld input:not(#z){flex:1 1 auto!important;width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;max-height:46px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;font-size:15px!important;font-weight:500!important;line-height:1.2!important;color:#111!important;font-family:inherit!important}
html body #mbox .rv-n94s .rvs-fld select{-webkit-appearance:none!important;appearance:none!important;background-image:none!important;padding-right:0!important;text-overflow:ellipsis!important}
html body #mbox .rv-n94s .rvs-fld input::placeholder{color:#A1A1AA!important;font-weight:400!important;opacity:1!important}
/* el chevron de las cajas (el último svg del contenedor) */
html body #mbox .rv-n94s .rvs-fld>svg.rv-li:last-child{width:16px!important;height:16px!important;flex:0 0 16px!important;stroke:#A1A1AA!important;color:#A1A1AA!important;pointer-events:none!important}

/* --- 4 · Personas: caja de 50 con − y + dentro, sin borde propio --- */
html body #mbox .rv-n94s .rvs-step:not(#z){display:flex!important;align-items:center!important;justify-content:space-between!important;height:50px!important;min-height:50px!important;padding:0 4px!important;border:1px solid #E4E4E7!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important}
html body #mbox .rv-n94s .rvs-step .rvs-sb:not(#z){flex:0 0 44px!important;width:44px!important;height:42px!important;min-height:42px!important;max-height:42px!important;display:grid!important;place-items:center!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#111!important;box-shadow:none!important;font-size:0!important}
html body #mbox .rv-n94s .rvs-step .rvs-sb svg.rv-li{width:20px!important;height:20px!important;stroke:#111!important;color:#111!important}
html body #mbox .rv-n94s .rvs-step .rvs-val:not(#z){flex:1 1 auto!important;display:flex!important;align-items:baseline!important;justify-content:center!important;gap:6px!important;min-width:0!important}
html body #mbox .rv-n94s .rvs-step .rvs-val b{font-size:17px!important;font-weight:700!important;line-height:20px!important;color:#111!important}
html body #mbox .rv-n94s .rvs-step .rvs-val small{font-size:13px!important;font-weight:500!important;line-height:16px!important;color:#52525B!important;white-space:nowrap!important}
/* Acompañantes gratis (solo Cumpleaños): mismo contador, con su rótulo de sección */
html body #mbox .rv-n.rv-n94s #rnGratisW:not(#z):not(#z){display:none!important;gap:8px!important;margin:0!important}
html body #mbox .rv-n.rv-n94s #rnGratisW.on:not(#z):not(#z){display:grid!important}

/* --- 5 · Datos del cliente: el icono va DENTRO del campo, a la izquierda --- */
html body #mbox .rv-n94s .rvs-2lb:not(#z){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 0 -4px!important}
html body #mbox .rv-n94s .rvs-2lb>span{font-size:12.5px!important;font-weight:600!important;line-height:15px!important;color:#4B5563!important}
html body #mbox .rv-n94s .rvs-2:not(#z){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html body #mbox .rv-n94s .rvs-2>*{margin:0!important;min-width:0!important}
html body #mbox .rv-n94s .rvs-fld-in:not(#z){position:relative!important}
html body #mbox .rv-n94s .rvs-fld-in>.rv-li{margin:0!important}
/* Motivo: rótulo + campo, igual que el resto */
html body #mbox .rv-n.rv-n94s .rvs-mot:not(#z):not(#z){display:none!important;gap:8px!important;margin-top:4px!important}
html body #mbox .rv-n.rv-n94s .rvs-mot.on:not(#z):not(#z){display:grid!important}
html body #mbox .rv-n94s .rvs-mot .rvs-lb>span{font-size:12.5px!important;font-weight:500!important;color:#8A8F98!important}
/* Concepto / Importe (siguen vivos, ocultos salvo en Otro y Grupo) */
html body #mbox .rv-n.rv-n94s label.rvs-lbw:not(#z):not(#z){display:none!important;gap:8px!important;margin:0!important;font-size:12.5px!important;font-weight:600!important;line-height:15px!important;color:#4B5563!important}
html body #mbox .rv-n.rv-n94s label.rvs-lbw.on:not(#z):not(#z){display:grid!important}
html body #mbox .rv-n94s .rvs-in:not(#z){display:block!important}
html body #mbox .rv-n.rv-n94s .rvs-in input:not(#z){height:48px!important;min-height:48px!important;border:1px solid #E4E4E7!important;border-radius:10px!important;padding:0 12px!important;font-size:15px!important;font-weight:500!important}

/* --- 6 · Pago: tarjetas de 64, la elegida con borde de 1,5 y punto negro --- */
html body #mbox .rv-n94s .rv-pay.rvs-pay:not(#z){display:grid!important;gap:8px!important}
html body #mbox .rv-n94s .rv-pay .rv-po:not(#z):not(#z){display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;height:64px!important;min-height:64px!important;max-height:64px!important;padding:0 14px!important;text-align:left!important;border:1px solid #E4E4E7!important;border-radius:12px!important;background:#fff!important;color:#111!important;box-shadow:none!important;box-sizing:border-box!important;transition:none!important}
html body #mbox .rv-n94s .rv-pay .rv-po.on:not(#z):not(#z){border:1.5px solid #111!important;padding:0 13.5px!important}
html body #mbox .rv-n94s .rv-pay .rv-pi:not(#z){width:34px!important;height:34px!important;flex:0 0 34px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:#F4F4F5!important}
html body #mbox .rv-n94s .rv-pay .rv-pi svg.rv-li{width:19px!important;height:19px!important;stroke:#52525B!important;color:#52525B!important}
html body #mbox .rv-n94s .rv-pay .rv-pt{flex:1 1 auto!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}
html body #mbox .rv-n94s .rv-pay .rv-pt b{font-size:14.5px!important;font-weight:650!important;line-height:17px!important;letter-spacing:-.1px!important;color:#111!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #mbox .rv-n94s .rv-pay .rv-pt small{font-size:12.5px!important;font-weight:500!important;line-height:15px!important;color:#71717A!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #mbox .rv-n94s .rv-pay .rv-rad:not(#z){width:20px!important;height:20px!important;flex:0 0 20px!important;border-radius:50%!important;border:1.5px solid #A1A1AA!important;background:radial-gradient(circle at center,#fff 0 100%)!important;box-sizing:border-box!important;margin-left:auto!important}
html body #mbox .rv-n94s .rv-pay .rv-po.on .rv-rad:not(#z){border-color:#111!important;background:radial-gradient(circle at center,#111 0 4.5px,#fff 4.6px)!important}

/* --- 8 · Facturación y Nota: filas de 52 que se despliegan --- */
html body #mbox .rv-n94s .rvs-det:not(#z){border:1px solid #E4E4E7!important;border-radius:12px!important;background:#fff!important;padding:0!important;margin:-10px 0 0!important;overflow:hidden!important;min-height:52px!important;height:52px!important;box-sizing:border-box!important}
html body #mbox .rv-n94s .rvs-det[open]:not(#z){height:auto!important}
html body #mbox .rv-n94s .rvs-det>summary:not(#z){display:flex!important;align-items:center!important;gap:10px!important;height:50px!important;min-height:50px!important;max-height:50px!important;padding:0 14px!important;margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important;cursor:pointer!important;list-style:none!important}
html body #mbox .rv-n94s .rvs-det>summary:not(#z)::after,html body #mbox .rv-n94s .rvs-det>summary:not(#z)::before{content:none!important;display:none!important}
html body #mbox .rv-n94s .rvs-det>summary .rv-li{flex:0 0 18px!important;width:18px!important;height:18px!important;stroke:#52525B!important;color:#52525B!important;margin:0!important}
html body #mbox .rv-n94s .rvs-det>summary b{font-size:14px!important;font-weight:600!important;line-height:17px!important;color:#111!important;white-space:nowrap!important}
html body #mbox .rv-n94s .rvs-det>summary small{font-size:12px!important;font-weight:500!important;line-height:15px!important;color:#8A8F98!important;margin:0!important;padding:0!important;display:inline!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html body #mbox .rv-n94s .rvs-det[open]>summary small{display:none!important}
html body #mbox .rv-n94s .rvs-det>summary .rv-li:last-child{margin-left:auto!important;flex:0 0 16px!important;width:16px!important;height:16px!important;stroke:#A1A1AA!important;color:#A1A1AA!important;transition:transform .15s!important}
html body #mbox .rv-n94s .rvs-det[open]>summary .rv-li:last-child{transform:rotate(90deg)!important}
html body #mbox .rv-n94s .rvs-det>*:not(summary){margin:0 14px 10px!important}
html body #mbox .rv-n94s .rvs-det>*:not(summary):first-of-type{margin-top:0!important}
html body #mbox .rv-n.rv-n94s .rvs-det label:not(#z):not(#z){font-size:12.5px!important;font-weight:600!important;color:#4B5563!important;margin:0 0 8px!important;display:grid!important;gap:6px!important}
html body #mbox .rv-n.rv-n94s .rvs-det label input:not(#z),html body #mbox .rv-n.rv-n94s .rvs-det label textarea:not(#z){height:48px!important;min-height:48px!important;border:1px solid #E4E4E7!important;border-radius:10px!important;padding:0 12px!important;font-size:15px!important;font-weight:500!important}
html body #mbox .rv-n94s .rvs-det label textarea{height:auto!important;min-height:88px!important;padding:10px 12px!important}
html body #mbox .rv-n94s .rvs-det .rv-2{gap:8px!important}

/* --- 9 · Pie: línea superior, resumen a la izquierda y total con su píldora a la derecha --- */
html body #mbox .rv-n94s .rvs-ft:not(#z){display:grid!important;gap:0!important;margin:2px -20px -20px!important;padding:14px 20px 18px!important;background:#fff!important;border-top:1px solid #F1F1F3!important;max-width:none!important;width:auto!important;box-sizing:border-box!important}
html body #mbox .rv-n94s .rvs-fb:not(#z){display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;margin:0 0 12px!important}
html body #mbox .rv-n94s .rvs-fl:not(#z){flex:1 1 auto!important;min-width:0!important;display:grid!important;gap:2px!important}
html body #mbox .rv-n94s .rvs-fl>div{font-size:12.5px!important;font-weight:500!important;line-height:17px!important;color:#52525B!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #mbox .rv-n94s .rvs-fl #rvsDet{color:#52525B!important}
html body #mbox .rv-n94s .rvs-fr:not(#z){flex:0 0 auto!important;display:grid!important;justify-items:end!important;gap:4px!important;text-align:right!important}
html body #mbox .rv-n94s .rvs-tot:not(#z){font-size:22px!important;font-weight:700!important;line-height:25px!important;letter-spacing:-.4px!important;color:#111!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
html body #mbox .rv-n94s .rvs-pill:not(#z){display:inline-flex!important;align-items:center!important;height:20px!important;min-height:20px!important;padding:0 8px!important;border-radius:99px!important;background:#FDECEE!important;color:#D70015!important;border:1px solid #F7C3C9!important;font-size:11px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
html body #mbox .rv-n94s .rv-ft:not(#z){display:grid!important;gap:8px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
html body #mbox .rv-n94s .rv-ft .rv-ok:not(#z){width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;border:0!important;border-radius:12px!important;background:#FFD400!important;color:#111!important;font-size:15px!important;font-weight:700!important;box-shadow:none!important;padding:0 16px!important}
html body #mbox .rv-n94s .rv-ft .rv-cn2:not(#z):not(#z){width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:#fff!important;border:1px solid #E4E4E7!important;color:#111!important;border-radius:12px!important;font-size:14.5px!important;font-weight:600!important;padding:0 12px!important;box-shadow:none!important}
html body #mbox .rv-n94s .rv-ft .rv-cn2 svg.rv-li{width:18px!important;height:18px!important;stroke:#52525B!important;color:#52525B!important}
/* El resumen gris de antes queda oculto: el pie nuevo lo sustituye */
html body #mbox .rv-n94s .rv-sum{display:none!important}
/* v94s · visibilidad por clase (nunca por estilo en línea: el !important del CSS lo pisaría) */
html body #mbox .rv-n94s .rv-ft .rv-f2.off:not(#z):not(#z){display:none!important}
html body #mbox .rv-n94s #rnPN:not(#z){display:none!important;margin:0!important}
html body #mbox .rv-n94s #rnPN.on:not(#z){display:block!important}

/* v94s · el foco se pinta en la CAJA (no en el input de dentro, que no tiene borde propio) */
html body #mbox .rv-n94s .rvs-fld:focus-within:not(#z){border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.07)!important}
html body #mbox .rv-n94s .rvs-fld input:focus,html body #mbox .rv-n94s .rvs-fld input:focus-visible,
html body #mbox .rv-n94s .rvs-fld select:focus,html body #mbox .rv-n94s .rvs-fld select:focus-visible{outline:0!important;outline-offset:0!important;box-shadow:none!important;border:0!important;border-color:transparent!important}
html body #mbox .rv-n94s .rvs-in input:focus,html body #mbox .rv-n94s .rvs-in input:focus-visible,
html body #mbox .rv-n94s .rvs-det input:focus,html body #mbox .rv-n94s .rvs-det input:focus-visible,
html body #mbox .rv-n94s .rvs-det textarea:focus,html body #mbox .rv-n94s .rvs-det textarea:focus-visible{outline:0!important;outline-offset:0!important;box-shadow:none!important;border-color:#111!important}

/* v94t · Fix (Curro, 28-oct): los textos de las cajitas de Tipo se recortaban al aplastarse.
   Las tres piezas (icono, nombre, precio) van a tamaño fijo y las líneas caben dentro de los 64 px. */
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button:not(#z):not(#z){padding:7px 4px!important;gap:2px!important;overflow:visible!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button>*{flex:0 0 auto!important;min-height:0!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button .rv-li{width:17px!important;height:17px!important;flex:0 0 17px!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button b{font-size:12px!important;line-height:15px!important;overflow:visible!important;text-overflow:clip!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos .rv-tpi:not(#z){font-size:10px!important;line-height:12px!important;overflow:visible!important;text-overflow:clip!important}

/* v94t · La cajita de Tipo NUNCA recorta: si el texto no cabe (iPhone y pantallas estrechas), la cajita crece un poco
   en vez de cortar el nombre o el precio. A 390 con sitio de sobra sigue midiendo 64 px, como el mock. */
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button:not(#z):not(#z){height:auto!important;min-height:64px!important;max-height:none!important;padding:6px 5px!important;gap:2px!important;overflow:visible!important;align-self:stretch!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos button b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:12px!important;line-height:14px!important;overflow-wrap:normal!important;word-break:keep-all!important;hyphens:none!important;max-width:100%!important;text-align:center!important}
html body #mbox .rv-n94s .rv-tipos.rvs-tipos .rv-tpi:not(#z){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:10px!important;line-height:12px!important;overflow-wrap:normal!important;word-break:keep-all!important;text-align:center!important;max-width:100%!important}

/* v94t · que ningún texto se corte: la cajita crece y el pie del resumen puede ir a dos líneas */
html body #mbox .rv-n94s .rvs-fl>div:not(#z){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word!important}
html body #mbox .rv-n94s .rvs-fb:not(#z){align-items:flex-start!important}

/* ═══ v94z · Ver reserva / Enviar por email / Reserva guardada (mocks rv/ver.html, mail.html, res.html de Picasso) ═══
   Mismas piezas en las tres: cabecera 20/700 + subtítulo, tarjetas con borde y filas de icono en caja de 34,
   precio 17/700 con «IVA incluido» justo debajo al mismo borde derecho, y botones de 48. */
html body #mbox:has(.rv-n94z){padding:20px!important;border-radius:16px!important}
html body #mbox .mhd.mhd94s .mhd-t small{text-transform:none!important}
html body #mbox .rv-n94z:not(#z){display:grid!important;gap:18px!important;padding:0!important;margin:0!important}
html body #mbox .rv-n94z:not(#z)>*{margin:0!important}

/* píldoras de estado y código */
html body #mbox .rvz-pills:not(#z){display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:-4px 0 -2px!important}
html body #mbox .rvz-pill:not(#z){display:inline-flex!important;align-items:center!important;height:22px!important;min-height:22px!important;padding:0 9px!important;border-radius:99px!important;font-size:11.5px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important}
html body #mbox .rvz-pill.bad:not(#z){background:#FDECEE!important;color:#D70015!important;border:1px solid #F7C3C9!important}
html body #mbox .rvz-pill.ok:not(#z){background:#E8F7EE!important;color:#15803D!important;border:1px solid #BBE5CB!important}
html body #mbox .rvz-code:not(#z){display:inline-flex!important;align-items:center!important;height:22px!important;padding:0 9px!important;border-radius:99px!important;background:#F4F4F5!important;color:#52525B!important;border:1px solid #E4E4E7!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.3px!important;line-height:1!important}
html body #mbox .rvz-mut:not(#z){font-size:12.5px!important;font-weight:500!important;color:#8A8F98!important;line-height:16px!important}

/* tarjetas y filas */
html body #mbox .rvz-card:not(#z){border:1px solid #E4E4E7!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important;padding:0!important;display:block!important}
html body #mbox .rvz-row:not(#z){display:flex!important;align-items:center!important;gap:12px!important;padding:13px 14px!important;min-height:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;text-align:left!important;width:100%!important;box-sizing:border-box!important}
html body #mbox .rvz-card>*+*:not(#z){border-top:1px solid #F1F1F3!important}
html body #mbox .rvz-ic:not(#z){width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;border-radius:10px!important;background:#F4F4F5!important;display:grid!important;place-items:center!important;margin:0!important}
html body #mbox .rvz-ic svg:not(#z){width:18px!important;height:18px!important;stroke:#52525B!important;color:#52525B!important;margin:0!important;display:block!important}
html body #mbox .rvz-tx:not(#z){flex:1 1 auto!important;min-width:0!important;display:block!important}
html body #mbox .rvz-tx b:not(#z){display:block!important;font-size:14.5px!important;font-weight:650!important;line-height:17px!important;letter-spacing:-.1px!important;color:#111!important;white-space:normal!important;overflow:visible!important}
html body #mbox .rvz-tx small:not(#z){display:block!important;font-size:12.5px!important;font-weight:500!important;line-height:16px!important;color:#71717A!important;margin-top:2px!important;white-space:normal!important;overflow:visible!important}

/* el bloque del precio: importe arriba e «IVA incluido» justo debajo, pegados al mismo borde derecho */
html body #mbox .rvz-px:not(#z){flex:0 0 auto!important;margin-left:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:1px!important;text-align:right!important}
html body #mbox .rvz-p:not(#z){display:block!important;font-size:17px!important;font-weight:700!important;line-height:20px!important;letter-spacing:-.25px!important;color:#111!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
html body #mbox .rvz-p .rvz-e:not(#z){font-size:15px!important;font-style:normal!important;font-weight:700!important;margin-left:1px!important}
html body #mbox .rvz-pb:not(#z){font-size:22px!important;line-height:26px!important;letter-spacing:-.4px!important}
html body #mbox .rvz-pb .rvz-e:not(#z){font-size:19px!important}
html body #mbox .rvz-iv:not(#z){display:block!important;font-size:11px!important;font-weight:500!important;line-height:13px!important;color:#8A8F98!important;white-space:nowrap!important;margin:0!important}

/* bloque del total */
html body #mbox .rvz-tot:not(#z){display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;padding:14px!important}
html body #mbox .rvz-tl:not(#z){display:block!important;min-width:0!important}
html body #mbox .rvz-tl b:not(#z){display:block!important;font-size:12.5px!important;font-weight:600!important;line-height:15px!important;color:#4B5563!important}
html body #mbox .rvz-tl small:not(#z){display:block!important;font-size:11.5px!important;font-weight:500!important;line-height:15px!important;color:#8A8F98!important;margin-top:3px!important}
html body #mbox .rvz-a:not(#z){flex:0 0 auto!important;margin-left:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;text-align:right!important}

/* filas plegables de Nota y Facturación (52) */
html body #mbox .rvz-det:not(#z){display:block!important;margin:0!important;border:0!important;background:#fff!important}
html body #mbox .rvz-det>summary:not(#z){display:flex!important;align-items:center!important;gap:12px!important;min-height:52px!important;height:52px!important;padding:0 14px!important;margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;list-style:none!important;cursor:pointer!important;box-sizing:border-box!important;width:100%!important}
html body #mbox .rvz-det>summary::-webkit-details-marker{display:none!important}
html body #mbox .rvz-det>summary:after{content:none!important;display:none!important}
html body #mbox .rvz-ch:not(#z){flex:0 0 16px!important;display:grid!important;place-items:center!important;transition:transform .15s!important}
html body #mbox .rvz-ch svg:not(#z){width:16px!important;height:16px!important;stroke:#A1A1AA!important;color:#A1A1AA!important;display:block!important}
html body #mbox .rvz-det[open]>summary:not(#z) .rvz-ch:not(#z){transform:rotate(90deg)!important}
html body #mbox .rvz-det[open]>summary:not(#z){border-bottom:0!important}
html body #mbox .rvz-dc:not(#z){padding:0 14px 14px 60px!important;border-top:1px solid #F1F1F3!important;padding-top:12px!important}
html body #mbox .rvz-dc p:not(#z){margin:0!important;font-size:13px!important;font-weight:500!important;line-height:18px!important;color:#52525B!important}

/* campo del email con su icono dentro y la línea del aviso */
html body #mbox .rvz-sec:not(#z){display:block!important}
html body #mbox .rvz-lb:not(#z){display:block!important;font-size:12.5px!important;font-weight:600!important;color:#4B5563!important;margin:0 0 8px!important;line-height:15px!important}
html body #mbox .rvz-fld:not(#z){display:flex!important;align-items:center!important;gap:9px!important;height:48px!important;min-height:48px!important;padding:0 12px!important;border:1px solid #E4E4E7!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important;margin:0!important}
html body #mbox .rvz-fld:focus-within:not(#z){border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.07)!important}
html body #mbox .rvz-fld>svg:not(#z){width:17px!important;height:17px!important;flex:0 0 17px!important;stroke:#A1A1AA!important;color:#A1A1AA!important;display:block!important}
html body #mbox .rvz-fld input:not(#z){flex:1 1 auto!important;width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;font-size:15px!important;font-weight:500!important;color:#111!important;font-family:inherit!important}
html body #mbox .rvz-fld input:focus,html body #mbox .rvz-fld input:focus-visible{outline:0!important;box-shadow:none!important;border:0!important}
html body #mbox .rvz-fld input::placeholder{color:#A1A1AA!important;font-weight:400!important;opacity:1!important}
html body #mbox .rvz-hint:not(#z){display:flex!important;align-items:flex-start!important;gap:6px!important;margin-top:8px!important;font-size:11.5px!important;font-weight:500!important;line-height:15px!important;color:#8A8F98!important}
html body #mbox .rvz-hint>svg:not(#z){width:14px!important;height:14px!important;flex:0 0 14px!important;stroke:#8A8F98!important;color:#8A8F98!important;margin-top:1px!important;display:block!important}
html body #mbox .rvz-ok:not(#z){display:flex!important;align-items:flex-start!important;gap:6px!important;font-size:12.5px!important;font-weight:600!important;line-height:17px!important;color:#15803D!important}
html body #mbox .rvz-ok>svg:not(#z){width:15px!important;height:15px!important;flex:0 0 15px!important;stroke:#15803D!important;color:#15803D!important;margin-top:1px!important;display:block!important}
html body #mbox .rvz-enl:not(#z){margin-top:-4px!important}

/* pie de las tres pantallas: el de dentro va pegado a los lados de la hoja */
html body #mbox .rvz-ft:not(#z){display:grid!important;gap:8px!important;margin:18px -20px -20px!important;padding:14px 20px 18px!important;border-top:1px solid #F1F1F3!important;background:#fff!important;border-radius:0 0 16px 16px!important;max-width:none!important;width:auto!important;box-sizing:border-box!important}
html body #mbox .rvz-ft>button:not(#z){width:100%!important;margin:0!important;min-height:48px!important;height:48px!important;border-radius:12px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-family:inherit!important}
html body #mbox .rvz-b1:not(#z){background:#FFD400!important;border:1px solid #FFD400!important;color:#111!important;font-size:15px!important;font-weight:700!important;padding:0 16px!important}
html body #mbox .rvz-b2:not(#z){background:#fff!important;border:1px solid #E4E4E7!important;color:#111!important;font-size:14.5px!important;font-weight:600!important;padding:0 16px!important}
html body #mbox .rvz-b2>svg:not(#z){width:18px!important;height:18px!important;flex:0 0 18px!important;stroke:#52525B!important;color:#52525B!important;display:block!important}
html body #mbox .rvz-red:not(#z){color:#D70015!important}
html body #mbox .rvz-red>svg:not(#z){stroke:#D70015!important;color:#D70015!important}

/* ===== v95z3 ===== */
/* P1 · Curro: la X de las hojas salía ~5 px a la derecha. La caja y el icono van declarados
   aquí, al final, para que nada de lo de arriba (ni el JS de reservas) los descuadre. */
html body #mbox .mhd.mhd94s .mhd-x{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;flex:0 0 40px!important;align-self:flex-start!important;margin:0!important;padding:0!important;border:1px solid #E4E4E7!important;border-radius:12px!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;justify-items:center!important;align-items:center!important;text-align:center!important;line-height:1!important;background:#fff!important;color:#111!important;box-shadow:none!important;position:static!important;transform:none!important}
html body #mbox .mhd.mhd94s .mhd-x svg{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;display:block!important;margin:0!important;padding:0!important;stroke:#111!important;color:#111!important;transform:none!important}

/* P2 · Curro: «Concepto (obligatorio)» se partía en dos líneas porque la etiqueta era display:grid.
   Pasa a fila con salto: el texto y «(obligatorio)» en la misma línea, el campo debajo. */
html body #mbox .rv-n.rv-n94s label.rvs-lbw.on:not(#z):not(#z){display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:baseline!important;gap:5px!important}
html body #mbox .rv-n.rv-n94s label.rvs-lbw.on:not(#z):not(#z)>.rvs-in{flex:1 1 100%!important;width:100%!important;min-width:100%!important;margin-top:2px!important}
html body #mbox .rv-n.rv-n94s label.rvs-lbw.on:not(#z):not(#z)>.rv-imp{flex:1 1 100%!important;width:100%!important;min-width:100%!important;margin-top:2px!important}
html body #mbox .rv-n.rv-n94s label.rvs-lbw.on:not(#z):not(#z)>.rv-imph{flex:1 1 100%!important;width:100%!important;min-width:100%!important}

/* P6 · Curro: «(obligatorio)» más pequeño, en la misma línea y alineado por la base. */
html body #mbox .rv-req,html body #mbox .rv-n94s .rvs-lb .rv-req,html body #mbox .rv-n94s .rvs-lb #rnEReq .rv-req{font-size:11px!important;font-weight:500!important;color:#D70015!important;line-height:inherit!important;letter-spacing:0!important;vertical-align:baseline!important;display:inline!important;white-space:nowrap!important}

/* P4 · Curro: aviso de cliente conocido / nuevo al escribir el email en Nueva reserva */
html body #mbox .rv-n .rv-imph.rv-cli-ok:not(#z){color:#15803D!important;font-weight:500!important}
html body #mbox .rv-n .rv-imph.rv-cli-ok:not(#z) b{color:#15803D!important;font-weight:700!important}
