/* Contatti 360 — colore per attività.
   Ogni funzione e ogni classe AC ha un colore pieno (--fn / --ac) e una tinta chiara (--fn-tint / --ac-tint)
   usata nelle sfumature delle intestazioni. */

:root {
	--c360-fn-anagrafica: #1d4ed8;   --c360-fn-anagrafica-t: #e8efff;
	--c360-fn-archivio: #a16207;     --c360-fn-archivio-t: #fdf4dc;
	--c360-fn-relazioni: #a21caf;    --c360-fn-relazioni-t: #fbeefe;
	--c360-fn-scadenze: #c2410c;     --c360-fn-scadenze-t: #ffefe5;
	--c360-fn-controlli: #b91c1c;    --c360-fn-controlli-t: #fdecec;
	--c360-fn-titolario: #334155;    --c360-fn-titolario-t: #eceff4;
	--c360-fn-tipologie: #15803d;    --c360-fn-tipologie-t: #e7f6ec;
	--c360-fn-impostazioni: #52525b; --c360-fn-impostazioni-t: #f1f1f3;
	--c360-fn-crea: #be185d;         --c360-fn-crea-t: #fde8f1;

	--c360-ac01: #4f46e5; --c360-ac01-t: #eeefff;   /* Anagrafica e identità */
	--c360-ac02: #0369a1; --c360-ac02-t: #e5f3fb;   /* Contatti e indirizzi */
	--c360-ac03: #b45309; --c360-ac03-t: #fdf0e1;   /* Beni e patrimonio */
	--c360-ac04: #4d7c0f; --c360-ac04-t: #eef6e2;   /* Catasto e immobili */
	--c360-ac05: #be123c; --c360-ac05-t: #fdeaef;   /* Atti e verbali */
	--c360-ac06: #0f766e; --c360-ac06-t: #e3f5f2;   /* Conti, contratti, rapporti */
	--c360-ac07: #7e22ce; --c360-ac07-t: #f4ebfd;   /* Visure e certificazioni */
}

/* ---------- Funzione della pagina (classe sul body) ---------- */
body.c360-fn-anagrafica   { --fn: var(--c360-fn-anagrafica);   --fn-t: var(--c360-fn-anagrafica-t); }
body.c360-fn-archivio     { --fn: var(--c360-fn-archivio);     --fn-t: var(--c360-fn-archivio-t); }
body.c360-fn-scadenze     { --fn: var(--c360-fn-scadenze);     --fn-t: var(--c360-fn-scadenze-t); }
body.c360-fn-controlli    { --fn: var(--c360-fn-controlli);    --fn-t: var(--c360-fn-controlli-t); }
body.c360-fn-titolario    { --fn: var(--c360-fn-titolario);    --fn-t: var(--c360-fn-titolario-t); }
body.c360-fn-tipologie    { --fn: var(--c360-fn-tipologie);    --fn-t: var(--c360-fn-tipologie-t); }
body.c360-fn-impostazioni { --fn: var(--c360-fn-impostazioni); --fn-t: var(--c360-fn-impostazioni-t); }
body.c360-fn-crea         { --fn: var(--c360-fn-crea);         --fn-t: var(--c360-fn-crea-t); }
/* Scheda documento e archivio filtrato per classe: vince il colore della classe AC. */
body.c360-ac-ac01 { --fn: var(--c360-ac01); --fn-t: var(--c360-ac01-t); }
body.c360-ac-ac02 { --fn: var(--c360-ac02); --fn-t: var(--c360-ac02-t); }
body.c360-ac-ac03 { --fn: var(--c360-ac03); --fn-t: var(--c360-ac03-t); }
body.c360-ac-ac04 { --fn: var(--c360-ac04); --fn-t: var(--c360-ac04-t); }
body.c360-ac-ac05 { --fn: var(--c360-ac05); --fn-t: var(--c360-ac05-t); }
body.c360-ac-ac06 { --fn: var(--c360-ac06); --fn-t: var(--c360-ac06-t); }
body.c360-ac-ac07 { --fn: var(--c360-ac07); --fn-t: var(--c360-ac07-t); }

/* Sezioni con funzione propria dentro una pagina */
[data-fn="anagrafica"]   { --fn: var(--c360-fn-anagrafica);   --fn-t: var(--c360-fn-anagrafica-t); }
[data-fn="archivio"]     { --fn: var(--c360-fn-archivio);     --fn-t: var(--c360-fn-archivio-t); }
[data-fn="relazioni"]    { --fn: var(--c360-fn-relazioni);    --fn-t: var(--c360-fn-relazioni-t); }
[data-fn="scadenze"]     { --fn: var(--c360-fn-scadenze);     --fn-t: var(--c360-fn-scadenze-t); }
[data-fn="controlli"]    { --fn: var(--c360-fn-controlli);    --fn-t: var(--c360-fn-controlli-t); }
[data-fn="titolario"]    { --fn: var(--c360-fn-titolario);    --fn-t: var(--c360-fn-titolario-t); }
[data-fn="tipologie"]    { --fn: var(--c360-fn-tipologie);    --fn-t: var(--c360-fn-tipologie-t); }
[data-fn="impostazioni"] { --fn: var(--c360-fn-impostazioni); --fn-t: var(--c360-fn-impostazioni-t); }
[data-fn="crea"]         { --fn: var(--c360-fn-crea);         --fn-t: var(--c360-fn-crea-t); }

/* Classi AC su qualsiasi elemento */
[data-ac="AC-01"] { --ac: var(--c360-ac01); --ac-t: var(--c360-ac01-t); }
[data-ac="AC-02"] { --ac: var(--c360-ac02); --ac-t: var(--c360-ac02-t); }
[data-ac="AC-03"] { --ac: var(--c360-ac03); --ac-t: var(--c360-ac03-t); }
[data-ac="AC-04"] { --ac: var(--c360-ac04); --ac-t: var(--c360-ac04-t); }
[data-ac="AC-05"] { --ac: var(--c360-ac05); --ac-t: var(--c360-ac05-t); }
[data-ac="AC-06"] { --ac: var(--c360-ac06); --ac-t: var(--c360-ac06-t); }
[data-ac="AC-07"] { --ac: var(--c360-ac07); --ac-t: var(--c360-ac07-t); }
/* Linguette e pulsanti che portano la classe nell'indirizzo o nell'id */
[id="c360-tab-AC-01"], a[href*="classe=AC-01"] { --ac: var(--c360-ac01); --ac-t: var(--c360-ac01-t); }
[id="c360-tab-AC-02"], a[href*="classe=AC-02"] { --ac: var(--c360-ac02); --ac-t: var(--c360-ac02-t); }
[id="c360-tab-AC-03"], a[href*="classe=AC-03"] { --ac: var(--c360-ac03); --ac-t: var(--c360-ac03-t); }
[id="c360-tab-AC-04"], a[href*="classe=AC-04"] { --ac: var(--c360-ac04); --ac-t: var(--c360-ac04-t); }
[id="c360-tab-AC-05"], a[href*="classe=AC-05"] { --ac: var(--c360-ac05); --ac-t: var(--c360-ac05-t); }
[id="c360-tab-AC-06"], a[href*="classe=AC-06"] { --ac: var(--c360-ac06); --ac-t: var(--c360-ac06-t); }
[id="c360-tab-AC-07"], a[href*="classe=AC-07"] { --ac: var(--c360-ac07); --ac-t: var(--c360-ac07-t); }

/* ---------- Margini: respiro dai bordi ---------- */
.wrap.c360 { margin: 14px 24px 0 6px; }
@media (max-width: 782px) {
	.wrap.c360 { margin: 10px 14px 0 4px; }
	.c360 .c360-profile, .c360 .c360-card, .c360rel, .c360-archive, .c360ck, .c360sat { padding-left: 14px !important; padding-right: 14px !important; }
}

/* ---------- Intestazioni con sfumatura della funzione ---------- */
.c360 .c360-head,
.c360 .c360-profile {
	position: relative;
	padding: 18px 20px;
	border: 1px solid color-mix(in srgb, var(--fn, #1d4ed8) 22%, #dde3ea);
	border-radius: 12px;
	background: linear-gradient(105deg, var(--fn-t, #e8efff) 0%, color-mix(in srgb, var(--fn-t, #e8efff) 45%, #fff) 38%, #ffffff 72%);
	box-shadow: inset 4px 0 0 var(--fn, #1d4ed8);
}
.c360 .c360-head { margin-bottom: 16px; align-items: center; }
.c360 .c360-title::before {
	content: "";
	display: inline-block;
	width: 12px; height: 12px;
	margin: 0 10px 2px 0;
	border-radius: 4px;
	background: linear-gradient(135deg, var(--fn, #1d4ed8), color-mix(in srgb, var(--fn, #1d4ed8) 55%, #fff));
	vertical-align: middle;
}
.c360 .c360-crumb a { color: var(--fn, #2271b1); }
.c360 .button-primary { background: var(--fn, #2271b1); border-color: var(--fn, #2271b1); }
.c360 .button-primary:hover, .c360 .button-primary:focus { background: color-mix(in srgb, var(--fn, #2271b1) 85%, #000); border-color: color-mix(in srgb, var(--fn, #2271b1) 85%, #000); }

/* Sezioni interne con la loro funzione (Relazioni, Archivio del contatto) */
.c360rel, .c360-archive {
	border-color: color-mix(in srgb, var(--fn) 22%, #dde3ea) !important;
	background: linear-gradient(180deg, var(--fn-t) 0, #ffffff 120px) !important;
	box-shadow: inset 0 3px 0 var(--fn);
}
.c360rel-head h2::before, .c360-archive-head h2::before {
	content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 3px; background: var(--fn); vertical-align: middle;
}
.c360sat { border-color: color-mix(in srgb, var(--fn) 40%, #fff) !important; background: linear-gradient(105deg, var(--fn-t), #fff 70%) !important; }
.c360sat-btn:hover, .c360sat-btn:focus { border-color: var(--fn) !important; color: var(--fn) !important; }
.c360rel-chips button[aria-pressed="true"] { background: var(--fn) !important; border-color: var(--fn) !important; }

/* ---------- Classi AC ---------- */
.c360-classcode[data-ac], .c360f-code[data-ac] { background: var(--ac-t) !important; color: var(--ac) !important; }
.c360-badge--ac { background: var(--ac-t); color: var(--ac); }
.c360-code-ac[data-ac] { color: var(--ac); font-weight: 600; }
.c360-code-ac[data-ac]::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--ac); vertical-align: middle; }
.c360-tab[id^="c360-tab-AC"] { border-top: 3px solid var(--ac); background: linear-gradient(180deg, var(--ac-t), #fff 80%); }
.c360-tab[id^="c360-tab-AC"] .c360-mono { color: var(--ac); font-weight: 600; }
.c360-tab[id^="c360-tab-AC"][aria-selected="true"] { border-color: var(--ac); box-shadow: inset 0 -3px 0 var(--ac); }
.c360-tab[id^="c360-tab-AC"].is-zero { border-top-color: color-mix(in srgb, var(--ac) 35%, #fff); }
a.c360-stat[href*="classe=AC"] { border-top: 3px solid var(--ac); background: linear-gradient(180deg, var(--ac-t), #fff 85%); }
a.c360-stat[href*="classe=AC"] .c360-mono { color: var(--ac); font-weight: 600; }
a.c360-stat[href*="classe=AC"].is-active { box-shadow: inset 0 0 0 1px var(--ac); border-color: var(--ac); }
a.c360-classcard[href*="classe=AC"] { border-top: 4px solid var(--ac); background: linear-gradient(170deg, var(--ac-t), #fff 60%); }
a.c360-classcard[href*="classe=AC"] .c360-classcode { color: var(--ac); }
.c360-tit-card[data-ac] { border-top: 4px solid var(--ac); background: linear-gradient(170deg, var(--ac-t), #fff 45%); }
.c360-tit-card[data-ac] .c360-tit-list .c360-mono { color: var(--ac); }
.c360rel-item[data-ac] { border-left-color: var(--ac) !important; }
.c360rel-item[data-ac] .c360rel-role { color: var(--ac); }
.c360map-node[data-ac].is-doc circle { stroke: var(--ac); fill: var(--ac-t); }
.c360map-node[data-ac].is-hub circle { stroke: var(--ac); fill: var(--ac-t); }
.c360-avatar--doc { background: linear-gradient(135deg, var(--fn-t), #fff) !important; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--fn) 35%, #fff); }

/* Scadenze in arancio, controlli in rosso: stesso colore della funzione ovunque */
.c360-due { background: var(--c360-fn-scadenze-t) !important; color: var(--c360-fn-scadenze) !important; }
.c360-due--scaduto { background: var(--c360-fn-controlli-t) !important; color: var(--c360-fn-controlli) !important; }
.c360ck-liv.is-alto { background: var(--c360-fn-controlli-t); color: var(--c360-fn-controlli); }

/* ---------- Legenda colori (Titolario) ---------- */
.c360-fnlegend { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.c360-fnchip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 16px; background: linear-gradient(105deg, var(--fn-t), #fff); border: 1px solid color-mix(in srgb, var(--fn) 30%, #fff); color: var(--fn); font-weight: 600; font-size: 12px; }
.c360-fnchip::before { content: ""; width: 9px; height: 9px; border-radius: 3px; background: var(--fn); }

/* ---------- Menu laterale: un punto colorato per ogni attività ---------- */
#adminmenu .toplevel_page_contatti-360 .wp-submenu a::before {
	content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 3px; vertical-align: 1px;
	background: var(--c360-fn-anagrafica);
}
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-tipologie"]::before { background: var(--c360-fn-tipologie); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-archivio"]::before { background: var(--c360-fn-archivio); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-titolario"]::before { background: var(--c360-fn-titolario); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-controlli"]::before { background: var(--c360-fn-controlli); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-shortcode"]::before,
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-impostazioni"]::before { background: var(--c360-fn-impostazioni); }

/* ---------- Sito (shortcode): margini e colori ---------- */
.c360f:not(.c360f .c360f):not(.c360f-widget) { padding-inline: clamp(14px, 3vw, 32px); }
.c360f-notice:not(.c360f .c360f), .c360f-ok:not(.c360f .c360f) { margin-inline: clamp(14px, 3vw, 32px); padding-inline: 16px; }
.c360f-card[data-ac] { border-top: 4px solid var(--ac); background: linear-gradient(170deg, var(--ac-t), transparent 50%); }
.c360f-class:has(.c360-code-ac[data-ac="AC-01"]) { --ac: var(--c360-ac01); }
.c360f-class:has(.c360-code-ac[data-ac="AC-02"]) { --ac: var(--c360-ac02); }
.c360f-class:has(.c360-code-ac[data-ac="AC-03"]) { --ac: var(--c360-ac03); }
.c360f-class:has(.c360-code-ac[data-ac="AC-04"]) { --ac: var(--c360-ac04); }
.c360f-class:has(.c360-code-ac[data-ac="AC-05"]) { --ac: var(--c360-ac05); }
.c360f-class:has(.c360-code-ac[data-ac="AC-06"]) { --ac: var(--c360-ac06); }
.c360f-class:has(.c360-code-ac[data-ac="AC-07"]) { --ac: var(--c360-ac07); }
.c360f-class { border-left: 4px solid var(--ac, rgba(127,127,127,.3)) !important; }
.c360 .wp-list-table .column-codice { width: 190px; }
.c360 .wp-list-table td.column-codice { white-space: nowrap; }

/* ---------- Percorsi sul sito: un colore per ciascuno ---------- */
:root {
	--c360-fn-privati: #15803d;  --c360-fn-privati-t: #e7f6ec;
	--c360-fn-aziende: #0e7490;  --c360-fn-aziende-t: #e2f4f8;
}
[data-fn="privati"] { --fn: var(--c360-fn-privati); --fn-t: var(--c360-fn-privati-t); }
[data-fn="aziende"] { --fn: var(--c360-fn-aziende); --fn-t: var(--c360-fn-aziende-t); }

/* Pagine con gli shortcode: fascia sfumata del colore del percorso */
.c360f[data-fn] {
	--fb-accent: var(--fn);
	--c360f-accent: var(--fn);
	border-top: 4px solid var(--fn);
	border-radius: 12px;
	background: linear-gradient(180deg, var(--fn-t) 0, color-mix(in srgb, var(--fn-t) 40%, transparent) 120px, transparent 260px);
	padding-block: 20px 24px;
}
.c360f[data-fn] .c360fb-btn--primary, .c360f[data-fn] .c360f-btn { background: var(--fn); border-color: var(--fn); }
.c360f[data-fn] .c360fb-btn:not(.c360fb-btn--primary), .c360f[data-fn] .c360f-btn--ghost { color: var(--fn); border-color: var(--fn); background: transparent; }
.c360f[data-fn] .c360fb-letters a.is-active, .c360f[data-fn] .c360tp-letters button[aria-pressed="true"], .c360f[data-fn] .c360f-pages [aria-current] { background: var(--fn); color: #fff; }
.c360f[data-fn] .c360tp { --fb-accent: var(--fn); }
.c360f[data-fn] .c360tp-title::after { content: ""; display: block; width: 44px; height: 4px; margin-top: 6px; border-radius: 2px; background: linear-gradient(90deg, var(--fn), color-mix(in srgb, var(--fn) 30%, #fff)); }
.c360f[data-fn] .c360-section { border-left: 4px solid var(--fn); background: linear-gradient(105deg, var(--fn-t), transparent 55%); }
.c360f[data-fn] .c360-section legend { color: var(--fn); }
.c360f[data-fn] .c360f-title { color: var(--fn); }
.c360f[data-fn] .c360f-due-list li { border-left: 3px solid var(--fn); padding-left: 10px; }

/* Card dei percorsi in home (plugin Menu Tiles): il colore segue l'indirizzo della pagina */
.mtl-item:has(a[href*="crea-scheda"]) { --fn: var(--c360-fn-crea); --fn-t: var(--c360-fn-crea-t); }
.mtl-item:has(a[href*="titolario"])   { --fn: var(--c360-fn-titolario); --fn-t: var(--c360-fn-titolario-t); }
.mtl-item:has(a[href*="scadenz"])     { --fn: var(--c360-fn-scadenze);  --fn-t: var(--c360-fn-scadenze-t); }
.mtl-item:has(a[href*="elenco"])      { --fn: var(--c360-fn-anagrafica); --fn-t: var(--c360-fn-anagrafica-t); }
.mtl-item:has(a[href*="aziend"])      { --fn: var(--c360-fn-aziende);   --fn-t: var(--c360-fn-aziende-t); }
.mtl-item:has(a[href*="privat"])      { --fn: var(--c360-fn-privati);   --fn-t: var(--c360-fn-privati-t); }
.mtl-item:has(a[href*="archivio"])    { --fn: var(--c360-fn-archivio);  --fn-t: var(--c360-fn-archivio-t); }
.mtl-item:has(a[href*="relazion"])    { --fn: var(--c360-fn-relazioni); --fn-t: var(--c360-fn-relazioni-t); }
.mtl-item:has(a[href*="controll"])    { --fn: var(--c360-fn-controlli); --fn-t: var(--c360-fn-controlli-t); }
.mtl-item:has(a[href*="360"]):has(.mtl-body) {
	border-top: 5px solid var(--fn, transparent) !important;
	background: linear-gradient(180deg, #fff 0, #fff 55%, var(--fn-t, #fff) 100%) !important;
	transition: transform .18s ease, box-shadow .18s ease;
}
.mtl-item:has(a[href*="360"]) .mtl-media { position: relative; display: block; overflow: hidden; }
.mtl-item:has(a[href*="360"]) .mtl-media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(135deg, color-mix(in srgb, var(--fn, #000) 70%, transparent) 0%, color-mix(in srgb, var(--fn, #000) 25%, transparent) 60%, transparent 100%);
	mix-blend-mode: multiply;
}
.mtl-item:has(a[href*="360"]) .mtl-icon { background: var(--fn-t) !important; color: var(--fn) !important; }
.mtl-item:has(a[href*="360"]) .mtl-icon .dashicons { color: var(--fn) !important; }
.mtl-item:has(a[href*="360"]) .mtl-title a { color: var(--fn) !important; }
.mtl-item:has(a[href*="360"]):hover { transform: translateY(-3px); box-shadow: 0 10px 28px color-mix(in srgb, var(--fn, #000) 22%, transparent); }
@media (prefers-reduced-motion: reduce) { .mtl-item:has(a[href*="360"]) { transition: none; } .mtl-item:has(a[href*="360"]):hover { transform: none; } }

/* ---------- Pagina Dati di prova ---------- */
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-demo"]::before { background: var(--c360-fn-relazioni); }
.c360-demo-card { margin-bottom: 18px; }
.c360-demo-card h2 { text-transform: none !important; letter-spacing: 0 !important; font-size: 17px !important; color: var(--c360-ink) !important; }
.c360-demo-list { margin: 0 0 12px 18px; list-style: disc; display: grid; gap: 6px; max-width: 95ch; }
.c360-demo-h { margin: 8px 0 12px; font-size: 18px; }
.c360-demo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.c360-demo-step { display: grid; gap: 4px; align-content: start; padding: 14px 16px; border: 1px solid #dde3ea; border-top: 4px solid var(--fn); border-radius: 10px; background: linear-gradient(170deg, var(--fn-t), #fff 55%); color: #1d2733; text-decoration: none; }
.c360-demo-step:nth-child(8n+1) { --fn: var(--c360-fn-anagrafica); --fn-t: var(--c360-fn-anagrafica-t); }
.c360-demo-step:nth-child(8n+2) { --fn: var(--c360-fn-relazioni); --fn-t: var(--c360-fn-relazioni-t); }
.c360-demo-step:nth-child(8n+3) { --fn: var(--c360-fn-aziende); --fn-t: var(--c360-fn-aziende-t); }
.c360-demo-step:nth-child(8n+4) { --fn: var(--c360-fn-privati); --fn-t: var(--c360-fn-privati-t); }
.c360-demo-step:nth-child(8n+5) { --fn: var(--c360-fn-archivio); --fn-t: var(--c360-fn-archivio-t); }
.c360-demo-step:nth-child(8n+6) { --fn: var(--c360-ac03); --fn-t: var(--c360-ac03-t); }
.c360-demo-step:nth-child(8n+7) { --fn: var(--c360-fn-titolario); --fn-t: var(--c360-fn-titolario-t); }
.c360-demo-step:nth-child(8n+8) { --fn: var(--c360-ac05); --fn-t: var(--c360-ac05-t); }
.c360-demo-step:nth-child(9) { --fn: var(--c360-fn-controlli); --fn-t: var(--c360-fn-controlli-t); }
.c360-demo-step:nth-child(10) { --fn: var(--c360-fn-scadenze); --fn-t: var(--c360-fn-scadenze-t); }
.c360-demo-step:hover, .c360-demo-step:focus { border-color: var(--fn); color: #1d2733; box-shadow: 0 6px 18px color-mix(in srgb, var(--fn) 18%, transparent); }
.c360-demo-step strong { color: var(--fn); font-size: 15px; }
.c360-demo-step span:last-child { color: #5d6b7a; font-size: 13px; line-height: 1.5; }
.c360-demo-ico { font-size: 22px; }

/* ---------- Intestazione dei percorsi: slogan e funzioni ---------- */
.c360in:not([data-fn]) { --fn: var(--c360-fn-anagrafica); --fn-t: var(--c360-fn-anagrafica-t); }
.c360in {
	margin: 0 0 24px;
	padding: clamp(20px, 3.5vw, 36px) clamp(18px, 3.5vw, 40px);
	border-radius: 18px;
	border-top: 5px solid var(--fn);
	background:
		radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--fn) 18%, transparent) 0%, transparent 55%),
		linear-gradient(135deg, var(--fn-t) 0%, #ffffff 75%);
	color: #1d2733;
	box-shadow: 0 10px 30px color-mix(in srgb, var(--fn) 12%, transparent);
}
.c360in-eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fn); }
.c360in-slogan { margin: 0 0 8px !important; font-size: clamp(26px, 4vw, 40px) !important; line-height: 1.12 !important; font-weight: 800 !important; letter-spacing: -.01em; color: #14202b !important; text-wrap: balance; }
.c360in-sotto { margin: 0 0 16px; font-size: clamp(15px, 1.6vw, 18px); color: #3b4a59; max-width: 62ch; }
.c360in-fn { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.c360in-fn li { margin: 0; padding: 6px 12px 6px 28px; border-radius: 999px; background: #fff; border: 1px solid color-mix(in srgb, var(--fn) 28%, #fff); font-size: 14px; font-weight: 600; color: #1d2733; position: relative; }
.c360in-fn li::before { content: "✓"; position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--fn); font-weight: 800; font-size: 13px; }
.c360in-num { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 16px 0 0; font-size: 14px; color: #3b4a59; }
.c360in-num b { font-size: 20px; color: var(--fn); font-variant-numeric: tabular-nums; margin-right: 4px; }
.c360in-lock { margin: 14px 0 0; font-size: 14px; }
.c360in-lock a { color: var(--fn); font-weight: 700; }

/* ---------- Schede dei percorsi ---------- */
.c360pc { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 16px; margin: 0 0 24px; }
.c360pc-card { display: grid; gap: 6px; align-content: start; padding: 20px 20px 18px; border-radius: 16px; border: 1px solid color-mix(in srgb, var(--fn) 25%, #e3e8ee); border-top: 5px solid var(--fn); background: linear-gradient(160deg, var(--fn-t) 0%, #ffffff 65%); color: #1d2733 !important; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease; }
a.c360pc-card:hover, a.c360pc-card:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 28px color-mix(in srgb, var(--fn) 22%, transparent); }
a.c360pc-card:focus-visible { outline: 3px solid var(--fn); outline-offset: 2px; }
.c360pc-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--fn) 35%, #fff); font-size: 24px; margin-bottom: 6px; }
.c360pc-label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fn); }
.c360pc-slogan { font-size: 18px; line-height: 1.25; color: #14202b; }
.c360pc-fn { font-size: 13px; color: #4a5866; line-height: 1.5; }
.c360pc-go { margin-top: 6px; font-weight: 700; color: var(--fn); }
.c360pc-go.is-off { color: #8a96a3; font-weight: 500; }
@media (prefers-reduced-motion: reduce) { .c360pc-card { transition: none; } a.c360pc-card:hover { transform: none; } }

/* ---------- Pagina "Pagine del sito" ---------- */
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-pagine"]::before { background: var(--c360-fn-tipologie); }
.c360-pgtable td { vertical-align: top; }
.c360-pgtable tr[data-fn] td:first-child { box-shadow: inset 4px 0 0 var(--fn); }
.c360-pgdot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: var(--fn); vertical-align: middle; }
.c360-pgst { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; white-space: nowrap; }
.c360-pgst.is-ok { background: #e3f1ec; color: #2f6f5e; }
.c360-pgst.is-warn { background: #fcf0c3; color: #6b4e00; }
.c360-pgst.is-off { background: #eceff3; color: #5d6b7a; }
.c360-pgact { display: flex; flex-wrap: wrap; gap: 6px; }
.c360-pgact form { margin: 0; }
.c360-pgform { margin-top: 16px; }
.c360-pgform label { display: inline-block; margin: 4px 0; }

/* ---------- Immagine in evidenza a tutta larghezza ---------- */
.c360-hero,
.entry-content > .c360-hero,
.is-layout-constrained > .c360-hero {
	position: relative;
	width: calc(100vw - var(--c360-sbw, 0px)) !important;
	max-width: none !important;
	margin: 0 0 28px calc(50% - (100vw - var(--c360-sbw, 0px)) / 2) !important;
	padding: 0;
	line-height: 0;
}
.c360-hero-img { display: block; width: 100%; max-width: none !important; height: auto; aspect-ratio: 3 / 1; object-fit: cover; border-radius: 0 !important; }
@media (max-width: 700px) { .c360-hero-img { aspect-ratio: 2 / 1; object-position: 15% center; } }
.c360-pgimg { width: 220px; }
.c360-pgimg img { display: block; width: 200px; height: auto; border-radius: 6px; margin-bottom: 6px; }
.c360-pgimg form { margin: 0; }

/* ---------- Gestione dal sito: colore anche per questi percorsi ---------- */
body.c360-fn-privati   { --fn: var(--c360-fn-privati);   --fn-t: var(--c360-fn-privati-t); }
body.c360-fn-aziende   { --fn: var(--c360-fn-aziende);   --fn-t: var(--c360-fn-aziende-t); }
body.c360-fn-relazioni { --fn: var(--c360-fn-relazioni); --fn-t: var(--c360-fn-relazioni-t); }

/* ---------- Campi dei moduli: sfondo molto tenue nel colore della pagina ---------- */
.c360 .c360-field input:not([type=checkbox]):not([type=radio]),
.c360 .c360-field select,
.c360 .c360-field textarea,
.c360 .c360rel-add input:not([type=hidden]),
.c360 .c360rel-add select,
.c360f[data-fn] .c360-field input:not([type=checkbox]):not([type=radio]),
.c360f[data-fn] .c360-field select,
.c360f[data-fn] .c360-field textarea,
.c360f[data-fn] textarea {
	background-color: color-mix(in srgb, var(--fn-t, #eef2f7) 50%, #ffffff);
	border-color: color-mix(in srgb, var(--fn, #64748b) 26%, #cfd7e0);
	color: #1d2733;
}
.c360 .c360-field input:not([type=checkbox]):not([type=radio]):focus,
.c360 .c360-field select:focus,
.c360 .c360-field textarea:focus,
.c360f[data-fn] .c360-field input:not([type=checkbox]):not([type=radio]):focus,
.c360f[data-fn] .c360-field select:focus,
.c360f[data-fn] .c360-field textarea:focus,
.c360f[data-fn] textarea:focus {
	background-color: #ffffff;
	border-color: var(--fn, #1d4ed8);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--fn, #1d4ed8) 18%, transparent);
	outline: 0;
}
.c360 .c360-field.has-error input, .c360 .c360-field.has-error select, .c360f .has-error input, .c360f .has-error select { border-color: #b3261e !important; background-color: #fdf5f4 !important; }

/* ---------- Riquadri del menu (Menu Tiles): immagine del percorso senza tagli ---------- */
.mtl-item .mtl-media img[src*="/alterego360-"] { width: 100%; object-fit: cover; object-position: center; }

/* ---------- Pagine del sito: avanzamento delle immagini ---------- */
.c360-pgprog { display: none; margin: 10px 0 0; height: 8px; border-radius: 4px; background: #e6ebf1; overflow: hidden; }
.c360-pgprog.is-on { display: block; }
.c360-pgprog i { display: block; height: 100%; width: 0; border-radius: 4px; background: linear-gradient(90deg, var(--c360-fn-relazioni), #f59e42); transition: width .3s; }
.c360-pgimg .c360-pgtile { width: 96px; display: inline-block; margin: 0 0 6px 6px; vertical-align: bottom; }
.c360-pgimg { width: 330px; }
.c360-pgimg img { display: inline-block; vertical-align: bottom; }

/* ---------- Due o tre righe che spiegano la pagina ---------- */
.c360in-testo { margin: 0 0 16px; padding: 12px 16px; max-width: 78ch; border-left: 4px solid var(--fn); border-radius: 0 10px 10px 0; background: color-mix(in srgb, #ffffff 72%, var(--fn-t)); color: #2b3947; font-size: 15px; line-height: 1.6; }
.c360-app-info { margin: 0 0 14px !important; padding: 10px 14px; max-width: 110ch; border-left: 4px solid var(--fn, #1d4ed8); border-radius: 0 10px 10px 0; background: color-mix(in srgb, #ffffff 55%, var(--fn-t, #eef2f7)); color: #2b3947; font-size: 13.5px; line-height: 1.55; }
.c360-pgbreve { margin: 8px 0 0 !important; padding: 6px 10px; max-width: 46ch; border-left: 3px solid var(--fn); background: color-mix(in srgb, #fff 60%, var(--fn-t)); border-radius: 0 6px 6px 0; font-size: 12.5px; line-height: 1.5; color: #2b3947; }

/* ---------- Presentazione per la home ([contatti360_presentazione]) ---------- */
.c360pr { margin: 0 0 28px; padding: clamp(22px, 4vw, 44px) clamp(18px, 4vw, 48px); border-radius: 20px; border-top: 5px solid var(--fn); color: #1d2733; line-height: 1.6;
	background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--fn) 14%, transparent) 0%, transparent 55%), linear-gradient(160deg, var(--fn-t) 0%, #ffffff 60%);
	box-shadow: 0 12px 34px color-mix(in srgb, var(--fn) 10%, transparent); }
.c360pr-eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fn); }
.c360pr .c360pr-title { margin: 0 0 12px; font-size: clamp(26px, 4vw, 42px); line-height: 1.12; font-weight: 800; letter-spacing: -.01em; color: #14202b; text-wrap: balance; }
.c360pr-intro { margin: 0 0 8px; max-width: 74ch; font-size: clamp(16px, 1.7vw, 19px); color: #2b3947; }
.c360pr h3 { margin: 28px 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--fn); }
.c360pr ul, .c360pr ol, .c360pr dl { list-style: none; margin: 0; padding: 0; }
.c360pr li, .c360pr dd { margin: 0; }
.c360pr-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; counter-reset: c360pr; }
.c360pr-steps li { counter-increment: c360pr; position: relative; padding: 46px 16px 16px; border-radius: 14px; background: #fff; border: 1px solid color-mix(in srgb, var(--fn) 20%, #e6eaf0); }
.c360pr-steps li::before { content: counter(c360pr); position: absolute; top: 12px; left: 16px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--fn); color: #fff; font-weight: 800; font-size: 13px; }
.c360pr li strong { display: block; margin-bottom: 4px; font-size: 16px; color: #14202b; }
.c360pr li span { display: block; font-size: 14.5px; color: #3b4a59; }
.c360pr-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 0 32px; }
.c360pr-cards { display: grid; gap: 10px; }
.c360pr-cards li { padding: 12px 14px; border-left: 4px solid var(--fn); border-radius: 0 12px 12px 0; background: color-mix(in srgb, #ffffff 70%, var(--fn-t)); }
.c360pr-check li, .c360pr-tips li { position: relative; padding: 5px 0 5px 28px; font-size: 15px; color: #2b3947; }
.c360pr-check li::before { content: "✓"; position: absolute; left: 2px; top: 5px; color: var(--c360-fn-tipologie); font-weight: 800; }
.c360pr-tips li::before { content: "→"; position: absolute; left: 2px; top: 5px; color: var(--fn); font-weight: 800; }
.c360pr-faq { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.c360pr-faq > div { padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid #e6eaf0; }
.c360pr-faq dt { margin: 0 0 4px; font-size: 16px; line-height: 1.35; font-weight: 700; font-style: italic; color: #14202b; }
.c360pr-faq dd { font-size: 14.5px; color: #3b4a59; }
.c360pr-end { margin: 24px 0 0; font-size: 17px; font-weight: 600; color: #14202b; max-width: 70ch; }
.c360pr-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.c360pr-btn { display: inline-block; padding: 11px 20px; border-radius: 10px; border: 2px solid var(--fn); background: var(--fn); color: #fff !important; font-weight: 700; text-decoration: none; line-height: 1.2; }
.c360pr-btn.is-ghost { background: transparent; color: var(--fn) !important; }
.c360pr-btn:hover, .c360pr-btn:focus-visible { filter: brightness(1.08); }
.c360pr-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--fn) 40%, #fff); outline-offset: 2px; }

/* ---------- Importa da Gmail ---------- */
.c360imp-hero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; overflow: hidden; margin: 0 0 18px; padding: clamp(22px, 4vw, 40px) clamp(20px, 4vw, 44px); border-radius: 20px; color: #fff;
	background: radial-gradient(90% 140% at 100% 0%, #f59e42 0%, transparent 46%), radial-gradient(70% 120% at 0% 100%, #a21caf 0%, transparent 60%), linear-gradient(120deg, #1e3a8a 0%, #1d4ed8 55%, #2563eb 100%);
	box-shadow: 0 16px 40px rgba(29, 78, 216, .28); }
.c360imp-hero.is-small { padding: 20px 26px; }
.c360imp-eyebrow { margin: 0 0 8px !important; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.c360 .c360imp-title, .c360-app .c360imp-title { margin: 0 0 10px; font-size: clamp(24px, 3.4vw, 38px); line-height: 1.12; font-weight: 800; color: #fff; text-wrap: balance; }
.c360 .c360imp-title::before { display: none; }
.c360imp-hero.is-small .c360imp-title { font-size: clamp(20px, 2.4vw, 26px); }
.c360imp-lead { margin: 0 !important; max-width: 66ch; font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,.92); }
.c360imp-hero .button { background: #fff !important; color: #1d4ed8 !important; border-color: #fff !important; flex: none; }
.c360imp-orb { flex: none; display: grid; place-items: center; width: 132px; height: 132px; border-radius: 50%; background: rgba(255,255,255,.14); box-shadow: 0 0 0 14px rgba(255,255,255,.07), 0 0 0 30px rgba(255,255,255,.04); animation: c360imp-pulse 3.2s ease-in-out infinite; }
.c360imp-orb span { font-size: 64px; font-weight: 800; line-height: 1; color: #fff; }
@keyframes c360imp-pulse { 50% { box-shadow: 0 0 0 20px rgba(255,255,255,.09), 0 0 0 44px rgba(255,255,255,.03); } }
@media (max-width: 700px) { .c360imp-orb { display: none; } .c360imp-hero { flex-wrap: wrap; } }
.c360imp-steps { list-style: none; margin: 0 0 18px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 14px; counter-reset: c360imp; }
.c360imp-steps li { counter-increment: c360imp; position: relative; display: grid; gap: 6px; align-content: start; margin: 0; padding: 52px 18px 18px; border: 1px solid #dde3ea; border-radius: 16px; background: #fff; }
.c360imp-steps li::before { content: counter(c360imp); position: absolute; top: 14px; left: 18px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; font-weight: 800; background: #1d4ed8; }
.c360imp-steps li:nth-child(2)::before { background: #a21caf; }
.c360imp-steps li:nth-child(3)::before { background: #c2410c; }
.c360imp-steps strong { font-size: 16px; font-weight: 700; color: #14202b; }
.c360imp-steps span { color: #3b4a59; font-size: 14px; line-height: 1.5; }
.c360imp-steps .button { justify-self: start; margin-top: 4px; }
.c360imp-drop { display: grid; gap: 14px; justify-items: center; margin: 0 0 18px; }
.c360imp-drop input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.c360imp-zone { display: grid !important; gap: 6px; justify-items: center; width: 100%; box-sizing: border-box; padding: clamp(28px, 6vw, 56px) 20px; border: 3px dashed #93b4f5; border-radius: 20px; background: repeating-linear-gradient(135deg, #f4f7ff 0 14px, #eef3ff 14px 28px); text-align: center; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.c360imp-zone:hover, .c360imp-drop.is-over .c360imp-zone, .c360imp-drop input:focus-visible + .c360imp-zone { border-color: #1d4ed8; background: #e8efff; transform: scale(1.005); }
.c360imp-zone-ico { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #1d4ed8; color: #fff; font-size: 30px; font-weight: 800; box-shadow: 0 8px 22px rgba(29,78,216,.35); }
.c360imp-zone-t { font-size: 20px; font-weight: 800; color: #14202b; }
.c360imp-zone-s { color: #5d6b7a; font-size: 14px; }
.c360imp-zone-f { font-weight: 700; color: #15803d; font-size: 15px; }
.c360imp-zone-f:empty { display: none; }
.c360imp-note ul, .c360imp-last p { margin: 0 0 10px; }
.c360imp-note ul { padding-left: 18px; list-style: disc; display: grid; gap: 4px; max-width: 100ch; }
.c360imp-last { margin-bottom: 16px; }
.c360imp-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 16px; }
.c360imp-kpis div { display: grid; gap: 2px; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid #dde3ea; border-top: 4px solid #94a3b8; }
.c360imp-kpis b { font-size: 30px; line-height: 1; font-variant-numeric: tabular-nums; color: #14202b; }
.c360imp-kpis span { font-size: 13px; color: #5d6b7a; }
.c360imp-kpis .is-new { border-top-color: #15803d; background: linear-gradient(170deg, #e7f6ec, #fff 60%); }
.c360imp-kpis .is-new b { color: #15803d; }
.c360imp-kpis .is-warn { border-top-color: #c28a00; }
.c360imp-opts { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 18px; margin: 0 0 14px; padding: 16px 18px; border: 1px solid #dde3ea; border-radius: 14px; background: #fff; }
.c360imp-opts .c360-field { min-width: 200px; }
.c360imp-sel { display: flex; gap: 6px; padding-bottom: 4px; }
.c360imp-go { margin-left: auto !important; }
.c360imp-table td { vertical-align: middle !important; }
.c360imp-table tr.is-dup td { opacity: .62; }
.c360imp-st { display: inline-block; padding: 2px 9px; border-radius: 10px; font-size: 12px; font-weight: 600; white-space: nowrap; background: #eceff3; color: #5d6b7a; }
.c360imp-st.is-new { background: #e3f1ec; color: #15803d; }
.c360imp-st.is-warn { background: #fcf0c3; color: #6b4e00; }
@media (prefers-reduced-motion: reduce) { .c360imp-orb { animation: none; } .c360imp-zone { transition: none; } }

/* ====================== Posta 360 ====================== */
:root { --c360-fn-posta: #4338ca; --c360-fn-posta-t: #ecebfe; }
body.c360-fn-posta, [data-fn="posta"] { --fn: var(--c360-fn-posta); --fn-t: var(--c360-fn-posta-t); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-posta"]::before { background: var(--c360-fn-posta); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-importa"]::before { background: var(--c360-fn-anagrafica); }

.c360po-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 28px; margin: 0 0 14px; padding: clamp(20px, 3.4vw, 34px) clamp(20px, 3.6vw, 40px); border-radius: 20px; color: #fff;
	background: radial-gradient(80% 140% at 100% 0%, #a21caf 0%, transparent 52%), radial-gradient(60% 120% at 0% 100%, #0e7490 0%, transparent 60%), linear-gradient(120deg, #1e1b4b 0%, #4338ca 60%, #6366f1 100%);
	box-shadow: 0 16px 40px rgba(67, 56, 202, .28); }
.c360po-eyebrow { margin: 0 0 6px !important; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.c360 .c360po-title, .c360-app .c360po-title { margin: 0 0 8px; font-size: clamp(22px, 3vw, 34px); line-height: 1.14; font-weight: 800; color: #fff; text-wrap: balance; }
.c360 .c360po-title::before { display: none; }
.c360po-lead { margin: 0 !important; max-width: 70ch; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.92); }
.c360po-hero-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.c360po .button.c360po-btn-w { background: #fff !important; border-color: #fff !important; color: #312e81 !important; min-height: 40px; padding: 0 16px; font-weight: 700; }
.c360po .button.c360po-btn-w:hover, .c360po .button.c360po-btn-w:focus { background: #ecebfe !important; }

.c360po-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; padding: 6px; border: 1px solid #dde3ea; border-radius: 14px; background: #fff; }
.c360po-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px; text-decoration: none; font-weight: 600; color: #3b4a59 !important; }
.c360po-tabs a:hover, .c360po-tabs a:focus-visible { background: var(--c360-fn-posta-t); color: var(--c360-fn-posta) !important; }
.c360po-tabs a.is-current { background: var(--c360-fn-posta); color: #fff !important; }
.c360po-tabs b { display: inline-block; min-width: 20px; padding: 1px 6px; border-radius: 10px; background: var(--c360-fn-scadenze); color: #fff; font-size: 11px; text-align: center; font-variant-numeric: tabular-nums; }
.c360po-tabs a.is-caselle { margin-left: auto; }
.c360po-intro { margin: 0 0 12px !important; max-width: 100ch; }

.c360po-empty { display: grid; justify-items: center; gap: 6px; padding: 44px 20px; border: 2px dashed #cfd7e0; border-radius: 18px; background: #fff; text-align: center; color: #3b4a59; }
.c360po-empty span { font-size: 44px; line-height: 1; }
.c360po-empty strong { font-size: 18px; color: #14202b; }
.c360po-empty p { margin: 0; max-width: 60ch; }

.c360po-cards { display: grid; gap: 14px; }
.c360po-card { --ac: var(--c360-fn-posta); --ac-t: var(--c360-fn-posta-t); padding: 16px 18px; border: 1px solid #dde3ea; border-left: 6px solid var(--ac); border-radius: 14px; background: linear-gradient(100deg, color-mix(in srgb, var(--ac-t) 55%, #fff) 0, #fff 38%); }
.c360po-card > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.c360po-from { margin: 0 0 2px !important; font-size: 13px; }
.c360 .c360po-card h2, .c360-app .c360po-card h2 { margin: 0; font-size: 18px; line-height: 1.3; text-transform: none; letter-spacing: 0; color: #14202b; }
.c360po-card h2 a { color: inherit !important; text-decoration: none; }
.c360po-card h2 a:hover { text-decoration: underline; }
.c360po-score { flex: none; display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 8px; border-radius: 50%; background: var(--ac); color: #fff; font-weight: 800; font-variant-numeric: tabular-nums; }
.c360po-snip { margin: 8px 0 !important; color: #3b4a59; max-width: 110ch; }
.c360po-atts { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px !important; }
.c360po-att { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border: 1px solid #dde3ea; border-radius: 16px; background: #fff; font-size: 13px; text-decoration: none; color: #1d2733 !important; }
a.c360po-att:hover, a.c360po-att:focus-visible { border-color: var(--c360-fn-posta); }
.c360po-att small { color: #5d6b7a; }
.c360po-why { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px !important; padding: 0 !important; }
.c360po-why li { margin: 0; padding: 3px 10px 3px 24px; position: relative; border-radius: 14px; background: #f1f5f9; font-size: 12.5px; color: #334155; }
.c360po-why li::before { content: "✓"; position: absolute; left: 9px; color: #15803d; font-weight: 800; }
.c360po-prop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px dashed color-mix(in srgb, var(--ac) 45%, #cfd7e0); }
.c360po-prop-l { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ac); }
.c360po-who { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 14px; background: #f1f5f9; color: #5d6b7a !important; font-size: 13px; text-decoration: none; }
.c360po-who.is-known { background: #e3f1ec; color: #15803d !important; font-weight: 600; }
.c360po-amt { font-weight: 700; font-variant-numeric: tabular-nums; }
.c360po-habit { padding: 2px 10px; border-radius: 14px; background: #fef3c7; color: #92400e; font-size: 12.5px; font-weight: 600; }
.c360po-card > footer, .c360po-msg > footer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.c360po-card footer form { margin: 0; }
.c360po-link { margin-left: auto; font-size: 12.5px; color: #5d6b7a !important; }

.c360po-search { display: flex; gap: 8px; margin: 0 0 12px; }
.c360po-search input[type=search] { flex: 1 1 280px; max-width: 480px; }
.c360po-table tr.is-unread td { font-weight: 700; }
.c360po-table tr.is-unread td:first-child { box-shadow: inset 4px 0 0 var(--c360-fn-posta); }
.c360po-st { display: inline-block; padding: 2px 9px; border-radius: 10px; font-size: 12px; font-weight: 600; white-space: nowrap; background: #eceff3; color: #5d6b7a; }
.c360po-st.is-limbo { background: #fef3c7; color: #92400e; }
.c360po-st.is-archiviata { background: #e3f1ec; color: #15803d; }
.c360po-st.is-bad { background: #fbe3e1; color: #b3261e; }
.c360po-pager { display: flex; align-items: center; gap: 12px; margin: 12px 0 0 !important; }

.c360po-msg-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: 16px; align-items: start; }
@media (max-width: 960px) { .c360po-msg-layout { grid-template-columns: 1fr; } }
.c360po-msg, .c360po-box, .c360po-contact { border: 1px solid #dde3ea; border-radius: 14px; background: #fff; padding: 18px 20px; }
.c360 .c360po-msg h2, .c360-app .c360po-msg h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.25; text-transform: none; letter-spacing: 0; color: #14202b; }
.c360po-msg dl { margin: 0 0 12px; display: grid; gap: 2px; font-size: 13.5px; }
.c360po-msg dl > div { display: grid; grid-template-columns: 76px 1fr; gap: 8px; }
.c360po-msg dt { color: #5d6b7a; }
.c360po-msg dd { margin: 0; overflow-wrap: anywhere; }
.c360po-body { margin: 0 0 14px; padding: 14px 16px; border-radius: 10px; background: #f8fafc; border: 1px solid #edf1f5; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14.5px; line-height: 1.6; max-height: 70vh; overflow-y: auto; }
.c360po-box { border-top: 5px solid var(--c360-fn-posta); background: linear-gradient(180deg, var(--c360-fn-posta-t) 0, #fff 110px); }
.c360po-box.is-done { border-top-color: #15803d; background: linear-gradient(180deg, #e7f6ec 0, #fff 110px); }
.c360 .c360po-box h3, .c360-app .c360po-box h3 { margin: 0 0 10px; font-size: 16px; color: #14202b; }
.c360po-form { display: grid; gap: 12px; }
.c360po-form select, .c360po-form input[type=text], .c360po-form input[type=date] { width: 100%; }
.c360po-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.c360po-pick { margin: 0; padding: 8px 12px; border: 1px solid #dde3ea; border-radius: 10px; display: grid; gap: 4px; }
.c360po-pick legend { padding: 0 6px; font-weight: 600; font-size: 13px; }
.c360po-pick label, .c360po-rel { display: flex !important; gap: 6px; align-items: flex-start; font-size: 13.5px; overflow-wrap: anywhere; }
.c360po-pick small { color: #5d6b7a; white-space: nowrap; }
.c360po-alt { margin: 10px 0 0 !important; font-size: 13px; }

.c360po-boxes { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin: 0 0 16px; }
.c360po-boxcard { display: grid; gap: 4px; align-content: start; padding: 16px; border: 1px solid #dde3ea; border-top: 5px solid #94a3b8; border-radius: 14px; background: #fff; }
.c360po-boxcard.is-ok { border-top-color: #15803d; }
.c360po-boxcard.has-error { border-top-color: #b3261e; }
.c360 .c360po-boxcard h2, .c360-app .c360po-boxcard h2 { margin: 0; font-size: 17px; text-transform: none; letter-spacing: 0; color: #14202b; }
.c360po-boxcard p { margin: 0 0 6px; font-size: 13px; }
.c360po-boxcard .button { justify-self: start; }
.c360po-boxadd { display: grid; place-items: center; min-height: 120px; border: 2px dashed #a5b4fc; border-radius: 14px; background: #f5f5ff; color: var(--c360-fn-posta) !important; font-weight: 700; text-decoration: none; }
.c360po-boxadd:hover, .c360po-boxadd:focus-visible { background: var(--c360-fn-posta-t); border-color: var(--c360-fn-posta); }
.c360po-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 13px; }
.c360po-preset-note:empty { display: none; }
.c360po-compose textarea { width: 100%; min-height: 240px; }

.c360po-contact { margin-top: 16px; border-color: color-mix(in srgb, var(--fn) 22%, #dde3ea); background: linear-gradient(180deg, var(--fn-t) 0, #fff 120px); box-shadow: inset 0 3px 0 var(--fn); }
.c360po-contact .c360-archive-head h2::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 3px; background: var(--fn); vertical-align: middle; }
.c360po-mini { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; }
.c360po-mini li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 7px 0; border-top: 1px solid #edf1f5; }
.c360po-mini li:first-child { border-top: 0; }
.c360po-mini li > a { flex: 1 1 240px; min-width: 0; overflow-wrap: anywhere; }
.c360po-dir { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--fn-t); color: var(--fn); font-weight: 800; }

/* ====================== Importa documenti ====================== */
.c360di-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); gap: 20px 32px; align-items: center; margin: 0 0 16px; padding: clamp(20px, 3.4vw, 36px) clamp(20px, 3.6vw, 40px); border-radius: 20px; color: #fff;
	background: radial-gradient(70% 130% at 0% 100%, #a21caf 0%, transparent 58%), radial-gradient(60% 120% at 100% 0%, #f59e42 0%, transparent 55%), linear-gradient(120deg, #3b1d0a 0%, #a16207 55%, #ca8a04 100%);
	box-shadow: 0 16px 40px rgba(161, 98, 7, .28); }
@media (max-width: 860px) { .c360di-hero { grid-template-columns: 1fr; } }
.c360di-eyebrow { margin: 0 0 6px !important; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.88); }
.c360 .c360di-title, .c360-app .c360di-title { margin: 0 0 8px; font-size: clamp(22px, 3vw, 34px); line-height: 1.14; font-weight: 800; color: #fff; text-wrap: balance; }
.c360 .c360di-title::before { display: none; }
.c360di-lead { margin: 0 !important; max-width: 66ch; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.93); }
.c360di-engines { list-style: none; margin: 0 !important; padding: 14px 16px !important; display: grid; gap: 6px; border-radius: 14px; background: rgba(255,255,255,.14); backdrop-filter: blur(2px); font-size: 13.5px; }
.c360di-engines li { margin: 0; display: flex; gap: 8px; align-items: baseline; color: #fff; }
.c360di-engines li.is-off { opacity: .72; }
.c360di-engines b { flex: none; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #fff; color: #15803d; font-size: 12px; }
.c360di-engines li.is-off b { color: #94a3b8; }
.c360di-form { justify-items: stretch; }
.c360di-form .c360imp-zone { border-color: #e2b765; background: repeating-linear-gradient(135deg, #fffaf0 0 14px, #fdf4dc 14px 28px); }
.c360di-form .c360imp-zone:hover, .c360di-form.is-over .c360imp-zone { border-color: #a16207; background: #fdf4dc; }
.c360di-form .c360imp-zone-ico { background: #a16207; box-shadow: 0 8px 22px rgba(161, 98, 7, .35); }
.c360di-opts { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 20px; padding: 14px 16px; border: 1px solid #dde3ea; border-radius: 14px; background: #fff; }
.c360di-opts .c360-field { min-width: 240px; }
.c360di-opts .button-hero { margin-left: auto; }
.c360di-auto { display: flex !important; gap: 8px; align-items: flex-start; flex: 1 1 320px; max-width: 60ch; }
.c360di-results { list-style: none; margin: 0 0 16px !important; padding: 0 !important; display: grid; gap: 10px; }
.c360di-res { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid #dde3ea; border-left: 6px solid #94a3b8; border-radius: 12px; background: #fff; }
.c360di-res > div { flex: 1 1 320px; min-width: 0; }
.c360di-res strong { display: block; overflow-wrap: anywhere; }
.c360di-res p { margin: 2px 0 6px !important; color: #3b4a59; }
.c360di-res.is-ok { border-left-color: #15803d; background: linear-gradient(100deg, #f1faf4, #fff 40%); }
.c360di-res.is-wait { border-left-color: #c28a00; background: linear-gradient(100deg, #fffaeb, #fff 40%); }
.c360di-res.is-bad { border-left-color: #b3261e; }
.c360di-badge { flex: none; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 700; background: #eceff3; color: #475569; }
.is-ok > .c360di-badge { background: #15803d; color: #fff; }
.is-wait > .c360di-badge { background: #fcf0c3; color: #6b4e00; }
.is-bad > .c360di-badge { background: #fbe3e1; color: #b3261e; }
.c360di-limbo { margin: 0 0 16px !important; }
.c360di-ai { margin-top: 8px; }
.c360di-privacy { margin: 12px 0; padding: 12px 14px; border-left: 4px solid #a16207; border-radius: 0 10px 10px 0; background: #fffaf0; font-size: 13px; line-height: 1.55; max-width: 110ch; }
.c360di-privacy p { margin: 0 0 6px; }
.c360di-privacy p:last-child { margin: 0; }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-documenti"]::before { background: var(--c360-fn-archivio); }
#adminmenu .toplevel_page_contatti-360 .wp-submenu a[href*="contatti-360-mappa"]::before { background: var(--c360-ac02); }
.c360di-res.is-dup { border-left-color: #64748b; }
.is-dup > .c360di-badge { background: #e8edf3; color: #475569; }
.c360-servizi { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.c360-servizi li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0; padding: 12px 14px; border: 1px solid #dde3ea; border-radius: 12px; background: #fff; }
.c360-servizi li > span { font-size: 22px; line-height: 1; }
.c360-servizi li > div { flex: 1 1 260px; min-width: 0; }
.c360-servizi strong { display: block; }
.c360-servizi small { display: block; color: #5d6b7a; font-size: 13px; }
/* Schermi stretti: tabelle scorrevoli e pulsanti grandi che vanno a capo, anche nel pannello WordPress. */
@media (max-width: 782px) {
	.wrap.c360 table.widefat { display: block; overflow-x: auto; max-width: 100%; }
}
.c360 .button.button-hero { white-space: normal; height: auto; max-width: 100%; }

/* Menu "Stampa e invia" */
.c360-menu { position: relative; display: inline-block; }
.c360-menu > summary { list-style: none; cursor: pointer; user-select: none; }
.c360-menu > summary::-webkit-details-marker { display: none; }
.c360-menu-caret { display: inline-block; margin-left: 2px; transition: transform .15s; }
.c360-menu[open] .c360-menu-caret { transform: rotate(180deg); }
.c360-menu-list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; width: min(340px, 92vw); max-height: min(72vh, 620px); overflow-y: auto; padding: 8px; border: 1px solid #dde3ea; border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(16, 24, 40, .22); text-align: left; }
.c360-menu-h { margin: 8px 8px 4px !important; font-size: 11px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #5d6b7a; }
.c360-menu-h:first-child { margin-top: 2px !important; }
.c360-menu-item { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border-radius: 10px; color: #14202b !important; text-decoration: none !important; line-height: 1.3; }
.c360-menu-item:hover, .c360-menu-item:focus-visible { background: #eef3ff; outline: 0; box-shadow: inset 0 0 0 2px #1d4ed8; }
.c360-menu-ico { flex: none; width: 26px; text-align: center; font-size: 18px; line-height: 1.3; }
.c360-menu-item strong { display: block; font-size: 14px; font-weight: 700; }
.c360-menu-item small { display: block; color: #5d6b7a; font-size: 12.5px; }
.c360-menu-opt { margin: 8px 4px 2px; padding: 8px 10px 6px; border: 0; border-top: 1px solid #edf1f5; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; }
.c360-menu-opt legend { padding: 0; margin-bottom: 4px; font-size: 12px; color: #5d6b7a; }
.c360-menu-opt label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
@media (max-width: 782px) {
	.c360-menu { position: static; }
	.c360-menu-list { position: fixed; left: 8px; right: 8px; bottom: 8px; top: auto; width: auto; max-height: 78vh; border-radius: 18px; }
	.c360-menu[open]::before { content: ""; position: fixed; inset: 0; z-index: 59; background: rgba(16, 24, 40, .38); }
	.c360-menu-item { padding: 11px 10px; }
}
.c360-stmail { margin: 0 0 18px; padding: 16px 18px; border: 1px solid #c7d7fb; border-left: 5px solid #1d4ed8; border-radius: 14px; background: #f6f9ff; }
.c360-stmail:target { display: block; }
.c360-stmail h2 { margin: 0 0 12px !important; font-size: 17px !important; }
.c360-stmail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px 16px; }
.c360-stmail-grid .is-wide { grid-column: 1 / -1; }
.c360-stmail-grid input[type=text], .c360-stmail-grid select, .c360-stmail-grid textarea { width: 100%; max-width: none; }
.c360-stmail-att { margin: 0; padding: 10px 12px; border: 1px solid #dde3ea; border-radius: 10px; background: #fff; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.c360-stmail-att legend { padding: 0 6px; font-weight: 600; font-size: 13px; }
.c360-stmail-att label { display: inline-flex; align-items: center; gap: 6px; }
.c360-stmail .c360-submit { margin-top: 12px; display: flex; gap: 8px; }

/* ---------- Crea scheda: un solo punto di partenza ---------- */
.c360cr { --cr: var(--c360-fn-crea, #be185d); --cr-t: var(--c360-fn-crea-t, #fde8f1); display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; color: #1d2733; font-size: 15px; line-height: 1.45; }
.c360cr [hidden] { display: none !important; }
.c360cr-hero { padding: clamp(20px, 4vw, 34px); border-radius: 20px; color: #fff; background: radial-gradient(120% 140% at 100% 0%, #f59e0b 0%, transparent 42%), linear-gradient(120deg, #4a0b2c 0%, var(--cr) 58%, #e2437f 100%); box-shadow: 0 14px 34px rgba(190, 24, 93, .22); }
.c360cr-eyebrow { margin: 0 0 6px !important; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .9; color: #fff; }
.c360cr-title { margin: 0 0 8px !important; padding: 0 !important; font-size: clamp(26px, 4vw, 38px) !important; line-height: 1.12 !important; font-weight: 800 !important; color: #fff !important; }
.c360cr-lead { margin: 0 0 16px !important; max-width: 62ch; font-size: 16px; color: rgba(255,255,255,.92); }
.c360cr input.c360cr-q { display: block; width: 100%; max-width: 640px; height: auto; min-height: 54px; margin: 0; padding: 12px 18px !important; border: 0; border-radius: 14px !important; background: #fff !important; color: #14202b; font: inherit; font-size: 18px !important; box-shadow: 0 8px 22px rgba(0,0,0,.18); box-sizing: border-box; }
.c360cr input.c360cr-q:focus { outline: 3px solid #fde68a; outline-offset: 2px; }
.c360cr-who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 16px; border: 1px solid #e3e8ef; border-radius: 14px; background: #fff; }
.c360cr-who label { font-weight: 700; }
.c360cr-who label small { font-weight: 400; color: #5d6b7a; }
.c360cr-who select { flex: 1 1 260px; max-width: 420px; min-height: 40px; padding: 6px 10px; border: 1.5px solid #cfd7e0; border-radius: 10px; background: color-mix(in srgb, var(--cr-t) 50%, #fff); font: inherit; }
.c360cr-whonote { flex: 1 1 100%; margin: 0 !important; color: #3b4a59; font-size: 14px; }
.c360cr-sec > h2 { margin: 0 0 10px !important; padding: 0 !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: #5d6b7a !important; }
.c360cr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 12px; }
.c360cr a { text-decoration: none; }
.c360cr-card { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid #e3e8ef; border-radius: 16px; background: #fff; color: #1d2733 !important; box-shadow: 0 2px 6px rgba(16, 24, 40, .05); transition: transform .12s, box-shadow .12s, border-color .12s; }
.c360cr-card:hover, .c360cr-card:focus-visible { transform: translateY(-2px); border-color: var(--cr); box-shadow: 0 10px 24px rgba(190, 24, 93, .16); outline: 0; }
.c360cr-card:focus-visible { box-shadow: 0 0 0 3px rgba(190, 24, 93, .3); }
.c360cr-ico { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--cr-t); font-size: 24px; line-height: 1; }
.c360cr-txt { flex: 1 1 auto; min-width: 0; display: grid; gap: 1px; }
.c360cr-txt strong { font-size: 16px; font-weight: 700; color: #14202b; }
.c360cr-txt small { font-size: 13px; color: #5d6b7a; }
.c360cr-card .c360-code-ac { justify-self: start; margin-top: 3px; font-size: 10.5px; opacity: .9; }
.c360cr-file { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 20px; border: 2.5px dashed color-mix(in srgb, var(--cr) 55%, #fff); border-radius: 18px; background: repeating-linear-gradient(135deg, #fff 0 14px, var(--cr-t) 14px 28px); color: #1d2733 !important; transition: border-color .12s, transform .12s; }
.c360cr-file:hover, .c360cr-file:focus-visible { border-color: var(--cr); transform: scale(1.004); outline: 0; }
.c360cr-file .c360cr-ico { width: 56px; height: 56px; background: var(--cr); font-size: 28px; }
.c360cr-file .c360cr-txt { flex: 1 1 280px; }
.c360cr-file .c360cr-txt strong { font-size: 18px; }
.c360cr-file .c360cr-txt small { font-size: 14px; }
.c360cr-go { flex: none; padding: 10px 16px; border-radius: 12px; background: var(--cr); color: #fff; font-weight: 700; }
.c360cr-tip { margin: 12px 0 0 !important; padding: 10px 14px; border-left: 4px solid var(--c360-ac03, #b45309); border-radius: 0 10px 10px 0; background: var(--c360-ac03-t, #fdf0e1); font-size: 14px; }
.c360cr.is-search .c360cr-tip { display: none; }
.c360cr-classi { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 12px; align-items: start; }
.c360cr-classe { padding: 14px 16px; border: 1px solid #e3e8ef; border-top: 4px solid var(--ac, #64748b); border-radius: 14px; background: linear-gradient(175deg, var(--ac-t, #f6f8fb), #fff 46%); }
.c360cr-ch { margin: 0 0 2px !important; font-size: 16px; }
.c360cr-cd { margin: 0 0 8px !important; font-size: 13px; color: #5d6b7a; }
.c360cr-classe ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 2px; }
.c360cr-classe li { margin: 0; }
.c360cr-classe li a { display: flex; gap: 8px; align-items: baseline; padding: 6px 8px; border-radius: 8px; color: #1d2733 !important; font-size: 14px; }
.c360cr-classe li a:hover, .c360cr-classe li a:focus-visible { background: var(--ac-t, #eef2f7); outline: 0; box-shadow: inset 3px 0 0 var(--ac, #64748b); }
.c360cr-classe li a .c360-mono { flex: none; color: var(--ac, #64748b); font-weight: 700; font-size: 12px; }
.c360cr-none { margin: 0 !important; padding: 16px; border: 1px dashed #cfd7e0; border-radius: 14px; background: #fff; text-align: center; color: #3b4a59; }
.c360cr-none a { color: var(--cr); text-decoration: underline; font-weight: 600; }
.c360cr-lock { padding: 16px 18px; border: 1px solid #f3c5d8; border-left: 5px solid #be185d; border-radius: 12px; background: #fde8f1; }
.c360cr-lock p { margin: 0 0 6px; }
.c360cr-lock p:last-child { margin: 0; }
@media (prefers-reduced-motion: reduce) { .c360cr-card, .c360cr-file { transition: none; } }

/* ---------- Immagine delle schede (avatar) ---------- */
.c360-avatar { position: relative; flex: none; overflow: hidden; }
.c360-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
.c360-avatar.has-img .c360-avatar-fb { visibility: hidden; }
.c360-avatar.has-img { background: #e8edf3 !important; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(16, 24, 40, .12); }
span.c360-avatar { display: inline-grid; place-items: center; }
.c360-avatar.is-sm { width: 34px; height: 34px; font-size: 12.5px; border-radius: 50%; }
.c360-avatar--azienda.is-sm, .c360-avatar--doc.is-sm { border-radius: 9px; }
.c360-avatar--doc.is-sm { font-size: 17px; }
.c360-namecell { display: flex; align-items: center; gap: 10px; }
.c360-avatarbox { position: relative; flex: none; }
.c360-avatar-btn { padding: 0; border: 0; cursor: pointer; font: inherit; font-size: 22px; font-weight: 600; overflow: visible; transition: transform .12s; }
.c360-avatar-btn img { border-radius: inherit; }
.c360-avatar-btn:hover { transform: scale(1.04); }
.c360-avatar-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--fn, #1d4ed8) 60%, #fff); outline-offset: 3px; }
.c360-avatar-cam { position: absolute; right: -4px; bottom: -4px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(16, 24, 40, .28); font-size: 13px; line-height: 1; opacity: .92; }
.c360-avatarbox.is-busy .c360-avatar-btn { opacity: .55; }
.c360-avatar-pop { position: absolute; z-index: 60; top: calc(100% + 10px); left: 0; width: min(340px, calc(100vw - 48px)); padding: 14px; border: 1px solid #dde3ea; border-radius: 16px; background: #fff; box-shadow: 0 18px 44px rgba(16, 24, 40, .22); }
.c360-avatar-pop[hidden] { display: none; }
.c360-avatar-pop-t { margin: 0 0 8px !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #5d6b7a; }
.c360-avatar-pop-a { display: flex; justify-content: space-between; gap: 8px; margin: 10px 0 0 !important; }
.c360-avatar-pop-a button { border: 0; background: none; padding: 4px 2px; min-height: 0; box-shadow: none; font: inherit; font-size: 13px; cursor: pointer; color: #1d4ed8; text-decoration: underline; text-transform: none; letter-spacing: 0; }
.c360-avatar-pop-a .c360-avatar-rm { color: #b3261e; }
.c360-avatar-pop-a [hidden] { display: none; }
.c360-avatar-pop-a .c360-avatar-x { margin-left: auto; }

/* ---------- Area di caricamento: trascina, incolla, sfoglia ---------- */
.c360up { display: grid; gap: 12px; }
.c360up-zone { position: relative; display: grid; justify-items: center; gap: 4px; padding: 22px 16px; border: 2.5px dashed color-mix(in srgb, var(--fn, #1d4ed8) 45%, #fff); border-radius: 18px; background: repeating-linear-gradient(135deg, #fff 0 14px, color-mix(in srgb, var(--fn-t, #e8efff) 70%, #fff) 14px 28px); text-align: center; color: #1d2733; transition: border-color .15s, background .15s, transform .15s; box-sizing: border-box; }
.c360up-zone:focus-visible { outline: 3px solid color-mix(in srgb, var(--fn, #1d4ed8) 55%, #fff); outline-offset: 2px; }
.c360up-zone.is-over, .c360up-zone.is-pasted { border-color: var(--fn, #1d4ed8); border-style: solid; background: var(--fn-t, #e8efff); transform: scale(1.006); }
.c360up-ico { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 4px; border-radius: 50%; background: var(--fn, #1d4ed8); color: #fff; font-size: 22px; font-weight: 800; line-height: 1; box-shadow: 0 8px 20px color-mix(in srgb, var(--fn, #1d4ed8) 35%, transparent); }
.c360up-zone.is-over .c360up-ico { animation: c360up-bounce .6s ease-in-out infinite; }
@keyframes c360up-bounce { 50% { transform: translateY(-5px); } }
.c360up-t { font-size: 17px; font-weight: 800; color: #14202b; }
.c360up-s { font-size: 14px; color: #3b4a59; }
.c360up-s kbd { padding: 1px 5px; border: 1px solid #cfd7e0; border-bottom-width: 2px; border-radius: 5px; background: #fff; font: inherit; font-size: 12px; }
.c360up-browse, .c360up-zone .c360up-lib { display: inline; padding: 0; border: 0; background: none; min-height: 0; box-shadow: none; color: var(--fn, #1d4ed8); font: inherit; font-weight: 700; text-decoration: underline; text-transform: none; letter-spacing: 0; cursor: pointer; }
.c360up-h { font-size: 12.5px; color: #5d6b7a; }
.c360up-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; }
.c360up-input:focus-visible ~ .c360up-msg, .c360up-zone:has(.c360up-input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--fn, #1d4ed8) 55%, #fff); outline-offset: 2px; }
.c360up-msg { margin: 4px 0 0 !important; min-height: 0; font-size: 13px; font-weight: 600; color: #14532d; }
.c360up-msg:empty { display: none; }
.c360up-zone.is-avatar { padding: 16px 12px; border-radius: 14px; }
.c360up-zone.is-avatar .c360up-ico { width: 40px; height: 40px; font-size: 18px; }
.c360up-zone.is-avatar .c360up-t { font-size: 15px; }
.c360up-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 10px; }
.c360up-list:empty { display: none; }
.c360up-item { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 34px 8px 8px; border: 1px solid #dde3ea; border-radius: 14px; background: #fff; min-width: 0; overflow: hidden; }
.c360up-list.is-view .c360up-item { padding-right: 10px; }
.c360up-item.is-new { animation: c360up-in .35s ease-out; }
@keyframes c360up-in { from { transform: scale(.96); box-shadow: 0 0 0 4px color-mix(in srgb, var(--fn, #1d4ed8) 30%, transparent); } }
.c360up-thumb { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: #eef2f7; text-decoration: none; }
.c360up-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c360up-ext { display: grid; place-items: center; width: 100%; height: 100%; background: #64748b; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.is-pdf .c360up-ext { background: #c2410c; }
.is-doc .c360up-ext { background: #1d4ed8; }
.is-xls .c360up-ext { background: #15803d; }
.is-img .c360up-ext { background: #7e22ce; }
.c360up-meta { flex: 1 1 auto; min-width: 0; display: grid; gap: 1px; }
.c360up-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; color: #14202b !important; text-decoration: none; }
a.c360up-name:hover { text-decoration: underline; }
.c360up-meta small { font-size: 12px; color: #5d6b7a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c360up-item.is-bad { border-color: #f1b5b0; background: #fff5f4; }
.c360up-item.is-bad .c360up-meta small { color: #b3261e; white-space: normal; }
.c360up-item .c360up-rm { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 24px; height: 24px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: #eef2f7; color: #475569; font-size: 12px; line-height: 1; cursor: pointer; box-shadow: none; }
.c360up-item .c360up-rm:hover, .c360up-item .c360up-rm:focus-visible { background: #b3261e; color: #fff; outline: 0; }
.c360up-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: #e8edf3; }
.c360up-bar i { display: block; height: 100%; width: 0; background: var(--fn, #1d4ed8); transition: width .15s; }
.c360up-item:not(.is-loading) .c360up-bar { display: none; }
@media (prefers-reduced-motion: reduce) { .c360up-zone, .c360-avatar-btn { transition: none; } .c360up-zone.is-over .c360up-ico, .c360up-item.is-new { animation: none; } }
.c360up-zone [hidden] { display: none !important; }
.c360fb-avatar { position: relative; overflow: hidden; }
.c360fb-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.c360f .c360-avatar.is-sm { vertical-align: middle; margin-right: 6px; }
.c360f .c360-avatar--privato { background: #e7f6ec; color: #15803d; }
.c360f .c360-avatar--azienda { background: #e2f4f8; color: #0e7490; }
.c360-logoprev { display: flex; align-items: center; gap: 12px; margin: 8px 0 0 !important; color: #5d6b7a; font-size: 13px; }
.c360-logoprev img { height: 44px; width: auto; max-width: 240px; padding: 4px 8px; border: 1px solid #dde3ea; border-radius: 8px; background: #fff; }
.c360cr, .c360cr-sec, .c360cr-classe, .c360cr-card, .c360cr-file { min-width: 0; }
.c360cr-classe li a { overflow-wrap: anywhere; }
@media (max-width: 600px) { .c360cr-who select { flex-basis: 100%; max-width: none; } .c360cr-go { flex: 1 1 100%; text-align: center; } }
.c360cr-who select { min-width: 0; width: 100%; }

/* ---------- Diritti e quote ---------- */
.c360tit { margin: 18px 0; padding: 16px 18px; border: 1px solid #dde3ea; border-left: 5px solid var(--c360-ac03, #b45309); border-radius: 14px; background: #fff; }
.c360tit-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 12px; }
.c360tit-head h2 { margin: 0 !important; padding: 0 !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: #5d6b7a !important; }
.c360tit-esito { display: inline-block; padding: 3px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.c360tit-esito.is-ok { background: #e7f6ec; color: #14532d; }
.c360tit-esito.is-warn { background: #fcf0c3; color: #6b4e00; }
.c360tit-esito.is-bad { background: #fbe3e1; color: #9f1d15; }
.c360tit-bar { display: grid; grid-template-columns: 86px minmax(0, 1fr) 62px; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 12.5px; color: #5d6b7a; }
.c360tit-bar-t { display: flex; height: 26px; border-radius: 8px; overflow: hidden; background: repeating-linear-gradient(135deg, #eef2f7 0 8px, #e2e8f0 8px 16px); box-shadow: inset 0 0 0 1px #dde3ea; }
.c360tit-bar.is-over .c360tit-bar-t { box-shadow: inset 0 0 0 2px #b3261e; }
.c360tit-bar-n { font-weight: 800; font-size: 14px; color: #14202b; text-align: right; font-variant-numeric: tabular-nums; }
.c360tit-bar.is-over .c360tit-bar-n { color: #b3261e; }
.c360tit-seg { display: grid; place-items: center; min-width: 0; color: #fff; font-size: 12px; overflow: hidden; white-space: nowrap; box-shadow: inset -2px 0 0 rgba(255,255,255,.75); }
.c360tit-seg.is-nuda { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.28) 0 5px, transparent 5px 10px); }
.is-c0 { background-color: #1d4ed8; } .is-c1 { background-color: #be185d; } .is-c2 { background-color: #15803d; } .is-c3 { background-color: #b45309; } .is-c4 { background-color: #7e22ce; } .is-c5 { background-color: #0e7490; }
.c360tit-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; vertical-align: baseline; }
.c360tit-table { width: 100%; border-collapse: collapse; margin: 8px 0 4px; font-size: 14px; position: relative; }
.c360tit-table th { padding: 6px 10px; background: #f4f6f9; color: #475569; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-align: left; white-space: nowrap; }
.c360tit-table td { padding: 8px 10px; border-bottom: 1px solid #edf1f5; vertical-align: top; }
.c360tit-table td small { display: block; color: #5d6b7a; font-size: 12px; }
.c360tit-q strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.c360tit-q small { display: inline !important; }
.c360tit-esiti { list-style: none; margin: 12px 0 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.c360tit-esiti li { display: flex; gap: 10px; margin: 0; padding: 10px 12px; border-radius: 10px; border-left: 4px solid #94a3b8; background: #f6f8fb; }
.c360tit-esiti li.is-errore { border-left-color: #b3261e; background: #fff5f4; }
.c360tit-esiti li.is-avviso { border-left-color: #c28a00; background: #fffaeb; }
.c360tit-esiti li.is-info { border-left-color: #1d4ed8; background: #f3f7ff; }
.c360tit-esiti p { margin: 0 !important; font-size: 14px; }
.c360tit-esiti .c360tit-fix { margin-top: 8px !important; display: flex; flex-wrap: wrap; gap: 6px; }
.c360tit-edit summary, .c360tit-add summary { cursor: pointer; color: #1d4ed8; font-size: 13px; font-weight: 600; white-space: nowrap; }
.c360tit-add { margin: 12px 0 6px; }
.c360tit-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; margin: 8px 0 0; padding: 10px 12px; border: 1px solid #e3e8ef; border-radius: 10px; background: #f8fafc; }
.c360tit-form label { display: grid; gap: 3px; font-size: 12px; font-weight: 700; color: #475569; }
.c360tit-form label.is-wide { flex: 1 1 240px; }
.c360tit-form select, .c360tit-form input[type=text], .c360tit-form input[type=date] { min-height: 34px; padding: 4px 8px; border: 1.5px solid #cfd7e0; border-radius: 8px; background: #fff; font: inherit; font-weight: 400; color: #14202b; max-width: 100%; }
.c360tit-edit[open] { position: relative; }
.c360tit-edit .c360tit-form { position: absolute; right: 0; z-index: 30; width: min(460px, calc(100vw - 48px)); box-shadow: 0 14px 34px rgba(16, 24, 40, .2); background: #fff; }
.c360tit-mat { margin: 0 0 10px; background: #fff7fb; border-color: #f3c5d8; }
.c360tit-mat-t { flex: 1 1 220px; font-size: 14px; align-self: center; }
.c360rel-tit { font-weight: 700; color: #7c2d12 !important; }

/* ---------- IMU presunta e amministratore di condominio ---------- */
.c360imu { border-left-color: var(--c360-fn-scadenze, #c2410c); }
.c360imu-all { margin-left: auto; font-size: 13px; font-weight: 600; }
.c360imu-calc { margin: 0 0 8px !important; font-size: 14.5px; color: #1d2733; }
.c360imu-calc small { color: #5d6b7a; }
.c360imu-table .is-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.c360imu-table th small { display: block; font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 10.5px; color: #64748b; }
.c360imu-table tfoot th, .c360imu-table tfoot td { padding: 8px 10px; background: #fff7ed; font-size: 13.5px; text-align: left; border-top: 2px solid #fed7aa; }
.c360imu-table tfoot th.is-num { text-align: right; font-size: 15px; }
.c360imu-rate { color: #7c2d12; }
.c360imu-miss { margin: 0 0 8px !important; padding: 8px 12px; border-radius: 10px; background: #fffaeb; color: #6b4e00; font-size: 14px; }
td .c360imu-miss { display: block; margin: 0 !important; }
.c360imu-note { margin: 8px 0 0 !important; padding: 0 0 0 18px !important; color: #3b4a59; font-size: 13px; }
.c360imu-note li { margin: 2px 0; }
.c360imu-riga { display: block; }
.c360imu-riga small { color: #5d6b7a; }
.c360imu-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 12px; margin: 14px 0; }
.c360imu-kpi > div { padding: 14px 16px; border: 1px solid #fed7aa; border-radius: 14px; background: linear-gradient(160deg, #fff7ed, #fff 70%); }
.c360imu-kpi span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9a3412; }
.c360imu-kpi strong { display: block; margin-top: 4px; font-size: 26px; line-height: 1.15; color: #14202b; font-variant-numeric: tabular-nums; }
.c360imu-kpi strong small { font-size: 14px; font-weight: 600; color: #5d6b7a; }
.c360imu-kpi strong.is-small { font-size: 16px; }
.c360imu-anno { display: inline-flex; align-items: center; gap: 6px; margin-right: 8px; }
.c360imu-algrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px 16px; margin: 10px 0 14px; }
.c360imu-how { margin: 18px 0; padding: 16px 18px; border: 1px solid #dde3ea; border-radius: 14px; background: #f8fafc; font-size: 14px; }
.c360imu-how h2 { margin: 0 0 8px !important; font-size: 15px !important; }
.c360imu-how ul { margin: 0 0 10px !important; padding-left: 18px !important; }
.c360imu-how li { margin: 4px 0; }
.c360imu-how p { margin: 0 !important; font-weight: 600; }
.c360amm { border-left-color: var(--c360-fn-aziende, #0e7490); }
.c360amm-card { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 10px 12px; margin: 0 0 8px; border: 1px solid #e3e8ef; border-radius: 12px; background: #fff; }
.c360amm-main { flex: 1 1 240px; min-width: 0; display: grid; gap: 1px; font-size: 13.5px; color: #3b4a59; }
.c360amm-name { font-size: 16px; font-weight: 700; }
.c360amm-main small { color: #5d6b7a; }
.c360amm-act { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.c360amm-x { font-size: 12.5px; color: #b3261e !important; }

/* 1.17.0 — moduli dei riquadri su schermi stretti: i menu a tendina non allargano la pagina */
.c360tit-form label { min-width: 0; max-width: 100%; }
.c360tit-form label.is-wide { flex: 1 1 min(240px, 100%); }
.c360tit-form select, .c360tit-form input[type=text], .c360tit-form input[type=date] { width: 100%; min-width: 0; box-sizing: border-box; }
.c360tit-form label:not(.is-wide) select, .c360tit-form label:not(.is-wide) input[type=text], .c360tit-form label:not(.is-wide) input[type=date] { width: auto; }
.c360ck .button, .c360ck a.button { white-space: normal; height: auto; min-height: 30px; line-height: 1.35; padding-top: 4px; padding-bottom: 4px; text-align: left; max-width: 100%; }
