*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg,#FFFDF8);color:var(--text,#161616);font-family:var(--font,system-ui,sans-serif);-webkit-font-smoothing:antialiased;min-height:100dvh}.wrap{max-width:440px;margin:0 auto;padding:24px 20px 48px}.wrap-wide{max-width:960px;margin:0 auto;padding:32px 24px 64px}.card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.05),0 12px 32px -12px rgba(0,0,0,.14)}.logo{max-height:56px;max-width:180px;object-fit:contain}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,var(--muted));font-weight:600}h1{font-family:var(--font-display,var(--font));font-size:30px;line-height:1.06;margin:6px 0 4px;font-weight:700;letter-spacing:-.015em}h2{font-size:17px;font-weight:600;letter-spacing:-.005em}h2,p{margin:0 0 12px}p{line-height:1.55}.muted{color:var(--muted);font-size:14px}.stamps{--stamp-gap:11px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--stamp-gap);margin:22px 0}.stamp{aspect-ratio:1;border-radius:999px;display:grid;place-items:center;border:1.5px solid var(--stamp-empty);color:var(--accent,var(--muted))}.stamp svg{width:48%;height:48%}.stamp.reward svg{width:34%;height:34%}.stamp.filled{border:1.5px solid var(--brand);background:var(--brand);color:var(--on-brand)}.stamp.has-image{border-color:transparent;background:transparent;overflow:hidden}.stamp.has-image img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}.stamp.reward{border:1.5px solid var(--accent,var(--brand));color:var(--accent,var(--brand))}.stamp.reward .reward-inner{display:grid;place-items:center;width:100%;height:100%;border-radius:999px;opacity:.45}.stamp.reward-rings{border-width:2px;border-color:var(--brand);box-shadow:inset 0 0 0 2.5px var(--surface),inset 0 0 0 4px var(--accent)}.stamp.reward-rings .reward-inner{opacity:.6}.progress{font-size:14.5px;color:var(--muted);margin-top:4px}.progress strong{color:var(--accent,var(--text));font-weight:600}.logo-round{border-radius:999px;width:88px;height:88px;object-fit:cover}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 20px;border:0;cursor:pointer;border-radius:999px;font:inherit;font-weight:600;font-size:16px;background:var(--brand);color:var(--on-brand);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text,#2A211C);border:1px solid var(--stamp-empty,rgba(42,33,28,.18))}.btn-sm{width:auto;padding:9px 16px}.btn-sm,label{font-size:14px}label{display:block;font-weight:500;margin:14px 0 6px}input[type=date],input[type=email],input[type=number],input[type=text],select,textarea{width:100%;padding:11px 13px;font:inherit;font-size:15px;border:1px solid rgba(0,0,0,.16);border-radius:10px;background:var(--surface);color:var(--text)}input[type=color]{width:100%;height:44px;padding:3px;border:1px solid rgba(0,0,0,.16);border-radius:10px;background:var(--surface)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;margin:12px 0}.consent input{margin-top:3px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--brand)}.legal{font-size:12px;color:var(--muted);line-height:1.55;margin-top:24px}.legal a,.muted a{color:inherit}.muted a{text-decoration:underline}.row{display:flex;gap:12px}.row>*{flex:1 1;min-width:0}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.qr{display:inline-block;padding:6px}.qr img{display:block;mix-blend-mode:multiply}.btn-big{padding:22px 20px;font-size:20px}.error,.warn{border-radius:12px;padding:12px 14px;font-size:14.5px;line-height:1.5;margin:12px 0}.error{background:#FDECEF;color:#8A1B36}.warn{background:#FFF4E2;color:#7A4A0B}.result{text-align:center}.result-mark{width:76px;height:76px;margin:4px auto 14px;border-radius:999px;display:grid;place-items:center;font-size:36px;line-height:1;background:var(--brand);color:var(--on-brand)}.result-reward .result-mark{background:var(--accent,var(--brand));color:var(--on-accent,var(--on-brand))}.scanbox{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:3/4}.scanbox video{width:100%;height:100%;object-fit:cover;display:block}.scanframe{position:absolute;inset:18% 12%;border:3px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,.28)}@media print{body{background:#fff}.no-print{display:none!important}@page{size:A4;margin:12mm}}.tabs{display:flex;gap:4px;margin:18px 0 24px;flex-wrap:wrap}.tab{padding:8px 15px;border-radius:999px;text-decoration:none;color:#555;font-size:14.5px;font-weight:500}.tab-on{background:#161616;color:#fff}.panel{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:22px;margin-bottom:18px}.ok{background:#EAF7EE;color:#1B5E32;border-radius:12px;margin:0 0 16px}.ok,.urlbox{padding:12px 14px}.urlbox{display:block;background:#F4F4F2;border-radius:10px;font-size:15px;word-break:break-all}.tbl{width:100%;border-collapse:collapse;font-size:14.5px}.tbl th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#767676;font-weight:600;padding:0 10px 8px 0}.tbl td{padding:11px 10px 11px 0;border-top:1px solid rgba(0,0,0,.07);vertical-align:middle}.tbl code{background:#F4F4F2;padding:2px 7px;border-radius:6px}.inserts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8mm;gap:8mm;padding:24px}.insert{background:var(--bg);border-radius:6px;aspect-ratio:74/105;display:grid;place-items:center;text-align:center;font-family:var(--font);color:var(--text);border:1px dashed rgba(0,0,0,.25)}.insert-inner{padding:12mm 8mm;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.insert .logo-round{width:30mm;height:30mm}.insert .logo{max-height:24mm;max-width:52mm}.insert-name{font-size:26px}.insert-claim,.insert-name{font-family:var(--font-display,var(--font));font-weight:700}.insert-claim{font-size:27px;line-height:1.12}.insert-claim span{display:block;margin-top:2mm;font-family:var(--font);font-size:15px;font-weight:400;color:var(--muted)}.insert-qr{display:block;width:42mm;height:42mm}.insert-how{font-size:15px}.insert-how strong{color:var(--accent,var(--brand))}.insert-note{font-size:12px;color:var(--muted);margin-top:2mm}@media print{.inserts{padding:0;gap:6mm}.insert{border:1px dashed #bbb;page-break-inside:avoid;break-inside:avoid}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:15px 16px}.stat-v{font-size:28px;font-weight:700;line-height:1.1;margin-top:2px}.panel,.stat{background:#FFFFFF;border-color:#E5E1DC}.tab-on{background:#111111}.eyebrow{color:inherit}.tbl code,.urlbox{background:#EFEEEB}.meter{height:8px;border-radius:99px;background:rgba(17,17,17,.09);overflow:hidden}.meter span{display:block;height:100%;border-radius:99px}.pickset{border:0;padding:0;margin:0}.pickset legend{padding:0;margin-bottom:10px}.pickline{display:flex;align-items:flex-start;gap:10px;padding:10px 0;cursor:pointer;line-height:1.45}.pickline input{margin-top:3px;flex:none}.levels{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px 26px}.lvl{position:relative;display:flex;flex-direction:column;align-items:center;min-width:54px;padding:8px 6px 6px;border:1.5px solid var(--stamp-empty,rgba(0,0,0,.14));border-radius:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--surface);transition:border-color .12s,background .12s}.lvl input{position:absolute;opacity:0;pointer-events:none}.lvl-n{font-size:17px;font-weight:700;line-height:1.1}.lvl-c{font-size:11.5px;color:var(--muted);margin-top:2px}.lvl-on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.lvl-on .lvl-n{color:var(--brand)}.chip{font:inherit;font-size:13.5px;line-height:1;padding:8px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--stamp-empty,rgba(0,0,0,.14));background:transparent;color:inherit}.chip:hover{border-color:var(--brand);color:var(--brand)}textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--stamp-empty,rgba(0,0,0,.14));border-radius:12px;background:var(--surface);color:inherit;resize:vertical;min-height:76px}textarea:focus{outline:none;border-color:var(--brand)}.preview{margin-top:18px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--brand) 6%,transparent)}.preview-line{margin:6px 0;line-height:1.5}.steps{display:flex;flex-direction:column;gap:10px}.step{display:flex;align-items:center;gap:12px}.step-n{flex:none;width:62px;text-align:center;font-size:13px;color:var(--muted)}.step-n strong{display:block;font-size:18px;color:inherit}.step input[type=text]{margin:0}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}.kopf{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.stat-sub{line-height:1.35;margin-top:4px}.badge,.stat-sub{font-size:12.5px;color:#5D5D5D}.badge{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:#EFEEEB;font-weight:600;line-height:1.2;white-space:nowrap}.badge:before{content:"";flex:none;width:7px;height:7px;border-radius:999px;background:currentColor}.badge-aktiv{color:#111111}.badge-test:before{background:#D9B895}.badge-ruht{opacity:.72}.hinweise{list-style:none;margin:0;padding:0}.hinweis{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 0;border-top:1px solid #efeeeb;font-size:14.5px;line-height:1.45}.hinweis:first-child{border-top:0;padding-top:0}.hinweis:last-child{padding-bottom:0}.hinweis a{color:inherit;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(17,17,17,.22)}.hinweis a:hover{border-bottom-color:#111111}.hinweis span{color:#5D5D5D}.laeden{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.laden{display:grid;grid-template-columns:40px minmax(0,1fr) auto 104px;align-items:center;grid-gap:16px;gap:16px;padding:14px 16px;background:#FFFFFF;border:1px solid #e5e1dc;border-radius:14px;text-decoration:none;color:inherit}.laden:hover{border-color:#CFC9C1}.laden:focus-visible{outline:2px solid #111111;outline-offset:2px}.laden-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex:none}.laden-mark img{max-width:34px;max-height:34px;object-fit:contain}.laden-text{min-width:0}.laden-name{display:block;font-weight:600;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.laden-sub{display:block;font-size:13px;color:#5D5D5D;margin-top:1px}.laden-zahlen{display:flex;gap:18px;text-align:right}.laden-zahlen>span{min-width:88px;font-size:12px;color:#5D5D5D;line-height:1.3;white-space:nowrap}.laden-zahlen b{display:block;font-size:16px;font-weight:600;color:#111111}.laden>.badge{justify-self:start}@media (max-width:640px){.laden{grid-template-columns:40px minmax(0,1fr) auto;gap:10px 14px}.laden>.badge{grid-row:1;grid-column:3;justify-self:end}.laden-zahlen{grid-row:2;grid-column:2/-1;gap:20px;text-align:left}.laden-zahlen>span{min-width:0}}.tarif-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.tarif-status .muted{font-size:13px}.warn-liste{list-style:none;margin:10px 0 0;padding:0}.warn-liste li{margin-top:6px}.warn-liste li:first-child{margin-top:0}.lade{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#F7F7F5;z-index:60}.lade-zeichen{display:block;width:84px;height:49px;color:#111111;animation:lade-fall 1.1s cubic-bezier(.22,1,.36,1) both}@keyframes lade-fall{0%{transform:translateY(-120%) rotate(0deg);opacity:0}38%{transform:translateY(0) rotate(0deg);opacity:1}56%{transform:translateY(0) rotate(-13deg)}76%{transform:translateY(0) rotate(6deg)}to{transform:translateY(0) rotate(0deg)}}.lade-wort{font-size:17px;font-weight:700;letter-spacing:-.02em;color:#111111;animation:lade-auf .5s ease-out .38s both}@keyframes lade-auf{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lade-wort,.lade-zeichen{animation:none;opacity:1;transform:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap}