:root{color-scheme:light}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a56708;outline-offset:3px}button{min-height:44px}a{color:var(--g)}.demoBanner{padding:12px 16px;border:1px solid #d4e5dc;border-radius:12px;background:#e8f7f0;margin:18px 0;line-height:1.5;font-size:13px}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.language{background:white;border:1px solid var(--line);border-radius:9px;padding:9px;font-weight:700;color:var(--g)}.side .nav button{display:block;width:100%;text-align:left;border:0;background:none;padding:13px 10px;border-radius:12px;color:#52615c;margin:4px 0;cursor:pointer}.side .nav button.active{background:var(--mint);color:var(--g);font-weight:bold}.contribute{position:static;margin-top:25px}.bottom button{border:0;background:white;color:#52615c;font-size:11px;padding:3px;min-width:0}.bottom button b{font-size:21px;line-height:1.5}.bottom .on{color:var(--g)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:14px}.field input,.field select,.field textarea,select,input[type=search]{width:100%;border:1px solid #bacbc3;border-radius:10px;padding:12px;background:#fff;color:var(--ink);font:inherit}.field small{color:var(--muted)}.full{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;line-height:1.5;font-size:14px}.check input{min-width:20px;height:20px;margin-top:0}.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 13px}.sectionTitle h2{font-size:20px;margin:0}.empty{padding:28px;text-align:center;color:var(--muted);line-height:1.6}.txnButton{width:100%;border:0;background:none;text-align:left;color:var(--ink);cursor:pointer}.dialog{position:fixed;inset:0;margin:auto;border:1px solid var(--line);border-radius:20px;width:min(620px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:24px;color:var(--ink)}dialog::backdrop{background:#10231d99}.dialog h2{margin:0;font-size:23px}.close{float:right;border:0;background:var(--mint);border-radius:50%;font-size:20px;width:40px;height:40px}.itemRow{display:grid;grid-template-columns:1fr 80px 110px;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.itemRow small{display:block;color:var(--muted)}.receiptImage{display:block;max-width:100%;max-height:220px;margin:15px auto;border-radius:10px}.warning{background:#fff4de;padding:12px;border-radius:10px;font-size:13px;line-height:1.5}.error{color:#a13526;line-height:1.5}.progress{width:100%;height:12px;accent-color:var(--g)}.over{color:#a13526}.badge{display:inline-block;background:var(--mint);color:var(--g);padding:5px 9px;font-size:12px;border-radius:8px}.note{font-size:12px;color:var(--muted);line-height:1.6}.priceFilters{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.priceFilters .selected{background:var(--g);color:white}.rowFlex{display:flex;justify-content:space-between;gap:10px;align-items:center}.barrow{grid-template-columns:140px 1fr 80px}.disabled{opacity:.6}.product h3{line-height:1.4}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:11px 7px;border-bottom:1px solid var(--line);text-align:left}#notice{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);max-width:90%;border-radius:10px;background:#10231d;color:white;padding:13px 18px;z-index:20;display:none}.accountPanel{margin-top:18px}.scanZone{border:2px dashed #b9d8c9;background:var(--mint);padding:26px;border-radius:16px;text-align:center;margin-top:20px}.scanZone input{max-width:100%}.scanZone p{line-height:1.5}.hide{display:none!important}.network{background:#fff4de;border-radius:8px;padding:10px;font-size:13px;margin-top:12px}.score{grid-template-columns:repeat(5,1fr)}.score small{font-size:11px}.main{max-width:1280px}.hero small{font-size:14px}.titleLine{display:flex;align-items:center;gap:12px}.back{font-size:12px;display:inline-block;margin-bottom:16px}.budgetCards{display:grid;grid-template-columns:1fr 1fr;gap:17px}.savingGoal{border-left:4px solid #087a57}.empty h3{color:var(--ink)}
@media(max-width:820px){.top{gap:10px;align-items:flex-start}.top h1{font-size:24px}.main{padding-bottom:110px}.bottom{padding-bottom:calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #10231d08}.score{grid-template-columns:repeat(3,1fr)}.formGrid,.budgetCards{grid-template-columns:1fr}.full{grid-column:auto}.barrow{grid-template-columns:105px 1fr 75px;font-size:12px}.itemRow{grid-template-columns:1fr 52px 95px}.tools{justify-content:flex-end}.priceHead{flex-direction:column}.big{font-size:34px}.dialog{padding:19px}.top .tools .primary{display:inline-block}.demoBanner{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.card,.product{animation:appear .18s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}}

#itemEditor{background:#f0f8f4;border:1px solid #b9d8c9;border-radius:12px;padding:16px;margin:12px 0}#itemEditor[hidden]{display:none}.itemActions{display:flex;gap:6px;margin-top:6px}.itemActions .btn{padding:8px 10px;min-height:44px}.reviewItem{grid-template-columns:minmax(0,1fr) 40px 118px}.reviewItem>span{overflow-wrap:anywhere}@media(max-width:400px){.reviewItem{grid-template-columns:minmax(0,1fr) 30px 100px}.itemActions .btn{padding:6px 8px}.dialog{padding:14px}}

.installCard{margin:18px 0;background:var(--mint)}.installCard h2{font-size:20px;margin:0 0 8px}.installCard p{line-height:1.6}.installCard details{margin-top:12px}.installCard summary{cursor:pointer;font-weight:bold;min-height:44px;padding:10px 0}.installCard ol{padding-left:22px}.installCard li{margin:8px 0;line-height:1.6}.installCard h3{font-size:16px}

.pendingReceipt{display:flex;gap:8px;align-items:center;width:100%;flex-wrap:wrap}.pendingReceipt>[data-review-receipt]{flex:1}.deleteReceipt{color:#a13526}.deleteReceipt:disabled{opacity:.5}#workStatus{position:fixed;z-index:30;top:12px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 24px));padding:12px 16px;border-radius:12px;background:#10231d;color:white;display:flex;gap:12px;align-items:center;box-shadow:0 4px 20px #10231d33;font-size:14px;pointer-events:none}#workStatus[hidden]{display:none}#workStatus small{display:block;margin-top:3px;font-size:12px}#workStatus progress{width:65px;flex-shrink:0;accent-color:#86e3ba}#workStatus[data-state=error]{background:#8c3024}.statusIcon{font-size:23px}#workStatus[data-state=busy] .statusIcon{animation:statusSpin 1s linear infinite}@keyframes statusSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#workStatus .statusIcon{animation:none!important}}

.communitySingle{grid-template-columns:1fr;margin:18px 0}.categoryChart{margin-bottom:20px}.categoryChart h2{font-size:20px;margin:0}.categoryChartGrid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:center;margin:22px 0}.categoryDonut{width:230px;height:230px;border-radius:50%;display:grid;place-items:center;margin:auto}.donutCenter{width:160px;height:160px;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}.donutCenter small{color:var(--muted);font-size:12px}.donutCenter b{font-size:22px;margin-top:7px}.chartLegendRow{display:grid;grid-template-columns:12px minmax(0,1fr) auto 55px;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.chartLegendRow>span:last-child{text-align:right;color:var(--muted)}.chartDot{width:10px;height:10px;border-radius:50%}.chartDetails summary{cursor:pointer;font-weight:bold;min-height:44px;padding:12px 0}@media(max-width:650px){.categoryChartGrid{grid-template-columns:1fr;gap:14px}.chartLegendRow{font-size:12px;gap:7px;grid-template-columns:10px minmax(0,1fr) auto 45px}}

.groceryRecommendation{margin:20px 0;border:2px solid #87d5b5;background:#f2fbf7;box-shadow:0 8px 22px #087a5714}.groceryRecommendation h2{font-size:21px;margin:12px 0 8px;overflow-wrap:anywhere}.personalSavings{margin-top:22px;border-top:1px solid #bfdfcf;padding-top:12px}.personalSavings h3{font-size:18px}.storeSaving{padding:12px 0;border-bottom:1px solid #dfe9e5}.storeSaving p{line-height:1.6}.storeSaving strong{color:#087a57;white-space:nowrap}.storeSaving summary{cursor:pointer;font-size:13px;padding:8px 0;min-height:44px}.recommendationPulse{animation:groceryPulse 3s ease-in-out infinite}@keyframes groceryPulse{0%,100%{box-shadow:0 8px 22px #087a5714;border-color:#87d5b5}50%{box-shadow:0 0 0 5px #087a571c,0 8px 22px #087a5724;border-color:#087a57}}@media(prefers-reduced-motion:reduce){.recommendationPulse{animation:none}}

.dialogStatus{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;background:#10231d;color:white;padding:12px;border-radius:10px;margin:12px 0;font-size:14px}.dialogStatus[hidden]{display:none}.dialogStatus small{display:block}.dialogStatus progress{width:50px;flex-shrink:0}.dialogStatus[data-state=error]{background:#8c3024}
