: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:#c9a35a;--gold-soft:#e7cd92;--gold-deep:#937430;
  --holo:linear-gradient(135deg,var(--gold-soft),var(--gold));
  --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(201,163,90,.07),transparent 60%),
             radial-gradient(800px 500px at 110% 10%,rgba(201,163,90,.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-nome{font:600 22px var(--font-serif)}.marchio-nome b{color:var(--gold);font-weight:600}
.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)}
.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:#1b1610;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(--gold-soft);border-color:var(--gold)}
.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}
@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:#1b1610;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}
