:root{--ink:#19372e;--paper:#f6f4ed;--white:#fffdf8;--line:#dfdfd7;--lime:#d4e567;--green:#244d3d;--red:#bb5e46;--serif:Fraunces,Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px var(--sans)}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:fixed;width:248px;height:100vh;padding:28px 18px;background:var(--green);color:#f7f5e9;display:flex;flex-direction:column}.brand{display:flex;gap:9px;align-items:center;padding:0 10px;color:#fff;text-decoration:none;font:28px var(--serif)}.brand-mark,.avatar,.data-icon{display:grid;place-items:center;border-radius:50%}.brand-mark{width:30px;height:30px;background:var(--lime);color:var(--green);font:bold 18px var(--serif)}.course-tag,.eyebrow{font:10px var(--mono);letter-spacing:.12em}.course-tag{margin:47px 11px 15px;color:#bdccb5}nav{display:grid;gap:5px}.nav-link{padding:12px 11px;border:0;border-radius:8px;background:transparent;color:#ced8ca;text-align:left;font:500 14px var(--sans);cursor:pointer}.nav-link span{display:inline-block;width:23px}.nav-link:hover,.nav-link.active{background:#37604f;color:#fff}.sidebar-bottom{margin-top:auto}.allergy-status{display:flex;gap:8px;align-items:center;padding:20px 10px;border-top:1px solid #517262;font-size:12px}.allergy-status small,.profile small{display:block;color:#bdccb5;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;background:var(--lime)}.profile{display:flex;gap:8px;align-items:center;border:0;background:transparent;color:#fff;text-align:left}.profile>span:nth-child(2){flex:1}.avatar{width:31px;height:31px;background:#d5a26c;color:#17362c;font:10px var(--mono)}main{grid-column:2}.topbar{height:76px;padding:0 clamp(26px,5vw,72px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.crumb,.top-actions{display:flex;gap:10px;align-items:center}.crumb{color:#7a817b;font-size:13px}.crumb b{color:var(--ink)}.icon-btn,.help,.text-link{border:0;background:transparent;color:var(--ink)}.view{display:none;max-width:1350px;margin:auto;padding:52px clamp(26px,5vw,72px) 72px}.view.active{display:block}.eyebrow{margin:0 0 13px;color:#6c796e}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(36px,4.4vw,59px)/.98 var(--serif);letter-spacing:-.045em}h1 em{color:var(--red)}h2{font:500 25px var(--serif)}.hero{display:grid;grid-template-columns:1fr 43%;min-height:275px;padding:42px 0 0 48px;overflow:hidden;border-radius:15px;background:#e6e2d4}.hero-copy,.journal-head p,.admin-head p,.planner-head p{max-width:510px;color:#52635a;line-height:1.55}.hero-art{position:relative;background:#b6d6ca}.sun{position:absolute;top:35px;right:68px;width:79px;height:79px;border-radius:50%;background:#f6c956}.hill{position:absolute;bottom:-20px;border-radius:50% 50% 0 0}.hill-one{right:-50px;width:380px;height:205px;background:#548f75}.hill-two{right:127px;width:300px;height:142px;background:#85ad61}.sprout{position:absolute;right:170px;bottom:37px;color:#234e3d;font:100px var(--serif)}.seed{position:absolute;width:14px;height:21px;border-radius:50% 0 50% 50%;background:#2e5949}.seed-one{right:230px;bottom:86px}.seed-two{right:205px;bottom:121px}.hero-art p{position:absolute;right:25px;bottom:9px;font:9px var(--mono)}.search-row{display:flex;gap:10px;margin:32px 0 17px}.search{display:flex;align-items:center;gap:10px;flex:1;height:48px;padding:0 16px;border:1px solid #cfd1c9;border-radius:8px;background:#fffdf9}.search input{width:100%;border:0;outline:0;background:transparent;font:14px var(--sans)}.filter-btn,.secondary{padding:0 16px;border:1px solid #cfd1c9;border-radius:8px;background:#fffdf9}.filters{display:flex;gap:8px;overflow:auto}.chip{padding:8px 13px;border:1px solid #d5d6ce;border-radius:20px;background:transparent;white-space:nowrap;cursor:pointer}.chip.selected{background:#e1eadb}.section-heading,.panel-heading,.journal-head,.admin-head,.planner-head{display:flex;align-items:center;justify-content:space-between}.section-heading{align-items:end;margin-top:44px}.text-link{color:#305b49;font-weight:600}.food-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:19px}.food-card{overflow:hidden;border:1px solid #e3e0d7;border-radius:10px;background:var(--white);cursor:pointer}.food-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #17362c14}.food-visual{display:grid;place-items:center;height:138px;font-size:63px}.food-card-body{padding:14px 15px}.food-meta,.planner-food small,.recipe-item small{color:#738078;font:10px var(--mono)}.food-card h3,.planner-food b,.recipe-item b{font:500 19px var(--serif)}.food-card p{height:34px;color:#6c776f;font-size:12px}.card-bottom{display:flex;justify-content:space-between}.nutrient-tag{padding:5px;background:#e1eadb;color:#356652;font:10px var(--mono)}.add-mini,.planner-add{border:1px solid #b8cbbc;border-radius:50%;background:#e9f0e3;color:#2c614a;cursor:pointer}.add-mini{width:25px;height:25px}.primary{padding:12px 16px;border:0;border-radius:7px;background:var(--green);color:#fff;font-weight:600;cursor:pointer}.journal-layout,.admin-layout,.recipe-layout{display:grid;gap:22px;margin-top:35px}.journal-layout{grid-template-columns:1.15fr .85fr}.admin-layout{grid-template-columns:1.25fr .75fr}.recipe-layout{grid-template-columns:.9fr 1.1fr}.log-panel,.daily-summary,.admin-form,.data-card,.collection-card,.ingredient-picker,.recipe-card{padding:23px;border:1px solid #e1e0d8;border-radius:11px;background:var(--white)}.panel-heading{padding-bottom:17px;border-bottom:1px solid #ebebe4}.empty-log,.empty-recipe{text-align:center;padding:45px 20px}.empty-log>span,.empty-recipe>span{display:grid;place-items:center;width:40px;height:40px;margin:auto;border-radius:50%;background:#e3ebd9}.macro-cards{display:grid;gap:13px;margin:24px 0}.macro,.recipe-macro{padding:12px;border-radius:8px;background:#f3f3ed}.macro-top{display:flex;justify-content:space-between}.bar{height:6px;border-radius:4px;background:#dde2d9}.bar i{display:block;height:100%}.log-item,.planner-food{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #ecece5}.log-item>div,.planner-food-main{flex:1}.log-emoji,.planner-food-emoji{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;font-size:22px}.remove,.recipe-remove{border:0;background:transparent;color:#a75a4d;font-size:19px}.nutrient-library{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.nutrient-card{padding:20px;border:1px solid #e1e0d8;border-top:4px solid var(--color);border-radius:8px;background:var(--white)}.admin-form{display:grid;gap:18px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:10px;border:1px solid #d7d9d0;border-radius:6px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.allergen-checks{display:flex;flex-wrap:wrap;gap:7px}.form-actions{display:flex;justify-content:flex-end;gap:9px}.data-card{background:#dce9dd}.collection-card code{display:block;margin-top:8px;padding:8px;background:#f2f2ec}.planner-search{margin:18px 0}.planner-foods{max-height:515px;overflow:auto}.planner-add{width:28px;height:28px;font-size:19px}.recipe-title{display:flex;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid #e9e9e1}.recipe-title>div{flex:1}.recipe-title input{width:100%;border:0;border-bottom:1px solid #ccd4c9;background:transparent;font:500 27px var(--serif)}.recipe-ingredients{min-height:160px}.recipe-item{display:grid;grid-template-columns:34px 1fr 64px 25px;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #ecece5}.quantity{width:62px;padding:6px;border:1px solid #d9ddd5;border-radius:5px}.recipe-nutrition{margin-top:18px;padding:16px;border-radius:8px;background:#f2f4ed}.recipe-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.recipe-log{width:100%;margin-top:15px}dialog{width:calc(100% - 36px);max-width:680px;padding:0;border:0;border-radius:12px}.detail{display:grid;grid-template-columns:38% 62%}.detail-visual{display:grid;place-items:center;min-height:350px;font-size:120px}.detail-body{padding:38px}.journey-row{display:grid;grid-template-columns:83px 1fr;gap:7px;padding:12px 0;border-bottom:1px solid #e6e6df}.allergen-warning{padding:10px;border-radius:6px;background:#fff1e9}.nutrients-mini{display:flex;flex-wrap:wrap;gap:6px}.nutrients-mini span{padding:5px;background:#edf0e8;font:10px var(--mono)}#toast{position:fixed;right:26px;bottom:25px;padding:12px 17px;border-radius:7px;background:#234d3d;color:#fff;opacity:0}#toast.show{opacity:1}.mobile-menu{display:none}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}main{grid-column:1}.mobile-menu{display:block}.food-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1.2fr .8fr}.journal-layout,.admin-layout,.recipe-layout{grid-template-columns:1fr}.nutrient-library{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.view{padding:32px 18px}.hero{display:block;padding:31px 26px}.hero-art{height:135px}.food-grid,.nutrient-library{grid-template-columns:1fr}.detail{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr}.recipe-macros{grid-template-columns:repeat(2,1fr)}}
