.narrow{max-width:620px;padding-bottom:80px}.wide{padding-bottom:80px}.panel{padding:32px 28px;display:grid;gap:14px}.center{text-align:center}.left{text-align:left}.panel h1{font-size:clamp(30px,5vw,40px)}.panel p{margin:0}.small{font-size:14px}.copy{display:flex;gap:6px}.copy input{font-size:13px!important;padding:9px 10px!important}.row-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}#pay-links{display:grid;gap:14px;margin-top:6px}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);margin:0 auto;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90}.confetti-layer span{position:absolute;left:50%;top:40%;font-size:26px;animation:burst 2.4s cubic-bezier(.1,.7,.3,1) forwards}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) rotate(360deg);opacity:0}}.gift-list{display:grid;gap:12px;margin-top:8px}.gift-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.gift-item img,.gift-item .ph{width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--surface-2)}.gift-item h3{font-size:20px;margin:0 0 4px}.gift-item .meta{font-size:13.5px;color:var(--ink-2);display:flex;gap:6px 14px;flex-wrap:wrap}.gift-item .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2)}.badge.active{background:color-mix(in srgb,var(--ok) 15%,var(--surface));color:var(--ok)}.badge.expired{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.extend{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}form.inline{display:flex;gap:8px}form.inline input{flex:1;min-width:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 24px}.stat{padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.stat small{color:var(--muted);display:block;font-size:13px}.stat b{font-family:var(--serif);font-size:28px;font-weight:500}.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:999px}.tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:transparent}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:600;color:var(--ink-2);background:var(--surface-2);position:sticky;top:0}td a{color:var(--accent)}td .btn{padding:5px 10px;font-size:13px}.flags{display:flex;gap:8px;flex-wrap:wrap;font-size:13.5px}.flag{padding:4px 10px;border-radius:999px;background:var(--surface-2)}.flag.on{background:color-mix(in srgb,var(--ok) 15%,var(--surface));color:var(--ok)}.flag.off{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.legal{max-width:780px;padding-bottom:80px}.legal h1{font-size:clamp(32px,5vw,44px);margin:12px 0 8px}.legal h2{font-size:22px;margin:28px 0 8px}.legal p,.legal li{color:var(--ink-2);line-height:1.7}.legal .note{padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:14px}.legal-nav{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:14px;margin-bottom:8px}.legal-nav a{color:var(--ink-2)}.legal-nav a[aria-current=page]{color:var(--ink);font-weight:600}.foot-links{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.foot-links a{color:var(--ink-2);text-decoration:none}.unmatched{background:#fff7e6;border:1px solid #f0d9a8;border-radius:14px;padding:14px 16px;margin:16px 0}.unmatched h2{font-size:16px;margin:0 0 4px}.unmatched-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid #f0d9a8}.unmatched-row>div{flex:1 1 240px}.unmatched-row select{max-width:100%;padding:8px;border-radius:10px;border:1px solid #e7dfd2}
