:root{--green:#0b6e4f;--ink:#17251f;--muted:#65736c;--line:#dbe5df;--paper:#f7faf8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header,main{max-width:680px;margin:auto;padding-inline:20px}header{padding-top:32px;display:flex;justify-content:space-between;align-items:flex-start}h1,h2,p{margin:0}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.12em;color:var(--green)}h1{font-size:1.75rem}.icon-button,.date-nav button,.close{border:0;background:transparent;font-size:1.6rem;color:var(--green);cursor:pointer}.icon-button{font-size:1.3rem}main{padding-block:20px 44px}.date-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.date-nav input{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:650}.notice{padding:10px 12px;border-radius:10px;background:#e5f3ec;color:#28624c;font-size:.82rem}.balance-card{margin-top:16px;padding:24px;border-radius:20px;background:var(--green);color:#fff}.balance-card p{opacity:.78}.balance-card strong{display:inline-block;margin-top:8px;font-size:3rem;letter-spacing:-.07em}.balance-card span{font-weight:700}.balance-card small{display:block;opacity:.8}.progress{height:8px;background:#ffffff3d;border-radius:99px;margin:18px 0 10px;overflow:hidden}.progress i{display:block;height:100%;width:50%;background:#ffcf70;border-radius:inherit}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 28px}.metrics article,.entry{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.metrics span,.metrics small,.entry small{display:block;color:var(--muted);font-size:.78rem}.metrics strong{display:block;font-size:1.5rem;margin:3px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}h2{font-size:1.1rem}.text-button{border:0;background:transparent;color:var(--green);font:inherit;font-weight:700;cursor:pointer}.entries{display:grid;gap:8px}.empty{color:var(--muted);font-size:.9rem;padding:8px 0}.entry{display:flex;align-items:center;justify-content:space-between}.entry strong{display:block}.entry-actions{display:flex;align-items:center;gap:12px}.entry-actions b{font-size:1rem}.entry-actions button{border:0;background:#fff0ed;color:#b9422e;border-radius:50%;font-size:1.3rem;width:28px;height:28px;cursor:pointer}dialog{border:0;border-radius:18px;box-shadow:0 18px 70px #001d1133;width:min(92vw,440px);padding:0}dialog::backdrop{background:#10251a80}form{padding:22px;display:grid;gap:14px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .close{line-height:1}label{display:grid;gap:5px;font-size:.86rem;font-weight:650}input,select{width:100%;border:1px solid #bdcdc4;border-radius:9px;padding:10px;background:#fff;font:inherit;color:inherit}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{border:0;background:var(--green);color:#fff;border-radius:10px;padding:12px;font:inherit;font-weight:700;cursor:pointer;margin-top:4px}@media (min-width:700px){header{padding-top:48px}main{padding-top:28px}}

/* Application refresh */
:root{--forest:#063f32;--green:#087a5b;--mint:#e7f6ef;--lime:#d7f44e;--paper:#f4f8f6;--surface:#fff;--ink:#11241d;--muted:#668078;--line:#d8e5de;--danger:#c64047;--shadow:0 20px 55px rgba(8,48,37,.13)}body{background:linear-gradient(150deg,#f8fbf9 0%,#f1f7f4 55%,#e9f1ed 100%);min-height:100vh;color:var(--ink)}.app-shell{min-height:100vh}.app-header,.app-main{max-width:920px;margin:auto;padding-inline:24px}.app-header{min-height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:var(--forest);color:var(--lime);font-size:19px;font-weight:900;box-shadow:0 8px 18px #064b3b35}.brand b{display:block;font-size:15px;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:11px}.header-actions{display:flex;align-items:center;gap:10px}.user-link{color:var(--green);font-size:12px;font-weight:800;text-decoration:none;max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--forest);font-size:19px;cursor:pointer;transition:.18s transform,.18s box-shadow}.round-button:hover,.entry-button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0c392318}.app-main{padding-bottom:62px}.date-strip{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:20px;background:#ffffffa8;box-shadow:0 8px 20px #113c2d08}.nav-day{width:36px;height:36px;border:0;border-radius:12px;background:var(--mint);color:var(--forest);font-size:27px;line-height:1;cursor:pointer}.date-picker{display:block;text-align:center;font-size:12px;font-weight:800;color:var(--forest);text-transform:capitalize}.date-picker span{display:block}.date-picker input{display:block;width:max-content;margin:2px auto 0;border:0!important;background:transparent!important;padding:0!important;font-size:11px!important;color:var(--muted)!important;cursor:pointer}.notice{margin:15px 0 18px;padding:12px 14px;border:1px solid #d5eadf;border-radius:14px;background:var(--mint);color:#28705a;font-size:12px}.balance-card{display:flex;justify-content:space-between;align-items:end;gap:26px;margin:0;padding:29px 30px;border-radius:26px;background:radial-gradient(circle at 92% 6%,#149572 0,transparent 29%),linear-gradient(130deg,var(--forest),#087453);box-shadow:0 20px 42px #06463135}.balance-card p{font-size:13px;font-weight:700;letter-spacing:.02em}.balance-card strong{margin:8px 0 0;font-size:clamp(46px,8vw,68px);line-height:.9;letter-spacing:-.08em}.balance-card span{font-size:15px}.balance-details{max-width:330px;flex:1}.balance-card small{font-size:12px;line-height:1.4}.progress{height:9px;margin:0 0 11px;background:#ffffff38}.progress i{background:var(--lime)}.metrics{gap:14px;margin:16px 0 38px}.metrics article{display:flex;align-items:center;gap:12px;padding:17px;border-color:var(--line);border-radius:19px;box-shadow:0 9px 22px #093b2b09}.metric-icon{display:grid!important;place-items:center;width:35px;height:35px;border-radius:11px;font-size:20px!important;font-weight:900}.intake-icon{background:#fff3d8;color:#bb7923}.burned-icon{background:#e1f5ee;color:var(--green)}.metrics strong{font-size:24px;line-height:1.1}.metrics em{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-style:normal}.entry-section{margin-top:31px}.section-heading{margin:0 0 12px}.section-heading p,.dialog-kicker{margin:0 0 2px;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.11em}.section-heading h2{font-size:21px;letter-spacing:-.04em}.add-button,.secondary,.primary,.danger-button{border:0;border-radius:12px;font:inherit;font-weight:800;cursor:pointer;transition:.18s transform,.18s box-shadow}.add-button{padding:9px 12px;background:transparent;color:var(--green);font-size:13px}.add-button span{font-size:20px;vertical-align:-1px}.entries{gap:10px}.entry{gap:14px;padding:16px 17px;border-radius:18px;box-shadow:0 9px 22px #093b2b08}.entry strong{font-size:15px}.entry small{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:410px}.entry-actions{gap:8px}.entry-actions b{margin-right:4px;color:var(--forest);font-size:14px;white-space:nowrap}.entry-button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);padding:6px 8px;font-size:11px;font-weight:800;cursor:pointer;transition:.18s transform,.18s box-shadow}.entry-button.delete-entry{border-color:#f2d6d7;color:var(--danger)}.empty{padding:22px 2px;color:var(--muted)}dialog.app-dialog{width:min(94vw,470px);max-height:min(90vh,760px);margin:auto;border:0;border-radius:24px;background:transparent;box-shadow:none;padding:0}dialog.app-dialog::backdrop{background:#052d2380;backdrop-filter:blur(4px)}.dialog-shell{display:grid;gap:15px;max-height:inherit;overflow:auto;padding:24px;border:1px solid #e4eee9;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.dialog-head{align-items:start}.dialog-head h2,.dialog-shell h2{font-size:23px;letter-spacing:-.05em}.close-dialog{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--forest);font-size:27px;line-height:1;cursor:pointer}.dialog-shell label{gap:7px;color:var(--ink);font-size:12px;font-weight:850}.dialog-shell input,.dialog-shell select,.dialog-shell textarea{border:1px solid #c9dcd3;border-radius:12px;padding:12px;background:#fbfdfc;font-size:14px}.dialog-shell textarea{resize:vertical;min-height:108px}.optional{color:var(--muted);font-weight:600}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:13px;background:var(--mint)}.mode-switch button{border:0;border-radius:9px;background:transparent;padding:10px 6px;color:#357363;font-size:12px;font-weight:800;cursor:pointer}.meal-dialog[data-mode="manual"] .mode-switch [data-mode="manual"],.meal-dialog[data-mode="ai"] .mode-switch [data-mode="ai"]{background:#fff;color:var(--forest);box-shadow:0 3px 8px #0a4d3d12}.ai-fields{display:none;gap:7px}.meal-dialog[data-mode="ai"] .ai-fields{display:grid}.meal-dialog[data-mode="ai"] .manual-fields{display:none}.ai-fields small{color:var(--muted);font-size:11px;line-height:1.45}.manual-fields{display:grid;gap:12px}.secondary{padding:11px 13px;border:1px solid var(--line);background:#fff;color:var(--green);font-size:13px}.add-food{justify-self:start}.meal-items{display:grid;gap:7px}.draft-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:var(--mint);color:#276a56;font-size:12px}.remove-draft{width:23px;height:23px;border:0;border-radius:7px;background:#fff;color:var(--danger);font-size:19px;line-height:1;cursor:pointer}.primary{padding:14px 16px;background:var(--green);color:#fff;box-shadow:0 10px 18px #087a5b28}.primary:hover,.danger-button:hover{transform:translateY(-1px);box-shadow:0 13px 21px #087a5b33}.compact{gap:13px;text-align:center;justify-items:center;padding:29px}.message-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--mint);color:var(--green);font-size:27px;font-weight:900}.warning-symbol{background:#fff1ef;color:var(--danger)}.message-text{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.dialog-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:9px}.danger-button{padding:11px;background:var(--danger);color:#fff}.confirm-dialog .secondary{padding:11px}@media(max-width:570px){.app-header,.app-main{padding-inline:17px}.app-header{min-height:78px}.brand small{display:none}.user-link{max-width:120px}.balance-card{display:block;padding:25px}.balance-details{margin-top:25px}.metrics{margin-bottom:31px}.entry{align-items:flex-start}.entry-actions{flex-wrap:wrap;justify-content:flex-end;max-width:138px}.entry-actions b{width:100%;text-align:right}.entry small{max-width:190px}.two-col{gap:9px}.dialog-shell{padding:20px}.dialog-shell h2{font-size:21px}}@media(max-width:380px){.entry-actions{max-width:110px}.entry-button{padding:5px}.entry small{max-width:155px}}
