.scv-private-shell {
	--scv-private-accent: var(--scv-sky-500);
	--scv-private-header-height: 4rem;
	--scv-private-sidebar: #f7f9fa;
	--scv-private-sidebar-width: 16rem;
	background: #f6f8f8;
	min-height: 100vh;
}

.scv-shell--admin .scv-private-shell {
	--scv-private-accent: var(--scv-sun-500);
}

.scv-shell--supervision .scv-private-shell {
	--scv-private-accent: var(--scv-green-500);
}

.scv-private-header {
	align-items: center;
	background: var(--scv-surface);
	border-bottom: 0.1875rem solid var(--scv-private-accent);
	display: grid;
	gap: var(--scv-space-4);
	grid-template-columns: minmax(12rem, auto) minmax(0, 1fr) auto;
	min-height: var(--scv-private-header-height);
	padding: var(--scv-space-2) var(--scv-space-5);
	position: sticky;
	top: 0;
	z-index: 80;
}

.scv-private-brand {
	align-items: center;
	color: var(--scv-navy-900);
	display: flex;
	gap: var(--scv-space-3);
	min-width: 0;
	text-decoration: none;
}

.scv-private-brand:hover {
	color: var(--scv-navy-900);
}

.scv-private-brand__copy {
	line-height: 1.2;
	min-width: 0;
}

.scv-private-brand__mark {
	align-items: center;
	background: var(--scv-deep-surface);
	border-radius: var(--scv-radius-small);
	display: inline-flex;
	flex: 0 0 2.25rem;
	height: 2.25rem;
	justify-content: center;
	padding: 0.3rem;
	width: 2.25rem;
}

.scv-private-brand__mark img {
	display: block;
	height: 100%;
	width: 100%;
}

.scv-private-brand strong,
.scv-private-brand small {
	display: block;
}

.scv-private-brand strong {
	font-size: 0.9rem;
}

.scv-private-brand small {
	color: var(--scv-muted);
	font-size: 0.7rem;
	font-weight: 600;
	margin-top: 0.15rem;
}

.scv-private-account {
	align-items: center;
	border-inline-start: 0.0625rem solid var(--scv-border);
	display: flex;
	gap: var(--scv-space-3);
	grid-column: 3;
	justify-self: end;
	padding-inline-start: var(--scv-space-4);
}

.scv-private-area-switcher {
	grid-column: 2;
	justify-self: center;
	min-width: 0;
}

.scv-private-area-switcher ul {
	background: color-mix(in srgb, var(--scv-border) 42%, var(--scv-surface));
	border: 0.0625rem solid var(--scv-border);
	border-radius: var(--scv-radius-medium);
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0.2rem;
}

.scv-private-area-switcher li + li {
	border-inline-start: 0.0625rem solid var(--scv-border);
}

.scv-private-area-link--portal {
	--scv-area-accent: var(--scv-sky-500);
}

.scv-private-area-link--administration {
	--scv-area-accent: var(--scv-sun-500);
}

.scv-private-area-link--supervision {
	--scv-area-accent: var(--scv-green-500);
}

.scv-private-area-link--discover {
	--scv-area-accent: var(--scv-navy-900);
}

.scv-private-area-switcher .scv-private-area-link {
	align-items: center;
	border: 0;
	border-radius: var(--scv-radius-small);
	color: var(--scv-navy-900);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 700;
	gap: var(--scv-space-2);
	min-height: 2.75rem;
	padding: var(--scv-space-2) var(--scv-space-3);
	text-decoration: none;
	white-space: nowrap;
}

.scv-private-area-link i {
	align-items: center;
	background: color-mix(in srgb, var(--scv-area-accent) 24%, var(--scv-surface));
	border-radius: 50%;
	color: var(--scv-navy-900);
	display: inline-flex;
	flex: 0 0 1.65rem;
	height: 1.65rem;
	justify-content: center;
	width: 1.65rem;
}

.scv-private-area-switcher .scv-private-area-link:hover,
.scv-private-area-switcher .scv-private-area-link:focus-visible {
	background: color-mix(in srgb, var(--scv-area-accent) 10%, var(--scv-surface));
	color: var(--scv-navy-900);
}

.scv-private-area-switcher .scv-private-area-link[aria-current="page"] {
	background: color-mix(in srgb, var(--scv-area-accent) 16%, var(--scv-surface));
	box-shadow: inset 0 -0.1875rem var(--scv-area-accent);
}

.scv-private-account__profile {
	align-items: center;
	color: var(--scv-navy-900);
	display: flex;
	gap: var(--scv-space-3);
	min-height: 2.75rem;
	text-decoration: none;
}

.scv-private-account__profile:hover .scv-private-account__name {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.scv-private-account__profile[aria-current="page"] {
	background: color-mix(in srgb, var(--scv-private-accent) 11%, #ffffff);
	border-radius: var(--scv-radius-small);
}

.scv-private-account__avatar {
	align-items: center;
	background: var(--scv-deep-surface);
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	flex: 0 0 2.25rem;
	font-size: 0.72rem;
	font-weight: 750;
	height: 2.25rem;
	justify-content: center;
	overflow: hidden;
	width: 2.25rem;
}

.scv-private-account__avatar img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.scv-private-account__name {
	color: var(--scv-muted);
	font-size: 0.875rem;
}

.scv-private-account__form {
	margin: 0;
}

.scv-private-account__action {
	align-items: center;
	background: transparent;
	border: 0.0625rem solid transparent;
	border-radius: var(--scv-radius-small);
	color: var(--scv-navy-900);
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	gap: var(--scv-space-2);
	min-height: 2.75rem;
	padding: var(--scv-space-2) var(--scv-space-3);
}

.scv-private-account__action:hover,
.scv-private-account__action:focus-visible {
	background: #f1f4f5;
	border-color: var(--scv-border);
	color: var(--scv-navy-900);
}

.scv-private-layout {
	display: grid;
	grid-template-columns: var(--scv-private-sidebar-width) minmax(0, 1fr);
	min-height: calc(100vh - var(--scv-private-header-height));
}

.scv-private-sidebar {
	align-self: start;
	background: var(--scv-private-sidebar);
	border-right: 0.0625rem solid var(--scv-border);
	color: var(--scv-navy-900);
	display: flex;
	flex-direction: column;
	height: calc(100vh - var(--scv-private-header-height));
	overflow-y: auto;
	padding: var(--scv-space-5) var(--scv-space-3);
	position: sticky;
	top: var(--scv-private-header-height);
}

.scv-private-nav-groups {
	display: grid;
	gap: var(--scv-space-4);
}

.scv-private-nav-group--areas {
	border-bottom: 0.0625rem solid var(--scv-border);
	margin-bottom: var(--scv-space-2);
	padding-bottom: var(--scv-space-4);
}

.scv-private-nav-group__label {
	color: var(--scv-muted);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	margin: 0 0 var(--scv-space-2);
	padding-inline: var(--scv-space-2);
	text-transform: uppercase;
}

.scv-private-nav {
	display: grid;
	gap: var(--scv-space-1);
	list-style: none;
	margin: 0;
	padding: 0;
}

.scv-private-nav a {
	align-items: center;
	border-left: 0.1875rem solid transparent;
	border-radius: var(--scv-radius-small);
	color: inherit;
	display: grid;
	font-size: 0.875rem;
	font-weight: 650;
	gap: var(--scv-space-2);
	grid-template-columns: 1.1rem minmax(0, 1fr);
	min-height: 2.75rem;
	padding: 0.55rem var(--scv-space-2);
	text-decoration: none;
}

.scv-private-nav a i {
	font-size: 0.9rem;
	text-align: center;
}

.scv-private-nav a:hover {
	background: #edf2f4;
	color: var(--scv-navy-900);
}

.scv-private-nav a[aria-current="page"] {
	background: color-mix(in srgb, var(--scv-private-accent) 11%, #ffffff);
	border-left-color: var(--scv-private-accent);
	color: var(--scv-navy-900);
}

.scv-private-nav a:focus-visible {
	outline: 0.18rem solid var(--scv-focus);
	outline-offset: 0.12rem;
}

.scv-private-mobile-nav {
	display: none;
}

.scv-private-main {
	margin: 0 auto;
	max-width: 80rem;
	padding: var(--scv-space-6) clamp(1rem, 3vw, 2.5rem);
	width: 100%;
}

.scv-shell--auth .scv-private-layout {
	display: block;
}

.scv-shell--auth .scv-private-main {
	max-width: 46rem;
	padding-block: clamp(3rem, 9vw, 7rem);
}

.scv-auth {
	background: var(--scv-surface);
	border: 0.0625rem solid var(--scv-border);
	border-top: 0.35rem solid var(--scv-sun-500);
	border-radius: var(--scv-radius-medium);
	box-shadow: 0 1.35rem 3.25rem rgba(14, 42, 71, 0.12);
	overflow: hidden;
	padding: clamp(1.75rem, 6vw, 3.5rem);
	position: relative;
}

/* La superficie dell’accesso resta sobria, ma riceve una presenza identitaria senza competere con i campi. */
.scv-auth::before {
	background: color-mix(in srgb, var(--scv-sand-100) 68%, transparent);
	border-radius: 0 0 0 100%;
	content: "";
	height: 11rem;
	pointer-events: none;
	position: absolute;
	right: -4rem;
	top: -4rem;
	width: 11rem;
}

.scv-auth > * {
	position: relative;
	z-index: 1;
}

.scv-auth__panel[hidden] {
	display: none;
}

.scv-auth__header {
	margin-bottom: var(--scv-space-6);
	max-width: 34rem;
}

.scv-auth__header h1 {
	color: var(--scv-navy-900);
	font-family: "Outfit", var(--scv-font-interface);
	font-size: clamp(2.35rem, 5.4vw, 3.6rem);
	letter-spacing: -0.045em;
	line-height: 0.94;
	margin-bottom: var(--scv-space-3);
}

.scv-auth__header p:last-child {
	color: var(--scv-muted);
	margin-bottom: 0;
}

.scv-auth__eyebrow {
	color: var(--scv-sky-700);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin-bottom: var(--scv-space-3);
	text-transform: uppercase;
}

.scv-auth__form {
	gap: clamp(1.15rem, 2.5vw, 1.5rem);
}

.scv-auth__field {
	display: grid;
	gap: var(--scv-space-2);
}

.scv-auth__field label {
	color: var(--scv-navy-900);
	font-weight: 750;
}

.scv-auth-control {
	background: color-mix(in srgb, var(--scv-ivory-50) 62%, var(--scv-surface));
	border: 0.0625rem solid color-mix(in srgb, var(--scv-navy-900) 30%, var(--scv-border));
	border-radius: var(--scv-radius-small);
	color: var(--scv-text);
	min-height: 3.35rem;
	padding: 0.75rem 0.9rem;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	width: 100%;
}

.scv-auth-control:focus {
	background: var(--scv-surface);
	border-color: var(--scv-sky-500);
	box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--scv-sky-500) 24%, transparent);
	outline: 0.125rem solid transparent;
}

.scv-auth__options,
.scv-auth__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--scv-space-3);
}

.scv-auth__options {
	border-block: 0.0625rem solid var(--scv-border);
	justify-content: space-between;
	margin-top: var(--scv-space-1);
	padding-block: var(--scv-space-3);
}

.scv-auth__options a,
.scv-auth__footer a {
	color: var(--scv-navy-900);
	font-weight: 700;
}

.scv-auth__actions {
	margin-top: var(--scv-space-3);
}

.scv-auth__password-submit {
	min-height: 3.4rem;
	width: 100%;
}

.scv-auth__passkey-offer {
	max-width: 34rem;
}

.scv-auth__passkey-note {
	border-left: 0.25rem solid var(--scv-sky-500);
	color: var(--scv-muted);
	margin-bottom: var(--scv-space-6);
	padding: var(--scv-space-2) 0 var(--scv-space-2) var(--scv-space-4);
}

.scv-auth__passkey-offer[aria-busy="true"] {
	opacity: 0.72;
}

.scv-auth__passkey-status[data-tone="error"] {
	color: var(--scv-danger);
}

.scv-auth__passkey-status[data-tone="success"] {
	color: var(--scv-success);
}

.scv-auth__footer {
	border-top: 0.0625rem solid var(--scv-border);
	margin-top: clamp(2rem, 5vw, 3rem);
	padding-top: clamp(1.25rem, 3vw, 1.75rem);
}

.scv-auth__footer p {
	color: var(--scv-muted);
	font-size: 0.9rem;
	line-height: 1.6;
	margin-bottom: 0;
}

.scv-auth__footer p + p {
	margin-top: var(--scv-space-3);
}

.scv-auth__notice {
	border-left: 0.3rem solid var(--scv-sky-500);
	margin-bottom: var(--scv-space-5);
	padding: var(--scv-space-4);
}

.scv-auth__notice--success {
	border-left-color: var(--scv-success);
}

.scv-auth__notice--warning {
	border-left-color: var(--scv-sun-500);
}

.scv-auth__notice p {
	margin-bottom: 0;
}

.scv-dashboard-region {
	background: var(--scv-surface);
	border-block: 0.0625rem solid var(--scv-border);
	padding: var(--scv-space-7) 0;
}

.scv-dashboard-region h2 {
	font-family: var(--scv-font-interface);
	font-size: clamp(1.4rem, 3vw, 2rem);
	margin-bottom: var(--scv-space-3);
}

.scv-dashboard-region p {
	color: var(--scv-muted);
	margin-bottom: var(--scv-space-5);
}

.scv-dashboard-region__action {
	color: var(--scv-navy-900);
	font-weight: 750;
}

@media (max-width: 68rem) {
	.scv-private-account__name,
	.scv-private-area-switcher a span {
		display: none;
	}

	.scv-private-area-switcher a {
		justify-content: center;
		padding-inline: var(--scv-space-2);
		width: 2.75rem;
	}
}

@media (max-width: 50rem) {
	.scv-private-header {
		padding-inline: var(--scv-space-3);
	}

	.scv-private-area-switcher {
		display: none;
	}

	.scv-private-layout {
		display: block;
	}

	.scv-private-sidebar {
		display: none;
	}

	.scv-private-mobile-nav {
		background: var(--scv-private-sidebar);
		border-bottom: 0.0625rem solid var(--scv-border);
		color: var(--scv-navy-900);
		display: block;
		padding: var(--scv-space-2) var(--scv-space-3);
	}

	.scv-private-mobile-nav summary {
		align-items: center;
		cursor: pointer;
		display: flex;
		font-weight: 750;
		justify-content: space-between;
		list-style: none;
		min-height: 2.75rem;
		padding-block: 0.65rem;
	}

	.scv-private-mobile-nav summary::-webkit-details-marker {
		display: none;
	}

	.scv-private-mobile-nav summary span {
		align-items: center;
		display: inline-flex;
		gap: var(--scv-space-2);
	}

	.scv-private-mobile-nav summary small {
		color: var(--scv-muted);
		font-size: 0.75rem;
	}

	.scv-private-mobile-nav[open] {
		box-shadow: 0 0.75rem 1.5rem rgb(14 37 64 / 8%);
	}

	.scv-private-mobile-nav nav {
		max-height: calc(100vh - 8rem);
		overflow-y: auto;
		padding-block: var(--scv-space-3);
	}

	.scv-private-mobile-nav .scv-private-nav-groups {
		gap: var(--scv-space-4);
	}

	.scv-private-mobile-nav .scv-private-nav-group--areas .scv-private-nav {
		gap: var(--scv-space-2);
		grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
	}

	.scv-private-mobile-nav .scv-private-nav-group--areas .scv-private-area-link {
		background: color-mix(in srgb, var(--scv-area-accent) 8%, var(--scv-surface));
		border: 0;
		border-bottom: 0.1875rem solid var(--scv-area-accent);
		padding-inline: var(--scv-space-3);
	}

	.scv-private-mobile-nav .scv-private-nav-group--areas .scv-private-area-link[aria-current="page"] {
		background: color-mix(in srgb, var(--scv-area-accent) 18%, var(--scv-surface));
	}

	.scv-private-mobile-nav .scv-private-nav-group__label {
		padding-inline: var(--scv-space-3);
	}

	.scv-private-main {
		padding-block: var(--scv-space-5);
	}

	.scv-auth {
		padding-inline: var(--scv-space-5);
	}

	.scv-auth::before {
		height: 8rem;
		right: -3.5rem;
		top: -3.5rem;
		width: 8rem;
	}

	.scv-auth__options {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 28rem) {
	.scv-private-brand__copy {
		display: none;
	}

	.scv-private-account {
		border-inline-start: 0;
		gap: var(--scv-space-1);
		padding-inline-start: 0;
	}

	.scv-private-account__action {
		justify-content: center;
		padding-inline: var(--scv-space-2);
		width: 2.75rem;
	}

	.scv-private-account__action span {
		display: none;
	}

}
