/* Adempimenti360 – App Presenze */
.a360pr-app {
	--a360pr-testo: #1f2328;
	--a360pr-tenue: #59636e;
	--a360pr-bordo: #d0d7de;
	--a360pr-fondo: #ffffff;
	--a360pr-card: #f6f8fa;
	--a360pr-primario: #1f6feb;
	--a360pr-ok: #1a7f37;
	--a360pr-attenzione: #bc4c00;
	--a360pr-errore: #cf222e;
	max-width: 480px;
	margin: 0 auto;
	padding: 12px 16px 32px;
	font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--a360pr-testo);
	background: var(--a360pr-fondo);
	box-sizing: border-box;
}
.a360pr-app *, .a360pr-app *::before, .a360pr-app *::after { box-sizing: border-box; }
@media (prefers-color-scheme: dark) {
	.a360pr-app {
		--a360pr-testo: #e6edf3;
		--a360pr-tenue: #9198a1;
		--a360pr-bordo: #3d444d;
		--a360pr-fondo: #0d1117;
		--a360pr-card: #161b22;
		--a360pr-primario: #4493f8;
		--a360pr-ok: #3fb950;
		--a360pr-attenzione: #f0883e;
		--a360pr-errore: #f85149;
	}
}
.a360pr-titolo { font-size: 22px; margin: 8px 0 16px; font-weight: 600; }
.a360pr-nota, .a360pr-etichetta { color: var(--a360pr-tenue); font-size: 14px; margin: 20px 0 8px; display: block; }
.a360pr-sigla {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 30px; height: 24px; padding: 0 6px; border-radius: 5px;
	color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .3px; vertical-align: middle;
}
.a360pr-risorsa {
	display: flex; align-items: center; gap: 12px; width: 100%;
	padding: 16px; margin: 0 0 10px; min-height: 64px;
	background: var(--a360pr-card); color: var(--a360pr-testo);
	border: 1px solid var(--a360pr-bordo); border-radius: 12px;
	font: inherit; text-align: left; cursor: pointer;
}
.a360pr-risorsa:active { transform: scale(.99); }
.a360pr-risorsa-nome { flex: 1; display: flex; flex-direction: column; }
.a360pr-risorsa-nome small { color: var(--a360pr-tenue); }
.a360pr-freccia { font-size: 26px; color: var(--a360pr-tenue); }
.a360pr-input {
	width: 100%; padding: 12px; font: inherit; font-size: 16px;
	color: var(--a360pr-testo); background: var(--a360pr-fondo);
	border: 1px solid var(--a360pr-bordo); border-radius: 10px; margin-bottom: 10px;
}
.a360pr-card {
	padding: 20px; border-radius: 16px; background: var(--a360pr-card);
	border: 1px solid var(--a360pr-bordo); border-left: 6px solid var(--a360pr-tenue); margin-bottom: 20px;
}
.a360pr-stato-servizio { border-left-color: var(--a360pr-ok); }
.a360pr-stato-pausa { border-left-color: #9a6700; }
.a360pr-stato-spostamento { border-left-color: var(--a360pr-primario); }
.a360pr-card-testa { display: flex; align-items: center; gap: 10px; font-size: 18px; }
.a360pr-stato-etichetta { font-size: 28px; font-weight: 700; margin-top: 12px; }
.a360pr-commessa { font-size: 17px; margin-top: 4px; }
.a360pr-dal, .a360pr-cronometro { color: var(--a360pr-tenue); margin-top: 4px; font-variant-numeric: tabular-nums; }
.a360pr-azioni { display: grid; gap: 12px; }
.a360pr-azione, .a360pr-btn {
	display: block; width: 100%; min-height: 64px; padding: 16px;
	font: inherit; font-size: 19px; font-weight: 600;
	border-radius: 14px; border: 1px solid var(--a360pr-bordo);
	background: var(--a360pr-card); color: var(--a360pr-testo); cursor: pointer;
}
.a360pr-azione-inizio, .a360pr-btn-primario { background: var(--a360pr-primario); border-color: var(--a360pr-primario); color: #fff; }
.a360pr-azione-fine { background: #24292f; border-color: #24292f; color: #fff; }
@media (prefers-color-scheme: dark) { .a360pr-azione-fine { background: #e6edf3; border-color: #e6edf3; color: #0d1117; } }
.a360pr-azione-pausa_inizio, .a360pr-azione-pausa_fine { border-color: #9a6700; }
.a360pr-btn[disabled] { opacity: .6; }
.a360pr-btn + .a360pr-link, .a360pr-azioni + .a360pr-link { margin-top: 14px; }
.a360pr-link {
	display: block; width: 100%; padding: 14px; background: none; border: 0;
	color: var(--a360pr-primario); font: inherit; cursor: pointer; text-align: center;
}
.a360pr-riepilogo {
	display: grid; grid-template-columns: 120px 1fr; gap: 10px 12px; margin: 0 0 8px;
	padding: 16px; background: var(--a360pr-card); border-radius: 12px; border: 1px solid var(--a360pr-bordo);
}
.a360pr-riepilogo dt { color: var(--a360pr-tenue); font-size: 14px; }
.a360pr-riepilogo dd { margin: 0; overflow-wrap: anywhere; }
.a360pr-riepilogo dd .a360pr-input { margin: 0; }
.a360pr-riepilogo .a360pr-larga { grid-column: 1 / -1; }
.a360pr-riepilogo dt.a360pr-larga { margin-bottom: -4px; }
.a360pr-ok { color: var(--a360pr-ok); display: block; margin-top: 4px; }
.a360pr-attenzione { color: var(--a360pr-attenzione); }
.a360pr-errore {
	padding: 12px 14px; margin: 0 0 14px; border-radius: 10px;
	color: var(--a360pr-errore); border: 1px solid var(--a360pr-errore); background: transparent;
}
.a360pr-banner {
	padding: 10px 14px; margin: 0 0 14px; border-radius: 10px; font-size: 14px;
	background: #fff8c5; color: #4d2d00; border: 1px solid #d4a72c;
}
.a360pr-ricevuta { text-align: center; margin-bottom: 20px; }
.a360pr-ricevuta h2 { margin: 6px 0 14px; }
.a360pr-ricevuta .a360pr-riepilogo { text-align: left; }
.a360pr-spunta {
	width: 64px; height: 64px; margin: 8px auto 0; border-radius: 50%;
	background: var(--a360pr-ok); color: #fff; font-size: 36px; line-height: 64px;
}
.a360pr-ricevuta-offline { padding: 16px; border-radius: 12px; border: 1px solid #d4a72c; }
.a360pr-carica { text-align: center; padding: 48px 0; color: var(--a360pr-tenue); }
.a360pr-spinner {
	width: 36px; height: 36px; margin: 0 auto 12px; border-radius: 50%;
	border: 4px solid var(--a360pr-bordo); border-top-color: var(--a360pr-primario);
	animation: a360pr-giro 1s linear infinite;
}
@keyframes a360pr-giro { to { transform: rotate(360deg); } }
@media (max-width: 360px) { .a360pr-riepilogo { grid-template-columns: 1fr; } }

/* Schede pubbliche e riepiloghi */
.a360pr-schede { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 1em 0; }
.a360pr-scheda { border: 1px solid #d0d7de; border-radius: 12px; padding: 16px 18px; background: #fff; color: #1f2328; }
.a360pr-scheda h3 { margin: 0 0 6px; font-size: 18px; display: flex; align-items: center; gap: 8px; }
.a360pr-scheda .a360pr-num { font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; }
.a360pr-scheda small { color: #59636e; }
.a360pr-tabella { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: 15px; }
.a360pr-tabella th, .a360pr-tabella td { padding: 8px 10px; border-bottom: 1px solid #d0d7de; text-align: left; }
.a360pr-tabella td.num, .a360pr-tabella th.num { text-align: right; font-variant-numeric: tabular-nums; }
