/* TEMI-1 (A7) — LA PARTE «BOTTONE»: l'UNICA fonte delle regole dei bottoni della piattaforma, traslocate dai fogli
 * dei moduli da `scripts/temi/estrai.py --fase d` nell'ordine dei fogli, pixel-uguali. Si carica dopo i fogli dei
 * moduli (`core/includes/_temi_parti.html`). Le varianti sono quelle di prima, nominate per classe; la riduzione
 * a primario/secondario/pericolo/fantasma × dimensioni × stati è un gate a sé (firma di Teo, 02/11/2026).
 * Nessuna classe di bottone si definisce fuori da qui: `core/tests/test_temi_parti.py` le conta.
 * Un foglio che prima si caricava in UN solo guscio e porta selettori generici entra col suo CONFINE `:where(…)`
 * (specificità zero: la cascata di prima, dentro quel guscio; niente fuori) — `CONFINI_DELLE_ORIGINI` in estrai.py. */

/* ---- da analisi/static/analisi/css/analisi.css ---- */
.ana-correzioni .btn { white-space: normal; text-align: start; margin: 0 var(--tema-spazio-xs, 4px) var(--tema-spazio-xs, 4px) 0; }

/* ---- da catalog/static/catalog/css/catalog-list.css ---- */
.cat-btn, .cat-btn-primary, .cat-btn-outline {
  padding: 8px 13px;
  border-radius: var(--tema-gestione-raggio-campo);
  font: 500 13px/1 var(--tema-catalogo-sans);
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cat-btn {
  border: 1px solid var(--tema-gestione-bordo-campo);
  background: var(--tema-gestione-superficie);
  color: var(--tema-gestione-inchiostro-2);
}
.cat-btn:hover { border-color: var(--tema-gestione-bordo-hover); color: var(--tema-gestione-inchiostro-2); }
.cat-btn-primary {
  padding: 8px 15px;
  border: 1px solid var(--tema-gestione-accento-forte);
  background: var(--tema-gestione-accento);
  color: var(--tema-colore-bianco);
  font-weight: 600;
}
.cat-btn-primary:hover { background: var(--tema-gestione-accento-forte); color: var(--tema-colore-bianco); }
.cat-btn-outline {
  padding: 9px 15px;
  border: 1px solid var(--tema-gestione-accento-forte);
  background: var(--tema-gestione-superficie);
  color: var(--tema-gestione-accento-inchiostro);
  font-weight: 600;
}
.cat-btn-outline:hover { background: var(--tema-gestione-accento-sfondo); color: var(--tema-gestione-accento-inchiostro); }
.cat-pager-btn {
  padding: 7px 12px;
  border: 1px solid var(--tema-gestione-bordo-campo);
  background: var(--tema-gestione-superficie);
  color: var(--tema-gestione-inchiostro-2);
  border-radius: var(--tema-gestione-raggio-campo);
  font: 500 12.5px/1 var(--tema-catalogo-sans);
  text-decoration: none;
  white-space: nowrap;
}
.cat-pager-btn:hover { border-color: var(--tema-gestione-bordo-hover); color: var(--tema-gestione-inchiostro-2); }
.cat-pager-btn--off {
  border-color: var(--tema-gestione-bordo);
  color: var(--tema-gestione-bordo-hover);
  cursor: default;
}
@media (max-width: 560px) {
.cat-pager-btn {
    min-height: 44px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
.cat-btn-primary.disabled {
  opacity: .55;
  cursor: not-allowed;
}

/* ---- da catalog/static/catalog/css/catalog-portal.css ---- */
.cportal-btn {
  display: inline-block;
  padding: 9px 18px;
  font: inherit;
  font-weight: 600;
  color: var(--tema-portale-superficie);
  background: var(--tema-portale-accento);
  border: 1px solid var(--tema-portale-accento);
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.cportal-btn--ghost {
  color: var(--tema-portale-inchiostro);
  background: transparent;
  border-color: var(--tema-portale-linea);
}

/* ---- da catalog/static/catalog/css/catalog-pro.css ---- */
.cpro-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid var(--tema-gestione-bordo-campo);
  border-radius: var(--tema-gestione-raggio-campo);
  background: var(--tema-gestione-superficie);
  color: var(--tema-gestione-inchiostro-2);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
}
.cpro-btn:hover {
  border-color: var(--tema-gestione-bordo-hover);
  color: var(--tema-gestione-inchiostro-2);
  text-decoration: none;
}
.cpro-btn--primary {
  padding: 9px 16px;
  border-color: var(--tema-gestione-accento-forte);
  background: var(--tema-gestione-accento);
  color: var(--tema-colore-bianco);
  font-weight: 600;
}
.cpro-btn--primary:hover {
  background: var(--tema-gestione-accento-forte);
  border-color: var(--tema-gestione-accento-forte);
  color: var(--tema-colore-bianco);
}
.cpro-btn--outline {
  border-color: var(--tema-gestione-accento);
  color: var(--tema-gestione-accento-inchiostro);
}
.cpro-btn--outline:hover {
  background: var(--tema-gestione-accento-sfondo);
  color: var(--tema-gestione-accento-inchiostro-2);
}
.cpro .catalog-upload-btn {
  border: 0;
  background: var(--tema-gestione-accento);
  color: var(--tema-colore-bianco);
  font-weight: 600;
}
.cpro .catalog-upload-btn:hover { background: var(--tema-gestione-accento-forte); }
.cpro .catalog-cover-btn, .cpro .catalog-row-btn {
  border-color: var(--tema-gestione-bordo-campo);
  color: var(--tema-gestione-attenuato);
}
.cpro .catalog-row-btn--danger { color: var(--tema-gestione-pericolo); }

/* ---- da catalog/static/catalog/css/catalog-public.css ---- */
.cpub-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px;
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-radius: var(--tema-scheda-raggio-md);
  cursor: pointer;
}
.cpub-btn--primary {
  background: var(--tema-scheda-inchiostro);
  color: var(--tema-colore-bianco);
  border: 0;
}
.cpub-btn--primary:hover {
  background: var(--tema-scheda-inchiostro-2);
  color: var(--tema-colore-bianco);
  text-decoration: none;
}
.cpub-btn--ghost {
  background: var(--tema-scheda-superficie);
  color: var(--tema-scheda-inchiostro);
  border: 1px solid var(--tema-scheda-bordo);
}
.cpub-btn--ghost:hover {
  border-color: var(--tema-scheda-inchiostro);
  color: var(--tema-scheda-inchiostro);
  text-decoration: none;
}
.cpub-btn--soft {
  background: var(--tema-scheda-accento-sfondo-tenue);
  border: 1px solid var(--tema-scheda-accento-sfondo-linea);
  color: var(--tema-scheda-accento-forte);
  font-size: 15px;
  padding: 11px 16px;
  min-height: 44px;
}
.cpub-btn--soft:hover {
  background: var(--tema-scheda-accento-sfondo);
  color: var(--tema-scheda-accento-forte);
  text-decoration: none;
}
.cpub-veilbox-actions .cpub-btn {
  flex: 1 1 8rem;
}

/* ---- da catalog/static/catalog/css/catalog-wizard.css ---- */
.cwz .catalog-cover-btn, .cwz .catalog-row-btn {
  border-color: var(--tema-percorso-bordo);
  color: var(--tema-percorso-attenuato);
}
.cwz-btn--off {
  opacity: 0.55;
  cursor: not-allowed;
}
.cwz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 12px 20px;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 11px;
  cursor: pointer;
}
.cwz-btn--primary {
  background: var(--tema-percorso-accento);
  border: 1px solid var(--tema-percorso-accento);
  color: var(--tema-colore-bianco);
  padding: 14px 26px;
}
.cwz-btn--primary:hover {
  background: var(--tema-percorso-accento-forte);
  border-color: var(--tema-percorso-accento-forte);
  color: var(--tema-colore-bianco);
  text-decoration: none;
}
.cwz-btn--ghost {
  background: var(--tema-percorso-superficie);
  border: 1px solid var(--tema-percorso-bordo);
  color: var(--tema-percorso-inchiostro-2);
}
.cwz-btn--ghost:hover {
  border-color: var(--tema-percorso-accento);
  color: var(--tema-percorso-accento-forte);
  text-decoration: none;
}
.cwz-btn--link {
  background: none;
  border: 0;
  padding: 12px 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--tema-percorso-attenuato);
}
.cwz-btn--link:hover {
  color: var(--tema-percorso-accento-forte);
}
.cwz-btn:focus-visible {
  outline: 2px solid var(--tema-percorso-accento);
  outline-offset: 2px;
}

/* ---- da catalog/static/catalog/css/catalog.css ---- */
.catalog-table .btn-group .btn {
  white-space: nowrap;
}
.catalog-cover-btn, .catalog-row-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--bs-border-color, var(--tema-colore-azzurro-tenue-89));
  border-radius: var(--bs-border-radius-sm, 0.25rem);
  background: transparent;
  color: var(--bs-secondary-color, var(--tema-colore-grigio-46));
  cursor: pointer;
}
.catalog-cover-btn { border-radius: 50%; }
.catalog-row-btn--danger { color: var(--bs-danger, var(--tema-colore-rosso-vivo-54)); }

/* ---- da contratti/static/contratti/css/contratti.css ---- */
.contratti-chat-actions .btn {
  font-size: 0.75rem;
}
.contratti-floating-toolbar .btn {
  opacity: 0.75;
}
.contratti-floating-toolbar:hover .btn {
  opacity: 1;
}
.contratti-mono-floating-toolbar .btn {
  opacity: 0.75;
}
.contratti-mono-floating-toolbar:hover .btn {
  opacity: 1;
}
@media (max-width: 767px) {
.contratti-pre-export-actions .btn {
    flex: 1;
    font-size: 0.875rem;
  }
}

/* ---- da core/static/core/css/agents-dashboard.css ---- */
.agents-toggle-btn {
  display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.85rem;
  border: 0; background: var(--tema-superficie, var(--tema-colore-bianco)); color: var(--tema-contenuto-testo-secondario, var(--tema-colore-azzurro-tenue-40));
  cursor: pointer; font-size: 0.88rem;
}
.agents-toggle-btn--active { background: var(--tema-contenuto-testo-primario, var(--tema-colore-azzurro-tenue-14)); color: var(--tema-colore-bianco); }
.agents-btn { padding: 0.35rem 0.8rem; border: 0; border-radius: 6px; background: var(--tema-contenuto-testo-primario, var(--tema-colore-azzurro-tenue-14)); color: var(--tema-colore-bianco); cursor: pointer; }
.agents-toggle-btn:focus-visible, .agents-btn:focus-visible {
  outline: 2px solid var(--tema-agenti-info); outline-offset: 2px;
}

/* ---- da core/static/core/css/ai-persona-form.css ---- */
@media (max-width: 575.98px) {
.persona-page-actions .btn {
    flex: 1 1 auto;
    width: 100%;
  }
}

/* ---- da core/static/core/css/chat-actions.css ---- */
@media (max-width: 767px) {
.chat-action-card-actions .btn {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
  }
}
@media (max-width: 767px) {
.chat-action-batch-footer .btn {
    font-size: 0.75rem;
  }
}

/* ---- da core/static/core/css/chat.css ---- */
.chat-gear-btn {
  flex-shrink: 0;
  height: 32px;
  width: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  font-size: 18px;
  cursor: pointer;
  transition: color 0.15s ease;
}
.chat-gear-btn:hover:not(:disabled) {
  color: var(--bs-body-color, var(--tema-colore-azzurro-tenue-15));
}
.chat-gear-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.chat-gear-tier-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 44px;
  padding: 0.5rem 0.75rem;
  border: none;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--tema-contenuto-testo, var(--tema-colore-azzurro-tenue-15));
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s;
  text-align: left;
}
.chat-gear-tier-btn:hover:not([disabled]) {
  background: var(--tema-superficie-hover, var(--tema-colore-azzurro-tenue-98));
}
.chat-gear-tier-btn[aria-pressed="true"] {
  background: var(--tema-primario-sfondo-tenue, var(--tema-colore-azzurro-vivo-95));
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
}
.chat-gear-tier-btn[disabled] {
  opacity: 0.35;
  cursor: not-allowed;
}
.chat-gear-tier-btn i {
  font-size: 1rem;
  width: 1.25rem;
  text-align: center;
}
.chat-gear-preset-btn {
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
  border: 1px solid var(--tema-bordo, var(--tema-colore-azzurro-91));
  border-radius: 1rem;
  background: transparent;
  color: var(--tema-contenuto-testo, var(--tema-colore-grigio-20));
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s;
  line-height: 1.4;
}
.chat-gear-preset-btn:hover {
  background: var(--tema-superficie-hover, var(--tema-colore-azzurro-96));
  border-color: var(--tema-primario, var(--tema-colore-blu-vivo-59));
}
.chat-gear-preset-btn[aria-pressed="true"] {
  background: var(--tema-primario, var(--tema-colore-blu-vivo-59));
  border-color: var(--tema-primario, var(--tema-colore-blu-vivo-59));
  color: var(--tema-colore-bianco);
}
.chat-artifact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  margin-left: 0.25rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  cursor: pointer;
  vertical-align: middle;
  text-decoration: none;
  font-size: 0.8125rem;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.chat-artifact-btn:hover {
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
  background-color: var(--tema-superficie-alterna, var(--tema-colore-grigio-94));
}
.chat-send-btn {
  flex-shrink: 0;
  height: 32px;
  width: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.chat-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.chat-attach-btn {
  flex-shrink: 0;
  height: 32px;
  width: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  font-size: 22px;
  cursor: pointer;
  transition: color 0.15s ease;
}
.chat-attach-btn:hover:not(:disabled) {
  color: var(--bs-body-color, var(--tema-colore-azzurro-tenue-15));
}
.chat-attach-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.chat-sidebar-new-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--tema-spazio-sm, 8px);
  width: 100%;
  padding: 8px 12px;
  margin-bottom: var(--tema-spazio-sm, 8px);
  border: 1px dashed var(--tema-testata-bordo, var(--tema-colore-azzurro-tenue-91));
  border-radius: 6px;
  background: none;
  color: var(--tema-marchio-primario, var(--tema-colore-azzurro-vivo-53));
  font-size: var(--tema-densita-navigazione-font-dimensione, 13px);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.chat-sidebar-new-btn:hover {
  background-color: var(--tema-barra-attivo-sfondo, var(--tema-colore-azzurro-vivo-53-a08));
  border-color: var(--tema-marchio-primario, var(--tema-colore-azzurro-vivo-53));
}
.chat-recent-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 36px;
  padding: 0;
  margin-bottom: var(--tema-spazio-sm, 8px);
  border: none;
  border-radius: 6px;
  background: none;
  color: var(--bs-secondary, var(--tema-colore-grigio-46));
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  position: relative;
}
.chat-recent-btn:hover {
  background-color: var(--tema-colore-nero-a04);
  color: var(--bs-body-color, var(--tema-colore-azzurro-tenue-15));
}
body.chat-mode .core-sidebar-toggle-btn {
  width: 28px;
  height: 28px;
  border: 1px solid var(--tema-linea);
  border-radius: 8px;
  color: var(--tema-testo-attenuato);
  background: transparent;
}
body.chat-mode .core-sidebar-toggle-btn:hover {
  background: var(--tema-sfondo-hover);
  color: var(--tema-testo-tenue);
}
body.chat-mode .chat-sidebar-new-btn {
  border: 1px solid var(--tema-accento-2);
  border-radius: 10px;
  background: transparent;
  color: var(--tema-nuova-chat-inchiostro);
  font-family: var(--tema-font-serif);
  font-weight: 500;
  font-size: 1rem;
}
body.chat-mode .chat-sidebar-new-btn:hover {
  background: var(--tema-nuova-chat-hover);
  border-color: var(--tema-accento-2);
}
.chat-mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 500;
  border: 1px solid var(--tema-bordo, var(--tema-colore-azzurro-tenue-89));
  border-radius: 999px;
  background: transparent;
  color: var(--tema-contenuto-testo-secondario, var(--tema-colore-grigio-46));
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.chat-mode-btn:hover {
  background-color: var(--tema-superficie-hover, var(--tema-colore-azzurro-tenue-98));
  color: var(--tema-contenuto-testo-primario, var(--tema-colore-azzurro-tenue-15));
}
.chat-mode-btn.active {
  background-color: var(--tema-primario, var(--tema-colore-azzurro-vivo-53));
  border-color: var(--tema-primario, var(--tema-colore-azzurro-vivo-53));
  color: var(--tema-colore-bianco);
}
.chat-mode-btn.active:hover {
  background-color: var(--tema-primario-hover, var(--tema-colore-azzurro-vivo-48));
  border-color: var(--tema-primario-hover, var(--tema-colore-azzurro-vivo-48));
}
body.chat-mode .chat-mode-btn.active {
  background-color: var(--tema-accento);
  border-color: var(--tema-accento);
  color: var(--tema-colore-bianco);
}
body.chat-mode .chat-mode-btn.active:hover {
  background-color: var(--tema-accento-2);
  border-color: var(--tema-accento-2);
}
.chat-kb-upload-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.375rem;
  margin-top: 0.25rem;
  border: 1px dashed var(--tema-bordo, var(--tema-colore-azzurro-tenue-84));
  border-radius: 6px;
  background: none;
  color: var(--tema-contenuto-testo-secondario, var(--tema-colore-grigio-46-2));
  font-size: 0.8125rem;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}
.chat-kb-upload-btn:hover {
  border-color: var(--tema-primario, var(--tema-colore-azzurro-vivo-53));
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-53));
}
.chat-tts-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  margin-left: 0.375rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  cursor: pointer;
  vertical-align: middle;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.chat-tts-btn:hover:not(:disabled) {
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
  background-color: var(--tema-superficie-alterna, var(--tema-colore-grigio-94));
}
.chat-tts-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.chat-tts-btn--loading {
  animation: chat-tts-spin 1.2s linear infinite;
}
.chat-tts-btn--playing {
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
}
.chat-voice-btn {
  flex-shrink: 0;
  height: 32px;
  width: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.chat-voice-btn:hover:not(:disabled) {
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
  background-color: var(--tema-superficie-alterna, var(--tema-colore-grigio-94));
}
.chat-voice-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.chat-voice-btn[hidden] {
  display: none;
}
.chat-voice-btn--recording {
  color: var(--tema-colore-bianco);
  background-color: var(--tema-pericolo-pieno, var(--tema-colore-rosso-vivo-54));
  animation: chat-voice-pulse 1.5s ease-in-out infinite;
}
.chat-voice-btn--recording:hover:not(:disabled) {
  color: var(--tema-colore-bianco);
  background-color: var(--tema-pericolo-pieno, var(--tema-colore-rosso-vivo-54));
  opacity: 0.9;
}
.chat-voice-btn--processing {
  opacity: 0.6;
}
@media (max-width: 767px) {
.chat-gear-tier-btn {
    min-height: 48px;
  }
}
@media (max-width: 767px) {
.chat-mode-btn {
    padding: 0.125rem 0.5rem;
    font-size: 0.75rem;
  }
}
@media (max-width: 767px) {
.chat-attach-btn {
    width: 28px;
    height: 28px;
  }
}
@media (max-width: 767px) {
.chat-voice-btn {
    width: 28px;
    height: 28px;
  }
}
@media (max-width: 767px) {
.chat-send-btn {
    width: 28px;
    height: 28px;
  }
}
@media (max-width: 767px) {
.chat-persona-btn {
    width: 28px;
    height: 28px;
  }
}
.chat-persona-btn {
  flex-shrink: 0;
  height: 32px;
  width: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tema-bordo, var(--tema-colore-azzurro-tenue-89));
  border-radius: 0.375rem;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  font-size: 18px;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.chat-persona-btn:hover:not(:disabled):not(.chat-persona-btn--active) {
  color: var(--bs-body-color, var(--tema-colore-azzurro-tenue-15));
  border-color: var(--bs-body-color, var(--tema-colore-azzurro-tenue-15));
}
.chat-persona-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.chat-persona-btn--active {
  background-color: transparent;
  border-color: var(--tema-bordo, var(--tema-colore-azzurro-tenue-89));
  color: var(--tema-contenuto-testo, var(--tema-colore-azzurro-tenue-15));
  padding: 2px;
}
.chat-persona-btn--active:hover:not(:disabled) {
  background-color: transparent;
  border-color: var(--bs-body-color, var(--tema-colore-azzurro-tenue-15));
  color: var(--tema-contenuto-testo, var(--tema-colore-azzurro-tenue-15));
}
.chat-persona-btn-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.chat-persona-btn-avatar--badge {
  color: var(--tema-colore-bianco);
  font-size: 14px;
}
.chat-persona-btn--ghost {
  background: transparent;
  border-style: dashed;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
}
.chat-persona-btn-ghost-icon {
  font-size: 18px;
}
.chat-gear-btn--locked {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
@media (prefers-color-scheme: dark) {
.chat-recent-btn:hover {
    background-color: var(--tema-colore-bianco-a06);
  }
}
@media (prefers-color-scheme: dark) {
.chat-persona-btn {
    border-color: var(--tema-bordo, var(--tema-colore-azzurro-tenue-27));
  }
}
@media (prefers-color-scheme: dark) {
.chat-persona-btn--active {
    background-color: var(--tema-colore-verde-34);
    border-color: var(--tema-colore-verde-34);
  }
}
@media (prefers-color-scheme: dark) {
.chat-persona-btn--active:hover:not(:disabled) {
    background-color: var(--tema-colore-verde-24);
    border-color: var(--tema-colore-verde-24);
  }
}

/* ---- da core/static/core/css/core.css ---- */
@media (prefers-color-scheme: dark) {
.btn-primary {
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--tema-colore-arancio-vivo-31);
    --bs-btn-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-hover-bg: var(--tema-colore-arancio-vivo-50-a10-2);
    --bs-btn-hover-color: var(--tema-colore-arancio-vivo-50);
    --bs-btn-hover-border-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-active-bg: var(--tema-colore-arancio-vivo-50-a18);
    --bs-btn-active-color: var(--tema-colore-arancio-vivo-50);
    --bs-btn-active-border-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-color: var(--tema-colore-arancio-vivo-31);
    --bs-btn-disabled-border-color: var(--tema-colore-arancio-vivo-20);
  }
}
@media (prefers-color-scheme: dark) {
.btn-outline-secondary {
    --bs-btn-color: var(--tema-colore-azzurro-tenue-65);
    --bs-btn-border-color: var(--tema-colore-azzurro-tenue-27);
    --bs-btn-hover-bg: var(--tema-colore-blu-tenue-21);
    --bs-btn-hover-color: var(--tema-colore-azzurro-96);
    --bs-btn-hover-border-color: var(--tema-colore-azzurro-tenue-35);
    --bs-btn-active-bg: var(--tema-colore-azzurro-tenue-27);
    --bs-btn-active-color: var(--tema-colore-azzurro-96);
  }
}
@media (prefers-color-scheme: dark) {
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
  }
}
.core-tenant-btn {
  display: flex;
  align-items: center;
  gap: var(--tema-spazio-xs);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: inherit;
  max-width: 100%;
}
.core-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  color: inherit;
  padding: 0;
  transition: background-color 0.15s ease;
}
.core-icon-btn:hover {
  background-color: var(--tema-colore-nero-a06);
}
.core-icon-btn:focus-visible {
  outline: 2px solid var(--tema-marchio-primario);
  outline-offset: 2px;
}
.btn-primary {
  --bs-btn-bg: var(--tema-colore-bianco-2);
  --bs-btn-border-color: var(--tema-marchio-primario);
  --bs-btn-color: var(--tema-marchio-primario-testo);
  --bs-btn-hover-bg: var(--tema-marchio-primario);
  --bs-btn-hover-border-color: var(--tema-marchio-primario);
  --bs-btn-hover-color: var(--tema-struttura-colore);
  --bs-btn-active-bg: var(--tema-marchio-primario-hover);
  --bs-btn-active-border-color: var(--tema-marchio-primario-hover);
  --bs-btn-active-color: var(--tema-struttura-colore);
  --bs-btn-disabled-bg: var(--tema-colore-bianco-2);
  --bs-btn-disabled-border-color: var(--tema-marchio-primario);
  --bs-btn-disabled-color: var(--tema-marchio-primario-testo);
  border-radius: 8px;
  border-width: 1.5px;
  font-weight: 500;
}
.btn-primary:disabled, .btn-primary.disabled {
  opacity: 0.5;
}
.btn-primary:focus-visible {
  box-shadow: 0 0 0 0.25rem var(--tema-marchio-primario-fuoco-anello);
}
.btn-outline-primary {
  --bs-btn-color: var(--tema-marchio-primario-testo);
  --bs-btn-border-color: var(--tema-marchio-primario);
  --bs-btn-hover-bg: var(--tema-marchio-primario);
  --bs-btn-hover-border-color: var(--tema-marchio-primario);
  --bs-btn-hover-color: var(--tema-struttura-colore);
  --bs-btn-active-bg: var(--tema-marchio-primario-hover);
  --bs-btn-active-border-color: var(--tema-marchio-primario-hover);
  --bs-btn-active-color: var(--tema-struttura-colore);
  border-width: 1.5px;
  font-weight: 500;
}
.core-user-btn {
  display: flex;
  align-items: center;
  gap: var(--tema-spazio-xs);
  width: auto;
  border-radius: 20px;
  padding: 0 8px;
}
.btn-accent {
  background-color: var(--tema-colore-bianco-2);
  border: 1.5px solid var(--tema-marchio-accento);
  color: var(--tema-marchio-primario-testo);
  border-radius: 8px;
  font-weight: 500;
}
.btn-accent:hover, .btn-accent:focus {
  background-color: var(--tema-marchio-accento);
  border-color: var(--tema-marchio-accento);
  color: var(--tema-struttura-colore);
}
.btn-accent:active {
  background-color: var(--tema-marchio-accento-hover);
  border-color: var(--tema-marchio-accento-hover);
  color: var(--tema-struttura-colore);
}
table tbody td a:not(.btn):not(.dropdown-item):not(.core-badge-status) {
  color: var(--tema-struttura-colore);
  text-decoration: none;
}
table tbody td a:not(.btn):not(.dropdown-item):not(.core-badge-status):hover {
  color: var(--tema-struttura-colore);
  text-decoration: underline;
  text-decoration-color: var(--tema-marchio-primario);
  text-underline-offset: 2px;
}
.core-auth-branded .btn-link {
  --bs-btn-color: var(--tema-ingresso-accento, var(--bs-link-color));
  --bs-btn-hover-color: var(--tema-ingresso-accento, var(--bs-link-hover-color));
}
.core-sidebar-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--tema-bordo-chiaro);
  border-radius: 6px;
  background: none;
  color: var(--tema-testo-secondario);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.core-sidebar-toggle-btn:hover {
  background-color: var(--tema-colore-nero-a04);
  color: var(--tema-testo-primario);
}
body.sidebar-collapsed .core-sidebar-toggle-btn .bi-chevron-left::before {
  content: "\F285";  /* bi-chevron-right */
}
body.sidebar-collapsed #chat-sidebar-panel .chat-sidebar-new-btn span {
  display: none;
}
body.sidebar-collapsed #chat-sidebar-panel .chat-sidebar-new-btn {
  justify-content: center;
  padding: 8px 0;
  border-style: solid;
}
body.sidebar-collapsed #chat-sidebar-panel .chat-recent-btn {
  display: flex;
}
@media (max-width: 991px) {
body.chat-mode.sidebar-collapsed #core-sidebar #chat-sidebar-panel .chat-sidebar-new-btn span {
    display: none;
  }
}
@media (max-width: 991px) {
body.chat-mode.sidebar-collapsed #core-sidebar #chat-sidebar-panel .chat-recent-btn {
    display: flex;
  }
}
@media (max-width: 991px) {
body.chat-mode.sidebar-collapsed #core-sidebar #chat-sidebar-panel .chat-kb-upload-btn {
    display: none;
  }
}
@media (prefers-color-scheme: dark) {
.btn-accent {
    background-color: transparent;
    border-color: var(--tema-colore-arancio-vivo-31);
    color: var(--tema-colore-arancio-vivo-44);
  }
}
@media (prefers-color-scheme: dark) {
.btn-accent:hover, .btn-accent:focus {
    background-color: var(--tema-colore-arancio-vivo-50-a10-2);
    border-color: var(--tema-colore-arancio-vivo-44);
    color: var(--tema-colore-arancio-vivo-50);
  }
}
@media (prefers-color-scheme: dark) {
.btn-accent:active {
    background-color: var(--tema-colore-arancio-vivo-50-a18);
    border-color: var(--tema-colore-arancio-vivo-44);
    color: var(--tema-colore-arancio-vivo-50);
  }
}
@media (prefers-color-scheme: dark) {
.btn-outline-primary {
    --bs-btn-color: var(--tema-colore-azzurro-vivo-68);
    --bs-btn-border-color: var(--tema-colore-azzurro-tenue-27);
    --bs-btn-hover-bg: var(--tema-colore-azzurro-vivo-68-a10);
    --bs-btn-hover-color: var(--tema-colore-azzurro-vivo-78);
    --bs-btn-hover-border-color: var(--tema-colore-azzurro-tenue-35);
    --bs-btn-active-bg: var(--tema-colore-azzurro-vivo-68-a18);
    --bs-btn-active-color: var(--tema-colore-azzurro-vivo-78);
    --bs-btn-active-border-color: var(--tema-colore-azzurro-vivo-68);
  }
}
@media (prefers-color-scheme: dark) {
.btn-outline-warning {
    --bs-btn-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-border-color: var(--tema-colore-arancio-vivo-31);
    --bs-btn-hover-bg: var(--tema-colore-arancio-vivo-50-a10-2);
    --bs-btn-hover-color: var(--tema-colore-arancio-vivo-50);
    --bs-btn-hover-border-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-active-bg: var(--tema-colore-arancio-vivo-50-a18);
    --bs-btn-active-color: var(--tema-colore-arancio-vivo-50);
  }
}
@media (prefers-color-scheme: dark) {
.btn-outline-danger {
    --bs-btn-color: var(--tema-colore-rosso-vivo-71);
    --bs-btn-border-color: var(--tema-colore-rosso-31);
    --bs-btn-hover-bg: var(--tema-colore-rosso-vivo-71-a10);
    --bs-btn-hover-color: var(--tema-colore-rosso-vivo-82);
    --bs-btn-hover-border-color: var(--tema-colore-rosso-vivo-35);
    --bs-btn-active-bg: var(--tema-colore-rosso-vivo-71-a18);
    --bs-btn-active-color: var(--tema-colore-rosso-vivo-82);
  }
}
@media (prefers-color-scheme: dark) {
.btn-primary {
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--tema-colore-arancio-vivo-31);
    --bs-btn-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-hover-bg: var(--tema-colore-arancio-vivo-50-a10-2);
    --bs-btn-hover-color: var(--tema-colore-arancio-vivo-50);
    --bs-btn-hover-border-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-active-bg: var(--tema-colore-arancio-vivo-50-a18);
    --bs-btn-active-color: var(--tema-colore-arancio-vivo-50);
    --bs-btn-active-border-color: var(--tema-colore-arancio-vivo-44);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-color: var(--tema-colore-arancio-vivo-31);
    --bs-btn-disabled-border-color: var(--tema-colore-arancio-vivo-20);
  }
}
@media (prefers-color-scheme: dark) {
table tbody td a:not(.btn):not(.dropdown-item):not(.core-badge-status) {
    color: var(--tema-colore-azzurro-91);
  }
}
@media (prefers-color-scheme: dark) {
table tbody td a:not(.btn):not(.dropdown-item):not(.core-badge-status):hover {
    color: var(--tema-colore-azzurro-96);
    text-decoration-color: var(--tema-marchio-primario);
  }
}

/* ---- da core/static/core/css/live-recorder.css ---- */
.live-rec-gesti .btn {
  min-height: 44px;
}
.live-rec-esito .btn {
  min-height: 44px;
}
@media (max-width: 575.98px) {
.live-rec-gesti .btn, .live-rec-esito .btn {
    flex: 1 1 100%;
  }
}
@media (max-width: 575.98px) {
.live-rec-esito form .btn {
    width: 100%;
  }
}

/* ---- da core/static/core/css/preview.css ---- */
.tg-switch-btn {
  border: 1px solid var(--bs-border-color);
  background: transparent;
  color: var(--bs-body-color);
  border-radius: var(--bs-border-radius, 0.375rem);
  padding: 0.25rem 0.85rem;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 1px 2px var(--tema-colore-nero-a08); /* subtle 3D lift */
  transition: border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.tg-switch-btn:hover {
  border-color: var(--bs-success);
  color: var(--bs-success);
}
.tg-switch-btn.active {
  background: transparent;
  border-color: var(--bs-success);
  color: var(--bs-success);
  box-shadow: 0 0 0 1px var(--bs-success), 0 2px 6px var(--tema-colore-nero-a16);
}
.doc-preview-btn {
  border: 1px solid var(--bs-border-color);
  background: transparent;
  color: var(--bs-body-color);
  border-radius: var(--bs-border-radius, 0.375rem);
  padding: 0.25rem 0.85rem;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 1px 2px var(--tema-colore-nero-a08); /* subtle 3D lift */
  transition: border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.doc-preview-btn:hover {
  border-color: var(--bs-success);
  color: var(--bs-success);
}
.doc-preview-btn-primary {
  border-color: var(--bs-success);
  color: var(--bs-success);
  box-shadow: 0 0 0 1px var(--bs-success), 0 1px 3px var(--tema-colore-nero-a12);
}
.doc-preview-btn-primary:hover {
  border-color: var(--bs-success);
  color: var(--bs-success);
  box-shadow: 0 0 0 1px var(--bs-success), 0 2px 6px var(--tema-colore-nero-a16);
}
.tg-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid var(--bs-border-color);
  background: transparent;
  color: var(--bs-body-color);
  border-radius: var(--bs-border-radius, 0.375rem);
  cursor: pointer;
  box-shadow: 0 1px 2px var(--tema-colore-nero-a08); /* subtle 3D lift */
  transition: border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.tg-icon-btn:hover {
  border-color: var(--bs-success);
  color: var(--bs-success);
  box-shadow: 0 0 0 1px var(--bs-success), 0 2px 6px var(--tema-colore-nero-a16);
}
.tg-icon-btn:focus-visible {
  outline: 2px solid var(--bs-success);
  outline-offset: 1px;
}

/* ---- da core/static/core/css/temi/greentomeet.css ---- */
body[data-tenant-theme="greentomeet"] .btn-primary {
  --bs-btn-hover-color: var(--tema-colore-bianco-2);   /* 7.53:1 su #016141 */
  --bs-btn-active-color: var(--tema-colore-bianco-2);  /* 10.37:1 su #014a31 */
}
body[data-tenant-theme="greentomeet"] .core-pagina-shell :is(.btn, .core-btn) {
  border-radius: 999px;
}

/* ---- da core/static/core/css/temi/scuola.css ---- */
body[data-tenant-theme="scuola"] .btn-primary {
  --bs-btn-hover-color: var(--tema-colore-bianco-2);
  --bs-btn-active-color: var(--tema-colore-bianco-2);
}

/* ---- da core/static/core/css/voice-dictation.css ---- */
.voice-dictation-btn {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--tema-contenuto-testo-attenuato, var(--tema-colore-grigio-46));
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
  z-index: 2;
}
.voice-dictation-btn:hover {
  color: var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
  background-color: var(--tema-bottone-sfondo-hover, var(--tema-colore-nero-a05));
}
.voice-dictation-btn:focus-visible {
  outline: 2px solid var(--tema-primario, var(--tema-colore-azzurro-vivo-52));
  outline-offset: 2px;
}
.voice-dictation-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.voice-dictation-btn--recording {
  color: var(--tema-colore-rosso-vivo-54);
  background-color: var(--tema-colore-rosso-vivo-54-a10);
  animation: voice-dictation-pulse 1.5s ease-in-out infinite;
}
.voice-dictation-btn--recording:hover {
  color: var(--tema-colore-rosso-vivo-54);
  background-color: var(--tema-colore-rosso-vivo-54-a20);
}
.voice-dictation-btn--processing {
  animation: voice-dictation-spin 1.2s linear infinite;
}
textarea.voice-dictation-field + .voice-dictation-btn {
  top: 0.5rem;
}

/* ---- da core/static/core/css/welcome-gift.css ---- */
.wg-cta {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: .7rem;
  font-size: 1.05rem;
  font-weight: 600;
}

/* ---- da corsi/static/corsi/builder/builder.css ---- */
.bc-btn { min-height: 36px; padding: 0 12px; border: 1px solid var(--tema-area-campo); border-radius: var(--tema-area-raggio-9); background: var(--tema-area-superficie);
  font-weight: 600; color: var(--tema-area-inchiostro); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.bc-btn-pri { min-height: 38px; padding: 0 16px; border: 0; border-radius: var(--tema-area-raggio-l); background: var(--tema-area-accento-forte);
  color: var(--tema-area-su-accento); font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
  white-space: nowrap; }
.bc-app a.bc-btn-pri, .bc-app a.bc-btn-pri:hover { color: var(--tema-area-su-accento); }
.bc-btn-pri[data-busy="1"] { background: var(--tema-builder-spento); }
.bc-btn-acc { min-height: 40px; padding: 0 14px; border: 1px solid var(--tema-area-accento-linea); border-radius: var(--tema-area-raggio-l); background: var(--tema-area-superficie);
  color: var(--tema-area-accento-inchiostro); font-weight: 700; white-space: nowrap; }
.bc-btn-32 { min-height: 32px; padding: 0 12px; border: 1px solid var(--tema-area-campo); border-radius: var(--tema-area-raggio-9); background: var(--tema-area-superficie);
  color: var(--tema-area-inchiostro-2); font-size: 12px; font-weight: 600; white-space: nowrap; }
.bc-btn-36 { min-height: 36px; }
.bc-btn-38 { min-height: 38px; }
.bc-btn-40 { min-height: 40px; }
.bc-btn-42 { min-height: 42px; }
.bc-btn-44 { min-height: 44px; border-radius: var(--tema-area-raggio-xl); padding: 0 18px; }
.bc-btn-ko { border-color: var(--tema-builder-ko-bordo); color: var(--tema-area-ko-testo); }
.bc-mini-btn { height: 28px; padding: 0 10px; border: 1px solid var(--tema-area-campo); border-radius: var(--tema-area-raggio-m); background: var(--tema-area-superficie);
  color: var(--tema-area-inchiostro-2); font-size: 12px; font-weight: 600; white-space: nowrap; }
.bc-top-btn { width: 38px; height: 38px; border: 1px solid var(--tema-area-campo); border-radius: var(--tema-area-raggio-l); background: var(--tema-area-superficie);
  color: var(--tema-area-inchiostro); font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.bc-top-btn[data-off="1"] { opacity: .4; }
.bc-top-btn-ko { color: var(--tema-area-ko-inchiostro); }
@media (max-width: 699px) {
.bc-top-btn { width: 34px; height: 34px; }
}
@media (max-width: 699px) {
.bc-top-btn-ko { display: none; }
}

/* ---- da corsi/static/corsi/css/docente.css ---- */
.dc-assistente-btn { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px;
  border: 1px solid var(--tema-area-accento-linea); border-radius: var(--tema-area-raggio-l); background: var(--tema-area-accento-tenue);
  color: var(--tema-area-accento-inchiostro); font-weight: 600; font-size: 13px; white-space: nowrap; text-decoration: none; flex: none; }
.dc-assistente-btn i { width: 8px; height: 8px; border-radius: 50%; background: var(--tema-area-accento); display: block; }
.dc-assistente-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.dc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; padding: 0 16px;
  border: 1px solid var(--tema-area-accento-linea); border-radius: var(--tema-area-raggio-l); background: var(--tema-area-superficie);
  color: var(--tema-area-accento-inchiostro); font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap; }
.dc-app a.dc-btn { color: var(--tema-area-accento-inchiostro); }
.dc-btn-primario { border: 0; background: var(--tema-area-accento-forte); color: var(--tema-area-su-accento); }
.dc-app a.dc-btn-primario, .dc-app a.dc-btn-primario:hover { color: var(--tema-area-su-accento); }
.dc-btn-tenue { background: var(--tema-area-accento-tenue); }
.dc-btn-neutro { border-color: var(--tema-area-campo); color: var(--tema-area-inchiostro); }
.dc-app a.dc-btn-neutro { color: var(--tema-area-inchiostro); }
.dc-btn-grigio { border-color: var(--tema-area-campo); color: var(--tema-area-inchiostro-2); }
.dc-btn-ok { border: 0; background: var(--tema-area-ok); color: var(--tema-area-su-accento); }
.dc-btn-s { height: 30px; padding: 0 10px; font-size: 12px; border-radius: var(--tema-area-raggio-m); }
.dc-btn-m { height: 34px; padding: 0 12px; font-size: 13px; border-radius: var(--tema-area-raggio-9); }
.dc-btn-32 { height: 32px; padding: 0 12px; font-size: 13px; border-radius: var(--tema-area-raggio-m); }
.dc-btn[aria-disabled="true"], .dc-btn:disabled { opacity: .55; cursor: not-allowed; }
.dc-btn-largo { flex: 1; }
@media (max-width: 699px) {
.dc-assistente-btn { padding: 0 10px; }
}
@media (max-width: 699px) {
.dc-assistente-btn span { display: none; }
}
@media (max-width: 699px) {
.dc-assistente-btn { min-width: var(--tema-area-tocco); min-height: var(--tema-area-tocco); }
}
@media (max-width: 699px) {
.dc-btn { min-height: var(--tema-area-tocco); }
}
@media (max-width: 699px) {
.dc-btn-s, .dc-btn-m, .dc-btn-32 { min-height: var(--tema-area-tocco); }
}
.dc-btn-ko { border: 0; background: var(--tema-area-ko); color: var(--tema-area-su-accento); }
.dc-vestita .btn-primary { background: var(--tema-area-accento); border-color: var(--tema-area-accento); color: var(--tema-area-su-accento); }

/* ---- da creator/static/creator/css/creator.css ---- */
.creator-riga-gesto .btn { min-height: var(--tema-creator-tocco); }

/* ---- da creator/static/creator/css/editor.css ---- */
.creator-btn-crea { align-self: flex-start; min-height: var(--tema-creator-tocco); }
.creator-barra-bassa .btn { min-height: var(--tema-creator-tocco); }

/* ---- da creator/static/creator/css/veste.css ---- */
.creator-pagina .btn {
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 700;
  min-height: var(--tema-creator-tocco);
  padding: 12px 20px;
  border: 0;
}
.creator-pagina .btn-primary { background: var(--tema-vetrina-verde); color: var(--tema-colore-verde-96); }
.creator-pagina .btn-primary:hover { background: var(--tema-colore-petrolio-vivo-15); color: var(--tema-colore-verde-96); }
.creator-pagina .btn-outline-secondary, .creator-pagina .btn-outline-primary {
  border: 1px solid var(--tema-colore-verde-tenue-80);
  background: var(--tema-vetrina-carta);
  color: var(--tema-colore-petrolio-17);
}
.creator-pagina .creator-assistente .btn { min-height: var(--tema-creator-tocco); }
.creator-pagina .creator-ai-card-azioni .btn { min-height: var(--tema-creator-tocco); }
.creator-pagina .creator-ai-suggerimenti .btn { min-height: var(--tema-creator-tocco); white-space: normal; text-align: left; }
.creator-pagina .creator-ai-form .btn { min-height: 48px; border-radius: 999px; }
.creator-pagina .creator-red-scrivi .btn { min-height: 48px; border-radius: 999px; }

/* ---- da docshare/static/docshare/css/brand.css ---- */
.dsx-resend .btn-link {
  color: var(--tema-testo-tenue);
  text-decoration: underline;
}
.dsx-resend .btn-link:hover, .dsx-resend .btn-link:focus-visible {
  color: var(--tema-inchiostro);
}

/* ---- da docshare/static/docshare/css/preview.css ---- */
@media (max-width: 575.98px) {
.dprev-overlay__head .btn { width: 100%; }
}

/* ---- da docshare/static/docshare/css/send.css ---- */
.dsend-item > .dsend-item__meta:not(:has(.btn)) { display: none; }
@media (min-width: 576px) {
.dsend-item > .dsend-item__meta:not(:has(.btn)) { display: inline; }
}
.dsend__bar-actions .btn { flex: 1 1 auto; }
@media (min-width: 768px) {
.dsend__bar-actions .btn { flex: 0 0 auto; }
}

/* ---- da docshare/static/docshare/css/share_documents.css ---- */
.dsx-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 15px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.dsx-btn--primary {
  background: linear-gradient(180deg, var(--tema-colore-arancio-vivo-54-2), var(--tema-colore-arancio-vivo-46-2));
  color: var(--tema-colore-bianco);
  box-shadow: 0 7px 16px -9px var(--tema-colore-arancio-vivo-46-a75);
}
.dsx-btn--primary:hover {
  filter: brightness(1.05);
  color: var(--tema-colore-bianco);
}
.dsx-btn--secondary {
  background: var(--tema-colore-bianco);
  border: 1px solid var(--tema-colore-blu-18-a16);
  color: var(--tema-colore-azzurro-29);
  font-weight: 600;
  padding: 9px 13px;
}
.dsx-btn--secondary:hover {
  border-color: var(--tema-colore-azzurro-29);
  background: var(--tema-colore-azzurro-29-a04-2);
  color: var(--tema-colore-azzurro-29);
}
.dsx-btn--done {
  background: var(--tema-colore-verde-37-a10);
  border: 1px solid var(--tema-colore-verde-37-a28);
  color: var(--tema-colore-verde-33);
  padding: 9px 14px;
}
@media (max-width: 620px) {
.dsx-actions > .dsx-btn {
    flex: 1 1 auto;
  }
}
.dsx-btn--ghost {
  background: var(--tema-colore-bianco);
  border: 1px solid var(--tema-colore-blu-18-a16);
  color: var(--tema-colore-azzurro-tenue-49);
  font-weight: 600;
}
.dsx-btn--ghost:hover { border-color: var(--tema-colore-azzurro-29); color: var(--tema-colore-azzurro-29); }
.dsx-btn[disabled], .dsx-btn[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none;
}
@media (max-width: 620px) {
.dsx-selbar__actions > .dsx-btn { flex: 1 1 auto; justify-content: center; }
}
@media (pointer: coarse) {
.dsx-btn { min-height: 44px; }
}

/* ---- da gdpr/static/kasc/kasc.css ---- */
.kasc-btn {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 3rem; padding: 0.625rem 0.875rem;
  font: inherit; font-size: 0.9375rem; font-weight: 600;
  background: var(--tema-cookie-inchiostro); color: var(--tema-cookie-carta);
  border: 2px solid var(--tema-cookie-inchiostro); border-radius: calc(var(--tema-cookie-raggio) * 0.6);
  cursor: pointer;
}
.kasc-btn:hover { filter: brightness(1.15); }
.kasc-anteprima .kasc-btn:disabled { opacity: 1; cursor: default; }

/* ---- da lezione/static/lezione/css/studio.css ---- */
.st-crediti-btn { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 999px;
  border: 1px solid var(--tema-studio-accento-bordo); background: var(--tema-studio-accento-pallido); color: var(--tema-studio-accento-profondo); font-size: 13px;
  font-weight: 700; white-space: nowrap; cursor: pointer; }
.st-crediti-btn i { width: 10px; height: 10px; border-radius: 50%; background: var(--tema-studio-accento); display: block; }
.st-utente-btn { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid var(--tema-studio-petrolio); background: var(--tema-area-superficie);
  color: var(--tema-studio-petrolio); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center;
  cursor: pointer; }
.st-btn-pieno { height: 42px; border: 0; border-radius: 10px; background: var(--tema-studio-accento-forte); color: var(--tema-area-superficie);
  font-weight: 700; width: 100%; }
.st-btn-test { width: 100%; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 12px;
  border-radius: 10px; border: 1px solid var(--tema-studio-campo); background: var(--tema-area-superficie); color: var(--tema-studio-inchiostro); font-size: 14px;
  font-weight: 600; text-decoration: none; }
.st-btn-test span:first-child { flex: 1; text-align: left; }
.st-btn-test span:last-child { font-size: 12px; font-weight: 700; color: var(--tema-studio-ok-inchiostro); }
.st-btn-test[aria-current="page"], .st-btn-mezza[aria-current="page"] { background: var(--tema-studio-accento-tenue);
  border-color: var(--tema-studio-accento-bordo); }
.st-btn-mezza { flex: 1; min-height: 40px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--tema-studio-campo);
  background: var(--tema-area-superficie); color: var(--tema-studio-inchiostro-2); font-size: 13px; font-weight: 600; display: flex; align-items: center;
  justify-content: center; text-decoration: none; text-align: center; }
.st-btn { min-height: 44px; height: 44px; padding: 0 16px; border: 1px solid var(--tema-studio-campo); border-radius: 12px;
  background: var(--tema-area-superficie); font-weight: 600; color: var(--tema-studio-inchiostro); display: inline-flex; align-items: center;
  justify-content: center; gap: 8px; text-decoration: none; font-size: 15px; }
.st-app a.st-btn { color: var(--tema-studio-inchiostro); }
.st-btn-primario { border: 0; background: var(--tema-studio-accento-forte); color: var(--tema-area-superficie); font-weight: 700; height: 46px;
  padding: 0 20px; border-radius: 12px; }
.st-app a.st-btn-primario { color: var(--tema-area-superficie); }
.st-btn-morbido { border: 1.5px solid var(--tema-studio-accento-bordo); background: var(--tema-studio-accento-pallido); color: var(--tema-studio-accento-inchiostro);
  font-weight: 700; height: 46px; padding: 0 18px; }
.st-app a.st-btn-morbido { color: var(--tema-studio-accento-inchiostro); }
.st-btn-sm { height: 38px; min-height: 38px; padding: 0 12px; font-size: 13px; border-radius: 10px; }
.st-btn-teal { border: 0; background: var(--tema-studio-petrolio); color: var(--tema-area-superficie); }
.st-app a.st-btn-teal { color: var(--tema-area-superficie); }
.st-btn-chiaro { border: 1px solid var(--tema-studio-accento-bordo); background: var(--tema-studio-accento-pallido); color: var(--tema-studio-accento-inchiostro); }
.st-interruttore-btn { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 2px 0;
  font: inherit; font-size: 12px; color: var(--tema-studio-attenuato); cursor: pointer; }
.st-interruttore-btn i { position: relative; width: 26px; height: 15px; border-radius: 999px; background: var(--tema-studio-campo);
  display: block; transition: background .15s; }
.st-interruttore-btn i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px;
  border-radius: 50%; background: var(--tema-area-superficie); transition: left .15s; }
.st-interruttore-btn[aria-checked="true"] i { background: var(--tema-studio-accento); }
.st-interruttore-btn[aria-checked="true"] i::after { left: 13px; }
.st-rimetti-btn { border-color: var(--tema-studio-campo); background: var(--tema-area-superficie); color: var(--tema-studio-inchiostro-2); }
.st-btn-ok { background: var(--tema-studio-ok); }
.st-chat-btn { flex: none; height: 34px; min-width: 34px; padding: 0 9px; border: 1px solid var(--tema-studio-campo);
  border-radius: 9px; background: var(--tema-area-superficie); font-size: 12px; font-weight: 600; color: var(--tema-studio-inchiostro-2); white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.st-app a.st-chat-btn { color: var(--tema-studio-inchiostro-2); }
.st-contesto-btn { display: inline-flex; align-items: center; gap: 6px; }
.st-contesto-btn i { width: 8px; height: 8px; border-radius: 50%; background: var(--tema-studio-debole); display: block; }
.st-contesto-btn[aria-pressed="true"] i { background: var(--tema-studio-ok); }
.st-doc-btn { height: 32px; padding: 0 10px; border: 1px solid var(--tema-studio-campo); border-radius: 8px; background: var(--tema-area-superficie);
  font-size: 12px; font-weight: 600; color: var(--tema-studio-inchiostro-2); white-space: nowrap; display: inline-flex;
  align-items: center; text-decoration: none; }
.st-app a.st-doc-btn { color: var(--tema-studio-inchiostro-2); }
.st-doc-btn.st-chiaro { border-color: var(--tema-studio-accento-bordo); background: var(--tema-studio-accento-pallido); color: var(--tema-studio-accento-inchiostro); }
.st-app a.st-doc-btn.st-chiaro { color: var(--tema-studio-accento-inchiostro); }
.st-doc-btn.st-pieno { border: 0; background: var(--tema-studio-accento-forte); color: var(--tema-area-superficie); }
.st-app a.st-doc-btn.st-pieno { color: var(--tema-area-superficie); }
.st-corso-corpo .st-btn { margin-top: auto; }
.st-salta-btn { flex: none; display: inline-flex; align-items: center; gap: 4px; min-height: 44px; min-width: 44px;
  padding: 0 12px; border-radius: 10px; border: 1px solid var(--tema-studio-campo); background: var(--tema-area-superficie); color: var(--tema-studio-inchiostro);
  font-size: 13px; font-weight: 600; text-decoration: none; }
.st-salta-btn[aria-disabled="true"] { opacity: .45; }
@media (max-width: 699px) {
.st-chat-btn, .st-doc-btn { min-height: 44px; min-width: 44px; }
}
.st-vestita .btn-primary { background: var(--tema-studio-accento); border-color: var(--tema-studio-accento); color: var(--tema-area-su-accento); }

/* ---- da press/static/press/css/press-editor.css ---- */
.press-rich-bar .btn { min-width: 2.25rem; font-weight: 600; }
@media (max-width: 575.98px) {
.press-barra .btn { padding: .4rem .5rem; font-size: .85rem; }
}
@media (max-width: 575.98px) {
.press-barra-azioni > form > .btn { width: 100%; }
}
@media (max-width: 767.98px) {
.press-tabella td:last-child .btn { margin-bottom: .25rem; }
}

/* ---- da press/static/press/css/press-theme.css ---- */
/* confine `:where(.press-vetrina)`: il foglio si carica solo nel guscio della vetrina di press (CONFINI_DELLE_ORIGINI) */
:where(.press-vetrina) .btn {border:0;background:var(--tema-vetrina-verde);color:var(--tema-colore-verde-96);font-size:13.5px;font-weight:700;padding:12px 22px;border-radius:999px;cursor:pointer}
:where(.press-vetrina) .btn-ghost {border:1px solid var(--tema-colore-verde-tenue-80);background:var(--tema-vetrina-carta);color:var(--tema-colore-petrolio-17);font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:999px;cursor:pointer}
:where(.press-vetrina) .band .btn-light {align-self:flex-start;background:var(--tema-colore-verde-96);color:var(--tema-vetrina-verde);font-size:13.5px;font-weight:700;padding:11px 20px;border-radius:999px;border:0}
:where(.press-vetrina) .ai-bar .btn {padding:9px 18px;font-size:13px}
:where(.press-vetrina) .ai-bar .esempi .btn-ghost {font-size:12px;padding:6px 12px}
:where(.press-vetrina) .azioni .btn {padding:14px 26px;font-size:14.5px;display:inline-block}
:where(.press-vetrina) .btn-linea {border:1px solid var(--tema-colore-verde-tenue-80);font-size:14px;font-weight:600;padding:13px 22px;border-radius:999px}
:where(.press-vetrina) .cta-finale .btn {padding:15px 30px;font-size:15px;margin-top:4px}
:where(.press-vetrina) .contatti-form .invio .btn {padding:14px 26px;font-size:14.5px}
:where(.press-vetrina) .contatti-ok .btn-linea {align-self:flex-start;margin-top:6px;background:var(--tema-vetrina-carta)}
:where(.press-vetrina) .press-not-found .btn {display:inline-block}
:where(.press-vetrina) .sezione-testa .numeri .btn-linea {flex:0 0 auto;font-size:13px;padding:9px 16px;color:var(--tema-vetrina-verde)}
:where(.press-vetrina) .band.scuro .btn-light {background:var(--tema-colore-verde-96);color:var(--tema-colore-petrolio-07)}
:where(.press-vetrina) .azioni .btn {padding:14px 26px;font-size:14.5px;display:inline-block}
:where(.press-vetrina) .btn-linea {border:1px solid var(--tema-colore-verde-tenue-80);font-size:14px;font-weight:600;padding:13px 22px;border-radius:999px}
:where(.press-vetrina) .cta-finale .btn {padding:15px 30px;font-size:15px;margin-top:4px}
:where(.press-vetrina) .contatti-form .invio .btn {padding:14px 26px;font-size:14.5px}
:where(.press-vetrina) .contatti-ok .btn-linea {align-self:flex-start;margin-top:6px;background:var(--tema-vetrina-carta)}

/* ---- da quiz/static/quiz/css/quiz.css ---- */
@media (max-width: 575.98px) {
.quiz-gesti .btn { flex: 1 1 100%; }
}
.quiz-forme .btn { min-height: 44px; display: inline-flex; align-items: center; }
.quiz-consigli-scelti .btn, .quiz-consigli-trovati .btn { min-height: 44px; }
.quiz-origine .btn { justify-self: start; min-height: 44px; display: inline-flex; align-items: center; }

/* ---- da staff/static/staff/css/branding-palette.css ---- */
.core-auth-preview .btn-primary {
  font-size: 11px;
}

/* ---- da staff/static/staff/css/perimeter.css ---- */
.pm .pm-btn { background: var(--tema-colore-bianco); border: 1px solid var(--tema-colore-azzurro-tenue-85-2); border-radius: 6px;
              padding: 7px 13px; font-size: 13.5px; color: var(--tema-perimetro-testo);
              cursor: pointer; text-decoration: none; display: inline-block; }
.pm .pm-btn:hover { background: var(--tema-colore-azzurro-tenue-96-2); }
.pm .pm-btn.pm-btn-pericolo { background: var(--tema-colore-rosso-vivo-40); border-color: var(--tema-colore-rosso-vivo-40); color: var(--tema-colore-bianco); }
.pm .pm-btn.pm-btn-pericolo:hover { background: var(--tema-colore-rosso-vivo-33); }

/* ---- da staff/static/staff/css/staff-layout.css ---- */
.staff-btn-impersonate {
  background-color: var(--tema-colore-verde-24);
  color: var(--tema-colore-bianco);
  border: none;
}
.staff-btn-impersonate:hover {
  background-color: var(--tema-colore-verde-19);
  color: var(--tema-colore-bianco);
}

/* ---- da temi/scuoladilatino/static/css/scuoladilatino.css ---- */
.tema-scuoladilatino .sb .btn {background:transparent;color:inherit}
.tema-scuoladilatino .sb-actions .btn {display:inline-block;text-decoration:none}
.tema-scuoladilatino .sb-invite-btn {display:block;text-align:center;padding:16px;font-size:16px}
.tema-scuoladilatino .sb .btn-dark, .tema-scuoladilatino .btn-dark.sb {background:var(--tema-vetrina-inchiostro);color:var(--tema-scuola-carta)!important;padding:10px 18px;border-radius:2px;font-weight:500}
.tema-scuoladilatino .sb .btn-accent, .tema-scuoladilatino .btn-accent.sb {border:none;background:var(--tema-scuola-accento);color:var(--tema-colore-bianco);padding:15px 26px;border-radius:2px;font-size:15px;font-weight:600;cursor:pointer}
.tema-scuoladilatino .sb .btn-cta, .tema-scuoladilatino .btn-cta.sb {background:var(--tema-scuola-accento-2);color:var(--tema-colore-bianco)!important;padding:13px 22px;border-radius:2px;font-weight:600;font-size:15px;white-space:nowrap}
.tema-scuoladilatino .sb .btn-outline, .tema-scuoladilatino .btn-outline.sb {border:1px solid var(--tema-vetrina-inchiostro);color:var(--tema-vetrina-inchiostro);padding:13px;text-align:center;font-weight:600;border-radius:2px}
.tema-scuoladilatino .sb .price .btn-cta, .tema-scuoladilatino .price.sb .btn-cta {text-align:center}
.tema-scuoladilatino .sb--cta .sb-wrap, .tema-scuoladilatino .sb-wrap.sb--cta {max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px}
.tema-scuoladilatino .sb--cta .accent, .tema-scuoladilatino .accent.sb--cta {color:var(--tema-scuola-accento)}
.tema-scuoladilatino .sb--cta .muted, .tema-scuoladilatino .muted.sb--cta {color:var(--tema-colore-grigio-40)}
.tema-scuoladilatino .sb--cta .small, .tema-scuoladilatino .small.sb--cta {font-size:13px}
.tema-scuoladilatino .sb--cta .row-between, .tema-scuoladilatino .row-between.sb--cta {display:flex;justify-content:space-between;align-items:center;gap:12px}
.tema-scuoladilatino .sb--cta .label, .tema-scuoladilatino .label.sb--cta {font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tema-scuola-attenuato-2);margin-bottom:14px}
.tema-scuoladilatino .sb--cta .label-accent, .tema-scuoladilatino .label-accent.sb--cta {color:var(--tema-scuola-accento);margin-bottom:12px}
.tema-scuoladilatino .sb--cta .h2, .tema-scuoladilatino .h2.sb--cta {font-size:clamp(26px,3.6vw,40px);line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0 0 28px;text-wrap:balance}
.tema-scuoladilatino .sb--cta .h3, .tema-scuoladilatino .h3.sb--cta {font-weight:600;font-size:18px;margin-bottom:4px}
.tema-scuoladilatino .sb--cta .text, .tema-scuoladilatino .text.sb--cta {font-size:16px;line-height:1.5;color:var(--tema-scuola-attenuato)}
.tema-scuoladilatino .sb--cta .lead, .tema-scuoladilatino .lead.sb--cta {font-size:clamp(17px,2vw,19px);line-height:1.55;color:var(--tema-scuola-attenuato);max-width:600px;margin:18px 0 0;text-wrap:pretty}
.tema-scuoladilatino .sb--cta .block, .tema-scuoladilatino .block.sb--cta {padding-bottom:64px}
.tema-scuoladilatino .sb--cta .search, .tema-scuoladilatino .search.sb--cta {margin-top:32px;display:flex;align-items:center;gap:10px;background:var(--tema-colore-bianco);border:1px solid var(--tema-scuola-linea-2);border-radius:12px;padding:6px 6px 6px 18px;max-width:620px}
.tema-scuoladilatino .sb--cta .search input, .tema-scuoladilatino .search.sb--cta input {flex:1;min-width:0;border:none;outline:none;font-size:17px;padding:12px 0;background:transparent;color:var(--tema-vetrina-inchiostro)}
.tema-scuoladilatino .sb--cta .search button, .tema-scuoladilatino .search.sb--cta button {border:none;background:var(--tema-vetrina-inchiostro);color:var(--tema-colore-bianco);border-radius:8px;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer}
.tema-scuoladilatino .sb--cta .badge, .tema-scuoladilatino .badge.sb--cta {font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.tema-scuoladilatino .sb--cta .badge-soon, .tema-scuoladilatino .badge-soon.sb--cta {background:var(--tema-colore-bianco);color:var(--tema-scuola-attenuato)}
.tema-scuoladilatino .sb--cta .dot, .tema-scuoladilatino .dot.sb--cta {width:8px;height:8px;border-radius:50%;background:var(--tema-scuola-accento);flex-shrink:0;display:inline-block}
.tema-scuoladilatino .sb--cta .dot-lg, .tema-scuoladilatino .dot-lg.sb--cta {width:10px;height:10px;margin-top:8px}
.tema-scuoladilatino .sb--teachers .btn, .tema-scuoladilatino .btn.sb--teachers, .tema-scuoladilatino .sb--how .btn, .tema-scuoladilatino .btn.sb--how, .tema-scuoladilatino .sb--cta .btn, .tema-scuoladilatino .btn.sb--cta, .tema-scuoladilatino .sb--schools .btn, .tema-scuoladilatino .btn.sb--schools {display:inline-block;padding:14px 22px;border-radius:10px;font-weight:600;font-size:16px;border:none;cursor:pointer;white-space:nowrap}
.tema-scuoladilatino .sb--teachers .btn-dark, .tema-scuoladilatino .btn-dark.sb--teachers, .tema-scuoladilatino .sb--how .btn-dark, .tema-scuoladilatino .btn-dark.sb--how, .tema-scuoladilatino .sb--cta .btn-dark, .tema-scuoladilatino .btn-dark.sb--cta, .tema-scuoladilatino .sb--schools .btn-dark, .tema-scuoladilatino .btn-dark.sb--schools {background:var(--tema-vetrina-inchiostro);color:var(--tema-colore-bianco)}
.tema-scuoladilatino .sb--teachers .btn-ghost, .tema-scuoladilatino .btn-ghost.sb--teachers, .tema-scuoladilatino .sb--how .btn-ghost, .tema-scuoladilatino .btn-ghost.sb--how, .tema-scuoladilatino .sb--cta .btn-ghost, .tema-scuoladilatino .btn-ghost.sb--cta, .tema-scuoladilatino .sb--schools .btn-ghost, .tema-scuoladilatino .btn-ghost.sb--schools {border:1px solid var(--tema-scuola-linea-2);color:var(--tema-vetrina-inchiostro);font-weight:400}
.tema-scuoladilatino .sb--teachers .btn-accent, .tema-scuoladilatino .btn-accent.sb--teachers, .tema-scuoladilatino .sb--how .btn-accent, .tema-scuoladilatino .btn-accent.sb--how, .tema-scuoladilatino .sb--cta .btn-accent, .tema-scuoladilatino .btn-accent.sb--cta, .tema-scuoladilatino .sb--schools .btn-accent, .tema-scuoladilatino .btn-accent.sb--schools {background:var(--tema-scuola-accento);color:var(--tema-colore-bianco)}
.tema-scuoladilatino .sb--teachers .btn-light, .tema-scuoladilatino .btn-light.sb--teachers, .tema-scuoladilatino .sb--how .btn-light, .tema-scuoladilatino .btn-light.sb--how, .tema-scuoladilatino .sb--cta .btn-light, .tema-scuoladilatino .btn-light.sb--cta, .tema-scuoladilatino .sb--schools .btn-light, .tema-scuoladilatino .btn-light.sb--schools {background:var(--tema-colore-bianco);color:var(--tema-vetrina-inchiostro)}
.tema-scuoladilatino .sb--teachers .btn-outline-light, .tema-scuoladilatino .btn-outline-light.sb--teachers, .tema-scuoladilatino .sb--how .btn-outline-light, .tema-scuoladilatino .btn-outline-light.sb--how, .tema-scuoladilatino .sb--cta .btn-outline-light, .tema-scuoladilatino .btn-outline-light.sb--cta, .tema-scuoladilatino .sb--schools .btn-outline-light, .tema-scuoladilatino .btn-outline-light.sb--schools {border:1px solid var(--tema-colore-grigio-28);color:var(--tema-scuola-sfondo);font-weight:400}
.tema-scuoladilatino .sb--cta .actions, .tema-scuoladilatino .actions.sb--cta {display:flex;gap:10px;flex-wrap:wrap}
.tema-scuoladilatino .sb--cta .feature, .tema-scuoladilatino .feature.sb--cta {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));background:var(--tema-colore-bianco);border:1px solid var(--tema-scuola-linea);border-radius:16px;overflow:hidden;color:var(--tema-vetrina-inchiostro)}
.tema-scuoladilatino .sb--cta .feature:hover, .tema-scuoladilatino .feature:hover.sb--cta {color:var(--tema-vetrina-inchiostro);border-color:var(--tema-colore-grigio-72)}
.tema-scuoladilatino .sb--cta .feature-cover, .tema-scuoladilatino .feature-cover.sb--cta {background:var(--tema-colore-arancio-94);padding:clamp(28px,5vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:280px}
.tema-scuoladilatino .sb--cta .feature-name, .tema-scuoladilatino .feature-name.sb--cta {font-family:var(--tema-vetrina-serif);font-size:clamp(40px,6vw,64px);line-height:1;color:var(--tema-colore-arancio-tenue-11)}
.tema-scuoladilatino .sb--cta .feature-tag, .tema-scuoladilatino .feature-tag.sb--cta {font-family:var(--tema-vetrina-serif);font-style:italic;font-size:20px;margin-top:10px}
.tema-scuoladilatino .sb--cta .feature-body, .tema-scuoladilatino .feature-body.sb--cta {padding:clamp(28px,5vw,48px);display:flex;flex-direction:column;gap:20px}
.tema-scuoladilatino .sb--cta .prof, .tema-scuoladilatino .prof.sb--cta {display:flex;align-items:center;gap:12px}
.tema-scuoladilatino .sb--cta .prof-av, .tema-scuoladilatino .prof-av.sb--cta {width:44px;height:44px;border-radius:50%;color:var(--tema-colore-bianco);display:flex;align-items:center;justify-content:center;font-family:var(--tema-vetrina-serif);font-size:22px}
.tema-scuoladilatino .sb--cta .prof-name, .tema-scuoladilatino .prof-name.sb--cta {font-weight:600;font-size:17px}
.tema-scuoladilatino .sb--cta .prof-role, .tema-scuoladilatino .prof-role.sb--cta {font-size:14px;color:var(--tema-colore-grigio-40)}
.tema-scuoladilatino .sb--cta .feature-desc, .tema-scuoladilatino .feature-desc.sb--cta {margin:0;font-size:17px;line-height:1.55;color:var(--tema-scuola-inchiostro-2)}
.tema-scuoladilatino .sb--cta .cert, .tema-scuoladilatino .cert.sb--cta {display:flex;gap:8px;align-items:center;font-size:14px;color:var(--tema-scuola-inchiostro-2);background:var(--tema-scuola-sfondo);border-radius:8px;padding:10px 12px}
.tema-scuoladilatino .sb--cta .steps, .tema-scuoladilatino .steps.sb--cta {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.tema-scuoladilatino .sb--cta .steps li, .tema-scuoladilatino .steps.sb--cta li {display:flex;gap:12px;font-size:16px}
.tema-scuoladilatino .sb--cta .steps li span, .tema-scuoladilatino .steps.sb--cta li span {font-family:var(--tema-vetrina-serif);width:18px;flex-shrink:0}
.tema-scuoladilatino .sb--cta .soon, .tema-scuoladilatino .soon.sb--cta {margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px 24px;align-items:center;padding:28px;border:1px dashed var(--tema-colore-giallo-tenue-79);border-radius:16px}
.tema-scuoladilatino .sb--cta .soon-title, .tema-scuoladilatino .soon-title.sb--cta {font-weight:600;font-size:20px;margin-bottom:6px}
.tema-scuoladilatino .sb--cta .chips, .tema-scuoladilatino .chips.sb--cta {display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:24px;-webkit-overflow-scrolling:touch}
.tema-scuoladilatino .sb--cta .chip, .tema-scuoladilatino .chip.sb--cta {flex-shrink:0;border:1px solid var(--tema-scuola-linea-2);background:var(--tema-colore-bianco);color:var(--tema-vetrina-inchiostro);border-radius:999px;padding:9px 16px;font-size:15px;white-space:nowrap}
.tema-scuoladilatino .sb--cta .chip.on, .tema-scuoladilatino .chip.on.sb--cta {background:var(--tema-vetrina-inchiostro);border-color:var(--tema-vetrina-inchiostro);color:var(--tema-colore-bianco)}
.tema-scuoladilatino .sb--cta .grid, .tema-scuoladilatino .grid.sb--cta {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.tema-scuoladilatino .sb--cta .card, .tema-scuoladilatino .card.sb--cta {display:flex;flex-direction:column;background:var(--tema-colore-bianco);border:1px solid var(--tema-scuola-linea);border-radius:14px;overflow:hidden;color:var(--tema-vetrina-inchiostro)}
.tema-scuoladilatino .sb--cta .card:hover, .tema-scuoladilatino .card:hover.sb--cta {border-color:var(--tema-colore-grigio-72);color:var(--tema-vetrina-inchiostro)}
.tema-scuoladilatino .sb--cta .card-cover, .tema-scuoladilatino .card-cover.sb--cta {height:120px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.tema-scuoladilatino .sb--cta .card-mark, .tema-scuoladilatino .card-mark.sb--cta {font-family:var(--tema-vetrina-serif);font-size:34px;line-height:1}
.tema-scuoladilatino .sb--cta .card-body, .tema-scuoladilatino .card-body.sb--cta {padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.tema-scuoladilatino .sb--cta .card-name, .tema-scuoladilatino .card-name.sb--cta {font-weight:600;font-size:19px}
.tema-scuoladilatino .sb--cta .card-desc, .tema-scuoladilatino .card-desc.sb--cta {font-size:15px;line-height:1.5;color:var(--tema-scuola-attenuato);flex:1}
.tema-scuoladilatino .sb--cta .card-foot, .tema-scuoladilatino .card-foot.sb--cta {display:flex;justify-content:space-between;align-items:center;font-size:14px;padding-top:12px;border-top:1px solid var(--tema-colore-giallo-tenue-92)}
.tema-scuoladilatino .sb--cta .card-foot strong, .tema-scuoladilatino .card-foot.sb--cta strong {color:var(--tema-vetrina-inchiostro);font-weight:600}
.tema-scuoladilatino .sb--teachers .card-cta, .tema-scuoladilatino .card-cta.sb--teachers, .tema-scuoladilatino .sb--how .card-cta, .tema-scuoladilatino .card-cta.sb--how, .tema-scuoladilatino .sb--cta .card-cta, .tema-scuoladilatino .card-cta.sb--cta, .tema-scuoladilatino .sb--schools .card-cta, .tema-scuoladilatino .card-cta.sb--schools {font-weight:600}
.tema-scuoladilatino .sb--cta .empty, .tema-scuoladilatino .empty.sb--cta {font-size:17px;color:var(--tema-scuola-attenuato)}
.tema-scuoladilatino .sb--cta .human, .tema-scuoladilatino .human.sb--cta {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,56px);align-items:start;padding-top:48px;border-top:1px solid var(--tema-scuola-linea)}
.tema-scuoladilatino .sb--cta .human .h2, .tema-scuoladilatino .human.sb--cta .h2 {margin:0}
.tema-scuoladilatino .sb--cta .human-row, .tema-scuoladilatino .human-row.sb--cta {display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--tema-scuola-linea)}
.tema-scuoladilatino .sb--cta .how, .tema-scuoladilatino .how.sb--cta {border-top:1px solid var(--tema-scuola-linea);background:var(--tema-colore-bianco);padding:56px 0;margin-bottom:56px}
.tema-scuoladilatino .sb--cta .how-grid, .tema-scuoladilatino .how-grid.sb--cta {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.tema-scuoladilatino .sb--cta .how-item, .tema-scuoladilatino .how-item.sb--cta {display:flex;gap:16px}
.tema-scuoladilatino .sb--cta .num, .tema-scuoladilatino .num.sb--cta {width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--tema-vetrina-inchiostro);color:var(--tema-colore-bianco);display:flex;align-items:center;justify-content:center;font-weight:600}
.tema-scuoladilatino .sb--cta .cta, .tema-scuoladilatino .cta.sb--cta {background:var(--tema-vetrina-inchiostro);color:var(--tema-scuola-sfondo);border-radius:16px;padding:clamp(28px,5vw,48px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.tema-scuoladilatino .sb--cta .cta-title, .tema-scuoladilatino .cta-title.sb--cta {font-size:clamp(24px,3.4vw,34px);font-weight:600;letter-spacing:-.02em}
.tema-scuoladilatino .sb--cta .cta-text, .tema-scuoladilatino .cta-text.sb--cta {font-size:16px;color:var(--tema-colore-grigio-72);margin-top:6px}
.tema-scuoladilatino .sb--schools .card-cta {color:var(--tema-scuola-tinta,var(--tema-scuola-accento))}
.tema-scuoladilatino .sb--lesson .btn-accent, .tema-scuoladilatino .btn-accent.sb--lesson {border:none;background:var(--tema-scuola-accento);color:var(--tema-colore-bianco);padding:15px 26px;border-radius:2px;font-size:15px;font-weight:600;cursor:pointer}
.tema-scuoladilatino .sb--lesson .btn-accent:disabled, .tema-scuoladilatino .btn-accent:disabled.sb--lesson {opacity:.5;cursor:not-allowed}
.tema-scuoladilatino .sb--lesson .ar-lock .btn-cta {display:inline-block;padding:12px 20px;background:var(--tema-scuola-accento);color:var(--tema-colore-bianco);text-decoration:none}
.tema-scuoladilatino .sb--opening .btn-accent {display:inline-block;padding:15px 26px}
.tema-scuoladilatino .sb--opening .btn-outline {display:inline-block;padding:14px 22px}
.tema-scuoladilatino .sb--cta .cta {border-radius:2px}

/* ---- da temi/scuolainterattiva/static/css/scuolainterattiva.css ---- */
.tema-scuolainterattiva .sb .btn {background:transparent;color:inherit}
.tema-scuolainterattiva .sb-actions .btn {display:inline-block;text-decoration:none}
.tema-scuolainterattiva .sb-invite-btn {display:block;text-align:center;padding:16px;font-size:16px}
.tema-scuolainterattiva .sb .btn, .tema-scuolainterattiva .btn.sb {display:inline-block;padding:14px 22px;border-radius:10px;font-weight:600;font-size:16px;border:none;cursor:pointer;white-space:nowrap}
.tema-scuolainterattiva .sb .btn-dark, .tema-scuolainterattiva .btn-dark.sb {background:var(--tema-vetrina-inchiostro);color:var(--tema-colore-bianco)}
.tema-scuolainterattiva .sb .btn-ghost, .tema-scuolainterattiva .btn-ghost.sb {border:1px solid var(--tema-scuola-linea-2);color:var(--tema-vetrina-inchiostro);font-weight:400}
.tema-scuolainterattiva .sb .btn-accent, .tema-scuolainterattiva .btn-accent.sb {background:var(--tema-scuola-accento);color:var(--tema-colore-bianco)}
.tema-scuolainterattiva .sb .btn-light, .tema-scuolainterattiva .btn-light.sb {background:var(--tema-colore-bianco);color:var(--tema-vetrina-inchiostro)}
.tema-scuolainterattiva .sb .btn-outline-light, .tema-scuolainterattiva .btn-outline-light.sb {border:1px solid var(--tema-colore-grigio-28);color:var(--tema-scuola-sfondo);font-weight:400}
.tema-scuolainterattiva .sb .card-cta, .tema-scuolainterattiva .card-cta.sb {font-weight:600}
.tema-scuolainterattiva .sb--method .btn-accent, .tema-scuolainterattiva .btn-accent.sb--method, .tema-scuolainterattiva .sb--levels .btn-accent, .tema-scuolainterattiva .btn-accent.sb--levels, .tema-scuolainterattiva .sb--testimonials .btn-accent, .tema-scuolainterattiva .btn-accent.sb--testimonials, .tema-scuolainterattiva .sb--faq .btn-accent, .tema-scuolainterattiva .btn-accent.sb--faq, .tema-scuolainterattiva .sb--pricing .btn-accent, .tema-scuolainterattiva .btn-accent.sb--pricing, .tema-scuolainterattiva .sb--signup .btn-accent, .tema-scuolainterattiva .btn-accent.sb--signup, .tema-scuolainterattiva .sb--articles .btn-accent, .tema-scuolainterattiva .btn-accent.sb--articles {border:none;background:var(--tema-scuola-accento);color:var(--tema-colore-bianco);padding:15px 26px;border-radius:2px;font-size:15px;font-weight:600;cursor:pointer}
.tema-scuolainterattiva .sb--method .btn-cta, .tema-scuolainterattiva .btn-cta.sb--method, .tema-scuolainterattiva .sb--levels .btn-cta, .tema-scuolainterattiva .btn-cta.sb--levels, .tema-scuolainterattiva .sb--testimonials .btn-cta, .tema-scuolainterattiva .btn-cta.sb--testimonials, .tema-scuolainterattiva .sb--faq .btn-cta, .tema-scuolainterattiva .btn-cta.sb--faq, .tema-scuolainterattiva .sb--pricing .btn-cta, .tema-scuolainterattiva .btn-cta.sb--pricing, .tema-scuolainterattiva .sb--signup .btn-cta, .tema-scuolainterattiva .btn-cta.sb--signup, .tema-scuolainterattiva .sb--articles .btn-cta, .tema-scuolainterattiva .btn-cta.sb--articles {background:var(--tema-scuola-accento-2);color:var(--tema-colore-bianco)!important;padding:13px 22px;border-radius:2px;font-weight:600;font-size:15px;white-space:nowrap}
.tema-scuolainterattiva .sb--method .btn-outline, .tema-scuolainterattiva .btn-outline.sb--method, .tema-scuolainterattiva .sb--levels .btn-outline, .tema-scuolainterattiva .btn-outline.sb--levels, .tema-scuolainterattiva .sb--testimonials .btn-outline, .tema-scuolainterattiva .btn-outline.sb--testimonials, .tema-scuolainterattiva .sb--faq .btn-outline, .tema-scuolainterattiva .btn-outline.sb--faq, .tema-scuolainterattiva .sb--pricing .btn-outline, .tema-scuolainterattiva .btn-outline.sb--pricing, .tema-scuolainterattiva .sb--signup .btn-outline, .tema-scuolainterattiva .btn-outline.sb--signup, .tema-scuolainterattiva .sb--articles .btn-outline, .tema-scuolainterattiva .btn-outline.sb--articles {border:1px solid var(--tema-vetrina-inchiostro);color:var(--tema-vetrina-inchiostro);padding:13px;text-align:center;font-weight:600;border-radius:2px}
.tema-scuolainterattiva .sb--method .price .btn-cta, .tema-scuolainterattiva .price.sb--method .btn-cta, .tema-scuolainterattiva .sb--levels .price .btn-cta, .tema-scuolainterattiva .price.sb--levels .btn-cta, .tema-scuolainterattiva .sb--testimonials .price .btn-cta, .tema-scuolainterattiva .price.sb--testimonials .btn-cta, .tema-scuolainterattiva .sb--faq .price .btn-cta, .tema-scuolainterattiva .price.sb--faq .btn-cta, .tema-scuolainterattiva .sb--pricing .price .btn-cta, .tema-scuolainterattiva .price.sb--pricing .btn-cta, .tema-scuolainterattiva .sb--signup .price .btn-cta, .tema-scuolainterattiva .price.sb--signup .btn-cta, .tema-scuolainterattiva .sb--articles .price .btn-cta, .tema-scuolainterattiva .price.sb--articles .btn-cta {text-align:center}
.tema-scuolainterattiva .sb--schools .card-cta {color:var(--tema-scuola-tinta,var(--tema-scuola-accento))}
.tema-scuolainterattiva .sb--lesson .btn-accent, .tema-scuolainterattiva .btn-accent.sb--lesson {border:none;background:var(--tema-scuola-accento);color:var(--tema-colore-bianco);padding:15px 26px;border-radius:2px;font-size:15px;font-weight:600;cursor:pointer}
.tema-scuolainterattiva .sb--lesson .btn-accent:disabled, .tema-scuolainterattiva .btn-accent:disabled.sb--lesson {opacity:.5;cursor:not-allowed}
.tema-scuolainterattiva .sb--lesson .ar-lock .btn-cta {display:inline-block;padding:12px 20px;background:var(--tema-scuola-accento);color:var(--tema-colore-bianco);text-decoration:none}
.tema-scuolainterattiva .sb--opening .btn-accent {background:var(--tema-scuola-accento);color:var(--tema-colore-bianco)}
.tema-scuolainterattiva .sb--opening .btn-outline {border:1px solid var(--tema-scuola-linea-2);color:var(--tema-vetrina-inchiostro);font-weight:400}
.tema-scuolainterattiva .sb--cta .label {margin-bottom:14px}

/* ---- da voce/static/voce/css/voce.css ---- */
.voce-scelta .btn { margin-top: var(--tema-spazio-sm, 8px); }
@media (max-width: 575.98px) {
.voce-gesti .btn { flex: 1 1 100%; }
}

/* ---- TEMI-SCUOLA-2 — i bottoni della cornice scuola (temi/scuola/static/css/guscio.css e pagine.css), generati
 * dalla consegna del designer: classi `gs-`, misure a token. Fuori dalla cornice nessun elemento porta queste classi. ---- */
.gs-btn-icona{position:relative;width:var(--tema-misura-40);height:var(--tema-misura-40);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--tema-raggio-m);border:var(--tema-misura-1) solid transparent;background:transparent;color:var(--tema-testo-primario);cursor:pointer;text-decoration:none}
.gs-btn-icona:hover{background:var(--tema-superficie-tenue);border-color:var(--tema-bordo-medio)}
.gs-btn-icona .gs-conta{position:absolute;top:var(--tema-misura-3);right:var(--tema-misura-3);min-width:var(--tema-misura-17);height:var(--tema-misura-17);padding:0 var(--tema-misura-4);border-radius:var(--tema-raggio-pillola);background:var(--tema-pericolo-pieno);color:var(--tema-testo-su-primario);font-size:var(--tema-misura-10);font-weight:700;display:flex;align-items:center;justify-content:center}
@media (max-width:699px){.gs-btn-icona{width:var(--tema-misura-tocco-minimo);height:var(--tema-misura-tocco-minimo)}}
.gs-btn{min-height:var(--tema-misura-tocco-minimo);padding:0 var(--tema-spazio-4);border-radius:var(--tema-raggio-m);border:var(--tema-misura-1) solid var(--tema-campo-bordo);background:var(--tema-card-sfondo);color:var(--tema-testo-primario);font-weight:600;font-size:var(--tema-guscio-font-m);display:inline-flex;align-items:center;justify-content:center;gap:var(--tema-spazio-2);text-decoration:none;cursor:pointer;white-space:nowrap}
.gs-btn:hover{border-color:var(--tema-primario-200);color:var(--tema-testo-primario)}
.gs-btn-primario{border-color:transparent;background:var(--tema-primario-600);color:var(--tema-testo-su-primario)}
.gs-btn-primario:hover{background:var(--tema-primario-700);color:var(--tema-testo-su-primario);border-color:transparent}
.gs-btn-tenue{border-color:var(--tema-primario-200);background:var(--tema-superficie-evidenza);color:var(--tema-primario-700)}
.gs-btn-pericolo{border-color:var(--tema-pericolo-pieno);color:var(--tema-pericolo-testo)}
.gs-btn-piccolo{min-height:var(--tema-misura-34);padding:0 var(--tema-spazio-3);font-size:var(--tema-guscio-font-s)}
.gs-btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.gs-modulo .gs-btn{align-self:flex-start}
@media (max-width:699px){.gs-intestazione .gs-azioni .gs-btn{flex:1}}
/* TEMI-SCUOLA-2 — raccordo scritto a mano: un gesto della cornice che qui è un <button> (la consegna ha collegamenti) spento col perché */
.gs-btn:disabled{opacity:.5;cursor:not-allowed}
