@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;700;800&display=swap');
:root{--ink:#25382e;--muted:#677267;--line:#dce2d7;--paper:#f7f8f2;--green:#355c41}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'DM Sans',sans-serif}header{padding:24px 5vw;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px;flex-wrap:wrap}.brand{font:800 30px Manrope,sans-serif;text-decoration:none;color:var(--green);letter-spacing:-1.5px}.brand span{display:block;font:10px 'DM Sans';letter-spacing:2px;margin-top:5px}nav{display:flex;gap:5px;flex:1}button,.button{font:inherit;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 16px;cursor:pointer}button:hover{border-color:var(--green)}button.active,.primary{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.5;cursor:default}nav button{border:0;background:transparent}#save-status{font-size:12px;color:var(--muted)}main{max-width:1200px;margin:auto;padding:45px 24px 80px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green);font-weight:700}h1{font:800 clamp(32px,5vw,48px) Manrope;letter-spacing:-1.5px;margin:10px 0}h2{font:700 22px Manrope;margin:0 0 15px}p{line-height:1.6;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.actions{display:flex;gap:8px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px;margin-bottom:20px}.soft{background:#eaf0e1}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row small{display:block;color:var(--muted);margin-top:5px}.row label{display:flex;align-items:center;gap:12px}.empty{padding:35px 10px;text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.meal{margin:0}.meal .tag{color:var(--muted);font-size:13px}input,select,textarea{font:inherit;border:1px solid #cbd3c7;border-radius:8px;padding:10px;background:#fff;color:var(--ink);max-width:100%}input[type=checkbox]{accent-color:var(--green);width:20px;height:20px}input[type=number]{width:85px}label{display:block;font-size:14px}label>input:not([type=checkbox]),label>textarea,label>select{display:block;width:100%;margin:7px 0 15px}input[type=search]{width:100%;margin:0 0 20px}.portion{display:flex;align-items:center;gap:6px;font-size:13px}.checked{text-decoration:line-through;opacity:.5}dialog{width:min(680px,94vw);border:1px solid var(--line);border-radius:18px;padding:28px;max-height:90vh}dialog::backdrop{background:#15251b88}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ingredient-line{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;margin-bottom:10px}.ingredient-line input{width:100%}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:9px;padding:12px 20px;display:none}.week-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}a{color:var(--green)}@media(max-width:700px){header{gap:15px;padding:18px}nav{order:3;width:100%;overflow:auto;flex-basis:100%;gap:0}nav button{white-space:nowrap;padding:10px}main{padding:28px 16px}.layout{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.card{padding:18px}.ingredient-line{grid-template-columns:1.6fr .8fr .8fr auto;gap:4px}.row{flex-wrap:wrap}h1{font-size:34px}}@media print{header,nav,.actions,.week-nav,button,#notice,#save-status{display:none!important}body{background:white}main{padding:0}.card{border:0;padding:0}.checked{display:none}}
