:root{color:#1d2623;background:#f6f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{min-height:42px;border:0;border-radius:8px;background:#22614d;color:#fff;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}button.ghost{background:#e5ece8;color:#1d4034}input,select{min-height:42px;border:1px solid #cbd6d1;border-radius:8px;background:#fff;padding:0 12px;width:100%}form{display:grid;gap:10px}.field{display:grid;gap:6px;font-size:13px;color:#40504a}.field span{font-weight:700}.inline-field{gap:3px}.inline-field input{min-height:24px}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.nav{background:#183d33;color:#fff;padding:18px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh}.nav button{justify-content:flex-start;background:transparent;color:#dce9e4}.nav button.active,.nav button:hover{background:#2d705b;color:#fff}.brand{display:flex;gap:10px;align-items:center;font-weight:800;margin-bottom:12px}.signed-in{font-size:12px;color:#b7ccc3;margin-top:auto;overflow-wrap:anywhere}main{padding:28px;max-width:1180px;width:100%}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef5ef,#f7f1e8);max-width:none}.login-panel{width:min(420px,calc(100vw - 32px));background:#fff;border:1px solid #dde4df;border-radius:8px;padding:26px;box-shadow:0 18px 60px #183d3324}.login-panel h1,.page-header h1{margin:0}.login-panel p{color:#5c6a65}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.page-header span{color:#22614d;display:grid;place-items:center}.toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.today-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.notice{background:#fff;border:1px solid #dde4df;border-radius:8px}.metric{padding:14px;display:grid;gap:6px}.metric span{font-size:12px;color:#5e6b66}.metric strong{font-size:24px;line-height:1.1}.panel{padding:16px;margin-bottom:16px}.panel h2{margin:0 0 12px;font-size:16px}.notice{padding:12px 14px;margin-bottom:16px;border-left:4px solid #c77f2f}.notice.success{border-left-color:#22614d}.notice.calories{border-left-color:#2563a0}.notice.calories.success{border-left-color:#1e4fa5}.goals-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row{display:grid;grid-template-columns:1fr 120px;gap:10px}.serving-row{display:grid;grid-template-columns:minmax(110px,150px) minmax(140px,180px);gap:10px;align-items:end}.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.form-actions,.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row-actions{justify-content:flex-end}.meal-items{display:grid;gap:10px}.meal-item{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px auto;gap:10px}.list{display:grid;gap:8px}.list.compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.list-row,.table-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px;border:1px solid #edf1ee;border-radius:8px;background:#fbfcfb}.list-row.other-food{border-color:#d8e3d9;background:#eef6ec;color:#2d5f3f}.list-row.other-food small{color:#5d7f6b}.list-row span:first-child{min-width:0}small{display:block;color:#63716b;margin-top:4px}.table{display:grid;gap:6px}.table-row{grid-template-columns:1fr repeat(4,auto)}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 70px;gap:10px;align-items:center}.bar-row div{height:12px;background:#e4ebe7;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:#22614d}.error-text{color:#a03434}@media(max-width:820px){.shell{display:block}.nav{position:static;height:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:10px}.brand,.signed-in{grid-column:1 / -1}.nav button{font-size:13px;padding:0 8px;justify-content:center}main{padding:18px}.metric-grid,.two-col,.quad,.meal-item{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.list-row,.goals-row{grid-template-columns:1fr}}@media(max-width:520px){.metric-grid,.two-col,.quad,.row,.serving-row,.meal-item{grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,1fr)}.table-row{grid-template-columns:1fr 1fr}}
