/* =====================================================================
   STILE NUOVO (aspetto di archivodelacomunidad.com)
   Solo aspetto: nessuna pagina, pulsante o funzione cambia.
   Si carica per ultimo (in fondo a index.php) così vale sopra i fogli vecchi.
   ===================================================================== */

:root {
	--n-s900: #0f172a; --n-s700: #334155; --n-s500: #64748b; --n-s400: #94a3b8;
	--n-s200: #e2e8f0; --n-s100: #f1f5f9; --n-s50: #f8fafc;
	--n-blu: #333333; --n-blu-scuro: #1f2328; --n-blu50: #f1f5f9; --n-blu200: #cbd5e1;   /* pulsanti: grigio di prima (niente blu) */
	--n-menu: #18253a;
}

body {
	font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	background: #eef1f4 !important;          /* grigio chiaro, senza sfumatura rosata */
	color: var(--n-s900);
}

/* ------------------------------------------------ menu laterale (come il sito nuovo, in grigio) */
.sidebar {
	background: linear-gradient(rgba(20,34,53,.98), rgba(18,31,48,.98)) !important;
	font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	box-shadow: none !important; border-right: 0 !important;
}
/* logo piccolo in un quadratino + nome del sito, con una linea sotto */
.sidebar .logo { margin: 18px 12px 0 !important; padding: 6px 8px 16px !important; border-bottom: 1px solid rgba(255,255,255,.1); background: none !important; height: auto !important; width: auto !important; }
.sidebar .logo a { display: flex !important; align-items: center; gap: 10px; text-decoration: none !important; }
.sidebar .logo img {
	width: 44px !important; height: 44px !important; object-fit: contain; flex-shrink: 0;
	background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 4px; margin: 0 !important;
}
.sidebar .logo span { display: block !important; color: #f8fafc !important; font-size: 14.4px !important; font-weight: 700 !important; line-height: 1.25; white-space: normal; text-align: left; }
/* voci del menu */
.sidebar ul { padding: 10px 12px 0 !important; margin: 0 !important; }
.sidebar ul li { margin: 0 0 6px !important; padding: 0 !important; list-style: none; border: 0 !important; background: none !important; }
.sidebar ul li a {
	display: flex !important; align-items: center; gap: 10px;
	border-radius: 8px !important; padding: 9px 10px !important;
	color: rgba(255,255,255,.75) !important; font-size: 14.7px !important; font-weight: 600 !important;
	background: transparent !important; border: 0 !important; box-shadow: none !important; transition: background .2s;
}
.sidebar ul li a i {
	display: inline-flex !important; align-items: center; justify-content: center; flex-shrink: 0;
	width: 28px !important; height: 28px; border-radius: 8px; margin: 0 !important;
	background: rgba(255,255,255,.1); color: rgba(255,255,255,.75) !important; font-size: 14px !important;
}
.sidebar ul li a:hover { background: rgba(255,255,255,.06) !important; color: #fff !important; }
.sidebar ul li.active > a { background: rgba(255,255,255,.1) !important; color: #fff !important; border-left: 0 !important; }
.sidebar ul li.active > a i { background: rgba(255,255,255,.2); color: #fff !important; }
/* in fondo: chi è collegato + Esci */
.sidebar .menu-utente {
	position: absolute; left: 12px; right: 12px; bottom: 18px; z-index: 3;
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 12px;
}
.sidebar .menu-utente-testa { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sidebar .menu-utente-iniziale {
	display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
	width: 36px; height: 36px; border-radius: 9px; background: rgba(255,255,255,.18); color: #fff; font-size: 16px; font-weight: 700;
}
.sidebar .menu-utente-dati { display: flex; flex-direction: column; min-width: 0; }
.sidebar .menu-utente-dati b { color: #fff; font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar .menu-utente-dati small { color: rgba(255,255,255,.55) !important; font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar a.menu-utente-esci {
	display: flex !important; align-items: center; justify-content: center; gap: 8px; margin-top: 10px;
	background: rgba(255,255,255,.1); border-radius: 8px; padding: 9px 12px; color: rgba(255,255,255,.85) !important; font-size: 15px; text-decoration: none !important;
}
.sidebar a.menu-utente-esci:hover { background: rgba(255,255,255,.16); color: #fff !important; }
/* banner di Assemblea Online: resta, sopra il riquadro dell'utente */
.sidebar #nano-footer { position: absolute !important; left: 12px; right: 12px; bottom: 140px !important; width: auto !important; }
.sidebar #nano-footer img { width: 100%; height: auto; }
/* modulo di accesso nel menu (utente non collegato) */
.sidebar form, .sidebar .w3-container, .sidebar table { background: rgba(255,255,255,.04) !important; border-radius: 12px; border: 1px solid rgba(255,255,255,.08) !important; color: #fff; }
.sidebar input[type=text], .sidebar input[type=password] {
	background: rgba(255,255,255,.95) !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 8px !important; padding: 8px 10px !important; color: var(--n-s900) !important;
}
.sidebar input[type=submit], .sidebar button[type=submit] {
	background: var(--n-blu) !important; border: 0 !important; border-radius: 8px !important; color: #fff !important; font-weight: 600 !important;
}
.sidebar label, .sidebar a { color: rgba(255,255,255,.85) !important; }
.sidebar .modal-content, .sidebar .container { background: transparent !important; }
.sidebar .psw a { color: rgba(255,255,255,.7) !important; font-size: 12.5px; }
.sidebar .psw a:hover { color: #fff !important; }

/* ------------------------------------------------ contenuto */
.contenuto { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; color: var(--n-s900); padding: 28px !important; }
.contenuto, .contenuto td, .contenuto th, .contenuto p, .contenuto span, .contenuto label, .contenuto div { font-family: inherit !important; }
.contenuto a { color: var(--n-s900); }
.contenuto a:hover { color: var(--n-blu-scuro); }

/* tabelle: riquadri bianchi con bordi leggeri */
.contenuto table { border-collapse: separate !important; border-spacing: 0 !important; }
.contenuto table[border], .contenuto table[style*="border"] {
	background: #fff; border: 1px solid var(--n-s200) !important; border-radius: 8px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.contenuto table td, .contenuto table th { border-color: var(--n-s200) !important; color: var(--n-s700); font-size: 14px; }
.contenuto table[border] td, .contenuto table[border] th { border-width: 0 0 1px 0 !important; border-style: solid !important; padding: 8px 10px !important; }
.contenuto table[border] tr:last-child > td { border-bottom: 0 !important; }
.contenuto th, .contenuto td[bgcolor="#eeeeee"], .contenuto td[bgcolor="#EEEEEE"], .contenuto tr[bgcolor="#eeeeee"] > td, .contenuto tr[bgcolor="#EEEEEE"] > td, .contenuto tr[bgcolor="#eeeeee"], .contenuto tr[bgcolor="#EEEEEE"] {
	background: #fff !important; color: var(--n-s700);      /* titoli e intestazioni su fondo bianco (prima grigio) */
}
.contenuto td[bgcolor="#ffffff"], .contenuto td[bgcolor="#FFFFFF"] { background: #fff !important; }
.contenuto b, .contenuto strong { color: var(--n-s900); }
.contenuto .Stile1 { font-size: 20px !important; font-weight: 700 !important; color: var(--n-s900) !important; }

/* campi */
.contenuto input[type=text], .contenuto input[type=email], .contenuto input[type=password], .contenuto input[type=number],
.contenuto input[type=date], .contenuto input:not([type]), .contenuto select, .contenuto textarea {
	border: 1px solid var(--n-s200) !important; border-radius: 6px !important; background: var(--n-s50) !important;
	padding: 6px 10px !important; font: inherit !important; font-size: 14px !important; color: var(--n-s700) !important; box-shadow: none !important;
}
.contenuto input:focus, .contenuto select:focus, .contenuto textarea:focus { outline: none !important; border-color: var(--n-blu200) !important; background: #fff !important; }
.contenuto input[type=checkbox], .contenuto input[type=radio] { accent-color: #475569; }

/* pulsanti chiari (Gestione, Archivio, Cancella utente, Registro accessi, ...) */
.contenuto .btn-custom, .contenuto .btn-outline-secondary, .contenuto .btn2 {
	background: #fff !important; color: var(--n-s700) !important; border: 1px solid var(--n-s200) !important;
	border-radius: 6px !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.25 !important;
	padding: 6px 12px !important; box-shadow: none !important; transition: all .2s;
}
.contenuto .btn-custom:hover, .contenuto .btn-outline-secondary:hover, .contenuto .btn2:hover {
	background: var(--n-blu50) !important; border-color: var(--n-blu200) !important; color: var(--n-blu-scuro) !important;
}
/* "+" per unirsi a un archivio: quadrato bianco come nel sito nuovo */
.contenuto .btn-dark { background: #fff !important; color: var(--n-s700) !important; border: 1px solid var(--n-s200) !important; border-radius: 6px !important; box-shadow: none !important; }
.contenuto .btn-dark:hover { background: var(--n-blu50) !important; color: var(--n-blu-scuro) !important; border-color: var(--n-blu200) !important; }
/* pulsanti scuri (Crea, Aggiorna, Chiudi bacheca, ...) = grigio scuro di prima */
.contenuto .button, .contenuto input[type=submit]:not(.btn-custom), .contenuto button[type=submit]:not(.btn-custom) {
	background: var(--n-blu) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important;
	font-size: 13px !important; font-weight: 600 !important; padding: 8px 14px !important; height: auto !important;
	text-transform: none !important; box-shadow: none !important; transition: background .2s; cursor: pointer;
}
.contenuto .button:hover, .contenuto input[type=submit]:not(.btn-custom):hover, .contenuto button[type=submit]:not(.btn-custom):hover { background: var(--n-blu-scuro) !important; }

/* ------------------------------------------------ Home (dashboard): riquadri come il sito nuovo, in grigio */
.contenuto .dash-card { background: #fff; border: 1px solid var(--n-s200); border-radius: 8px; padding: 20px; box-shadow: 0 1px 2px rgba(15,23,42,.05); margin-bottom: 18px; }
.contenuto .dash-testa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.contenuto .dash-kicker { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--n-s400); }
.contenuto .dash-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.contenuto .cerca-archivio { position: relative; width: 280px; margin: 0; }
.contenuto .cerca-archivio i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--n-s400); font-size: 13px; }
.contenuto .cerca-archivio input { width: 100%; height: 36px; padding-left: 34px !important; font-size: 14px !important; }
.contenuto .dash-crea { display: inline-flex !important; align-items: center; gap: 7px; height: 36px; padding: 0 14px !important; border-radius: 6px !important;
	background: #333 !important; color: #fff !important; border: 0 !important; font-size: 14px !important; font-weight: 600 !important; }
.contenuto .dash-crea:hover { background: #1f2328 !important; }
/* elenco degli archivi dentro il riquadro */
.contenuto .dash-card #elencoArchivi { box-shadow: none; }
.contenuto .dash-card #elencoArchivi tr:first-child th { font-size: 12px !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--n-s500); padding: 10px 14px !important; }
.contenuto .dash-card #elencoArchivi th { font-size: 14px; font-weight: 700; color: var(--n-s900); padding: 10px 14px !important; background: #fff; }
.contenuto .dash-card #elencoArchivi td { background: #fff !important; padding: 8px 10px !important; }
.contenuto .dash-card #elencoArchivi tr:hover > * { background: var(--n-s50) !important; }
.contenuto .dash-card #elencoArchivi .icon-container:hover i { color: var(--n-s900) !important; }
/* in basso: crediti e codice invito, affiancati */
.contenuto .dash-fondo { display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-start; justify-content: space-between; }
.contenuto .dash-crediti { flex: 0 1 260px; padding: 14px 16px; }
.contenuto .dash-titolo { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--n-s900); margin-bottom: 10px; }
.contenuto .dash-riga { display: flex; justify-content: space-between; font-size: 13px; color: var(--n-s500); margin-bottom: 4px; }
.contenuto .dash-riga b { color: var(--n-s900); }
.contenuto .dash-riga b.dash-residui { color: #067647; }
.contenuto .dash-crediti .btn { width: 100%; margin-top: 8px !important; }
.contenuto .dash-unisciti { flex: 0 1 420px; padding: 14px 16px; margin-left: auto; }
.contenuto .dash-unisciti-chiuso { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--n-s500); }
.contenuto .dash-piu { width: 36px; height: 36px; padding: 0 !important; font-size: 18px !important; flex-shrink: 0; background: #fff !important; color: var(--n-s700) !important; border: 1px solid var(--n-s200) !important; border-radius: 6px !important; }
.contenuto .dash-piu:hover { background: var(--n-s100) !important; }
.contenuto .dash-unisciti label { display: block; font-size: 13px; color: var(--n-s500); margin-bottom: 8px; }
.contenuto .dash-unisciti-riga { display: flex; gap: 8px; }
.contenuto .dash-unisciti-riga input { flex: 1; height: 36px !important; }
.contenuto .dash-unisciti-riga .btn-dark { background: #333 !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; font-weight: 600; }

/* avvisi in alto (operazione fatta, errori) */
.alert { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; border-radius: 10px !important; border: 1px solid transparent !important; font-size: 14px !important; box-shadow: 0 4px 14px rgba(15,23,42,.06); }
.alert-success { background: #ecfdf3 !important; color: #067647 !important; border-color: #abefc6 !important; }
.alert-warning { background: #fffaeb !important; color: #b54708 !important; border-color: #fedf89 !important; }
.alert-danger  { background: #fef3f2 !important; color: #b42318 !important; border-color: #fecdca !important; }
.alert-info    { background: #eff6ff !important; color: #1849a9 !important; border-color: #bfdbfe !important; }

/* ricerca utente (Gestione utenti) */
.contenuto .cerca-utente { position: relative; float: right; margin-right: 10px; width: 260px; max-width: 45%; }
.contenuto .cerca-utente i { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--n-s400); font-size: 12px; }
.contenuto .cerca-utente input { width: 100%; height: 32px; padding-left: 30px !important; font-weight: 400; }

/* banner di Assemblea Online: nascosto per ora (il codice c'è ancora, basta togliere questa riga) */
.sidebar #nano-footer { display: none !important; }

/* menu largo sempre 232px come il sito nuovo (sotto i 700px resta come prima) */
@media screen and (min-width: 700px) {
	.sidebar { width: 232px !important; }
	.contenuto { margin-left: 232px !important; }
}
.sidebar ul li.active, .sidebar ul li.active > a { border-left: 0 !important; box-shadow: none !important; }
.sidebar ul li.active::before, .sidebar ul li.active > a::before { display: none !important; }

/* logo grande, con il nome del sito sotto */
.sidebar .logo a { flex-direction: column !important; align-items: center !important; gap: 10px !important; }
.sidebar .logo img { width: 100% !important; max-width: 190px; height: auto !important; padding: 8px !important; border-radius: 12px !important; }
.sidebar .logo span { text-align: center !important; font-size: 15px !important; }
.sidebar .logo img { background: none !important; border: 0 !important; padding: 0 !important; }   /* logo senza riquadro né fondo */
.sidebar .logo span:empty { display: none !important; }   /* niente scritta sotto il logo */

/* Home: intestazione, contatori, pulsanti con icona, "Esporta" */
.contenuto .dash-hero { margin: 4px 0 20px; }
.contenuto .dash-hero h1 { margin: 4px 0 4px; font-size: 26px; font-weight: 700; color: var(--n-s900); letter-spacing: -.01em; }
.contenuto .dash-hero p { margin: 0; font-size: 14px; color: var(--n-s500); }
.contenuto .dash-conta { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 1px solid var(--n-s200); border-radius: 6px; background: #fff; font-size: 14px; font-weight: 600; color: var(--n-s700); }
.contenuto .dash-conta i { color: var(--n-s500); font-size: 13px; }
.contenuto #elencoArchivi .btn-custom i { margin-right: 4px; color: var(--n-s500); }
.contenuto .dash-esporta-box { padding: 2px 4px; }
.contenuto .dash-esporta { display: inline-flex !important; align-items: center; gap: 6px; height: 31px; padding: 0 12px; border: 1px solid var(--n-s200); border-radius: 6px; background: #fff; font-size: 13px; font-weight: 600; color: var(--n-s700); cursor: pointer; }
.contenuto .dash-esporta:hover { background: var(--n-s100); }
.contenuto .dash-esporta .badge { position: absolute !important; top: -7px !important; right: -7px !important; transform: none !important; background: #333 !important; color: #fff !important; min-width: 18px; font-size: 10.5px !important; padding: 3px 5px !important; }
.contenuto .dash-unisciti-chiuso b { color: var(--n-s900); font-size: 14px; }

/* contenuto centrato come il sito nuovo: al massimo 1240px di larghezza, il resto dello spazio diviso ai due lati */
@media screen and (min-width: 700px) {
	.contenuto { padding-left: max(28px, calc((100vw - 232px - 1240px) / 2)) !important; padding-right: max(28px, calc((100vw - 232px - 1240px) / 2)) !important; }
}

/* barre di ricerca (Home e Gestione utenti): più eleganti */
.contenuto .cerca-archivio input[type=search], .contenuto .cerca-utente input[type=search] {
	-webkit-appearance: none; appearance: none;
	height: 38px !important; border-radius: 999px !important;
	border: 1px solid var(--n-s200) !important; background: var(--n-s50) !important;
	padding: 0 16px 0 38px !important; font-size: 14px !important; font-weight: 400 !important; color: var(--n-s700) !important;
	box-shadow: none !important; outline: none !important; transition: background .2s, border-color .2s, box-shadow .2s;
}
.contenuto .cerca-archivio input[type=search]::placeholder, .contenuto .cerca-utente input[type=search]::placeholder { color: var(--n-s400); }
.contenuto .cerca-archivio input[type=search]:hover, .contenuto .cerca-utente input[type=search]:hover { border-color: #cbd5e1 !important; }
.contenuto .cerca-archivio input[type=search]:focus, .contenuto .cerca-utente input[type=search]:focus {
	background: #fff !important; border-color: #cbd5e1 !important; box-shadow: 0 0 0 4px rgba(148,163,184,.18) !important;
}
.contenuto .cerca-archivio i, .contenuto .cerca-utente i { left: 15px !important; font-size: 13px !important; color: var(--n-s400) !important; pointer-events: none; z-index: 1; }
.contenuto .cerca-utente input[type=search] { height: 34px !important; }

/* pagina "Crea archivio": la riga della freccia Indietro senza striscia bianca; nome e pulsante Crea ordinati */
.vista-bdc_nuovastanza > table[border="0"] { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.vista-bdc_nuovastanza #formCreastanza table { margin-top: 6px; }
.vista-bdc_nuovastanza #formCreastanza td { padding: 14px 16px !important; vertical-align: middle; border: 0 !important; }
.vista-bdc_nuovastanza #formCreastanza td:first-child { width: 210px; font-weight: 600; color: var(--n-s900); }
.vista-bdc_nuovastanza #formCreastanza input[type=text] { height: 38px; }
.vista-bdc_nuovastanza #formCreastanza td:last-child { width: 110px; }
.vista-bdc_nuovastanza #formCreastanza input[type=submit] { float: none !important; margin: 0 !important; width: 100%; height: 38px; }

/* Home: pulsanti delle azioni a destra, vicino a "Esporta" */
.vista-bdc #elencoArchivi .d-flex-space-between { justify-content: flex-end !important; align-items: center; gap: 6px; }
.vista-bdc #elencoArchivi .align-right { margin-left: 0 !important; }
.vista-bdc #elencoArchivi tr:first-child th:last-child { text-align: right; padding-right: 22px !important; }
.vista-bdc .dash-unisciti { flex: 0 0 auto; }   /* riquadro del codice invito compatto */

/* ------------------------------------------------ pagina Acquista Crediti (come il sito nuovo, in pagina) */
.contenuto .cr { max-width: 1040px; margin: 0 auto; }
.contenuto .cr-card { background: #fff; border: 1px solid var(--n-s200); border-radius: 12px; padding: 28px; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.contenuto .cr-testa { margin-bottom: 22px; }
.contenuto .cr-kicker { display: block; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--n-s400); margin-bottom: 4px; }
.contenuto .cr-testa h1 { margin: 0 0 6px; font-size: 24px; font-weight: 700; color: var(--n-s900); }
.contenuto .cr-testa p { margin: 0; font-size: 14px; color: var(--n-s500); }
.contenuto .cr h2 { font-size: 15px; font-weight: 700; color: var(--n-s900); margin: 0 0 12px; }
.contenuto .cr-griglia { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr); gap: 24px; align-items: start; }
@media (max-width: 980px) { .contenuto .cr-griglia { grid-template-columns: 1fr; } }
.contenuto .cr-crediti { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 16px; border: 1px solid var(--n-s200); border-radius: 10px; background: var(--n-s50); margin-bottom: 24px; }
.contenuto .cr-voce { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.contenuto .cr-etichetta { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--n-s500); }
.contenuto .cr-voce b { font-size: 20px; color: var(--n-s900); line-height: 38px; }
.contenuto .cr-voce input { height: 38px; width: 100%; background: #fff !important; font-size: 16px !important; }
.contenuto .cr-totale small { font-size: 12px; color: var(--n-s500); margin-top: -6px; }
.contenuto .cr-campi { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.contenuto .cr-campi label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 13px; font-weight: 600; color: var(--n-s700); }
.contenuto .cr-campi .cr-largo { grid-column: 1 / -1; }
.contenuto .cr-campi input { height: 38px; width: 100%; }
.contenuto .cr-condizioni { border: 1px solid var(--n-s200); border-radius: 10px; padding: 16px 18px; background: var(--n-s50); }
.contenuto .cr-condizioni p { font-size: 13px; line-height: 1.5; color: var(--n-s500); margin: 0 0 10px; }
.contenuto .cr-condizioni a { color: var(--n-s700); font-weight: 600; }
.contenuto .cr-piede { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--n-s200); font-size: 13px; color: var(--n-s500); }
.contenuto .cr-pulsanti { display: flex; gap: 8px; }
.contenuto .cr-pulsanti .btn-custom, .contenuto .cr-pulsanti .button { height: 38px; padding: 0 18px !important; display: inline-flex; align-items: center; font-size: 14px !important; }
.contenuto .cr .cr-card > p { font-size: 14px; color: var(--n-s700); line-height: 1.6; }
.contenuto .cr *, .contenuto .cr *::before, .contenuto .cr *::after { box-sizing: border-box; }
.contenuto .cr-campi input, .contenuto .cr-voce input { height: 40px !important; }

/* ------------------------------------------------ pagina Assistenza: solo stile, stessi contenuti */
.contenuto h1.abc { font-family: inherit !important; font-size: 26px !important; font-weight: 700; color: var(--n-s900); margin: 8px 0 6px !important; }
.contenuto h1.abc b { font-weight: 700; }
.contenuto h3.abc { font-family: inherit !important; font-size: 15px !important; font-weight: 400; color: var(--n-s500); margin: 0 0 20px !important; }
.contenuto h3.abc b { font-weight: 600; color: #b42318 !important; }
.contenuto div#assistenza {
	margin: 0 !important; padding: 6px 24px !important; max-width: 860px;
	background: #fff; border: 1px solid var(--n-s200); border-radius: 12px; box-shadow: 0 1px 2px rgba(15,23,42,.05);
}
.contenuto div#assistenza > div.row {
	display: grid !important; grid-template-columns: 210px 1fr auto; align-items: center; gap: 12px;
	margin: 0 !important; padding: 16px 0; border-bottom: 1px solid var(--n-s200);
}
.contenuto div#assistenza > div.row:last-of-type { border-bottom: 0; grid-template-columns: 1fr; padding: 14px 0 12px; }
.contenuto div#assistenza > div > div[class^="col-sm"] { margin: 0 !important; max-width: none !important; display: flex; align-items: center; }
.contenuto div#assistenza > div > div[class^="col-sm"]:nth-child(3) { justify-content: flex-end; }
.contenuto div#assistenza img { width: 36px; height: 36px; object-fit: contain; flex-shrink: 0; }
.contenuto div#assistenza .span1 { font-size: 16px !important; height: auto !important; margin-left: 12px; color: var(--n-s900) !important; }
.contenuto div#assistenza .span1 b { font-weight: 600; }
.contenuto div#assistenza .span2 { height: auto !important; font-size: 14px; color: var(--n-s500) !important; }
.contenuto div#assistenza .span2 b { color: var(--n-s900); font-weight: 600; font-size: 15px; }
.contenuto div#assistenza > div.row:last-of-type .span1 { margin-left: 0; font-size: 14px !important; color: var(--n-s500) !important; }
.contenuto div#assistenza > div.row:last-of-type .span2 { font-size: 13px; }
@media (max-width: 1100px) {
	.contenuto div#assistenza > div.row { grid-template-columns: 1fr; gap: 6px; }
	.contenuto div#assistenza > div > div[class^="col-sm"]:nth-child(3) { justify-content: flex-start; }
}
.vista-bdc #elencoArchivi td > a { float: right !important; }   /* condomino: pulsante Archivio a destra come per l'amministratore */

/* ------------------------------------------------ pagina Assistenza (chi è collegato): pannello scuro come il sito nuovo */
.contenuto .assist { position: relative; max-width: 900px; margin: 8px auto; padding: 34px; border-radius: 22px;
	background: linear-gradient(rgba(20,34,53,.98), rgba(30,47,70,.98)); color: #e2e8f0; display: flex; flex-direction: column; gap: 22px;
	box-shadow: 0 20px 50px rgba(15,23,42,.12); }
.contenuto .assist *, .contenuto .assist *::before, .contenuto .assist *::after { box-sizing: border-box; }
.contenuto .assist-testa { display: flex; align-items: center; gap: 24px; }
.contenuto .assist-testa > img { width: 130px; height: auto; flex-shrink: 0; }
.contenuto .assist-kicker { display: block; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.65) !important; margin-bottom: 8px; }
.contenuto .assist h1 { margin: 0; font-size: 26px; line-height: 1.25; font-weight: 600; color: #fff; max-width: 480px; }
.contenuto .assist-gdpr { position: absolute; top: 18px; right: 20px; }
.contenuto .assist-gdpr img { height: 26px; opacity: .9; }
.contenuto .assist-punti { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.contenuto .assist-contatti { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 900px) { .contenuto .assist-punti, .contenuto .assist-contatti { grid-template-columns: 1fr; } .contenuto .assist-testa { flex-direction: column; align-items: flex-start; } }
.contenuto .assist-punti > div, .contenuto .assist-contatti > div { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 14px 16px; }
.contenuto .assist-punti b { display: block; color: #fff; font-size: 14.5px; margin-bottom: 4px; }
.contenuto .assist-punti span { color: rgba(255,255,255,.75) !important; font-size: 13.5px; }
.contenuto .assist-contatti > div { display: flex; align-items: center; gap: 12px; }
.contenuto .assist-contatti img { width: 30px; height: 30px; object-fit: contain; flex-shrink: 0; }
.contenuto .assist-contatti span { display: flex; flex-direction: column; color: rgba(255,255,255,.8) !important; font-size: 14.5px; }
.contenuto .assist-contatti b { color: #fff; font-size: 14.5px; }
.contenuto .assist-nota { margin: 0; font-size: 12.5px; color: rgba(255,255,255,.6); }
/* contatti cliccabili (telefono, email, WhatsApp) */
.contenuto .assist-contatti > a { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 14px 16px; text-decoration: none !important; transition: background .2s, border-color .2s, transform .2s; }
.contenuto .assist-contatti > a:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.22); transform: translateY(-1px); }
.contenuto .assist-contatti > a span { color: rgba(255,255,255,.85) !important; }
/* pagina principale: numero, email e WhatsApp cliccabili (stesso aspetto, sottolineati al passaggio del mouse) */
.contenuto div#assistenza a.contatto { color: inherit !important; text-decoration: none !important; }
.contenuto div#assistenza a.contatto:hover b { text-decoration: underline; }

/* ------------------------------------------------ pagina di accesso (come il sito nuovo): Assistenza a sinistra, Accedi a destra, senza menu */
.contenuto:has(.accesso) { margin-left: 0 !important; padding: 28px !important; }
.contenuto .accesso { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); max-width: 1180px; margin: 24px auto;
	background: #fff; border: 1px solid var(--n-s200); border-radius: 22px; overflow: hidden; box-shadow: 0 20px 50px rgba(15,23,42,.08); }
@media (max-width: 900px) { .contenuto .accesso { grid-template-columns: 1fr; } }
.contenuto .accesso *, .contenuto .accesso *::before, .contenuto .accesso *::after { box-sizing: border-box; }
.contenuto .accesso .assist { max-width: none; margin: 0; border-radius: 0; box-shadow: none; }
.contenuto .accesso .assist-contatti { grid-template-columns: 1fr; }
.contenuto .accesso-login { display: flex; flex-direction: column; justify-content: center; padding: 40px; background: #fbfbfc; }
.contenuto .accesso-login h2 { text-align: center; font-size: 30px; font-weight: 700; color: var(--n-s900); margin: 0 0 22px; }
.contenuto .accesso-login form.modal-content { width: 100% !important; max-width: 380px; margin: 0 auto; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
.contenuto .accesso-login .container { padding: 0 !important; max-width: none !important; background: transparent !important; }
.contenuto .accesso-login label.label { display: none !important; }
.contenuto .accesso-login form > .container:first-child { font-size: 0; }
.contenuto .accesso-login form > .container:first-child > * { font-size: 15px; }
.contenuto .accesso-login form > .container:first-child br { display: none; }
.contenuto .accesso-login input[type=text], .contenuto .accesso-login input[type=password] {
	width: 100% !important; height: 50px !important; margin: 0 0 14px !important; border-radius: 14px !important;
	background: #f5f4f1 !important; border: 1px solid var(--n-s200) !important; padding: 0 16px !important; font-size: 15px !important; }
.contenuto .accesso-login form button.btn2 { width: 100%; height: 52px !important; line-height: 52px; padding: 0 !important; border: 0; border-radius: 14px; background: #333 !important; color: #fff !important; font-size: 16px !important; font-weight: 600; cursor: pointer; margin-top: 4px; }
.contenuto .accesso-login form button.btn2:hover { background: #1f2328 !important; }
.contenuto .accesso-login form > .container + .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin-top: 16px; }
.contenuto .accesso-login form > .container + .container br { display: none; }
.contenuto .accesso-login .psw { float: none !important; text-decoration: none !important; }
.contenuto .accesso-login .psw a { color: var(--n-s500) !important; font-size: 14px; text-decoration: none; }
.contenuto .accesso-login .psw a:hover { color: var(--n-s900) !important; }
.contenuto .accesso .assist-testa { flex-direction: column; align-items: flex-start; gap: 16px; }
.contenuto .accesso .accesso-logo { width: 150px; height: auto; }

/* pagina di accesso uguale al sito nuovo: logo in alto, contatti uno sotto l'altro, riquadro "Accedi" con le icone nei campi */
.contenuto .accesso .assist { padding: 34px 30px; gap: 26px; }
.contenuto .accesso .accesso-logo { width: 130px; }
.contenuto .accesso .assist-contatti > a { padding: 16px 18px; }
.contenuto .accesso .assist-contatti span { font-size: 15.5px; }
.contenuto .accesso .assist-contatti b { font-size: 15.5px; }
.contenuto .accesso-login { background: linear-gradient(180deg, #fbfbfc, #f3f2ef); padding: 40px 32px; }
.contenuto .accesso-login > h2, .contenuto .accesso-login > form { position: relative; }
.contenuto .accesso-login { align-items: center; }
.contenuto .accesso-login > h2 { margin-bottom: 26px; }
.contenuto .accesso-login form.modal-content { background: #fff !important; border: 1px solid var(--n-s200) !important; border-radius: 24px !important;
	padding: 28px !important; box-shadow: 0 18px 40px rgba(15,23,42,.08) !important; max-width: 430px; }
/* il titolo "Accedi" dentro il riquadro bianco, come nel sito nuovo */
.contenuto .accesso-login { display: grid !important; justify-items: center; align-content: center; }
.contenuto .accesso-login > h2 { grid-row: 1; z-index: 1; margin: 0 0 -70px !important; padding-top: 30px; }
.contenuto .accesso-login form.modal-content { grid-row: 2; padding-top: 86px !important; }
/* icone dentro i campi (utente e lucchetto) */
.contenuto .accesso-login input[name=username] { background: #f5f4f1 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' width='14' height='14'><path fill='%2364748b' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3 0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3z'/></svg>") no-repeat right 16px center !important; padding-right: 42px !important; }
.contenuto .accesso-login input[name=password] { background: #f5f4f1 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' width='14' height='14'><path fill='%2364748b' d='M144 144v48h160v-48a80 80 0 0 0-160 0zm-48 48v-48a128 128 0 0 1 256 0v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64z'/></svg>") no-repeat right 16px center !important; padding-right: 42px !important; }

/* pagina di accesso: stesse misure del sito nuovo (archivodelacomunidad.com/auth/login) */
.contenuto:has(.accesso) { padding: 14px !important; }
.contenuto .accesso { max-width: 1240px; margin: 0 auto; border-radius: 36px; background: rgba(255,255,255,.7); }
.contenuto .accesso .assist { padding: 28px 24px !important; gap: 28px !important; background: linear-gradient(160deg, rgba(20,34,53,.98), rgba(30,47,70,.98)); }
.contenuto .accesso .accesso-logo { width: 128px !important; height: 128px !important; object-fit: contain; }
.contenuto .accesso .assist-contatti { gap: 12px !important; }
.contenuto .accesso .assist-contatti > a { min-height: 78px; padding: 14px 16px !important; border-radius: 18px !important; }
.contenuto .accesso .assist-contatti img { width: 28px !important; height: 28px !important; }
.contenuto .accesso .assist-contatti span, .contenuto .accesso .assist-contatti b { font-size: 16px !important; }
.contenuto .accesso .assist-contatti b { font-weight: 700; }
.contenuto .accesso-login { padding: 22px 16px 26px !important; }
.contenuto .accesso-login form.modal-content { max-width: 430px !important; width: 100% !important; border-radius: 28px !important; padding: 106px 28px 30px !important; background: rgba(255,255,255,.9) !important; }
.contenuto .accesso-login > h2 { font-size: 30px !important; font-weight: 800 !important; margin: 0 0 -82px !important; padding-top: 38px !important; }
.contenuto .accesso-login input[type=text], .contenuto .accesso-login input[type=password] { height: 56px !important; border-radius: 16px !important; font-size: 16px !important; padding: 0 48px 0 16px !important; margin-bottom: 16px !important; }
.contenuto .accesso-login form button.btn2 { height: 53px !important; line-height: 53px !important; border-radius: 16px !important; font-size: 16px !important; font-weight: 700 !important; }
.contenuto .accesso-login .psw a { font-size: 16px !important; }
.contenuto .accesso-login .psw a { font-size: 14px !important; white-space: nowrap; }   /* i nostri 3 link su una riga */
.contenuto .accesso-login form > .container + .container { gap: 8px 10px !important; }

/* pagina di accesso su schermi larghi: stesse proporzioni del sito nuovo (misurate a 1440px) */
@media (min-width: 901px) {
	.contenuto:has(.accesso) { padding: 84px 50px 40px !important; }
	.contenuto .accesso { max-width: none; margin: 0; min-height: 764px; grid-template-columns: 60fr 40fr; border-radius: 36px; }
	.contenuto .accesso .assist { padding: 52px 48px !important; }
	.contenuto .accesso .accesso-logo { width: 196px !important; height: 196px !important; }
	.contenuto .accesso-login { padding: 30px !important; justify-content: center; align-content: center; }
}

/* pagina di accesso, schermi larghi: logo e contatti più grandi e distribuiti su tutta l'altezza (niente spazi vuoti) */
@media (min-width: 901px) {
	.contenuto .accesso .assist { justify-content: space-evenly; gap: 32px !important; }
	.contenuto .accesso .accesso-logo { width: 240px !important; height: 240px !important; }
	.contenuto .accesso .assist-contatti { gap: 20px !important; }
	.contenuto .accesso .assist-contatti > a { min-height: 104px; padding: 20px 26px !important; gap: 20px; border-radius: 22px !important; }
	.contenuto .accesso .assist-contatti img { width: 44px !important; height: 44px !important; }
	.contenuto .accesso .assist-contatti b { font-size: 20px !important; margin-bottom: 2px; }
	.contenuto .accesso .assist-contatti span { font-size: 19px !important; }
}
/* pagina di accesso: logo a sinistra */
.contenuto .accesso .assist-testa { align-items: flex-start !important; justify-content: flex-start; width: 100%; }

/* ------------------------------------------------ pagina di accesso: effetti leggeri */
@keyframes acc-entra { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.contenuto .accesso { animation: acc-entra .5s ease-out both; }
.contenuto .accesso .assist-testa { animation: acc-entra .5s ease-out .1s both; }
.contenuto .accesso .assist-contatti > a { animation: acc-entra .45s ease-out both; }
.contenuto .accesso .assist-contatti > a:nth-child(1) { animation-delay: .18s; }
.contenuto .accesso .assist-contatti > a:nth-child(2) { animation-delay: .26s; }
.contenuto .accesso .assist-contatti > a:nth-child(3) { animation-delay: .34s; }
.contenuto .accesso-login form.modal-content, .contenuto .accesso-login > h2 { animation: acc-entra .5s ease-out .2s both; }
/* logo */
.contenuto .accesso .accesso-logo { transition: transform .35s ease; }
.contenuto .accesso .accesso-logo:hover { transform: scale(1.04) rotate(-1deg); }
/* contatti */
.contenuto .accesso .assist-contatti > a { transition: background .2s, border-color .2s, transform .2s, box-shadow .2s; }
.contenuto .accesso .assist-contatti > a:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0,0,0,.25); background: rgba(255,255,255,.15); }
.contenuto .accesso .assist-contatti > a:active { transform: translateY(-1px); }
.contenuto .accesso .assist-contatti img { transition: transform .2s; }
.contenuto .accesso .assist-contatti > a:hover img { transform: scale(1.12); }
/* riquadro Accedi */
.contenuto .accesso-login form.modal-content { transition: box-shadow .3s, transform .3s; }
.contenuto .accesso-login form.modal-content:hover { box-shadow: 0 24px 50px rgba(15,23,42,.12) !important; }
.contenuto .accesso-login input[type=text], .contenuto .accesso-login input[type=password] { transition: border-color .2s, box-shadow .2s, background-color .2s; }
.contenuto .accesso-login input[type=text]:hover, .contenuto .accesso-login input[type=password]:hover { border-color: #cbd5e1 !important; }
.contenuto .accesso-login input[type=text]:focus, .contenuto .accesso-login input[type=password]:focus { border-color: #94a3b8 !important; box-shadow: 0 0 0 4px rgba(148,163,184,.22) !important; background-color: #fff !important; }
.contenuto .accesso-login input[name=username]:focus { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' width='14' height='14'><path fill='%230f172a' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3 0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3z'/></svg>") !important; }
.contenuto .accesso-login input[name=password]:focus { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' width='14' height='14'><path fill='%230f172a' d='M144 144v48h160v-48a80 80 0 0 0-160 0zm-48 48v-48a128 128 0 0 1 256 0v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64z'/></svg>") !important; }
.contenuto .accesso-login form button.btn2 { transition: background .2s, transform .15s, box-shadow .2s; box-shadow: 0 8px 18px rgba(15,23,42,.18); }
.contenuto .accesso-login form button.btn2:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(15,23,42,.24); }
.contenuto .accesso-login form button.btn2:active { transform: translateY(0); box-shadow: 0 4px 10px rgba(15,23,42,.2); }
.contenuto .accesso-login .psw a { transition: color .2s; }
.contenuto .accesso-login .psw a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	.contenuto .accesso, .contenuto .accesso * { animation: none !important; transition: none !important; }
}

/* ------------------------------------------------ pagina di accesso: stile e sfondi ritoccati (grigi, niente rosa né blu) */
body:has(.accesso) { background: radial-gradient(circle at 12% 0%, rgba(255,255,255,.95), transparent 45%), radial-gradient(circle at 100% 100%, rgba(203,213,225,.55), transparent 50%), #e9edf1 !important; }
.contenuto .accesso { background: transparent; border: 1px solid rgba(255,255,255,.7); box-shadow: 0 30px 70px rgba(15,23,42,.14), 0 2px 6px rgba(15,23,42,.05); }
/* pannello scuro: antracite con bagliore e trama a puntini leggera */
.contenuto .accesso .assist {
	background:
		radial-gradient(circle at 20% 0%, rgba(255,255,255,.10), transparent 45%),
		radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px) 0 0 / 22px 22px,
		linear-gradient(160deg, #1b2230 0%, #111722 100%) !important;
}
/* contatti: effetto vetro */
.contenuto .accesso .assist-contatti > a {
	background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)) !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.contenuto .accesso .assist-contatti > a:hover { background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)) !important; border-color: rgba(255,255,255,.28) !important; }
.contenuto .accesso .assist-contatti img { background: rgba(255,255,255,.95); border-radius: 50%; padding: 3px; }
/* parte destra e riquadro Accedi */
.contenuto .accesso-login { background: radial-gradient(circle at 80% 10%, #ffffff, transparent 55%), linear-gradient(180deg, #fbfcfd 0%, #eef2f5 100%) !important; }
.contenuto .accesso-login form.modal-content { background: #fff !important; border: 1px solid #e5e9ee !important; position: relative; overflow: hidden; }
.contenuto .accesso-login form.modal-content::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #1b2230, #4b5563); }
.contenuto .accesso-login input[type=text], .contenuto .accesso-login input[type=password] { background-color: #f3f5f7 !important; border-color: #e3e7ec !important; }
.contenuto .accesso-login form button.btn2 { background: linear-gradient(180deg, #2b3340, #1b2230) !important; }
.contenuto .accesso-login form button.btn2:hover { background: linear-gradient(180deg, #343d4b, #222a37) !important; }
/* pagina di accesso: stesso colore del sito nuovo e del menu laterale (blu notte) */
.contenuto .accesso .assist {
	background:
		radial-gradient(circle at 20% 0%, rgba(255,255,255,.08), transparent 45%),
		radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px) 0 0 / 22px 22px,
		linear-gradient(160deg, rgba(20,34,53,.98), rgba(30,47,70,.98)) !important;
}
.contenuto .accesso-login form.modal-content::before { background: linear-gradient(90deg, rgb(20,34,53), rgb(30,47,70)); }
.contenuto .accesso-login form button.btn2 { background: linear-gradient(160deg, rgb(20,34,53), rgb(30,47,70)) !important; }
.contenuto .accesso-login form button.btn2:hover { background: linear-gradient(160deg, rgb(28,44,66), rgb(40,60,88)) !important; }
/* pagina di accesso: scritta "Per assistenza:" accanto al logo */
.contenuto .accesso .assist-testa { flex-direction: row !important; align-items: center !important; gap: 32px !important; }
.contenuto .accesso .accesso-assistenza { font-size: 30px; font-weight: 700; color: #fff; letter-spacing: -.01em; }
@media (max-width: 900px) { .contenuto .accesso .accesso-assistenza { font-size: 22px; } }
/* pagina di accesso: logo in alto, "Per assistenza:" sotto (subito sopra i contatti) */
.contenuto .accesso .assist { justify-content: flex-start !important; }
.contenuto .accesso .assist-testa { flex: 1; flex-direction: column !important; align-items: flex-start !important; justify-content: space-between; gap: 24px !important; }
.contenuto .accesso .assist-contatti { margin-top: -10px; }
/* Gestione utenti: cestino al posto di "Cancella Utente" */
.vista-bdc_creagruppi #elencoUtenti button[title="Cancella utente"] { font-size: 16px !important; color: var(--n-s500) !important; }
.vista-bdc_creagruppi #elencoUtenti button[title="Cancella utente"]:hover { color: #b42318 !important; background: #fef3f2 !important; border-color: #fecdca !important; }
/* Gestione utenti: icone (cestino, euro, mail) centrate nelle loro colonne, intestazioni comprese */
.vista-bdc_creagruppi #elencoUtenti tr > td:nth-child(n+3), .vista-bdc_creagruppi #elencoUtenti tr:nth-child(2) > th:nth-child(n+3) { text-align: center !important; vertical-align: middle !important; }
.vista-bdc_creagruppi #elencoUtenti tr > td:nth-child(n+3) img, .vista-bdc_creagruppi #elencoUtenti tr > td:nth-child(n+3) button { margin-left: auto !important; margin-right: auto !important; float: none !important; display: inline-block; }
.vista-bdc_creagruppi #elencoUtenti td { vertical-align: middle !important; }   /* nomi, note e icone sulla stessa linea */

/* ------------------------------------------------ Gestione utenti: stesso stile della pagina Archivio */
.vista-bdc_creagruppi img[src*="blank.png"] { display: none; }                       /* spazi vuoti del vecchio layout */
.vista-bdc_creagruppi .gu-card { background: #fff; border: 1px solid var(--n-s200); border-radius: 8px; padding: 20px; box-shadow: 0 1px 2px rgba(15,23,42,.05); margin-bottom: 18px; }
.vista-bdc_creagruppi .gu-card form { margin: 0; }
.vista-bdc_creagruppi .gu-card table.table { border: 0 !important; box-shadow: none !important; background: transparent !important; border-collapse: separate !important; border-spacing: 0 8px !important; margin: -8px 0 0 !important; overflow: visible; }
/* titoli dei riquadri (prima riga grigia): piccoli, maiuscoli, grigi, come "CONTENUTO CORRENTE" */
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:first-child > th,
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:first-child > td {
	background: transparent !important; border: 0 !important; padding: 0 0 6px !important;
	font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; color: var(--n-s400) !important; }
/* intestazioni delle colonne nella lista utenti */
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(2) > th { background: transparent !important; border: 0 !important; font-size: 12px !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--n-s500) !important; padding: 2px 10px !important; }
/* righe: schede con bordo arrotondato, come i file nell'archivio */
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child) > td,
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child) > th {
	background: #fff !important; border: 0 !important; border-top: 1px solid var(--n-s200) !important; border-bottom: 1px solid var(--n-s200) !important;
	padding: 10px 10px !important; transition: background .2s, border-color .2s; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(2) > th { border-top: 0 !important; border-bottom: 0 !important; }
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child) > :first-child { border-left: 1px solid var(--n-s200) !important; border-radius: 8px 0 0 8px; padding-left: 14px !important; }
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child) > :is(td, th):last-of-type { border-right: 1px solid var(--n-s200) !important; border-radius: 0 8px 8px 0; padding-right: 14px !important; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(2) > :first-child, .vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(2) > :is(td, th):last-of-type { border-left: 0 !important; border-right: 0 !important; }
.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child):hover > * { background: #f8fafc !important; border-color: #cbd5e1 !important; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(2):hover > * { background: transparent !important; }
.vista-bdc_creagruppi .gu-card td[bgcolor="#dddddd"] { color: var(--n-s400) !important; }   /* utente "fantasma" */
/* nome gruppo e codice invito */
.vista-bdc_creagruppi .gu-card table.table th a { color: var(--n-s900) !important; font-weight: 700; text-decoration: none; }
.vista-bdc_creagruppi .gu-card table.table th a:hover { text-decoration: underline; }
.vista-bdc_creagruppi .gu-card .Stile3 { font-family: ui-monospace, Menlo, monospace !important; font-size: 13px; color: var(--n-s700); background: var(--n-s100); padding: 3px 8px; border-radius: 6px; }
/* icone degli strumenti: un po' più grandi del normale */
.vista-bdc_creagruppi .gu-card table.table img { transition: transform .15s, opacity .15s; opacity: .85; }
.vista-bdc_creagruppi .gu-card table.table a:hover img, .vista-bdc_creagruppi .gu-card table.table img[onclick]:hover { transform: scale(1.1); opacity: 1; cursor: pointer; }
/* nome utente in grassetto come i titoli delle righe nell'archivio */
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(n+3) > td:first-child { font-weight: 700; color: var(--n-s900) !important; font-size: 14.5px; }
/* pulsanti in fondo */
.vista-bdc_creagruppi .gu-card input.button[value="Aggiorna Note Utenti"] { margin-top: 6px !important; }
.vista-bdc_creagruppi #formnomegruppo td label { font-weight: 600; color: var(--n-s700); }
.vista-bdc_creagruppi .gu-card { margin-top: 18px; }
.vista-bdc_creagruppi #formnomegruppo input[type=text] { height: 38px; }
.vista-bdc_creagruppi #formnomegruppo input[type=submit] { margin-left: 10px !important; height: 38px; }
.vista-bdc_creagruppi #formnomegruppo td { vertical-align: middle !important; }

/* Archivio e Gestione utenti allineate: stessa distanza (18px) tra la riga "Vai in" e il primo riquadro */
.vista-bdc_creabacheca .arc { padding-top: 20px !important; }
.vista-bdc_creagruppi .gu-card { margin-top: 0 !important; }
.vista-bdc_creagruppi .gu-card:first-of-type { margin-top: 20px !important; }

/* =====================================================================
   TELEFONO (fino a 760px): menu in alto, contenuto a tutta larghezza, tabelle a schede
   ===================================================================== */
@media screen and (max-width: 1100px) {
	html, body { overflow-x: hidden; }
	/* --- menu: barra in cima --- */
	.sidebar { position: relative !important; width: 100% !important; height: auto !important; min-height: 0 !important; left: 0 !important; top: 0 !important; z-index: 20; }
	.sidebar .nano, .sidebar .nano-content { position: static !important; height: auto !important; overflow: visible !important; }
	.sidebar .nano-content { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 10px 12px !important; }
	.sidebar .nano-pane { display: none !important; }
	.sidebar .logo { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	.sidebar .logo img { width: 52px !important; height: 52px !important; max-width: none; }
	.sidebar .logo a { flex-direction: row !important; }
	.sidebar ul { display: flex !important; flex-wrap: wrap; gap: 4px; padding: 0 !important; margin: 0 !important; flex: 1; min-width: 0; }
	.sidebar ul li { margin: 0 !important; }
	.sidebar ul li a { padding: 7px 9px !important; font-size: 13.5px !important; gap: 7px; white-space: nowrap; }
	.sidebar ul li a i { width: 24px !important; height: 24px; font-size: 12px !important; }
	.sidebar .menu-utente { position: static !important; display: flex; align-items: center; gap: 8px; padding: 6px 8px !important; margin-left: auto; }
	.sidebar .menu-utente-dati { display: none !important; }
	.sidebar .menu-utente-iniziale { width: 30px; height: 30px; font-size: 14px; }
	.sidebar a.menu-utente-esci { margin-top: 0 !important; padding: 6px 10px !important; font-size: 13.5px !important; }
	.sidebar form, .sidebar .w3-container { width: 100% !important; }      /* modulo di accesso nel menu (pagine vecchie) */
	/* --- contenuto a tutta larghezza --- */
	.contenuto { margin-left: 0 !important; padding: 14px !important; }
	.contenuto table { max-width: 100%; }
	.contenuto .Stile1 { font-size: 17px !important; }
	/* tabelle vecchie generiche: scorrono di lato invece di uscire dallo schermo */
	.contenuto table[border]:not(#elencoArchivi):not(#elencoUtenti):not(.table) { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.contenuto input[type=text], .contenuto select, .contenuto textarea { max-width: 100%; }

	/* --- Home --- */
	.contenuto .dash-hero h1 { font-size: 22px; }
	.contenuto .dash-card { padding: 14px; }
	.contenuto .dash-azioni { width: 100%; }
	.contenuto .cerca-archivio { width: 100%; flex: 1 1 100%; }
	.contenuto .dash-crea { flex: 1; justify-content: center; }
	.contenuto #elencoArchivi, .contenuto #elencoArchivi tbody, .contenuto #elencoArchivi tr, .contenuto #elencoArchivi th, .contenuto #elencoArchivi td { display: block; width: 100% !important; }
	.contenuto #elencoArchivi { border: 0 !important; background: transparent !important; box-shadow: none !important; }
	.contenuto #elencoArchivi tr:first-child { display: none; }
	.contenuto #elencoArchivi tr { border: 1px solid var(--n-s200); border-radius: 10px; margin-bottom: 10px; background: #fff; overflow: hidden; }
	.contenuto #elencoArchivi th { border: 0 !important; padding: 12px 14px 4px !important; font-size: 16px !important; }
	.contenuto #elencoArchivi td { border: 0 !important; padding: 6px 10px 12px !important; }
	.vista-bdc #elencoArchivi .d-flex-space-between { flex-wrap: wrap; justify-content: flex-start !important; }
	.vista-bdc #elencoArchivi .align-left { flex-wrap: wrap; }
	.vista-bdc #elencoArchivi td > a { float: left !important; }
	.contenuto .dash-fondo { flex-direction: column; }
	.contenuto .dash-crediti, .contenuto .dash-unisciti { flex: 1 1 auto; width: 100%; margin-left: 0; }

	/* --- Archivio --- */
	.vista-bdc_creabacheca .arc-card { padding: 14px; }
	.vista-bdc_creabacheca .arc-barra { flex-direction: column; }
	.vista-bdc_creabacheca .arc-upload { flex: 1 1 auto; width: 100%; }
	.vista-bdc_creabacheca .arc-elenco-testa { flex-direction: column; align-items: flex-start; }
	.vista-bdc_creabacheca .arc-icona { width: 48px; height: 48px; font-size: 24px; }
	.vista-bdc_creabacheca .arc-allarme { height: 40px; }
	.vista-bdc_creabacheca .arc-row-main { min-width: 0 !important; }
	.vista-bdc_creabacheca .arc-row-side { flex-wrap: wrap; }
	.vista-bdc_creabacheca .arc-icona-btn { width: 44px; height: 44px; font-size: 22px; }

	/* --- Gestione utenti: ogni riga diventa una scheda --- */
	.vista-bdc_creagruppi .gu-card { padding: 12px; }
	.vista-bdc_creagruppi .gu-card table.table, .vista-bdc_creagruppi .gu-card table.table > tbody { display: block; width: 100% !important; }
	.vista-bdc_creagruppi .gu-card table.table > tbody > tr { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-bottom: 10px; border: 1px solid var(--n-s200); border-radius: 10px; overflow: hidden; background: #fff; }
	.vista-bdc_creagruppi .gu-card table.table > tbody > tr:first-child { display: block; border: 0; background: transparent; margin-bottom: 4px; }
	.vista-bdc_creagruppi .gu-card table.table > tbody > tr > * { border: 0 !important; border-radius: 0 !important; width: auto !important; padding: 8px 10px !important; text-align: center !important; }
	.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child) > :first-child { grid-column: 1 / -1; text-align: left !important; padding: 12px 14px 4px !important; }
	/* gruppo: codice invito su tutta la riga, strumenti sotto */
	.vista-bdc_creagruppi .gu-card table.table > tbody > tr:not(:first-child) > td:nth-child(2):has(.Stile3) { grid-column: 1 / -1; text-align: left !important; padding: 0 14px 6px !important; }
	/* utenti: nota su tutta la riga, poi le icone */
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(2) { display: none; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr { grid-template-columns: repeat(5, 1fr); }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr > td:nth-child(2) { grid-column: 1 / -1; padding: 0 12px 4px !important; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr:first-child > th { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
	.vista-bdc_creagruppi #elencoUtenti .cerca-utente { width: 100% !important; max-width: none !important; margin: 0 !important; order: 3; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr:first-child > th > a { order: 2; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr:first-child > th > a button { float: none !important; }
	.vista-bdc_creagruppi #formnomegruppo tr { grid-template-columns: 1fr !important; }
	.vista-bdc_creagruppi #formnomegruppo td { text-align: left !important; }
	.vista-bdc_creagruppi #formnomegruppo td:nth-child(2), .vista-bdc_creagruppi #formnomegruppo td:nth-child(3) { grid-column: 1 / -1; }

	/* --- Crediti e altre pagine nuove --- */
	.contenuto .cr-card { padding: 16px; }
	.contenuto .cr-crediti, .contenuto .cr-campi { grid-template-columns: 1fr; }
	.contenuto .cr-piede { flex-direction: column; align-items: stretch; }
	.contenuto .cr-pulsanti { justify-content: flex-end; }
	.contenuto .assist { padding: 20px !important; }
	.contenuto .assist h1 { font-size: 22px; }
}
@media screen and (max-width: 1100px) {
	/* le tabelle di impaginazione (titolo, riga "Vai in") restano tabelle normali */
	.contenuto table[border="0"], .contenuto h6 > table { display: table !important; overflow: visible !important; width: 100% !important; }
	.contenuto h6 > table td { text-align: center !important; }
	/* titoli delle colonne dei gruppi: sul telefono solo il primo */
	.vista-bdc_creagruppi .gu-card table.table > tbody > tr:first-child > th:not(:first-child) { display: none !important; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr:first-child > th { display: flex !important; }
	/* creazione sotto-gruppi: campo e pulsante dentro il riquadro */
	.vista-bdc_creagruppi #formnomegruppo tr:not(:first-child) { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; }
	.vista-bdc_creagruppi #formnomegruppo tr:not(:first-child) > td { padding: 0 !important; width: auto !important; }
	.vista-bdc_creagruppi #formnomegruppo tr:not(:first-child) > td:nth-child(2) { flex: 1 1 140px; }
	.vista-bdc_creagruppi #formnomegruppo input[type=text] { width: 100% !important; margin: 0 !important; }
	.vista-bdc_creagruppi #formnomegruppo input[type=submit] { margin: 0 !important; }
}
@media screen and (max-width: 1100px) {
	.vista-bdc_creagruppi .gu-card *, .vista-bdc_creagruppi .gu-card *::before, .vista-bdc_creagruppi .gu-card *::after { box-sizing: border-box; }
	.vista-bdc_creagruppi #elencoUtenti input[name="note[]"] { width: 100% !important; }
	.vista-bdc_creabacheca .arc-percorso { flex: 1 1 auto !important; }          /* in colonna la "base" di 520px diventava altezza */
	.vista-bdc_creabacheca .arc-tool span { display: none; }                     /* solo icone, i nomi restano nel suggerimento */
}
@media screen and (max-width: 1100px) {
	.vista-bdc_creabacheca .arc-elenco-meta { flex: 0 0 auto !important; justify-content: flex-start !important; }
	.vista-bdc_creabacheca .arc-upload { flex: 0 0 auto !important; }
}
@media screen and (max-width: 1100px) {
	.vista-bdc_creabacheca .arc-row-side { gap: 4px; padding-left: 4px; }
	.vista-bdc_creabacheca .arc-row-file .arc-link { font-size: 0 !important; gap: 0; width: 44px; justify-content: center; padding: 0 !important; }
	.vista-bdc_creabacheca .arc-row-file .arc-link i { font-size: 22px !important; }
}

/* Registro invio e-mail (Gestione) */
.vista-bdc_registromail .rm-vuoto { color: var(--n-s500); margin: 0; }
.vista-bdc_registromail .rm-invio { border-top: 1px solid var(--n-s200); padding: 14px 0; }
.vista-bdc_registromail .rm-testa { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 6px; }
.vista-bdc_registromail .rm-data { font-size: 13px; color: var(--n-s500); font-variant-numeric: tabular-nums; }
.vista-bdc_registromail .rm-oggetto { color: var(--n-s900); }
.vista-bdc_registromail .rm-testo { white-space: pre-wrap; color: var(--n-s700, #334155); font-size: 14px; margin-bottom: 8px; }
.vista-bdc_registromail .rm-destinatari summary { cursor: pointer; font-size: 13px; color: var(--n-s500); }
.vista-bdc_registromail .rm-destinatari ul { list-style: none; margin: 8px 0 0; padding: 0; font-size: 14px; }
.vista-bdc_registromail .rm-destinatari li { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 4px 0; border-bottom: 1px solid var(--n-s100, #f1f5f9); }
.vista-bdc_registromail .rm-mail { color: var(--n-s500); }
.vista-bdc_registromail .rm-errore { color: #b91c1c; font-size: 13px; }

/* righe con la freccia "Indietro": niente striscia bianca, in tutte le pagine */
.contenuto table:has(img[src*="indietro.png"]):not(:has(table)) { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.contenuto table:has(img[src*="indietro.png"]):not(:has(table)) > tbody > tr > td { background: transparent !important; border: 0 !important; }

/* Gestione: Note degli utenti (si vede la prima riga; cliccando si allarga sopra le righe sotto) */
.vista-bdc_creagruppi td.gu-nota-cella { position: relative; height: 42px; min-width: 160px; }
.vista-bdc_creagruppi textarea.gu-nota { position: absolute; left: 6px; right: 6px; top: 6px; height: 30px; min-height: 30px; margin: 0;
	padding: 4px 8px !important; line-height: 20px !important; color: var(--n-s900) !important; background: #fff !important;
	resize: none; overflow: hidden; white-space: pre; z-index: 1; }
.vista-bdc_creagruppi textarea.gu-nota.aperta { white-space: pre-wrap; overflow: auto; resize: vertical; z-index: 30;
	border-color: var(--n-s500) !important; box-shadow: 0 8px 24px rgba(15,23,42,.18) !important; }

/* avviso di 3 secondi al centro della pagina (es. "Nota-Utente modificata") */
.bdc-avviso { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 100010; padding: 14px 26px; border: 2px solid #16a34a; border-radius: 10px;
	background: #fff; color: var(--n-s900); font-size: 15px; font-weight: 600; box-shadow: 0 12px 32px rgba(15,23,42,.18); pointer-events: none; }
.bdc-avviso.errore { border-color: #b91c1c; }

/* Gruppi e utenti: un riquadro per gruppo, gli utenti si trascinano da un gruppo all'altro */
.vista-bdc_variagruppo .gr-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 16px; color: var(--n-s500); font-size: 14px; }
.vista-bdc_variagruppo .gr-testa { margin-bottom: 10px; }
.vista-bdc_variagruppo .gr-testa h2 { margin: 2px 0 0; font-size: 18px; font-weight: 700; color: var(--n-s900); }
.vista-bdc_variagruppo .gr-conta { display: inline-block; min-width: 24px; padding: 1px 8px; margin-left: 6px; border-radius: 999px; background: var(--n-s100); color: var(--n-s500); font-size: 13px; font-weight: 600; text-align: center; vertical-align: middle; }
.vista-bdc_variagruppo .gr-lista { list-style: none; margin: 0; padding: 6px; min-height: 52px; border: 1px dashed var(--n-s200); border-radius: 8px; background: var(--n-s50); display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; }
.vista-bdc_variagruppo .gr-lista:empty::before { content: "Trascina qui gli utenti"; grid-column: 1 / -1; align-self: center; text-align: center; color: var(--n-s400); font-size: 13px; }
.vista-bdc_variagruppo .gr-utente { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 8px 10px; background: #fff; border: 1px solid var(--n-s200); border-radius: 6px; cursor: grab; font-size: 14px; user-select: none; }
.vista-bdc_variagruppo .gr-utente:hover { border-color: #cbd5e1; box-shadow: 0 1px 3px rgba(15,23,42,.08); }
.vista-bdc_variagruppo .gr-maniglia { color: var(--n-s400); font-size: 12px; }
.vista-bdc_variagruppo .gr-nome { font-weight: 600; color: var(--n-s900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vista-bdc_variagruppo .gr-nota { margin-left: auto; color: var(--n-s500); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.vista-bdc_variagruppo .gr-ombra { opacity: .4; }

/* Upload rapido: riquadro al centro con l'avanzamento del caricamento e il tempo trascorso */
.car-sfondo { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15,23,42,.28); }
.car-box { width: min(440px, 100%); background: #fff; border: 1px solid var(--n-s200); border-radius: 12px; padding: 18px 20px; box-shadow: 0 20px 48px rgba(15,23,42,.22); font-family: Inter, system-ui, sans-serif; color: var(--n-s700); }
.car-testa { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 16px; color: var(--n-s900); }
.car-tempo { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--n-s900); }
.car-nome { margin: 8px 0 10px; font-size: 13.5px; color: var(--n-s500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.car-barra { height: 10px; border-radius: 999px; background: var(--n-s100); overflow: hidden; }
.car-barra span { display: block; height: 100%; width: 0; background: var(--n-s700); border-radius: 999px; transition: width .4s ease; }
.car-box.finito .car-barra span { background: #16a34a; }
.car-righe { display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; font-size: 13px; font-variant-numeric: tabular-nums; }
.car-perc { font-weight: 700; color: var(--n-s900); }
.car-info { color: var(--n-s500); text-align: right; }
.car-errori div { margin-top: 8px; font-size: 13px; color: #b91c1c; }
.car-nota { margin-top: 12px; font-size: 12.5px; color: var(--n-s400); }
.car-box.finito .car-nota { display: none; }
.car-piede { display: flex; justify-content: flex-end; margin-top: 12px; }
.car-chiudi { border: 1px solid var(--n-s200); background: #fff; border-radius: 8px; padding: 6px 14px; font-size: 13px; color: var(--n-s700); cursor: pointer; }
.car-chiudi:hover { background: var(--n-s50); }

/* Gestione: pagina riordinata (solo aspetto) */
.vista-bdc_creagruppi img[src*="blank.png"] { display: none; }
/* gruppo principale e sotto-gruppi: stesse colonne, allineate */
.vista-bdc_creagruppi .gu-gruppi table.table { table-layout: fixed; width: 100% !important; }
.vista-bdc_creagruppi .gu-gruppi table.table th:first-child { width: auto !important; }
.vista-bdc_creagruppi .gu-gruppi table.table tr:first-child > th:nth-child(2),
.vista-bdc_creagruppi .gu-gruppi table.table tr:not(:first-child) > td:nth-child(2) { width: 200px !important; }
.vista-bdc_creagruppi .gu-gruppi table.table tr:first-child > th:nth-child(3) { width: 208px !important; text-align: center !important; }
.vista-bdc_creagruppi .gu-gruppi table.table tr:not(:first-child) > td:nth-child(n+3) { width: 52px !important; text-align: center !important; }
.vista-bdc_creagruppi .gu-gruppi + .gu-gruppi { margin-top: -6px; }
/* creazione sotto-gruppi: una riga sola, compatta */
.vista-bdc_creagruppi .gu-nuovo { padding-top: 14px; padding-bottom: 14px; }
.vista-bdc_creagruppi .gu-nuovo table.table td { width: auto !important; }
.vista-bdc_creagruppi .gu-nuovo table.table td:first-child { width: 90px !important; }
.vista-bdc_creagruppi .gu-nuovo table.table td:nth-child(2) { width: 280px !important; }
.vista-bdc_creagruppi .gu-nuovo input[type=submit] { height: 32px; padding: 0 18px !important; }
/* lista utenti: titolo a sinistra, ricerca e PDF a destra sulla stessa riga */
.vista-bdc_creagruppi #elencoUtenti tr:first-child > th { vertical-align: middle !important; line-height: 34px !important; }
.vista-bdc_creagruppi #elencoUtenti tr:first-child .cerca-utente { margin-right: 10px; }
/* "Chiudi bacheca" in fondo a destra, senza striscia bianca */
.vista-bdc_creagruppi table:has(button[onclick*="conferma_chiudistanza"]) { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.vista-bdc_creagruppi table:has(button[onclick*="conferma_chiudistanza"]) td { background: transparent !important; border: 0 !important; padding: 0 !important; }

/* Archivio: pagina riordinata (solo aspetto) - pulsanti dei file e "Ordina per" sulla stessa riga del riquadro */
.vista-bdc_creabacheca .arc-percorso { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.vista-bdc_creabacheca .arc-percorso > .arc-strumenti-fondo { order: -1; margin-top: 0; padding-top: 0; border-top: 0; }
.vista-bdc_creabacheca .arc-percorso > .arc-strumenti:not(.arc-strumenti-fondo) { margin-left: auto; }
.vista-bdc_creabacheca .arc-percorso .arc-tool { padding: 7px 9px; gap: 5px; }
.vista-bdc_creabacheca .arc-percorso .arc-tool i { font-size: 21px; }
.vista-bdc_creabacheca .arc-percorso .arc-strumenti { gap: 6px; }

/* riquadro di conferma al centro della pagina ("Vuoi eliminare davvero...?") */
.conf-sfondo { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15,23,42,.35); }
.conf-box { width: min(420px, 100%); background: #fff; border: 1px solid var(--n-s200); border-radius: 12px; padding: 22px 22px 18px; box-shadow: 0 20px 48px rgba(15,23,42,.25); font-family: Inter, system-ui, sans-serif; }
.conf-titolo { font-size: 17px; font-weight: 700; color: var(--n-s900); line-height: 1.35; }
.conf-testo { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--n-s500); white-space: pre-line; }
.conf-piede { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.conf-piede button { height: 38px; padding: 0 16px; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; }
.conf-no { border: 1px solid var(--n-s200); background: #fff; color: var(--n-s700); }
.conf-no:hover { background: var(--n-s50); }
.conf-si { border: 1px solid var(--n-s900); background: var(--n-s900); color: #fff; }
.conf-si:hover { background: var(--n-s700); }
.conf-box.pericolo .conf-si { border-color: #b91c1c; background: #b91c1c; }
.conf-box.pericolo .conf-si:hover { background: #991b1b; }

/* Gestione: dati dell'utente (clic sul nome) e "Aggiungi utente" */
.vista-bdc_creagruppi a.gu-info { color: var(--n-s900) !important; text-decoration: none; cursor: pointer; }
.vista-bdc_creagruppi a.gu-info:hover { text-decoration: underline; }
.gu-scheda { width: min(440px, 100%); padding: 24px; }
.gu-scheda .gs-testa { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; margin-bottom: 6px; border-bottom: 1px solid var(--n-s200); }
.gu-scheda .gs-iniziali { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--n-s900); color: #fff; font-size: 18px; font-weight: 700; letter-spacing: .02em; }
.gu-scheda .gs-nome { font-size: 19px; font-weight: 700; color: var(--n-s900); line-height: 1.25; word-break: break-word; }
.gu-scheda .gs-sotto { margin-top: 2px; font-size: 13px; color: var(--n-s500); }
.gu-scheda .gs-riga { display: flex; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--n-s100); }
.gu-scheda .gs-riga:last-of-type { border-bottom: 0; }
.gu-scheda .gs-etichetta { flex: 0 0 80px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--n-s500); }
.gu-scheda .gs-valore { flex: 1; min-width: 0; font-size: 16px; font-weight: 600; color: var(--n-s900); word-break: break-all; }
.gu-scheda .conf-piede { justify-content: space-between; align-items: center; margin-top: 16px; }
.gu-scheda .gs-scrivi { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 1px solid var(--n-s200); border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--n-s700) !important; text-decoration: none !important; }
.gu-scheda .gs-scrivi:hover { background: var(--n-s50); }
.gu-nuovoutente { margin: 0; width: min(480px, 100%); padding: 24px; max-height: calc(100vh - 32px); overflow-y: auto; }
.gu-nuovoutente .gs-testa { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; margin-bottom: 8px; border-bottom: 1px solid var(--n-s200); }
.gu-nuovoutente .gs-iniziali { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--n-s900); color: #fff; font-size: 19px; }
.gu-nuovoutente .gs-nome { font-size: 19px; font-weight: 700; color: var(--n-s900); }
.gu-nuovoutente .gs-sotto { margin-top: 2px; font-size: 13px; color: var(--n-s500); }
.gu-nuovoutente .gn-riga { display: flex; align-items: center; gap: 16px; margin: 0; padding: 7px 0; }
.gu-nuovoutente .gs-etichetta { flex: 0 0 120px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--n-s500); }
.gu-nuovoutente input, .gu-nuovoutente select { flex: 1; min-width: 0; width: 100%; height: 40px; margin: 0; padding: 0 12px; border: 1px solid var(--n-s200); border-radius: 8px; background: #fff; font: inherit; font-size: 15px; font-weight: 500; color: var(--n-s900); }
.gu-nuovoutente input:focus, .gu-nuovoutente select:focus { outline: none; border-color: var(--n-s500); box-shadow: 0 0 0 3px rgba(100,116,139,.15); }
.gu-nuovoutente .gn-info { margin-top: 12px; padding: 12px 14px; border-radius: 8px; background: var(--n-s50); border: 1px solid var(--n-s100); font-size: 13px; }
.gu-nuovoutente .gn-info div { display: flex; gap: 16px; padding: 3px 0; }
.gu-nuovoutente .gn-info span { flex: 0 0 120px; color: var(--n-s500); }
.gu-nuovoutente .gn-info b { flex: 1; min-width: 0; font-weight: 600; color: var(--n-s900); word-break: break-all; }
@media (max-width: 520px) {
	.gu-nuovoutente .gn-riga, .gu-nuovoutente .gn-info div { flex-direction: column; align-items: stretch; gap: 4px; }
	.gu-nuovoutente .gs-etichetta, .gu-nuovoutente .gn-info span { flex: none; }
}
/* dati utente: pulsante "Chiudi" chiaro, come gli altri pulsanti grigi del sito */
.gu-scheda .conf-si { background: var(--n-s100); border-color: var(--n-s200); color: var(--n-s900); }
.gu-scheda .conf-si:hover { background: var(--n-s200); }
/* password nascosta con l'occhio per vederla */
.gu-nuovoutente .gn-password { position: relative; flex: 1; min-width: 0; display: block; }
.gu-nuovoutente .gn-password input { width: 100%; padding-right: 46px; }
.gu-nuovoutente .gn-occhio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--n-s500); font-size: 17px; cursor: pointer; }
.gu-nuovoutente .gn-occhio:hover { background: var(--n-s100); color: var(--n-s900); }

/* Super amministratore: elenco degli amministratori in ordine, si sceglie e sotto si vedono i suoi archivi */
.sa-intestazione, .sa-amm { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) 90px; align-items: center; gap: 12px; }
.sa-intestazione { padding: 0 16px 8px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--n-s500); border-bottom: 1px solid var(--n-s200); }
.sa-intestazione span:last-child, .sa-num { text-align: center; justify-self: center; }
.sa-lista { display: flex; flex-direction: column; max-height: 440px; overflow-y: auto; }
.sa-amm { padding: 13px 16px; border-bottom: 1px solid var(--n-s100); color: var(--n-s900) !important; text-decoration: none !important; }
.sa-amm:hover { background: var(--n-s50); }
.sa-amm.scelto { background: var(--n-s100); box-shadow: inset 4px 0 0 var(--n-s900); }
.sa-nome { font-size: 16px; font-weight: 700; }
.sa-mail { font-size: 14px; color: var(--n-s500); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sa-num { min-width: 36px; padding: 2px 10px; border-radius: 999px; background: var(--n-s100); color: var(--n-s700); font-size: 14px; font-weight: 700; }
.sa-amm.scelto .sa-num { background: #fff; }
@media (max-width: 1100px) {
	.sa-intestazione { display: none; }
	.sa-amm { grid-template-columns: minmax(0, 1fr) auto; }
	.sa-mail { grid-column: 1; grid-row: 2; }
	.sa-num { grid-column: 2; grid-row: 1 / span 2; }
}

/* Ricerche del super amministratore */
.vista-config_ricerche .ric-barra { margin-bottom: 16px; }
.vista-config_ricerche .ric-scelta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 14px; font-size: 15px; }
.vista-config_ricerche .ric-scelta label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; margin: 0; }
.vista-config_ricerche .ric-campi { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.vista-config_ricerche .ric-campi label { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 13px; font-weight: 600; color: var(--n-s700); }
.vista-config_ricerche .ric-campi input { height: 40px; width: 140px; }
.vista-config_ricerche .ric-campi .ric-largo { flex: 1; min-width: 220px; }
.vista-config_ricerche .ric-campi .ric-largo input { width: 100%; }
.vista-config_ricerche .ric-cerca { height: 40px; padding: 0 18px; border-radius: 8px; border: 1px solid var(--n-s900); background: var(--n-s900); color: #fff; font-weight: 600; cursor: pointer; }
.vista-config_ricerche .ric-testa { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; }
.vista-config_ricerche .ric-testa h2 { margin: 2px 0 0; font-size: 18px; font-weight: 700; color: var(--n-s900); }
.vista-config_ricerche .ric-testa p { margin: 2px 0 0; color: var(--n-s500); font-size: 14px; }
.vista-config_ricerche .ric-sotto { margin: 20px 0 8px; font-size: 14px; font-weight: 700; color: var(--n-s700); }
.vista-config_ricerche .ric-email { display: flex; gap: 10px; align-items: flex-start; }
.vista-config_ricerche .ric-email textarea { flex: 1; font-size: 13px !important; }
.vista-config_ricerche .ric-tabella { overflow-x: auto; border: 1px solid var(--n-s200); border-radius: 8px; }
.vista-config_ricerche .ric-tabella table { width: 100%; border: 0 !important; box-shadow: none !important; border-radius: 0; }
.vista-config_ricerche .ric-tabella th, .vista-config_ricerche .ric-tabella td { padding: 7px 10px !important; font-size: 13px; white-space: nowrap; border-bottom: 1px solid var(--n-s100) !important; text-align: left; }
.vista-config_ricerche .ric-tabella th { background: var(--n-s50) !important; font-weight: 700; }
.vista-config_ricerche .ric-elimina { margin-top: 12px; height: 38px; padding: 0 16px; border-radius: 8px; border: 1px solid #b91c1c; background: #fff; color: #b91c1c; font-weight: 600; cursor: pointer; }
.vista-config_ricerche .ric-elimina:hover { background: #fef2f2; }
.vista-config_ricerche .ric-vuoto { margin: 12px 0 0; color: var(--n-s500); }
/* Ricerche: una riga per Amministratore e una per Archivio, un pulsante per ogni query */
.vista-config_ricerche .ric-riga { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin: 14px 0 0; padding: 16px; border: 1px solid var(--n-s200); border-radius: 10px; background: var(--n-s50); }
.vista-config_ricerche .ric-id { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 15px; font-weight: 700; color: var(--n-s900); }
.vista-config_ricerche .ric-id input { width: 170px; height: 48px; font-size: 18px !important; background: #fff !important; }
.vista-config_ricerche .ric-pulsanti { display: flex; flex-wrap: wrap; gap: 10px; }
.vista-config_ricerche .ric-q { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 170px; height: 48px; padding: 0 16px; border: 1px solid var(--n-s200); border-radius: 10px; background: #fff; color: var(--n-s900); cursor: pointer; text-align: left; }
.vista-config_ricerche .ric-q b { font-size: 15px; }
.vista-config_ricerche .ric-q small { font-size: 12px; color: var(--n-s500); }
.vista-config_ricerche .ric-q:hover { border-color: var(--n-s500); }
.vista-config_ricerche .ric-q.scelto { border-color: var(--n-s900); background: var(--n-s900); color: #fff; }
.vista-config_ricerche .ric-q.scelto small { color: #cbd5e1; }
.vista-config_ricerche .ric-nota { margin: 14px 0 0; font-size: 14px; color: var(--n-s500); }
/* elenco amministratori: ogni amministratore in un riquadro ben separato */
.sa-lista { gap: 10px; padding: 10px 2px 4px; }
.sa-amm { border: 1px solid var(--n-s200); border-radius: 10px; background: #fff; box-shadow: 0 1px 2px rgba(15,23,42,.06); padding: 16px 18px; }
.sa-amm:hover { border-color: #94a3b8; background: #fff; box-shadow: 0 4px 12px rgba(15,23,42,.08); }
.sa-amm.scelto { border: 2px solid var(--n-s900); background: var(--n-s50); box-shadow: none; padding: 15px 17px; }
.sa-intestazione { padding: 0 19px 10px; }
.vista-config_ricerche .ric-q.scelto b { color: #fff !important; }
/* pagina dell'amministratore scelto (super amministratore) */
.sa-indietro { margin-bottom: 14px; }
.sa-dati { margin: 6px 0 0; font-size: 15px; color: var(--n-s500); }
/* pagina dell'amministratore: pulsanti delle ricerche */
.sa-query-pulsanti { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.sa-q { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; border: 1px solid var(--n-s200); border-radius: 10px; background: #fff; color: var(--n-s900) !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.sa-q:hover { border-color: #94a3b8; background: var(--n-s50); }
.sa-q i { color: var(--n-s500); }
/* pulsanti delle ricerche: titolo + una frase semplice che spiega cosa fanno */
.sa-query-pulsanti { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.sa-q { height: auto; align-items: flex-start; gap: 12px; padding: 14px 16px; }
.sa-q i { font-size: 20px; margin-top: 2px; width: 22px; text-align: center; }
.sa-q span { display: flex; flex-direction: column; gap: 3px; }
.sa-q b { font-size: 16px; color: var(--n-s900); }
.sa-q small { font-size: 13.5px; font-weight: 400; line-height: 1.35; color: var(--n-s500); }
.vista-config_ricerche .ric-spiega { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--n-s700); }
.vista-config_ricerche .ric-q { height: auto; min-height: 56px; min-width: 210px; max-width: 260px; padding: 10px 16px; gap: 3px; }
.vista-config_ricerche .ric-q small { font-size: 12.5px; line-height: 1.3; white-space: normal; }
/* ricerche: pulsanti chiari (grigio chiarissimo), testo grande */
.sa-query-titolo { margin: 0; font-size: 20px; font-weight: 700; color: var(--n-s900); }
.sa-query-spiega { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--n-s700); }
.sa-q, .vista-config_ricerche .ric-q { background: var(--n-s50) !important; border: 1px solid var(--n-s200) !important; color: var(--n-s900) !important; }
.sa-q:hover, .vista-config_ricerche .ric-q:hover { background: #fff !important; border-color: #94a3b8 !important; box-shadow: 0 4px 12px rgba(15,23,42,.07); }
.sa-q b, .vista-config_ricerche .ric-q b { font-size: 17px; color: var(--n-s900) !important; }
.sa-q small, .vista-config_ricerche .ric-q small { font-size: 14px; color: var(--n-s500) !important; }
.sa-q i { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--n-s200); font-size: 17px; color: var(--n-s700); margin-top: 0; }
.vista-config_ricerche .ric-q.scelto { background: #e2e8f0 !important; border: 2px solid var(--n-s500) !important; }
.vista-config_ricerche .ric-q.scelto b { color: var(--n-s900) !important; }
.vista-config_ricerche .ric-q.scelto small { color: var(--n-s700) !important; }
.vista-config_ricerche .ric-q { max-width: 280px; min-height: 64px; }
.vista-config_ricerche .ric-id { font-size: 16px; }
.vista-config_ricerche .ric-riga { background: #fff; }
/* Ricerche: i pulsanti delle query sono "invia" e la regola generale li faceva blu scuri: qui restano chiari */
.contenuto.vista-config_ricerche button.ric-q[type=submit] {
	background: var(--n-s50) !important; color: var(--n-s900) !important; border: 1px solid var(--n-s200) !important; border-radius: 10px !important;
	padding: 10px 16px !important; height: auto !important; font-size: 15px !important; font-weight: 400 !important; }
.contenuto.vista-config_ricerche button.ric-q[type=submit]:hover { background: #fff !important; border-color: #94a3b8 !important; }
.contenuto.vista-config_ricerche button.ric-q.scelto[type=submit] { background: #e2e8f0 !important; border: 2px solid var(--n-s500) !important; }

/* Super amministratore: Inserisci utenti (a mano) */
.vista-config_inserisci .ins-barra { margin-bottom: 16px; }
.vista-config_inserisci .ins-spiega { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--n-s500); }
.vista-config_inserisci .ins-passo { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 19px; font-weight: 700; color: var(--n-s900); }
.vista-config_inserisci .ins-passo span { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--n-s100); border: 1px solid var(--n-s200); font-size: 16px; }
.vista-config_inserisci .ins-scelta { display: flex; flex-wrap: wrap; gap: 14px 20px; margin: 0; }
.vista-config_inserisci .ins-scelta label, .vista-config_inserisci .ins-gruppo { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 15px; font-weight: 600; color: var(--n-s700); }
.vista-config_inserisci .ins-scelta select { min-width: 280px; height: 46px; font-size: 16px !important; background: #fff !important; }
.vista-config_inserisci .ins-gruppo { margin: 14px 0 0; max-width: 320px; }
.vista-config_inserisci .ins-gruppo select { height: 42px; background: #fff !important; }
.vista-config_inserisci .ins-tabella { margin-top: 14px; overflow-x: auto; border: 1px solid var(--n-s200); border-radius: 10px; }
.vista-config_inserisci .ins-tabella table { width: 100%; min-width: 900px; border: 0 !important; box-shadow: none !important; border-radius: 0; }
.vista-config_inserisci .ins-tabella th { background: var(--n-s50) !important; padding: 10px 8px !important; font-size: 13px; font-weight: 700; color: var(--n-s700); text-align: left; }
.vista-config_inserisci .ins-tabella td { padding: 6px 6px !important; border-bottom: 1px solid var(--n-s100) !important; }
.vista-config_inserisci #insRighe input { width: 100%; height: 40px; font-size: 15px !important; background: #fff !important; }
.vista-config_inserisci .ins-password { position: relative; display: block; }
.vista-config_inserisci .ins-password input { padding-right: 40px !important; }
.vista-config_inserisci .ins-occhio, .vista-config_inserisci .ins-togli { border: 0; background: transparent; color: var(--n-s500); cursor: pointer; border-radius: 6px; }
.vista-config_inserisci .ins-occhio { position: absolute; right: 2px; top: 50%; transform: translateY(-50%); width: 36px; height: 34px; }
.vista-config_inserisci .ins-togli { width: 38px; height: 38px; font-size: 16px; }
.vista-config_inserisci .ins-occhio:hover, .vista-config_inserisci .ins-togli:hover { background: var(--n-s100); color: var(--n-s900); }
.vista-config_inserisci .ins-piede { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 16px; }
.vista-config_inserisci .ins-aggiungi, .vista-config_inserisci .ins-inserisci { height: 46px; padding: 0 20px; border-radius: 10px; font-size: 16px; font-weight: 600; cursor: pointer; }
.vista-config_inserisci .ins-aggiungi { border: 1px solid var(--n-s200); background: var(--n-s50); color: var(--n-s900); }
.vista-config_inserisci .ins-aggiungi:hover { background: #fff; border-color: #94a3b8; }
.vista-config_inserisci .ins-inserisci { border: 1px solid var(--n-s700); background: var(--n-s700); color: #fff; }
.vista-config_inserisci .ins-inserisci:hover { background: var(--n-s900); }
.vista-config_inserisci .ins-testa { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.vista-config_inserisci .ins-testa .ins-passo { margin: 0; }
.vista-config_inserisci tr.ins-ok td:last-child { color: #15803d; }
.vista-config_inserisci tr.ins-ko td:last-child { color: #b91c1c; }
/* "Chi deve ancora aderire": tre pulsanti semplici sulla stessa riga */
.sa-query .sa-query-pulsanti { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.sa-query .sa-q { align-items: center; padding: 10px 18px 10px 12px; }
.sa-query .sa-q i { width: 36px; height: 36px; flex-basis: 36px; font-size: 16px; }
/* "Chi deve ancora aderire": pulsanti un po' piu' piccoli */
.sa-query .sa-q { padding: 7px 14px 7px 9px; gap: 9px; border-radius: 9px; }
.sa-query .sa-q i { width: 30px; height: 30px; flex-basis: 30px; font-size: 14px; }
.sa-query .sa-q b { font-size: 15px; }
.sa-query .sa-query-titolo { font-size: 18px; }
/* Inserisci utenti: tutto allineato */
.vista-config_inserisci .ins-scelta { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); gap: 16px 20px; }
.vista-config_inserisci .ins-scelta select { width: 100%; min-width: 0; }
.vista-config_inserisci #insRighe { table-layout: fixed; border-collapse: collapse !important; }
.vista-config_inserisci #insRighe col.c-cognome, .vista-config_inserisci #insRighe col.c-nome { width: 15%; }
.vista-config_inserisci #insRighe col.c-mail { width: 21%; }
.vista-config_inserisci #insRighe col.c-password { width: 17%; }
.vista-config_inserisci #insRighe col.c-mail2 { width: 19%; }
.vista-config_inserisci #insRighe col.c-note { width: 13%; }
.vista-config_inserisci #insRighe col.c-togli { width: 52px; }
.vista-config_inserisci #insRighe th, .vista-config_inserisci #insRighe td { padding: 8px 6px !important; vertical-align: middle !important; text-align: left; }
.vista-config_inserisci #insRighe th { padding-left: 17px !important; white-space: nowrap; }
.vista-config_inserisci #insRighe th:last-child, .vista-config_inserisci #insRighe td:last-child { text-align: center; padding-left: 0 !important; padding-right: 0 !important; }
.vista-config_inserisci #insRighe input { display: block; margin: 0; padding: 0 10px !important; box-sizing: border-box; }
.vista-config_inserisci .ins-gruppo { display: grid; grid-template-columns: minmax(0, 340px); }
@media (max-width: 1100px) { .vista-config_inserisci .ins-scelta { grid-template-columns: 1fr; } }

/* pagine "Invia e-mail" (busta): pulsante di invio chiaro, come gli altri pulsanti grigi */
.contenuto #forminviamailtutti button[type=submit] {
	background: var(--n-s100) !important; color: var(--n-s900) !important; border: 1px solid var(--n-s200) !important; border-radius: 8px !important;
	padding: 9px 20px !important; font-size: 15px !important; font-weight: 600 !important; }
.contenuto #forminviamailtutti button[type=submit]:hover { background: #fff !important; border-color: #94a3b8 !important; }
.contenuto #forminviamailtutti button[type=submit] strong { color: var(--n-s900) !important; }

/* Super amministratore: Nuovo cliente */
.vista-config_nuovocliente .nc-barra { margin-bottom: 16px; }
.vista-config_nuovocliente .nc-spiega { margin: 6px 0 12px; font-size: 15px; line-height: 1.5; color: var(--n-s500); }
.vista-config_nuovocliente .nc-passo { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 19px; font-weight: 700; color: var(--n-s900); }
.vista-config_nuovocliente .nc-passo span { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--n-s100); border: 1px solid var(--n-s200); font-size: 16px; }
.vista-config_nuovocliente .nc-due { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.vista-config_nuovocliente .nc-box { margin: 0; padding: 18px; border: 1px solid var(--n-s200); border-radius: 10px; background: var(--n-s50); }
.vista-config_nuovocliente .nc-box h3 { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: var(--n-s900); }
.vista-config_nuovocliente .nc-riga { display: flex; align-items: center; gap: 14px; margin: 0 0 10px; }
.vista-config_nuovocliente .nc-riga > span:first-child { flex: 0 0 100px; font-size: 14px; font-weight: 600; color: var(--n-s700); }
.vista-config_nuovocliente .nc-colonna { flex-direction: column; align-items: stretch; gap: 6px; }
.vista-config_nuovocliente .nc-colonna > span:first-child { flex: none; }
.vista-config_nuovocliente .nc-riga input, .vista-config_nuovocliente .nc-riga select { flex: 1; min-width: 0; width: 100%; height: 42px; font-size: 15px !important; background: #fff !important; }
.vista-config_nuovocliente .nc-password { position: relative; flex: 1; display: block; }
.vista-config_nuovocliente .nc-password input { width: 100%; padding-right: 42px !important; }
.vista-config_nuovocliente .nc-occhio { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); width: 36px; height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--n-s500); cursor: pointer; }
.vista-config_nuovocliente .nc-occhio:hover { background: var(--n-s100); }
.contenuto.vista-config_nuovocliente button.nc-principale { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px !important; border-radius: 10px !important; border: 1px solid var(--n-s700) !important; background: var(--n-s700) !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer; }
.contenuto.vista-config_nuovocliente button.nc-principale:hover { background: var(--n-s900) !important; }
.vista-config_nuovocliente .nc-scelto { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; border: 2px solid var(--n-s900); border-radius: 10px; background: var(--n-s50); }
.vista-config_nuovocliente .nc-scelto b { display: block; font-size: 17px; color: var(--n-s900); }
.vista-config_nuovocliente .nc-scelto small { font-size: 14px; color: var(--n-s500); }
.vista-config_nuovocliente .nc-nomi { width: 100%; min-height: 140px; font-size: 15px !important; line-height: 1.6 !important; background: #fff !important; }
.vista-config_nuovocliente .nc-piede { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; }
.vista-config_nuovocliente #ncConta { font-size: 15px; font-weight: 600; color: var(--n-s700); }
.vista-config_nuovocliente .nc-lista { display: flex; flex-direction: column; gap: 8px; }
.vista-config_nuovocliente .nc-cond { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--n-s200); border-radius: 10px; background: #fff; }
.vista-config_nuovocliente .nc-num { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--n-s100); font-size: 14px; font-weight: 700; color: var(--n-s700); }
.vista-config_nuovocliente .nc-nome { font-size: 16px; font-weight: 700; color: var(--n-s900); }
.vista-config_nuovocliente .nc-persone { font-size: 14px; color: var(--n-s500); }
.vista-config_nuovocliente .nc-persone.fatto { color: #15803d; font-weight: 600; }
.vista-config_nuovocliente .nc-vai { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 1px solid var(--n-s200); border-radius: 8px; background: var(--n-s50); color: var(--n-s900) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.vista-config_nuovocliente .nc-vai:hover { background: #fff; border-color: #94a3b8; }
@media (max-width: 1100px) {
	.vista-config_nuovocliente .nc-due { grid-template-columns: 1fr; }
	.vista-config_nuovocliente .nc-cond { grid-template-columns: 30px minmax(0, 1fr); }
	.vista-config_nuovocliente .nc-persone, .vista-config_nuovocliente .nc-vai { grid-column: 2; justify-self: start; }
}
/* Inserisci utenti arrivando da Nuovo cliente: "Condominio 3 di 10" e "Prossimo condominio" */
.vista-config_inserisci .ins-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.vista-config_inserisci .ins-posizione { font-size: 15px; font-weight: 700; color: var(--n-s700); }
.vista-config_inserisci .ins-prossimo { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 10px; background: var(--n-s700); color: #fff !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.vista-config_inserisci .ins-prossimo:hover { background: var(--n-s900); }
/* Nuovo cliente: tutto allineato (caselle, menu e pulsanti alla stessa altezza e sulla stessa colonna) */
.contenuto.vista-config_nuovocliente button.nc-principale[type=submit], .contenuto.vista-config_nuovocliente button.nc-principale[type=button] { height: 44px !important; padding: 0 20px !important; }
.vista-config_nuovocliente .nc-box form, .vista-config_nuovocliente form.nc-box { display: block; }
.vista-config_nuovocliente form.nc-box > button.nc-principale { margin-left: 114px; margin-top: 4px; }
.vista-config_nuovocliente .nc-riga input, .vista-config_nuovocliente .nc-riga select { height: 42px !important; padding: 0 12px !important; }
.vista-config_nuovocliente .nc-box h3 { min-height: 24px; }
@media (max-width: 1100px) {
	.vista-config_nuovocliente .nc-riga { flex-direction: column; align-items: stretch; gap: 4px; }
	.vista-config_nuovocliente .nc-riga > span:first-child { flex: none; }
	.vista-config_nuovocliente form.nc-box > button.nc-principale { margin-left: 0; width: 100%; justify-content: center; }
}
.vista-config_nuovocliente .nc-colonna select, .vista-config_nuovocliente .nc-colonna input { flex: none !important; }
@media (max-width: 1100px) { .vista-config_nuovocliente .nc-riga input, .vista-config_nuovocliente .nc-riga select, .vista-config_nuovocliente .nc-riga .nc-password { flex: none !important; } }
/* Aggiungi condomini: prima la scelta dell'amministratore, poi (chiuso) il modulo per uno nuovo */
.vista-config_nuovocliente .nc-scegli { display: flex; flex-direction: column; gap: 8px; margin: 0; max-width: 520px; }
.vista-config_nuovocliente .nc-scegli label { margin: 0; font-size: 16px; font-weight: 600; color: var(--n-s900); }
.vista-config_nuovocliente .nc-scegli select { height: 48px !important; padding: 0 12px !important; font-size: 16px !important; background: #fff !important; }
.vista-config_nuovocliente .nc-nuovo { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--n-s200); }
.vista-config_nuovocliente .nc-nuovo summary { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--n-s200); border-radius: 10px; background: var(--n-s50); font-size: 15px; font-weight: 600; color: var(--n-s900); cursor: pointer; list-style: none; }
.vista-config_nuovocliente .nc-nuovo summary::-webkit-details-marker { display: none; }
.vista-config_nuovocliente .nc-nuovo summary:hover { background: #fff; border-color: #94a3b8; }
.vista-config_nuovocliente .nc-nuovo[open] summary { margin-bottom: 14px; }
.vista-config_nuovocliente .nc-nuovo .nc-box { max-width: 620px; }
/* Aggiungi condomini: una casella e il pulsante "Aggiungi" */
.vista-config_nuovocliente .nc-uno { margin: 0; max-width: 640px; }
.vista-config_nuovocliente .nc-uno label { display: block; margin: 0 0 6px; font-size: 16px; font-weight: 600; color: var(--n-s900); }
.vista-config_nuovocliente .nc-uno-riga { display: flex; gap: 10px; }
.vista-config_nuovocliente .nc-uno-riga input { flex: 1; min-width: 0; height: 48px !important; padding: 0 14px !important; font-size: 16px !important; background: #fff !important; }
.contenuto.vista-config_nuovocliente .nc-uno-riga button.nc-principale[type=submit] { height: 48px !important; }
.vista-config_nuovocliente .nc-uno small { display: block; margin-top: 8px; font-size: 14px; line-height: 1.45; color: var(--n-s500); }
/* Inserisci utenti: "Carica il file" e righe da controllare */
.vista-config_inserisci .ins-file { position: relative; display: flex; align-items: center; gap: 14px; margin: 14px 0 0; padding: 16px 18px; border: 2px dashed #cbd5e1; border-radius: 12px; background: var(--n-s50); cursor: pointer; }
.vista-config_inserisci .ins-file:hover, .vista-config_inserisci .ins-file.sopra { border-color: var(--n-s500); background: #fff; }
.vista-config_inserisci .ins-file > i { font-size: 30px; color: var(--n-s500); }
.vista-config_inserisci .ins-file span { display: flex; flex-direction: column; gap: 3px; }
.vista-config_inserisci .ins-file b { font-size: 16px; color: var(--n-s900); }
.vista-config_inserisci .ins-file small { font-size: 14px; color: var(--n-s500); }
.vista-config_inserisci .ins-file input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.vista-config_inserisci .ins-esito { margin: 10px 0 0; padding: 10px 14px; border-radius: 8px; font-size: 15px; background: var(--n-s50); color: var(--n-s700); border: 1px solid var(--n-s200); }
.vista-config_inserisci .ins-esito.ok { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.vista-config_inserisci .ins-esito.attenzione { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.vista-config_inserisci .ins-esito.errore { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.vista-config_inserisci #insRighe tr.ins-giallo td { background: #fffbeb !important; }
.vista-config_inserisci #insRighe tr.ins-avviso-riga td { padding: 0 10px 8px !important; background: #fffbeb !important; color: #92400e; font-size: 13px; border-bottom: 1px solid #fde68a !important; }
.vista-config_inserisci #insRighe tr.ins-avviso-riga td { text-align: left !important; padding-left: 16px !important; }

/* Super amministratore: percorso in alto, uguale in tutte le pagine (Amministratori › Ferrari Luca › Condominio › Gestione) */
.sa-percorso { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 18px; padding: 10px 14px; border: 1px solid var(--n-s200); border-radius: 10px; background: #fff; font-size: 15px; }
.sa-percorso a { color: var(--n-s700) !important; font-weight: 600; text-decoration: none !important; padding: 2px 4px; border-radius: 6px; }
.sa-percorso a:hover { background: var(--n-s100); color: var(--n-s900) !important; }
.sa-percorso .attuale { color: var(--n-s900); font-weight: 700; }
.sa-percorso .sa-sep { font-size: 11px; color: var(--n-s400); }
.sa-percorso i.fa-users { margin-right: 4px; color: var(--n-s500); }
.vista-config_inserisci .ins-barra .sa-percorso, .vista-config_ricerche .ric-barra .sa-percorso { margin: 0; flex: 1 1 auto; }
/* percorso sempre in cima; dove c'e' il percorso la vecchia freccia "INDIETRO" non serve */
body:has(.sa-percorso) .contenuto img[src*="indietro.png"] { display: none !important; }
.vista-bdc_creagruppi a.btn-custom { text-transform: none !important; font-weight: 400; }
.vista-config_inserisci .ins-barra { justify-content: space-between; margin-bottom: 16px; }
.vista-config_inserisci .ins-barra:empty { display: none; }
/* amministratore appena creato: evidenziato nella lista */
.sa-amm.appena-creato { border: 2px solid #16a34a; background: #f0fdf4; padding: 15px 17px; }
.sa-nuovo { margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: #16a34a; color: #fff; font-size: 12px; font-style: normal; font-weight: 700; vertical-align: middle; }

/* Ricerche: "Trova un utente" (campo email piu' largo) */
.vista-config_ricerche .ric-chi input { width: 380px; max-width: 100%; }

/* scheda utente (super amministratore): cambio password e email con le credenziali */
.gu-scheda .gn-password { position: relative; display: block; }
.gu-scheda .gn-password input, .gu-credenziali .c-oggetto { width: 100%; height: 40px; margin: 0; padding: 0 46px 0 12px; border: 1px solid var(--n-s200) !important; border-radius: 8px; background: #fff !important; font-size: 15px !important; color: var(--n-s900); }
.gu-scheda .gn-occhio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--n-s500); font-size: 17px; cursor: pointer; }
.gu-scheda .gs-cambia { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; padding: 14px; border-radius: 8px; background: var(--n-s50); border: 1px solid var(--n-s100); }
.gu-scheda .gs-cambia small { font-size: 13px; color: var(--n-s500); }
.gu-scheda .gs-salva, .gu-credenziali .c-copia, .gu-credenziali .conf-no { height: 40px; padding: 0 16px; border: 1px solid var(--n-s200); border-radius: 8px; background: #fff; font-size: 15px; font-weight: 600; color: var(--n-s900); cursor: pointer; }
.gu-scheda .gs-salva:hover, .gu-credenziali .c-copia:hover, .gu-credenziali .conf-no:hover { background: var(--n-s100); }
.gu-credenziali { width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; }
.gu-credenziali .gs-riga { align-items: center; }
.gu-credenziali .gs-sotto { word-break: break-all; }
.gu-credenziali .c-oggetto { flex: 1; min-width: 0; padding-right: 12px; }
.gu-credenziali .c-testo { width: 100%; margin-top: 8px; padding: 12px; border: 1px solid var(--n-s200); border-radius: 8px; font-size: 15px; line-height: 1.45; color: var(--n-s900); resize: vertical; }
.gu-credenziali .gs-attenzione { margin: 10px 0 0; padding: 10px 12px; border-radius: 8px; background: #fff8db; border: 1px solid #f1d77a; font-size: 14px; color: #6b5300; }
.gu-credenziali .conf-piede { gap: 8px; flex-wrap: wrap; }
.gu-scheda .gs-cambia .gs-etichetta { flex: none; }
.gu-credenziali .gs-riga .gs-etichetta { flex: 0 0 80px; }

/* scheda utente: aspetto piu' ordinato del cambio password */
.gu-scheda, .gu-scheda * { box-sizing: border-box; }
.gu-scheda { width: min(480px, 100%); }
.gu-scheda .gs-etichetta { flex: 0 0 110px; white-space: nowrap; }
.gu-scheda .gs-cambia { gap: 10px; margin-top: 14px; padding: 16px; background: var(--n-s50); border: 1px solid var(--n-s200); border-radius: 10px; }
.gu-scheda .gs-titolo { font-size: 16px; font-weight: 700; color: var(--n-s900); }
.gu-scheda .gs-titolo i { margin-right: 6px; color: var(--n-s500); }
.gu-scheda .gs-aiuto { margin: 0; font-size: 14px; line-height: 1.4; color: var(--n-s600, #475569); }
.gu-scheda .gs-pass-riga { display: flex; gap: 8px; align-items: center; }
.gu-scheda .gs-pass-riga .gn-password { flex: 1; min-width: 0; }
.gu-scheda .gn-password input { height: 44px; font-size: 16px !important; }
.gu-scheda .gs-salva { flex: none; height: 44px; padding: 0 20px; }
.gu-scheda .gs-fatto { margin: 0; padding: 8px 12px; border-radius: 8px; background: #ecfdf3; border: 1px solid #a7e3bf; font-size: 14px; color: #166534; }
.gu-scheda .gs-fatto i { margin-right: 4px; }
.gu-scheda .conf-piede { gap: 10px; margin-top: 18px; }
.gu-scheda .gs-scrivi { height: 40px; }
.gu-credenziali .gs-etichetta { flex: 0 0 80px; }
.gu-scheda input, .gu-scheda textarea { box-sizing: border-box !important; }

/* Gestione: barra sopra la lista utenti (titolo, cerca, pulsanti) ordinata e che va a capo se lo spazio non basta */
.vista-bdc_creagruppi #elencoUtenti .gu-lista-testa { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; line-height: 1.2 !important; }
.vista-bdc_creagruppi #elencoUtenti .gu-lista-titolo { margin-right: auto; }
.vista-bdc_creagruppi #elencoUtenti .gu-lista-testa .cerca-utente { float: none !important; margin: 0 !important; width: 240px; max-width: 100%; }
.vista-bdc_creagruppi #elencoUtenti .gu-lista-pulsanti { display: flex; flex-wrap: wrap; gap: 8px; }
.vista-bdc_creagruppi #elencoUtenti .gu-lista-pulsanti .btn { float: none !important; margin: 0 !important; height: 36px; padding: 0 14px !important; display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap; }
.vista-bdc_creagruppi #elencoUtenti td:nth-child(3) button { width: auto !important; padding: 5px 12px !important; }

/* Consegna credenziali (super amministratore) */
.vista-config_credenziali .cc-conta { margin: 6px 0 0; font-size: 15px; color: var(--n-s500); }
.vista-config_credenziali .cc-conta b { color: var(--n-s900); }
.vista-config_credenziali .cc-passo { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 18px; font-weight: 700; color: var(--n-s900); }
.vista-config_credenziali .cc-passo span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--n-s900); color: #fff; font-size: 15px; }
.vista-config_credenziali .cc-spiega, .vista-config_credenziali .cc-nota { margin: 0 0 12px; font-size: 15px; color: var(--n-s600, #475569); }
.vista-config_credenziali .cc-nota { margin: 14px 0 0; font-size: 14px; }
.vista-config_credenziali .cc-tabella { overflow-x: auto; border: 1px solid var(--n-s200); border-radius: 8px; }
.vista-config_credenziali .cc-tabella table { width: 100%; border-collapse: collapse; font-size: 15px; }
.vista-config_credenziali .cc-tabella th { padding: 10px 12px; background: var(--n-s50); border-bottom: 1px solid var(--n-s200); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--n-s500); text-align: left; white-space: nowrap; }
.vista-config_credenziali .cc-tabella td { padding: 10px 12px; border-bottom: 1px solid var(--n-s100); color: var(--n-s900); vertical-align: middle; }
.vista-config_credenziali .cc-tabella tr:last-child td { border-bottom: 0; }
.vista-config_credenziali .cc-tabella input[type=checkbox] { width: 20px; height: 20px; cursor: pointer; }
.vista-config_credenziali .cc-nome { font-weight: 700; }
.vista-config_credenziali .cc-fatta td { background: #f8fafc; color: var(--n-s500); }
.vista-config_credenziali .cc-cambiata { color: #9a6700; font-size: 14px; }
.vista-config_credenziali .cc-si { color: #166534; font-size: 14px; white-space: nowrap; }
.vista-config_credenziali .cc-no { color: var(--n-s500); font-size: 14px; }
.vista-config_credenziali .cc-spuntate { margin: 10px 0 0; font-size: 15px; font-weight: 600; color: var(--n-s900); }
.vista-config_credenziali .cc-modi { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 8px; }
.contenuto.vista-config_credenziali button.cc-modo { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px; border: 1px solid var(--n-s200) !important; border-radius: 10px; background: #fff !important; color: var(--n-s900) !important; text-align: left; cursor: pointer; }
.contenuto.vista-config_credenziali button.cc-modo:hover { background: var(--n-s50) !important; border-color: var(--n-s400) !important; }
.vista-config_credenziali .cc-modo i { font-size: 24px; color: var(--n-s500); }
.vista-config_credenziali .cc-modo b { font-size: 17px; }
.vista-config_credenziali .cc-modo small { font-size: 14px; line-height: 1.35; color: var(--n-s500); }
.contenuto.vista-config_credenziali button.cc-link { padding: 0; border: 0 !important; background: none !important; color: var(--n-s700) !important; font-size: 14px; font-weight: 600; text-decoration: underline; cursor: pointer; }
.vista-config_credenziali .cc-vuoto { margin: 0; font-size: 16px; }

/* menu del super amministratore: casella Cerca in alto e voci su due righe allineate a sinistra */
.sidebar ul li a span { text-align: left !important; line-height: 1.25 !important; }
.sidebar ul li.sa-cerca { margin: 0 0 12px !important; }
.sidebar ul li.sa-cerca form { position: relative; margin: 0; }
.sidebar ul li.sa-cerca i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 13px; pointer-events: none; }
.sidebar ul li.sa-cerca input[type=search] { box-sizing: border-box !important; width: 100% !important; height: 40px !important; margin: 0 !important; padding: 0 10px 0 34px !important; border: 1px solid rgba(255,255,255,.15) !important; border-radius: 8px !important; background: rgba(255,255,255,.08) !important; color: #f8fafc !important; font-size: 14px !important; outline: none; }
.sidebar ul li.sa-cerca input[type=search]::placeholder { color: #94a3b8; }
.sidebar ul li.sa-cerca input[type=search]:focus { border-color: rgba(255,255,255,.4) !important; background: rgba(255,255,255,.12) !important; }

/* pagina Cerca */
.vista-config_cerca .cr-form { display: flex; gap: 10px; margin: 0; }
.vista-config_cerca .cr-form input[type=search] { flex: 1; min-width: 0; height: 48px; padding: 0 14px; font-size: 17px !important; border: 1px solid var(--n-s200) !important; border-radius: 8px; background: #fff !important; }
.contenuto.vista-config_cerca button.cr-vai[type=submit] { flex: none; height: 48px; padding: 0 22px; border: 1px solid var(--n-s200) !important; border-radius: 8px; background: var(--n-s100) !important; color: var(--n-s900) !important; font-size: 16px; font-weight: 600; }
.vista-config_cerca .cr-vuoto { margin: 12px 0 0; font-size: 16px; color: var(--n-s500); }
.vista-config_cerca .cr-titolo { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 17px; font-weight: 700; color: var(--n-s900); }
.vista-config_cerca .cr-titolo i { color: var(--n-s500); }
.vista-config_cerca .cr-titolo span { padding: 1px 9px; border-radius: 99px; background: var(--n-s100); font-size: 13px; color: var(--n-s700); }
.vista-config_cerca .cr-riga { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border-top: 1px solid var(--n-s100); color: var(--n-s900) !important; text-decoration: none !important; }
.vista-config_cerca a.cr-riga:hover { background: var(--n-s50); }
.vista-config_cerca .cr-riga b { font-size: 16px; }
.vista-config_cerca .cr-riga span, .vista-config_cerca .cr-riga small { font-size: 14px; color: var(--n-s500); word-break: break-word; }
.vista-config_cerca .cr-riga > i { color: var(--n-s400); }
.vista-config_cerca .cr-condomini { display: flex; flex-wrap: wrap; gap: 6px; }
.vista-config_cerca .cr-condomini a { padding: 4px 10px; border: 1px solid var(--n-s200); border-radius: 99px; font-size: 13.5px; color: var(--n-s700) !important; text-decoration: none !important; white-space: nowrap; }
.vista-config_cerca .cr-condomini a:hover { background: var(--n-s50); }
.vista-config_cerca .cr-dettagli { padding: 6px 12px; border: 1px solid var(--n-s200); border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--n-s900) !important; text-decoration: none !important; }
@media (max-width: 700px) { .vista-config_cerca .cr-riga { grid-template-columns: 1fr; gap: 4px; } }
.gu-credenziali .c-invia { height: 40px; padding: 0 18px; border: 1px solid var(--n-s700); border-radius: 8px; background: var(--n-s700); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }
.gu-credenziali .c-invia:hover { background: var(--n-s900); }
.gu-credenziali .c-invia:disabled { opacity: .55; cursor: default; }

/* Gestione: barra sopra la lista utenti, fuori dalla tabella. Pulsanti tutti uguali, stessa distanza */
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:first-child { display: none !important; }
.vista-bdc_creagruppi .gu-lista-testa { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; margin: 0 0 14px; }
.vista-bdc_creagruppi .gu-lista-titolo { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--n-s400); }
.vista-bdc_creagruppi .gu-lista-testa .cerca-utente { float: none !important; margin: 0 !important; width: 260px; max-width: 100%; }
.vista-bdc_creagruppi .gu-lista-pulsanti { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.vista-bdc_creagruppi .gu-lista-pulsanti .btn { float: none !important; margin: 0 !important; width: 100%; height: 40px; padding: 0 12px !important; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: 14px; letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap; }
@media (max-width: 560px) { .vista-bdc_creagruppi .gu-lista-testa { grid-template-columns: 1fr; } .vista-bdc_creagruppi .gu-lista-testa .cerca-utente { width: 100%; } }
.vista-bdc_creagruppi .gu-lista-pulsanti .btn, .vista-bdc_creagruppi .gu-lista-pulsanti .btn:hover { text-decoration: none !important; color: var(--n-s900) !important; }

/* pagina amministratore (super amministratore): "Email preattivati" accanto alla ricerca, chiaro */
.contenuto .dash-preattivati { display: inline-flex !important; align-items: center; gap: 7px; height: 36px; padding: 0 14px !important; border-radius: 6px !important; border: 1px solid var(--n-s200) !important; background: #fff !important; color: var(--n-s900) !important; font-size: 14px; font-weight: 600; }
.contenuto .dash-preattivati:hover { background: var(--n-s50) !important; }
.contenuto .dash-preattivati .dash-num { padding: 0 8px; border-radius: 99px; background: var(--n-s100); font-size: 12.5px; }
.dash-pre-box { box-sizing: border-box; width: min(500px, 100%); padding: 24px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; }
.dash-pre-box .dp-testa { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--n-s200); }
.dash-pre-box .dp-icona { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--n-s900); color: #fff; font-size: 19px; }
.dash-pre-box .dp-titolo { font-size: 19px; font-weight: 700; color: var(--n-s900); }
.dash-pre-box .dp-sotto { margin-top: 2px; font-size: 13px; color: var(--n-s500); }
.dash-pre-box .dp-conta { margin-left: auto; padding: 4px 12px; border-radius: 99px; background: var(--n-s100); font-size: 13px; font-weight: 700; color: var(--n-s900); white-space: nowrap; }
.dash-pre-box .dp-passi { margin: 16px 0 14px; padding: 12px 14px 12px 34px; border-radius: 8px; background: var(--n-s50); border: 1px solid var(--n-s100); font-size: 14.5px; line-height: 1.5; color: var(--n-s700); }
.dash-pre-box .dp-elenco { flex: 1 1 auto; min-height: 60px; max-height: 260px; overflow-y: auto; margin: 0; padding: 0; list-style: none; border: 1px solid var(--n-s200); border-radius: 8px; }
.dash-pre-box .dp-elenco li { padding: 9px 14px; border-bottom: 1px solid var(--n-s100); font-size: 15px; color: var(--n-s900); word-break: break-all; }
.dash-pre-box .dp-elenco li:last-child { border-bottom: 0; }
.dash-pre-box .dp-vuoto { margin: 16px 0 0; font-size: 15px; color: var(--n-s700); }
.dash-pre-box .conf-piede { margin-top: 18px; }
.dash-pre-box .conf-si { background: var(--n-s100); border-color: var(--n-s200); color: var(--n-s900); }
.dash-pre-box .conf-si:hover { background: var(--n-s200); }
.dash-pre-box .dp-passi { list-style: none !important; padding: 12px 14px !important; counter-reset: dp; }
.dash-pre-box .dp-passi li { position: relative; padding: 3px 0 3px 32px; counter-increment: dp; }
.dash-pre-box .dp-passi li::before { content: counter(dp); position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--n-s900); color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }

/* Avviso ai preattivati: scelta delle persone e testo */
.dash-pre-box { width: min(600px, 100%); }
.dash-pre-box .dp-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-right: 2px; }
.dash-pre-box .dp-passo { display: flex; align-items: center; gap: 10px; margin: 18px 0 10px; font-size: 16px; font-weight: 700; color: var(--n-s900); }
.dash-pre-box .dp-passo span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: var(--n-s900); color: #fff; font-size: 13px; }
.dash-pre-box .dp-tutti { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; padding: 0 14px; font-size: 15px; font-weight: 600; color: var(--n-s900); cursor: pointer; }
.dash-pre-box .dp-tutti b { font-weight: 500; color: var(--n-s500); }
.dash-pre-box input[type=checkbox] { flex: none; width: 19px; height: 19px; margin: 0; cursor: pointer; }
.dash-pre-box .dp-elenco { max-height: 220px; }
.dash-pre-box .dp-elenco li { padding: 0; }
.dash-pre-box .dp-elenco label { display: flex; align-items: center; gap: 12px; margin: 0; padding: 9px 14px; cursor: pointer; }
.dash-pre-box .dp-elenco label:hover { background: var(--n-s50); }
.dash-pre-box .dp-elenco label span { display: flex; flex-direction: column; min-width: 0; }
.dash-pre-box .dp-elenco b { font-size: 15px; font-weight: 600; color: var(--n-s900); }
.dash-pre-box .dp-elenco small { font-size: 13px; color: var(--n-s500); word-break: break-all; }
.dash-pre-box .dp-campo { display: flex; flex-direction: column; gap: 6px; margin: 0 0 10px; font-size: 13px; font-weight: 600; color: var(--n-s500); }
.dash-pre-box .dp-oggetto, .dash-pre-box .dp-testo { box-sizing: border-box !important; width: 100%; padding: 10px 12px; border: 1px solid var(--n-s200) !important; border-radius: 8px; background: #fff !important; font-size: 15px !important; line-height: 1.45; color: var(--n-s900); }
.dash-pre-box .dp-oggetto { height: 42px; }
.dash-pre-box .dp-testo { resize: vertical; }
.dash-pre-box .dp-nota { margin: 8px 0 0; font-size: 13.5px; color: var(--n-s500); }
.dash-pre-box .conf-piede { gap: 8px; flex-wrap: wrap; }
.dash-pre-box .dp-copia { height: 40px; padding: 0 16px; border: 1px solid var(--n-s200); border-radius: 8px; background: #fff; font-size: 15px; font-weight: 600; color: var(--n-s900); cursor: pointer; }
.dash-pre-box .dp-copia:hover { background: var(--n-s100); }
.dash-pre-box .dp-invia { height: 40px; padding: 0 18px; border: 1px solid var(--n-s700); border-radius: 8px; background: var(--n-s700); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }
.dash-pre-box .dp-invia:hover { background: var(--n-s900); }
.dash-pre-box .dp-invia:disabled { opacity: .5; cursor: default; }
.dash-pre-box .dp-etichetta { margin: 16px 0 6px; font-size: 13px; font-weight: 600; color: var(--n-s500); }
.dash-pre-box .dp-campo { margin-top: 16px; }
.dash-pre-box .dp-avanti { height: 40px; padding: 0 18px; border: 1px solid var(--n-s700); border-radius: 8px; background: var(--n-s700); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }
.dash-pre-box .dp-avanti:hover { background: var(--n-s900); }
.dash-pre-box .dp-avanti:disabled { opacity: .5; cursor: default; }
.dash-pre-box .dp-indietro { height: 40px; padding: 0 16px; border: 1px solid var(--n-s200); border-radius: 8px; background: #fff; font-size: 15px; font-weight: 600; color: var(--n-s900); cursor: pointer; }
.dash-pre-box .dp-indietro:hover { background: var(--n-s100); }
.dash-pre-box .dp-per { margin: 16px 0 0; font-size: 15px; color: var(--n-s700); }
.dash-pre-box [hidden] { display: none !important; }
.vista-bdc_creagruppi .gu-lista-pulsanti .gu-num { padding: 0 8px; border-radius: 99px; background: var(--n-s100); font-size: 12.5px; }
.vista-bdc_creagruppi .gu-lista-pulsanti script { display: none; }
/* Utenti paganti: chi viene tolto si vede barrato; pulsante Disattiva rosso chiaro */
.dash-pre-box .dp-elenco li.dp-tolto b { text-decoration: line-through; color: var(--n-s500); }
.dash-pre-box .dp-elenco li.dp-tolto { background: #fef3f2; }
.dash-pre-box .dp-disattiva { height: 40px; padding: 0 18px; border: 1px solid #fecdca; border-radius: 8px; background: #fef3f2; color: #b42318; font-size: 15px; font-weight: 600; cursor: pointer; }
.dash-pre-box .dp-disattiva:hover { background: #fee4e2; }
.dash-pre-box .dp-disattiva:disabled { opacity: .5; cursor: default; }

/* Menu a tendina "Altre azioni" / "Registri": un pulsante che apre l'elenco delle azioni */
details.bdc-menu { position: relative; display: inline-block; }
details.bdc-menu > summary { list-style: none; cursor: pointer; user-select: none; }
details.bdc-menu > summary::-webkit-details-marker { display: none; }
details.bdc-menu .bdc-menu-freccia { font-size: 11px !important; margin-left: 2px; transition: transform .15s; }
details.bdc-menu[open] .bdc-menu-freccia { transform: rotate(180deg); }
details.bdc-menu .bdc-menu-voci { position: absolute; z-index: 60; top: calc(100% + 6px); right: 0; min-width: 240px; padding: 6px; background: #fff; border: 1px solid var(--n-s200); border-radius: 10px; box-shadow: 0 10px 30px rgba(15,23,42,.15); display: flex; flex-direction: column; gap: 2px; }
details.bdc-menu .bdc-menu-voci a, details.bdc-menu .bdc-menu-voci button { display: flex !important; align-items: center; gap: 10px; width: 100%; height: auto !important; padding: 10px 12px !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--n-s900) !important; font-size: 15px !important; font-weight: 600 !important; text-align: left; text-decoration: none !important; white-space: nowrap; cursor: pointer; box-shadow: none !important; }
details.bdc-menu .bdc-menu-voci a:hover, details.bdc-menu .bdc-menu-voci button:hover { background: var(--n-s50) !important; }
details.bdc-menu .bdc-menu-voci i { width: 18px; text-align: center; color: var(--n-s500); }
details.bdc-menu .bdc-menu-num { margin-left: auto; padding: 0 8px; border-radius: 99px; background: var(--n-s100); font-size: 12.5px; color: var(--n-s700); }
/* nella Gestione il menu occupa la sua colonna come gli altri pulsanti */
.vista-bdc_creagruppi .gu-lista-pulsanti details.bdc-menu { display: block; }
.vista-bdc_creagruppi .gu-lista-pulsanti details.bdc-menu > summary { width: 100%; }
/* righe dei condomini: il menu Registri si apre a sinistra sotto il pulsante */
#elencoArchivi details.bdc-menu .bdc-menu-voci { left: 0; right: auto; }
#elencoArchivi details.bdc-menu > summary { display: inline-flex; flex-direction: column; align-items: center; }
/* Aggiungi utente: collegamento a "Inserisci una lista intera" (super amministratore) */
.gu-nuovoutente .gn-lista { display: flex; align-items: center; gap: 12px; margin: 4px 0 10px; padding: 12px 14px; border: 1px dashed var(--n-s300, #cbd5e1); border-radius: 8px; background: var(--n-s50); color: var(--n-s700) !important; font-size: 14px; line-height: 1.35; text-decoration: none !important; }
.gu-nuovoutente .gn-lista:hover { background: var(--n-s100); }
.gu-nuovoutente .gn-lista b { color: var(--n-s900); }
.gu-nuovoutente .gn-lista i { color: var(--n-s500); }
.gu-nuovoutente .gn-lista i:last-child { margin-left: auto; font-size: 12px; }
.gu-nuovoutente input, .gu-nuovoutente select { box-sizing: border-box !important; }

/* Nuovo amministratore: i condomini nello stesso modulo */
.vista-config_nuovocliente .nc-condomini { align-items: flex-start; }
.vista-config_nuovocliente .nc-condomini > span:first-child { padding-top: 10px; }
.vista-config_nuovocliente .nc-condomini textarea { flex: 1; min-width: 0; box-sizing: border-box; width: 100%; padding: 10px 12px; border: 1px solid var(--n-s200) !important; border-radius: 8px; background: #fff !important; font-size: 15px !important; line-height: 1.5; resize: vertical; }
.vista-config_nuovocliente .nc-aiuto { display: block; margin: -2px 0 14px 114px; font-size: 13.5px; color: var(--n-s500); }
@media (max-width: 1100px) { .vista-config_nuovocliente .nc-aiuto { margin-left: 0; } }

/* pagina amministratore (super amministratore): a che punto e' ogni condominio */
#elencoArchivi .sa-stato { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 600; }
#elencoArchivi .sa-stato span { display: inline-block; padding: 2px 9px; border-radius: 99px; }
#elencoArchivi .sa-stato .vuoto { background: #fff4d6; color: #8a5a00; border: 1px solid #f3d27a; }
#elencoArchivi .sa-stato .pieno { background: #e9f7ef; color: #166534; border: 1px solid #b7e2c6; }
#elencoArchivi .sa-stato a { display: inline-block; margin-top: 6px; color: var(--n-s900) !important; text-decoration: underline !important; font-weight: 600; }
.vista-config_nuovocliente input, .vista-config_nuovocliente select, .vista-config_nuovocliente textarea { box-sizing: border-box !important; }
/* Inserisci persone: colonna Nome utente (larghezze ridistribuite) */
.vista-config_inserisci #insRighe col.c-cognome, .vista-config_inserisci #insRighe col.c-nome { width: 12%; }
.vista-config_inserisci #insRighe col.c-utente { width: 16%; }
.vista-config_inserisci #insRighe col.c-mail { width: 17%; }
.vista-config_inserisci #insRighe col.c-password { width: 14%; }
.vista-config_inserisci #insRighe col.c-mail2 { width: 15%; }
.vista-config_inserisci #insRighe col.c-note { width: 10%; }
.vista-config_inserisci #insRighe th { overflow: hidden; text-overflow: ellipsis; }
.vista-config_inserisci #insRighe input { box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; }

/* Nuova cartella (Archivio) */
.vista-bdc_BachecaCreaCartella .nc-card { background: #fff; border: 1px solid var(--n-s200); border-radius: 10px; padding: 22px 24px; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.vista-bdc_BachecaCreaCartella .nc-indietro { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: var(--n-s500) !important; text-decoration: none !important; }
.vista-bdc_BachecaCreaCartella .nc-indietro:hover { color: var(--n-s900) !important; }
.vista-bdc_BachecaCreaCartella .nc-titolo { display: flex; align-items: center; gap: 10px; margin: 12px 0 18px; font-size: 24px; font-weight: 700; color: var(--n-s900); }
.vista-bdc_BachecaCreaCartella .nc-titolo i { color: var(--n-s500); }
.vista-bdc_BachecaCreaCartella .nc-campo { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--n-s700); }
.vista-bdc_BachecaCreaCartella .nc-riga { display: flex; gap: 10px; max-width: 560px; }
.vista-bdc_BachecaCreaCartella .nc-riga input[type=text] { flex: 1; min-width: 0; box-sizing: border-box !important; height: 46px; padding: 0 14px !important; border: 1px solid var(--n-s200) !important; border-radius: 8px !important; background: #fff !important; font-size: 16px !important; }
.contenuto.vista-bdc_BachecaCreaCartella input.nc-salva[type=submit] { flex: none; height: 46px; padding: 0 26px !important; border: 1px solid var(--n-s900) !important; border-radius: 8px !important; background: var(--n-s900) !important; color: #fff !important; font-size: 16px !important; font-weight: 600; cursor: pointer; }
.vista-bdc_BachecaCreaCartella .nc-permessi { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--n-s200); }
.vista-bdc_BachecaCreaCartella .nc-permessi h2 { margin: 0 0 4px; font-size: 18px; font-weight: 700; color: var(--n-s900); }
.vista-bdc_BachecaCreaCartella .nc-permessi > p { margin: 0 0 14px; font-size: 14.5px; line-height: 1.45; color: var(--n-s600, #475569); }
.vista-bdc_BachecaCreaCartella .nc-gruppi { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.contenuto.vista-bdc_BachecaCreaCartella button.nc-gruppo { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 1px solid var(--n-s200) !important; border-radius: 99px; background: #fff !important; color: var(--n-s700) !important; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.contenuto.vista-bdc_BachecaCreaCartella button.nc-gruppo i { opacity: 0; }
.contenuto.vista-bdc_BachecaCreaCartella button.nc-gruppo.scelto { border-color: var(--n-s700) !important; background: var(--n-s100) !important; color: var(--n-s900) !important; }
.contenuto.vista-bdc_BachecaCreaCartella button.nc-gruppo.scelto i { opacity: 1; }
.vista-bdc_BachecaCreaCartella .nc-persone { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 6px; }
.vista-bdc_BachecaCreaCartella .nc-persona { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 9px 12px; border: 1px solid var(--n-s100); border-radius: 8px; cursor: pointer; }
.vista-bdc_BachecaCreaCartella .nc-persona:hover { background: var(--n-s50); }
.vista-bdc_BachecaCreaCartella .nc-persona input { flex: none; width: 18px; height: 18px; margin: 0; bottom: 0 !important; }
.vista-bdc_BachecaCreaCartella .nc-persona span { display: flex; flex-direction: column; min-width: 0; }
.vista-bdc_BachecaCreaCartella .nc-persona b { font-size: 15px; font-weight: 600; color: var(--n-s900); }
.vista-bdc_BachecaCreaCartella .nc-persona small { font-size: 12.5px; color: var(--n-s500); }
.vista-bdc_BachecaCreaCartella .nc-vuoto { margin: 0; font-size: 14.5px; color: var(--n-s500); }
/* Inserisci utenti, riepilogo: pulsanti dopo l'inserimento */
.vista-config_inserisci .ins-dopo { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.vista-config_inserisci .ins-dopo .btn { display: inline-flex !important; align-items: center; gap: 7px; height: 38px; padding: 0 16px !important; text-decoration: none !important; }
.contenuto.vista-config_inserisci a.ins-gestione { background: var(--n-s900) !important; border: 1px solid var(--n-s900) !important; color: #fff !important; font-weight: 600; }
.contenuto.vista-config_inserisci a.ins-gestione:hover { background: #000 !important; }
.vista-config_inserisci .ins-preattiva { display: flex; align-items: center; gap: 8px; margin: 0 0 0 auto; font-size: 15px; font-weight: 600; color: var(--n-s900); cursor: pointer; }
.vista-config_inserisci .ins-preattiva input { width: 19px; height: 19px; margin: 0; }
.vista-config_inserisci .ins-preattiva small { font-weight: 400; color: var(--n-s500); }

/* Gestione: pulsanti sopra la lista utenti scuri con scritta bianca */
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn, .contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn:visited { background: var(--n-s900) !important; border-color: var(--n-s900) !important; color: #fff !important; }
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn:hover { background: #000 !important; border-color: #000 !important; color: #fff !important; }
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn i { color: #fff !important; }
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .gu-num { background: rgba(255,255,255,.2) !important; color: #fff !important; }
/* stesso grigio scuro del pulsante "Crea" */
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn, .contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn:visited { background: #333 !important; border-color: #333 !important; }
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn:hover { background: #1f2328 !important; border-color: #1f2328 !important; }
/* identici al pulsante "Crea": senza bordo, stessa altezza, carattere e spaziatura */
.contenuto.vista-bdc_creagruppi .gu-lista-pulsanti .btn { border: 0 !important; height: 32px !important; padding: 0 18px !important; border-radius: 6px !important; font-family: Tahoma, Arial, Helvetica, sans-serif !important; font-size: 13px !important; font-weight: 600 !important; line-height: 32px !important; box-shadow: none !important; }

/* pagina amministratore: crediti e "Aggiungi crediti" */
.sa-crediti { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0 0; }
.sa-crediti-conta { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 99px; background: #e9f7ef; border: 1px solid #b7e2c6; color: #166534; font-size: 14px; }
.sa-crediti-conta.finiti { background: #fff4d6; border-color: #f3d27a; color: #8a5a00; }
.sa-crediti-conta small { opacity: .8; }
.sa-crediti input[type=number] { box-sizing: border-box !important; width: 90px; height: 36px; padding: 0 10px !important; border: 1px solid var(--n-s200) !important; border-radius: 6px !important; background: #fff !important; font-size: 14px !important; }
.contenuto button.sa-crediti-agg[type=submit] { height: 36px; padding: 0 14px !important; border: 0 !important; border-radius: 6px !important; background: #333 !important; color: #fff !important; font-size: 13px !important; font-weight: 600; }
.contenuto button.sa-crediti-agg[type=submit]:hover { background: #1f2328 !important; }

/* Gestione: doppio clic sull'euro di un utente attivo */
.gu-stato .gu-stato-testo { margin: 8px 0 14px; font-size: 15px; color: var(--n-s700); }
.gu-stato .gu-stato-scelte { display: flex; flex-direction: column; gap: 8px; }
.gu-stato .gu-stato-scelte button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 1px solid var(--n-s200); border-radius: 10px; background: #fff; text-align: left; cursor: pointer; }
.gu-stato .gu-stato-scelte button:hover { background: var(--n-s50); border-color: var(--n-s400); }
.gu-stato .gu-stato-scelte i { width: 22px; font-size: 18px; color: var(--n-s500); text-align: center; }
.gu-stato .gu-stato-scelte span { display: flex; flex-direction: column; }
.gu-stato .gu-stato-scelte b { font-size: 15px; color: var(--n-s900); }
.gu-stato .gu-stato-scelte small { font-size: 13px; color: var(--n-s500); }
.gu-stato .gu-stato-scelte button[data-azione="disattiva"] b { color: #b42318; }

/* ------------------------------------------------ pagina di accesso: parte blu e parte bianca a metà, con Google Meet, etichette dei campi e GDPR */
@media (min-width: 901px) {
	.contenuto .accesso { grid-template-columns: 1fr 1fr !important; }
	.contenuto .accesso .assist { padding: 40px 40px !important; gap: 24px !important; }
	.contenuto .accesso .accesso-logo { width: 190px !important; height: 190px !important; }
	.contenuto .accesso .accesso-assistenza { font-size: 26px; }
	.contenuto .accesso .assist-contatti { gap: 14px !important; }
	.contenuto .accesso .assist-contatti > a { min-height: 84px; padding: 16px 22px !important; gap: 18px; }
	.contenuto .accesso .assist-contatti img { width: 38px !important; height: 38px !important; }
	.contenuto .accesso .assist-contatti b { font-size: 18px !important; }
	.contenuto .accesso .assist-contatti span { font-size: 17px !important; }
	.contenuto .accesso-login { padding: 30px 40px !important; }
}
.contenuto .accesso-login { grid-template-columns: minmax(0, 580px); justify-content: center; }
.contenuto .accesso-login form.modal-content { max-width: 580px !important; }
.contenuto .accesso .assist-contatti > a:nth-child(4) { animation-delay: .42s; }
.contenuto .accesso .assist-contatti > a.assist-meet { cursor: default; }
.contenuto .accesso .assist-contatti > a.assist-meet:hover { transform: none; box-shadow: none; }
/* nome dei campi sopra ogni casella, a sinistra */
.contenuto .accesso-login label.label { display: block !important; text-align: left; font-size: 16px !important; color: var(--n-s900); margin: 0 0 6px 2px !important; }
.contenuto .accesso-login label.label b { font-weight: 600; }
/* loghetto GDPR in alto a destra nel riquadro bianco, porta all'informativa sulla privacy */
.contenuto .accesso-login .accesso-gdpr { position: absolute; top: 16px; right: 18px; z-index: 2; line-height: 0; }
.contenuto .accesso-login .accesso-gdpr img { height: 58px; width: auto; transition: transform .2s; }
.contenuto .accesso-login .accesso-gdpr:hover img { transform: scale(1.06); }
.contenuto .accesso-login .accesso-torna { grid-row: 3; margin-top: 16px; font-size: 16px; color: var(--n-s700) !important; text-decoration: none !important; }
.contenuto .accesso-login .accesso-torna:hover { text-decoration: underline !important; text-underline-offset: 3px; }
/* Registrati, Modifica Password e Recupera nome utente nello stesso riquadro di "Accedi" */
.contenuto .accesso-login form:not(#modulo-login) > .container:first-child { font-size: 15px; }
.contenuto .accesso-login form:not(#modulo-login) .form-control, .contenuto .accesso-login form:not(#modulo-login) textarea { display: block; }
.contenuto .accesso-login form:not(#modulo-login) .form-control { height: 56px !important; border-radius: 16px !important; font-size: 16px !important; padding: 0 16px !important; margin-bottom: 16px !important; box-shadow: none !important; }
.contenuto .accesso-login label.label[style*="color:blue"], .contenuto .accesso-login #captcha-label { display: none !important; }
.contenuto .accesso-login #captcha-img { vertical-align: middle; border-radius: 10px; }
.contenuto .accesso-login input.captcha { width: calc(55% - 10px) !important; margin-bottom: 0 !important; vertical-align: middle; }
.contenuto .accesso-login textarea#testo { margin: 18px 0 12px; padding: 10px 12px; border: 1px solid #e3e7ec; border-radius: 12px; font-size: 13.5px; color: var(--n-s700); background: #f8fafc; }
.contenuto .accesso-login #condizioni { width: 20px; height: 20px; vertical-align: -4px; margin-right: 6px; }
.contenuto .accesso-login #modulo-register .psw a { color: rgb(30,47,70) !important; font-size: 15px !important; }
.contenuto .accesso-login #modulo-register button.btn2 { margin-top: 18px; }
.contenuto .accesso-login .invalid-feedback { margin: -10px 0 12px; }
/* modulo lungo (Registrati): i contatti restano subito sotto il logo */
.contenuto .accesso:has(#modulo-register) .assist-testa { flex: 0 0 auto; }
.contenuto .accesso:has(#modulo-register) .assist-contatti { margin-top: 0; }
.contenuto .accesso-login input[type=text], .contenuto .accesso-login input[type=password], .contenuto .accesso-login input[type=email] { width: 100% !important; }
.contenuto .accesso-login form button.btn2, .contenuto .accesso-login form button[type=submit] { width: 100%; color: #fff !important; background: linear-gradient(160deg, rgb(20,34,53), rgb(30,47,70)) !important; border: 0; }

/* ------------------------------------------------ primo accesso: finestra dei cookie al centro, dietro la pagina di accesso sfumata */
.cookie-dietro { filter: blur(5px); opacity: .6; pointer-events: none; user-select: none; }
.cookie-sfondo { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15,23,42,.25); }
.cookie-box { width: min(440px, 100%); display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 30px 28px; background: #fff; border-radius: 22px; text-align: center;
	box-shadow: 0 30px 70px rgba(15,23,42,.3); font-family: Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.5; color: #1e293b; }
.cookie-box p { margin: 0; }
.cookie-box a { color: rgb(30,47,70) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cookie-box .cookie-ok { margin-top: 6px; height: 50px; padding: 0 48px; border: 0; border-radius: 14px; font-size: 17px; font-weight: 700; cursor: pointer;
	color: #fff !important; background: linear-gradient(160deg, rgb(20,34,53), rgb(30,47,70)) !important; box-shadow: 0 8px 18px rgba(15,23,42,.2); }
.cookie-box .cookie-ok:hover { background: linear-gradient(160deg, rgb(28,44,66), rgb(40,60,88)) !important; }
.contenuto .accesso-login #rusername_response:empty { display: none !important; }
body:has(.accesso) { height: auto !important; min-height: 100%; }   /* moduli lunghi (Registrati): lo sfondo arriva fino in fondo */
/* finestre di avviso (es. "File troppo grandi"): tasto OK sempre scuro con la scritta bianca, su ogni pagina */
.conf-sfondo .conf-si { color: #fff !important; background: var(--n-s900, #0f172a) !important; border-color: var(--n-s900, #0f172a) !important; }
.conf-sfondo .conf-box.pericolo .conf-si { background: #b91c1c !important; border-color: #b91c1c !important; }
.conf-sfondo .gu-scheda .conf-si, .conf-sfondo .dash-pre-box .conf-si { color: var(--n-s900) !important; background: var(--n-s100) !important; border-color: var(--n-s200) !important; }

/* ------------------------------------------------ pagina amministratore: tasti di ogni condominio tutti uguali (icona sopra, due righe di testo sotto) */
.vista-bdc #elencoArchivi .align-left { display: flex; gap: 6px; }
.vista-bdc #elencoArchivi .align-left > a { margin: 0 !important; float: none !important; }
.contenuto #elencoArchivi .dash-tasto { width: 96px !important; height: 62px !important; padding: 6px 4px !important; margin: 0 !important;
	display: inline-flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	font-size: 12.5px !important; line-height: 1.2 !important; font-weight: 600 !important; text-align: center; white-space: normal;
	border: 1px solid var(--n-s200) !important; border-radius: 8px !important; background: #fff !important; color: var(--n-s700) !important; position: relative; }
.contenuto #elencoArchivi .dash-tasto:hover { background: var(--n-s100) !important; color: var(--n-s900) !important; }
.contenuto #elencoArchivi .dash-tasto i { margin: 0 !important; font-size: 15px; color: var(--n-s500); }
.contenuto #elencoArchivi .dash-esporta-box { padding: 0; }
/* pagina amministratore: "Crea archivio" a sinistra, ricerca e contatori a destra */
.vista-bdc .dash-testa > .dash-crea { margin-right: auto; }

/* ------------------------------------------------ Gestione: codice di invito come il nome del condominio, ma non in grassetto e senza sfondo */
.vista-bdc_creagruppi .gu-gruppi table.table tr:first-child > th:nth-child(2) { text-align: center !important; }
.vista-bdc_creagruppi .gu-gruppi table.table tr:not(:first-child) > td:nth-child(2) { text-align: center !important; }
.vista-bdc_creagruppi .gu-card .Stile3 { font-family: inherit !important; font-size: 14px !important; font-weight: 400 !important; color: var(--n-s900) !important;
	background: none !important; padding: 0 !important; border-radius: 0 !important; letter-spacing: .02em; }
/* Lista complessiva Utenti: titolo, subito dopo "Cerca utente", poi i tasti che riempiono il resto della riga */
.vista-bdc_creagruppi .gu-lista-testa { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 10px !important; }
.vista-bdc_creagruppi .gu-lista-titolo { flex: 0 0 auto; margin: 0 !important; }
.vista-bdc_creagruppi .gu-lista-testa .cerca-utente { flex: 0 0 240px; width: 240px !important; }
.vista-bdc_creagruppi .gu-lista-pulsanti { flex: 1 1 320px; display: flex !important; flex-wrap: wrap; gap: 8px; grid-column: auto !important; }
.vista-bdc_creagruppi .gu-lista-pulsanti > .btn, .vista-bdc_creagruppi .gu-lista-pulsanti > details { flex: 1 1 0; min-width: 150px; }
/* cestino come quello accanto al codice di invito; le icone a destra tutte alla stessa distanza */
.vista-bdc_creagruppi #elencoUtenti a.gu-cestino { display: inline-block; line-height: 0; opacity: .9; }
.vista-bdc_creagruppi #elencoUtenti a.gu-cestino:hover { opacity: 1; filter: drop-shadow(0 0 2px rgba(180,35,24,.35)); }
.vista-bdc_creagruppi #elencoUtenti { table-layout: fixed; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(n+3) { width: 64px !important; padding-left: 0 !important; padding-right: 0 !important; text-align: center !important; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(1) { width: 30% !important; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(2) { width: auto !important; }
.vista-bdc_creagruppi #elencoUtenti a.gu-annulla { display: inline-block; line-height: 0; }
.vista-bdc_creagruppi #elencoUtenti a.gu-annulla:hover img { filter: drop-shadow(0 0 2px rgba(15,23,42,.35)); }
/* Note: casella al centro della riga, in verticale */
.vista-bdc_creagruppi textarea.gu-nota:not(.aperta) { top: 50% !important; transform: translateY(-50%); }

/* ------------------------------------------------ Gestione e Archivio: pagina più compatta in verticale (meno spazi, finestre e campi più bassi) */
.contenuto.vista-bdc_creagruppi > br, .contenuto.vista-bdc_creabacheca > br { display: none; }
.contenuto.vista-bdc_creagruppi > img[src*="blank.png"], .contenuto.vista-bdc_creabacheca > img[src*="blank.png"] { display: none; }
.contenuto.vista-bdc_creagruppi > h6, .contenuto.vista-bdc_creabacheca > h6 { margin: 0 0 8px !important; display: flow-root; }
.contenuto.vista-bdc_creagruppi > table, .contenuto.vista-bdc_creabacheca > table { margin-bottom: 8px; }
.vista-bdc_creagruppi .gu-card { padding: 12px 16px !important; margin: 10px 0 !important; }
.vista-bdc_creagruppi .gu-card table.table { border-spacing: 0 5px !important; margin: -5px 0 0 !important; }
.vista-bdc_creagruppi .gu-card table.table td, .vista-bdc_creagruppi .gu-card table.table th { padding-top: 3px !important; padding-bottom: 3px !important; }
.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(n+3) > td { height: 40px; }
.vista-bdc_creagruppi td.gu-nota-cella { height: 40px; }
.vista-bdc_creagruppi #elencoUtenti img { width: 28px !important; height: 28px !important; }
.vista-bdc_creagruppi .gu-card table.table img { width: 28px !important; height: 28px !important; }
/* campi di scrittura alti come la prima riga delle Note */
.vista-bdc_creagruppi .gu-card input[type=text], .vista-bdc_creagruppi .gu-card input[type=search],
.vista-bdc_creabacheca input[type=text], .vista-bdc_creabacheca input[type=search] { height: 30px !important; min-height: 30px !important; line-height: 28px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.vista-bdc_creagruppi .gu-card .button, .vista-bdc_creagruppi .gu-card input[type=submit] { height: 30px !important; line-height: 28px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.vista-bdc_creagruppi .gu-lista-pulsanti > .btn { height: 30px !important; line-height: 30px !important; }
.contenuto.vista-bdc_creagruppi > section, .contenuto.vista-bdc_creabacheca > section, .contenuto.vista-bdc_creagruppi > table, .contenuto.vista-bdc_creabacheca > table { clear: both; }

/* ------------------------------------------------ Archivio: icone sottili come in Gestione (stessa misura), righe più basse */
.vista-bdc_creabacheca .arc-lista { gap: 6px !important; }
.vista-bdc_creabacheca .arc-row { padding: 5px 12px !important; gap: 10px !important; min-height: 44px; }
.vista-bdc_creabacheca .arc-icona { width: 34px !important; height: 34px !important; border-radius: 8px !important; font-size: 19px !important; }
.vista-bdc_creabacheca .arc-icona img { width: 28px; height: 28px; display: block; }
.vista-bdc_creabacheca .arc-icona-cartella, .vista-bdc_creabacheca .arc-icona-su { background: none !important; }
.vista-bdc_creabacheca .arc-allarme { height: 28px !important; width: auto !important; }
.vista-bdc_creabacheca .arc-icona-btn { width: 40px !important; height: 36px !important; font-size: 18px !important; }
.vista-bdc_creabacheca .arc-icona-btn img { width: 28px; height: 28px; display: block; opacity: .95; }
.vista-bdc_creabacheca .arc-icona-btn:hover img { opacity: 1; filter: drop-shadow(0 0 1.5px rgba(15,23,42,.35)); }
.vista-bdc_creabacheca .arc-icona-btn.arc-pericolo:hover img { filter: drop-shadow(0 0 2px rgba(180,35,24,.4)); }
.vista-bdc_creabacheca .arc-link { height: 36px !important; }
.vista-bdc_creabacheca .arc-link img { width: 26px; height: 26px; }
.vista-bdc_creabacheca .arc-row-side { gap: 2px !important; }
.vista-bdc_creabacheca .arc-data { margin-right: 8px !important; }
.vista-bdc_creabacheca .arc-card { padding-top: 12px !important; padding-bottom: 12px !important; margin-bottom: 10px !important; }
.vista-bdc_creabacheca .arc-elenco-testa { margin-bottom: 8px !important; }
.vista-bdc_creabacheca .arc-elenco-testa h2 { margin: 0 !important; }
.contenuto.vista-bdc_creabacheca > .arc { clear: both; padding-top: 0 !important; }
.vista-bdc_creabacheca .arc-upload { min-height: 0 !important; padding: 10px 12px !important; }
.vista-bdc_creabacheca .arc-barra { align-items: center !important; }
.vista-bdc_creabacheca .arc-percorso { padding: 8px 12px !important; min-height: 0 !important; }
.vista-bdc_creabacheca .arc-note textarea { height: 58px !important; min-height: 58px; }

/* ================================================ TELEFONO E TABLET (ultime regole: valgono sopra quelle per il computer) */
@media screen and (max-width: 1100px) {
	/* pagina amministratore: tasti dei condomini 3 per riga, a tutta larghezza */
	.vista-bdc #elencoArchivi .d-flex-space-between { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 6px; }
	.vista-bdc #elencoArchivi .align-left, .vista-bdc #elencoArchivi .align-right, .vista-bdc #elencoArchivi .dash-esporta-box { display: contents !important; }
	.vista-bdc #elencoArchivi .align-left > a { display: block; }
	.contenuto #elencoArchivi .dash-tasto { width: 100% !important; }
	.vista-bdc .dash-testa > .dash-crea { width: 100%; justify-content: center; margin-right: 0; }

	/* Gestione: ogni utente è una scheda (nome, nota sotto, icone in fila) */
	.vista-bdc_creagruppi #elencoUtenti { table-layout: auto !important; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(n), .vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(1), .vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(2), .vista-bdc_creagruppi #elencoUtenti > tbody > tr > :nth-child(n+3) { width: auto !important; height: auto !important; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr > td:first-child { grid-column: 1 / -1; white-space: normal; }
	.vista-bdc_creagruppi td.gu-nota-cella { height: auto !important; min-width: 0; }
	.vista-bdc_creagruppi textarea.gu-nota, .vista-bdc_creagruppi textarea.gu-nota:not(.aperta) { position: static !important; transform: none !important; width: 100% !important; }
	.vista-bdc_creagruppi #elencoUtenti > tbody > tr:nth-child(n+3) > td { padding: 6px 4px !important; }
	.vista-bdc_creagruppi .gu-lista-testa { flex-direction: column; align-items: stretch !important; }
	.vista-bdc_creagruppi .gu-lista-testa .cerca-utente { flex: 0 0 auto; width: 100% !important; }
	.vista-bdc_creagruppi .gu-lista-pulsanti { flex: 0 0 auto; }
	.vista-bdc_creagruppi .gu-lista-pulsanti > .btn, .vista-bdc_creagruppi .gu-lista-pulsanti > details { flex: 1 1 200px; min-width: 0; height: 40px !important; }
	.vista-bdc_creagruppi .gu-gruppi table.table { table-layout: auto !important; }
	.vista-bdc_creagruppi .gu-gruppi table.table tr > * { width: auto !important; }
	.vista-bdc_creagruppi .gu-gruppi table.table tr:not(:first-child) > td:nth-child(2) { text-align: left !important; }

	/* Archivio: nome del file su tutta la riga, le icone sotto */
	.vista-bdc_creabacheca .arc-row { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; }
	.vista-bdc_creabacheca .arc-row-main { flex: 1 1 100%; }
	.vista-bdc_creabacheca .arc-row-side { width: 100%; justify-content: flex-start !important; padding-left: 0 !important; }
	.vista-bdc_creabacheca .arc-icona { width: 34px !important; height: 34px !important; }
	.vista-bdc_creabacheca .arc-icona-btn { width: 38px !important; height: 40px !important; }
	.vista-bdc_creabacheca .arc-row-side { gap: 0 !important; }
	.vista-bdc_creabacheca .arc-row-file .arc-data { flex: 0 0 100%; margin: 0 0 2px !important; }   /* data sopra, poi le icone in fila */
	.vista-bdc_creabacheca .arc-row-cartella .arc-row-side:empty { display: none; }

	/* in generale: niente esce dallo schermo */
	body { overflow-x: clip; }   /* clip e non hidden: la pagina continua a scorrere normalmente */
	.contenuto img { max-width: 100%; height: auto; }
	.contenuto pre, .contenuto code { white-space: pre-wrap; word-break: break-word; }
	.contenuto input, .contenuto select, .contenuto textarea, .contenuto button { max-width: 100%; }
	.conf-box { max-height: calc(100vh - 32px); overflow-y: auto; }
}
@media screen and (max-width: 1100px) {
	.contenuto input[type=text], .contenuto input[type=email], .contenuto input[type=search], .contenuto input[type=password] { max-width: 100% !important; box-sizing: border-box; }
}
@media screen and (min-width: 600px) and (max-width: 1100px) {
	.vista-bdc .dash-testa > .dash-crea { width: auto; flex: 0 0 auto; }
	.vista-bdc .dash-testa { flex-wrap: nowrap; }
	.vista-bdc .dash-testa .dash-azioni { width: auto; flex: 1; justify-content: flex-end; flex-wrap: nowrap; }
	.vista-bdc .dash-testa .cerca-archivio { flex: 0 1 280px; width: auto; }
}
@media screen and (max-width: 1100px) {
	.vista-config_ricerche .ric-chi { flex: 1 1 100%; min-width: 0; }
	.vista-config_ricerche .ric-chi input { width: 100% !important; }
}
.contenuto #elencoArchivi .dash-tasto span:not(.badge) { display: block; text-wrap: balance; overflow-wrap: anywhere; }

/* ------------------------------------------------ pagina di accesso: bandiere delle lingue (in alto a sinistra nel riquadro) */
.contenuto .accesso-login .accesso-lingue { position: absolute; top: 22px; left: 20px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 110px); }
.contenuto .accesso-login .accesso-bandiera { width: 34px; height: 24px; padding: 0; border: 1px solid #d5dbe3; border-radius: 4px; background: #fff; cursor: pointer; overflow: hidden; line-height: 0; transition: transform .15s, box-shadow .15s; }
.contenuto .accesso-login .accesso-bandiera img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contenuto .accesso-login .accesso-bandiera:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(15,23,42,.18); }
.contenuto .accesso-login .accesso-bandiera.attiva { outline: 2px solid rgb(30,47,70); outline-offset: 1px; }
.lingua-box img { width: 54px; height: 36px; border: 1px solid #d5dbe3; border-radius: 4px; object-fit: cover; }
.lingua-box p { font-size: 17px !important; font-weight: 600; }
.lingua-piede { display: flex; gap: 10px; justify-content: center; width: 100%; }
.lingua-piede button { min-width: 110px; }
.lingua-box .lingua-no { margin-top: 6px; height: 50px; padding: 0 30px; border: 1px solid #cbd5e1; border-radius: 14px; background: #fff; color: #1e293b; font-size: 17px; font-weight: 700; cursor: pointer; }
.lingua-box .lingua-no:hover { background: #f1f5f9; }
@media (max-width: 480px) { .contenuto .accesso-login .accesso-bandiera { width: 30px; height: 21px; } }
/* titolo del riquadro un po' più in basso: sopra c'è la riga con bandiere e GDPR */
.contenuto .accesso-login > h2 { padding-top: 70px !important; }
.contenuto .accesso-login form.modal-content { padding-top: 140px !important; }
.contenuto .accesso-login .accesso-lingue { top: 18px; }
/* bandiere fuori dal riquadro: in alto nella parte bianca, centrate e più grandi */
.contenuto .accesso-login { position: relative; }
.contenuto .accesso-login > .accesso-lingue { position: absolute; top: 26px; left: 0; right: 0; max-width: none; justify-content: center; gap: 10px; }
.contenuto .accesso-login > .accesso-lingue .accesso-bandiera { width: 44px; height: 30px; border-radius: 5px; }
.contenuto .accesso-login > h2 { padding-top: 38px !important; }
.contenuto .accesso-login form.modal-content { padding-top: 106px !important; }
@media (max-width: 900px) {
	.contenuto .accesso-login > .accesso-lingue { position: static; grid-row: 1; margin: 4px 0 18px; }
	.contenuto .accesso-login > h2 { grid-row: 2; }
	.contenuto .accesso-login form.modal-content { grid-row: 3; }
}
/* riga sopra il riquadro: bandiere al centro, loghetto GDPR (più piccolo) a destra, allineato al bordo del riquadro */
.contenuto .accesso-login > .accesso-riga-alta { position: absolute; top: 20px; left: 0; right: 0; width: min(580px, calc(100% - 32px)); margin: 0 auto; z-index: 2;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-lingue { position: static; grid-column: 2; display: flex; gap: 10px; max-width: none; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr { position: static; grid-column: 3; justify-self: end; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr img { height: 40px; }
@media (max-width: 900px) {
	.contenuto .accesso-login > .accesso-riga-alta { position: static; grid-row: 1; width: 100%; margin: 4px 0 18px; grid-template-columns: 1fr auto; gap: 10px; }
	.contenuto .accesso-login .accesso-riga-alta > .accesso-lingue { grid-column: 1; flex-wrap: wrap; justify-content: flex-start; gap: 6px; margin: 0; }
	.contenuto .accesso-login .accesso-riga-alta > .accesso-lingue .accesso-bandiera { width: 36px; height: 25px; }
	.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr { grid-column: 2; }
	.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr img { height: 34px; }
}
.contenuto .accesso-login .accesso-riga-alta .accesso-bandiera { width: 44px; height: 30px; border-radius: 5px; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr img { height: 46px; }
@media (max-width: 900px) {
	.contenuto .accesso-login .accesso-riga-alta .accesso-bandiera { width: 36px; height: 25px; }
	.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr img { height: 36px; }
}
/* riga bandiere + GDPR: sempre subito sopra il riquadro (anche con i moduli lunghi come Registrati), mai sovrapposta */
.contenuto .accesso-login > .accesso-riga-alta { position: static !important; grid-row: 1; width: min(580px, 100%); margin: 0 auto 18px; }
.contenuto .accesso-login > h2 { grid-row: 2 !important; }
.contenuto .accesso-login > form.modal-content { grid-row: 3 !important; }
.contenuto .accesso-login > .accesso-torna { grid-row: 4 !important; }
/* bandiere + GDPR in alto nella parte bianca (come prima); sotto resta uno spazio fisso, così i moduli lunghi non ci finiscono sopra */
@media (min-width: 901px) {
	.contenuto .accesso-login > .accesso-riga-alta { position: absolute !important; top: 24px; left: 0; right: 0; margin: 0 auto; }
	.contenuto .accesso-login { padding-top: 92px !important; }
}
@media (min-width: 901px) {
	.contenuto .accesso-login > .accesso-riga-alta { grid-row: auto !important; grid-column: auto !important; }   /* riferita a tutta la parte bianca, non alla prima riga della griglia */
}
/* tasti dei condomini: una parola per riga, tutti uguali (anche "Esporta utenti") */
.contenuto #elencoArchivi .dash-tasto span:not(.badge) { width: min-content; margin: 0 auto; overflow-wrap: normal; word-break: normal; }
/* bandiere a sinistra (allineate al bordo del riquadro), GDPR a destra */
.contenuto .accesso-login .accesso-riga-alta { grid-template-columns: 1fr auto !important; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-lingue { grid-column: 1 !important; justify-self: start; justify-content: flex-start !important; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-gdpr { grid-column: 2 !important; }
/* bandiere un po' più piccole e un po' più distanziate */
.contenuto .accesso-login .accesso-riga-alta .accesso-bandiera { width: 38px; height: 26px; }
.contenuto .accesso-login .accesso-riga-alta > .accesso-lingue { gap: 14px !important; }
@media (max-width: 900px) {
	.contenuto .accesso-login .accesso-riga-alta .accesso-bandiera { width: 32px; height: 22px; }
	.contenuto .accesso-login .accesso-riga-alta > .accesso-lingue { gap: 9px !important; }
}
