:root{color-scheme:dark;--bg:#07100c;--panel:#101c16e8;--panel2:#16251d;--line:#26382e;--text:#f3f6f2;--muted:#93a399;--accent:#b8f06c;--accent2:#70d79a;--danger:#ff806f;--shadow:0 18px 60px #0007;font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% -10%,#183e2b 0,transparent 33%),linear-gradient(160deg,#08130e,#07100c 60%);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.14;pointer-events:none}.ambient-one{width:340px;height:340px;background:#8df063;right:-100px;top:20%}.ambient-two{width:260px;height:260px;background:#30c6a1;left:-80px;bottom:0}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:40px;border:1px solid var(--line);border-radius:28px;background:#0e1a14e8;box-shadow:var(--shadow);backdrop-filter:blur(24px)}.brand-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#10200f;font-weight:900;letter-spacing:-.05em;box-shadow:0 12px 30px #92e55c33}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:14px}.login-card h1{font-size:36px;margin:8px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:var(--accent2);margin:20px 0 4px}.muted,.hint{color:var(--muted)}.error{color:var(--danger);min-height:1.3em}
.app-shell{width:min(920px,100%);margin:auto;padding:0 18px 110px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:linear-gradient(var(--bg) 65%,transparent);padding-top:env(safe-area-inset-top)}.brand{display:flex;gap:12px;align-items:center}.brand div{display:grid}.brand small{color:var(--muted);margin-top:2px}.icon-button{border:1px solid var(--line);background:var(--panel);color:var(--text);width:42px;height:42px;border-radius:14px;font-size:22px;cursor:pointer}
.period-switch{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;background:#0d1813;border:1px solid var(--line);border-radius:16px;margin:8px 0 18px}.period-switch button{border:0;background:transparent;color:var(--muted);padding:10px;border-radius:12px;cursor:pointer}.period-switch button.active{background:var(--panel2);color:var(--text);box-shadow:0 5px 18px #0005}.view{display:none;animation:fade .2s ease}.view.active{display:block}@keyframes fade{from{opacity:.4;transform:translateY(4px)}}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:12px}.metric-card{min-height:132px;border:1px solid var(--line);border-radius:22px;padding:20px;background:linear-gradient(145deg,#14231b,#0e1914);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 10px 35px #0003}.metric-card p{color:var(--muted);margin:0 0 auto;font-size:13px}.metric-card strong{font-size:30px;letter-spacing:-.04em}.metric-card span{color:var(--muted);font-size:12px;margin-top:4px}.balance-card{grid-row:span 2;min-height:276px;background:linear-gradient(145deg,#284626,#13241a);position:relative;overflow:hidden}.balance-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #cfff8340;border-radius:50%;right:-70px;top:-50px;box-shadow:0 0 0 30px #cfff8308,0 0 0 60px #cfff8305}.balance-card strong{font-size:49px;color:var(--accent)}
.panel{border:1px solid var(--line);border-radius:22px;padding:20px;background:var(--panel);box-shadow:0 12px 35px #0003;margin:12px 0;backdrop-filter:blur(18px)}.panel h2{margin:0 0 16px;font-size:20px}.panel-heading,.page-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2,.page-title h1{margin:2px 0 14px}.panel-heading .eyebrow,.page-title .eyebrow{margin-top:0}.page-title{margin:22px 2px 8px}.page-title h1{font-size:30px}
.handoff-panel textarea{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;line-height:1.55}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-grid div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#0d1813}.summary-grid small{color:var(--muted)}.summary-grid strong{font-size:18px}
textarea,input,select{width:100%;border:1px solid var(--line);border-radius:13px;background:#0b1510;color:var(--text);padding:13px 14px;outline:none;transition:border .15s,box-shadow .15s}textarea{resize:vertical;min-height:90px}textarea:focus,input:focus,select:focus{border-color:#9cdb70;box-shadow:0 0 0 3px #a8ed6817}label{display:grid;gap:7px;color:#bdc8c0;font-size:13px}.primary,.secondary,.text-button,.link-button{border:0;border-radius:13px;padding:12px 16px;font-weight:720;cursor:pointer;text-decoration:none;text-align:center}.primary{background:var(--accent);color:#14200f}.primary:hover{background:#c8fa87}.secondary,.link-button{border:1px solid var(--line);background:#14221a;color:var(--text)}.text-button{background:transparent;color:var(--accent2);padding:8px}.wide{width:100%;margin-top:18px}.action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.action-row>*{flex:1;min-width:115px}.file-button{display:block;position:relative;text-align:center}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.record-dot{display:inline-block;width:9px;height:9px;background:#fa7567;border-radius:50%;margin-right:6px}.recording .record-dot{animation:pulse .9s infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px #fa756722}}
.status-pill{font-size:11px;padding:7px 10px;border-radius:999px;background:#b8f06c1c;color:var(--accent);border:1px solid #b8f06c30}.status-pill.offline{color:#ffc46b;border-color:#ffc46b33;background:#ffc46b13}.status-pill.neutral{color:var(--muted);border-color:var(--line);background:#0b1510}.form-message{color:var(--muted);margin:10px 2px 0;font-size:13px}.form-message.error{color:var(--danger)}.question{border-left:3px solid #ffc46b;padding:10px 12px;background:#ffc46b0b;color:#ffe0a8;border-radius:0 10px 10px 0}.preview-item{display:grid;grid-template-columns:1fr auto;gap:5px;padding:13px 0;border-bottom:1px solid var(--line)}.preview-item:last-child{border-bottom:0}.preview-item small{color:var(--muted)}
.daily-chart{height:180px;display:flex;gap:7px;align-items:flex-end;padding-top:20px}.bar-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.bar{width:100%;max-width:48px;border-radius:8px 8px 3px 3px;background:linear-gradient(var(--accent),#569d68);min-height:3px;position:relative}.bar.over{background:linear-gradient(#ffc46b,#b98248)}.bar-column small{font-size:10px;color:var(--muted)}.bar-column em{font-size:9px;color:#b5c1b9;font-style:normal}.macro-row{display:flex;gap:12px;margin-top:16px}.macro-row span{flex:1;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}.macro-row b{color:var(--text);float:right}
.timeline{display:grid;gap:9px}.timeline-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#0d1813;border-radius:16px;padding:13px}.timeline-item .time{width:46px;color:var(--muted);font-size:12px}.timeline-item strong{display:block}.timeline-item small{display:block;color:var(--muted);margin-top:3px}.timeline-item .calories{font-weight:760}.timeline-item.draft{border-color:#ffc46b55}.timeline.large{margin-top:12px}.delete-button{background:transparent;border:0;color:#a6b2aa;cursor:pointer;padding:5px}.empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.compact{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:17px;cursor:pointer}.product-card:hover{border-color:#8dcf653f}.product-card h3{margin:0 0 4px}.product-card p{color:var(--muted);margin:0}.product-card .nutrition{display:flex;gap:10px;margin-top:14px;font-size:12px;color:#c4d0c7}.danger-zone{margin-top:20px}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);background:#e9f5e8;color:#102014;padding:12px 18px;border-radius:13px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s;z-index:100;font-weight:650}.toast.show{opacity:1;transform:translate(-50%,0)}
.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(680px,calc(100% - 24px));display:grid;grid-template-columns:repeat(5,1fr);padding:7px;background:#0c1712ee;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(24px);z-index:30}.bottom-nav button{border:0;background:transparent;color:var(--muted);display:grid;justify-items:center;gap:3px;font-size:10px;padding:6px;border-radius:14px}.bottom-nav button span{font-size:20px}.bottom-nav button.active{background:#1b2b21;color:var(--accent)}
@media(max-width:650px){.app-shell{padding-inline:12px}.hero-grid{grid-template-columns:1fr 1fr}.balance-card{grid-column:span 2;grid-row:auto;min-height:185px}.metric-card{min-height:120px}.form-grid,.form-grid.compact{grid-template-columns:1fr}.span-2{grid-column:auto}.product-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.panel{padding:17px}.page-title h1{font-size:26px}.action-row .primary{flex-basis:100%}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom))}}
