*{box-sizing:border-box}body{margin:0 auto;max-width:1250px;padding:24px;font:16px system-ui;background:#f7f8f4;color:#182b20}section{background:white;border:1px solid #d7e0d6;border-radius:16px;padding:20px;margin:18px 0}a{color:#245c45}label{display:block;margin:10px 0}input,select,button{font:inherit;padding:10px;border-radius:8px;border:1px solid #b2c4b5;max-width:100%}input:not([type=checkbox]),select{display:block}button{background:#245c45;color:white;cursor:pointer}button:disabled{opacity:.5}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.entry{padding:16px;border-bottom:1px solid #d7e0d6;overflow-wrap:anywhere}#calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.day{margin:0;padding:12px}.day h3{font-size:1rem}p,small{line-height:1.6}#message,#warning{padding:12px}#warning:not(:empty){background:#fff1d0}dialog{max-width:95vw;width:600px;max-height:90vh;overflow:auto;border:1px solid #b2c4b5;border-radius:16px}dialog::backdrop{background:#10201999}:focus-visible{outline:3px solid #b16c00;outline-offset:2px}@media(max-width:500px){body{padding:12px}#calendar{display:block}.day{margin-bottom:12px}.actions button{flex:1}}@media print{body{padding:0}header,#warning,#message,main>section:not(:nth-child(2)),button,input,select{display:none!important}section{border:0}#shopping label input{display:none}#shopping article{break-inside:avoid}#shopping .actions{display:none}}