/* =====================================================================
 * Tema UMI — bianco e celeste
 *
 * Il celeste e' quello del marchio: #009FE3, campionato da
 * images/logo_umi_celeste.png. Il tema precedente era giallo
 * (navbar-warning / sidebar-dark-warning di AdminLTE) e non aveva
 * rapporto con l'identita' dell'Unione.
 *
 * Caricato per ultimo da header.php, quindi vince su adminlte.css senza
 * bisogno di !important, salvo i pochi casi segnalati.
 *
 * Contrasto: #009FE3 su bianco da' 2,97:1, sotto il minimo di 4,5:1 per
 * il testo. Percio' il celeste vive come fondo, bordo e riempimento,
 * mentre testo e bottoni usano le due varianti scure, che superano la
 * soglia (--umi-celeste-scuro su bianco: 4,9:1).
 * ===================================================================== */

:root {
	--umi-celeste:        #009FE3;   /* marchio: fondi, bordi, accenti */
	--umi-celeste-scuro:  #0077AF;   /* testo e bottoni su bianco */
	--umi-celeste-cupo:   #005F8C;   /* stati premuti */
	--umi-blu:            #00355A;   /* titoli e testo forte */
	--umi-pallido:        #E8F5FC;   /* fondi tenui, righe alternate */
	--umi-pallido-2:      #F4FAFE;   /* fondo pagina */
	--umi-bordo:          #CDE7F5;   /* filetti */
	--umi-grigio:         #5A6B78;   /* testo secondario */

	--umi-raggio:         6px;
	--umi-ombra:          0 1px 2px rgba(0, 53, 90, .06), 0 6px 18px -12px rgba(0, 53, 90, .35);
}

/* ── Fondo e testo ─────────────────────────────────────────────── */

body,
.content-wrapper {
	background-color: var(--umi-pallido-2);
	color: #21323D;
}

a { color: var(--umi-celeste-scuro); }
a:hover, a:focus { color: var(--umi-celeste-cupo); }

h1, h2, h3, h4, h5, h6,
.card-title { color: var(--umi-blu); }

/* ── Barra superiore ───────────────────────────────────────────── */

.main-header.navbar {
	background-color: #FFFFFF;
	border-bottom: 1px solid var(--umi-bordo);
	box-shadow: 0 1px 3px rgba(0, 53, 90, .06);
}
.main-header .nav-link { color: var(--umi-blu); }
.main-header .nav-link:hover { color: var(--umi-celeste-scuro); }

/* Filetto celeste sotto la barra: firma del marchio, non decorazione */
.main-header.navbar::after {
	content: "";
	display: block;
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 3px;
	background: var(--umi-celeste);
}

.ew-brand-image { max-height: 34px; width: auto; }

/* ── Spalla ────────────────────────────────────────────────────── */

.main-sidebar {
	background-color: #FFFFFF;
	border-right: 1px solid var(--umi-bordo);
}
.main-sidebar .brand-link {
	background-color: #FFFFFF;
	border-bottom: 1px solid var(--umi-bordo);
	text-align: center;
	padding: 12px 8px;
}
.main-sidebar .brand-link .brand-image {
	max-height: 40px;
	width: auto;
	margin: 0;
	float: none;
	opacity: 1;
}

.main-sidebar .nav-sidebar .nav-link {
	color: var(--umi-blu);
	border-radius: var(--umi-raggio);
	margin: 2px 8px;
	padding: 10px 12px;
	font-size: 14.5px;
}
.main-sidebar .nav-sidebar .nav-link:hover {
	background-color: var(--umi-pallido);
	color: var(--umi-celeste-cupo);
}
.main-sidebar .nav-sidebar .nav-link.active,
.main-sidebar .nav-sidebar .nav-link.active:hover {
	background-color: var(--umi-celeste);
	color: #FFFFFF;
	box-shadow: none;
}
.main-sidebar .nav-sidebar .nav-link i { color: inherit; opacity: .85; }

/* ── Contenitori ───────────────────────────────────────────────── */

.card {
	border: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio);
	box-shadow: var(--umi-ombra);
}
.card-header {
	background-color: #FFFFFF;
	border-bottom: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio) var(--umi-raggio) 0 0;
}
.card-primary:not(.card-outline) > .card-header,
.card-info:not(.card-outline) > .card-header {
	background-color: var(--umi-celeste);
	border-color: var(--umi-celeste);
}
.card-primary:not(.card-outline) > .card-header,
.card-primary:not(.card-outline) > .card-header .card-title,
.card-info:not(.card-outline) > .card-header,
.card-info:not(.card-outline) > .card-header .card-title { color: #FFFFFF; }

.card-primary.card-outline { border-top: 3px solid var(--umi-celeste); }

/* ── Comandi ───────────────────────────────────────────────────── */

.btn-primary,
.btn-info {
	background-color: var(--umi-celeste-scuro);
	border-color: var(--umi-celeste-scuro);
	color: #FFFFFF;
}
.btn-primary:hover, .btn-primary:focus,
.btn-info:hover, .btn-info:focus {
	background-color: var(--umi-celeste-cupo);
	border-color: var(--umi-celeste-cupo);
	color: #FFFFFF;
}
.btn-outline-primary,
.btn-outline-info {
	color: var(--umi-celeste-scuro);
	border-color: var(--umi-celeste-scuro);
}
.btn-outline-primary:hover,
.btn-outline-info:hover {
	background-color: var(--umi-celeste-scuro);
	border-color: var(--umi-celeste-scuro);
	color: #FFFFFF;
}
.btn { border-radius: var(--umi-raggio); }

.btn-primary:focus, .btn-outline-primary:focus,
.form-control:focus, .custom-select:focus {
	box-shadow: 0 0 0 .2rem rgba(0, 159, 227, .28);
	border-color: var(--umi-celeste);
}

/* ── Schede e pillole ──────────────────────────────────────────── */

.nav-pills .nav-link {
	color: var(--umi-blu);
	border-radius: var(--umi-raggio);
}
.nav-pills .nav-link:hover { background-color: var(--umi-pallido); }
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
	background-color: var(--umi-celeste);
	color: #FFFFFF;
}
.nav-tabs .nav-link.active {
	border-color: var(--umi-bordo) var(--umi-bordo) #FFFFFF;
	color: var(--umi-blu);
	font-weight: 600;
}

/* ── Tabelle ───────────────────────────────────────────────────── */

.table thead th {
	background-color: var(--umi-pallido);
	color: var(--umi-blu);
	border-bottom: 2px solid var(--umi-bordo);
	font-size: 13px;
	letter-spacing: .02em;
	text-transform: uppercase;
	font-weight: 600;
}
.table-hover tbody tr:hover { background-color: var(--umi-pallido-2); }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0, 159, 227, .045); }
.table-primary, .table-primary > td, .table-primary > th {
	background-color: var(--umi-pallido) !important;   /* AdminLTE usa !important */
}

/* ── Segnali ───────────────────────────────────────────────────── */

.badge-primary, .badge-info { background-color: var(--umi-celeste-scuro); }
.callout { border-radius: var(--umi-raggio); box-shadow: none; border: 1px solid var(--umi-bordo); border-left-width: 4px; }
.callout.callout-info { border-left-color: var(--umi-celeste); background-color: var(--umi-pallido); }
.alert-info { background-color: var(--umi-pallido); border-color: var(--umi-bordo); color: var(--umi-blu); }

.small-box.bg-info, .small-box.bg-primary { background-color: var(--umi-celeste) !important; }
.progress-bar.bg-primary, .progress-bar.bg-info { background-color: var(--umi-celeste); }

.text-primary { color: var(--umi-celeste-scuro) !important; }
.text-muted { color: var(--umi-grigio) !important; }

/* ── Chi sta usando l'area ─────────────────────────────────────────
 * I due accessi hanno poteri molto diversi: l'amministratore vede tutti
 * i soci e puo' cambiare parametri ed elezioni. Un contrassegno costante
 * evita di credersi socio mentre si sta operando da amministratore.
 */

.umi-modo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--umi-blu);
	background: var(--umi-pallido);
	border: 1px solid var(--umi-bordo);
	border-radius: 999px;
	padding: 4px 12px;
	white-space: nowrap;
}
.umi-admin .umi-modo {
	color: #FFFFFF;
	background: var(--umi-blu);
	border-color: var(--umi-blu);
}
/* Da amministratore il filetto sotto la barra cambia tinta: si capisce
   a colpo d'occhio in che veste si sta lavorando. */
.umi-admin .main-header.navbar::after {
	background: linear-gradient(90deg, var(--umi-celeste) 0%, var(--umi-celeste) 55%, var(--umi-blu) 55%, var(--umi-blu) 100%);
}

/* ── Telefono ──────────────────────────────────────────────────────
 * L'area si consulta soprattutto da telefono: quote, voto, assemblea.
 */

@media (max-width: 767.98px) {

	/* Sotto i 16px iOS ingrandisce la pagina al primo tocco su un campo */
	.form-control, .custom-select, textarea, input[type="text"],
	input[type="email"], input[type="password"], input[type="date"],
	input[type="number"] { font-size: 16px; }

	/* Bersagli comodi da dito */
	.btn { min-height: 42px; padding: 9px 16px; }
	.btn-sm { min-height: 36px; }
	.main-sidebar .nav-sidebar .nav-link { padding: 12px; font-size: 15px; }

	.card-body { padding: 14px; }
	.content-header { padding: 12px 10px; }
	.content > .container-fluid { padding-left: 10px; padding-right: 10px; }

	/* Le tabelle larghe scorrono nel loro riquadro, mai la pagina */
	.table-responsive { -webkit-overflow-scrolling: touch; }
	.card-body > .table,
	.card-body > table { display: block; overflow-x: auto; }

	/* Le schede dell'amministrazione diventano una fila scorrevole */
	.nav-pills, .nav-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}
	.nav-pills .nav-item, .nav-tabs .nav-item { flex: 0 0 auto; }

	/* I moduli a due colonne diventano a una */
	.form-group.row > [class^="col-sm-"] { margin-bottom: 6px; }

	h1, .h1 { font-size: 1.6rem; }
	h2, .h2 { font-size: 1.35rem; }
}

/* La pagina non deve mai scorrere in orizzontale */
body { overflow-x: hidden; }

/* ── Stampa ────────────────────────────────────────────────────── */

@media print {
	.main-sidebar, .main-header, .ew-toolbar, .btn { display: none !important; }
	.content-wrapper { margin-left: 0 !important; background: #FFFFFF; }
	.card { border: 1px solid #999; box-shadow: none; }
}

/* ── Elenco di risorse (RUMI, notiziario, film, documenti) ─────────────────────────────────────
 * Righe grandi e premibili per intero: si consultano soprattutto da
 * telefono, dove un collegamento testuale e' un bersaglio scomodo.
 */

.elenco-risorse { display: flex; flex-direction: column; gap: 10px; }

.risorsa {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio);
	background: #FFFFFF;
	color: inherit;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
a.risorsa:hover, a.risorsa:focus {
	border-color: var(--umi-celeste);
	box-shadow: 0 2px 10px rgba(0, 159, 227, .18);
	text-decoration: none;
	color: inherit;
}
.risorsa__icona {
	flex: 0 0 auto;
	width: 40px; height: 40px;
	display: flex; align-items: center; justify-content: center;
	border-radius: var(--umi-raggio);
	background: var(--umi-pallido);
	color: var(--umi-celeste-scuro);
	font-size: 18px;
}
.risorsa__testo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.risorsa__titolo { font-weight: 600; color: var(--umi-blu); font-size: 16px; }
.risorsa__nota { font-size: 13px; color: var(--umi-grigio); }
.risorsa__azione { flex: 0 0 auto; color: var(--umi-celeste-scuro); font-size: 16px; }

.risorsa--assente {
	background: #FFF8F5;
	border-color: #F0C9BC;
}
.risorsa--assente .risorsa__icona { background: #FBE3DB; color: #A63A2C; }
.risorsa--assente .risorsa__titolo { color: #7A2A1E; }

@media (max-width: 575.98px) {
	.risorsa { padding: 12px; gap: 10px; }
	.risorsa__titolo { font-size: 15px; }
}

/* ══ Pagina d'ingresso del socio ═══════════════════════════════════
 * Una colonna sola, ordinata per importanza: chi sei e come stai messo,
 * cosa c'e' da fare adesso, dove andare. Su telefono le tessere si
 * incolonnano senza toccare nulla, perche' la griglia e' auto-fit.
 */

.socio-home { max-width: 1080px; }

/* ── Testata ── */
.socio-testata {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-bottom: 18px;
	margin-bottom: 22px;
	border-bottom: 2px solid var(--umi-bordo);
}
.socio-testata__saluto {
	margin: 0;
	font-size: 15px;
	color: var(--umi-grigio);
}
.socio-testata__titolo {
	margin: 2px 0 0;
	font-size: 28px;
	font-weight: 700;
	color: var(--umi-blu);
	letter-spacing: -.01em;
}
.socio-stato {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 16px;
	border-radius: var(--umi-raggio);
	border: 1px solid var(--umi-bordo);
	background: var(--umi-pallido);
}
.socio-stato__etichetta {
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--umi-grigio);
}
.socio-stato__valore { font-weight: 600; color: var(--umi-blu); }
.socio-stato--attesa { background: #DCF0FB; border-color: var(--umi-celeste); }
.socio-stato--attesa .socio-stato__valore { color: var(--umi-celeste-cupo); }

/* ── Cosa c'è da fare ── */
.socio-urgenze { display: flex; flex-direction: column; gap: 10px; margin-bottom: 26px; }

.socio-urgenza {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: var(--umi-raggio);
	border: 1px solid var(--umi-bordo);
	border-left: 5px solid var(--umi-celeste);
	background: #FFFFFF;
	color: inherit;
	text-decoration: none;
	box-shadow: var(--umi-ombra);
	transition: box-shadow .15s ease, transform .15s ease;
}
.socio-urgenza:hover, .socio-urgenza:focus {
	text-decoration: none;
	color: inherit;
	box-shadow: 0 4px 16px rgba(0, 53, 90, .16);
	transform: translateY(-1px);
}
.socio-urgenza--quota { border-left-color: var(--umi-celeste-cupo); background: #F3FAFE; }
.socio-urgenza__icona {
	flex: 0 0 auto;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--umi-pallido);
	color: var(--umi-celeste-scuro);
	font-size: 18px;
}
.socio-urgenza--quota .socio-urgenza__icona { background: var(--umi-celeste-cupo); color: #FFFFFF; }
.socio-urgenza__testo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.socio-urgenza__testo strong { color: var(--umi-blu); font-size: 16px; }
.socio-urgenza__testo span { font-size: 14px; color: var(--umi-grigio); }
.socio-urgenza__freccia { flex: 0 0 auto; color: var(--umi-celeste-scuro); }

/* ── Le tessere ── */
.socio-griglia {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
}
.socio-tessera {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px;
	border: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio);
	background: #FFFFFF;
	color: inherit;
	text-decoration: none;
	box-shadow: var(--umi-ombra);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.socio-tessera:hover, .socio-tessera:focus {
	text-decoration: none;
	color: inherit;
	border-color: var(--umi-celeste);
	box-shadow: 0 4px 16px rgba(0, 159, 227, .2);
	transform: translateY(-2px);
}
.socio-tessera__icona {
	width: 42px; height: 42px;
	display: flex; align-items: center; justify-content: center;
	border-radius: var(--umi-raggio);
	background: var(--umi-pallido);
	color: var(--umi-celeste-scuro);
	font-size: 18px;
	margin-bottom: 4px;
}
.socio-tessera__titolo { font-weight: 600; font-size: 16.5px; color: var(--umi-blu); }
.socio-tessera__nota { font-size: 13.5px; color: var(--umi-grigio); line-height: 1.45; }
.socio-tessera--admin { border-color: var(--umi-blu); background: #F2F7FA; }
.socio-tessera--admin .socio-tessera__icona { background: var(--umi-blu); color: #FFFFFF; }

/* ── Ultime uscite ── */
.socio-sezione {
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--umi-grigio);
	margin: 30px 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--umi-bordo);
}
.socio-uscite { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.socio-uscita {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px 16px;
	border: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio);
	background: #FFFFFF;
	color: inherit;
	text-decoration: none;
}
.socio-uscita:hover, .socio-uscita:focus {
	text-decoration: none; color: inherit;
	border-color: var(--umi-celeste);
}
.socio-uscita__tipo {
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--umi-celeste-scuro);
	font-weight: 600;
}
.socio-uscita__titolo { font-weight: 600; color: var(--umi-blu); }
.socio-uscita__data { font-size: 13px; color: var(--umi-grigio); }

@media (max-width: 575.98px) {
	.socio-testata__titolo { font-size: 23px; }
	.socio-stato { width: 100%; }
	.socio-urgenza { padding: 14px; }
	.socio-tessera { padding: 15px; }
}

/* ── Intestazioni di sezione nella spalla ── */
.main-sidebar .nav-header {
	color: var(--umi-grigio);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 18px 16px 6px;
	background: transparent;
}
.main-sidebar .nav-sidebar > .nav-item:first-child .nav-link { margin-top: 0; }

/* ══ Elenchi generati da PHPMaker ═══════════════════════════════════
 * Il foglio di stile del progetto (css/umi.css) usa una tavolozza
 * beige-cachi: bordi #D2B48C, intestazioni #EEE8AA, righe #FAFAD2 e
 * alternate #EEE8AA. Restava gialla anche dopo il cambio di tema, perche'
 * quelle tinte sono scritte nelle classi ew-*, non nelle classi di AdminLTE.
 * Qui sono riportate al bianco e celeste dell'Unione, selettore per
 * selettore, in modo che gli elenchi (soci, quote, notiziario...) siano
 * coerenti con il resto.
 */

.ew-grid { border-color: var(--umi-bordo); }
.ew-grid .ew-grid-upper-panel { border-bottom-color: var(--umi-bordo); }
.ew-grid .ew-grid-lower-panel { border-top-color: var(--umi-bordo); }

.ew-grid-upper-panel.card-header,
.ew-grid-lower-panel.card-footer {
	background-color: var(--umi-pallido);
	border-color: var(--umi-bordo);
	color: var(--umi-blu);
}

/* Intestazione delle colonne: era beige piena, ora pallido con testo blu */
.ew-grid .ew-table > thead > tr > th,
.ew-grid .ew-table > thead > tr > td {
	background-color: var(--umi-pallido);
	color: var(--umi-blu);
	font-weight: 600;
	border-color: var(--umi-bordo);
}

.ew-grid .ew-table > tbody > tr > td,
.ew-grid .ew-table > tfoot > tr > td { border-color: var(--umi-bordo); }
.ew-grid .ew-table > tbody:last-child > tr:last-child > td.ew-table-border-bottom,
.ew-grid .ew-table > tfoot > tr:last-child > td.ew-table-border-bottom,
.ew-grid .ew-table td.ew-table-last-row.ew-table-border-bottom,
.ew-grid .ew-table .ew-table-border-bottom { border-color: var(--umi-bordo); }

/* Righe: bianche, con l'alternata appena velata di celeste */
.ew-grid .ew-table .ew-table-row { background-color: #FFFFFF; }
.ew-grid .ew-table .ew-table-alt-row { background-color: rgba(0, 159, 227, .05); }
.ew-grid .ew-table .ew-table-footer { background-color: var(--umi-pallido); }

/* Riga in modifica e riga evidenziata: celeste chiaro, non cachi */
.ew-grid .ew-table .ew-table-edit-row > td { background-color: #DCF0FB; }
.ew-grid .ew-table .ew-table-highlight-row > td { background-color: var(--umi-pallido); }

/* Riga selezionata: era marrone con testo bianco */
.ew-grid .ew-table .ew-table-select-row > td {
	background-color: var(--umi-celeste-scuro);
	color: #FFFFFF;
}
.ew-grid .ew-table .ew-table-select-row > td a { color: #FFFFFF; text-decoration: underline; }

/* Riquadri di ricerca e di riepilogo dei rapporti */
.ew-rpt-grp-header, .ew-rpt-grp-header-1, .ew-rpt-grp-header-2, .ew-rpt-grp-header-3,
.ew-rpt-grp-header-4, .ew-rpt-grp-header-5, .ew-rpt-grp-header-6 { border-color: var(--umi-bordo); }
.ew-rpt-grp-summary-1, .ew-rpt-grp-summary-2, .ew-rpt-grp-summary-3,
.ew-rpt-grp-summary-4, .ew-rpt-grp-summary-5, .ew-rpt-grp-summary-6,
.ew-rpt-page-summary, .ew-rpt-grand-summary { background-color: var(--umi-pallido); }

/* Esportazioni: stessa tavolozza, così il PDF non stona con la pagina */
.ew-export-table td,
.ew-export-table .ew-table-header, .ew-export-table-header td { border-color: var(--umi-bordo); }
.ew-export-table .ew-table-header, .ew-export-table-header td {
	background-color: var(--umi-pallido); color: var(--umi-blu);
}
.ew-export-table-row > td { background-color: #FFFFFF; }
.ew-export-table-alt-row > td { background-color: rgba(0, 159, 227, .05); }
.ew-export-table-footer { background-color: var(--umi-pallido); }

/* Intestazione fissa degli elenchi: era beige piena (#D2B48C), ed e' la
   fascia che si vede in cima a sociolist, quotalist e simili. */
.table.ew-table.table-head-fixed thead tr:nth-child(1) th,
.table.ew-table.table-head-fixed.table-dark thead tr:nth-child(1) th {
	background-color: var(--umi-pallido);
	color: var(--umi-blu);
	border-bottom: 2px solid var(--umi-bordo);
}

/* Elenchi senza contenitore .ew-grid: righe alternate appena velate */
.table.ew-table > tbody > tr:nth-of-type(odd) { background-color: rgba(0, 159, 227, .04); }
.table.ew-table > tbody > tr:hover { background-color: var(--umi-pallido); }

/* Ultimi residui beige: intestazioni dei rapporti e sporgenza della
   tabella a scorrimento. */
.ew-rpt-col-header { background-color: var(--umi-pallido); color: var(--umi-blu); border-color: var(--umi-bordo); }
.ew-rpt-col-summary { background-color: var(--umi-pallido); border-color: var(--umi-bordo); }
.ew-scroll-table .ew-scroll-table-header .ew-scroll-table-overhang { background-color: var(--umi-pallido); }

/* ══ Query usate nella pagina (solo amministratore) ═════════════════
 * Riquadro discreto e richiuso: non deve rubare la scena al contenuto,
 * ma essere li' quando serve capire da dove viene un numero.
 */

.umi-query {
	margin: 26px 0 8px;
	border: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio);
	background: #FFFFFF;
	font-size: 13px;
}
.umi-query > summary {
	cursor: pointer;
	padding: 8px 14px;
	color: var(--umi-grigio);
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	user-select: none;
}
.umi-query > summary::-webkit-details-marker { display: none; }
.umi-query > summary::before {
	content: "\f105";              /* chevron destro di Font Awesome */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: var(--umi-celeste-scuro);
	transition: transform .15s ease;
}
.umi-query[open] > summary::before { transform: rotate(90deg); }
.umi-query > summary:hover { color: var(--umi-celeste-cupo); background: var(--umi-pallido-2); }

.umi-query__conteggio {
	background: var(--umi-pallido);
	color: var(--umi-blu);
	border-radius: 999px;
	padding: 1px 9px;
	font-weight: 600;
}
.umi-query__tempo { margin-left: auto; font-variant-numeric: tabular-nums; }

.umi-query__corpo { padding: 4px 14px 14px; border-top: 1px solid var(--umi-line, var(--umi-bordo)); }
.umi-query__nota { color: var(--umi-grigio); font-size: 12.5px; margin: 10px 0 14px; }

.umi-query__voce + .umi-query__voce { margin-top: 12px; }
.umi-query__intestazione {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}
.umi-query__n {
	width: 20px; height: 20px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--umi-celeste-scuro);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 600;
	flex: 0 0 auto;
}
.umi-query__etichetta { color: var(--umi-blu); font-weight: 600; }
.umi-query__dati { margin-left: auto; color: var(--umi-grigio); font-size: 12px; font-variant-numeric: tabular-nums; }

.umi-query pre {
	margin: 0;
	padding: 10px 12px;
	background: #0E1A20;
	color: #DCE8EE;
	border-radius: 4px;
	overflow-x: auto;
	font-size: 12.5px;
	line-height: 1.55;
	white-space: pre;
}

/* ── Deleghe dell'assemblea ────────────────────────────────────────
 * Ogni delega e' un riquadro: nome del delegante, modulo firmato,
 * documento d'identita'. I due file sono obbligatori solo se il nome
 * e' compilato, e l'asterisco lo ricorda.
 */
.delega-riquadro .card-title { font-size: 16px; }
.delega-nota {
	font-size: 13.5px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--umi-bordo);
}
.delega-obbligatorio {
	color: var(--umi-celeste-cupo);
	font-weight: 700;
	margin-left: 2px;
}

/* Allegati della delega nell'elenco: due file nella stessa colonna */
.ew-delega-allegato { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.ew-delega-allegato__et {
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--umi-grigio);
	flex: 0 0 auto;
}
.ew-delegante-name { font-weight: 600; color: var(--umi-blu); }

/* ── Allineamento Mailchimp ────────────────────────────────────────
 * Il report puo' contare migliaia di righe: il riepilogo in cifre resta
 * in vista, il dettaglio sta in blocchi richiusi.
 */
.mc-riepilogo .small-box { margin-bottom: 12px; }
.mc-riepilogo .small-box h3 { font-size: 26px; }
.mc-riepilogo .small-box p { font-size: 13px; }

.mc-blocco {
	border: 1px solid var(--umi-bordo);
	border-radius: var(--umi-raggio);
	background: #FFFFFF;
	margin-bottom: 10px;
}
.mc-blocco > summary {
	cursor: pointer;
	padding: 10px 14px;
	font-weight: 600;
	color: var(--umi-blu);
	display: flex;
	align-items: center;
	gap: 10px;
	list-style: none;
}
.mc-blocco > summary::-webkit-details-marker { display: none; }
.mc-blocco > summary::before {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: var(--umi-celeste-scuro);
}
.mc-blocco[open] > summary::before { content: "\f107"; }
.mc-blocco__n {
	margin-left: auto;
	background: var(--umi-pallido);
	border-radius: 999px;
	padding: 1px 10px;
	font-size: 13px;
}
.mc-blocco__corpo { padding: 0 14px 14px; }
.mc-blocco__corpo table { font-size: 13.5px; }

.mc-conferma {
	border: 1px solid var(--umi-celeste);
	border-left: 5px solid var(--umi-celeste);
	border-radius: var(--umi-raggio);
	background: var(--umi-pallido-2);
	padding: 16px 18px;
	margin-top: 18px;
}

/* ── Mailchimp: chi c'è oltre ai soci attivi ─────────────────────────── */
.mc-esterni {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	background: var(--umi-pallido-2, #F4FAFE);
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-radius: .5rem;
}
.mc-esterni__titolo {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--umi-blu, #00355A);
	margin-bottom: .5rem;
}
.mc-esterni__tag {
	padding: .6rem .8rem;
	background: #fff;
	border-left: 3px solid var(--umi-celeste, #009FE3);
	border-radius: .25rem;
}
.mc-esterni__tab th { color: var(--umi-blu, #00355A); }
.mc-esterni__tab tbody tr:last-child td { border-bottom: 1px solid #dee2e6; }

/* ── Mailchimp: etichetta dell'allineamento ──────────────────────────── */
.mc-tag {
	margin: 0 0 1rem;
	padding: .85rem 1rem;
	background: #fff;
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-left: 3px solid var(--umi-celeste, #009FE3);
	border-radius: var(--umi-raggio, 6px);
}
.mc-tag__eti {
	font-weight: 600;
	color: var(--umi-blu, #00355A);
	margin-bottom: .35rem;
}
.mc-tag__riga {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	margin-bottom: .5rem;
}
.mc-tag__campo {
	max-width: 18rem;
	font-family: var(--font-family-monospace, monospace);
}
.mc-tag__stato { font-size: .875rem; }
.mc-tag__stato--nuova { color: #1c7430; }
.mc-tag__stato--esiste { color: #8a6100; }

/* ── Mailchimp: che cosa cambia ──────────────────────────────────────── */
.mc-cambio {
	margin: 1.5rem 0;
	padding: 1.1rem 1.25rem;
	background: var(--umi-pallido, #E8F5FC);
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-radius: var(--umi-raggio, 6px);
}
.mc-cambio__titolo {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--umi-blu, #00355A);
	margin-bottom: .35rem;
}
.mc-cambio__conti {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: .75rem;
	margin: 1rem 0;
}
.mc-conto {
	flex: 1 1 7rem;
	padding: .75rem .5rem;
	text-align: center;
	background: #fff;
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-radius: var(--umi-raggio, 6px);
}
.mc-conto__n { font-size: 1.75rem; font-weight: 700; line-height: 1.15; }
.mc-conto__eti {
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--umi-grigio, #5A6B78);
}
.mc-conto--restano .mc-conto__n { color: var(--umi-grigio, #5A6B78); }
.mc-conto--entrano .mc-conto__n { color: #1c7430; }
.mc-conto--escono  .mc-conto__n { color: #96541b; }
.mc-conto--esito {
	background: var(--umi-celeste, #009FE3);
	border-color: var(--umi-celeste, #009FE3);
}
.mc-conto--esito .mc-conto__n,
.mc-conto--esito .mc-conto__eti { color: #fff; }

.mc-blocco--entrano > summary { border-left: 3px solid #1c7430; padding-left: .5rem; }
.mc-blocco--escono  > summary { border-left: 3px solid #96541b; padding-left: .5rem; }

.mc-sezione {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--umi-blu, #00355A);
	margin: 1.75rem 0 .35rem;
	padding-top: .75rem;
	border-top: 1px solid var(--umi-bordo, #CDE7F5);
}
.mc-conto--raggiunti {
	background: var(--umi-blu, #00355A);
	border-color: var(--umi-blu, #00355A);
}
.mc-conto--raggiunti .mc-conto__n,
.mc-conto--raggiunti .mc-conto__eti { color: #fff; }
.mc-blocco--fermi > summary { border-left: 3px solid #96541b; padding-left: .5rem; }

/* ── Mailchimp: il report come sequenza di passi ─────────────────────── */
.mc-passi {
	list-style: none;
	margin: 1.25rem 0;
	padding: 0;
	counter-reset: none;
}
.mc-passo {
	position: relative;
	padding: 0 0 1.25rem 2.75rem;
	border-left: 2px solid var(--umi-bordo, #CDE7F5);
	margin-left: .9rem;
}
.mc-passo:last-child { border-left-color: transparent; padding-bottom: 0; }
.mc-passo__n {
	position: absolute;
	left: -.9rem;
	top: 0;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background: var(--umi-celeste, #009FE3);
	color: #fff;
	font-weight: 700;
	font-size: .9rem;
	line-height: 1.8rem;
	text-align: center;
}
.mc-passo--esito .mc-passo__n { background: var(--umi-blu, #00355A); }
.mc-passo__testa { display: flex; align-items: center; min-height: 1.8rem; }
.mc-passo__titolo {
	font-weight: 600;
	color: var(--umi-blu, #00355A);
}
.mc-passo__corpo { padding-top: .3rem; }
.mc-passo__valore {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.15;
	color: var(--umi-blu, #00355A);
}
.mc-passo__valore code {
	font-size: 1.15rem;
	font-weight: 600;
	vertical-align: middle;
	margin-left: .35rem;
}
.mc-passo__valore--vuoto { font-size: 1.25rem; color: var(--umi-grigio, #5A6B78); }
.mc-passo__nota {
	color: var(--umi-grigio, #5A6B78);
	margin-bottom: .5rem;
	max-width: 46rem;
}
.mc-passo .mc-cambio__conti { margin: .75rem 0; max-width: 30rem; }

/* ── Query visibili: zone di pagina ed esito ─────────────────────────── */
.umi-query__zona + .umi-query__zona { margin-top: 18px; }
.umi-query__zona-testa {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: 6px 0 6px;
	border-bottom: 1px solid var(--umi-bordo);
	margin-bottom: 10px;
}
.umi-query__zona-nome {
	font-weight: 700;
	color: var(--umi-blu);
	font-size: 13.5px;
}
.umi-query__zona-nome--file {
	font-weight: 600;
	font-family: var(--font-family-monospace, monospace);
	color: var(--umi-grigio);
	font-size: 12.5px;
}
.umi-query__zona-dati {
	margin-left: auto;
	color: var(--umi-grigio);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}
.umi-query__vai {
	border: 1px solid var(--umi-bordo);
	background: #fff;
	color: var(--umi-celeste-scuro);
	border-radius: 4px;
	font-size: 11.5px;
	padding: 1px 7px;
	cursor: pointer;
}
.umi-query__vai:hover { background: var(--umi-pallido); }

.umi-query__esito {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .35rem .5rem;
	margin: 4px 0 6px;
	font-size: 12px;
}
.umi-query__esito-eti {
	color: var(--umi-grigio);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 10.5px;
}
.umi-query__campo {
	background: var(--umi-pallido-2);
	border: 1px solid var(--umi-bordo);
	border-radius: 3px;
	padding: 0 5px;
	white-space: nowrap;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.umi-query__campo-nome { color: var(--umi-grigio); }
.umi-query__campo-nome::after { content: " ="; }
.umi-query__campo-val { color: var(--umi-blu); font-weight: 600; }
.umi-query__campo-altri { color: var(--umi-grigio); font-style: italic; }
.umi-query__valore {
	background: var(--umi-pallido);
	border-radius: 3px;
	padding: 0 6px;
	color: var(--umi-blu);
	font-weight: 700;
}
.umi-query__origine {
	color: var(--umi-grigio);
	font-family: var(--font-family-monospace, monospace);
	font-size: 11px;
	margin-top: 3px;
}

/* L'elemento indicato da "mostra dove" */
.umi-query-evidenzia {
	outline: 3px solid var(--umi-celeste);
	outline-offset: 3px;
	border-radius: 4px;
	animation: umi-query-lampo 2.6s ease-out;
}
@keyframes umi-query-lampo {
	0%, 40% { box-shadow: 0 0 0 6px rgba(0, 159, 227, .18); }
	100%    { box-shadow: 0 0 0 6px rgba(0, 159, 227, 0); }
}

/* ── Bonifica delle codifiche ────────────────────────────────────────── */
.bn-prima { color: #96541b; }
.bn-dopo  { color: #1c7430; font-weight: 600; }
.bn-male  { color: #96541b; font-weight: 700; }
.bn-esegui {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	background: #fff8f0;
	border: 1px solid #f0d6b8;
	border-left: 4px solid #96541b;
	border-radius: var(--umi-raggio, 6px);
}
.bn-esegui__titolo {
	font-size: 1.05rem;
	font-weight: 700;
	color: #96541b;
	margin-bottom: .5rem;
}
.bn-esegui__avviso {
	background: #fff;
	border-radius: 4px;
	padding: .5rem .7rem;
	color: #96541b;
	font-weight: 600;
}

/* ── Costruttore di ricerche ─────────────────────────────────────────── */
.rs-esempi {
	margin-bottom: 1rem;
	padding: .6rem .8rem;
	background: var(--umi-pallido-2, #F4FAFE);
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-radius: var(--umi-raggio, 6px);
}
.rs-esempi__eti {
	font-size: .8125rem;
	color: var(--umi-grigio, #5A6B78);
	margin-right: .5rem;
}
.rs-legame {
	margin-bottom: .75rem;
	color: var(--umi-blu, #00355A);
	font-size: .9375rem;
}
.rs-legame input { margin-right: .3rem; }
.rs-riga {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin-bottom: .5rem;
	padding: .5rem;
	background: #fff;
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-left: 3px solid var(--umi-celeste, #009FE3);
	border-radius: var(--umi-raggio, 6px);
}
.rs-riga .rs-campo     { flex: 1 1 15rem; max-width: 22rem; }
.rs-riga .rs-confronto { flex: 0 1 12rem; }
.rs-valori {
	display: flex;
	gap: .4rem;
	flex: 1 1 14rem;
}
.rs-valori .form-control { min-width: 6rem; }
.rs-togli { margin-left: auto; }
.rs-comandi { margin: 1rem 0; display: flex; gap: .5rem; flex-wrap: wrap; }
.rs-salva {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .4rem;
	padding: .6rem .8rem;
	background: var(--umi-pallido, #E8F5FC);
	border-radius: var(--umi-raggio, 6px);
}
.rs-risultato { margin: 1.5rem 0; }
.rs-risultato__testa { display: flex; align-items: baseline; gap: .5rem; }
.rs-risultato__n {
	font-size: 2rem;
	font-weight: 700;
	color: var(--umi-blu, #00355A);
	line-height: 1;
}
.rs-risultato__eti { color: var(--umi-grigio, #5A6B78); }
.rs-domanda { margin: .5rem 0 1rem; color: var(--umi-grigio, #5A6B78); font-size: .875rem; }
.rs-domanda__pezzo {
	display: inline-block;
	background: var(--umi-pallido-2, #F4FAFE);
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-radius: 3px;
	padding: 1px 7px;
	margin: 2px 3px 2px 0;
	color: var(--umi-blu, #00355A);
}
.mc-vecchio {
	background: #fff3cd;
	border-radius: 3px;
	padding: 0 5px;
	color: #96541b;
	font-weight: 600;
}
.mc-avviso {
	margin: .75rem 0;
	padding: .7rem .9rem;
	background: #fff8f0;
	border-left: 4px solid #96541b;
	border-radius: var(--umi-raggio, 6px);
	color: #6b3d13;
}
.mc-fermo {
	background: #f8d7da;
	border-radius: 3px;
	padding: 0 5px;
	color: #842029;
	font-weight: 600;
}
.mc-conto--fermo { border-color: #f5c2c7; background: #fdf2f3; }
.mc-conto--fermo .mc-conto__n { color: #842029; }
.mc-avviso--fermo {
	background: #fdf2f3;
	border-left-color: #842029;
	color: #842029;
}

/* ── Mailchimp: allineamento a passi ─────────────────────────────────── */
.mc-lotto {
	margin: 1.25rem 0;
	padding: 1rem 1.25rem;
	background: var(--umi-pallido, #E8F5FC);
	border: 1px solid var(--umi-bordo, #CDE7F5);
	border-left: 4px solid var(--umi-celeste, #009FE3);
	border-radius: var(--umi-raggio, 6px);
}
.mc-lotto__titolo {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--umi-blu, #00355A);
	margin-bottom: .4rem;
}
.mc-lotto__barra { height: 1.5rem; margin: .75rem 0; }
.mc-lotto__barra .progress-bar {
	background: var(--umi-celeste, #009FE3);
	font-weight: 600;
	transition: width .4s ease;
}
.mc-lotto__messaggio {
	background: #fff;
	border-radius: 4px;
	padding: .4rem .6rem;
	font-size: .8125rem;
	color: #96541b;
}
.mc-conto__su { font-size: 1rem; font-weight: 400; color: var(--umi-grigio, #5A6B78); }
.mc-lotto--fermo { background: #fff8f0; border-left-color: #96541b; }
.mc-lotto--fermo .mc-lotto__titolo { color: #96541b; }
.mc-lotto__fine { color: #1c7430; font-weight: 600; margin-top: .5rem; }
.bn-tutto-bene {
	background: #eaf7ee;
	border-left: 4px solid #1c7430;
	border-radius: var(--umi-raggio, 6px);
	padding: .6rem .8rem;
	color: #14612a;
}
