:root{--surface-1:#fcfcfb;--page:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:rgba(11,11,11,0.1);--series-1:#2a78d6;--series-2:#1baf7a;--meter-track:#cde2fb;--good:#006300;--critical:#d03b3b;--pr:#eda100;--accent-cal:#ff8a3d;--accent-cal-track:#ffe3cc;--accent-prot:#1baf7a;--accent-prot-track:#cdf0e2;--cat-desayuno:#f5a623;--cat-almuerzo:#ff6b6b;--cat-merienda:#a66bff;--cat-cena:#2a78d6}@media (prefers-color-scheme:dark){:root{--surface-1:#1a1a19;--page:#0d0d0d;--text-primary:#ffffff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:rgba(255,255,255,0.1);--series-1:#3987e5;--series-2:#199e70;--meter-track:#184f95;--good:#0ca30c;--critical:#d03b3b;--pr:#c98500;--accent-cal:#ff9d5c;--accent-cal-track:#4d3018;--accent-prot:#35d68f;--accent-prot-track:#164132;--cat-desayuno:#ffb84d;--cat-almuerzo:#ff8787;--cat-merienda:#c299ff;--cat-cena:#5aa3f0}}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.dash{max-width:640px;margin:0 auto;padding:0 1rem 5.5rem}.dash-header{padding:1rem 0 .25rem}.dash-header h1{font-size:1.15rem;margin:0}.dash-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--surface-1);border-top:1px solid var(--border);padding:.4rem 0 calc(.4rem + env(safe-area-inset-bottom));z-index:10}.dash-nav a{text-decoration:none;font-size:.72rem;color:var(--text-muted);display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:2px 8px;border-radius:8px}.dash-nav a .ico{font-size:1.05rem;line-height:1}.dash-nav a[aria-current=page]{color:var(--series-1);font-weight:600}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem;margin-top:.9rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}.dash-grid{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:.9rem;align-items:start}.dash-grid>.card{margin-top:0}.card h2{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.04em}.hero{font-size:2.6rem;font-weight:700;line-height:1.1;background:linear-gradient(135deg,var(--series-1),var(--series-2));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.hero small{font-size:1rem;font-weight:400}.hero small,.muted{color:var(--text-muted)}.sec{color:var(--text-secondary)}.fila{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem 0;border-top:1px solid var(--grid);font-size:.92rem}.fila:first-of-type{border-top:none}.fila .valor{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.btn-borrar{border:none;background:transparent;color:var(--text-muted);font-size:.85rem;line-height:1;padding:2px 4px;border-radius:6px;cursor:pointer}.btn-borrar:hover{background:color-mix(in srgb,var(--critical) 12%,transparent);color:var(--critical)}.btn-borrar:disabled{opacity:.5;cursor:default}.badge-pr{background:var(--pr);color:#0b0b0b;font-size:.68rem;font-weight:700;padding:1px 6px;vertical-align:middle}.badge-pr,.meter{border-radius:6px}.meter{height:12px;background:var(--meter-track);overflow:hidden;margin:.4rem 0 .2rem}.meter>div{height:100%;background:var(--series-1);border-radius:6px;transition:width .3s ease}.meter--cal{background:var(--accent-cal-track)}.meter--cal>div{background:var(--accent-cal)}.meter--prot{background:var(--accent-prot-track)}.meter--prot>div{background:var(--accent-prot)}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0}.chips a{text-decoration:none;font-size:.8rem;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary)}.chips a[aria-current=true]{background:var(--series-1);border-color:var(--series-1);color:#fff;font-weight:600}.chart-svg{width:100%;height:auto;display:block}.tabla-mini{width:100%;border-collapse:collapse;font-size:.85rem}.tabla-mini th{text-align:left;color:var(--text-muted);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:.3rem .4rem .3rem 0}.tabla-mini td{border-top:1px solid var(--grid);padding:.35rem .4rem .35rem 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.receta-grid{display:grid;grid-gap:.6rem;gap:.6rem;margin-top:.6rem}.receta-card-wrap{position:relative}.receta-acciones{position:absolute;top:.5rem;right:.5rem;z-index:2;display:flex;gap:.35rem}.receta-check{width:26px;height:26px;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);font-size:.85rem;line-height:1;cursor:pointer;display:grid;place-items:center}.receta-check.is-on{background:var(--accent-prot);border-color:var(--accent-prot);color:#fff;font-weight:700}.receta-check--comer.is-on{background:var(--series-1);border-color:var(--series-1)}.receta-check:disabled{opacity:.55;cursor:default}.lista-compras{margin:0;padding-left:1.1rem;font-size:.88rem;display:grid;grid-gap:.3rem;gap:.3rem}.receta-card{display:block;text-decoration:none;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:.75rem 3.7rem .75rem .9rem;transition:transform .15s ease,box-shadow .15s ease}.receta-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}.receta-card .nombre{font-weight:600;font-size:.95rem}.receta-card .meta{color:var(--text-muted);font-size:.8rem;margin-top:.15rem}.lista-pasos li{margin-bottom:.4rem}.densidad-badge{display:inline-block;border-radius:999px;font-size:.68rem;font-weight:700;padding:1px 6px;margin-left:.3rem;vertical-align:middle}.densidad-badge--alta{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.densidad-badge--media{background:color-mix(in srgb,var(--pr) 20%,transparent);color:var(--pr)}.densidad-badge--baja{background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted)}.filtros-recetario{display:grid;grid-gap:.5rem;gap:.5rem}.filtros-recetario .fila-filtros{display:flex;flex-wrap:wrap;gap:.4rem}.filtros-recetario input[type=number],.filtros-recetario input[type=text],.filtros-recetario select{padding:.4rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--page);color:var(--text-primary);font-size:.85rem}.card--reco{background:linear-gradient(160deg,var(--surface-1) 55%,color-mix(in srgb,var(--series-1) 6%,var(--surface-1)))}.reco-item{border-top:1px solid var(--grid);padding:.65rem 0 .6rem .65rem;margin-top:.1rem;border-left:3px solid var(--cat,var(--series-1))}.reco-item:first-of-type{border-top:none;padding-top:.2rem}.reco-item--desayuno{--cat:var(--cat-desayuno)}.reco-item--almuerzo{--cat:var(--cat-almuerzo)}.reco-item--merienda{--cat:var(--cat-merienda)}.reco-item--cena{--cat:var(--cat-cena)}.reco-item-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.reco-chip{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--cat,var(--series-1))}.reco-link{display:block;text-decoration:none;border-radius:8px;margin:0 -.3rem;padding:0 .3rem}.reco-link:hover .reco-nombre{text-decoration:underline}.reco-link:hover{background:var(--page)}.reco-nombre{font-weight:600;font-size:.95rem;margin-top:.3rem}.reco-puntaje{color:var(--pr);font-weight:600;font-size:.85rem}.btn-mini{border:1px solid var(--border);background:var(--page);color:var(--text-secondary);border-radius:999px;font-size:.72rem;padding:.3rem .6rem;cursor:pointer;white-space:nowrap}.btn-mini:hover{border-color:var(--series-1);color:var(--series-1)}.btn-mini:disabled{opacity:.55;cursor:default}.btn-mini--ok{display:inline-block;margin-top:.55rem;border-color:var(--accent-prot);color:var(--accent-prot);font-weight:600}.btn-mini--ok:hover{background:var(--accent-prot);color:#fff}.btn-ver-recetario{display:block;text-align:center;text-decoration:none;margin-top:.9rem;padding:.85rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-1);color:var(--series-1);font-weight:600;font-size:.95rem}.btn-ver-recetario:hover{border-color:var(--series-1)}.reco-total{border-top:1px solid var(--grid);margin-top:.8rem;padding-top:.2rem}@media (min-width:900px){.dash{max-width:1080px;padding:1.75rem 2rem 2rem 216px}.dash-header{padding-top:0}.dash-grid{grid-template-columns:1fr 1fr}.receta-grid{grid-template-columns:repeat(2,1fr)}.dash-nav{top:0;bottom:0;left:0;right:auto;width:184px;flex-direction:column;align-items:stretch;gap:.2rem;padding:1.75rem .7rem;border-top:none;border-right:1px solid var(--border)}.dash-nav,.dash-nav a{justify-content:flex-start}.dash-nav a{flex-direction:row;justify-items:unset;display:flex;align-items:center;gap:.6rem;font-size:.88rem;padding:.55rem .7rem}.dash-nav a .ico{font-size:1.1rem}.dash-nav a[aria-current=page]{background:color-mix(in srgb,var(--series-1) 14%,transparent)}}