
.ct-root {
  --fondo:#D8E2E8; --superficie:#FFFFFF; --rigo:#F2F6F4;
  --inchiostro:#182731; --tenue:#5E6E79; --linea:#C6D2D9; --linea-forte:#9FB1BB;
  --timbro:#3A3F9C; --timbro-chiaro:#ECEDF7;
  --valida:#2F7A4F; --scadenza:#A96F09; --scaduta:#A32E28;
  --tessera:#EDF2F5;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Hoefler Text", "Times New Roman", serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-family: var(--sans);
  color: var(--inchiostro);
  background: var(--fondo);
  min-height: 100vh;
  font-size: 14px;
  line-height: 1.45;
}
.ct-root *, .ct-root *::before, .ct-root *::after { box-sizing: border-box; }
.ct-caricamento { padding: 48px; color: var(--tenue); }

.ct-app { max-width: 1240px; margin: 0 auto; padding: 20px 22px 64px; }

/* ---------- testata ---------- */
.ct-testata { display:flex; gap:16px; align-items:center; flex-wrap:wrap; padding-bottom:16px; }
.ct-marchio-nome { display:block; font-family:var(--serif); font-size:23px; line-height:1.15; }
.ct-marchio-sotto { display:block; font-size:11px; letter-spacing:.09em; color:var(--tenue); margin-top:3px; }
.ct-testata-azioni { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.ct-ricerca { width:300px; }
.ct-operatore { width:172px; }

.ct-nav { display:flex; gap:0; align-items:flex-end; border-bottom:2px solid var(--linea-forte); margin-bottom:16px; flex-wrap:wrap; }
.ct-tab { background:none; border:0; border-bottom:3px solid transparent; margin-bottom:-2px; padding:8px 14px; font:inherit; color:var(--tenue); cursor:pointer; }
.ct-tab:hover { color:var(--inchiostro); }
.ct-tab-attiva { color:var(--timbro); border-bottom-color:var(--timbro); font-weight:600; }
.ct-nav-fine { margin-left:auto; display:flex; align-items:center; gap:12px; padding-bottom:7px; }
.ct-condiviso { font-size:11.5px; color:var(--tenue); }

.ct-barra { padding:8px 12px; border-left:3px solid; margin-bottom:12px; font-size:13px; background:var(--superficie); }
.ct-barra-errore { border-color:var(--scaduta); }
.ct-barra-ok { border-color:var(--valida); }
.ct-barra-neutra { border-color:var(--timbro); color:var(--tenue); }

/* ---------- registro laterale ---------- */
.ct-colonne { display:grid; grid-template-columns:326px 1fr; gap:20px; align-items:start; }
@media (max-width:900px) { .ct-colonne { grid-template-columns:1fr; } }

.ct-elenco { background:var(--superficie); border:1px solid var(--linea); border-top:3px solid var(--linea-forte); }
.ct-filtri { display:flex; flex-wrap:wrap; }
.ct-filtro { flex:1 1 0; background:none; border:0; border-bottom:1px solid var(--linea); border-right:1px solid var(--linea); padding:8px 4px; font:inherit; font-size:11.5px; color:var(--tenue); cursor:pointer; }
.ct-filtro:last-child { border-right:0; }
.ct-filtro-attivo { background:var(--timbro-chiaro); color:var(--timbro); font-weight:600; }
.ct-filtro-n { font-family:var(--mono); font-size:11px; }

.ct-righe { list-style:none; margin:0; padding:0; max-height:68vh; overflow:auto; }
.ct-riga { display:grid; grid-template-columns:auto 1fr auto 10px; align-items:baseline; gap:4px 10px; width:100%; text-align:left; background:none; border:0; border-bottom:1px solid var(--linea); padding:9px 12px; font:inherit; cursor:pointer; }
.ct-righe li:nth-child(even) .ct-riga { background:var(--rigo); }
.ct-riga:hover { background:var(--timbro-chiaro); }
.ct-riga-attiva, .ct-righe li:nth-child(even) .ct-riga-attiva { background:var(--timbro-chiaro); box-shadow:inset 4px 0 0 var(--timbro); }
.ct-riga-num { font-family:var(--mono); font-size:12px; color:var(--tenue); letter-spacing:-.02em; }
.ct-riga-nome { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ct-riga-scad { font-family:var(--mono); font-size:11px; color:var(--tenue); }
.ct-pallino { width:9px; height:9px; border-radius:50%; align-self:center; }
.ct-stato-valida { background:var(--valida); }
.ct-stato-inScadenza { background:var(--scadenza); }
.ct-stato-scaduta { background:var(--scaduta); }
.ct-stato-sconosciuto { background:var(--linea-forte); }

/* ---------- pannelli ---------- */
.ct-dettaglio, .ct-pagina { background:var(--superficie); border:1px solid var(--linea); border-top:3px solid var(--linea-forte); padding:22px 24px 26px; }
.ct-pagina-stretta { max-width:780px; }

/* ---------- la tessera ---------- */
.ct-tessera-zona { margin-bottom:4px; }
.ct-tessera { position:relative; max-width:520px; background:var(--tessera); border:1px solid var(--linea-forte); box-shadow:0 1px 0 #fff inset, 0 6px 16px rgba(24,39,49,.10); overflow:hidden; }
.ct-tessera-banda { display:flex; justify-content:space-between; align-items:center; gap:12px; background:var(--timbro); color:#fff; padding:6px 14px; font-size:11px; letter-spacing:.09em; }
.ct-tessera-numero { font-family:var(--mono); font-size:15px; letter-spacing:0; }
.ct-tessera-corpo { padding:16px 150px 16px 16px; }
.ct-tessera-nome { font-family:var(--serif); font-size:27px; line-height:1.1; font-weight:400; margin:0; }
.ct-tessera-cf { font-family:var(--mono); font-size:12.5px; color:var(--tenue); margin-top:5px; letter-spacing:.04em; }
.ct-tessera-date { display:flex; gap:26px; margin-top:14px; }
.ct-tessera-date span { display:block; font-size:10.5px; color:var(--tenue); }
.ct-tessera-date strong { font-family:var(--mono); font-size:14px; font-weight:600; }
.ct-nota-stato { margin:8px 0 0; font-size:12.5px; }

.ct-timbro {
  position:absolute; top:44px; right:14px; width:118px; height:118px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  border:2.5px solid currentColor; box-shadow:0 0 0 2px transparent, inset 0 0 0 3px transparent;
  transform:rotate(-9deg); opacity:.92; text-align:center; pointer-events:none;
  animation:ct-timbra .26s cubic-bezier(.2,.9,.3,1.2) both;
}
.ct-timbro::before { content:""; position:absolute; inset:5px; border:1px solid currentColor; border-radius:50%; opacity:.55; }
.ct-timbro-alto { font-size:8px; letter-spacing:.22em; text-transform:uppercase; opacity:.75; }
.ct-timbro-parola { font-family:var(--serif); font-size:19px; line-height:1.05; letter-spacing:.01em; }
.ct-timbro-data { font-family:var(--mono); font-size:10.5px; margin-top:2px; }
.ct-timbro-valida { color:var(--valida); }
.ct-timbro-inScadenza { color:var(--scadenza); }
.ct-timbro-scaduta { color:var(--scaduta); transform:rotate(6deg); }
.ct-timbro-sconosciuto { color:var(--linea-forte); }
@keyframes ct-timbra {
  from { transform:rotate(-24deg) scale(1.55); opacity:0; }
  to   { opacity:.92; }
}
@media (max-width:560px) {
  .ct-tessera-corpo { padding:14px; }
  .ct-timbro { position:static; margin:0 14px 14px; transform:rotate(-5deg); }
}

.ct-azioni-cliente { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 20px; }

.ct-badge { display:inline-block; padding:3px 9px; font-size:12px; border:1px solid; }
.ct-stato-testo-valida { color:var(--valida); border-color:var(--valida); }
.ct-stato-testo-inScadenza { color:var(--scadenza); border-color:var(--scadenza); }
.ct-stato-testo-scaduta { color:var(--scaduta); border-color:var(--scaduta); }
.ct-stato-testo-sconosciuto { color:var(--tenue); border-color:var(--linea); }
.ct-nota-stato { border:0; padding:0; }

/* ---------- dati e tabelle ---------- */
.ct-griglia-dati { display:grid; grid-template-columns:repeat(auto-fill, minmax(215px,1fr)); gap:13px 22px; }
.ct-dato span { display:block; font-size:11px; color:var(--tenue); }
.ct-dato strong { font-weight:500; }
.ct-dato-ampio { grid-column:1 / -1; }
.ct-calcolo { align-self:end; padding-bottom:6px; }
.ct-calcolo strong { font-family:var(--mono); }

.ct-titolo-sezione { font-family:var(--serif); font-size:17px; font-weight:400; margin:28px 0 10px; padding-bottom:6px; border-bottom:2px solid var(--linea-forte); }

.ct-tabella { width:100%; border-collapse:collapse; font-size:13px; }
.ct-tabella th { text-align:left; font-weight:600; font-size:11px; letter-spacing:.04em; color:var(--tenue); padding:6px 8px; border-bottom:1px solid var(--linea-forte); }
.ct-tabella td { padding:8px; border-bottom:1px solid var(--linea); vertical-align:top; }
.ct-tabella tbody tr:nth-child(even) td { background:var(--rigo); }
.ct-tabella tbody tr:hover td { background:var(--timbro-chiaro); }
.ct-cella-note { color:var(--tenue); max-width:280px; }
.ct-cella-azioni { white-space:nowrap; }
.ct-mini { background:none; border:1px solid var(--linea); padding:3px 8px; font:inherit; font-size:12px; cursor:pointer; margin-right:5px; color:var(--inchiostro); text-decoration:none; display:inline-block; }
.ct-mini:hover { border-color:var(--timbro); color:var(--timbro); }
.ct-mini-pericolo:hover { border-color:var(--scaduta); color:var(--scaduta); }
.ct-link { background:none; border:0; padding:0; font:inherit; font-family:var(--mono); font-size:12.5px; color:var(--timbro); cursor:pointer; text-decoration:underline; }

.ct-storico { margin:0; padding-left:18px; color:var(--tenue); font-size:13px; }
.ct-vuoto { padding:18px; color:var(--tenue); font-size:13px; }
.ct-vuoto-grande { padding:64px 20px; text-align:center; }
.ct-guida { color:var(--tenue); font-size:13px; margin:0 0 16px; max-width:68ch; }
.ct-conteggio { color:var(--tenue); font-size:12.5px; font-family:var(--mono); }
.ct-barra-filtri { display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; margin-bottom:16px; }
.ct-inline { display:flex; gap:6px; align-items:center; font-size:12.5px; color:var(--tenue); }

/* ---------- controlli ---------- */
.ct-btn { background:var(--superficie); border:1px solid var(--linea-forte); padding:7px 14px; font:inherit; cursor:pointer; color:var(--inchiostro); }
.ct-btn:hover { border-color:var(--timbro); color:var(--timbro); }
.ct-btn-primario { background:var(--timbro); border-color:var(--timbro); color:#fff; }
.ct-btn-primario:hover { background:#2E337F; border-color:#2E337F; color:#fff; }
.ct-btn-lieve { background:var(--rigo); }
.ct-btn-pericolo { color:var(--scaduta); border-color:#D8B7B4; }
.ct-btn-pericolo:hover { background:var(--scaduta); color:#fff; border-color:var(--scaduta); }
.ct-btn:disabled { opacity:.45; cursor:not-allowed; }
.ct-btn:focus-visible, .ct-campo:focus-visible, .ct-tab:focus-visible, .ct-riga:focus-visible,
.ct-mini:focus-visible, .ct-filtro:focus-visible, .ct-link:focus-visible, .ct-chiudi:focus-visible {
  outline:2px solid var(--timbro); outline-offset:2px;
}

.ct-campo { border:1px solid var(--linea-forte); background:var(--superficie); padding:7px 9px; font:inherit; color:var(--inchiostro); width:100%; }
.ct-campo:focus { border-color:var(--timbro); outline:none; }
.ct-campo-errore { border-color:var(--scaduta); }
.ct-campo-blocco { display:block; }
.ct-campo-blocco > span { display:block; font-size:11px; color:var(--tenue); margin-bottom:3px; }
.ct-errore-campo { color:var(--scaduta); font-size:11.5px; font-style:normal; }
.ct-form-griglia { display:grid; gap:14px 16px; }
.ct-cf-riga { display:flex; gap:8px; align-items:flex-end; }
.ct-cf-riga > label { flex:1; }
.ct-cf-riga input { font-family:var(--mono); letter-spacing:.08em; }
.ct-esito { font-size:12px; }
.ct-esito-ok { color:var(--valida); }
.ct-esito-no { color:var(--scaduta); }

/* ---------- modali ---------- */
.ct-velo { position:fixed; inset:0; background:rgba(24,39,49,.5); display:flex; align-items:flex-start; justify-content:center; padding:34px 16px; overflow:auto; z-index:50; }
.ct-modale { background:var(--superficie); border-top:3px solid var(--timbro); width:100%; max-width:730px; box-shadow:0 20px 56px rgba(24,39,49,.3); }
.ct-modale-testata { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid var(--linea); }
.ct-modale-testata h3 { margin:0; font-family:var(--serif); font-size:19px; font-weight:400; }
.ct-chiudi { background:none; border:0; font-size:22px; line-height:1; cursor:pointer; color:var(--tenue); }
.ct-modale-corpo { padding:18px; }
.ct-modale-piede { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; padding-top:14px; border-top:1px solid var(--linea); }

/* ---------- foglio A4 ---------- */
.ct-stampa-schermo { position:fixed; inset:0; background:rgba(24,39,49,.55); overflow:auto; padding:20px 16px 60px; z-index:60; }
.ct-stampa-comandi { display:flex; gap:10px; align-items:center; justify-content:center; padding:10px; margin:0 auto 14px; background:var(--superficie); border-top:3px solid var(--timbro); max-width:820px; }
.ct-foglio { background:#fff; color:#000; font-family:var(--serif); width:210mm; min-height:297mm; margin:0 auto; padding:16mm 16mm 12mm; box-shadow:0 12px 44px rgba(0,0,0,.35); font-size:11pt; line-height:1.4; }
.ct-foglio-testata { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; border-bottom:1.5px solid #000; padding-bottom:8px; }
.ct-foglio-ente { font-size:15pt; font-weight:700; }
.ct-foglio-recapiti { font-family:var(--sans); font-size:8pt; margin-top:4px; color:#333; }
.ct-foglio-tessera { border:1.5px solid #000; padding:6px 12px; text-align:center; min-width:44mm; }
.ct-foglio-tessera span { display:block; font-family:var(--sans); font-size:7.5pt; letter-spacing:.12em; }
.ct-foglio-tessera strong { display:block; font-family:var(--mono); font-size:15pt; }
.ct-foglio-titolo { font-size:14pt; font-weight:700; text-align:center; margin:14px 0 10px; }
.ct-foglio-date { display:flex; justify-content:space-between; gap:12px; font-size:10pt; border-bottom:1px solid #999; padding-bottom:8px; }
.ct-foglio-sezione { font-size:10pt; font-weight:700; margin:14px 0 8px; border-bottom:1px solid #000; padding-bottom:2px; }
.ct-foglio-griglia { display:grid; grid-template-columns:1fr 1fr; gap:11px 18px; }
.ct-foglio-dato span { display:block; font-family:var(--sans); font-size:7.5pt; color:#444; }
.ct-foglio-dato div { border-bottom:1px solid #000; min-height:16px; padding:1px 2px; font-size:11pt; }
.ct-foglio-testo { font-size:9.5pt; text-align:justify; margin:6px 0; }
.ct-foglio-piccolo { font-size:8pt; line-height:1.35; }
.ct-foglio-consensi { font-family:var(--sans); font-size:8.5pt; margin-top:10px; display:flex; flex-direction:column; gap:5px; }
.ct-quadrato { display:inline-block; width:11px; height:11px; border:1px solid #000; margin:0 5px 0 9px; vertical-align:-1px; }
.ct-foglio-tabella { width:100%; border-collapse:collapse; font-size:9pt; }
.ct-foglio-tabella th, .ct-foglio-tabella td { border:1px solid #666; padding:3px 6px; text-align:left; }
.ct-foglio-firme { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:26px; }
.ct-riga-firma { border-bottom:1px solid #000; height:26px; }
.ct-foglio-firme span { font-family:var(--sans); font-size:8pt; color:#444; }
.ct-tagliando { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:22px; padding:9px 13px; border:1.5px dashed #000; }
.ct-tagliando-ente { font-family:var(--sans); font-size:8.5pt; font-weight:700; letter-spacing:.06em; }
.ct-tagliando-nome { font-size:12.5pt; }
.ct-tagliando-cf { font-family:var(--mono); font-size:8.5pt; }
.ct-tagliando-dx { text-align:right; }
.ct-tagliando-num { font-family:var(--mono); font-size:15pt; font-weight:700; }
.ct-tagliando-scad { font-family:var(--sans); font-size:8pt; }

@media print {
  .ct-root { background:#fff; }
  .ct-non-stampare { display:none !important; }
  .ct-stampa-attiva .ct-app { display:none !important; }
  .ct-stampa-schermo { position:static; inset:auto; background:#fff; padding:0; overflow:visible; }
  .ct-foglio { box-shadow:none; margin:0; width:auto; min-height:auto; padding:0; }
  @page { size:A4; margin:14mm; }
}
@media (prefers-reduced-motion: reduce) {
  .ct-root * { transition:none !important; animation:none !important; }
  .ct-timbro { opacity:.92; }
}

/* ---------- accesso ---------- */
html, body { margin:0; padding:0; }
body { background:#D8E2E8; }
#app.ct-root { display:block; }
.ct-accesso { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.ct-accesso-riquadro { background:var(--superficie); border-top:3px solid var(--timbro); padding:26px 28px 28px; width:100%; max-width:360px; box-shadow:0 14px 40px rgba(24,39,49,.18); }
.ct-accesso-riquadro h1 { font-family:var(--serif); font-size:23px; font-weight:400; margin:0 0 4px; }
.ct-accesso-riquadro .ct-campo-blocco { margin-bottom:14px; }
.ct-btn-largo { width:100%; padding:10px; }

/* ---------- aggiunte ---------- */
.ct-altre { display:block; width:100%; background:var(--rigo); border:0; border-top:1px solid var(--linea); padding:9px; font:inherit; font-size:12.5px; color:var(--timbro); cursor:pointer; }
.ct-altre:hover { background:var(--timbro-chiaro); }
.ct-senza-consenso { display:block; font-size:11px; color:var(--scadenza); }
.ct-consenso { align-items:flex-start; gap:8px; color:var(--inchiostro); font-size:13px; padding:8px 0; }
.ct-quadrato-segnato { position:relative; background:var(--inchiostro); }
.ct-nucleo { list-style:none; margin:0; padding:0; }
.ct-nucleo li { display:flex; align-items:center; gap:12px; padding:7px 0; border-bottom:1px solid var(--linea); }
.ct-nucleo li span:first-of-type { flex:1; }

/* ---------- moduli a sezioni ---------- */
.ct-sezione-modulo { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--tenue); border-bottom:1px solid var(--linea); padding-bottom:5px; margin:22px 0 14px; }
.ct-sezione-modulo:first-child { margin-top:0; }
.ct-form-griglia { grid-template-columns:repeat(4, minmax(0, 1fr)); }
.ct-larghezza-2 { grid-column:span 2; }
.ct-larghezza-3 { grid-column:span 3; }
.ct-esiti { display:flex; flex-direction:column; gap:4px; margin-top:-4px; }
.ct-esito-avviso { color:var(--scadenza); }
.ct-modale { max-width:780px; }
@media (max-width:640px) {
  .ct-form-griglia { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .ct-larghezza-3 { grid-column:span 2; }
  .ct-cf-riga { flex-direction:column; align-items:stretch; }
}

/* ---------- annata, registro e logo ---------- */
.ct-annata { display:flex; align-items:center; gap:8px; padding:9px 10px; border-bottom:1px solid var(--linea); background:var(--rigo); }
.ct-annata .ct-inline { flex:1; }
.ct-annata select { min-width:110px; }
.ct-marchio { display:flex; align-items:center; gap:12px; }
.ct-marchio-logo { height:44px; width:auto; max-width:150px; object-fit:contain; }
.ct-logo-riga { display:flex; gap:16px; align-items:flex-start; }
.ct-logo-anteprima { height:64px; width:auto; max-width:180px; object-fit:contain; background:var(--rigo); border:1px solid var(--linea); padding:6px; }
.ct-logo-vuoto { height:64px; width:140px; display:flex; align-items:center; justify-content:center; border:1px dashed var(--linea); color:var(--tenue); font-size:12px; }
.ct-logo-riga .ct-guida { margin:8px 0 0; max-width:52ch; }
.ct-foglio-intestazione { display:flex; align-items:flex-start; gap:12px; }
.ct-foglio-logo { height:52px; width:auto; max-width:150px; object-fit:contain; }
.ct-foglio-registro .ct-foglio-tabella { margin-top:10px; font-size:8.5pt; }
.ct-foglio-registro .ct-foglio-tabella th { background:#eee; }
.ct-foglio-chiusura { margin-top:18px; }
@media print { .ct-foglio-registro { padding:0; } }

/* ================= revisione grafica ================= */

/* testata su una riga sola, la ricerca prende lo spazio libero */
.ct-testata { align-items:center; gap:20px; padding-bottom:18px; }
.ct-cerca { position:relative; flex:1 1 auto; max-width:520px; margin-left:auto; }
.ct-cerca .ct-ricerca { width:100%; padding:9px 32px 9px 11px; }
.ct-cerca-pulisci { position:absolute; right:6px; top:50%; transform:translateY(-50%); background:none; border:0; font-size:19px; line-height:1; color:var(--tenue); cursor:pointer; padding:2px 6px; }
.ct-cerca-pulisci:hover { color:var(--inchiostro); }
.ct-testata-azioni { display:contents; }

/* i dati mancanti non devono pesare quanto quelli presenti */
.ct-campo-vuoto { font-style:normal; color:var(--linea-forte); font-size:13px; }

/* le azioni irreversibili stanno fuori dalla fila principale */
.ct-riservate { margin:0 0 20px; border-top:1px solid var(--linea); padding-top:10px; }
.ct-riservate summary { cursor:pointer; font-size:12.5px; color:var(--tenue); list-style:none; display:inline-flex; align-items:center; gap:6px; }
.ct-riservate summary::-webkit-details-marker { display:none; }
.ct-riservate summary::before { content:"+"; display:inline-block; width:16px; height:16px; line-height:15px; text-align:center; border:1px solid var(--linea-forte); color:var(--tenue); }
.ct-riservate[open] summary::before { content:"−"; }
.ct-riservate summary:hover { color:var(--scaduta); }
.ct-riservate-corpo { padding-top:8px; }
.ct-riservate-corpo .ct-guida { margin-bottom:10px; }
.ct-riservate-corpo .ct-azioni-cliente { margin:0; }

/* bersagli piu' grandi per tocco e mouse */
.ct-btn { padding:9px 15px; }
.ct-mini { padding:5px 10px; }
.ct-riga { padding:11px 12px; }
.ct-tab { padding:10px 15px; }
.ct-campo { padding:8px 10px; }

/* schermi stretti: la testata si impila e l'elenco resta comodo */
@media (max-width:780px) {
  .ct-app { padding:14px 14px 48px; }
  .ct-testata { flex-wrap:wrap; gap:12px; }
  .ct-cerca { order:3; max-width:none; width:100%; margin-left:0; }
  .ct-nav-fine { width:100%; margin-left:0; justify-content:flex-end; }
  .ct-righe { max-height:none; }
  .ct-riga { padding:13px 12px; }
  .ct-azioni-cliente .ct-btn { flex:1 1 auto; text-align:center; }
  .ct-dettaglio, .ct-pagina { padding:16px 14px 20px; }
  .ct-tabella { font-size:12.5px; }
}
.ct-numero-previsto { font-family:var(--mono); font-size:16px; color:var(--timbro); }
.ct-nota-minima { display:block; font-style:normal; font-size:11px; color:var(--tenue); margin-top:2px; }

/* ---------- sedi ---------- */
.ct-scelta-sede { background:var(--timbro-chiaro); border-bottom:1px solid var(--linea); }
.ct-riga-sede { display:block; font-style:normal; font-size:10.5px; color:var(--timbro); text-align:right; }
.ct-nucleo .ct-riga-sede { text-align:left; }
.ct-campo-stretto { padding:4px 6px; font-size:12px; }

/* ---------- tessera digitale ---------- */
.ct-td-anteprima { display:flex; justify-content:center; padding:6px 0 16px; }
.ct-td-anteprima img { width:100%; max-width:520px; height:auto; border-radius:14px; box-shadow:0 8px 24px rgba(24,39,49,.18); }
/* il logo dell'ente e' tondo: senza ritaglio lo sfondo bianco appare come un quadrato */
.ct-marchio-logo, .ct-foglio-logo { border-radius:50%; }
