/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--app-bg:#14213d;--app-surface:#1b2a4b;--app-raised:#22335a;--app-ink:#f5f3ee;--app-on-ink:#14213d;--app-muted:#a3aec2;--app-line:#2b3c62;--app-line-soft:#23345a;--app-track:#2b3c62;--app-pill:#3d5079;--app-warn:#cdb8ff;--app-warn-bg:#2e2a57;--app-danger:#f5f3ee;--app-focus:#f5f3ee33;--app-shadow:#0408148c;--app-scrim:#060a18a6;--protein:#e76f51;--carbs:#f4b942;--fat:#2ba597;--weight:#5e8ff0;--display:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color-scheme:dark}html,body{background:var(--app-bg);color:var(--app-ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.45}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--app-ink);outline-offset:2px}a{color:inherit}.screen{height:100dvh;padding-top:env(safe-area-inset-top,0px);box-sizing:border-box}.tabbar{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}.footer{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}.flash{background:var(--app-raised);border:1px solid var(--app-pill);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:0 16px 10px;padding:10px 12px;font-size:14px;display:flex}.flash.alert{background:var(--app-warn-bg);color:var(--app-warn);border-color:#0000}.flash form{margin:0}.field-error{color:var(--app-warn);font-size:13px}.button_to{display:contents}.screen{background:var(--app-bg);height:100%;color:var(--app-ink);font-family:var(--sans);flex-direction:column;display:flex;overflow:hidden}.screen button,.desk button,.screen input,.desk input,.screen select,.desk select,.sheet button{font-family:inherit;line-height:1.3}.screen h1,.screen h2,.screen h3,.sheet h2,.desk h1,.desk h2,.desk h3,.bar-title .t,.page-head h1,.notes h2{font-family:var(--display);font-weight:600}.screen .sec,.sheet .sec,.desk .sec{font-family:var(--sans);font-weight:700}.screen,.desk,.sheet{font-variant-numeric:tabular-nums}.bar{flex:none;align-items:center;gap:4px;padding:12px 12px 8px;display:flex}.bar.center{justify-content:space-between}.bar.center .bar-title{text-align:center}.bar-title .t{font-size:18px;font-weight:700;line-height:1.3}.bar-title .s{color:var(--app-muted);font-size:13px}.iconbtn{width:44px;height:44px;color:var(--app-ink);cursor:pointer;background:0 0;border:0;border-radius:22px;flex:none;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{background:var(--app-track)}.iconbtn[disabled]{opacity:.3;cursor:default;background:0 0}.card{background:var(--app-surface);border:1px solid var(--app-line);border-radius:16px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--app-muted)}.sm{font-size:13px}.totals{border-radius:20px;flex-direction:column;flex:none;gap:12px;margin-top:4px;padding:14px 16px;display:flex}.totals .big{font-size:32px}.totals .cmp{gap:8px}.big{font-family:var(--mono);letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:44px;font-weight:600;line-height:1}.mlabel{color:var(--app-muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.dot{border-radius:2px;flex:none;width:8px;height:8px}.p-bg{background:var(--protein)}.c-bg{background:var(--carbs)}.f-bg{background:var(--fat)}.k-bg{background:var(--app-ink)}.cmp{flex-direction:column;gap:12px;display:flex}.cmp-row{grid-template-columns:64px minmax(0,1fr) 104px;align-items:center;gap:10px;display:grid}.cmp-label{color:var(--app-muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.cmp-bar{background:var(--app-track);border-radius:5px;height:10px;position:relative}.cmp-bar>span{border-radius:5px;position:absolute;top:0;bottom:0;left:0}.cmp-bar>i{background:var(--app-ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-5px;bottom:-5px}.cmp-val{text-align:right;line-height:1.3}.cmp-val .mono{font-size:13px}.cmp-sub{color:var(--app-muted);font-size:11px}.cmp-sub.warn{color:var(--app-warn);font-weight:700}.scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding:0 16px 16px;display:flex;overflow-y:auto}.meal{padding:4px 4px 4px 16px}.meal-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.meal-head .mh{align-items:baseline;gap:8px;min-width:0;display:flex}.meal-head .acts{display:flex}.meal h3{margin:0;font-size:16px}.items{margin:0;padding:0 12px 4px 0;list-style:none}.item{border:0;border-top:1px solid var(--app-line-soft);width:100%;color:var(--app-ink);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.item:hover .n{text-underline-offset:3px;text-decoration:underline}.item .n{font-size:15px}.item .sv{color:var(--app-muted);font-size:13px}.item .r{text-align:right;flex:none}.pcf{font-family:var(--mono);color:var(--app-muted);font-size:12px}.donebtn{background:var(--app-ink);height:36px;color:var(--app-on-ink);cursor:pointer;border:0;border-radius:18px;margin-right:4px;padding:0 16px;font-size:14px;font-weight:700}.meal.editing{background:var(--app-raised);border-color:var(--app-pill)}.eitem{border-top:1px solid var(--app-line-soft);padding:6px 0 10px}.eitem-top{align-items:center;gap:8px;display:flex}.eitem-top .n{flex:1;min-width:0;font-size:15px}.eitem-top .iconbtn{width:40px;height:40px;color:var(--app-muted)}.eitem-amt{align-items:center;gap:10px;margin-top:2px;display:flex}.mini{border:1px solid var(--app-line);background:var(--app-surface);border-radius:22px;align-items:center;display:flex}.mini button{width:40px;height:40px;color:var(--app-ink);cursor:pointer;background:0 0;border:0;border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.mini input{text-align:center;width:52px;height:36px;color:var(--app-ink);background:0 0;border:0;border-radius:8px;outline:none;font-size:16px}.mini input:focus{background:var(--app-track)}.eitem-amt .unitword{font-size:15px}.empty{color:var(--app-muted);margin:0;padding:0 0 6px;font-size:14px}.empty-wrap{flex-direction:column;align-items:flex-start;padding:0 12px 8px 0;display:flex}.tabbar{border-top:1px solid var(--app-line);background:var(--app-surface);flex:none;padding:4px 8px 10px;display:flex}.tabbar button{min-height:52px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:500;display:flex}.tabbar button[aria-current=page]{color:var(--app-ink);font-weight:700}.sec{letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted);margin:0 0 8px;font-size:12px;font-weight:700}.sec-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.sec-row .sec{margin:0}.pad{flex-direction:column;flex:none;gap:12px;padding:0 16px 12px;display:flex}.searchbox{background:var(--app-surface);border:1.5px solid var(--app-ink);border-radius:14px;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.searchbox input{min-width:0;color:var(--app-ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.tagrow{scrollbar-width:none;gap:8px;margin-inline:-16px;padding-inline:16px;display:flex;overflow-x:auto}.tagrow::-webkit-scrollbar{display:none}.pill{border:1px solid var(--app-pill);background:var(--app-surface);height:36px;color:var(--app-ink);cursor:pointer;white-space:nowrap;border-radius:18px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.pill[aria-pressed=true]{background:var(--app-ink);border-color:var(--app-ink);color:var(--app-on-ink)}.pill .count{font-family:var(--mono);opacity:.7;font-size:12px}.list{overflow:hidden}.rowwrap{border-top:1px solid var(--app-line-soft);align-items:center;display:flex}.rowwrap:first-child,.chkrow:first-child{border-top:0}.result{min-width:0;min-height:44px;color:var(--app-ink);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:12px 6px 12px 16px;display:flex}.result:hover{background:var(--app-bg)}.result .n{font-size:15px}.result .r{text-align:right;flex:none}.quick{border:1px solid var(--app-pill);margin-right:4px}.chkrow{border-top:1px solid var(--app-line-soft);align-items:center;gap:2px;padding-right:2px;display:flex}.chkrow label{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;min-height:56px;padding:8px 4px 8px 16px;display:flex}.chkrow input[type=checkbox]{width:22px;height:22px;accent-color:var(--app-ink);flex:none;margin:0}.chkrow .n{font-size:15px;display:block}.ghost{border:1px solid var(--app-ink);height:44px;color:var(--app-ink);cursor:pointer;background:0 0;border-radius:22px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;display:inline-flex}.center-col{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:8px 0 4px;display:flex}.cta{background:var(--app-ink);width:100%;height:52px;color:var(--app-on-ink);cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.cta[disabled]{opacity:.4;cursor:not-allowed}.cta .mono{opacity:.75;font-size:14px;font-weight:400}.footer{border-top:1px solid var(--app-line);background:var(--app-bg);flex:none;padding:12px 16px 16px}.footer-row{gap:10px;display:flex}.danger{border:1px solid var(--app-pill);height:52px;color:var(--app-danger);cursor:pointer;background:0 0;border-radius:16px;flex:none;padding:0 18px;font-size:15px;font-weight:700}.inline{justify-content:space-between;align-items:center;gap:12px;display:flex}.inline .sec{margin:0}.stepper{background:var(--app-surface);border:1px solid var(--app-line);border-radius:24px;align-items:center;gap:4px;padding:2px;display:flex}.stepper input.qty{text-align:center;width:64px;height:40px;font-family:var(--mono);color:var(--app-ink);background:0 0;border:0;border-radius:8px;outline:none;font-size:18px}.stepper input.qty:focus{background:var(--app-track)}.seg{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.segctl{align-items:center;gap:10px;display:flex}.segctl-label{color:var(--app-muted);flex:none;font-size:13px;font-weight:600}.segctl-opts{background:var(--app-surface);border:1px solid var(--app-line);border-radius:12px;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));padding:3px;display:grid}.segctl-opts .pill{background:0 0;border:0;border-radius:9px;height:38px;padding:0;font-size:13px}.segctl-opts .pill[aria-pressed=true]{background:var(--app-ink);color:var(--app-on-ink)}.seg3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.seg .pill,.seg3 .pill{border-radius:12px;height:44px;padding:0;font-size:13px}.seg3 .pill{flex-direction:column;gap:0;height:52px;line-height:1.2}.seg3 .pill small{opacity:.75;font-size:11px;font-weight:400}.after{color:var(--app-muted);margin:0;font-size:14px;line-height:1.5}.after .mono{color:var(--app-ink)}.hint{color:var(--app-muted);margin-top:6px;font-size:13px}.hint strong{color:var(--app-ink);font-weight:500}.nutline{border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.nutmacros{font-family:var(--mono);font-variant-numeric:tabular-nums;gap:12px;font-size:14px;display:flex}.nutmacros>span{align-items:center;gap:5px;display:inline-flex}.amount-row{align-items:center;gap:12px;display:flex}.unitword{font-size:17px;font-weight:700}.sizes{flex-wrap:wrap;gap:6px;display:flex}.sizes .pill{border-radius:12px;height:44px;padding:0 14px}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.grid4 .input{height:44px;padding:0 10px}.taglist{flex-wrap:wrap;gap:8px;display:flex}.tagrow .tag{white-space:nowrap;flex:none}.tag{background:var(--app-track);height:40px;color:var(--app-ink);cursor:pointer;border:0;border-radius:20px;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:14px;display:inline-flex}.tag svg{color:var(--app-muted)}.tag.add{border:1px dashed var(--app-pill);color:var(--app-muted);background:0 0;padding:0 12px}.tag.static{cursor:default;height:24px;padding:0 8px;font-size:12px}.tagform{gap:8px;display:flex}.tagform .input{flex:1;height:44px}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field>.lbl{color:var(--app-muted);font-size:13px;font-weight:500}.input{background:var(--app-surface);border:1px solid var(--app-pill);border-radius:12px;align-items:center;gap:8px;height:48px;padding:0 14px;display:flex}.input:focus-within{border-color:var(--app-ink);box-shadow:0 0 0 3px var(--app-focus)}.input input,.input select{width:100%;min-width:0;color:var(--app-ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}select option{background:var(--app-surface);color:var(--app-ink)}.input input:disabled{color:var(--app-muted)}.input .unit{font-family:var(--mono);color:var(--app-muted);font-size:14px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.check{background:var(--app-track);color:var(--app-ink);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.check.warn{background:var(--app-warn-bg);color:var(--app-warn)}.note{color:var(--app-muted);margin:0;font-size:13px}.brand{align-items:center;gap:10px;display:flex}.mark{flex-direction:column;gap:3px;display:flex}.mark span{border-radius:2px;height:4px;display:block}.linkbtn{color:var(--app-ink);text-underline-offset:3px;cursor:pointer;text-align:left;background:0 0;border:0;min-height:44px;padding:0 4px;font-size:13px;font-weight:700;text-decoration:underline}.pct{font-family:var(--mono);color:var(--app-muted);font-size:13px}.ptoast{z-index:5;box-sizing:border-box;background:var(--app-ink);min-height:44px;color:var(--app-on-ink);font-family:var(--sans);box-shadow:0 8px 24px var(--app-shadow);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:6px 6px 6px 14px;font-size:14px;font-weight:500;display:flex;position:absolute;bottom:90px;left:16px;right:16px}.ptoast button{height:36px;color:var(--app-on-ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:0 12px;font-weight:700;text-decoration:underline}.scrim{z-index:3;background:var(--app-scrim);position:absolute;inset:0}.sheet{z-index:4;box-sizing:border-box;background:var(--app-raised);max-height:88%;color:var(--app-ink);font-family:var(--sans);box-shadow:0 -10px 30px var(--app-shadow);border-radius:22px 22px 0 0;flex-direction:column;gap:14px;padding:8px 16px 20px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-head h2{margin:0;font-size:18px}.sheet .card{background:var(--app-surface)}.search-row{gap:8px;display:flex}.search-row .searchbox{flex:1;min-width:0}.scanbtn{border:1px solid var(--app-pill);background:var(--app-surface);width:48px;height:48px;color:var(--app-ink);cursor:pointer;border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.viewfinder{background:radial-gradient(120% 80% at 50% 40%,#3b4a68 0%,#1c2338 55%,#0b0f1c 100%);border-radius:20px;flex:1;min-height:0;margin:0 16px;position:relative;overflow:hidden}.vf-pack{opacity:.88;background:linear-gradient(160deg,#e9e4d8,#cfc8b8);border-radius:16px;position:absolute;inset:16% 18% 20%;transform:rotate(-4deg)}.vf-bars{background:repeating-linear-gradient(90deg,#1b1b1b 0 3px,#0000 3px 5px,#1b1b1b 5px 6px,#0000 6px 9px);height:22%;position:absolute;top:38%;left:22%;right:22%}.viewfinder.label .vf-bars{background:repeating-linear-gradient(#2a2a2a 0 2px,#0000 2px 13px);height:78%;top:10%;left:12%;right:12%}.vf-frame{height:26%;position:absolute;top:30%;left:14%;right:14%}.viewfinder.label .vf-frame{height:70%;top:12%;left:16%;right:16%}.vf-frame i{border:3px solid #f5f3ee;width:26px;height:26px;position:absolute}.vf-frame i:first-child{border-bottom:0;border-right:0;border-top-left-radius:8px;top:0;left:0}.vf-frame i:nth-child(2){border-bottom:0;border-left:0;border-top-right-radius:8px;top:0;right:0}.vf-frame i:nth-child(3){border-top:0;border-right:0;border-bottom-left-radius:8px;bottom:0;left:0}.vf-frame i:nth-child(4){border-top:0;border-left:0;border-bottom-right-radius:8px;bottom:0;right:0}.vf-hint{text-align:center;color:#f5f3ee;text-shadow:0 1px 6px #000000b3;margin:0;font-size:14px;font-weight:600;position:absolute;top:12px;left:0;right:0}.vf-result{background:var(--app-raised);box-shadow:0 10px 30px var(--app-shadow);flex-direction:column;gap:10px;padding:14px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.vf-result .row{gap:8px;display:flex}.vf-result .row>*{flex:1}.vf-busy{color:#f5f3ee;background:#0b0f1cb3;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex;position:absolute;inset:0}.spinner{border:3px solid #f5f3ee40;border-top-color:#f5f3ee;border-radius:50%;width:28px;height:28px}@media (prefers-reduced-motion:no-preference){.spinner{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}}.scan-controls{flex-direction:column;flex:none;gap:12px;padding:14px 16px 18px;display:flex}.scan-controls .segctl-opts .pill{height:40px}.shutter{border:4px solid var(--app-ink);cursor:pointer;background:0 0;border-radius:50%;align-self:center;width:72px;height:72px;padding:5px}.shutter span{background:var(--app-ink);border-radius:50%;width:100%;height:100%;display:block}.aibtn{border:1px dashed var(--app-pill);width:100%;height:44px;color:var(--app-ink);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.aibtn[disabled]{opacity:.5;cursor:wait}.aibanner{background:var(--app-raised);border:1px solid var(--app-pill);color:var(--app-ink);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.aibanner strong{font-weight:700}.input.ai{border-color:var(--app-ink);background:var(--app-raised)}.wlog{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wlog-row{align-items:center;gap:10px;display:flex}.wlog .stepper input.qty{width:76px;font-size:20px}.wstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.wtile{background:var(--app-surface);border:1px solid var(--app-line);border-radius:14px;min-width:0;padding:10px 12px}.wtile .l{color:var(--app-muted);font-size:12px}.wtile .v{white-space:nowrap;margin-top:2px;font-size:20px;font-weight:600}.wtile .s{color:var(--app-muted);font-size:11px}.wchart{padding:12px 14px 10px}.wchart-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.rseg{background:var(--app-bg);border:1px solid var(--app-line);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;display:grid}.rseg button{min-width:44px;height:32px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:13px;font-weight:600}.rseg button[aria-pressed=true]{background:var(--app-ink);color:var(--app-on-ink)}.legend{color:var(--app-muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.lg-line{background:var(--weight);border-radius:1px;width:16px;height:2px;display:inline-block}.lg-dot{border:1.5px solid var(--weight);box-sizing:border-box;border-radius:50%;width:8px;height:8px;display:inline-block}.lg-goal{border-top:1.5px dashed var(--app-muted);width:16px;display:inline-block}.chartbox{touch-action:pan-y;margin-top:6px;position:relative}.chartbox svg{width:100%;height:auto;display:block;overflow:visible}.chartbox svg:focus-visible{outline:2px solid var(--app-ink);outline-offset:4px;border-radius:6px}.chartbox .grid{stroke:var(--app-line);stroke-width:1px}.chartbox .ylab,.chartbox .xlab,.chartbox .glab{fill:var(--app-muted);font-size:11px;font-family:var(--sans)}.chartbox .goal{stroke:var(--app-muted);stroke-width:1.5px;stroke-dasharray:4 4}.chartbox .wdot{fill:var(--app-surface);stroke:var(--weight);stroke-width:1.5px}.chartbox .wline{fill:none;stroke:var(--weight);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chartbox .wend,.chartbox .hl{fill:var(--weight);stroke:var(--app-surface);stroke-width:2px}.chartbox .elab{fill:var(--app-ink);font-size:12px;font-weight:600;font-family:var(--sans)}.chartbox .cross{stroke:var(--app-muted);stroke-width:1px}.ctip{z-index:2;pointer-events:none;background:var(--app-raised);border:1px solid var(--app-pill);box-shadow:0 6px 18px var(--app-shadow);white-space:nowrap;color:var(--app-ink);border-radius:10px;padding:7px 10px;font-size:12px;line-height:1.45;position:absolute;top:-6px}.ctip strong{font-size:14px}.ctip span{color:var(--app-muted)}.wrow{border:0;border-top:1px solid var(--app-line-soft);width:100%;min-height:44px;color:var(--app-ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;display:grid}.wrow:first-child{border-top:0}.wrow:hover{background:var(--app-bg)}.wrow .c{text-align:right;color:var(--app-muted);font-size:13px}.wedit{border-top:1px solid var(--app-line-soft);background:var(--app-raised);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 8px 14px;display:flex}.wedit:first-child{border-top:0}.wedit .d{flex:90px;font-size:14px}.dw-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;margin-top:18px;display:grid}.dw-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dw-stats .wtile{padding:14px 16px}.dw-stats .wtile .v{font-size:24px}.dwrow{border-top:1px solid var(--app-line-soft);grid-template-columns:minmax(0,1fr) 52px 44px 68px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:grid}.dwrow>span:first-child{white-space:nowrap}.dwrow .acts{opacity:.6;justify-content:flex-end;gap:2px;display:flex}.dwrow:hover .acts,.dwrow:focus-within .acts{opacity:1}.desk{background:var(--app-bg);min-height:100dvh;color:var(--app-ink);font-family:var(--sans);font-size:15px}.dtop{background:var(--app-surface);border-bottom:1px solid var(--app-line);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:10px 28px;display:grid}.dleft{align-items:center;gap:24px;display:flex}.dtop .brand{font-size:20px}.dnav{gap:4px;display:flex}.dnav button{height:38px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:15px;font-weight:500}.dnav button:hover{color:var(--app-ink)}.dnav button[aria-current=page]{background:var(--app-track);color:var(--app-ink);font-weight:700}.datenav{align-items:center;gap:6px;display:flex}.datenav .d{text-align:center;min-width:250px;font-size:16px;font-weight:700}.datenav .d small{color:var(--app-muted);font-size:12px;font-weight:500;display:block}.dright{justify-content:flex-end;display:flex}.btn{border:1px solid var(--app-pill);background:var(--app-surface);height:40px;color:var(--app-ink);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--app-ink)}.btn.primary{background:var(--app-ink);border-color:var(--app-ink);color:var(--app-on-ink)}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.small{height:32px;padding:0 12px;font-size:13px}.ibtn{width:32px;height:32px;color:var(--app-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.ibtn:hover{background:var(--app-track);color:var(--app-ink)}.ibtn.del:hover{color:var(--app-danger)}.dbody{padding:24px 28px 32px}.dsum{border-radius:18px;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:40px;padding:22px 28px;display:grid}.desk .cmp-row{grid-template-columns:80px minmax(0,1fr) 150px;gap:16px}.desk .cmp-val .mono{font-size:14px}.desk .cmp-sub{font-size:12px}.dcols{grid-template-columns:minmax(0,1fr) clamp(420px,44vw - 100px,680px);align-items:start;gap:24px;margin-top:24px;display:grid}.dmeals{flex-direction:column;gap:14px;min-width:0;display:flex}.dstatus{min-height:32px;color:var(--app-muted);align-items:center;gap:10px;font-size:13px;display:flex}.dstatus:empty{display:none}.dmeal{overflow:hidden}.dmeal-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 12px 18px;display:flex}.dmeal-head h3{margin:0;font-size:16px}.dmeal-head .acts{gap:6px;display:flex}.dcopy{border-top:1px solid var(--app-line-soft);background:var(--app-raised);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;font-size:14px;display:flex}.drow{border-top:1px solid var(--app-line-soft);grid-template-columns:minmax(0,1fr) 180px 56px 44px 44px 44px 72px;align-items:center;gap:12px;padding:8px 18px;font-size:14px;display:grid}.drow .acts{opacity:.55;justify-content:flex-end;gap:4px;display:flex}.drow:hover .acts,.drow:focus-within .acts{opacity:1}.drow.head{letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted);padding-block:8px;font-size:11px;font-weight:700}.drow.total{border-top:0;font-weight:700}.drow.editrow{background:var(--app-raised)}.drow.editrow .acts{opacity:1}.damt{gap:6px;min-width:0;display:flex}.damt .sinput.q{width:58px}.damt select{flex:1;min-width:0}.dedit{border-top:1px solid var(--app-line-soft);background:var(--app-raised);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;font-size:14px;display:flex}.dedit .n{flex:180px;min-width:0;font-weight:500}.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.drow.head .num,.frow.head .num{font-family:var(--sans)}.dempty{color:var(--app-muted);align-items:center;gap:12px;padding:4px 18px 14px;font-size:14px;display:flex}.dempty .linkbtn{min-height:32px}.dpanel{border-radius:18px;flex-direction:column;gap:14px;padding:18px;display:flex}.dpanel h2{margin:0;font-size:18px}.dpanel>turbo-frame{flex-direction:column;gap:14px;display:flex}.dlist{border:1px solid var(--app-line);background:var(--app-surface);border-radius:12px;overflow:hidden}.dlist-head{border-bottom:1px solid var(--app-line-soft);letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.dlist-head .linkbtn{text-transform:none;letter-spacing:0;min-height:28px}.dres{border-top:1px solid var(--app-line-soft);grid-template-columns:minmax(0,1fr) 40px 28px 28px 28px 50px;align-items:center;gap:8px;padding-right:10px;font-size:13px;display:grid}.dres .btn{justify-self:end}.dlist-head.cols{grid-template-columns:minmax(0,1fr) 40px 28px 28px 28px 50px;gap:8px;padding-right:10px;display:grid}.dlist-head.cols.chk{grid-template-columns:minmax(0,1fr) 40px 28px 28px 28px;padding-right:12px}.dlist-head.cols>span:first-child{align-items:center;gap:10px;min-width:0;display:flex}.dlist-head.cols .num{font-family:var(--sans);text-transform:none;letter-spacing:0}.dlist-head+.dres{border-top:0}.dres.on{background:var(--app-track)}.dres-main{min-width:0;color:var(--app-ink);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:9px 0 9px 14px;display:flex}.dres-main .n{font-size:14px;font-weight:500}.dres-main .sv,.dchk .sv{color:var(--app-muted);font-size:12px}.dchk{border-top:1px solid var(--app-line-soft);grid-template-columns:22px minmax(0,1fr) 40px 28px 28px 28px;align-items:center;gap:6px 10px;padding:10px 12px;font-size:13px;display:grid}.dlist-head+.dchk{border-top:0}.dchk input[type=checkbox]{width:18px;height:18px;accent-color:var(--app-ink);margin:0}.dchk label{cursor:pointer;font-size:14px;font-weight:500}.dchk-amt{grid-column:2/-1;gap:8px;display:flex}.sinput{box-sizing:border-box;border:1px solid var(--app-pill);background:var(--app-bg);height:34px;color:var(--app-ink);border-radius:8px;padding:0 8px;font-size:14px}.sinput.q{width:72px;font-family:var(--mono)}.sinput.u{flex:1;min-width:0}.dpick{background:var(--app-bg);border:1px solid var(--app-line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.dpick .line{font-family:var(--mono);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.dtags{flex-wrap:wrap;gap:6px;display:flex}.dtags .pill{height:32px;padding:0 12px;font-size:13px}.dhead-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.dhead-row h1{letter-spacing:-.01em;margin:0;font-size:24px}.frow{border-top:1px solid var(--app-line-soft);grid-template-columns:minmax(0,1fr) 160px 60px 44px 44px 44px 240px 88px;align-items:center;gap:12px;padding:10px 18px;font-size:14px;display:grid}.frow.head{letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted);border-top:0;padding-block:8px;font-size:11px;font-weight:700}.frow.editing{background:var(--app-track)}.frow .src{color:var(--app-muted);font-size:12px;display:block}.frow .acts{justify-content:flex-end;align-items:center;gap:4px;display:flex}.ftags{align-items:center;padding-left:14px}.ftags .tag.rm{cursor:pointer;gap:4px;padding-right:6px}.ftags .tag.rm:hover svg{color:var(--app-ink)}.ftags .tag.add{border:1px dashed var(--app-pill);color:var(--app-muted);cursor:pointer;background:0 0;list-style:none}.ftags .tag.add::-webkit-details-marker{display:none}.ftagadd[open] summary{display:none}.ftagform{align-items:center;gap:6px;display:flex}.ftagform .sinput{width:130px;height:30px}.dsearch{background:var(--app-surface);border:1px solid var(--app-pill);border-radius:10px;align-items:center;gap:10px;width:320px;height:42px;padding:0 12px;display:flex}.dsearch input{min-width:0;color:var(--app-ink);background:0 0;border:0;outline:none;flex:1;font-size:15px}.ffields{grid-template-columns:2fr 1.3fr .9fr .9fr .7fr .7fr .7fr;gap:12px;display:grid}.toast{color:var(--app-muted);min-height:18px;font-size:13px}@media (prefers-reduced-motion:no-preference){.screen:not([hidden]){animation:.18s ease-out fade}.sheet:not([hidden]){animation:.2s ease-out rise}@keyframes fade{0%{opacity:.4}to{opacity:1}}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}}.auth{flex-direction:column;gap:18px;max-width:400px;margin:0 auto;padding:56px 20px 40px;display:flex}.auth-logo{border-radius:12px;align-self:flex-start;width:auto;height:56px;margin-left:-14px}.auth-brand{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.auth .auth-tagline{font-family:var(--display);color:var(--app-muted);letter-spacing:.01em;font-size:16px}.auth h1{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:30px;font-weight:600;line-height:1.15}.auth p,.auth .flash{margin:0}.phone .ptoast-wrap{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:5;position:fixed}.phone .ptoast-wrap .flash{background:var(--app-ink);color:var(--app-on-ink);box-shadow:0 8px 24px var(--app-shadow);border:0;margin:0}.phone .ptoast-wrap .flash .linkbtn{color:var(--app-on-ink)}.phone .ptoast-wrap .flash.alert{background:var(--app-warn-bg);color:var(--app-warn)}.dnav a{height:38px;color:var(--app-muted);border-radius:10px;align-items:center;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.dnav a:hover{color:var(--app-ink)}.dnav a[aria-current=page]{background:var(--app-track);color:var(--app-ink);font-weight:700}.dtop .brand{gap:9px;text-decoration:none}.desk .dbody>.flash{margin:0 0 16px}a.btn,a.cta,a.ghost,a.pill,a.iconbtn{text-decoration:none}.tabbar a{min-height:52px;color:var(--app-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--app-ink);font-weight:700}.pill.radio{position:relative}.pill.radio input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pill.radio:has(input:checked){background:var(--app-ink);border-color:var(--app-ink);color:var(--app-on-ink)}.pill.radio:has(input:focus-visible){outline:2px solid var(--app-ink);outline-offset:2px}.seg3 .pill.radio,.seg .pill.radio{display:flex}dialog.sheet-dialog{width:100%;max-width:480px;color:inherit;background:0 0;border:0;margin:auto auto 0;padding:0}dialog.sheet-dialog::backdrop{background:var(--app-scrim)}dialog.sheet-dialog .sheet{max-height:88dvh;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));position:static}.copymenu{position:relative}.copymenu summary{list-style:none}.copymenu summary::-webkit-details-marker{display:none}.copymenu[open] .dcopy{z-index:3;border:1px solid var(--app-pill);width:max-content;box-shadow:0 10px 30px var(--app-shadow);border-radius:12px;position:absolute;top:38px;right:0}.tagadd{flex-basis:100%}.tagadd summary{width:max-content;list-style:none;display:inline-flex}.tagadd summary::-webkit-details-marker{display:none}.tagadd[open] summary{display:none}.eitem.removed,.drow.editrow.removed{opacity:.4}.eitem.removed .n,.drow.editrow.removed span:first-child{text-decoration:line-through}.eitem label.iconbtn{cursor:pointer}a.item{color:var(--app-ink);text-decoration:none}.dcopy{border-top:0}.rseg a{min-width:44px;height:32px;color:var(--app-muted);border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.rseg a[aria-pressed=true]{background:var(--app-ink);color:var(--app-on-ink)}a.wrow,.segctl-opts a.pill,.tagrow a.pill,.dtags a.pill{text-decoration:none}.segctl-opts a.pill{height:38px;color:var(--app-ink);background:0 0;border:0;border-radius:9px;padding:0;font-size:13px}a.pill[aria-pressed=true]{background:var(--app-ink);border-color:var(--app-ink);color:var(--app-on-ink)}a.dres-main,a.result{text-decoration:none}.aibtn.busy{opacity:.6;pointer-events:none}.aibanner.warn{background:var(--app-warn-bg);color:var(--app-warn);border-color:#0000}.viewfinder video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.viewfinder{background:#0b0f1c}label.shutter{display:block}.screen{height:100dvh}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}