:root{color-scheme:only light;--vino: #6B1E36;--vino-osc: #4A1426;--vino-suave: #F3E7EB;--fondo: #F6F4F1;--superficie: #FFFFFF;--tinta: #1D1B1A;--apagado: #5F5A57;--linea: #E6E0DB;--aviso-bg: #FFF4E5;--aviso: #7A4100;--ok-bg: #E8F4EC;--ok: #1F5A3B;--error: #A3261B;--radio: 16px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--fondo);color:var(--tinta);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}a{color:var(--vino)}.app{min-height:100vh;display:flex;flex-direction:column;max-width:640px;margin:0 auto}.cabecera{position:sticky;top:0;z-index:5;background:var(--vino);color:#fff;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;display:flex;align-items:center;gap:10px}.cabecera .sup{font-size:11px;opacity:.85;letter-spacing:.05em;text-transform:uppercase}.cabecera h1{margin:0;font-size:18px;font-weight:700}.cabecera .volver{width:40px;height:40px;border-radius:10px;border:none;background:#ffffff26;color:#fff;display:grid;place-items:center;cursor:pointer}.cabecera .usuario{margin-left:auto;font-size:12px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:16px;padding:6px 10px;cursor:pointer}.contenido{flex:1;padding:16px 16px 96px;display:flex;flex-direction:column;gap:14px}.barra{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--linea);display:flex;justify-content:center;padding:6px 8px calc(8px + env(safe-area-inset-bottom));z-index:5}.barra-in{width:100%;max-width:640px;display:flex;justify-content:space-around}.barra a{min-width:64px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;color:var(--apagado);text-decoration:none}.barra a.activo{color:var(--vino);font-weight:700}.tarjeta{background:var(--superficie);border-radius:var(--radio);padding:16px;display:flex;flex-direction:column;gap:8px}.tarjeta h2{margin:0;font-size:15px}.etiqueta{font-size:12px;color:var(--apagado)}.grande{font-size:22px;font-weight:700}.rejilla2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.btn{border:none;border-radius:var(--radio);padding:16px;font-size:16px;font-weight:700;cursor:pointer;min-height:52px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px}.btn-principal{background:var(--vino);color:#fff}.btn-principal:hover{background:var(--vino-osc)}.btn-borde{background:#fff;color:var(--vino);border:1.5px solid var(--vino)}.btn-gris{background:#fff;color:var(--tinta);font-weight:600;justify-content:flex-start;text-align:left;min-height:84px;flex-direction:column;align-items:flex-start}.btn:disabled{opacity:.5;cursor:default}.modulo{border-radius:18px;padding:18px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:84px;text-decoration:none}.modulo.activo{background:var(--vino);color:#fff}.modulo.inactivo{background:#fff;color:var(--apagado);border:1px dashed #B9B2AD}.modulo .nombre{font-size:17px;font-weight:700}.modulo .desc{font-size:13px;opacity:.85}.chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:10px;white-space:nowrap}.modulo.activo .chip{background:#ffffff2e}.modulo.inactivo .chip{background:#eee9e5}.aviso{background:var(--aviso-bg);color:var(--aviso);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.4}.ok{background:var(--ok-bg);color:var(--ok);border-radius:14px;padding:12px 14px;font-size:14px}.error{color:var(--error);font-size:14px}.marca-revisar{align-self:flex-start;font-size:12px;font-weight:600;background:var(--aviso-bg);color:var(--aviso);padding:3px 8px;border-radius:8px}.fila{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #EEE9E5}.fila:last-child{border-bottom:none}.fila .izq{min-width:0}.fila .titulo{font-size:15px;font-weight:600}.fila .sub{font-size:13px;color:var(--apagado)}.fila .der{text-align:right;flex-shrink:0;font-weight:700}.pale{background:#fff;border-radius:var(--radio);padding:14px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;border:none;text-align:left;cursor:pointer}.pale .cab{display:flex;justify-content:space-between;gap:8px}.pale .marca{font-size:16px;font-weight:700}.pale .cajas{font-size:20px;font-weight:700;color:var(--vino);white-space:nowrap}.contador{display:flex;align-items:center;justify-content:space-between}.contador button{width:64px;height:64px;border-radius:16px;border:none;background:var(--vino-suave);color:var(--vino);font-size:32px;font-weight:700;cursor:pointer}.contador .valor{text-align:center}.contador .valor b{font-size:40px;display:block}.campo{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--apagado)}.campo input,.buscador{height:48px;border-radius:12px;border:1px solid #CFC8C3;padding:0 12px;font-size:16px;color:var(--tinta);background:#fff}.visor{position:relative;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:1 / 1}.visor video{width:100%;height:100%;object-fit:cover}.centrado{min-height:100vh;display:grid;place-items:center;padding:16px}.login{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.login h1{color:var(--vino);margin:0;text-align:center}.tabla-euros{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;font-size:13px;padding:7px 0;border-bottom:1px solid #F3EFEC}.tabla-euros span:not(:first-child){text-align:right}.pie{font-size:12px;color:var(--apagado);text-align:center}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip-sel{min-height:44px;padding:0 14px;border-radius:22px;border:1px solid #CFC8C3;background:#fff;color:var(--tinta);font-size:14px;cursor:pointer}.chip-sel.on{background:var(--vino);color:#fff;border-color:var(--vino);font-weight:600}.enlace{background:none;border:none;color:var(--vino);font-weight:600;font-size:13px;padding:4px 0;cursor:pointer;text-decoration:underline}.campo select,.campo textarea,.selector{min-height:48px;border-radius:12px;border:1px solid #CFC8C3;padding:0 12px;font-size:16px;color:var(--tinta);background:#fff;width:100%}.campo textarea{padding:10px 12px;min-height:72px}.campo input{width:100%}.rejilla3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.num-in{width:100%;height:44px;border-radius:10px;border:1px solid #CFC8C3;padding:0 8px;font-size:16px;text-align:right;background:#fff;color:var(--tinta)}.num-in.guardado{border-color:var(--ok);background:var(--ok-bg)}.num-in.fallo{border-color:var(--error)}.insignia{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px;background:#eee9e5;color:var(--apagado)}.insignia.alerta{background:#fbe3e0;color:var(--error)}.insignia.aviso-i{background:var(--aviso-bg);color:var(--aviso)}.insignia.ok-i{background:var(--ok-bg);color:var(--ok)}.fila.pulsable{cursor:pointer}.subtarjeta{border:1px solid var(--linea);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.btn-peq{min-height:40px;padding:8px 14px;font-size:14px}.hoja-etq{width:210mm;height:297mm;padding:10mm;box-sizing:border-box;background:#fff;margin:0 auto 12px;page-break-after:always;break-after:page}.hoja-etq:last-child{page-break-after:auto;break-after:auto}.etq{border:3px solid var(--vino);height:100%;padding:9mm 9mm 7mm;display:flex;flex-direction:column;color:#1d1b1a;font-family:DejaVu Sans,system-ui,sans-serif}.etq .cab{display:flex;justify-content:space-between;color:var(--vino);font-weight:700;font-size:14pt}.etq .cab b{font-size:22pt}.etq .marca{color:var(--vino);font-weight:800;font-size:54pt;line-height:1.05;margin-top:14mm;word-break:break-word}.etq .lote{font-weight:700;font-size:28pt;margin-top:6mm}.etq .dato{font-size:18pt;color:#5f5a57;margin-top:3mm}.etq .marcaje{margin-top:4mm;font-weight:800;font-size:18pt;color:#7a4100}.etq .qr{margin:auto auto 0;width:105mm;height:105mm}.etq .qr svg{width:100%;height:100%}.etq .codigo{text-align:center;font-weight:800;font-size:24pt;margin-top:3mm}@media screen{.vista-etq{background:#8c8682;padding:12px;min-height:100vh}.hoja-etq{transform-origin:top center}}@media screen and (max-width:820px){.hoja-etq{zoom:.42}}@media print{@page{size:A4;margin:0}body{background:#fff}.solo-pantalla{display:none!important}.vista-etq{padding:0;background:#fff}.hoja-etq{margin:0;zoom:1!important}}.informe{font-family:system-ui,sans-serif;color:#1d1b1a;font-size:10.5pt}.informe .cab{display:flex;justify-content:space-between;color:var(--vino);border-bottom:2px solid var(--vino);padding-bottom:4mm}.informe h1{color:var(--vino);font-size:20pt;margin:6mm 0 2mm;text-transform:capitalize}.informe table{width:100%;border-collapse:collapse;margin-top:5mm}.informe th,.informe td{border-bottom:1px solid #DDD;padding:2.2mm 1.5mm;text-align:left;vertical-align:top}.informe th{background:#f3e7eb;font-size:9pt}.informe .d{text-align:right;white-space:nowrap}.informe tfoot td{font-weight:700;border-top:2px solid var(--vino)}.informe .pie-inf{margin-top:8mm;color:#5f5a57;font-size:9pt}
