@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap";:root{color:#251d1c;font-synthesis:none;text-rendering:optimizelegibility;--wine:#5a1f32;--wine-bright:#781c3a;--espresso:#251d1c;--brass:#b48a4a;--paper:#f6f1e8;--surface:#fffdfa;--line:#d9cfc1;--muted:#766d68;--serif:"Libre Caslon Display", Georgia, serif;background:#f6f1e8;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--paper);min-width:320px;overflow-x:clip}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--brass) 60%, white);outline-offset:2px}.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-shell{width:100%;max-width:100%;min-height:100dvh;overflow-x:clip}.app-header{background:var(--wine);color:#fff;z-index:20;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:28px;display:flex}.brand span{font:30px/1 var(--serif);letter-spacing:.03em}.brand i{background:#fff9;width:1px;height:28px}.brand strong{font-size:18px;font-weight:600}.settings-button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:0 6px;font-size:14px;display:flex}.workspace{grid-template-columns:minmax(0,1fr) 440px;width:100%;min-width:0;max-width:100%;min-height:calc(100vh - 64px);display:grid}.workspace.no-detail{grid-template-columns:1fr}.catalog{width:100%;min-width:0;max-width:100%;padding:24px 26px 80px}.catalog-tools{grid-template-columns:minmax(280px,1fr) 230px;gap:16px;width:100%;min-width:0;max-width:100%;display:grid}.search-box,.category-select{border:1px solid var(--line);height:56px;color:var(--muted);background:#ffffffb8;border-radius:8px;align-items:center;gap:12px;padding:0 16px;display:flex}.search-box input{width:100%;color:var(--espresso);background:0 0;border:0;outline:0;font-size:16px}.search-box input::placeholder{color:#8e8681}.category-select select{color:var(--espresso);cursor:pointer;background:0 0;border:0;outline:0;width:100%;font-size:15px}.category-rail{display:none}.catalog-summary{min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.catalog-summary p{margin:0}.catalog-summary-actions{align-items:center;gap:18px;display:flex}.mode-label{font-size:12px}.mode-label:before{content:"";background:var(--brass);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.mode-label.notion:before{background:#397c5c}.add-product-button{border:1px solid var(--wine);background:var(--wine);color:#fff;cursor:pointer;border-radius:7px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:13px;font-weight:600;display:flex}.add-product-button svg{width:17px;height:17px}.add-product-button:hover:not(:disabled){background:var(--wine-bright)}.add-product-button:disabled{opacity:.45;cursor:not-allowed}.product-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:20px;width:100%;min-width:0;max-width:100%;display:grid}.product-card{appearance:none;text-align:left;border:1px solid var(--line);cursor:pointer;content-visibility:auto;contain-intrinsic-size:340px;background:#ffffff9e;border-radius:9px;width:100%;min-width:0;max-width:100%;padding:8px;transition:transform .16s,border-color .16s,box-shadow .16s;overflow:hidden}.product-card:hover{border-color:#b7a798;transform:translateY(-2px);box-shadow:0 10px 24px #35251d14}.product-card.selected{border:2px solid var(--wine);padding:7px}.product-image{aspect-ratio:4/3;object-fit:cover;background:#ebe2d6;border-radius:5px;width:100%;display:block}.product-image.fallback{color:#5a1f3259;background:linear-gradient(145deg,#e7d8c8,#f4eee6 55%,#decbb6);place-items:center;display:grid}.product-image.fallback span{font:52px/1 var(--serif)}.product-card-copy{flex-direction:column;min-height:143px;padding:11px 9px 7px;display:flex}.product-name{font:20px/1.18 var(--serif);color:#3b2424;margin-bottom:8px}.product-meta{color:var(--muted);font-size:12px;line-height:1.5}.inventory-line{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:flex-end;gap:8px;margin-top:auto;padding-top:10px;font-size:12px;display:flex}.inventory-line strong{font:27px/1 var(--serif);color:var(--espresso);font-weight:400}.inventory-line strong.not-counted{color:var(--brass);font:500 13px/1.2 DM Sans,sans-serif}.detail-panel{background:var(--surface);border-left:1px solid #e1d8cc;height:calc(100vh - 64px);padding:40px 34px 28px;position:sticky;top:64px;overflow:auto}.close-detail{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:18px;right:18px}.detail-heading{text-align:center;padding-top:40px}.detail-thumb{display:none}.detail-heading h2{font:34px/1.15 var(--serif);color:var(--wine);margin:0}.detail-heading p{color:var(--muted);margin:10px 0 0;font-size:14px}.counter-section{text-align:center;margin-top:36px}.counter-label{margin:0 0 18px;font-size:14px}.counter{grid-template-columns:82px 1fr 82px;align-items:center;gap:18px;display:grid}.counter button{background:var(--wine);color:#fff;cursor:pointer;border:0;border-radius:9px;width:82px;height:82px;font-size:43px;font-weight:300;line-height:1;transition:background .14s,transform .14s}.counter button:hover:not(:disabled){background:var(--wine-bright)}.counter button:active:not(:disabled){transform:scale(.96)}.counter button:disabled{opacity:.35;cursor:not-allowed}.counter strong{font:78px/1 var(--serif);color:var(--wine);font-weight:400}.counter-helper{color:#8a817c;margin:18px 0 30px;font-size:13px}.exact-count{text-align:left;flex-direction:column;gap:8px;font-size:13px;display:flex}.exact-count input{border:1px solid var(--line);width:100%;height:56px;color:var(--espresso);background:#fff;border-radius:7px;padding:0 16px;font-size:18px}.product-facts{border-top:1px solid #e8dfd5;margin:34px -34px 0}.product-facts div{border-bottom:1px solid #e8dfd5;justify-content:space-between;align-items:center;min-height:66px;padding:0 34px;display:flex}.product-facts dt{color:var(--muted);font-size:13px}.product-facts dd{margin:0;font-size:15px}.save-status{min-height:30px;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:24px 0 0;font-size:12px;display:flex}.save-status svg{width:19px;color:var(--brass)}.save-status.error{color:#a12b2b}.sheet-handle{display:none}.toast{z-index:50;color:#fff;background:#241d19;border-radius:8px;align-items:center;gap:12px;min-height:54px;padding:0 20px;font-size:14px;display:flex;position:fixed;bottom:28px;left:calc(50vw - 220px);transform:translate(-50%);box-shadow:0 14px 34px #0003}.toast span{background:var(--brass);color:#241d19;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.empty-state{text-align:center;max-width:360px;margin:60px auto}.empty-state h2{font:30px/1.2 var(--serif);margin:0 0 8px}.empty-state p{color:var(--muted)}.empty-state button{border:1px solid var(--wine);color:var(--wine);cursor:pointer;background:0 0;border-radius:6px;padding:10px 16px}.dialog-backdrop{z-index:80;background:#241b1973;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-dialog{background:var(--surface);border-radius:12px;width:min(430px,100%);padding:30px;position:relative;box-shadow:0 24px 80px #00000040}.settings-dialog h2{font:30px/1.15 var(--serif);color:var(--wine);margin:0 0 10px}.dialog-close{cursor:pointer;background:0 0;border:0;width:44px;height:44px;position:absolute;top:15px;right:15px}.connection-state{color:#397c5c;margin:0 0 26px;font-size:13px}.connection-state.demo{color:#986d2d}.settings-dialog label{flex-direction:column;gap:8px;font-size:13px;display:flex}.settings-dialog input{border:1px solid var(--line);border-radius:6px;height:48px;padding:0 12px}.primary-action{background:var(--wine);color:#fff;cursor:pointer;border:0;border-radius:6px;width:100%;height:48px;margin-top:16px;font-weight:600}.settings-help{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.5}.add-product-dialog{background:var(--surface);border-radius:14px;width:min(760px,100%);max-height:min(860px,100vh - 40px);padding:30px;position:relative;overflow-y:auto;box-shadow:0 24px 80px #00000040}.add-product-heading{padding-right:52px}.add-product-heading h2{font:34px/1.1 var(--serif);color:var(--wine);margin:0}.add-product-heading p{color:var(--muted);margin:8px 0 24px;font-size:13px}.add-product-form{grid-template-columns:224px minmax(0,1fr);gap:22px 24px;display:grid}.photo-picker{flex-direction:column;align-self:start;gap:12px;display:flex}.photo-picker>img,.photo-placeholder{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;background:#eee5d9;border-radius:9px;width:100%}.photo-placeholder{color:#8c8076;place-content:center;justify-items:center;gap:9px;display:grid}.photo-placeholder svg{width:30px;height:30px;color:var(--wine)}.photo-placeholder span{font-size:12px}.photo-button{border:1px solid var(--wine);min-height:44px;color:var(--wine);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.photo-button:hover{background:#5a1f320d}.photo-button[aria-disabled=true]{opacity:.5;pointer-events:none}.photo-button svg{width:18px;height:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{min-width:0;color:var(--espresso);flex-direction:column;gap:7px;font-size:12px;display:flex}.field>span{color:var(--muted);font-size:11px}.field-wide{grid-column:1/-1}.field input,.field select,.money-input{border:1px solid var(--line);width:100%;height:47px;color:var(--espresso);background:#fff;border-radius:7px}.field input,.field select{padding:0 12px}.field select{cursor:pointer}.money-input{color:var(--muted);align-items:center;padding-left:12px;display:flex}.money-input input{border:0;outline:0;height:45px;padding-left:7px}.form-error{color:#8c2727;background:#f7e7e6;border-radius:6px;grid-column:1/-1;margin:-4px 0 0;padding:11px 13px;font-size:12px;line-height:1.4}.form-actions{border-top:1px solid #e8dfd5;grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:20px;display:flex}.form-actions button{cursor:pointer;border-radius:7px;min-width:128px;height:46px;margin:0;font-weight:600}.form-actions button:disabled{opacity:.55;cursor:wait}.secondary-action{border:1px solid var(--line);color:var(--espresso);background:0 0}.add-product-save{width:auto;padding:0 22px}@media (width<=1120px){.workspace{grid-template-columns:minmax(0,1fr) 390px}.product-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.toast{left:calc(50vw - 195px)}}@media (width<=900px){.app-header{height:76px;padding:max(12px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 10px max(20px, env(safe-area-inset-left));background:var(--paper);color:var(--espresso);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:sticky}.brand{display:contents}.brand span{color:var(--wine);justify-self:start;font-size:34px}.brand i{display:none}.brand strong{justify-self:center;font-size:18px}.settings-button{justify-content:center;justify-self:end;width:44px;padding:0}.settings-button span{display:none}.workspace{min-height:calc(100vh - 76px);display:block}.catalog{padding:8px max(14px, env(safe-area-inset-right)) 270px max(14px, env(safe-area-inset-left));overflow-x:clip}.catalog-tools{display:block}.search-box{background:#ffffff8a;border-radius:13px;height:52px;padding:0 15px}.search-box input{font-size:15px}.category-select{display:none}.category-rail{overscroll-behavior-inline:contain;scrollbar-width:none;gap:9px;width:100%;min-width:0;max-width:100%;padding:14px 0 11px;display:flex;overflow-x:auto}.category-rail::-webkit-scrollbar{display:none}.category-rail button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;flex:none;min-height:42px;padding:0 17px;font-size:13px}.category-rail button.active{border-color:var(--wine);background:var(--wine);color:#fff}.catalog-summary{flex-wrap:wrap;gap:10px;min-width:0;min-height:30px}.catalog-summary-actions{gap:10px;min-width:0}.add-product-button{flex:none;min-height:40px;padding:0 12px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{border-radius:8px;padding:5px}.product-card.selected{padding:4px}.product-image{aspect-ratio:1}.product-card-copy{min-height:118px;padding:9px 7px 5px}.product-name{margin-bottom:7px;font-size:clamp(16px,4.3vw,19px);line-height:1.18}.product-name+.product-meta{display:none}.inventory-line{padding-top:8px}.inventory-line strong{font-size:23px}.inventory-line strong.not-counted{font-size:12px}.detail-panel{z-index:40;width:100%;max-width:100vw;height:auto;max-height:54vh;padding:32px max(22px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0;overflow:clip auto;box-shadow:0 -10px 34px #32231d29}.sheet-handle{background:#b8b0a9;border-radius:10px;width:42px;height:5px;display:block;position:absolute;top:12px;left:50%;transform:translate(-50%)}.close-detail{top:13px;right:13px}.detail-heading{text-align:left;align-items:center;gap:14px;padding:0 42px 0 0;display:flex}.detail-thumb{aspect-ratio:1;border-radius:7px;flex:0 0 66px;width:66px;height:66px;display:block}.detail-heading h2{color:var(--espresso);font-size:24px}.detail-heading p{margin-top:5px;font-size:12px}.counter-section{margin-top:18px}.counter-label{text-align:left;margin-bottom:8px}.counter{grid-template-columns:62px 1fr 62px;gap:16px}.counter button{border-radius:50%;width:62px;height:62px;font-size:36px}.counter strong{color:var(--espresso);font-size:60px}.counter-helper{margin:8px 0 14px}.exact-count{font-size:0;display:block}.exact-count input{text-align:center;height:44px;font-size:18px}.product-facts{display:none}.save-status{color:var(--brass);margin:12px 0 0}.toast{width:max-content;max-width:calc(100vw - 28px);min-height:46px;padding:0 15px;bottom:calc(54vh + 12px);left:50%}.toast span{width:24px;height:24px}.add-product-backdrop{place-items:end center;padding:0}.add-product-dialog{width:100%;max-width:100vw;max-height:94dvh;padding:34px max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));border-radius:20px 20px 0 0;overflow-x:clip}.add-product-dialog .sheet-handle{display:block}.add-product-heading h2{font-size:30px}.add-product-heading p{margin-bottom:20px}.add-product-form{display:block}.photo-picker{margin-bottom:20px}.photo-picker>img,.photo-placeholder{aspect-ratio:16/9}.form-grid{grid-template-columns:1fr;gap:14px}.field-wide{grid-column:auto}.form-error{margin-top:14px}.form-actions{bottom:calc(-1 * max(18px, env(safe-area-inset-bottom)));margin:20px -18px calc(-1 * max(18px, env(safe-area-inset-bottom)));padding:14px 18px max(18px, env(safe-area-inset-bottom));background:var(--surface);position:sticky;box-shadow:0 -8px 18px #32231d12}.form-actions button{flex:1;min-width:0}}@media (width<=390px){.catalog{padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.product-name{font-size:15px}.mode-label{display:none}.catalog-summary-actions{margin-left:auto}.detail-panel{max-height:58vh;padding-left:18px;padding-right:18px}.toast{bottom:calc(58vh + 10px)}}@media (width<=350px){.app-header{padding-left:12px;padding-right:12px}.brand span{font-size:30px}.brand strong{font-size:16px}.product-grid{grid-template-columns:1fr}.product-card-copy{min-height:104px}.product-name{font-size:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
