:root{--red:#9d1d1f;--red2:#701113;--cream:#fff8ed;--ink:#17120f;--gold:#ffc938;--muted:#746b62;--white:#fff;--line:rgba(23,18,15,.1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.aefca-body{background:radial-gradient(circle at 50% -10%,#fff 0,#fff8ed 38%,#f7ead7 100%);min-height:100vh}.shell{width:min(680px,100%);min-height:100vh;margin:auto;padding:22px 18px 40px}.hero,.panel,.home{animation:pop .35s ease}.hero{position:relative;text-align:center;padding-top:18px}.hero-visual{width:min(100%,540px);margin:16px auto 4px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.7);box-shadow:0 20px 60px rgba(78,43,19,.12);padding:10px;border-radius:28px;backdrop-filter:blur(6px)}.hero-visual img{display:block;width:100%;height:220px;object-fit:cover;border-radius:20px}.brand-pill{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:900;font-size:12px;letter-spacing:.08em;box-shadow:0 8px 30px rgba(52,32,16,.06)}.hero-mark{width:92px;height:92px;border-radius:28px;margin:24px auto 18px;background:linear-gradient(145deg,var(--red),var(--red2));color:#fff;display:grid;place-items:center;font-size:37px;font-weight:1000;box-shadow:0 20px 50px rgba(157,29,31,.25);transform:rotate(-3deg)}.hero-mark span{color:var(--gold);margin:0 2px}.hero h1{font-size:clamp(40px,10vw,66px);line-height:.95;letter-spacing:-.055em;margin:0 auto 16px;max-width:620px}.hero h1 em{font-style:normal;color:var(--red);position:relative}.lead{font-size:18px;line-height:1.5;color:var(--muted);max-width:540px;margin:0 auto 24px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.benefit-grid article{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:20px;padding:16px 10px;text-align:left;box-shadow:0 10px 28px rgba(55,33,14,.05)}.benefit-grid b{font-size:24px;display:block}.benefit-grid strong{font-size:13px;display:block;margin:7px 0 4px}.benefit-grid span{font-size:11px;line-height:1.25;color:var(--muted)}.journey{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:850;margin:18px 0;color:#4d453f}.journey i{font-style:normal;color:#b7aa9d}.primary,.install,.secondary,.ghost,.linkbtn,.quick button,.back{font:inherit;border:0;cursor:pointer}.primary{width:100%;min-height:58px;border-radius:18px;background:linear-gradient(135deg,var(--red),#bd272a);color:#fff;font-weight:950;letter-spacing:.02em;font-size:15px;box-shadow:0 15px 34px rgba(157,29,31,.23)}.primary span{margin-left:8px}.linkbtn{background:transparent;color:var(--red);font-weight:850;padding:16px}.install{width:100%;margin-top:8px;background:#15110e;color:#fff;border-radius:16px;padding:15px;font-weight:850}.iosHelp{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff4cb;font-size:13px}.panel{padding-top:12px}.panel form{background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:0 14px 40px rgba(55,33,14,.06);border-radius:24px;padding:16px}.back{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:20px}.step{margin-top:28px;color:var(--red);font-size:12px;font-weight:950;letter-spacing:.12em}.panel h2{font-size:42px;letter-spacing:-.04em;margin:8px 0 8px}.panel>p{color:var(--muted);line-height:1.5;margin:0 0 20px}form label:not(.check){display:block;font-size:12px;font-weight:900;color:#4b443e;margin:13px 0}input{width:100%;margin-top:7px;border:1px solid #d9cfc5;border-radius:15px;background:#fff;padding:15px;font-size:16px;outline:none}input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(157,29,31,.08)}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.consentBox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:16px 0}.consentBox>strong{display:block;margin-bottom:8px}.consentBox small{display:block;color:var(--muted);margin-top:8px;line-height:1.35}.check{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;line-height:1.35;color:#49413b}.check input{width:20px;height:20px;flex:0 0 20px;margin:0}.check a{color:var(--red)}.formmsg{min-height:20px;margin-top:10px;font-size:13px;font-weight:700}.formmsg.err{color:#b42318}.formmsg.ok{color:#1b7d3a}.topbar{display:flex;justify-content:space-between;align-items:center;margin:8px 0 18px}.topbar small{font-size:11px;font-weight:950;color:var(--red);letter-spacing:.1em}.topbar h2{font-size:34px;margin:3px 0 0;letter-spacing:-.04em}.ghost{background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:12px;font-weight:800}.pointsCard{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;border-radius:26px;padding:22px;box-shadow:0 22px 50px rgba(157,29,31,.25)}.pointsCard small{font-size:11px;font-weight:900;letter-spacing:.12em;opacity:.8}.pointsSub{display:block;margin-top:6px;font-size:11px;line-height:1.35;opacity:.9}.pointsCard strong{display:block;font-size:40px;margin-top:3px}.pointsCard strong em{font-size:14px;font-style:normal}.star{font-size:44px}.quick{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0 24px}.quick button{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 6px;font-size:23px}.quick span{display:block;font-size:11px;font-weight:900;margin-top:5px}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:20px 2px 10px}.sectionHead h3{font-size:22px;margin:0}.sectionHead span{font-size:12px;color:var(--muted)}.rewards{display:grid;gap:10px}.reward{display:flex;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.reward h4{margin:0 0 3px;font-size:15px}.reward p{margin:0;color:var(--muted);font-size:12px}.reward b{white-space:nowrap;color:var(--red)}.empty{background:#fff;border:1px dashed #cfc2b7;border-radius:18px;padding:18px;color:var(--muted);font-size:13px}.secondary{background:#17120f}.qrMini{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;margin-top:14px}.qrMini img{width:70px;height:70px}.qrMini b,.qrMini small{display:block}.qrMini small{color:var(--muted);margin-top:3px}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,20px);background:#15110e;color:#fff;padding:12px 16px;border-radius:999px;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:.25s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:520px){.shell{padding:16px 14px 32px}.hero-visual img{height:180px}.hero h1{font-size:45px}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid article:last-child{grid-column:1/-1}.journey{font-size:11px;gap:5px}.panel h2{font-size:36px}.two{grid-template-columns:1fr}.quick{gap:7px}.pointsCard strong{font-size:35px}}

/* v0.1.1 - order hub */
.orderChoices{display:grid;gap:12px;margin:22px 0 14px}.orderChoices .primary{width:100%;min-height:62px}.wide{width:100%}

/* v0.1.3 - ordini completi */
.orderPanel{padding-bottom:92px}.orderTop{display:flex;align-items:flex-start;gap:14px}.orderTop .step.compact{margin-top:2px}.orderTop h2{margin-top:3px}.fulfillmentToggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eadfd3;padding:5px;border-radius:17px;margin:16px 0}.fulfillmentToggle button{border:0;background:transparent;padding:13px 8px;border-radius:13px;font-weight:900;cursor:pointer;color:#554b43}.fulfillmentToggle button.active{background:#fff;color:var(--red);box-shadow:0 5px 18px rgba(40,25,13,.09)}.menuSearch{display:flex!important;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 12px;margin:12px 0!important;font-size:20px!important}.menuSearch input{border:0;box-shadow:none!important;margin:0;background:transparent;padding:14px 5px}.categoryChips{display:flex;gap:7px;overflow:auto;padding:3px 0 10px;scrollbar-width:none}.categoryChips::-webkit-scrollbar{display:none}.categoryChips button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:850;color:#50463e;cursor:pointer}.categoryChips button.active{background:#17120f;color:#fff;border-color:#17120f}.menuProducts{display:grid;gap:9px}.menuCategoryTitle{display:flex;align-items:center;gap:7px;margin:14px 2px 2px;font-size:18px}.menuProduct{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.menuProductText{min-width:0}.menuProduct h3{font-size:16px;margin:0 0 4px}.menuProduct p{font-size:12px;line-height:1.35;color:var(--muted);margin:0 0 6px}.menuProduct strong{color:var(--red);font-size:15px}.productAdd{display:flex;align-items:center;gap:7px;flex:0 0 auto}.productAdd button,.qty button{border:0;cursor:pointer;font-weight:950}.productAdd button{min-width:36px;height:36px;border-radius:12px;background:#f3e9de;color:#6e1719}.productAdd .addBtn{padding:0 10px;background:var(--red);color:#fff;font-size:11px}.cartBar{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(644px,calc(100% - 28px));z-index:20;border:0;border-radius:18px;background:#17120f;color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.25);cursor:pointer}.cartBar strong{color:var(--gold)}.cartItems{display:grid;gap:10px;margin:16px 0}.cartItem{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;position:relative}.cartMain{display:flex;justify-content:space-between;gap:12px;align-items:center}.cartItem h3{margin:0;font-size:16px}.cartItem span{font-size:12px;color:var(--muted)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:34px;height:34px;border-radius:11px;background:#efe5db;font-size:18px}.cartItem label{font-size:11px!important;margin:10px 0 0!important}.cartItem input{padding:10px 12px;font-size:14px;border-radius:12px}.lineTotal{display:block;text-align:right;color:var(--red);margin-top:8px}.checkoutBox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.checkoutType{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.checkoutBox textarea,.checkoutBox select{width:100%;margin-top:7px;border:1px solid #d9cfc5;border-radius:15px;background:#fff;padding:13px;font-size:15px;outline:none}.totals{display:grid;gap:7px;margin:18px 0}.totals>div{display:flex;justify-content:space-between}.totals .grand{font-size:20px;border-top:1px solid var(--line);padding-top:10px;margin-top:3px}.orderSuccess{text-align:center;padding-top:70px}.successIcon{font-size:62px}.orderSuccess h2{margin-top:8px}.successNumber{display:inline-block;margin:12px 0 24px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-weight:950;color:var(--red)}
@media(max-width:520px){.menuProduct{align-items:flex-start}.menuProduct p{max-width:250px}.productAdd{flex-wrap:wrap;justify-content:flex-end}.cartBar{width:calc(100% - 24px)}}

.nextRewardCard,.referralCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(55,33,14,.05)}
.nextRewardTop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.nextRewardTop small,.referralCard small{font-size:10px;font-weight:950;letter-spacing:.11em;color:var(--muted)}.nextRewardTop h4{font-size:19px;margin:4px 0}.nextRewardTop p{font-size:12px;color:var(--muted);margin:0}.nextRewardTop>b{color:var(--red);white-space:nowrap}.progressTrack{height:13px;border-radius:999px;background:#e6e4df;overflow:hidden;margin:15px 0 7px}.progressTrack i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38a848,#78ca55);transition:width .45s ease}.progressMeta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.progressMeta strong{color:#2d873b}.nextRewardDone{display:flex;justify-content:space-between;gap:12px;align-items:center}.nextRewardDone b{color:#207536}.nextRewardDone span{font-size:12px;color:var(--muted)}
.referralCard strong{font-size:25px;display:block;margin:5px 0;color:var(--red);letter-spacing:.05em}.referralCard p{font-size:13px;color:var(--muted);line-height:1.4}.referralActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.referralActions .ghost{width:100%}.referralStats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.referralStats span{background:#f8f3ec;border-radius:12px;padding:9px 7px;text-align:center;font-size:10px;color:var(--muted)}.referralStats b{display:block;color:var(--ink);font-size:16px;margin-top:3px}
.referralInviteNotice{background:#eaf7eb;border:1px solid #b9dfbf;color:#246b32;padding:12px 13px;border-radius:14px;font-size:13px;font-weight:800;margin:12px 0}
.catalogList{display:grid;gap:10px;margin-top:16px}.catalogReward{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.catalogReward.unlocked{border-color:#b8ddbd;background:#f6fff6}.catalogIcon{font-size:27px}.catalogReward h3{margin:0 0 3px;font-size:16px}.catalogReward p{margin:0 0 5px;font-size:12px;color:var(--muted)}.catalogReward small{font-size:11px;color:#2c7b39;font-weight:800}.catalogReward>b{color:var(--red);white-space:nowrap}
@media(max-width:520px){.quick{grid-template-columns:repeat(3,1fr);gap:5px}.quick button{padding:12px 3px;font-size:20px}.quick span{font-size:9px}.referralStats{grid-template-columns:1fr 1fr 1fr}.catalogReward{grid-template-columns:auto 1fr}.catalogReward>b{grid-column:2}}

/* v0.3.5 - Trasparenza Referral primo livello */
.referralPeopleWrap{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.referralPeopleTitle{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.referralPeopleTitle b{font-size:13px}.referralPeopleTitle small{font-size:9px!important;letter-spacing:.03em!important;text-align:right}
.referralPeople{display:grid;gap:7px}.referralPeopleEmpty{padding:12px;border-radius:12px;background:#f8f3ec;color:var(--muted);font-size:12px;text-align:center}
.referralPerson{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;background:#faf8f4;border:1px solid var(--line);border-radius:13px;padding:9px}
.referralAvatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#efe7dc;font-size:12px;font-weight:950;color:var(--red)}
.referralPersonMain{min-width:0}.referralPersonMain b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referralPersonMain small{display:block;margin-top:2px;font-size:10px!important;line-height:1.3;letter-spacing:0!important;color:var(--muted)}
.referralPersonBadge{font-size:9px;font-weight:950;padding:6px 7px;border-radius:999px;background:#eee7df;color:#6a5a48}.referralPerson.ordered .referralPersonBadge{background:#e9f5ea;color:#347540}.referralPerson.rewarded .referralPersonBadge{background:#fff1c7;color:#8d6500}
@media(max-width:520px){.referralPeopleTitle{align-items:flex-start;flex-direction:column;gap:2px}.referralPeopleTitle small{text-align:left}.referralPerson{grid-template-columns:34px 1fr auto}.referralAvatar{width:34px;height:34px}}

/* v0.4.0 - Web Push, campagne condivisibili */
.campaignPage{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 18px 45px rgba(55,33,14,.09);margin-top:14px}.campaignCopy{padding:20px}.campaignKicker{display:inline-flex;background:#fff2c9;color:#79570d;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:950;letter-spacing:.08em}.campaignSubtitle{font-size:18px!important;line-height:1.4!important;color:#4b433c!important;font-weight:750;margin:4px 0 14px!important}.campaignMessage{white-space:pre-line;font-size:16px;line-height:1.65;color:#51483f;background:#fffaf3;border-radius:17px;padding:14px 15px;margin:12px 0}.campaignHero{margin:0;border-radius:0;overflow:hidden;border:0;background:#fff;box-shadow:none}
.campaignHero img{display:block;width:100%;max-height:360px;object-fit:cover}.campaignView>p{font-size:16px;line-height:1.55;color:#51483f}.campaignActions{display:grid;gap:9px;margin-top:18px}.campaignLink{display:flex;align-items:center;justify-content:center;text-decoration:none}.campaignSocials{display:grid;grid-template-columns:1fr 1fr;gap:8px}.campaignSocials .ghost{min-height:48px}.shareExplain{margin-top:12px;background:#fff5d6;border:1px solid #ead493;border-radius:14px;padding:11px 12px;font-size:12px;line-height:1.4;color:#6d5411}

.referralActions.three{grid-template-columns:1.25fr 1fr 1fr}@media(max-width:520px){.referralActions.three{grid-template-columns:1fr}.referralActions.three .ghost{min-height:46px}}

/* v0.4.1 - Novità App + archivio comunicazioni */
.newsHome{margin:14px 0 16px;background:linear-gradient(145deg,#fff7d8,#fff);border:1px solid rgba(157,29,31,.12);border-radius:22px;padding:14px;box-shadow:0 12px 32px rgba(55,33,14,.06)}
.newsHomeHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.newsHomeHead small{display:block;font-size:10px;font-weight:950;letter-spacing:.1em;color:var(--red)}.newsHomeHead b{display:block;margin-top:2px;font-size:18px}.newsHomeHead .ghost{padding:8px 10px;font-size:11px}
.newsHomeList,.newsArchive{display:grid;gap:9px}.newsCard{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:9px;cursor:pointer;transition:.18s}.newsCard:active{transform:scale(.99)}.newsCard>img,.newsIcon{width:62px;height:62px;border-radius:12px;object-fit:cover;background:#f5eee5;display:grid;place-items:center;font-size:25px}.newsText{min-width:0}.newsText small{display:block;color:var(--muted);font-size:9px;margin-bottom:2px}.newsText b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsText p{font-size:10px;color:var(--muted);margin:3px 0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.newsText span{font-size:9px;color:#2d7c3b;font-weight:850}.newsOpen{padding:8px 9px;font-size:10px}.newsArchive{margin-top:16px}.newsArchive .newsCard{grid-template-columns:78px 1fr auto}.newsArchive .newsCard>img,.newsArchive .newsIcon{width:78px;height:70px}
@media(max-width:520px){.newsCard{grid-template-columns:54px 1fr}.newsCard>img,.newsIcon{width:54px;height:54px}.newsOpen{grid-column:2;justify-self:start;padding:7px 9px}.newsArchive .newsCard{grid-template-columns:64px 1fr}.newsArchive .newsCard>img,.newsArchive .newsIcon{width:64px;height:64px}}

/* v0.4.2 */
#pushPermissionBtn[data-active="1"]{background:#eaf7ed;color:#1b6f37;border:1px solid #b9dfc2}
.newsHome{display:block;margin:14px 0 18px}.newsHome .empty{padding:12px}

/* v0.4.3 */
.hero-trust{margin:12px auto 16px;display:flex;flex-direction:column;gap:3px;align-items:center}.hero-trust strong{font-size:18px;letter-spacing:-.01em;color:var(--ink)}.hero-trust span{font-size:13px;font-weight:800;color:var(--red)}

/* v0.4.5 - Novità compatte e video on-demand */
.quick .newsQuick span{font-size:8.5px;line-height:1.08;max-width:70px;margin-left:auto;margin-right:auto}.campaignVideo{margin:0;border-radius:0;overflow:hidden;background:#111;box-shadow:none}.campaignVideo video{display:block;width:100%;max-height:420px;background:#111}.newsCard .newsIcon{display:grid;place-items:center}

/* v0.5.1 - Profilo Master + QR premi */
.rewardQrBtn{display:inline-flex;margin-top:9px;border:0;border-radius:11px;background:#1f7a3c;color:#fff;padding:9px 11px;font-size:10px;font-weight:950;cursor:pointer}.voucherCard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;text-align:center;box-shadow:0 15px 40px rgba(55,33,14,.07);margin:16px 0}.voucherQr{display:grid;place-items:center;min-height:270px}.voucherQr canvas{max-width:100%;height:auto;border-radius:12px}.voucherCodeLabel{font-size:10px;font-weight:950;letter-spacing:.12em;color:var(--muted);margin-top:8px}.voucherCard>strong{display:block;font-size:26px;letter-spacing:.08em;color:var(--red);margin:5px 0}.voucherCard>span{font-size:13px;font-weight:850;color:#2f6f3b}.aefMiniNotice{background:#fff5d6;border:1px solid #ead493;border-radius:14px;padding:12px;font-size:12px;line-height:1.45;color:#6d5411}
.quick .masterQuick{background:linear-gradient(145deg,#17120f,#3b3027);color:#fff}.masterPanel>p{margin-bottom:14px}.masterCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:15px;margin:12px 0;box-shadow:0 12px 32px rgba(55,33,14,.06)}.masterCardHead{display:flex;gap:11px;align-items:center;margin-bottom:13px}.masterCardHead>span{width:43px;height:43px;border-radius:14px;background:#f5ede3;display:grid;place-items:center;font-size:22px}.masterCardHead b,.masterCardHead small{display:block}.masterCardHead b{font-size:16px}.masterCardHead small{font-size:11px;color:var(--muted);line-height:1.35;margin-top:2px}.masterAction{min-height:49px}.masterInline{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.masterInline input{margin:0}.masterInline .ghost{height:49px}.scannerWrap{position:relative;margin:10px 0;background:#111;border-radius:18px;overflow:hidden;padding:10px}.scannerWrap video{display:block;width:100%;min-height:220px;max-height:360px;object-fit:cover;border-radius:12px}.scannerLine{position:absolute;left:12%;right:12%;top:48%;height:2px;background:#5df277;box-shadow:0 0 15px rgba(93,242,119,.8);pointer-events:none}.scannerWrap .ghost{width:100%;margin-top:8px}.scannerWrap small{display:block;text-align:center;color:#fff;margin-top:7px}.masterResults{display:grid;gap:7px;margin-top:10px}.masterClientRow{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;border:1px solid var(--line);border-radius:14px;background:#faf8f4;padding:10px;text-align:left;cursor:pointer}.masterClientRow span,.masterClientRow b,.masterClientRow small{display:block}.masterClientRow small{font-size:10px;color:var(--muted);margin-top:2px}.masterClientRow strong{white-space:nowrap;color:var(--red)}.masterEditor{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.selectedClient{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f7f1e8;border-radius:13px;padding:10px}.selectedClient span{font-size:11px}.quickDelta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.quickDelta button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;font-weight:900;cursor:pointer}.masterCard textarea{width:100%;margin-top:7px;border:1px solid #d9cfc5;border-radius:15px;background:#fff;padding:13px;font-size:15px;outline:none;resize:vertical}.masterCard input[type=file]{padding:11px;font-size:13px}.masterRecent{display:grid;gap:7px}.masterRecentRow{background:#faf8f4;border:1px solid var(--line);border-radius:13px;padding:10px}.masterRecentRow b,.masterRecentRow span,.masterRecentRow small{display:block}.masterRecentRow b{font-size:12px}.masterRecentRow span{font-size:11px;margin-top:2px}.masterRecentRow small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.35}
@media(max-width:520px){.masterInline{grid-template-columns:1fr}.masterInline .ghost{width:100%}.selectedClient{align-items:flex-start;flex-direction:column}.voucherQr{min-height:250px}.quickDelta{grid-template-columns:repeat(2,1fr)}}
.voucherActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.voucherActions .ghost{min-height:44px}@media(max-width:520px){.voucherActions{grid-template-columns:1fr}}

/* v0.5.2 QR premio + punti Master semplificati */
.rewardQrSvg{display:block;width:min(264px,100%);height:auto;background:#fff;border-radius:14px;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.08)}.qrFallback{padding:24px;border:1px dashed #cfc2b7;border-radius:14px;color:var(--muted);line-height:1.5}.masterPointStepper{display:grid;grid-template-columns:72px 1fr 72px;gap:10px;align-items:stretch;margin:14px 0 8px}.masterPointStepper>button{border:0;border-radius:18px;min-height:72px;font-weight:950;cursor:pointer}.masterPointStepper>#masterMinusPoint,.masterPointStepper>#masterPlusPoint{font-size:38px;background:#17120f;color:#fff}.masterPointValue{background:#fff3d1;color:var(--ink);border:1px solid #ead493!important}.masterPointValue strong{display:block;font-size:30px;line-height:1}.masterPointValue strong.negative{color:#a51c20}.masterPointValue small{display:block;margin-top:6px;font-size:9px;letter-spacing:.08em;color:var(--muted)}.masterBalance{text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px;font-size:13px;margin-bottom:12px}.masterBalance strong{font-size:18px;color:var(--red)}@media(max-width:520px){.masterPointStepper{grid-template-columns:64px 1fr 64px}.masterPointStepper>button{min-height:66px}}

/* v0.5.3 QR robusto */
.rewardQrRemote{display:block;width:min(300px,100%);height:auto;margin:auto;background:#fff;border-radius:14px;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.08)}.qrFallbackText{font-size:11px;font-weight:850;color:#2f6f3b;margin-top:8px}

/* v0.5.8 dashboard Master + popup novità menu */
.masterKpiGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.masterKpi{background:#fff7ec;border:1px solid #f0dfc8;border-radius:15px;padding:12px}.masterKpi small{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#866b50}.masterKpi b{display:block;font-size:24px;line-height:1.1;margin:4px 0}.masterKpi span{font-size:11px;color:#6f6257}.masterProgressBlock{background:#171511;color:white;border-radius:16px;padding:14px;margin:12px 0}.masterProgressBlock>div:first-child{display:flex;justify-content:space-between;gap:12px}.masterProgress{height:10px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden;margin:10px 0}.masterProgress i{display:block;height:100%;background:#ffc928;border-radius:999px}.masterActivity>small{font-weight:900;letter-spacing:.08em}.masterActivity>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:12px}.masterActivity span{color:#756b63;text-align:right}.menuNewsOverlay{position:fixed;z-index:99999;inset:0;background:rgba(23,21,17,.64);display:flex;align-items:flex-end;justify-content:center;padding:18px}.menuNewsOverlay[hidden]{display:none}.menuNewsBox{width:min(100%,520px);background:#fffaf0;border-radius:24px;padding:22px;position:relative;box-shadow:0 30px 70px rgba(0,0,0,.28)}.menuNewsClose{position:absolute;right:14px;top:12px;border:0;background:#f1ece5;width:36px;height:36px;border-radius:50%;font-size:24px}.menuNewsEmoji{font-size:36px}.menuNewsBox>small{font-weight:900;letter-spacing:.12em;color:#9d1d1f}.menuNewsBox h3{font-size:26px;margin:4px 0 14px}.menuNewsItem{display:flex;gap:10px;align-items:center;border-top:1px solid #eee3d6;padding:10px 0}.menuNewsItem span{font-size:22px}.menuNewsItem b,.menuNewsItem small{display:block}.menuNewsItem small{color:#706a60;margin-top:2px}.menuNewsBox .primary{margin-top:14px;width:100%}label small{display:block;margin-top:5px;color:#7d746b;font-size:11px}


/* v0.5.12 · I miei ordini: oggi + tutto il giorno successivo */
.myOrdersList{display:grid;gap:9px;margin:8px 0 15px}.myOrderCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;box-shadow:0 8px 22px rgba(55,33,14,.05)}.myOrderTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.myOrderTop small,.myOrderTop b,.myOrderCard small{display:block}.myOrderTop small{font-size:10px;color:var(--muted);font-weight:850;letter-spacing:.05em}.myOrderTop b{font-size:14px;margin-top:3px}.myOrderStatus{white-space:nowrap;border-radius:999px;padding:6px 8px;background:#fff1c8;font-size:9px;font-weight:950}.myOrderStatus.accepted{background:#dff5e7;color:#116738}.myOrderStatus.rejected{background:#fde2e1;color:#8d1f1f}.myOrderCard p{font-size:12px;line-height:1.4;margin:9px 0 5px;color:#51483f}.myOrderCard>small{font-size:10px;color:var(--muted);margin-bottom:7px}.myOrderFoot{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.myOrderFoot span{font-size:10px;color:var(--muted)}.myOrderFoot strong{font-size:15px}

/* v0.5.17 - I miei coupon */
.couponTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 16px}.couponTabs button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 8px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.couponTabs button.active{background:#17120f;color:#fff}.couponTabs b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:4px;border-radius:999px;background:rgba(157,29,31,.1);color:var(--red);font-size:11px}.couponTabs button.active b{background:rgba(255,255,255,.15);color:#fff}.myCouponsList{display:grid;gap:10px}.myCouponCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:0 10px 28px rgba(55,33,14,.05)}.myCouponCard.active{border-color:rgba(157,29,31,.25);cursor:pointer}.myCouponCard.redeemed{opacity:.82}.myCouponCard.expired{opacity:.66}.myCouponTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.myCouponTop small{display:block;font-size:10px;font-weight:950;letter-spacing:.1em;color:var(--red);margin-bottom:4px}.myCouponCard.redeemed .myCouponTop small{color:#287545}.myCouponCard.expired .myCouponTop small{color:var(--muted)}.myCouponTop h3{margin:0;font-size:18px;letter-spacing:-.02em}.myCouponBadge{font-size:28px}.myCouponCard p{margin:9px 0;color:var(--muted);font-size:13px;line-height:1.4}.myCouponMeta{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:10px}.myCouponMeta span{font-size:11px;font-weight:800;color:#5f554d}.myCouponMeta .ghost{padding:8px 11px;font-size:11px}.quick .couponsQuick{background:#fff7dd}.quick .couponsQuick span{font-size:9.5px}
@media(max-width:520px){.couponTabs{gap:5px}.couponTabs button{padding:10px 4px;font-size:10px}.myCouponMeta{align-items:flex-start;flex-direction:column}.myCouponMeta .ghost{width:100%}}

/* v0.5.18 · Pizza Composta */
.menuProduct.isComposer{border:2px solid rgba(157,29,31,.18);background:linear-gradient(180deg,#fff,#fff9f3)}
.composeHint{display:block;margin-top:7px;color:#8a5a43;font-weight:750;font-size:11px;line-height:1.35}
.composeQty{display:block;font-size:10px;color:#7a6458;margin-bottom:5px}
.pizzaComposerOverlay{position:fixed;inset:0;z-index:999999;background:rgba(18,12,9,.66);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.pizzaComposerOverlay[hidden]{display:none!important}
.pizzaComposerCard{width:min(620px,100%);max-height:91vh;overflow:hidden;background:#fffaf2;border-radius:26px 26px 20px 20px;padding:18px;box-shadow:0 20px 80px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:12px}
.pizzaComposerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pizzaComposerHead small{font-size:10px;letter-spacing:.09em;color:#9d1d1f;font-weight:950}.pizzaComposerHead h3{margin:3px 0 0;font-size:25px;line-height:1.05}.pizzaComposerHead button{border:0;background:#f1e8df;width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;flex:0 0 auto}
.pizzaComposerSearch{display:flex;align-items:center;gap:8px;border:1px solid #e8ddd1;background:#fff;border-radius:14px;padding:0 12px}.pizzaComposerSearch input{border:0!important;box-shadow:none!important;background:transparent!important;padding:13px 0!important;width:100%}
.pizzaIngredientList{overflow:auto;display:grid;gap:7px;padding-right:2px;min-height:150px}.pizzaIngredient{appearance:none;border:1px solid #eadfd4;background:#fff;border-radius:15px;padding:11px 12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#17120f}.pizzaIngredient span{display:flex;flex-direction:column;gap:3px}.pizzaIngredient b{font-size:14px}.pizzaIngredient small{font-size:11px;color:#75685e}.pizzaIngredient i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f5eee7;font-style:normal;font-weight:950}.pizzaIngredient.selected{border-color:#9d1d1f;background:#fff3f1}.pizzaIngredient.selected i{background:#9d1d1f;color:#fff}
.pizzaComposerTotal{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eadfd4;padding-top:12px}.pizzaComposerTotal span{font-weight:850}.pizzaComposerTotal strong{font-size:24px;color:#9d1d1f}.aefComposerOpen{overflow:hidden}
.composedIngredients{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.composedIngredients span{display:inline-flex;background:#fff0dc;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800;color:#744b31}


/* v0.5.19 - Promemoria consensi Club, discreto e persistente finche manca almeno un canale */
.clubConsentCard{background:linear-gradient(145deg,#fffaf1,#fff);border:1px solid rgba(157,29,31,.16);border-radius:20px;padding:15px;margin:14px 0;box-shadow:0 10px 28px rgba(55,33,14,.05)}
.clubConsentHead{display:flex;align-items:center;gap:10px}.clubConsentHead>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff0c7;font-size:21px}.clubConsentHead b,.clubConsentHead small{display:block}.clubConsentHead b{font-size:17px}.clubConsentHead small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}
.clubConsentWhy{margin:12px 0 10px}.clubConsentWhy p{margin:7px 0;font-size:12px;line-height:1.45;color:#554b43}.clubConsentWhy strong{color:var(--ink)}
.clubConsentStatus{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.clubConsentStatus span{background:#f7f1e8;border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:10px;font-weight:850}
.clubConsentActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.clubConsentActions .ghost{width:100%;min-height:44px;font-size:11px}.clubConsentActions button:first-child{background:#17120f;color:#fff}.clubConsentActions button:last-child{background:#effaf2;color:#176b36;border-color:#cde9d5}
@media(max-width:520px){.clubConsentActions{grid-template-columns:1fr}.clubConsentWhy p{font-size:11.5px}}


.masterPushLegend{display:grid;gap:8px;margin:10px 0 12px}
.masterPushLegend>div{border-radius:14px;padding:11px 12px}
.masterPushLegend b,.masterPushLegend small{display:block}
.masterPushLegend small{font-size:10px;line-height:1.35;margin-top:3px}
.masterStateOk{background:#e8f7ed;border:1px solid #bfe7cb;color:#175f31}
.masterStateWarn{background:#fff5d8;border:1px solid #f0d98d;color:#775400}
.masterKpiGood{background:#e8f7ed!important;border-color:#bfe7cb!important}
.masterKpiWarn{background:#fff5d8!important;border-color:#f0d98d!important}
.masterDateFilters{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;margin:10px 0}
.masterDateFilters label{font-size:11px;font-weight:800;color:var(--muted)}
.masterDateFilters input{width:100%;margin-top:5px}
.masterDateFilters button{grid-column:1/-1;min-height:46px}


/* v0.5.22 - Condividi e guadagna + Master semplificato */
.shareEarnCard{background:linear-gradient(145deg,#fff8e8,#fff);border:1px solid #ecd7a9;border-radius:20px;padding:16px;margin:14px 0;box-shadow:0 10px 28px rgba(55,33,14,.05)}
.shareEarnHead{display:flex;align-items:center;gap:10px}.shareEarnHead>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#ffe8a6;font-size:22px}.shareEarnHead b,.shareEarnHead small{display:block}.shareEarnHead b{font-size:18px}.shareEarnHead small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}
.shareEarnSteps{display:grid;gap:8px;margin:13px 0}.shareEarnSteps>div{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;background:#fff;border:1px solid #eee1c9;border-radius:14px;padding:10px}.shareEarnSteps i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#9d1d1f;color:#fff;font-style:normal;font-weight:950}.shareEarnSteps p{margin:0}.shareEarnSteps strong,.shareEarnSteps span{display:block}.shareEarnSteps strong{font-size:12px}.shareEarnSteps span{font-size:11px;line-height:1.4;color:#65594f;margin-top:2px}.shareEarnSteps span b{display:inline;color:#9d1d1f}
.shareEarnFriend{background:#fff3d1;border-radius:12px;padding:9px 10px;font-size:11px;line-height:1.4;color:#5d4a25}.shareEarnActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.shareEarnActions button{width:100%;min-height:44px;font-size:11px}.shareEarnNote{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:520px){.shareEarnActions{grid-template-columns:1fr}}


/* v0.5.28 - Push Conversion: stessa card, gerarchia più chiara e bonus +3 */
.clubPushBonus{margin:12px 0 8px;padding:12px 13px;border-radius:15px;background:linear-gradient(135deg,#fff0b8,#fff8df);border:1px solid #ecd07a;display:grid;gap:3px}
.clubPushBonus[hidden],.clubPushMoment[hidden],#clubIosHelp[hidden]{display:none!important}
.clubPushBonus strong{font-size:16px;color:#7a5200}.clubPushBonus span{font-size:12px;font-weight:850;color:#4d3b13}.clubPushBonus small{font-size:10px;line-height:1.4;color:#705d35}
.clubPushMoment{margin:9px 0;padding:10px 12px;border-radius:13px;background:#eaf7ee;border:1px solid #c7e7d0;color:#195e31;font-size:11px;line-height:1.45;font-weight:800}
.clubConsentCard:not(.pushComplete) .clubConsentActions button:first-child{background:linear-gradient(135deg,#17120f,#34271d);color:#fff;border-color:#17120f;box-shadow:0 8px 20px rgba(23,18,15,.12)}
.clubConsentCard.pushComplete{padding:11px 13px;background:#f1fbf4;border-color:#c8e7d1}.clubConsentCard.pushComplete .clubConsentHead>span{background:#dff4e5}.clubConsentCard.pushComplete .clubConsentWhy{display:none}


/* v0.5.29 - Solo funnel Push iscrizione + istruzioni iPhone. La card Home v0.5.28 resta invariata. */
.signupConsentBox{padding:16px}.signupConsentIntro{margin:0 0 8px!important}.signupConsentBox .check span{min-width:0}.signupConsentBox .check span>b{display:block;color:var(--ink);font-size:13px}.signupConsentBox .check span>small{display:block;margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.pushSignupChoice{margin-top:8px;padding:12px!important;border:1px solid rgba(157,29,31,.18);border-radius:15px;background:linear-gradient(145deg,#fffaf1,#fff)}.pushSignupChoice span>b{color:var(--red)!important;font-size:14px!important}.signupIosHelp{margin-top:10px;padding:12px;border-radius:14px;background:#fff4cb;border:1px solid #ead79a;font-size:12px;line-height:1.45;color:#514638}.signupIosHelp b{display:block;margin-bottom:5px;color:#332b22}.signupIosHelp ol{margin:6px 0 0 20px;padding:0}.signupIosHelp li{margin:4px 0}.pushFinishPanel>p{max-width:560px}.pushFinishCard{background:linear-gradient(145deg,#fffaf1,#fff);border:1px solid rgba(157,29,31,.16);box-shadow:0 14px 40px rgba(55,33,14,.06);border-radius:24px;padding:20px;text-align:center}.pushFinishIcon{width:58px;height:58px;margin:0 auto 10px;display:grid;place-items:center;border-radius:18px;background:#fff0c7;font-size:28px}.pushFinishCard h3{margin:4px 0 7px;font-size:22px;letter-spacing:-.02em}.pushFinishCard>p{margin:0 auto 14px;max-width:500px;color:var(--muted);font-size:13px;line-height:1.45}.pushFinishBenefits{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 15px}.pushFinishBenefits span{padding:8px 10px;border-radius:999px;background:#f7f1e8;border:1px solid var(--line);font-size:11px;font-weight:850}.pushFinishIos{text-align:left;margin:12px 0 16px;padding:14px;border-radius:16px;background:#fff4cb;border:1px solid #ead79a;color:#514638;font-size:12px;line-height:1.45}.pushFinishIos>b{display:block;color:#332b22;margin-bottom:6px}.pushFinishIos ol{margin:6px 0 0 20px;padding:0}.pushFinishIos li{margin:5px 0}.pushFinishCard .primary{margin-top:8px}.pushFinishCard .linkbtn{margin-top:9px}
