:root{--verde:#0f766e;--verde-oscuro:#115e59;--verde-claro:#ccfbf1;--texto:#0f172a;--suave:#475569;--borde:#e2e8f0;--fondo:#f8fafc;--tarjeta:#ffffff;--rojo:#b91c1c;--ambar:#b45309;--radio:12px}@media (prefers-color-scheme:dark){:root{--verde:#2dd4bf;--verde-oscuro:#5eead4;--verde-claro:#134e4a;--texto:#e2e8f0;--suave:#94a3b8;--borde:#334155;--fondo:#0f172a;--tarjeta:#1e293b;--rojo:#f87171;--ambar:#fbbf24}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--texto);background:var(--fondo);line-height:1.5}a{color:var(--verde)}h1,h2,h3{line-height:1.2}.contenedor{max-width:1100px;margin:0 auto;padding:0 16px}.principal{padding-top:24px;padding-bottom:48px;min-height:70vh}.barra{background:var(--tarjeta);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:10}.barra-interior{justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}.barra-interior,.marca{display:flex;align-items:center}.marca{gap:8px;font-weight:700;font-size:1.2rem;color:var(--texto);text-decoration:none}.cruz{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--verde);color:var(--tarjeta);font-weight:800}.menu{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.menu a{color:var(--texto);text-decoration:none;font-weight:500}.menu a:hover{color:var(--verde)}.carrito-enlace{display:inline-flex;align-items:center;gap:6px}.insignia{background:var(--verde);color:var(--tarjeta);border-radius:999px;padding:0 8px;font-size:.8rem;font-weight:700}.pie{border-top:1px solid var(--borde);padding:20px 0;color:var(--suave);font-size:.9rem}.portada{background:linear-gradient(135deg,var(--verde),var(--verde-oscuro));color:#fff;border-radius:var(--radio);padding:40px 28px;margin-bottom:32px}@media (prefers-color-scheme:dark){.portada{color:#042f2e}}.portada h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 8px}.portada p{margin:0 0 20px;font-size:1.1rem;opacity:.95}.portada .boton{background:#fff;color:var(--verde-oscuro)}@media (prefers-color-scheme:dark){.portada .boton{background:#042f2e;color:#5eead4}}.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:18px}.tarjeta h3{margin:0 0 6px;font-size:1.05rem}.producto{display:flex;flex-direction:column;gap:8px}.producto .descripcion{color:var(--suave);font-size:.92rem;flex:1 1}.precio{font-weight:700;font-size:1.15rem}.etiqueta{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--verde-claro);color:var(--verde-oscuro)}.etiqueta.alerta{background:transparent;border:1px solid var(--ambar);color:var(--ambar)}.etiqueta.mal{background:transparent;border:1px solid var(--rojo);color:var(--rojo)}.suave{color:var(--suave)}.boton{display:inline-block;border:0;border-radius:10px;padding:10px 18px;background:var(--verde);color:var(--tarjeta);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center}.boton:hover:not(:disabled){background:var(--verde-oscuro)}.boton:disabled{opacity:.5;cursor:not-allowed}.boton.secundario{background:transparent;color:var(--verde);border:1px solid var(--verde)}.boton.peligro{background:transparent;color:var(--rojo);border:1px solid var(--rojo)}.boton.chico{padding:4px 10px;font-size:.85rem}.formulario{display:grid;gap:14px;max-width:560px}label{display:grid;gap:4px;font-weight:500}input,select,textarea{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--borde);background:var(--tarjeta);color:var(--texto);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--verde);outline-offset:1px}.fila{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.fila>*{flex:1 1 160px}.error{color:var(--rojo);font-weight:500}.aviso{background:var(--verde-claro);color:var(--verde-oscuro);border-radius:10px;padding:12px 14px}.horarios{display:flex;flex-wrap:wrap;gap:8px}.horario{padding:8px 12px;border-radius:8px;border:1px solid var(--borde);background:var(--tarjeta);color:var(--texto);font:inherit;cursor:pointer}.horario[aria-pressed=true]{background:var(--verde);border-color:var(--verde);color:var(--tarjeta)}.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--borde);color:var(--texto);text-decoration:none;background:var(--tarjeta)}.chip.activo{background:var(--verde);border-color:var(--verde);color:var(--tarjeta)}.tabla-envoltura{overflow-x:auto;border:1px solid var(--borde);border-radius:var(--radio);background:var(--tarjeta)}table{width:100%;border-collapse:collapse;font-size:.93rem}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--borde);vertical-align:top}th{color:var(--suave);font-weight:600;font-size:.85rem}tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}.carrito-linea{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--borde);flex-wrap:wrap}.cantidad{display:inline-flex;align-items:center;gap:8px}.cantidad button{width:32px;height:32px;border-radius:8px;border:1px solid var(--borde);background:var(--tarjeta);color:var(--texto);font:inherit;cursor:pointer}.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:760px){.dos-columnas{grid-template-columns:1fr}}.panel-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;align-items:center}.folio{font-family:ui-monospace,monospace;font-size:1.6rem;font-weight:700;letter-spacing:2px}.voucher{max-width:460px;margin:0 auto;background:var(--tarjeta);border:1px solid var(--borde);border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(15,23,42,.08)}.voucher-cabeza{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--verde);color:var(--tarjeta)}.voucher-cabeza .cruz{background:var(--tarjeta);color:var(--verde)}.voucher-qr{display:grid;justify-items:center;gap:6px;padding:20px 20px 16px}.voucher-qr svg{width:210px;height:210px;background:#fff;border-radius:8px}.voucher-qr .folio{margin:0}.qr-inactivo{opacity:.25}.voucher-corte{border-top:2px dashed var(--borde);margin:0 16px}.voucher-cuerpo{padding:16px 20px 20px}.voucher-cuerpo p{margin:0 0 10px}.dato{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--borde)}.dato>:first-child{color:var(--suave)}.dato>:last-child{text-align:right;font-weight:500}@media print{.barra,.no-imprimir,.pie{display:none!important}body{background:#fff}.voucher{box-shadow:none}}