@font-face{font-family:Inter;src:url(/fonts/inter/Inter.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{--ink:#19181f;--panel:#24222d;--panel-2:#2d2a38;--line:#36323f;--muted:#a39db3;--white:#f7f5ff;--lime:#d5fc52;--purple:#6155f5;--deep:#3d1578;--error:#ffb3bc;--gutter:20px;--gap:24px;--radius:16px;--nav-height:72px;color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--white);background:var(--ink);font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}h1,h2,p{margin:0}h1{font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.4px;overflow-wrap:anywhere}h2{font-size:19px;font-weight:650;line-height:1.3}.caption,small{font-size:13px;line-height:1.45;color:var(--muted)}strong{font-weight:600}.muted{color:var(--muted)}.app{--app-safe-top:calc(max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + var(--tg-content-safe-area-inset-top, 0px));width:100%;max-width:480px;min-height:100dvh;margin:auto;padding:24px var(--gutter) calc(var(--nav-height) + 40px + env(safe-area-inset-bottom));padding-top:calc(24px + var(--app-safe-top));background:var(--ink);position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--gap);font-weight:600}.stack{display:flex;flex-direction:column;gap:20px}.content.stack{gap:var(--gap)}.content{min-width:0}.content>.eyebrow+h1,.content>.eyebrow+p,.content>h1+.caption,.content>h1+.muted,.content>h1+p{margin-top:calc(12px - var(--gap))}.section-title{font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:calc(10px - var(--gap))}.button{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:54px;width:100%;padding:14px 18px;border:0;border-radius:14px;font-size:16px;font-weight:600;line-height:1.3;transition:filter .15s,transform .15s}.button:active:not(:disabled){transform:scale(.985)}.primary{background:var(--lime);color:var(--ink)}.secondary{background:var(--panel);color:var(--white)}.button:hover:not(:disabled){filter:brightness(1.06)}.button:disabled{background:var(--panel);color:#6f6982}.button-row{display:flex;gap:12px}.button-row .button{flex:1;min-width:0}.inline-link{border:0;background:none;color:var(--lime);padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.inline-link:disabled{opacity:.5}.text-action{align-self:center;border:0;background:none;color:var(--muted);padding:8px 12px;font-size:15px;font-weight:600}.row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;padding:18px 20px;background:var(--panel);border:0;border-radius:var(--radius);color:var(--white);text-align:left;min-height:64px}.row>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.row strong{font-size:16px;font-weight:600}.row small,.row strong{overflow-wrap:anywhere}.chevron{font-size:22px;line-height:1;color:var(--muted)}.list{display:flex;flex-direction:column;background:var(--panel);border-radius:var(--radius);overflow:hidden}.list>.person,.list>.row{background:transparent;border-radius:0}.list>*+*{border-top:1px solid var(--line)}.list>.person:active,.list>.row:active{background:var(--panel-2)}.stats{display:flex;background:var(--panel);border-radius:var(--radius)}.stat{display:flex;flex:1;flex-direction:column;gap:4px;padding:18px 20px;min-width:0}.stat+.stat{border-left:1px solid var(--line)}.stat b{font-size:28px;line-height:1.15;color:var(--lime);font-weight:700}.stat small{overflow-wrap:anywhere}.spacer{height:4px}.card{background:var(--panel);border-radius:20px;padding:20px}.card.stack{gap:12px}.compact{gap:6px}.lime{background:var(--lime);color:var(--ink)}.lime .caption,.lime .muted,.lime small{color:#3f3a2c}.purple{background:var(--purple);color:white}.purple small{color:rgba(255,255,255,.82)}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);display:flex;gap:4px;width:100%;max-width:480px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(25,24,31,.94);border-top:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bottom-nav[hidden]{display:none}.bottom-nav button{flex:1;min-width:0;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;min-height:48px;padding:10px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav button.active{background:rgba(213,252,82,.12);color:var(--lime)}label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:14px}input,select,textarea{width:100%;min-height:54px;border:1px solid transparent;border-radius:14px;padding:15px 16px;background:var(--panel);color:var(--white);font-size:17px;outline:none;resize:vertical}textarea{line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--lime)}input::placeholder,textarea::placeholder{color:#7d778d}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:24px;height:24px;min-height:24px;flex:0 0 24px;margin:0;padding:0;border:2px solid var(--muted);border-radius:7px;background:transparent;cursor:pointer}input[type=checkbox]:checked{border-color:var(--lime);background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='%2319181f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /20px 20px no-repeat}input[type=checkbox]:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.checkbox-control{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;flex:0 0 44px;margin-left:-10px;cursor:pointer}.brand{font-size:44px;line-height:1.05;letter-spacing:-.5px;font-weight:900;color:var(--lime);padding:0}.brand.small{font-size:28px;padding:8px 0}.launcher{gap:var(--gap)}.launcher,.scan-area{display:flex;flex-direction:column;justify-content:center}.scan-area{width:100%;min-height:260px;align-items:center;gap:16px;background:var(--panel);color:var(--white);border:2px solid transparent;border-radius:24px;font-size:17px;font-weight:600}.scan-area:active{border-color:var(--lime)}.scan-area img{display:block}.manual-check{display:flex;gap:10px;align-items:flex-end}.manual-check label{flex:1;min-width:0}.manual-check .button{width:auto;flex:0 0 auto;padding-inline:20px}.coupon-card{background:var(--lime);color:var(--ink);padding:24px;border-radius:28px;display:flex;flex-direction:column;gap:10px}.coupon-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.coupon-value{font-size:56px;line-height:1.05;letter-spacing:-2px;font-weight:900;color:var(--deep);overflow-wrap:anywhere}.coupon-card>strong{font-size:17px}.coupon-card small{color:#3f3a2c}.coupon-address{font-size:15px;overflow-wrap:anywhere}.coupon-information{color:inherit;font-size:14px;white-space:nowrap}.location-fields{margin:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.location-fields legend{padding:0 6px;font-size:14px;color:var(--muted)}.coupon-links{display:flex;flex-wrap:wrap;gap:10px}.coupon-links a{flex:1 1 88px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:13px 10px;color:inherit;font-size:15px;font-weight:600;text-align:center;text-decoration:none}.coupon-links a:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.qr{display:flex;justify-content:center;align-items:center;margin:8px auto 0;background:white;border-radius:12px;width:208px;height:208px}.qr,.qr svg{max-width:100%}.qr svg{height:auto;display:block}.coupon-code{font-size:32px;text-align:center;font-weight:700;letter-spacing:2px;overflow-wrap:anywhere}.coupon-hint{text-align:center;font-size:15px}.coupon-card.used{background:var(--panel);color:var(--white)}.coupon-card.used .coupon-value{color:var(--lime)}.coupon-card.used small{color:var(--muted)}.coupon-state{font-size:22px;font-weight:600;padding:24px 0 8px}.coupon-preview{border:0;text-align:left;background:var(--lime);color:var(--ink);border-radius:24px;padding:22px 24px;display:flex;flex-direction:column;gap:6px}.coupon-preview>strong{font-size:44px;line-height:1.1;font-weight:800;color:var(--deep);overflow-wrap:anywhere}.coupon-preview small{color:#3f3a2c;margin-top:6px}.coupon-preview.inactive{background:var(--panel);color:var(--muted)}.coupon-preview.inactive small,.coupon-preview.inactive strong{color:var(--muted)}.coupon-list{display:flex;flex-direction:column;gap:14px}.eyebrow{font-size:14px;font-weight:600}.error{padding:16px 18px;background:#3a242f;border:1px solid #794452;color:var(--error);border-radius:14px;line-height:1.5}.loading{display:flex;justify-content:center;align-items:center;gap:12px;min-height:200px;color:var(--muted)}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty{text-align:center;padding:36px 24px;display:flex;flex-direction:column;gap:12px}.empty-mark{font-size:40px;color:var(--lime)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{background:var(--panel);color:var(--white);border:0;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600}.chips button.active{background:var(--lime);color:var(--ink)}.list-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;color:var(--muted);margin-bottom:calc(10px - var(--gap))}.person{display:flex;gap:8px;align-items:center;background:var(--panel);padding:12px 20px;min-height:68px;border-radius:var(--radius)}.person.selected{background:rgba(97,85,245,.22)}.person>button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:none;border:0;color:var(--white);padding:4px 0;flex:1;min-width:0;text-align:left}.person strong{font-size:16px}.action-bar{position:fixed;z-index:11;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-height) + 8px + env(safe-area-inset-bottom));width:calc(100% - 2 * var(--gutter));max-width:calc(480px - 2 * var(--gutter));display:flex;gap:10px;align-items:center}.action-bar .button{box-shadow:0 10px 30px rgba(0,0,0,.45)}.action-bar .secondary{width:auto;flex:0 0 auto}.message-preview{white-space:pre-wrap;overflow-wrap:anywhere}.message-bonus{background:rgba(0,0,0,.2);padding:14px 16px;border-radius:12px;font-weight:600}.badge{align-self:flex-start;background:var(--deep);color:var(--lime);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600}.demo-label{font-size:12px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);margin:-8px 0 var(--gap);padding-bottom:12px;border-bottom:1px solid var(--line)}.demo-label a{color:var(--lime)}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);padding:var(--gutter);padding-top:calc(var(--gutter) + var(--app-safe-top, 0px))}.modal-card{background:var(--ink);padding:24px;border-radius:24px;width:100%;max-width:420px;max-height:100%;overflow-y:auto}.camera{width:100%;aspect-ratio:1;background:var(--panel);overflow:hidden;border-radius:var(--radius)}.camera video{width:100%;height:100%;object-fit:cover}.success-mark{font-size:44px;line-height:1}details summary{cursor:pointer;font-weight:600}details p{margin-top:10px}@media (min-width:700px){body{background:#100f14}.app{box-shadow:0 0 100px rgba(0,0,0,.25)}}@media (max-width:360px){:root{--gutter:16px;--gap:20px}.bottom-nav button{font-size:12px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.slider-field{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:var(--radius);background:var(--panel)}.slider-field label{flex-direction:row;align-items:center;justify-content:space-between;color:var(--white);font-size:16px}.slider-field output{font-size:24px;font-weight:700;color:var(--lime)}.slider-field input[type=range]{appearance:none;min-height:32px;padding:0;border:0;border-radius:0;background:linear-gradient(var(--lime),var(--lime)) no-repeat 0;width:100%;cursor:pointer}.slider-field input::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#ffffff22}.slider-field input::-webkit-slider-thumb{appearance:none;height:24px;width:24px;border-radius:50%;background:var(--lime);margin-top:-10px;border:3px solid var(--white)}.slider-field input::-moz-range-track{height:4px;background:var(--line)}.slider-field input::-moz-range-thumb{width:22px;height:22px;background:var(--lime);border:2px solid var(--white);border-radius:50%}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.city-picker{display:flex;flex-direction:column;gap:8px}.city-results{max-height:240px;overflow-y:auto;background:var(--panel);border-radius:14px;padding:6px;border:1px solid var(--line)}.city-results button{display:flex;flex-direction:column;text-align:left;width:100%;padding:12px 14px;gap:2px;background:transparent;border:0;border-radius:10px;color:var(--white)}.city-results button:focus,.city-results button:hover,.welcome-art{background:var(--deep)}.welcome-art{position:relative;overflow:hidden;border-radius:24px;padding:24px}.welcome-art .brand{padding:0 0 12px}.welcome-tag{display:block;color:var(--white);font-size:15px}.policy section,.prose section{display:flex;flex-direction:column;gap:8px;line-height:1.55}.prose{display:flex;flex-direction:column;gap:22px}.prose section+section{padding-top:22px;border-top:1px solid var(--line)}.policy h1{font-size:26px}.invite-input{letter-spacing:3px;text-align:center;font-size:22px}.customer-home{background:var(--deep)}.customer-home .bottom-nav{background:rgba(61,21,120,.94);border-top-color:rgba(255,255,255,.12)}.customer-home .bottom-nav button{color:rgba(247,245,255,.7)}.customer-home .bottom-nav button.active{color:var(--lime)}.customer-home input{background:rgba(25,24,31,.55)}.customer-home .button:disabled{background:rgba(25,24,31,.4);color:rgba(247,245,255,.45)}.customer-home .muted,.customer-home label{color:rgba(247,245,255,.72)}.customer-brand{font-size:48px}.customer-title{font-size:26px}.materials-label{font-size:15px}.materials-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.materials-designs>button{min-width:0;border:1px solid var(--line);border-radius:14px;padding:6px;background:transparent;color:var(--muted);display:flex;flex-direction:column;gap:8px;font-size:13px;align-items:center}.materials-designs>button.selected{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime);color:var(--lime);background:var(--panel)}.materials-designs img{display:block;width:100%;height:auto;border-radius:8px}.materials-options{display:flex;gap:10px}.materials-options .button{flex:1;min-width:0;padding-inline:8px}.pagination{display:flex;align-items:center;gap:10px}.pagination .button{flex:1;width:auto;padding:12px 8px;font-size:14px;min-height:48px}.pagination span{white-space:nowrap;font-size:14px;color:var(--muted)}