/* Compras OCEANO · versión con servidor (laboratorio). Piel «shadcn» aprobada por el propietario: la de
   demo/compras-oceano-demo-shadcn.html, sacada de demo/fuente/tema-shadcn.css (medidas en demo/fuente/ESTILO-SHADCN.md):
   blanco y negro, Geist, texto de 14 px, bordes de 1 px, radio de 10 px y lateral fijo de 16 rem. Sin los extras de la demo
   (tema-shadcn.js: modo oscuro, chat, mermas, escandallos, cálculos del hotel). Al final, lo propio del portal (entrada,
   usuario, historial) y las imágenes de los artículos.
   Geist: Copyright 2023 Vercel; Inter Tight (de reserva): The Inter Project Authors; las dos SIL OFL 1.1. Iconos: Lucide (ISC).
   Ver fuentes/LICENCIA.md. */
/* latin-ext */
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('fuentes/Geist-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* latin */
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('fuentes/Geist-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* de reserva, si Geist no llega */
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 400; font-display: swap; src: url('fuentes/InterTight-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 500 700; font-display: swap; src: url('fuentes/InterTight-SemiBold.ttf') format('truetype'); }
:root {
  --background: #ffffff; --foreground: #0a0a0a; --card: #ffffff; --muted: #f5f5f5; --muted-foreground: #737373;
  --accent: #f5f5f5; --primary: #0a0a0a; --primary-foreground: #fafafa; --border: #e5e5e5; --input: #e5e5e5;
  --ring: #a1a1a1; --destructive: #dc2626; --sidebar: #fafafa; --sidebar-border: #e5e5e5; --sidebar-accent: #f5f5f5;
  --r-sm: 6px; --r-md: 8px; --r-lg: 10px; --r-xl: 14px;
  --sombra-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --sombra-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
  --sombra-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --anillo: 0 0 0 3px rgb(161 161 161 / .5);
  --kpi-fondo: linear-gradient(to top, rgb(0 0 0 / .05), var(--card)); --velo: rgb(0 0 0 / .5); --ficha: #ffffff;
  --ok: #15803d; --aviso: #a16207;
  --fuente: Geist, 'Inter Tight', 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif;
  --mono: 'Geist Mono', ui-monospace, Consolas, 'Cascadia Mono', monospace;
  --base: 16px; --lateral: 16rem; --cabecera: 3rem; --aviso-alto: 1.75rem; color-scheme: light;
  /* iconos de Lucide (ISC), como máscaras: toman el color del texto */
  --i-carro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E");
  --i-platos: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E");
  --i-paquete: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  --i-camion: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E");
  --i-grafico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16'/%3E%3Cpath d='M18 17V9'/%3E%3Cpath d='M13 17V5'/%3E%3Cpath d='M8 17v-3'/%3E%3C/svg%3E");
  --i-chispas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3C/svg%3E");
  --i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  --i-flecha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --i-enviar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E");
  --i-hucha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z'/%3E%3Cpath d='M16 10h.01'/%3E%3Cpath d='M2 8v1a2 2 0 0 0 2 2h1'/%3E%3C/svg%3E");
  --i-reloj: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  --i-hotel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='8' fill='%230a0a0a'/%3E%3Ctext x='16' y='21.5' text-anchor='middle' font-family='Geist, Arial, sans-serif' font-size='15' font-weight='600' fill='%23fafafa'%3EO%3C/text%3E%3C/svg%3E");
  --i-cerrar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
  --i-calculadora: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2'/%3E%3Cline x1='8' x2='16' y1='6' y2='6'/%3E%3Cline x1='16' x2='16' y1='14' y2='18'/%3E%3Cpath d='M16 10h.01'/%3E%3Cpath d='M12 10h.01'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3C/svg%3E");
  --i-papelera: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3Cline x1='10' x2='10' y1='11' y2='17'/%3E%3Cline x1='14' x2='14' y1='11' y2='17'/%3E%3C/svg%3E");
  --i-edificio: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 22v-6.57'/%3E%3Cpath d='M12 11h.01'/%3E%3Cpath d='M12 7h.01'/%3E%3Cpath d='M14 15.43V22'/%3E%3Cpath d='M15 16a5 5 0 0 0-6 0'/%3E%3Cpath d='M16 11h.01'/%3E%3Cpath d='M16 7h.01'/%3E%3Cpath d='M8 11h.01'/%3E%3Cpath d='M8 7h.01'/%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3C/svg%3E");
  --i-ajustes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='21' x2='14' y1='4' y2='4'/%3E%3Cline x1='10' x2='3' y1='4' y2='4'/%3E%3Cline x1='21' x2='12' y1='12' y2='12'/%3E%3Cline x1='8' x2='3' y1='12' y2='12'/%3E%3Cline x1='21' x2='16' y1='20' y2='20'/%3E%3Cline x1='12' x2='3' y1='20' y2='20'/%3E%3Cline x1='14' x2='14' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='10' y2='14'/%3E%3Cline x1='16' x2='16' y1='18' y2='22'/%3E%3C/svg%3E");
  --i-ayuda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  --i-restablecer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E");
  --i-luna: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E");
  --i-sol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/svg%3E");
  --i-gorro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z'/%3E%3Cpath d='M6 17h12'/%3E%3C/svg%3E");
  --i-arriba: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E");
  /* nombres de la demo original, por si algún estilo en línea los usa */
  --fondo: var(--background); --superficie: var(--card); --texto: var(--foreground); --titulo: var(--foreground);
  --tenue: var(--muted-foreground); --borde: var(--border); --borde-suave: var(--border); --error: var(--destructive);
}
* { box-sizing: border-box; }
html { font-size: var(--base); -webkit-text-size-adjust: 100%; }
/* Modo cocina: la pantalla de la tableta de la cocina, en claro u oscuro. Todo un 25 % más grande y botones de 50 px; el
   resto (barra arriba, carrito que se abre, fotos grandes, solo lo que usa la cocina) va al final de esta hoja */
:root:has(body.cocina) { font-size: 20px; }
body.cocina .boton, body.cocina .entrada, body.cocina .paso, body.cocina .chip, body.cocina .pill-orden, body.cocina .buscar { height: 2.5rem; }
body.cocina .paso button { width: 2.5rem; } body.cocina .paso input { width: 3em; }
body.cocina .acciones-vista .boton, body.cocina .of-accion .boton, body.cocina .filtros .boton, body.cocina .pedido-pie .boton, body.cocina .ia-acciones .boton, body.cocina .tarjeta-prov .boton, body.cocina .tabla .boton, body.cocina .fila-plato .boton, body.cocina .entrada--peq, body.cocina .perfil .entrada, body.cocina #modo-cocina, body.cocina #modo-oscuro { height: 2.25rem; }
body.cocina #modo-oscuro { width: 2.25rem; }
body.cocina .pestanas .chip { height: 2rem; }
#modo-cocina::before { content: ''; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--i-gorro) center / contain no-repeat; mask: var(--i-gorro) center / contain no-repeat; }
#modo-cocina[aria-pressed="true"] { background: var(--primary); color: var(--primary-foreground); border-color: transparent; }
body { margin: 0; display: flex; flex-direction: column; min-height: 100vh; background: var(--background); color: var(--foreground); font-family: var(--fuente); font-size: .875rem; line-height: 1.25rem; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { font-family: var(--fuente); color: var(--foreground); font-weight: 600; margin: 0; letter-spacing: -.01em; }
h2 { font-size: 1.5rem; line-height: 2rem; letter-spacing: -.025em; } h3 { font-size: 1rem; line-height: 1.5rem; }
p { margin: 0; }
a { color: var(--foreground); text-underline-offset: 4px; }
button, input, select, textarea { font: inherit; color: inherit; }
code { font-family: var(--mono); font-size: .8125rem; background: var(--muted); padding: .125rem .375rem; border-radius: var(--r-sm); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tenue { color: var(--muted-foreground); } .peq { font-size: .75rem; line-height: 1rem; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.punto { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; margin-right: .5rem; vertical-align: 1px; flex: none; }
/* los colores de proveedor de las otras versiones (violeta, verde y naranja), por si venían guardados en el navegador: a gris */
.punto[style*="#7443f0"], .barra-dato i[style*="#7443f0"], .punto[style*="#5b5c65"], .barra-dato i[style*="#5b5c65"] { background: #0a0a0a !important; }
.punto[style*="#5f7d16"], .barra-dato i[style*="#5f7d16"] { background: #737373 !important; }
.punto[style*="#c56a12"], .barra-dato i[style*="#c56a12"] { background: #a3a3a3 !important; }
:focus-visible { outline: none; box-shadow: var(--anillo); border-color: var(--ring); }

/* Marco: lateral fijo a la izquierda; cabecera, aviso, contenido y pie a su derecha (el orden lo da el flex del body) */
.cabecera, .demo-aviso, .app, .pie { margin-left: var(--lateral); }
.cabecera { order: 1; } .demo-aviso { order: 2; } .app { order: 3; flex: 1; } .pie { order: 4; }
.cabecera { position: sticky; top: 0; z-index: 20; height: var(--cabecera); display: flex; align-items: center; gap: .5rem; padding: 0 1.5rem; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--background) 90%, transparent); backdrop-filter: blur(8px); }
.cabecera > div:first-child { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.ceja { margin: 0; font-size: .875rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--muted-foreground); white-space: nowrap; }
.ceja::after { content: ''; display: inline-block; width: 1px; height: 1rem; background: var(--border); margin-left: .5rem; vertical-align: -3px; }
.cabecera h1 { font-size: 1rem; line-height: 1.5rem; font-weight: 500; letter-spacing: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.controles { margin-left: auto; display: flex; align-items: center; gap: .5rem; }
.perfil { display: flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 500; color: var(--foreground); }
.perfil .entrada, #modo-cocina { height: 2rem; min-height: 0; }
#modo-cocina { padding: 0 .75rem; }
.logo { height: 1.25rem; width: auto; display: block; filter: grayscale(1); opacity: .85; }
body.oscuro .logo { filter: grayscale(1) invert(1); }
.cabecera .logo { display: none; }  /* el logo sale como icono de la marca, en el lateral (y en el pie de página) */
.demo-aviso { height: var(--aviso-alto); display: flex; align-items: center; justify-content: center; padding: 0 1rem; background: var(--muted); color: var(--muted-foreground); font-size: .75rem; line-height: 1rem; border-bottom: 1px solid var(--border); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo-aviso strong { color: var(--foreground); font-weight: 500; margin-right: .25rem; }
.pie { padding: 1rem 1.5rem 2rem; display: flex; gap: .5rem 1.5rem; align-items: center; flex-wrap: wrap; color: var(--muted-foreground); font-size: .75rem; line-height: 1rem; border-top: 1px solid var(--border); }
.pie .logo { margin-left: auto; height: 1rem; }
.enlace { background: none; border: 0; padding: 0; color: var(--foreground); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; font-size: inherit; }
.app { max-width: none; margin-top: 0; margin-bottom: 0; margin-right: 0; padding: 0; }
.marco { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }

/* Lateral (la .barra del original): marca, buscador, orden y secciones, como el AppSidebar del ejemplo */
.barra { position: fixed; top: 0; left: 0; bottom: 0; z-index: 30; width: var(--lateral); display: flex; flex-direction: column; gap: .5rem; padding: .5rem; background: var(--sidebar); color: var(--foreground); border-right: 1px solid var(--sidebar-border); overflow: auto; }
.marca { order: 0; flex: none; display: flex; align-items: center; gap: .5rem; margin: -.5rem -.5rem 0; padding: .5rem .875rem; height: calc(var(--cabecera) + 1px); border-bottom: 1px solid var(--sidebar-border); font-family: var(--fuente); font-size: 1rem; font-weight: 600; color: var(--foreground); white-space: nowrap; }
/* el icono de la marca es el símbolo de Copernico (fuente/copernico-icono.png, negro con transparencia): --icono-marca la pone construir-demo.ps1 */
.marca::before { content: ''; width: 1.5rem; height: 1.5rem; flex: none; background: var(--icono-marca) center / contain no-repeat; }
body.oscuro .marca::before { filter: invert(1); }
.buscar { order: 2; flex: none; display: flex; align-items: center; gap: .5rem; height: 2.25rem; padding: 0 .375rem 0 .625rem; margin-top: .25rem; border: 1px solid var(--input); border-radius: var(--r-md); background: var(--background); box-shadow: var(--sombra-xs); color: var(--muted-foreground); }
.buscar input::-webkit-search-cancel-button { -webkit-appearance: none; width: .75rem; height: .75rem; background: currentColor; -webkit-mask: var(--i-cerrar) center / contain no-repeat; mask: var(--i-cerrar) center / contain no-repeat; cursor: pointer; }
.barra .buscar { gap: .375rem; padding-left: .5rem; } .barra .buscar input { font-size: .8125rem; }
.buscar svg { width: 1rem; height: 1rem; flex: none; }
.buscar input { background: transparent; border: 0; outline: none; color: var(--foreground); width: 100%; height: 100%; min-height: 0; font-size: .875rem; }
.buscar input::placeholder { color: var(--muted-foreground); }
.buscar:focus-within { border-color: var(--ring); box-shadow: var(--anillo); }
.pill-orden { width: 100%; height: 2rem; min-height: 0; appearance: none; -webkit-appearance: none; border: 1px solid var(--input); border-radius: var(--r-md); background: var(--background) var(--i-flecha) no-repeat right .5rem center / 1rem; padding: 0 2rem 0 .625rem; font-size: .875rem; font-weight: 400; color: var(--foreground); box-shadow: var(--sombra-xs); cursor: pointer; }
.nav { order: 3; display: flex; flex-direction: column; gap: .125rem; margin-top: .25rem; overflow: visible; }
.nav a { display: flex; align-items: center; gap: .5rem; height: 2rem; min-height: 0; padding: 0 .5rem; border-radius: var(--r-md); color: var(--foreground); text-decoration: none; font-size: .875rem; font-weight: 400; white-space: nowrap; }
.nav a::before { content: ''; width: 1rem; height: 1rem; flex: none; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.nav a[data-ruta="comprar"] { --i: var(--i-carro); } .nav a[data-ruta="platos"] { --i: var(--i-platos); } .nav a[data-ruta="pedidos"] { --i: var(--i-paquete); }
.nav a[data-ruta="proveedores"] { --i: var(--i-camion); } .nav a[data-ruta="resumen"] { --i: var(--i-grafico); }
.nav a[data-ruta="escandallos"] { --i: var(--i-calculadora); } .nav a[data-ruta="mermas"] { --i: var(--i-papelera); } .nav a[data-ruta="hotel"] { --i: var(--i-edificio); }
.nav a:hover { background: var(--sidebar-accent); color: var(--foreground); }
.nav a[aria-current="page"] { background: var(--sidebar-accent); font-weight: 500; }
.nav .contador { margin-left: auto; }
.contador { display: inline-flex; min-width: 1.25rem; height: 1.25rem; padding: 0 .375rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--primary); color: var(--primary-foreground); font-size: .75rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.contador:empty { display: none; }
.cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 22.5rem; min-height: calc(100vh - var(--cabecera) - var(--aviso-alto) - 2px); }
.principal { padding: 1.5rem; min-width: 0; container-type: inline-size; }
.carrito { position: sticky; top: var(--cabecera); align-self: start; min-height: calc(100vh - var(--cabecera)); max-height: calc(100vh - var(--cabecera)); overflow: auto; border-left: 1px solid var(--border); background: var(--sidebar); padding: 1.25rem 1rem 1.5rem; }
.solo-movil, .barra .boton-carrito, .barra-movil { display: none; }

/* Botones, insignias, campos (Button, Badge, Input, Checkbox, Tabs y ToggleGroup del ejemplo) */
.boton { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; height: 2.25rem; min-height: 0; padding: 0 1rem; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--background); color: var(--foreground); font-size: .875rem; font-weight: 500; line-height: 1.25rem; white-space: nowrap; text-decoration: none; cursor: pointer; box-shadow: var(--sombra-xs); transition: background-color .15s, color .15s; }
.boton:hover:not(:disabled) { background: var(--accent); filter: none; }
.boton.primario, .boton.oscuro, .boton.lima { background: var(--primary); color: var(--primary-foreground); border-color: transparent; }
.boton.primario:hover:not(:disabled), .boton.oscuro:hover:not(:disabled), .boton.lima:hover:not(:disabled) { background: color-mix(in srgb, var(--primary) 90%, transparent); }
.boton.borde { background: var(--background); color: var(--foreground); border-color: var(--border); }
.boton.peligro { color: var(--destructive); }
.boton.ancho { width: 100%; }
.boton:disabled { opacity: .5; cursor: not-allowed; }
.acciones-vista .boton, .of-accion .boton, .filtros .boton, .pedido-pie .boton, .ia-acciones .boton, .tarjeta-prov .boton, .tabla .boton, .fila-plato .boton { height: 2rem; padding: 0 .75rem; }
.boton-icono { background: none; border: 0; width: 2rem; height: 2rem; border-radius: var(--r-md); cursor: pointer; font-size: 1.125rem; color: var(--muted-foreground); display: inline-flex; align-items: center; justify-content: center; }
.boton-icono.solo-movil { display: none; }
.boton-icono:hover { background: var(--accent); color: var(--foreground); }
.insignia { display: inline-flex; align-items: center; gap: .25rem; padding: .125rem .5rem; border-radius: 9999px; border: 1px solid transparent; font-size: .75rem; line-height: 1rem; font-weight: 500; background: var(--primary); color: var(--primary-foreground); white-space: nowrap; }
.insignia.tenue { background: transparent; border-color: var(--border); color: var(--muted-foreground); }
.insignia.violeta { background: var(--muted); color: var(--foreground); }
.insignia.aviso { background: transparent; border-color: var(--border); color: var(--foreground); }
.insignia.error { background: transparent; border-color: color-mix(in srgb, var(--destructive) 40%, transparent); color: var(--destructive); white-space: normal; }
.insignia.aviso::before, .insignia.error::before { content: ''; width: .375rem; height: .375rem; border-radius: 50%; background: currentColor; flex: none; }
.ok { color: var(--foreground); font-weight: 500; }  /* blanco y negro: ni verde ni ámbar; el rojo solo en lo destructivo y en los errores */
.entrada { height: 2.25rem; min-height: 0; border: 1px solid var(--input); border-radius: var(--r-md); padding: 0 .75rem; background: transparent; color: var(--foreground); max-width: 100%; font-size: .875rem; box-shadow: var(--sombra-xs); }
.entrada::placeholder { color: var(--muted-foreground); }
.entrada:focus-visible { border-color: var(--ring); box-shadow: var(--anillo); outline: none; }
.entrada:disabled { opacity: .5; cursor: not-allowed; }
select.entrada { appearance: none; -webkit-appearance: none; background: transparent var(--i-flecha) no-repeat right .5rem center / 1rem; padding-right: 2rem; cursor: pointer; }
.entrada--peq { height: 2rem; font-size: .8125rem; width: 100%; }
textarea.entrada { height: auto; padding: .5rem .75rem; min-height: 9rem; width: 100%; font-family: var(--mono); font-size: .75rem; line-height: 1.5; }
input[type="file"] { font-size: .875rem; color: var(--muted-foreground); }
.campo { display: grid; gap: .375rem; margin-bottom: .75rem; font-size: .875rem; font-weight: 500; color: var(--foreground); }
.campo .entrada { width: 100%; font-weight: 400; }
.campo--linea { display: flex; align-items: center; gap: .625rem; margin: 0; }
.campo--linea .entrada { width: auto; }
.rejilla-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .875rem; }
.casillas { display: flex; flex-wrap: wrap; gap: .375rem .875rem; font-weight: 400; }
.casillas label, .filtros label { display: inline-flex; gap: .5rem; align-items: center; font-size: .875rem; color: var(--foreground); }
input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 1rem; height: 1rem; margin: 0; border: 1px solid var(--input); border-radius: 4px; background: var(--background); box-shadow: var(--sombra-xs); display: inline-grid; place-content: center; cursor: pointer; flex: none; }
input[type="checkbox"]:checked { background: var(--primary); border-color: var(--primary); }
input[type="checkbox"]:checked::before { content: ''; width: .75rem; height: .75rem; background: var(--primary-foreground); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
.error-form { color: var(--destructive); font-weight: 500; font-size: .875rem; margin: .25rem 0 .5rem; }
.paso { display: inline-flex; align-items: center; height: 2rem; border: 1px solid var(--input); border-radius: var(--r-md); background: var(--background); box-shadow: var(--sombra-xs); overflow: hidden; }
.paso button { width: 2rem; height: 100%; border: 0; background: transparent; cursor: pointer; font-size: 1rem; color: var(--muted-foreground); border-radius: 0; }
.paso button:hover:not(:disabled) { background: var(--accent); color: var(--foreground); }
.paso button:disabled { opacity: .35; cursor: not-allowed; }
.paso input { width: 2.75em; height: 100%; min-height: 0; text-align: center; border: 0; border-left: 1px solid var(--input); border-right: 1px solid var(--input); background: transparent; color: var(--foreground); font-weight: 500; font-size: .875rem; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield; }
.paso input::-webkit-outer-spin-button, .paso input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.chip { display: inline-flex; align-items: center; gap: .375rem; height: 2.25rem; padding: 0 .875rem; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--background); color: var(--foreground); cursor: pointer; font-size: .875rem; font-weight: 500; text-decoration: none; white-space: nowrap; }
.chip:hover { background: var(--accent); }
.chip[aria-pressed="true"] { background: var(--accent); color: var(--foreground); border-color: var(--border); }
.chip .contador { background: var(--muted); color: var(--foreground); }
.chip[aria-pressed="true"] .contador { background: var(--background); }
.filtros { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .75rem; }
.filtros .entrada { width: 5rem; height: 2rem; }
#filtro-articulos { width: 16rem; }
#tabla-articulos tr[data-oferta] td:first-child, #tabla-articulos tr[data-oferta] td:last-child { white-space: nowrap; }
#tabla-articulos tr[data-oferta] td:last-child { text-align: right; }
#tabla-articulos .insignia.violeta { white-space: normal; }
/* los filtros de categoría y de proveedor van unidos, como el ToggleGroup de la gráfica del ejemplo */
.filtros[role="group"] { gap: .5rem 0; }
.filtros[role="group"] .chip + .chip { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.filtros[role="group"] .chip:has(+ .chip) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.filtros[role="group"] .chip[aria-pressed="true"] { position: relative; z-index: 1; }
.filtros[role="group"] > label, .filtros[role="group"] > .enlace { margin-left: .75rem; }
.filtros--prov { margin-bottom: 1.25rem; }
.pestanas { display: inline-flex; flex-wrap: wrap; gap: .125rem; padding: 3px; border-radius: var(--r-lg); background: var(--muted); margin-bottom: 1rem; }
.pestanas .chip { height: 1.8125rem; padding: .25rem .5rem; border-color: transparent; background: transparent; color: var(--muted-foreground); font-weight: 500; border-radius: var(--r-md); }
.pestanas .chip:hover { color: var(--foreground); }
.pestanas .chip[aria-pressed="true"] { background: var(--background); color: var(--foreground); box-shadow: var(--sombra-sm); }
.pestanas .contador { background: color-mix(in srgb, var(--foreground) 10%, transparent); color: var(--foreground); }

/* Vistas: cabecera, secciones, tablas (Table del ejemplo: cabecera gris, filas de 1 px, borde redondeado alrededor) */
.cab-vista { display: flex; gap: .75rem 1.25rem; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; margin-bottom: 1.25rem; }
.cab-vista p { margin-top: .25rem; max-width: 70ch; font-size: .875rem; }
.acciones-vista { display: flex; gap: .5rem; flex-wrap: wrap; }
.seccion-titulo { font-size: .875rem; letter-spacing: 0; text-transform: none; color: var(--muted-foreground); font-weight: 500; margin: 1.5rem 0 .75rem; }
.seccion-titulo:first-child { margin-top: 0; }
.resultado { color: var(--muted-foreground); margin: 0 0 .75rem; font-size: .875rem; }
.desplazable { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--r-lg); margin-bottom: 1rem; }
.tabla { width: 100%; border-collapse: collapse; font-size: .875rem; line-height: 1.25rem; color: var(--foreground); }
.tabla thead { background: var(--muted); }
.tabla th { height: 2.5rem; padding: 0 .5rem; text-align: left; font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--foreground); white-space: nowrap; border-bottom: 1px solid var(--border); vertical-align: middle; }
.tabla th:first-child, .tabla td:first-child { padding-left: .75rem; } .tabla th:last-child, .tabla td:last-child { padding-right: .75rem; }
.tabla td { padding: .5rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
.tabla tbody tr:hover { background: color-mix(in srgb, var(--muted) 50%, transparent); }
.tabla tbody tr:last-child td { border-bottom: 0; }
.tabla tfoot { background: color-mix(in srgb, var(--muted) 50%, transparent); }
.tabla tfoot td { border-bottom: 0; border-top: 1px solid var(--border); color: var(--muted-foreground); }
.tabla tfoot tr + tr td { border-top: 0; }
.tabla .fila-total td { color: var(--foreground); font-weight: 600; font-size: .875rem; }
.tabla .fila-producto td { background: var(--muted); font-weight: 500; }
.tabla--compacta td { padding: .375rem .5rem; } .tabla--compacta th { height: 2rem; }
.pedido .desplazable, .receta .desplazable { margin: 0 1.5rem 1rem; }

/* Tarjetas (Card del ejemplo): productos, platos, pedidos, proveedores, KPI y paneles */
.producto, .pedido, .receta, .tarjeta-prov, .kpi, .panel, .ia, .grupo, .fila-plato { background: var(--card); border: 1px solid var(--border); border-radius: var(--r-xl); box-shadow: var(--sombra-xs); color: var(--foreground); }
.producto, .pedido, .receta, .ia, .fila-plato { margin-bottom: 1rem; }
.producto--destacado { box-shadow: var(--sombra-sm); }
.producto-cab { display: flex; gap: 1rem; align-items: center; padding: 1rem 1.5rem; }
.icono { width: 3rem; height: 3rem; flex: none; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--ficha) center / 2.25rem no-repeat; }
.icono > use { display: none; }
.producto--destacado .icono { width: 6rem; height: 6rem; background-size: 4.5rem; }
.icono--mini { width: 1.75rem; height: 1.75rem; background-size: 1.25rem; border-radius: var(--r-sm); display: inline-block; vertical-align: middle; margin: -.125rem .5rem -.125rem 0; }
.producto-txt { flex: 1; min-width: 0; }
.producto-nombre { font-family: var(--fuente); font-size: 1rem; line-height: 1.5rem; font-weight: 600; letter-spacing: -.01em; }
.producto--destacado .producto-nombre { font-size: 1.125rem; }
.producto-sub { color: var(--muted-foreground); font-size: .875rem; margin-top: .125rem; }
.ofertas { padding: 0 1.5rem .5rem; }
.oferta { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(13rem, 1.5fr) 6rem auto; grid-template-areas: "prov detalle precio accion"; gap: .5rem 1rem; align-items: center; padding: .75rem 0; border-top: 1px solid var(--border); }
.of-prov { grid-area: prov; display: flex; align-items: center; gap: .25rem .625rem; flex-wrap: wrap; } .of-prov strong { font-weight: 500; }
.of-detalle { grid-area: detalle; display: flex; gap: .25rem .75rem; flex-wrap: wrap; align-items: center; font-size: .875rem; }
.of-precio { grid-area: precio; font-size: .875rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.of-accion { grid-area: accion; display: flex; gap: .5rem; align-items: center; justify-content: flex-end; }
.oferta--agotada .of-prov, .oferta--agotada .of-precio { opacity: .5; }
.en-carrito { margin: 0 1.5rem 1rem; padding: .5rem .75rem; border-radius: var(--r-md); background: var(--muted); font-size: .75rem; line-height: 1rem; color: var(--muted-foreground); }
@container (max-width: 760px) {
  .oferta { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "prov precio" "detalle detalle" "accion accion"; }
  .of-accion { justify-content: flex-start; }
}
.fila-plato { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; padding: 1rem 1.5rem; }
.fila-plato .icono { width: 3.5rem; height: 3.5rem; background-size: 2.625rem; }
.fila-plato-txt { flex: 1 1 16rem; } .fila-plato-txt p + p { font-size: .875rem; color: var(--muted-foreground); margin-top: .125rem; }
.ia { padding: 1rem 1.5rem; }
.ia-cab { display: flex; gap: .625rem; justify-content: space-between; align-items: flex-start; }
.ia-cab p { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ia-cab p::before { content: ''; width: 1rem; height: 1rem; flex: none; background: currentColor; -webkit-mask: var(--i-chispas) center / contain no-repeat; mask: var(--i-chispas) center / contain no-repeat; }
.ia-cab strong { font-weight: 600; }
.ia-sim { font-size: .75rem; line-height: 1rem; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--muted-foreground); border: 1px solid var(--border); border-radius: 9999px; padding: .125rem .5rem; white-space: nowrap; }
.ia-detalle { margin-top: .5rem; font-size: .875rem; }
.ia-detalle summary { cursor: pointer; color: var(--foreground); font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.ia-detalle > p { margin: .5rem 0; } .ia-detalle .desplazable { margin: .5rem 0; }
.ia-acciones { display: flex; gap: .5rem; margin-top: .75rem; flex-wrap: wrap; }
.vacio { padding: 2.5rem 1rem; text-align: center; color: var(--muted-foreground); border: 1px dashed var(--border); border-radius: var(--r-xl); font-size: .875rem; }

/* Carrito (panel derecho) */
.carrito-cab { display: flex; justify-content: space-between; align-items: center; }
.carrito h2 { font-size: 1rem; line-height: 1.5rem; letter-spacing: -.01em; }
.carrito > p.tenue { font-size: .75rem; line-height: 1rem; margin-top: .125rem; }
.resumen-prov { display: flex; flex-wrap: wrap; gap: .375rem; margin: .5rem 0 .25rem; }
.resumen-prov > p.tenue { width: 100%; font-size: .75rem; line-height: 1rem; }
.fila-resumen { display: inline-flex; align-items: center; gap: .375rem; padding: .125rem .5rem .125rem .5rem; border: 1px solid var(--border); border-radius: 9999px; background: var(--background); font-size: .75rem; line-height: 1rem; }
.fila-resumen strong { font-weight: 600; } .fila-resumen .punto { margin-right: .125rem; }
.fecha-carrito { margin: .5rem 0 .25rem; display: grid; gap: .375rem; font-size: .875rem; font-weight: 500; }
.fecha-carrito .entrada { width: 100%; font-weight: 400; height: 2rem; background-color: var(--background); }
.grupo { border-radius: var(--r-lg); margin-top: .75rem; overflow: hidden; }
.grupo-cab { display: flex; justify-content: space-between; gap: .5rem; padding: .625rem .75rem .25rem; font-size: .875rem; }
.grupo-cab strong { font-weight: 500; }
.grupo-cond { padding: 0 .75rem .5rem; font-size: .75rem; line-height: 1rem; border-bottom: 1px solid var(--border); }
.linea { padding: .625rem .75rem; border-bottom: 1px solid var(--border); display: grid; gap: .375rem; font-size: .875rem; }
.linea:last-child { border-bottom: 0; }
.linea-cab { display: flex; gap: .375rem; align-items: flex-start; } .linea-cab strong { flex: 1; font-weight: 500; }
.linea-origen { font-size: .75rem; line-height: 1rem; }
.linea-pie { display: flex; gap: .5rem; align-items: center; justify-content: space-between; font-size: .75rem; }
.linea .entrada--peq { background-color: var(--background); }
.linea .paso { height: 1.75rem; } .linea .paso button { width: 1.75rem; } .linea .paso input { width: 2.4em; font-size: .8125rem; }
body.cocina .linea .paso { height: 2.25rem; } body.cocina .linea .paso button { width: 2.25rem; }
.quitar, .candado { background: none; border: 0; cursor: pointer; color: var(--muted-foreground); font-size: 1rem; line-height: 1; padding: .125rem .25rem; border-radius: var(--r-sm); }
.quitar:hover, .candado:hover { background: var(--accent); color: var(--foreground); }
.candado { color: var(--foreground); } .candado svg { width: .875rem; height: .875rem; vertical-align: -2px; }
.totales { margin-top: 1rem; display: grid; gap: .25rem; font-size: .875rem; }
.totales > div { display: flex; justify-content: space-between; }
.totales .total { font-family: var(--fuente); font-size: 1rem; font-weight: 600; padding-top: .5rem; border-top: 1px solid var(--border); margin-top: .25rem; }
.ahorro { font-size: .75rem; line-height: 1rem; color: var(--ok); font-weight: 500; }
.carrito-acciones { display: grid; gap: .5rem; margin-top: 1rem; }
.carrito-acciones .boton.oscuro { height: 2.5rem; font-size: .875rem; }
.nota { font-size: .75rem; line-height: 1rem; color: var(--muted-foreground); margin-top: .75rem; }
.nota--caja { padding: .625rem .75rem; border-radius: var(--r-md); background: var(--muted); margin: 0 0 1rem; font-size: .875rem; line-height: 1.25rem; }
.sugerencia-mini { margin-top: .75rem; font-size: .75rem; line-height: 1rem; padding: .5rem .75rem; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--background); }
.sugerencia-mini a { font-weight: 500; }

/* Pedidos, platos, proveedores, KPI (SectionCards), paneles y gráfica (ChartAreaInteractive) */
.pedido-cab, .receta-cab { display: flex; gap: 1rem; justify-content: space-between; align-items: flex-start; padding: 1.5rem 1.5rem 1rem; flex-wrap: wrap; }
.receta-cab { justify-content: flex-start; align-items: center; }
.receta-cab .icono { width: 4rem; height: 4rem; background-size: 3rem; }
.linea-cab .icono--mini { flex: none; margin: 0 .25rem 0 0; }
.pedido-cab h3 { display: flex; align-items: center; margin: .125rem 0; }
.pedido-cab > div > p.tenue:first-child { font-size: .75rem; }
.estado-pedido { display: inline-flex; align-items: center; height: 1.375rem; padding: 0 .5rem; margin-left: .125rem; border-radius: 9999px; border: 1px solid var(--border); font-size: .75rem; font-weight: 500; color: var(--foreground); background: var(--background); }
.pedido--aprobado .estado-pedido { background: var(--primary); color: var(--primary-foreground); border-color: transparent; }
.pedido-total { text-align: right; font-size: .875rem; }
.pedido-total strong { display: block; font-family: var(--fuente); font-size: 1.5rem; line-height: 2rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--foreground); }
.pedido-campos { display: grid; grid-template-columns: 12.5rem 1fr; gap: 0 1rem; padding: .5rem 1.5rem 0; }
.pedido-pie, .receta-pie { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; padding: .5rem 1.5rem 1.5rem; }
.pedido-pie .tenue { margin-left: auto; font-size: .75rem; }
.pedido--aprobado { border-color: var(--foreground); }
.pedido--enviado { border-color: var(--border); }
.aviso-linea { margin: 0 1.5rem .5rem; }
.receta-ajustes { display: flex; gap: .75rem 1.25rem; flex-wrap: wrap; align-items: center; padding: .25rem 1.5rem 1rem; font-size: .875rem; }
.receta-ajustes .entrada { height: 2rem; }
.receta--foco { box-shadow: var(--anillo); }
.rejilla-prov { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.tarjeta-prov { margin: 0; padding: 1.5rem; display: grid; gap: .5rem; align-content: start; }
.tarjeta-prov header { display: flex; align-items: center; gap: .5rem; } .tarjeta-prov h3 { flex: 1; }
.datos { display: grid; grid-template-columns: auto 1fr; gap: .25rem .75rem; margin: 0; font-size: .875rem; }
.datos dt { color: var(--muted-foreground); } .datos dd { margin: 0; color: var(--foreground); }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.kpi { margin: 0; padding: 1.5rem; display: flex; flex-direction: column; gap: .375rem; border-top-width: 1px; background: var(--kpi-fondo); }
.kpi > p.tenue:first-child { font-size: .875rem; color: var(--muted-foreground); display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.kpi > p.tenue:first-child::after { content: ''; width: 1rem; height: 1rem; flex: none; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.kpi:nth-child(1) > p:first-child { --i: var(--i-enviar); } .kpi:nth-child(2) > p:first-child { --i: var(--i-hucha); }
.kpi:nth-child(3) > p:first-child { --i: var(--i-reloj); } .kpi:nth-child(4) > p:first-child { --i: var(--i-carro); }
.kpi-valor { display: block; font-family: var(--fuente); font-size: 1.875rem; line-height: 2.25rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--foreground); margin: 0; }
.kpi > p:last-child { margin-top: auto; padding-top: .75rem; font-size: .875rem; }
.kpi--oscuro { background: var(--primary); border-color: var(--primary); } .kpi--oscuro .kpi-valor, .kpi--oscuro p { color: var(--primary-foreground); } .kpi--oscuro .tenue { color: color-mix(in srgb, var(--primary-foreground) 70%, transparent); }
.paneles { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; }
.panel { margin: 0; padding: 1.5rem; }
.panel h3 { margin-bottom: 1.25rem; line-height: 1; }
.barra-dato { display: grid; grid-template-columns: 7rem 1fr auto; gap: .75rem; align-items: center; margin-bottom: .75rem; font-size: .875rem; }
.barra-dato > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.barra-dato i { display: block; height: .5rem; border-radius: .25rem; background: var(--primary); }
.barra-dato strong { font-weight: 500; }
.lista-actividad { list-style: none; padding: 0; margin: 0; font-size: .875rem; }
.lista-actividad li { padding: .5rem 0; border-bottom: 1px solid var(--border); } .lista-actividad li:last-child { border-bottom: 0; }
.lista-actividad .tenue { font-size: .75rem; }
.ocupacion-celda { display: flex; align-items: center; gap: .5rem; }
.ocupacion-celda i { display: block; height: .5rem; border-radius: .25rem; background: var(--primary); }

/* Ventanas y avisos (Dialog y Sonner del ejemplo) */
.velo { position: fixed; inset: 0; background: var(--velo); z-index: 60; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.velo[hidden] { display: none; }
.dialogo { background: var(--background); color: var(--foreground); border: 1px solid var(--border); border-radius: var(--r-lg); width: min(48rem, 100%); max-height: calc(100vh - 2rem); overflow: auto; box-shadow: var(--sombra-lg); }
.dialogo-cab { padding: 1.5rem 1.5rem .5rem; display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.dialogo-cab h2, .dialogo-cab h3 { font-size: 1.125rem; line-height: 1.75rem; letter-spacing: -.01em; }
.dialogo-cuerpo { padding: .5rem 1.5rem 1rem; display: grid; gap: .75rem; font-size: .875rem; }
.dialogo-pie { padding: .75rem 1.5rem 1.5rem; display: flex; gap: .5rem; justify-content: flex-end; flex-wrap: wrap; border-top: 0; }
.reglas { margin: 0; padding-left: 1.2em; font-size: .875rem; display: grid; gap: .25rem; }
.comparacion { display: flex; gap: .625rem; flex-wrap: wrap; align-items: center; font-weight: 500; font-size: .875rem; }
.pasos-envio { margin: 0; padding-left: 1.2em; display: grid; gap: .5rem; font-size: .875rem; }
.pasos-envio .estado-paso { color: var(--muted-foreground); } .pasos-envio .hecho .estado-paso { color: var(--ok); font-weight: 500; }
#avisos { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 80; display: grid; gap: .5rem; width: min(22.5rem, calc(100% - 2rem)); pointer-events: none; }
.toast { background: var(--background); color: var(--foreground); border: 1px solid var(--border); padding: .75rem 1rem; border-radius: var(--r-lg); box-shadow: var(--sombra-lg); font-size: .875rem; line-height: 1.25rem; }
.toast--error { border-color: color-mix(in srgb, var(--destructive) 50%, transparent); color: var(--destructive); }
.sombra-carrito { display: none; }
#impresion { display: none; }



/* Modo cocina, para lo que es: barra arriba con secciones grandes, carrito que se abre con su botón, fotos grandes y solo
   lo que usa la cocina (sin proveedores, cálculos del hotel ni resumen). Funciona en claro y en oscuro */
body.cocina { --lateral: 0px; }
body.cocina .barra { position: static; width: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .625rem 1.5rem; border-right: 0; border-bottom: 1px solid var(--sidebar-border); overflow: visible; }
body.cocina .marca { margin: 0; padding: 0 .5rem 0 0; height: auto; border: 0; }
body.cocina .buscar { flex: 1 1 14rem; margin: 0; }
body.cocina .nav { order: 5; flex-direction: row; width: 100%; gap: .375rem; margin: 0; overflow-x: auto; scrollbar-width: none; }
body.cocina .nav a { height: 2.5rem; padding: 0 1rem; border: 1px solid var(--border); background: var(--background); }
body.cocina .nav a[aria-current="page"] { background: var(--primary); color: var(--primary-foreground); border-color: transparent; }
body.cocina .nav .contador { margin-left: .375rem; }
body.cocina .barra .boton-carrito { display: inline-flex; order: 4; height: 2.5rem; }
body.cocina .cuerpo { grid-template-columns: minmax(0, 1fr); min-height: 0; }
body.cocina .carrito { position: fixed; top: 0; right: 0; bottom: 0; width: min(28rem, 100%); max-height: none; min-height: 0; z-index: 50; transform: translateX(105%); transition: transform .22s ease; box-shadow: var(--sombra-lg); }
body.cocina.carrito-abierto .carrito { transform: none; }
body.cocina.carrito-abierto .sombra-carrito { display: block; position: fixed; inset: 0; z-index: 45; background: var(--velo); }
body.cocina .solo-movil, body.cocina .boton-icono.solo-movil { display: inline-flex; }
body.cocina .principal { padding: 1.5rem 1.5rem 6.5rem; }
body.cocina .pie { padding-bottom: 6.5rem; }
body.cocina .barra-movil { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: .625rem 1.5rem calc(.625rem + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--background) 90%, transparent); backdrop-filter: blur(8px); border-top: 1px solid var(--border); }
body.cocina .barra-movil .boton { width: 100%; height: 3rem; font-size: 1rem; }
body.cocina #avisos { bottom: 5.5rem; }

/* Tableta: el lateral pasa arriba y el carrito se abre con su botón */
@media (max-width: 1179px) {
  .cabecera, .demo-aviso, .app, .pie { margin-left: 0; }
  .barra { position: static; width: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .5rem 1rem; border-right: 0; border-bottom: 1px solid var(--sidebar-border); overflow: visible; }
  .marca { margin: 0; padding: 0; height: 2rem; border: 0; }
  .buscar { flex: 1 1 12rem; margin: 0; }
  .nav { order: 5; flex-direction: row; width: 100%; gap: .25rem; margin: 0; overflow-x: auto; scrollbar-width: none; }
  .nav::-webkit-scrollbar { display: none; }
  .nav .contador { margin-left: .25rem; }
  .barra .boton-carrito { display: inline-flex; order: 4; height: 2rem; padding: 0 .75rem; }
  .cuerpo { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .carrito { position: fixed; top: 0; right: 0; bottom: 0; width: min(26rem, 100%); max-height: none; z-index: 50; transform: translateX(105%); transition: transform .22s ease; box-shadow: var(--sombra-lg); }
  body.carrito-abierto .carrito { transform: none; }
  body.carrito-abierto .sombra-carrito { display: block; position: fixed; inset: 0; z-index: 45; background: var(--velo); }
  .solo-movil, .boton-icono.solo-movil { display: inline-flex; }
}
/* Móvil */
@media (max-width: 759px) {
  .demo-aviso { white-space: normal; height: auto; padding: .375rem 1rem; text-align: center; }
  .cabecera { height: auto; padding: .5rem 1rem; flex-wrap: wrap; }
  .ceja { display: none; }
  .controles { width: 100%; }
  .controles .logo { margin-left: auto; }
  .barra { padding: .5rem .75rem; }
  .principal { padding: 1rem 1rem 6.5rem; }
  .producto-cab, .ofertas, .fila-plato, .ia, .pedido-cab, .receta-cab, .pedido-campos, .pedido-pie, .receta-pie, .receta-ajustes, .tarjeta-prov, .kpi, .panel { padding-left: 1rem; padding-right: 1rem; }
  .en-carrito, .aviso-linea, .pedido .desplazable, .receta .desplazable { margin-left: 1rem; margin-right: 1rem; }
  .pie { padding-bottom: 6.5rem; }
  .barra-movil { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: .625rem 1rem calc(.625rem + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--background) 90%, transparent); backdrop-filter: blur(8px); border-top: 1px solid var(--border); }
  .barra-movil .boton { width: 100%; height: 2.5rem; }
  .rejilla-2, .pedido-campos { grid-template-columns: 1fr; }
  .barra-dato { grid-template-columns: 5.5rem 1fr auto; }
  #avisos { right: 1rem; left: 1rem; width: auto; bottom: 4.5rem; }
}
@media print {
  body > *:not(#impresion) { display: none !important; }
  #impresion { display: block !important; }
  body { background: #fff; display: block; }
}
.doc-pedido { font-family: var(--fuente); color: #0a0a0a; break-after: page; page-break-after: always; padding: 8px 0; }
.doc-pedido:last-child { break-after: auto; page-break-after: auto; }
.doc-cab { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #0a0a0a; padding-bottom: 10px; margin-bottom: 12px; }
.doc-cab .logo { height: 34px; filter: grayscale(1) !important; opacity: 1; }
.doc-demo { background: #f5f5f5; border: 1px solid #e5e5e5; padding: 6px 10px; border-radius: 6px; font-weight: 500; margin-bottom: 12px; }
.doc-pedido table { width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 11pt; }
.doc-pedido th, .doc-pedido td { border-bottom: 1px solid #ddd; padding: 5px 6px; text-align: left; }
.doc-pedido .num { text-align: right; }
.doc-pie { margin-top: 18px; color: #737373; font-size: 9pt; }

/* ---- Lo propio del portal con servidor (no está en la demo) ---- */
/* «Ordenar»: en el portal sigue en el lateral, bajo el buscador (en la demo lo movía tema-shadcn.js a la cabecera de Comprar) */
.pill-orden-caja { order: 2; flex: none; display: flex; flex-direction: column; gap: .25rem; margin-top: .25rem; }
.pill-orden-caja::before { content: 'Ordenar por'; padding: 0 .5rem; font-size: .75rem; line-height: 1rem; font-weight: 500; color: var(--muted-foreground); }
body.cocina .pill-orden-caja::before { display: none; }
body.cocina .pill-orden { width: auto; }
/* el aviso del laboratorio no se corta nunca: dice que el envío de pedidos es simulado */
.demo-aviso { height: auto; min-height: var(--aviso-alto); padding: .25rem 1rem; white-space: normal; text-align: center; }
/* Entrada (sin sesión): sin lateral; la tarjeta, como el «login» de shadcn */
body.sin-sesion { --lateral: 0px; }
body.sin-sesion .app, body.sin-sesion #barra-movil { display: none; }
#entrada { order: 3; flex: 1; padding: 3rem 1rem; }
#entrada[hidden] { display: none; }
.entrada-caja { max-width: 24rem; margin: 0 auto; background: var(--card); border: 1px solid var(--border); border-radius: var(--r-xl); box-shadow: var(--sombra-sm); padding: 1.5rem; }
.entrada-caja .ceja { font-size: .875rem; margin-bottom: .25rem; }
.entrada-caja .ceja::after { display: none; }
.entrada-caja h2 { font-size: 1.25rem; line-height: 1.75rem; margin-bottom: .375rem; }
.entrada-caja > p.tenue { font-size: .875rem; }
.entrada-caja form { display: grid; gap: .25rem; margin-top: 1.25rem; }
.entrada-caja .boton { width: 100%; }
.entrada-caja .roles { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .8125rem; line-height: 1.25rem; display: grid; gap: .25rem; }
.entrada-caja .roles strong { color: var(--foreground); font-weight: 500; }
.entrada-error { color: var(--destructive); min-height: 1.25rem; font-size: .875rem; }
/* usuario y «Salir», en la cabecera */
.usuario-actual { display: flex; align-items: center; gap: .625rem; }
.usuario-actual .quien { display: flex; flex-direction: column; align-items: flex-end; line-height: 1rem; }
.usuario-actual .quien strong { font-size: .875rem; line-height: 1.25rem; font-weight: 500; color: var(--foreground); }
.usuario-actual .quien span { font-size: .75rem; color: var(--muted-foreground); }
.usuario-actual .boton { height: 2rem; padding: 0 .75rem; }
body.cocina .usuario-actual .boton { height: 2.25rem; }
body.ocupado { cursor: progress; }
/* historial y firma de cada pedido; auditoría */
.historial-pedido { margin: -.75rem 1.5rem 1.25rem; font-size: .8125rem; }
.historial-pedido summary { cursor: pointer; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.historial-pedido ol { margin: .5rem 0 0; padding-left: 1.125rem; display: grid; gap: .25rem; }
.denegado, .historial-pedido li.denegado { color: var(--destructive); }
.firma-aprobacion { font-size: .8125rem; color: var(--foreground); font-weight: 500; }
.tabla tr.denegado td { color: var(--destructive); }
#tabla-auditoria td:first-child { white-space: nowrap; }
@media (max-width: 1179px) {
  .pill-orden-caja { margin: 0; }
  .pill-orden-caja::before { display: none; }
  .pill-orden { width: auto; }
}
@media (max-width: 759px) {
  .historial-pedido { margin-left: 1rem; margin-right: 1rem; }
  .usuario-actual { margin-right: auto; }
}

/* ---- Imágenes de artículos y platos (las mismas de la demo, por su id: p-… y r-…) ----
   Ilustración monocroma (demo/fuente/ilustraciones.svg, en data:) y, encima, la foto (fotos/<id>.jpg) si la hay. Sin ninguna
   de las dos (un artículo nuevo), recuadro blanco con borde. El icono de la marca es el símbolo de Copernico. */
:root { --icono-marca: url(data:image/png;base64,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); }
.icono[data-imagen="p-aove"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 5h8v6c3.5 1.5 5 4.5 5 8v19a3 3 0 0 1-3 3H18a3 3 0 0 1-3-3V19c0-3.5 1.5-6.5 5-8z' fill='%23e5e5e5'/%3E%3Crect x='19' y='3' width='10' height='3' rx='1' fill='%23d4d4d4'/%3E%3Crect x='18' y='21' width='12' height='10' rx='1' fill='%23fff'/%3E%3Cpath d='M25 25.5c1.5-1.5 3-1.5 4-.5'/%3E%3Cellipse cx='23.5' cy='27.5' rx='1.5' ry='2' transform='rotate(-25 23.5 27.5)' fill='%23404040' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-aove.jpg'); }
.icono[data-imagen="p-aov"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 5h8v6c3.5 1.5 5 4.5 5 8v19a3 3 0 0 1-3 3H18a3 3 0 0 1-3-3V19c0-3.5 1.5-6.5 5-8z' fill='%23e5e5e5'/%3E%3Crect x='19' y='3' width='10' height='3' rx='1' fill='%23d4d4d4'/%3E%3Crect x='18' y='22' width='12' height='8' rx='1' fill='%23fff'/%3E%3Cpath d='M21 25h6M21 28h4'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-aov.jpg'); }
.icono[data-imagen="p-girasol"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg fill='%23e5e5e5'%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(45 24 18)'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(90 24 18)'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(135 24 18)'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(180 24 18)'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(225 24 18)'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(270 24 18)'/%3E%3Cellipse cx='24' cy='9.5' rx='2.4' ry='4.5' transform='rotate(315 24 18)'/%3E%3C/g%3E%3Ccircle cx='24' cy='18' r='5' fill='%23d4d4d4'/%3E%3Cpath d='M24 23v19'/%3E%3Cpath d='M24 33c-3-4-7-5-10-4 1 4 5 6 10 4z' fill='%23e5e5e5'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-girasol.jpg'); }
.icono[data-imagen="p-vinagre"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4h8v9c4 2 6 6 6 10v12a4 4 0 0 1-4 4H18a4 4 0 0 1-4-4V23c0-4 2-8 6-10z' fill='%23e5e5e5'/%3E%3Crect x='19' y='2' width='10' height='5' rx='1.5' fill='%23d4d4d4'/%3E%3Crect x='17' y='24' width='14' height='9' rx='1' fill='%23fff'/%3E%3Cpath d='M20 28.5h8'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-vinagre.jpg'); }
.icono[data-imagen="p-tomate"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='27' r='13' fill='%23e5e5e5'/%3E%3Cpath d='M16 26c0-4 3-7 7-8'/%3E%3Cpath d='M24 14c-3-3-7-4-10-2 3 2 6 3 10 2zM24 14c3-3 7-4 10-2-3 2-6 3-10 2z' fill='%23d4d4d4'/%3E%3Cpath d='M24 14V9'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-tomate.jpg'); }
.icono[data-imagen="p-lechuga"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 29c-2-6 1-11 6-12 1-5 6-8 11-6 5-2 10 1 11 6 4 2 6 7 3 11-1 5-6 8-11 7-4 3-9 2-12-1-5 1-8-1-8-5z' fill='%23e5e5e5'/%3E%3Cpath d='M15 17c3 2 5 5 5 10M26 11c-1 5-3 8-7 11M37 17c-4 1-8 3-10 7M18 33c3-3 7-4 11-3'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-lechuga.jpg'); }
.icono[data-imagen="p-cebolla"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 12c-8 2-13 9-13 17 0 7 6 11 13 11s13-4 13-11c0-8-5-15-13-17z' fill='%23e5e5e5'/%3E%3Cpath d='M24 12c-3 6-4 12-4 19M24 12c3 6 4 12 4 19M24 12V7'/%3E%3Cpath d='M20 9c1-2 2.5-3 4-3s3 1 4 3'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-cebolla.jpg'); }
.icono[data-imagen="p-pepino"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 37c-2-2-2-5 0-7l17-17c3-3 8-5 11-3 2 2 1 7-3 11L18 38c-2 2-6 2-8-1z' fill='%23e5e5e5'/%3E%3Cpath d='M15 28l4 4M21 22l4 4M27 16l4 4'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-pepino.jpg'); }
.icono[data-imagen="p-pimiento"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 19c-4 2-6 8-4 14 2 5 6 8 13 8s11-3 13-8c2-6 0-12-4-14-2-1-5 0-7 2-2-2-5-3-7-2-1-1-3-1-4 0z' fill='%23e5e5e5'/%3E%3Cpath d='M20 22c-2 4-2 9 0 13M28 22c2 4 2 9 0 13'/%3E%3Cpath d='M24 19v-9M24 10c3 0 5 1 6 3'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-pimiento.jpg'); }
.icono[data-imagen="p-papa"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='15' cy='30' rx='8' ry='6.5' transform='rotate(-15 15 30)' fill='%23e5e5e5'/%3E%3Cellipse cx='31.5' cy='31' rx='8.5' ry='6.5' transform='rotate(12 31.5 31)' fill='%23e5e5e5'/%3E%3Cellipse cx='24' cy='18' rx='8' ry='6' fill='%23e5e5e5'/%3E%3Cpath d='M13 29h.01M17 31.5h.01M29 30h.01M33.5 32h.01M22 17h.01M26.5 19h.01' stroke-width='2.2'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-papa.jpg'); }
.icono[data-imagen="p-patata"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 26c-1-8 6-14 15-13 8 1 14 6 13 13-1 8-8 11-15 10-8-1-12-3-13-10z' fill='%23e5e5e5'/%3E%3Cpath d='M17 23h.01M25 20h.01M30 27h.01M20 30h.01' stroke-width='2.2'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-patata.jpg'); }
.icono[data-imagen="p-naranja"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='27' r='13' fill='%23e5e5e5'/%3E%3Cpath d='M16 26c0-4 3-7 7-8'/%3E%3Cpath d='M24 14c0-4 3-7 8-7-1 4-4 7-8 7z' fill='%23d4d4d4'/%3E%3Cpath d='M24 14v-3'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-naranja.jpg'); }
.icono[data-imagen="p-ajo"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 9c-2 5-6 7-9 12-3 5-1 14 9 14s12-9 9-14c-3-5-7-7-9-12z' fill='%23e5e5e5'/%3E%3Cpath d='M24 9c-1 8-2 14-2 26M24 9c1 8 2 14 2 26M24 9V5'/%3E%3Cpath d='M18 35l-1.5 4M30 35l1.5 4M24 35v5'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-ajo.jpg'); }
.icono[data-imagen="p-limon"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 25c1-6 7-10 14-10s13 4 14 10c1 1 1 3 0 4-1 6-7 10-14 10S11 35 10 29c-1-1-1-3 0-4z' fill='%23e5e5e5'/%3E%3Cpath d='M8 27h2M38 27h2'/%3E%3Cpath d='M16 24c1-3 4-5 8-6'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-limon.jpg'); }
.icono[data-imagen="p-huevos"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='15' cy='22' rx='4.2' ry='5.5' fill='%23fff'/%3E%3Cellipse cx='24' cy='22' rx='4.2' ry='5.5' fill='%23fff'/%3E%3Cellipse cx='33' cy='22' rx='4.2' ry='5.5' fill='%23fff'/%3E%3Cpath d='M7 24h34l-3 14H10z' fill='%23d4d4d4'/%3E%3Cpath d='M19.5 24l-.5 14M28.5 24l.5 14'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-huevos.jpg'); }
.icono[data-imagen="p-queso"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 30L32 14l10 6-26 16z' fill='%23e5e5e5'/%3E%3Cpath d='M6 30v5l10 4 26-16v-3' fill='%23d4d4d4'/%3E%3Cpath d='M16 39v-5'/%3E%3Ccircle cx='20' cy='26' r='2' fill='%23fff'/%3E%3Ccircle cx='28' cy='22' r='1.5' fill='%23fff'/%3E%3Ccircle cx='14' cy='31' r='1.2' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-queso.jpg'); }
.icono[data-imagen="p-leche"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18h20v22a2 2 0 0 1-2 2H16a2 2 0 0 1-2-2z' fill='%23e5e5e5'/%3E%3Cpath d='M14 18l4-8h12l4 8z' fill='%23d4d4d4'/%3E%3Cpath d='M24 10v32'/%3E%3Crect x='26' y='26' width='6' height='8' rx='1' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-leche.jpg'); }
.icono[data-imagen="p-nata"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 10h16v30a2 2 0 0 1-2 2H18a2 2 0 0 1-2-2z' fill='%23e5e5e5'/%3E%3Crect x='21' y='6' width='6' height='4' rx='1' fill='%23d4d4d4'/%3E%3Crect x='18' y='20' width='12' height='12' rx='1' fill='%23fff'/%3E%3Cpath d='M20 27c1.5-1.5 3-1.5 4 0s2.5 1.5 4 0'/%3E%3C/g%3E%3C/svg%3E"); }
.icono[data-imagen="p-mantequilla"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 22l10-6h22l-10 6z' fill='%23fff'/%3E%3Cpath d='M8 22h22v12H8z' fill='%23e5e5e5'/%3E%3Cpath d='M30 22l10-6v12l-10 6z' fill='%23d4d4d4'/%3E%3Cpath d='M12 27h14'/%3E%3C/g%3E%3C/svg%3E"); }
.icono[data-imagen="p-arroz"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 15c-6 4-9 10-8 18 1 6 5 8 15 8s14-2 15-8c1-8-2-14-8-18z' fill='%23e5e5e5'/%3E%3Cpath d='M17 15c2-3 4-5 7-5s5 2 7 5'/%3E%3Cpath d='M19 12l-3-5M29 12l3-5'/%3E%3Cg fill='%23fff'%3E%3Cellipse cx='21' cy='28' rx='1.3' ry='2.4' transform='rotate(-20 21 28)'/%3E%3Cellipse cx='25' cy='27' rx='1.3' ry='2.4' transform='rotate(15 25 27)'/%3E%3Cellipse cx='28' cy='31' rx='1.3' ry='2.4' transform='rotate(-30 28 31)'/%3E%3Cellipse cx='22' cy='33' rx='1.3' ry='2.4' transform='rotate(25 22 33)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.icono[data-imagen="p-harina"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 41V19c0-4 3-7 7-7h10c4 0 7 3 7 7v22z' fill='%23e5e5e5'/%3E%3Cpath d='M12 41h24'/%3E%3Cpath d='M24 20v14'/%3E%3Cpath d='M24 24c-2 0-3.5-1.5-4-4 2.5 0 4 1.5 4 4zM24 28c-2 0-3.5-1.5-4-4 2.5 0 4 1.5 4 4zM24 24c2 0 3.5-1.5 4-4-2.5 0-4 1.5-4 4zM24 28c2 0 3.5-1.5 4-4-2.5 0-4 1.5-4 4z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-harina.jpg'); }
.icono[data-imagen="p-sal"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 18h14v20a3 3 0 0 1-3 3h-8a3 3 0 0 1-3-3z' fill='%23e5e5e5'/%3E%3Cpath d='M17 18c0-6 3-10 7-10s7 4 7 10z' fill='%23d4d4d4'/%3E%3Cpath d='M21 13h.01M24 10.5h.01M27 13h.01M24 15h.01' stroke-width='2'/%3E%3Cpath d='M20 26h8M20 31h8'/%3E%3C/g%3E%3C/svg%3E"); }
.icono[data-imagen="p-pimenton"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 12h20v24c0 2.5-4.5 4-10 4s-10-1.5-10-4z' fill='%23e5e5e5'/%3E%3Cellipse cx='24' cy='12' rx='10' ry='3' fill='%23d4d4d4'/%3E%3Crect x='16' y='20' width='16' height='10' rx='1' fill='%23fff'/%3E%3Cpath d='M19 25h10'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-pimenton.jpg'); }
.icono[data-imagen="p-comino"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 16h18v20a4 4 0 0 1-4 4H19a4 4 0 0 1-4-4z' fill='%23e5e5e5'/%3E%3Crect x='14' y='10' width='20' height='6' rx='2' fill='%23d4d4d4'/%3E%3Crect x='18' y='22' width='12' height='9' rx='1' fill='%23fff'/%3E%3Cpath d='M21 25.5h6M21 28.5h4'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-comino.jpg'); }
.icono[data-imagen="p-pan"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 33c-2-3 0-7 4-9l18-11c5-3 10-2 11 2 1 3-2 7-6 9L17 35c-4 2-8 1-9-2z' fill='%23e5e5e5'/%3E%3Cpath d='M15 28l4 3M21 24l4 3M27 20l4 3M33 16l3 3'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-pan.jpg'); }
.icono[data-imagen="p-pollo"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 9c6 0 9 5 8 10s-6 9-12 10l-4-4c-3-6 0-16 8-16z' fill='%23e5e5e5'/%3E%3Cpath d='M22 25l-9 9' stroke-width='3'/%3E%3Ccircle cx='11' cy='36' r='3' fill='%23d4d4d4'/%3E%3Ccircle cx='14.5' cy='39.5' r='2.5' fill='%23d4d4d4'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-pollo.jpg'); }
.icono[data-imagen="p-atun"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 20v10c0 3.3 6.7 6 15 6s15-2.7 15-6V20' fill='%23e5e5e5'/%3E%3Cellipse cx='24' cy='20' rx='15' ry='6' fill='%23fff'/%3E%3Cpath d='M16 20c3-3 7-4 10-2l5-3v10l-5-3c-3 2-7 1-10-2z' fill='%23d4d4d4'/%3E%3Ccircle cx='19' cy='19.5' r='.8' fill='%23404040' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-atun.jpg'); }
.icono[data-imagen="p-agua"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12h8v3c3.5 1 4.5 4 4.5 7v16a3 3 0 0 1-3 3h-11a3 3 0 0 1-3-3V22c0-3 1-6 4.5-7z' fill='%23e5e5e5'/%3E%3Crect x='20' y='8' width='8' height='4' rx='1' fill='%23d4d4d4'/%3E%3Cpath d='M16.5 24h15M16.5 29h15M16.5 34h15'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/p-agua.jpg'); }
.icono[data-imagen="p-lavavajillas"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 18h22v20a3 3 0 0 1-3 3H16a3 3 0 0 1-3-3z' fill='%23e5e5e5'/%3E%3Cpath d='M13 18c0-3 2-5 5-5h9v5'/%3E%3Crect x='27' y='9' width='7' height='5' rx='1' fill='%23d4d4d4'/%3E%3Cpath d='M17 24h14M17 29h8'/%3E%3Cpath d='M28 34.5c0 1.4-1 2.5-2.2 2.5s-2.2-1.1-2.2-2.5 2.2-4 2.2-4 2.2 2.6 2.2 4z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); }
.icono[data-imagen="p-papel"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 16h26v16H10z' fill='%23e5e5e5'/%3E%3Cpath d='M10 16c-3 0-5 3.5-5 8s2 8 5 8' fill='%23d4d4d4'/%3E%3Cellipse cx='36' cy='24' rx='5' ry='8' fill='%23d4d4d4'/%3E%3Cellipse cx='36' cy='24' rx='2' ry='3' fill='%23fff'/%3E%3Cpath d='M10 32l-2 7h20'/%3E%3C/g%3E%3C/svg%3E"); }
.icono[data-imagen="r-ensalada"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22h36c0 9-6 16-18 16S6 31 6 22z' fill='%23e5e5e5'/%3E%3Cpath d='M11 22c2-6 7-9 13-9s11 3 13 9' fill='%23fff'/%3E%3Cpath d='M15 21c2-4 5-6 9-6M24 15c4 0 7 2 9 6M19 21c1-2 3-3 5-3M27 18c2 0 3 1 4 3'/%3E%3Ccircle cx='21' cy='19' r='1.5' fill='%23d4d4d4'/%3E%3Ccircle cx='30' cy='20' r='1.5' fill='%23d4d4d4'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/r-ensalada.jpg'); }
.icono[data-imagen="r-papas"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='24' cy='31' rx='18' ry='8' fill='%23fff'/%3E%3Cellipse cx='24' cy='31' rx='14' ry='5.5' fill='%23e5e5e5'/%3E%3Ccircle cx='18' cy='27' r='4' fill='%23d4d4d4'/%3E%3Ccircle cx='26' cy='26' r='4' fill='%23d4d4d4'/%3E%3Ccircle cx='22' cy='31.5' r='3.5' fill='%23d4d4d4'/%3E%3Ccircle cx='33' cy='29' r='3' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/r-papas.jpg'); }
.icono[data-imagen="r-gazpacho"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 8h18l-2 30a3 3 0 0 1-3 3h-8a3 3 0 0 1-3-3z' fill='%23fff'/%3E%3Cpath d='M16.2 18h15.6l-1.3 20a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2z' fill='%23e5e5e5'/%3E%3Cpath d='M15 8h18'/%3E%3Crect x='20' y='22' width='3' height='3' rx='.5' fill='%23fff'/%3E%3Crect x='26' y='27' width='3' height='3' rx='.5' fill='%23fff'/%3E%3Crect x='22' y='31' width='3' height='3' rx='.5' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/r-gazpacho.jpg'); }
.icono[data-imagen="r-tortilla"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='24' cy='25' rx='16' ry='8' fill='%23e5e5e5'/%3E%3Cpath d='M8 25v4c0 4.4 7.2 8 16 8s16-3.6 16-8v-4' fill='%23d4d4d4'/%3E%3Cpath d='M24 17l-7 8h14z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/r-tortilla.jpg'); }
.icono[data-imagen="r-zumo"] { --ilu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23404040' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 12h18l-2 26a3 3 0 0 1-3 3h-8a3 3 0 0 1-3-3z' fill='%23fff'/%3E%3Cpath d='M16.2 20h15.6l-1.3 18a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2z' fill='%23e5e5e5'/%3E%3Cpath d='M15 12h18M27 12l6-8'/%3E%3Ccircle cx='35' cy='17' r='5' fill='%23d4d4d4'/%3E%3Cpath d='M35 12v10M30 17h10'/%3E%3C/g%3E%3C/svg%3E"); --foto: url('fotos/r-zumo.jpg'); }
.icono[data-imagen] { background-color: var(--ficha); background-image: var(--foto, none), var(--ilu, none); background-position: center; background-repeat: no-repeat; background-size: cover, 75%; }
