:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e9f4f0;background:#0a1716;font-size:15px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{max-width:1080px;margin:auto;min-height:100vh}.top{display:flex;justify-content:space-between;align-items:center;padding:26px 25px 16px}.brand{display:flex;align-items:center;gap:11px}.brandmark{font-size:29px;color:#8fe2bd}.brand strong{font-size:25px;letter-spacing:-1.6px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#849c94}.iconbtn{background:#18312d;border:1px solid #32534a;border-radius:12px;padding:10px 14px;color:#d8eee5}.tabs{display:flex;gap:5px;overflow:auto;padding:0 22px 16px;scrollbar-width:none}.tabs button{background:transparent;color:#99b5aa;border:0;border-radius:10px;padding:10px 14px;white-space:nowrap}.tabs button.active{background:#22483d;color:#c2ffe0;font-weight:700}main{padding:0 22px 30px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.panel{background:#122522;border:1px solid #29423a;border-radius:20px;padding:22px;margin-bottom:18px}.panel.light{background:#19342e}.subtle{color:#92aaa0}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:#8abfa7;font-weight:700}h1{font-size:27px;letter-spacing:-.9px;margin:9px 0 15px}h2{font-size:19px;letter-spacing:-.3px;margin:0 0 16px}h3{font-size:15px;margin:0 0 12px}p{line-height:1.55}.datebar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.datebar input{max-width:160px}.donut{height:240px;width:240px;border-radius:50%;background:conic-gradient(#79ddad var(--fill),#28423a 0);display:grid;place-items:center;margin:10px auto 16px}.donutcore{background:#122522;border-radius:50%;height:178px;width:178px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.big{font-size:35px;font-weight:750;letter-spacing:-1.8px;font-variant-numeric:tabular-nums}.donutcore .big{font-size:31px}.small{font-size:12px}.metricgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{background:#1b3730;padding:14px;border-radius:13px}.metric strong{display:block;font-size:19px;margin:6px 0}.metric span{font-size:12px;color:#98b5a8}.progressbar{height:8px;background:#29473c;border-radius:20px;overflow:hidden;margin-top:12px}.progressbar>div{height:100%;background:#8ce0b2}.macro{margin:17px 0}.macro .line{display:flex;justify-content:space-between}.list{display:flex;flex-direction:column;gap:9px}.item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #29453c;border-radius:12px;padding:13px;background:#162e28}.item .name{font-weight:650}.item .detail{font-size:12px;color:#9aada5;margin-top:3px}.item .right{text-align:right;white-space:nowrap}.item button{background:transparent;color:#d6a8a8;border:0;padding:5px}.btn{border:0;border-radius:12px;padding:12px 16px;background:#83dbab;color:#10271d;font-weight:750}.btn.secondary{background:#23483d;color:#c9f4df}.btn.ghost{background:transparent;border:1px solid #436155;color:#e5f4e9}.btn.warn{background:#522f2f;color:#ffd7d7}.buttons{display:flex;gap:9px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label{font-size:12px;color:#a9c3b7;font-weight:600}.field input,.field select,.field textarea, input[type=date]{width:100%;background:#0d201c;color:#f2fbf5;border:1px solid #38594b;border-radius:10px;padding:11px;min-width:0}.field input:focus,.field select:focus{outline:2px solid #67c99a;outline-offset:1px}.field input[type=checkbox]{width:auto}.notice{border-left:3px solid #87d4ad;padding:12px 14px;background:#1b3a2e;color:#bfe8d2;border-radius:7px;line-height:1.45;font-size:13px;margin:12px 0}.warnnote{border-left-color:#e4bc7c;background:#352d20;color:#f4daaa}.sep{border:0;border-top:1px solid #2c473c;margin:18px 0}.chip{display:inline-block;background:#264d3f;color:#b7e9cd;padding:5px 9px;border-radius:20px;font-size:11px;margin-right:5px}.value{font-size:25px;font-weight:750;font-variant-numeric:tabular-nums}.empty{padding:24px;text-align:center;border:1px dashed #345547;border-radius:14px;color:#a4b8af}.photo{max-width:100%;max-height:280px;border-radius:10px;object-fit:contain}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.photoThumb{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:#224239}.spark{width:100%;height:180px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.help{font-size:12px;color:#a1b7ad;line-height:1.5}.pill{border:1px solid #46715d;border-radius:16px;padding:6px 10px;font-size:12px;color:#a7dec0}.right{text-align:right}footer{color:#7e9b8d;font-size:11px;text-align:center;padding:22px}.status{font-size:12px;color:#a8e0b8}.horiz{display:flex;gap:9px;flex-wrap:wrap}.horiz button{flex:1}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#b5efd1;color:#163427;padding:12px 20px;border-radius:12px;box-shadow:0 9px 30px #0009;z-index:10;max-width:90vw}.hide{display:none!important}@media(max-width:720px){.top{padding:18px 16px 13px}.tabs{padding:0 10px 14px}.tabs button{padding:9px 11px;font-size:13px}main{padding:0 12px 26px}.hero,.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:17px;margin-bottom:12px;border-radius:16px}.metricgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:10px}.metric strong{font-size:16px}.metric span{font-size:10px}.donut{width:215px;height:215px}.donutcore{width:157px;height:157px}.photos{grid-template-columns:repeat(2,1fr)}h1{font-size:24px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .15s}button:active{transform:scale(.98)}}

/* v1.1.2 mobile layout refinements */
.buttons.mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.buttons.mode-buttons .btn{width:100%;padding:14px 12px}.item{align-items:flex-start}.item .right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.item .right button{align-self:flex-end}.compactHelp{font-size:12px;color:#a1b7ad;line-height:1.45;margin:8px 0 0}.miniInfo{margin:10px 0}.miniInfo summary{list-style:none;display:flex;justify-content:flex-end;cursor:pointer}.miniInfo summary::-webkit-details-marker{display:none}.miniInfo summary::before{content:"i";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#18312d;border:1px solid #436155;color:#d8eee5;font-weight:800}.miniInfo[open] summary::before{background:#22483d;color:#c2ffe0}.miniInfoBody{margin-top:10px;background:#10211e;border:1px solid #29423a;border-radius:14px;padding:12px 14px;color:#a1b7ad;font-size:13px;line-height:1.55}.pill{display:inline-flex;align-items:center;min-height:32px}.field input,.field select,.field textarea,input[type=date]{min-height:48px}.btn{min-height:48px}.tabs{scroll-padding:0 12px}.tabs button{min-height:44px}.empty{font-size:14px}.notice{margin-top:12px}@media(max-width:860px){.hero,.grid2,.grid3{grid-template-columns:1fr!important}.top{padding:16px 14px 12px}.brand strong{font-size:22px}.brand small{font-size:8px;letter-spacing:1.6px}.iconbtn{padding:10px 12px}.tabs{padding:0 12px 12px}.tabs button{font-size:14px;padding:10px 12px}.panel{padding:16px;border-radius:16px}.row{flex-direction:column;align-items:stretch}.row>.btn,.row>button{width:100%}.metricgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.buttons>.btn,.buttons>button{width:100%;min-width:0}.buttons.mode-buttons{grid-template-columns:1fr}.item{flex-direction:column;align-items:stretch}.item .right{width:100%;flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.item .right button{align-self:auto}.photos{grid-template-columns:repeat(2,1fr)}main{padding:0 12px 24px}}@media(max-width:460px){.metricgrid{grid-template-columns:1fr}.buttons{grid-template-columns:1fr}.donut{width:200px;height:200px}.donutcore{width:146px;height:146px}.brand{gap:9px}.brand strong{font-size:21px}}
/* Forma 1.2: bottom navigation and mobile dashboard */
.bottomNav{display:none}.aiResult{background:#162d27;border:1px solid #3e7158;padding:14px;border-radius:14px;margin:12px 0}.aiResult pre{white-space:pre-wrap;word-break:break-word;font:inherit;color:#d0eadd}.aiResult .field{margin:9px 0}.aiNotice{font-size:12px;color:#96b6a5;margin-top:8px}.aiResult .btn{width:100%;margin-top:8px}.btn:focus-visible,.bottomNav button:focus-visible{outline:2px solid #8fe2bd;outline-offset:2px}
@media(max-width:860px){.tabs{display:none}.shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.bottomNav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(66px + env(safe-area-inset-bottom));padding:4px 6px env(safe-area-inset-bottom);background:#102522;border-top:1px solid #37604e;z-index:20}.bottomNav button{border:0;background:none;color:#9bbbad;font-size:23px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.bottomNav button span{font-size:10px;line-height:1.1}.bottomNav button.active{color:#89e6b6;background:#1f4438;border-radius:13px}.top{padding:12px 16px 12px}.datebar h1{font-size:22px;margin-bottom:8px}.panel{margin-bottom:12px}.metricgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:10px 7px}.metric strong{font-size:15px}.metric span{font-size:10px}.hero .panel{padding:15px}.hero .donut{width:185px;height:185px;margin:4px auto 10px}.hero .donutcore{width:137px;height:137px}.hero .donutcore .big{font-size:27px}.miniInfo summary{justify-content:flex-start}.buttons.mode-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.buttons.mode-buttons .btn{font-size:12px;padding:9px 5px;min-height:50px;overflow-wrap:anywhere}.buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.item .detail{overflow-wrap:anywhere}.item{min-width:0}.top .brand small{font-size:8px}}
@media(max-width:380px){.buttons.mode-buttons{grid-template-columns:1fr 1fr}.buttons.mode-buttons .btn:last-child{grid-column:span 2}.metric strong{font-size:13px}.metric span{font-size:9px}}

/* v1.3 OFF lookup */
.off-panel{margin-bottom:16px}.off-head{display:flex;gap:8px;align-items:start;justify-content:space-between}.off-head h2{margin-bottom:3px}.off-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.off-search input{background:#0d201c;color:#f2fbf5;border:1px solid #38594b;border-radius:12px;padding:12px;min-width:0;min-height:48px}.off-search button{white-space:nowrap}.off-results{display:grid;gap:8px;margin-top:12px}.off-product{background:#162e28;border:1px solid #29453c;border-radius:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.off-product-text{min-width:0;display:grid;gap:5px}.off-product-text strong{line-height:1.3}.off-product-text span{font-size:12px;color:#a2beb0}.off-warning{color:#f1d3a2!important}.off-product button{flex-shrink:0}@media(max-width:500px){.off-product{align-items:stretch;flex-direction:column}.off-product button{width:100%}.off-search{grid-template-columns:1fr}.off-search button{width:100%}}

/* Forma 1.4: per-device colour themes */
:root{--accent:#83dbab;--accent-soft:#22483d;--accent-ink:#10271d;--accent-outline:#436155;--accent-light:#c9f4df}
:root[data-theme="blue"]{--accent:#75b9fa;--accent-soft:#24465d;--accent-ink:#09253a;--accent-outline:#47758a;--accent-light:#d8efff}
:root[data-theme="violet"]{--accent:#c2a3fa;--accent-soft:#45345d;--accent-ink:#26153c;--accent-outline:#79648e;--accent-light:#f1e8ff}
:root[data-theme="orange"]{--accent:#f3a581;--accent-soft:#563a32;--accent-ink:#3a2018;--accent-outline:#956b58;--accent-light:#fff0e7}
.btn:not(.secondary):not(.ghost):not(.warn){background:var(--accent);color:var(--accent-ink)}
.btn.secondary,.tabs button.active,.bottom-nav .active,.bottom-nav button.active{background:var(--accent-soft);color:var(--accent-light)}
.btn.ghost{border-color:var(--accent-outline)}
.brandmark,.eyebrow,.status{color:var(--accent)}
.donut{background:conic-gradient(var(--accent) var(--fill),#28423a 0)}
.progressbar>div{background:var(--accent)}
.theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.theme-option{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:1px solid #38594b;background:#142b26;color:#d6e9dd;border-radius:12px;padding:9px 5px}.theme-option.selected{border:2px solid var(--accent);background:var(--accent-soft);color:var(--accent-light);font-weight:700}.theme-swatch{display:inline-block;width:15px;height:15px;border-radius:50%;flex-shrink:0}.theme-swatch.mint{background:#83dbab}.theme-swatch.blue{background:#75b9fa}.theme-swatch.violet{background:#c2a3fa}.theme-swatch.orange{background:#f3a581}
@media(max-width:600px){.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Forma 1.5: extended themes and black/bright backgrounds */
:root[data-theme="forest"]{--accent:#64d994;--accent-soft:#214b36;--accent-ink:#0b2516;--accent-light:#d5ffe3}
:root[data-theme="ocean"]{--accent:#53d5d7;--accent-soft:#17464a;--accent-ink:#092b2d;--accent-light:#d7ffff}
:root[data-theme="rose"]{--accent:#f2a1c1;--accent-soft:#563044;--accent-ink:#381422;--accent-light:#ffe1ee}
:root[data-theme="bordeaux"]{--accent:#df8b9b;--accent-soft:#4b2632;--accent-ink:#300e1c;--accent-light:#ffe0e7}
:root[data-theme="sand"]{--accent:#e8be82;--accent-soft:#4a3b2e;--accent-ink:#382716;--accent-light:#fff0d5}
:root[data-theme="graphite"]{--accent:#cad3dc;--accent-soft:#303841;--accent-ink:#141b20;--accent-light:#f2f4f7}
:root[data-theme="black"]{--accent:#83dbab;--accent-soft:#1e3329;--accent-ink:#091b12;--accent-light:#d9ffe8}
:root[data-theme="black-blue"]{--accent:#75b9fa;--accent-soft:#1b3046;--accent-ink:#091f32;--accent-light:#def1ff}
:root[data-theme="black-orange"]{--accent:#f6ae74;--accent-soft:#432c1e;--accent-ink:#2a1808;--accent-light:#fff0dd}
:root[data-theme="light"]{--accent:#117856;--accent-soft:#d6eee3;--accent-ink:#fff;--accent-light:#0a593f;--accent-outline:#83b9a2}
:root[data-theme="graphite"],:root[data-theme="black"],:root[data-theme="black-blue"],:root[data-theme="black-orange"],:root[data-theme="light"]{--surface-main:#0a1716;--surface-card:#122522;--surface-card-soft:#162e28;--surface-panel:#1b3730;--surface-input:#0d201c;--surface-nav:#102522;--surface-border:#29423a;--foreground:#e9f4f0;--muted-color:#a1b7ad;--ring-track:#28423a}
:root[data-theme="graphite"]{--surface-main:#14171b;--surface-card:#20252b;--surface-card-soft:#262d34;--surface-panel:#303842;--surface-input:#171c22;--surface-nav:#191d23;--surface-border:#3b454e;--foreground:#f4f6f8;--muted-color:#aeb9c4;--ring-track:#39444f}
:root[data-theme="black"],:root[data-theme="black-blue"],:root[data-theme="black-orange"]{--surface-main:#000;--surface-card:#101010;--surface-card-soft:#181818;--surface-panel:#1b1b1b;--surface-input:#0d0d0d;--surface-nav:#080808;--surface-border:#303030;--foreground:#f5f5f5;--muted-color:#bababa;--ring-track:#292929}
:root[data-theme="light"]{--surface-main:#f5f7f6;--surface-card:#fff;--surface-card-soft:#f1f5f3;--surface-panel:#e9f1ed;--surface-input:#fff;--surface-nav:#fff;--surface-border:#d1dcd6;--foreground:#172824;--muted-color:#536b61;--ring-track:#dbeae2}
:root[data-theme="graphite"],:root[data-theme^="black"],:root[data-theme="light"]{background:var(--surface-main);color:var(--foreground)}
:root[data-theme="graphite"] body,:root[data-theme^="black"] body,:root[data-theme="light"] body{background:var(--surface-main);color:var(--foreground)}
:root[data-theme="graphite"] .panel,:root[data-theme^="black"] .panel,:root[data-theme="light"] .panel{background:var(--surface-card);border-color:var(--surface-border)}
:root[data-theme="graphite"] .item,:root[data-theme^="black"] .item,:root[data-theme="light"] .item,:root[data-theme="graphite"] .off-product,:root[data-theme^="black"] .off-product,:root[data-theme="light"] .off-product{background:var(--surface-card-soft);border-color:var(--surface-border)}
:root[data-theme="graphite"] .metric,:root[data-theme^="black"] .metric,:root[data-theme="light"] .metric{background:var(--surface-panel)}
:root[data-theme="graphite"] .donutcore,:root[data-theme^="black"] .donutcore,:root[data-theme="light"] .donutcore{background:var(--surface-card)}
:root[data-theme="graphite"] .donut,:root[data-theme^="black"] .donut,:root[data-theme="light"] .donut{background:conic-gradient(var(--accent) var(--fill),var(--ring-track) 0)}
:root[data-theme="graphite"] .bottomNav,:root[data-theme^="black"] .bottomNav,:root[data-theme="light"] .bottomNav{background:var(--surface-nav);border-color:var(--surface-border)}
:root[data-theme="graphite"] input,:root[data-theme^="black"] input,:root[data-theme="light"] input,:root[data-theme="graphite"] select,:root[data-theme^="black"] select,:root[data-theme="light"] select,:root[data-theme="graphite"] textarea,:root[data-theme^="black"] textarea,:root[data-theme="light"] textarea{background:var(--surface-input);color:var(--foreground);border-color:var(--surface-border)}
:root[data-theme="graphite"] .miniInfoBody,:root[data-theme^="black"] .miniInfoBody,:root[data-theme="light"] .miniInfoBody{background:var(--surface-card-soft);color:var(--foreground);border-color:var(--surface-border)}
:root[data-theme="graphite"] .theme-option,:root[data-theme^="black"] .theme-option,:root[data-theme="light"] .theme-option{background:var(--surface-card-soft);color:var(--foreground);border-color:var(--surface-border)}
:root[data-theme="graphite"] .subtle,:root[data-theme^="black"] .subtle,:root[data-theme="light"] .subtle,:root[data-theme="graphite"] .help,:root[data-theme^="black"] .help,:root[data-theme="light"] .help,:root[data-theme="graphite"] .compactHelp,:root[data-theme^="black"] .compactHelp,:root[data-theme="light"] .compactHelp{color:var(--muted-color)}
:root[data-theme="light"] .notice{background:#eaf4ed;color:#24533e}:root[data-theme="light"] .miniInfo summary::before{background:#e5efe9;color:#1b5b43}:root[data-theme="light"] .bottomNav button{color:#536b61}
:root[data-theme="black"],:root[data-theme="black-blue"],:root[data-theme="black-orange"]{color-scheme:dark}:root[data-theme="light"]{color-scheme:light}
.theme-options{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-option{flex-direction:column;gap:6px;min-width:0;line-height:1.2;font-size:12px}.theme-swatch{width:24px;height:24px}.theme-swatch.forest{background:#64d994}.theme-swatch.ocean{background:#53d5d7}.theme-swatch.rose{background:#f2a1c1}.theme-swatch.bordeaux{background:#b44c62}.theme-swatch.sand{background:#e8be82}.theme-swatch.graphite{background:#505963;border:1px solid #99a3ad}.theme-swatch.black{background:#000;border:2px solid #83dbab}.theme-swatch.black-blue{background:#000;border:2px solid #75b9fa}.theme-swatch.black-orange{background:#000;border:2px solid #f6ae74}.theme-swatch.light{background:#f5f7f6;border:2px solid #117856}
@media(max-width:650px){.theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Forma 1.5.1 macro dashboard */
.macro .line{align-items:flex-start;gap:12px}.macro .line>span:first-child{min-width:0;flex:1}.macroValues{text-align:right;display:flex;flex-direction:column;gap:2px;white-space:nowrap;font-variant-numeric:tabular-nums}.macroValues strong{font-weight:650}.macroValues small{font-size:12px;color:var(--muted,#9eb7ac);font-weight:450}.macro{margin:18px 0 22px}

/* Forma 1.8.2: edit existing meals */
.entry-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.entry-actions .edit-entry{font-size:12px;min-height:36px;padding:8px 10px}.entry-actions .delete-entry{min-width:36px;min-height:36px;border-radius:9px;color:#ffb6b6;background:#3e2727;padding:6px}.entry-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:16px}.entry-dialog{background:#142823;color:#e9f4f0;border:1px solid #456958;border-radius:20px;padding:20px;width:min(100%,420px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 16px 64px #0009}.entry-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.entry-dialog-top h2{margin:0}.entry-dialog-close{border:0;background:#244337;color:inherit;border-radius:10px;width:38px;height:38px;font-size:18px}.entry-dialog-food{margin:14px 0;color:#afc8bc;line-height:1.4}.entry-preview{padding:12px 0;margin-bottom:8px;font-size:13px;color:#bce4ce}.entry-dialog-actions{display:flex;gap:10px}.entry-dialog-actions>*{flex:1;min-width:0}@media(max-width:480px){.entry-dialog-backdrop{align-items:flex-end;padding:0}.entry-dialog{border-radius:20px 20px 0 0;width:100%;padding:22px 18px max(22px,env(safe-area-inset-bottom))}.item .entry-actions{margin-left:auto}}

/* Forma 1.8.3: dashboard summary and per-food macros */
.body-overview{margin-bottom:4px}.body-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.body-heading h2{margin:6px 0 0}.body-heading .btn{padding:8px 12px;font-size:13px;min-height:40px;white-space:nowrap}.body-summary{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:10px;align-items:stretch}.body-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.body-stat{background:#1b3730;background:var(--card-soft,#1b3730);padding:12px 10px;border-radius:13px;min-width:0}.body-stat span{display:block;font-size:12px;color:var(--muted,#98b5a8)}.body-stat strong{display:block;font-size:20px;white-space:nowrap;margin-top:5px}.body-meta{grid-column:1/-1;color:var(--muted,#98b5a8);font-size:11px}.recent-photo{border:1px solid var(--border,#29423a);border-radius:13px;min-height:116px;background:var(--card-soft,#1b3730);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.recent-photo img{display:block;width:100%;height:100px;object-fit:cover}.recent-photo span{font-size:10px;color:var(--muted,#98b5a8);padding:4px}.entry-macros{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:6px;font-size:11px;color:var(--muted,#98b5a8)}.entry-macros span{white-space:nowrap}.item>div:first-child{min-width:0;flex:1}.item .name{overflow-wrap:anywhere}@media(max-width:420px){.body-summary{grid-template-columns:minmax(0,1fr) 92px}.body-stat strong{font-size:18px}.body-stat{padding:10px 8px}.recent-photo img{height:90px}}
/* Forma 2.0 focused mobile workflows */
.usageDetails{margin:12px 0}.usageDetails>summary{color:var(--muted,#a1b7ad);font-size:12px;cursor:pointer;list-style:none}.usageDetails>summary:before{content:"ⓘ ";font-weight:700}.usageDetails>.metricgrid{margin-top:12px}.mealGroups{display:grid;gap:10px}.mealGroup{background:var(--card,#172b26);border:1px solid var(--border,#365246);border-radius:14px;overflow:hidden}.mealGroup>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 14px;list-style:none}.mealGroup>summary::-webkit-details-marker{display:none}.mealGroup>summary strong{display:block;font-size:15px}.mealGroup>summary small{display:block;color:var(--muted,#a1b7ad);font-size:11px;margin-top:3px}.mealTotal{font-size:14px;white-space:nowrap;font-weight:700}.mealGroupContents{padding:0 8px 8px;display:grid;gap:7px}.compactEntry{margin:0;border-radius:10px;padding:11px}.captureOverlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center}.captureShade{position:absolute;inset:0;background:rgba(0,0,0,.66)}.captureSheet{position:relative;width:min(550px,100%);max-height:90dvh;overflow:auto;padding:12px 18px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--card,#132923);border:1px solid var(--border,#325244);box-shadow:0 -8px 45px #0007}.captureHandle{width:40px;height:5px;border-radius:10px;background:#879a91;margin:0 auto 12px}.captureSheetHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.captureSheetHead h2{margin:0}.captureChoices{display:grid;gap:9px}.captureChoices button{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;column-gap:12px;border:1px solid var(--border,#355549);border-radius:14px;background:var(--card2,#1c382f);color:inherit;padding:13px 14px;min-height:68px}.captureChoices button>span{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(125,215,166,.16);font-size:25px}.captureChoices button strong{font-size:15px}.captureChoices button small{font-size:12px;color:var(--muted,#a1b7ad)}@media(max-width:600px){.hero{display:flex;flex-direction:column}.donut{width:174px;height:174px}.donutcore{width:125px;height:125px}.donutcore .big{font-size:25px}.panel{padding:15px}.mealGroupContents .item{flex-direction:row;align-items:flex-start}.mealGroupContents .item .right{width:auto;display:flex;flex-direction:column;align-items:flex-end}.mealGroupContents .entry-actions{display:flex;align-items:center;gap:4px}.mealGroupContents .edit-entry{font-size:12px;padding:7px;min-height:36px}.datebar{align-items:center}.datebar h1{margin-bottom:6px}}
/* Forma 2.1 – mobile concentric macro dashboard */
.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-heading h2{margin:6px 0 0}.card-heading .miniInfo{margin:0}.calorie-panel .donut{box-shadow:0 0 30px rgba(88,175,130,.09);width:212px;height:212px}.calorie-panel .donutcore{width:160px;height:160px}.calorie-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.macro-ring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.macro-ring-card{min-width:0;text-align:center;padding:16px 8px 14px;border:1px solid var(--border,#2a443b);border-radius:17px;background:var(--card2,#19342e)}.macro-ring-heading{font-weight:700;font-size:12px;min-height:20px}.mini-ring-wrap{width:106px;height:106px;position:relative;margin:5px auto}.mini-ring-svg{width:100%;height:100%;display:block}.mini-ring-track{stroke:var(--ring-track,#365148)}.mini-ring-value{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.mini-ring-value strong{font-size:22px;font-weight:800;letter-spacing:-.6px}.mini-ring-value span{font-size:10px;color:var(--muted,#9aada5)}.mini-ring-grams{font-size:20px;font-weight:800;white-space:nowrap}.mini-ring-grams span{font-size:13px;font-weight:500;color:var(--muted,#9aada5)}.mini-ring-energy{font-size:12px;font-weight:600;margin-top:2px}.mini-ring-goal{font-size:10px;color:var(--muted,#9aada5);margin-top:7px}.macro-summary{margin-top:14px;border-top:1px solid var(--border,#2a443b);padding-top:12px;display:grid;gap:10px}.macro-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.macro-summary span{font-size:12px;color:var(--muted,#9aada5)}.macro-summary strong{font-size:13px;white-space:nowrap}.macro-summary small{color:var(--muted,#9aada5);font-weight:400}.macro-panel>.sep:first-of-type{margin-top:20px}@media(max-width:600px){.calorie-panel .donut{width:198px;height:198px}.calorie-panel .donutcore{width:145px;height:145px}.macro-ring-grid{gap:6px}.macro-ring-card{padding:12px 4px}.mini-ring-wrap{width:89px;height:89px}.mini-ring-value strong{font-size:18px}.mini-ring-svg{width:89px;height:89px}.macro-ring-heading{font-size:11px}.mini-ring-grams{font-size:18px}.mini-ring-energy{font-size:11px}.mini-ring-goal{font-size:9px}.calorie-action{flex-direction:column;align-items:stretch}.calorie-action>.btn{width:100%}}
@media(max-width:365px){.mini-ring-wrap,.mini-ring-svg{width:75px;height:75px}.macro-ring-card{padding:10px 2px}.mini-ring-value strong{font-size:16px}.mini-ring-grams{font-size:16px}.macro-ring-heading{font-size:10px}}

/* Forma 2.1.1: calorie and macro rings share one dashboard card */
.integrated-macros{border-top:1px solid var(--surface-border,#29423a);margin-top:16px;padding-top:17px}
.integrated-macros-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.integrated-macros-title .miniInfo{margin:0}
.integrated-macros .macro-ring-grid{margin-top:10px}
.integrated-macros .macro-ring-card{padding:11px 5px 10px;border-radius:13px}
.integrated-macros .macro-summary{margin-top:12px;padding-top:10px}
.overview-panel>.sep:first-child{display:none}
@media(max-width:600px){.calorie-panel .donut{width:178px;height:178px;margin:0 auto 9px}.calorie-panel .donutcore{width:132px;height:132px}.calorie-panel .donutcore .big{font-size:27px}.calorie-panel .calorie-action{margin-bottom:8px}.integrated-macros{margin-top:12px;padding-top:13px}.integrated-macros .macro-ring-grid{gap:6px}.integrated-macros .macro-ring-card{padding:9px 3px 10px}.integrated-macros .mini-ring-wrap,.integrated-macros .mini-ring-svg{width:76px;height:76px}.integrated-macros .mini-ring-value strong{font-size:17px}.integrated-macros .mini-ring-grams{font-size:16px}.integrated-macros .mini-ring-energy{font-size:10px}.integrated-macros .mini-ring-goal{font-size:9px}.integrated-macros .macro-summary{gap:7px}}

/* Forma 2.1.2: single reference-inspired calorie + macros surface */
.calorie-visual{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin:10px 0 6px}
.calorie-visual .donut{margin:0;flex-shrink:0}
.calorie-side{display:flex;flex-direction:column;text-align:center;align-items:center;min-width:0;gap:3px}
.calorie-side span{font-size:12px;color:var(--muted,#96aaa0)}
.calorie-side strong{font-size:clamp(15px,2.8vw,25px);font-weight:750;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.calorie-side small{font-size:11px;color:var(--muted,#96aaa0)}
.calorie-action{justify-content:center;text-align:center}
.calorie-panel .integrated-macros{margin-top:18px}
.calorie-panel .macro-ring-card{background:transparent;border:0;border-radius:0;padding:8px 2px}
.calorie-panel .macro-ring-heading{font-size:12px;min-height:26px;display:flex;align-items:center;justify-content:center}
.calorie-panel .mini-ring-value strong{font-size:19px}
.calorie-panel .mini-ring-grams{font-size:18px;letter-spacing:-.4px}
.calorie-panel .mini-ring-grams span{font-size:11px}
.calorie-panel .mini-ring-goal{color:var(--muted,#9aada5);font-size:10px}
@media(max-width:600px){
.calorie-visual{gap:4px}
.calorie-panel .calorie-visual .donut{width:156px;height:156px;margin:0}
.calorie-panel .calorie-visual .donutcore{width:118px;height:118px}
.calorie-panel .calorie-visual .donutcore .big{font-size:25px}
.calorie-side span{font-size:10px}.calorie-side strong{font-size:16px}.calorie-side small{font-size:10px}
.calorie-panel .macro-ring-heading{font-size:10px;min-height:28px}
.calorie-panel .macro-ring-card{padding:7px 1px}
.calorie-panel .mini-ring-value strong{font-size:15px}
.calorie-panel .mini-ring-grams{font-size:15px}
.calorie-panel .mini-ring-grams span{font-size:10px}
.calorie-panel .mini-ring-energy{font-size:10px}
.calorie-panel .mini-ring-goal{font-size:9px}
.calorie-panel .calorie-action>.btn{width:100%}
}
@media(max-width:365px){.calorie-panel .calorie-visual .donut{width:140px;height:140px}.calorie-panel .calorie-visual .donutcore{width:104px;height:104px}.calorie-side strong{font-size:14px}}

.calorie-panel .calorie-action{display:flex;justify-content:center;flex-direction:column;margin-top:11px}.calorie-overrun{color:#ffc1ad;font-weight:700;font-size:12px}.calorie-panel .calorie-action .btn{width:100%}

/* 2.1.3 mobile dashboard fix and visible build marker */
.build-marker{display:inline-block;vertical-align:middle;font-size:10px;font-weight:650;letter-spacing:.02em;border:1px solid var(--border,#47534d);border-radius:8px;padding:3px 6px;color:var(--muted,#9eada6)}
.calorie-panel .integrated-macros{border-top:1px solid var(--border,#333);padding-top:12px;margin-top:15px}
.calorie-panel .macro-ring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.calorie-panel .macro-ring-card{min-width:0}
.calorie-panel .mini-ring-svg{max-width:100%}

/* Forma 3.0 additions */
.date-controls,.day-nav{display:flex;align-items:center;gap:8px}.day-nav button{border:1px solid var(--line,#59625e);border-radius:10px;background:transparent;color:inherit;padding:9px 13px;font:inherit;min-height:38px}.date-controls input{max-width:155px}.trend-summary{margin:10px 0;display:grid;gap:9px}.trend-summary>div{display:grid;gap:2px}.trend-summary small{font-size:11px;color:var(--muted,#a9b7af)}#librarySearch,#recipeSearch{width:100%;padding:12px;margin:8px 0 14px;border-radius:12px}.photoThumb{cursor:zoom-in}.photo-modal{position:fixed;inset:0;z-index:9999;overflow:auto;background:#0b1110ee;color:white;padding:22px;display:flex;align-items:center;flex-direction:column;gap:18px}.photo-modal>img{max-width:100%;max-height:75vh;object-fit:contain}.photo-close{align-self:end;background:#233b35;color:white;border:0;border-radius:10px;padding:12px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:650px}.compare-grid img{width:100%;object-fit:contain;max-height:40vh}.compare-overlay{position:relative;width:min(90vw,450px);height:350px}.compare-overlay img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.compare-overlay img:last-child{clip-path:inset(0 50% 0 0)}@media(max-width:410px){.date-controls{flex-wrap:wrap;justify-content:flex-end}.day-nav button{padding:7px 10px}}

[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.export-options{display:grid;gap:12px;margin:18px 0}.export-options label{display:flex;gap:10px;align-items:center}.export-options input{width:auto;min-height:24px}
.entry-dialog{max-height:90dvh;overflow-y:auto}
#onStepLabel{color:var(--accent,#a6f4cc);font-weight:700}
#onboardingImport:focus-visible{outline:2px solid currentColor}
