/* Bibite Facile — stile Windows 11 / Fluent ("acqua fresca"): mica chiara, superfici bianche, accento blu acqua, angoli 8 px.
   Sopra app.css del Negozio Kit. Tema scuro automatico. Barra laterale (NavigationView) su PC, barra in basso sul telefono. */
:root{
  --acc:#0369a1;--acc2:#075985;--acc-s:#e0f0fa;--acc-t:#0c4a6e;
  --fondo:#eef3f8;--fondo2:#e6edf4;--card:#ffffff;--card2:#f7f9fc;--testo:#0f1d2a;--testo2:#4a5b6b;--linea:#dbe3ec;--linea2:#c7d3df;
  --ok:#0f7b3f;--ok-s:#dff3e7;--warn:#9a5b00;--warn-s:#fdf0d5;--ko:#c42b1c;--ko-s:#fde7e5;
  --sh1:0 1px 2px rgba(15,29,42,.06),0 1px 1px rgba(15,29,42,.04);--sh2:0 8px 24px -6px rgba(15,29,42,.16),0 2px 6px rgba(15,29,42,.06);
  --r:8px;--r-s:6px;--ease:cubic-bezier(.16,1,.3,1);
  --font:"Segoe UI Variable Text","Segoe UI Variable","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --font-d:"Segoe UI Variable Display","Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
  --blu:var(--acc);--blu2:var(--acc2);--verde:var(--ok);--rosso:var(--ko);--grigio:var(--testo2);--bordo:var(--linea);--sfondo:var(--fondo);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --acc:#4cb3ea;--acc2:#7cc8f1;--acc-s:#11324a;--acc-t:#bfe4f8;
  --fondo:#141a21;--fondo2:#10151b;--card:#1d252e;--card2:#222b35;--testo:#e8eef4;--testo2:#9fb0c1;--linea:#2e3a46;--linea2:#3b4957;
  --ok:#4ccf86;--ok-s:#173327;--warn:#f0b54a;--warn-s:#3a2c12;--ko:#ff8a7e;--ko-s:#3d1d1a;
  --sh1:0 1px 2px rgba(0,0,0,.4);--sh2:0 10px 30px -8px rgba(0,0,0,.6);color-scheme:dark;
}}
html,body{background:var(--fondo);color:var(--testo);font-family:var(--font);font-size:15px;line-height:1.5}
body{background:radial-gradient(1200px 600px at 100% -10%,color-mix(in srgb,var(--acc) 10%,transparent),transparent 60%),radial-gradient(900px 500px at -10% 110%,color-mix(in srgb,#14b8a6 8%,transparent),transparent 60%),var(--fondo);background-attachment:fixed;min-height:100vh}
::selection{background:color-mix(in srgb,var(--acc) 28%,transparent)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
a{color:var(--acc)}
h1,h2{font-family:var(--font-d);letter-spacing:-.01em;text-wrap:balance}
h1{font-size:1.6rem;font-weight:600;margin:0}
h2{font-size:1.05rem;font-weight:600}
.hint{color:var(--testo2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
*{scrollbar-width:thin;scrollbar-color:var(--linea2) transparent}

/* ---------- testata e navigazione ---------- */
.top{background:color-mix(in srgb,var(--card) 82%,transparent);color:var(--testo);border-bottom:1px solid var(--linea);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);min-height:52px;padding-left:16px;padding-right:16px}
.top .brand{color:var(--testo);font-family:var(--font-d);font-weight:600;font-size:1.02rem;display:flex;align-items:center;gap:8px}
.top .brand .ico{color:var(--acc)}
.top .badge{background:var(--acc-s);color:var(--acc-t)}
.top .badge-warn{background:var(--warn-s);color:var(--warn)}.top .badge-ko{background:var(--ko);color:#fff}
.menu{background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border-top:1px solid var(--linea)}
.menu a{color:var(--testo2);position:relative;font-size:.7rem;font-weight:600;gap:3px}
.menu a .ico{position:relative;display:grid;place-items:center;height:26px}
.menu a.on{color:var(--acc)}
.menu a.on .ico svg{stroke-width:2.2}
.menu a.on::before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--acc)}
.pallino{position:absolute;top:-4px;right:-10px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--ko);color:#fff;font:700 .66rem/17px var(--font);font-style:normal;text-align:center}
@media (min-width:768px) and (max-width:1023px){
  .menu{background:color-mix(in srgb,var(--card) 88%,transparent);border-bottom:1px solid var(--linea)}
  .menu a{font-size:.9rem;padding:10px 14px}.menu a.on::before{top:auto;bottom:0;border-radius:3px 3px 0 0}
}
@media (min-width:1024px){
  .menu{position:fixed;top:52px;bottom:0;left:0;width:232px;flex-direction:column;justify-content:flex-start;gap:2px;padding:12px 8px;border:0;border-right:1px solid var(--linea);background:transparent;backdrop-filter:none}
  .menu a{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:9px 12px;border-radius:var(--r-s);font-size:.92rem;font-weight:500;color:var(--testo)}
  .menu a:hover{background:color-mix(in srgb,var(--testo) 6%,transparent)}
  .menu a.on{background:color-mix(in srgb,var(--card) 90%,transparent);box-shadow:var(--sh1);color:var(--testo);font-weight:600}
  .menu a.on .ico{color:var(--acc)}
  .menu a.on::before{top:9px;bottom:9px;left:0;right:auto;width:3px;height:auto;border-radius:3px}
  .pallino{top:-6px;right:-8px}
  .wrap{margin-left:232px;max-width:none;padding:24px 32px 48px}
  body:not(.capp) .demo-bar{margin-left:232px}
}
.wrap{animation:entra .45s var(--ease) both}
@keyframes entra{from{opacity:.001;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.wrap,.guida,.guida-card,.pk.pop{animation:none!important}}

/* ---------- testata di pagina ---------- */
.pg-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin:4px 0 18px}
.pg-h .hint{margin:4px 0 0}
.pg-az{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn-ico{min-width:40px;padding:8px;min-height:40px}

/* ---------- controlli Fluent ---------- */
.btn{border-radius:var(--r-s);border:1px solid var(--linea);border-bottom-color:var(--linea2);background:var(--card);color:var(--testo);font-weight:600;font-size:.92rem;min-height:40px;padding:8px 14px;box-shadow:var(--sh1);transition:background .15s,transform .15s var(--ease),box-shadow .15s}
.btn:hover{filter:none;background:var(--card2)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-p{background:var(--acc);border-color:var(--acc2);color:#fff}
.btn-p:hover{background:var(--acc2)}
@media (prefers-color-scheme:dark){.btn-p{color:#06243a}}
.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn-ok:hover{background:color-mix(in srgb,var(--ok) 88%,#000)}
.btn-ko{background:var(--card);border-color:color-mix(in srgb,var(--ko) 45%,var(--linea));color:var(--ko)}
.btn-wa{background:#1fa855;border-color:#178a45;color:#fff}.btn-wa:hover{background:#178a45}
.btn-sm{min-height:34px;padding:5px 11px;font-size:.86rem}
.btn-big{min-height:50px;font-size:1rem}
.btn .ico{flex:0 0 auto}
.btn.in-corso{position:relative;color:transparent!important}
.btn.in-corso::after{content:"";position:absolute;width:18px;height:18px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:gira .7s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
input,select,textarea{border-radius:var(--r-s);border:1px solid var(--linea);border-bottom:1px solid var(--linea2);background:var(--card);color:var(--testo);min-height:40px;font-size:.95rem}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--linea);border-bottom:2px solid var(--acc);box-shadow:none}
input[type=color]{padding:3px;height:40px}
label{font-weight:600;font-size:.86rem;color:var(--testo);margin:12px 0 5px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:10px 0;cursor:pointer}
.check input{width:18px;height:18px;min-height:0;margin-top:2px;accent-color:var(--acc);flex:0 0 auto}
.spunte{display:flex;flex-wrap:wrap;gap:0 20px}
.seg{display:inline-flex;padding:3px;border-radius:var(--r);background:color-mix(in srgb,var(--testo) 7%,transparent);gap:2px}
.seg a,.seg button,.seg label span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-s);font:600 .84rem var(--font);color:var(--testo2);border:0;background:transparent;cursor:pointer;min-height:32px;white-space:nowrap}
.seg .on,.seg input:checked+span{background:var(--card);color:var(--testo);box-shadow:var(--sh1)}
.seg-in label{margin:0}.seg-in input{position:absolute;opacity:0;width:1px;height:1px}
.seg-form{margin:0}
.badge{border-radius:var(--r-s);font-weight:600;font-size:.74rem;padding:3px 8px}
.badge-ok{background:var(--ok-s);color:var(--ok)}.badge-warn{background:var(--warn-s);color:var(--warn)}.badge-ko{background:var(--ko-s);color:var(--ko)}
.badge-grey{background:color-mix(in srgb,var(--testo) 8%,transparent);color:var(--testo2)}.badge-acc{background:var(--acc-s);color:var(--acc-t)}
.flash{border-radius:var(--r);font-weight:600;border:1px solid transparent}
.flash-ok{background:var(--ok-s);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}
.flash-ko{background:var(--ko-s);color:var(--ko)}.flash-warn{background:var(--warn-s);color:var(--warn)}
.conta{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:color-mix(in srgb,var(--testo) 8%,transparent);color:var(--testo2);font-size:.78rem;font-weight:700;margin-left:6px;font-variant-numeric:tabular-nums}
.avviso{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;background:var(--warn-s);color:var(--warn);border-radius:var(--r);padding:10px 12px;font-weight:500;margin:8px 0}
.avviso .ico{flex:0 0 auto;margin-top:2px}.avviso span{flex:1;min-width:200px}

/* ---------- superfici ---------- */
.card{background:var(--card);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sh1);padding:16px}
.h-sez{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:1rem}
.h-sez .ico{color:var(--acc)}
details>summary.h-sez{cursor:pointer;list-style:none;margin:0}
details[open]>summary.h-sez{margin-bottom:12px}
.vuoto{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 16px;color:var(--testo2)}
.vuoto>.ico{color:var(--acc);opacity:.8;margin-bottom:4px}
.vuoto b{color:var(--testo);font-size:1rem}
.lista li{border-bottom:1px solid var(--linea);padding:11px 0;gap:10px}
.lista .chi{color:var(--testo)}.lista .chi b{font-weight:600}.lista .chi small{color:var(--testo2)}
.lista .chi small .ico{vertical-align:-2px}
.lista .quanto{font-variant-numeric:tabular-nums}
.lista li.sep{padding:14px 0 6px;font-weight:700;font-size:.8rem;color:var(--testo2);text-transform:uppercase;letter-spacing:.04em;border:0}
.lista li.sotto{padding:0 0 10px;margin-top:-6px;font-size:.85rem}
.doc-riga .chi{display:block}
.tab th{color:var(--testo2);font-weight:600;letter-spacing:.02em}
.tab td,.tab th{border-color:var(--linea)}
.tab td.num,.tab th.num,.num{font-variant-numeric:tabular-nums}
.foto-mini{border-radius:var(--r-s);border-color:var(--linea);background:var(--card2);object-fit:contain}

/* ---------- dashboard ---------- */
.dash{display:grid;gap:16px}
@media (min-width:1100px){.dash{grid-template-columns:1fr 1fr}.dash .app-cli{grid-column:1/-1}}
.pannello-sez{background:var(--card);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sh1);padding:16px 18px}
.pannello-sez>h2{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.pannello-sez>h2 .ico{color:var(--acc)}
.numeri{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:700px){.numeri{grid-template-columns:repeat(4,1fr)}}
.numeri>*{display:flex;flex-direction:column;padding:12px 14px;border-radius:var(--r);background:var(--card2);border:1px solid var(--linea);color:var(--testo)}
.numeri b{font-family:var(--font-d);font-size:1.7rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.numeri span{color:var(--testo2);font-size:.82rem}
.numeri-grandi{margin-bottom:16px}

/* ---------- filtri ---------- */
.barra-filtri{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.barra-filtri .cerca{margin:0;flex:1;max-width:380px;min-width:220px}
.pill-tabs{margin:0}
.pill-tabs a{border-radius:var(--r-s);border-color:var(--linea);background:var(--card);color:var(--testo);display:inline-flex;align-items:center;gap:6px;font-size:.88rem;padding:7px 12px}
.pill-tabs a span{font-size:.75rem;color:var(--testo2);font-variant-numeric:tabular-nums}
.pill-tabs a.on{background:var(--acc);border-color:var(--acc);color:#fff}.pill-tabs a.on span{color:inherit;opacity:.85}
.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button,.chips a{flex:0 0 auto;border:1px solid var(--linea);background:var(--card);color:var(--testo);border-radius:16px;padding:6px 13px;font:600 .84rem var(--font);cursor:pointer;min-height:34px;display:inline-flex;align-items:center}
.chips .on{background:var(--acc-s);border-color:color-mix(in srgb,var(--acc) 45%,transparent);color:var(--acc-t)}
.cerca-prod{display:flex;align-items:center;gap:8px;border:1px solid var(--linea);border-bottom-color:var(--linea2);border-radius:var(--r-s);background:var(--card);padding:0 10px;margin-bottom:10px}
.cerca-prod .ico{color:var(--testo2);flex:0 0 auto}
.cerca-prod input{border:0;background:transparent;min-height:42px;padding:0}
.cerca-prod:focus-within{border-bottom:2px solid var(--acc)}

/* ---------- catalogo prodotti (pannello) ---------- */
.catalogo{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.prod{background:var(--card);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sh1);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .25s var(--ease)}
.prod:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.prod-img{position:relative;display:block;aspect-ratio:1/1;background:linear-gradient(180deg,var(--card2),color-mix(in srgb,var(--acc) 6%,var(--card2)))}
.prod-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.prod.esaurito .prod-img img{filter:grayscale(1);opacity:.55}
.nastro{position:absolute;left:8px;top:8px;background:var(--ko);color:#fff;font:700 .7rem var(--font);padding:3px 8px;border-radius:4px}
.nastro-v{background:var(--acc);left:auto;right:8px}
.prod-t{padding:10px 12px 0;min-height:58px}
.prod-t a{color:var(--testo)}.prod-t b{font-weight:600;line-height:1.25;display:block}.prod-t small{color:var(--testo2);font-size:.78rem}
.prod-prezzi{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 12px 0}
.prod-prezzi div{background:var(--card2);border-radius:var(--r-s);padding:5px 8px}
.prod-prezzi dt{font-size:.68rem;color:var(--testo2);text-transform:uppercase;letter-spacing:.04em}
.prod-prezzi dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.prod-az{display:flex;gap:6px;padding:10px 12px 12px;margin-top:auto}
.prod-az .btn:first-child{flex:1;padding:5px 8px;font-size:.8rem}
.tabella-prezzi .in-prezzo{width:96px;text-align:right;min-height:36px;padding:6px 8px;font-variant-numeric:tabular-nums}
.tabella-prezzi select{min-height:36px;padding:4px 6px;width:auto}
.tabella-prezzi td{vertical-align:middle}
.barra-salva{position:sticky;bottom:72px;z-index:5;box-shadow:var(--sh2)}
@media (min-width:768px){.barra-salva{bottom:16px}}
code{background:var(--card2);padding:1px 5px;border-radius:4px;font-size:.85em}

/* ---------- scheda prodotto ---------- */
.scheda-prod{display:grid;gap:16px}
@media (min-width:900px){.scheda-prod{grid-template-columns:300px 1fr;align-items:start}.sp-foto{grid-row:span 2;position:sticky;top:70px}.sp-az{grid-column:2}}
.sp-img{aspect-ratio:1/1;border-radius:var(--r);background:linear-gradient(180deg,var(--card2),color-mix(in srgb,var(--acc) 8%,var(--card2)));margin-bottom:12px;display:grid;place-items:center;overflow:hidden}
.sp-img img{width:100%;height:100%;object-fit:contain;padding:10px}
.in-scan{display:flex;gap:6px}.in-scan .btn{flex:0 0 auto;min-height:40px;padding:8px 10px}
.calc{display:block;color:var(--testo2);font-size:.78rem;margin-top:4px;font-variant-numeric:tabular-nums}
.sp-az{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--linea);border-radius:var(--r);backdrop-filter:blur(12px)}

/* ---------- editor preventivi / ordini ---------- */
.editor{display:grid;gap:16px}
@media (min-width:1100px){.editor{grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);align-items:start}.ed-dx{position:sticky;top:70px}}
.picker{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));max-height:min(62vh,640px);overflow:auto;padding:2px}
.pk{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px;padding:8px;border:1px solid var(--linea);border-radius:var(--r);background:var(--card);cursor:pointer;font:inherit;color:var(--testo);transition:border-color .15s,box-shadow .15s}
.pk:hover{border-color:var(--linea2);box-shadow:var(--sh1)}
.pk img{width:100%;aspect-ratio:1/1;object-fit:contain;margin-bottom:4px;border-radius:var(--r-s);background:var(--card2)}
.pk-n{font-weight:600;font-size:.82rem;line-height:1.25}
.pk-u{font-size:.72rem;color:var(--testo2)}
.pk-p{font-weight:700;font-size:.88rem;margin-top:2px;font-variant-numeric:tabular-nums}
.pk.in{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
.pk-q{position:absolute;top:6px;right:6px;min-width:24px;height:24px;border-radius:12px;background:var(--acc);color:#fff;font-weight:700;font-size:.8rem;display:grid;place-items:center;padding:0 6px}
.pk-x{position:absolute;top:6px;left:6px;background:var(--ko-s);color:var(--ko);font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:4px}
.pk.esaurito img{filter:grayscale(1);opacity:.5}
.pk.pop{animation:pop .35s var(--ease)}
@keyframes pop{40%{transform:scale(.95)}}
.righe-ed{display:flex;flex-direction:column;gap:2px}
.re{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--linea)}
.re img,.re-noimg{width:48px;height:48px;object-fit:contain;border-radius:var(--r-s);background:var(--card2)}
.re-c b{display:block;font-size:.9rem;line-height:1.25}.re-c small{display:block;color:var(--testo2);font-size:.76rem}
.re-num{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}
.re-pl{display:inline-flex;align-items:center;gap:4px;margin:0;font-weight:500;color:var(--testo2)}
.re-p{width:84px;min-height:34px;padding:4px 6px;text-align:right;font-variant-numeric:tabular-nums}
.re-iva{width:auto;min-height:34px;padding:2px 4px;font-size:.82rem}
.re-desc{min-height:34px}
.re-tot{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-variant-numeric:tabular-nums}
.re-x{border:0;background:transparent;color:var(--testo2);font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}
.re-x:hover{background:var(--ko-s);color:var(--ko)}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--linea);border-radius:var(--r-s);background:var(--card);overflow:hidden}
.stepper button{border:0;background:transparent;width:34px;height:34px;display:grid;place-items:center;font-size:1.1rem;color:var(--testo);cursor:pointer}
.stepper button:hover{background:var(--card2)}
.stepper input{width:48px;min-height:34px;border:0;border-radius:0;text-align:center;padding:0;font-variant-numeric:tabular-nums}
.stepper b{min-width:32px;text-align:center;font-variant-numeric:tabular-nums}
.modalita{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0;margin:14px 0 4px}
.opz{position:relative;margin:0;cursor:pointer}
.opz input{position:absolute;opacity:0;width:1px;height:1px}
.opz>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;height:100%;padding:10px 12px;border:1px solid var(--linea);border-radius:var(--r);background:var(--card);font-weight:600;transition:border-color .15s,background .15s}
.opz>span .ico{color:var(--acc);margin-bottom:2px}
.opz>span small{font-weight:400;color:var(--testo2);font-size:.78rem}
.opz input:checked+span{border-color:var(--acc);background:var(--acc-s);box-shadow:0 0 0 1px var(--acc) inset}
.opz input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.totali{margin:14px 0 0;display:flex;flex-direction:column;gap:4px}
.totali>div{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.totali dt{color:var(--testo2)}.totali dt small{font-size:.74rem;opacity:.85}.totali dd{margin:0;font-weight:600}
.totali .t-al{font-size:.82rem}.totali .t-al dd{font-weight:500}
.totali .t-tot{border-top:1px solid var(--linea);padding-top:8px;margin-top:4px}
.totali .t-tot dt{color:var(--testo);font-weight:700;font-size:1.05rem}.totali .t-tot dd{font-family:var(--font-d);font-size:1.45rem;font-weight:700;color:var(--testo)}
.carrello details summary{cursor:pointer;font-weight:600;color:var(--acc)}

/* ---------- vedi documento ---------- */
.vedi{display:grid;gap:16px}
@media (min-width:1100px){.vedi{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.vedi-az{position:sticky;top:70px}}
.vedi-az .card{margin-bottom:12px}
.griglia-az{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.griglia-az form{margin:0}.griglia-az .btn{width:100%}
.passi{display:flex;flex-wrap:wrap;gap:4px}
.passo{font-size:.74rem;font-weight:600;padding:4px 8px;border-radius:4px;background:color-mix(in srgb,var(--testo) 6%,transparent);color:var(--testo2)}
.passo.fatto{background:var(--acc-s);color:var(--acc-t)}
.passo.ora{background:var(--acc);color:#fff}
.foglio{background:#fff;color:#0f1d2a;border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sh2);padding:28px 30px;font-size:.9rem}
.foglio .hint{color:#4a5b6b}
.f-testa{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:2px solid #0369a1}
.f-neg b{display:block;font-family:var(--font-d);font-size:1.2rem}.f-neg small{color:#4a5b6b;line-height:1.45}
.f-logo{max-height:52px;max-width:180px;display:block;margin-bottom:6px}
.f-num{text-align:right}.f-num span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#0369a1;font-weight:700}
.f-num b{font-family:var(--font-d);font-size:1.5rem}.f-num small{display:block;color:#4a5b6b}
.f-parti{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
.f-parti>div{background:#f4f8fb;border-radius:6px;padding:10px 12px}
.f-lbl{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#4a5b6b;font-weight:700}
.f-parti b{display:block}.f-parti small{color:#4a5b6b}
.f-righe{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.f-righe th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#4a5b6b;text-align:left;padding:8px 6px;border-bottom:1px solid #c7d3df}
.f-righe td{padding:8px 6px;border-bottom:1px solid #e3e9ef;vertical-align:middle}
.f-righe td small{display:block;color:#4a5b6b;font-size:.76rem}
.f-righe .num{text-align:right;white-space:nowrap}
.f-img{width:44px}.f-img img{width:40px;height:40px;object-fit:contain;display:block}
.f-piede{display:grid;gap:16px;margin-top:16px}
@media (min-width:640px){.f-piede{grid-template-columns:1fr 280px}}
.f-note p{margin:0 0 6px}
.f-tot{margin:0;display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}
.f-tot>div{display:flex;justify-content:space-between;gap:8px}.f-tot dt{color:#4a5b6b}.f-tot dd{margin:0;font-weight:600}
.f-tot .f-aliq{font-size:.78rem}.f-tot .f-aliq dd{font-weight:400}
.f-totale{border-top:2px solid #0f1d2a;padding-top:6px;margin-top:4px}.f-totale dt{color:#0f1d2a;font-weight:700}.f-totale dd{font-size:1.3rem;font-weight:800}
.f-fine{margin:18px 0 0;font-size:.74rem;color:#4a5b6b;text-align:center}
@media (max-width:560px){.foglio{padding:16px 14px}.f-righe th:nth-child(5),.f-righe td:nth-child(5){display:none}.f-img{width:36px}.f-img img{width:32px;height:32px}}

/* ---------- scheda cliente ---------- */
.sc-testa{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.sc-testa .azioni{display:flex;gap:8px;flex-wrap:wrap}
.mini-prodotti{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.mp{display:flex;gap:10px;align-items:center;padding:6px;border-radius:var(--r-s);background:var(--card2)}
.mp img{width:44px;height:44px;object-fit:contain}.mp span{font-weight:600;font-size:.86rem;line-height:1.25}.mp small{display:block;font-weight:400;color:var(--testo2)}

/* ---------- altro, funzioni, QR ---------- */
.tessere{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.tessera{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:14px;background:var(--card);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sh1);color:var(--testo);font:inherit;cursor:pointer;transition:box-shadow .2s,transform .25s var(--ease)}
.tessera:hover{box-shadow:var(--sh2);transform:translateY(-1px)}
.tessera b{font-weight:600}.tessera small{color:var(--testo2)}
.t-ico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r);background:var(--acc-s);color:var(--acc);margin-bottom:8px;flex:0 0 auto}
.funzioni{columns:2 420px;column-gap:16px}
.f-area{break-inside:avoid;background:var(--card);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sh1);padding:16px 18px;margin-bottom:16px}
.f-area h2{display:flex;align-items:center;gap:10px;margin:0 0 10px}.f-area h2 .t-ico{margin:0;width:36px;height:36px}
.f-area dl{margin:0}.f-area dl>div{padding:8px 0;border-top:1px solid var(--linea)}
.f-area dt{font-weight:600}.f-area dd{margin:2px 0 0;color:var(--testo2);max-width:70ch}
.locandina{max-width:460px;margin:0 auto;background:#fff;color:#0f1d2a;border-radius:16px;box-shadow:var(--sh2);padding:30px 26px;text-align:center;border:1px solid var(--linea);background-image:linear-gradient(#0369a1,#0369a1);background-size:100% 8px;background-repeat:no-repeat}
.loc-logo{max-height:64px;margin:0 auto 6px;display:block}.loc-neg{font-family:var(--font-d);font-size:1.15rem;display:block}
.locandina h2{font-size:1.5rem;margin:6px 0 14px;color:#0369a1}
.loc-qr svg{width:240px;height:240px;margin:0 auto;display:block}
.locandina ul{list-style:none;padding:0;margin:16px 0 10px;display:flex;flex-direction:column;gap:6px;align-items:center;font-weight:600}
.locandina li{display:flex;gap:8px;align-items:center}.locandina li .ico{color:#0369a1}
.locandina small{color:#4a5b6b;word-break:break-all}

/* ---------- guida e finestre ---------- */
.guida{position:fixed;inset:0;z-index:100;background:rgba(10,20,30,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:sfuma .25s ease}
.guida-card{width:min(440px,100%);max-height:90vh;overflow:auto;background:var(--card);border:1px solid var(--linea);border-radius:12px;box-shadow:var(--sh2);padding:24px;animation:entra .4s var(--ease)}
.guida-card .gi{width:52px;height:52px;border-radius:12px;background:var(--acc-s);color:var(--acc);display:grid;place-items:center;margin-bottom:14px}
.guida-card h2{margin:0 0 8px;font-size:1.2rem}.guida-card ul{padding-left:18px}.guida-card li{margin-bottom:6px}
.guida-punti{display:flex;gap:6px;margin:14px 0}
.guida-punti i{width:7px;height:7px;border-radius:4px;background:var(--linea2);transition:transform .25s var(--ease),background .2s;transform-origin:left}
.guida-punti i.on{transform:scaleX(3.1);margin-right:15px;background:var(--acc)}
.guida-bottoni{display:flex;justify-content:space-between;gap:8px;align-items:center}
@keyframes sfuma{from{opacity:0}}
.avviso-nuovo{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:90;background:var(--acc);color:#fff;font-weight:700;padding:12px 18px;border-radius:24px;box-shadow:var(--sh2);animation:entra .4s var(--ease)}
@media (min-width:768px){.avviso-nuovo{bottom:24px}}
.reg{max-width:480px;margin:20px auto}
.accetta{max-width:820px;margin:16px auto}

/* ================= APP DEL CLIENTE ================= */
.capp .wrap{max-width:720px;margin:0 auto;padding:14px 14px 100px}
@media (min-width:1024px){.capp .wrap{margin:0 auto;max-width:980px;padding:24px 24px 48px}
  .capp .menu{position:sticky;top:52px;bottom:auto;left:auto;width:auto;flex-direction:row;justify-content:center;padding:0;border-bottom:1px solid var(--linea);background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:saturate(1.4) blur(18px)}
  .capp .menu a{padding:10px 16px;border-radius:0}.capp .menu a.on{background:transparent;box-shadow:none}.capp .menu a.on::before{top:auto;bottom:0;left:16px;right:16px;width:auto;height:3px}}
.top-az{display:flex;gap:6px;align-items:center}
.seg-top button{padding:4px 9px;min-height:28px;font-size:.76rem}
.ciao{font-size:1.5rem;margin:4px 0 12px}
.banner{display:flex;gap:12px;align-items:center;background:linear-gradient(120deg,var(--acc),color-mix(in srgb,var(--acc) 70%,#14b8a6));color:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 10px 24px -12px color-mix(in srgb,var(--acc) 70%,transparent)}
.banner img{width:76px;height:76px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.banner b{font-size:1.05rem;display:block}.banner p{margin:3px 0 8px;opacity:.95;font-size:.9rem}
.banner .btn{background:#fff;color:var(--acc2);border-color:#fff}
.stato-card{display:block;color:var(--testo);margin-bottom:12px}
.stato-card span{color:var(--testo2);font-size:.82rem}.stato-card b{display:block;font-family:var(--font-d);font-size:1.25rem;margin-bottom:10px}
.barra-passi{display:flex;gap:4px;margin:8px 0}
.barra-passi i{flex:1;height:5px;border-radius:3px;background:var(--linea)}
.barra-passi i.on{background:var(--acc)}
.riordina{margin-bottom:14px}
.ri-t{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ri-t h2{display:flex;align-items:center;gap:8px;margin:0}.ri-t h2 .ico{color:var(--acc)}.ri-t small{color:var(--testo2)}
.ri-foto{display:flex;gap:8px;margin-top:12px;overflow-x:auto}
.ri-foto span{position:relative;flex:0 0 auto;width:62px;height:62px;border-radius:var(--r);background:var(--card2)}
.ri-foto img{width:100%;height:100%;object-fit:contain;padding:4px}
.ri-foto i{position:absolute;right:-4px;bottom:-4px;min-width:22px;height:22px;border-radius:11px;background:var(--testo);color:var(--card);font:700 .72rem/22px var(--font);text-align:center;padding:0 5px;font-style:normal}
.sez-t{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--testo2);margin:20px 2px 8px}
.scorri{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,44%);gap:10px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}
.scorri .pc{scroll-snap-align:start}
@media (min-width:700px){.scorri{grid-auto-columns:200px}}
.griglia-app{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.griglia-app{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.griglia-app{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linea);border-radius:12px;box-shadow:var(--sh1);overflow:hidden}
.pc-img{position:relative;border:0;padding:0;margin:0;cursor:pointer;aspect-ratio:1/1;background:linear-gradient(180deg,var(--card2),color-mix(in srgb,var(--acc) 8%,var(--card2)))}
.pc-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.pc-img .nastro-v{top:8px;padding:3px 5px;display:grid}
.pc.esaurito .pc-img img{filter:grayscale(1);opacity:.5}
.pc-t{padding:8px 10px 0}.pc-t b{display:block;font-weight:600;font-size:.9rem;line-height:1.25}.pc-t small{color:var(--testo2);font-size:.74rem}
.pc-p{padding:4px 10px 0;font-variant-numeric:tabular-nums}.pc-p b{font-family:var(--font-d);font-size:1.15rem}.pc-p small{display:block;color:var(--testo2);font-size:.7rem}
.pc-az{padding:8px 10px 10px;margin-top:auto}
.btn-agg{width:100%;min-height:38px;font-size:.86rem}
.stepper-app{display:flex;width:100%;justify-content:space-between;border-color:var(--acc);background:var(--acc-s)}
.stepper-app button{width:40px;height:38px;color:var(--acc-t)}
.stepper-app b{color:var(--acc-t)}
.esaur{display:block;text-align:center;color:var(--ko);font-weight:600;font-size:.84rem;padding:8px 0}
.carr{list-style:none;margin:0;padding:0}
.carr li{display:grid;grid-template-columns:52px 1fr auto;gap:4px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--linea)}
.carr li:last-child{border-bottom:0}
.carr img{width:52px;height:52px;object-fit:contain;border-radius:var(--r-s);background:var(--card2);grid-row:span 2}
.carr .chi b{font-weight:600;font-size:.9rem;display:block;line-height:1.25}.carr .chi small{color:var(--testo2)}
.carr .pc-az{padding:0;grid-column:2}.carr .stepper-app{width:auto;display:inline-flex}
.carr-tot{grid-column:3;grid-row:1/3;font-variant-numeric:tabular-nums}
.ord summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none}
.ord summary::-webkit-details-marker{display:none}
.ord summary small{display:block;color:var(--testo2)}
.ord-r{list-style:none;padding:0;margin:8px 0 12px}.ord-r li{padding:3px 0}.ord-r span{font-weight:700;font-variant-numeric:tabular-nums;color:var(--acc)}
.ord .hint .ico{vertical-align:-4px}
.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:95;background:var(--testo);color:var(--card);padding:10px 16px;border-radius:20px;font-weight:600;font-size:.9rem;box-shadow:var(--sh2);max-width:calc(100% - 32px);animation:entra .3s var(--ease)}
@media (min-width:1024px){.toast{bottom:28px}}
.info-prod img{width:100%;max-height:260px;object-fit:contain;background:var(--card2);border-radius:var(--r);margin-bottom:12px}
.info-p b{font-family:var(--font-d);font-size:1.4rem}
.inviato{padding:40px 16px}.inviato>.ico{color:var(--ok)}

/* ---------- stampa ---------- */
@media print{
  body{background:#fff!important}.top,.menu,.demo-bar,.no-stampa,.pg-az,.vedi-az,.avviso-nuovo,.toast{display:none!important}
  .wrap{margin:0!important;padding:0!important;animation:none}.vedi{display:block}
  .foglio{border:0;box-shadow:none;padding:0}.locandina{box-shadow:none}
  .card{box-shadow:none}
}
