:root{--ink:#111a14;--cream:#f4f1e8;--lime:#c9ff58;--sage:#789480;--white:#fff;--red:#b53131;--line:#d7dbd3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;min-height:100vh}header{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(24px,6vw,88px);gap:22px}.brand{font:800 34px ui-rounded,system-ui;color:var(--ink);text-decoration:none}.brand span,em{color:#477052;font-style:normal}nav{display:flex;gap:4px;background:#e9e6dc;padding:5px;border-radius:999px}nav button{background:transparent;padding:9px 15px}nav button.active{background:white;box-shadow:0 2px 8px #00000012}main{max-width:1280px;margin:auto;padding:7vh clamp(24px,6vw,88px) 80px}.auth{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center}.eyebrow{font-weight:700;letter-spacing:.16em;font-size:12px;color:#477052}h1{font:800 clamp(48px,7vw,94px)/.98 ui-rounded,system-ui;margin:18px 0 40px;letter-spacing:-.06em}.lead{font-size:19px;line-height:1.6;max-width:520px;color:#4d5b50}.card,.stat{background:rgba(255,255,255,.72);border:1px solid rgba(17,26,20,.1);border-radius:24px;padding:32px;box-shadow:0 18px 50px rgba(22,37,26,.08)}h2{font:700 24px ui-rounded,system-ui;margin:0 0 24px}label{display:block;font-size:13px;font-weight:600;margin:16px 0}input,select{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #cfd4cb;border-radius:12px;background:white;font:inherit;color:inherit}input:disabled{color:#6d776f;background:#f5f5f1}button{font:600 14px inherit;border:0;border-radius:999px;padding:14px 20px;cursor:pointer}.primary{background:var(--ink);color:white;width:100%;margin-top:8px}.secondary{background:var(--lime);color:var(--ink);width:100%;margin-top:10px}.ghost{background:transparent;border:1px solid #b8beb7}.text-button{background:transparent;width:100%;color:#657068}.muted{color:#69746b;font-size:14px}.optional{float:right;color:#7a837b;font-weight:400}.error{color:var(--red);min-height:20px;font-size:13px}.hidden{display:none!important}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stat{background:var(--ink);color:white;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end}.stat strong{font:700 46px ui-rounded,system-ui}.stat span{color:#bac6bd}.meal-layout{display:grid;grid-template-columns:380px 1fr;gap:40px;align-items:start}.preview{width:100%;height:180px;object-fit:cover;border-radius:14px;margin:4px 0 12px}.loading{display:flex;align-items:center;gap:10px;color:#647168;font-size:13px;margin:12px 0}.loading span{width:18px;height:18px;border:2px solid #d3d8d0;border-top-color:#477052;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section-head,.calendar-title{display:flex;align-items:center;justify-content:space-between}.pill{background:#e3e9df;border-radius:999px;padding:6px 11px;font-size:12px}.meal-list{display:grid;gap:14px}.meal-item{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;background:#fffaf2;border:1px solid var(--line);border-radius:18px;padding:14px}.meal-photo,.meal-photo-placeholder{width:88px;height:74px;object-fit:cover;border-radius:12px;background:#e5e8df}.meal-photo-placeholder{display:grid;place-items:center;font-size:25px}.meal-item h3{margin:0 0 7px;font-size:17px}.meal-meta{font-size:13px;color:#6d776f}.meal-actions{display:flex;gap:6px}.meal-actions button{padding:9px 11px;background:#edf0e9}.meal-actions .delete{color:var(--red)}.empty-log,.empty{text-align:center;padding:60px 24px}.empty span{font-size:48px}.calendar{max-width:900px;margin:auto}.calendar-title h2{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);margin-top:28px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.cal-cell{min-height:92px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.cal-head{min-height:auto;background:#eef0e9;text-align:center;font-weight:700}.cal-muted{color:#a4aaa3}footer{padding:30px;text-align:center;color:#6d776f;font-size:13px}@media(max-width:800px){header{flex-wrap:wrap}nav{order:3;width:100%;overflow:auto;justify-content:space-between}nav button{padding:9px 10px}main{padding-top:3vh}.auth,.meal-layout{grid-template-columns:1fr;gap:40px}.grid{grid-template-columns:1fr}h1{font-size:56px}.meal-item{grid-template-columns:64px 1fr}.meal-photo,.meal-photo-placeholder{width:64px;height:64px}.meal-actions{grid-column:2}.cal-cell{min-height:56px;padding:6px}}
