/* Bootstrap v5.0.2 (https://getbootstrap.com/), MIT. Solo le regole usate dai template dell'app (ripulito con PurgeCSS) */
:root {
	--bs-blue: #0d6efd;
	--bs-indigo: #6610f2;
	--bs-purple: #6f42c1;
	--bs-pink: #d63384;
	--bs-red: #dc3545;
	--bs-orange: #fd7e14;
	--bs-yellow: #ffc107;
	--bs-green: #198754;
	--bs-teal: #20c997;
	--bs-cyan: #0dcaf0;
	--bs-white: #fff;
	--bs-gray: #6c757d;
	--bs-gray-dark: #343a40;
	--bs-primary: #8231D3;
	--bs-secondary: #5840FF;
	--bs-success: #01B81A;
	--bs-info: #00AAFF;
	--bs-infos: #00E4EC;
	--bs-warning: #FA8B0C;
	--bs-warnings: #FFBB00;
	--bs-danger: #FF0F0F;
	--bs-dangers: #FF0F0F;
	--bs-purple: #A722F6;
	--bs-dark: #0A0A0A;
	--bs-light: #8C90A4;
	--bs-lighten: #A0A0A0;
	--bs-light-gray: #8C90A4;
	--bs-text: #666d92;
	--bs-gray: #404040;
	--bs-third: #8231D3;
	--bs-white: #ffffff;
	--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--body-color);
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(var(--color-dark), 0);
}

hr {
	margin: 4.67rem 0;
	color: inherit;
	background-color: currentColor;
	border: 0;
	opacity: 0.25;
}

hr:not([size]) {
	height: 1px;
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
	margin-top: 0;
	margin-bottom: 0;
	font-family: sans-serif;
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-dark);
}

h1,
.h1 {
	font-size: calc(17.4px + 1.05vw);
}

h2,
.h2 {
	font-size: calc(16.8px + 0.6vw);
}

h3,
.h3 {
	font-size: calc(16.6px + 0.45vw);
}

h4,
.h4 {
	font-size: calc(16.4px + 0.3vw);
}

h5,
.h5 {
	font-size: calc(16.2px + 0.15vw);
}

h6,
.h6 {
	font-size: 16px;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol,
ul {
	padding-left: 2rem;
}

ol,
ul {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;
}

b,
strong {
	font-weight: bolder;
}

small,
.small {
	font-size: 0.875em;
}

a {
	color: var(--color-primary);
	text-decoration: none;
}

a:hover {
	color: #0a58ca;
	text-decoration: none;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
	color: inherit;
	text-decoration: none;
}

img,
svg {
	vertical-align: middle;
}

table {
	caption-side: bottom;
	border-collapse: collapse;
}

th {
	text-align: inherit;
	text-align: -webkit-match-parent;
}

thead,
tbody,
tr,
td,
th {
	border-color: inherit;
	border-style: solid;
	border-width: 0;
}

label {
	display: inline-block;
}

button {
	-webkit-border-radius: 0;
	border-radius: 0;
}

button:focus:not(:focus-visible) {
	outline: 0;
}

input,
button,
select,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button,
select {
	text-transform: none;
}

[role=button] {
	cursor: pointer;
}

select {
	word-wrap: normal;
}

select:disabled {
	opacity: 1;
}

button,
[type=button],
[type=submit] {
	-webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=submit]:not(:disabled) {
	cursor: pointer;
}

::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

textarea {
	resize: vertical;
}

fieldset {
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

legend {
	float: left;
	width: 100%;
	padding: 0;
	margin-bottom: 0.5rem;
	font-size: calc(16.8px + 0.6vw);
	line-height: inherit;
}

legend + * {
	clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
	padding: 0;
}

::-webkit-inner-spin-button {
	height: auto;
}

::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
	padding: 0;
}

::file-selector-button {
	font: inherit;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

[hidden] {
	display: none !important;
}

.container,
.container-fluid {
	width: 100%;
	padding-right: var(--bs-gutter-x, 0.75rem);
	padding-left: var(--bs-gutter-x, 0.75rem);
	margin-right: auto;
	margin-left: auto;
}

.row {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: calc(var(--bs-gutter-y) * -1);
	margin-right: calc(var(--bs-gutter-x) * -0.5);
	margin-left: calc(var(--bs-gutter-x) * -0.5);
}

.row > * {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--bs-gutter-x) * 0.5);
	padding-left: calc(var(--bs-gutter-x) * 0.5);
	margin-top: var(--bs-gutter-y);
}

.table {
	--bs-table-bg: transparent;
	--bs-table-accent-bg: transparent;
	--bs-table-striped-color: #212529;
	--bs-table-striped-bg: rgba(0, 0, 0, 0.05);
	--bs-table-active-color: #212529;
	--bs-table-active-bg: rgba(0, 0, 0, 0.1);
	--bs-table-hover-color: #212529;
	--bs-table-hover-bg: rgba(0, 0, 0, 0.075);
	width: 100%;
	margin-bottom: 1rem;
	color: var(--color-dark);
	vertical-align: top;
	border-color: var(--border-color);
}

.table > :not(caption) > * > * {
	padding: 0.5rem 0.5rem;
	background-color: var(--bs-table-bg);
	border-bottom-width: 1px;
	-webkit-box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
	box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}

.table > tbody {
	vertical-align: inherit;
}

.table > thead {
	vertical-align: bottom;
}

.table > :not(:last-child) > :last-child > * {
	border-bottom-color: currentColor;
}

.table-striped > tbody > tr:nth-of-type(odd) {
	--bs-table-accent-bg: var(--bs-table-striped-bg);
	color: var(--bs-table-striped-color);
}

.form-control {
	display: block;
	width: 100%;
	padding: 0.375rem 1.2rem;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-dark);
	background-color: var(--input-bg);
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 1px solid var(--border-light);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-shadow: 0 0;
	box-shadow: 0 0;
	-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control[type=file] {
	overflow: hidden;
}

.form-control[type=file]:not(:disabled):not([readonly]) {
	cursor: pointer;
}

.form-control:focus {
	color: var(--color-dark);
	background-color: var(--input-focus-bg);
	border-color: var(--color-primary);
	outline: 0;
	-webkit-box-shadow: 0 0, 0px 5px 20px rgba(95, 99, 242, 0.1019607843);
	box-shadow: 0 0, 0px 5px 20px rgba(95, 99, 242, 0.1019607843);
}

.form-control::-webkit-date-and-time-value {
	height: 1.5em;
}

.form-control::-webkit-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::-moz-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::-ms-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control:disabled {
	background-color: var(--color-lighter);
	opacity: 1;
}

.form-control::file-selector-button {
	padding: 0.375rem 1.2rem;
	margin: -0.375rem -1.2rem;
	-webkit-margin-end: 1.2rem;
	margin-inline-end: 1.2rem;
	color: #212529;
	background-color: #e9ecef;
	pointer-events: none;
	border-color: inherit;
	border-style: solid;
	border-width: 0;
	border-inline-end-width: 1px;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
	background-color: #dde0e3;
}

.form-control::-webkit-file-upload-button {
	padding: 0.375rem 1.2rem;
	margin: -0.375rem -1.2rem;
	-webkit-margin-end: 1.2rem;
	margin-inline-end: 1.2rem;
	color: #212529;
	background-color: #e9ecef;
	pointer-events: none;
	border-color: inherit;
	border-style: solid;
	border-width: 0;
	border-inline-end-width: 1px;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
	background-color: #dde0e3;
}

textarea.form-control {
	min-height: 2.625rem;
}

.was-validated .form-control:valid,
.form-control.is-valid {
	border-color: #198754;
	padding-right: calc(1.5em + 0.75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	-webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
	border-color: #198754;
	-webkit-box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
	padding-right: calc(1.5em + 0.75rem);
	background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
	border-color: #dc3545;
	padding-right: calc(1.5em + 0.75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	-webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
	border-color: #dc3545;
	-webkit-box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
	padding-right: calc(1.5em + 0.75rem);
	background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.btn {
	display: inline-block;
	-ms-flex-item-align: center;
	align-self: center;
	font-weight: 500;
	line-height: 2.65rem;
	color: var(--body-color);
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: 0 20px;
	font-size: 14px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.btn:hover {
	color: var(--body-color);
}


.btn:focus {
	outline: 0;
	-webkit-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}


.btn:active,
.btn.active {
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}


.btn:active:focus,
.btn.active:focus {
	-webkit-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
	pointer-events: none;
	opacity: 0.65;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.btn-primary {
	color: #fff;
	background-color: #8231D3;
	border-color: #8231D3;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.btn-primary:hover {
	background-color: #7A1034;
	border-color: #6827a9;
}


.btn-primary:focus {
	color: #fff;
	background-color: #7A1034;
	border-color: #6827a9;
	-webkit-box-shadow: none, 0 0 0 0.25rem rgba(149, 80, 218, 0.5);
	box-shadow: none, 0 0 0 0.25rem rgba(149, 80, 218, 0.5);
}


.btn-primary:active,
.btn-primary.active {
	color: #fff;
	background-color: #6827a9;
	border-color: #62259e;
}


.btn-primary:active:focus,
.btn-primary.active:focus {
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(149, 80, 218, 0.5);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(149, 80, 218, 0.5);
}

.btn-primary:disabled,
.btn-primary.disabled {
	color: #fff;
	background-color: #7A1034;
	border-color: #7A1034;
}

.fade {
	-webkit-transition: opacity 0.15s linear;
	-o-transition: opacity 0.15s linear;
	transition: opacity 0.15s linear;
}

.fade:not(.show) {
	opacity: 0;
}

.collapse:not(.show) {
	display: none;
}

.collapsing {
	height: 0;
	overflow: hidden;
	-webkit-transition: height 0.35s ease;
	-o-transition: height 0.35s ease;
	transition: height 0.35s ease;
}

.nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}

.navbar {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-top: 1.0313rem;
	padding-right: 2rem;
	padding-bottom: 1.0313rem;
	padding-left: 2rem;
}

.navbar > .container,
.navbar > .container-fluid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: inherit;
	flex-wrap: inherit;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.navbar-brand {
	padding-top: 0.3125rem;
	padding-bottom: 0.3125rem;
	margin-right: 1rem;
	font-size: calc(16.4px + 0.3vw);
	white-space: nowrap;
}

.navbar-light .navbar-brand {
	color: rgba(0, 0, 0, 0.9);
}

.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
	color: rgba(0, 0, 0, 0.9);
}

.card {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: var(--bg-white);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	border: 1px solid var(--border-color);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.card > hr {
	margin-right: 0;
	margin-left: 0;
}

.breadcrumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 0;
	margin-bottom: 0;
	list-style: none;
	background-color: none;
}

.alert {
	position: relative;
	padding: 0.659rem 1.2rem;
	margin-bottom: 15px;
	border: 1px solid transparent;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.alert-heading {
	color: inherit;
}

.alert-dismissible {
	padding-right: 3rem;
}

.alert-dismissible .btn-close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	padding: 0.82375rem 1.2rem;
}

.alert-success {
	color: #016e10;
	background-color: #ccf1d1;
	border-color: #b3eaba;
}

.alert-danger {
	color: #990909;
	background-color: #ffcfcf;
	border-color: #ffb7b7;
}

.btn-close {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	width: 1em;
	height: 1em;
	padding: 0.25em 0.25em;
	color: #000;
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
	border: 0;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	opacity: 0.5;
}

.btn-close:hover {
	color: #000;
	text-decoration: none;
	opacity: 0.75;
}

.btn-close:focus {
	outline: 0;
	-webkit-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	opacity: 1;
}

.btn-close:disabled,
.btn-close.disabled {
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	opacity: 0.25;
}

.modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	display: none;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	outline: 0;
}

.modal-dialog {
	position: relative;
	width: auto;
	margin: 0.5rem;
	pointer-events: none;
}

.modal.fade .modal-dialog {
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: -webkit-transform 0.3s ease-out;
	-o-transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
	-webkit-transform: translate(0, -50px);
	-ms-transform: translate(0, -50px);
	transform: translate(0, -50px);
}

.modal.show .modal-dialog {
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}

.modal.modal-static .modal-dialog {
	-webkit-transform: scale(1.02);
	-ms-transform: scale(1.02);
	transform: scale(1.02);
}

.modal-dialog-scrollable {
	height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
	max-height: 100%;
	overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
	overflow-y: auto;
}

.modal-dialog-centered {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-height: calc(100% - 1rem);
}

.modal-content {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
	pointer-events: auto;
	background-color: #fff;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 0 solid rgba(0, 0, 0, 0.2);
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	outline: 0;
}

.modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
	width: 100vw;
	height: 100vh;
	background-color: #000;
}

.modal-backdrop.fade {
	opacity: 0;
}

.modal-backdrop.show {
	opacity: 0.5;
}

.modal-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 1.125rem 1.75rem;
	border-bottom: 1px solid var(--border-color);
	-webkit-border-top-left-radius: calc(0.3rem - 1px);
	border-top-left-radius: calc(0.3rem - 1px);
	-webkit-border-top-right-radius: calc(0.3rem - 1px);
	border-top-right-radius: calc(0.3rem - 1px);
}

.modal-header .btn-close {
	padding: 0.5rem 0.5rem;
	margin: -0.5rem -0.5rem -0.5rem auto;
}

.modal-title {
	margin-bottom: 0;
	line-height: 1.5;
}

.modal-body {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	padding: 1.75rem;
}

.modal-footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding: 1.5rem;
	border-top: 1px solid var(--border-color);
	-webkit-border-bottom-right-radius: calc(0.3rem - 1px);
	border-bottom-right-radius: calc(0.3rem - 1px);
	-webkit-border-bottom-left-radius: calc(0.3rem - 1px);
	border-bottom-left-radius: calc(0.3rem - 1px);
}

.modal-footer > * {
	margin: 0.25rem;
}

.modal-fullscreen {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen .modal-content {
	height: 100%;
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen .modal-header {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen .modal-body {
	overflow-y: auto;
}

.modal-fullscreen .modal-footer {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.tooltip {
	position: absolute;
	z-index: 1080;
	display: block;
	margin: 0;
	font-family: sans-serif;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	text-align: start;
	text-decoration: none;
	text-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	word-break: normal;
	word-spacing: normal;
	white-space: normal;
	line-break: auto;
	font-size: 14px;
	word-wrap: break-word;
	opacity: 0;
}

.tooltip.show {
	opacity: 0.9;
}

.position-relative {
	position: relative !important;
}

.text-capitalize {
	text-transform: capitalize !important;
}

.bg-primary {
	background-color: #8231D3 !important;
}

@media (prefers-reduced-motion: no-preference) {

:root {
	scroll-behavior: smooth;
}

}

@media (prefers-reduced-motion: reduce) {

.form-control {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.form-control::file-selector-button {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.form-control::-webkit-file-upload-button {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.btn {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.fade {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.collapsing {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.modal.fade .modal-dialog {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

}

@media (min-width: 576px) {


.container {
	max-width: 540px;
}

.modal-dialog {
	max-width: 620px;
	margin: 1.75rem auto;
}

.modal-dialog-scrollable {
	height: calc(100% - 3.5rem);
}

.modal-dialog-centered {
	min-height: calc(100% - 3.5rem);
}

.modal-content {
	-webkit-box-shadow: 0 3px 6px -4px rgba(var(--color-dark-rgba), 0.12), 0 6px 16px 0 rgba(var(--color-dark-rgba), 0.08), 0 9px 28px 8px rgba(var(--color-dark-rgba), 0.05);
	box-shadow: 0 3px 6px -4px rgba(var(--color-dark-rgba), 0.12), 0 6px 16px 0 rgba(var(--color-dark-rgba), 0.08), 0 9px 28px 8px rgba(var(--color-dark-rgba), 0.05);
}

.modal-sm {
	max-width: 450px;
}

}

@media (min-width: 768px) {


.container {
	max-width: 720px;
}

.col-md-6 {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: 50%;
}

.d-md-none {
	display: none !important;
}

}

@media (min-width: 992px) {


.container {
	max-width: 960px;
}

.modal-lg,
.modal-xl {
	max-width: 800px;
}

}

@media (min-width: 1200px) {

h1,
.h1 {
	font-size: 30px;
}

h2,
.h2 {
	font-size: 24px;
}

h3,
.h3 {
	font-size: 22px;
}

h4,
.h4 {
	font-size: 20px;
}

h5,
.h5 {
	font-size: 18px;
}

legend {
	font-size: 24px;
}


.container {
	max-width: 1140px;
}

.navbar-brand {
	font-size: 20px;
}

.modal-xl {
	max-width: 1140px;
}

}

@media (min-width: 1600px) {


.container {
	max-width: 1320px;
}

}

@media (max-width: 1599.98px) {

.modal-fullscreen-xxl-down {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen-xxl-down .modal-content {
	height: 100%;
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-xxl-down .modal-header {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-xxl-down .modal-body {
	overflow-y: auto;
}

.modal-fullscreen-xxl-down .modal-footer {
	-webkit-border-radius: 0;
	border-radius: 0;
}

}

@media (max-width: 1199.98px) {

.modal-fullscreen-xl-down {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen-xl-down .modal-content {
	height: 100%;
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-xl-down .modal-header {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-xl-down .modal-body {
	overflow-y: auto;
}

.modal-fullscreen-xl-down .modal-footer {
	-webkit-border-radius: 0;
	border-radius: 0;
}

}

@media (max-width: 991.98px) {

.modal-fullscreen-lg-down {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen-lg-down .modal-content {
	height: 100%;
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-lg-down .modal-header {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-lg-down .modal-body {
	overflow-y: auto;
}

.modal-fullscreen-lg-down .modal-footer {
	-webkit-border-radius: 0;
	border-radius: 0;
}

}

@media (max-width: 767.98px) {

.modal-fullscreen-md-down {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen-md-down .modal-content {
	height: 100%;
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-md-down .modal-header {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-md-down .modal-body {
	overflow-y: auto;
}

.modal-fullscreen-md-down .modal-footer {
	-webkit-border-radius: 0;
	border-radius: 0;
}

}

@media (max-width: 575.98px) {

.modal-fullscreen-sm-down {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen-sm-down .modal-content {
	height: 100%;
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-sm-down .modal-header {
	-webkit-border-radius: 0;
	border-radius: 0;
}

.modal-fullscreen-sm-down .modal-body {
	overflow-y: auto;
}

.modal-fullscreen-sm-down .modal-footer {
	-webkit-border-radius: 0;
	border-radius: 0;
}

}
/* Unicons line v3.0.6 (https://iconscout.com/unicons), solo le icone usate dall'app */
@font-face {
  font-family: "unicons-line";
  src: url(/assets/unicons-line-02685159805dd0ae179d86e590b50948ba88e6d1ccf450e83407a9d2874980fa.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="uil-"]:before,
[class*=" uil-"]:before {
  font-family: "unicons-line";
  font-style: normal;
  font-weight: normal;
  speak: none;

  display: inline-block;
  text-decoration: inherit;

  /* For safety - reset parent styles, that can break glyph codes */
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1;

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.uil-angle-double-left:before { content: "\eb3e"; }
.uil-angle-double-right:before { content: "\eb43"; }
.uil-angle-down:before { content: "\eb3a"; }
.uil-angle-left:before { content: "\eb79"; }
.uil-angle-right:before { content: "\eb6d"; }
.uil-book-open:before { content: "\eb17"; }
.uil-calendar-alt:before { content: "\e8dc"; }
.uil-camera:before { content: "\ea3d"; }
.uil-check:before { content: "\e9c3"; }
.uil-edit:before { content: "\e990"; }
.uil-eye:before { content: "\ebaf"; }
.uil-eye-slash:before { content: "\ebf8"; }
.uil-file-alt:before { content: "\e94b"; }
.uil-key-skeleton:before { content: "\e9ce"; }
.uil-map-marker:before { content: "\e8ec"; }
.uil-moon:before { content: "\ea8b"; }
.uil-plus:before { content: "\e98c"; }
.uil-print:before { content: "\e964"; }
.uil-sign-out-alt:before { content: "\eaef"; }
.uil-sun:before { content: "\e9cc"; }
.uil-table:before { content: "\eabc"; }
.uil-times:before { content: "\e9b8"; }
.uil-trash-alt:before { content: "\e97a"; }
.uil-user:before { content: "\ea0d"; }
.uil-users-alt:before { content: "\ea11"; }
.uil-utensils:before { content: "\eb2a"; }
/* Tema HexaDash: solo le regole usate dai template dell'app (ripulito con PurgeCSS) */

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: var(--color-dark);
}

.bg-primary {
  background: var(--bg-primary) !important;
}

.btn-primary {
  color: var(--color-white);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.alert-success {
  color: var(--color-success);
  background-color: rgba(var(--color-success-rgba), 0.1);
  border: 1px solid rgba(var(--color-success-rgba), 0.1);
}

.alert-danger {
  color: var(--color-danger);
  background-color: rgba(var(--color-danger-rgba), 0.1);
  border: 1px solid rgba(var(--color-danger-rgba), 0.1);
}

 .modal-content.modal-colored .modal-footer .btn {
  color: var(--color-text);
}

.btn-primary:hover {
  color: var(--color-white);
  background-color: var(--bg-primary-hover) !important;
  border-color: var(--bg-primary-hover);
}

 .fileM-Modal-overlay .modal-footer button, .wizard10 .payment-success-modal .modal-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

a:hover h1,
a:hover h2,
a:hover h3,
a:hover h4,
a:hover h5,
a:hover h6 {
  color: var(--color-primary);
  transition: var(--transition);
}
html {
  font-size: 16px;
  direction: ltr;
}

body {
  position: relative;
  min-height: 100vh;
  font-size: 16px;
  overflow-x: hidden;
  direction: ltr;
  background-color: var(--body);
}

a {
  transition: var(--transition);
}

button:focus, button:active,
select:focus,
select:active {
  outline: none;
  box-shadow: 0 0 !important;
}

 *:is(button, .btn).btn-primary:focus {
  color: var(--color-white) !important;
}

input,
textarea,
.form-control {
  transition: 0s;
}
input:focus,
textarea:focus,
.form-control:focus {
  outline: none;
  box-shadow: 0 5px 20px rgba(var(--color-primary-rgba), 0.1);
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contents_user {
  padding: 74px 15px 72px 0px;
  transition: var(--transition);
  background-color: var(--contents-bg);
}
.contents {
  padding: 74px 15px 72px 295px;
  transition: var(--transition);
  background-color: var(--contents-bg);
}
@media (max-width: 1150px) {
  .contents {
    padding: 73px 15px 72px 16px;
  }
}
@media only screen and (max-width: 991px) {
  .contents {
    padding: 73px 15px 64px 16px;
  }
}
@media only screen and (max-width: 767px) {
  .contents {
    padding: 56px 0 85px 0;
  }
}
.contents.expanded {
  padding-left: 93px;
  transition: var(--transition);
}
@media (max-width: 1150px) {
  .contents.expanded {
    padding-left: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .contents.expanded {
    padding-left: 0;
  }
}
.contents.expanded:focus {
  outline: none;
  box-shadow: 0 5px 20px rgba(var(--color-primary-rgba), 0.1);
}

.main-content {
  min-height: 100vh;
  position: relative;
  background-color: var(--main-content);
}

.overlay-dark-sidebar {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  opacity: 0;
  visibility: visible;
  z-index: -1;
  background-color: var(--color-dark);
}
@media only screen and (max-width: 991px) {
  .overlay-dark-sidebar.show {
    z-index: 99;
  }
}

body.top-menu .navbar-left .top-menu {
  margin-left: 30px;
}
.top-menu .sidebar-toggle {
  display: none;
}
@media only screen and (max-width: 991px) {
  .top-menu .sidebar-toggle {
    display: flex !important;
  }
}
.top-menu .sidebar {
  display: none;
}
@media only screen and (max-width: 991px) {
  .top-menu .sidebar {
    display: block;
  }
}
.top-menu .contents {
  padding-left: 15px;
}
@media only screen and (max-width: 991px) {
  .top-menu .contents {
    padding: 73px 15px 64px 16px;
  }
}
@media only screen and (max-width: 767px) {
  .top-menu .contents {
    padding: 56px 0 85px 0;
  }
}
.header-top {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 9988;
  background: var(--main-color);
  box-shadow: 0 5px 20px rgba(var(--color-lighten-rgba), 0.05);
}

.navbar {
  padding: 0 0;
  padding-right: 30px;
  background-color: var(--header-bg);
}
@media only screen and (max-width: 767px) {
  .navbar {
    padding-right: 1rem;
  }
}

.navbar-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.navbar-left .sidebar-toggle {
  margin-right: 8px;
}
.navbar-left .sidebar-toggle img,
.navbar-left .sidebar-toggle svg {
  width: 18px;
  pointer-events: none;
}
.navbar-left .sidebar-toggle img {
  width: 18px;
  height: 18px;
}
.navbar-left .sidebar-toggle i {
  font-size: calc(16.3px + 0.225vw);
  color: var(--color-gray);
}
@media (min-width: 1200px) {
  .navbar-left .sidebar-toggle i {
    font-size: 19px;
  }
}
.navbar-left .navbar-brand {
  margin-right: 40px;
}
@media only screen and (max-width: 1199px) {
  .navbar-left .navbar-brand {
    margin-right: 26px;
  }
}
@media only screen and (max-width: 991px) {
  .navbar-left .navbar-brand {
    margin-right: 25px;
    margin-left: 0;
  }
}
@media only screen and (max-width: 479px) {
  .navbar-left .navbar-brand {
    margin-right: 25px;
    margin-left: 0;
  }
}
.navbar-left .navbar-brand svg,
.navbar-left .navbar-brand img {
  max-width: 160px;
  min-width: 160px;
}
@media only screen and (max-width: 575px) {
  .navbar-left .navbar-brand svg,
  .navbar-left .navbar-brand img {
    max-width: 130px;
    min-width: 130px;
  }
}
.navbar-left .navbar-brand svg text span,
.navbar-left .navbar-brand img text span {
  fill: var(--color-dark);
}
.navbar-left .navbar-brand .light {
  display: none;
}
.navbar-left .navbar-brand .svg.dark {
  display: block;
}
.navbar-left form {
  display: flex;
  align-items: center;
}
.navbar-left form span {
  width: 15px;
  color: var(--color-gray-x);
}
.navbar-left form input {
  height: 25px;
  border: 0 none;
  box-shadow: none;
  padding-left: 10px;
}
.navbar-left form input::placeholder {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-lighten);
}
.navbar-left form svg,
.navbar-left form img {
  width: 18px;
  height: 18px;
  color: var(--color-gray);
}
.navbar-left .logo-area {
  display: flex;
  align-items: center;
  height: 72px;
  padding-left: 30px;
  background-color: var(--logo-wrapper-bg);
  min-width: 280px;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .navbar-left .logo-area {
    padding-left: 1rem;
    height: 60px;
  }
}
@media only screen and (max-width: 479px) {
  .navbar-left .logo-area {
    min-width: 230px;
  }
}

@media only screen and (max-width: 767px) {
  .navbar-right {
    margin-right: -8px;
  }
}

.navbar-right__menu {
  list-style: none;
  display: flex;
  align-items: center;
  padding-left: 17px;
}
.navbar-right__menu > li {
  padding: 20px 12.5px;
}
.navbar-right__menu > li.nav-author {
  padding-right: 0;
}
@media only screen and (max-width: 991px) {
  .navbar-right__menu > li {
    padding: 20px 9px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-right__menu > li {
    padding: 0;
  }
  .navbar-right__menu > li .dropdown-custom {
    padding: 20px 12px;
  }
}
@media only screen and (max-width: 767px) {
  .navbar-right__menu .dropdown-custom .dropdown-wrapper:before {
    display: none;
  }
}
@media only screen and (max-width: 575px) {
  .navbar-right__menu .dropdown-wrapper {
    min-width: 100% !important;
    position: fixed !important;
  }
}
@media only screen and (max-width: 479px) {
  .navbar-right__menu .dropdown-wrapper {
    width: 100% !important;
  }
}
.navbar-right__menu .nav-author img {
  width: 32px;
  height: 32px;
  object-fit: cover;
}
.navbar-right__menu .nav-item-toggle {
  position: relative;
  color: var(--color-gray);
  display: flex;
  align-items: center;
}
.navbar-right__menu .nav-item-toggle span,
.navbar-right__menu .nav-item-toggle svg {
  width: 20px;
  height: 20px;
}
.navbar-right__menu .dropdown-wrapper {
  border-radius: 0 0 6px 6px;
}
.navbar-right__menu .nav-author .nav-item__title {
  margin-left: 10px;
  color: var(--color-gray);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-transform: capitalize;
  display: flex;
  align-items: center;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 575px) {
  .navbar-right__menu .nav-author .nav-item__title {
    display: none;
  }
}
.navbar-right__menu .nav-author .nav-item__title .nav-item__arrow {
  color: var(--color-light);
  font-size: 12px;
  margin-left: 5px;
}
.navbar-right__menu .nav-author .dropdown-wrapper {
  min-width: 300px;
}
@media only screen and (max-width: 767px) {
  .navbar-right__menu .nav-author .dropdown-wrapper {
    min-width: 100%;
    position: fixed;
  }
}
.navbar-right__menu .nav-author__info {
  background: var(--bg-lighter);
  border-radius: 8px;
  margin: 10px;
  display: flex;
  align-items: center;
  padding: 20px 25px;
}
.navbar-right__menu .nav-author__info .author-img {
  margin-right: 15px;
}
.navbar-right__menu .nav-author__info .author-img img {
  max-width: 40px;
}
.navbar-right__menu .nav-author__info h6 {
  font-weight: 500;
  font-size: 14px;
}
.navbar-right__menu .nav-author__info span {
  font-size: 13px;
}
.navbar-right__menu .nav-author__signout {
  font-size: 13px;
  background: var(--bg-lighter);
  padding: 18px 15px;
  color: #868eae;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
}
.navbar-right__menu .nav-author__signout img,
.navbar-right__menu .nav-author__signout svg {
  width: 15px;
}
.navbar-right__menu .nav-author__signout i,
.navbar-right__menu .nav-author__signout span {
  font-size: 15px;
  margin-right: 6px;
}
.navbar-right__menu .nav-author__options ul {
  list-style: none;
  margin: 0;
  padding: 0 0 15px;
}
.navbar-right__menu .nav-author__options ul li {
  padding: 0;
}
.navbar-right__menu .nav-author__options ul li a {
  font-size: 14px;
  display: block;
  padding: 9px 25px 9px;
  color: var(--color-light);
  transition: var(--transition);
}
.navbar-right__menu .nav-author__options ul li a i,
.navbar-right__menu .nav-author__options ul li a svg,
.navbar-right__menu .nav-author__options ul li a span {
  margin-right: 12px;
}
.navbar-right__menu .nav-author__options ul li a i {
  font-size: 18px;
}
.navbar-right__menu .nav-author__options ul li a img,
.navbar-right__menu .nav-author__options ul li a svg {
  width: 16px;
}
.navbar-right__menu .nav-author__options ul li a:hover {
  background: rgba(var(--color-primary-rgba), 0.05);
  padding-left: 35px;
  color: var(--color-primary);
}

.navbar-right__mobileAction a {
  padding: 15px 0;
  display: inline-block;
}
.navbar-right__mobileAction a svg,
.navbar-right__mobileAction a img {
  width: 20px;
  color: var(--color-light);
}
@media only screen and (max-width: 767px) {
  .navbar-right__mobileAction a svg,
  .navbar-right__mobileAction a img {
    width: 18px;
  }
}
.navbar-right__mobileAction a + a {
  margin-left: 15px;
}
@media only screen and (max-width: 575px) {
  .navbar-right__mobileAction a + a {
    margin-left: 10px;
  }
}

.mobile-author-actions {
  position: fixed;
  width: 100%;
  height: 60px;
  top: 60px;
  z-index: 999;
  display: flex;
  align-items: center;
  transform: translateY(-80px);
  transition: 0.35s;
  box-shadow: 0 2px 30px rgba(146, 153, 184, 0.063);
  background-color: var(--color-white);
  visibility: hidden;
  opacity: 0;
}

.mobile-author-actions.show {
  transform: translateY(0px);
  visibility: visible;
  opacity: 1;
}

.mobile-author-actions {
  padding: 0 15px;
  display: flex;
}
.mobile-author-actions .navbar-right__menu {
  width: 100%;
  justify-content: flex-end;
  margin: 0;
}

@media only screen and (max-width: 991px) {
  .hexadash-top-menu {
    display: none;
  }
}
.hexadash-top-menu ul li {
  display: inline-block;
  position: relative;
  padding-right: 14px;
}
.hexadash-top-menu ul li:not(:last-child) {
  margin-right: 34px;
}
@media only screen and (max-width: 1300px) {
  .hexadash-top-menu ul li:not(:last-child) {
    margin-right: 30px;
  }
}
@media only screen and (max-width: 1199px) {
  .hexadash-top-menu ul li:not(:last-child) {
    margin-right: 26px;
  }
}
@media only screen and (max-width: 1024px) {
  .hexadash-top-menu ul li:not(:last-child) {
    margin-right: 16px;
  }
}
.hexadash-top-menu ul li a {
  font-size: 14px;
  display: flex;
  align-items: center;
  font-weight: 500;
  padding: 1.657rem 0;
  color: var(--color-gray);
  position: relative;
}
.hexadash-top-menu ul li a svg,
.hexadash-top-menu ul li a img,
.hexadash-top-menu ul li a i,
.hexadash-top-menu ul li a .nav-icon {
  margin-right: 14px;
  width: 16px;
  font-size: 18px;
}
.hexadash-top-menu ul li > ul li {
  display: block;
  position: relative;
  padding-right: 0;
  margin-right: 0 !important;
}
.hexadash-top-menu ul li > ul li.active a {
  background-color: rgba(var(--color-primary-rgba), 0.06);
  padding-left: 40px;
  color: var(--color-primary);
}
.hexadash-top-menu ul li > ul li a {
  font-weight: 400;
  padding: 0 30px;
  line-height: 3;
  color: var(--color-light);
  transition: 0.3s;
}
.hexadash-top-menu ul li > ul li a:hover, .hexadash-top-menu ul li > ul li a.active {
  background-color: rgba(var(--color-primary-rgba), 0.06);
  padding-left: 40px;
  color: var(--color-primary);
}
.hexadash-top-menu > ul > li a.active {
  color: var(--color-primary);
}
.hexadash-top-menu > ul > li a.active:before {
  color: var(--color-primary) !important;
}
.dropdown-custom {
  position: relative;
}
.dropdown-custom .dropdown-wrapper {
  position: absolute;
  right: 0;
  top: 52px;
  min-width: 360px;
  transition: var(--transition);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: var(--color-white);
  box-shadow: 0 5px 30px rgba(var(--light-gray-rgba), 0.15);
  transform: scale(0.7);
  transform-origin: top right;
}
.dropdown-custom .dropdown-wrapper:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 35px;
  top: -35px;
  left: 0;
}
.dropdown-custom:hover .dropdown-wrapper {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  transform: scale(1);
}

.sidebar-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  height: 100vh;
}

.sidebar {
  position: static;
  height: 100%;
  overflow-y: auto;
  box-shadow: 0 0 30px rgba(var(--light-gray-rgba), 0.1);
  width: 280px;
  background: var(--color-white);
  padding: 0;
  transition: var(--transition);
  scrollbar-width: thin;
}
.sidebar:hover::-webkit-scrollbar-thumb {
  background-color: var(--thumbBG);
}
.sidebar::-webkit-scrollbar {
  width: 8px;
  cursor: pointer;
}
.sidebar:-webkit-scrollbar-track {
  background: var(--scrollbarBG);
  border-radius: 100px;
  cursor: pointer;
}
.sidebar::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 100px;
  cursor: pointer;
  transition: 0.3s ease;
}
.sidebar::-webkit-scrollbar-thumb:hover {
  background-color: #adadad;
}
@media only screen and (max-width: 767px) {
  .sidebar {
    top: 56px;
  }
}
@media only screen and (max-width: 991px) {
  .sidebar {
    height: 100%;
  }
}
.sidebar .menu-text {
  transition: 0.2s;
}
.sidebar.collapsed {
  width: 76px;
  padding: 0px;
}
@media (max-width: 1150px) {
  .sidebar.collapsed {
    margin-left: -76px;
  }
}
.sidebar.collapsed .menu-text {
  display: none;
}
.sidebar.collapsed .sidebar__menu-group {
  margin-bottom: 0;
}
.sidebar.collapsed .sidebar__menu-group > span {
  display: none;
}
.sidebar.collapsed .sidebar__menu-group li {
  position: static;
}
.sidebar.collapsed .sidebar__menu-group li a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  padding: 15px 0;
  justify-content: center;
  margin: 0 auto;
}
.sidebar.collapsed .sidebar__menu-group li a .nav-icon {
  margin-right: 0;
}
.sidebar.collapsed .sidebar__menu-group li a:hover {
  background-color: rgba(var(--color-primary-rgba), 0.05);
  color: var(--color-primary);
}

.sidebar__menu-group {
  margin-bottom: 25px;
}
.sidebar__menu-group ul.sidebar_nav {
  margin: 87px 0 0 0;
  padding: 0;
  list-style: none;
}
.sidebar__menu-group ul.sidebar_nav li.active {
  background-color: rgba(var(--color-primary-rgba), 0.1);
}
.sidebar__menu-group ul.sidebar_nav li.active > a {
  color: var(--color-primary);
}
.sidebar__menu-group ul.sidebar_nav li.active > a .nav-icon {
  color: currentColor;
}
.sidebar__menu-group ul.sidebar_nav li > a {
  display: flex;
  align-items: center;
  padding: 10.5px 20px 10.5px 20px;
  color: var(--color-gray);
  font-size: 14px;
  position: relative;
  font-weight: 500;
  line-height: 1.3571428571;
  text-transform: capitalize;
}
.sidebar__menu-group ul.sidebar_nav li > a .nav-icon {
  color: var(--color-lighten);
  display: inline-block;
  margin-right: 20px;
  width: 16px;
  font-size: calc(16.2px + 0.15vw);
  transition: var(--transition);
}
@media (min-width: 1200px) {
  .sidebar__menu-group ul.sidebar_nav li > a .nav-icon {
    font-size: 18px;
  }
}
.sidebar__menu-group ul.sidebar_nav li > a:hover, .sidebar__menu-group ul.sidebar_nav li > a.active {
  color: var(--color-primary);
}

.sidebar__menu-group ul.sidebar_nav li > a:hover .nav-icon,
.sidebar__menu-group ul.sidebar_nav li > a.active .nav-icon {
  color: var(--color-primary);
}
.sidebar__menu-group ul.sidebar_nav li ul {
  padding: 1px 36px 12px 0;
}
.sidebar__menu-group ul.sidebar_nav li ul li > a:hover, .sidebar__menu-group ul.sidebar_nav li ul li > a.active {
  background-color: transparent;
  color: var(--color-primary);
}
.sidebar__menu-group ul.sidebar_nav li ul li a {
  color: var(--color-dark);
}
.sidebar__menu-group ul.sidebar_nav li ul li a span {
  right: 16px;
}

.sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: transparent;
}
.sidebar-toggle:hover {
  background-color: rgba(var(--color-primary-rgba), 0.1);
}
.sidebar-toggle:hover svg,
.sidebar-toggle:hover i {
  color: var(--color-primary);
}
.sidebar-toggle:hover svg path {
  fill: var(--color-primary) !important;
  color: var(--color-primary) !important;
}

.layout-dark .sidebar {
  background-color: var(--bg-dark);
}
.layout-dark .sidebar .sidebar__menu-group ul li a {
  color: rgba(var(--color-white-rgba), 0.6);
}
.layout-dark .sidebar .sidebar__menu-group ul li a:hover {
  color: var(--color-white);
}

.layout-dark .sidebar .sidebar__menu-group ul li a .nav-icon {
  color: rgba(var(--color-white-rgba), 0.6);
}
.layout-dark .sidebar .sidebar__menu-group ul li ul li > a:hover {
  color: var(--color-white);
}

.btn {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  box-shadow: none;
  transition: var(--transition);
}
.btn:focus {
  box-shadow: none;
}
.btn:active:focus {
  box-shadow: none;
}
.btn img,
.btn svg {
  width: 15px;
  height: 15px;
  margin-right: 8px;
}
.btn span,
.btn i {
  font-size: 15px;
  display: inline-block;
  margin-right: 8px;
}

.btn.btn-icon {
  height: 42px;
  padding: 0 0.845rem;
}
.btn.btn-icon img,
.btn.btn-icon svg {
  margin: 0;
}

.btn:disabled {
  cursor: not-allowed;
}

.alert {
  display: flex;
  min-height: 44px;
}
.alert:last-child {
  margin-bottom: 0;
}
.alert .alert-heading {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 8px;
}
.alert p {
  font-size: 14px;
  margin-bottom: -1px;
}
.alert.alert-dismissible .btn-close {
  padding: 10px 20px;
  background: transparent;
  width: auto;
}
.alert.alert-dismissible .btn-close span,
.alert.alert-dismissible .btn-close i {
  font-size: 12px;
  font-weight: 500;
  display: block;
  line-height: 1.9;
}
.alert.alert-dismissible .btn-close svg,
.alert.alert-dismissible .btn-close img {
  width: 12px;
}

.breadcrumb {
  margin-right: 5px;
}

.card {
  box-shadow: 0 5px 20px rgba(var(--light-gray-rgba), 0.03);
  background-color: var(--bg-white);
  border: 1px solid var(--border-color);
}

.table > :not(:last-child) > :last-child > * {
  border-bottom-color: var(--border-color);
}

.table > tbody {
  vertical-align: middle;
}

.modal-header {
  align-items: center;
}
.modal-header button.close {
  margin: 0;
  padding: 0;
  transition: var(--transition);
  background-color: transparent;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.modal-header button.close svg {
  width: 18px;
  color: var(--color-dark);
}

.modal-content p {
  font-size: 14px;
}
.modal-content p:last-child {
  margin-bottom: 0;
}
.modal-content .modal-footer {
  padding: 0.625rem;
}
.modal-content .modal-footer .btn.btn-sm {
  line-height: 2rem;
}
.modal-content.modal-colored .modal-title {
  color: var(--color-white);
}
.modal-content.modal-colored .close svg,
.modal-content.modal-colored .close i,
.modal-content.modal-colored .close span {
  color: var(--color-white);
}
.modal-content.modal-colored .modal-body p {
  color: var(--color-white);
}
.modal-content.modal-colored .modal-footer .btn {
  color: var(--color-white);
}
.modal-content.modal-colored .btn:hover {
  border-color: transparent;
}

.modal-info .modal-body {
  padding-bottom: 10px;
}
.modal-info .modal-footer {
  padding: 0.5rem 0.5rem 1rem;
  border-top: 0 none;
}

.modal-info-body .modal-info-icon {
  margin: -2px 14px 0 0;
}
.modal-info-body .modal-info-icon svg {
  width: 22px;
  color: var(--color-info);
}
.modal-info-body .modal-info-icon.primary svg {
  color: var(--color-primary);
}
.modal-info-body .modal-info-icon.danger svg {
  color: var(--color-danger);
}
.modal-info-body .modal-info-icon.success svg {
  color: var(--color-success);
}
.modal-info-body .modal-info-icon.warning svg {
  color: var(--color-warning);
}
.modal-info-body .modal-info-text h1,
.modal-info-body .modal-info-text h2,
.modal-info-body .modal-info-text h3,
.modal-info-body .modal-info-text h4,
.modal-info-body .modal-info-text h5,
.modal-info-body .modal-info-text h6 {
  margin-bottom: 10px;
}

.modal-content.modal-bg-primary {
  background-color: var(--color-primary);
}
.modal-content.modal-bg-success {
  background-color: var(--color-success);
}
.modal-content.modal-bg-danger {
  background-color: var(--color-danger);
}
.modal-content.modal-bg-warning {
  background-color: var(--color-warning);
}

.modal-btn-group {
  margin: -5px;
}
.modal-btn-group button {
  margin: 5px;
}

.was-validated input:invalid ~ label, input.is-invalid ~ label {
  color: var(--color-danger);
}

.was-validated input:invalid ~ label::after, input.is-invalid ~ label::after {
  background-color: rgba(255, 77, 79, 0.3);
  border: 1px solid transparent;
}

.new-member .modal-header .close {
  width: 34px;
  height: 34px;
  padding: 0;
  margin: 0;
  background: var(--bg-lighters);
  border-radius: 50%;
  color: var(--color-light);
  text-shadow: none;
  opacity: 1;
  transition: var(--transition);
  font-size: calc(16.2px + 0.15vw);
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1200px) {
  .new-member .modal-header .close {
    font-size: 18px;
  }
}
.new-member .modal-header .close:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
  opacity: 0.7;
}
.new-member .modal-header .close:hover svg {
  color: var(--color-white);
}
.new-member .modal-header .close img,
.new-member .modal-header .close svg {
  width: 18px;
}
.new-member .modal-body {
  padding: 25px 30px 30px;
}

.new-member .modal-header {
  padding: 12px 30px;
}

.c-event-dialog {
  max-width: 500px;
}
.c-event-dialog .modal-header {
  padding: 20px 25px;
}
.c-event-dialog .modal-header .modal-title {
  font-size: 15px;
  font-weight: 500;
  color: var(--color-dark);
}
.c-event-dialog .modal-content {
  border-radius: 8px;
  box-shadow: 0 15px 40px rgba(var(--light-gray-rgba), 0.03);
}
.c-event-dialog .modal-body {
  padding: 20px 25px;
}
.c-event-dialog .modal-footer {
  border-top: 0 none;
  padding: 0 25px 25px;
}
.c-event-dialog .modal-footer .btn-white {
  color: var(--color-light);
}
.c-event-dialog .modal-footer .btn-sm {
  line-height: 2.15;
}

.e-info-modal .modal-header {
  padding: 0.75rem 1.45rem;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.e-info-modal .modal-content {
  border-radius: 8px;
  background-color: transparent;
}
.e-info-modal .modal-body {
  padding: 0.95rem 0.95rem 1.15rem;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  background-color: var(--color-white);
}
.e-info-modal .e-info-title {
  font-weight: 500;
  color: var(--color-white);
}
.e-info-modal .e-info-action {
  display: inline-flex;
  align-items: center;
}
.e-info-modal .e-info-action .btn-icon {
  background-color: transparent;
  border: 0 none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
}
.e-info-modal .e-info-action .btn-icon:hover {
  background-color: rgba(var(--bg-lighter-rgba), 0.15);
}
.e-info-modal .e-info-action .btn-icon:hover img,
.e-info-modal .e-info-action .btn-icon:hover i,
.e-info-modal .e-info-action .btn-icon:hover svg {
  opacity: 1;
}
.e-info-modal .e-info-action .btn-icon img {
  max-width: 14px;
}
.e-info-modal .e-info-action .btn-icon svg,
.e-info-modal .e-info-action .btn-icon i {
  max-width: 14px;
  opacity: 0.6;
  color: var(--color-white);
  transition: 0.3s;
}
.e-info-modal .e-info-action .btn-closed {
  padding: 0;
  background-color: transparent;
  width: auto;
  height: auto;
  margin-left: 6px;
}
.e-info-modal .e-info-action .btn-closed:hover {
  background-color: transparent;
}
.e-info-modal .e-info-action .btn-closed svg {
  color: var(--color-dark);
}

.add-todo-modal .modal-header .close svg,
.add-todo-modal .modal-header .close img {
  width: 18px;
}
.wizard10 .payment-success-modal .modal-icon {
  width: 70px;
  height: 70px;
  border-radius: 70rem;
  border: 1px solid var(--color-success);
}
.wizard10 .payment-success-modal .modal-icon span {
  color: var(--color-success);
  font-size: calc(17.4px + 1.05vw);
}
@media (min-width: 1200px) {
  .wizard10 .payment-success-modal .modal-icon span {
    font-size: 30px;
  }
}
.wizard10 .payment-success-modal .modal-dialog {
  width: 420px;
}

.fileM-Modal-overlay .modal {
  background-color: rgba(17, 18, 23, 0.6);
}
.fileM-Modal-overlay .modal-header {
  border-bottom: none;
  padding-bottom: 30px;
}
.fileM-Modal-overlay .modal-footer {
  border-top: none;
  padding: 0 30px 30px 30px;
}
.fileM-Modal-overlay .modal-footer button {
  height: 36px;
  border: none;
}
.fileM-Modal-overlay .modal-content {
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(146, 153, 184, 0.03);
}
.fileM-Modal-overlay .modal-body {
  padding: 0 30px;
}
.fileM-Modal-overlay .modal-body input {
  height: 36px;
  border-radius: 4px;
}
.fileM-Modal-overlay .modal-body input::placeholder {
  font-size: 14px;
  line-height: 1.7857142857;
  font-weight: 400;
  color: var(--color-gray);
}
.fileM-Modal-overlay .modal-title button img,
.fileM-Modal-overlay .modal-title button svg {
  width: 20px;
  color: var(--color-gray);
}
.fileM-Modal-overlay .modal-footer > * {
  margin: 5px;
}

@media (min-width: 576px) {
  .fileM-sidebar .modal-dialog {
    max-width: 390px;
    margin: 1.75rem auto;
  }
}
.exportDatatable .modal-dialog {
  max-width: 390px;
}
.exportDatatable .fileM-Modal-overlay .modal-body input {
  border: 1px solid var(--border-color);
}
.exportDatatable .fileM-Modal-overlay .modal-body .select2-container--default .select2-selection--single, .exportDatatable .fileM-Modal-overlay .modal-body .select2-container--default .select2-selection--multiple {
  height: 36px;
  border: 1px solid var(--border-color);
}
.exportDatatable .fileM-Modal-overlay .modal-body .select2-container .select2-selection--single .select2-selection__rendered, .exportDatatable .fileM-Modal-overlay .modal-body .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--color-gray);
}

.kanban-modal__header .modal-title {
  color: var(--color-dark);
  font-size: calc(16.4px + 0.3vw);
  line-height: 1.2;
  font-weight: 500;
  margin-bottom: 6px;
}
@media (min-width: 1200px) {
  .kanban-modal__header .modal-title {
    font-size: 20px;
  }
}
@media (min-width: 576px) {
  .task-modal .modal-dialog {
    max-width: 390px;
    margin: 1.75rem auto;
  }
}
.task-modal .modal-body {
  padding: 19px 30px;
}
.task-modal .modal-body form input {
  border: 1px solid var(--border-color);
  height: 36px;
  transition: 0.3s;
  box-shadow: none;
}
.task-modal .modal-body form input:hover {
  border: 1px solid var(--color-primary);
}
.task-modal .modal-body form input::placeholder {
  font-size: 14px;
  line-height: 1.7857142857;
  font-weight: 400;
  color: var(--color-gray);
}
.task-modal .modal-body form textarea {
  height: 123px;
  border: 1px solid var(--border-color);
  resize: none;
}
.task-modal .modal-body form textarea::placeholder {
  font-size: 14px;
  line-height: 1.7857142857;
  font-weight: 400;
  color: var(--color-gray);
}
.task-modal .modal-header {
  border: none;
  padding: 0;
}
.task-modal .modal-header h5 {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 500;
  color: var(--color-dark);
}
.task-modal .modal-header button {
  color: var(--color-gray);
}
.task-modal .modal-footer {
  border: none;
}
.task-modal .modal-footer button {
  border-radius: 5px;
  height: 36px;
  padding: 0 22px;
}
.task-modal .modal-footer button:first-child {
  border: 1px solid var(--border-color);
  background: transparent;
  color: var(--color-gray);
  font-size: 14px;
  line-height: 1.5714285714;
  font-weight: 500;
}

.ticket_modal .modal-content {
  box-shadow: 0 10px 50px rgba(var(--color-lighten-rgba), 0.2);
}
.ticket_modal .modal-content .modal-header {
  display: flex;
  align-items: center;
  margin-bottom: 50px;
  border: none;
  padding: 0;
}
@media only screen and (max-width: 575px) {
  .ticket_modal .modal-content .modal-header {
    margin-bottom: 30px;
  }
}
.ticket_modal .modal-content .modal-header h1 {
  font-size: calc(17.4px + 1.05vw);
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  .ticket_modal .modal-content .modal-header h1 {
    font-size: 30px;
  }
}
.ticket_modal .modal-content .modal-header .close:hover {
  opacity: 0.7;
}
.ticket_modal .modal-content .ticket_modal-modal form label {
  font-size: 15px;
  font-weight: 500;
  color: var(--color-gray);
  margin-bottom: 6px;
}
.ticket_modal .modal-content .ticket_modal-modal form .form-control {
  border-radius: 5px;
  border: 1px solid var(--border-color);
  height: 50px;
}
.ticket_modal .modal-content .ticket_modal-modal form .form-control:focus {
  border-color: var(--color-primary);
}
.ticket_modal .modal-content .ticket_modal-modal form textarea.form-control {
  min-height: 130px;
  resize: none;
}
.ticket_modal .modal-content .ticket_modal-modal form textarea.form-control:focus {
  border-color: var(--color-primary);
}
.ticket_modal .modal-content .ticket_modal-modal form .button-group .btn {
  text-transform: capitalize;
  transition: 0.3s ease-in-out;
  padding: 0 30px;
}

.dark-trigger {
  position: fixed;
  right: 30px;
  top: 30px;
  transform: translateY(-50%);
  z-index: 999;
  margin: 0;
  color: #fff;
  transition: var(--transition);
}
.dark-trigger ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 63px;
  background: var(--color-warning);
  border-radius: 50%;
  font-size: 30px;
  color: #fff;
  transition: 0.5s;
}
.dark-trigger ul li a i {
  font-size: 22px;
}
.dark-trigger ul li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--color-warning);
  transition: 0.5s;
  transform: scale(0.9);
  z-index: -1;
}
.dark-trigger ul li a.active, .dark-trigger ul li a:hover {
  color: #ffee10;
  text-shadow: 0 0 5px #ffee10;
}
.dark-trigger ul li a.active::before, .dark-trigger ul li a:hover::before {
  transform: scale(1.1);
  box-shadow: 0 0 15px var(--color-warning);
}
.layout-dark .navbar-left .navbar-brand .light {
  display: block;
}
.layout-dark .navbar-left .navbar-brand .dark {
  display: none;
}
.layout-dark .main-content {
  background-color: var(--contents-bg);
}
.layout-dark .card {
  box-shadow: 0 5px 20px var(--shadow2);
}
.layout-dark a:hover {
  color: var(--color-white);
}
.layout-dark .modal-content {
  background-color: #1b1e2b;
}
.layout-dark .modal-header .close {
  background-color: var(--white-10);
  color: var(--white-87);
}
.layout-dark .modal-backdrop {
  background-color: #fff;
}
.layout-dark .sidebar__menu-group ul.sidebar_nav li.active {
  background-color: rgba(255, 255, 255, 0.1);
}
.layout-dark .navbar-left .sidebar-toggle svg path {
  color: var(--white-60) !important;
  fill: var(--white-60) !important;
}
.layout-dark .navbar-left .sidebar-toggle:hover svg path {
  color: var(--color-primary) !important;
  fill: var(--color-primary) !important;
}

.layout-dark .mobile-author-actions {
  background-color: #1b1e2b;
}

.layout-dark .mobile-author-actions input {
  background-color: transparent;
}
.layout-dark .navbar-right__menu .nav-item-toggle {
  color: var(--white-60);
}
.layout-dark .navbar-right__menu .nav-author .nav-item__title {
  color: var(--white-60);
}
.layout-dark .navbar-right__menu .nav-author .nav-item__title .nav-item__arrow {
  color: var(--white-60);
}
.layout-dark .hexadash-top-menu > ul > li > ul li a:hover {
  background-color: var(--white-06);
  color: var(--white-87);
}
.layout-dark .navbar-right__menu .dropdown-custom .dropdown-wrapper {
  background-color: #323541;
  box-shadow: none;
}
.layout-dark .navbar-right__menu .nav-author__info {
  background-color: var(--white-10);
}
.layout-dark .navbar-right__menu .nav-author__signout {
  background-color: var(--white-10);
  color: var(--white-60);
}
.layout-dark .navbar-right__menu .nav-author__info span {
  color: var(--white-60);
}
.layout-dark .sidebar {
  background-color: #1b1e2b;
  box-shadow: none;
}
.layout-dark .sidebar.collapsed .sidebar__menu-group li a.active, .layout-dark .sidebar.collapsed .sidebar__menu-group li a:hover {
  background-color: var(--white-06);
}
.layout-dark .sidebar__menu-group ul.sidebar_nav li > a {
  color: var(--white-60);
}
.layout-dark .sidebar__menu-group ul.sidebar_nav li > a .nav-icon {
  color: var(--white-60);
}
.layout-dark .sidebar__menu-group ul.sidebar_nav li > a:hover, .layout-dark .sidebar__menu-group ul.sidebar_nav li > a.active {
  color: var(--white-100);
}

.layout-dark .sidebar__menu-group ul.sidebar_nav li > a:hover .nav-icon,
.layout-dark .sidebar__menu-group ul.sidebar_nav li > a.active .nav-icon {
  color: var(--white-100);
}
.layout-dark .sidebar__menu-group ul.sidebar_nav li ul li:hover, .layout-dark .sidebar__menu-group ul.sidebar_nav li ul li.active {
  color: var(--white-100);
}
.layout-dark .sidebar__menu-group ul.sidebar_nav li ul li:hover a, .layout-dark .sidebar__menu-group ul.sidebar_nav li ul li.active a {
  color: var(--white-100);
}
.layout-dark .card {
  background-color: var(--white-10);
  border-color: transparent;
}
.layout-dark .table > :not(:last-child) > :last-child > * {
  border-bottom-color: var(--border-color);
}
.layout-dark .ticket_modal .modal-content {
  background-color: #1b1e2b;
  box-shadow: none;
}
.layout-dark .ticket_modal .modal-content .ticket_modal-modal form .form-control {
  background-color: transparent;
  box-shadow: none;
}
.layout-dark .new-member .modal-header .close {
  background-color: var(--white-10);
}
.layout-dark .e-info-modal .modal-body {
  background-color: #323541;
}
.layout-dark .dark-trigger ul li a {
  background-color: var(--white-06);
}
.layout-dark .alert.alert-dismissible .btn-close span,
.layout-dark .alert.alert-dismissible .btn-close svg {
  color: var(--white-87);
}
:root {
  --body:#f4f5f7;
  --contents-bg:#f4f5f7;
  --main-color:white;
  --accent:#ffffff;
  --color-menu: #404040;
  --color-menu-hover: #7A1034;
  --color-menu-active: #7A1034;
  --color-menu-bg-opacity: rgb(var(--color-primary-rgba), .10);
  --header-bg: white;
  --sidebar-bg: white;
  --main-content:var(--contents-bg);
  --header-bg:white;
  --logo-wrapper-bg:white;
  --color-add-listing-button-text: var(--color-white);
  --color-add-listing-button-text-hover: var(--color-white);
  --bgcolor-add-listing-button: #920434;
  --bgcolor-add-listing-button-hover: #0A0A0A;
  --color-banner_title: var(--color-white);
  --color-breadcrumb-link: #8C90A4;
  --color-breadcrumb-link-hover: #7A1034;
  --color-breadcrumb_separator: #8C90A4;
  --bgcolor-footer: #353b58;
  --color-footer-divider: #353b58;
  --color-footer-title: var(--color-white);
  --color-footer-link-hover: var(--color-white);
  --color-primary: #920434;
  --color-secondary: #7A1034;
  --color-success: #01B81A;
  --color-info: #00AAFF;
  --color-warning: #FA8B0C;
  --color-danger: #FF0F0F;
  --color-dark: #0A0A0A;
  --color-infos:#00E4EC;
  --color-warnings:#FFBB00;
  --color-dangers: #FF0F0F;
  --color-purple:#A722F6;
  --bg-primary: #920434;
  --bg-secondary: #7A1034;
  --bg-success: #01B81A;
  --bg-info: #00AAFF;
  --bg-warning: #FA8B0C;
  --bg-danger: #FF0F0F;
  --bg-dark: #0A0A0A;
  --bg-primary-hover: #7A1034;
  --bg-secondary-hover: #7A1034;
  --bg-success-hover: #0D811D;
  --bg-info-hover: #0787C7;
  --bg-warning-hover: #D9790A;
  --bg-danger-hover: #CB0000;
  --bg-dark-hover: #272525;
  --bg-gray-hover: #585858;
  --color-primary-rgba: 130, 49, 211;
  --color-secondary-rgba: 88, 64, 255;
  --color-success-rgba: 1, 184, 26;
  --color-info-rgba: 0, 170, 255;
  --color-warning-rgba: 250, 139, 12;
  --color-danger-rgba: 255, 15, 15;
  --color-dark-rgba: 9, 14, 48;
  --color-primary-rgba-shadow: rgba(var(--color-primary-rgba), 0.20);
  --color-white: #fff;
  --color-light: #747474;
  --color-lighten: #A0A0A0;
  --color-lighter: #F8F9FB;
  --color-lighten-x: #5d658c;
  --footer-dark: #353b58;
  --color-deep: #eff0f3;
  --color-normal: #f8f9fb;
  --color-lighters: #f4f5f7;
  --color-lighten-rgba:173, 181, 217;
  --color-gray: #404040;
  --color-gray-x: #5A5F7D;
  --body-color: #666d92;
  --text-color: #666d92;
  --light-gray: #8C90A4;
  --light-gray-rgba: 173, 181, 217;
  --border-color: #F1F2F6;
  --border-light: #E3E6EF;
  --border-deep: #c6d0dc;
  --bg-normal: #f8f9fb;
  --bg-lighters: #f4f5f7;
  --bg-lighter: #f4f5f7;
  --bg-deep: #EFF0F3;
  --bg-gray: #404040;
  --bg-light: #747474;
  --bg-white: #ffffff;
  --bg-light-rgba: 116, 116, 116;
  --bg-normal-rgba: 248, 249, 251;
  --bg-lighter-rgba: 244, 245, 247;
  --bg-deep-rgba:239, 240, 243;
  --color-gray-rgba: 173, 181, 217;
  --color-dark-rgba: 39, 43, 65;
  --color-white-rgba: 255, 255, 255;
  --box-shadow-color-rgba: 146, 153, 184;
  --border-radius-xl: 10px;
  --border-radius-md: 6px;
  --border-radius-xs: 4px;
  --color-facebook: #2366b8;
  --color-twitter: #00abe4;
  --color-pinterest: #ef1b25;
  --color-gplus: #dc4e41;
  --color-linkedin: #007cbc;
  --color-tumblr: #35465c;
  --color-vk: #4a76a8;
  --color-youtube: #e32212;
  --color-instagram: #9c27b0;
  --color-ruby: #c2185b;
  --color-facebook-rgba: 35, 102, 184;
  --color-twitter-rgba: 0, 171, 228;
  --color-pinterest-rgba: 239, 27, 37;
  --color-gplus-rgba: 220, 78, 65;
  --color-linkedin-rgba: 0, 124, 188;
  --color-tumblr-rgba: 53, 70, 92;
  --color-vk-rgba: 74, 118, 168;
  --color-youtube-rgba: 227, 34, 18;
  --color-instagram-rgba: 156, 39, 176;
  --color-ruby-rgba: 194, 24, 91;
  --color-infos-rgba:0, 228, 236;
  --color-warnings-rgba:255, 187, 0;
  --color-dangers-rgba: 255, 15, 15;
  --color-purple-rgba:167, 34, 246;
  --color-primary-rgba-10:rgba(var(--color-primary-rgba), 0.1);
  --color-secondary-rgba-10:rgba(var(--color-secondary-rgba), 0.1);
  --color-primary-rgba-50:rgba(var(--color-primary-rgba), 0.5);
  --color-secondary-rgba-50:rgba(var(--color-secondary-rgba), 0.5);
  --transition:all 0.3s ease;
  --gridLines_color:#E3E6EF;
  --scrollbarBG: var(--color-white);
  --thumbBG: #E3E6EF;
  --input-bg:var(--color-white);
  --input-focus-bg:var(--color-white);
  --tooltip-bg:var(--color-white);
  --tooltip-arrow-color:var(--color-white);
  --shadow2:#9299B80D;
  --shadow3:#9299B81A;
  --shadow4:#9299B833;
  --shadow5:#9299b826;
}

.layout-dark {
  --body:var(--main-color);
  --contents-bg:var(--main-color);
  --white-100:white;
  --white-87:rgb(255, 255, 255, .87);
  --white-60:rgb(255, 255, 255, .60);
  --white-30:rgb(255, 255, 255, .30);
  --white-20:rgb(255, 255, 255, .20);
  --white-10:rgb(255, 255, 255, .10);
  --white-06:rgb(255, 255, 255, .06);
  --main-color:#010413;
  --color-menu: #404040;
  --color-menu-hover: #7A1034;
  --color-menu-active: #7A1034;
  --color-menu-bg-opacity: rgb(251, 53, 134, .10);
  --header-bg: white;
  --sidebar-bg: white;
  --main-content:var(--bg-normal);
  --logo-wrapper-bg:var(--white-10);
  --header-bg:var(--white-10);
  --color-add-listing-button-text: var(--color-white);
  --color-add-listing-button-text-hover: var(--color-white);
  --bgcolor-add-listing-button: #920434;
  --bgcolor-add-listing-button-hover: #0A0A0A;
  --color-banner_title: var(--color-white);
  --color-breadcrumb-link: #8C90A4;
  --color-breadcrumb-link-hover: #7A1034;
  --color-breadcrumb_separator: #8C90A4;
  --bgcolor-footer: #353b58;
  --color-footer-divider: #353b58;
  --color-footer-title: var(--color-white);
  --color-footer-link-hover: var(--color-white);
  --color-primary: #920434;
  --color-secondary: #7A1034;
  --color-success: #01B81A;
  --color-info: #00AAFF;
  --color-warning: #FA8B0C;
  --color-danger: #FF0F0F;
  --color-dark: var(--white-87);
  --color-infos:#00E4EC;
  --color-warnings:#FFBB00;
  --color-dangers: #FF0F0F;
  --color-purple:#A722F6;
  --bg-primary: #920434;
  --bg-secondary: #7A1034;
  --bg-success: #01B81A;
  --bg-info: #00AAFF;
  --bg-warning: #FA8B0C;
  --bg-danger: #FF0F0F;
  --bg-dark: var(--white-87);
  --bg-primary-hover: #7A1034;
  --bg-secondary-hover: #3520C8;
  --bg-success-hover: #0D811D;
  --bg-info-hover: #0787C7;
  --bg-warning-hover: #D9790A;
  --bg-danger-hover: #CB0000;
  --bg-dark-hover: #272525;
  --bg-gray-hover: #585858;
  --color-primary-rgba: 130, 49, 211;
  --color-secondary-rgba: 88, 64, 255;
  --color-success-rgba: 1, 184, 26;
  --color-info-rgba: 0, 170, 255;
  --color-warning-rgba: 250, 139, 12;
  --color-danger-rgba: 255, 15, 15;
  --color-dark-rgba: 9, 14, 48;
  --color-primary-rgba-shadow: rgba(var(--color-primary-rgba), 0.20);
  --color-white: var(--white-87);
  --color-gray: var(--white-60);
  --color-light: var(--white-60);
  --color-lighten: var(--white-60);
  --color-lighter: #F8F9FB;
  --color-lighten-x: #5d658c;
  --footer-dark: #353b58;
  --color-deep: #eff0f3;
  --color-normal: #f8f9fb;
  --color-lighters: #f4f5f7;
  --color-lighten-rgba:173, 181, 217;
  --color-gray-x: var(--white-60);
  --body-color: var(--white-60);
  --text-color: var(--white-60);
  --light-gray: var(--white-60);
  --light-gray-rgba: 140, 144, 164;
  --border-color: var(--white-06);
  --border-deep: var(--white-06);
  --border-color: var(--white-06);
  --border-light:var(--white-06);
  --bg-normal: var(--white-10);
  --bg-lighters: var(--white-10);
  --bg-lighter: var(--white-10);
  --bg-deep: var(--white-10);
  --bg-white:var(--white-10);
  --bg-normal-rgba: 248, 249, 251;
  --bg-lighter-rgba: 244, 245, 247;
  --bg-deep-rgba: 239, 240, 243;
  --color-gray-rgba: 140, 144, 164;
  --color-dark-rgba: 39, 43, 65;
  --color-white-rgba: 255, 255, 255;
  --box-shadow-color-rgba:146, 153, 184;
  --main-color-rgba:1, 4, 19;
  --border-radius-xl: 10px;
  --border-radius-md: 6px;
  --border-radius-xs: 4px;
  --color-facebook: #2366b8;
  --color-twitter: #00abe4;
  --color-pinterest: #ef1b25;
  --color-gplus: #dc4e41;
  --color-linkedin: #007cbc;
  --color-tumblr: #35465c;
  --color-vk: #4a76a8;
  --color-youtube: #e32212;
  --color-instagram: #9c27b0;
  --color-ruby: #c2185b;
  --color-facebook-rgba: 35, 102, 184;
  --color-twitter-rgba: 0, 171, 228;
  --color-pinterest-rgba: 239, 27, 37;
  --color-gplus-rgba: 220, 78, 65;
  --color-linkedin-rgba: 0, 124, 188;
  --color-tumblr-rgba: 53, 70, 92;
  --color-vk-rgba: 74, 118, 168;
  --color-youtube-rgba: 227, 34, 18;
  --color-instagram-rgba: 156, 39, 176;
  --color-ruby-rgba: 194, 24, 91;
  --color-primary-rgba-10:rgba(var(--color-primary-rgba), 0.1);
  --color-secondary-rgba-10:rgba(var(--color-secondary-rgba), 0.1);
  --color-primary-rgba-50:rgba(var(--color-primary-rgba), 0.5);
  --color-secondary-rgba-50:rgba(var(--color-secondary-rgba), 0.5);
  --transition:all 0.3s ease;
  --gridLines_color:rgb(255, 255, 255, .30);
  --scrollbarBG: #1b1e2b;
  --thumbBG:rgb(255, 255, 255, .30);
  --input-bg:var(--white-10);
  --input-focus-bg:var(--white-10);
  --tooltip-bg:var(--main-color);
  --tooltip-arrow-color:var(--main-color);
  --shadow2:#01041333;
  --shadow3:#01041366;
  --shadow4:#01041399;
  --shadow5:#01041399;
}
/* Pulsanti azione (visualizza / modifica / elimina), generati dagli helper in ApplicationHelper */

.actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}
.actions--footer {
  gap: 8px;
  padding-top: 16px;
  margin-top: 8px;
  border-top: 1px solid var(--border-color);
}

.action-form {
  display: inline-flex;
  margin: 0;
}

.action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: var(--color-gray);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.action-btn:hover {
  background: rgba(146, 4, 52, 0.08);
  color: var(--color-primary);
}
.action-btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.action-btn--danger:hover {
  background: rgba(255, 15, 15, 0.08);
  color: var(--color-danger);
}

/* Variante con etichetta, per pagine e modali */
.action-btn--text {
  width: auto;
  height: 34px;
  padding: 0 14px;
  border-color: var(--border-color);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
}
.action-btn--text i {
  font-size: 16px;
}
.action-btn--text:hover {
  border-color: var(--color-primary);
}
.action-btn--text.action-btn--danger {
  color: var(--color-danger);
}
.action-btn--text.action-btn--danger:hover {
  border-color: var(--color-danger);
}
/* Componenti dell'interfaccia: intestazione pagina, pannelli, tabelle, badge, form.
 * Le variabili sono dichiarate su body perché la dark mode del tema ridefinisce
 * i colori su body.layout-dark. */

body {
  --ui-card: var(--bg-white);
  --ui-text: var(--color-dark);
  --ui-muted: var(--color-light);
  --ui-border: var(--border-light);
  --ui-subtle: var(--bg-normal);
  --ui-hover: rgba(146, 4, 52, 0.04);
  --ui-radius: 10px;
  --ui-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 16px rgba(146, 153, 184, 0.10);

  --status-confirmed: #01b81a;
  --status-confirmed-bg: #e6f8e9;
  --status-confirmed-text: #0b5e17;
  --status-pending: #fa8b0c;
  --status-pending-bg: #fff4e6;
  --status-pending-text: #8a4a00;
  --status-meeting: #5840ff;
  --status-meeting-bg: #eeebff;
  --status-meeting-text: #2e1fa3;
}
body.layout-dark {
  --ui-hover: rgba(255, 255, 255, 0.04);
  --ui-shadow: none;
  --status-confirmed-bg: #173a24;
  --status-confirmed-text: #9ff0aa;
  --status-pending-bg: #3f2e17;
  --status-pending-text: #ffd29e;
  --status-meeting-bg: #2a2552;
  --status-meeting-text: #c9c1ff;
}

.ui-page {
  padding: 4px 16px 40px;
}
@media (max-width: 767px) {
  .ui-page { padding-left: 12px; padding-right: 12px; }
}
/* Con la sidebar chiusa (76px) il tema lascia 93px: si allinea ai 15px del lato destro */
@media (min-width: 1151px) {
  .contents.expanded { padding-left: 91px; }
}
/* Sotto i 1150px la sidebar aperta copre il contenuto: lo si oscura leggermente */
@media (max-width: 1150px) {
  .overlay-dark-sidebar { transition: opacity 0.2s; }
  .overlay-dark-sidebar.show { z-index: 99; opacity: 0.3; }
}
.ui-page > * + * {
  margin-top: 20px;
}

/* ---------- Intestazione pagina ---------- */
.page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 24px;
  padding-top: 24px;
}
.page-title {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--ui-text);
}
.page-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ui-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 6px;
  padding: 0;
  list-style: none;
  font-size: 13px;
  color: var(--ui-muted);
}
.ui-breadcrumb li + li::before {
  content: "/";
  margin-right: 6px;
  opacity: 0.5;
}
.ui-breadcrumb a {
  color: var(--ui-muted);
}
.ui-breadcrumb a:hover {
  color: var(--color-primary);
}

/* Pulsante principale con icona (usa .btn .btn-primary del tema) */
.btn-ui {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.btn-ui i {
  font-size: 18px;
}

/* ---------- Pannelli ---------- */
.panel {
  background: var(--ui-card);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
}
.panel-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ui-border);
}
.panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--ui-text);
}
.panel-title i {
  color: var(--color-primary);
  font-size: 18px;
}
.panel-count {
  padding: 1px 8px;
  border-radius: 10px;
  background: var(--ui-subtle);
  color: var(--ui-muted);
  font-size: 12px;
  font-weight: 600;
}
.panel-body {
  padding: 20px;
}

/* ---------- Tabelle ---------- */
.data-table-wrap {
  overflow-x: auto;
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--ui-text);
}
.data-table th {
  padding: 10px 16px;
  background: var(--ui-subtle);
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}
.data-table td {
  padding: 12px 16px;
  border-top: 1px solid var(--ui-border);
  vertical-align: middle;
}
.data-table tbody tr {
  transition: background-color 0.1s;
}
.data-table tbody tr:hover {
  background: var(--ui-hover);
}
.data-table tr.is-current {
  background: rgba(146, 4, 52, 0.06);
  box-shadow: inset 3px 0 0 var(--color-primary);
}
.data-table .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.data-table .col-actions {
  width: 1%;
  white-space: nowrap;
}
.data-table--compact td {
  padding: 9px 16px;
}
.data-table a.row-link {
  color: inherit;
}
.data-table a.row-link:hover {
  color: var(--color-primary);
}

.cell-time {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cell-main {
  font-weight: 600;
}
.cell-sub {
  display: block;
  margin-top: 1px;
  color: var(--ui-muted);
  font-size: 12px;
  font-weight: 400;
}
.cell-muted {
  color: var(--ui-muted);
}
.cell-note {
  max-width: 320px;
  color: var(--ui-muted);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cell-icon {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.cell-icon i {
  color: var(--ui-muted);
}

.empty-state {
  padding: 40px 20px;
  color: var(--ui-muted);
  text-align: center;
}
.empty-state i {
  display: block;
  margin-bottom: 8px;
  font-size: 32px;
  opacity: 0.6;
}

/* ---------- Badge di stato ---------- */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 10px 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.status-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.status-badge--confirmed { background: var(--status-confirmed-bg); color: var(--status-confirmed-text); }
.status-badge--pending { background: var(--status-pending-bg); color: var(--status-pending-text); }
.status-badge--meeting { background: var(--status-meeting-bg); color: var(--status-meeting-text); }
.status-badge--confirmed::before { background: var(--status-confirmed); }
.status-badge--pending::before { background: var(--status-pending); }
.status-badge--meeting::before { background: var(--status-meeting); }

/* ---------- Barra strumenti e statistiche (pagina giorno) ---------- */
.toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.toolbar-group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.segmented {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--ui-border);
  border-radius: 8px;
  background: var(--ui-card);
}
.segmented a {
  padding: 6px 14px;
  border-radius: 6px;
  color: var(--ui-muted);
  font-size: 14px;
  font-weight: 500;
}
.segmented a:hover {
  color: var(--ui-text);
}
.segmented a.active {
  background: var(--color-primary);
  color: #fff;
}

.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}
.stat {
  padding: 16px 20px;
}
.stat-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ui-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.stat-value {
  margin-top: 4px;
  color: var(--ui-text);
  font-size: 26px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.stat-value small {
  color: var(--ui-muted);
  font-size: 14px;
  font-weight: 400;
}
.stat-bar {
  height: 4px;
  margin-top: 10px;
  border-radius: 2px;
  background: var(--ui-subtle);
  overflow: hidden;
}
.stat-bar span {
  display: block;
  height: 100%;
  background: var(--status-confirmed);
}
.stat-bar span.is-warning { background: var(--color-warning); }
.stat-bar span.is-full { background: var(--color-danger); }

/* ---------- Dettaglio prenotazione ---------- */
.detail-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.detail-name {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--ui-text);
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px 24px;
  margin: 0;
}
.detail-grid dt {
  margin-bottom: 4px;
  color: var(--ui-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.detail-grid dd {
  margin: 0;
  color: var(--ui-text);
  font-size: 15px;
}
.detail-grid .is-wide {
  grid-column: 1 / -1;
}
.detail-text {
  padding: 12px 14px;
  border-radius: 8px;
  background: var(--ui-subtle);
  white-space: pre-line;
}
.detail-empty {
  color: var(--ui-muted);
}

/* ---------- Layout a due colonne (form + elenco del giorno) ---------- */
.split {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 20px;
  align-items: start;
}
.split--single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 860px;
}
@media (max-width: 1199px) {
  .split { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Form ---------- */
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}
.form-grid .is-wide {
  grid-column: 1 / -1;
}
@media (max-width: 575px) {
  .form-grid { grid-template-columns: minmax(0, 1fr); }
}
.field label {
  display: block;
  margin-bottom: 6px;
  color: var(--ui-text);
  font-size: 13px;
  font-weight: 600;
}
.field label .req {
  color: var(--color-primary);
}
.field .form-control,
.field select,
.field textarea {
  display: block;
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--ui-border);
  border-radius: 6px;
  background: var(--ui-card);
  color: var(--ui-text);
  font-size: 14px;
}
.field textarea {
  min-height: 96px;
  resize: vertical;
}
.field .form-control:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(146, 4, 52, 0.12);
}
.field .field_with_errors {
  display: block;
}
.field .field_with_errors .form-control,
.field .field_with_errors select {
  border-color: var(--color-danger);
}

/* Interruttore on/off per i checkbox */
.switches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 28px;
  min-height: 42px;
}
.switch,
.field .switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--ui-text);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.switch input {
  appearance: none;
  position: relative;
  flex: none;
  width: 38px;
  height: 22px;
  margin: 0;
  border-radius: 11px;
  background: var(--ui-border);
  cursor: pointer;
  transition: background-color 0.15s;
}
.switch input::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: transform 0.15s;
}
.switch input:checked {
  background: var(--color-primary);
}
.switch input:checked::after {
  transform: translateX(16px);
}
.switch input:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--ui-border);
}

/* Link ai file (menù) */
.file-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid var(--ui-border);
  border-radius: 6px;
  color: var(--ui-text);
  font-size: 13px;
  font-weight: 500;
}
.file-chip i {
  color: var(--color-primary);
  font-size: 16px;
}
.file-chip:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

@media (max-width: 767px) {
  .page-title { font-size: 20px; }
  .panel-header, .panel-body { padding: 14px 16px; }
  .data-table th, .data-table td { padding-left: 12px; padding-right: 12px; }
  .hide-sm { display: none; }
}

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

/* Allinea un campo senza etichetta (es. gli interruttori) agli altri della stessa riga */
.field-label-spacer {
  display: block;
  height: 25px;
}
@media (max-width: 575px) {
  .field-label-spacer { display: none; }
}

.field-hint {
  margin: 6px 0 0;
  color: var(--ui-muted);
  font-size: 12px;
}

.split--even {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 1199px) {
  .split--even { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Pagine di accesso (login, recupero password) ---------- */
.auth {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 80px);
  padding: 40px 16px;
}
.auth-box {
  width: 100%;
  max-width: 400px;
}
.auth-logo {
  display: block;
  margin-bottom: 24px;
  text-align: center;
}
.auth-logo img {
  max-width: 180px;
  height: auto;
}
.auth-logo .auth-logo-dark,
body.layout-dark .auth-logo .auth-logo-light {
  display: none;
}
body.layout-dark .auth-logo .auth-logo-dark {
  display: inline;
}
.auth-card {
  padding: 32px;
}
.auth-title {
  margin: 0;
  color: var(--ui-text);
  font-size: 22px;
  font-weight: 600;
}
.auth-subtitle {
  margin: 6px 0 0;
  color: var(--ui-muted);
  font-size: 14px;
}
.auth-fields {
  display: grid;
  gap: 18px;
  margin: 24px 0;
}
.auth-submit {
  justify-content: center;
  width: 100%;
  height: 44px;
}
.auth-link {
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.auth-link:hover {
  text-decoration: underline;
}
@media (max-width: 575px) {
  .auth-card { padding: 24px 20px; }
}

/* Campo password con mostra/nascondi */
.password-field {
  position: relative;
}
.field .password-field .form-control {
  padding-right: 44px;
}
.password-toggle {
  position: absolute;
  top: 50%;
  right: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ui-muted);
  font-size: 18px;
  transform: translateY(-50%);
  cursor: pointer;
}
.password-toggle:hover {
  color: var(--color-primary);
}

/* Foto profilo */
.avatar-field {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.avatar,
.field .avatar {
  position: relative;
  flex: none;
  margin: 0;
  cursor: pointer;
}
.avatar img {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--ui-subtle);
}
.avatar-badge {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 2px solid var(--ui-card);
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 14px;
}
.avatar-name {
  color: var(--ui-text);
  font-size: 16px;
  font-weight: 600;
}

/* Iniziali al posto della foto profilo mancante */
.avatar-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(146, 4, 52, 0.12);
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
body.layout-dark .avatar-initials {
  background: rgba(229, 115, 143, 0.18);
  color: #f0a3b6;
}
.navbar-right__menu .avatar-img {
  border-radius: 50%;
}
.nav-author__info .avatar-initials {
  width: 40px;
  height: 40px;
  font-size: 14px;
}
.avatar .avatar-initials {
  width: 72px;
  height: 72px;
  font-size: 24px;
}
.avatar img[hidden] {
  display: none;
}

/* Link primari leggibili su sfondo scuro */
body.layout-dark .auth-link {
  color: #f0a3b6;
}

.auth-messages:empty {
  display: none;
}
.auth-messages .alert,
.auth-card .alert {
  margin: 16px 0 0;
}

.badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
/* Calendario settimanale in homepage (app/views/simple_calendar/_week_calendar.html.erb) */

.cal {
  --cal-border: #e3e6ef;
  --cal-bg: #fff;
  --cal-bg-muted: #f8f9fb;
  --cal-text: #0a0a0a;
  --cal-text-muted: #8c90a4;
  --cal-accent: var(--color-primary, #920434);
  --cal-today-bg: #fbf0f3;

  --cal-confirmed: #01b81a;
  --cal-confirmed-bg: #e6f8e9;
  --cal-confirmed-text: #0b5e17;
  --cal-pending: #fa8b0c;
  --cal-pending-bg: #fff4e6;
  --cal-pending-text: #8a4a00;
  --cal-meeting: #5840ff;
  --cal-meeting-bg: #eeebff;
  --cal-meeting-text: #2e1fa3;

  --cal-warning: #fa8b0c;
  --cal-danger: #ff0f0f;

  color: var(--cal-text);
  background: var(--cal-bg);
  border-radius: 10px;
}

body.layout-dark .cal {
  --cal-border: #323541;
  --cal-bg: #1b1e2b;
  --cal-bg-muted: #222532;
  --cal-text: #ffffffde;
  --cal-text-muted: #ffffff8a;
  --cal-today-bg: #33202a;

  --cal-confirmed-bg: #173a24;
  --cal-confirmed-text: #9ff0aa;
  --cal-pending-bg: #3f2e17;
  --cal-pending-text: #ffd29e;
  --cal-meeting-bg: #2a2552;
  --cal-meeting-text: #c9c1ff;
}

/* ---------- Toolbar ---------- */
.cal-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--cal-border);
}
.cal-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.cal-btn {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 16px;
  border: 1px solid var(--cal-border);
  border-radius: 18px;
  font-weight: 500;
  color: var(--cal-text);
  background: var(--cal-bg);
}
.cal-btn:hover { background: var(--cal-bg-muted); color: var(--cal-text); }
.cal-arrows { display: flex; gap: 2px; }
.cal-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 20px;
  color: var(--cal-text-muted);
}
.cal-icon-btn:hover { background: var(--cal-bg-muted); color: var(--cal-text); }
.cal-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--cal-text);
  text-transform: capitalize;
}
.cal-week-number { font-size: 13px; color: var(--cal-text-muted); }

.cal-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; color: var(--cal-text-muted); }
.cal-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.cal-legend-item::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 3px;
  border-left: 3px solid;
}
.cal-legend-confirmed::before { background: var(--cal-confirmed-bg); border-color: var(--cal-confirmed); }
.cal-legend-pending::before { background: var(--cal-pending-bg); border: 1px dashed var(--cal-pending); border-left: 3px solid var(--cal-pending); }
.cal-legend-meeting::before { background: var(--cal-meeting-bg); border-color: var(--cal-meeting); }

/* ---------- Griglia settimana ---------- */
.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(150px, 1fr));
  overflow-x: auto;
}
.cal-day {
  display: flex;
  flex-direction: column;
  min-height: 420px;
  border-right: 1px solid var(--cal-border);
}
.cal-day:last-child { border-right: 0; }
.cal-day.wday-0,
.cal-day.wday-6 { background: var(--cal-bg-muted); }
.cal-day.today { background: var(--cal-today-bg); }

.cal-day-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 12px 8px 10px;
  border-bottom: 1px solid var(--cal-border);
  color: var(--cal-text-muted);
}
.cal-day-head:hover { color: var(--cal-accent); }
.cal-day-name {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cal-day-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 500;
  color: var(--cal-text);
}
.cal-day-head:hover .cal-day-number { background: var(--cal-border); }
.cal-day.today .cal-day-name { color: var(--cal-accent); }
.cal-day.today .cal-day-number,
.cal-day.today .cal-day-head:hover .cal-day-number { background: var(--cal-accent); color: #fff; }
.cal-day.past .cal-day-body { opacity: .6; }
.cal-day.past .cal-day-body:hover { opacity: 1; }

.cal-day-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 8px 6px;
  gap: 4px;
}

/* ---------- Pranzo / Cena ---------- */
.cal-slot {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 10px;
}
.cal-slot + .cal-slot {
  padding-top: 8px;
  border-top: 1px dashed var(--cal-border);
}
.cal-slot-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 2px;
  font-size: 12px;
  color: var(--cal-text-muted);
}
.cal-slot-label { flex: 1; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.cal-slot-people { font-weight: 600; color: var(--cal-text); }
.cal-slot-people small { font-weight: 400; color: var(--cal-text-muted); }
.cal-slot-head.is-warning .cal-slot-people { color: var(--cal-warning); }
.cal-slot-head.is-full .cal-slot-people { color: var(--cal-danger); }
.cal-slot-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 16px;
  color: var(--cal-text-muted);
  opacity: 0;
  transition: opacity .15s;
}
.cal-day:hover .cal-slot-add { opacity: 1; }
.cal-slot-add:hover { background: var(--cal-accent); color: #fff; }
@media (hover: none) { .cal-slot-add { opacity: 1; } }

.cal-slot-bar {
  height: 3px;
  margin: 0 2px 2px;
  border-radius: 2px;
  background: var(--cal-border);
  overflow: hidden;
}
.cal-slot-bar span { display: block; height: 100%; background: var(--cal-confirmed); }
.cal-slot-bar span.is-warning { background: var(--cal-warning); }
.cal-slot-bar span.is-full { background: var(--cal-danger); }

/* ---------- Prenotazioni ---------- */
.cal-event {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 6px 8px;
  border-left: 4px solid;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.35;
  transition: transform .1s, box-shadow .1s;
}
.cal-event:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
}
.cal-event-confirmed { background: var(--cal-confirmed-bg); border-color: var(--cal-confirmed); color: var(--cal-confirmed-text); }
.cal-event-meeting { background: var(--cal-meeting-bg); border-color: var(--cal-meeting); color: var(--cal-meeting-text); }
.cal-event-pending {
  background: repeating-linear-gradient(-45deg, var(--cal-pending-bg), var(--cal-pending-bg) 6px, transparent 6px, transparent 12px), var(--cal-bg);
  border: 1px dashed var(--cal-pending);
  border-left: 4px solid var(--cal-pending);
  color: var(--cal-pending-text);
}
.cal-event:hover { color: inherit; }
.cal-event-confirmed:hover { color: var(--cal-confirmed-text); }
.cal-event-meeting:hover { color: var(--cal-meeting-text); }
.cal-event-pending:hover { color: var(--cal-pending-text); }

.cal-event-top { display: flex; align-items: center; gap: 4px; }
.cal-event-time { font-weight: 700; }
.cal-event-badge {
  margin-left: auto;
  padding: 0 5px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  background: var(--cal-pending);
  color: #fff;
}
.cal-event-name {
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.cal-event-meta { display: flex; flex-wrap: wrap; gap: 2px 8px; opacity: .85; }
.cal-event-meta i { margin-right: 2px; }

/* ---------- Mobile: lista giorno per giorno ---------- */
@media (max-width: 767px) {
  .cal-toolbar { padding: 12px 16px; }
  .cal-title { font-size: 17px; }
  .cal-grid { grid-template-columns: 1fr; overflow-x: visible; }
  .cal-day {
    flex-direction: row;
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--cal-border);
  }
  .cal-day-head {
    flex: 0 0 64px;
    justify-content: flex-start;
    border-bottom: 0;
    border-right: 1px solid var(--cal-border);
  }
  .cal-day-body { min-width: 0; }
}
/*
 * Fogli di stile del layout principale. pdf.css è separato e viene usato solo dal layout pdf.
 *






 */
