@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#102A43;--navy:#081B2C;--green:#00A86B;--mint:#E8F7F1;--paper:#F8FAFC;--line:#D7E3E0;--muted:#5F7282;--white:#fff;--shadow:0 24px 70px rgba(4,26,22,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.topbar{height:78px;max-width:1220px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:relative;z-index:5}.brand{display:flex;gap:11px;align-items:center;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.11em;font-size:.84rem}.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--ink);color:var(--green);border-radius:9px;font-family:Manrope;font-weight:800}.brand-mark.inverse{background:var(--mint);color:#102A43}.topbar nav{display:flex;align-items:center;gap:24px;font-weight:600;font-size:.92rem}.topbar form{margin:0}.link{border:0;background:none;color:inherit;cursor:pointer}.button{border:0;background:var(--green);color:#032c21;display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;border-radius:12px;font-weight:700;box-shadow:0 10px 25px rgba(0,168,107,.2);cursor:pointer}.button.small{padding:10px 17px}.button.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px #bdcbc5}.hero{min-height:570px;padding:82px max(28px,calc((100vw - 1160px)/2));background:radial-gradient(circle at 76% 10%,rgba(0,168,107,.14),transparent 28%),var(--paper);max-width:100%;position:relative}.hero:after{content:"";position:absolute;right:8%;top:80px;width:34%;height:400px;background:linear-gradient(135deg,#E8F7F1,#b6e9da);border-radius:48% 48% 10% 50%;filter:blur(1px);opacity:.7;z-index:0}.hero>*{position:relative;z-index:1;max-width:670px}.eyebrow{font-size:.71rem;letter-spacing:.18em;font-weight:800;color:#008A59;margin-bottom:18px}.hero h1,.auth-copy h1,.dashboard h1{font-family:Manrope,sans-serif;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.hero h1 em{color:#00A86B;font-style:normal}.hero>p{font-size:1.17rem;line-height:1.65;color:var(--muted);max-width:590px}.actions{display:flex;gap:12px;margin:32px 0}.trust{display:flex;gap:26px;color:#61716a;font-size:.8rem;font-weight:600}.trust span::first-letter{color:var(--green)}.wallet-preview{background:var(--navy);padding:80px max(28px,calc((100vw - 1040px)/2));display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}.card{border-radius:24px;padding:30px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.universal{background:radial-gradient(circle at 90% 5%,rgba(232,247,241,.23),transparent 34%),linear-gradient(145deg,#102A43,#081B2C);color:white;box-shadow:0 28px 55px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.11)}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.69rem;letter-spacing:.13em;font-weight:700}.card small{font-size:.65rem;letter-spacing:.14em;color:#b5cdc5}.card strong{display:block;font:800 3.4rem/1 Manrope;margin-top:8px;letter-spacing:-.05em}.mini-cards{display:grid;gap:12px}.mini-cards article,.action-row{background:#fff;padding:16px 18px;border-radius:16px;display:flex;align-items:center;gap:13px}.mini-cards article div,.action-row div{display:grid;flex:1}.mini-cards small,.action-row small{color:var(--muted);margin-top:3px}.merchant-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-weight:800}.amber{background:#fff2c9}.coral{background:#ffdcd4}.blue{background:#dcecff}.feature-grid{max-width:1160px;margin:0 auto;padding:100px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.feature-grid article{border-top:1px solid #bdcac5;padding-top:24px}.feature-grid article>span{color:#00A86B;font-weight:800;font-size:.78rem}.feature-grid h2{font:700 1.35rem Manrope}.feature-grid p,.muted{color:var(--muted);line-height:1.6}.auth-shell{max-width:1100px;min-height:650px;margin:35px auto 90px;padding:40px 28px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.auth-copy h1{font-size:clamp(2.8rem,5vw,4.6rem)}.auth-copy p{color:var(--muted);font-size:1.1rem;max-width:430px}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:27px;box-shadow:0 15px 50px rgba(7,35,29,.05)}.form{display:grid;gap:17px}.form h2{font:700 1.5rem Manrope;margin:0 0 5px}.form label{font-size:.8rem;font-weight:700;display:grid;gap:7px}.form input,.form textarea{width:100%;padding:13px 14px;border:1px solid #cbd6d1;background:#fafffd;border-radius:10px;outline:none}.form input:focus,.form textarea:focus{border-color:#00A86B;box-shadow:0 0 0 3px rgba(0,168,107,.12)}.form textarea{min-height:95px;resize:vertical}.form label small{font-weight:400;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.errors{padding:12px;background:#fff0ee;border:1px solid #ffc5bd;color:#9a2f20;border-radius:10px;font-size:.84rem}.form-note{text-align:center;color:var(--muted);font-size:.85rem}.form-note a{color:#007F55;font-weight:700}.flash{max-width:900px;margin:15px auto;background:#E8F7F1;color:#07543d;padding:13px 18px;border-radius:12px}.dashboard{max-width:1160px;margin:auto;padding:60px 28px 100px}.dashboard.narrow{max-width:820px}.dashboard h1{font-size:clamp(2.5rem,5vw,4.4rem)}.dash-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:38px}.scan{border:0;background:var(--ink);color:#fff;border-radius:15px;padding:14px 20px;font-weight:700;cursor:pointer}.live{max-width:610px;min-height:300px}.section-title{margin-top:52px;display:flex;justify-content:space-between;align-items:end}.section-title h2{font:700 1.45rem Manrope}.section-title span{color:var(--muted);font-size:.8rem}.empty{border:1px dashed #b9c9c2;border-radius:18px;text-align:center;padding:40px 20px;margin:10px 0 25px}.empty-icon{font-size:2rem;color:#1bbf90}.empty h3{margin:12px 0 6px}.empty p{color:var(--muted);max-width:480px;margin:auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel h3{margin-top:0;font-family:Manrope}.empty-line{color:var(--muted);padding:20px 0}.action-row{padding:10px 0}.action-row>span{width:38px;height:38px;background:#e4f8f1;border-radius:11px;display:grid;place-items:center}.action-row i{font-style:normal}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.metric-grid article{background:white;border:1px solid var(--line);border-radius:18px;padding:22px}.metric-grid small{font-size:.65rem;letter-spacing:.1em;color:var(--muted);font-weight:700}.metric-grid strong{display:block;font:800 2rem Manrope;margin:10px 0 4px}.metric-grid span{font-size:.75rem;color:var(--muted)}.status{color:#8b6514;font-weight:700}footer{background:#081B2C;color:white;padding:45px max(28px,calc((100vw - 1160px)/2));display:flex;gap:25px;align-items:center}footer strong{letter-spacing:.14em}footer span,footer small{color:#8ea49d}footer small{margin-left:auto}
.form select{width:100%;padding:13px 14px;border:1px solid #cbd6d1;background:#fafffd;border-radius:10px}.calc-note{padding:14px;border-radius:11px;background:#e9f8f3;color:#37665a;font-size:.83rem;line-height:1.55}.wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0 28px}.merchant-card{background:white;border:1px solid var(--line);border-radius:20px;padding:22px}.merchant-card>small{display:block;margin:15px 0 5px;color:var(--muted);font-size:.63rem;letter-spacing:.13em}.merchant-card h3{margin:0;font:700 1rem Manrope}.merchant-card>strong{display:block;font:800 2.2rem Manrope;margin:18px 0}.merchant-card>div:last-child{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.green{background:#E8F7F1;color:#007A52}.activity{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ef}.activity:last-child{border-bottom:0}.activity>div{display:grid;flex:1}.activity small{color:var(--muted);margin-top:3px;font-size:.72rem}.activity-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#E8F7F1;color:#007A52;font-weight:800}.activity-icon.redeem,.activity-icon.reversal{background:#fff0e4;color:#9a551f}.activity>strong{font-size:.86rem}.receipt-check{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--green);font-size:1.8rem;margin-bottom:18px}.receipt{display:grid;gap:0}.receipt>div{display:flex;justify-content:space-between;gap:25px;padding:15px 0;border-bottom:1px solid var(--line)}.receipt>div:last-child{border:0}.receipt span{color:var(--muted)}.receipt strong{text-align:right}.ok{color:#0d8b66}.bad{color:#a42b1e}.reversal{margin-top:28px}.reversal summary{font-weight:700;cursor:pointer}.danger{background:#f6c6be;color:#6f1e12;box-shadow:none}
.dash-actions{display:flex;gap:10px}.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.ops-grid h2{font:700 1.3rem Manrope}.section-kicker{color:#008A59;font-size:.66rem;letter-spacing:.14em;font-weight:800}.impact{display:grid;padding:16px;border-radius:14px;background:#102A43;color:white}.impact span,.impact small{color:#a9c4bb;font-size:.76rem}.impact strong{font:800 1.6rem Manrope;margin:6px 0}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:12px 0 34px}.record{padding:18px}.record summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.record summary::-webkit-details-marker{display:none}.record summary>div{display:grid;flex:1}.record summary small{color:var(--muted);margin-top:3px}.record[open] summary{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.pill{padding:6px 9px;border-radius:30px;background:#e8efec;color:#53645d;font-size:.63rem;text-transform:uppercase;font-weight:800}.pill.active{background:#E8F7F1;color:#007A52}.pill.suspended,.pill.paused{background:#fff0d7;color:#815611}.pill.closed,.pill.completed{background:#e7eaeb;color:#637078}.invite-box{display:grid;gap:8px;background:#E8F7F1;border:1px solid #9ae6cc;border-radius:15px;padding:18px;margin-bottom:20px}.invite-box input{padding:10px;border:1px solid #8ecab6;border-radius:8px;background:white}.invite-box small{color:#426a5e}.analytics{margin-top:20px}.rank-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.rank-row:last-child{border:0}.rank-row span{display:grid}.rank-row small{color:var(--muted);font-size:.72rem}
.wallet-actions{display:flex;gap:10px;margin:18px 0 35px}.wallet-actions a{background:white;border:1px solid var(--line);border-radius:11px;padding:10px 14px;font-size:.8rem;font-weight:700}.wallet-actions b{background:var(--green);border-radius:20px;padding:2px 6px}.text-link{color:#007F55;font-weight:700;font-size:.82rem}.featured-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.featured-strip>a{display:flex;align-items:center;gap:11px;background:white;border:1px solid var(--line);border-radius:16px;padding:14px}.featured-strip div{display:grid}.featured-strip small{color:var(--muted);margin-top:3px}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.offer-card{background:linear-gradient(145deg,#102A43,#081B2C);color:white;border-radius:18px;padding:20px;display:grid;gap:8px}.offer-card>span,.offer-card small{font-size:.67rem;letter-spacing:.08em;color:#b7d3ca}.offer-card h3{margin:10px 0 0}.directory-hero{background:var(--navy);color:white;padding:85px max(28px,calc((100vw - 1160px)/2))}.directory-hero h1,.merchant-profile h1{font:800 clamp(2.8rem,6vw,5rem)/1 Manrope;letter-spacing:-.055em;margin:0 0 20px}.directory-hero>p{color:#abc0ba}.directory-filter{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;margin-top:30px}.directory-filter input,.directory-filter select,.history-filter select{padding:13px;border-radius:10px;border:1px solid #426058;background:#0d2824;color:white}.directory-grid{max-width:1160px;margin:45px auto;padding:0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.directory-card{background:white;border:1px solid var(--line);border-radius:20px;padding:20px;transition:.2s}.directory-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.merchant-logo{width:49px;height:49px;border-radius:15px;background:#E8F7F1;color:#007A52;display:grid;place-items:center;font:800 1.2rem Manrope}.merchant-logo.large{width:86px;height:86px;border-radius:24px;font-size:2rem}.directory-meta{display:flex;justify-content:space-between;margin-top:18px;color:var(--muted);font-size:.68rem;text-transform:uppercase}.directory-meta b{color:#0b8a67}.directory-card h2{font:700 1.25rem Manrope;margin:10px 0}.directory-card p{color:var(--muted);min-height:44px;font-size:.84rem}.directory-card>div:last-child{display:flex;justify-content:space-between;font-size:.73rem;color:var(--muted)}.directory-card>div:last-child strong{color:#007A52}.pager{max-width:1160px;margin:20px auto 60px;padding:0 28px}.merchant-profile{max-width:1100px;margin:40px auto 90px;padding:30px 28px}.profile-head{display:flex;gap:25px;align-items:flex-start;margin-bottom:40px}.profile-head h1{font-size:4rem}.profile-head p{color:var(--muted);max-width:680px}.profile-tags{display:flex;gap:8px}.profile-tags span{background:#E8F7F1;color:#007A52;border-radius:30px;padding:7px 11px;font-size:.72rem;font-weight:700}.profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.profile-grid>div{display:grid;gap:20px;align-content:start}.profile-wallet{margin:0}.offer,.location{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.offer:last-child,.location:last-child{border:0}.offer>div,.location{display:grid}.offer small,.location span,.location small{color:var(--muted);margin-top:3px}.history-filter{display:flex;gap:10px;margin-bottom:18px}.history-filter select{background:white;color:var(--ink);border-color:var(--line)}.history-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.history-row>div{display:grid}.history-row small{color:var(--muted);margin-top:3px}.identity-card{background:radial-gradient(circle at 90% 5%,rgba(232,247,241,.22),transparent 30%),var(--navy);color:white;border-radius:25px;padding:35px;text-align:center;margin-bottom:20px}.qr-token{width:160px;height:160px;margin:0 auto 22px;border:12px solid white;background:repeating-conic-gradient(#081B2C 0 25%,white 0 50%) 0/24px 24px;display:grid;place-items:center}.qr-token span{background:white;color:var(--ink);padding:10px;font-weight:800}.identity-card>small{display:block;color:#9eb7af;letter-spacing:.12em}.identity-card code{display:block;color:#b9d9cf;margin:8px 0}.identity-card>strong{font:800 1.8rem Manrope}.identity-card p{color:#9eb7af}.share-link{display:grid;gap:8px;font-size:.75rem;font-weight:700}.share-link input{padding:12px;border:1px solid var(--line);border-radius:9px;width:100%}.referral-metrics{grid-template-columns:1fr 1fr}.notice{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);align-items:flex-start}.notice>div{flex:1}.notice p{color:var(--muted);margin:5px 0}.notice small{color:#8a9993}.notice-dot{width:9px;height:9px;border-radius:50%;background:#cbd6d1;margin-top:6px}.notice.unread .notice-dot{background:var(--green);box-shadow:0 0 0 4px #E8F7F1}.notice.read{opacity:.7}
@media(max-width:760px){.topbar{height:68px;padding:0 18px}.topbar nav>a:not(.button){display:none}.hero{padding:65px 22px 75px;min-height:auto}.hero:after{display:none}.hero h1{font-size:3rem}.trust{display:grid;gap:8px}.actions{align-items:stretch}.wallet-preview{grid-template-columns:1fr;padding:55px 18px}.card{min-height:235px;padding:24px}.card strong{font-size:2.8rem}.feature-grid,.auth-shell{grid-template-columns:1fr}.feature-grid{padding:65px 22px}.auth-shell{padding:30px 18px;gap:25px}.auth-copy h1{font-size:3rem}.field-row,.two-col,.metric-grid,.wallet-grid,.ops-grid,.record-grid,.directory-grid,.profile-grid,.featured-strip,.offer-grid{grid-template-columns:1fr}.dashboard{padding:42px 18px 75px}.dash-head{gap:18px}.scan span{display:none}.section-title{align-items:start;flex-direction:column}.live{min-height:250px}.metric-grid{grid-template-columns:1fr 1fr}.dash-actions{flex-direction:column}.rank-row{grid-template-columns:1fr auto}.wallet-actions{overflow:auto}.directory-filter{grid-template-columns:1fr}.profile-head{flex-direction:column}.profile-head h1{font-size:3rem}.history-row{grid-template-columns:auto 1fr}.history-row>span:not(.activity-icon){display:none}footer{align-items:flex-start;flex-direction:column}footer small{margin:0}}
.admin-shell{max-width:1320px}.admin-nav{display:flex;gap:6px;overflow:auto;background:#081B2C;padding:8px;border-radius:15px;margin-bottom:42px;position:sticky;top:8px;z-index:4}.admin-nav a{color:#a9bbb5;padding:11px 14px;border-radius:9px;white-space:nowrap;font-size:.78rem;font-weight:700}.admin-nav a:hover,.admin-nav a.active{background:#19322e;color:white}.liability{grid-template-columns:repeat(2,1fr)}.admin-tools{margin-top:20px}.admin-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.admin-row>div{display:grid}.admin-row small{color:var(--muted);margin-top:3px}.spaced{display:inline-block;margin-top:20px}.admin-filter{display:flex;gap:10px;margin-bottom:18px}.admin-filter input,.admin-filter select{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:white;min-width:220px}.admin-filter input{flex:1}.admin-list{display:grid;gap:10px}.admin-record{padding:18px 20px}.admin-record summary{display:flex;align-items:center;gap:13px;cursor:pointer;list-style:none}.admin-record summary::-webkit-details-marker{display:none}.admin-record summary>div:nth-child(2),.admin-record summary>div:first-child:not(.merchant-logo):not(.customer-avatar){display:grid;flex:1}.admin-record summary small{color:var(--muted);margin-top:3px}.admin-record[open] summary{padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:20px}.customer-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#E8F7F1;color:#007A52;font-weight:800;flex:none}.record-details{display:grid;grid-template-columns:1fr 1fr;gap:22px}.record-details dl{margin:0}.record-details dl>div{padding:10px 0;border-bottom:1px solid var(--line)}.record-details dt{color:var(--muted);font-size:.69rem;text-transform:uppercase}.record-details dd{margin:4px 0 0}.inline-control{grid-template-columns:180px 1fr auto;align-items:end}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.permission-grid fieldset{border:1px solid var(--line);border-radius:12px;padding:14px}.permission-grid legend{font-weight:800;text-transform:uppercase;font-size:.68rem}.permission-grid .check{align-items:flex-start;margin:9px 0}.permission-grid .check span{display:grid}.permission-grid small{font-weight:400;color:var(--muted)}.security-note{padding:15px;border-radius:12px;background:#e8f8f2;color:#285f50;line-height:1.55;font-size:.82rem}.table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.84rem}.admin-table th,.admin-table td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.admin-table th{font-size:.68rem;color:var(--muted)}.audit-record pre{background:#081B2C;color:#cce9df;padding:14px;border-radius:10px;overflow:auto;font-size:.75rem}.audit-record code{font-size:.68rem;color:var(--muted)}
@media(max-width:760px){.admin-nav{margin-bottom:25px}.admin-filter{display:grid}.admin-filter input,.admin-filter select{min-width:0;width:100%}.record-details,.permission-grid,.inline-control{grid-template-columns:1fr}.admin-record summary>strong{display:none}.liability{grid-template-columns:1fr 1fr}}
.shop-profile-editor{margin-bottom:20px}.brand-preview{display:flex;gap:14px;align-items:center;padding:14px;background:#F8FAFC;border-radius:12px}.preview-logo{width:76px;height:76px;object-fit:cover;border-radius:16px}.preview-banner{width:min(320px,70%);height:100px;object-fit:cover;border-radius:12px}.image-logo{object-fit:cover}.admin-override{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.admin-override>summary{font-weight:800;cursor:pointer}.customer-brand-showcase{max-width:1160px;margin:20px auto 0;padding:0 28px}.showcase-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.69rem;font-weight:800;letter-spacing:.1em;color:#008A59}.showcase-head a{letter-spacing:0;color:#007F55}.showcase-track{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.showcase-card{min-height:135px;border-radius:19px;padding:20px;background-color:#0b2b25;background-size:cover;background-position:center;color:white;display:flex;align-items:flex-end;gap:13px}.showcase-card img{width:62px;height:62px;object-fit:cover;border-radius:15px;background:white}.showcase-card>div{display:grid}.showcase-card small{color:#c2d7d0;margin-top:4px}
@media(max-width:760px){.showcase-track{grid-template-columns:1fr}.customer-brand-showcase{padding:0 18px}.brand-preview{flex-direction:column;align-items:flex-start}.preview-banner{width:100%}}
.directory-filter{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto}
@media(max-width:760px){.directory-filter{grid-template-columns:1fr}}
.role-switcher{position:relative}.role-switcher summary{list-style:none;cursor:pointer;background:#e5f7f1;color:#086d52;padding:9px 12px;border-radius:10px;font-size:.76rem;font-weight:800;white-space:nowrap}.role-switcher summary::-webkit-details-marker{display:none}.role-switcher summary span{margin-left:5px}.role-switcher>div{position:absolute;right:0;top:calc(100% + 7px);min-width:160px;background:white;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 18px 45px rgba(5,28,22,.16);display:grid;z-index:20}.role-switcher>div a{display:block!important;padding:10px 11px;border-radius:8px;font-size:.74rem}.role-switcher>div a:hover{background:#e8f8f2;color:#007A52}.customer-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:16px}.customer-main{display:flex;align-items:center;gap:13px;min-width:0}.customer-main>div{display:grid}.customer-main small{color:var(--muted);margin-top:3px}.view-button{background:#e8f8f2;color:#007A52;padding:9px 12px;border-radius:9px;font-size:.72rem;font-weight:800}.customer-record-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-bottom:25px}.customer-record-head>a{grid-column:1/-1;color:#007A52;font-weight:700;font-size:.78rem}.customer-record-head>div{display:flex;align-items:center;gap:15px}.customer-record-head h1{font-size:clamp(2.3rem,5vw,4rem);margin:0}.customer-record-head p{color:var(--muted);margin:6px 0}.customer-avatar.large{width:72px;height:72px;font-size:1.5rem}.record-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.record-kpis article{background:white;border:1px solid var(--line);border-radius:16px;padding:18px}.record-kpis small{display:block;font-size:.6rem;letter-spacing:.1em;color:var(--muted);font-weight:800}.record-kpis strong{display:block;font:800 1.8rem Manrope;margin:9px 0}.record-kpis span{color:var(--muted);font-size:.7rem}.customer-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted);font-size:.75rem}.detail-list dd{margin:0;text-align:right;font-weight:700;font-size:.78rem}
@media(max-width:760px){.role-switcher summary{padding:8px;font-size:0}.role-switcher summary:before{content:'⇄';font-size:1rem}.customer-list-row{grid-template-columns:1fr auto}.customer-list-row>strong{display:none}.view-button{grid-column:1/-1;text-align:center}.record-kpis{grid-template-columns:1fr 1fr}.customer-detail-grid{grid-template-columns:1fr}}
.membership-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:22px;align-items:stretch}.membership-card.live{max-width:760px;padding:30px;border-radius:24px}.membership-main{min-width:0;display:flex;flex-direction:column;justify-content:space-between}.membership-card .card-qr{background:#fff;border-radius:17px;padding:10px;display:grid;place-items:center;align-self:center;color:#09221d}.membership-card .card-qr img{width:120px;height:120px}.membership-card .card-qr small{font-size:.58rem;font-weight:800;letter-spacing:.12em}.tier-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tier-line b{color:var(--green);font-size:.78rem;letter-spacing:.1em}.tier-line span{color:#b5cdc5;font-size:.7rem}.tier-progress{max-width:760px;display:flex;justify-content:space-between;padding:10px 15px;background:#E8F7F1;color:#11664f;border-radius:0 0 13px 13px;font-size:.75rem}.wallet-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.wallet-actions a,.card-links a{background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:10px;font-size:.72rem;font-weight:800}.wallet-grid .membership-card{grid-template-columns:minmax(0,1fr) 92px}.wallet-grid .membership-card .card-qr img{width:70px;height:70px}.merchant-card.membership-card{padding:20px}.merchant-card .membership-main>a>small{display:block;margin:12px 0 4px;color:var(--muted);font-size:.62rem}.merchant-card .membership-main>a>strong{display:block;font:800 2rem Manrope;margin:12px 0}.merchant-card .membership-main>div{display:flex;gap:10px;justify-content:space-between;font-size:.7rem;color:var(--muted)}.merchant-card .card-links{justify-content:flex-start!important;margin-top:14px}.tier-rule-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tier-rule-preview span{padding:10px;border-radius:9px;background:#edf8f4;color:var(--muted);font-size:.72rem}.tier-rule-preview b{display:block;color:#007A52}.tier-policy-form{margin-top:18px}
@media(max-width:760px){.membership-card,.wallet-grid .membership-card{grid-template-columns:minmax(0,1fr) 92px}.membership-card.live{padding:20px}.membership-card .card-qr img{width:70px;height:70px}.membership-card .card-qr{padding:8px}.tier-rule-preview{grid-template-columns:1fr}.wallet-actions{flex-wrap:nowrap}}
.membership-card.tier-basic{background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.72),transparent 34%),linear-gradient(135deg,#dff4ff,#b8e4f7);color:#081B2C;border-color:#a9d8ec}.membership-card.tier-silver{background:linear-gradient(135deg,#e8edf0,#9ca8b1);color:#101820}.membership-card.tier-gold{background:linear-gradient(135deg,#f6dc78,#b88618);color:#241900}.membership-card.tier-platinum{background:radial-gradient(circle at 85% 10%,#363636,transparent 35%),linear-gradient(145deg,#161616,#020202);color:#fff}.membership-card.tier-basic small,.membership-card.tier-basic .card-bottom,.membership-card.tier-basic .tier-line span{color:#315f73}.membership-card.tier-basic .tier-line b,.membership-card.tier-basic .tier-name{color:#0b6687}.membership-card.tier-silver small,.membership-card.tier-silver .card-bottom,.membership-card.tier-gold small,.membership-card.tier-gold .card-bottom{color:inherit}.membership-card.tier-silver .tier-line b,.membership-card.tier-silver .tier-name{color:#f6f8fa}.membership-card.tier-gold .tier-line b,.membership-card.tier-gold .tier-name{color:#fff0ad}.membership-card.tier-platinum .tier-line b,.membership-card.tier-platinum .tier-name{color:#d8d8d8}.card-brand-logo{display:block;object-fit:contain;object-position:left center}.tunuku-logo{width:190px;height:52px}.merchant-card-logo{width:72px;height:56px;border-radius:10px;background:#fff;padding:5px}.card-member small{display:block;font-size:.58rem;letter-spacing:.12em;opacity:.75}.card-member strong{font:800 1.65rem Manrope;margin-top:4px;letter-spacing:-.03em}.merchant-card .card-member{margin-top:13px}.merchant-card .card-member h3{font-size:1rem;margin-top:4px}.member-code{display:block;margin-top:12px;font-size:.76rem;letter-spacing:.08em}.merchant-card .tier-name{display:block!important;font:800 .78rem Manrope!important;margin:11px 0 0!important;letter-spacing:.06em}.merchant-card.tier-basic .card-links a{background:rgba(255,255,255,.72);border-color:rgba(49,95,115,.22)}.merchant-card.tier-silver .card-links a,.merchant-card.tier-gold .card-links a{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.4)}
.wallet-preview .landing-basic-card{background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.72),transparent 34%),linear-gradient(135deg,#dff4ff,#b8e4f7);color:#081B2C;border-color:#a9d8ec;box-shadow:0 28px 55px rgba(73,139,166,.25)}.wallet-preview .landing-basic-card small,.wallet-preview .landing-basic-card .card-bottom{color:#315f73}.wallet-preview .landing-basic-card .card-top{color:#0b6687}
.card-balance small{display:block;font-size:.58rem;letter-spacing:.12em;opacity:.75}.card-balance strong{display:block;font:800 2.35rem Manrope;line-height:1;margin-top:4px}.card-balance.compact{margin-top:12px}.card-balance.compact strong{font-size:1.55rem}.scanner-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:20px}.camera-box{position:relative;min-height:300px;background:#081B2C;border-radius:16px;overflow:hidden;display:grid;place-items:center;color:#a9bbb5}.camera-box video{width:100%;height:100%;object-fit:cover;position:absolute}.camera-box>div{z-index:1}.scanner-actions{display:flex;gap:10px;margin-top:13px}.scanner-support{font-size:.75rem}.scan-result{margin-top:20px}.scan-result>header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.scan-result h2{margin:2px 0}.scan-result header p{margin:6px 0}@media(max-width:760px){.scanner-grid{grid-template-columns:1fr}.camera-box{min-height:240px}}
.tier-value-breakdown{max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:10px}.tier-value-breakdown span{display:grid;gap:4px;background:#fff;padding:11px 13px;color:var(--muted);font-size:.67rem}.tier-value-breakdown b{color:var(--ink);font-size:.72rem}@media(max-width:760px){.tier-value-breakdown{grid-template-columns:1fr}}
@media(max-width:760px){.topbar nav{gap:8px}.mobile-scan-link{padding:8px 10px!important;font-size:.68rem!important;white-space:nowrap}}
.scanner-actions{flex-wrap:wrap}.photo-scan{cursor:pointer}.photo-scan input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}@media(max-width:760px){.scanner-actions>*{flex:1 1 auto}.photo-scan{width:100%}}
.reward-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reward-settings-grid>section{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fafffd}.reward-settings-grid h2{font:700 1.2rem Manrope}.referral-kpis{margin-top:18px}@media(max-width:760px){.reward-settings-grid{grid-template-columns:1fr}}
/* Reward marketplace and branch map */
.merchant-customer-panel{margin-top:24px}.customer-search{display:grid;gap:7px;max-width:520px;margin:18px 0}.merchant-customer-table{overflow:auto}.merchant-customer-row{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(160px,1fr));gap:18px;align-items:center;padding:15px 8px;border-bottom:1px solid #e0e9e5}.merchant-customer-row>span{display:grid;gap:4px}.merchant-customer-row small{color:#718179}.merchant-customer-row.heading{font-size:12px;font-weight:800;letter-spacing:.08em;color:#718179;text-transform:uppercase}@media(max-width:760px){.merchant-customer-row{grid-template-columns:1fr 1fr}.merchant-customer-row.heading{display:none}}
.location-picker{display:grid;gap:12px;margin:8px 0 18px}.location-picker-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px}.location-picker-head>div{display:flex;gap:8px;flex-wrap:wrap}.location-picker-head>div:first-child{display:grid;gap:3px}.location-picker-head small{color:#6d7f77}.location-picker-map{height:360px;border:1px solid #bfd1c9;border-radius:18px;overflow:hidden;background:#e8efec}.location-picker .leaflet-control-attribution{font-size:10px}@media(max-width:760px){.location-picker-head{align-items:stretch;flex-direction:column}.location-picker-head>div:last-child .button{flex:1}.location-picker-map{height:320px}}
.merchant-banner{width:100%;height:260px;object-fit:cover;border-radius:28px;margin-bottom:28px}.reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.reward-card{border:1px solid #dce7e2;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}.reward-card>img{width:100%;height:160px;object-fit:cover;border-radius:14px}.reward-card form{display:grid;gap:10px;margin-top:auto}.map-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px}.map-layout #merchant-map{height:620px;border-radius:24px;overflow:hidden;border:1px solid #dce7e2}.map-result{display:grid;gap:3px;padding:14px 0;border-bottom:1px solid #e4ece8;color:inherit;text-decoration:none}.map-result strong{color:#0c9470}.image-logo{object-fit:contain;background:#fff}@media(max-width:760px){.map-layout{grid-template-columns:1fr}.map-layout #merchant-map{height:440px}.merchant-banner{height:170px}.reward-grid{grid-template-columns:1fr}}

/* Phone-only application layout. */
.redemption-conversion{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:18px;border-radius:14px;background:#071f24;color:#fff}.redemption-conversion span{color:#a8beb7;font-size:.75rem}.redemption-conversion strong{text-align:right}.redemption-conversion strong:last-child{color:#45deb1;font-size:1.2rem}
@media(max-width:600px){
html,body{max-width:100%;overflow-x:hidden}body{padding-bottom:env(safe-area-inset-bottom)}input,select,textarea,button{font-size:16px}button,.button,.scan{min-height:44px;touch-action:manipulation}
.topbar{position:sticky;top:0;width:100%;height:auto;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:rgba(244,247,245,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(203,214,209,.75);z-index:100;gap:8px}.topbar .brand{gap:7px;min-width:0;font-size:.68rem;letter-spacing:.06em}.topbar .brand-mark{width:34px;height:34px;flex:none}.topbar nav{gap:5px;min-width:0}.topbar nav form .link{padding:8px 4px;font-size:.75rem;white-space:nowrap}.mobile-scan-link{min-height:40px!important;padding:8px 9px!important}.role-switcher{flex:none}.role-switcher summary{min-height:40px;display:grid;place-items:center}
main{min-width:0}.dashboard,.merchant-profile,.admin-shell,.directory-hero{padding-left:14px!important;padding-right:14px!important}.dashboard{padding-top:28px;padding-bottom:60px}.dashboard h1,.merchant-profile h1,.directory-hero h1{font-size:clamp(2.15rem,12vw,3rem)!important;overflow-wrap:anywhere}.dash-head{display:grid;grid-template-columns:1fr;margin-bottom:24px}.dash-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.dash-actions>*{width:100%}
.panel{padding:18px 15px;border-radius:17px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-grid article{padding:15px 12px;min-width:0}.metric-grid strong{font-size:1.6rem}.metric-grid small{font-size:.56rem}.two-col,.ops-grid,.profile-grid,.record-grid,.directory-grid,.wallet-grid,.reward-grid{gap:12px}
.field-row{grid-template-columns:1fr;gap:12px}.form{gap:14px}.form input,.form select,.form textarea,.admin-filter input,.admin-filter select{min-height:48px;padding:12px}.form textarea{min-height:100px}.button{width:100%;padding:12px 15px}.button.small{width:auto}.section-title{margin-top:32px;gap:4px}.section-title h2{margin-bottom:4px}.activity{align-items:flex-start}.activity>strong{white-space:nowrap}.rank-row{gap:8px}.record summary{align-items:flex-start}.record summary>div{min-width:0}.record summary b,.record summary small{overflow-wrap:anywhere}
.membership-card.live,.wallet-grid .membership-card{grid-template-columns:minmax(0,1fr) 76px;padding:16px;gap:10px;min-height:250px}.membership-card .card-qr img,.wallet-grid .membership-card .card-qr img{width:58px;height:58px}.membership-card .card-qr{padding:6px;border-radius:11px}.tunuku-logo{width:145px;height:43px}.card-member strong{font-size:1.25rem}.card-balance strong{font-size:1.9rem}.tier-progress{font-size:.68rem;padding:9px 10px}.wallet-actions{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.wallet-actions a{display:grid;place-items:center;text-align:center;min-height:44px}
.featured-strip{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.featured-strip>a{min-width:82%;scroll-snap-align:start}.directory-card{min-width:0}.directory-filter{gap:9px}.profile-head{gap:15px}.merchant-banner{height:145px;border-radius:18px}.reward-card{padding:14px}.reward-card>img{height:145px}
.scanner-grid{gap:12px}.camera-box{min-height:260px}.scanner-actions{display:grid;grid-template-columns:1fr 1fr}.scanner-actions>*{width:100%}.photo-scan{grid-column:1/-1}.map-layout #merchant-map{height:55vh;min-height:330px}.location-picker-map{height:48vh;min-height:300px}.leaflet-control-attribution{max-width:75%;white-space:normal}
.merchant-customer-row{grid-template-columns:1fr!important;gap:9px;padding:16px 4px}.merchant-customer-row>span{padding-bottom:6px}.merchant-customer-row>span+span{border-top:1px dashed #e1e9e5;padding-top:7px}.merchant-customer-table{overflow:visible}
.admin-nav{top:calc(64px + env(safe-area-inset-top));margin-left:-14px;margin-right:-14px;border-radius:0;padding:7px;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.admin-record{padding:14px}.admin-table{min-width:660px}.table-wrap{margin-left:-15px;margin-right:-15px;padding:0 15px}.record-kpis,.liability{grid-template-columns:1fr 1fr;gap:8px}footer{padding:30px 18px calc(30px + env(safe-area-inset-bottom));gap:9px}
}
@media(max-width:360px){.topbar .brand>span:last-child{display:none}.metric-grid{grid-template-columns:1fr}.dash-actions{grid-template-columns:1fr}.membership-card.live,.wallet-grid .membership-card{grid-template-columns:1fr}.membership-card .card-qr{justify-self:start}.wallet-actions{grid-template-columns:1fr}}
@media(max-width:760px){.topbar nav>.guest-login{display:inline-flex!important;align-items:center;justify-content:center;padding:9px 11px;border:1px solid #b9c9c2;border-radius:10px;background:#fff;font-size:.76rem;line-height:1;white-space:nowrap}.topbar nav>.guest-join{padding:10px 12px;font-size:.76rem;line-height:1;white-space:nowrap}.topbar:has(.guest-login) .brand{margin-right:auto}.topbar:has(.guest-login) nav{flex:none}}
@media(max-width:390px){.topbar:has(.guest-login){padding-left:9px;padding-right:9px}.topbar:has(.guest-login) .brand>span:last-child{font-size:.6rem}.topbar:has(.guest-login) .brand-mark{width:32px;height:32px}.topbar nav>.guest-login,.topbar nav>.guest-join{padding:9px 9px;font-size:.7rem}}
.merchant-readiness{margin-bottom:22px}.merchant-readiness .section-title{margin-top:0}.readiness-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.readiness-item{display:grid;gap:7px;padding:16px;border-radius:14px;border:1px solid var(--line)}.readiness-item small{color:var(--muted);line-height:1.45}.readiness-item.done{background:#e8faf4;border-color:#bdebdc}.readiness-item.waiting{background:#fff8e9;border-color:#f0dcae}.readiness-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:760px){.readiness-grid{grid-template-columns:1fr}.readiness-actions .button{flex:1 1 150px}}
.storefront-editor{display:grid;gap:17px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#f8fcfa}.storefront-editor .section-title{margin:0;align-items:start}.storefront-editor h3{margin:4px 0;font:700 1.25rem Manrope}.choice-fieldset{border:1px solid var(--line);border-radius:13px;padding:15px}.choice-fieldset legend{padding:0 7px;font-size:.8rem;font-weight:800}.choice-grid{display:flex;gap:16px;flex-wrap:wrap}.choice-grid label{display:flex!important;align-items:center;gap:7px}.choice-grid input{width:auto!important}.storefront-headline{font:700 1.3rem/1.35 Manrope;margin:0 0 8px}.storefront-actions,.storefront-socials,.storefront-service-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.storefront-actions a,.storefront-socials a{padding:9px 13px;border-radius:10px;background:#081B2C;color:#fff;font-size:.75rem;font-weight:800}.storefront-about{margin-bottom:20px}.storefront-about>.section-title{margin-top:0}.storefront-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.storefront-detail-grid>div{padding:17px;border-radius:14px;background:#f4f9f7}.storefront-detail-grid small{display:block;color:#008A59;font-size:.62rem;letter-spacing:.1em;font-weight:800;margin-bottom:7px}.storefront-detail-grid p{margin:0;color:var(--muted);line-height:1.55}.storefront-service-tags span{padding:7px 10px;border-radius:30px;background:#E8F7F1;color:#007A52;font-size:.7rem;font-weight:800}.storefront-delivery{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.storefront-delivery p{margin:7px 0;color:var(--muted)}
@media(max-width:600px){.storefront-editor{padding:16px 13px}.storefront-detail-grid{grid-template-columns:1fr}.storefront-actions a{flex:1;text-align:center;min-width:44%}.storefront-socials{margin-top:8px}.storefront-about>.section-title{align-items:flex-start}.choice-grid{display:grid;grid-template-columns:1fr}}

/* Tunuku Rewards brand assets. */
.brand-icon{display:block;width:38px;height:38px;object-fit:contain;flex:none}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:52px;align-items:center}
.hero:after{display:none}
.hero>*{max-width:none}
.hero-copy{grid-column:1;grid-row:1;max-width:650px}
.hero-copy>p{font-size:1.17rem;line-height:1.65;color:var(--muted);max-width:590px}
.hero-brand-banner{display:block;grid-column:2;grid-row:1;width:100%;filter:drop-shadow(0 24px 45px rgba(4,26,22,.2))}
.hero-brand-banner img{display:block;width:100%;height:auto}
.preview-logo-shell,.card-brand-shell{display:grid;place-items:center;background:transparent;border-radius:0;padding:0;box-shadow:none}
.preview-logo-shell{width:104px;height:88px}
.preview-complete-logo{display:block;width:88px;height:76px;object-fit:contain}
.card-brand-shell{width:126px;height:112px}
.tunuku-logo{width:108px;height:96px;object-position:center}
.membership-card.live{min-height:355px}

@media(max-width:900px){
.hero{display:block;padding-top:34px}.hero-brand-banner{width:min(100%,620px);margin:0 auto 38px}.hero-copy{max-width:670px}.hero-copy>p{font-size:1.08rem}.preview-logo-shell{width:92px;height:78px}.preview-complete-logo{width:77px;height:67px}
}
@media(max-width:600px){
.topbar .brand-icon{width:34px;height:34px}.card-brand-shell{width:98px;height:86px;padding:6px}.tunuku-logo{width:84px;height:74px}.membership-card.live{min-height:320px}.hero-brand-banner{margin-bottom:30px}
}
@media(max-width:390px){.topbar .brand-icon{width:32px;height:32px}}

/* Customer qualifying-points and tier status. */
.tier-progress-link{transition:transform .18s ease,box-shadow .18s ease}
.tier-progress-link:hover,.tier-progress-link:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(4,26,22,.12);outline:none}
.tier-status-page{max-width:1180px}
.tier-status-summary{display:grid;grid-template-columns:1fr auto;gap:26px;padding:30px;border-radius:24px;background:linear-gradient(145deg,#102A43,#081B2C);color:#fff;box-shadow:var(--shadow)}
.tier-status-summary.tier-silver{background:linear-gradient(135deg,#e8edf0,#9ca8b1);color:#101820}.tier-status-summary.tier-gold{background:linear-gradient(135deg,#f6dc78,#b88618);color:#241900}.tier-status-summary.tier-platinum{background:radial-gradient(circle at 85% 10%,#363636,transparent 35%),linear-gradient(145deg,#161616,#020202);color:#fff}
.tier-status-summary small{font-size:.65rem;letter-spacing:.12em;font-weight:800;opacity:.76}.tier-status-summary h2{font:800 2rem Manrope;margin:7px 0}.tier-status-summary p{margin:0;opacity:.76}.tier-status-balance{display:grid;align-content:center;text-align:right}.tier-status-balance strong{font:800 1.7rem Manrope;margin-top:7px}
.tier-progress-detail{grid-column:1/-1;display:grid;gap:9px}.tier-progress-detail>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:.8rem}.tier-progress-detail.compact{margin-top:22px}.tier-progress-track{height:9px;border-radius:20px;background:rgba(255,255,255,.28);overflow:hidden}.tier-progress-track i{display:block;height:100%;border-radius:inherit;background:#00A86B}.tier-status-summary.tier-gold .tier-progress-track i,.tier-status-summary.tier-silver .tier-progress-track i{background:#081B2C}
.tier-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.tier-benefit{min-height:220px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:16px}.tier-benefit.current{outline:3px solid #00A86B;outline-offset:2px}.tier-benefit h3{font:800 1.45rem Manrope;margin:5px 0}.tier-benefit>strong{font:800 1rem Manrope}.tier-benefit p{margin:auto 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}.tier-benefit.tier-silver{background:linear-gradient(145deg,#f4f6f7,#d3d9dd)}.tier-benefit.tier-gold{background:linear-gradient(145deg,#fff8d8,#e8c45e)}.tier-benefit.tier-platinum{background:linear-gradient(145deg,#242424,#050505);color:#fff}.tier-benefit.tier-platinum p{color:#bfc7c4}
.tier-explainer{margin-top:22px}.tier-explainer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.tier-explainer-grid>div{border-top:1px solid var(--line);padding-top:13px}.tier-explainer-grid p{color:var(--muted);font-size:.8rem;line-height:1.5;margin-bottom:0}
.merchant-tier-status{margin-bottom:16px;scroll-margin-top:100px}.merchant-tier-status>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.merchant-tier-status>header>div:last-child{display:grid;text-align:right}.merchant-tier-status>header>div:last-child strong{font:800 1.5rem Manrope}.merchant-tier-status>header>div:last-child small{color:var(--muted)}.merchant-tier-identity{display:flex;align-items:center;gap:13px}.merchant-tier-identity img,.merchant-tier-identity>span{width:52px;height:52px;border-radius:14px;object-fit:contain;background:#edf8f4;padding:5px}.merchant-tier-identity>span{display:grid;place-items:center;font-weight:800;color:#007A52}.merchant-tier-identity small{color:#008A59;font-size:.62rem;font-weight:800;letter-spacing:.1em}.merchant-tier-identity h3{margin:4px 0 0}.merchant-tier-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}.merchant-tier-levels>div{display:grid;gap:5px;padding:13px;border-radius:12px;background:#f3f8f6}.merchant-tier-levels>div.current{background:#E8F7F1;box-shadow:inset 0 0 0 2px #00A86B}.merchant-tier-levels span,.merchant-tier-levels small{font-size:.7rem;color:var(--muted)}

/* Let the QR artwork occupy its card box; the SVG retains its scan-safe quiet zone. */
.membership-card .card-qr{width:140px;aspect-ratio:1;padding:0;overflow:hidden}
.membership-card .card-qr img,.wallet-grid .membership-card .card-qr img{display:block;width:100%;height:100%}
.wallet-grid .membership-card .card-qr{width:82px}

@media(max-width:760px){
.tier-status-summary{grid-template-columns:1fr;padding:21px}.tier-status-balance{text-align:left}.tier-benefit-grid,.tier-explainer-grid{grid-template-columns:1fr 1fr}.merchant-tier-levels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.merchant-tier-levels>div{min-width:72%;scroll-snap-align:start}.membership-card .card-qr,.wallet-grid .membership-card .card-qr{width:72px}.tier-status-page .section-title{align-items:flex-start}
}
@media(max-width:480px){.tier-benefit-grid,.tier-explainer-grid{grid-template-columns:1fr}.merchant-tier-status>header{align-items:flex-start}.merchant-tier-status>header>div:last-child strong{font-size:1.15rem}.tier-progress-detail>div:first-child{font-size:.7rem}}

/* Admin SMS campaign manager. */
.campaign-warning{margin-bottom:22px}.campaign-create>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.campaign-create>summary::-webkit-details-marker{display:none}.campaign-create>summary>div{display:grid;gap:4px}.campaign-create>summary small{color:var(--muted)}.campaign-create[open]>summary{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}.campaign-fields{border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;gap:14px}.campaign-fields legend{padding:0 8px;font-size:.72rem;letter-spacing:.09em;font-weight:800}.campaign-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.campaign-tokens{display:flex;gap:7px;flex-wrap:wrap}.campaign-tokens button{border:1px solid #bad0c7;background:#f2fbf7;color:#007A52;border-radius:20px;padding:6px 9px;font-size:.68rem;font-weight:800;cursor:pointer}.campaign-preview{padding:17px;border-radius:14px;background:#071f24;color:white}.campaign-preview small{color:#8fb0a6;font-size:.67rem;letter-spacing:.08em}.campaign-preview p{margin:9px 0 0;line-height:1.55}.campaign-preview.stored{margin:18px 0}.campaign-summary-numbers{display:flex!important;gap:16px!important;flex:none!important}.campaign-summary-numbers span{display:grid;text-align:right}.campaign-summary-numbers small{margin:0!important}.campaign-delivery-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.campaign-delivery-grid>div{display:grid;gap:5px;padding:12px;background:#f4f9f7;border-radius:10px}.campaign-delivery-grid small,.campaign-meta small{font-size:.58rem;color:var(--muted);letter-spacing:.08em}.campaign-delivery-grid b{font:800 1.15rem Manrope}.campaign-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.campaign-meta span{display:grid;gap:5px}.campaign-meta b{font-size:.78rem}.campaign-edit{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.campaign-edit>summary{cursor:pointer;font-weight:800;color:#007A52;margin-bottom:17px}.campaign-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.campaign-actions form{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:13px}.campaign-actions label{display:grid;gap:6px;font-size:.72rem;font-weight:800}.campaign-actions input{width:100%;padding:10px;border:1px solid #cbd6d1;border-radius:9px;background:#fafffd}.pill.draft{background:#e6eef4;color:#3c6075}.pill.scheduled{background:#e7e1ff;color:#59419a}.pill.running{background:#E8F7F1;color:#007A52}.pill.cancelled,.pill.failed{background:#ffe2de;color:#8a3023}
@media(max-width:760px){.campaign-filter-grid,.campaign-meta{grid-template-columns:1fr 1fr}.campaign-delivery-grid{grid-template-columns:repeat(2,1fr)}.campaign-actions{grid-template-columns:1fr}.campaign-record>summary{flex-wrap:wrap}.campaign-summary-numbers{order:3;width:100%;justify-content:flex-start}.campaign-summary-numbers span{text-align:left}.campaign-create{padding:18px 14px}}
@media(max-width:430px){.campaign-filter-grid,.campaign-meta{grid-template-columns:1fr}.campaign-summary{grid-template-columns:1fr 1fr}}

/* Official Tunuku Rewards logo sizing and responsive logo system. */
.brand-logo-full{display:block;width:158px;height:52px;object-fit:contain;object-position:left center;flex:none}
.topbar .brand-icon{display:none}
.preview-logo-shell{width:202px;height:68px;justify-items:start}
.preview-complete-logo{width:190px;height:62px;object-position:left center}
.card-brand-shell{width:220px;height:72px;justify-items:start}
.tunuku-logo{width:210px;height:68px;object-position:left center}
.hero-brand-banner{filter:none}
@media(max-width:600px){
  .topbar{background:rgba(248,250,252,.97)}
  .preview-logo-shell{width:170px;height:58px}.preview-complete-logo{width:164px;height:54px}
  .card-brand-shell{width:162px;height:55px;padding:0}.tunuku-logo{width:158px;height:52px}
}
@media(max-width:520px){
  .topbar .brand-logo-full{display:none}.topbar .brand-icon{display:block;width:38px;height:38px}
}
