*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%;max-width:100%;background-color:#f9fafb;overflow-x:clip}body{min-height:100vh;min-height:100dvh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#111827}#root{min-height:100vh;min-height:100dvh;max-width:100%;overflow-x:clip}.min-h-screen{min-height:100vh}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.app-header-container{width:100%;max-width:64rem;margin:0 auto;padding:1rem;box-sizing:border-box}.app-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:#f9fafb;color:#111827}.app-header{position:relative;background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.app-title{font-size:1.5rem;font-weight:700;margin:0}.app-description{font-size:.875rem;margin-top:.25rem}.app-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem}.app-control-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid #d1d5db;background-color:#f3f4f6;color:#111827;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s}.app-control-btn:hover{background-color:#e5e7eb;border-color:#93c5fd}.app-theme-icon{font-size:1rem}@media (hover: hover) and (pointer: fine){.app-header-tooltip{position:relative}.app-header-tooltip:after{content:attr(data-tooltip);position:absolute;z-index:100;top:calc(100% + .5rem);right:0;width:max-content;max-width:min(20rem,calc(100vw - 2rem));padding:.45rem .6rem;border-radius:.375rem;border:1px solid #d1d5db;background:#fff;color:#111827;box-shadow:0 4px 12px #00000026;font-size:.75rem;font-weight:500;line-height:1.35;text-align:left;white-space:pre-line;pointer-events:none;opacity:0;transform:translateY(-.2rem);transition:opacity .12s ease,transform .12s ease}.app-header-tooltip:hover:after,.app-header-tooltip:focus-visible:after{opacity:1;transform:translateY(0)}html.dark .app-header-tooltip:after{border-color:#475569;background:#111827;color:#f9fafb;box-shadow:0 4px 12px #0006}}.app-nav{position:sticky;top:0;z-index:50;display:flex;gap:.25rem;padding:.75rem 1rem;background-color:#fff;border-bottom:1px solid #e5e7eb;overflow-x:auto;box-shadow:0 1px 3px #00000014}@media (min-width: 641px){.app-nav{padding-right:max(1rem,calc((100vw - 64rem)/2 + 1rem));padding-left:max(1rem,calc((100vw - 64rem)/2 + 1rem))}}.app-tab{padding:.5rem 1rem;border-radius:.5rem;border:none;background:transparent;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s;white-space:nowrap}.app-tab:hover{background-color:#f3f4f6;color:#111827}.app-main{flex:1;padding:1.5rem;max-width:64rem;margin:0 auto;width:100%;min-width:0}@media (max-width: 640px){.app-main{padding:1rem}.app-header{padding:0}.app-header-container{flex-wrap:wrap;gap:.75rem}.app-header-container>div:first-child{min-width:0;flex:1 1 12rem}.app-title{font-size:1.25rem}.app-nav{gap:.125rem;padding:.5rem}.app-tab{padding:.25rem .5rem;font-size:.75rem}.app-list-item{padding:.75rem}}.app-form{display:grid;gap:1rem;margin-bottom:2rem;width:100%;min-width:0;max-width:100%}.app-item-editor{width:100%;min-width:0;max-width:100%;scroll-margin-top:5.5rem}.app-item-editor>.app-form{min-width:0;max-width:100%}.app-vocabulary-combobox{position:relative;min-width:0}.app-vocabulary-suggestions{position:absolute;z-index:30;top:calc(100% + .25rem);right:0;left:0;max-height:19rem;overflow-y:auto;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;box-shadow:0 10px 24px #0f172a29}.app-vocabulary-option{display:flex;width:100%;min-width:0;padding:.7rem .85rem;align-items:center;justify-content:space-between;gap:1rem;border:0;border-bottom:1px solid #e5e7eb;background:transparent;color:#111827;text-align:left;cursor:pointer}.app-vocabulary-option:last-child{border-bottom:0}.app-vocabulary-option:hover,.app-vocabulary-option:focus-visible{background:#eff6ff;outline:none}.app-vocabulary-translation{display:block;margin-top:.1rem;color:#6b7280;font-size:.8rem}.app-vocabulary-meta{flex-shrink:0;color:#6b7280;font-size:.75rem;text-align:right}.app-vocabulary-correction{display:block;color:#b45309;font-weight:600}html.dark .app-vocabulary-suggestions{border-color:#4b5563;background:#1f2937}html.dark .app-vocabulary-option{border-bottom-color:#374151;color:#f3f4f6}html.dark .app-vocabulary-option:hover,html.dark .app-vocabulary-option:focus-visible{background:#1e3a5f}html.dark .app-vocabulary-translation,html.dark .app-vocabulary-meta{color:#9ca3af}html.dark .app-vocabulary-correction{color:#fbbf24}.app-location-form{margin-bottom:0;scroll-margin-top:5.5rem}.app-location-list-item{width:auto;min-width:0;transition:margin .15s ease,border-color .2s,box-shadow .2s}.app-location-list-item.is-drop-target{border-color:#2563eb;background:#dbeafe;box-shadow:0 0 0 3px #2563eb59,0 6px 16px #2563eb2e;transform:scale(1.005)}.app-location-tree{position:relative;min-width:0}.app-location-tree.is-dragging,.app-location-tree.is-dragging *,body.app-location-drag-active{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app-location-tree.is-dragging img,.app-location-tree.is-dragging a{-webkit-user-drag:none}.app-location-drag-handle{display:inline-grid;width:2rem;height:2rem;flex:0 0 auto;padding:0;place-items:center;border:0;border-radius:.3rem;background:transparent;color:#64748b;cursor:grab;font-size:1.15rem;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none}.app-location-promote{display:inline-grid;width:1.75rem;height:1.75rem;flex:0 0 auto;padding:0;place-items:center;border:0;border-radius:.3rem;background:transparent;color:#2563eb;cursor:pointer;font:inherit;font-weight:700}.app-location-promote:hover,.app-location-promote:focus-visible{background:#dbeafe;outline:none}.app-location-drag-handle:active{cursor:grabbing}.app-location-drag-handle:hover,.app-location-drag-handle:focus-visible{background:#e5e7eb;outline:none}.app-location-top-drop{position:absolute;z-index:10;top:0;right:0;left:0;padding:.75rem;border:2px dashed #93c5fd;border-radius:.5rem;background:#eff6ff;color:#1d4ed8;text-align:center}.app-location-top-drop.is-over{border-color:#2563eb;background:#dbeafe}.app-location-toggle{display:inline-grid;flex:0 0 2.15rem;width:2.15rem;height:2.15rem;padding:0;place-items:center;border:0;border-radius:.3rem;background:transparent;color:#4b5563;cursor:pointer;font-size:1.35rem}.app-location-promote+.app-location-toggle{margin-left:.45rem}.app-location-toggle:hover,.app-location-toggle:focus-visible{background:#e5e7eb;outline:none}.app-location-toggle.is-placeholder{cursor:default}.app-location-inline-form{display:grid;gap:.75rem;width:auto;min-width:0;max-width:100%;padding:1rem;border:1px dashed #93c5fd;border-radius:.5rem;background:#eff6ff}.app-location-suggestions{display:flex;flex-wrap:wrap;gap:.4rem}.app-location-suggestions button{padding:.3rem .55rem;border:1px solid #93c5fd;border-radius:999px;background:#fff;color:#1d4ed8;cursor:pointer;font-size:.75rem}.app-location-suggestions button:hover,.app-location-suggestions button:focus-visible{background:#dbeafe;outline:none}.app-location-inline-actions{justify-content:flex-start}.app-location-action-icon{display:none}html.dark .app-location-inline-form{border-color:#3b82f6;background:#172554}html.dark .app-location-suggestions button{border-color:#3b82f6;background:#1e3a8a;color:#dbeafe}html.dark .app-location-suggestions button:hover,html.dark .app-location-suggestions button:focus-visible{background:#1d4ed8}html.dark .app-location-toggle{color:#d1d5db}html.dark .app-location-toggle:hover,html.dark .app-location-toggle:focus-visible{background:#374151}html.dark .app-location-drag-handle{color:#94a3b8}html.dark .app-location-list-item.is-drop-target{border-color:#60a5fa;background:#1e3a5f;box-shadow:0 0 0 3px #60a5fa66,0 6px 16px #00000059}html.dark .app-location-drag-handle:hover,html.dark .app-location-drag-handle:focus-visible{background:#374151}html.dark .app-location-promote{color:#93c5fd}html.dark .app-location-promote:hover,html.dark .app-location-promote:focus-visible{background:#1e3a8a}html.dark .app-location-top-drop{border-color:#3b82f6;background:#172554;color:#bfdbfe}html.dark .app-location-top-drop.is-over{background:#1e3a8a}@media (max-width: 640px){.app-location-form{scroll-margin-top:3.5rem}.app-location-list-item{max-width:calc(100% - 1.25rem)}}.app-field{display:grid;gap:.4rem;min-width:0}.app-service-badge{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2rem;padding:.25rem .55rem;border:1px solid currentColor;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.app-service-badge.is-connected{color:#15803d}.app-service-badge.is-checking{color:#64748b}.app-service-badge.has-issue{color:#dc2626}.app-low-stock-badge{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:3.25rem;min-height:2rem;border:1px solid #d97706;border-radius:999px;background:#fffbeb;color:#92400e;padding:.25rem .55rem;font:inherit;font-weight:700;cursor:pointer}html.dark .app-low-stock-badge{background:#451a03;border-color:#f59e0b;color:#fcd34d}.app-low-stock-badge.is-active{background:#92400e;border-color:#78350f;color:#fff}html.dark .app-low-stock-badge.is-active{background:#78350f;border-color:#fbbf24;color:#fff}.app-alert-dialog{width:min(42rem,100%);max-height:min(85vh,48rem);display:grid;gap:1rem;overflow:auto}.app-alert-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.app-alert-summary button{display:flex;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border:1px solid #f59e0b;border-radius:.65rem;background:#fffbeb;color:#92400e;font:inherit;cursor:pointer}.app-alert-summary button.is-critical{border-color:#ef4444;background:#fef2f2;color:#b91c1c}.app-alert-summary button:disabled{opacity:.55;cursor:default}.app-alert-list{display:grid;gap:.5rem}.app-alert-row{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:.85rem;padding:.75rem;border:1px solid #e5e7eb;border-left:4px solid #f59e0b;border-radius:.7rem;background:#fff}.app-alert-row.is-expired{border-left-color:#ef4444}.app-alert-image{width:4.75rem;height:4.75rem;border-radius:.55rem;object-fit:cover;background:#e5e7eb}.app-alert-card-content{display:grid;align-content:start;gap:.2rem;min-width:0}.app-alert-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.1rem}.app-alert-type-badge{width:max-content;max-width:100%;padding:.18rem .48rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:700}.app-alert-type-badge.is-expired{background:#fee2e2;color:#b91c1c}.app-alert-item-name{font-size:1rem;overflow-wrap:anywhere}.app-alert-detail{color:#92400e!important;font-weight:600}.app-alert-location:before{content:"⌖ "}.app-alert-row small{color:#6b7280;overflow-wrap:anywhere}.app-alert-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}html.dark .app-alert-summary button{background:#451a03;color:#fcd34d}html.dark .app-alert-summary button.is-critical{background:#450a0a;color:#fca5a5}html.dark .app-alert-row{border-color:#475569;background:#111827}html.dark .app-alert-detail{color:#fbbf24!important}html.dark .app-alert-type-badge{background:#78350f;color:#fde68a}html.dark .app-alert-type-badge.is-expired{background:#7f1d1d;color:#fecaca}html.dark .app-alert-row small{color:#cbd5e1}@media (max-width:640px){.app-alert-summary{grid-template-columns:1fr}.app-alert-row{grid-template-columns:4rem minmax(0,1fr)}.app-alert-image{width:4rem;height:4rem}.app-alert-actions{align-items:stretch;flex-direction:column}}.app-email-alert-button{display:inline-flex;align-items:center;gap:.3rem;justify-content:center;min-width:3.25rem;min-height:2rem;padding:.25rem .55rem;border:1px solid #3b82f6;border-radius:999px;background:#eff6ff;color:#1d4ed8;font:inherit;font-weight:700;cursor:pointer}html.dark .app-email-alert-button{background:#1e3a8a;border-color:#60a5fa;color:#bfdbfe}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#0f172aad}.app-email-dialog{width:min(34rem,100%);padding:1.25rem;border:1px solid #d1d5db;border-radius:1rem;background:#fff;color:#111827;box-shadow:0 24px 60px #0f172a47}.app-notification-dialog{max-width:100%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-notification-dialog>*,.app-notification-dialog .app-field,.app-notification-dialog .app-notification-preferences{min-width:0}html.dark .app-email-dialog{border-color:#374151;background:#1f2937;color:#f9fafb}.app-email-dialog h2{margin:0;font-size:1.2rem}.app-dialog-close{border:0;background:transparent;color:inherit;font-size:1.7rem;cursor:pointer}.app-email-recipient-list{display:grid;gap:.45rem;margin-top:.45rem}.app-email-recipient{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;padding:.65rem .75rem;border:1px solid #d1d5db;border-radius:.7rem}.app-email-recipient small{color:#6b7280}.app-recipient-delete{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:.45rem;background:transparent;color:#dc2626;font:inherit;cursor:pointer}.app-recipient-delete:hover{background:#fee2e2}.app-notification-preferences{display:grid;gap:.55rem}.app-notification-preferences .app-email-recipient>span{display:grid}.app-notification-preferences .is-disabled{opacity:.55}.app-notification-types{display:flex;flex-wrap:wrap;gap:1rem;padding:.25rem .25rem .5rem}.app-notification-types label{display:flex;align-items:center;gap:.4rem}.app-time-input{width:min(12rem,100%)}.app-email-add-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;margin-top:.65rem}html.dark .app-email-recipient{border-color:#475569}html.dark .app-email-recipient small{color:#9ca3af}html.dark .app-recipient-delete:hover{background:#450a0a}@media (max-width: 640px){.app-modal-backdrop{align-items:start;overflow-x:hidden;overflow-y:auto}.app-notification-dialog{width:100%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);padding:1rem}.app-email-recipient{grid-template-columns:auto minmax(0,1fr) auto}.app-email-recipient span{min-width:0;overflow-wrap:anywhere}.app-email-recipient small{grid-column:2}.app-recipient-delete{grid-column:3;grid-row:1 / span 2}.app-email-add-row{grid-template-columns:minmax(0,1fr)}}.app-success{color:#15803d;font-weight:600}html.dark .app-success{color:#86efac}.app-auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:#111827}.app-auth-card{width:min(28rem,100%);display:grid;gap:1rem;padding:2rem;border:1px solid #374151;border-radius:1rem;background:#1f2937;color:#f9fafb}.app-auth-card h1,.app-auth-card h2{margin:0}.app-pantry-switch{position:static;z-index:auto;width:auto;min-width:0}.app-pantry-switch-row{display:grid;grid-template-columns:minmax(9rem,12rem) auto;gap:.5rem;align-items:center}.app-pantry-switch-row .app-select-input{height:2rem;padding:.25rem .55rem;line-height:1.2}.app-pantry-switch-row>button{min-width:2rem;height:2rem;padding:.25rem .55rem;justify-content:center;font-size:.875rem;line-height:1}.app-pantry-switch-row>button:nth-child(2){font-size:1rem}.app-pantry-switch-row>button:last-child{font-size:0}.app-pantry-switch-row>button:last-child:before{content:"";width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5'/%3E%3Cpath d='M15 12H3'/%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5'/%3E%3Cpath d='M15 12H3'/%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E") center/contain no-repeat}.app-user-dialog{width:min(42rem,100%);max-width:100%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:1rem;-webkit-overflow-scrolling:touch}.app-settings-page-host{min-width:0;width:100%}.app-settings-page{width:100%;max-width:100%;max-height:none;overflow:visible;padding:0;background:transparent;box-shadow:none}.app-settings-page>.app-stock-heading{margin-bottom:.25rem}.app-user-dialog>*{min-width:0}.app-dialog-title-row{display:flex;align-items:center;min-width:0;gap:.5rem}.app-dialog-back{display:inline-grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;padding:0;border:1px solid #d1d5db;border-radius:.5rem;background:#f3f4f6;color:inherit;font:inherit;font-size:1.65rem;line-height:1;cursor:pointer}html.dark .app-dialog-back{border-color:#475569;background:#111827}.app-user-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid #e5e7eb}.app-user-row span{display:grid;min-width:0}.app-user-row strong,.app-user-row small{overflow-wrap:anywhere}.app-user-row small{color:#6b7280}html.dark .app-user-row{border-color:#374151}html.dark .app-user-row small{color:#9ca3af}.app-user-row .app-user-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem}.app-user-row .app-user-row-actions button{white-space:nowrap}.app-user-role-select{width:auto;min-width:7rem;padding:.4rem .65rem;font-size:.9rem}@media (max-width:640px){.app-user-dialog{width:100%;padding:1rem}.app-user-row{align-items:stretch;flex-direction:column}.app-user-row .app-user-row-actions{justify-content:flex-start}.app-user-role-select{width:100%;max-width:100%}}.app-backup-page{display:grid;gap:1rem;min-width:0}.app-backup-card{display:grid;gap:.7rem;min-width:0;padding:1rem;border:1px solid #d1d5db;border-radius:.8rem;background:#f9fafb}.app-backup-status-row,.app-backup-checklist>div,.app-backup-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.app-backup-checklist{display:grid;gap:.55rem}.app-backup-checklist strong,.app-backup-status-row strong{max-width:65%;overflow-wrap:anywhere;text-align:right}.app-backup-card .is-ready{color:#15803d}.app-backup-card .is-missing{color:#b45309}.app-backup-list{display:grid;gap:.55rem}.app-backup-list>div{padding-top:.55rem;border-top:1px solid #e5e7eb}.app-backup-list span{display:grid;min-width:0}.app-backup-list small{color:#6b7280;overflow-wrap:anywhere}.app-backup-disclosure{min-width:0;border-top:1px solid #e5e7eb;padding-top:.65rem}.app-backup-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;font-weight:700;list-style:none}.app-backup-disclosure summary::-webkit-details-marker{display:none}.app-backup-disclosure summary:before{content:"▸";flex:0 0 auto;color:#6b7280}.app-backup-disclosure[open] summary:before{content:"▾"}.app-backup-disclosure summary strong{margin-left:auto;padding:.1rem .55rem;border-radius:999px;background:#e5e7eb}.app-backup-disclosure .app-backup-list,.app-backup-disclosure>.app-field-help{margin-top:.65rem}html.dark .app-backup-card{border-color:#475569;background:#111827}html.dark .app-backup-card .is-ready{color:#86efac}html.dark .app-backup-card .is-missing{color:#fcd34d}html.dark .app-backup-list>div{border-color:#374151}html.dark .app-backup-list small{color:#9ca3af}html.dark .app-backup-disclosure{border-color:#374151}html.dark .app-backup-disclosure summary strong{background:#374151;color:#f9fafb}html.dark .app-backup-disclosure summary:before{color:#9ca3af}.app-restore-preview{order:-1}.app-restore-preview .app-field{gap:.35rem}.app-restore-error{margin:.15rem 0 0}.app-restore-report{width:min(42rem,100%);display:grid;gap:1rem}.app-restore-report .app-stock-heading>span{display:grid;gap:.15rem}.app-restore-report .app-stock-heading small{color:#6b7280}.app-restore-delta{display:grid;gap:.7rem;min-width:0}.app-delta-counts{display:flex;flex-wrap:wrap;gap:.5rem;padding:.55rem 0}.app-delta-counts span{padding:.2rem .5rem;border-radius:999px;font-size:.8rem;font-weight:700}.app-delta-counts .is-added{background:#dcfce7;color:#166534}.app-delta-counts .is-changed{background:#fef3c7;color:#92400e}.app-delta-counts .is-removed{background:#fee2e2;color:#991b1b}.app-delta-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .55rem;padding:.45rem 0;border-top:1px solid #e5e7eb}.app-delta-row>strong{grid-row:1/span 2;font-size:.75rem;text-transform:uppercase}.app-delta-row small{display:grid;gap:.12rem;color:#6b7280;overflow-wrap:anywhere}.app-delta-field b{font-weight:700}.app-restore-readonly{margin:0;padding:.65rem;border-radius:.6rem;background:#fef3c7;color:#92400e;font-weight:700}html.dark .app-restore-report .app-stock-heading small{color:#9ca3af}html.dark .app-delta-counts .is-added{background:#14532d;color:#bbf7d0}html.dark .app-delta-counts .is-changed,html.dark .app-restore-readonly{background:#451a03;color:#fde68a}html.dark .app-delta-counts .is-removed{background:#450a0a;color:#fecaca}html.dark .app-delta-row{border-color:#374151}html.dark .app-delta-row small{color:#9ca3af}.app-delta-status{align-self:start;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.2;text-transform:none;white-space:nowrap}.app-delta-status.is-added{background:#dcfce7;color:#166534}.app-delta-status.is-changed{background:#fef3c7;color:#92400e}.app-delta-status.is-removed{background:#fee2e2;color:#991b1b}.app-delta-row:has(.app-delta-image){grid-template-columns:auto minmax(0,1fr) 2.5rem}.app-delta-image{grid-column:3;grid-row:1/span 2;width:2.5rem;height:2.5rem;border-radius:.45rem;object-fit:cover}.app-delta-row:has(.app-delta-image)>.app-delta-status{grid-column:1}.app-delta-row:has(.app-delta-image)>span,.app-delta-row:has(.app-delta-image)>small{grid-column:2}html.dark .app-delta-status.is-added{background:#14532d;color:#bbf7d0}html.dark .app-delta-status.is-changed{background:#451a03;color:#fde68a}html.dark .app-delta-status.is-removed{background:#450a0a;color:#fecaca}.app-restore-preview{order:-2}.app-restore-timeline{order:-1}.app-timeline{display:grid;gap:0;min-width:0}.app-timeline-current{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;color:#15803d}.app-timeline-event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;margin-left:.35rem;padding:.75rem 0 .75rem 1.25rem;border-left:2px solid #93c5fd}.app-timeline-event:before{content:"";position:absolute;left:-.42rem;top:1rem;width:.7rem;height:.7rem;border-radius:50%;background:#3b82f6}.app-timeline-event>div{display:grid;min-width:0}.app-timeline-event small{color:#6b7280;overflow-wrap:anywhere}.app-timeline-event .app-button{align-self:center}@media (max-width:640px){.app-timeline-event{grid-template-columns:minmax(0,1fr)}.app-timeline-event .app-button{justify-self:start;width:100%}}html.dark .app-timeline-current{color:#86efac}html.dark .app-timeline-event{border-color:#1d4ed8}html.dark .app-timeline-event small{color:#9ca3af}@media (max-width:640px){.app-backup-status-row,.app-backup-checklist>div{align-items:flex-start;flex-direction:column;gap:.15rem}.app-backup-checklist strong,.app-backup-status-row strong{max-width:100%;text-align:left}.app-backup-list>div{align-items:flex-start;flex-direction:column;gap:.2rem}}.is-viewer .app-main form,.is-viewer .app-list-item-actions,.is-viewer .app-stock-quick-actions,.is-viewer .app-category-form-actions,.is-viewer .app-email-alert-button{display:none!important}@media (max-width:640px){.app-controls{flex-wrap:wrap}.app-pantry-switch{flex:1 0 100%;width:100%;padding:0;background:transparent}.app-pantry-switch-row{grid-template-columns:minmax(0,1fr) 2rem 2rem}.app-pantry-switch select{width:100%}.app-pantry-switch-row>button:last-child{width:2rem;min-width:2rem;height:2rem;padding:.25rem;border-color:#d1d5db;color:#111827}.app-pantry-switch-row>button:last-child:after{content:none}html.dark .app-pantry-switch-row>button:last-child{color:#f9fafb;border-color:#4b5563}}html.dark .app-service-badge.is-connected{color:#86efac}html.dark .app-service-badge.is-checking{color:#cbd5e1}html.dark .app-service-badge.has-issue{color:#fca5a5}.app-stock-existing-note{display:grid;gap:.2rem;margin-top:.75rem;padding:.75rem 1rem;border:1px solid #93c5fd;border-left:4px solid #3b82f6;border-radius:.65rem;background:#eff6ff;color:#1e3a8a}.app-stock-existing-note.is-merge{border-color:#86efac;border-left-color:#16a34a;background:#f0fdf4;color:#166534}.app-stock-existing-note small{opacity:.8}html.dark .app-stock-existing-note{border-color:#1d4ed8;border-left-color:#60a5fa;background:#172554;color:#bfdbfe}html.dark .app-stock-existing-note.is-merge{border-color:#166534;border-left-color:#4ade80;background:#052e16;color:#bbf7d0}.app-stock-existing-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.app-stock-existing-line>span{min-width:0;overflow-wrap:anywhere}.app-stock-existing-line .app-action-link{flex:0 0 auto;white-space:nowrap}.app-stock-dialog-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.app-stock-dialog-tabs button{min-width:0;padding:.65rem .5rem;border:1px solid #3b82f6;border-radius:.5rem;background:transparent;color:#2563eb;cursor:pointer;font:inherit;font-weight:700}.app-stock-dialog-tabs button.is-active{background:#3b82f6;color:#fff}.app-stock-dialog-tabs button:disabled{cursor:not-allowed;opacity:.5}.app-stock-dialog-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding-top:.75rem;border-top:1px solid #d1d5db}.app-stock-dialog-form>.app-button{justify-self:start}html.dark .app-stock-dialog-tabs button{color:#93c5fd}html.dark .app-stock-dialog-tabs button.is-active{color:#fff}html.dark .app-stock-dialog-form{border-color:#475569}.app-stock-form-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%;min-width:0}.app-stock-form-actions>.app-button{box-sizing:border-box;justify-self:stretch;width:100%;min-width:0;white-space:nowrap;text-align:center}.app-stock-action-short{display:none}.app-stock-reset-button{border:0;background:transparent;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;padding:.2rem .4rem}.app-location-select{position:relative;width:100%;min-width:0}.app-location-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;min-height:0;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:#111827;font:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}.app-location-select-trigger:focus-visible{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.app-location-select-placeholder{color:#6b7280}.app-location-select-menu{position:absolute;z-index:40;top:calc(100% + .25rem);left:0;right:0;display:grid;overflow:auto;padding:.3rem;border:1px solid #d1d5db;border-radius:.6rem;background:#fff;box-shadow:0 12px 30px #0f172a2e}.app-location-select.opens-up .app-location-select-menu{top:auto;bottom:calc(100% + .25rem)}.app-location-select-option{display:flex;width:100%;min-width:0;padding:.38rem .65rem;border:0;border-radius:.4rem;background:transparent;color:#111827;font:inherit;text-align:left;cursor:pointer}.app-location-select-option:hover,.app-location-select-option[aria-selected=true]{background:#f3f4f6}.app-location-select-option.is-placeholder{color:#6b7280}.app-location-level-badge{display:block;max-width:100%;overflow:hidden;padding:.18rem .45rem;border:1px solid transparent;border-radius:.4rem;text-overflow:ellipsis;white-space:nowrap}.app-location-level-badge.level-0{border-color:#dbeafe;background:#f8fbff;color:#31598b}.app-location-level-badge.level-1{border-color:#dcfce7;background:#f8fdf9;color:#397052}.app-location-level-badge.level-2{border-color:#fef3c7;background:#fffdf7;color:#7a622a}.app-location-level-badge.level-3{border-color:#f3e8ff;background:#fdfaff;color:#76508c}html.dark .app-location-select-trigger{border-color:#4b5563;background:#374151;color:#f3f4f6}html.dark .app-location-select-menu{border-color:#475569;background:#1f2937;color:#f9fafb}html.dark .app-location-select-placeholder,html.dark .app-location-select-option.is-placeholder{color:#9ca3af}html.dark .app-location-select-option{color:#f9fafb}html.dark .app-location-select-option:hover,html.dark .app-location-select-option[aria-selected=true]{background:#334155}html.dark .app-location-level-badge.level-0{border-color:#60a5fa3d;background:#3b82f612;color:#b8cff0}html.dark .app-location-level-badge.level-1{border-color:#4ade8038;background:#22c55e0f;color:#b4ddc1}html.dark .app-location-level-badge.level-2{border-color:#fbbf2438;background:#f59e0b0f;color:#e1d19e}html.dark .app-location-level-badge.level-3{border-color:#c084fc38;background:#a855f70f;color:#d5bee8}@media (max-width:640px){.app-stock-form-actions>.app-button{padding:.65rem .35rem}.app-stock-action-long{display:none}.app-stock-action-short{display:inline}}@media (max-width:640px){.app-stock-dialog-form{grid-template-columns:1fr}.app-stock-dialog-form>.app-button{width:100%}}.app-similar-item-suggestion{display:grid;gap:.35rem;padding:.55rem .65rem;border:1px solid #93c5fd;border-left:4px solid #3b82f6;border-radius:.55rem;background:#eff6ff;color:#1e3a8a;font-size:.78rem}.app-similar-item-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.app-similar-item-row>span:first-child{min-width:0;overflow-wrap:anywhere}.app-similar-item-actions{display:flex;flex:0 0 auto;gap:.5rem}.app-similar-item-actions .app-action-link,.app-similar-more{font-size:inherit;white-space:nowrap}html.dark .app-similar-item-suggestion{border-color:#1d4ed8;border-left-color:#60a5fa;background:#172554;color:#bfdbfe}@media (max-width:640px){.app-similar-item-row{align-items:flex-start;flex-direction:column}.app-similar-item-actions{width:100%;justify-content:flex-end}}.app-field-label{font-size:.875rem;font-weight:600}.app-field-label-row{position:relative;display:flex;align-items:center;gap:.4rem}.app-bilingual-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.app-bilingual-name-grid>.app-field-help{grid-column:1 / -1}.app-translation-state{display:inline-flex;margin-left:.4rem;padding:.08rem .35rem;border-radius:999px;font-size:.62rem;font-weight:700;vertical-align:middle}.app-translation-state.is-automatic{background:#dbeafe;color:#1e40af}.app-translation-state.is-manual{background:#dcfce7;color:#166534}html.dark .app-translation-state.is-automatic{background:#1e3a8a;color:#bfdbfe}html.dark .app-translation-state.is-manual{background:#14532d;color:#bbf7d0}.app-info-tooltip{position:relative;display:inline-flex}.app-info-button{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;padding:0;border:0;border-radius:999px;background:transparent;color:#2563eb;cursor:help;font-size:1rem;line-height:1}.app-info-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.app-barcode-open{display:none}.app-barcode-actions{display:none;margin-left:auto;gap:.35rem}.app-barcode-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;overflow-x:hidden;background:#000000c7}.app-barcode-dialog{display:grid;width:min(100%,32rem);min-width:0;max-width:100%;max-height:calc(100dvh - 2rem);gap:.75rem;padding:1rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;touch-action:pan-y;border-radius:.75rem;background:#fff;color:#111827}.app-barcode-dialog>*,.app-stock-dialog-form>*,.app-stock-consume-panel>*{min-width:0;max-width:100%}.app-barcode-heading{display:flex;align-items:center;justify-content:space-between}.app-barcode-heading button{width:2.5rem;height:2.5rem;border:0;background:transparent;color:inherit;font-size:1.8rem}.app-barcode-viewport{position:relative;min-height:15rem;overflow:hidden;border-radius:.5rem;background:#111827}.app-barcode-viewport video{width:100%;height:100%;min-height:15rem;object-fit:cover}.app-barcode-target{position:absolute;top:25%;right:10%;bottom:25%;left:10%;border:.18rem solid #60a5fa;border-radius:.4rem;box-shadow:0 0 0 100vmax #0000002e}.app-barcode-zoom{display:grid;grid-template-columns:auto minmax(0,1fr) 3rem;align-items:center;gap:.65rem;font-size:.8rem;font-weight:700}.app-barcode-zoom input{width:100%;accent-color:#3b82f6}.app-barcode-zoom output{text-align:right;font-variant-numeric:tabular-nums}.app-barcode-error{color:#b91c1c;font-weight:600}.app-barcode-resolution{display:grid;gap:.65rem;padding:.85rem;border:1px solid #22c55e;border-radius:.65rem;background:#f0fdf4}.app-barcode-resolution.is-unknown{border-color:#f59e0b;background:#fffbeb}.app-barcode-resolution .app-stock-heading>span{display:grid;gap:.1rem}.app-barcode-resolution code{padding:.3rem .5rem;border-radius:.35rem;background:#ffffffbf;font-size:1rem;font-weight:700;letter-spacing:.06em}.app-barcode-existing-list{display:grid;overflow:hidden;border:1px solid #d1d5db;border-radius:.5rem}.app-barcode-existing-list button{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#111827;text-align:left;cursor:pointer}.app-barcode-existing-list button:last-child{border-bottom:0}.app-barcode-existing-list button:hover{background:#eff6ff}.app-barcode-existing-list button>span:first-child{display:grid}.app-barcode-existing-list small{color:#6b7280}html.dark .app-barcode-resolution{background:#052e16;color:#dcfce7}html.dark .app-barcode-resolution.is-unknown{background:#422006;color:#fef3c7}html.dark .app-barcode-resolution code{background:#111827b3;color:inherit}html.dark .app-barcode-existing-list{border-color:#475569}html.dark .app-barcode-existing-list button{border-color:#374151;background:#1f2937;color:#f9fafb}html.dark .app-barcode-existing-list button:hover{background:#374151}html.dark .app-barcode-existing-list small{color:#9ca3af}.app-barcode-photo{text-align:center;cursor:pointer}.app-barcode-manual{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;padding-top:.75rem;border-top:1px solid #d1d5db}.app-barcode-capture-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}html.dark .app-barcode-dialog{background:#1f2937;color:#f9fafb}html.dark .app-barcode-error{color:#fca5a5}.app-info-tooltip-content{position:absolute;z-index:100;top:calc(100% + .5rem);left:-.5rem;display:block;width:min(28rem,calc(100vw - 3rem));padding:.8rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:#111827;box-shadow:0 6px 18px #00000029;font-size:.78rem;font-weight:400;line-height:1.4;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-.2rem);transition:opacity .12s ease,transform .12s ease,visibility .12s}.app-field-info-tooltip{position:static}.app-field-info-tooltip .app-info-tooltip-content{right:auto;left:0;width:min(22rem,100%)}.app-field-with-tooltip{position:relative;overflow:visible}.app-field-with-tooltip.is-tooltip-open{z-index:101}.app-info-tooltip-content ol{display:grid;gap:.35rem;margin:.6rem 0;padding-left:1.25rem}.app-info-tooltip-close{position:absolute;top:.3rem;right:.35rem;display:grid;place-items:center;width:1.5rem;height:1.5rem;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font-size:1.25rem;line-height:1}.app-info-tooltip-next{display:block;padding:.5rem;border-radius:.35rem;background:#eff6ff;color:#1e3a8a;font-weight:600}.app-info-tooltip:focus-within .app-info-tooltip-content{opacity:1;visibility:visible;transform:translateY(0)}.app-info-tooltip-content.is-open{opacity:1;visibility:visible;transform:translateY(0)}@media (hover: hover) and (pointer: fine){.app-info-tooltip:hover .app-info-tooltip-content{opacity:1;visibility:visible;transform:translateY(0)}}html.dark .app-info-button{color:#60a5fa}html.dark .app-info-tooltip-content{border-color:#475569;background:#111827;color:#f9fafb;box-shadow:0 6px 18px #0006}html.dark .app-info-tooltip-next{background:#1e3a8a;color:#dbeafe}@media (max-width: 768px) and (pointer: coarse){.app-barcode-actions{display:flex}.app-barcode-open{display:inline-flex;align-items:center;padding:.3rem .55rem;border:1px solid #3b82f6;border-radius:.4rem;background:transparent;color:#2563eb;font-size:.75rem;font-weight:700}.app-field-label-row .app-barcode-open,.app-stock-form>.app-stock-heading .app-barcode-open{box-sizing:border-box;width:5.25rem;min-height:2.65rem;justify-content:center;text-align:center;white-space:normal}html.dark .app-barcode-open{color:#93c5fd}}@media (max-width: 640px){.app-bilingual-name-grid{grid-template-columns:1fr}.app-info-tooltip-content{position:fixed;top:22%;right:1rem;left:1rem;width:auto}.app-field-info-tooltip .app-info-tooltip-content{position:absolute;top:calc(100% + .5rem);right:auto;left:0;width:min(22rem,100%)}}.app-field-help{color:#6b7280;font-size:.75rem;line-height:1.4}html.dark .app-field-help{color:#9ca3af}.app-item-preview-header,.app-image-controls{display:flex;align-items:center;gap:1rem;min-width:0}.app-item-preview-card{position:relative;width:100%;min-width:0;max-width:100%;overflow:hidden;padding:1rem;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}.app-current-image-preview{width:120px;height:120px;padding:0;border:2px solid #e5e7eb;border-radius:.5rem;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;cursor:zoom-in}.app-current-image-preview:hover,.app-current-image-preview:focus-visible{border-color:#3b82f6}.app-current-image-preview:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}html.dark .app-current-image-preview{border-color:#4b5563;background-color:#1f2937}html.dark .app-current-image-preview:hover,html.dark .app-current-image-preview:focus-visible{border-color:#60a5fa}.app-image-preview-frame{display:grid;justify-items:center;flex:0 0 120px}.app-current-image-preview img{transform-origin:center;transition:transform .15s ease}.app-image-zoom-controls{display:grid;grid-template-columns:1.8rem auto 1.8rem;align-items:center;gap:.25rem;width:7.5rem;max-width:100%;margin-top:.35rem}.app-image-zoom-controls button{width:1.8rem;height:1.8rem;padding:0;border:1px solid #d1d5db;border-radius:.4rem;background:#f3f4f6;color:#111827;font-size:1rem;font-weight:700}.app-image-zoom-controls span{min-width:2.6rem;text-align:center;color:#6b7280;font-size:.75rem;font-variant-numeric:tabular-nums}.app-image-zoom-controls button:disabled{opacity:.4;cursor:not-allowed}html.dark .app-image-zoom-controls button{border-color:#4b5563;background:#374151;color:#f9fafb}html.dark .app-image-zoom-controls span{color:#9ca3af}.app-image-controls{position:relative;gap:.5rem;width:100%;max-width:100%}.app-image-controls .app-input{flex:1 1 12rem;min-width:0}.app-image-url-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-input,.app-select-input{width:100%;min-width:0;max-width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;color:#111827;font-size:1rem;transition:border-color .2s,box-shadow .2s}.app-input:focus,.app-select-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.app-button{padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;font-weight:500;font-size:.875rem;transition:opacity .2s,transform .1s;justify-self:start}.app-button:hover:not(:disabled){opacity:.9}.app-button:active:not(:disabled){transform:scale(.98)}.app-button-primary{background-color:#3b82f6;color:#fff}.app-button-secondary{background-color:#6b7280;color:#fff}.app-button:disabled{opacity:.5;cursor:not-allowed}.app-item-edit-actions{display:flex;align-items:center;gap:.75rem;min-width:0}.app-item-edit-actions .app-button{min-width:7rem}.app-list{display:grid;gap:.75rem}.app-list-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.app-item-row-clickable,.app-location-list-item.is-collapsible{cursor:pointer}.app-item-row-main{display:flex;flex:1 1 auto;align-items:center;gap:.75rem;min-width:0;border-radius:.35rem}.app-item-row-main:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.app-item-row-clickable:hover,.app-location-list-item.is-collapsible:hover{border-color:#93c5fd}html.dark .app-item-row-clickable:hover,html.dark .app-location-list-item.is-collapsible:hover{border-color:#60a5fa}.app-list-item:hover{border-color:#93c5fd;box-shadow:0 1px 3px #0000001a}.app-list-item-text{flex:1;min-width:0}.app-list-item-name{font-weight:500;color:#111827;margin:0}.app-item-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0}.app-list-item-meta{font-size:.875rem;color:#6b7280;margin-top:.25rem}.app-stock-page,.app-stock-catalog,.app-recipe-page{display:grid;gap:1.25rem;min-width:0}.app-usage-guide{display:grid;gap:1rem}.app-guide-intro,.app-guide-rules{padding:1rem;border:1px solid #d1d5db;border-radius:.75rem;background:#fff}.app-guide-intro h2,.app-guide-intro p,.app-guide-card h3,.app-guide-card p,.app-guide-rules h3{margin-top:0}.app-guide-intro p,.app-guide-card p{margin-bottom:0;color:#6b7280;line-height:1.55}.app-guide-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding:.4rem}.app-guide-flow-section{display:grid;gap:.5rem}.app-guide-flow-section h3{margin:0}.app-guide-flow-part{position:relative;min-width:0}.app-guide-flow-step{display:flex;align-items:flex-start;gap:.6rem;height:100%;padding:.7rem;border:1px solid #bfdbfe;border-radius:.7rem;background:#dbeafe;color:#1e3a8a}.app-guide-flow-step>span{display:grid;gap:.15rem;min-width:0}.app-guide-flow-step b{line-height:1.2}.app-guide-flow-step small{color:#475569;font-size:.7rem;line-height:1.3;white-space:pre-line}.app-guide-flow-arrow{position:absolute;top:50%;left:calc(100% + .45rem);transform:translateY(-50%);color:#64748b;font-size:1.25rem;font-weight:800}.app-guide-flow-step strong{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;flex:0 0 1.9rem;border-radius:999px;background:#3b82f6;color:#fff}.app-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.app-guide-card{display:flex;gap:.75rem;padding:1rem;border:1px solid #d1d5db;border-radius:.75rem;background:#fff}.app-guide-rules ul{display:grid;gap:.5rem;margin-bottom:0;padding-left:1.25rem}html.dark .app-guide-intro,html.dark .app-guide-card,html.dark .app-guide-rules{border-color:#475569;background:#1f2937}html.dark .app-guide-intro p,html.dark .app-guide-card p{color:#cbd5e1}html.dark .app-guide-flow-step{border-color:#3b82f6;background:#1e3a8a;color:#dbeafe}html.dark .app-guide-flow-step small{color:#bfdbfe}html.dark .app-guide-flow-arrow{color:#94a3b8}@media (max-width: 640px){.app-guide-grid{grid-template-columns:1fr}.app-guide-flow{grid-template-columns:1fr;gap:1.7rem}.app-guide-flow-arrow{top:calc(100% + .2rem);left:50%;transform:translate(-50%) rotate(90deg)}}.app-recipe-search{display:grid;gap:.9rem}.app-recipe-selection-sticky{position:sticky;top:3.7rem;z-index:40;display:flex;align-items:center;gap:.65rem;min-width:0;padding:.55rem .7rem;border:1px solid #bfdbfe;border-radius:.6rem;background:#eff6fff5;color:#1e3a8a;box-shadow:0 2px 8px #0f172a1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-recipe-selection-sticky>strong{flex:0 0 auto}.app-recipe-selection-sticky>div{display:flex;gap:.4rem;min-width:0;overflow-x:auto;scrollbar-width:thin}.app-recipe-selection-sticky span{flex:0 0 auto;padding:.2rem .5rem;border-radius:999px;background:#dbeafe;font-size:.8rem;font-weight:700}.app-recipe-actions{display:flex;flex-wrap:wrap;gap:.75rem}.app-recipe-term-review{display:grid;gap:.75rem;min-width:0}.app-recipe-term-review-body{display:grid;gap:.75rem;padding:.8rem;border:1px solid #dbeafe;border-radius:.65rem;background:#f8fafc}.app-recipe-term-group{display:grid;gap:.55rem;min-width:0}.app-recipe-term-group h4{margin:0}.app-recipe-term-group-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem}.app-recipe-term-confirmed{min-width:0;padding-top:.65rem;border-top:1px solid #cbd5e1}.app-recipe-term-confirmed>summary{margin-bottom:.65rem;cursor:pointer;font-weight:700}.app-recipe-term-review-list{display:grid;gap:.55rem}.app-recipe-term-review-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1.2fr) auto;align-items:center;gap:.65rem;padding:.65rem;border:1px solid #e2e8f0;border-radius:.55rem;background:#fff}.app-recipe-term-review-row>div{display:grid;min-width:0}.app-recipe-term-review-row small{color:#64748b}.app-recipe-term-review-row.is-confirmed{border-left:4px solid #16a34a}.app-recipe-search-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.app-recipe-history-notice{margin:0;padding:.65rem .8rem;border:1px solid #f59e0b;border-radius:.55rem;background:#fffbeb;color:#92400e}.app-recipe-title{display:flex;align-items:flex-start;gap:.5rem;min-width:0}.app-recipe-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.8rem;font-weight:800}.app-search-spinner{width:1rem;height:1rem;flex:0 0 1rem;border:2px solid #ffffff;border-right-color:transparent;border-radius:50%;animation:app-search-spin .7s linear infinite}@keyframes app-search-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.app-search-spinner{animation-duration:1.5s}}.app-recipe-categories{display:grid;gap:.9rem;min-width:0}.app-recipe-category{display:grid;gap:.35rem;min-width:0}.app-recipe-category-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-recipe-ingredient-list{display:flex;gap:.5rem;overflow-x:auto;padding:.15rem 0 .45rem}.app-recipe-ingredient{flex:0 0 auto;display:grid;gap:.15rem;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;cursor:pointer;font:inherit}.app-recipe-ingredient small{color:#64748b}.app-recipe-ingredient.is-selected{border-color:#2563eb;background:#dbeafe;color:#1e3a8a}.app-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.app-recipe-card{overflow:hidden;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}.app-recipe-image{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.app-recipe-card-body{display:grid;gap:.65rem;padding:1rem}.app-recipe-card-body p{margin:0}.app-recipe-stock-items{display:grid;gap:.35rem;padding:.65rem;border-radius:.55rem;background:#eff6ff}.app-recipe-stock-items>div{display:grid}.app-recipe-stock-items span{font-weight:700}.app-recipe-stock-items small{color:#64748b}.app-recipe-stock-location{overflow-wrap:anywhere}.app-recipe-card-body details ul{margin-bottom:0;padding-left:1.25rem}.app-recipe-match{border-radius:999px;background:#dcfce7;color:#166534;padding:.2rem .5rem;font-size:.8rem;font-weight:700}.app-recipe-no-more{margin:0;padding:.65rem .8rem;border:1px solid #93c5fd;border-radius:.55rem;background:#eff6ff;color:#1e3a8a}.app-error{color:#b91c1c}html.dark .app-recipe-ingredient{border-color:#475569;background:#1f2937;color:#e5e7eb}html.dark .app-recipe-ingredient small{color:#94a3b8}html.dark .app-recipe-ingredient.is-selected{border-color:#60a5fa;background:#1e3a8a;color:#fff}html.dark .app-recipe-card{border-color:#475569;background:#1f2937}html.dark .app-recipe-match{background:#14532d;color:#bbf7d0}html.dark .app-recipe-no-more{border-color:#2563eb;background:#172554;color:#dbeafe}html.dark .app-recipe-stock-items{background:#1e3a8a}html.dark .app-recipe-stock-items small{color:#bfdbfe}html.dark .app-recipe-history-notice{border-color:#d97706;background:#451a03;color:#fde68a}html.dark .app-recipe-number{background:#1e3a8a;color:#bfdbfe}html.dark .app-recipe-selection-sticky{border-color:#1d4ed8;background:#1e3a8af5;color:#dbeafe}html.dark .app-recipe-selection-sticky span{background:#172554;color:#dbeafe}html.dark .app-recipe-term-review-body{border-color:#334155;background:#1f2937}html.dark .app-recipe-term-review-row{border-color:#475569;background:#111827}html.dark .app-recipe-term-review-row small{color:#94a3b8}html.dark .app-error{color:#fca5a5}.app-stock-form{scroll-margin-top:5.5rem}.app-stock-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.app-stock-heading-title{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.app-stock-empty-section{display:grid;gap:.6rem}.app-stock-batches{display:grid;gap:.65rem}.app-stock-empty-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border:1px solid #d1d5db;border-radius:.5rem;background:#f3f4f6}.app-stock-empty-heading span{color:#6b7280;font-size:.8rem}html.dark .app-stock-empty-heading{border-color:#475569;background:#1f2937}html.dark .app-stock-empty-heading span{color:#cbd5e1}.app-stock-count-help-copy{display:grid;gap:.5rem;margin-top:.5rem}.app-stock-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.app-stock-form-grid .app-input,.app-stock-form-grid .app-select-input{height:3rem}.app-number-stepper{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem;min-width:0}.app-number-stepper button{min-width:3rem;border:1px solid #cbd5e1;border-radius:.4rem;background:#f8fafc;color:#1f2937;cursor:pointer;font:inherit;font-weight:700}.app-number-stepper button:disabled{cursor:not-allowed;opacity:.55}html.dark .app-number-stepper button{border-color:#475569;background:#334155;color:#e5e7eb}html.dark .app-number-stepper button:hover:not(:disabled){border-color:#60a5fa;background:#475569;color:#fff}.app-stock-filters{display:grid;grid-template-columns:minmax(12rem,2fr) repeat(2,minmax(0,1fr));gap:.5rem}.app-stock-summary{display:flex;gap:.5rem;padding-bottom:.2rem;overflow-x:auto;scrollbar-width:none}.app-stock-summary::-webkit-scrollbar{display:none}.app-stock-summary-section{display:grid;gap:.4rem;min-width:0}.app-stock-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.app-filter-clear.is-hidden{visibility:hidden;pointer-events:none}.app-stock-summary-controls{display:flex;align-items:center;gap:.4rem}.app-stock-summary.is-expanded{display:flex;max-height:18rem;flex-wrap:wrap;align-content:flex-start;overflow-x:hidden;overflow-y:auto;padding:.25rem;border:1px solid #d1d5db;border-radius:.6rem}html.dark .app-stock-summary.is-expanded{border-color:#475569}.app-stock-summary-chip{flex:0 0 auto;padding:.45rem .65rem;border:2px solid #d1d5db;border-radius:999px;background:#fff;color:#475569;cursor:pointer;font:inherit;font-size:.75rem;white-space:nowrap;transition:opacity .15s,box-shadow .15s,transform .15s}.app-stock-summary-chip:hover{filter:brightness(1.12)}.app-stock-summary-chip:focus-visible{outline:2px solid currentColor;outline-offset:1px}.app-stock-summary-chip.is-selected{color:#fff}.app-stock-summary-chip.is-muted{opacity:.52}.app-stock-card{gap:.75rem}.app-stock-location-list,.app-stock-location-content{display:grid;gap:.65rem;min-width:0}.app-stock-location-group{display:grid;min-width:0;gap:.65rem}.app-stock-location-heading{display:flex;align-items:center;width:100%;gap:.6rem;padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:.55rem;background:#eaf1fb;color:#1f2937;cursor:pointer;font:inherit;font-size:1rem;text-align:left}.app-stock-location-heading strong{flex:1;font-size:1rem}.app-stock-location-heading>span:last-child{color:#64748b;font-size:.75rem}html.dark .app-stock-location-heading{border-color:#475569;background:#263449;color:#f9fafb}html.dark .app-stock-location-heading>span:last-child{color:#cbd5e1}.app-stock-card.is-expired{border-left:.3rem solid #dc2626}.app-stock-card.is-warning{border-left:.3rem solid #d97706}.app-stock-card.is-low-stock{box-shadow:inset .3rem 0 #d97706}.app-stock-image{width:3.5rem;height:3.5rem;flex:0 0 3.5rem;border-radius:.4rem;object-fit:cover}.app-stock-expiry{margin-top:.3rem;color:#475569;font-size:.75rem}.app-stock-expiry.is-expired{color:#dc2626;font-weight:700}.app-stock-expiry.is-warning{color:#b45309;font-weight:700}.app-stock-level{color:#64748b;font-size:.9rem}.app-stock-level.is-low{color:#b45309;font-weight:700}.app-stock-quick-actions{display:flex;gap:.35rem}.app-stock-quick-actions button{min-width:2.35rem;min-height:2.35rem;border:1px solid #cbd5e1;border-radius:.4rem;background:#f8fafc;color:#1f2937;cursor:pointer;font-weight:700;padding-inline:.55rem}.app-stock-scan-dialog{gap:1rem}.app-stock-scan-overview{display:grid;gap:.65rem;padding:.8rem;border:1px solid #93c5fd;border-radius:.65rem;background:#eff6ff;color:#1e3a8a}.app-stock-scan-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .45rem}.app-stock-scan-total small{margin-left:auto;opacity:.8}.app-stock-detail-list{display:grid;gap:.35rem}.app-stock-detail-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.05rem .5rem;padding-top:.35rem;border-top:1px solid currentColor}.app-stock-detail-row span{min-width:0;overflow-wrap:anywhere}.app-stock-detail-row small{grid-column:2;opacity:.8}.app-stock-detail-row.is-warning small{color:#b45309;font-weight:700}.app-stock-detail-row.is-expired small{color:#dc2626;font-weight:700}html.dark .app-stock-scan-overview{border-color:#1d4ed8;background:#172554;color:#bfdbfe}.app-stock-scan-image{width:6rem;height:6rem;margin-inline:auto;border-radius:.6rem;object-fit:cover}.app-stock-consume-panel{display:grid;gap:.75rem;padding-top:.75rem;border-top:1px solid #d1d5db}html.dark .app-stock-consume-panel{border-color:#475569}html.dark .app-stock-summary-chip,html.dark .app-stock-quick-actions button{border-color:#475569;background:#334155;color:#e5e7eb}.app-stock-quick-actions button:disabled{cursor:not-allowed;opacity:.55}html.dark .app-stock-quick-actions button:hover:not(:disabled){border-color:#60a5fa;background:#475569;color:#fff}html.dark .app-stock-summary-chip.is-selected{color:#fff}html.dark .app-stock-expiry{color:#cbd5e1}html.dark .app-stock-expiry.is-expired{color:#fca5a5}html.dark .app-stock-expiry.is-warning{color:#fcd34d}html.dark .app-stock-level{color:#94a3b8}html.dark .app-stock-level.is-low{color:#fcd34d}.app-category-badge{display:inline-flex;align-items:center;width:fit-content;margin-top:0;padding:.18rem .5rem;border:1px solid currentColor;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:.7rem;font-weight:700;line-height:1.2}.app-category-badge[data-category=produce]{background:#dcfce7;color:#166534}.app-category-badge[data-category=dairy]{background:#dbeafe;color:#1e40af}.app-category-badge[data-category=meat]{background:#fee2e2;color:#991b1b}.app-category-badge[data-category=frozen]{background:#cffafe;color:#155e75}.app-category-badge[data-category=dry]{background:#fef3c7;color:#92400e}.app-category-badge[data-category=canned]{background:#e2e8f0;color:#334155}.app-category-badge[data-category=drink]{background:#f3e8ff;color:#6b21a8}.app-category-badge[data-category=spice]{background:#ffedd5;color:#9a3412}.app-category-badge[data-category=household]{background:#e0e7ff;color:#3730a3}.app-category-badge[data-category=other]{background:#f3f4f6;color:#4b5563}.app-category-manager{width:100%;min-width:0;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;scroll-margin-top:5.5rem}.app-category-manager>summary{padding:.7rem .85rem;color:#2563eb;cursor:pointer;font-size:.875rem;font-weight:700}.app-category-manager-content,.app-category-form{display:grid;gap:1rem;min-width:0}.app-category-bilingual-fields{display:grid;gap:.85rem;min-width:0}.app-category-description{min-height:5rem;resize:vertical;font-family:inherit}.app-category-manager-content{padding:0 .85rem .85rem}.app-category-form{padding:.85rem;border-radius:.5rem;background:#f3f4f6}.app-category-color-field{display:flex;align-items:center;gap:.75rem}.app-category-color-field input{width:3rem;height:2rem;padding:0;border:0;background:transparent}.app-category-form-actions,.app-category-card,.app-category-card-name{display:flex;align-items:center;gap:.5rem}.app-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.app-category-card{position:relative;justify-content:space-between;flex-wrap:wrap;min-width:0;padding:.65rem;border:1px solid #e5e7eb;border-radius:.5rem}.app-category-reassign{display:grid;flex:1 0 100%;gap:.65rem;padding-top:.65rem;border-top:1px solid #e5e7eb}.app-category-suggestion{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding:.65rem;border:1px dashed #93c5fd;border-radius:.5rem;background:#eff6ff;color:#1e3a8a;font-size:.8rem}.app-category-suggestion .app-button{padding:.5rem .75rem}.app-category-choice{display:grid;gap:.5rem;padding:.65rem;border:1px dashed #f59e0b;border-radius:.5rem;background:#fffbeb;color:#78350f;font-size:.8rem}.app-category-choice>div{display:flex;flex-wrap:wrap;gap:.5rem}html.dark .app-category-choice{border-color:#d97706;background:#451a03;color:#fef3c7}.app-duplicate-category-recovery{display:grid;gap:.65rem;padding:.75rem;border:1px solid #f59e0b;border-radius:.5rem;background:#fffbeb;color:#78350f}.app-duplicate-category-options,.app-duplicate-category-create{display:flex;flex-wrap:wrap;gap:.5rem}.app-duplicate-category-create .app-input{flex:1 1 12rem}html.dark .app-duplicate-category-recovery{border-color:#d97706;background:#451a03;color:#fef3c7}.app-category-move-review{display:grid;gap:.65rem;padding:.85rem;border:1px solid #93c5fd;border-radius:.5rem;background:#eff6ff;color:#1e3a8a}.app-category-move-list{display:grid;gap:.4rem}.app-category-move-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem;border-radius:.4rem;background:#ffffffb3}.app-category-move-item>span{display:grid;gap:.15rem}.app-category-move-item small{color:#64748b}html.dark .app-category-move-review{border-color:#3b82f6;background:#172554;color:#dbeafe}html.dark .app-category-move-item{background:#0f172aa6}html.dark .app-category-suggestion{border-color:#3b82f6;background:#172554;color:#dbeafe}html.dark .app-category-reassign{border-top-color:#475569}.app-category-color{width:.8rem;height:.8rem;flex:0 0 .8rem;border-radius:999px}.app-category-count{padding:.08rem .35rem;border-radius:999px;background:#e5e7eb;color:#4b5563;font-size:.7rem;font-weight:700}.app-category-help{flex:0 0 auto}.app-category-help .app-info-button{width:1.1rem;height:1.1rem;font-size:.8rem}.app-category-help .app-info-tooltip-content{width:min(24rem,calc(100vw - 3rem))}html.dark .app-category-manager{border-color:#475569;background:#1f2937}html.dark .app-category-form,html.dark .app-category-count{background:#374151;color:#e5e7eb}html.dark .app-category-card{border-color:#475569}@media (max-width: 640px){.app-item-row-main{flex:1 1 100%;width:100%}.app-stock-form{scroll-margin-top:3.5rem}.app-recipe-grid{grid-template-columns:1fr}.app-recipe-selection-sticky{top:2.7rem;align-items:flex-start;flex-direction:column;gap:.35rem}.app-recipe-term-review-row,.app-stock-form-grid,.app-stock-filters{grid-template-columns:1fr}.app-stock-form-grid .app-field:last-child{grid-column:auto}.app-stock-card .app-list-item-text{flex:1 1 calc(100% - 4.5rem)}.app-stock-quick-actions{margin-left:auto}.app-category-help{position:static}.app-category-help .app-info-tooltip-content{position:absolute;top:auto;bottom:calc(100% + .4rem);right:0;left:0;width:auto}.app-category-grid{grid-template-columns:1fr}}html.dark .app-category-badge[data-category=produce]{background:#14532d;color:#bbf7d0}html.dark .app-category-badge[data-category=dairy]{background:#1e3a8a;color:#bfdbfe}html.dark .app-category-badge[data-category=meat]{background:#7f1d1d;color:#fecaca}html.dark .app-category-badge[data-category=frozen]{background:#164e63;color:#cffafe}html.dark .app-category-badge[data-category=dry]{background:#78350f;color:#fde68a}html.dark .app-category-badge[data-category=canned]{background:#334155;color:#e2e8f0}html.dark .app-category-badge[data-category=drink]{background:#581c87;color:#e9d5ff}html.dark .app-category-badge[data-category=spice]{background:#7c2d12;color:#fed7aa}html.dark .app-category-badge[data-category=household]{background:#312e81;color:#c7d2fe}html.dark .app-category-badge[data-category=other]{background:#374151;color:#e5e7eb}.app-list-item-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.app-item-image{width:48px;height:48px;object-fit:cover;border-radius:.25rem}.app-action-link{font-size:.875rem;background:none;border:none;padding:.5rem;color:#3b82f6;cursor:pointer;border-radius:.25rem;transition:background-color .2s}.app-action-link:hover{background-color:#eff6ff}.app-action-link-danger{color:#ef4444}.app-action-link-danger:hover{background-color:#fef2f2}.app-image-selector{margin-top:1rem;padding:1rem;background-color:#f3f4f6;border-radius:.5rem}.app-provider-attribution{display:inline-block;margin-left:.75rem;color:#3b82f6;font-size:.75rem}html.dark .app-provider-attribution{color:#60a5fa}.app-image-results{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:start;gap:.5rem;margin-top:.5rem}.app-image-result{min-width:0}@media (max-width: 640px){.app-image-results{display:flex;flex-wrap:wrap}.app-image-result{flex:0 0 calc((100% - 1.5rem)/4);width:calc((100% - 1.5rem)/4)}.app-image-result:nth-child(n+13){display:none!important}}html.dark .app-image-selector{background-color:#374151}html.dark .app-item-preview-card{background-color:#1f2937;border-color:#374151}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.bg-black{background-color:#000}.bg-opacity-50{background-color:#00000080}.z-50{z-index:50}.justify-center{justify-content:center}html.dark,html.dark body,html.dark .app-container{background-color:#111827;color:#f3f4f6}html.dark .app-header,html.dark .app-nav{background-color:#1f2937;border-bottom-color:#374151}html.dark .app-control-btn{background-color:#374151;border-color:#4b5563;color:#e5e7eb}html.dark .app-control-btn:hover{background-color:#1f2937;border-color:#60a5fa}html.dark .app-input,html.dark .app-select-input{background-color:#374151;border-color:#4b5563;color:#f3f4f6}html.dark .app-list-item{background-color:#1f2937;border-color:#374151}html.dark .app-list-item:hover{border-color:#60a5fa;box-shadow:0 1px 3px #0000004d}html.dark .app-list-item-name{color:#f3f4f6}html.dark .app-list-item-meta{color:#9ca3af}html.dark .app-tab{color:#e5e7eb}html.dark .app-tab:hover{background-color:#1f2937;color:#f3f4f6}html.dark .app-action-link{color:#60a5fa}html.dark .app-action-link:hover{background-color:#1e40af}html.dark .app-action-link-danger{color:#f87171}html.dark .app-action-link-danger:hover{background-color:#7f1d1d}.app-catalog-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:.5rem}@media (max-width: 640px){.app-catalog-controls{grid-template-columns:1fr}.app-image-controls{display:grid;grid-template-columns:1fr 1fr}.app-image-controls .app-input{grid-column:1 / -1}.app-image-controls .app-button{width:100%;min-width:0;max-width:100%;padding-left:.75rem;padding-right:.75rem;justify-self:stretch;overflow:hidden;text-overflow:ellipsis}.app-list-item{align-items:flex-start;flex-wrap:wrap;gap:.75rem}.app-list-item-text{flex:1 1 calc(100% - 4rem)}.app-list-item-actions{flex:1 0 100%;justify-content:flex-end}.app-item-preview-header{align-items:flex-start}}@media (hover: none){.app-list-item:hover{border-color:#e5e7eb;box-shadow:0 1px 3px #0000001a}.app-action-link:hover{background-color:transparent}.app-action-link-danger:hover{background-color:#fef2f2}.app-button:hover:not(:disabled){opacity:1}}@media (max-width: 640px){.app-stock-form-grid input[type=date]{display:block;width:-webkit-fill-available;min-width:0;max-width:100%;box-sizing:border-box;inline-size:100%;min-inline-size:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}.app-stock-form-grid input[type=date]::-webkit-date-and-time-value,.app-stock-form-grid input[type=date]::-webkit-datetime-edit{width:100%;min-width:0;margin:0;padding:0;text-align:left}.app-stock-form-grid .app-field{min-width:0;max-width:100%;overflow:hidden}.app-stock-form-grid .app-field.app-field-with-tooltip{overflow:visible}.app-location-tree .app-list,.app-stock-location-list,.app-stock-location-content,.app-stock-location-group{gap:.4rem}.app-location-list-item,.app-stock-card{gap:.4rem;padding:.55rem .65rem}.app-location-list-item{align-items:center;flex-wrap:nowrap}.app-location-list-item .app-list-item-text{flex:1 1 auto;min-width:2.5rem}.app-location-list-item .app-list-item-name,.app-location-list-item .app-list-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-location-list-item .app-list-item-actions,.app-stock-card .app-list-item-actions{flex:0 1 auto;gap:.1rem;margin-left:auto}.app-location-list-item .app-list-item-actions{flex-wrap:nowrap}.app-location-action-text{display:none}.app-location-action-icon{display:inline;font-size:1.1rem;line-height:1}.app-location-row-action{display:inline-grid;width:1.8rem;height:1.8rem;place-items:center}.app-location-list-item .app-action-link,.app-stock-card .app-action-link{padding:.3rem;font-size:.78rem}.app-location-drag-handle{width:1.8rem;height:1.8rem}.app-location-toggle,.app-location-promote{height:1.8rem}.app-location-toggle{width:2.1rem;height:2.1rem;flex-basis:2.1rem;font-size:1.35rem}.app-location-promote{width:1.55rem;flex-basis:1.55rem}.app-location-promote+.app-location-toggle{margin-left:.35rem}.app-stock-location-heading{gap:.4rem;padding:.5rem .65rem}.app-stock-image{width:2.75rem;height:2.75rem;flex-basis:2.75rem}.app-stock-card .app-list-item-text{flex-basis:calc(100% - 3.25rem)}.app-stock-quick-actions{gap:.2rem;margin-left:0}.app-stock-quick-actions button{min-width:2.2rem;min-height:2.2rem;padding-inline:.4rem;font-size:.78rem}.app-list-item-meta,.app-stock-expiry{margin-top:.15rem}}
