*{box-sizing:border-box}body,html{margin:0;padding:0;background:#eef5f0;color:#101828;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.appShell{max-width:480px;min-height:100vh;margin:0 auto;background:linear-gradient(180deg,#fbfdfc,#f5faf7);padding:24px 20px 40px}.withBottomNav{padding-bottom:110px}.topHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:4px 0 20px}.pageIntro,.topHeader p{margin:5px 0 0;color:#667085;font-size:14px;line-height:1.5}.eyebrow{font-size:20px;font-weight:800}.logoMark{display:flex;align-items:center;gap:7px;color:#199447;font-size:18px;letter-spacing:.7px}.logoMark span{font-size:25px}.heroBalance,.rewardHero,.walletHero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#2dbb62,#0f7a3e);color:white;padding:26px 24px;box-shadow:0 14px 35px rgba(23,126,67,.18)}.heroBalance{display:flex;justify-content:space-between;align-items:center}.heroLabel{font-size:12px;font-weight:800;letter-spacing:.8px;opacity:.9}.heroMoney{font-size:48px;font-weight:900;letter-spacing:-2px;margin:10px 0 16px}.glassButton{display:inline-flex;gap:9px;align-items:center;background:rgba(255,255,255,.15);padding:10px 13px;border-radius:14px;font-weight:700;font-size:14px}.bottleArt{font-size:62px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.18));position:relative}.bottleArt span{font-size:36px;position:absolute;right:-12px;bottom:2px}.scanCard{display:grid;grid-template-columns:72px 1fr 54px;grid-gap:14px;gap:14px;align-items:center;background:white;border:1px solid #e2eee6;border-radius:24px;padding:18px;margin:18px 0;box-shadow:0 10px 28px rgba(16,24,40,.06)}.scanCard h2{font-size:20px;margin:0 0 5px}.scanCard p{font-size:13px;color:#667085;margin:0;line-height:1.45}.scanIcon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e8f8ed;color:#13853f;font-size:35px;font-weight:900}.miniBottle{font-size:44px}.twoCards{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:14px 0}.softCard{background:white;border:1px solid #e7eee9;border-radius:22px;padding:17px;box-shadow:0 7px 24px rgba(16,24,40,.04);min-width:0}.sectionLabel{display:block;color:#667085;font-size:12px;font-weight:700}.bigStat{display:block;font-size:26px;margin:6px 0}.softCard small{color:#98a2b3;font-size:11px}.greenText{color:#15803d}.pendingText{color:#98a2b3}.dropoffCard{background:white;border-radius:22px;padding:16px;margin:14px 0}.pinBubble{width:46px;height:46px;border-radius:50%;background:#f0f7ff;display:grid;place-items:center}.dropoffCard h3{margin:3px 0;font-size:15px}.dropoffCard p{margin:0}.smallPill{background:#eaf7ee;color:#13783a;padding:8px 10px;font-size:11px}.sectionBlock{background:white;border:1px solid #e7eee9;border-radius:24px;padding:6px 16px;margin-top:16px}.sectionHead{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.sectionHead h3{margin:0}.sectionHead a{font-size:12px;color:#15803d;font-weight:700}.activityRow,.historyRow,.rewardRow{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf1ef}.activityIcon,.rewardIcon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eaf7ee;color:#168142;font-weight:900}.activityIcon.pending{background:#f2f4f7;color:#98a2b3}.activityIcon.rejected{background:#fff1f0;color:#b42318}.activityText{display:flex;flex-direction:column;min-width:0;flex:1 1}.activityText strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activityText small{font-size:11px;color:#98a2b3;margin-top:3px}.emptyState{padding:25px 8px;text-align:center;color:#98a2b3;font-size:13px}.bottomNav{position:fixed;z-index:20;bottom:12px;left:50%;transform:translateX(-50%);width:min(448px,calc(100% - 24px));background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #e7eee9;border-radius:24px;box-shadow:0 14px 35px rgba(16,24,40,.13);padding:9px 8px;display:grid;grid-template-columns:repeat(5,1fr)}.bottomNavItem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#667085;font-size:10px;font-weight:700;min-height:52px}.bottomNavIcon{font-size:20px}.bottomNavItem.active{color:#168142}.scanNav{margin-top:-25px;background:#19a653;color:white!important;border-radius:50%;width:62px;height:62px;justify-self:center;box-shadow:0 9px 20px rgba(25,166,83,.28)}.scanNav .bottomNavIcon{font-size:25px}.pageTitle{display:flex;align-items:center;justify-content:space-between;margin:2px 0 4px}.pageTitle h1{font-size:26px;margin:0}.roundIcon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:white;border:1px solid #e6eee8}.cameraPanel{margin:18px 0}.scannerBox{margin:0}.scannerVideo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;background:#17231c}.btn{width:100%;border:0;border-radius:15px;padding:14px;background:#148342;color:#fff;font-weight:800;cursor:pointer}.btn.secondary{background:#eef2f0;color:#344054}.hidden{display:none}.successTag{color:#15803d}.formCard{background:white;border:1px solid #e7eee9;border-radius:24px;padding:17px}.formCard label{font-size:12px;font-weight:800;color:#344054}.modernInput{width:100%;padding:14px;border:1px solid #dfe7e2;border-radius:14px;margin:7px 0 13px;outline:none;background:#fbfdfc}.modernInput:focus{border-color:#24a658;box-shadow:0 0 0 3px rgba(36,166,88,.1)}.productPreview{display:flex;align-items:center;gap:10px;padding:12px;border-radius:15px;margin:-3px 0 15px;background:#effaf2}.productPreview.bad{background:#fff5f4;color:#b42318}.productPreview>div:nth-child(2){display:flex;flex-direction:column;flex:1 1}.productPreview span{font-size:11px;color:#667085}.productEmoji{font-size:26px}.productPreview>b{color:#13853f}.photoPicker{display:grid;grid-template-columns:44px 1fr;grid-column-gap:10px;column-gap:10px;align-items:center;border:1px dashed #9ed7b0;border-radius:16px;padding:14px;margin:7px 0 15px;background:#f7fcf8;cursor:pointer}.photoPicker input{display:none}.photoPicker>span{font-size:28px;grid-row:1/3}.photoPicker b{font-size:13px}.photoPicker small{color:#98a2b3;font-weight:400}.primaryBtn{width:100%;border:0;border-radius:15px;padding:15px 16px;background:linear-gradient(135deg,#20ae58,#12813e);color:#fff;font-weight:800;cursor:pointer}.primaryBtn:disabled,.redeemBtn:disabled{opacity:.42;cursor:not-allowed}.errorText{font-size:12px}.successScreen{text-align:center;padding:70px 15px}.successCircle{width:88px;height:88px;border-radius:50%;margin:0 auto 22px;background:#e9f9ee;color:#169047;display:grid;place-items:center;font-size:44px;font-weight:900}.successScreen h1{font-size:24px}.successScreen p{color:#667085;font-size:14px;line-height:1.55}.successMoney{font-size:46px;font-weight:900;color:#179247;margin:15px}.filterPills{display:flex;gap:8px;margin:17px 0}.filterPill{font-size:12px;padding:8px 14px;border-radius:999px;background:white;border:1px solid #e7eee9;color:#667085}.filterPill.active{background:#168142;color:white}.historyRow{background:white;border:1px solid #e7eee9;border-radius:18px;padding:13px;margin:10px 0}.historyAmount{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.statusDot{font-size:8px;font-weight:900;letter-spacing:.3px}.statusDot.pending{color:#98a2b3}.statusDot.confirmed{color:#168142}.statusDot.rejected{color:#b42318}.rewardHero,.walletHero{margin:16px 0}.rewardHero span,.walletHero span{font-size:12px;font-weight:800;opacity:.88}.rewardHero strong,.walletHero strong{display:block;font-size:42px;margin:8px 0}.rewardHero small,.walletHero small{opacity:.78}.rewardRow{background:white;border:1px solid #e7eee9;border-radius:18px;margin:10px 0;padding:13px}.rewardIcon{background:#fff8e7;font-size:22px}.redeemBtn{border:0;border-radius:999px;padding:8px 12px;background:#168142;color:white;font-size:11px;font-weight:800}.qrCard{text-align:center}.qrImage{width:min(260px,90%);height:auto;display:block;margin:8px auto 16px}.shell{max-width:480px;margin:0 auto;min-height:100vh;background:white;padding:20px}.brand{font-size:28px;font-weight:900;color:#168142}.card{border:1px solid #e5e7eb;border-radius:18px;padding:16px;margin:12px 0;background:#fff}.balance{font-size:32px;font-weight:800}.muted{color:#667085}.input{width:100%;padding:13px 14px;border:1px solid #d1d5db;border-radius:12px;margin:8px 0 14px}.errorText{color:#b42318}.status{font-weight:700}.status.confirmed{color:#15803d}.status.rejected{color:#b91c1c}.status.pending{color:#98a2b3}@media(max-width:370px){.heroMoney{font-size:40px}.scanCard{grid-template-columns:58px 1fr}.miniBottle{display:none}.twoCards{grid-template-columns:1fr}.dropoffCard{grid-template-columns:44px 1fr}.smallPill{grid-column:2}.bottomNav{width:calc(100% - 14px)}}.adminShell{max-width:1100px;margin:0 auto;min-height:100vh;padding:32px 24px 64px;background:#f6faf7}.adminHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.adminBrand{font-size:28px;font-weight:950;letter-spacing:-.8px;color:#117b3b}.adminBrand span{font-size:12px;background:#dff5e7;color:#117b3b;border-radius:999px;padding:5px 8px;vertical-align:middle;letter-spacing:.6px}.adminHeader p{margin:5px 0 0;color:#667085}.adminLink{background:#fff;border:1px solid #dfe8e2;border-radius:12px;padding:10px 13px;font-size:13px;font-weight:800}.adminStats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin:18px 0}.adminStat{background:#fff;border:1px solid #e1e9e4;border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(16,24,40,.035)}.adminStat span{display:block;color:#667085;font-size:12px;font-weight:750}.adminStat strong{display:block;font-size:30px;margin-top:7px;color:#101828}.adminStat small{display:block;color:#178345;font-weight:800;margin-top:3px}.adminPanel{background:#fff;border:1px solid #e1e9e4;border-radius:24px;padding:22px;margin:14px 0;box-shadow:0 10px 28px rgba(16,24,40,.035)}.adminPanelTitle{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.adminPanelTitle h2{font-size:18px;margin:0}.adminPanelTitle p{margin:4px 0 0;color:#667085;font-size:12px}.adminForm{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-gap:12px;gap:12px}.adminForm label{font-size:11px;font-weight:800;color:#475467}.adminForm input,.adminForm select,.adminSearch{display:block;width:100%;margin-top:6px;border:1px solid #dce5df;background:#fbfdfc;border-radius:12px;padding:12px;outline:none;color:#101828}.adminForm input:focus,.adminForm select:focus,.adminSearch:focus{border-color:#36a861;box-shadow:0 0 0 3px rgba(54,168,97,.1)}.adminForm .wide{grid-column:span 1}.adminPrimary{align-self:end;border:0;border-radius:12px;padding:13px 15px;background:linear-gradient(135deg,#20aa57,#0d7b3b);color:#fff;font-weight:850;cursor:pointer}.adminPrimary:disabled{opacity:.55}.textBtn{border:0;background:transparent;color:#168142;font-weight:800;cursor:pointer}.adminSearch{width:240px;margin:0}.productTable{display:flex;flex-direction:column}.productAdminRow{display:grid;grid-template-columns:1fr 110px 150px;grid-gap:14px;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #edf1ef}.productAdminRow.inactive{opacity:.52}.productMain{display:flex;gap:12px;align-items:center;min-width:0}.materialBadge{width:44px;height:44px;border-radius:14px;background:#edf9f1;display:grid;place-items:center;font-size:22px}.productMain>div:last-child{display:flex;flex-direction:column;min-width:0}.productMain strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.productMain span{font-size:11px;color:#667085;margin-top:4px}.rewardAdmin{text-align:right}.rewardAdmin strong{display:block;font-size:20px;color:#148342}.rewardAdmin span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#98a2b3}.rowActions{display:flex;gap:7px;justify-content:flex-end}.rowActions button{border:1px solid #dce5df;background:#fff;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.adminAlert{padding:12px 14px;border-radius:14px;margin:10px 0;font-size:13px;font-weight:700}.adminAlert.error{background:#fff1f0;color:#b42318;border:1px solid #ffd9d5}.adminAlert.success{background:#ecf9f0;color:#13783a;border:1px solid #ccefd7}.adminEmpty{padding:30px}.adminEmpty,.adminFootnote{text-align:center;color:#98a2b3}.adminFootnote{font-size:11px;margin-top:20px}@media(max-width:800px){.adminForm,.adminStats{grid-template-columns:1fr 1fr}.productAdminRow{grid-template-columns:1fr 70px}.rowActions{grid-column:1/-1;justify-content:flex-start}.adminSearch{width:100%}.adminPanelTitle{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.adminShell{padding:20px 14px 50px}.adminHeader{flex-direction:column}.adminStats{grid-template-columns:1fr 1fr}.adminForm{grid-template-columns:1fr}.adminPanel{padding:17px}.productAdminRow{grid-template-columns:1fr auto}.adminStat strong{font-size:24px}}.dropoffCard{display:grid;grid-template-columns:48px 1fr auto;align-items:center;grid-gap:12px;gap:12px;background:#fff;border:1px solid #e7eee9;border-radius:20px;padding:14px 15px;margin:13px 0}.dropoffIcon{width:44px;height:44px;border-radius:14px;background:#eaf7ee;display:grid;place-items:center;font-size:22px}.dropoffCard strong{font-size:13px}.dropoffCard p{font-size:11px;color:#667085;margin:4px 0 0}.smallPill{font-size:10px;font-weight:800;color:#168142;background:#edf9f1;border-radius:999px;padding:7px 9px}.pointsList{margin:16px 0}.pointCard{background:#fff;border:1px solid #e4ece7;border-radius:20px;padding:14px;margin:10px 0;display:grid;grid-template-columns:46px 1fr;grid-gap:11px;gap:11px;box-shadow:0 7px 20px rgba(16,24,40,.035)}.pointCard.nearest{border-color:#75c890;box-shadow:0 0 0 2px rgba(34,166,83,.08)}.pointIcon{width:44px;height:44px;border-radius:14px;background:#eaf7ee;display:grid;place-items:center;font-size:21px}.pointInfo{min-width:0}.pointTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.pointTop strong{font-size:14px}.pointTop span{font-size:8px;font-weight:900;letter-spacing:.6px;color:#15803d;background:#e8f8ed;padding:5px 7px;border-radius:999px}.pointInfo p{margin:4px 0 7px;color:#667085;font-size:12px}.pointInfo small{display:block;color:#667085;font-size:10px;margin:3px 0}.directionsBtn{grid-column:2;justify-self:start;margin-top:4px;background:#168142;color:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800}.adminPointGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.adminPointGrid label{font-size:11px;font-weight:800;color:#475467}.adminPointGrid input,.adminPointGrid textarea{display:block;width:100%;margin-top:6px;border:1px solid #dce5df;background:#fbfdfc;border-radius:12px;padding:11px}.adminPointCard{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;border-top:1px solid #edf1ef;padding:13px 0}.adminPointCard small{display:block;color:#667085;margin-top:4px}@media(max-width:700px){.adminPointGrid{grid-template-columns:1fr}.dropoffCard{grid-template-columns:44px 1fr}.smallPill{grid-column:2}}.voucherCard{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf1ef}.voucherCard code{display:inline-block;margin-top:7px;background:#f2f4f7;color:#344054;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:800;letter-spacing:.5px}.redeemDebit{color:#b42318}.adminRewardGrid{display:grid;grid-template-columns:80px 1.4fr 1fr 1fr;grid-gap:10px;gap:10px}.adminRewardGrid label{font-size:11px;font-weight:800;color:#475467}.adminRewardGrid input,.adminRewardGrid textarea{display:block;width:100%;margin-top:6px;border:1px solid #dce5df;background:#fbfdfc;border-radius:12px;padding:11px}.adminRewardRow{display:grid;grid-template-columns:1fr 100px 120px;grid-gap:12px;gap:12px;align-items:center;border-top:1px solid #edf1ef;padding:13px 0}.adminRewardRow small{display:block;color:#667085;margin-top:4px}@media(max-width:700px){.adminRewardGrid{grid-template-columns:1fr 1fr}.adminRewardRow{grid-template-columns:1fr auto}.adminRewardRow .rowActions{grid-column:1/-1}}.headerActions{display:flex;align-items:center;gap:10px}.headerAction{width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid #e7eee9;display:grid;place-items:center}.referralStrip{display:grid;grid-template-columns:42px 1fr auto;grid-gap:10px;gap:10px;align-items:center;background:#f0fbf4;border:1px solid #d8f1e1;border-radius:20px;padding:14px 15px;margin:12px 0}.referralStrip>div:first-child{width:40px;height:40px;border-radius:13px;background:#fff;display:grid;place-items:center}.referralStrip strong{font-size:13px}.referralStrip p{margin:3px 0 0;color:#667085;font-size:10px}.referralStrip span{font-size:11px;color:#15803d;font-weight:800}.referralHero{background:linear-gradient(135deg,#1ea854,#0c7438);color:#fff;border-radius:26px;padding:24px;margin:18px 0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.referralHero small,.referralHero span{opacity:.85;font-size:12px}.referralHero strong{font-size:28px;letter-spacing:1.5px}.referralHero button{border:0;background:#fff;color:#13783a;border-radius:999px;padding:10px 13px;font-weight:850}.progressCopy{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:8px 0}.progressCopy span{color:#667085}.progressTrack{height:9px;background:#edf1ef;border-radius:999px;overflow:hidden;margin:6px 0 14px}.progressTrack i{display:block;height:100%;background:#1ba653;border-radius:999px}.notificationRow{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid #edf1ef;position:relative}.notificationRow.unread{background:linear-gradient(90deg,#f4fbf6,transparent)}.notificationRow>i{width:8px;height:8px;border-radius:50%;background:#1aa451;margin-top:8px}.notificationRow .activityText small{white-space:normal;line-height:1.4}.adminBonusGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:11px;gap:11px}.adminBonusGrid label{font-size:11px;font-weight:800;color:#475467}.adminBonusGrid input[type=number]{display:block;width:100%;margin-top:6px;border:1px solid #dce5df;background:#fbfdfc;border-radius:12px;padding:11px}.adminBonusGrid .toggleLabel{display:flex;align-items:center;gap:8px;background:#f7faf8;border:1px solid #e1e9e4;border-radius:12px;padding:11px}.adminBonusGrid .toggleLabel input{width:18px;height:18px}@media(max-width:700px){.adminBonusGrid{grid-template-columns:1fr}}