/* RFL – Anagrafiche · menu a piastrelle (condiviso admin/frontend) */

.rfl-piastrelle {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 16px;
	margin: 18px 0 30px;
}

.rfl-piastrelle-compatte { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin: 4px 0 0; }

.rfl-piastrella {
	--rfl-tile: #2271b1;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #fff;
	border: 1px solid #e2e4e7;
	border-radius: 14px;
	padding: 18px 18px 16px;
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.rfl-piastrella::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: var(--rfl-tile);
}

.rfl-piastrella:hover {
	transform: translateY(-2px);
	border-color: var(--rfl-tile);
	box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
}

@media (prefers-reduced-motion: reduce) {
	.rfl-piastrella { transition: none; }
	.rfl-piastrella:hover { transform: none; }
}

.rfl-piastrella header {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.rfl-piastrella-icona {
	font-size: 24px;
	line-height: 1;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: color-mix(in srgb, var(--rfl-tile) 12%, #fff);
	flex: 0 0 auto;
}

.rfl-piastrella h2 {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.3;
	color: #1d2327;
	flex: 1 1 auto;
}

.rfl-piastrelle-compatte .rfl-piastrella { padding: 12px 13px; }
.rfl-piastrelle-compatte .rfl-piastrella-icona { width: 32px; height: 32px; font-size: 18px; border-radius: 9px; }
.rfl-piastrelle-compatte .rfl-piastrella h2 { font-size: 13.5px; }

.rfl-piastrella-avviso {
	background: #fef2f2;
	color: #b91c1c;
	border-radius: 999px;
	padding: 2px 9px;
	font-size: 11px;
	font-weight: 700;
}

.rfl-piastrella-desc {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #50575e;
	flex: 1 1 auto;
}

.rfl-piastrella-stat {
	margin: 0;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--rfl-tile);
	text-transform: lowercase;
	letter-spacing: .2px;
}

.rfl-piastrella footer {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px solid #f0f0f1;
}

.rfl-piastrella-avvio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--rfl-tile);
	color: #fff !important;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 999px;
	transition: filter .15s;
}

.rfl-piastrella-avvio:hover,
.rfl-piastrella-avvio:focus { filter: brightness(1.12); color: #fff !important; }
.rfl-piastrella-avvio:focus-visible { outline: 2px solid var(--rfl-tile); outline-offset: 2px; }

.rfl-piastrella-secondario { font-size: 12.5px; text-decoration: none; }

.rfl-avvio-sub { font-size: 14px; color: #50575e; max-width: 760px; }

/* Versione frontend */
.rfl-piastrelle-frontend { font-family: inherit; }
.rfl-piastrelle-frontend .rfl-piastrella h2 { font-family: inherit; }

/* --- Stili aggiuntivi dei menu personalizzati --- */
.rfl-piastrelle-elenco {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.rfl-piastrella-riga {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-left: 4px solid var(--rfl-tile, #3b82f6);
	border-radius: 10px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: transform .12s ease, box-shadow .12s ease;
}

.rfl-piastrella-riga:hover,
.rfl-piastrella-riga:focus-visible {
	transform: translateX(2px);
	box-shadow: 0 6px 18px rgba(15, 23, 42, .1);
}

.rfl-piastrella-riga .rfl-piastrella-icona { font-size: 22px; }

.rfl-piastrella-testo {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.rfl-piastrella-testo small {
	color: #64748b;
	font-size: 12px;
	line-height: 1.35;
}

.rfl-piastrelle-pulsanti {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rfl-piastrella-pulsante {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid var(--rfl-tile, #3b82f6);
	color: var(--rfl-tile, #3b82f6);
	background: #fff;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	transition: background .12s ease, color .12s ease;
}

.rfl-piastrella-pulsante:hover,
.rfl-piastrella-pulsante:focus-visible {
	background: var(--rfl-tile, #3b82f6);
	color: #fff;
}

.rfl-piastrella-secondario {
	margin-left: 12px;
	font-size: 12px;
	color: #64748b;
	text-decoration: none;
}

.rfl-piastrella-secondario:hover { text-decoration: underline; }
