/**
 * ISIS@MACH – User Forms Engine styles
 * Version: 1.0.0 (2026-07-07)
 *
 * Design system: Helvetica + DejaVu Sans, floor 14px, radius max 3px,
 * palette #001f69 / #3366ca / #569400 / #ffc107, niente em-dash.
 */

.isis-uf,
.isis-uf * {
	font-family: Helvetica, "DejaVu Sans", sans-serif;
	box-sizing: border-box;
}

.isis-uf {
	max-width: 860px;
	color: #000;
	font-size: 15px;
}

/* ── Sezioni ── */

.isis-uf-section {
	border: 1px solid #aaa;
	border-radius: 3px;
	padding: 14px 16px 6px;
	margin: 0 0 18px;
}

.isis-uf-section legend {
	font-size: 18px;
	font-weight: 600;
	color: #001f69;
	padding: 0 6px;
}

.isis-uf-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 18px;
}

@media (max-width: 700px) {
	.isis-uf-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Campi ── */

.isis-uf-field {
	margin: 0 0 12px;
}

.isis-uf-field--full {
	grid-column: 1 / -1;
}

.isis-uf-field > label {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #000;
	margin: 0 0 4px;
}

.isis-uf-req {
	color: #c00;
	font-weight: 700;
}

.isis-uf-field input[type="text"],
.isis-uf-field input[type="email"],
.isis-uf-field input[type="url"],
.isis-uf-field input[type="password"],
.isis-uf-field select {
	width: 100%;
	font-size: 15px;
	color: #000;
	background: #fff;
	border: 1px solid #888;
	border-radius: 3px;
	padding: 8px 10px;
	line-height: 1.3;
}

.isis-uf-field input:focus,
.isis-uf-field select:focus {
	outline: none;
	border-color: #3366ca;
	box-shadow: 0 0 0 1px #3366ca;
}

.isis-uf-hint {
	display: block;
	font-size: 14px;
	color: #2c3338;
	margin: 4px 0 0;
}

/* ── Consensi (checkbox con testo lungo) ── */

.isis-uf-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	font-weight: 400;
	color: #000;
	margin: 6px 0;
	cursor: pointer;
}

.isis-uf-consent input[type="checkbox"] {
	margin: 2px 0 0;
	flex: 0 0 auto;
}

.isis-uf-consent a {
	color: #3366ca;
	text-decoration: underline;
}

/* ── Organization composite ── */

.isis-uf-org-new {
	margin-top: 6px;
}

/* ── Messaggi ── */

.isis-uf-errors {
	border: 1px solid #c00;
	border-left: 4px solid #c00;
	border-radius: 3px;
	background: #fff;
	color: #000;
	font-size: 15px;
	padding: 10px 14px;
	margin: 0 0 16px;
}

.isis-uf-errors ul {
	margin: 6px 0 0;
	padding: 0 0 0 18px;
}

.isis-uf-errors li {
	margin: 2px 0;
	font-size: 14px;
}

.isis-uf-success {
	border: 1px solid #569400;
	border-left: 4px solid #569400;
	border-radius: 3px;
	background: #fff;
	color: #000;
	font-size: 15px;
	padding: 10px 14px;
	margin: 0 0 16px;
}

/* ── Bottoni ── */

.isis-uf-btn {
	display: inline-block;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	background: #001f69;
	border: 1px solid #001f69;
	border-radius: 3px;
	padding: 10px 22px;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.3;
}

.isis-uf-btn:hover {
	background: #3366ca;
	border-color: #3366ca;
	color: #fff;
}

.isis-uf-btn--secondary {
	background: #fff;
	color: #001f69;
	border-color: #001f69;
	padding: 7px 14px;
	font-size: 14px;
}

.isis-uf-btn--secondary:hover {
	background: #001f69;
	color: #fff;
}

/* ── Honeypot (offscreen, NON display:none: alcuni bot lo saltano) ── */

.isis-uf-hp {
	position: absolute;
	left: -9999px;
	top: -9999px;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* ── Avatar profilo ── */

.isis-uf-avatar {
	display: block;
	max-width: 120px;
	height: auto;
	border: 1px solid #aaa;
	border-radius: 3px;
	margin: 0 0 8px;
}

/* ── UO editor ── */

.isis-uf-search {
	display: flex;
	gap: 10px;
	margin: 0 0 16px;
}

.isis-uf-search input[type="text"] {
	flex: 1 1 auto;
	font-size: 15px;
	color: #000;
	border: 1px solid #888;
	border-radius: 3px;
	padding: 8px 10px;
}

.isis-uf-users {
	border-collapse: collapse;
	width: 100%;
	margin: 0 0 20px;
}

.isis-uf-users th,
.isis-uf-users td {
	border: 1px solid #aaa;
	padding: 6px 10px;
	text-align: left;
	font-size: 14px;
	color: #000;
}

.isis-uf-users th {
	background: #f8f9fb;
	font-weight: 600;
	color: #001f69;
}

.isis-uf-target {
	border: 1px solid #3366ca;
	border-radius: 3px;
	background: #f8f9fb;
	font-size: 15px;
	padding: 10px 14px;
	margin: 0 0 14px;
}

.isis-uf-consent-status {
	border: 1px solid #ffc107;
	border-radius: 3px;
	background: #fff;
	font-size: 14px;
	padding: 10px 14px;
	margin: 0 0 14px;
}

.isis-uf-consent-status ul {
	margin: 6px 0;
	padding: 0 0 0 18px;
}

/* ── Turnstile ── */

.cf-turnstile {
	margin: 0 0 14px;
}

/* ── Sezioni affiancate a meta (2026-10-05: Change password + Profile image) ── */

.isis-uf-row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
	align-items: stretch;
}

.isis-uf-row2 > .isis-uf-section {
	min-width: 0;
}

/* dentro una sezione a meta i campi vanno in colonna singola */
.isis-uf-section--half .isis-uf-grid {
	grid-template-columns: 1fr;
}

@media (max-width: 700px) {
	.isis-uf-row2 {
		grid-template-columns: 1fr;
	}
}

/* ── Selettore file custom (input nativo nascosto ma accessibile) ── */

.isis-uf-file {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 0 0 6px;
	cursor: pointer;
}

.isis-uf-file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.isis-uf-file-btn {
	display: inline-block;
	margin: 0;
}

.isis-uf-file-input:focus + .isis-uf-file-btn {
	outline: 2px solid #3366ca;
	outline-offset: 2px;
}

.isis-uf-file-name {
	font-size: 14px;
	color: #2c3338;
	word-break: break-all;
}

.isis-uf-file-name.is-set {
	color: #000;
	font-weight: 600;
}

/* ── Password: Show/Hide + indicatore robustezza (2026-10-05) ── */

.isis-uf-pw {
	display: flex;
	gap: 6px;
	align-items: stretch;
}

.isis-uf-pw input {
	flex: 1;
	min-width: 0;
}

.isis-uf-pw-toggle {
	flex: 0 0 auto;
	font-family: Helvetica, "DejaVu Sans", sans-serif;
	font-size: 14px;
	padding: 0 12px;
	border: 1px solid #aaa;
	border-radius: 3px;
	background: #f8f9fb;
	color: #001f69;
	cursor: pointer;
}

.isis-uf-pw-toggle:hover {
	border-color: #3366ca;
}

.isis-uf-pw-meter {
	height: 6px;
	margin: 6px 0 2px;
	background: #e2e6ec;
	border-radius: 3px;
	overflow: hidden;
	display: none;
}

.isis-uf-pw-meter.is-on {
	display: block;
}

.isis-uf-pw-meter span {
	display: block;
	height: 100%;
	width: 0;
	background: #c00;
	transition: width .15s ease;
}

.isis-uf-pw-meter.s2 span { background: #ffc107; }
.isis-uf-pw-meter.s3 span { background: #3366ca; }
.isis-uf-pw-meter.s4 span { background: #569400; }

.isis-uf-pw-label {
	display: block;
	font-size: 14px;
	color: #2c3338;
	min-height: 1em;
}

/* ── Completezza profilo ── */

.isis-uf-progress {
	border: 1px solid #aaa;
	border-radius: 3px;
	padding: 12px 16px;
	margin: 0 0 18px;
	background: #f8f9fb;
}

.isis-uf-progress-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 15px;
	color: #001f69;
	margin: 0 0 6px;
}

.isis-uf-progress-head strong {
	font-size: 18px;
}

.isis-uf-progress-bar {
	height: 10px;
	background: #e2e6ec;
	border-radius: 3px;
	overflow: hidden;
}

.isis-uf-progress-bar span {
	display: block;
	height: 100%;
	background: #3366ca;
}

.isis-uf-progress.is-incomplete .isis-uf-progress-bar span { background: #ffc107; }
.isis-uf-progress.is-complete .isis-uf-progress-bar span { background: #569400; }

.isis-uf-progress-miss {
	font-size: 14px;
	color: #2c3338;
	margin: 8px 0 0;
}

.isis-uf-progress-miss--req {
	color: #000;
}

.isis-uf-notice-incomplete {
	border: 1px solid #ffc107;
	border-left-width: 4px;
	border-radius: 3px;
	background: #fff8e1;
	padding: 10px 14px;
	font-size: 15px;
	color: #000;
}

/* ── Editor staff: stato account + storico ── */

.isis-uf-target-meta {
	font-size: 14px;
	color: #2c3338;
	margin-top: 4px;
}

.isis-uf-target.is-disabled {
	border-left: 4px solid #c00;
	padding-left: 10px;
}

.isis-uf-badge-off {
	background: #c00;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 3px;
}

.isis-uf-section--status {
	border-color: #c00;
}

.isis-uf-history {
	margin-top: 22px;
}

.isis-uf-history h3 {
	font-size: 18px;
	color: #001f69;
	margin: 0 0 8px;
}
