.pending-summary.is-quiet .compact-header{min-height:auto;margin-bottom:8px}.pending-summary.is-quiet .compact-header h2{font-size:var(--text-md)}.pending-quiet-row{border-radius:var(--radius-sm);background:linear-gradient(#dff3e9a8,#ffffffdb);border:1px solid #167a5724;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:grid}.pending-quiet-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--green);background:var(--green-soft);justify-content:center;align-items:center;display:inline-flex}.pending-quiet-row strong,.pending-quiet-row span{min-width:0;display:block}.pending-quiet-row strong{font-size:var(--text-sm);line-height:1.3}.pending-quiet-row span{color:var(--muted);font-size:var(--text-xs);margin-top:2px;font-weight:800;line-height:1.35}.compact-header{min-height:44px;margin:0 0 12px}.compact-header>div{min-width:0}.compact-header button{border-radius:var(--radius-sm);min-height:44px;color:var(--green);background:var(--green-soft);border:1px solid #167a572e;flex:none;padding:0 10px}.action-card-list{gap:10px;display:grid}.action-card-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;padding:12px}.action-card h3{font-size:var(--text-md);margin:8px 0 4px;line-height:1.35}.action-card p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.45}.action-type{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.action-card.add .action-type,.assistant-action-card.add .action-type{color:var(--blue);background:var(--blue-soft)}.action-card.query .action-type,.assistant-action-card.query .action-type{color:var(--violet);background:var(--violet-soft)}.assistant-action-card.consume .action-type{color:var(--red);background:var(--red-soft)}.assistant-action-card.needs-check .action-type{color:var(--amber);background:var(--amber-soft)}.pending-action-stack{gap:12px;display:grid}.metric-grid{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--line);box-shadow:var(--shadow-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.metric-grid.today-risk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid div{background:var(--surface);align-content:center;gap:5px;min-height:82px;padding:12px 10px;display:grid}.metric-grid div.tone-danger{color:var(--red);background:linear-gradient(180deg, var(--red-soft), var(--surface))}.metric-grid div.tone-warning{color:var(--amber);background:linear-gradient(180deg, var(--amber-soft), var(--surface))}.metric-grid div.tone-fresh{color:var(--green);background:linear-gradient(180deg, var(--green-soft), var(--surface))}.metric-grid.today-risk-grid{background:#2d44371f;border-color:#2d44371f}.metric-grid.today-risk-grid div{color:var(--metric-accent,var(--text));background:linear-gradient(180deg, var(--metric-tint,var(--surface)) 0%, var(--surface) 92%)}.metric-grid.today-risk-grid div.tone-danger{--metric-accent:#ad3f39;--metric-tint:#fff0ed;--metric-label:#6f5d58;background:linear-gradient(180deg, var(--metric-tint) 0%, var(--surface) 92%)}.metric-grid.today-risk-grid div.tone-warning{--metric-accent:#9b6500;--metric-tint:#fff6dc;--metric-label:#69624f;background:linear-gradient(180deg, var(--metric-tint) 0%, var(--surface) 92%)}.metric-grid.today-risk-grid div.tone-info{--metric-accent:#1f6f76;--metric-tint:#e7f4f1;--metric-label:#566b67;background:linear-gradient(180deg, var(--metric-tint) 0%, var(--surface) 92%)}.metric-grid.today-risk-grid div.tone-fresh{--metric-accent:#167a57;--metric-tint:#e8f5ed;--metric-label:#566b60;background:linear-gradient(180deg, var(--metric-tint) 0%, var(--surface) 92%)}.metric-grid.today-risk-grid div.tone-stock{--metric-accent:#163225;--metric-tint:#f0f5f0;--metric-label:#5f7065}@media (prefers-color-scheme:dark){.metric-grid.today-risk-grid{background:#aebbad24;border-color:#aebbad24}.metric-grid.today-risk-grid div.tone-danger{--metric-accent:#ff9a90;--metric-tint:#ff8a7f21;--metric-label:#d4b5b0}.metric-grid.today-risk-grid div.tone-warning{--metric-accent:#f7ca67;--metric-tint:#f6c45f24;--metric-label:#d0be94}.metric-grid.today-risk-grid div.tone-info{--metric-accent:#88d6db;--metric-tint:#8fc2ff21;--metric-label:#aec6c5}.metric-grid.today-risk-grid div.tone-fresh{--metric-accent:#7ee0b2;--metric-tint:#6bd7a721;--metric-label:#aec8b9}.metric-grid.today-risk-grid div.tone-stock{--metric-accent:#eff7ef;--metric-tint:#eff7ef0f;--metric-label:#aebbad}}.metric-grid strong{font-size:26px;line-height:1}.metric-grid span{color:var(--muted);font-size:var(--text-xs);font-weight:900}.metric-grid.today-risk-grid span{color:var(--metric-label,var(--muted))}.home-action-row,.history-actions{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px;display:grid}.assistant-screen{align-content:start}.assistant-welcome{background:linear-gradient(#dff3e9f5,#fffffff5);border-color:#167a572e;gap:12px;padding:14px;display:flex}.assistant-welcome h2{font-size:var(--text-lg);margin:0 0 4px;line-height:1.3}.assistant-welcome p{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:0}.assistant-mark{color:#fff;background:linear-gradient(140deg, var(--green), var(--blue));border-radius:50%;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.prompt-chips{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:auto;cursor:grab;-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;padding-bottom:2px;display:flex;overflow:auto hidden}.prompt-chips[data-dragging=true]{cursor:grabbing}.prompt-chips::-webkit-scrollbar{display:none}.prompt-chips button{border:1px solid var(--line);min-height:44px;color:var(--muted);background:var(--surface);font-size:var(--text-sm);-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;padding:0 12px;font-weight:900}.chat-stream{gap:12px;display:grid}.assistant-turn{scroll-margin-top:8px;scroll-margin-bottom:var(--assistant-scroll-bottom-space);gap:12px;display:grid}.assistant-turn.is-collapsed{gap:0}.assistant-turn-body{gap:12px;display:grid}.assistant-turn-summary{border-radius:var(--radius-sm);min-width:0;min-height:52px;color:var(--text);text-align:left;background:#f8fbf7eb;border:1px solid #2d44371f;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;padding:9px 10px;display:grid}.assistant-turn-summary-copy{gap:3px;min-width:0;display:grid}.assistant-turn-summary-copy strong,.assistant-turn-summary-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assistant-turn-summary-copy strong{font-size:var(--text-sm);line-height:1.25}.assistant-turn-summary-copy span,.assistant-turn-summary-state{color:var(--muted);font-size:11px;font-weight:900;line-height:1.2}.assistant-turn-summary-state{white-space:nowrap}.assistant-turn-summary svg{color:var(--muted);transition:transform .16s}.assistant-turn-summary[aria-expanded=true] svg{transform:rotate(90deg)}.assistant-stream-end{min-height:0}.chat-bubble{background:var(--surface);max-width:92%;box-shadow:var(--shadow-soft);border-radius:14px 14px 14px 4px;padding:12px}.chat-bubble p{color:var(--text);font-size:var(--text-sm);line-height:var(--lh-body);margin:0}.assistant-typing-bubble{width:fit-content;min-width:56px;padding:14px 15px}.user-bubble.voice-recognition-bubble{color:#fff;background:linear-gradient(135deg, var(--green), #0d6b4b);border-color:#ffffff2e;justify-self:end;align-items:center;gap:8px;max-width:min(92%,260px);min-height:44px;padding:11px 13px;animation:.18s ease-out both assistant-voice-bubble-in;display:inline-flex}.voice-recognition-bubble>svg{flex:none}.voice-recognition-bubble>span:not(.typing-dots){color:#fff;min-width:0;font-size:var(--text-sm);white-space:nowrap;font-weight:900;line-height:1.2}.voice-recognition-bubble .typing-dots{gap:3px;height:10px}.voice-recognition-bubble .typing-dots span{opacity:.52;background:#fff;width:4px;height:4px}.typing-dots{align-items:center;gap:5px;height:14px;display:inline-flex}.typing-dots span{background:var(--green);opacity:.38;width:6px;height:6px;animation:assistant-typing-dot .96s var(--ease-out) infinite;border-radius:999px}.typing-dots span:nth-child(2){animation-delay:.14s}.typing-dots span:nth-child(3){animation-delay:.28s}@keyframes assistant-typing-dot{0%,72%,to{opacity:.34;transform:translateY(0)}36%{opacity:.92;transform:translateY(-3px)}}@keyframes assistant-voice-bubble-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-bubble{background:var(--green);border-radius:14px 14px 4px;justify-self:end}.user-bubble.has-images{gap:8px;max-width:min(92%,300px);padding:8px;display:grid}.user-bubble p{color:#fff}.user-bubble.has-images p{padding:0 4px 2px}.user-bubble-images{gap:6px;display:grid}.user-bubble-images img{object-fit:contain;background:#fff3;border-radius:10px;width:100%;max-height:240px;display:block}.assistant-voice-toast{left:50%;bottom:calc(var(--bottom-nav-height) + 104px);z-index:30;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#1c2420e6;border:1px solid #ffffff24;border-radius:18px;align-content:center;justify-items:center;gap:8px;width:148px;min-height:132px;padding:16px 14px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 40px #00000038}.assistant-voice-toast-icon{color:#fff;background:#ffffff29;border-radius:999px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex;position:relative}.assistant-voice-toast-icon span{border-radius:inherit;border:1px solid #ffffff57;animation:.9s ease-out infinite assistant-voice-toast-pulse;position:absolute;inset:-7px}.assistant-voice-toast strong,.assistant-voice-toast span{color:#fff;line-height:1.2}.assistant-voice-toast strong{font-size:var(--text-sm);margin-top:2px;font-weight:950}.assistant-voice-toast>span{opacity:.78;font-size:12px;font-weight:850}@keyframes assistant-voice-toast-pulse{0%{opacity:.72;transform:scale(.88)}to{opacity:0;transform:scale(1.18)}}.assistant-action-list{gap:10px;display:grid}.assistant-action-card{gap:10px;padding:12px;display:grid}.assistant-action-card.confirmed{background:linear-gradient(180deg, #dff3e98a, var(--surface));border-color:#167a5742}.assistant-confirmation-note{border-radius:var(--radius-sm);min-width:0;min-height:40px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);border:1px solid #167a5729;align-items:center;gap:8px;padding:9px 10px;font-weight:850;line-height:1.35;display:flex}.assistant-confirmation-note svg{flex:none}.assistant-confirmation-note span{overflow-wrap:anywhere;min-width:0}.assistant-stock-card{gap:12px;padding:14px}.assistant-stock-group-card,.assistant-consume-group-card{gap:12px}.assistant-group-head p{overflow-wrap:anywhere}.assistant-group-items{gap:10px;display:grid}.assistant-group-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);gap:10px;min-width:0;padding:10px;display:grid}.assistant-group-item.confirmed{background:#dff3e952;border-color:#167a5733}.assistant-stock-group-item{background:#f8fbf7}.assistant-consume-group-item{background:#f7faf6}.assistant-stock-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.assistant-stock-group-item .assistant-stock-head{grid-template-columns:minmax(0,1fr) auto}.assistant-stock-title-wrap{min-width:0}.assistant-stock-title{min-width:0;color:var(--text);font-size:var(--text-md);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;font-weight:900;line-height:1.2;display:grid}.assistant-stock-title label{min-width:0}.assistant-stock-name-field,.assistant-stock-quantity-field{display:block}.assistant-stock-text-field{--assistant-stock-name-fade-surface:var(--surface-2);height:34px;position:relative;overflow:hidden}.assistant-stock-text-field.has-overflow:after{content:"...";z-index:3;min-width:22px;height:17px;color:var(--text);background:linear-gradient(90deg, transparent, var(--assistant-stock-name-fade-surface) 52%);text-align:right;pointer-events:none;padding-left:16px;font-size:14px;font-weight:900;line-height:17px;position:absolute;bottom:0;right:0}.assistant-stock-card:not(.assistant-stock-group-card) .assistant-stock-text-field.has-overflow:after{--assistant-stock-name-fade-surface:var(--surface)}.assistant-stock-group-item .assistant-stock-text-field{--assistant-stock-name-fade-surface:#f8fbf7}.assistant-stock-text-field:focus-within:after{display:none}.assistant-stock-divider{color:#21332a47;font-size:12px;font-weight:900;line-height:1}.assistant-stock-title input,.assistant-stock-title-input{width:100%;min-width:0;max-width:100%;color:inherit;font:inherit;text-overflow:ellipsis;background:0 0;border:0;outline:0;padding:0;overflow:hidden}.assistant-stock-title-input{z-index:1;resize:none;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;height:34px;padding:7px 0;line-height:20px;display:block;position:relative}.assistant-stock-text-field.has-overflow .assistant-stock-title-input,.assistant-stock-title-input:focus{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-y:auto}.assistant-stock-title-input.is-compact{padding:0;font-size:14px;line-height:17px}.assistant-stock-title-measure{z-index:-1;visibility:hidden;color:#0000;width:100%;font:inherit;overflow-wrap:anywhere;pointer-events:none;white-space:pre-wrap;line-height:20px;position:absolute;inset:0 auto auto 0}.assistant-stock-title-measure.is-compact{font-size:14px;line-height:17px}.assistant-card-delete{border-radius:var(--radius-sm);color:#c23b2a;background:#ffede8e0;border:1px solid #c23b2a2e;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;display:inline-flex}.assistant-card-delete:disabled{cursor:not-allowed;opacity:.42}.assistant-stock-compact-row{--assistant-stock-compact-control-size:34px;grid-template-columns:minmax(0, 1fr) var(--assistant-stock-compact-control-size);align-items:center;gap:6px;display:grid}.assistant-stock-compact-row.is-missing-date{grid-template-columns:minmax(0, 1fr) var(--assistant-stock-compact-control-size);gap:5px}.assistant-stock-more-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.assistant-stock-field{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7faf6;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:41px;padding:0 8px;display:grid;position:relative}.assistant-stock-field span{color:var(--muted);font-size:10px;font-weight:900;line-height:1}.assistant-stock-compact-row .assistant-stock-date-field{height:var(--assistant-stock-compact-control-size);min-height:var(--assistant-stock-compact-control-size)}.assistant-stock-date-placeholder,.assistant-stock-date-value{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;line-height:1.2;overflow:hidden}.assistant-stock-field .assistant-stock-date-source{color:#a15c00;white-space:nowrap;background:#f59e0b1f;border-radius:999px;flex:none;padding:2px 5px;font-size:10px;font-style:normal;font-weight:900;line-height:1}.assistant-stock-date-trigger{z-index:1;text-align:left;cursor:pointer;background:0 0;border:0;outline:0;align-items:center;gap:6px;width:100%;min-width:0;min-height:32px;padding:0;display:flex;position:relative}.assistant-stock-date-trigger:disabled{cursor:not-allowed}.assistant-stock-date-trigger svg{color:var(--muted);flex:none}.assistant-stock-date-hidden-input{appearance:none;z-index:0;color:#0000;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.assistant-stock-date-hidden-input::-webkit-calendar-picker-indicator{opacity:0}.assistant-stock-date-hidden-input:disabled{cursor:not-allowed}.assistant-stock-date-field.is-missing-date:focus-within{box-shadow:var(--focus)}.assistant-stock-default-expiry{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;min-height:41px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#f7faf6;align-items:center;padding:0 7px;font-size:10px;font-weight:900;line-height:1.15;display:flex;overflow:hidden}.assistant-stock-field input,.assistant-stock-field select,.assistant-stock-field textarea{width:100%;min-width:0;min-height:32px;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:12px;font-weight:850;line-height:1.3}.assistant-stock-field textarea{resize:none;line-height:32px}.assistant-stock-more-button{width:var(--assistant-stock-compact-control-size,34px);height:var(--assistant-stock-compact-control-size,34px);min-width:var(--assistant-stock-compact-control-size,34px);min-height:var(--assistant-stock-compact-control-size,34px);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);background:#f7faf6;justify-content:center;justify-self:end;align-items:center;padding:0;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.assistant-stock-more-button svg{flex:none;transition:transform .16s}.assistant-stock-more-button[aria-expanded=true] svg{transform:rotate(90deg)}.assistant-stock-compact-row.is-missing-date .assistant-stock-more-button{padding:0}.assistant-stock-note{grid-column:1/-1}.assistant-stock-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px;display:grid}.assistant-group-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.assistant-stock-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:48px;color:var(--muted);font-weight:900}.assistant-stock-actions .primary-mini{color:#fff;border-color:var(--green);background:var(--green)}.assistant-stock-title input:disabled,.assistant-stock-title-input:disabled,.assistant-stock-field input:disabled,.assistant-stock-field select:disabled,.assistant-stock-field textarea:disabled,.assistant-stock-actions button:disabled{opacity:.66}.assistant-stock-field .assistant-stock-date-hidden-input:disabled{opacity:0}.assistant-action-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.assistant-consume-item-main{grid-template-columns:auto minmax(0,1fr)}.assistant-action-main h3{overflow-wrap:anywhere;font-size:var(--text-md);margin:0;line-height:1.35}.assistant-action-main p{color:var(--muted);font-size:var(--text-xs);margin:2px 0 0;line-height:1.35}.compact-warning{margin-top:0}.assistant-action-editor{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.assistant-action-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.assistant-action-buttons button,.primary-mini{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--muted);font-weight:900}.assistant-action-buttons .primary-mini{color:#fff;border-color:var(--green);background:var(--green)}.assistant-query-card,.assistant-consume-card{border-color:#256bb429}.assistant-consume-card.is-discard{border-color:#b43b3433}.assistant-query-results,.assistant-consume-batches{gap:8px;display:grid}.assistant-query-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7faf6;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:54px;padding:8px;display:grid}.assistant-query-row strong,.assistant-query-row span{min-width:0;display:block}.assistant-query-row strong{font-size:var(--text-sm);line-height:1.3}.assistant-query-row span{color:var(--muted);font-size:var(--text-xs);margin-top:2px;font-weight:800;line-height:1.35}.assistant-query-row>.status-pill{text-align:center;justify-content:center;align-items:center;line-height:1;display:inline-flex}.assistant-query-empty,.assistant-consume-risk{border-radius:var(--radius-sm);min-height:48px;color:var(--amber);background:var(--amber-soft);font-size:var(--text-sm);align-items:center;gap:8px;padding:10px;font-weight:850;line-height:1.45;display:flex}.assistant-consume-done{border-radius:var(--radius-sm);min-height:48px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);align-items:center;gap:8px;padding:10px;font-weight:850;line-height:1.45;display:flex}.assistant-query-expand{border-radius:var(--radius-sm);min-height:44px;color:var(--blue);background:var(--blue-soft);border:1px solid #256bb42e;font-weight:900}.assistant-consume-fields{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.assistant-consume-match{gap:8px;display:grid}.assistant-consume-match-head{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:8px;font-weight:900;display:flex}.assistant-consume-match-head small{color:var(--blue);font-size:11px;font-weight:900}.consume-batch-card{border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;background:#f7faf6;min-width:0;display:grid;overflow:hidden}.consume-batch-card.is-bound{border-color:#256bb457;box-shadow:inset 0 0 0 1px #256bb41f}.consume-batch-card.mode-all,.consume-batch-card.mode-partial{background:linear-gradient(180deg, #dff3e9bd, var(--surface));border-color:#167a5757}
:root{--font-sans:Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--bg:#f4f6f1;--surface:#fff;--surface-2:#eef3ec;--surface-strong:#e8f0e8;--ink:#16231b;--text:var(--ink);--muted:#617067;--line:#dce5da;--accent:#167a57;--green:#167a57;--green-soft:#dff3e9;--amber:#a86d00;--amber-soft:#fff0cc;--red:#b43b34;--red-soft:#fde4e1;--blue:#256bb4;--blue-soft:#deebfb;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:24px;--text-2xl:30px;--lh-tight:1.18;--lh-body:1.55;--shadow:0 18px 50px #15261a24;--shadow-soft:0 10px 28px #15261a14;--focus:0 0 0 3px #167a573d;--violet:#6852b8;--violet-soft:#ede9ff;--bottom-nav-height:50px;--assistant-composer-height:64px;--assistant-composer-gap:6px;--assistant-composer-control-size:40px;--assistant-scroll-bottom-space:calc(var(--bottom-nav-height) + var(--assistant-composer-height) + var(--assistant-composer-gap) + 12px);--assistant-fullscreen-icon-gap:4px;--inventory-control-height:40px;--inventory-head-control-height:36px;--dur-1:.16s;--dur-2:.28s;--dur-3:.42s;--ease-out:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--bg:#101812;--surface:#17221a;--surface-2:#1f2d23;--surface-strong:#223528;--ink:#eff7ef;--muted:#aebbad;--line:#2b3e30;--green:#6bd7a7;--green-soft:#173d2d;--amber:#f6c45f;--amber-soft:#3e2f13;--red:#ff8a7f;--red-soft:#44211f;--blue:#8fc2ff;--blue-soft:#18324f;--violet:#b9adff;--violet-soft:#2c2750;--shadow:0 18px 50px #00000057;--shadow-soft:0 10px 28px #0000003d}}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);font-family:var(--font-sans);background:linear-gradient(135deg,#24372d14 0 25%,#0000 25% 100%),linear-gradient(#edf1eb 0%,#dfe7df 100%);margin:0}@media (prefers-color-scheme:dark){body{background:linear-gradient(135deg,#6bd7a70f 0 25%,#0000 25% 100%),linear-gradient(#0b100d 0%,#101812 100%)}}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,a:focus-visible{box-shadow:var(--focus);outline:0}.prototype-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.skip-nav{z-index:10;border-radius:var(--radius-sm);color:#fff;background:var(--green);font-size:var(--text-sm);transition:transform var(--dur-1) var(--ease-out);padding:10px 12px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-nav:focus{transform:translateY(0)}.app-frame{background:linear-gradient(180deg, #ffffffad, transparent 180px), var(--bg);width:min(100%,430px);height:min(880px,100dvh - 48px);min-height:680px;box-shadow:var(--shadow);border:1px solid #17221c14;border-radius:28px;flex-direction:column;display:flex;position:relative;overflow:clip}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{background:#f4f6f1f0;border-bottom:1px solid #dfe6ddb3;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:24px 20px 14px;display:flex}.header-start{align-items:center;gap:12px;min-width:0;display:flex}.header-kicker,.panel-label{color:var(--muted);font-size:var(--text-xs);margin:0 0 4px;font-weight:700}.app-header h1{font-size:var(--text-xl);line-height:var(--lh-tight);margin:0}.icon-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:44px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.alert-dot{position:relative}.alert-dot:after{content:"";background:var(--red);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px;box-shadow:0 0 0 2px #fff}.screen-scroll{padding:16px 16px calc(var(--bottom-nav-height) + 18px);scrollbar-width:none;flex:1;overflow-y:auto}.screen-scroll.assistant-scroll{padding-bottom:var(--assistant-scroll-bottom-space)}.screen-scroll::-webkit-scrollbar{display:none}.filter-tabs::-webkit-scrollbar{display:none}.screen-stack{flex-direction:column;gap:14px;display:flex}.search-entry,.primary-action,.secondary-action,.toolbar button,.filter-tabs button,.mode-switch button,.quick-grid button,.quick-action-grid button,.pending-clear-list button,.photo-actions button,.card-actions button,.reminder-preset-grid button,.custom-reminder-row button,.cancel-reminder-button,.expiry-date-actions button,.inventory-process-button,.inventory-consume-all-button,.inventory-process-actions button,.note-editor-footer button,.empty-result button,.ask-bar button,.composer-icon-button,.composer-send-button,.composer-mini-button,.composer-dialog-actions button,.composer-image-chip button,.home-mode-switch button,.history-list button,.recommendation-actions button,.today-ask-list button,.section-header button,.quick-add-head button,.quick-edit-row button,.clean-select-card,.clean-action-bar button,.setting-option-grid button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:42px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);justify-content:center;align-items:center;gap:8px;display:inline-flex}.search-entry{width:100%;color:var(--muted);text-align:left;justify-content:flex-start;padding:0 12px}.search-entry span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fridge-panel{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#ffffff1f 0 1px,#0000 1px 18px),linear-gradient(135deg,#1a3a2d 0%,#0f2b23 100%);border:1px solid #213b30;padding:16px;position:relative;overflow:hidden;box-shadow:0 18px 40px #12312538}.fridge-panel:after{content:"";border:22px solid #ffffff0d;border-radius:50%;width:132px;height:132px;position:absolute;inset:auto -24px -42px auto}.fridge-top{z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.fridge-top .panel-label{color:#ffffffb8}.fridge-top h2{max-width:240px;font-size:var(--text-lg);margin:0;line-height:1.35}.fridge-top button{border-radius:var(--radius-sm);color:#fff;min-height:34px;font-size:var(--text-xs);background:#ffffff1a;border:1px solid #ffffff42;flex:none;align-items:center;gap:4px;padding:0 8px 0 10px;font-weight:800;display:inline-flex}.fridge-meter{z-index:1;background:#ffffff29;border-radius:999px;height:8px;margin:16px 0 12px;position:relative;overflow:hidden}.fridge-meter span{border-radius:inherit;transform-origin:0;width:64%;height:100%;animation:meter-grow var(--dur-3) var(--ease-out) both;background:linear-gradient(90deg,#f5c04f,#e95f55);display:block}.fridge-zones{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:relative}.fridge-zone{border-radius:var(--radius-sm);background:#ffffff17;flex-direction:column;justify-content:space-between;min-height:92px;padding:10px;display:flex}.fridge-zone.tone-danger,.fridge-zone.tone-fresh,.fridge-zone.tone-info{color:#fff;background:#ffffff17}.fridge-zone.tone-danger{border-left:3px solid #e95f55}.fridge-zone.tone-fresh{border-left:3px solid #74d5a6}.fridge-zone.tone-info{border-left:3px solid #8fc2ff}.fridge-zone span,.fridge-zone p{color:#ffffffb8;font-size:var(--text-xs);margin:0;font-weight:800}.fridge-zone strong{color:#fff;font-size:22px;line-height:1}.summary-panel,.input-panel,.quick-add-panel,.recognized-card,.food-card,.today-brief-card,.recommendation-card,.answer-card,.chat-question,.empty-result,.expiry-hero,.expiry-summary,.snoozed-reminder-group,.push-card,.stock-status,.empty-state,.loading-panel,.ask-form{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-soft);transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out)}.summary-panel{padding:16px}.summary-main strong{font-size:var(--text-2xl);line-height:var(--lh-tight);display:block}.summary-main p,.push-copy,.voice-panel p,.basis-line,.today-brief-card p,.recommendation-card p,.stock-status p,.empty-result p,.expiry-summary p,.expiry-hero p{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:6px 0 0}.summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.stat-tile{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:4px;min-height:74px;padding:10px;display:flex}.stat-tile strong{font-size:var(--text-xl);line-height:1}.stat-tile span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.push-card{gap:12px;padding:12px;display:flex}.push-icon,.spark-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--green);background:var(--green-soft);flex:0 0 36px;justify-content:center;align-items:center;display:inline-flex}.push-title{font-size:var(--text-md);margin:0;font-weight:800}.today-brief-card{color:#fff;background:linear-gradient(135deg,#ffffff24 0 1px,#0000 1px 18px),#24372d;border-color:#24372d;padding:18px;position:relative;overflow:hidden}.today-brief-card:after{content:"";border:24px solid #ffffff0d;border-radius:50%;width:140px;height:140px;position:absolute;inset:auto -42px -48px auto}.today-brief-head{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.today-brief-card .spark-icon{color:#fff;background:#ffffff24}.today-brief-card .panel-label,.today-brief-card p{color:#ffffffc7}.today-brief-card h2{margin:0;font-size:22px;line-height:1.28}.today-brief-card p,.today-reminder-list,.today-brief-card .recommendation-actions{z-index:1;position:relative}.today-reminder-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.today-reminder-row{border-radius:var(--radius-sm);background:#ffffff14;border:1px solid #fff3;gap:7px;min-width:0;padding:9px;display:grid;position:relative;overflow:hidden}.today-reminder-line{grid-template-columns:minmax(0,1fr) max-content;align-items:center;column-gap:12px;min-width:0;display:grid}.today-reminder-title{width:100%;min-width:0;max-width:100%;font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"name divider quantity";justify-self:stretch;align-items:center;column-gap:6px;font-weight:900;display:grid}.today-reminder-name-button,.today-reminder-quantity-toggle{min-width:0;min-height:22px;color:inherit;box-shadow:none;font:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:center;padding:0;line-height:1.15;display:inline-flex}.today-reminder-name-button{grid-area:name;width:100%}.today-reminder-quantity-toggle{width:100%;font-weight:800}.today-reminder-name-button:focus-visible,.today-reminder-quantity-toggle:focus-visible{outline-offset:2px;outline:2px solid #ffffffa3}.today-reminder-name,.today-reminder-quantity{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.today-reminder-divider{color:#ffffff6b;grid-area:divider}.today-reminder-quantity{align-items:center;width:100%;display:flex;transform:translateY(1px)}.today-reminder-line small{color:#ffffffb8;text-align:right;white-space:nowrap;font-size:11px;font-weight:800}.today-reminder-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.today-reminder-actions button{color:#fff;white-space:nowrap;background:#ffffff1c;border-color:#ffffff3d;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:32px;padding:0 5px;font-size:11px;font-weight:900;line-height:1;display:flex}.today-reminder-actions button svg{flex:none}.today-reminder-actions .food-action-success{color:#eafff4;background:#7ee0b229;border-color:#7ee0b257}.today-reminder-actions .food-action-danger{color:#ffe9e4;background:#ff8f7229;border-color:#ffb9a657}.today-action-label-short{display:none}.today-reminder-quantity-control{grid-area:quantity;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:3px;width:100%;min-width:0;line-height:1;display:grid}.today-reminder-quantity-control .today-reminder-quantity{min-height:22px}.today-reminder-quantity-input{border-radius:var(--radius-pill);width:100%;min-width:0;height:24px;color:var(--text);font:inherit;background:#fff;border:1px solid #ffffff42;outline:none;padding:0 6px;font-size:12px;font-weight:900;line-height:1}.today-quantity-icon-button{color:#fff;background:#ffffff1a;border-color:#ffffff3d;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;display:inline-flex}.today-quantity-icon-button svg{flex:none;width:12px;height:12px}.today-reminder-row.is-expanded .today-reminder-title{align-items:center}.today-reminder-row.is-expanded .today-reminder-name,.today-reminder-row.is-expanded .today-reminder-quantity{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.28;overflow:visible}.today-reminder-row.is-expanded .today-reminder-quantity{min-height:0;display:block}.today-reminder-row.is-expanded .today-reminder-quantity-toggle{align-items:center;min-height:22px}.today-reminder-row.is-expanded .today-reminder-quantity-control{align-items:center}.recommendation-card{color:#fff;background:linear-gradient(135deg,#ffffff24 0 1px,#0000 1px 18px),#24372d;border-color:#24372d;padding:16px;position:relative;overflow:hidden}.recommendation-card:after{content:"";border:22px solid #ffffff0d;border-radius:50%;width:136px;height:136px;position:absolute;inset:auto -38px -44px auto}.recommendation-head{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.recommendation-card .spark-icon{color:#fff;background:#ffffff24}.recommendation-card .panel-label,.recommendation-card p{color:#ffffffc7}.recommendation-card h2{font-size:var(--text-lg);margin:0;line-height:1.32}.recommendation-card p{z-index:1;position:relative}.recommendation-actions{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid;position:relative}.recommendation-actions button{color:#fff;min-width:0;min-height:40px;font-size:var(--text-sm);background:#ffffff1f;border-color:#ffffff47;font-weight:900}.related-section,.related-list{flex-direction:column;gap:10px;display:flex}.section-header{justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin-top:2px;display:flex}.section-header h2{font-size:var(--text-lg);margin:0;line-height:1.3}.section-header button{min-height:32px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;padding:0 8px 0 10px}.priority-list,.inventory-list,.recognized-list,.answer-list{flex-direction:column;gap:10px;display:flex}.priority-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:70px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.priority-row h3,.food-title h3,.recognized-card h2,.answer-card h2,.chat-question h2,.expiry-hero h2{margin:0;font-size:16px;line-height:1.3}.priority-row p{color:var(--muted);font-size:var(--text-sm);margin:4px 0 0;line-height:1.4}.rank-badge,.category-icon,.food-avatar{border-radius:var(--radius-sm);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.rank-badge{width:30px;height:30px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:96px;transition:transform var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);flex-direction:column;justify-content:space-between;padding:12px;display:flex}
.consume-batch-card.mode-partial{background:linear-gradient(180deg, #fff6dcb8, var(--surface));border-color:#b9780047}.consume-batch-summary{width:100%;min-width:0;min-height:58px;color:inherit;text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;display:grid}.consume-batch-check{border:1px solid var(--line);width:34px;height:34px;color:var(--green);background:var(--surface);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.consume-batch-check:disabled{cursor:not-allowed;opacity:.62}.consume-batch-open{min-width:0;min-height:40px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;padding:0;display:grid}.consume-batch-check:focus-visible,.consume-batch-open:focus-visible{outline-offset:2px;outline:2px solid #256bb457}.consume-batch-card.mode-none .consume-batch-check{color:var(--muted)}.consume-batch-card.mode-partial .consume-batch-check{color:var(--amber);background:var(--amber-soft);border-color:#b978003d}.consume-batch-card.mode-all .consume-batch-check{color:#fff;background:var(--green);border-color:var(--green)}.consume-batch-copy,.consume-batch-card strong,.consume-batch-card small{min-width:0;display:block}.consume-batch-card strong{font-size:var(--text-sm);line-height:1.3}.consume-batch-card small{color:var(--muted);font-size:var(--text-xs);margin-top:3px;font-weight:800;line-height:1.35}.consume-batch-chevron{color:var(--muted);transition:transform .16s}.consume-batch-card.is-expanded .consume-batch-chevron{transform:rotate(90deg)}.consume-batch-processing{background:#ffffff7a;border-top:1px solid #657a7124;gap:6px;padding:8px 10px 10px;display:grid}.consume-batch-processing .assistant-consume-fields{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0}.consume-batch-processing .editable-field{gap:4px}.consume-batch-processing .editable-field input,.consume-batch-processing .editable-field select{min-height:38px;font-size:var(--text-sm);padding:0 8px}.danger-warning{color:var(--red);background:var(--red-soft)}.assistant-consume-buttons{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px;display:grid}.assistant-consume-buttons.assistant-group-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.assistant-consume-buttons button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:44px;color:var(--muted);font-size:var(--text-sm);font-weight:900}.assistant-consume-buttons .primary-mini{color:#fff;border-color:var(--green);background:var(--green)}.assistant-consume-buttons .danger-mini{color:#fff;border-color:var(--red);background:var(--red)}.assistant-composer-dock{left:16px;right:16px;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--assistant-composer-gap));z-index:7;min-height:var(--assistant-composer-height);grid-template-columns:var(--assistant-composer-control-size) minmax(0, 1fr) var(--assistant-composer-control-size) var(--assistant-composer-control-size);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border:1px solid #16231b1f;border-radius:22px;align-items:end;gap:8px;padding:3px 12px 11px;display:grid;position:absolute;box-shadow:0 10px 26px #15261a1f}.assistant-composer-dock.is-multiline{align-items:end;padding:7px 12px}.assistant-composer-attachments{grid-column:1/-1;width:100%;min-width:0;overflow:hidden}.assistant-composer-attachments .composer-image-strip,.assistant-fullscreen-attachments .composer-image-strip{margin-top:0;padding-bottom:0}.assistant-composer-attachments .composer-image-chip{flex-basis:72px;width:72px}.assistant-composer-dock textarea{width:100%;min-width:0;min-height:var(--assistant-composer-control-size);resize:none;max-height:78px;color:var(--text);scrollbar-width:thin;scrollbar-color:#167a5759 transparent;background:0 0;border:0;border-radius:0;outline:none;padding:9px 4px;line-height:20px}.assistant-composer-dock textarea::-webkit-scrollbar{width:4px}.assistant-composer-dock textarea::-webkit-scrollbar-thumb{background:#167a5752;border-radius:999px}.assistant-composer-dock textarea::placeholder{color:#9aa59f}.assistant-tool-button,.assistant-send-button,.assistant-fullscreen-button{min-width:var(--assistant-composer-control-size);min-height:var(--assistant-composer-control-size);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;gap:6px;display:inline-flex}.assistant-submit-stack{width:var(--assistant-composer-control-size);height:var(--assistant-composer-control-size);flex:0 0 var(--assistant-composer-control-size);position:relative}.assistant-submit-stack .assistant-send-button{position:absolute;inset:0}.assistant-fullscreen-button{right:0;bottom:calc(100% + var(--assistant-fullscreen-icon-gap));z-index:2;width:var(--assistant-composer-control-size);height:var(--assistant-composer-control-size);color:var(--green);box-shadow:none;background:0 0;position:absolute}.assistant-tool-button{color:var(--green)}.assistant-voice-trigger{touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.assistant-tool-button.is-recording{color:#fff;background:var(--red)}.assistant-voice-status{z-index:5;color:#fff;background:var(--red);white-space:nowrap;pointer-events:none;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;line-height:1;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 18px #b43b3438}.assistant-send-button{color:var(--green);background:0 0;border-color:#0000;padding:0;font-weight:900}.assistant-send-button span{display:none}.assistant-fullscreen-dialog{z-index:20;border-radius:inherit;background:var(--surface);grid-template-rows:minmax(0,1fr) auto;gap:16px;min-height:0;padding:96px 24px 24px;display:grid;position:absolute;inset:0}.assistant-fullscreen-shrink{z-index:1;width:var(--assistant-composer-control-size);height:var(--assistant-composer-control-size);min-height:var(--assistant-composer-control-size);color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:54px;right:28px}.assistant-fullscreen-textarea{resize:none;width:100%;min-width:0;min-height:0;color:var(--text);background:0 0;border:0;outline:0;padding:30px 2px 18px;font-size:23px;line-height:1.56}.assistant-fullscreen-textarea::placeholder{color:#9aa59f}.assistant-fullscreen-textarea:focus-visible{box-shadow:none}.assistant-fullscreen-attachments{min-width:0}.assistant-fullscreen-send{width:var(--assistant-composer-control-size);height:var(--assistant-composer-control-size);min-height:var(--assistant-composer-control-size);color:#fff;background:var(--green);border:0;border-radius:50%;justify-content:center;justify-self:end;align-items:center;display:inline-flex;box-shadow:0 8px 18px #167a572e}.history-summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-summary h2{font-size:var(--text-lg);margin:0;line-height:1.3}.history-summary p{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:6px 0 0}.history-segment{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.history-segment button{min-height:44px;color:var(--muted);font-size:var(--text-md);background:0 0;border-color:#0000;border-radius:6px;font-weight:900}.history-segment button.active{color:var(--green);background:var(--surface);box-shadow:0 6px 14px #15261a14}.history-record-pane,.preference-panel{gap:12px;display:grid}.history-timeline{gap:14px;display:grid}.timeline-day-group{gap:8px;display:grid}.timeline-day-title{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:10px;padding:0 2px;font-weight:900;display:flex}.timeline-day-title small{font-size:var(--text-xs);font-weight:900}.preference-summary{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;display:grid}.history-summary.preference-summary{padding:12px}.preference-summary h2{line-height:var(--lh-tight)}.preference-summary-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--green);background:var(--green-soft);justify-content:center;align-items:center;display:inline-flex}.full-width-action{width:100%}.timeline-list{gap:10px;display:grid}.timeline-item{grid-template-columns:56px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.history-timeline-item{grid-template-columns:74px minmax(0,1fr);min-width:0}.history-record-side{align-content:start;justify-items:start;gap:6px;display:grid}.timeline-item time{color:var(--blue);font-size:var(--text-xs);font-weight:900;line-height:1.35}.timeline-copy{gap:6px;min-width:0;display:grid}.timeline-copy h3{overflow-wrap:anywhere;font-size:var(--text-md);margin:8px 0 4px;line-height:1.35}.history-timeline-item .timeline-copy h3{margin:0}.history-record-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0;display:grid}.history-record-heading .status-pill{text-align:center;justify-self:end;min-height:26px;padding:0 9px;line-height:1}.timeline-copy p{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;line-height:1.45}.timeline-copy .history-quantity-change{color:var(--text);font-weight:900}.history-source-pill{min-height:20px;font-size:var(--text-xs);white-space:nowrap;border-radius:6px;align-items:center;padding:0 7px;font-weight:800;line-height:1;display:inline-flex}.link-button{border-radius:var(--radius-sm);min-width:52px;min-height:44px;color:var(--blue);background:var(--blue-soft);font-size:var(--text-sm);border:1px solid #256bb429;padding:0 10px;font-weight:900}.priority-row{display:block}.priority-main{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.priority-row.compact .priority-main{grid-template-columns:30px minmax(0,1fr)}.priority-row.compact .status-pill{grid-column:2;justify-self:start;margin-top:8px}.priority-row.with-actions{padding-bottom:10px}.row-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.row-actions button,.date-choice button,.recommend-grid button,.empty-state button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:36px;color:var(--muted);background:var(--surface);font-size:var(--text-sm);justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}.category-card.as-button{width:100%;color:inherit;text-align:left;align-items:flex-start}.toolbar button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.empty-state,.loading-panel{text-align:center;padding:16px}.empty-state{flex-direction:column;align-items:center;gap:8px;display:flex}.empty-icon{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--green);background:var(--green-soft);justify-content:center;align-items:center;display:inline-flex}.empty-state strong,.loading-panel strong{font-size:var(--text-md)}.empty-state p,.assistive-note{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:0}.empty-state button{color:var(--green);background:var(--green-soft);border-color:#167a5733;margin-top:4px}.loading-panel{color:var(--green);justify-content:center;align-items:center;gap:8px;display:flex}.editable-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.editable-field{flex-direction:column;gap:6px;min-width:0;display:flex}.editable-field span{color:var(--muted);font-size:var(--text-xs);font-weight:800}.editable-field input,.editable-field select,.date-editor input{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;outline:none;width:100%;min-width:0;min-height:40px;padding:0 10px}.editable-date-input-wrap{grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.editable-date-input-wrap.has-estimated-date{grid-template-columns:minmax(0,1fr) auto}.editable-date-source{color:#a15c00;white-space:nowrap;background:#f59e0b1f;border-radius:999px;flex:none;padding:4px 6px;font-size:10px;font-style:normal;font-weight:900;line-height:1}.inline-warning{border-radius:var(--radius-sm);color:var(--amber);background:var(--amber-soft);font-size:var(--text-sm);align-items:flex-start;gap:8px;margin-top:10px;padding:10px;font-weight:800;line-height:1.45;display:flex}.intent-warning{border-radius:var(--radius-sm);color:var(--blue);background:var(--blue-soft);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding:10px;font-weight:800;line-height:1.45;display:grid}.intent-warning button{border-radius:var(--radius-sm);min-height:32px;color:var(--blue);background:var(--surface);font-size:var(--text-xs);white-space:nowrap;border:1px solid #256bb438;padding:0 9px;font-weight:900}.editable-field.full-span{grid-column:1/-1}.consumption-card .basis-line{color:var(--blue);background:var(--blue-soft)}.date-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.date-choice button{color:var(--amber);background:var(--amber-soft);border-color:#a86d0038}.date-choice p{border-radius:var(--radius-sm);color:var(--amber);background:var(--amber-soft);font-size:var(--text-sm);grid-column:1/-1;margin:0;padding:10px;font-weight:800;line-height:1.45}.storage-basis{margin-top:8px}.single-danger{grid-template-columns:1fr}.single-danger button{color:var(--red);background:var(--red-soft);border-color:#b43b342e}.date-editor{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:6px;min-height:42px;padding:0 8px;display:inline-flex}.date-editor input{background:0 0;border:0;min-height:34px;padding:0}
.category-icon{width:34px;height:34px}.category-card strong{font-size:var(--text-md);margin-top:10px}.category-card span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.primary-action,.secondary-action{width:100%;min-height:50px;font-weight:800}.panel-action{margin-top:12px}.primary-action{color:#fff;background:var(--green);border-color:var(--green)}.secondary-action{color:var(--green);background:var(--green-soft);border-color:#167a5733}.today-ask-panel{gap:10px;display:grid}.today-ask-list{gap:8px;display:grid}.today-ask-list button{min-width:0;min-height:48px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-soft);font-size:var(--text-sm);text-align:left;grid-template-columns:20px minmax(0,1fr);justify-content:stretch;place-items:center start;column-gap:10px;padding:0 12px;font-weight:900;display:grid}.today-ask-list button svg{color:var(--green)}.today-ask-list button span{text-overflow:clip;white-space:nowrap;min-width:0;overflow:visible}.mode-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mode-switch button{color:var(--muted);font-weight:800}.mode-switch button.active{color:#fff;border-color:var(--green);background:var(--green)}.input-panel,.quick-add-panel{padding:14px}.field-label{margin-bottom:8px;font-weight:800;display:block}.text-input{resize:vertical;width:100%;min-height:132px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;outline:none;padding:12px;line-height:1.6}.composer-panel{padding:12px}.input-composer{--composer-control-size:34px;--composer-icon-size:14px;grid-template-columns:var(--composer-control-size) minmax(0, 1fr) auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;align-items:center;gap:8px;min-height:58px;padding:8px 10px;display:grid;position:relative}.input-composer.no-voice{grid-template-columns:minmax(0,1fr) auto}.composer-textarea,.composer-full-textarea{resize:none;width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;line-height:1.45}.composer-textarea{min-height:44px;max-height:112px;font-size:var(--text-md);scrollbar-width:none;padding:11px 4px}.composer-textarea::-webkit-scrollbar{width:0;display:none}.composer-textarea::placeholder,.composer-full-textarea::placeholder{color:#87938b}.composer-actions{align-items:end;gap:8px;display:flex;position:relative}.composer-icon-button,.composer-send-button{width:var(--composer-control-size);height:var(--composer-control-size);min-height:var(--composer-control-size);flex:0 0 var(--composer-control-size)}.input-composer .composer-icon-button svg,.input-composer .composer-send-button svg,.input-composer .composer-mini-button svg{width:var(--composer-icon-size);height:var(--composer-icon-size);stroke-width:2.35px}.composer-icon-button{color:var(--muted);background:var(--surface)}.composer-icon-button.voice-trigger{touch-action:none;-webkit-user-select:none;user-select:none;color:var(--green);background:var(--green-soft);border-color:#167a572e;position:relative}.composer-icon-button.voice-trigger.is-recording{color:#fff;background:#c23b2a;border-color:#c23b2a}.composer-voice-status{z-index:4;color:#fff;white-space:nowrap;pointer-events:none;background:#c23b2a;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;line-height:1;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 18px #b43b3438}.composer-send-button{color:#fff;background:var(--green);border-color:var(--green)}.composer-submit-stack{width:var(--composer-control-size);height:var(--composer-control-size);flex:0 0 var(--composer-control-size);position:relative}.composer-mini-button{z-index:2;width:var(--composer-control-size);height:var(--composer-control-size);min-height:var(--composer-control-size);color:var(--green);background:var(--green-soft);box-shadow:var(--shadow-soft);border-color:#167a5733;position:absolute;top:-42px;right:0}.composer-submit-stack .composer-send-button{position:absolute;inset:0}.composer-file-input{display:none}.composer-image-strip{scrollbar-width:none;gap:8px;margin-top:10px;padding-bottom:2px;display:flex;overflow-x:auto}.composer-image-strip::-webkit-scrollbar{display:none}.composer-image-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex:0 0 92px;width:92px;position:relative;overflow:hidden}.composer-image-chip img{aspect-ratio:1.25;object-fit:cover;background:var(--surface-2);width:100%;display:block}.composer-image-chip span,.composer-image-chip small{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 7px;display:block;overflow:hidden}.composer-image-chip span{color:var(--text);font-size:var(--text-xs);margin-top:5px;font-weight:800}.composer-image-chip small{color:var(--muted);margin:2px 0 7px;font-size:11px}.composer-image-chip button{color:#fff;background:#16231bb8;border-color:#ffffff2e;width:24px;height:24px;min-height:24px;position:absolute;top:5px;right:5px}.composer-dialog{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1018126b;padding:18px;display:flex;position:absolute;inset:0}.composer-dialog-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:0;box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:14px;display:flex}.composer-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.composer-dialog-head h2{font-size:var(--text-lg);margin:0;line-height:1.3}.composer-full-textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfa;flex:1;min-height:260px;padding:12px}.composer-dialog-actions{grid-template-columns:repeat(3,minmax(0,auto));align-items:center;gap:8px;display:grid}.composer-dialog-actions button{min-height:42px;color:var(--muted);padding:0 12px;font-weight:800}.composer-dialog-actions .primary-action{color:#fff;background:var(--green);border-color:var(--green);margin-left:auto}.editable-field input,.editable-field select,.date-editor input,.ask-bar input,.composer-textarea,.composer-full-textarea{color:var(--text)}.voice-panel{align-items:center;gap:16px;min-height:132px;display:flex}.voice-button{color:#fff;background:var(--green);border:1px solid #167a572e;border-radius:50%;flex:0 0 72px;width:72px;height:72px}.voice-panel strong{font-size:20px}.photo-panel{flex-direction:column;gap:12px;display:flex}.photo-preview{min-height:142px;color:var(--muted);border-radius:var(--radius-sm);background:#fbfcfa;border:1px dashed #a8b5ad;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.photo-actions,.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-add-panel .section-header{margin:0 0 10px}.quick-add-head{justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin:0 0 10px;display:flex}.quick-add-head h2{font-size:var(--text-lg);margin:0;line-height:1.3}.quick-add-head button{min-height:32px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);border-color:#167a572e;padding:0 10px;font-weight:900}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.quick-grid button{min-width:0;font-size:var(--text-sm)}.quick-action-panel{border-radius:var(--radius-sm);background:var(--green-soft);border:1px solid #167a5729;flex-direction:column;gap:10px;margin-top:10px;padding:10px;display:flex}.quick-action-panel strong,.pending-clear-list strong{font-size:var(--text-sm);line-height:1.35;display:block}.quick-action-panel span,.pending-clear-list small,.pending-clear-head small{color:var(--muted);font-size:var(--text-xs);font-weight:800}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-action-grid button{min-width:0;min-height:36px;color:var(--green);background:var(--surface);font-size:var(--text-sm);border-color:#167a5733;padding:0 8px;font-weight:900}.quick-action-grid button:last-child{color:var(--muted)}.pending-clear-block{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.pending-clear-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pending-clear-list{flex-direction:column;gap:8px;display:flex}.pending-clear-list button{min-height:48px;color:var(--text);text-align:left;justify-content:space-between;padding:8px 10px}.pending-clear-list button>span{min-width:0}.quick-manager{flex-direction:column;gap:10px;display:flex}.quick-edit-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.85fr) auto;gap:8px;padding:10px;display:grid}.quick-edit-row input,.quick-edit-row select{width:100%;min-width:0;min-height:38px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);outline:none;padding:0 9px}.quick-edit-row button{min-height:38px;color:var(--red);background:var(--red-soft);font-size:var(--text-sm);border-color:#b43b342e;padding:0 9px;font-weight:900}.quick-edit-row button.confirm-delete{color:#fff;background:var(--red);border-color:var(--red)}.quick-edit-row.add-row{background:0 0}.quick-edit-row.add-row button{color:#fff;background:var(--green);border-color:var(--green)}.recognized-card{padding:14px}.recognized-top,.answer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.field-cell{border-radius:var(--radius-sm);background:var(--surface-2);min-height:58px;padding:10px}.field-cell span{color:var(--muted);font-size:var(--text-xs);margin-bottom:4px;font-weight:700;display:block}.field-cell strong{overflow-wrap:anywhere;font-size:14px;display:block}.basis-line{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px}.recognized-card .basis-line,.recognized-card .card-actions{margin-top:10px}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.inventory-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar button{color:var(--muted);font-weight:800}.filter-tabs{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-tabs button{min-height:36px;color:var(--muted);font-size:var(--text-sm);flex:none;padding:0 12px;font-weight:800}.filter-tabs button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.inventory-screen{gap:12px}.inventory-search-form{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-soft);padding:10px;display:grid}.inventory-search-field{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--muted);transition:border-color var(--dur-1) var(--ease-standard), box-shadow var(--dur-1) var(--ease-standard);background:#f7faf6;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:6px;padding:0 4px 0 12px;display:grid}.inventory-search-field:focus-within{box-shadow:var(--focus);border-color:#167a576b}.inventory-search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:42px;padding:0}.inventory-search-submit{width:40px;height:40px;color:var(--green);transition:background-color var(--dur-1) var(--ease-standard), border-color var(--dur-1) var(--ease-standard), transform var(--dur-1) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;justify-self:end;align-items:center;display:inline-flex}.inventory-search-submit:hover,.inventory-search-submit:focus-visible{background:var(--green-soft);border-color:#167a5733}.inventory-search-submit:active{transform:scale(.96)}.inventory-search-submit svg{stroke-width:2.6px}.inventory-list-head button{min-width:78px;min-height:var(--inventory-head-control-height);border-radius:var(--radius-sm);color:var(--green);background:var(--green-soft);border:1px solid #167a5738;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:900;display:inline-flex}.inventory-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.inventory-filter-bar label{gap:5px;min-width:0;display:grid}.inventory-filter-bar span{color:var(--muted);font-size:var(--text-xs);font-weight:900}.inventory-filter-bar select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--surface);font-size:var(--text-sm);padding:0 8px;font-weight:900}.inventory-list-head{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:grid}.inventory-list-head>div{min-width:0}.inventory-list-head strong{font-size:var(--text-lg);white-space:nowrap;line-height:1;display:block}.inventory-list-actions{justify-content:flex-end;gap:6px;min-width:0;display:flex}.inventory-list-actions button{white-space:nowrap;min-width:72px;padding:0 10px}.inventory-list-head .inventory-add-button{color:var(--green);background:var(--green-soft);border-color:#167a572e}
.inventory-list-head button{color:var(--muted);background:var(--surface-2);border-color:#0000}.inventory-list-head .inventory-add-button,.inventory-list-head button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.food-card{padding:12px}.food-main{grid-template-columns:38px minmax(0,1fr);gap:10px;display:grid}.food-avatar{width:38px;height:38px}.food-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.food-main p{color:var(--muted);font-size:var(--text-sm);margin:4px 0 8px;line-height:1.4}.food-main p.inventory-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-line{flex-wrap:wrap;gap:6px;display:flex}.meta-line span{color:var(--muted);font-size:var(--text-xs);background:#f2f5f1;border-radius:6px;padding:4px 7px;font-weight:700}.meta-line span.is-reminder-updated{color:var(--green);background:var(--green-soft);border:1px solid #167a5738;animation:1.4s both reminder-updated}.food-card .card-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.food-card .card-actions.action-grid,.food-card .card-actions.expiry-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.food-card .card-actions.expiry-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.food-card .card-actions.expiry-actions.expiry-actions-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.expiry-actions button{min-width:0;min-height:36px;font-size:var(--text-xs);white-space:nowrap;gap:3px;padding:0 4px;font-weight:900;line-height:1}.expiry-actions button svg{flex:none}.food-card-today{gap:10px;display:grid}.today-card-note{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.45}.food-card .today-card-actions{margin-top:0}.food-action-success{color:var(--green);background:var(--green-soft);border-color:#167a5738}.food-action-danger{color:var(--red);background:var(--red-soft);border-color:#b43b3433}.expiry-actions button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.reminder-choice-panel,.expiry-date-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);gap:10px;margin-top:10px;padding:10px;display:grid}.reminder-preset-grid,.expiry-date-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.reminder-preset-grid button{color:var(--green);background:var(--green-soft);font-size:var(--text-sm);border-color:#167a5733;font-weight:900}.custom-reminder-row{grid-template-columns:minmax(0,1fr);align-items:end;gap:8px;display:grid}.custom-reminder-row label,.expiry-date-panel label{gap:5px;min-width:0;display:grid}.custom-reminder-row span,.expiry-date-panel span,.reminder-choice-panel p{color:var(--muted);font-size:var(--text-xs);font-weight:900}.custom-reminder-row input,.expiry-date-panel input{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:38px;color:var(--text);background:var(--surface);font-size:var(--text-sm);padding:0 9px;font-weight:800}.custom-reminder-row button,.expiry-date-actions button{font-size:var(--text-sm);padding:0 10px;font-weight:900}.custom-reminder-row button,.expiry-date-actions button:first-child{color:var(--blue);background:var(--blue-soft);border-color:#256bb433}.cancel-reminder-button,.expiry-date-actions button:last-child{color:var(--muted);background:var(--surface);border-color:var(--line);font-size:var(--text-sm);font-weight:900}.reminder-choice-panel p{margin:0;line-height:1.4}@keyframes reminder-updated{0%{box-shadow:0 0 #167a5700}24%{box-shadow:0 0 0 3px #167a5724}to{box-shadow:0 0 #167a5700}}.food-copy{min-width:0}.inventory-food-card{gap:10px;padding:10px;display:grid}.inventory-card-controls{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.quantity-text-button{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere;max-width:100%;font-size:var(--text-xs);line-height:1;overflow:hidden}.quantity-inline-input{width:100%;min-width:0;height:32px;color:var(--text);background:var(--surface);font:inherit;font-size:var(--text-xs);text-align:center;border:1px solid #167a5747;border-radius:6px;outline:none;padding:0 8px;font-weight:900}.quantity-inline-input:focus{border-color:#167a5780;box-shadow:0 0 0 3px #167a5714}.quantity-text-control{min-width:0;min-height:var(--inventory-control-height);border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7faf6;align-items:center;padding:3px;display:flex;overflow:hidden}.quantity-text-button{width:100%;min-height:32px;color:var(--text);background:0 0;border:0;margin:0;padding:0 10px;font-weight:900}.inventory-process-button{min-height:var(--inventory-control-height);min-width:0;color:var(--muted);background:var(--surface-2);font-size:var(--text-xs);white-space:nowrap;padding:0 6px;font-weight:900;line-height:1}.inventory-process-button svg{transition:transform var(--dur-1) var(--ease-out);flex:none}.inventory-consume-all-button{color:var(--green);background:var(--green-soft);border-color:#167a5738;gap:4px}.inventory-process-button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.inventory-process-button.active svg{transform:rotate(90deg)}.inventory-more-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);gap:10px;padding:10px;display:grid}.inventory-date-grid,.inventory-process-actions{gap:8px;display:grid}.inventory-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-date-grid .date-editor{background:var(--surface);grid-template-columns:30px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:46px;padding:0 8px;display:grid}.inventory-date-grid .date-editor span{color:var(--muted);font-size:var(--text-xs);font-weight:900}.inventory-date-grid .date-editor input{width:100%;min-width:0;min-height:32px;color:var(--text);font-size:var(--text-sm);font-weight:800}.inventory-date-grid .date-editor input::-webkit-calendar-picker-indicator{width:16px;height:16px;margin-inline-start:0;padding:0}@media (max-width:360px){.inventory-date-grid .date-editor{grid-template-columns:1fr;align-content:center;gap:1px;padding:4px 8px}.inventory-date-grid .date-editor input{min-height:24px;font-size:var(--text-xs)}}.note-editor{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:7px;padding:10px;display:grid}.note-editor label{gap:6px;display:grid}.note-editor span,.note-editor-footer small{color:var(--muted);font-size:var(--text-xs);font-weight:900}.note-editor textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:56px;color:var(--text);font:inherit;font-size:var(--text-sm);resize:none;background:#fbfcfa;outline:none;padding:9px 10px;line-height:1.45}.note-editor textarea:focus{border-color:#167a5773;box-shadow:0 0 0 3px #167a5714}.note-editor-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.note-editor-footer button{min-height:34px;color:var(--green);background:var(--green-soft);font-size:var(--text-xs);border-color:#167a573d;padding:0 12px;font-weight:900}.note-editor-footer button:disabled{opacity:.48}.inventory-process-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-process-actions button{min-width:0;color:var(--muted);background:var(--surface);font-size:var(--text-sm);padding:0 6px;font-weight:900}.inventory-process-actions .inventory-danger-action{color:var(--red);background:var(--red-soft);border-color:#b43b342e}@media (max-width:360px){.inventory-card-controls{gap:5px}.inventory-process-button{padding:0 4px}.inventory-consume-all-button svg{display:none}}.clean-select-card{min-height:68px;color:var(--text);text-align:left;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:10px;display:grid}.clean-select-card.active{background:var(--green-soft);border-color:#167a575c}.clean-check{border:1px solid var(--line);width:24px;height:24px;color:var(--green);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.clean-check.active{color:#fff;border-color:var(--green);background:var(--green)}.clean-food-copy{min-width:0}.clean-food-copy strong,.clean-food-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.clean-food-copy small{color:var(--muted);font-size:var(--text-xs);margin-top:4px;font-weight:800}.clean-action-bar{z-index:2;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);background:#fffffff5;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid;position:sticky;bottom:0}.clean-action-bar span{color:var(--muted);font-size:var(--text-sm);font-weight:900}.clean-action-bar button{min-height:36px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);border-color:#167a5733;padding:0 10px;font-weight:900}.expiry-hero{color:#fff;background:#24372d;border-color:#24372d;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.expiry-hero p,.expiry-hero .panel-label{color:#ffffffc7}.expiry-summary{gap:6px;padding:14px;display:grid}.expiry-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.expiry-summary-head .panel-label{margin:0}.expiry-summary-pills{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.expiry-summary strong{font-size:var(--text-lg);line-height:1.3;display:block}.expiry-group{flex-direction:column;gap:10px;display:flex}.snoozed-reminder-group{padding:0;overflow:hidden}.snoozed-reminder-group summary{min-height:50px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-weight:900;list-style:none;display:flex}.snoozed-reminder-group summary::-webkit-details-marker{display:none}.snoozed-reminder-group summary span{color:var(--text)}.snoozed-reminder-group summary small{color:var(--muted);font-size:var(--text-xs)}.snoozed-reminder-list{gap:10px;padding:0 10px 10px;display:grid}.group-title{color:var(--muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:800;display:flex}.chat-question{color:#fff;background:var(--blue);border-color:var(--blue);padding:16px}.chat-question .panel-label{color:#ffffffc2}.answer-card{padding:14px}.answer-list{margin-top:12px}.empty-result{padding:14px}.empty-result>div{color:var(--red);align-items:center;gap:8px;display:flex}.empty-result button{width:100%;color:var(--blue);background:var(--blue-soft);border-color:#256bb42e;margin-top:12px;font-weight:800}.ask-bar{background:var(--bg);grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:8px 0 2px;display:grid;position:sticky;bottom:0}.ask-bar input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);outline:none;min-width:0;min-height:44px;padding:0 12px}.ask-bar button{color:#fff;background:var(--green);border-color:var(--green);min-width:44px}.home-actions{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px;display:grid}.home-workbench,.mode-panel{flex-direction:column;gap:12px;display:flex}.home-mode-switch{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffa3;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.home-mode-switch button{min-width:0;min-height:40px;color:var(--muted);background:0 0;border-color:#0000;font-weight:900}.home-mode-switch button.active{color:#fff;border-color:var(--green);background:var(--green)}.compact-panel{box-shadow:none}.stock-status{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.stock-status strong{font-size:var(--text-md);line-height:1.35;display:block}.home-dashboard{gap:14px}.pending-summary,.history-summary,.assistant-welcome,.assistant-action-card,.timeline-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-soft)}.pending-summary,.history-summary{padding:14px}.pending-summary .empty-state{padding:8px 0 2px}.pending-summary.is-quiet{padding:12px}
.ask-form{padding:14px}.ask-bar.inline{background:0 0;padding:0;position:static}.recommend-grid{flex-wrap:wrap;gap:8px;display:flex}.recommend-grid button{text-align:left;flex:calc(50% - 8px);justify-content:flex-start;min-width:150px;padding:0 10px}.history-layer{z-index:9;position:absolute;inset:0}.history-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1018126b;border:0;position:absolute;inset:0}.history-panel{border-right:1px solid var(--line);background:var(--surface);width:min(84%,340px);box-shadow:var(--shadow);animation:drawer-in var(--dur-2) var(--ease-out) both;flex-direction:column;gap:14px;padding:18px 14px;display:flex;position:absolute;inset:0 auto 0 0}.history-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-head h2{font-size:var(--text-xl);margin:0;line-height:1.2}.history-list{flex-direction:column;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.history-list button{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-height:88px;padding:10px;display:flex}.history-list span{color:var(--green);font-size:var(--text-xs);font-weight:900}.history-list strong{font-size:var(--text-md);margin-top:4px;line-height:1.35}.history-list small{color:var(--muted);font-size:var(--text-xs);margin-top:4px;line-height:1.35}.settings-layer{z-index:9;position:absolute;inset:0}.settings-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1018126b;border:0;position:absolute;inset:0}.settings-panel{border-left:1px solid var(--line);background:var(--surface);width:min(88%,360px);min-height:0;box-shadow:var(--shadow);animation:settings-in var(--dur-2) var(--ease-out) both;flex-direction:column;gap:12px;padding:18px 14px;display:flex;position:absolute;inset:0 0 0 auto;overflow-y:auto}.settings-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-head h2{font-size:var(--text-xl);margin:0;line-height:1.2}.setting-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:10px;padding:12px;display:flex}.setting-section h3{font-size:var(--text-md);margin:0;line-height:1.35}.setting-section p{color:var(--muted);font-size:var(--text-sm);line-height:var(--lh-body);margin:0}.setting-field{flex-direction:column;gap:8px;display:flex}.setting-field>span{color:var(--muted);font-size:var(--text-xs);font-weight:900}.setting-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setting-option-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-option-grid button{min-width:0;min-height:36px;color:var(--muted);background:var(--surface-2);font-size:var(--text-sm);border-color:#0000;padding:0 8px;font-weight:900}.setting-option-grid button.active{color:var(--green);background:var(--green-soft);border-color:#167a573d}.fixed-setting{border-radius:var(--radius-sm);min-height:40px;color:var(--green);background:var(--green-soft);font-size:var(--text-sm);align-items:center;gap:8px;padding:0 10px;font-weight:900;display:flex}.storage-rule-list{flex-direction:column;gap:8px;display:flex}.storage-rule-editor{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:48px minmax(0,1fr);align-items:stretch;gap:10px;padding:10px;display:grid}.storage-rule-editor strong{font-size:var(--text-sm);padding-top:7px}.storage-rule-editor textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:56px;color:var(--text);background:var(--surface);font-size:var(--text-sm);padding:8px 10px;line-height:1.45}.storage-rule-editor textarea:focus{border-color:#167a5757;outline:none;box-shadow:0 0 0 3px #167a571a}.storage-rule-editor textarea::placeholder{color:var(--muted)}.status-pill{min-height:24px;font-size:var(--text-xs);white-space:nowrap;border-radius:6px;flex:none;align-items:center;padding:0 8px;font-weight:800;display:inline-flex}.tone-danger{color:var(--red);background:var(--red-soft)}.tone-warning{color:var(--amber);background:var(--amber-soft)}.tone-fresh{color:var(--green);background:var(--green-soft)}.tone-info{color:var(--blue);background:var(--blue-soft)}.tone-muted{color:var(--muted);background:var(--surface-2)}.bottom-nav{z-index:8;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:0 6px max(0px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffffa;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:0;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 22px #15261a12}.bottom-nav button{min-width:0;min-height:50px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;font-size:11px;font-weight:800;display:flex;position:relative}.bottom-nav button.active{color:var(--green)}.bottom-nav button>svg,.ai-nav-orb{flex:none}.ai-nav-orb{width:25px;height:25px;color:var(--green);background:radial-gradient(circle at 34% 24%,#ffffffdb 0 18%,#0000 19%),linear-gradient(145deg,#effff7 0%,#d7f4e7 58%,#e7f1ff 100%);border:1px solid #167a571f;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 6px #167a571f}.ai-nav-orb svg{stroke-width:2.8px}.assistant-nav-item.active .ai-nav-orb{color:#fff;background:radial-gradient(circle at 34% 24%, #ffffff61 0 18%, transparent 19%), linear-gradient(145deg, #24b87a 0%, var(--green) 62%, #3b8bd2 100%);box-shadow:0 3px 8px #167a572e}@media (hover:hover){.icon-button:hover,.search-entry:hover,.primary-action:hover,.secondary-action:hover,.toolbar button:hover,.filter-tabs button:hover,.mode-switch button:hover,.quick-grid button:hover,.quick-action-grid button:hover,.pending-clear-list button:hover,.photo-actions button:hover,.card-actions button:hover,.empty-result button:hover,.ask-bar button:hover,.composer-icon-button:hover,.composer-send-button:hover,.composer-mini-button:hover,.composer-dialog-actions button:hover,.composer-image-chip button:hover,.row-actions button:hover,.date-choice button:hover,.recommendation-actions button:hover,.recommend-grid button:hover,.empty-state button:hover,.section-header button:hover,.quick-add-head button:hover,.quick-edit-row button:hover,.clean-select-card:hover,.clean-action-bar button:hover,.intent-warning button:hover,.setting-option-grid button:hover,.fridge-top button:hover,.assistant-fullscreen-button:hover,.bottom-nav button:hover{border-color:#167a575c;transform:translateY(-1px)}.food-card:hover,.priority-row:hover,.category-card:hover,.recognized-card:hover,.recommendation-card:hover,.empty-state:hover,.setting-section:hover{border-color:#167a573d;transform:translateY(-1px)}}@keyframes meter-grow{0%{transform:scaleX(.72)}to{transform:scaleX(1)}}@keyframes drawer-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes settings-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:520px){.prototype-page{padding:0;display:block}.app-frame{width:100%;height:100dvh;min-height:100dvh;box-shadow:none;border:0;border-radius:0}.composer-dialog{padding:12px}.settings-panel{width:min(92%,380px)}}@media (max-width:360px){.inventory-list-head{padding-left:10px;padding-right:6px}.inventory-list-actions button{min-width:66px;padding:0 7px}.custom-reminder-row,.reminder-preset-grid,.expiry-date-actions{grid-template-columns:1fr}.metric-grid.today-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid div{min-height:68px}.today-ask-list{grid-template-columns:1fr}.today-brief-card{padding:14px}.today-reminder-row{padding:9px}.today-reminder-title{column-gap:4px;font-size:12px}.today-reminder-line{gap:6px}.today-reminder-line small{font-size:10px}.today-reminder-quantity-input{width:100%;height:22px;padding:0 5px}.today-reminder-quantity-control{grid-template-columns:minmax(0,1fr) 20px;gap:2px}.today-reminder-quantity-control .today-reminder-quantity{min-height:20px}.today-quantity-icon-button{width:20px;min-width:20px;height:20px;min-height:20px}.today-reminder-actions{gap:4px}.today-reminder-actions button{min-height:34px;padding:0 2px;font-size:11px}.today-action-label-full{display:none}.today-action-label-short{display:inline}.category-grid,.quick-grid,.home-actions,.date-choice,.editable-grid,.recommendation-actions,.quick-action-grid,.composer-dialog-actions,.row-actions,.quick-edit-row,.clean-action-bar,.food-card .card-actions.action-grid,.food-card .card-actions.expiry-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stats,.field-grid,.food-card .card-actions,.assistant-consume-group-item .assistant-consume-fields{grid-template-columns:1fr}.assistant-consume-group-item .consume-batch-processing .assistant-consume-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-stock-title{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px}.assistant-stock-compact-row,.assistant-stock-more-panel{gap:5px}.assistant-stock-field,.assistant-stock-more-button{padding:7px 6px}.assistant-stock-more-button{padding:0}.assistant-stock-compact-row .assistant-stock-date-field{padding:0 6px}.fridge-zones{grid-template-columns:1fr}.assistant-send-button span{display:none}.assistant-composer-dock{grid-template-columns:var(--assistant-composer-control-size) minmax(0, 1fr) var(--assistant-composer-control-size) var(--assistant-composer-control-size)}.home-actions,.date-choice,.editable-grid,.recommendation-actions,.quick-action-grid,.composer-dialog-actions,.row-actions,.quick-edit-row,.clean-action-bar,.food-card .card-actions.action-grid,.food-card .card-actions.expiry-actions{grid-template-columns:1fr}.food-card .card-actions.expiry-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.food-card .card-actions.expiry-actions.expiry-actions-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.expiry-actions button{min-height:34px;padding:0 3px;font-size:11px}.expiry-actions button svg{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
:root{--font-sans:"Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--bg:#f2f0eb;--surface:#fff;--surface-2:#edebe9;--surface-strong:#d4e9e2;--ink:#000000de;--text:var(--ink);--muted:#00000094;--line:#0000001a;--accent:#00754a;--green:#006241;--green-accent:#00754a;--green-house:#1e3932;--green-uplift:#2b5148;--green-soft:#d4e9e2;--amber:#9a6b16;--amber-soft:#faf6ee;--red:#c82014;--red-soft:#c8201414;--blue:#2b5148;--blue-soft:#2b51481a;--violet:#33433d;--violet-soft:#faf6ee;--radius-sm:12px;--radius-md:12px;--radius-lg:24px;--radius-pill:50px;--shadow:0 1px 3px #0000001a, 0 2px 2px #0000000f, 0 0 2px #00000012;--shadow-soft:0 0 .5px #00000024, 0 1px 1px #0000003d;--focus:0 0 0 3px #00754a38;--bottom-nav-height:70px;--assistant-composer-gap:4px;--dur-1:.18s;--dur-2:.3s;--dur-3:.42s;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-standard:var(--ease-out)}@media (prefers-color-scheme:dark){:root{--bg:#101814;--surface:#16231d;--surface-2:#1e3028;--surface-strong:#244439;--ink:#fffffff5;--muted:#ffffffad;--line:#ffffff21;--green:#5fd3a2;--green-accent:#6ee0ad;--green-house:#0c241d;--green-uplift:#244439;--green-soft:#5fd3a229;--amber:#dfc49d;--amber-soft:#cba25829;--red:#ff8a7f;--red-soft:#ff8a7f24;--blue:#d4e9e2;--blue-soft:#d4e9e21f;--violet:#d4e9e2;--violet-soft:#d4e9e21a;--shadow:0 1px 3px #00000057, 0 2px 2px #0000003d, 0 0 2px #00000047;--shadow-soft:0 0 .5px #ffffff1f, 0 1px 1px #0000006b;--focus:0 0 0 3px #6ee0ad42}}body{letter-spacing:0;background:var(--bg)}button,input,textarea,select{letter-spacing:0}button{transition:transform var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out)}button:active:not(:disabled){transform:scale(.95)}.prototype-page{background:var(--bg)}.app-frame{background:var(--bg);box-shadow:var(--shadow);border-color:#00000014}.app-header{border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft);background:#f2f0ebf5;padding:22px 20px 16px}.app-header h1{color:var(--green);font-weight:700}.header-kicker,.panel-label,.section-header button{color:var(--muted)}.screen-scroll{background:var(--bg)}.summary-panel,.input-panel,.quick-add-panel,.recognized-card,.food-card,.today-brief-card,.recommendation-card,.answer-card,.chat-question,.empty-result,.expiry-hero,.expiry-summary,.snoozed-reminder-group,.push-card,.stock-status,.empty-state,.loading-panel,.ask-form,.action-card,.assistant-action-card,.setting-section,.inventory-search-form,.inventory-list-head,.history-summary,.preference-summary{border-color:var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft)}.fridge-panel,.today-brief-card,.recommendation-card,.expiry-hero{color:#fff;background:var(--green-house);border-color:var(--green-house);box-shadow:var(--shadow)}.fridge-panel:after,.today-brief-card:after,.recommendation-card:after,.expiry-hero:after{content:none}.fridge-top .panel-label,.today-brief-card .panel-label,.recommendation-card .panel-label,.expiry-hero p,.today-brief-card p,.recommendation-card p{color:#ffffffb3}.fridge-zone,.fridge-zone.tone-danger,.fridge-zone.tone-fresh,.fridge-zone.tone-info{background:#ffffff1a;border-left:0}.fridge-meter{background:#ffffff2e}.fridge-meter span{background:#cba258}.spark-icon,.push-icon,.pending-quiet-icon,.assistant-mark,.empty-icon,.category-icon,.food-avatar,.rank-badge{border-radius:50%}.spark-icon,.push-icon,.pending-quiet-icon,.empty-icon{color:var(--green);background:var(--green-soft)}.assistant-mark,.assistant-send-button,.composer-send-button,.inventory-search-submit,.quick-edit-row.add-row button,.primary-action,.assistant-consume-buttons .primary-mini,.assistant-stock-actions .primary-mini,.assistant-group-actions .primary-mini,.clean-action-bar button,.inventory-process-actions button:not(.inventory-danger-action){color:#fff;background:var(--green-accent);border-color:var(--green-accent)}.assistant-mark{flex-basis:48px;width:48px;height:48px}.assistant-mark svg,.ai-nav-orb svg{stroke-width:2.45px}.primary-action,.secondary-action,.toolbar button,.filter-tabs button,.mode-switch button,.quick-grid button,.quick-action-grid button,.pending-clear-list button,.photo-actions button,.card-actions button,.reminder-preset-grid button,.custom-reminder-row button,.cancel-reminder-button,.expiry-date-actions button,.inventory-process-button,.inventory-consume-all-button,.inventory-process-actions button,.note-editor-footer button,.empty-result button,.ask-bar button,.composer-icon-button,.composer-send-button,.composer-mini-button,.composer-dialog-actions button,.composer-image-chip button,.home-mode-switch button,.history-list button,.recommendation-actions button,.today-ask-list button,.section-header button,.quick-add-head button,.quick-edit-row button,.clean-select-card,.clean-action-bar button,.setting-option-grid button,.assistant-consume-buttons button,.assistant-tool-button,.assistant-send-button,.assistant-fullscreen-button,.assistant-fullscreen-send,.assistant-query-expand,.assistant-card-delete,.assistant-stock-more-button,.assistant-stock-date-trigger,.history-segment button,.inventory-list-head button{border-radius:var(--radius-pill)}.secondary-action,.quick-add-head button,.filter-tabs button.active,.mode-switch button.active,.setting-option-grid button.active,.inventory-list-head .inventory-add-button,.inventory-list-head button.active,.expiry-actions button.active,.composer-icon-button.voice-trigger,.assistant-tool-button,.assistant-fullscreen-button,.food-action-success,.reminder-preset-grid button,.empty-state button{color:var(--green);background:var(--green-soft);border-color:#00754a38}.toolbar button,.filter-tabs button,.mode-switch button,.quick-grid button,.setting-option-grid button,.history-segment button,.inventory-list-head button{background:var(--surface);border-color:var(--line)}.icon-button,.composer-icon-button,.assistant-tool-button,.assistant-fullscreen-button,.inventory-search-submit{border-radius:50%}.text-input,.input-composer,.inventory-search-field,.editable-field input,.editable-field select,.date-editor input,.custom-reminder-row input,.expiry-date-panel input,.quantity-inline-input,.quick-edit-row input,.quick-edit-row select,.storage-rule-editor textarea,.assistant-composer-dock textarea,.composer-textarea,.composer-full-textarea,.assistant-fullscreen-textarea,.inventory-filter-bar select{color:var(--text);background:var(--surface);border-color:var(--line)}.input-composer,.inventory-search-field,.assistant-turn-summary,.assistant-stock-field,.assistant-consume-fields,.assistant-group-item,.field-cell,.basis-line,.reminder-choice-panel,.expiry-date-panel,.quick-action-panel,.storage-rule-editor,.quick-edit-row,.inventory-more-panel,.note-editor,.date-editor,.consume-batch-processing{background:var(--surface-2);border-color:var(--line)}.text-input:focus,.inventory-search-field:focus-within,.editable-field input:focus,.editable-field select:focus,.storage-rule-editor textarea:focus,.quantity-inline-input:focus,.inventory-filter-bar select:focus{border-color:var(--green-accent);box-shadow:var(--focus)}.status-pill,.action-type,.meta-line span,.editable-date-source,.history-source-pill{border-radius:var(--radius-pill)}.tone-danger{color:var(--red);background:var(--red-soft)}.tone-warning{color:var(--amber);background:var(--amber-soft)}.tone-fresh{color:var(--green);background:var(--green-soft)}.tone-info{color:var(--blue);background:var(--blue-soft)}.tone-muted{color:var(--muted);background:var(--surface-2)}.category-card,.priority-row,.food-card,.recognized-card,.assistant-action-card,.history-timeline-item,.clean-select-card,.consume-batch-card,.assistant-query-row{border-color:var(--line);background:var(--surface)}.category-card{min-height:98px}.category-card.as-button{text-align:left}.food-avatar svg,.category-icon svg{stroke-width:2.2px}.meta-line span{background:var(--surface-2)}.metric-grid{border-color:var(--line);background:var(--line);box-shadow:var(--shadow-soft)}.metric-grid.today-risk-grid div.tone-stock,.metric-grid.today-risk-grid div.tone-fresh,.metric-grid.today-risk-grid div.tone-info,.metric-grid.today-risk-grid div.tone-warning,.metric-grid.today-risk-grid div.tone-danger{background:var(--surface)}.metric-grid.today-risk-grid div.tone-fresh{--metric-accent:var(--green);--metric-label:#00000094}.metric-grid.today-risk-grid div.tone-info{--metric-accent:var(--green-uplift);--metric-label:#00000094}.metric-grid.today-risk-grid div.tone-warning{--metric-accent:var(--amber);--metric-label:#00000094}.metric-grid.today-risk-grid div.tone-danger{--metric-accent:var(--red);--metric-label:#00000094}.assistant-welcome{background:var(--green-soft);box-shadow:none;border-color:#00754a33}.prompt-chips button{border-radius:var(--radius-pill);background:var(--surface)}.chat-bubble{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:18px 18px 18px 6px}.user-bubble{border-color:var(--green-accent);background:var(--green-accent);border-radius:18px 18px 6px}.typing-dots span{background:var(--green-accent)}.assistant-action-card.confirmed,.assistant-group-item.confirmed,.pending-quiet-row{background:var(--green-soft);border-color:#00754a3d}.assistant-stock-group-item,.assistant-consume-group-item{background:var(--surface-2)}.action-card.add .action-type,.assistant-action-card.add .action-type{color:var(--green);background:var(--green-soft)}.action-card.query .action-type,.assistant-action-card.query .action-type{color:var(--green-uplift);background:var(--blue-soft)}.assistant-action-card.consume .action-type,.assistant-consume-buttons .danger-mini,.food-action-danger,.inventory-danger-action,.single-danger button{color:var(--red);background:var(--red-soft);border-color:#c820142e}.assistant-action-card.needs-check .action-type,.inline-warning,.date-choice button,.date-choice p{color:var(--amber);background:var(--amber-soft)}.assistant-confirmation-note{color:var(--green);background:var(--green-soft);border-color:#00754a38}.assistant-composer-dock{border-color:var(--line);background:#fffffffa;border-radius:28px;box-shadow:0 0 6px #0000002e,0 8px 12px #0000001f}.assistant-send-button,.composer-send-button{box-shadow:0 0 6px #0000002e,0 8px 12px #0000001f}.assistant-send-button:active,.composer-send-button:active{box-shadow:0 0 6px #0000002e,0 8px 12px #0000}.bottom-nav{--bottom-nav-tab-surface:#fffffffc;--ai-nav-orb-size:62px;--ai-nav-orb-bottom:7px;--ai-nav-cap-bleed:4px;--bottom-nav-button-height:58px;--bottom-nav-edge-offset:calc(var(--bottom-nav-height) - var(--bottom-nav-button-height));--ai-nav-cap-height:max(0px, calc(var(--ai-nav-orb-size) + var(--ai-nav-orb-bottom) - var(--bottom-nav-height) + var(--bottom-nav-edge-offset) + 1px));--ai-nav-cap-size:calc(var(--ai-nav-orb-size) + var(--ai-nav-cap-bleed) * 2);isolation:isolate;box-shadow:none;background:0 0;border-top:0;overflow:visible}.bottom-nav:before{content:"";left:50%;top:calc(var(--bottom-nav-edge-offset) - var(--ai-nav-cap-height) - var(--ai-nav-cap-bleed));width:var(--ai-nav-cap-size);height:var(--ai-nav-cap-size);background:var(--bottom-nav-tab-surface);box-shadow:none;z-index:1;pointer-events:none;border:0;border-radius:50%;position:absolute;transform:translate(-50%)}.bottom-nav:after{content:"";inset:var(--bottom-nav-edge-offset) 0 0;z-index:0;border-top:1px solid var(--line);background:var(--bottom-nav-tab-surface);pointer-events:none;position:absolute;box-shadow:0 -1px #0000000d,0 -10px 24px #1e393214}.bottom-nav button{min-height:var(--bottom-nav-button-height);border-radius:var(--radius-pill);color:var(--muted);z-index:2;justify-content:center}.bottom-nav button.active{color:var(--green)}.assistant-nav-item{z-index:2;min-height:var(--bottom-nav-height);isolation:isolate;justify-content:center;overflow:visible}.assistant-nav-item:active:not(:disabled){transform:none}.ai-nav-orb{left:50%;bottom:var(--ai-nav-orb-bottom);z-index:3;isolation:isolate;width:var(--ai-nav-orb-size);height:var(--ai-nav-orb-size);color:var(--green);transition:transform .18s cubic-bezier(.2, .8, .2, 1.18), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);background:radial-gradient(circle at 34% 22%,#ffffffeb 0 12%,#0000 13%),linear-gradient(145deg,#fff 0%,#e5f4ec 46%,#d4e9e2 100%);border:1px solid #00754a38;flex-direction:column;gap:2px;position:absolute;overflow:visible;transform:translate(-50%);box-shadow:0 16px 28px #0062412e,0 4px 10px #0000001a,inset 0 0 0 1px #ffffffb8}.ai-nav-orb:before{content:none}.ai-nav-orb:after{content:"";background:#cba258;border-radius:50%;width:7px;height:7px;position:absolute;top:11px;right:13px;box-shadow:-8px 8px 0 -2px #cba258bd,5px 10px 0 -3px #ffffffd6}.ai-nav-orb-label{letter-spacing:0;font-size:12px;font-weight:900;line-height:1}.assistant-nav-item:active .ai-nav-orb{transform:translate(-50%)scale(.96)}.assistant-nav-item.active .ai-nav-orb{color:#fff;background:radial-gradient(circle at 35% 22%, #ffffff52 0 12%, transparent 13%), linear-gradient(145deg, #0a8a5c 0%, var(--green) 58%, #1e3932 100%);border-color:#0062418f;box-shadow:0 18px 32px #00624147,0 7px 16px #00000024,inset 0 0 0 1px #ffffff3d}.assistant-nav-item.active .ai-nav-orb:before{opacity:1}.assistant-nav-item.active .ai-nav-orb:after{background:#f2d59f;box-shadow:-8px 8px 0 -2px #f2d59fcc,5px 10px 0 -3px #ffffffe6}@keyframes ai-nav-breathe{0%,to{opacity:.42;transform:scale(.94)}50%{opacity:.72;transform:scale(1.04)}}.history-segment,.settings-panel,.history-panel,.composer-dialog-panel,.assistant-fullscreen-dialog{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.history-segment{border-radius:var(--radius-pill)}.history-segment button.active{color:#fff;background:var(--green-accent)}.history-backdrop,.settings-backdrop{background:#1e393280}.inventory-process-button,.quantity-text-button{background:var(--surface);border-color:var(--line)}.quantity-text-control,.quantity-text-button{background:0 0}.inventory-more-button.active,.assistant-stock-more-button{color:var(--green);background:var(--green-soft);border-color:#00754a33}.today-ask-list button{border-radius:var(--radius-pill);background:var(--surface)}.recommendation-actions button{color:#fff;background:0 0;border-color:#ffffffb8}.today-reminder-row{background:linear-gradient(#fffefa 0%,#f7f3ea 100%);border-color:#ffffffd6;padding:8px 9px;box-shadow:inset 3px 0 #cba258e6,0 1px 2px #0000001a}.today-reminder-title{color:var(--green-house);line-height:1.15}.today-reminder-name{letter-spacing:0}.today-reminder-name-button:focus-visible,.today-reminder-quantity-toggle:focus-visible{outline-color:#00754a5c}.today-reminder-divider{color:#00624152}.today-reminder-quantity{color:#1e3932bd;font-weight:800}.today-reminder-quantity-control{color:#1e3932bd}.today-reminder-quantity-input{color:var(--green-house);background:#fff;border-color:#00754a3d;box-shadow:inset 0 1px #00000008}.today-reminder-quantity-input:focus{border-color:#00754a70;box-shadow:0 0 0 3px #00754a1a}.today-quantity-icon-button{color:var(--green);border-radius:var(--radius-pill);box-shadow:none;background:#fff;border-color:#00754a2e}.today-quantity-icon-button.is-confirm{color:#fff;background:var(--green);border-color:var(--green)}.today-reminder-line small{max-width:42vw;color:var(--green);background:var(--green-soft);border-radius:var(--radius-pill);border:1px solid #00754a2e;justify-self:end;padding:4px 7px;line-height:1;box-shadow:inset 0 1px #ffffff85}.today-reminder-line small.tone-danger{color:var(--red);background:var(--red-soft);border-color:#c820142e}.today-reminder-line small.tone-warning{color:var(--amber);background:var(--amber-soft);border-color:#9a6b162e}.today-reminder-line small.tone-info{color:var(--blue);background:var(--blue-soft);border-color:#2b51482e}.today-reminder-line small.tone-muted{color:var(--muted);background:var(--surface-2);border-color:var(--line)}.today-reminder-actions button{min-height:32px;color:var(--green-house);border-radius:var(--radius-pill);box-shadow:none;background:#fff;border-color:#0000001f;padding:0 5px}.today-reminder-actions .food-action-success{color:var(--green);background:#fff;border-color:#00754a33}.today-reminder-actions .food-action-danger{color:var(--red);background:#fff;border-color:#c8201433}.recommendation-actions button:first-child,.today-brief-card .recommendation-actions button:first-child{color:var(--green-accent);background:#fff;border-color:#fff}.fridge-top button{border-radius:var(--radius-pill)}@media (hover:hover){.icon-button:hover,.search-entry:hover,.primary-action:hover,.secondary-action:hover,.toolbar button:hover,.filter-tabs button:hover,.mode-switch button:hover,.quick-grid button:hover,.quick-action-grid button:hover,.pending-clear-list button:hover,.card-actions button:hover,.empty-result button:hover,.composer-icon-button:hover,.composer-send-button:hover,.composer-mini-button:hover,.row-actions button:hover,.recommendation-actions button:hover,.empty-state button:hover,.section-header button:hover,.quick-add-head button:hover,.clean-select-card:hover,.setting-option-grid button:hover,.assistant-fullscreen-button:hover,.bottom-nav button:hover{box-shadow:var(--shadow-soft);border-color:#00754a61}.assistant-nav-item:hover{box-shadow:none}.assistant-nav-item:hover .ai-nav-orb{box-shadow:0 18px 34px #00624138,0 6px 14px #0000001f,inset 0 0 0 1px #ffffffb8}.assistant-nav-item.active:hover .ai-nav-orb{box-shadow:0 20px 36px #00624152,0 8px 18px #00000024,inset 0 0 0 1px #ffffff3d}.food-card:hover,.priority-row:hover,.category-card:hover,.recognized-card:hover,.recommendation-card:hover,.empty-state:hover,.setting-section:hover{border-color:#00754a4d}}@media (prefers-color-scheme:dark){.app-header,.assistant-composer-dock{background:#16231dfa}.bottom-nav{--bottom-nav-tab-surface:#16231dfc;background:0 0}.bottom-nav:before{background:var(--bottom-nav-tab-surface);box-shadow:none}.bottom-nav:after{content:"";background:var(--bottom-nav-tab-surface);box-shadow:0 -1px #ffffff0d,0 -10px 24px #00000047}.ai-nav-orb{color:var(--green);background:radial-gradient(circle at 34% 22%,#fff3 0 12%,#0000 13%),linear-gradient(145deg,#23372f 0%,#1a2d25 48%,#244439 100%);border-color:#5fd3a247;box-shadow:0 16px 28px #0000006b,0 0 0 1px #5fd3a214,inset 0 0 0 1px #ffffff14}.assistant-nav-item.active .ai-nav-orb{color:#061811;background:radial-gradient(circle at 35% 22%, #ffffff57 0 12%, transparent 13%), linear-gradient(145deg, #8ee8bc 0%, var(--green) 60%, #d4e9e2 100%);border-color:#6ee0ada3;box-shadow:0 18px 34px #00000075,inset 0 0 0 1px #ffffff5c}.ai-nav-orb:before{background:#16231d;box-shadow:0 0 0 1px #ffffff1f}.metric-grid.today-risk-grid div.tone-fresh,.metric-grid.today-risk-grid div.tone-info,.metric-grid.today-risk-grid div.tone-warning,.metric-grid.today-risk-grid div.tone-danger,.metric-grid.today-risk-grid div.tone-stock{--metric-label:#ffffffad;background:var(--surface)}.text-input,.input-composer,.inventory-search-field,.editable-field input,.editable-field select,.date-editor input,.custom-reminder-row input,.expiry-date-panel input,.quantity-inline-input,.quick-edit-row input,.quick-edit-row select,.storage-rule-editor textarea,.assistant-composer-dock textarea,.composer-textarea,.composer-full-textarea,.assistant-fullscreen-textarea,.inventory-filter-bar select{background:#16231d}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
