:root {
	--bg: #212121;
	--bg-gradient:
		radial-gradient(
			circle at top right,
			rgba(255, 146, 71, 0.16),
			transparent 28%
		),
		radial-gradient(
			circle at bottom left,
			rgba(73, 140, 221, 0.12),
			transparent 30%
		);
	--surface: rgba(38, 38, 38, 0.92);
	--surface-strong: #2b2b2b;
	--ink: #f4efe6;
	--muted: #c9c1b6;
	--line: rgba(255, 244, 232, 0.12);
	--header-bg: rgba(24, 24, 24, 0.84);
	--header-border: rgba(255, 244, 232, 0.08);
	--nav-link: #d8d1c8;
	--nav-link-active-bg: rgba(185, 92, 19, 0.2);
	--nav-link-active: #ffe7d0;
	--accent: #b95c13;
	--accent-dark: #d7833d;
	--accent-soft: #3a2c21;
	--secondary-bg: rgba(255, 255, 255, 0.06);
	--secondary-border: rgba(255, 244, 232, 0.12);
	--hero-bg: linear-gradient(
		135deg,
		rgba(45, 45, 45, 0.96),
		rgba(32, 32, 32, 0.92)
	);
	--hero-side-bg: linear-gradient(
		180deg,
		rgba(26, 26, 26, 0.98),
		rgba(18, 18, 18, 0.96)
	);
	--hero-side-border: rgba(255, 183, 120, 0.16);
	--sidebar-bg: linear-gradient(
		180deg,
		rgba(25, 25, 25, 0.98),
		rgba(18, 18, 18, 0.96)
	);
	--sidebar-link-bg: rgba(255, 255, 255, 0.06);
	--sidebar-link-hover: rgba(255, 255, 255, 0.12);
	--input-bg: rgba(255, 255, 255, 0.06);
	--input-border: rgba(255, 244, 232, 0.12);
	--table-hover: rgba(255, 255, 255, 0.03);
	--chart-bg: rgba(255, 255, 255, 0.04);
	--toolbar-bg: rgba(255, 255, 255, 0.04);
	--footer-bg: rgba(255, 255, 255, 0.04);
	--chart-axis: rgba(255, 240, 219, 0.18);
	--chart-grid: rgba(255, 240, 219, 0.09);
	--chart-label: #d5ccbf;
	--chart-empty: #9e9488;
	--brand-filter: drop-shadow(0 16px 32px rgba(255, 144, 63, 0.16));
	--shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
	--radius-lg: 28px;
	--radius-md: 20px;
	--radius-sm: 14px;
	--layout-width: 1360px;
	--layout-gutter: 32px;
	--dashboard-layout-width: 1520px;
	--dashboard-layout-gutter: 20px;
}

html[data-theme='light'] {
	color-scheme: light;
	--bg: #f2ece4;
	--bg-gradient:
		radial-gradient(
			circle at top right,
			rgba(217, 122, 52, 0.18),
			transparent 26%
		),
		radial-gradient(
			circle at bottom left,
			rgba(86, 132, 198, 0.16),
			transparent 30%
		);
	--surface: rgba(255, 251, 247, 0.92);
	--surface-strong: #fff7ee;
	--ink: #231d1a;
	--muted: #6b6058;
	--line: rgba(47, 34, 25, 0.1);
	--header-bg: rgba(248, 243, 236, 0.9);
	--header-border: rgba(47, 34, 25, 0.08);
	--nav-link: #5f564f;
	--nav-link-active-bg: rgba(185, 92, 19, 0.14);
	--nav-link-active: #8a4209;
	--secondary-bg: rgba(82, 58, 38, 0.05);
	--secondary-border: rgba(82, 58, 38, 0.14);
	--hero-bg: linear-gradient(
		135deg,
		rgba(255, 250, 245, 0.98),
		rgba(244, 234, 223, 0.94)
	);
	--hero-side-bg: linear-gradient(
		180deg,
		rgba(44, 37, 33, 0.96),
		rgba(67, 53, 42, 0.92)
	);
	--hero-side-border: rgba(255, 221, 191, 0.22);
	--sidebar-bg: linear-gradient(
		180deg,
		rgba(255, 248, 239, 0.98),
		rgba(244, 233, 220, 0.95)
	);
	--sidebar-link-bg: rgba(99, 73, 50, 0.07);
	--sidebar-link-hover: rgba(99, 73, 50, 0.14);
	--input-bg: rgba(255, 255, 255, 0.82);
	--input-border: rgba(88, 64, 43, 0.14);
	--table-hover: rgba(185, 92, 19, 0.05);
	--chart-bg: rgba(87, 65, 46, 0.04);
	--toolbar-bg: rgba(87, 65, 46, 0.04);
	--footer-bg: rgba(255, 250, 244, 0.88);
	--chart-axis: rgba(46, 31, 19, 0.18);
	--chart-grid: rgba(46, 31, 19, 0.08);
	--chart-label: #5f534a;
	--chart-empty: #7b6e64;
	--brand-filter: drop-shadow(0 16px 24px rgba(156, 97, 40, 0.14));
	--shadow: 0 22px 54px rgba(76, 53, 34, 0.14);
}

html[data-theme='dark'] {
	color-scheme: dark;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: 'Outfit', sans-serif;
	color: var(--ink);
	background: var(--bg);
	background-image: var(--bg-gradient);
	background-attachment: fixed;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.shell {
	width: min(var(--layout-width), calc(100% - var(--layout-gutter)));
	margin: 0 auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	background: var(--header-bg);
	border-bottom: 1px solid var(--header-border);
}

.header-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 88px;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.brand-logo {
	width: auto;
	max-width: 60px;
	height: auto;
	object-fit: contain;
	filter: var(--brand-filter);
}

.brand-copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.brand-copy strong {
	font-size: 1.08rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.brand-copy small {
	color: var(--muted);
}

.brand-copy,
.brand-copy strong,
.brand-copy small {
	color: var(--ink);
}

.site-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.nav-link {
	padding: 11px 16px;
	border-radius: 999px;
	color: var(--nav-link);
	font-weight: 500;
	position: relative;
	overflow: hidden;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.nav-link:hover,
.nav-link.is-active {
	background: var(--nav-link-active-bg);
	color: var(--nav-link-active);
	transform: translateY(-1px);
}

.nav-link.is-disabled {
	opacity: 0.72;
	cursor: not-allowed;
	pointer-events: none;
	border: 1px dashed rgba(255, 183, 120, 0.26);
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 183, 120, 0.08) 0,
			rgba(255, 183, 120, 0.08) 10px,
			rgba(255, 255, 255, 0.04) 10px,
			rgba(255, 255, 255, 0.04) 20px
		),
		rgba(255, 255, 255, 0.04);
	box-shadow: inset 0 0 0 1px rgba(255, 183, 120, 0.08);
	color: var(--muted);
	transform: none;
}

.nav-link.is-disabled::after {
	content: 'OFF';
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	padding: 3px 7px;
	border-radius: 999px;
	background: rgba(20, 20, 20, 0.64);
	border: 1px solid rgba(255, 183, 120, 0.28);
	color: #ffd7b5;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.nav-link--button {
	background: linear-gradient(
		135deg,
		rgba(185, 92, 19, 0.28),
		rgba(140, 62, 10, 0.18)
	);
	border: 1px solid rgba(255, 183, 120, 0.28);
	box-shadow:
		inset 0 1px 0 rgba(255, 232, 210, 0.14),
		0 10px 24px rgba(0, 0, 0, 0.18);
	color: var(--ink);
	font-weight: 700;
}

.nav-link--button:hover,
.nav-link--button:focus-visible,
.nav-link--button.is-active {
	background: linear-gradient(
		135deg,
		rgba(205, 103, 23, 0.36),
		rgba(154, 69, 11, 0.24)
	);
}

.theme-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0 16px;
	min-height: 48px;
	border-radius: 14px;
	border: 1px solid var(--secondary-border);
	background: var(--secondary-bg);
	color: var(--ink);
	box-shadow: none;
	position: relative;
	overflow: hidden;
}

.theme-toggle.is-disabled {
	opacity: 0.72;
	cursor: not-allowed;
	pointer-events: none;
	border-style: dashed;
	border-color: rgba(255, 183, 120, 0.24);
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 183, 120, 0.08) 0,
			rgba(255, 183, 120, 0.08) 10px,
			transparent 10px,
			transparent 20px
		),
		var(--secondary-bg);
}

.theme-toggle.is-disabled::after {
	content: 'OFF';
	position: absolute;
	top: 8px;
	right: 8px;
	padding: 3px 6px;
	border-radius: 999px;
	background: rgba(20, 20, 20, 0.7);
	border: 1px solid rgba(255, 183, 120, 0.28);
	color: #ffd7b5;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.theme-toggle__swatch {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ffd166 0%, #8ab8ff 100%);
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}

.theme-toggle__label {
	font-weight: 600;
}

.menu-toggle {
	display: none;
	width: 48px;
	height: 48px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--secondary-bg);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	cursor: pointer;
}

.menu-toggle span {
	width: 18px;
	height: 2px;
	background: var(--ink);
	border-radius: 999px;
}

main {
	padding: 32px 0 72px;
}

.hero {
	width: min(var(--layout-width), calc(100% - var(--layout-gutter)));
	margin: 0 auto 28px;
	padding: 42px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	border-radius: var(--radius-lg);
	background: var(--hero-bg);
	box-shadow: var(--shadow);
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
	gap: 28px;
	align-items: center;
}

.hero-copy,
.hero-side,
.panel,
.card,
.dashboard-card,
.contact-card,
.table-card,
.auth-card {
	min-width: 0;
}

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(185, 92, 19, 0.18);
	color: #ffd9bb;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.hero h1,
.page-heading h1 {
	margin: 18px 0 14px;
	font-size: clamp(2.3rem, 5vw, 4.8rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	color: var(--ink);
}

.hero p,
.page-heading p,
.panel p,
.card p,
.dashboard-card p,
.auth-card p,
.contact-card p,
.site-footer p,
.list li,
td,
th,
label,
input,
textarea {
	color: var(--muted);
	font-size: 1rem;
	line-height: 1.65;
}

strong,
h2,
h3,
h4,
h5,
h6 {
	color: var(--ink);
}

.hero-actions,
.button-row {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.button,
button,
.button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 18px;
	border-radius: 14px;
	border: 1px solid transparent;
	font: inherit;
	cursor: pointer;
}

.button,
button {
	background: linear-gradient(
		135deg,
		var(--accent) 0%,
		var(--accent-dark) 100%
	);
	color: #fff;
	box-shadow: 0 16px 32px rgba(110, 47, 8, 0.2);
}

.button-secondary {
	border-color: var(--secondary-border);
	background: var(--secondary-bg);
	color: var(--ink);
}

.button-secondary:hover,
.button-secondary:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 244, 232, 0.22);
}

.button-secondary--danger {
	background: rgba(220, 53, 69, 0.16);
	border-color: rgba(255, 128, 140, 0.24);
	color: #ffd1d6;
	box-shadow: 0 10px 24px rgba(122, 24, 38, 0.16);
}

.button-secondary--danger:hover,
.button-secondary--danger:focus-visible {
	background: rgba(220, 53, 69, 0.24);
	border-color: rgba(255, 166, 175, 0.32);
	color: #ffe1e4;
}

.button-secondary--warning {
	background: rgba(255, 190, 92, 0.16);
	border-color: rgba(255, 211, 138, 0.22);
	color: #ffd79b;
	box-shadow: 0 10px 24px rgba(138, 92, 14, 0.14);
}

.button-secondary--warning:hover,
.button-secondary--warning:focus-visible {
	background: rgba(255, 190, 92, 0.24);
	border-color: rgba(255, 221, 166, 0.3);
	color: #ffe4b8;
}

.button-secondary--success {
	background: rgba(60, 135, 90, 0.16);
	border-color: rgba(126, 216, 161, 0.22);
	color: #c5f0d4;
	box-shadow: 0 10px 24px rgba(21, 90, 49, 0.14);
}

.button-secondary--success:hover,
.button-secondary--success:focus-visible {
	background: rgba(60, 135, 90, 0.24);
	border-color: rgba(155, 232, 184, 0.3);
	color: #ddf8e6;
}

html[data-theme='light'] .button-secondary--danger {
	background: rgba(220, 53, 69, 0.1);
	border-color: rgba(176, 32, 51, 0.16);
	color: #9f1f31;
	box-shadow: 0 10px 20px rgba(176, 32, 51, 0.08);
}

html[data-theme='light'] .button-secondary--danger:hover,
html[data-theme='light'] .button-secondary--danger:focus-visible {
	background: rgba(220, 53, 69, 0.16);
	border-color: rgba(176, 32, 51, 0.22);
	color: #7f1524;
}

html[data-theme='light'] .button-secondary--warning {
	background: rgba(255, 190, 92, 0.14);
	border-color: rgba(162, 106, 20, 0.18);
	color: #8f5a08;
	box-shadow: 0 10px 20px rgba(162, 106, 20, 0.08);
}

html[data-theme='light'] .button-secondary--warning:hover,
html[data-theme='light'] .button-secondary--warning:focus-visible {
	background: rgba(255, 190, 92, 0.2);
	border-color: rgba(162, 106, 20, 0.24);
	color: #724600;
}

html[data-theme='light'] .button-secondary--success {
	background: rgba(60, 135, 90, 0.12);
	border-color: rgba(39, 108, 67, 0.18);
	color: #236742;
	box-shadow: 0 10px 20px rgba(39, 108, 67, 0.08);
}

html[data-theme='light'] .button-secondary--success:hover,
html[data-theme='light'] .button-secondary--success:focus-visible {
	background: rgba(60, 135, 90, 0.18);
	border-color: rgba(39, 108, 67, 0.24);
	color: #184e30;
}

.hero-side {
	padding: 26px;
	border-radius: var(--radius-md);
	background: var(--hero-side-bg);
	border: 1px solid var(--hero-side-border);
	color: #fff;
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 14px;
}

.hero-side::before {
	content: '';
	position: absolute;
	inset: auto -50px -60px auto;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 174, 97, 0.4), transparent 70%);
}

.hero-side::after {
	content: '';
	position: absolute;
	inset: 14px;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.06),
		transparent 46%
	);
	pointer-events: none;
}

.hero-side img {
	width: auto;
	max-width: 116px;
	height: auto;
	margin-bottom: 2px;
	padding: 14px;
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	filter: var(--brand-filter);
}

.hero-side > * {
	position: relative;
	z-index: 1;
}

.stats,
.grid,
.dashboard-grid,
.contact-grid {
	width: min(var(--layout-width), calc(100% - var(--layout-gutter)));
	margin: 0 auto 28px;
	display: grid;
	gap: 20px;
}

.stats,
.grid,
.dashboard-grid,
.contact-grid,
.section,
.table-card {
	content-visibility: auto;
	contain-intrinsic-size: 1px 420px;
}

.stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.end-0 {
	right: 0;
}

.grid.grid-3,
.dashboard-grid,
.contact-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid.grid-2 {
	.request-thread-unread-badge {
		pointer-events: none;
	}
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel,
.card,
.dashboard-card,
.contact-card,
.table-card,
.auth-card {
	padding: 28px;
	background: var(--surface);
	border: 1px solid rgba(255, 244, 232, 0.08);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow);
}

.panel,
.card,
.dashboard-card,
.contact-card,
.table-card,
.auth-card,
.hero,
.site-header,
.footer-shell,
.toolbar-form,
.chart-shell,
.sidebar,
.hero-side {
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.stat-value {
	display: block;
	margin-bottom: 6px;
	font-size: 2rem;
	font-weight: 800;
	color: #ffd2ad;
}

.section {
	width: min(var(--layout-width), calc(100% - var(--layout-gutter)));
	margin: 0 auto 28px;
}

.section-title {
	margin: 0 0 18px;
	font-size: 1.65rem;
}

.paged-section {
	scroll-margin-top: 112px;
	transition:
		opacity 0.22s ease,
		transform 0.22s ease,
		box-shadow 0.22s ease;
}

.paged-section.is-entering {
	animation: sectionEnter 0.28s ease;
}

.paged-section.is-leaving {
	opacity: 0.54;
	transform: translateY(8px);
}

.section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}

.section-copy {
	display: grid;
	gap: 12px;
	flex: 1 1 340px;
}

.section-copy .note {
	margin: 0;
}

.section-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(110px, 1fr));
	gap: 12px;
	flex: 1 1 320px;
}

.section-metric {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border-radius: 16px;
	border: 1px solid var(--line);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.06),
		rgba(255, 255, 255, 0.03)
	);
	min-height: 82px;
}

.section-metric__value {
	font-size: 1.55rem;
	font-weight: 800;
	color: #ffd2ad;
	line-height: 1;
}

.section-metric__label {
	font-size: 0.9rem;
	color: var(--muted);
	line-height: 1.4;
}

.list {
	margin: 0;
	padding-left: 18px;
}

.list li + li {
	margin-top: 10px;
}

.auth-layout,
.dashboard-layout {
	width: min(var(--layout-width), calc(100% - var(--layout-gutter)));
	margin: 0 auto;
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 22px;
}

.dashboard-layout {
	width: min(
		var(--dashboard-layout-width),
		calc(100% - var(--dashboard-layout-gutter))
	);
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 24px;
}

.dashboard-layout .sidebar {
	padding: 24px;
	display: grid;
	gap: 14px;
	align-content: start;
	min-height: calc(100vh - 136px);
}

.dashboard-layout .sidebar img {
	margin-bottom: 6px;
}

.dashboard-layout .sidebar strong {
	font-size: 1.12rem;
	line-height: 1.2;
}

.dashboard-layout .sidebar p {
	margin: 0 0 4px;
	font-size: 0.95rem;
	line-height: 1.55;
}

.dashboard-layout .sidebar a,
.dashboard-layout .sidebar-link {
	margin-top: 0;
	padding: 12px 14px;
	font-size: 0.96rem;
	line-height: 1.4;
}

.dashboard-layout .sidebar-group {
	display: grid;
	gap: 8px;
	padding-top: 6px;
}

.dashboard-layout .sidebar-group + .sidebar-group {
	padding-top: 14px;
	border-top: 1px solid rgba(255, 244, 232, 0.08);
}

.dashboard-layout .sidebar-summary {
	display: grid;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 244, 232, 0.08);
}

.sidebar-summary__card {
	display: grid;
	gap: 12px;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.05) 0%,
		rgba(255, 255, 255, 0.025) 100%
	);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.sidebar-summary__item {
	display: grid;
	gap: 4px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 244, 232, 0.08);
}

.sidebar-summary__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.sidebar-summary__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding-top: 4px;
}

.sidebar-mini-stat {
	display: grid;
	gap: 4px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.035);
	min-width: 0;
}

.sidebar-mini-stat strong {
	margin: 0;
	font-size: 1rem;
	line-height: 1.2;
}

.sidebar-mini-stat span {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted);
}

.sidebar-summary__item span {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--muted);
}

.sidebar-summary__item strong {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.4;
}

.dashboard-layout .sidebar-group__title {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--muted);
	padding: 0 2px;
}

.dashboard-main > .grid,
.dashboard-main > .table-card,
.dashboard-main > .kpi-row {
	width: 100%;
	max-width: none;
	margin: 0;
}

.dashboard-main > .table-card + .table-card,
.dashboard-main > .grid + .table-card,
.dashboard-main > .table-card + .grid,
.dashboard-main > .kpi-row + .grid,
.dashboard-main > .grid + .grid,
.dashboard-main > .kpi-row + .table-card {
	margin-top: 22px;
}

.sidebar {
	padding: 28px;
	border-radius: var(--radius-md);
	background: var(--sidebar-bg);
	color: var(--ink);
	box-shadow: var(--shadow);
	position: sticky;
	top: 108px;
	align-self: start;
}

.sidebar img {
	width: auto;
	max-width: 92px;
	height: auto;
	margin-bottom: 16px;
	filter: var(--brand-filter);
}

.sidebar a {
	display: block;
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 12px;
	color: var(--muted);
	background: var(--sidebar-link-bg);
}

.sidebar-link {
	display: block;
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 12px;
	color: var(--muted);
	background: var(--sidebar-link-bg);
	position: relative;
	overflow: hidden;
}

.sidebar-link--disabled {
	opacity: 0.7;
	cursor: not-allowed;
	border: 1px dashed rgba(255, 244, 232, 0.14);
	background: rgba(255, 255, 255, 0.03);
}

.sidebar a.is-disabled,
.sidebar-link.is-disabled {
	opacity: 0.76;
	cursor: not-allowed;
	pointer-events: none;
	border: 1px dashed rgba(255, 183, 120, 0.24);
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255, 183, 120, 0.08) 0,
			rgba(255, 183, 120, 0.08) 10px,
			rgba(255, 255, 255, 0.03) 10px,
			rgba(255, 255, 255, 0.03) 20px
		),
		rgba(255, 255, 255, 0.03);
	box-shadow: inset 0 0 0 1px rgba(255, 183, 120, 0.08);
	color: var(--muted);
}

.sidebar a.is-disabled::after,
.sidebar-link.is-disabled::after {
	content: 'Disattivato';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	padding: 3px 7px;
	border-radius: 999px;
	background: rgba(20, 20, 20, 0.64);
	border: 1px solid rgba(255, 183, 120, 0.28);
	color: #ffd7b5;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	text-transform: uppercase;
}

.sidebar-link--button {
	border: 1px solid rgba(255, 183, 120, 0.26);
	background: linear-gradient(
		135deg,
		rgba(185, 92, 19, 0.22),
		rgba(140, 62, 10, 0.14)
	);
	box-shadow:
		inset 0 1px 0 rgba(255, 232, 210, 0.14),
		0 10px 22px rgba(0, 0, 0, 0.16);
	color: var(--ink);
	font-weight: 600;
}

.sidebar-link--button:hover,
.sidebar-link--button:focus-visible {
	background: linear-gradient(
		135deg,
		rgba(205, 103, 23, 0.3),
		rgba(154, 69, 11, 0.2)
	);
}

html[data-theme='light'] .nav-link.is-disabled,
html[data-theme='light'] .theme-toggle.is-disabled,
html[data-theme='light'] .sidebar a.is-disabled,
html[data-theme='light'] .sidebar-link.is-disabled {
	border-color: rgba(138, 66, 9, 0.2);
	box-shadow: inset 0 0 0 1px rgba(138, 66, 9, 0.08);
}

html[data-theme='light'] .nav-link.is-disabled::after,
html[data-theme='light'] .theme-toggle.is-disabled::after,
html[data-theme='light'] .sidebar a.is-disabled::after,
html[data-theme='light'] .sidebar-link.is-disabled::after {
	background: rgba(255, 250, 244, 0.96);
	border-color: rgba(138, 66, 9, 0.2);
	color: #8a4209;
}

.sidebar a:hover,
.sidebar a:focus-visible {
	background: var(--sidebar-link-hover);
	color: var(--ink);
}

.dashboard-main {
	display: grid;
	gap: 22px;
}

.table-card table {
	width: 100%;
	border-collapse: collapse;
}

.table-shell {
	overflow-x: auto;
	border-radius: 16px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.02);
}

.page-dashboard-admin .table-card thead th {
	position: sticky;
	top: 108px;
	z-index: 4;
	background: rgba(19, 16, 15, 0.96);
	backdrop-filter: blur(14px);
	box-shadow: inset 0 -1px 0 rgba(255, 244, 232, 0.08);
}

html[data-theme='light'] .page-dashboard-admin .table-card thead th {
	background: rgba(247, 241, 235, 0.96);
}

.page-dashboard-admin .table-shell--users {
	position: relative;
	overflow: auto;
	scrollbar-gutter: stable both-edges;
}

.page-dashboard-admin .admin-users-table thead th:first-child,
.page-dashboard-admin .admin-users-table tbody td:first-child {
	position: sticky;
	left: 0;
	z-index: 3;
	background: rgba(19, 16, 15, 0.97);
	box-shadow:
		1px 0 0 rgba(255, 244, 232, 0.08),
		14px 0 24px rgba(0, 0, 0, 0.14);
}

.page-dashboard-admin .admin-users-table thead th:first-child {
	z-index: 6;
}

html[data-theme='light']
	.page-dashboard-admin
	.admin-users-table
	thead
	th:first-child,
html[data-theme='light']
	.page-dashboard-admin
	.admin-users-table
	tbody
	td:first-child {
	background: rgba(247, 241, 235, 0.98);
	box-shadow:
		1px 0 0 rgba(72, 58, 45, 0.08),
		14px 0 24px rgba(74, 56, 38, 0.08);
}

.table-shell table {
	min-width: 1000px;
}

.dashboard-layout .table-shell table {
	min-width: 1180px;
}

.dashboard-layout .table-shell {
	background: rgba(255, 255, 255, 0.025);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.table-card th,
.table-card td {
	text-align: left;
	padding: 16px 14px;
	border-bottom: 1px solid var(--line);
	vertical-align: top;
}

.table-card thead th:first-child,
.table-card tbody td:first-child {
	padding-left: 18px;
}

.table-card thead th:last-child,
.table-card tbody td:last-child {
	padding-right: 18px;
}

.table-card th {
	color: #f2e9de;
	font-weight: 700;
}

.table-card td {
	color: #ddd4c8;
	line-height: 1.5;
	word-break: break-word;
}

.dashboard-layout .table-card th {
	font-size: 0.88rem;
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #dfd4c6;
}

.dashboard-layout .table-card td {
	font-size: 0.95rem;
	line-height: 1.48;
}

.dashboard-layout .table-meta {
	font-size: 0.84rem;
	line-height: 1.4;
}

.admin-users-table,
.admin-contacts-table,
.admin-email-table,
.admin-activity-table {
	table-layout: fixed;
}

.admin-contacts-table td:nth-child(4),
.admin-email-table td:nth-child(3),
.admin-email-table td:nth-child(4),
.admin-activity-table td:nth-child(4) {
	min-width: 0;
}

.table-block {
	display: grid;
	gap: 6px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.03);
	min-height: 100%;
}

.table-block--soft {
	background: rgba(255, 255, 255, 0.02);
}

.table-block strong {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.45;
}

.dashboard-layout .table-block strong {
	font-size: 0.94rem;
	line-height: 1.42;
}

.table-card tbody tr:hover {
	background: var(--table-hover);
}

.kpi-row {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

form {
	display: grid;
	gap: 16px;
}

label {
	display: grid;
	gap: 8px;
	font-weight: 500;
	color: var(--ink);
}

input,
textarea,
select {
	width: 100%;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid var(--input-border);
	background: var(--input-bg);
	font: inherit;
	color: var(--ink);
}

input::placeholder,
textarea::placeholder {
	color: #9e958b;
}

input:focus,
textarea:focus,
select:focus {
	outline: 2px solid rgba(215, 131, 61, 0.45);
	outline-offset: 1px;
	border-color: rgba(215, 131, 61, 0.5);
	background: rgba(255, 255, 255, 0.08);
}

select {
	appearance: none;
}

textarea {
	min-height: 150px;
	resize: vertical;
}

.contact-card strong,
.dashboard-card strong,
.card strong {
	display: block;
	margin-bottom: 8px;
	font-size: 1.1rem;
}

.note {
	padding: 16px 18px;
	border-radius: 14px;
	background: rgba(185, 92, 19, 0.14);
	color: #ffd5b7;
}

.alert {
	margin-bottom: 18px;
	padding: 16px 18px;
	border-radius: 14px;
	border: 1px solid transparent;
	line-height: 1.6;
}

.alert-success {
	background: rgba(60, 135, 90, 0.16);
	border-color: rgba(109, 201, 146, 0.22);
	color: #c5f0d4;
}

.alert-error {
	background: rgba(167, 47, 47, 0.18);
	border-color: rgba(228, 114, 114, 0.24);
	color: #ffd0d0;
}

.alert-info {
	background: rgba(24, 91, 136, 0.16);
	border-color: rgba(107, 180, 228, 0.2);
	color: #cdeaff;
}

.compact-list {
	margin: 0;
}

.compact-list li + li {
	margin-top: 6px;
}

.info-stack {
	display: grid;
	gap: 12px;
}

.compact-stack {
	margin-top: 10px;
}

.info-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
	align-items: baseline;
}

.info-row span {
	color: var(--muted);
}

.info-row strong {
	text-align: right;
	margin-bottom: 0;
}

.profile-avatar-block {
	margin: 12px 0 8px;
	display: flex;
	justify-content: center;
}

.profile-avatar {
	width: 80px;
	height: 80px;
	border-radius: 18px;
	object-fit: cover;
	border: 1px solid var(--line);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
	background: var(--secondary-bg);
}

.profile-form {
	display: grid;
	gap: 18px;
}

.summary-stack {
	margin-top: 10px;
}

.dashboard-request-form {
	display: grid;
	gap: 18px;
}

.request-chat-intro {
	display: grid;
	gap: 10px;
}

.request-chat-shell,
.request-thread-list {
	display: grid;
	gap: 18px;
}

.request-thread-card {
	display: grid;
	gap: 16px;
	padding: 18px;
	border-radius: 20px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.request-thread-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 14px;
}

.request-thread-card__meta,
.request-thread-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.82rem;
}

.request-thread-card__conversation {
	display: grid;
	gap: 12px;
}

.request-thread-card__conversation--admin {
	max-height: 360px;
	overflow: auto;
	scrollbar-gutter: stable;
	overscroll-behavior: contain;
	padding-right: 4px;
}

.chat-message {
	display: grid;
	gap: 8px;
	max-width: min(100%, 760px);
}

.chat-message--user {
	justify-self: end;
}

.chat-message--admin {
	justify-self: start;
}

.chat-message__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	font-size: 0.78rem;
	color: var(--muted);
}

.chat-message__body {
	padding: 14px 16px;
	border-radius: 18px;
	line-height: 1.55;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.05);
	white-space: normal;
}

.chat-message--user .chat-message__body,
.chat-message--draft .chat-message__body {
	background: linear-gradient(
		180deg,
		rgba(13, 110, 253, 0.18) 0%,
		rgba(13, 110, 253, 0.1) 100%
	);
	border-color: rgba(110, 168, 254, 0.32);
}

.chat-message--admin .chat-message__body {
	background: rgba(255, 255, 255, 0.04);
}

.chat-composer {
	display: grid;
	gap: 14px;
}

.request-thread-reply-form {
	display: grid;
	gap: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 244, 232, 0.08);
}

.request-thread-reply-form textarea {
	min-height: 110px;
}

.request-thread-status-form {
	margin-top: 4px;
}

.request-thread-admin {
	gap: 16px;
}

.request-thread-admin__summary {
	display: grid;
	gap: 12px;
	padding: 16px 18px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.06),
		rgba(255, 255, 255, 0.03)
	);
}

.request-thread-admin__summary-main {
	display: grid;
	gap: 5px;
}

.request-thread-admin__summary-main strong {
	font-size: 1rem;
	line-height: 1.5;
}

.request-thread-admin__summary-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-right: 3.6rem;
}

.chat-message__attachment {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-start;
}

.request-thread-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-start;
}

.request-thread-delete-form {
	max-width: 240px;
}

.contact-identity-block,
.contact-channel-block,
.contact-origin-block,
.contact-status-block {
	align-content: start;
}

.contact-identity-block strong,
.contact-channel-block strong,
.contact-status-block strong {
	font-size: 0.95rem;
}

.page-dashboard-admin .admin-contacts-table td:nth-child(4) {
	padding-top: 14px;
	padding-bottom: 14px;
}

.page-dashboard-admin
	.admin-contacts-table
	.request-thread-card__conversation--admin {
	max-height: 300px;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.025);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.page-dashboard-admin .admin-contacts-table .request-thread-reply-form--admin {
	padding: 16px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.03);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.page-dashboard-admin .admin-contacts-table .request-thread-actions {
	padding-top: 2px;
}

.page-dashboard-admin .admin-contacts-table .request-thread-status-form {
	flex: 1 1 210px;
}

.page-dashboard-admin .admin-contacts-table .request-thread-delete-form {
	max-width: none;
}

.page-dashboard-admin .admin-contacts-table .chat-message__meta {
	padding: 0 2px;
}

.page-dashboard-admin .admin-contacts-table .chat-message__body {
	padding: 13px 15px;
}

.request-confirmation-card {
	scroll-margin-top: 120px;
}

.user-requests-table td:nth-child(4),
.user-requests-table td:nth-child(5) {
	white-space: nowrap;
}

.position-relative {
	position: relative;
}

.position-absolute {
	position: absolute;
}

.top-0 {
	top: 0;
}

.start-100 {
	left: 100%;
}

.translate-middle {
	transform: translate(-50%, -50%);
}

.rounded-pill {
	border-radius: 999px;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.badge {
	--badge-padding-x: 0.65em;
	--badge-padding-y: 0.35em;
	--badge-font-size: 0.75em;
	--badge-font-weight: 700;
	--badge-color: #ffffff;
	--badge-bg: rgba(185, 92, 19, 0.82);
	--badge-border-color: transparent;
	--badge-border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.6em;
	padding: var(--badge-padding-y) var(--badge-padding-x);
	border: 1px solid var(--badge-border-color);
	border-radius: var(--badge-border-radius);
	background: var(--badge-bg);
	color: var(--badge-color);
	font-size: var(--badge-font-size);
	font-weight: var(--badge-font-weight);
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
	z-index: 1;
}

.text-bg-primary {
	--badge-bg: #0d6efd;
	--badge-color: #ffffff;
}

.text-bg-secondary {
	--badge-bg: #6c757d;
	--badge-color: #ffffff;
}

.text-bg-success {
	--badge-bg: #198754;
	--badge-color: #ffffff;
}

.text-bg-danger {
	--badge-bg: #dc3545;
	--badge-color: #ffffff;
}

.text-bg-warning {
	--badge-bg: #ffc107;
	--badge-color: #2f2219;
}

.text-bg-info {
	--badge-bg: #0dcaf0;
	--badge-color: #10252d;
}

.text-bg-light {
	--badge-bg: #f8f9fa;
	--badge-color: #2f2219;
}

.text-bg-dark {
	--badge-bg: #212529;
	--badge-color: #ffffff;
}

.status-pill {
	--status-pill-padding-x: 0.72em;
	--status-pill-padding-y: 0.42em;
	--status-pill-font-size: 0.82rem;
	--status-pill-font-weight: 700;
	--status-pill-color: #ffd5b7;
	--status-pill-bg: rgba(185, 92, 19, 0.18);
	--status-pill-border-color: rgba(255, 208, 173, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--status-pill-padding-y) var(--status-pill-padding-x);
	border: 1px solid var(--status-pill-border-color);
	border-radius: 999px;
	background: var(--status-pill-bg);
	color: var(--status-pill-color);
	font-size: var(--status-pill-font-size);
	font-weight: var(--status-pill-font-weight);
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.status-pill--success {
	--status-pill-bg: rgba(60, 135, 90, 0.16);
	--status-pill-color: #c5f0d4;
	--status-pill-border-color: rgba(126, 216, 161, 0.14);
}

.status-pill--muted {
	--status-pill-bg: rgba(255, 255, 255, 0.08);
	--status-pill-color: var(--muted);
	--status-pill-border-color: rgba(255, 255, 255, 0.08);
}

.status-pill--info {
	--status-pill-bg: rgba(92, 162, 255, 0.16);
	--status-pill-color: #c8e2ff;
	--status-pill-border-color: rgba(143, 191, 255, 0.14);
}

.status-pill--warning {
	--status-pill-bg: rgba(255, 190, 92, 0.18);
	--status-pill-color: #ffd79b;
	--status-pill-border-color: rgba(255, 211, 138, 0.16);
}

.status-pill--attention {
	--status-pill-bg: rgba(255, 119, 61, 0.18);
	--status-pill-color: #ffd0b2;
	--status-pill-border-color: rgba(255, 160, 122, 0.2);
	box-shadow:
		inset 0 0 0 1px rgba(255, 160, 122, 0.2),
		0 4px 14px rgba(0, 0, 0, 0.12);
}

.status-pill--error {
	--status-pill-bg: rgba(198, 76, 76, 0.18);
	--status-pill-color: #ffc3c3;
	--status-pill-border-color: rgba(255, 160, 160, 0.14);
}

.admin-form-grid {
	width: 100%;
	margin: 0 0 16px;
}

.action-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: stretch;
	min-width: 230px;
	max-width: 280px;
}

.action-stack > * {
	min-width: 0;
}

.action-group {
	display: grid;
	gap: 8px;
	padding: 10px;
	border-radius: 14px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: rgba(255, 255, 255, 0.03);
}

.action-group--accent {
	background: rgba(185, 92, 19, 0.09);
	border-color: rgba(215, 131, 61, 0.16);
}

.action-group__label {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--muted);
}

.page-dashboard-admin .admin-users-table .user-action-stack {
	min-width: 0;
	max-width: none;
	gap: 10px;
}

.page-dashboard-admin .admin-users-table .user-action-group {
	padding: 12px 12px 11px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.025);
	box-shadow: none;
	gap: 7px;
}

.page-dashboard-admin .admin-users-table .user-action-group--accent {
	background: linear-gradient(
		180deg,
		rgba(185, 92, 19, 0.12),
		rgba(255, 255, 255, 0.04)
	);
}

.page-dashboard-admin
	.admin-users-table
	.user-action-group
	.action-group__label {
	font-size: 0.72rem;
	letter-spacing: 0.06em;
}

.page-dashboard-admin
	.admin-users-table
	.user-action-group
	.button-secondary--small {
	min-height: 36px;
}

.page-dashboard-admin .admin-users-table .user-action-group .inline-input {
	min-height: 36px;
	padding: 9px 11px;
	font-size: 0.88rem;
}

.page-dashboard-admin .admin-users-table .user-regenerate-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: end;
}

.page-dashboard-admin .admin-users-table .user-regenerate-form__field {
	display: grid;
	gap: 4px;
	min-width: 0;
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--muted);
}

.page-dashboard-admin
	.admin-users-table
	.user-regenerate-form
	.button-secondary--small {
	min-width: 104px;
	white-space: nowrap;
}

.page-dashboard-admin .admin-users-table .user-action-group .table-meta {
	font-size: 0.82rem;
}

.page-dashboard-admin .admin-users-table .user-action-stack,
.page-dashboard-admin .admin-contacts-table .request-thread-actions {
	overflow-anchor: none;
}

.table-actions-cell {
	width: 300px;
	white-space: normal;
}

.admin-users-table .col-user-account {
	width: 22%;
}

.admin-users-table .col-user-code {
	width: 17%;
}

.admin-users-table .col-user-role {
	width: 13%;
}

.admin-users-table .col-user-status {
	width: 14%;
}

.admin-users-table .col-user-history {
	width: 18%;
}

.admin-users-table .col-user-actions {
	width: 16%;
}

.admin-contacts-table .col-contact-date {
	width: 11%;
}

.admin-contacts-table .col-contact-name {
	width: 14%;
}

.admin-contacts-table .col-contact-email {
	width: 16%;
}

.admin-contacts-table .col-contact-thread {
	width: 35%;
}

.admin-contacts-table .col-contact-origin {
	width: 11%;
}

.admin-contacts-table .col-contact-status {
	width: 13%;
}

.admin-users-table td:nth-child(2) {
	white-space: normal;
}

.user-identity {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.user-identity__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: linear-gradient(
		135deg,
		rgba(215, 131, 61, 0.24) 0%,
		rgba(121, 71, 29, 0.38) 100%
	);
	border: 1px solid rgba(255, 244, 232, 0.12);
	color: #fff4e7;
	font-weight: 800;
	font-size: 1rem;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

.user-identity__body {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.user-inline-meta {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 2px;
}

.marker-pill {
	--marker-pill-bg: rgba(255, 255, 255, 0.04);
	--marker-pill-color: #f3e7da;
	--marker-pill-border-color: rgba(255, 244, 232, 0.1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.42em 0.72em;
	border: 1px solid var(--marker-pill-border-color);
	border-radius: 999px;
	background: var(--marker-pill-bg);
	color: var(--marker-pill-color);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.marker-pill::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.05);
	flex: 0 0 auto;
}

.marker-pill--admin {
	--marker-pill-bg: rgba(215, 131, 61, 0.16);
	--marker-pill-color: #ffcfad;
	--marker-pill-border-color: rgba(255, 210, 173, 0.14);
}

.marker-pill--technical {
	--marker-pill-bg: rgba(92, 162, 255, 0.16);
	--marker-pill-color: #c8e2ff;
	--marker-pill-border-color: rgba(143, 191, 255, 0.14);
}

.marker-pill--user {
	--marker-pill-bg: rgba(255, 255, 255, 0.08);
	--marker-pill-color: #e7ddd1;
	--marker-pill-border-color: rgba(255, 255, 255, 0.08);
}

.marker-pill--active {
	--marker-pill-bg: rgba(60, 135, 90, 0.16);
	--marker-pill-color: #c5f0d4;
	--marker-pill-border-color: rgba(126, 216, 161, 0.14);
}

.marker-pill--inactive {
	--marker-pill-bg: rgba(198, 76, 76, 0.18);
	--marker-pill-color: #ffc3c3;
	--marker-pill-border-color: rgba(255, 160, 160, 0.14);
}

.user-role-block,
.user-status-block {
	align-content: start;
}

.user-history-grid {
	display: grid;
	gap: 10px;
}

.admin-contacts-table td:nth-child(5),
.admin-contacts-table td:nth-child(6),
.admin-email-table td:nth-child(2),
.admin-email-table td:nth-child(6),
.admin-activity-table td:nth-child(2) {
	white-space: nowrap;
}

@media (min-width: 1500px) {
	.dashboard-layout {
		width: min(var(--dashboard-layout-width), calc(100% - 16px));
		grid-template-columns: 332px minmax(0, 1fr);
		gap: 26px;
	}

	.dashboard-layout .sidebar {
		padding: 26px;
	}

	.dashboard-layout .table-shell table {
		min-width: 1320px;
	}

	.dashboard-layout .table-card th,
	.dashboard-layout .table-card td {
		padding: 16px 16px;
	}

	.dashboard-layout .table-actions-cell {
		width: 340px;
	}

	.dashboard-layout .table-block {
		padding: 12px 14px;
	}

	.dashboard-layout .admin-users-table .col-user-account {
		width: 24%;
	}

	.dashboard-layout .admin-users-table .col-user-actions {
		width: 18%;
	}
}

.chart-grid {
	align-items: stretch;
}

.chart-card {
	display: grid;
	gap: 14px;
}

.chart-shell {
	position: relative;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: var(--chart-bg);
	min-height: 290px;
}

.chart-canvas {
	display: block;
	width: 100%;
	height: 260px;
}

.chart-legend {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.chart-legend span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--ink);
	font-size: 0.9rem;
}

.chart-legend i {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.toolbar-form {
	margin-bottom: 18px;
	padding: 20px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: var(--toolbar-bg);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.table-summary,
.empty-state,
.footer-meta,
.info-row span {
	color: var(--muted);
}

.filter-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 16px;
}

.filter-grid--contacts {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.filter-grid--emails {
	grid-template-columns: 2fr repeat(6, minmax(0, 1fr));
}

.table-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.table-summary {
	margin: 0;
	color: var(--muted);
}

.compact-actions {
	margin-top: 0;
}

.pagination {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 18px;
}

.pagination-link {
	transition:
		transform 0.18s ease,
		opacity 0.18s ease,
		background-color 0.18s ease;
}

.pagination-link:hover,
.pagination-link:focus-visible {
	transform: translateY(-1px);
}

.pagination-label {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 12px;
	border-radius: 12px;
	border: 1px solid var(--secondary-border);
	background: rgba(255, 255, 255, 0.04);
	color: var(--muted);
	font-size: 0.92rem;
}

.pagination-current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	min-width: 38px;
	padding: 0 12px;
	border-radius: 12px;
	background: linear-gradient(
		135deg,
		var(--accent) 0%,
		var(--accent-dark) 100%
	);
	color: #fff;
	font-weight: 700;
	box-shadow: 0 16px 32px rgba(110, 47, 8, 0.16);
}

button:hover,
.button:hover {
	filter: brightness(1.06);
}

.inline-form {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: stretch;
	width: 100%;
}

.inline-form--single {
	gap: 0;
}

.inline-input {
	min-height: 38px;
	padding: 10px 12px;
	border-radius: 12px;
	font-size: 0.92rem;
	min-width: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.05);
}

.button-secondary--small {
	min-height: 38px;
	padding: 0 12px;
	font-size: 0.92rem;
}

.action-stack .button-secondary--small,
.action-stack .inline-form button {
	justify-content: center;
	width: 100%;
}

.admin-overview-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.95fr);
	gap: 22px;
	align-items: stretch;
}

.admin-hero-card,
.admin-ops-card,
.admin-quick-section {
	display: grid;
	gap: 18px;
}

.admin-hero-card__copy {
	display: grid;
	gap: 10px;
}

.admin-hero-card__copy p,
.admin-ops-card__header p {
	margin: 0;
}

.admin-hero-card__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.admin-hero-stat,
.admin-anchor-link {
	padding: 16px 18px;
	border-radius: 18px;
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.06),
		rgba(255, 255, 255, 0.03)
	);
}

.admin-hero-stat {
	display: grid;
	gap: 6px;
	align-content: start;
	min-height: 132px;
}

.admin-hero-stat strong {
	font-size: 1.9rem;
	line-height: 1;
	color: #ffd2ad;
}

.admin-hero-stat span:last-child,
.admin-anchor-link__meta,
.admin-ops-card__footer .env-strip__meta {
	color: var(--muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.admin-hero-stat__label,
.admin-anchor-link__eyebrow {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted);
}

.admin-ops-card {
	align-content: start;
}

.admin-ops-card__header {
	display: grid;
	gap: 10px;
}

.admin-anchor-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.admin-anchor-link {
	display: grid;
	gap: 8px;
	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		background-color 0.2s ease;
}

.admin-anchor-link strong {
	font-size: 1.04rem;
	line-height: 1.35;
}

.admin-anchor-link:hover,
.admin-anchor-link:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(255, 210, 173, 0.18);
	background: linear-gradient(
		180deg,
		rgba(185, 92, 19, 0.12),
		rgba(255, 255, 255, 0.04)
	);
}

.admin-ops-card__footer {
	display: grid;
	gap: 10px;
	padding-top: 4px;
	border-top: 1px solid rgba(255, 244, 232, 0.08);
}

.admin-kpi-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-support-grid,
.admin-system-grid,
.admin-chart-grid,
.admin-report-grid {
	align-items: stretch;
}

.admin-quick-section {
	padding: 24px 24px 26px;
}

.admin-quick-section__head {
	margin-bottom: 0;
}

.admin-quick-section__controls {
	margin-top: 0;
	margin-bottom: 0;
}

.page-dashboard-admin .page-heading h1 {
	font-size: clamp(1.95rem, 2.6vw, 3.2rem);
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.page-dashboard-utenti .page-heading h1 {
	font-size: clamp(2rem, 2.7vw, 3.25rem);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.empty-state {
	margin: 0;
	padding: 14px 0 4px;
	color: var(--muted);
}

.site-footer {
	padding: 0 0 40px;
}

.env-strip {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 0 14px;
	flex-wrap: wrap;
}

.env-strip__pill {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.08);
	color: var(--ink);
}

.env-strip__pill--warning {
	background: rgba(255, 190, 92, 0.18);
	color: #ffd79b;
}

.env-strip__pill--success {
	background: rgba(60, 135, 90, 0.16);
	color: #c5f0d4;
}

.env-strip__meta,
.table-meta {
	color: var(--muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.cell-stack {
	display: grid;
	gap: 4px;
}

@keyframes sectionEnter {
	from {
		opacity: 0.65;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.smtp-mode-card p {
	margin: 0;
}

.footer-shell {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 26px 28px;
	border-radius: var(--radius-md);
	border: 1px solid rgba(255, 244, 232, 0.08);
	background: var(--footer-bg);
}

.footer-meta {
	display: grid;
	gap: 8px;
	text-align: right;
	color: var(--muted);
}

@media (max-width: 980px) {
	.hero,
	.auth-layout,
	.dashboard-layout,
	.admin-overview-grid,
	.grid.grid-3,
	.grid.grid-2,
	.stats,
	.dashboard-grid,
	.contact-grid,
	.kpi-row {
		grid-template-columns: 1fr;
	}

	.sidebar {
		position: static;
	}

	.dashboard-layout .sidebar {
		min-height: 0;
	}

	.page-dashboard-admin .table-card thead th {
		top: 0;
	}

	.page-dashboard-admin .admin-users-table thead th:first-child,
	.page-dashboard-admin .admin-users-table tbody td:first-child {
		position: static;
		box-shadow: none;
	}

	.filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.filter-grid--emails {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.section-metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.admin-kpi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.admin-anchor-grid,
	.admin-hero-card__stats {
		grid-template-columns: 1fr;
	}

	.sidebar-summary__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.admin-quick-section {
		padding: 22px 18px;
	}

	.admin-kpi-grid,
	.section-metrics {
		grid-template-columns: 1fr;
	}

	.admin-hero-stat,
	.admin-anchor-link {
		padding: 14px 15px;
	}

	.section-actions .button-secondary.position-relative,
	.section-actions .collapse-trigger.position-relative {
		padding-right: 3.4rem;
	}

	.section-actions .button-secondary.position-relative > .badge,
	.section-actions .collapse-trigger.position-relative > .badge {
		left: auto;
		right: 0.7rem;
		top: 50%;
		transform: translateY(-50%);
	}

	.request-thread-card.position-relative,
	.request-thread-admin__summary.position-relative {
		padding-top: 0.35rem;
	}

	.request-thread-unread-badge {
		right: 0.8rem;
		left: auto;
		top: 0.8rem;
		transform: none;
	}

	.page-dashboard-admin .table-shell--users,
	.page-dashboard-admin .table-shell--stacked {
		overflow: visible;
		border: 0;
		background: transparent;
	}

	.page-dashboard-admin .admin-users-table,
	.page-dashboard-admin .admin-contacts-table,
	.page-dashboard-admin .admin-email-table,
	.page-dashboard-admin .admin-activity-table,
	.page-dashboard-admin .admin-users-table colgroup,
	.page-dashboard-admin .admin-contacts-table colgroup,
	.page-dashboard-admin .admin-email-table colgroup,
	.page-dashboard-admin .admin-activity-table colgroup,
	.page-dashboard-admin .admin-users-table thead,
	.page-dashboard-admin .admin-contacts-table thead,
	.page-dashboard-admin .admin-email-table thead,
	.page-dashboard-admin .admin-activity-table thead,
	.page-dashboard-admin .admin-users-table tbody,
	.page-dashboard-admin .admin-contacts-table tbody,
	.page-dashboard-admin .admin-email-table tbody,
	.page-dashboard-admin .admin-activity-table tbody,
	.page-dashboard-admin .admin-users-table tr,
	.page-dashboard-admin .admin-contacts-table tr,
	.page-dashboard-admin .admin-email-table tr,
	.page-dashboard-admin .admin-activity-table tr,
	.page-dashboard-admin .admin-users-table th,
	.page-dashboard-admin .admin-contacts-table th,
	.page-dashboard-admin .admin-email-table th,
	.page-dashboard-admin .admin-activity-table th,
	.page-dashboard-admin .admin-users-table td,
	.page-dashboard-admin .admin-contacts-table td,
	.page-dashboard-admin .admin-email-table td,
	.page-dashboard-admin .admin-activity-table td {
		display: block;
		width: 100%;
	}

	.page-dashboard-admin .admin-users-table,
	.page-dashboard-admin .admin-contacts-table,
	.page-dashboard-admin .admin-email-table,
	.page-dashboard-admin .admin-activity-table {
		min-width: 0;
		border-collapse: separate;
		border-spacing: 0;
	}

	.page-dashboard-admin .admin-users-table thead,
	.page-dashboard-admin .admin-contacts-table thead,
	.page-dashboard-admin .admin-email-table thead,
	.page-dashboard-admin .admin-activity-table thead {
		display: none;
	}

	.page-dashboard-admin .admin-users-table tbody,
	.page-dashboard-admin .admin-contacts-table tbody,
	.page-dashboard-admin .admin-email-table tbody,
	.page-dashboard-admin .admin-activity-table tbody {
		display: grid;
		gap: 16px;
	}

	.page-dashboard-admin .admin-users-table tbody tr,
	.page-dashboard-admin .admin-contacts-table tbody tr,
	.page-dashboard-admin .admin-email-table tbody tr,
	.page-dashboard-admin .admin-activity-table tbody tr {
		display: grid;
		gap: 10px;
		padding: 16px;
		border-radius: 18px;
		border: 1px solid rgba(255, 244, 232, 0.08);
		background: rgba(255, 255, 255, 0.03);
		box-shadow: 0 18px 34px rgba(0, 0, 0, 0.12);
	}

	.page-dashboard-admin .admin-users-table tbody td,
	.page-dashboard-admin .admin-contacts-table tbody td,
	.page-dashboard-admin .admin-email-table tbody td,
	.page-dashboard-admin .admin-activity-table tbody td {
		padding: 0;
		border-bottom: 0;
	}

	.page-dashboard-admin .admin-users-table tbody td + td,
	.page-dashboard-admin .admin-contacts-table tbody td + td,
	.page-dashboard-admin .admin-email-table tbody td + td,
	.page-dashboard-admin .admin-activity-table tbody td + td {
		margin-top: 8px;
	}

	.page-dashboard-admin .admin-users-table tbody td::before,
	.page-dashboard-admin .admin-contacts-table tbody td::before,
	.page-dashboard-admin .admin-email-table tbody td::before,
	.page-dashboard-admin .admin-activity-table tbody td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 8px;
		font-size: 0.74rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		color: var(--muted);
	}

	.page-dashboard-admin .admin-users-table tbody td:first-child {
		position: static;
		padding-left: 0;
		background: transparent;
		box-shadow: none;
	}

	.page-dashboard-admin .admin-users-table tbody td:first-child .user-identity,
	.page-dashboard-admin .admin-email-table tbody td:first-child .table-block,
	.page-dashboard-admin
		.admin-activity-table
		tbody
		td:first-child
		.table-block {
		padding: 14px;
		border-radius: 16px;
		border: 1px solid rgba(255, 244, 232, 0.08);
		background: linear-gradient(
			180deg,
			rgba(185, 92, 19, 0.14),
			rgba(255, 255, 255, 0.04)
		);
	}

	.page-dashboard-admin .admin-users-table tbody td:first-child .user-identity {
		padding-right: 12px;
	}

	.page-dashboard-admin .admin-users-table tbody td:first-child::before {
		margin-bottom: 10px;
	}

	.page-dashboard-admin .admin-contacts-table tbody td:first-child,
	.page-dashboard-admin .admin-email-table tbody td:first-child,
	.page-dashboard-admin .admin-activity-table tbody td:first-child {
		padding-left: 0;
	}

	.page-dashboard-admin .admin-users-table .table-actions-cell {
		width: 100%;
	}

	.page-dashboard-admin .user-identity {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 10px;
	}

	.page-dashboard-admin .user-identity__avatar {
		width: 42px;
		height: 42px;
	}

	.page-dashboard-admin .user-history-grid,
	.page-dashboard-admin .sidebar-summary__stats {
		grid-template-columns: 1fr;
	}

	.page-dashboard-admin .action-stack {
		min-width: 0;
		max-width: none;
		gap: 8px;
	}

	.page-dashboard-admin .admin-users-table .user-action-group {
		padding: 10px;
		border-radius: 14px;
	}

	.page-dashboard-admin .admin-users-table .user-regenerate-form {
		grid-template-columns: 1fr;
	}

	.page-dashboard-admin
		.admin-users-table
		.user-regenerate-form
		.button-secondary--small {
		width: 100%;
	}

	.page-dashboard-admin .table-block,
	.page-dashboard-admin .action-group {
		padding: 10px 11px;
		border-radius: 14px;
	}

	.page-dashboard-admin .admin-users-table tbody td::before,
	.page-dashboard-admin .admin-email-table tbody td::before,
	.page-dashboard-admin .admin-activity-table tbody td::before {
		margin-bottom: 6px;
		font-size: 0.7rem;
	}

	.page-dashboard-admin .admin-contacts-table tbody tr {
		gap: 12px;
	}

	.page-dashboard-admin .admin-contacts-table tbody td:nth-child(4) {
		margin-top: 2px;
	}

	.page-dashboard-admin .admin-contacts-table .request-thread-admin__summary {
		padding: 14px;
	}

	.page-dashboard-admin
		.admin-contacts-table
		.contact-identity-block
		.table-meta,
	.page-dashboard-admin .admin-contacts-table .contact-origin-block .table-meta,
	.page-dashboard-admin
		.admin-contacts-table
		.contact-channel-block
		.table-meta:last-child,
	.page-dashboard-admin
		.admin-contacts-table
		.contact-status-block
		.table-meta {
		display: none;
	}

	.page-dashboard-admin
		.admin-contacts-table
		.request-thread-admin__summary-meta {
		gap: 6px;
		padding-right: 2.8rem;
	}

	.page-dashboard-admin
		.admin-contacts-table
		.request-thread-admin__summary-main
		.table-meta {
		font-size: 0.8rem;
	}

	.page-dashboard-admin
		.admin-contacts-table
		.request-thread-card__conversation--admin,
	.page-dashboard-admin
		.admin-contacts-table
		.request-thread-reply-form--admin {
		padding: 12px;
		border-radius: 16px;
	}

	.page-dashboard-admin .admin-contacts-table .request-thread-actions {
		gap: 8px;
	}

	.page-dashboard-admin .admin-contacts-table .request-thread-status-form {
		flex: 1 1 100%;
	}

	.page-dashboard-utenti .table-shell--stacked-user {
		overflow: visible;
		border: 0;
		background: transparent;
	}

	.page-dashboard-utenti .user-requests-table,
	.page-dashboard-utenti .user-requests-table thead,
	.page-dashboard-utenti .user-requests-table tbody,
	.page-dashboard-utenti .user-requests-table tr,
	.page-dashboard-utenti .user-requests-table th,
	.page-dashboard-utenti .user-requests-table td {
		display: block;
		width: 100%;
	}

	.page-dashboard-utenti .user-requests-table {
		min-width: 0;
		border-collapse: separate;
		border-spacing: 0;
	}

	.page-dashboard-utenti .user-requests-table thead {
		display: none;
	}

	.page-dashboard-utenti .user-requests-table tbody {
		display: grid;
		gap: 16px;
	}

	.page-dashboard-utenti .user-requests-table tbody tr {
		padding: 16px;
		border-radius: 18px;
		border: 1px solid rgba(255, 244, 232, 0.08);
		background: rgba(255, 255, 255, 0.03);
		box-shadow: 0 18px 34px rgba(0, 0, 0, 0.12);
	}

	.page-dashboard-utenti .user-requests-table tbody td {
		padding: 0;
		border-bottom: 0;
	}

	.page-dashboard-utenti .user-requests-table tbody td + td {
		margin-top: 12px;
	}

	.page-dashboard-utenti .user-requests-table tbody td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 8px;
		font-size: 0.74rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		color: var(--muted);
	}
}

@media (max-width: 760px) {
	.request-thread-card {
		padding: 16px;
	}

	.request-thread-card__head {
		flex-direction: column;
		gap: 10px;
	}

	.request-thread-card__meta,
	.request-thread-card__badges {
		margin-top: 4px;
	}

	.request-thread-unread-badge {
		right: 0.7rem;
		top: 0.7rem;
	}

	.header-actions {
		width: 100%;
		justify-content: space-between;
	}

	.theme-toggle {
		flex: 1 1 auto;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.site-nav {
		position: absolute;
		top: calc(100% + 10px);
		left: 16px;
		right: 16px;
		display: none;
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
		background: var(--header-bg);
		border: 1px solid rgba(255, 244, 232, 0.08);
		border-radius: 20px;
		box-shadow: var(--shadow);
	}

	.site-nav.is-open {
		display: flex;
	}

	.header-shell {
		position: relative;
	}

	.hero {
		padding: 28px;
	}

	.footer-shell {
		flex-direction: column;
	}

	.footer-meta {
		text-align: left;
	}

	.filter-grid {
		grid-template-columns: 1fr;
	}

	.section-metrics {
		grid-template-columns: 1fr;
	}

	.table-toolbar {
		align-items: stretch;
	}

	.action-stack {
		min-width: 200px;
		max-width: none;
	}

	.inline-form {
		flex-direction: column;
	}

	.table-actions-cell {
		width: 250px;
		min-width: 250px;
	}

	.table-shell table {
		min-width: 720px;
	}

	.chart-shell {
		padding: 10px;
		min-height: 240px;
	}
}
