:root{color:#1c1917;background:#fff7ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}input,select{background:#fff;border:1px solid #e7e5e4;border-radius:16px;outline:none;width:100%;padding:13px 14px;font-size:16px}input:focus,select:focus{border-color:#fb923c;box-shadow:0 0 0 4px #fed7aa}.loading{place-items:center;min-height:100vh;font-weight:900;display:grid}.login-page{background:linear-gradient(135deg,#ffedd5,#fafaf9,#d1fae5);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:#ffffffe6;border:1px solid #fffc;border-radius:32px;width:100%;max-width:420px;padding:24px;box-shadow:0 24px 70px #78350f26}.login-card h1{margin:12px 0 4px;font-size:38px;line-height:1}.login-card p{color:#78716c;margin:0 0 18px}.login-card button{color:#fff;background:#f97316;border-radius:16px;width:100%;margin-top:12px;padding:14px;font-weight:950}.error{color:#b91c1c;background:#fef2f2;border-radius:14px;margin-top:10px;padding:10px 12px;font-size:14px;font-weight:800}.app-shell{background:linear-gradient(135deg,#ffedd5,#fafaf9,#d1fae5);min-height:100vh;padding:12px}.hero{background:#ffffffe0;border:1px solid #fffc;border-radius:30px;max-width:1160px;margin:0 auto 16px;padding:18px;box-shadow:0 16px 50px #78350f1f}.brand-pill{color:#9a3412;background:#ffedd5;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:14px;font-weight:900;display:inline-flex}.hero h1{letter-spacing:-.04em;margin:12px 0 4px;font-size:clamp(34px,7vw,56px);line-height:.95}.hero p{color:#78716c;margin:0}.hero-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.sync{color:#166534;background:#dcfce7;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.sync.saving{color:#92400e;background:#fef3c7}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.stat{color:#fff;text-align:center;background:#1c1917;border-radius:20px;padding:12px}.stat strong{font-size:24px;display:block}.stat span{color:#d6d3d1;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:900}.layout{gap:16px;max-width:1160px;margin:0 auto;display:grid}.stack{align-content:start;gap:16px;display:grid}.card{background:#ffffffe6;border:1px solid #fffc;border-radius:28px;padding:14px;box-shadow:0 12px 36px #78350f1a}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card h2{align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.btn{color:#44403c;background:#fff;border:1px solid #e7e5e4;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-weight:950;display:inline-flex}.btn.orange{color:#fff;background:#f97316;border-color:#f97316}.btn.green{color:#fff;background:#059669;border-color:#059669}.btn.danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn.ghost{background:#ffffffbf}.week-grid,.meal-grid{gap:10px;display:grid}.day-card{background:#fafaf9;border-radius:20px;padding:12px}.day-card b{margin-bottom:6px;display:block}.search-box{background:#fff;border:1px solid #e7e5e4;border-radius:18px;align-items:center;gap:8px;margin-bottom:10px;padding:0 12px;display:flex}.search-box input{box-shadow:none;border:0;padding-left:0}.chips{gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.chip{color:#57534e;background:#fff;border:1px solid #e7e5e4;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:14px;font-weight:950}.chip.active,.tab.active{color:#fff;background:#1c1917;border-color:#1c1917}.meal{text-align:left;background:#fff;border:1px solid #e7e5e4;border-radius:22px;padding:14px}.meal.active{background:#fff7ed;border-color:#fdba74}.meal-top{justify-content:space-between;gap:12px;display:flex}.meal h3{margin:0;font-size:17px}.meal small{color:#a8a29e;text-transform:uppercase;font-size:11px;font-weight:900}.meal p{color:#57534e;margin-bottom:0;font-size:14px}.meal-top button{color:#57534e;background:#fafaf9;border-radius:12px;padding:7px 10px;font-weight:900}.tags{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.tags span{background:#f5f5f4;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.tags.light span{color:#fff;background:#ffffff1f}.selected-meal{color:#fff;background:#1c1917;border-radius:24px;padding:18px}.selected-meal h3{margin:0;font-size:28px}.selected-meal p{color:#d6d3d1;margin:6px 0 0}.ingredient-list{gap:8px;margin-top:10px;display:grid}.ingredient-list div{background:#fff;border:1px solid #e7e5e4;border-radius:18px;justify-content:space-between;gap:14px;padding:12px;display:flex}.ingredient-list small{color:#a8a29e;font-weight:800;display:block}.ingredient-list em{color:#57534e;font-size:14px;font-style:normal}.tabs{background:#f5f5f4;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;padding:5px;display:grid}.tab{color:#57534e;background:0 0;border-radius:12px;padding:10px;font-weight:950}.shop-group h3{margin:12px 0 8px;font-size:15px}.shop-item{text-align:left;background:#fff;border:1px solid #e7e5e4;border-radius:18px;align-items:flex-start;gap:12px;width:100%;margin-bottom:8px;padding:14px;display:flex}.shop-item small{color:#78716c;margin-top:2px;display:block}.tick{color:#0000;border:1px solid #d6d3d1;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-weight:950;display:grid}.tick.on{color:#fff;background:#059669;border-color:#059669}.done-text{color:#78716c;text-decoration:line-through}.empty{color:#78716c;text-align:center;background:#fafaf9;border:1px dashed #d6d3d1;border-radius:20px;padding:24px;font-weight:900}.modal{z-index:50;background:#1c19178c;align-items:flex-end;padding:8px;display:flex;position:fixed;inset:0}.editor{background:#fff;border-radius:28px;width:100%;max-height:94vh;padding:16px;overflow-y:auto}.editor-head{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#fffffff5;justify-content:space-between;align-items:center;padding:10px 0;display:flex;position:sticky;top:-16px}.editor h2,.editor h3{margin:0}.editor-head button{background:#f5f5f4;border-radius:14px;padding:9px}.form-grid{gap:10px;display:grid}.editor-row{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.ingredient-editor{gap:10px;margin-top:10px;display:grid}.ingredient-editor>div{background:#fafaf9;border-radius:20px;gap:8px;padding:12px;display:grid}.editor-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;grid-template-columns:1fr auto;gap:8px;margin-top:14px;padding:12px 0;display:grid;position:sticky;bottom:-16px}@media (width>=720px){.layout{grid-template-columns:1.1fr .9fr}.week-grid,.meal-grid,.form-grid{grid-template-columns:repeat(2,1fr)}.editor{max-width:760px;margin:auto}.modal{align-items:center}.ingredient-editor>div{grid-template-columns:1.2fr .4fr .4fr .7fr auto}}
