@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#17241a;background:#f7faf7;font-synthesis:none;font-weight:400;--green: #175b2a;--muted: #758078;--line: #e3eae3;--cream: #f7faf7;--lime: #eaf6ea}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #43a047;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em}h1{font-size:29px;font-weight:750;line-height:1.25}h2{font-size:19px;line-height:1.35}p{font-size:14px;line-height:1.65;color:var(--muted)}small{font-size:12px}svg{flex-shrink:0}button{border:0;background:none}input{min-width:0}.app-shell{background:var(--cream);min-height:100dvh;width:100%;max-width:480px;margin:auto;position:relative;padding-bottom:90px}.topbar{height:84px;display:flex;justify-content:space-between;align-items:center;padding:0 25px}.logo{display:flex;align-items:center;gap:8px}.logo>span{display:grid;place-items:center;background:var(--green);color:#fff;border-radius:11px;width:36px;height:37px}.logo b{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-1.4px}.logo b>span{font-weight:450}.logo sup{font-size:11px;vertical-align:top;position:relative;top:2px;margin-left:2px}.avatar{height:38px;width:38px;background:#eaf6ea;color:var(--green);border:1px solid #d4e8d4;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}main{padding:27px 23px 0}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#7f8d71;display:block;margin-bottom:10px}.greeting{margin:0 0 24px}.greeting p{margin-top:7px}.wave{color:#43a047;font-size:26px;display:inline-block;margin-left:5px}.loyalty-card{padding:22px;background:var(--green);color:#fff;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 10px 25px #175b2a12}.loyalty-card:after{content:"";position:absolute;right:-75px;top:20px;height:200px;width:200px;border:1px solid #ffffff0b;border-radius:50%;box-shadow:0 0 0 28px #ffffff03,0 0 0 55px #ffffff03;pointer-events:none}.card-top{display:flex;justify-content:space-between;align-items:center;color:#cfdfbb;font-size:9px;letter-spacing:1.5px}.points{display:flex;align-items:center;gap:16px;margin:9px 0 20px}.points>strong{font-size:67px;font-family:Manrope;line-height:1.15;font-weight:500;letter-spacing:-4px}.points>span{font-size:16px}.points small{display:block;font-size:11px;color:#b7c5b7;margin-top:7px}.stamps{display:flex;justify-content:space-between;gap:10px}.stamps>div{height:48px;flex:1;max-width:55px;display:grid;place-items:center;border-radius:50%;border:1px dashed #78907c;color:#94aa94}.stamps .filled{background:var(--lime);border-color:var(--lime);color:var(--green)}.stamps>div:last-child:not(.filled){color:#d8e6b8;border-color:#b7c79e;background:#ffffff05}.card-bottom{margin-top:20px;padding-top:15px;border-top:1px solid #ffffff19;display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#d6dfce}.card-bottom>span:last-child{display:flex;gap:5px;align-items:center;color:#aebfa6}.reward-teaser{display:flex;align-items:center;width:100%;text-align:left;background:#eaf6ea;border:1px solid #d4e8d4;border-radius:15px;margin:17px 0 23px;padding:14px 13px;gap:12px}.gift-square{display:grid;place-items:center;width:40px;height:42px;color:#175b2a;background:#d9efd9;border-radius:11px}.reward-teaser>span:nth-child(2){flex:1}.reward-teaser b{font-size:12px;display:block}.reward-teaser small{font-size:10px;display:block;color:#637b68;margin-top:4px}.qr-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px;text-align:center;display:flex;align-items:center;flex-direction:column}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:25px 0 16px;width:100%}.section-title h2{font-size:16px;letter-spacing:-.5px}.qr-card .section-title{margin:0 0 17px;text-align:left}.qr-card .eyebrow{font-size:8px;margin-bottom:6px;letter-spacing:1.3px}.qr-button{border:1px solid #edf0e8;background:#fff;padding:10px;border-radius:16px;display:block;margin-bottom:17px}.qr-button canvas{display:block;max-width:100%;height:auto!important}.qr-card>b{font-size:13px}.member-id{font-size:9px;letter-spacing:1.2px;color:#85907c;display:block;margin-top:7px;overflow-wrap:anywhere}.member-id span{margin:0 5px}.qr-card p{font-size:11px;margin-top:15px}.text-button{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;min-height:35px;padding:5px 0}.qr-card .text-button{margin-top:1px}.mini-rules{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-rules>div{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:17px;background:#f3f9f3}.mini-rules span{color:#43a047;font-size:10px;margin-bottom:11px}.mini-rules b{font-size:12px;margin-bottom:7px}.mini-rules small{font-size:10px;color:var(--muted);line-height:1.6}.page-footer{display:flex;justify-content:center;align-items:center;gap:6px;color:#94a187;font-size:10px;margin:28px 0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:#fffffff5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:9px 12px calc(10px + env(safe-area-inset-bottom));z-index:10}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;color:#92998b;min-height:49px}.bottom-nav button>span{width:43px;height:29px;display:grid;place-items:center;border-radius:9px;position:relative}.bottom-nav .active{color:var(--green);font-weight:700}.bottom-nav .active>span{background:#eaf6ea}.bottom-nav i{width:6px;height:6px;border-radius:50%;background:#43a047;position:absolute;right:9px;top:3px}.heading{margin-bottom:25px}.heading p{margin-top:9px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border-radius:12px;padding:15px;font-size:13px;font-weight:600;min-height:48px}.primary{color:#fff;background:var(--green)}.secondary{border:1px solid #d9dfd0;margin-top:12px;background:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px 6px;margin-bottom:23px;text-align:center}.stats>div{display:flex;flex-direction:column;justify-content:center;gap:6px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats strong{font-size:29px;font-family:Manrope;font-weight:500}.stats small{font-size:10px;color:var(--muted)}.filters,.admin-tabs{display:flex;gap:8px;margin:0 0 20px;overflow:auto;padding-bottom:4px}.filters button,.admin-tabs button{white-space:nowrap;padding:11px 16px;border-radius:30px;border:1px solid var(--line);font-size:12px;min-height:42px}.filters .selected,.admin-tabs .selected{background:var(--green);color:#fff;border-color:var(--green)}.entries{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.entry{display:flex;align-items:center;padding:18px 13px;gap:10px;border-bottom:1px solid var(--line)}.entry:last-child{border:0}.entry-icon{display:grid;place-items:center;width:36px;height:39px;border-radius:11px;background:#eaf6ea;color:#43a047}.entry-icon.peach{background:#eaf6ea;color:#43a047}.entry-body{flex:1;min-width:0}.entry b{font-size:11px}.entry small{display:block;font-size:9px;margin-top:5px;color:var(--muted)}.entry-value{text-align:right;flex-shrink:0}.entry-value small{color:#175b2a}.entry.cancelled .entry-value{text-decoration:line-through;opacity:.5}.entry.cancelled .entry-value small{text-decoration:none}.empty{text-align:center;padding:30px 10px;color:var(--muted)}.empty svg{margin-bottom:10px}.empty h3{margin-bottom:9px}.reward-feature{background:#f3f9f3;border:1px solid #d4e8d4;border-radius:22px;padding:25px;text-align:center}.reward-illustration{height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#175b2a;gap:10px}.reward-illustration span{font-size:8px;letter-spacing:3px}.reward-feature h2{font-size:28px;margin:12px 0}.reward-feature p{font-size:13px}.reward-cost{display:flex;justify-content:space-between;align-items:center;margin:25px 0 18px;padding-top:20px;border-top:1px solid #d4e8d4;font-size:13px}.reward-cost span{font-size:11px;color:var(--muted)}.profile-card,.panel{padding:23px;background:#fff;border:1px solid var(--line);border-radius:18px;margin:18px 0}.profile-card{text-align:center}.large{height:64px;width:64px;font-size:21px;margin:0 auto 15px}.profile-detail{text-align:left;display:flex;gap:13px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.profile-detail small{display:block;color:var(--muted);margin-bottom:4px;font-size:10px}.profile-detail:first-of-type{margin-top:15px}.settings-list{background:#fff;border:1px solid var(--line);border-radius:17px;padding:0 15px}.settings-list>button,.settings-list>label{width:100%;min-height:65px;display:flex;align-items:center;gap:12px;text-align:left;border-bottom:1px solid var(--line);padding:13px 0}.settings-list>button:last-child{border:0}.settings-list span{flex:1;font-size:12px}.settings-list small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.settings-list input{width:19px;height:19px;accent-color:var(--green)}.panel p{margin:10px 0}.panel strong{font-size:13px}.scanner{background:var(--green);color:#eaf6ea;border-radius:18px;padding:30px 18px;text-align:center}.scanner h2{margin-top:18px}.scanner p{margin:10px 0 20px;color:#bbc9b5}.scanner .primary{background:var(--lime);color:var(--green)}.back-customer{width:100%;padding:22px;font-size:12px;text-decoration:underline}.search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 13px;margin:15px 0}.search input{width:100%;height:46px;border:0;background:none;font-size:13px}.rules>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:19px 0;font-size:13px}.rules h2{margin-bottom:12px}.rules p{margin-top:19px;font-size:12px}.rules>div span{color:#175b2a}.welcome{text-align:center;padding-top:45px}.welcome h1{font-size:39px}.welcome-art{padding:45px;color:#91a16f}.welcome p{margin-bottom:25px}.welcome .muted{margin-top:16px;font-size:11px}dialog{padding:0;border:1px solid var(--line);border-radius:24px;max-width:420px;width:calc(100% - 28px);max-height:calc(100dvh - 40px);color:var(--green);box-shadow:0 25px 100px #0f261f30}dialog::backdrop{background:#102b225e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-content{padding:34px 25px 25px;position:relative}.close{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:38px;height:38px;color:#7c8873}.dialog-content h2{font-size:24px;margin:8px 22px 15px 0}.dialog-content p{margin-bottom:18px}.dialog-content form label{display:block;font-size:12px;font-weight:600;margin:16px 0}.dialog-content input{display:block;background:#f7faf7;border:1px solid #dce3d3;border-radius:11px;width:100%;padding:14px;font-size:16px;margin-top:8px}.amount-options{display:flex;gap:8px}.amount-options button{flex:1;padding:13px 5px;border:1px solid var(--line);border-radius:10px;font-size:12px}.dialog-content .earning{background:#eaf6ea;color:#175b2a;border-radius:9px;font-size:12px;padding:12px;margin-top:16px}.error{color:#a7402a!important;font-size:12px!important}.full-qr{text-align:center;padding-top:15px}.full-qr h2{margin-right:0}.full-qr canvas{max-width:100%;height:auto!important;display:block;margin:20px auto}.full-qr p{margin:8px 0 20px}.full-qr small{color:var(--muted);font-size:11px}.modal-symbol{display:grid;place-items:center;width:65px;height:65px;background:#eaf6ea;border-radius:50%;margin:10px 0 20px}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 30px);background:#175b2a;color:#fff;padding:15px 19px;border-radius:13px;box-shadow:0 8px 30px #0002;display:flex;gap:10px;align-items:center;font-size:12px;z-index:100}@media(max-width:360px){main{padding-left:16px;padding-right:16px}.topbar{padding:0 18px}.stamps{gap:8px}.stamps>div{height:43px}.loyalty-card{padding:19px}.reward-teaser{gap:8px}.reward-teaser b{font-size:11px}.entry{padding:15px 10px;gap:7px}.entry b,.points small{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.topbar{height:72px}main{padding-top:22px}.greeting{margin-bottom:19px}.greeting p{margin-top:5px}.loyalty-card{padding:18px 21px}.points{margin:5px 0 14px}.points>strong{font-size:55px}.stamps>div{height:43px;max-width:48px}.card-bottom{margin-top:16px;padding-top:12px}.qr-card{margin-top:18px}.qr-card .section-title{margin-bottom:12px}.qr-button{padding:7px;margin-bottom:12px}.qr-card p{margin-top:11px}.reward-teaser{margin-bottom:18px}.profile-detail span{min-width:0}.app-shell{margin-inline:auto;max-width:480px}.bottom-nav,.toast{left:50%}.logo>span{background:#43a047;color:#fff;border-radius:9px}.logo b{font-family:inherit;font-size:15px;font-weight:800;letter-spacing:1.2px}.loyalty-card{background:linear-gradient(120deg,#175b2a,#43a047);box-shadow:0 10px 25px #19482214}.card-top,.points small{color:#e2f1e2}.stamps>div{color:#fff;border-color:#a9d5a9}.stamps .filled{background:#eaf6ea;color:#43a047;border-color:#eaf6ea}.stamps>div:last-child:not(.filled){color:#fff;border-color:#c8e7c8}.card-bottom,.card-bottom>span:last-child{color:#e2f1e2}.bottom-nav .active{color:#278631}.primary{background:#278631}.scanner .primary{background:#eaf6ea;color:#175b2a}.eyebrow{color:#657d68}.reward-cost span{color:#637b68}.greeting h1{font-size:24px}.greeting .eyebrow,.greeting p,.wave{display:none}.greeting{margin-bottom:14px}.qr-card p{font-size:12px}.qr-card .section-title h2{font-size:18px}.qr-card .eyebrow{display:none}.reward-teaser b{font-size:13px}.reward-teaser small{font-size:12px}.mini-rules b{font-size:13px}.mini-rules small,.bottom-nav button,.entry b{font-size:12px}.entry small{font-size:11px}.settings-list span{font-size:14px}.settings-list small{font-size:12px}.member-id{font-size:11px}.card-top{font-size:10px}.card-bottom,.points small{font-size:12px}.qr-dialog{width:max-content;max-width:calc(100vw - 32px);border:2px solid #d4e8d4;border-radius:22px;overflow:hidden}.qr-dialog .dialog-content{padding:18px}.full-qr{display:block;padding:0;background:#fff;border-radius:8px}.full-qr canvas{display:block;margin:0;width:min(76vw,330px)!important;height:auto!important}.danger-text{color:#c12f2f!important}.primary.danger-button{background:#bd3030}.auth-page{padding-top:35px}.auth-page h1{margin:20px 0 10px}.auth-page>p{margin-bottom:25px}.auth-symbol{display:grid;place-items:center;background:#eaf6ea;color:#278631;width:68px;height:68px;border-radius:20px}.auth-page form label,.member-select{display:block;font-size:13px;font-weight:600;margin-bottom:18px}.auth-page input,.member-select select{display:block;margin-top:8px;width:100%;min-height:49px;padding:12px 14px;border:1px solid #d4dfd4;border-radius:11px;background:#fff;color:#17241a;font:inherit;font-size:16px}.auth-page form .primary{margin-top:24px}.auth-page form .error{margin:15px 0}.auth-page .config-error{margin:14px 0 0;padding:11px 12px;border:1px solid #f0c7bc;border-radius:10px;background:#fff5f2;line-height:1.45}.auth-switch{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:22px;font-size:13px}.auth-switch .text-button{font-size:13px;color:#278631}.admin-shell{background:#f5f7f8;max-width:860px;padding-bottom:32px;min-height:100dvh}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid #e0e5e7;background:#fff;gap:10px}.admin-label{display:block;font-size:11px;letter-spacing:1px;color:#697a73;margin:7px 0 0 44px}.admin-header .logo b{font-size:13px}.admin-logout{display:flex;gap:6px;align-items:center;font-size:12px;min-height:44px}.admin-shell main{padding:25px 20px}.admin-shell .heading h1{font-size:26px}.admin-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#e9eeec;padding:5px;border-radius:12px}.admin-tabs button{padding:12px 5px;border:0;border-radius:8px;font-size:12px;white-space:normal}.admin-tabs .selected{background:#fff;color:#175b2a;box-shadow:0 1px 4px #0001}.admin-shell .stats{padding:25px 8px}.admin-shell .entry{padding:19px 15px}.admin-shell .entry b{font-size:13px}.admin-shell .entry small{font-size:11px}.admin-shell .scanner{background:#234635}.admin-shell .panel{box-shadow:none}.admin-shell .primary{max-width:100%}.admin-shell .heading{margin-bottom:20px}@media(max-width:360px){.admin-header{padding:16px}.admin-header .logo b,.admin-logout{font-size:11px}.admin-shell main{padding-inline:14px}.admin-tabs button{font-size:11px}}.admin-tabs{display:flex;gap:20px;border-radius:0;background:none;border-bottom:1px solid #dce4df;padding:0;overflow-x:auto}.admin-tabs button{flex:1;padding:12px 0;white-space:nowrap;border-radius:0;border-bottom:2px solid transparent;color:#718078;min-height:46px}.admin-tabs .selected{background:none;box-shadow:none;color:#175b2a;border-bottom-color:#278631;font-weight:700}.member-actions{display:flex;gap:10px;flex-wrap:wrap}.member-actions .secondary{flex:1;min-width:150px;font-size:12px}.member-history-heading{margin:18px 0 22px}.password-field{margin-bottom:18px}.auth-page form .password-field>label{margin-bottom:0}.password-input{position:relative}.password-input input{padding-right:52px}.password-input button{position:absolute;right:4px;top:3px;width:44px;height:44px;display:grid;place-items:center;color:#6b7a70}.app-shell main{padding-bottom:22px}@media(max-width:360px){.admin-tabs{gap:12px}.member-actions{flex-direction:column}.member-actions .secondary{margin-top:8px}}.admin-logout{background:#fff1f0;border:1px solid #edc7c4;color:#a72d25;border-radius:10px;padding:10px 13px;font-weight:600;white-space:nowrap}.admin-logout:hover{background:#fce2df;border-color:#d99d97}.admin-logout:active{background:#f8d5d0}.auth-page{padding-top:30px}.auth-page h1{margin-top:0}:root{--muted: #5d6e62;--space: 8px;--radius-card: 18px;--radius-control: 12px}.logo img{display:block;width:56px;height:56px;object-fit:contain;border-radius:10px}.topbar{height:88px;padding-inline:24px}.admin-header{padding:16px 24px}.admin-header>div{display:flex;align-items:center;gap:12px}.admin-label{margin:0;color:#52675b;font-size:12px;letter-spacing:.2px}.auth-shell .topbar{height:100px}.auth-shell .logo img{width:68px;height:68px}main,.admin-shell main{padding:24px}.heading{margin-bottom:24px}.section-title{margin:24px 0 16px}.panel,.profile-card,.qr-card,.entries,.stats{border-radius:var(--radius-card)}.panel,.profile-card,.qr-card{padding:24px}.panel{margin:16px 0}.profile-card{margin:0 0 24px}.primary,.secondary{min-height:48px;border-radius:var(--radius-control);padding:14px 16px;font-size:14px;line-height:20px}.secondary{margin-top:12px}.text-button{min-height:44px;font-size:12px}.member-actions .secondary{font-size:13px}.auth-page form label,.member-select{font-size:14px}.auth-page input,.member-select select{min-height:48px;border-radius:var(--radius-control)}.filters button{min-height:44px}.close{width:44px;height:44px}.member-id,.eyebrow{color:#586d5c}.member-id{letter-spacing:.8px;font-size:12px}.mini-rules small,.settings-list small,.profile-detail small,.entry small,.stats small{color:#5d6e62}.mini-rules span{color:#347b40}.bottom-nav button{color:#596b5d}.bottom-nav .active{color:#176527}.bottom-nav button>span{height:30px}.admin-tabs button{color:#596b61;font-size:13px}.admin-tabs .selected{color:#175b2a}.qr-card p{color:#5d6e62}.profile-detail small{font-size:12px}.entry-body small{font-size:12px;line-height:1.5}.stats small{font-size:12px;line-height:1.4}.entry-value small{font-size:12px;font-weight:600;line-height:1.5}.entry,.admin-shell .entry{padding:16px;gap:12px}.entry b,.admin-shell .entry b{font-size:13px;line-height:1.4}.entry-body{overflow-wrap:anywhere}.entry-value{min-width:66px}.entry-icon{width:36px;height:40px}.entry.earned .entry-value small{color:#216d36}.entry.earned .entry-icon{background:#eaf6ec;color:#216d36}.entry.spent .entry-icon{background:#f3edf8;color:#71528c}.entry.spent .entry-value small{color:#71528c}.entry.cancelled .entry-icon{background:#fceceb;color:#a72d25}.entry.cancelled .entry-body small{color:#a72d25}.entry.cancelled .entry-value{opacity:1;text-decoration:none}.entry.cancelled .entry-value b{text-decoration:line-through;color:#7b6965}.entry.cancelled .entry-value small{color:#a72d25}.loyalty-card{padding:24px;background:linear-gradient(120deg,#175b2a,#2c853b)}.card-top,.card-bottom,.card-bottom>span:last-child,.points small{color:#f0f8f0}.card-top{font-size:11px;letter-spacing:1px}.points small{max-width:235px;line-height:1.5}.card-bottom{gap:12px;line-height:1.5}.card-bottom>span:last-child{white-space:nowrap}.stamps .filled{color:#216d36}.loyalty-card.reward-ready{background:linear-gradient(120deg,#145326,#237836);box-shadow:0 0 0 2px #c5dfb0,0 8px 24px #19482212}.reward-ready-badge{display:flex;align-items:center;gap:8px;border:1px solid #d5e9c0;background:#eef7df;color:#24542a;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;margin-top:16px}.reward-ready-badge>svg:last-child{margin-left:auto}.reward-ready .stamps>div:last-child{background:#eef7df;box-shadow:0 0 0 3px #ffffff20}@media(max-width:360px){main,.admin-shell main{padding:20px 16px}.topbar,.admin-header{padding-inline:16px}.panel,.profile-card,.qr-card,.loyalty-card{padding:20px}.entry,.admin-shell .entry{padding:14px 10px;gap:8px}.entry b,.admin-shell .entry b{font-size:12px}.entry-body small,.entry-value small,.stats small{font-size:11px}.admin-tabs{gap:8px}.admin-tabs button{font-size:12px}.admin-header>div{gap:8px}.admin-label{font-size:11px}.admin-logout{padding:10px}.card-bottom,.points small{font-size:11px}.member-actions .secondary{font-size:13px}}.logo img{width:64px;height:64px;border-radius:0;background:transparent;object-fit:contain}.auth-shell .logo img{width:76px;height:76px}.admin-header .logo img{width:60px;height:60px}.member-lookup>p{margin:8px 0 20px}.lookup-results{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.lookup-results>button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;padding:18px 16px;border-bottom:1px solid var(--line)}.lookup-results>button:last-child{border:0}.lookup-results b{font-size:14px}.lookup-results small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.lookup-results>button>span:last-child{display:flex;align-items:center;font-size:12px;gap:4px}.purchase-filter-tools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:-8px 0 20px}.purchase-filter-tools details{min-width:100px;max-width:100%}.purchase-filter-tools summary{cursor:pointer;border:1px solid var(--line);border-radius:22px;padding:11px 16px;font-size:12px;min-height:44px;list-style:none}.purchase-filter-tools summary::-webkit-details-marker{display:none}.purchase-filter-tools summary:after{content:"⌄";margin-left:12px;color:var(--muted)}.purchase-filter-tools details[open]{flex:1 1 100%}.purchase-filter-tools details[open] summary{width:fit-content}.purchase-filter-tools .has-filter{color:#175b2a;background:#eaf6ea;border-color:#c5dfca}.filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0 4px}.filter-fields label{min-width:0;font-size:12px;color:var(--muted)}.filter-fields input{display:block;width:100%;min-width:0;min-height:44px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#17241a;font-size:14px}.qr-scanner{margin-bottom:24px}.scanner-view{background:#183c2a;border-radius:18px;min-height:265px;padding:28px 20px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.scanner-camera{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.scanner-view{position:relative;overflow:hidden}.scanner-view>*:not(.scanner-camera){position:relative;z-index:1}.scanner-target{position:relative;width:175px;height:175px;border:2px solid #abd5b6;border-radius:18px;display:grid;place-items:center;color:#c7e4cb;overflow:hidden}.scanner-view p{color:#e5f2e7;font-size:13px}.qr-scanner>.primary{margin-top:16px}.scan-beam{position:absolute;left:8px;right:8px;top:10%;height:2px;background:#b5edbc;box-shadow:0 0 16px #a3f6af;animation:qr-scan 1.4s ease-in-out infinite}.scan-cancel{display:flex;margin:8px auto 0}.manual-member-lookup{border-top:1px solid var(--line);padding-top:12px}.manual-member-lookup>summary{cursor:pointer;padding:14px 0;font-size:13px;color:#52675b}.manual-member-lookup .member-lookup{padding-top:12px}.manual-member-lookup h2{font-size:16px}.scan-found{display:flex;align-items:center;gap:8px;background:#eaf6ea;color:#175b2a;border-radius:10px;padding:12px;margin:8px 0 20px;font-size:13px;font-weight:600}.loading-screen{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:16px;padding:24px;background:#f7faf7;color:#175b2a}.loading-screen img{width:84px;height:84px;object-fit:contain}.loading-spinner{width:28px;height:28px;border:3px solid #cfe6d2;border-top-color:#43a047;border-radius:50%;animation:loading-spin .8s linear infinite}.loading-label{color:#52675b;font-size:13px}.error-screen{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;text-align:center;background:#f7faf7;color:#17241a}.error-screen img{object-fit:contain;margin-bottom:8px}.error-screen h1{margin:0;font-size:22px}.error-screen p{max-width:280px;margin:0 0 8px;color:#52675b;font-size:13px}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.6s}}@keyframes qr-scan{0%,to{top:10%}50%{top:90%}}@media(prefers-reduced-motion:reduce){.scan-beam{animation:none;top:50%}}.rules>.rules-reward-row{position:relative;isolation:isolate;border-bottom-color:transparent}.rules>.rules-reward-row:before{content:"";position:absolute;inset:6px -12px;z-index:-1;background:#edf6ef;border-left:2px solid #438f57;border-radius:4px}.redemption-hint{font-size:12px;color:#5d6e62;line-height:1.5;margin:10px 0 16px}.restore-text{color:#176b32!important}
