:root{color:#191919;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ivory:#f7f4ee;--cream:#efe9df;--ink:#191919;--red:#e84d3d;--tan:#c79a72;--line:#dad6cf;background:#f7f4ee;font-family:Poppins,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;line-height:1.12}h1{letter-spacing:-.055em;font-size:clamp(2rem,4.5vw,4rem);font-weight:800}h2{letter-spacing:-.04em;font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:700}h3{font-size:1.1rem}p{overflow-wrap:anywhere}ul{padding-left:1.2rem}::selection{background:var(--tan);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.container{width:min(100% - 2.5rem,1200px);margin-inline:auto}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:90px;display:flex}.wordmark{letter-spacing:-.07em;white-space:nowrap;font-size:1.4rem;font-weight:800;text-decoration:none}.wordmark span,.red{color:var(--red)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.625rem;font-weight:600;line-height:1.5}.small{font-size:.75rem;line-height:1.65}.header-right{align-items:center;gap:1.5rem;display:flex}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:1rem;min-height:48px;padding:.85rem 1.25rem;font-size:.8rem;font-weight:600;line-height:1.5;text-decoration:none;transition:transform .2s,background-color .2s;display:inline-flex}.button.secondary{color:var(--ink);background:0 0}.text-button{color:var(--ink);text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:.5rem 0;font-size:.75rem;text-decoration:underline;display:inline-block}.button:focus-visible{outline-color:var(--tan)}.lead{max-width:32rem;font-size:1rem}.footer{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-block:1.75rem;font-size:.625rem;display:flex}.staff-link{width:max-content;margin:0 auto 1.5rem;font-size:.625rem;display:block}.landing{grid-template-columns:1fr;gap:3rem;padding-block:3.5rem;display:grid}.landing h1{letter-spacing:-.065em;margin-block:1.5rem;font-size:clamp(3rem,6vw,5.6rem);line-height:1}.activation-note{border-left:2px solid var(--tan);gap:1rem;max-width:30rem;margin-block:1.75rem;padding:1rem;font-size:.875rem;font-weight:500;display:flex}.activation-note>span{font-size:1.5rem}.landing-copy>.small{max-width:28rem}.landing-visual{align-self:center;width:100%;max-width:500px;margin-inline:auto;padding:1rem .5rem;position:relative}.sample-card{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:2rem 1.5rem;transform:rotate(3deg);box-shadow:5px 7px #ded5c8}.sample-top{letter-spacing:-.05em;justify-content:space-between;margin-bottom:2rem;font-weight:800;display:flex}.sample-top>span:last-child{color:var(--red);font-size:1.5rem}.sample-card h2{margin-top:1rem;font-size:clamp(1.8rem,3.5vw,3rem)}.tape{background:var(--tan);opacity:.7;z-index:1;width:80px;height:25px;position:absolute;top:0;left:40%;transform:rotate(-5deg)}.scribble{text-align:center;margin-top:1.5rem;font-size:.625rem;font-weight:500;transform:rotate(-3deg)}.stamps{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-block:1.75rem;display:grid}.stamps>span{aspect-ratio:1;color:#665d53;border:1px dashed #a79a8b;border-radius:50%;place-items:center;font-size:clamp(.8rem,3vw,1.2rem);display:grid}.stamps>.collected{background:var(--ink);border-style:solid;border-color:var(--ink);color:var(--ivory);font-size:clamp(1.2rem,4vw,2rem);transform:rotate(-8deg)}.stamps>.collected:nth-child(2n){transform:rotate(6deg)}.stamps.compact{gap:.3rem;max-width:160px;margin-block:.35rem}.stamps.compact>span{font-size:.65rem}.stamps.compact>.collected{font-size:1rem}.ticket-edge{text-transform:uppercase;letter-spacing:.05em;border-top:1px dashed #a79a8b;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;font-size:.5625rem;font-weight:600;display:flex}.mechanics{border-top:1px solid var(--line);gap:2rem;padding-top:2.5rem;display:grid}.mechanics h2{letter-spacing:-.02em;margin-block:1rem;font-size:1.05rem}.mechanics p{max-width:30rem;font-size:.875rem}.step{color:#8f6c4e;letter-spacing:-.06em;font-size:2.5rem;font-weight:700;line-height:1}.perks{background:var(--cream);border-radius:12px;gap:1.5rem;padding:2rem 1.5rem;display:grid}.perks h2{margin-block:.8rem}.perks p{font-size:.875rem}.perks ul{margin:0;padding:0;list-style:none}.perks li{border-bottom:1px solid var(--line);padding:1rem 0;font-size:.9rem;font-weight:600}.perks li>span{color:#8f6c4e;margin-right:1rem}.customer-page{text-align:center;padding-block:3rem}.customer-page>.eyebrow{margin-bottom:2rem}.loyalty-card{text-align:left;border:1px solid var(--line);background:var(--cream);border-radius:14px;max-width:580px;margin-inline:auto;padding:1.75rem 1.5rem;position:relative}.loyalty-card:before,.loyalty-card:after{content:"";border:1px solid var(--line);background:var(--ivory);border-left:0;border-radius:0 20px 20px 0;width:12px;height:24px;position:absolute;bottom:44px;left:-1px}.loyalty-card:after{left:auto;right:-1px;transform:rotate(180deg)}.card-top{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:1rem;display:flex}.member-heading{justify-content:space-between;align-items:center;gap:1rem;min-width:0;margin-top:2rem;display:flex}.member-heading>div{min-width:0}.member-heading h1{overflow-wrap:anywhere;margin-top:.5rem}.card-spark{color:#ad7453;font-size:2.5rem;transform:rotate(-10deg)}.loyalty-id{letter-spacing:.1em;margin-top:.75rem;font-size:.75rem;font-weight:600}.progress-copy h2{letter-spacing:-.02em;font-size:1.1rem}.progress-copy p{margin-top:.5rem;font-size:.875rem}.ready{border-color:var(--tan)}.ready .progress-copy{border-top:1px dashed var(--tan);padding:1.25rem 0}.reward-choices{background:var(--ivory);border:1px solid var(--line);border-radius:8px;margin-top:1rem;padding:1rem}.reward-choices>p:not(.eyebrow){padding-top:.75rem;font-size:.8rem;font-weight:600}.reward-choices>p>span{margin-right:.75rem}.reward-choices>.small{margin-top:1rem;display:block}.card-dates{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 0;display:grid}.card-dates dt{text-transform:uppercase;letter-spacing:.1em;font-size:.625rem}.card-dates dd{margin:.3rem 0 0;font-size:.75rem;font-weight:500}.card-help{margin-top:2rem;font-size:.8rem}.privacy-note{margin-top:1rem}.notice{color:var(--ink);overflow-wrap:anywhere;background:#f1f4e7;border:1px solid #b6c2a2;border-radius:8px;margin-block:1rem;padding:1rem;font-size:.8125rem}.notice.error{background:#f8e7e2;border-color:#cf9b8f}.empty{padding:2rem 0;font-size:.875rem}.empty h1{margin-bottom:1rem}.empty .button{margin-top:1rem}.login-wrap{place-items:center;min-height:70vh;padding-block:3rem;display:grid}.login-card{border:1px solid var(--line);background:var(--cream);border-radius:12px;width:100%;max-width:470px;padding:2rem}.login-card h1{margin-block:1rem;font-size:clamp(2rem,4vw,2.8rem)}.login-card>p:not(.eyebrow){margin-bottom:1.5rem;font-size:.875rem}.login-card .button{width:100%}.field{flex-direction:column;gap:.5rem;min-width:0;margin-bottom:1.1rem;font-size:.75rem;font-weight:500;display:flex}input,select{width:100%;min-width:0;min-height:48px;color:var(--ink);background:#fff;border:1px solid #aaa296;border-radius:6px;padding:.75rem;font-size:.875rem}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--ink);flex:0 0 20px}.check{align-items:flex-start;gap:.75rem;margin-block:1.2rem;font-size:.75rem;display:flex}.dashboard,.member-page{padding-block:2.5rem}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.page-heading h1{overflow-wrap:anywhere;margin:.5rem 0 .75rem}.page-heading p:not(.eyebrow){font-size:.875rem}.stats{border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-block:1.5rem;display:grid}.stats>div{padding:.5rem}.stats strong{letter-spacing:-.04em;font-size:2.5rem;font-weight:700;display:block}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-block:2.5rem 1.5rem;display:flex}.search{gap:.5rem;width:100%;max-width:430px;display:flex}.search input{flex:1}.search .button{flex-shrink:0}.member-list{border-top:1px solid var(--line)}.member-row{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:1rem;padding-block:1.5rem;display:grid}.member-name{font-size:.95rem;font-weight:600}.row-actions{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;font-size:.75rem;display:flex}.copy-link{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.copy-link .button{min-height:40px;padding:.6rem .85rem;font-size:.6875rem}.copy-link input{font-size:.6875rem}.pagination{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.create-section{background:var(--cream);border-radius:12px;gap:2rem;margin-top:2rem;padding:2rem 1.5rem;display:grid}.create-section h2{margin-block:.75rem 1rem}.create-section>div>p:not(.eyebrow){font-size:.875rem}.form-grid{gap:0 1rem;display:grid}.created-result{background:var(--ivory);border:1px solid var(--tan);border-radius:8px;margin-top:1.5rem;padding:1.25rem}.created-result h3{font-size:.8rem}.created-result p{margin-top:.5rem;font-weight:600}.card-url{overflow-wrap:anywhere;margin-block:1rem;font-size:.6875rem;display:block}.back-link{margin-bottom:2rem;font-size:.75rem;display:inline-block}.heading-actions{flex-wrap:wrap;gap:.75rem;display:flex}.member-overview{gap:2rem;margin-bottom:2rem;display:grid}.member-progress{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:1.5rem}.member-progress>.stamps{max-width:350px}.member-progress h2{font-size:1.25rem}.member-progress p:not(.eyebrow){margin-top:.5rem;font-size:.875rem}.customer-info{grid-template-columns:1fr 1fr;gap:1rem;margin:0;padding-block:1rem;display:grid}.customer-info dt{text-transform:uppercase;letter-spacing:.1em;font-size:.625rem}.customer-info dd{overflow-wrap:anywhere;margin:.4rem 0 0;font-size:.875rem}.action-grid{gap:1.5rem;display:grid}.action-panel{border:1px solid var(--line);background:var(--ivory);border-radius:12px;padding:1.5rem}.action-panel h2{margin-block:.75rem 1.5rem;font-size:1.5rem}.action-panel>p:not(.eyebrow){font-size:.875rem}.action-panel form>.small{margin-block:1rem}.action-panel .button{width:100%}.reward-panel{border-color:var(--tan);background:var(--cream)}.undo{margin-top:1rem;display:block}.simple-perks{margin-top:1.5rem;padding:0;font-size:.875rem;list-style:none}.simple-perks li{padding:.75rem 0}.history h3{margin-block:1.5rem .75rem;font-size:1rem}.history-row{border-top:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:1fr 1fr;gap:.5rem 1rem;padding:1rem 0;font-size:.75rem;display:grid}.history-row>*{min-width:0}.history-row strong{font-weight:500}.reset-reason{grid-column:1/-1}.reset-panel{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem;font-size:.8rem}.reset-panel summary{cursor:pointer;font-weight:500}.reset-panel p{max-width:45rem;margin-block:1rem}.reset-panel form{max-width:500px}@media (width>=640px){.container{width:min(100% - 5rem,1200px)}.mechanics,.form-grid{grid-template-columns:1fr 1fr}.stamps{gap:.8rem}.loyalty-card{padding:2.5rem}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.member-row{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:1.5fr 1fr .6fr 1fr}.history-row .reset-reason{grid-column:auto}.action-grid{grid-template-columns:1fr 1fr}.member-overview{grid-template-columns:1.1fr .9fr}.customer-info{grid-template-columns:1fr}.footer{font-size:.6875rem}}@media (width>=1024px){.landing{grid-template-columns:1.05fr .95fr;gap:4rem;padding-block:5rem}.mechanics,.perks{grid-column:1/-1}.perks{grid-template-columns:1.1fr .9fr;padding:2.5rem}.mechanics{gap:5rem}.create-section{grid-template-columns:.8fr 1.2fr;padding:2.5rem}.member-row{grid-template-columns:1.2fr 1fr .8fr 1.4fr;align-items:center;gap:1.5rem}.row-actions{font-size:.6875rem}.customer-info{grid-template-columns:1fr 1fr}.login-wrap{min-height:76vh}}@media (width<=639px){.header-right>.eyebrow{display:none}.header{min-height:76px}.header .wordmark{font-size:1.25rem}.landing-visual{padding-inline:1rem}.sample-card{padding:1.5rem 1.1rem}.stats>.eyebrow{font-size:.5625rem}.stats strong{font-size:2rem}.search .button{padding-inline:.8rem}.member-heading h1{font-size:2.25rem}.ticket-edge{flex-wrap:wrap;gap:.4rem}.loyalty-card{padding-inline:1.25rem}.create-section,.action-panel{padding:1.25rem}.customer-info{grid-template-columns:1fr}.copy-link{max-width:100%}}@media (prefers-reduced-motion:no-preference){.loyalty-card,.sample-card{animation:.45s both arrive}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(.98)}@keyframes arrive{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
