:root{--ink:#173e3e;--muted:#566c6a;--paper:#f7f7f1;--white:#fff;--line:#dbe4de;--sage:#e5eee5;--accent:#e7bb65;--danger:#80531d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#225e58;text-underline-offset:4px}a:hover{color:#102f2c}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:9px;padding:12px 20px;cursor:pointer;text-decoration:none;font-weight:600;min-height:48px}button:hover,.button:hover{background:#2a5a52;color:white}.secondary{background:transparent;color:var(--ink);border-color:#9eafa7}.secondary:hover{background:var(--sage);color:var(--ink)}:focus-visible{outline:3px solid #a46a00;outline-offset:4px}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:35px 27px;background:#e8eee7;border-right:1px solid #d6e0d6;display:flex;flex-direction:column}.logo{font:700 58px/1 Georgia,serif;text-decoration:none;letter-spacing:-4px}.logo span{color:#527c66}.logo small{display:block;font:11px/2 sans-serif;letter-spacing:1px;margin-top:14px;color:#34544d}.sidebar nav{display:grid;gap:12px;margin-top:65px}.sidebar nav a{text-decoration:none;padding:8px 12px;border-radius:8px;font-size:17px}.sidebar nav a:hover{background:#d5e1d3}.side-bottom{margin-top:auto;font-size:14px}.side-bottom p{font-family:Georgia,serif;font-size:19px}.linkbutton{padding:8px 0;background:transparent;border:0;color:var(--ink);font-size:14px;text-decoration:underline}.linkbutton:hover{background:transparent;color:var(--ink)}main{margin-left:245px;padding:24px 48px 32px;max-width:1800px}.topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;font-size:11px;letter-spacing:1.2px;gap:12px;margin-bottom:40px}.badge{display:inline-block;border-radius:30px;background:var(--sage);padding:5px 12px;font-size:12px;font-weight:650;letter-spacing:.4px;white-space:normal}h1,h2,h3{line-height:1.2}h1{font:normal 48px/1.15 Georgia,serif;letter-spacing:-1.7px;margin:12px 0 18px}h2{font:normal 26px/1.3 Georgia,serif;margin:8px 0 16px}h3{font-size:20px;font-weight:600;margin:6px 0 12px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#526b5b;margin:0 0 9px}.lead{color:var(--muted);font-size:18px;max-width:750px}.heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;margin:25px 0 35px}.stats div{padding:22px 28px;border-right:1px solid var(--line);display:grid;gap:5px}.stats div:last-child{border:0}.stats strong{font:normal 33px/1.2 Georgia,serif}.stats span{color:var(--muted);font-size:14px}.sectionline,.row{display:flex;justify-content:space-between;align-items:center;gap:18px}.sectionline{margin:38px 0 20px}.muted,small{color:var(--muted);font-size:14px}small{display:block}section{scroll-margin-top:20px}.person-grid,.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.person-card{position:relative;display:block;background:white;border:1px solid var(--line);border-radius:12px;text-decoration:none;padding:24px}.person-card:hover{border-color:#61836a;box-shadow:0 8px 24px #173e3e0c}.avatar{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#ece5cf;border-radius:50%;font:normal 25px Georgia;margin-bottom:20px}.person-card>.badge{position:absolute;top:28px;right:22px}.card-end{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:14px}.panel{padding:26px;border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:20px}.callout{margin-top:36px;padding:30px;border-radius:12px;background:#e8eee4;border:1px solid #d6e2d0}.notice{border:1px solid #d7bc88;background:#fff6e3;border-radius:9px;padding:15px 20px;color:#624311;font-size:16px}.notice.success{background:#edf4ec;border-color:#8eaf8d;color:#224921}.notice.error{background:#fff0e9;color:#7d3027;border-color:#d5a198}.tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--line);padding:10px 0 18px;margin-bottom:24px}.tabs a{text-decoration:none;white-space:nowrap;font-size:16px}.narrow{max-width:800px}form p{margin:0 0 20px}label{display:block;font-weight:550;font-size:16px;margin-bottom:6px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #9eaea5;border-radius:7px;padding:10px 12px;background:#fff;color:var(--ink);min-height:46px}input[type=checkbox]{width:20px;height:20px}textarea{resize:vertical}.helptext{display:block;font-size:13px;color:var(--muted)}.errorlist{color:#8a2525}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:15px 0}.inlineform{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.inlineform p{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:24px}table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}th,td{padding:14px 16px;vertical-align:top;border-bottom:1px solid var(--line)}th{background:#edf1e9;font-weight:600}td button{font-size:13px;padding:8px}.pill{display:inline-block;font-size:14px;margin:4px 8px}.menu-days{display:grid;gap:24px;margin-top:30px}.day{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.day>header{padding:18px 24px;background:#e9eee4;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.day>header h2,.day>header p{margin:0}.meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.meal{padding:24px;border-right:1px solid var(--line)}.meal:last-child{border:0}.meal h3{font:normal 24px/1.3 Georgia,serif}.meal-actions{border-top:1px solid var(--line);padding-top:15px;margin-top:16px;font-size:14px}.meal-actions button{font-size:13px;padding:8px 12px;margin-top:8px;width:100%}.meal-actions summary{font-size:13px}details{margin:12px 0}summary{cursor:pointer;font-weight:550;font-size:15px;min-height:40px;display:list-item;align-content:center}details ul{padding-left:18px}details li{margin:8px 0}details p{font-size:15px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.shopping{columns:2;column-gap:40px}.shopping li{break-inside:avoid;margin:8px 0}.search{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:25px 0}.search input{max-width:450px}.login{max-width:700px;margin:50px auto}.login h1{font-size:54px}footer{font-size:12px;border-top:1px solid var(--line);margin-top:50px;padding-top:20px;color:var(--muted)}.skip{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}@media(max-width:1050px){.sidebar{width:200px;padding:30px 20px}main{margin-left:200px;padding:24px}.topline{flex-wrap:wrap}.heading{align-items:flex-start}.stats div{padding:20px}.stats strong{font-size:28px}}@media(max-width:720px){body{font-size:17px}.sidebar{position:static;width:auto;padding:16px 20px;border-right:0}.logo{font-size:36px;letter-spacing:-2px}.logo small{display:none}.sidebar nav{display:flex;gap:6px;margin-top:18px;overflow-x:auto}.sidebar nav a{font-size:14px;padding:8px;white-space:nowrap}.side-bottom{display:none}main{margin:0;padding:20px}.topline{font-size:10px;margin-bottom:25px}.heading{display:block}h1{font-size:39px}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line)}.heading .button{margin-top:15px}.shopping{columns:1}.row{flex-wrap:wrap}.panel{padding:20px}.meal-grid{grid-template-columns:1fr}.meal{border:0;border-bottom:1px solid var(--line)}.login{margin:25px 0}.login h1{font-size:42px}}
