:root{--bg:#14110f;--bg-glow:#2e2119;--bg-elevated:#1d1916;--bg-card:#241f1b;--bg-header:#14110fe6;--bg-bar:#1d1916f2;--bg-fixed:#14110ff7;--bg-row-hover:#ffffff05;--bg-stripe:#ffffff08;--media-bg:linear-gradient(140deg, #33271f, #1c1714);--skeleton-base:#2a241f;--skeleton-shine:#352d26;--border:#3a322b;--border-strong:#55483d;--text:#f6f0ea;--text-soft:#e9e0d7;--text-muted:#ab9f94;--accent:#f08a4b;--accent-strong:#f7a06a;--accent-soft:#f08a4b26;--accent-border:#f08a4b59;--on-accent:#1f0f05;--on-accent-muted:#3d2210;--info-text:#ffcfae;--danger:#ea6d62;--danger-soft:#e2574c1f;--danger-border:#e2574c59;--danger-text:#ffb0a9;--on-danger:#1f0f05;--success:#4caf7d;--success-soft:#4caf7d1f;--success-border:#4caf7d59;--success-text:#9fe2c0;--focus-ring:var(--accent);--brand-whatsapp:#25d366;--brand-whatsapp-hover:#3ee07b;--brand-whatsapp-text:#08210f;--brand-telegram:#2aabee;--brand-telegram-hover:#4cbaf2;--brand-telegram-text:#04202e;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--fs-3xs:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:22px;--icon-md:30px;--icon-lg:44px;--icon-xl:84px;--lh-body:1.6;--lh-relaxed:1.75;--space-half:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--radius-xs:8px;--radius-sm:10px;--radius:14px;--radius-pill:999px;--shadow-sm:0 2px 10px #00000047;--shadow:0 10px 30px #00000073;--dur-instant:.1s;--dur-fast:.15s;--dur:.2s;--ease:cubic-bezier(.2, .8, .2, 1);--ad-height:90px;--nav-height:64px;--bottom-nav-height:0px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-sans)}:root[data-theme=light]{--bg:#faf6f1;--bg-glow:#fde8d6;--bg-elevated:#fff;--bg-card:#fff;--bg-header:#faf6f1e6;--bg-bar:#fffffff5;--bg-fixed:#faf6f1f7;--bg-row-hover:#00000008;--bg-stripe:#0000000a;--media-bg:linear-gradient(140deg, #f3e3d4, #e8d3c0);--skeleton-base:#eee4da;--skeleton-shine:#f8f2ec;--border:#e6d9cc;--border-strong:#cdbba9;--text:#2a211b;--text-soft:#3b3029;--text-muted:#6b5e53;--accent:#ad4911;--accent-strong:#923c0c;--accent-soft:#ad49111a;--accent-border:#ad491159;--on-accent:#fff;--on-accent-muted:#fff1e6;--info-text:#8a3a0c;--danger:#b93224;--danger-soft:#b9322414;--danger-border:#b932244d;--danger-text:#9e2618;--on-danger:#fff;--success:#23794a;--success-soft:#23794a17;--success-border:#23794a4d;--success-text:#1b6139;--shadow-sm:0 1px 2px #3c28140f, 0 4px 14px #3c281412;--shadow:0 12px 32px #3c281429;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:radial-gradient(1200px 600px at 20% -10%, var(--bg-glow) 0%, var(--bg) 55%);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3{margin:0 0 var(--space-3);letter-spacing:-.01em}:where(a,button,select,summary,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.section-title{font-size:var(--fs-xl)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.link-accent{color:var(--accent);font-weight:600}.link-accent:hover{text-decoration:underline}.actions-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.w-full{width:100%}.m-0{margin:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-7{margin-top:var(--space-7)}.mb-0{margin-bottom:0}.mb-8{margin-bottom:var(--space-8)}.app-shell{min-height:100vh;padding-bottom:calc(var(--ad-height) + var(--bottom-nav-height));flex-direction:column;display:flex}.app-header{z-index:40;height:var(--nav-height);align-items:center;gap:var(--space-6);padding:0 var(--space-6);background:var(--bg-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);font-size:var(--fs-2xl);white-space:nowrap;font-weight:700;display:flex}.brand span.accent{color:var(--accent)}.main-nav{gap:var(--space-1);flex:1;display:flex;overflow-x:auto}.main-nav a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-md);white-space:nowrap;transition:background var(--dur-fast), color var(--dur-fast);font-weight:600}.main-nav a:hover{color:var(--text);background:var(--bg-elevated)}.main-nav a.active{color:var(--accent);background:var(--accent-soft)}.header-actions{align-items:center;gap:var(--space-3);white-space:nowrap;display:flex}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:34px;height:30px;font-size:var(--fs-lg);transition:border-color var(--dur-fast) var(--ease), transform var(--dur) var(--ease);justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.theme-toggle:hover{border-color:var(--border-strong);transform:rotate(-12deg)}.lang-switch{padding:var(--space-half);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);display:inline-flex}.lang-switch button{padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);color:var(--text-muted);font:inherit;font-size:var(--fs-xs);letter-spacing:.04em;cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:none;font-weight:700}.lang-switch button:hover{color:var(--text)}.lang-switch button.active{background:var(--accent-soft);color:var(--accent)}.app-main{width:100%;max-width:1180px;padding:var(--space-7) var(--space-6) var(--space-12);flex:1;margin:0 auto}.app-footer{border-top:1px solid var(--border);padding:var(--space-5) var(--space-6);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-size:var(--fs-md);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-instant) var(--ease);font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--focus-ring);outline:none}.btn:hover:not(:disabled){background:var(--bg-card);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 4px 14px var(--accent-soft)}.btn-danger{color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}.btn-lg{padding:var(--space-3) var(--space-7);font-size:var(--fs-lg)}.input,.select,.textarea{width:100%;padding:var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-family:inherit}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder,.textarea::placeholder{color:var(--text-muted);opacity:.85}.textarea{resize:vertical;min-height:140px;line-height:var(--lh-body)}.field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.field .hint{font-size:var(--fs-xs);color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-5)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-md);margin-bottom:var(--space-4)}.alert-error{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.alert-success{background:var(--success-soft);border:1px solid var(--success-border);color:var(--success-text)}.badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border);font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-weight:700;display:inline-block}.badge-accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.badge-success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.muted{color:var(--text-muted)}.badge-muted{color:var(--text-muted);text-transform:none;letter-spacing:0;background:0 0;border-style:dashed;font-weight:600}.toast-region{top:calc(var(--nav-height) + var(--space-3));right:var(--space-4);z-index:60;gap:var(--space-2);width:min(380px, calc(100vw - var(--space-8)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:var(--fs-md);box-shadow:var(--shadow);pointer-events:auto;animation:toast-in var(--dur) var(--ease);border-left-width:4px;display:flex}.toast.leaving{animation:toast-out var(--dur) var(--ease) forwards}.toast-success{border-left-color:var(--success)}.toast-info{border-left-color:var(--accent)}.toast-error{border-left-color:var(--danger)}.toast-icon{width:22px;height:22px;font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.toast-success .toast-icon{background:var(--success-soft);color:var(--success)}.toast-info .toast-icon{background:var(--accent-soft);color:var(--accent)}.toast-error .toast-icon{background:var(--danger-soft);color:var(--danger-text)}.toast-text{flex:1;min-width:0}.toast-action{color:var(--accent);white-space:nowrap;flex-shrink:0;font-weight:700}.toast-action:hover{text-decoration:underline}.toast-close{padding:0 var(--space-1);color:var(--text-muted);font-size:var(--fs-xl);background:0 0;border:none;flex-shrink:0;line-height:1}.toast-close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(16px)}}.confirm-dialog{width:min(420px, calc(100vw - var(--space-8)));border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);box-shadow:var(--shadow);padding:0}.confirm-dialog[open]{animation:toast-in var(--dur) var(--ease)}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.confirm-body{padding:var(--space-6)}.confirm-body h2{font-size:var(--fs-xl)}.confirm-actions{margin-top:var(--space-5);justify-content:flex-end}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.08)}.offline-banner{top:var(--nav-height);z-index:35;padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border);color:var(--text);font-size:var(--fs-sm);text-align:center;position:sticky}.install-banner{left:50%;bottom:calc(var(--ad-height) + var(--bottom-nav-height) + var(--space-3));z-index:50;width:min(480px, calc(100vw - var(--space-6)));align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);animation:toast-in var(--dur) var(--ease);display:flex;position:fixed;transform:translate(-50%)}.install-banner img{border-radius:var(--radius-xs);flex-shrink:0}.install-text{flex-direction:column;flex:1;min-width:0;display:flex}.filter-bar{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.chip{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-muted);font-size:var(--fs-md);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-instant) var(--ease);font-weight:600}.chip:focus-visible,.ingredient-chip:focus-visible{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--focus-ring);outline:none}.chip:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.chip.selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip .count{min-width:3ch;margin-left:var(--space-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:left;display:inline-block}.chip:disabled{opacity:.45;cursor:default}.chip.selected .count{color:var(--on-accent-muted)}.card-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.recipe-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;display:flex;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-shine) 45%, var(--skeleton-base) 65%);border-radius:var(--radius-xs);background-size:200% 100%;animation:1.3s ease-in-out infinite skeleton-shimmer}.skeleton-line{height:14px}.skeleton-line-long{width:80%}.skeleton-line-short{width:50%}.skeleton-line-full{width:100%}.skeleton-line+.skeleton-line{margin-top:var(--space-2)}.skeleton-title{width:140px;height:12px;margin-bottom:var(--space-3)}.skeleton-heading{width:70%;height:28px;margin-bottom:var(--space-3)}.skeleton-chip{border-radius:var(--radius-pill);height:34px}.skeleton-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.shopping-items .skeleton-row{padding:var(--space-3)}.skeleton-row:last-child{border-bottom:none}.skeleton-card{pointer-events:none}.skeleton-card .body{min-height:74px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.recipe-card:hover,.recipe-card:focus-visible{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-4px)}.recipe-card .thumb{aspect-ratio:4/3;background:var(--media-bg);font-size:var(--icon-lg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.fit-badge{top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:700;line-height:1.2;position:absolute}.fit-full{color:#fff;background:#1f6b40}.fit-near{color:#fff;background:#9c430f}.fit-far{color:#f6f0ea;background:#14110fd1}.recipe-card .thumb img{object-fit:cover;width:100%;height:100%}.recipe-card .body{padding:var(--space-4) var(--space-4) var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.recipe-card .body h2{font-size:var(--fs-lg);margin:0}.recipe-card .meta{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.recipe-card-wrap{display:flex;position:relative}.recipe-card-wrap>.recipe-card{flex:1}.fav-icon{top:var(--space-2);right:var(--space-2);z-index:2;color:#fff;width:36px;height:36px;font-size:var(--fs-xl);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm);transition:transform var(--dur-instant) var(--ease), background var(--dur-fast) var(--ease);background:#14110fb8;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:absolute}.fav-icon:hover{transform:scale(1.08)}.fav-icon:active{transform:scale(.92)}.fav-icon.active{color:#ff6b6b}.fav-active{border-color:var(--danger-border);color:var(--danger-text)}.plan-picker{cursor:pointer;position:relative}.plan-picker select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.plan-picker:focus-within{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--focus-ring)}.plan-active{border-color:var(--success-border);color:var(--success-text)}.ingredient-head{align-items:center}.ingredient-title{align-items:center;gap:var(--space-4);display:flex}.ingredient-title .ingredient-thumb{width:56px;height:56px}.prerender-list{columns:2 280px;column-gap:var(--space-8);padding-left:var(--space-5);line-height:2}.plan-day+.plan-day{margin-top:var(--space-5)}.plan-day h3{margin-bottom:var(--space-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.plan-row.cooked .plan-name{color:var(--text-muted);text-decoration:line-through}.plan-row.cooked .thumb{opacity:.6}.plan-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.select-sm{width:auto;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm)}.plan-check{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer;display:inline-flex}.plan-check input{width:18px;height:18px;accent-color:var(--accent)}.plan-link{align-items:center;gap:var(--space-4);font-size:var(--fs-xl);transition:border-color var(--dur-fast) var(--ease), transform var(--dur) var(--ease);display:flex}.plan-link>span:nth-child(2){font-size:var(--fs-md);flex-direction:column;flex:1;display:flex}.plan-link:hover{border-color:var(--accent-border);transform:translateY(-2px)}.detail-grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;display:grid}.detail-hero{aspect-ratio:4/3;border-radius:var(--radius);background:var(--media-bg);font-size:var(--icon-xl);border:1px solid var(--border);justify-content:center;align-items:center;display:flex;overflow:hidden}.detail-hero img{object-fit:cover;width:100%;height:100%}.ingredient-list{gap:var(--space-half);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ingredient-list li{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);font-size:var(--fs-base);display:flex}.ingredient-list li:last-child{border-bottom:none}.ingredient-list .ingredient-name{align-items:center;gap:var(--space-3);display:flex}.ingredient-thumb{object-fit:contain;flex-shrink:0;width:26px;height:26px}.instructions{white-space:pre-line;line-height:var(--lh-relaxed);font-size:var(--fs-base);color:var(--text-soft)}.kitchen-category{margin-bottom:var(--space-7)}.kitchen-category h2{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-3)}.chip-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.ingredient-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-muted);font-size:var(--fs-md);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-instant) var(--ease);display:inline-flex}.ingredient-chip:hover{border-color:var(--border-strong);color:var(--text)}.ingredient-chip:active,.chip:active:not(:disabled){transform:scale(.97)}.ingredient-chip.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.selected-tray{top:var(--nav-height);z-index:20;margin:0 calc(-1 * var(--space-2)) var(--space-5);padding:var(--space-3) var(--space-2);background:var(--bg-fixed);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky}.selected-tray-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.selected-tray-head h2{font-size:var(--fs-md);align-items:center;gap:var(--space-2);margin:0;display:flex}.selected-tray-list{gap:var(--space-2);flex-wrap:wrap;max-height:92px;display:flex;overflow-y:auto}.selected-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);white-space:nowrap;animation:chip-in var(--dur) var(--ease);transition:background var(--dur-fast) var(--ease), transform var(--dur-instant) var(--ease);font-weight:600;display:inline-flex}.selected-chip span{font-size:var(--fs-lg);opacity:.8;line-height:1}.selected-chip:hover{background:var(--accent-border)}.selected-chip:active{transform:scale(.95)}@keyframes chip-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.quick-picks{margin-bottom:var(--space-6)}.sticky-action-bar{bottom:calc(var(--ad-height) + var(--bottom-nav-height) + 12px);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-top:var(--space-6);background:var(--bg-bar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;display:flex;position:sticky}.match-row{box-shadow:var(--shadow-sm);gap:var(--space-4);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);align-items:center;display:flex}.match-row .thumb{border-radius:var(--radius-sm);background:var(--media-bg);width:84px;height:84px;font-size:var(--icon-md);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.match-row .thumb img{object-fit:cover;width:100%;height:100%}.match-row .info{flex:1;min-width:0}.progress{border-radius:var(--radius-pill);background:var(--bg-elevated);height:6px;margin-top:var(--space-2);overflow:hidden}.progress>div{background:var(--accent);border-radius:var(--radius-pill);height:100%}.missing-tags{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.missing-tag{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text);font-size:var(--fs-xs)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-md);min-width:720px}table.data-table th,table.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border)}table.data-table th{background:var(--bg-elevated);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);position:sticky;top:0}table.data-table tbody tr:hover{background:var(--bg-row-hover)}table.data-table tbody tr:last-child td{border-bottom:none}.table-thumb{border-radius:var(--radius-xs);object-fit:cover;background:var(--bg-elevated);width:46px;height:46px}.row-actions{gap:var(--space-2);display:flex}.ingredient-row{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;align-items:center;display:grid}.bottom-strip{width:100%;min-height:var(--ad-height);justify-content:center;align-items:center;display:flex;overflow:hidden}.bottom-strip-fixed{left:0;right:0;bottom:var(--bottom-nav-height);z-index:30;background:var(--bg-fixed);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);position:fixed}.bottom-strip-placeholder{width:min(728px,100% - 24px);height:calc(var(--ad-height) - 20px);color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;border:1px dashed var(--border);border-radius:var(--radius-xs);background:repeating-linear-gradient(45deg, var(--bg-stripe), var(--bg-stripe) 10px, transparent 10px, transparent 20px);justify-content:center;align-items:center;display:flex}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-head p{color:var(--text-muted);font-size:var(--fs-md);margin:0}.empty-state{text-align:center;padding:var(--space-14) var(--space-6);color:var(--text-muted)}.empty-state .actions-row{justify-content:center}.empty-state .icon{font-size:var(--icon-lg);margin-bottom:var(--space-3)}.auth-title{font-size:var(--fs-3xl)}.auth-page{max-width:400px;margin:var(--space-12) auto}.search-row{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.select-auto{width:auto;min-width:180px}.search-row .input{flex:1;min-width:220px}.pagination{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-7);display:flex}@media (width<=860px){.detail-grid{grid-template-columns:1fr}.ingredient-row{grid-template-columns:1fr auto}.ingredient-row .input:nth-child(2){grid-column:1/2}.shopping-layout{grid-template-columns:1fr}.share-card{position:static}.hide-sm{display:none}.add-form{grid-template-columns:1fr}.app-header{gap:var(--space-3);padding:0 var(--space-4);justify-content:space-between}.app-main{padding:var(--space-5) var(--space-4) var(--space-10)}:root{--bottom-nav-height:calc(60px + env(safe-area-inset-bottom,0px));--ad-height:60px}.main-nav{display:none}.card-grid{grid-template-columns:1fr}.selected-tray-list{max-height:none;padding-bottom:var(--space-1);scrollbar-width:thin;flex-wrap:nowrap;overflow:auto hidden}}.bottom-nav{z-index:45;height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0);background:var(--bg-fixed);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;color:var(--text-muted);font-size:var(--fs-2xs);transition:color var(--dur-fast);flex-direction:column;flex:1;font-weight:600;display:flex}.bottom-nav a.active{color:var(--accent)}.bottom-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:var(--radius-sm)}.bottom-nav-icon{font-size:var(--fs-2xl);line-height:1;position:relative}.bottom-nav-icon .nav-count{font-size:var(--fs-3xs);margin:0;position:absolute;top:-6px;left:14px}.bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 var(--space-half);overflow:hidden}@media (width<=480px){.app-header{gap:var(--space-2);padding:0 var(--space-3)}.brand{gap:var(--space-1);font-size:var(--fs-lg)}.header-actions{gap:var(--space-1)}.header-actions .btn-sm,.lang-switch button{padding:var(--space-1) var(--space-2)}}@media (width<=860px){.bottom-nav{display:flex}}.nav-count{min-width:20px;margin-left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs);text-align:center;font-weight:800;display:inline-block}.alert-info{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--info-text)}.meta-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.field-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.input-invalid{border-color:var(--danger)}.icon-btn{color:var(--text-muted);border-radius:var(--radius-xs);padding:var(--space-1) var(--space-2);font-size:var(--fs-md);background:0 0;border:1px solid #0000;line-height:1}.icon-btn:hover{border-color:var(--border);background:var(--bg-elevated);color:var(--text)}.ingredient-list li.owned .ingredient-status{color:var(--success)}.ingredient-list li.missing .ingredient-status{color:var(--danger-text)}.ingredient-status{font-size:var(--fs-xs);color:var(--text-muted)}.ingredient-measure{align-items:center;gap:var(--space-2);text-align:right;display:flex}.steps{counter-reset:adim;gap:var(--space-4);line-height:var(--lh-relaxed);font-size:var(--fs-lg);color:var(--text-soft);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:adim;padding-left:var(--space-12);position:relative}.steps li:before{content:counter(adim);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);font-size:var(--fs-md);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;top:0;left:0}.cooking-mode{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);border:none;flex-direction:column;margin:0;padding:0;display:none}.cooking-mode[open]{display:flex}.cooking-mode::backdrop{background:var(--bg)}.cooking-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);display:flex}.cooking-title{flex-direction:column;min-width:0;display:flex}.cooking-title .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cooking-progress{background:var(--bg-elevated);height:4px}.cooking-progress>div{background:var(--accent);height:100%;transition:width var(--dur) var(--ease)}.cooking-ingredients{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg-elevated);max-height:34vh;font-size:var(--fs-lg);margin:0;list-style:none;overflow-y:auto}.cooking-ingredients li{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;display:flex}.cooking-step{justify-content:center;align-items:center;gap:var(--space-5);padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex;overflow-y:auto}.cooking-step-number{background:var(--accent);width:56px;height:56px;color:var(--on-accent);font-size:var(--fs-3xl);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.cooking-step p{max-width:34ch;animation:chip-in var(--dur) var(--ease);margin:0;font-size:clamp(22px,4.2vw,34px);line-height:1.5}.cooking-note{padding:0 var(--space-5) var(--space-2);text-align:center;margin:0}.cooking-nav{gap:var(--space-3);padding:var(--space-4) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.cooking-nav .btn{min-height:56px}.shopping-layout{gap:var(--space-6);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;display:grid}.add-form{gap:var(--space-2);padding:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) 160px auto;display:grid}.autocomplete{position:relative}.autocomplete-list{z-index:20;padding:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);max-height:320px;margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.autocomplete-list button{justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);color:var(--text);font-size:var(--fs-md);text-align:left;background:0 0;border:none;display:flex}.autocomplete-list button:hover{background:var(--accent-soft)}.autocomplete-list .muted{font-size:var(--fs-xs)}.shopping-group{margin-bottom:var(--space-6)}.shopping-group h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-2)}.shopping-items{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.shopping-items li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border);display:flex}.shopping-items li:last-child{border-bottom:none}.shopping-items .check{align-items:center;gap:var(--space-3);cursor:pointer;flex:1;min-width:0;display:flex}.shopping-items input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.item-recipe{font-size:var(--fs-xs);color:var(--text-muted);display:block}.shopping-items li.done .item-name{color:var(--text-muted);text-decoration:line-through}.shopping-group.bought{opacity:.85}.share-card{top:calc(var(--nav-height) + 16px);position:sticky}.share-preview{margin:0 0 var(--space-4);padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:280px;font-family:inherit;font-size:var(--fs-sm);line-height:var(--lh-body);white-space:pre-wrap;color:var(--text-muted);overflow:auto}.share-buttons{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.share-whatsapp{background:var(--brand-whatsapp);border-color:var(--brand-whatsapp);color:var(--brand-whatsapp-text)}.share-whatsapp:hover:not(:disabled){background:var(--brand-whatsapp-hover);border-color:var(--brand-whatsapp-hover)}.share-telegram{background:var(--brand-telegram);border-color:var(--brand-telegram);color:var(--brand-telegram-text)}.share-telegram:hover:not(:disabled){background:var(--brand-telegram-hover);border-color:var(--brand-telegram-hover)}
