@import"https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800&display=swap";.camera.scanner{background:#101711;padding:calc(12px + env(safe-area-inset-top)) 16px calc(12px + env(safe-area-inset-bottom));gap:12px}.scanner header{margin:0 0 4px;min-height:50px;flex-shrink:0}.scanner header small{display:block;font-size:9px;letter-spacing:2px;color:#b4c8a8;margin-bottom:7px}.scanner header strong{font-size:16px}.scanner header button{border:1px solid #ffffff30;background:#ffffff12;color:#fff;border-radius:50%;font-size:27px;width:42px;height:42px;padding:0}.scanner .viewfinder{position:relative;isolation:isolate;flex:1;min-height:180px;margin:0;overflow:hidden;border-radius:22px;background:#18221a}.scanner .viewfinder video,.scanner .scan-frozen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.scanner .viewfinder video,.scanner .scan-frozen,.scanner .scan-outline{transform:scale(var(--scanner-zoom,1));transform-origin:center}.scanner .scan-frozen{z-index:1}.scanner .scan-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(72%,40vh,320px);width:min(72%,40dvh,320px);aspect-ratio:1;box-shadow:0 0 0 100vmax #0005;border-radius:20px;z-index:2;pointer-events:none;transition:opacity .18s}.scanner .scan-guide i{position:absolute;width:30px;height:30px;border:3px solid #fff9}.scanner .scan-guide i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:17px 0 0}.scanner .scan-guide i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 17px 0 0}.scanner .scan-guide i:nth-child(3){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 17px}.scanner .scan-guide i:nth-child(4){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 17px}.scanner .scan-outline{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden}.scanner .scan-outline path{fill:none;stroke:#ffdc62;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #0008)}.scanner .scan-outline.valid path{stroke:#a4ef86;stroke-width:5}.scanner.is-captured .scan-guide{opacity:0}.scanner .scan-status{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:4;max-width:90%;white-space:nowrap;border:1px solid #ffffff30;background:#122018bb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 15px;border-radius:30px;font-size:11px;color:#fff;margin:0}.scanner .scan-status.success{background:#b4ef96;color:#153c20;font-size:14px;font-weight:700;border:0}.scanner .scan-zoom-badge{position:absolute;z-index:5;top:15px;left:15px;color:#fff;background:#132019aa;border:1px solid #ffffff30;border-radius:20px;padding:7px 12px;font-size:12px;pointer-events:none}.scanner .scan-torch{position:absolute;z-index:5;top:15px;right:15px;border:1px solid #ffffff40;background:#132019aa;color:#fff;border-radius:50%;width:38px;height:38px;padding:0;font-size:23px}.scanner .scan-torch.enabled{background:#f1d977;color:#352d0d}.scanner .scan-focus-point{position:absolute;z-index:4;pointer-events:none;width:65px;height:65px;transform:translate(-50%,-50%);border:2px solid #ffe061;border-radius:7px;box-shadow:0 0 0 1px #0003;animation:focus-request .25s ease-out}.scanner .viewfinder{touch-action:manipulation}@keyframes focus-request{0%{transform:translate(-50%,-50%) scale(1.25);opacity:.4}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.scanner .scan-hint,.scanner .scan-error{font-size:12px;line-height:1.5;margin:0;color:#e1e8dc;flex-shrink:0}.scanner .scan-error{color:#ffd2bc}.scanner p.muted{font-size:10px;line-height:1.5;margin:0;color:#91a08c;flex-shrink:0}@media(prefers-reduced-motion:reduce){.scanner .scan-guide{transition:none}.scanner .scan-focus-point{animation:none}}[hidden]{display:none!important}.page-heading{gap:10px;overflow:clip}.page-heading>div{min-width:0}.leaf-art{flex-shrink:0}:root{font-family:Golos Text,system-ui,sans-serif;color:#24352c;background:#f5f6ef;font-synthesis:none;font-weight:400;--green:#386447;--muted:#7a8276;--border:#e4e7dc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--border);border-radius:12px;background:#fff;padding:12px 16px;color:inherit;text-decoration:none;transition:background .15s}button:hover,.button:hover{background:#edf1e7}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9ab77c;outline-offset:2px}button.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:600}button.primary:hover{background:#284c35}.full{width:100%}.text{border:0;background:none;padding:7px;color:var(--green);font-size:12px}.icon{border:0;font-size:28px;background:none;padding:0 8px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.15;margin-bottom:12px}h2{font-size:19px;letter-spacing:-.4px;margin-bottom:8px}h3{font-size:15px;margin-bottom:8px}p{line-height:1.6;font-size:14px;color:#717c6f}.app{max-width:900px;margin:auto;padding-bottom:100px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px 32px;border-bottom:1px solid var(--border)}.brand{display:flex;gap:10px;align-items:center}.brand>span{font-size:38px}.brand strong{font-size:30px;letter-spacing:-1.7px;display:block;line-height:1}.brand small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.brand-dot{color:#95ae5b}.avatar{border:1px solid #dce2cf;border-radius:50%;background:#e7eddb;width:38px;height:38px;display:grid;place-items:center;color:#627347;font-size:15px}main{padding:0 32px}.family-switch{display:flex;align-items:center;gap:10px;margin:24px 0 35px;color:#62745c;font-size:13px}.family-switch select{border:0;background:transparent;color:#4a6045;font-weight:600;max-width:55%;padding:5px}.shared-tag{margin-left:auto;font-size:9px;letter-spacing:1px;color:#939b89}.page-heading{display:flex;align-items:center;justify-content:space-between}.eyebrow{display:block;letter-spacing:1.8px;font-size:9px;font-weight:600;color:#7b8d62;margin-bottom:14px}.page-heading p{font-size:13px}.leaf-art{font-size:100px;color:#c6d4a4;transform:rotate(-35deg);line-height:1}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 25px}.stats>div{display:flex;align-items:center;gap:15px;background:#e9efdf;border:1px solid #dce5ce;border-radius:15px;padding:19px}.stats strong{font-size:32px;line-height:1;color:#4c6c42}.stats span{font-size:12px;color:#6c7b60}.stats .amber{background:#f5eedb;border-color:#eae0c4}.stats .amber strong{color:#a1853d}.stats .amber span{color:#99865c}.add-panel{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;gap:17px;margin-bottom:30px}.add-panel h2{font-size:17px}.add-panel p{margin:0;font-size:11px}.add-panel>.primary{align-self:center;font-size:12px;padding:11px 17px}.scan-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;grid-column:1/-1}.scan-buttons button{background:#fafbf6;text-align:left;padding:14px;font-size:12px;font-weight:600}.scan-buttons button>span{display:block;font-size:24px;color:#63835b;margin-bottom:9px}.scan-buttons small{display:block;font-size:9px;font-weight:400;color:#8d9684;margin-top:6px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-title h2{margin:0}.section-title h2 span{font-size:12px;border-radius:6px;background:#e8eddd;color:#758865;margin-left:5px;padding:3px 7px}.search{width:100%;background:#fff!important;padding:13px 16px!important;font-size:12px}.filters{display:flex;gap:6px;margin:15px 0 18px;overflow:auto;padding:2px}.filters button{white-space:nowrap;padding:8px 13px;border-radius:8px;border-color:transparent;background:transparent;font-size:11px;color:#8a9180}.filters .selected{background:#e6eddb;color:#42623b;border-color:#dce5cc}.product-list{display:grid;gap:10px}.product{background:#fff;border:1px solid var(--border);border-radius:15px;display:flex;gap:16px;padding:18px;align-items:flex-start}.product-emoji{display:grid;place-items:center;font-size:27px;min-width:54px;height:54px;border-radius:12px;background:#f3f4e9}.product-info{flex:1;min-width:0}.product h3{overflow-wrap:anywhere;font-size:14px;line-height:1.5}.product p{font-size:11px;margin-bottom:9px}.badge{font-size:10px;white-space:nowrap;display:inline-block;padding:3px 7px;border-radius:6px;margin-left:8px}.badge.fresh{background:#edf3e7;color:#73915b}.badge.soon{background:#faf0d3;color:#ac8732}.badge.expired{background:#fae8e1;color:#bd7257}.product-actions{display:flex;gap:13px;flex-wrap:wrap}.product-actions button{border:0;background:none;padding:0;color:#7c8a71;font-size:10px}.product-actions .delete{color:#aa8b7c}.empty{text-align:center;padding:45px 20px;border:1px dashed #dce2ce;border-radius:16px;background:#fff5}.empty>span{font-size:40px;display:block;margin-bottom:20px}.empty h3{font-size:17px}.empty p{font-size:12px}.footnote{text-align:center;font-size:10px;color:#a0a68f;margin:25px 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(900px,100%);display:flex;justify-content:space-around;padding:12px 15px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fcfcf8ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}.bottom-nav button{border:0;background:transparent;font-size:10px;color:#9ba28f;display:flex;align-items:center;flex-direction:column;gap:5px;padding:2px 25px}.bottom-nav button>span{font-size:22px}.bottom-nav .active{color:#456841}.panel{padding:25px;background:#fff;border:1px solid var(--border);border-radius:18px;margin:20px 0}.panel h1{font-size:28px}.panel button,.panel .button{display:inline-block;margin:5px 8px 5px 0;font-size:12px}.panel form{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.panel h2{margin-top:20px}.panel .muted{font-size:11px}.members{list-style:none;padding:0}.members li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:12px 0;font-size:14px}.members small{display:block;color:var(--muted);margin-top:6px;font-size:10px}label{display:block;font-size:12px;font-weight:500;margin-bottom:16px}input,select{display:block;width:100%;border:1px solid #dfe4d6;background:#fafbf7;color:#324630;border-radius:10px;min-height:43px;padding:11px 12px;margin-top:8px}input[type=checkbox]{width:20px;min-height:20px;margin:0;accent-color:var(--green)}.toggle{display:flex;align-items:center;gap:10px}.row{display:flex;gap:12px}.row>label{flex:1;min-width:0}.divider{display:flex;align-items:center;gap:12px;color:#9aa28d;font-size:10px;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}.date-preview{padding:12px;background:#edf3e6;border-radius:10px;color:#587148;font-size:12px}.error,.warning,.success,.progress{padding:13px 16px;border-radius:10px;font-size:12px;line-height:1.6;margin:14px 0;overflow-wrap:anywhere}.error{background:#fbece6;color:#a25239}.warning{background:#fcf3d8;color:#97762f}.success{background:#e5efdf;color:#426236}.progress{background:#edf0df;color:#698042}.muted{color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a2f2260;z-index:20;display:flex;justify-content:center;align-items:center;padding:20px}.sheet{width:100%;max-width:480px;background:#fcfdf8;border-radius:24px;padding:25px;max-height:calc(100dvh - 100px);overflow:auto}.sheet header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.sheet h2{font-size:23px}.sheet .eyebrow{margin-bottom:8px}.ai-option{position:fixed;z-index:21;bottom:0;left:0;right:0;background:#f5f8ed;padding:10px 15px calc(10px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--border)}.ai-option button{font-size:11px;padding:8px}.ai-option small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.camera{position:fixed;top:0;right:0;bottom:0;left:0;background:#14231c;z-index:30;color:#fff;padding:20px;display:flex;flex-direction:column}.camera header{display:flex;align-items:center;justify-content:space-between;margin:15px 0 30px}.camera p{color:#d4ddcf;text-align:center}.camera .muted{font-size:11px;color:#899b8b}.viewfinder{position:relative;flex:1;min-height:180px;overflow:hidden;border-radius:20px;margin-bottom:20px}.viewfinder video{width:100%;height:100%;object-fit:cover}.reticle{position:absolute;left:20%;top:25%;width:60%;height:50%;border:2px solid #c1e69d;border-radius:20px;box-shadow:0 0 0 1000px #0003}.loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}.brand-icon{font-size:60px}.loading h1{margin-top:20px}.invite-panel{border-color:#bacd9e}@media(max-width:600px){.topbar{padding:20px}.brand strong{font-size:27px}main{padding:0 20px}.family-switch{margin:18px 0 28px}.shared-tag{font-size:8px;letter-spacing:.5px}h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:8px}.leaf-art{font-size:70px}.stats{gap:8px}.stats>div{padding:15px 12px;gap:10px}.stats strong{font-size:27px}.stats span{font-size:10px;line-height:1.5}.add-panel{padding:17px}.scan-buttons{gap:7px}.scan-buttons button{padding:12px 9px;font-size:10px}.scan-buttons small{font-size:8px}.product{padding:14px;gap:12px}.product-emoji{min-width:44px;height:46px;font-size:25px}.product h3{font-size:13px}.badge{margin-left:0;margin-top:5px}.product p{display:flex;align-items:flex-start;flex-direction:column}.sheet{padding:22px;max-height:calc(100dvh - 130px)}.overlay{padding:12px;align-items:center}.panel{padding:20px}}label>input[type=date],label>input[type=time],label>select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;max-width:100%;width:100%;height:44px;min-height:44px;line-height:normal;text-align:left}label>input[type=date]::-webkit-date-and-time-value,label>input[type=time]::-webkit-date-and-time-value{min-height:1.2em;text-align:left}label>input[type=date]::-webkit-datetime-edit,label>input[type=time]::-webkit-datetime-edit{padding:0}label>select{padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2362745c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}@media(max-width:600px){.sheet label>input,.sheet label>select,.panel label>input:not([type=checkbox]),.panel label>select{font-size:16px;height:46px;min-height:46px}}
