@font-face{font-family:Bebas Neue;src:url(/fonts/BebasNeue.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{--font-brand: "Bebas Neue", "Helvetica Neue", Impact, sans-serif;--ink: #141311;--cream: #f4efe6;--cream-dark: #e9e1d2;--tan: #c9b892;--tan-dark: #a08a5c;--white: #fffdf8;--green: #2e7d4f;--red: #b3402e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--ink);color:var(--ink)}button{font:inherit;cursor:pointer;border:none}input{font:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:32px 16px 60px}.brand{font-family:var(--font-brand);color:var(--cream);font-size:28px;letter-spacing:2px;margin-bottom:28px;text-align:center}.brand span{color:var(--tan)}.card{width:100%;max-width:420px;background:var(--cream);color:var(--ink);border-radius:20px;padding:26px;box-shadow:0 16px 50px #00000059}.card-title{font-size:20px;font-weight:800;margin-bottom:6px}.card-sub{color:#6b6459;font-size:14px;margin-bottom:18px}.field{display:block;margin-bottom:14px;font-size:13px;font-weight:700;color:#6b6459;text-transform:uppercase;letter-spacing:.5px}.field input{display:block;width:100%;margin-top:6px;padding:14px 16px;border-radius:12px;border:1.5px solid var(--cream-dark);background:var(--white);color:var(--ink);font-size:16px}.field input:focus{outline:2px solid var(--tan);border-color:var(--tan)}.pin-input input{letter-spacing:10px;font-size:22px;text-align:center;font-weight:800}.btn-primary{width:100%;padding:16px;border-radius:12px;font-weight:800;font-size:16px;background:var(--ink);color:var(--cream);margin-top:6px}.btn-primary:disabled{opacity:.4}.btn-primary:active:not(:disabled){background:var(--tan-dark)}.btn-link{width:100%;text-align:center;padding:12px;font-weight:700;font-size:14px;color:var(--tan-dark);margin-top:12px;text-decoration:underline}.error-note{color:var(--red);font-weight:600;font-size:14px;margin-top:12px}.info-note{color:var(--tan-dark);font-weight:700;font-size:14px;margin-top:12px}.balance-hero{text-align:center;margin-bottom:22px}.balance-num{font-family:var(--font-brand);font-size:64px;line-height:1;color:var(--ink)}.balance-lbl{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6b6459;margin-top:4px}.tier-pill{display:inline-block;margin-top:10px;padding:6px 16px;border-radius:999px;background:var(--ink);color:var(--tan);font-weight:800;font-size:13px;letter-spacing:.5px}.tier-progress-track{height:8px;border-radius:999px;background:var(--cream-dark);margin-top:14px;overflow:hidden}.tier-progress-fill{height:100%;background:var(--tan-dark)}.tier-progress-note{font-size:12px;color:#6b6459;margin-top:6px;text-align:center}.section-title{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#6b6459;margin:22px 0 10px}.reward-card{border:1.5px solid var(--cream-dark);border-radius:14px;padding:14px 16px;margin-bottom:10px;background:var(--white)}.reward-card.locked{opacity:.5}.reward-name{font-weight:800;font-size:15px}.reward-sub{font-size:12px;color:#6b6459;margin-top:2px}.reward-actions{display:flex;gap:8px;margin-top:10px}.chip-btn{padding:8px 16px;border-radius:999px;font-weight:700;font-size:13px;background:var(--cream);border:1.5px solid var(--cream-dark)}.chip-btn.primary{background:var(--ink);color:var(--cream);border-color:var(--ink)}.chip-btn:disabled{opacity:.4}.claim-code-box{text-align:center;background:var(--ink);color:var(--cream);border-radius:14px;padding:18px;margin:14px 0}.claim-code{font-family:var(--font-brand);font-size:36px;letter-spacing:6px;color:var(--tan)}.claim-code-note{font-size:13px;margin-top:6px;opacity:.85}.topbar{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:420px;margin-bottom:14px}.topbar .brand{margin-bottom:0;font-size:20px}.logout-btn{color:var(--tan);font-weight:700;font-size:13px;text-decoration:underline}.spinner-note{color:var(--cream);text-align:center;opacity:.7}
