/* Web Academy – stile della pagina cliente e della pagina di ingresso */
.wa-app, .wa-ingresso { --wa-ok:#1e8e3e; --wa-warn:#e37400; --wa-ko:#c5221f; --wa-info:#1a73e8; --wa-grigio:#5f6368; --wa-bordo:#dadce0; --wa-sfondo:#f8f9fa;
  font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:#202124; }
.wa-app *, .wa-ingresso * { box-sizing: border-box; }
.wa-app button, .wa-ingresso button { font: inherit; cursor: pointer; }

/* ingresso */
.wa-ingresso { max-width: 420px; margin: 2em auto; padding: 1.5em; border: 1px solid var(--wa-bordo); border-radius: 10px; background: #fff; }
.wa-ingresso h2 { margin: 0 0 .3em; font-size: 1.3em; }
.wa-ingresso input[type=password] { width: 100%; padding: .7em; font-size: 1.05em; border: 1px solid var(--wa-bordo); border-radius: 6px; margin-bottom: .7em; }
.wa-ingresso button, .wa-btn { padding: .55em 1.1em; border-radius: 6px; border: 1px solid var(--wa-bordo); background: #fff; color: #202124; text-decoration: none; display: inline-block; }
.wa-ingresso form button, .wa-primario { background: var(--wa-info); border-color: var(--wa-info); color: #fff; }
.wa-pericolo { color: var(--wa-ko); border-color: var(--wa-ko); }
.wa-errore { color: var(--wa-ko); font-weight: 600; }
.wa-elenco-clienti { columns: 2; padding-left: 1.2em; }
.wa-uscita { text-align: right; margin-top: 1em; }
.wa-uscita button { background: none; border: 0; color: var(--wa-grigio); text-decoration: underline; }

/* testata e filtri */
.wa-testa h2 { margin: 0; font-size: 1.5em; }
.wa-sotto { color: var(--wa-grigio); margin-bottom: 1em; }
.wa-schede { display: flex; gap: .4em; flex-wrap: wrap; margin-bottom: .8em; }
.wa-schede button { padding: .45em .9em; border: 1px solid var(--wa-bordo); background: #fff; border-radius: 999px; }
.wa-schede button.on { background: #202124; color: #fff; border-color: #202124; }
.wa-filtri { display: flex; gap: .6em; flex-wrap: wrap; align-items: center; margin-bottom: 1em; }
.wa-filtri select, .wa-filtri input[type=search] { padding: .5em .7em; border: 1px solid var(--wa-bordo); border-radius: 6px; font: inherit; min-width: 180px; }
.wa-chk { display: inline-flex; align-items: center; gap: .35em; color: var(--wa-grigio); }

/* KPI */
.wa-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .6em; margin-bottom: 1.2em; }
.wa-k { border: 1px solid var(--wa-bordo); border-radius: 8px; padding: .6em .8em; background: #fff; border-left-width: 5px; }
.wa-k .n { font-size: 1.7em; font-weight: 700; line-height: 1.1; }
.wa-k .t { font-size: .85em; color: var(--wa-grigio); }
.wa-k.wa-scaduto { border-left-color: var(--wa-ko); }
.wa-k.wa-in_scadenza { border-left-color: var(--wa-warn); }
.wa-k.wa-valido { border-left-color: var(--wa-ok); }
.wa-k.wa-in_corso { border-left-color: var(--wa-info); }
.wa-k.wa-da_formare { border-left-color: #8430ce; }
.wa-k.wa-mancanti { border-left-color: #9aa0a6; }
.wa-k.wa-tot { border-left-color: #202124; }

/* tabella */
.wa-scroll { overflow-x: auto; border: 1px solid var(--wa-bordo); border-radius: 8px; background: #fff; }
.wa-tab { border-collapse: collapse; width: 100%; font-size: .92em; }
.wa-tab th, .wa-tab td { padding: .5em .6em; border-bottom: 1px solid #eee; text-align: left; vertical-align: top; white-space: nowrap; }
.wa-tab thead th { background: var(--wa-sfondo); position: sticky; top: 0; font-weight: 600; }
.wa-tab td.wa-nome { font-weight: 600; white-space: normal; min-width: 160px; }
.wa-tab tr.wa-cessato td { color: #9aa0a6; }
.wa-tab small { color: var(--wa-grigio); font-weight: 400; }
.wa-cella.wa-nessuno { color: #bbb; }
.wa-pill { display: inline-block; padding: .1em .55em; border-radius: 999px; font-size: .9em; background: #eee; }
.wa-cella.wa-scaduto .wa-pill { background: #fce8e6; color: var(--wa-ko); }
.wa-cella.wa-in_scadenza .wa-pill { background: #fef3e0; color: var(--wa-warn); }
.wa-cella.wa-valido .wa-pill { background: #e6f4ea; color: var(--wa-ok); }
.wa-cella.wa-in_corso .wa-pill { background: #e8f0fe; color: var(--wa-info); }
.wa-cella.wa-da_formare .wa-pill { background: #f3e8fd; color: #8430ce; }
.wa-pdf { font-size: .8em; font-weight: 700; color: var(--wa-info); text-decoration: none; }
.wa-manca { color: var(--wa-ko); font-weight: 700; }
.wa-mini { border: 1px solid var(--wa-bordo); background: #fff; border-radius: 4px; padding: 0 .4em; font-size: .85em; color: var(--wa-grigio); }
.wa-mini:hover { color: #202124; border-color: #202124; }
.wa-azioni { white-space: nowrap; }
.wa-vuoto { color: var(--wa-grigio); padding: 1em; }
.wa-caricamento { color: var(--wa-grigio); }

/* finestra modale */
.wa-sfondo { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 1em; }
.wa-finestra { background: #fff; border-radius: 10px; padding: 1.2em 1.4em; width: 100%; max-width: 560px; max-height: 92vh; overflow: auto; display: grid; grid-template-columns: 1fr 1fr; gap: .5em .9em; }
.wa-finestra h3, .wa-finestra .wa-piede, .wa-finestra .wa-errore, .wa-finestra .wa-chi { grid-column: 1 / -1; margin: 0; }
.wa-finestra .wa-chi { font-weight: 600; color: var(--wa-grigio); }
.wa-c { display: flex; flex-direction: column; gap: .15em; font-size: .9em; }
.wa-c span { color: var(--wa-grigio); }
.wa-c input, .wa-c select { padding: .45em .6em; border: 1px solid var(--wa-bordo); border-radius: 6px; font: inherit; width: 100%; }
.wa-c.wa-chk { flex-direction: row; align-items: center; margin-top: 1.4em; }
.wa-c.wa-chk input { width: auto; }
.wa-piede { display: flex; gap: .5em; align-items: center; margin-top: .6em; }
.wa-spazio { flex: 1; }
@media (max-width: 600px) { .wa-finestra { grid-template-columns: 1fr; } .wa-elenco-clienti { columns: 1; } }
