:root{color-scheme:light;--green:#851b16;--lime:#ff7622;--ink:#30241f;--muted:#756c64;--paper:#fdf8f1;--white:#fff;--border:#ecdfd4;--orange:#ed570e;--shadow:0 8px 28px #7c332108}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}a{color:var(--green)}.uiIcon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}h1,h2,h3{color:var(--green);line-height:1.18}h1{letter-spacing:-.04em}h2{font-size:22px}p{margin:10px 0 18px}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b73710;outline-offset:4px}[hidden]{display:none!important}.top{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:20px 30px 8px;gap:18px}.brand{display:block;flex-shrink:0}.brand img{display:block;width:168px;height:auto}.topNav{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:700;margin-left:auto}.topNav a{text-decoration:none}.topNav a:hover{text-decoration:underline}.notificationLink{padding:12px;border:1px solid var(--border);border-radius:50%;background:#fff}.notificationLink .uiIcon{width:22px;height:22px}.container{max-width:1100px;margin:auto;padding:24px 24px 40px}main{min-height:calc(100vh - 180px)}.hero{border-radius:22px;background:#fff0df;padding:30px 36px;margin-bottom:24px;border:1px solid #f1d4b8}.hero h1{font-size:clamp(30px,5vw,46px);margin:8px 0 16px}.hero .eyebrow{color:var(--orange)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#ad4318}.pageIntro{margin-bottom:24px}.pageIntro h1{font-size:clamp(34px,5vw,46px);margin:5px 0 7px}.pageIntro p:last-child{font-size:18px;color:var(--muted);margin:0}.card,.coupon{background:var(--white);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.card{padding:26px;margin-bottom:22px}.card h1,.card h2{margin-top:0}.card h2 .uiIcon{margin-right:5px}.narrow{max-width:620px;margin:30px auto}.columns,.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label:not(.choice){display:block;font-size:14px;font-weight:650;margin:16px 0}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{display:block;width:100%;padding:13px 14px;border:1px solid #dbd4cb;border-radius:11px;font:inherit;margin-top:6px;color:var(--ink);background:#fff;min-width:0}input[type=file]{display:block;margin-top:9px;max-width:100%}input:focus,textarea:focus{outline:2px solid #d3541c;outline-offset:1px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;border:1px solid var(--orange);border-radius:11px;padding:13px 17px;min-height:46px;font:750 14px system-ui;cursor:pointer;text-decoration:none;text-align:center}button:hover,.button:hover{filter:brightness(.94)}button.secondary,.button.secondary{background:white;color:var(--green);border-color:var(--green)}.wide{width:100%}.small,small{color:var(--muted);font-size:13px}.choices{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.choice{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:14px;font-weight:600;min-height:48px}.choice:has(input:checked){background:#fff0e5;border-color:#f18b54}.choice input{accent-color:var(--orange);width:20px;height:20px;margin:0;flex-shrink:0}fieldset{border:1px solid var(--border);border-radius:12px;margin:20px 0;padding:14px 18px;min-width:0}legend{font-weight:800;color:var(--green)}.count{background:#fff0e3;border-radius:9px;padding:10px 14px}.alert{padding:15px 18px;border-radius:12px;background:#fff0dd;border:1px solid #efd7b6;margin-bottom:18px;overflow-wrap:anywhere}.alert.error{background:#ffe9e2;border-color:#f1b9a8}.couponGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}.coupon{overflow:hidden;max-width:100%}.coupon img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.couponBody{padding:22px}.couponBody h2{margin:4px 0;font-size:23px}.couponBody p{overflow-wrap:anywhere}.couponBody .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.08em}.code{border:2px dashed #a52c21;background:#fffaf4;border-radius:11px;padding:12px 15px;display:block;text-align:center;font-size:25px;font-weight:900;letter-spacing:.06em;margin:18px 0 12px;color:var(--green);overflow-wrap:anywhere}.actions{display:flex;gap:9px;flex-wrap:wrap}.coupon .actions{display:grid;grid-template-columns:1fr}.list>div{padding:18px 0;border-bottom:1px solid var(--border)}.list>div:last-child{border:0}.empty{text-align:center;padding:40px 24px}footer{text-align:center;padding:20px 16px 30px;color:var(--muted);font-size:12px}.appSetup{margin:24px 0}.appSetup button{margin:6px 10px 6px 0}.notifySetup{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.notifySetup h3{margin:0;font-size:20px}.adminCoupon h3{margin:4px 0 8px}.adminCoupon p{margin:8px 0}.statusBadge{display:inline-block;font-size:12px;padding:4px 9px;border-radius:20px;background:#fff0e3;vertical-align:middle}.danger{background:#963d33;border-color:#963d33}button:disabled{opacity:.5;cursor:not-allowed}.adminPreview{width:100%;max-width:400px;border-radius:12px;display:block}.userRow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.userRow strong{overflow-wrap:anywhere}.bottomNav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fffefa;border-top:1px solid var(--border);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 18px #71351b08}.bottomNav a{flex:1;max-width:180px;display:flex;align-items:center;gap:4px;flex-direction:column;padding:12px 8px 10px;position:relative;text-decoration:none;font-size:11px;color:#74685f}.bottomNav a.selected{color:var(--orange);font-weight:800}.bottomNav a.selected:before{content:'';height:3px;background:var(--orange);position:absolute;top:0;left:18%;right:18%;border-radius:0 0 3px 3px}.signed-in{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.loginLayout{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;max-width:1000px;margin:0 auto}.loginHero{text-align:center;position:relative}.loginHero:before{content:'';position:absolute;z-index:-1;width:80%;aspect-ratio:1;top:0;left:10%;background:radial-gradient(circle,#ffe0ac 0,#ffecd6 45%,transparent 70%);border-radius:50%}.mascotHero{display:block;width:100%;max-width:390px;margin:0 auto;height:auto;aspect-ratio:1;object-fit:contain}.loginHero h1{font-size:56px;line-height:1.04;margin:6px 0 16px}.loginHero p:last-child{font-size:20px}.loginCard h2{font-size:23px;margin-bottom:6px}.loginCard .button{margin-top:12px}.forgot{display:block;text-align:center;font-size:13px;margin:16px 0}.passwordField{display:block;position:relative}.passwordField input{padding-right:54px!important}.passwordToggle{position:absolute;right:4px;top:3px;min-height:42px;padding:8px;background:none;color:var(--muted);border:0}.passwordToggle .uiIcon{width:20px}.loginForms .appSetup{background:#ffeddc;box-shadow:none;padding:20px}.loginForms .appSetup h2{font-size:17px}.loginForms .appSetup button{width:100%;background:transparent}.loginForms .appSetup p{font-size:13px}details{border-top:1px solid var(--border);padding-top:16px;margin-top:18px}summary{font-size:13px;font-weight:650;color:var(--green);cursor:pointer}details p{font-size:13px}.welcomeBanner{background:linear-gradient(110deg,#ffebd4,#ffe2b7);border:1px solid #f6d7b1;border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;margin-bottom:24px;overflow:hidden;gap:12px}.welcomeBanner h2{font-size:25px;margin:0 0 6px}.welcomeBanner p{margin:0;font-size:14px}.welcomeBanner img{object-fit:contain;flex-shrink:0;width:115px;height:115px;margin:-14px 0}.profileLayout{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.profileLayout .appSetup{margin-top:0}.profileChoices{display:grid;grid-template-columns:1fr 1fr}.accountCard{display:flex;align-items:center;gap:16px}.accountCard img{object-fit:contain;background:#fff0df;border-radius:50%;width:66px;height:66px}.accountCard strong{display:block;overflow-wrap:anywhere;font-size:15px}.accountCard div{min-width:0}.logoutForm{margin:18px 0;text-align:center}.link{background:none;border:0;color:var(--green);cursor:pointer;font:700 14px system-ui;text-decoration:none;padding:10px}.admin-page .topNav{flex-wrap:wrap}.admin-page .card{overflow-wrap:anywhere}@media(min-width:900px){.bottomNav{display:none}.signed-in{padding-bottom:0}}@media(max-width:850px){.loginLayout{grid-template-columns:1fr;gap:14px;max-width:440px}.signed-out .top{justify-content:center;padding-top:24px}.signed-out .brand img{width:195px}.loginHero .mascotHero{max-width:245px}.loginHero h1{font-size:34px}.loginHero h1 br{display:none}.loginHero p:last-child{font-size:16px;margin-bottom:12px}.loginHero .eyebrow{display:none}.loginForms .card{margin-bottom:14px}.profileLayout{grid-template-columns:1fr;gap:0}}@media(max-width:700px){.top{padding:16px 18px 6px;gap:10px}.brand img{width:133px}.topNav{gap:10px;font-size:12px}.topNav>a[href="/"],.topNav>a[href="/?page=profile"]{display:none}.notificationLink{padding:8px}.container{padding:20px 16px 24px}.signed-out .container{padding-top:10px}.pageIntro .eyebrow{display:none}.pageIntro{margin-bottom:18px}.pageIntro h1{font-size:34px}.pageIntro p:last-child{font-size:16px}.card{padding:22px;border-radius:17px}.hero{padding:24px;border-radius:18px}.columns,.formgrid{grid-template-columns:1fr}.welcomeBanner{padding:18px 16px;gap:8px}.welcomeBanner h2{font-size:21px}.welcomeBanner p{font-size:12px}.welcomeBanner img{width:90px;height:100px}.couponBody{padding:18px}.couponBody h2{font-size:22px}.loginCard h2{font-size:21px}.appSetup h2{font-size:20px}.profileChoices{gap:8px}.profileChoices .choice{font-size:12px;padding:10px 8px}.appSetup button{width:100%;margin-right:0}.admin-page .topNav{max-width:125px}.admin-page .top{align-items:center}.admin-page .notificationLink{display:none}.signed-out footer{padding-top:0}}

/* Kedvezményszint – az app meglévő bordó/narancs arculatához. */
.loyaltyBadge{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;padding:18px;margin:16px 0;background:#fff2e6;border:1px solid #e5b287}
.loyaltyBadge strong{font-size:1.15rem}.loyaltyBadge span{font-size:2rem;font-weight:800}
.tier-silver{background:#f0f3f6;border-color:#bcc7d0}.tier-gold{background:#fff3ce;border-color:#d5ae43}.tier-platinum{background:#e8f2f4;border-color:#94bec7}
.loyaltyDetail,.loyaltyWarning,.loyaltyChange{padding:14px;border-radius:12px;background:#faf5ef;margin:14px 0}.loyaltyWarning{background:#fff0df;border-left:4px solid #d77829}.loyaltyCard h3{margin-top:0}.loyaltyCard .small{line-height:1.6}

/* Valós darabszámmal megjelenő, limitált kuponok. */
.limitedCoupon {border:2px solid #e88728;box-shadow:0 8px 24px rgba(133,27,22,.12)}
.quotaBox {margin:18px 0;padding:18px;border-radius:16px;background:#fff3e1;border:1px solid #f3c996;color:#641610}
.quotaTag {margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.07em;color:#851b16}
.quotaRemaining {margin:0 0 10px;font-size:1.05rem}
.quotaRemaining strong {font-size:2rem;line-height:1;color:#851b16}
.quotaBox progress {display:block;width:100%;height:10px;border:0;border-radius:20px;overflow:hidden;accent-color:#e88728;background:#ecd9c0}
.quotaBox progress::-webkit-progress-bar {background:#ecd9c0;border-radius:20px}
.quotaBox progress::-webkit-progress-value {background:#e88728;border-radius:20px}
.quotaBox progress::-moz-progress-bar {background:#e88728;border-radius:20px}
.quotaBox .small {margin:10px 0 0;font-size:.8rem;line-height:1.45}
.quotaEmpty {background:#f3eee8;border-color:#dbd4ca;color:#655950}
.quotaEmpty .quotaTag,.quotaEmpty .quotaRemaining strong {color:#655950}
.quotaAdminSummary {padding:10px 14px;border-radius:10px;background:#fff3e1;color:#641610}
#quotaCorrection {scroll-margin-top:24px}
select {width:100%;padding:12px;border:1px solid #d9cdc2;border-radius:10px;background:white;color:#36251b;font:inherit}

.couponGray { filter:grayscale(1); background:#eee; border-color:#aaa; }
.couponGray img { opacity:.65; }
.couponGray .couponBody { color:#444; }
.couponState { display:flex; gap:.5rem; flex-wrap:wrap; }
.couponCountdown { padding:.8rem; border-radius:12px; background:#fff3df; color:#692212; font-weight:700; font-variant-numeric:tabular-nums; }
.couponCountdown.endingSoon { background:#ffe5db; color:#851b16; }
.coupon { scroll-margin-top:100px; }
.pushPreview { border:1px solid #d5c4b5; border-radius:14px; padding:1rem; margin:1rem 0; background:#fff8f0; overflow-wrap:anywhere; }
.tableWrap { overflow-x:auto; }
#manualPush { scroll-margin-top:100px; }
@media(max-width:480px) { .couponCountdown { font-size:.85rem; } }
/* Admin célzás: hosszú címek és mobilnézet. */
#targeting .userRow{gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #eadbd2}
#targeting .userRow span{overflow-wrap:anywhere;flex:1;min-width:160px}
#recipientResults,#recipientSelected{max-height:360px;overflow:auto}
#recipientReport{overflow-wrap:anywhere}
#targeting [hidden],#audience[hidden]{display:none!important}
