:root{
  --ink-0:#0f0e12;--ink-1:#141217;--ink-2:#1b1922;--ink-3:#221f2a;--ink-4:#2e2b36;
  --ink-text:#f3f0e9;--ink-muted:rgba(243,240,233,.62);--ink-muted-2:rgba(243,240,233,.42);--ink-strong:#fff;
  --gold:#ee3338;--gold-soft:#f6777a;--gold-deep:#b5232a;
  --warn:#e9b44c;--warn-soft:#f3d08c;  /* attenzione: giallo, distinto dal rosso del marchio ABI */
  --holo:linear-gradient(135deg,var(--gold),var(--gold-deep));
  --emerald:#34d399;--emerald-soft:#7ee2b8;--danger:#e2574e;--danger-soft:#f7a9a3;--electric:#38bdf8;
  --glass-thin:rgba(255,255,255,.03);--glass-base:rgba(255,255,255,.05);--glass-thick:rgba(255,255,255,.07);
  --glass-stroke:rgba(255,255,255,.09);--glass-stroke-strong:rgba(255,255,255,.16);
  --vib:saturate(180%) blur(32px);
  --r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-pill:999px;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
  --sh-card:0 18px 40px -18px rgba(0,0,0,.7);--sh-card-hover:0 24px 48px -18px rgba(0,0,0,.8);
  --ease-glide:cubic-bezier(.22,1,.36,1);
  --font-sans:-apple-system,'SF Pro Display','Inter',system-ui,sans-serif;
  --font-serif:'Fraunces',Georgia,serif;--font-mono:'Geist Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 var(--font-sans);color:var(--ink-text);min-height:100vh;
  background:radial-gradient(900px 600px at 10% -10%,rgba(238,51,56,.07),transparent 60%),
             radial-gradient(800px 500px at 110% 10%,rgba(238,51,56,.04),transparent 60%),
             linear-gradient(var(--ink-0),var(--ink-1));background-attachment:fixed}
a{color:var(--gold-soft);text-decoration:none}
.testata{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:64px;
  padding:0 var(--sp-5);border-bottom:1px solid var(--glass-stroke);background:var(--glass-thin);backdrop-filter:var(--vib)}
.marchio{display:flex;flex-direction:column;line-height:1.1;color:var(--ink-text)}
.marchio{flex-direction:row;align-items:center;gap:var(--sp-3)}
.marchio-logo{height:48px;width:auto;display:block}
.marchio-sotto{font:600 10px var(--font-mono);letter-spacing:.22em;color:var(--ink-muted)}
.menu{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.menu a{padding:6px 12px;border-radius:var(--r-pill);color:var(--ink-muted)}
.menu a:hover{background:var(--glass-base);color:var(--ink-text)}
.menu{align-items:center}
.testata{position:relative;z-index:30}
.menu-altro{position:relative}
.menu-altro summary{list-style:none;cursor:pointer;padding:6px 12px;border-radius:var(--r-pill);color:var(--ink-muted)}
.menu-altro summary::-webkit-details-marker{display:none}
.menu-altro summary::after{content:" ▾";font-size:10px}
.menu-altro[open] summary,.menu-altro summary:hover{background:var(--glass-base);color:var(--ink-text)}
.menu-tendina{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;display:flex;flex-direction:column;
  padding:6px;background:var(--ink-3);border:1px solid var(--glass-stroke-strong);border-radius:var(--r-md);
  box-shadow:var(--sh-card);z-index:40}
.menu-tendina a{border-radius:var(--r-sm);min-height:40px;display:flex;align-items:center}
.pagina{max-width:1180px;margin:0 auto;padding:var(--sp-5)}
h1{font:600 clamp(1.6rem,3vw,2.2rem)/1.1 var(--font-serif);letter-spacing:-.02em;margin:0 0 var(--sp-4)}
h2{font-size:1.05rem;margin:var(--sp-5) 0 var(--sp-3)}
.eyebrow{font:600 11px var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted)}
.vetro{background:var(--glass-base);border:1px solid var(--glass-stroke);border-radius:var(--r-lg);
  backdrop-filter:var(--vib);box-shadow:var(--sh-card);padding:18px 20px;margin-bottom:var(--sp-4)}
.btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:13px;
  border:1px solid var(--glass-stroke-strong);background:var(--glass-base);color:var(--ink-text);
  font:600 13px var(--font-sans);cursor:pointer;transition:transform .2s var(--ease-glide)}
.btn:hover{transform:translateY(-2px);border-color:var(--gold)}
.btn--primario{background:var(--holo);color:#fff;border-color:transparent}
.btn--piccolo{min-height:32px;padding:0 10px;font-size:12px}
.campo,select.campo,textarea.campo{width:100%;padding:9px 12px;border-radius:var(--r-sm);
  border:1px solid var(--glass-stroke-strong);background:var(--ink-2);color:var(--ink-text);font:inherit}
textarea.campo{min-height:64px;resize:vertical}
label{display:block;font-size:12.5px;color:var(--ink-muted);margin-bottom:4px}
.griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}
.tab{width:100%;border-collapse:collapse}
.tab th{font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);
  text-align:left;padding:8px 10px;border-bottom:1px solid var(--glass-stroke)}
.tab td{padding:10px;border-bottom:1px solid var(--glass-stroke);vertical-align:top}
.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.chip{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);font-size:12px;border:1px solid var(--glass-stroke-strong)}
.chip--ok{color:var(--emerald-soft);border-color:var(--emerald)}
.chip--no{color:var(--danger-soft);border-color:var(--danger)}
.chip--attenzione{color:var(--warn-soft);border-color:var(--warn)}
.errore{color:var(--danger-soft);background:rgba(226,87,78,.12);border:1px solid var(--danger);
  border-radius:var(--r-sm);padding:10px 12px;margin-bottom:var(--sp-3)}
.muto{color:var(--ink-muted)}
.vuoto{text-align:center;color:var(--ink-muted);padding:var(--sp-6)}
#avvisi{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:50}
.avviso{padding:10px 14px;border-radius:var(--r-md);background:var(--ink-3);border:1px solid var(--gold);
  box-shadow:var(--sh-card);max-width:360px}
.avviso--err{border-color:var(--danger)}.avviso--ok{border-color:var(--emerald)}
.accesso{max-width:380px;margin:12vh auto}
.accesso-logo{display:block;height:80px;width:auto;margin-bottom:var(--sp-4)}
@media (max-width:720px){.pagina{padding:var(--sp-4)}.testata{height:auto;flex-wrap:wrap;padding:var(--sp-3)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.esiti .btn.on{background:var(--holo);color:#fff;border-color:transparent}
.voce.salvata{box-shadow:inset 3px 0 0 var(--emerald)}
.voce.errore-salvataggio{box-shadow:inset 3px 0 0 var(--danger)}
.voce .btn{min-height:44px}
.barra{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.spunte{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}
.spunta{display:flex;align-items:center;gap:6px;min-height:44px;color:var(--ink-text);font-size:13px}
.esito-ok{color:var(--emerald-soft);border:1px solid var(--emerald);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:var(--sp-3)}
.nota-avviso{color:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:var(--sp-3)}
@media print{
  body{background:#fff;color:#000}
  .testata,.non-stampa,#avvisi{display:none}
  .vetro{background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0}
  .tab td,.tab th{border-color:#ccc;color:#000}
  .chip{border-color:#999;color:#000}
  a{color:#000}
}

.proposta{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin:6px 0 10px;padding:8px 12px;
  border:1px dashed var(--warn);border-radius:var(--r-sm);color:var(--warn-soft);font-size:13px}

.affiancati{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--sp-4)}
.anteprima{width:100%;border-radius:var(--r-sm);background:#fff}
.incerto{border-color:var(--warn);box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 30%,transparent)}
.lavoratore{align-items:center;border-top:1px solid var(--glass-stroke);padding:8px 0}
@media (max-width:720px){.affiancati{grid-template-columns:1fr}}
.conta{display:inline-block;min-width:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--gold);color:#fff;font:600 11px var(--font-mono);text-align:center;line-height:20px}
.btn--attivo{border-color:var(--gold)}
