/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.app-version{z-index:35;right:10px;bottom:max(8px,env(safe-area-inset-bottom));color:#dce8e1;letter-spacing:.6px;pointer-events:none;-webkit-user-select:none;user-select:none;background:#102921d9;border:1px solid #ffffff24;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800;line-height:1;position:fixed;box-shadow:0 4px 14px #071a1426}.public-shell{background:#fffdf8;min-height:100vh}.public-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(18px,6vw,86px);display:flex}.public-header>a{color:var(--ink);font-weight:850;text-decoration:none}.public-header nav{align-items:center;gap:14px;display:flex}.public-header nav a,.partner-link{color:var(--ink);font-size:12px;font-weight:800}.public-header button{background:0 0;border:0;font-size:12px;font-weight:800}.public-hero,.wallet-live{max-width:960px;margin:auto;padding:clamp(55px,10vw,120px) 24px}.public-hero h1,.wallet-live h1{letter-spacing:-2px;margin:12px 0 22px;font:500 clamp(48px,8vw,82px)/.93 Georgia,serif}.public-hero>p:not(.eyebrow){max-width:570px;color:var(--muted);line-height:1.65}.auth-switch{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:1fr 1fr;max-width:730px;margin-top:38px;display:grid;overflow:hidden}.auth-switch form{gap:10px;padding:25px;display:grid}.auth-switch form+form{border-left:1px solid var(--line);background:#edf2e9}.auth-switch h2{margin:0;font:500 26px Georgia,serif}.auth-switch p{color:var(--muted);font-size:12px;line-height:1.5}.auth-switch input,.live-form input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:10px}.auth-switch button{background:var(--ink);color:#fff;border:0;border-radius:8px;padding:11px;font-weight:800}.public-notice{color:#4d4020;background:#fff1ca;border-radius:10px;margin:18px 0;padding:12px 14px;font-size:13px;line-height:1.45}.empty-state,.live-card,.reward-list{background:#e3eee1;border-radius:18px;max-width:720px;padding:24px}.empty-state h2,.reward-list h2{margin:0 0 9px;font:500 28px Georgia,serif}.empty-state p{color:#526159;line-height:1.55}.live-cards{gap:14px;max-width:720px;display:grid}.live-card span{font-size:28px}.live-card small{letter-spacing:1.2px;margin-top:13px;font-size:10px;font-weight:850;display:block}.live-card h2{margin:5px 0;font:500 28px Georgia,serif}.live-card strong{font-size:28px}.live-card p{color:#4a5a4f;font-size:12px}.reward-list{background:#f9d2c4;margin-top:24px}.reward-list article{border-top:1px solid #d7a99b;justify-content:space-between;padding:12px 0;font-weight:800;display:flex}.reward-list small{color:#71594e;font-weight:500}.live-form{max-width:720px;margin-top:24px}.live-form form{gap:14px;margin-top:18px;display:grid}.live-form label{gap:7px;font-size:12px;font-weight:800;display:grid}.empty-inline{color:var(--muted);padding:22px}.auth-shell{background:#fff8ef;place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{background:#fff;border:1px solid #eadfce;width:min(100%,480px);padding:48px;box-shadow:0 18px 50px #3e2a141a}.auth-brand{color:#152419;margin-bottom:54px;font-weight:800;text-decoration:none;display:inline-block}.auth-card h1{color:#18251b;margin:12px 0 20px;font-size:clamp(2.3rem,7vw,4.1rem);line-height:.98}.auth-copy{color:#5a625c;margin-bottom:28px;line-height:1.6}.auth-card form{gap:17px;display:grid}.auth-card label{color:#334138;gap:7px;font-size:.84rem;font-weight:800;display:grid}.auth-card input{font:inherit;border:1px solid #cbd2c9;border-radius:5px;padding:13px}.auth-card button{color:#fff;font:inherit;cursor:pointer;background:#17251b;border:0;border-radius:5px;padding:14px;font-weight:800}.auth-card button:disabled{opacity:.6}.auth-card .secondary-auth-button{color:#17251b;background:#e9eee8;margin-top:10px;display:block}.auth-message{color:#34493b;margin:22px 0 0;line-height:1.45}.auth-admin-link{color:#254e30;margin-top:14px;font-weight:800;display:inline-block}.platform-shell{background:#f5f1e8;min-height:100vh}.platform-header{border-bottom:1px solid var(--line);background:#fffefa;align-items:center;gap:20px;height:70px;padding:0 clamp(16px,5vw,80px);display:flex}.platform-header>a{color:var(--ink);letter-spacing:.4px;font-weight:900;text-decoration:none}.platform-header nav{gap:3px;margin:auto;display:flex}.platform-header nav a{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800;text-decoration:none}.platform-header nav .active{color:var(--ink);background:#e6eee6}.platform-header>button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:800}.platform-main{max-width:1100px;margin:auto;padding:58px 25px}.platform-intro{justify-content:space-between;align-items:flex-end;gap:25px;display:flex}.platform-intro h1{margin:12px 0;font-family:Georgia,serif;font-size:clamp(42px,6vw,68px);font-weight:500;line-height:.94}.platform-intro p:not(.eyebrow){max-width:500px;color:var(--muted);font-size:14px;line-height:1.6}.create-tenant{background:var(--orange);color:#fff;white-space:nowrap;border:0;border-radius:10px;padding:13px 15px;font-size:12px;font-weight:850}.platform-stats{grid-template-columns:repeat(3,1fr);gap:13px;margin:42px 0 25px;display:grid}.platform-stats article{background:#e2ede0;border-radius:15px;flex-direction:column;padding:19px;display:flex}.platform-stats article:nth-child(2){background:#f9d6c9}.platform-stats span,.tenant-list header span{letter-spacing:1.3px;font-size:9px;font-weight:850}.platform-stats strong{margin:8px 0;font:500 38px Georgia,serif}.platform-stats small{color:var(--muted);font-size:11px}.tenant-list{border:1px solid var(--line);background:#fffefa;border-radius:18px;overflow:hidden}.tenant-list header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px;display:flex}.tenant-list h2{margin:4px 0 0;font:500 27px Georgia,serif}.tenant-list input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 11px;font-size:12px}.tenant-list article{border-bottom:1px solid #ece9e0;grid-template-columns:42px 1.7fr .7fr .5fr .7fr auto;align-items:center;gap:15px;padding:16px 22px;font-size:12px;display:grid}.tenant-list article:last-child{border:0}.tenant-mark{background:#dcebdd;border-radius:11px;place-items:center;width:35px;height:35px;font-weight:850;display:grid}.tenant-name{flex-direction:column;gap:3px;display:flex}.tenant-name small{color:var(--muted);font-size:10px}.status{border-radius:20px;width:max-content;padding:5px 8px;font-size:10px;font-weight:800}.status.trial{background:#fff0c8}.status.active{color:#357148;background:#dceede}.status.suspended{color:#9a4640;background:#f4d5d1}.tenant-list article>button,.campaign-row button,.admin-actions button{color:var(--ink);background:#edf0e9;border:0;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800}.campaign-row{margin:40px 0 18px}.campaign-row article{background:#d9ebda;border-radius:17px;align-items:center;gap:14px;padding:22px;display:flex}.campaign-icon{font-size:31px}.campaign-row article>div{flex:1}.campaign-row small{letter-spacing:1.3px;font-size:9px;font-weight:850}.campaign-row h2{margin:5px 0;font:500 28px Georgia,serif}.campaign-row p{color:var(--muted);margin:0;font-size:12px}.admin-actions{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.admin-actions article{border:1px solid var(--line);background:#fffefa;border-radius:15px;padding:20px}.admin-actions article>span{font-size:25px}.admin-actions h2{margin:13px 0 7px;font:500 25px Georgia,serif}.admin-actions p{color:var(--muted);min-height:36px;font-size:12px;line-height:1.45}.admin-actions button{margin-top:8px}@media (width<=760px){.platform-header{flex-wrap:wrap;height:auto;padding:10px}.platform-header nav{order:3;width:100%;margin:0}.platform-main{padding:38px 15px}.platform-intro{flex-direction:column;align-items:flex-start}.platform-stats,.admin-actions{grid-template-columns:1fr}.tenant-list header{flex-direction:column;align-items:flex-start;gap:12px}.tenant-list article{grid-template-columns:35px 1fr auto}.tenant-list article>span:not(.status),.tenant-list article>button{display:none}.campaign-row article{flex-wrap:wrap;align-items:flex-start}.campaign-row .toggle{margin-left:auto}}.favorite{color:var(--muted);background:0 0;border:0;margin-left:auto;margin-right:10px;font-size:11px;font-weight:800}.favorite.on{color:#bd4e4a}.wallet-tools{background:#edf2e9;border-radius:17px;margin-top:28px;padding:20px}.wallet-tools>div:first-child{flex-direction:column;gap:5px;display:flex}.wallet-tools span{letter-spacing:1.3px;color:#547764;font-size:10px;font-weight:850}.wallet-tools h2{margin:0;font-family:Georgia,serif;font-size:25px;font-weight:500}.wallet-tools p{max-width:500px;margin:0;font-size:12px;line-height:1.5}.tool-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tool-button{color:var(--ink);background:#fffdf8;border:1px solid #b7c8b8;border-radius:9px;padding:9px 11px;font-size:11px;font-weight:800}.tool-button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.wallet-tools>small{color:var(--muted);margin-top:14px;font-size:10px;line-height:1.45;display:block}:root{--ink:#15352b;--dark:#102921;--paper:#fffdf8;--sand:#f3efe5;--orange:#f07151;--mint:#d6ebd4;--line:#d8d7ce;--muted:#68756e}*{box-sizing:border-box}body{background:var(--sand);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.product-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--line);background:#fffefa;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(16px,4vw,60px);display:flex}.product-name{letter-spacing:.6px;align-items:center;gap:8px;font-size:13px;font-weight:850;display:flex}.product-name i{color:var(--orange);font-size:24px;font-style:normal}.product-name small{color:var(--muted);border-left:1px solid var(--line);padding-left:8px;font-size:10px;font-weight:650}.app-header nav{background:#ece9e0;border-radius:11px;padding:4px;display:flex}.app-header nav button{color:#57645c;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700}.app-header nav .active{color:var(--ink);background:#fff;box-shadow:0 1px 7px #0001}.demo-chip{color:#3e6d55;background:#e0eee0;border-radius:20px;padding:6px 9px;font-size:11px;font-weight:800}.app-notice{z-index:20;background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:14px;padding:12px 15px;font-size:13px;display:flex;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #0003}.app-notice button{color:#fff;background:0 0;border:0;font-size:18px}.wallet-view{background:var(--paper);min-height:calc(100vh - 72px)}.wallet-hero{background:var(--dark);color:#fff;min-height:260px;padding:48px max(7vw,50vw - 450px);position:relative;overflow:hidden}.wallet-hero:after{content:"";border:75px solid #25483b;border-radius:50%;width:330px;height:330px;position:absolute;top:-120px;right:9%}.wallet-hero p,.eyebrow{letter-spacing:1.8px;color:#aed0ba;margin:0;font-size:10px;font-weight:850}.wallet-hero h1{letter-spacing:-2px;margin:14px 0;font-family:Georgia,serif;font-size:clamp(42px,6vw,65px);font-weight:500;line-height:.94}.wallet-hero span{color:#bad0c3;z-index:1;font-size:13px;position:relative}.wallet-body{max-width:760px;margin:-26px auto 0;padding:0 20px 70px;position:relative}.welcome-card{background:#f9c7b6;border-radius:18px;grid-template-columns:1fr auto;gap:10px;padding:22px;display:grid;box-shadow:0 12px 30px #4e2c1b18}.pill{letter-spacing:1.3px;background:#fff7;border-radius:16px;padding:5px 8px;font-size:9px;font-weight:850}.welcome-card h2{margin:10px 0 6px;font-family:Georgia,serif;font-size:24px;font-weight:500}.welcome-card p{max-width:430px;font-size:12px;line-height:1.5}.welcome-card strong{text-align:right;align-self:center;font-family:Georgia,serif;font-size:25px}.welcome-card button{background:var(--ink);color:#fff;border:0;border-radius:9px;grid-column:2;padding:10px 13px;font-size:12px;font-weight:800}.section-head{justify-content:space-between;align-items:end;margin:40px 0 15px;display:flex}.section-head span,.history>span{letter-spacing:1.5px;color:var(--orange);font-size:10px;font-weight:850}.section-head h2{margin:5px 0 0;font-family:Georgia,serif;font-size:29px;font-weight:500}.section-head>b{background:#e4ece5;border-radius:20px;padding:7px 10px;font-size:12px}.stamp-card{background:#d3e8d4;border-radius:20px;padding:24px}.stamp-card-top{align-items:center;gap:13px;display:flex}.stamp-card-top>span{background:#fff8;border-radius:14px;place-items:center;width:45px;height:45px;font-size:24px;display:grid}.stamp-card-top div{flex-direction:column;display:flex}.stamp-card-top small{letter-spacing:1.3px;font-size:9px}.stamp-card-top strong{font-family:Georgia,serif;font-size:22px;font-weight:500}.stamp-grid{flex-wrap:wrap;gap:8px;margin:24px 0 17px;display:flex}.stamp-grid i{border:1px solid #35654e66;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-style:normal;font-weight:800;display:grid}.stamp-grid .filled{background:var(--ink);color:#fff;border-color:var(--ink);font-size:18px}.progress{background:#fff9;border-radius:8px;height:4px;overflow:hidden}.progress i{background:var(--ink);height:100%;display:block}.stamp-card p{margin:15px 0 0;font-size:12px}.scan-cta,.issue-button{background:var(--orange);color:#fff;border:0;border-radius:12px;width:100%;margin-top:16px;padding:15px;font-size:14px;font-weight:850}.scan-cta span{margin-right:9px;font-size:20px}.history{margin-top:38px}.history article{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;margin-top:12px;padding:14px;display:flex}.history article>b{color:#267148;background:#dcefe0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.history article div{flex-direction:column;flex:1;font-size:13px;display:flex}.history small{color:var(--muted);margin-top:3px;font-size:11px}.history em{font-style:normal}.staff-view{grid-template-columns:1.3fr .7fr;min-height:calc(100vh - 72px);display:grid}.staff-panel{background:#fffdf8;padding:clamp(35px,7vw,90px)}.staff-panel h1{margin:14px 0;font-family:Georgia,serif;font-size:clamp(42px,6vw,66px);font-weight:500;line-height:.98}.staff-panel h1 i{color:var(--orange);font-weight:400}.subtle{color:var(--muted);max-width:500px;font-size:14px;line-height:1.6}.campaign-choice{border:1px solid var(--line);border-radius:15px;align-items:center;gap:13px;max-width:550px;margin:35px 0 15px;padding:17px;display:flex}.campaign-choice>span{font-size:26px}.campaign-choice div{flex-direction:column;flex:1;display:flex}.campaign-choice small{letter-spacing:1.3px;font-size:9px}.campaign-choice strong{font-family:Georgia,serif;font-size:20px;font-weight:500}.campaign-choice em{color:var(--muted);font-size:11px;font-style:normal}.campaign-choice button{background:#edf0e9;border:0;border-radius:8px;padding:8px;font-size:11px;font-weight:700}.student-rule{background:#fff2ce;border-radius:10px;max-width:550px;padding:12px;font-size:12px;line-height:1.4}.issue-button{text-align:left;justify-content:space-between;max-width:550px;padding:17px 20px;display:flex}.issue-button span{font-size:20px}.staff-aside{background:var(--dark);color:#fff;flex-direction:column;justify-content:center;padding:clamp(35px,7vw,80px) 40px;display:flex}.staff-aside>span,.qr-live>span{letter-spacing:1.5px;color:#a6d9b0;font-size:10px;font-weight:850}.staff-aside h2{margin:14px 0;font-family:Georgia,serif;font-size:35px;font-weight:500;line-height:1}.staff-aside p{color:#b7c8bf;font-size:14px;line-height:1.6}.staff-aside dl{gap:20px;margin-top:30px;display:flex}.staff-aside dl div{border-top:1px solid #557264;padding-top:10px}.staff-aside dt{font-family:Georgia,serif;font-size:29px}.staff-aside dd{color:#b7c8bf;margin:0;font-size:10px}.qr-live{text-align:center;background:#e0eee0;border-radius:15px;max-width:550px;margin-top:20px;padding:25px}.fake-qr{background:#fff;grid-template-columns:repeat(11,1fr);gap:2px;width:170px;height:170px;margin:16px auto;padding:12px;display:grid}.fake-qr i.ink{background:var(--ink)}.qr-live h2{margin:8px;font-family:Georgia,serif;font-weight:500}.qr-live p{color:#4c5c54;font-size:12px;line-height:1.5}.qr-live button{background:var(--ink);color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:800}.admin-view{max-width:1100px;margin:auto;padding:55px 25px}.admin-view>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-view h1{margin:8px 0;font-family:Georgia,serif;font-size:42px;font-weight:500}.admin-view header p:not(.eyebrow){color:var(--muted)}.toggle{align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.toggle input{display:none}.toggle span{background:#a7afa9;border-radius:20px;width:40px;height:23px;position:relative}.toggle span:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;position:absolute;top:3px;left:3px}.toggle input:checked+span{background:#43845a}.toggle input:checked+span:after{left:20px}.admin-grid{grid-template-columns:1.3fr .7fr;gap:18px;margin-top:30px;display:grid}.form-card,.preview-card{border:1px solid var(--line);background:#fffefa;border-radius:17px;padding:25px}.form-card h2{margin:0;font-family:Georgia,serif;font-size:29px;font-weight:500}.form-card>p{color:var(--muted);font-size:12px;line-height:1.5}.form-card fieldset{border:0;margin:25px 0 17px;padding:0}.form-card legend{margin-bottom:8px;font-size:11px;font-weight:800}.segmented{background:#eeece4;border-radius:10px;width:max-content;padding:4px;display:flex}.segmented button{background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:12px}.segmented .selected{background:#fff;font-weight:800;box-shadow:0 1px 4px #0001}.form-card>label{flex-direction:column;gap:7px;margin:17px 0;font-size:11px;font-weight:800;display:flex}.form-card input:not([type=checkbox]),.form-card select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px}.form-card .check-row{flex-direction:row;align-items:center;font-size:12px}.save-button{background:var(--ink);color:#fff;border:0;border-radius:9px;padding:12px 15px;font-weight:800}.preview-card>span{color:var(--muted);letter-spacing:1.4px;font-size:10px;font-weight:850}.offer-preview{background:#f8cbbb;border-radius:15px;margin:15px 0;padding:24px}.offer-preview i{font-size:28px;font-style:normal}.offer-preview small{letter-spacing:1.3px;margin-top:12px;font-size:9px;font-weight:850;display:block}.offer-preview h2{margin:4px 0;font-family:Georgia,serif;font-size:34px;font-weight:500}.offer-preview p{font-size:12px;line-height:1.5}.offer-preview b{background:#fff8;border-radius:20px;padding:5px 7px;font-size:10px}.policy{color:var(--muted);font-size:12px;line-height:1.5}.policy strong{color:var(--ink)}.admin-foot{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.admin-foot article{background:#e1eee1;border-radius:14px;flex-direction:column;padding:18px;display:flex}.admin-foot article:nth-child(2){background:#f8d5c8}.admin-foot span{letter-spacing:1.2px;font-size:9px;font-weight:850}.admin-foot strong{margin:8px 0;font-family:Georgia,serif;font-size:32px}.admin-foot small{color:var(--muted);font-size:11px}@media (width<=760px){.app-header{gap:9px;height:auto;min-height:65px;padding:10px}.product-name small,.demo-chip{display:none}.app-header nav button{padding:7px;font-size:10px}.staff-view,.admin-grid{grid-template-columns:1fr}.staff-aside{padding:45px 25px}.admin-view{padding:35px 15px}.admin-view>header{flex-direction:column}.admin-view h1{font-size:33px}.admin-foot,.welcome-card{grid-template-columns:1fr}.welcome-card strong{text-align:left}.welcome-card button{grid-column:auto;width:max-content}.wallet-body{padding-left:14px;padding-right:14px}.stamp-grid{gap:7px}.stamp-grid i{width:34px;height:34px}.wallet-hero{padding:43px 24px}.wallet-hero:after{right:-210px}.staff-panel{padding:42px 24px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.surface-brand,.auth-brand,.staff-logo{letter-spacing:.35px;align-items:center;gap:9px;font-weight:900;display:inline-flex!important}.surface-brand:before,.auth-brand:before,.staff-logo:before{content:"";background:url(/wallet-icon-v2-192.png) 50%/cover no-repeat;border-radius:9px;flex:none;width:30px;height:30px;box-shadow:0 3px 10px #071a1424}.surface-brand{color:var(--ink)}.staff-logo:before{border-radius:8px;width:28px;height:28px}.staff-login .staff-logo:before,.staff-app>header .staff-logo:before{box-shadow:0 3px 12px #0005}.surface-title{color:var(--muted);margin:auto;font-size:12px;font-weight:800}.surface-header-actions,.staff-header-actions{align-items:center;gap:8px;display:flex}.surface-switch-link,.staff-header-actions a{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:850;text-decoration:none}.surface-header-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:800}.logout-button{border-radius:9px;border:1px solid var(--line)!important;padding:8px 11px!important}.pending-claim{background:#fff1ca;border-radius:10px;padding:12px 14px;font-weight:700;color:#493d22!important}.partner-register-copy{margin-top:24px!important}.guest-wallet .wallet-body{max-width:760px}.prominent-scan{z-index:2;margin:-27px 0 25px;padding:18px;font-size:16px;position:relative;box-shadow:0 13px 28px #9e3c2633}.notification-opt-in{background:#fffefa;border:1px solid #e2ddd1;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px;padding:14px 15px;display:flex}.notification-opt-in>div{align-items:center;gap:11px;min-width:0;display:flex}.notification-opt-in>div>span{color:#8e442f;background:#f8d2c5;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:19px;font-weight:900;display:grid}.notification-opt-in>div>div{flex-direction:column;gap:3px;display:flex}.notification-opt-in strong{font-size:12px}.notification-opt-in small{color:var(--muted);font-size:10px;line-height:1.4}.notification-opt-in>button{background:var(--ink);color:#fff;border:0;border-radius:9px;flex:none;padding:9px 11px;font-size:10px;font-weight:850}.notification-opt-in.enabled{background:#e4f0e2;border-color:#c9dec7}.notification-opt-in.enabled>div>span{color:#26633d;background:#c7e2c6}.notification-opt-in.enabled>button{color:var(--ink);background:#fff}.wallet-install-card{z-index:280;left:50%;bottom:max(18px,env(safe-area-inset-bottom));background:#fffefa;border:1px solid #d3ddd1;border-radius:18px;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;width:min(620px,100vw - 28px);padding:17px 18px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 55px #071a1440}.wallet-install-close{color:#607068;background:0 0;border:0;width:28px;height:28px;font-size:22px;line-height:1;position:absolute;top:7px;right:8px}.wallet-install-icon{color:#0000;background:url(/wallet-icon-v2-192.png) 50%/cover no-repeat;border-radius:13px;place-items:center;width:42px;height:42px;font-size:0;display:grid;box-shadow:0 5px 15px #071a1430}.wallet-install-card>div{min-width:0;padding-right:12px}.wallet-install-card strong{font:500 21px/1.05 Georgia,serif;display:block}.wallet-install-card p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.45}.wallet-install-card ol{color:#334b3e;background:#edf3e9;border-radius:11px;margin:12px 0 0;padding:12px 12px 12px 30px;font-size:12px;line-height:1.65}.wallet-install-action{background:var(--ink);color:#fff;white-space:nowrap;border:0;border-radius:10px;padding:11px 14px;font-size:11px;font-weight:850}.guest-wallet .live-cards{max-width:none}.guest-wallet .stamp-card+.stamp-card{margin-top:14px}.guest-wallet .welcome-card{margin:0 0 18px}.guest-wallet .welcome-card small{color:#72584e;grid-column:1/-1;font-size:11px}.usable-deal button{background:var(--ink);color:#fff;border:0;border-radius:9px;grid-column:2;padding:10px 13px;font-weight:850}.modal-backdrop{z-index:100;background:#081611c9;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.scanner-card,.staff-qr-modal{background:#fffdf8;border-radius:20px;width:min(100%,520px);padding:28px;position:relative;box-shadow:0 24px 70px #0005}.scanner-card h2,.staff-qr-modal h2{margin:10px 38px 10px 0;font:500 32px/1.05 Georgia,serif}.scanner-card>p:not(.eyebrow),.staff-qr-modal p{color:var(--muted);font-size:13px;line-height:1.55}.modal-close{color:var(--ink);background:0 0;border:0;font-size:29px;position:absolute;top:14px;right:17px}.scanner-frame{background:#102921;border-radius:15px;place-items:center;min-height:285px;margin:18px 0;display:grid;overflow:hidden}.scanner-frame>div{width:100%}.scanner-frame video{object-fit:cover;border-radius:12px}.scanner-error{margin:0;padding:18px;color:#fff!important}.scanner-inline-error{background:#ffe1d8;border-radius:10px;padding:12px 14px;font-weight:800;color:#8a3427!important;margin:12px 0!important;font-size:12px!important;line-height:1.45!important}.scanner-card form{gap:9px;display:grid}.scanner-card label{gap:7px;font-size:11px;font-weight:850;display:grid}.scanner-card input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:12px}.scanner-card form button,.campaign-qr-button{border:0;border-radius:9px;padding:12px;font-weight:850;background:var(--orange)!important;color:#fff!important}.campaign-list header p{max-width:430px;color:var(--muted);font-size:12px;line-height:1.5}.campaign-list article{grid-template-columns:42px 1.7fr auto 1fr auto}.deal-list{margin-top:24px}.deal-list article{grid-template-columns:42px 1.7fr auto 1fr}.deal-form select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:10px}.subscriber-list{border:1px solid var(--line);background:#fffefa;border-radius:18px;margin:0 0 24px;overflow:hidden}.subscriber-list>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.subscriber-list>header span{letter-spacing:1.3px;font-size:9px;font-weight:850}.subscriber-list h2{margin:4px 0 0;font:500 27px Georgia,serif}.subscriber-list>header input{border:1px solid var(--line);background:#fff;border-radius:9px;width:min(330px,100%);padding:10px 12px}.subscriber-actions{background:#f4f0e7;align-items:center;gap:9px;padding:11px 22px;font-size:11px;display:flex}.subscriber-actions span{margin-right:auto;font-weight:850}.subscriber-actions button{color:var(--ink);background:#fff;border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800}.subscriber-rows{max-height:390px;overflow:auto}.subscriber-rows>label{cursor:pointer;border-top:1px solid #ece9e0;grid-template-columns:auto 38px minmax(180px,1fr) minmax(180px,.8fr);align-items:center;gap:12px;padding:13px 22px;display:grid}.subscriber-rows>label.selected{background:#edf5eb}.subscriber-rows input{accent-color:#2e7047;width:17px;height:17px}.subscriber-avatar{background:#dcebdd;border-radius:11px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.subscriber-identity,.subscriber-meta{flex-direction:column;gap:3px;display:flex}.subscriber-identity small,.subscriber-meta small{color:var(--muted);font-size:10px}.subscriber-meta{text-align:right;align-items:flex-end}.subscriber-meta b{font-size:10px}.targeted-summary{background:#e3eee1;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.targeted-summary strong{font-size:14px}.targeted-summary span{color:var(--muted);font-size:11px}.subscriber-rows{scrollbar-gutter:stable;max-height:520px}.subscriber-rows>label{grid-template-columns:auto 29px minmax(180px,1fr) minmax(180px,.8fr);gap:9px;min-height:46px;padding:8px 18px}.subscriber-avatar{border-radius:8px;width:27px;height:27px;font-size:11px}.subscriber-identity{gap:1px}.subscriber-identity strong{font-size:12px}.subscriber-identity small,.subscriber-meta small{font-size:9px}.subscriber-actions{z-index:1;padding-block:8px;position:relative}.staff-qr-modal{text-align:center}.staff-qr-modal img{border-radius:12px;width:min(100%,340px);height:auto;margin:18px auto;display:block}.staff-qr-modal>strong{color:#2d7645;margin:10px 0;font-size:18px;display:block}.staff-qr-modal>strong.expired{color:#a34339}.staff-qr-modal .save-button{width:100%;margin-top:8px}.platform-surface{--orange:#a65ce0}.tenant-surface{--orange:#f07151}.reward-list article{align-items:center;gap:14px}.reward-list article>div{flex-direction:column;gap:4px;display:flex}.reward-list button{background:var(--ink);color:#fff;white-space:nowrap;border:0;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:850}.redemption-success-overlay{z-index:300;color:#fff;text-align:center;background:#173d2f;border:0;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:30px;display:flex;position:fixed;inset:0}.floating-notice{z-index:260;color:#15352b;text-align:left;background:#fffefa;border:0;border-left:5px solid #f07151;border-radius:13px;align-items:center;gap:14px;width:min(420px,100vw - 36px);margin:0;padding:14px 14px 14px 16px;font-size:13px;font-weight:750;line-height:1.45;display:flex;position:fixed;top:84px;right:18px;box-shadow:0 14px 42px #071a1438}.floating-notice span{flex:1}.floating-notice button{color:#15352b;background:#edf1e9;border:0;border-radius:50%;flex:none;width:30px;height:30px;font-size:20px;line-height:1}.floating-notice button:hover{background:#dfe8df}@media (width<=760px){.floating-notice{width:calc(100vw - 24px);top:12px;right:12px}}.redemption-success-overlay span{color:#1d633e;background:#d9f1d8;border-radius:50%;place-items:center;width:92px;height:92px;font-size:54px;font-weight:900;display:grid;box-shadow:0 15px 40px #0003}.redemption-success-overlay strong{margin:26px 0 10px;font:500 clamp(38px,9vw,62px)/1 Georgia,serif}.redemption-success-overlay small{font-size:18px;font-weight:800}.redemption-success-overlay b{color:#164b32;background:#d9f1d8;border-radius:12px;margin-top:14px;padding:12px 18px;font-size:clamp(18px,5vw,25px)}.redemption-success-overlay em{color:#b9d3c5;margin-top:28px;font-size:12px;font-style:normal}.staff-app{--staff-orange:#ff7655;color:#15352b;background:#f6f1e7;min-height:100dvh}.staff-app>header{color:#fff;height:68px;padding:0 max(18px,env(safe-area-inset-left));background:#102921;justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-app>header>div:first-child{flex-direction:column;gap:3px;display:flex}.staff-app>header strong{color:#b7cdc2;font-size:11px}.staff-app>header button,.staff-header-actions a{color:#fff;background:0 0;border:1px solid #ffffff35;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;text-decoration:none}.staff-header-actions{flex-direction:row!important}.staff-logo{letter-spacing:.4px;font-size:13px;font-weight:900}.staff-app-body{max-width:620px;padding:34px 18px calc(35px + env(safe-area-inset-bottom));margin:auto}.staff-welcome h1,.staff-operation h1,.staff-login h1{letter-spacing:-1.5px;margin:12px 0 28px;font:500 clamp(40px,12vw,62px)/.94 Georgia,serif}.staff-actions{gap:15px;display:grid}.staff-actions>button{text-align:left;color:#15352b;border:0;border-radius:22px;flex-direction:column;align-items:flex-start;min-height:190px;padding:25px;display:flex;box-shadow:0 12px 30px #3d302010}.staff-actions>button:first-child{background:#d5ead3}.staff-actions>button:last-child{background:#f8c9b8}.staff-actions>button>span{margin-bottom:auto;font-size:36px}.staff-actions strong{font:500 30px Georgia,serif}.staff-actions small{color:#53675c;margin-top:6px;font-size:12px}.install-hint{color:#6c766f;text-align:center;margin:25px 12px;font-size:11px;line-height:1.5}.staff-back{color:#53675c;background:0 0;border:0;padding:0 0 28px;font-size:12px;font-weight:850}.staff-history{background:#fffefa;border:1px solid #dedbd1;border-radius:18px;margin-top:34px;padding:22px}.staff-history h2{margin:7px 0 17px;font:500 27px Georgia,serif}.staff-history article{border-top:1px solid #ebe7dd;align-items:center;gap:12px;padding:12px 0;display:flex}.staff-history article>span{background:#dcebdc;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.staff-history article>div{flex-direction:column;gap:3px;display:flex}.staff-history article strong{font-size:13px}.staff-history article small{color:#65736b;font-size:10px;line-height:1.4}.staff-operation>p:not(.eyebrow){color:#65746c;font-size:13px;line-height:1.5}.staff-operation h1{margin-bottom:14px;font-size:42px}.staff-campaigns{gap:11px;margin-top:25px;display:grid}.staff-campaigns>button{text-align:left;color:#15352b;background:#fffefa;border:1px solid #d9d8cf;border-radius:16px;align-items:center;gap:13px;padding:16px;display:flex}.staff-campaigns>button>span{background:#dbeada;border-radius:13px;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.staff-campaigns>button div{flex-direction:column;flex:1;gap:3px;display:flex}.staff-campaigns>button strong{font-size:14px}.staff-campaigns>button small{color:#66736c;font-size:10px}.staff-campaigns>button b{font-size:11px}.staff-live-programs{background:#e4eee1;border-radius:19px;margin-top:24px;padding:20px}.staff-live-programs>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-live-programs h2{margin:6px 0 0;font:500 27px Georgia,serif}.staff-live-programs>header>b{color:#fff;background:#15352b;border-radius:50%;place-items:center;min-width:36px;height:36px;font-size:13px;display:grid}.staff-live-programs .staff-campaigns{margin-top:16px}.staff-live-programs>p{color:#65746c;margin:16px 0 0;font-size:12px}.staff-manual{gap:10px;margin-top:18px;display:grid}.staff-manual label,.staff-login label{gap:7px;font-size:11px;font-weight:850;display:grid}.staff-manual input,.staff-login input{background:#fff;border:1px solid #d5d5cc;border-radius:10px;width:100%;padding:13px}.staff-manual button,.staff-login form button,.staff-new-code{color:#fff;background:#f07151;border:0;border-radius:10px;padding:14px;font-weight:850}.staff-error{color:#843e32;background:#ffe4dc;border-radius:10px;padding:12px;font-size:12px;line-height:1.45}.staff-login{color:#fff;background:#102921;place-items:center;padding:25px 18px;display:grid}.staff-login>section{width:min(100%,440px)}.staff-login .staff-logo{margin-bottom:55px;display:block}.staff-login>section>p:not(.eyebrow):not(.staff-error){color:#b7cbc1;font-size:13px;line-height:1.6}.staff-login form{gap:15px;margin-top:28px;display:grid}.staff-login label{color:#d8e5de}.staff-login input{color:#15352b}.staff-fullscreen-modal{z-index:150;color:#fff;background:#102921;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.staff-fullscreen-modal>section{text-align:center;width:min(100%,480px);position:relative}.staff-fullscreen-modal h2{margin:12px 35px;font:500 34px Georgia,serif}.staff-fullscreen-modal img{background:#fff;border-radius:16px;width:min(100%,370px);margin:18px auto;display:block}.staff-fullscreen-modal strong{color:#bce3c4;font-size:18px;display:block}.staff-fullscreen-modal strong.expired{color:#ff9c87}.staff-fullscreen-modal p:not(.eyebrow){color:#b7cbc1;font-size:12px}.staff-modal-close{color:#fff;background:0 0;border:0;font-size:34px;position:absolute;top:-8px;right:0}.staff-new-code{width:100%;margin-top:10px}@media (width<=760px){.public-header .surface-brand{font-size:13px}.wallet-hero{min-height:225px;padding:34px 20px 58px}.wallet-hero h1{font-size:44px}.prominent-scan{margin-top:-24px}.notification-opt-in{flex-direction:column;align-items:flex-start}.notification-opt-in>button{width:100%}.wallet-install-card{bottom:max(10px,env(safe-area-inset-bottom));grid-template-columns:38px 1fr;gap:10px;padding:16px 15px}.wallet-install-icon{border-radius:11px;width:38px;height:38px}.wallet-install-card>div{padding-right:16px}.wallet-install-card strong{font-size:19px}.wallet-install-action{grid-column:1/-1;width:100%;padding:12px}.wallet-install-card.show-steps .wallet-install-icon{align-self:start}.scanner-card,.staff-qr-modal{border-radius:16px;padding:22px 17px}.scanner-frame{min-height:245px}.campaign-list article{grid-template-columns:35px 1fr;gap:10px}.campaign-list article .status{justify-self:start}.campaign-list article>span:not(.status){display:none}.campaign-list article>button{grid-column:1/-1;width:100%;padding:12px;display:block}.surface-title{display:none}.staff-app-body{padding-top:28px}.staff-actions>button{min-height:180px}.subscriber-list>header{flex-direction:column;align-items:flex-start}.subscriber-list>header input{width:100%}.subscriber-actions{flex-wrap:wrap;align-items:flex-start}.subscriber-actions span{width:100%;margin:0}.subscriber-rows>label{grid-template-columns:auto 36px 1fr;padding:13px 15px}.subscriber-meta{text-align:left;grid-column:2/-1;align-items:flex-start;margin-top:-5px;padding-left:48px}}
