/* Layout di CleverSend. Colori, tipografia e componenti vengono dal design system Clever:
   public/clever/token.css e public/clever/componenti.css (vedi docs/design-system). */

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); }
a { color: var(--accent-text); }
.mono { font-family: var(--font-mono); font-size: 13px; }
.nota { margin: 0; color: var(--muted); font-size: 12px; line-height: 18px; }
.nota .mono { font-size: 12px; color: var(--ink-2); }
:where(a, summary, button, input, select, textarea):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* Struttura: barra laterale + contenuto */
.app { display: flex; min-height: 100vh; }
.app > .cl-sidebar { position: sticky; top: 0; height: 100vh; flex: none; }
.contenuto { flex: 1; min-width: 0; max-width: 1440px; padding: var(--space-8) var(--space-6) var(--space-12); display: flex; flex-direction: column; gap: var(--space-6); }
.contenuto > .cl-pagehead { margin-bottom: 0; }

/* Barra laterale */
.cl-switch > summary { list-style: none; }
.cl-switch > summary::-webkit-details-marker { display: none; }
.cl-switch[open] > summary { background: var(--hover); }
.cl-switch-item.is-spento { opacity: .6; cursor: default; }
.cl-switch-item.is-spento:hover { background: none; }
.cl-sidebar-foot { display: flex; align-items: center; gap: var(--space-2); }
.account { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.account strong { color: var(--ink); font-weight: 500; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-azioni { display: flex; gap: 2px; }
.cl-btn { text-decoration: none; }

/* Intestazione di pagina */
.indietro { display: inline-flex; align-items: center; gap: 4px; margin-bottom: var(--space-3); color: var(--muted); font-size: 13px; text-decoration: none; }
.indietro:hover { color: var(--ink); }
.cl-pagehead-title { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }

/* Impaginazione dei moduli */
.pila { display: flex; flex-direction: column; gap: var(--space-6); }
.pila-stretta { display: flex; flex-direction: column; gap: var(--space-3); }
.pila-stretta:empty { display: none; }
.cl-panel-body > * + * { margin-top: var(--space-4); }
.cl-panel-body > p { margin-bottom: 0; }
.cl-panel.is-flush .cl-panel-body > * + * { margin-top: 0; }
.cl-panel-head { flex-wrap: wrap; }
.cl-panel-actions .cl-input { min-width: 240px; }
.riga { display: flex; gap: var(--space-4) var(--space-6); flex-wrap: wrap; align-items: center; }
.riga.prodotto { gap: var(--space-2); flex-wrap: nowrap; }
.riga.prodotto .cl-field { flex: none; }
.riga.prodotto .cl-field.cresce { flex: 1; }
.griglia-2, .griglia-3 { display: grid; gap: var(--space-4); }
.griglia-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.griglia-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.campo-corto { max-width: 200px; }
.riga.prodotto .campo-mesi { width: 96px; }
.campo-operatore { max-width: 320px; margin-bottom: var(--space-3); }
td.servizi { font-size: 13px; min-width: 280px; }
td.servizi summary { cursor: pointer; color: var(--muted); white-space: nowrap; }
td.servizi .nessuno { color: var(--muted); }
td.servizi .sede { margin-top: 6px; }
td.servizi .sede-nome { font-weight: 600; font-size: 12px; color: var(--muted); }
td.servizi .sede-gruppo { margin-top: 4px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); }
td.servizi ul { list-style: none; margin: 2px 0 0; padding: 0; }
td.servizi li { padding: 1px 0; }
td.servizi .dal { color: var(--muted); margin-left: 6px; white-space: nowrap; }
td.cliente-servizi, td.sede-servizi, td.elenco-servizi { vertical-align: top; }
.azioni { display: flex; gap: var(--space-2); flex-wrap: wrap; align-items: center; }
.azioni .cl-help { margin-left: var(--space-2); }
.cl-help:empty { display: none; }
.cl-banner ul { margin: 4px 0 0; padding-left: 18px; }
.testo-warn { display: flex; gap: 6px; margin-top: 4px; color: var(--warn); font-size: 12px; }
.testo-warn .cl-icon { margin-top: 2px; }

/* Tabelle e stati */
.cl-table td a { color: inherit; text-decoration: none; }
.cl-table td a:hover { color: var(--accent-text); text-decoration: underline; }
.cl-table td.vuoto, p.vuoto { color: var(--muted); padding: var(--space-6) 14px; text-align: center; }
.cl-table td.vuoto a { color: var(--accent-text); text-decoration: underline; }
.cl-table td.is-mono { white-space: nowrap; }
.stato-cella { display: flex; gap: var(--space-1); flex-wrap: wrap; }
.link-cliccati { max-width: 260px; overflow-wrap: anywhere; font-family: var(--font-sans); }
.cl-badge .cl-icon { width: 14px; height: 14px; }

/* Stat: quattro per riga su desktop, due su tablet, una su telefono */
.stat-riga { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }

/* Dialoghi nativi */
dialog.cl-dialog { padding: 0; color: var(--ink); max-width: 480px; width: calc(100% - 2 * var(--space-4)); }
dialog.cl-dialog::backdrop { background: var(--scrim); }
dialog.cl-dialog form { margin: 0; }
.cl-dialog-body p { margin: 0; }

/* Editor: TinyMCE dentro il pannello */
.tox.tox-tinymce { border-radius: var(--radius-control); border-color: var(--line-2); }

/* Archivio immagini */
.galleria { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--space-4); }
.immagine { margin: 0; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--radius-card); overflow: hidden; display: flex; flex-direction: column; }
.immagine img { width: 100%; height: 150px; object-fit: contain; background: var(--bg-2); border-bottom: 1px solid var(--line); }
.immagine figcaption { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; overflow-wrap: anywhere; font-size: 13px; }
.immagine figcaption strong { font-weight: 500; color: var(--ink); }
.immagine .cl-btn { margin-top: 6px; }

/* Pagine pubbliche (disiscrizione) */
body.pubblica { min-height: 100vh; display: grid; place-items: start center; padding: var(--space-12) var(--space-4); }
.scheda-pubblica { width: 100%; max-width: 520px; }
.scheda-pubblica .cl-panel-body { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-8); }
.scheda-pubblica p { margin: 0; }
.scheda-pubblica.is-larga { max-width: 680px; }
.testo-modulo { white-space: pre-line; }
.domanda-pubblica { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.domanda-pubblica legend { padding: 0; margin-bottom: var(--space-2); }
.domanda-pubblica.is-errore legend { color: var(--err); }
.obbligatoria { color: var(--err); }
.cl-check-box.is-radio { border-radius: 50%; }
.cl-check input:checked + .cl-check-box.is-radio { box-shadow: inset 0 0 0 3px var(--panel); }
.marchio-pubblico { display: flex; align-items: center; gap: 10px; font: 600 15px/20px var(--font-sans); }

@media (max-width: 1100px) {
  .stat-riga { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .griglia-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Sotto i 700px la barra laterale diventa una fascia in alto */
@media (max-width: 700px) {
  .app { flex-direction: column; }
  .app > .cl-sidebar { position: static; width: 100%; height: auto; border-right: 0; border-bottom: 1px solid var(--line-2); }
  .cl-sidebar-nav { flex-direction: row; overflow-x: auto; gap: var(--space-2); }
  .cl-nav-group { flex-direction: row; }
  .cl-nav-label { display: none; }
  .cl-nav-item { white-space: nowrap; }
  .cl-sidebar-foot { margin-top: 0; }
  .contenuto { padding: var(--space-6) var(--space-4) var(--space-12); }
  .stat-riga, .griglia-2, .griglia-3 { grid-template-columns: minmax(0, 1fr); }
  .riga.prodotto { flex-wrap: wrap; }
  .cl-panel-actions { width: 100%; flex-wrap: wrap; }
  .cl-panel-actions .cl-input { min-width: 0; }
}

/* Accesso e configurazione */
.marchio-accesso { display: flex; align-items: center; gap: 14px; }
.marchio-accesso div { display: flex; flex-direction: column; }
.marchio-accesso strong { font: 600 18px/24px var(--font-sans); }
.marchio-accesso span { font: 500 10px/14px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.accesso .cl-btn { width: 100%; }
.separatore { display: flex; align-items: center; gap: var(--space-3); color: var(--muted); font-size: 12px; }
.separatore::before, .separatore::after { content: ""; flex: 1; height: 1px; background: var(--line-2); }
.griglia-2 > .intera, .griglia-3 > .intera { grid-column: 1 / -1; }
.griglia-3 > div:last-child { align-self: end; }
.cl-field + .cl-check { margin-top: var(--space-2); }

.guida { border: 1px solid var(--line-2); border-radius: var(--radius-card); background: var(--bg-2); padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4); }
.guida summary { cursor: pointer; font-weight: 600; }
.guida ol { padding-left: 20px; margin: 8px 0; }
.guida li { margin: 6px 0; line-height: 1.5; }
.guida code { font-size: 13px; overflow-wrap: anywhere; }

.azioni-riga { white-space: nowrap; }
.azioni-riga form, .cl-pagehead-actions form { display: inline; }
td.servizi-testo { font-size: 13px; color: var(--muted); max-width: 420px; }
.guida h3 { font-size: 14px; margin: 14px 0 4px; }
.guida ul { padding-left: 20px; margin: 6px 0; }
.guida p { margin: 6px 0; }
.guida .guida-nota { font-size: 13px; color: var(--muted); }
.esiti { margin: 0; padding-left: 18px; }
.esiti li { margin: 4px 0; line-height: 1.45; }
.record { margin: 8px 0 0; padding: 8px 10px; background: var(--bg-2); border-radius: 8px; font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.modulo-dominio { align-items: flex-end; }
.modulo-dominio > .cresce { flex: 1 1 220px; }
.modulo-dominio > .cresce:first-child { flex-grow: 2; }
.modulo-dominio .cl-field { margin-bottom: 0; }
.modulo-dominio .nota-dominio { flex-basis: 100%; margin: calc(-1 * var(--space-2)) 0 0; }
.cl-panel-title .cl-badge { margin-left: 8px; vertical-align: middle; }
.porta-sicurezza { display: grid; grid-template-columns: 96px 1fr; gap: var(--space-3); }

/* Editor dei sondaggi */
.domanda { padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.domanda-testa { flex-wrap: nowrap; gap: var(--space-2); }
.domanda-testa .cl-field { flex: none; }
.domanda-testa .cl-field.cresce, .domanda-piede .cresce { flex: 1; }
.domanda-numero { color: var(--muted); min-width: 24px; }
.domanda-piede { gap: var(--space-2); }
[data-su] svg { transform: rotate(180deg); }
.barra-risposta { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) 96px; gap: var(--space-3); align-items: center; font-size: 14px; }
.barra-risposta .barra { height: 8px; border-radius: 4px; background: var(--line); overflow: hidden; }
.barra-risposta .barra span { display: block; height: 100%; background: var(--accent); }
@media (max-width: 640px) {
  .domanda-testa { flex-wrap: wrap; }
  .barra-risposta { grid-template-columns: 1fr 72px; }
  .barra-risposta .barra { grid-column: 1 / -1; grid-row: 2; }
}

/* Accesso, utenti e profilo */
a.account { text-decoration: none; color: inherit; border-radius: 6px; }
a.account:hover strong { text-decoration: underline; }
.emergenza summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.emergenza[open] summary { margin-bottom: var(--space-3); }
.qr-2fa { width: 200px; height: 200px; align-self: center; background: #fff; padding: 8px; border-radius: 8px; }
.qr-2fa svg { width: 100%; height: 100%; display: block; }
.chiave-2fa { word-break: break-all; }
tr.is-spento td { color: var(--muted); }
.richiesta-approva { gap: var(--space-2); flex-wrap: nowrap; }
.richiesta-approva .cl-select-wrap { min-width: 150px; }
.token-crea { flex-wrap: nowrap; gap: var(--space-2); margin-bottom: var(--space-4); }
.token-crea .cresce { flex: 1; }
.token-nuovo { display: flex; gap: var(--space-2); align-items: center; margin-top: var(--space-2); flex-wrap: wrap; }
.token-nuovo code { word-break: break-all; background: var(--panel); padding: 4px 8px; border-radius: 6px; }
.campo-stretto { max-width: 420px; }

/* Prova del collegamento con Microsoft 365 */
.prova-microsoft { margin-top: 16px; display: grid; gap: 12px; }
.controlli-prova { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.controlli-prova li { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: start; }
.controlli-prova .cl-badge { justify-self: start; }
.controlli-prova p { margin: 2px 0 0; color: var(--muted); overflow-wrap: anywhere; }
@media (max-width: 560px) { .controlli-prova li { grid-template-columns: 1fr; gap: 4px; } }

/* Pulsanti "Accedi con Microsoft 365 / Google" con il logo */
.pulsante-esterno { justify-content: center; gap: 10px; width: 100%; }
.pulsante-esterno .logo-accesso { flex: none; }
.badge-accesso { display: inline-flex; align-items: center; gap: 6px; }
.badge-accesso svg { width: 12px; height: 12px; flex: none; }

/* Lista manuale */
.schede-lm { margin-bottom: 4px; }
.passi-import { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; counter-reset: passo; flex-wrap: wrap; }
.passi-import li { counter-increment: passo; font-size: 13px; color: var(--muted); padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line-2); }
.passi-import li::before { content: counter(passo) ". "; }
.passi-import li.is-attivo { color: inherit; border-color: currentColor; font-weight: 600; }
.tabella-abbina select { min-width: 150px; }
.tabella-abbina td { font-size: 13px; color: var(--muted); white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.riepilogo-import { display: flex; gap: 8px; flex-wrap: wrap; }
.badge-numero { display: inline-flex; align-items: center; gap: 5px; font-variant-numeric: tabular-nums; }

/* Aggiunta di un destinatario in linea (niente finestre) */
.aggiungi-in-linea { padding: var(--space-4) var(--space-pad-card); border-bottom: 1px solid var(--line); display: grid; gap: var(--space-2); }
.riga-destinatario { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(0, 1fr)) auto; gap: var(--space-3); align-items: start; }
.riga-destinatario .cl-field, .altri-dati .cl-field { margin: 0; }
.rd-email { min-width: 0; }
.altri-dati > summary { cursor: pointer; color: var(--muted); font-size: 13px; padding: var(--space-1) 0; width: fit-content; }
.altri-dati > summary:hover { color: var(--ink); }
.altri-dati[open] > summary { margin-bottom: var(--space-3); }
.altri-dati-griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--space-4); }
.rd-gruppo { display: grid; gap: var(--space-2); min-width: 0; }
.rd-intero { grid-column: 1 / -1; }
.rd-titolo { font: 600 11px/16px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.rd-campi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.rd-indirizzo { grid-template-columns: minmax(0, 3fr) minmax(70px, 1fr) minmax(0, 2fr) minmax(56px, .8fr); }
.nota-refuso { color: var(--warn); margin-top: 4px; }
.link-refuso { background: none; border: 0; padding: 0; color: var(--accent-text); font: inherit; text-decoration: underline; cursor: pointer; }
@media (max-width: 900px) {
  .riga-destinatario { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-email { grid-column: 1 / -1; }
  .altri-dati-griglia, .rd-indirizzo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rd-azione { padding-top: 24px; display: flex; gap: var(--space-2); }

/* Modifica in linea di un indirizzo aggiunto a mano */
.azioni-riga { display: inline-flex; gap: var(--space-1); justify-content: flex-end; align-items: center; }
.azioni-riga form { margin: 0; }
.riga-modifica > td { background: var(--bg-2); border-left: 3px solid var(--accent); }
.modifica-in-linea { display: grid; gap: var(--space-2); padding: var(--space-2) 0; text-align: left; }

/* Modelli di mail */
.griglia-modelli { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-4); }
.modello-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.modello-anteprima { display: block; height: 220px; overflow: hidden; background: #fff; border-bottom: 1px solid var(--line); position: relative; }
.modello-anteprima iframe { width: 200%; height: 440px; border: 0; transform: scale(.5); transform-origin: 0 0; pointer-events: none; }
.modello-testo { padding: var(--space-4) var(--space-pad-card); display: grid; gap: var(--space-2); flex: 1; }
.modello-testo .cl-panel-title { margin: 0; }
.modello-dati { display: grid; grid-template-columns: auto 1fr; gap: 2px var(--space-3); margin: 0; font-size: 13px; }
.modello-dati dt { color: var(--muted); }
.modello-dati dd { margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.modello-azioni { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-3) var(--space-pad-card); border-top: 1px solid var(--line); }
.scelta-modello { border: 0; padding: 0; margin: var(--space-4) 0 0; display: grid; gap: var(--space-2); max-height: 320px; overflow: auto; }
.opzione-modello { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.opzione-modello:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.opzione-modello > span { display: grid; flex: 1; min-width: 0; }
.opzione-modello small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.elenco-controlli { margin: 0; padding-left: 18px; }
.riepilogo-avvio { display: grid; gap: var(--space-3); padding: var(--space-4); margin-bottom: var(--space-4); border-radius: var(--radius-card); background: var(--accent-soft); border: 1px solid var(--accent-line); }
.ra-numero { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; }
.ra-numero strong { font: 700 32px/1 var(--font-sans); color: var(--accent-text); }
.ra-numero span { font-size: 15px; color: var(--ink); }
.ra-chip { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ra-chip li { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-pill); background: var(--panel); border: 1px solid var(--line); font-size: 13px; color: var(--ink); }
.riepilogo-dati { width: 100%; border-collapse: collapse; margin: 0 0 var(--space-4); font-size: 14px; }
.riepilogo-dati th { text-align: left; font-weight: 500; color: var(--muted); width: 90px; padding: 6px var(--space-3) 6px 0; vertical-align: top; }
.riepilogo-dati td { padding: 6px 0; overflow-wrap: anywhere; }
.riepilogo-dati tr + tr > * { border-top: 1px solid var(--line); }
.elenco-controlli li + li { margin-top: 4px; }
#conferma-avvio { width: min(620px, calc(100vw - 32px)); max-width: none; }
.riepilogo-dati td .cl-help { display: inline; margin: 0; }
.opzione-modello input { accent-color: var(--accent); }
.input-colore { padding: 4px; height: var(--size-control); cursor: pointer; }

/* Avanzamento dell'invio */
.avanzamento { display: grid; gap: var(--space-2); padding: var(--space-4) var(--space-pad-card); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--panel); }
.avanzamento-testa { display: flex; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; font-size: 14px; }
.avanzamento-testa span { color: var(--muted); font-family: var(--font-mono); font-size: 13px; }
.avanzamento-binario { height: 10px; border-radius: var(--radius-pill); background: var(--hover); overflow: hidden; }
.avanzamento-pieno { height: 100%; border-radius: inherit; background: var(--ok); transition: width .6s ease; }
.avanzamento-pieno.is-attivo { background: var(--info); background-image: linear-gradient(90deg, transparent 0 40%, rgba(255,255,255,.35) 50%, transparent 60% 100%); background-size: 200% 100%; animation: avanza 1.6s linear infinite; }
@keyframes avanza { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .avanzamento-pieno.is-attivo { animation: none; } }
.avanzamento .cl-help { margin: 0; }

/* Anteprima della mail */
.anteprima-barra { display: flex; justify-content: space-between; align-items: end; gap: var(--space-4); flex-wrap: wrap; padding: var(--space-4) var(--space-pad-card); margin-bottom: var(--space-4); }
.anteprima-dest { min-width: min(420px, 100%); }
.anteprima-vista { display: flex; gap: var(--space-2); }
.anteprima-vista [aria-pressed="true"] { border-color: var(--accent); color: var(--accent-text); background: var(--accent-soft); }
.anteprima-posta { padding: var(--space-4) var(--space-pad-card); }
.anteprima-cornice { margin: 0 auto; transition: max-width .2s ease; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.anteprima-cornice[data-vista="computer"] { max-width: 100%; }
.anteprima-cornice[data-vista="telefono"] { max-width: 390px; border-radius: 28px; border-width: 10px; border-color: var(--ink); }
.anteprima-cornice iframe { display: block; width: 100%; min-height: 500px; border: 0; background: #fff; }

/* Nota "Se la perdi" della password principale */
.nota-reset { margin-top: 24px; padding: 14px 18px; border: 1px solid var(--line); border-left: 3px solid var(--info); border-radius: var(--radius-control); }
.nota-reset p { margin: 0 0 8px 0; }
.nota-reset ul { margin: 0 0 8px 0; padding-left: 20px; }
.nota-reset li { margin-bottom: 4px; }
.nota-reset code { word-break: break-all; font-size: 0.92em; }

/* Report: schede degli invii (1° invio, 2° invio, Tutti) */
.schede-giri { flex-wrap: wrap; }
.schede-giri .cl-tab { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; text-decoration: none; height: auto; padding-block: 8px; }
.schede-giri .cl-tab small { color: var(--muted); font-size: 12px; font-weight: 400; }

/* Dialogo "Invia di nuovo" */
dialog#reinvio { width: min(600px, calc(100vw - 32px)); max-width: 600px; }
.scelta-reinvio { border: 0; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.opzione-reinvio { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.opzione-reinvio:has(input:checked) { border-color: var(--accent-line); background: var(--accent-soft); }
.opzione-reinvio.is-vuota { opacity: .55; cursor: not-allowed; }
.opzione-reinvio-testo { display: grid; gap: 2px; }
.opzione-reinvio-testo small { color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.opzione-reinvio-numero { font-family: var(--font-mono); font-size: 18px; font-weight: 600; min-width: 3ch; text-align: right; }

/* Registro invii */
.registro-filtri { display: grid; grid-template-columns: minmax(180px, 1.4fr) repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; align-items: end; }
.registro-filtri-azioni { display: flex; gap: 8px; }
.registro-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.registro-chip { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--ink); text-decoration: none; font-size: 13px; }
.registro-chip b { font-family: var(--font-mono); font-weight: 600; color: var(--muted); }
.registro-chip:hover { background: var(--hover); }
.registro-chip.is-attivo { border-color: var(--accent-line); background: var(--accent-soft); color: var(--accent-text); }
.registro-chip.is-attivo b { color: inherit; }
.registro-dettagli { max-width: 420px; overflow-wrap: anywhere; }
.registro-pagine { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--line); }
.nota-reinvio { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
#reinvio .cl-banner { margin-bottom: 12px; }

/* Dashboard */
.dash-avvisi { display: grid; gap: var(--space-2); margin-bottom: var(--space-6); }
.dash-avviso { display: flex; align-items: center; gap: var(--space-3); padding: 10px 14px; border-radius: var(--radius-card); border: 1px solid var(--line); background: var(--panel); color: var(--text); text-decoration: none; font-size: 14px; }
.dash-avviso span { flex: 1; }
.dash-avviso > .cl-icon:last-child { transform: rotate(180deg); color: var(--muted); }
.dash-avviso.is-err { border-color: color-mix(in srgb, var(--err) 35%, var(--line)); background: color-mix(in srgb, var(--err) 7%, var(--panel)); }
.dash-avviso.is-err > .cl-icon:first-child { color: var(--err); }
.dash-avviso.is-warn { border-color: color-mix(in srgb, var(--warn) 40%, var(--line)); background: color-mix(in srgb, var(--warn) 8%, var(--panel)); }
.dash-avviso.is-warn > .cl-icon:first-child { color: var(--warn); }
.dash-avviso.is-info > .cl-icon:first-child { color: var(--info); }
.dash-avviso:hover { border-color: var(--accent); }
.dash-numeri { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-6); }
.dash-numero { text-decoration: none; color: inherit; transition: border-color .15s; padding: 12px 16px; gap: 4px; }
.dash-numero .cl-stat-value { font-size: 22px; line-height: 26px; }
.dash-numero:hover { border-color: var(--accent); }
/* Sezioni a righe: esiti a tutta larghezza, poi coppie di riquadri della stessa altezza */
.dash-sezioni { display: grid; gap: var(--space-6); }
.dash-sezioni .cl-panel { margin: 0; }
.dash-coppia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); align-items: stretch; }
.dash-coppia > .cl-panel { display: flex; flex-direction: column; }
.dash-coppia > .cl-panel > .cl-panel-body { flex: 1; }
.dash-tabella td { vertical-align: top; }
.dash-tabella .cl-help { margin: 2px 0 0; }
.dash-su { color: var(--muted); font-size: 12px; }
.dash-avanzamento { margin-top: 8px; max-width: 280px; }
.dash-avanzamento .avanzamento-binario { height: 6px; }
.dash-esiti { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-3) var(--space-4); }
.dash-esiti div { display: grid; gap: 4px; align-content: start; }
.dash-esiti span { font-size: 12px; color: var(--muted); }
.dash-esiti b { display: flex; align-items: baseline; gap: 8px; font-size: 22px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dash-esiti small { font-size: 12px; color: var(--accent); font-weight: 600; }
.dash-nota-grafico { margin: var(--space-4) 0 0; }
.dash-grafico { margin: var(--space-6) 0 0; }
.dash-grafico svg { display: block; width: 100%; height: 96px; }
.dash-grafico figcaption { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: 6px; font-size: 11px; color: var(--muted); }
.dash-legenda { display: inline-flex; align-items: center; gap: 6px; }
.dash-legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-left: 6px; }
.dash-barra-inviati { fill: color-mix(in srgb, var(--accent) 30%, transparent); background: color-mix(in srgb, var(--accent) 30%, transparent); }
.dash-barra-aperte { fill: var(--accent); background: var(--accent); }
.dash-elenco { list-style: none; margin: 0; padding: 0; }
.dash-elenco li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 12px var(--space-pad-card); border-top: 1px solid var(--line); }
.dash-elenco li:first-child { border-top: 0; }
.dash-elenco a { display: grid; justify-items: start; gap: 2px; text-decoration: none; color: inherit; min-width: 0; }
.dash-elenco a:hover .is-primary { color: var(--accent); }
.dash-elenco .cl-help { margin: 0; }
.dash-conta { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
.dash-conta small { font-weight: 400; color: var(--muted); }
.dash-dati { display: grid; grid-template-columns: auto 1fr; gap: 8px var(--space-4); margin: 0; font-size: 14px; }
.dash-dati dt { color: var(--muted); }
.dash-dati dd { margin: 0; }
.dash-dominio + .dash-dominio { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line); }
.dash-dominio-testa { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: 10px; }
.dash-semafori { display: flex; flex-wrap: wrap; gap: 6px; }
.dash-semaforo { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--radius-pill); border: 1px solid var(--line); font-size: 12px; font-weight: 600; }
.dash-semaforo .cl-dot { background: var(--muted); }
.dash-semaforo.is-ok .cl-dot { background: var(--ok); }
.dash-semaforo.is-warn .cl-dot { background: var(--warn); }
.dash-semaforo.is-err .cl-dot { background: var(--err); }
.dash-dominio .cl-help { margin: 10px 0 0; }
@media (max-width: 1100px) {
  .dash-numeri { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dash-esiti { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dash-coppia { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .dash-numeri { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dash-esiti { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Sondaggi: campi personali */
.campi-sondaggio { display: flex; flex-wrap: wrap; gap: 6px; }
.campi-sondaggio .cl-btn:disabled { opacity: .45; cursor: not-allowed; }
#campi-personali [data-nota-anonimo] { margin: 10px 0 0; }

/* Pagina pubblica delle preferenze privacy */
.preferenze-pubbliche { display: flex; flex-direction: column; gap: var(--space-3); }
.consenso-pubblico { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-3); border: 1px solid var(--line-2); border-radius: var(--radius-control); cursor: pointer; }
.consenso-pubblico input { margin-top: 3px; width: 18px; height: 18px; flex: none; }
.consenso-pubblico span { display: flex; flex-direction: column; gap: 2px; }
.consenso-pubblico small { color: var(--muted); }
.preferenze-pubbliche .cl-btn { align-self: flex-start; }
.disiscrivi-tutto { display: flex; flex-direction: column; gap: var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--line-2); }
.disiscrivi-tutto .cl-btn { align-self: flex-start; }
.esito-pubblico { padding: var(--space-3); border-radius: var(--radius-control); background: var(--ok-soft); border: 1px solid var(--ok-line); }

/* Stato della campagna con approvazione e programmazione */
.badge-riga { display: flex; flex-wrap: wrap; gap: var(--space-1, 4px); align-items: center; }
.modo-avvio { display: grid; gap: var(--space-2); border: 0; padding: 0; margin: var(--space-4) 0 0; }
.modo-avvio:not(:has(input[value="programma"]:checked)) .quando-avvio { display: none; }
.cerca-privacy { display: flex; gap: var(--space-2); align-items: flex-end; }
.nota-privacy { padding: var(--space-3) var(--space-4); margin: 0; border-bottom: 1px solid var(--line-2); }

/* Calendario degli invii programmati */
.cal-barra { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; padding: var(--space-3) var(--space-pad-card); border-bottom: 1px solid var(--line); }
.cal-naviga { display: flex; align-items: center; gap: var(--space-2); }
.cal-titolo { margin: 0 0 0 var(--space-2); font-size: 18px; font-weight: 600; color: var(--ink); }
.cal-viste { margin: 0; }
.calendario { --cal-tipo: var(--muted); --cal-tipo-soft: var(--panel-2); }
.cal-tipo-commerciale { --cal-tipo: var(--accent); --cal-tipo-soft: var(--accent-soft); }
.cal-tipo-newsletter { --cal-tipo: var(--info); --cal-tipo-soft: var(--info-soft); }
.cal-tipo-sondaggio { --cal-tipo: var(--ok); --cal-tipo-soft: var(--ok-soft); }
.cal-tipo-partner { --cal-tipo: var(--warn); --cal-tipo-soft: var(--warn-soft); }
.cal-tipo-servizio { --cal-tipo: var(--muted); --cal-tipo-soft: var(--panel-3); }
.cal-caricamento, .cal-vuoto { color: var(--muted); padding: var(--space-4) var(--space-pad-card); margin: 0; }
.cal-mese { display: grid; }
.cal-intestazione, .cal-settimana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-intestazione > div { padding: var(--space-2) var(--space-3); font: 600 11px/16px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.cal-settimana.is-rif { background: var(--bg-2); }
.cal-cella { min-height: 112px; padding: var(--space-1) var(--space-2) var(--space-2); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; min-width: 0; transition: background .1s; }
.cal-settimana .cal-cella:nth-child(7n) { border-right: 0; }
.cal-cella.is-fuori { background: var(--panel-2); }
.cal-cella.is-fuori .cal-numero { color: var(--muted); }
.cal-cella.is-passato { opacity: .65; }
.cal-numero { align-self: flex-start; background: none; border: 0; padding: 2px 6px; border-radius: var(--radius-pill); font: 600 13px/18px var(--font-sans); color: var(--ink-2); cursor: pointer; }
.cal-numero:hover { background: var(--hover); }
.cal-cella.is-oggi .cal-numero { background: var(--accent); color: var(--on-accent); }
.cal-eventi { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cal-evento { display: flex; align-items: center; gap: 6px; width: 100%; min-width: 0; text-align: left; border: 0; border-left: 3px solid var(--cal-tipo); background: var(--cal-tipo-soft); color: var(--ink); border-radius: var(--radius-sm); padding: 3px 6px; font: 12px/16px var(--font-sans); cursor: grab; }
.cal-evento:hover { filter: brightness(.97); box-shadow: 0 0 0 1px var(--cal-tipo); }
.cal-evento.is-bloccata { cursor: pointer; border-left-style: dashed; }
.cal-evento.is-trascinata { opacity: .4; }
.cal-ora { font: 600 11px/16px var(--font-mono); color: var(--ink-2); flex: none; }
.cal-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.cal-lucchetto { flex: none; font-size: 10px; }
.cal-cella.is-sopra { background: var(--accent-soft) !important; box-shadow: inset 0 0 0 2px var(--accent); opacity: 1; }
.cal-cella.is-vietata { cursor: not-allowed; box-shadow: inset 0 0 0 2px var(--err-line); }
.cal-sett-scorri { max-height: 640px; overflow-y: auto; position: relative; }
.cal-sett { display: grid; min-width: 720px; }
.cal-sett-riga { display: grid; grid-template-columns: 64px repeat(7, minmax(0, 1fr)); }
.cal-sett-testa { position: sticky; top: 0; z-index: 1; background: var(--panel); }
.cal-sett-testa > div { padding: var(--space-2); font: 600 12px/16px var(--font-sans); color: var(--muted); border-bottom: 1px solid var(--line); text-transform: capitalize; }
.cal-sett-testa > div b { color: var(--ink); font-size: 14px; }
.cal-sett-testa > .is-oggi b { color: var(--accent-text); }
.cal-sett-ora { font: 11px/16px var(--font-mono); color: var(--muted); padding: 2px var(--space-2); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cal-slot { min-height: 40px; padding: 2px 4px; }
.cal-slot.is-oggi { background: var(--bg-2); }
.cal-sett-riga .cal-cella:last-child { border-right: 0; }
.cal-legenda { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-3) var(--space-pad-card); font-size: 13px; color: var(--ink-2); }
.cal-legenda-voce { display: inline-flex; align-items: center; gap: 6px; }
.cal-pallino { width: 10px; height: 10px; border-radius: 3px; background: var(--cal-tipo, var(--muted)); }
.cal-legenda-nota { color: var(--muted); }
.cal-esito { margin-bottom: var(--space-4); }
.cal-dati { display: grid; gap: var(--space-2); margin: 0; }
.cal-dati > div { display: grid; grid-template-columns: 130px 1fr; gap: var(--space-3); }
.cal-dati dt { color: var(--muted); font-size: 13px; }
.cal-dati dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .cal-cella { min-height: 72px; padding: 2px; }
  .cal-ora { display: none; }
  .cal-mese { overflow-x: auto; }
  .cal-dati > div { grid-template-columns: 1fr; gap: 0; }
}
.cal-reinvio { color: var(--cal-tipo); font-weight: 700; }

/* Backup e ripristino */
.dl-riepilogo { display: grid; grid-template-columns: auto 1fr; gap: 8px var(--space-4); margin: 0 0 var(--space-5); font-size: 14px; }
.dl-riepilogo dt { color: var(--muted); }
.dl-riepilogo dd { margin: 0; }
.con-icona { display: inline-flex; align-items: center; gap: 6px; }
.passi { margin: 0; padding-left: 1.3em; display: grid; gap: 8px; font-size: 14px; line-height: 1.5; }
.form-in-linea { display: inline; margin: 0; }
.esito-caricamento:empty { display: none; }
.cl-pagehead-actions .form-in-linea + .cl-btn { margin-left: 0; }
.ripristino-iniziale { margin-top: var(--space-4); }
.nota-dest { margin: 0; font-size: 13px; line-height: 1.5; color: var(--muted); }

/* Avanzamento della sincronizzazione (Dati CleverSuite) */
.sync-avanzamento-testa { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.sync-barra { height: 10px; border-radius: 999px; background: var(--line); overflow: hidden; }
.sync-barra > div { height: 100%; background: var(--accent); border-radius: 999px; transition: width .6s ease; }
.sync-avanzamento .cl-help { margin-top: 8px; }
