:root{--bg: #f7f3ea;--card: #fffdf8;--ink: #1d2620;--muted: #6b7268;--line: #e6dfcf;--green: #1f4d36;--green-2: #2f6b4b;--leaf: #5fa36a;--tomato: #e4572e;--sun: #f2b134;--merca: #00965e;--radius: 18px;--shadow: 0 1px 0 rgba(31, 77, 54, .04), 0 6px 18px -10px rgba(31, 77, 54, .25);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0;background:var(--bg)}body{min-height:100vh;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;font-size:16px;color:var(--ink)}h1,h2,h3,h4{font-family:ui-rounded,SF Pro Rounded,-apple-system,Segoe UI,sans-serif;letter-spacing:-.01em}.app{max-width:640px;margin:0 auto;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + var(--safe-t)) 18px 10px;background:#f7f3eaeb;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:20px;color:var(--green);font-family:ui-rounded,-apple-system,sans-serif}.brand img{width:30px;height:30px}.hello{color:var(--muted);font-size:14px;background:none;border:0;padding:6px 0}.hello u{color:var(--green-2);font-weight:700;text-decoration:none}.content{padding:14px 14px calc(96px + var(--safe-b))}.page{display:flex;flex-direction:column;gap:12px}.page-title{margin:10px 4px 0;font-size:22px;color:var(--green)}.lead{margin:0 4px;color:var(--muted);line-height:1.45}.mt{margin-top:12px}.mt-lg{margin-top:28px}.center{text-align:center}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);max-width:640px;margin:0 auto;background:#fffdf8f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 6px calc(6px + var(--safe-b))}.tabbar button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);padding:6px 0;border-radius:12px}.tabbar .ti{font-size:21px;filter:grayscale(1);opacity:.7}.tabbar button.on{color:var(--green);font-weight:700}.tabbar button.on .ti{filter:none;opacity:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.label{font-weight:700;font-size:15px}.hint{color:var(--muted);font-size:13px;line-height:1.4;margin:4px 0 0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.banner{background:#eaf3e6;border:1px solid #cfe3c8;color:#24452f;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45}.banner p{margin:2px 0}.banner.warn{background:#fff4e0;border-color:#f3dcae;color:#6b4a07}.error{color:#b3261e;font-size:14px;margin:4px 0 8px}.pill{background:#eef2ea;color:var(--green);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;white-space:nowrap}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:13px 18px;border-radius:14px;font-weight:700;font-size:15px;transition:transform .08s ease,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55}.btn.small{padding:8px 12px;font-size:14px;border-radius:11px}.btn.block{width:100%}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.accent{background:linear-gradient(135deg,#f2b134,#e4572e);border:0;color:#fff}.btn.mercadona{background:var(--merca);border-color:var(--merca);color:#fff;font-size:16px;padding:15px}.icon-btn{border:0;background:#efe9dc;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1}.link{background:none;border:0;padding:0;color:var(--green-2);text-decoration:underline;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-size:14px;font-weight:600;color:#3c463e}.chip.on{background:var(--green);border-color:var(--green);color:#fff}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.day{aspect-ratio:1;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-weight:800;color:var(--muted)}.day.on{background:var(--green);border-color:var(--green);color:#fff}.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;margin-bottom:12px}.field input,.tag-row input,.money-input input{border:1.5px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;width:100%;outline:none}.field input:focus,.tag-row input:focus,.money-input input:focus{border-color:var(--green-2)}.money-input{display:flex;align-items:center;gap:6px;font-weight:800;font-size:20px;color:var(--green)}.money-input input{width:96px;text-align:right;font-weight:800;font-size:20px;color:var(--green);padding:8px 10px}input[type=range]{width:100%;margin-top:12px;accent-color:var(--green)}.stepper{display:flex;align-items:center;gap:4px;background:#f1ece0;border-radius:12px;padding:4px}.stepper button{width:38px;height:38px;border:0;background:#fff;border-radius:9px;font-size:20px;font-weight:700;color:var(--green)}.stepper span{min-width:34px;text-align:center;font-weight:800;font-size:17px}.tags{margin-top:10px}.tag-row{display:flex;gap:8px}.tag-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}.tag-list li{display:flex;align-items:center;gap:6px;background:#f1ece0;border-radius:999px;padding:5px 6px 5px 12px;font-size:14px;font-weight:600}.tag-list .x{border:0;background:#fff;width:24px;height:24px;border-radius:50%;font-size:16px;line-height:1}.tag-list .qty{display:inline-flex;align-items:center;gap:4px;background:#fff;border-radius:999px;padding:0 4px;font-weight:800}.tag-list .qty button{border:0;background:none;font-weight:800;color:var(--green);padding:2px 5px}.actions-sticky{position:sticky;bottom:calc(76px + var(--safe-b));z-index:5;display:grid;grid-template-columns:1fr 2fr;gap:8px;padding:10px;margin:4px -4px 0;background:#f7f3eaf2;border-radius:18px;border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.seg{display:grid;grid-template-columns:1fr 1fr;background:#ece6d8;border-radius:13px;padding:4px;margin-bottom:14px}.seg button{border:0;background:none;border-radius:10px;padding:10px;font-weight:700;color:var(--muted)}.seg button.on{background:#fff;color:var(--green);box-shadow:0 1px 4px #00000014}.auth{max-width:460px;margin:0 auto;padding:calc(40px + var(--safe-t)) 18px 40px}.auth-hero{text-align:center;margin-bottom:22px}.auth-logo{width:84px;height:84px;filter:drop-shadow(0 8px 16px rgba(31,77,54,.25))}.auth-hero h1{font-size:38px;margin:10px 0 6px;color:var(--green)}.auth-hero p{color:var(--muted);line-height:1.5;margin:0 12px}.auth-card{padding:18px}.budget-card .big{font-size:26px;font-weight:800;color:var(--green);font-family:ui-rounded,-apple-system,sans-serif}.budget-card .big small{font-size:14px;color:var(--muted);font-weight:600}.bar{height:10px;background:#ece6d8;border-radius:99px;overflow:hidden;margin:12px 0 6px}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--leaf),var(--green-2));border-radius:99px;transition:width .4s}.bar.over span{background:linear-gradient(90deg,var(--sun),var(--tomato))}.day-scroller{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 2px;scrollbar-width:none}.day-scroller::-webkit-scrollbar{display:none}.day-pill{flex:0 0 auto;min-width:58px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:9px 10px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:1px;color:#3c463e}.day-pill i{font-style:normal;font-size:10px;font-weight:700;color:var(--tomato)}.day-pill.on{background:var(--green);color:#fff;border-color:var(--green)}.day-pill.on i{color:#ffd3c4}.meals{display:flex;flex-direction:column;gap:10px}.meal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.meal.locked{border-color:var(--sun);box-shadow:0 0 0 2px #f2b13440}.meal-kind{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tomato);padding:12px 16px 0}.meal-main{display:block;width:100%;text-align:left;background:none;border:0;padding:4px 16px 12px}.meal-main h3{margin:2px 0 8px;font-size:18px;line-height:1.25}.meta{display:flex;flex-wrap:wrap;gap:6px}.meta span{background:#f1ece0;color:#4a5249;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:600}.meta .ai{background:#fde9c7;color:#8a5a00}.big-meta span{font-size:13px;padding:5px 9px}.meal-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.meal-actions button{background:none;border:0;padding:11px;font-size:14px;font-weight:700;color:var(--green-2)}.meal-actions button+button{border-left:1px solid var(--line)}.meal-actions button.on{color:#a06b00;background:#fff6e2}.regen{display:flex;flex-direction:column;gap:8px;margin-top:8px}.empty{text-align:center;align-items:center;padding:40px 14px}.empty-art{font-size:64px}.empty h2{margin:6px 0 0;color:var(--green)}.empty p{color:var(--muted);max-width:320px;line-height:1.5}.recipe h4{margin:18px 0 8px;font-size:16px;color:var(--green)}.ing-list{list-style:none;padding:0;margin:0}.ing-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:15px}.ing-list em{color:var(--muted);font-size:12px}.steps{padding-left:22px;margin:0}.steps li{margin-bottom:10px;line-height:1.5;font-size:15px}.aisle h3{margin:10px 4px 8px;font-size:15px;color:var(--green);text-transform:uppercase;letter-spacing:.04em}.aisle h3 small{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:500}.aisle ul{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.aisle li{display:flex;align-items:center;border-bottom:1px solid var(--line)}.aisle li:last-child{border-bottom:0}.aisle li.have{opacity:.5}.aisle li.have .item-name{text-decoration:line-through}.check{flex:0 0 auto;width:30px;height:30px;margin-left:12px;border-radius:9px;border:2px solid #cfc6b2;background:#fff;color:#fff;font-weight:900}.have .check{background:var(--leaf);border-color:var(--leaf)}.item{flex:1;display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 12px;text-align:left;min-width:0}.item img,.results img,.noimg{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#f1ece0;flex:0 0 auto}.noimg{display:grid;place-items:center;font-size:20px}.item-text{flex:1;min-width:0}.item-name{font-weight:700;font-size:14px;line-height:1.25}.item-sub{color:var(--muted);font-size:12px;margin-top:2px}.warn-txt{color:var(--tomato);font-weight:700}.item-price{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;color:var(--muted)}.item-price b{color:var(--ink);font-size:15px}.cart-bar{position:sticky;bottom:calc(76px + var(--safe-b));z-index:5;background:#f7f3eaf5;border:1px solid var(--line);border-radius:18px;padding:10px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin-top:6px}.cart-links{display:flex;justify-content:space-around;margin-top:6px}.cart-links button{background:none;border:0;color:var(--green-2);font-weight:700;font-size:13px;padding:6px}.results{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.results button{width:100%;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:8px 10px;text-align:left}.results button.on{border-color:var(--merca);background:#eef8f2}.guide{counter-reset:g;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.guide>li{counter-increment:g;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 14px 54px;line-height:1.5;font-size:15px;box-shadow:var(--shadow)}.guide>li:before{content:counter(g);position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;display:grid;place-items:center;font-size:14px}.kbd{background:#efe9dc;border-radius:6px;padding:1px 6px;font-weight:700;white-space:nowrap}.bookmarklet{display:inline-block;background:var(--merca);color:#fff;text-decoration:none;padding:12px 18px;border-radius:12px;font-weight:800;cursor:grab}.code{width:100%;margin-top:10px;font-family:ui-monospace,Menlo,monospace;font-size:12px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fbf8f1}details summary{font-weight:700;cursor:pointer}.faq{padding-left:18px;margin:10px 0 0;color:#3c463e;line-height:1.5;font-size:14px}.faq li{margin-bottom:6px}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#141e1873;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.sheet{width:100%;max-width:640px;max-height:88vh;background:var(--card);border-radius:22px 22px 0 0;display:flex;flex-direction:column;animation:up .25s cubic-bezier(.2,.9,.3,1);padding-bottom:var(--safe-b)}.sheet-handle{width:40px;height:5px;border-radius:9px;background:#d9d1bf;margin:8px auto 0}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 18px 6px}.sheet-head h3{margin:4px 0;font-size:19px;line-height:1.25;color:var(--green)}.sheet-body{overflow-y:auto;padding:4px 18px 20px;-webkit-overflow-scrolling:touch}.sheet-foot{padding:10px 18px;border-top:1px solid var(--line)}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(40px);opacity:.4}}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 0;color:var(--muted)}.spinner{width:34px;height:34px;border-radius:50%;border:4px solid #e2dccd;border-top-color:var(--green);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.screen-center{min-height:100vh;display:grid;place-items:center}.toast{position:fixed;left:50%;bottom:calc(92px + var(--safe-b));transform:translate(-50%);z-index:60;background:#1d2620;color:#fff;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:600;max-width:calc(100% - 32px);box-shadow:0 10px 30px #00000040;animation:fade .2s}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 2px 0}.plan-name{background:none;border:0;padding:4px 0;text-align:left;font-family:ui-rounded,-apple-system,sans-serif;font-size:20px;font-weight:800;color:var(--green);min-width:0}.plan-name span{overflow-wrap:anywhere}.plan-name i{font-style:normal;font-size:14px;opacity:.7}.history{display:flex;flex-direction:column;gap:10px}.hist{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.hist.current{border-color:var(--leaf);box-shadow:0 0 0 2px #5fa36a33}.hist-main{display:block;width:100%;text-align:left;background:none;border:0;padding:14px 16px 12px}.hist-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hist-top h3{margin:0;font-size:17px}.badge{background:var(--leaf);color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:99px;white-space:nowrap}.hist-preview{margin:8px 0 0;font-size:13px;color:#4a5249;line-height:1.4}.meal-actions.three{grid-template-columns:1fr 1fr 1fr}.week-day h4{margin:14px 0 6px;color:var(--green)}.week-day ul{list-style:none;padding:0;margin:0}.week-day li{display:flex;flex-direction:column;gap:1px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}.wk-meal{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tomato)}.sheet-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}.tabbar button{font-size:10.5px}.consents{display:flex;flex-direction:column;gap:12px;margin:6px 0 14px}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;font-weight:500}.check-row input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--green)}.check-row a{color:var(--green-2);font-weight:700}.check-row em{color:var(--muted);font-style:normal;font-size:13px}.consent-box{background:#fff6e2;border:1px solid #f3dcae;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45}.consent-box p{margin:0 0 10px}.consent-box a,.consent-ok .link{color:var(--green-2);font-weight:700}.consent-ok{margin:0}.chip:disabled{opacity:.55}.legal-links{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}.legal-links a{color:var(--green-2);font-weight:600}.auth>.legal-links{justify-content:center;margin-top:18px}.auth>.legal-links a{color:var(--muted);font-weight:500}.btn.block.mt{margin-top:8px}.card-alert{border-color:var(--sun);box-shadow:0 0 0 2px #f2b13440}.banner-btn{display:block;width:100%;text-align:left;margin-bottom:12px;cursor:pointer;font:inherit;font-size:14px}.zone-list{margin:6px 0 10px;padding-left:18px;font-size:13px;color:var(--muted)}.field .hint{font-weight:400}
