:root {
  --alpa-arancio: #f2bf6d;
  --alpa-verde: #94d66a;
  --alpa-rosa: #ea70bf;
  --alpa-ciano: #58bdd9;
  --alpa-viola: #8d79a4;
  --alpa-inchiostro: #262330;
  --alpa-carta: #f7f5f1;
  --alpa-bianco: #ffffff;
  --alpa-azione: #59426e;
  --alpa-bordo: #807988;
  --alpa-muted: #5d5868;
  --alpa-errore: #a52a38;
  --alpa-successo: #286442;
  --alpa-accento-arancio: #FFB332;
  --alpa-accento-verde: #78D64C;
  --alpa-accento-rosa: #F83CA4;
  --alpa-accento-ciano: #00B9D7;
  --alpa-accento-viola: #9363AB;
  --alpa-space-4: 4px;
  --alpa-space-8: 8px;
  --alpa-space-12: 12px;
  --alpa-space-16: 16px;
  --alpa-space-24: 24px;
  --alpa-space-32: 32px;
  --alpa-space-48: 48px;
  --alpa-space-64: 64px;
  --alpa-space-96: 96px;
  --alpa-font-heading: Manrope, Arial, sans-serif;
  --alpa-font-body: Inter, Arial, sans-serif;
  --alpa-radius-control: 8px;
  --alpa-radius-card: 16px;
  --alpa-content-max: 1200px;
  --alpa-motion-duration: 160ms;
  --alpa-motion-easing: ease-out;
}
/* Componenti di base: integrare con markup semantico e gestione degli stati. */
.alpa-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; box-sizing:border-box; border:1px solid transparent; border-radius:var(--alpa-radius-control); font:600 16px/1.5 var(--alpa-font-body); background:var(--alpa-azione); color:white; cursor:pointer; }
.alpa-button:hover { background:#463257; }
.alpa-button:active { background:#382744; }
.alpa-button:focus-visible, .alpa-input:focus-visible, .alpa-link:focus-visible { outline:3px solid var(--alpa-inchiostro); outline-offset:3px; box-shadow:0 0 0 3px white; }
.alpa-button:disabled { background:#E4DFE8; color:#5D5868; cursor:default; }
.alpa-button--secondary { background:white; color:var(--alpa-inchiostro); border-color:var(--alpa-bordo); }
.alpa-button--secondary:hover { background:var(--alpa-carta); }
.alpa-button--secondary:active { background:#E4DFE8; }
.alpa-input { width:100%; box-sizing:border-box; min-height:48px; padding:12px 16px; font:400 16px/1.5 var(--alpa-font-body); color:var(--alpa-inchiostro); background:white; border:1px solid var(--alpa-bordo); border-radius:8px; }
.alpa-input[aria-invalid="true"] { border-color:var(--alpa-errore); border-width:2px; }
.alpa-link { color:var(--alpa-azione); text-decoration:underline; text-underline-offset:3px; }
.alpa-card { padding:24px; border:1px solid var(--alpa-bordo); border-radius:16px; background:white; }
.alpa-grid { display:grid; gap:24px; grid-template-columns:1fr; }
@media(min-width:768px) { .alpa-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1024px) { .alpa-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .alpa-button { transition:none; animation:none; } }

/* Superfici e titoli delle applicazioni */
:root { --alpa-titolo:#17233E; --alpa-avorio:#FFFDF8; }
