/* ==========================================================================
   GENSS - Sorveglianza Cassetta Primo Soccorso — stile form frontend
   ========================================================================== */

.genss-cps-wrapper {
	--genss-orange: #e8622c;
	--genss-orange-dark: #c94f1e;
	--genss-navy: #23303f;
	--genss-navy-soft: #4a5a6b;
	--genss-border: #e2e6ea;
	--genss-bg-soft: #f7f8fa;

	max-width: 1180px;
	margin: 40px auto;
	padding: 0 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--genss-navy);
	box-sizing: border-box;
}

.genss-cps-wrapper * {
	box-sizing: border-box;
}

.genss-cps-form {
	background: #fff;
	border: 1px solid var(--genss-border);
	border-radius: 14px;
	box-shadow: 0 4px 18px rgba(35, 48, 63, 0.06);
	padding: 40px 44px 36px;
}

@media (max-width: 640px) {
	.genss-cps-form {
		padding: 24px 18px 24px;
		border-radius: 10px;
	}
	.genss-cps-wrapper {
		margin: 20px auto;
	}
}

.genss-cps-form h2 {
	margin: 0 0 6px;
	font-size: 1.5em;
	font-weight: 700;
	color: var(--genss-navy);
	border-bottom: 3px solid var(--genss-orange);
	padding-bottom: 14px;
}

.genss-cps-periodicita {
	color: var(--genss-navy-soft);
	margin: 14px 0 30px;
	font-size: 0.95em;
	letter-spacing: 0.02em;
}

.genss-cps-form h3 {
	font-size: 1.15em;
	font-weight: 700;
	color: var(--genss-navy);
	margin: 44px 0 18px;
	padding-left: 12px;
	border-left: 4px solid var(--genss-orange);
}

/* --- Intestazione: ID cassetta / data / operatore --- */

.genss-cps-grid-header {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 20px;
	margin-bottom: 8px;
	background: var(--genss-bg-soft);
	padding: 24px;
	border-radius: 10px;
	border: 1px solid var(--genss-border);
}

.genss-cps-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 0.85em;
	color: var(--genss-navy-soft);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.genss-cps-field input,
.genss-cps-field select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cfd6dd;
	border-radius: 8px;
	font-size: 0.98em;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.genss-cps-field select {
	cursor: pointer;
}

/* --- Tabelle --- */

.genss-cps-table-scroll {
	overflow-x: auto;
	border-radius: 10px;
	border: 1px solid var(--genss-border);
}

.genss-cps-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	font-size: 0.9em;
}

.genss-cps-table th,
.genss-cps-table td {
	border-bottom: 1px solid var(--genss-border);
	border-right: 1px solid var(--genss-border);
	padding: 12px 10px;
	vertical-align: middle;
}

.genss-cps-table th:last-child,
.genss-cps-table td:last-child {
	border-right: none;
}

.genss-cps-table thead th {
	background: var(--genss-navy);
	color: #fff;
	text-align: left;
	font-weight: 600;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.genss-cps-table tbody tr:nth-child(even) {
	background: var(--genss-bg-soft);
}

.genss-cps-table tbody tr:hover {
	background: #fdf1ea;
}

.genss-cps-table .genss-cps-label-cell {
	min-width: 240px;
	line-height: 1.45;
	color: var(--genss-navy);
}

.genss-cps-table input[type="text"],
.genss-cps-table input[type="date"],
.genss-cps-table select {
	width: 100%;
	min-width: 90px;
	padding: 7px 9px;
	border: 1px solid #cfd6dd;
	border-radius: 6px;
	font-size: 0.95em;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.genss-cps-field input:focus,
.genss-cps-field select:focus,
.genss-cps-table input:focus,
.genss-cps-table select:focus {
	outline: none;
	border-color: var(--genss-orange);
	box-shadow: 0 0 0 3px rgba(232, 98, 44, 0.15);
}

.genss-cps-checkbox-cell {
	text-align: center;
}

.genss-cps-checkbox-cell input[type="checkbox"] {
	width: 19px;
	height: 19px;
	accent-color: var(--genss-orange);
	cursor: pointer;
}

/* --- Invio --- */

.genss-cps-submit-row {
	margin: 34px 0 10px;
	text-align: right;
}

.genss-cps-submit-btn {
	background: var(--genss-orange);
	color: #fff;
	border: none;
	padding: 14px 34px;
	font-size: 1em;
	font-weight: 700;
	border-radius: 8px;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(232, 98, 44, 0.3);
	transition: background 0.15s ease, transform 0.1s ease;
}

.genss-cps-submit-btn:hover {
	background: var(--genss-orange-dark);
	transform: translateY(-1px);
}

.genss-cps-submit-btn:active {
	transform: translateY(0);
}

.genss-cps-disclaimer {
	color: var(--genss-navy-soft);
	font-size: 0.85em;
	text-align: right;
	margin-top: 4px;
}

/* --- Messaggi di esito --- */

.genss-cps-notice {
	padding: 16px 20px;
	border-radius: 10px;
	margin-bottom: 24px;
	font-weight: 600;
	font-size: 0.95em;
	max-width: 1180px;
}

.genss-cps-notice-success {
	background: #eaf7ec;
	border: 1px solid #7cc98d;
	color: #1e6b2e;
}

.genss-cps-notice-error {
	background: #fdecea;
	border: 1px solid #e8938a;
	color: #a3271b;
}
