:root{
  --bg:#121212; --band:#181818; --card:#1E1E1E; --card2:#262626; --line:#353535; --fg:#FFFFFF; --soft:#D9D9D9; --muted:#A3A3A3; --acc:#F5B000; --acc2:#FFC93D; --ink:#121212; --err:#FF9A6B; --ok:#8FD19E;
  --l0:#9F9F9F; --l1:#D08A4E; --l2:#C9CED6; --l3:#F5B000; --l4:#BFE6FF;
  --f:'Poppins',ui-sans-serif,system-ui,'Segoe UI',Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}

a{color:var(--acc)}a:hover{color:var(--acc2)}
button,input,select{font:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top{border-bottom:1px solid #222}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:14px;flex-wrap:wrap}
.logo{font-weight:800;letter-spacing:3px;font-size:21px;color:var(--fg);text-decoration:none}
.top a.back{color:var(--soft);text-decoration:none;font-size:15px}
.eyebrow{color:var(--acc);font-weight:600;font-size:13px;letter-spacing:2px;text-transform:uppercase}
h1{margin:0;font-size:clamp(32px,5.4vw,54px);line-height:1.05;font-weight:900;letter-spacing:-1.5px;text-wrap:balance;max-width:18ch}
h2{margin:0;font-size:clamp(22px,3vw,30px);line-height:1.2;font-weight:800;text-wrap:balance}
h3{margin:0;font-size:18px;font-weight:700}
.lead{margin:0;color:var(--soft);font-size:18px;max-width:60ch}
.mini{margin:0;font-size:14px;color:var(--muted)}
.intro{padding-block:36px 18px;display:flex;flex-direction:column;gap:12px}
.bozza{background:#2A2414;border:1px solid #5C4A12;border-radius:10px;padding:10px 14px;font-size:14px;color:var(--soft);align-self:flex-start}
/* passi */
.passi{list-style:none;margin:6px 0 22px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;counter-reset:p}
.passi li{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.passi li i{display:block;height:6px;border-radius:3px;background:var(--line)}
.passi li.fatto i{background:#7A5E10}.passi li.fatto{color:var(--soft)}
.passi li.ora i{background:var(--acc)}.passi li.ora{color:var(--fg)}
/* schede */
.box{background:var(--card);border:1px solid #2A2A2A;border-radius:20px;padding:clamp(18px,3.4vw,34px);display:flex;flex-direction:column;gap:26px;margin-bottom:64px}
.q{display:flex;flex-direction:column;gap:14px}
.qh{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.qn{width:34px;height:34px;border-radius:50%;background:var(--acc);color:var(--ink);font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:16px}
.sim{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:start}
@media (max-width:860px){.sim{grid-template-columns:1fr}}
.colq{display:flex;flex-direction:column;gap:30px;min-width:0}
/* contatore negozi */
.cont{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.big{display:flex;align-items:center;gap:10px}
.big button{width:58px;height:58px;border-radius:50%;border:2px solid #5A5A5A;background:var(--card2);color:var(--fg);font-size:28px;cursor:pointer;line-height:1;transition:transform .12s,border-color .12s}
.big button:hover{border-color:var(--acc);transform:scale(1.06)}
.big button:active{transform:scale(.94)}
.big button:disabled{opacity:.35;cursor:default;transform:none}
.big input{width:120px;text-align:center;background:var(--bg);color:var(--acc);border:2px solid var(--acc);border-radius:14px;padding:8px 6px;font-size:38px;font-weight:900;font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--card2);color:var(--fg);border:1px solid var(--line);border-radius:30px;padding:9px 16px;min-height:44px;cursor:pointer;font-weight:500;transition:transform .12s}
.chip:hover{transform:scale(1.04)}
.chip[aria-pressed="true"]{background:var(--acc);color:var(--ink);border-color:var(--acc);font-weight:600}
/* città dei negozi */
.citta{display:grid;grid-template-columns:repeat(20,1fr);gap:4px;background:var(--bg);border-radius:14px;padding:14px}
.citta span{aspect-ratio:1;border-radius:3px;background:#2B2B2B;transition:background .25s,transform .25s}
.citta span.on{background:var(--lc,var(--acc));animation:pop .35s ease}
@keyframes pop{0%{transform:scale(.3)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
.citta-l{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);margin-top:-6px}
/* livelli */
.livelli{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.liv{min-width:0;background:var(--bg);border-radius:12px;padding:10px 4px;display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;border:2px solid transparent;opacity:.55;transition:opacity .2s,border-color .2s,transform .2s}
.liv b{font-size:13px}.liv span{font-size:12px;color:var(--muted)}.liv em{font-style:normal;font-weight:800;font-size:15px;color:var(--lc)}
.liv.pass{opacity:.85}
.liv.ora{opacity:1;border-color:var(--lc);transform:translateY(-3px)}
@media (max-width:560px){.livelli{gap:4px}.liv b{font-size:11px}.liv em{font-size:13px}.liv span{font-size:10px}}
.prossimo{background:var(--bg);border-radius:12px;padding:12px 14px;font-size:15px;color:var(--soft)}
.prossimo b{color:var(--acc)}
/* apparecchi */
.devs{display:grid;grid-template-columns:1fr;gap:8px}
.enti{display:flex;flex-wrap:wrap;gap:8px}
.enti label{display:flex;align-items:center;gap:8px;background:var(--card2);border:1px solid var(--line);border-radius:30px;padding:10px 16px;min-height:46px;cursor:pointer;font-weight:500}
.enti input{width:20px;height:20px;accent-color:var(--acc)}
.pagam{background:var(--bg);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:15px;margin:0}
.pagam dt{color:var(--muted)}.pagam dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.lista-fine{margin:0;padding-left:20px;color:var(--soft);display:flex;flex-direction:column;gap:8px}
.dev{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card2);border-radius:12px;padding:10px 12px;border:2px solid transparent;transition:border-color .15s}
.dev.on{border-color:var(--acc);background:#2E2610}
.dev label{font-size:15px;font-weight:500}
.st{display:flex;align-items:center;gap:6px;flex:none}
.st button{width:38px;height:38px;border-radius:50%;border:1px solid #5A5A5A;background:var(--bg);color:var(--fg);font-size:20px;cursor:pointer;line-height:1}
.st button:disabled{opacity:.35;cursor:default}
.st input{width:50px;text-align:center;background:var(--bg);color:var(--fg);border:1px solid #4A4A4A;border-radius:8px;padding:7px 2px;font-size:16px}
.dev.on .st input{border-color:var(--acc);color:var(--acc);font-weight:700}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo label,.lab{font-size:14px;font-weight:600}
.campo input,.campo select{background:var(--bg);color:var(--fg);border:1px solid #4A4A4A;border-radius:8px;padding:12px 14px;font-size:16px;width:100%;min-height:48px}
.campo input:focus,.campo select:focus{border-color:var(--acc);outline:none}
.campo.no input,.campo.no select{border-color:var(--err)}
.campo .e{font-size:13px;color:var(--err);font-weight:500}
.campo .h{font-size:13px;color:var(--muted)}
.griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:14px}
.seg{display:inline-flex;background:var(--bg);border-radius:30px;padding:4px;gap:4px;flex-wrap:wrap}
.seg button{border:0;background:none;color:var(--soft);padding:9px 18px;min-height:42px;border-radius:26px;cursor:pointer;font-weight:500}
.seg button[aria-pressed="true"]{background:var(--acc);color:var(--ink);font-weight:600}
/* prezzo */
.prezzo{position:sticky;top:calc(var(--bz-head-h) + var(--bz-admin) + 14px);background:var(--acc);color:var(--ink);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.prezzo .k{font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.prezzo .tot{font-size:clamp(36px,5vw,50px);font-weight:900;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.prezzo .tot small{font-size:16px;font-weight:600;letter-spacing:0}
.prezzo .riga{display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(18,18,18,.18);padding-top:10px;font-size:15px}
.prezzo .riga b{font-variant-numeric:tabular-nums}
.prezzo .badge{align-self:flex-start;background:var(--ink);color:var(--acc);border-radius:30px;padding:6px 14px;font-weight:700;font-size:14px}
.prezzo .btn{background:var(--ink);color:var(--fg)}
.prezzo .btn:hover{color:var(--acc)}
.prezzo .nota{font-size:13px;margin:0}
.prezzo .vinile{position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;background:repeating-radial-gradient(circle,#121212 0 2px,#1d1d1d 2px 5px);opacity:.12;animation:gira 7s linear infinite;pointer-events:none}
@keyframes gira{to{transform:rotate(360deg)}}
.tvnota{background:#2A2414;border:1px solid #5C4A12;border-radius:12px;padding:12px 14px;font-size:14px;color:var(--soft);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:13px 24px;border-radius:3px;border:0;font-weight:600;font-size:16px;cursor:pointer;text-decoration:none;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn.y{background:var(--acc);color:var(--ink)}.btn.y:hover{background:var(--acc2);color:var(--ink)}
.btn.o{background:none;color:var(--fg);border:1px solid #5A5A5A}
.btn.l{background:none;color:var(--acc);padding:6px 0;min-height:40px}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.avviso{color:var(--err);font-weight:500;margin:0;flex:1 1 220px}
/* toast livello */
.toast{position:fixed;left:16px;right:16px;margin:0 auto;width:fit-content;bottom:24px;transform:translateY(160%);background:var(--ink);border:2px solid var(--acc);color:var(--fg);border-radius:16px;padding:14px 20px;z-index:50;display:flex;gap:12px;align-items:center;transition:transform .35s cubic-bezier(.2,1.4,.4,1);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.toast.su{transform:translateY(0)}
.toast b{color:var(--acc)}
.coriandoli{position:fixed;inset:0;pointer-events:none;z-index:49;overflow:hidden}
.coriandoli i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:cade 1.6s ease-in forwards}
@keyframes cade{to{transform:translateY(105vh) rotate(540deg);opacity:.2}}
/* caricamento negozi */
.due{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:14px}
.passo-csv{background:var(--bg);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.passo-csv .num{font-size:40px;font-weight:900;color:var(--acc);line-height:1}
.drop{width:100%;border:2px dashed #555;border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.su{border-color:var(--acc);background:#2E2610}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.magia{display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 10px;text-align:center}
.magia .n{font-size:64px;font-weight:900;color:var(--acc);line-height:1;font-variant-numeric:tabular-nums}
.barra{width:min(420px,100%);height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.barra span{display:block;height:100%;width:0;background:var(--acc);transition:width .15s}
.stato{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pill{border-radius:30px;padding:7px 14px;font-weight:600;font-size:14px}
.pill.ok{background:#1E3324;color:var(--ok)}
.pill.ko{background:#3A2218;color:var(--err)}
.lista{display:flex;flex-direction:column;gap:6px}
.riga-pv{width:100%;display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 80px 28px;gap:10px;align-items:center;background:var(--bg);border:1px solid #2A2A2A;border-radius:12px;padding:12px;color:var(--fg);cursor:pointer;text-align:left}
.riga-pv:hover{border-color:#555}
.riga-pv .i{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.riga-pv .t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.riga-pv .c{color:var(--soft);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.riga-pv .m{color:var(--soft);font-size:14px;text-align:right}
.riga-pv .s{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.riga-pv .s.ok{background:var(--ok);color:var(--ink)}.riga-pv .s.ko{background:var(--err);color:var(--ink)}
.riga-pv.aperta{border-color:var(--acc);border-bottom-left-radius:0;border-bottom-right-radius:0}
@media (max-width:560px){.riga-pv{grid-template-columns:34px minmax(0,1fr) 60px 26px}.riga-pv .c{display:none}}
.editor{background:var(--bg);border:1px solid var(--acc);border-top:0;border-radius:0 0 12px 12px;padding:16px;display:flex;flex-direction:column;gap:14px;margin-top:-6px}
.ricalc{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;background:var(--acc);color:var(--ink);border-radius:16px;padding:18px 22px}
.ricalc .v{font-size:28px;font-weight:900;font-variant-numeric:tabular-nums}
.ricalc span{font-size:14px;font-weight:600}
.ck{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border-radius:12px;padding:14px 16px;cursor:pointer}
.ck input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--acc);flex:none}
.ck span{color:var(--soft);font-size:15px}.ck b{color:var(--fg)}
.blk{display:flex;flex-direction:column;gap:14px}
/* pagamento */
.conto{background:var(--bg);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.conto .r{display:flex;justify-content:space-between;gap:12px;color:var(--soft)}
.conto .r b{color:var(--fg);font-variant-numeric:tabular-nums}
.conto .r.t{border-top:1px solid var(--line);padding-top:12px;font-size:20px;color:var(--fg);font-weight:700}
.metodi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px}
.metodo{background:var(--card2);border:2px solid transparent;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;text-align:left;color:var(--fg);cursor:pointer}
.metodo[aria-pressed="true"]{border-color:var(--acc);background:#2E2610}
.metodo b{font-size:17px}.metodo span{color:var(--muted);font-size:14px}
/* licenze */
.stampa{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 10px;text-align:center}
.fogli{position:relative;width:120px;height:150px}
.fogli i{position:absolute;inset:0;background:#F4F4F4;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.4);animation:esce 1s ease-in-out infinite}
.fogli i::before{content:"";position:absolute;left:0;right:0;top:0;height:30px;background:#121212;border-radius:6px 6px 0 0}
.fogli i::after{content:"";position:absolute;left:14px;right:14px;top:44px;height:60px;background:repeating-linear-gradient(#ccc 0 4px,transparent 4px 14px)}
.fogli i:nth-child(2){animation-delay:.33s}.fogli i:nth-child(3){animation-delay:.66s}
@keyframes esce{0%{transform:translateY(30px) scale(.9);opacity:0}40%{opacity:1}100%{transform:translateY(-40px) rotate(-6deg);opacity:0}}
.lic{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--bg);border-radius:12px;padding:12px 14px}
.lic b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lic span{font-size:13px;color:var(--muted)}
.azioni{display:flex;gap:10px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.bz-bar.su~.toast,.toast{bottom:calc(24px + env(safe-area-inset-bottom,0px))}
@media (max-width:600px){.intro{padding-block:24px 10px}.box{border-radius:16px}.big button{width:52px;height:52px}.big input{width:104px;font-size:34px}}

.bz-wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;background:#25D366;color:#0B2414!important;text-decoration:none;border-radius:40px;padding:10px 18px 10px 14px;box-shadow:0 8px 24px rgba(0,0,0,.35);font-family:var(--bz-f,Poppins,sans-serif);line-height:1.15}
.bz-wa span{display:flex;flex-direction:column}.bz-wa b{font-size:15px}.bz-wa small{font-size:12px}
.bz-wa:hover{transform:translateY(-2px)}
@media (max-width:600px){.bz-wa small{display:none}.bz-wa{padding:10px 14px}}

/* card del prezzo: resta visibile scorrendo (colonna destra alta come le domande) */
#simDx{align-self:stretch}
/* barra ancorata in basso con la licenza stimata */
.pbar{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:0 max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-bottom,0px));pointer-events:none}
.pbar[hidden]{display:none}
.pbar-in{max-width:720px;margin:0 auto;pointer-events:auto;background:#1E1E1E;border:1px solid var(--acc);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.55);overflow:hidden}
.pbar-riga{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px}
.pbar-info{flex:1;min-width:0;display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--fg);cursor:pointer;text-align:left;padding:4px;border-radius:10px}
.pbar-liv{flex:none;background:var(--lc);color:#121212;font-weight:700;font-size:12px;border-radius:999px;padding:4px 10px}
.pbar-t{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.pbar-t small{color:var(--muted);font-size:12px;font-weight:500}
.pbar-t b{font-size:20px;white-space:nowrap}
.pbar-t b small{color:var(--soft);font-size:12px}
.pbar-fr{margin-left:auto;color:var(--acc);transition:transform .2s}
.pbar.aperta .pbar-fr{transform:rotate(180deg)}
.pbar-go{flex:none;background:var(--acc);color:#121212;border:0;border-radius:3px;min-height:46px;padding:10px 16px;font-weight:600;cursor:pointer}
.pbar-sheet{display:none;max-height:min(70vh,640px);overflow:auto;padding:12px;border-bottom:1px solid var(--line)}
.pbar.aperta .pbar-sheet{display:flex;flex-direction:column;gap:14px}
.pbar-sheet .prezzo{position:static}
@media (max-width:560px){.pbar{bottom:64px;padding-bottom:0}.pbar-riga{padding:8px}.pbar-info{gap:8px}.pbar-go{padding:8px 12px;font-size:14px;min-height:44px}.pbar-t b{font-size:18px}.pbar-t b small{display:none}.pbar-liv{display:none}}
.pbar-sheet>*{flex:none}
/* con la barra del prezzo aperta in basso, il pulsante WhatsApp sale sopra la barra */
body:has(.pbar:not([hidden])) .bz-wa{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
