:root{--forest:#173c32;--forest-2:#285647;--cream:#f6f6f3;--card:#fff;--muted:#6a7770;--line:#e6e9e4;--orange:#f3a75b;--shadow:0 14px 36px #173c3210}
*{box-sizing:border-box}html{font-size:16px;background:var(--cream)}body{margin:0;background:var(--cream);color:var(--forest);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh;display:flex;flex-direction:column}.app-header{background:#ffffffc9;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.app-nav{max-width:1120px;margin:auto;min-height:76px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--forest);font-size:1.05rem;font-weight:800;letter-spacing:-.04em}.brand-icon{display:block;object-fit:contain;width:38px;height:38px;border-radius:13px}.environment-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dfba8d;border-radius:999px;background:#fff4e3;color:#713d28;font-size:.66rem;font-weight:850;letter-spacing:.11em;white-space:nowrap}.environment-shield{display:grid;place-items:center;width:17px;height:19px;clip-path:polygon(50% 0,95% 18%,88% 68%,50% 100%,12% 68%,5% 18%);background:#a34731;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:0}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a,.nav-logout,.nav-login{border:0;background:none;color:#53645c;text-decoration:none;font:inherit;font-size:.9rem;font-weight:650}.nav-links a:hover,.nav-logout:hover,.nav-login:hover{color:var(--forest)}.nav-links form{margin:0}.nav-login{padding:10px 17px;border:1px solid var(--line);border-radius:999px}.app-main{width:min(100% - 40px,1010px);margin:0 auto;flex:1;padding:40px 0 72px}.app-footer{width:min(100% - 40px,1010px);margin:0 auto;border-top:1px solid var(--line);padding:20px 0 25px;display:flex;justify-content:space-between;color:#859088;font-size:.78rem}.hero-panel{min-height:255px;padding:40px 48px;border-radius:28px;background:var(--forest);color:#fff;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-panel:after{content:"";position:absolute;width:310px;height:310px;right:45px;top:-130px;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 35px #ffffff08,0 0 0 70px #ffffff06}.hero-panel>div:first-child{max-width:570px;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#89a99b;font-size:.72rem;font-weight:800;margin:0 0 10px}.hero-panel h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.055em;font-weight:750;margin:0 0 12px}.hero-panel p:not(.eyebrow){color:#c5d2ca;max-width:470px;line-height:1.65;margin:0 0 24px}.hero-mark{font-size:7.5rem;color:var(--orange);line-height:1;position:relative;z-index:1}.btn-primary{--bs-btn-bg:var(--forest-2);--bs-btn-border-color:var(--forest-2);--bs-btn-hover-bg:#204638;--bs-btn-hover-border-color:#204638;--bs-btn-active-bg:var(--forest);--bs-btn-active-border-color:var(--forest);border-radius:12px;font-weight:700;padding:.72rem 1.15rem}.hero-panel .btn-primary{background:var(--orange);border-color:var(--orange);color:#2d352f}.inventory-section{margin-top:48px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 18px}.section-heading h2,.page-heading h1{margin:0;font-size:1.55rem;letter-spacing:-.04em;font-weight:750}.section-heading p{margin:0;color:var(--muted)}.text-link{color:var(--forest-2);font-weight:700;text-decoration:none}.page-heading{margin:6px 0 30px}.page-heading h1{font-size:2.2rem;margin-bottom:8px}.page-heading>p:last-child{color:var(--muted);margin:0}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-card{min-height:98px;padding:17px 18px;display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:0 4px 13px #173c3207}.item-icon,.receipt-icon{display:grid;place-items:center;width:42px;height:42px;background:#edf3ee;color:var(--forest-2);border-radius:13px;font-size:1.5rem}.inventory-card h3{font-size:.98rem;font-weight:700;margin:0 0 4px}.inventory-card p{font-size:.87rem;color:var(--forest-2);margin:0}.inventory-card small{color:#88938d;font-size:.72rem}.full-inventory{grid-template-columns:1fr}.empty-state{padding:44px 20px;text-align:center;background:#fff;border:1px dashed #d6ddd6;border-radius:20px}.empty-icon{font-size:2.1rem;color:#91a89b}.empty-state h3{font-size:1.05rem;margin:12px 0 5px}.empty-state p{color:var(--muted);margin:0}.upload-card,.review-form{max-width:760px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.camera-drop{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1.5px dashed #b7c9bb;border-radius:18px;background:#f8faf7;cursor:pointer;text-align:center;padding:22px}.camera-drop:hover{background:#f2f7f2;border-color:var(--forest-2)}.camera-icon{font-size:2.5rem;color:var(--forest-2)}.camera-drop strong{font-size:1.02rem}.camera-drop span:last-of-type,.privacy-note,.photo-name{font-size:.82rem;color:var(--muted)}.camera-drop input{max-width:230px;margin-top:6px;font-size:.8rem}.photo-name{text-align:center;margin:12px 0}.privacy-note{line-height:1.55;margin:18px 0 0}.validation-message{color:#a43e37;margin-bottom:15px}.validation-message:empty{display:none}.receipt-meta{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:13px}.receipt-meta label,.receipt-line label{font-size:.78rem;font-weight:700;color:#58675e;margin-bottom:6px}.form-control,.input-group-text{border-color:#dce3dc;border-radius:10px}.form-control:focus{border-color:#58816d;box-shadow:0 0 0 .2rem #28564720}.line-heading{margin-top:34px;align-items:center}.line-heading h2{font-size:1.25rem}.receipt-lines{display:grid;gap:10px}.receipt-line{display:grid;grid-template-columns:minmax(180px,1fr) 95px 115px 115px 32px;gap:10px;align-items:end;padding:14px;background:#f8faf7;border:1px solid var(--line);border-radius:14px}.receipt-line input{min-width:0}.remove-line{width:30px;height:38px;border:0;border-radius:9px;background:#f5e9e7;color:#9b4b42;font-size:1.35rem;line-height:1;cursor:pointer}.review-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.receipt-history{display:grid;gap:10px}.history-card{display:flex;align-items:center;gap:14px;padding:17px;background:white;border:1px solid var(--line);border-radius:16px}.history-card h2{font-size:.98rem;font-weight:700;margin:0 0 4px}.history-card p{font-size:.83rem;color:var(--muted);margin:0}.history-card strong{margin-left:auto;white-space:nowrap}.alert{border-radius:12px}.login-card{max-width:430px;margin:24px auto;padding:30px;background:#fff;border:1px solid var(--line);border-radius:22px}.login-card h1{font-size:1.8rem;margin-bottom:24px}
@media(max-width:700px){.app-nav{min-height:66px;padding:0 18px}.nav-links{gap:12px}.nav-links a,.nav-logout{font-size:.78rem}.nav-links a:first-child{display:none}.app-main{width:min(100% - 28px,1010px);padding:25px 0 50px}.app-footer{width:min(100% - 28px,1010px);font-size:.7rem}.hero-panel{min-height:250px;padding:30px 25px;border-radius:22px}.hero-mark{font-size:5rem;margin-left:-20px}.inventory-grid{grid-template-columns:1fr}.inventory-card{grid-template-columns:42px 1fr}.inventory-card small{grid-column:2}.receipt-meta{grid-template-columns:1fr 1fr}.receipt-meta>div:first-child{grid-column:1/-1}.upload-card,.review-form{padding:18px}.receipt-line{grid-template-columns:minmax(100px,1fr) 74px 86px 92px 28px;gap:6px;padding:10px}.receipt-line .form-control{font-size:.82rem;padding:.43rem}.receipt-line label{font-size:.7rem}.remove-line{width:27px}.review-actions{flex-direction:column-reverse}.history-card{gap:10px;padding:13px}.history-card strong{font-size:.85rem}}
@media(max-width:430px){.nav-links{gap:8px}.nav-links a:nth-child(2){display:none}.brand{font-size:.95rem}.environment-badge{gap:5px;padding:6px 8px;font-size:.58rem;letter-spacing:.08em}.brand-icon{width:34px;height:34px}.hero-mark{display:none}.receipt-line{grid-template-columns:minmax(0,1fr) 72px 80px 28px}.receipt-line>div:nth-child(4){grid-column:2/4}.receipt-line .remove-line{grid-column:4;grid-row:1}.receipt-meta{grid-template-columns:1fr}.receipt-meta>div:first-child{grid-column:auto}.section-heading{align-items:center}.section-heading h2{font-size:1.22rem}}

.receipt-line{display:block;padding:16px}.receipt-line-fields{display:grid;grid-template-columns:minmax(190px,2fr) minmax(120px,1fr) 90px minmax(120px,1fr) minmax(130px,1fr) 32px;gap:10px;align-items:end}.receipt-line-fields>div{min-width:0}.product-match{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:#f4f2ed;color:#765b37;font-size:.82rem}.product-match:empty{display:none}.product-match.is-match{background:#edf5ee;color:#285647}.inventory-product-card{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(190px,1fr) minmax(140px,.8fr) minmax(260px,1.2fr);gap:15px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 4px 13px #173c3207}.inventory-product-heading{display:flex;align-items:center;gap:12px;min-width:0}.inventory-product-heading h3{font-size:.98rem;font-weight:700;margin:0 0 4px;overflow-wrap:anywhere}.inventory-product-heading p{font-size:.82rem;color:var(--muted);margin:0}.inventory-product-meta{display:grid;gap:4px;color:var(--muted);font-size:.77rem;overflow-wrap:anywhere}.inventory-stock-value{display:grid;gap:3px}.inventory-stock-value span,.stock-editor label{color:var(--muted);font-size:.76rem}.inventory-stock-value strong{font-size:1.22rem;color:var(--forest)}.stock-editor{margin:0}.stock-editor .input-group{flex-wrap:nowrap}.stock-editor .form-control{min-width:72px}.stock-editor .btn{white-space:nowrap}.price-history{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;color:var(--forest-2);font-size:.84rem}.price-history summary{cursor:pointer;font-weight:700}.price-history ol{display:grid;gap:8px;margin:12px 0 0;padding-left:21px}.price-history li{padding-left:3px;display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.price-history li strong{color:var(--forest);font-size:.8rem;white-space:nowrap}
@media(max-width:900px){.inventory-product-card{grid-template-columns:1fr 1fr}.inventory-product-meta{grid-column:1}.inventory-stock-value{grid-column:2;grid-row:1}.stock-editor{grid-column:1/-1}.receipt-line-fields{grid-template-columns:minmax(160px,2fr) minmax(110px,1fr) 80px minmax(110px,1fr) minmax(120px,1fr) 32px}}
@media(max-width:650px){.receipt-line-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.receipt-line-fields>div:first-child{grid-column:1/-1}.receipt-line-fields .remove-line{grid-column:2;grid-row:1;justify-self:end}.inventory-product-card{grid-template-columns:1fr}.inventory-product-meta,.inventory-stock-value,.stock-editor{grid-column:auto;grid-row:auto}.price-history{grid-column:auto}.price-history li{display:grid;gap:2px}}
.stock-alert-summary{margin:0 0 18px}.product-low-stock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;background:#fff0df;color:#8f462c;font-size:.83rem}.product-low-stock span{font-size:.77rem}.stock-editor-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.stock-editor-fields>div>span{display:block;margin-bottom:4px;color:var(--muted);font-size:.72rem}.tracking-editor{grid-column:1/-1;margin:0}.untracked-products{margin-top:42px}.not-tracked-note{margin:0;color:var(--muted);font-size:.8rem}.low-stock-pill{display:inline-block;margin-left:5px;padding:3px 7px;border-radius:999px;background:#fff0df;color:#8f462c;font-size:.68rem;font-weight:800}
@media(max-width:650px){.product-low-stock,.tracking-editor{grid-column:auto}.stock-editor-fields{grid-template-columns:1fr 1fr}.stock-editor-fields .btn{grid-column:1/-1}}
.upload-choice-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:14px}
.upload-choice{position:relative;display:inline-flex}
.upload-choice .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:200px;margin:0;pointer-events:none}
.upload-choice-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;cursor:pointer}
.upload-choice:focus-within .btn{outline:3px solid #7da18d;outline-offset:2px}
