.main-header .logo {
	margin: 0;
	padding-left: 0px;
}

.longRow {
	padding-left: 22px;
}

a .logo {
	padding-left: 0px !important;
}

.sidebar-form {
	border-radius: 3px;
	border: 1px solid #374850;
	margin: 10px 10px;
}

button, input, optgroup, select, textarea {
    color: black;

}


.sidebar-form, .sidebar-menu>li.header {
	overflow: hidden;
	text-overflow: clip;
}

#userImage {
	float: left;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	margin-right: 10px;
	margin-top: -2px;
}

ul.dropdown-menu>li.user-header {
	height: auto !important;
}

a.dropdown-toggle {
	background-color: #3c8dbc !important;
}

a#logout {
	color: #3c8dbc !important;
	background: transparent;
}

@media ( max-width : 768px) {
	body .control-sidebar {
		padding-top: 100px;
	}
}

.deleteInUpload>.ui-fileupload-content.ui-widget-content.ui-corner-bottom
	{
	margin-top: -45px;
}

.label.label-success.pull-right {
	margin-top: 0px;
}

.label.label-warning.pull-right {
	margin-top: 0px;
}

.hide-lines {
	border-style: hidden;
}

.ui-panelgrid .ui-panelgrid-cell {
	border-style: hidden !important;
}

.ui-autocomplete {
	width: 100% !important;
}

body .ui-autocomplete input.ui-autocomplete-dd-input {
	width: 100% !important;
}

.ui-spinner-input {
	text-align: left !important;
}

.ui-row-editor span.ui-icon-check:before {
	font-size: 20px;
}

.ui-row-editor span.ui-icon-close:before {
	font-size: 20px;
}

.ui-row-editor span.ui-icon-pencil:before {
	font-size: 20px;
}

.full {
	width: 100%
}

div.ui-panel .ui-panel-title {
	display: inline-block;
	font-size: 14px;
	margin: 0 0 0 8px;
	line-height: 1;
	color: #444;
	font-weight: bold;
	padding: 0px 0px;
}

.ui-panel.ui-widget .ui-panel-titlebar.ui-corner-all {
	background-image: linear-gradient(to right, #3c8dbc3b, #3c8dbc);
	padding: 1px;
}

body .ui-dialog.ui-widget-content .ui-dialog-titlebar .ui-dialog-title,
	body .ui-dialog .ui-dialog-titlebar .ui-dialog-title {
	float: left;
	font-size: 22px;
	font-weight: bold;
	color: #444;
	margin: 3px;
}

th.expertInfo {
	background: #ff230033 !important;
}

.ui-badge.ui-badge-lg {
	font-size: 1.325rem;
	min-width: 2.25rem;
	height: 2.25rem;
	line-height: 2.25rem;
	font-weight: 600;
	border-radius: 50%;
}

.ui-badge.ui-badge-warning {
	background: #FBC02D;
	color: #212529;
}

.ui-badge.ui-badge-no-gutter {
	padding: 0;
	border-radius: 50%;
	min-width: 16px;
}

.ui-badge.ui-badge-xl {
	font-size: 1.5rem;
	min-width: 3rem;
	height: 3rem;
	line-height: 3rem;
	font-weight: 600;
	border-radius: 50%;
}

.ui-badge.ui-badge-success {
	background: #689F38;
	color: #ffffff;
}

.ui-badge.ui-badge-info {
	background: #0288D1;
	color: #ffffff;
}

.labelLeft .ui-chkbox-label {
	float: left;
	font-weight: 600;
}

div.ui-selectonemenu, div.ui-fluid div.ui-selectonemenu, div.ui-selectcheckboxmenu,
	div.ui-fluid div.ui-selectcheckboxmenu {
	min-width: 100%;
}

.custom-filter {
	min-width: auto !important;
}

.ui-toggleswitch {
	position: relative;
	display: inline-block;
	width: 3em;
	height: 1.75em;
}

.ui-toggleswitch-slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-transition: .3s;
	transition: .3s;
	border-radius: 30px;
}

.ui-toggleswitch-slider:before {
	position: absolute;
	content: "";
	height: 1.250em;
	width: 1.250em;
	left: .25em;
	bottom: .25em;
	border-radius: 50%;
	-webkit-transition: .3s;
	transition: .3s;
}

.ui-toggleswitch-checked .ui-toggleswitch-slider:before {
	-webkit-transform: translateX(1.250em);
	-ms-transform: translateX(1.250em);
	transform: translateX(1.250em);
}

.ui-toggleswitch-handler {
	position: absolute;
	height: 1.250em;
	width: 1.250em;
	left: .25em;
	bottom: .25em;
	border-radius: 50%;
	-webkit-transition: .3s;
	transition: .3s;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ui-toggleswitch-checked .ui-toggleswitch-handler {
	-webkit-transform: translateX(1.250em);
	transform: translateX(1.250em);
}

.ui-toggleswitch-dual-icon .ui-toggleswitch-handler {
	position: relative;
}

.ui-toggleswitch-dual-icon .ui-toggleswitch-handler span {
	position: absolute;
	transition-duration: 250ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-property: opacity, transform;
}

.ui-toggleswitch-dual-icon .ui-toggleswitch-handler span+span {
	opacity: 0;
	transform: rotate(-90deg);
}

.ui-toggleswitch-dual-icon.ui-toggleswitch-checked .ui-toggleswitch-handler span
	{
	opacity: 0;
	transform: rotate(90deg);
}

.ui-toggleswitch-dual-icon.ui-toggleswitch-checked .ui-toggleswitch-handler span+span
	{
	opacity: 1;
	transform: rotate(0deg);
}

.ui-state-disabled, .ui-widget-content .ui-state-disabled,
	.ui-widget-header .ui-state-disabled {
	opacity: 0.80;
}

.ui-widget .ui-widget {
	font-weight: 600;
	font-size: 14px;
}

.ui-widget-content, .ui-state-default, .ui-widget-header .ui-state-default
	{
	color: #767676;
}

.ui-datatable-selectable.ui-state-hover {
	color: #333;
	background-color: #f9f9f9;
}

.ui-column-title {
	font-weight: 900;
}

.btn-green {
	color: #fff !important;
	background-color: #3fb131 !important;
	border-color: #2e8723 !important;
}

.btn-avion {
	color: #fff !important;
	background-color: #13b39d !important;
	border-color: #118b7a !important;
}

.btn-violet {
	color: #fff !important;
	background-color: #c061cb !important;
	border-color: #c061cb !important;
}

.btn-magenta {
	color: #fff !important;
	background-color: #8b008b !important;
}

.align-center {
	white-space: normal !important;
}

/* SpeedDial Reset and Centering */
.ui-datatable td .ui-speeddial {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.ui-speeddial-button.ui-button {
    width: 2.5rem !important;
    height: 2.5rem !important;
}

button.ui-button {
	padding: 4px 14px;
}

body .ui-panel.ui-widget.box-secondary {
	border-top: 3px solid #f39c12;
}

body .ui-panel.ui-widget.box-tertiary {
	border-top: 3px solid #00a65a;
}

.ui-clock {
	padding: 4px 10px;
	display: contents !important;
	color: #fff;
}

ul.top-bar-bottom {
	display: flex;
	color: #ff8c00;
}

ul.top-bar-bottom:hover {
	color: #ad7430;
}

.top-bar-bottom>li>em {
	margin-top: -3px;
	margin-left: -40px;
}

.ui-progressbar .ui-progressbar-label {
	color: #000000;
}

.ui-progressbar {
	height: 2.2em !important;
	text-align: left;
	position: relative;
}

.ripartibile.ui-toggleswitch-checked .ui-toggleswitch-slider {
	background: #8BC34A !important;
}

.ui-button-icon-only .ui-button-text {
	padding: 0em !important;
}

.badgeBtn {
	position: fixed !important;
	margin-right: 16px !important;
	margin-top: -10px !important;
}

.disabled:hover {
	cursor: auto !important;
}

.btn-bool.disabled {
	cursor: auto !important;
}

.btn-bool {
	padding: 3px 0px 3px 0px !important;
	width: 5rem !important;
}

.btn-bool.ui-state-active {
	border: 1px solid #689F38 !important;
	background: #1fb10d !important;
	color: #ffffff;
}

.btn-bool>.ui-button-text.ui-c {
	margin-top: -5px !important;
}

body .ui-datatable table tbody td, body .ui-treetable table tbody td,
	body .ui-datatable table thead th, body .ui-treetable table thead th {
	padding: 2px 0px 1px 6px;
}

.min-width {
	width: 60%;
	text-align: center;
}

.ui-panelgrid-cell.ui-grid-col-2 {
	text-align: left;
}

.ui-selectbooleanbutton.ui-button.ui-state-default, .ui-selectonebutton .ui-button.ui-state-default,
	.ui-selectmanybutton .ui-button.ui-state-default {
	background: #fff9;
}

.ui-button-icon-only .ui-icon, .ui-button-text-icon-left .ui-icon,
	.ui-button-text-icon-right .ui-icon {
	top: 56% !important;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight,
	.ui-widget-header .ui-state-highlight, .form-control .ui-state-highlight
	{
	background: #0d0e0e57 !important;
}

div.ui-fileupload .ui-fileupload-buttonbar span.ui-icon-plusthick:before
	{
	top: -3px !important;
}

.wrap-filter .ui-selectonemenu-label {
    white-space: normal !important;
    height: auto !important;
    overflow: visible !important;
}

/* Fix per icone spinner non centrate */
body .ui-spinner {
    display: inline-flex;
    vertical-align: middle;
}

body .ui-spinner .ui-spinner-input {
    padding-right: 2em; /* Spazio per i bottoni */
}

body .ui-spinner .ui-spinner-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 50% !important;
    padding: 0 !important;
}

body .ui-spinner .ui-spinner-button .ui-icon {
    position: static !important;
    margin: 0 !important;
    left: auto !important;
    top: auto !important;
}

body .ui-spinner .ui-spinner-up {
    border-top-right-radius: 4px !important;
}

body .ui-spinner .ui-spinner-down {
    border-bottom-right-radius: 4px !important;
}

/* Standardized Graphical Validation */
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
    border: 1px solid #d9534f !important;
    background-color: #fff !important;
    color: #333 !important;
    box-shadow: none !important;
}

/* Specific highlight for invalid fields */
.ui-inputfield.ui-state-error, .ui-selectonemenu.ui-state-error {
    border: 1px solid #d9534f !important;
    border-left: 5px solid #d9534f !important;
}

/* The message text below the field */
.field-error-msg.ui-message-error {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 2px 0 0 0 !important;
}
.field-error-msg .ui-message-error-icon {
    display: none;
}
.field-error-msg .ui-message-error-detail {
    color: #d9534f;
    font-size: 0.85em;
    font-weight: normal;
}

/* Standardized Graphical Validation */
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
    border: 1px solid #d9534f !important;
    background-color: #fff !important;
    color: #333 !important;
    box-shadow: none !important;
}

/* Specific highlight for invalid fields */
.ui-inputfield.ui-state-error, .ui-selectonemenu.ui-state-error {
    border: 1px solid #d9534f !important;
    border-left: 5px solid #d9534f !important;
}

/* The message text below the field */
.field-error-msg.ui-message-error {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 2px 0 0 0 !important;
}
.field-error-msg .ui-message-error-icon {
    display: none;
}
.field-error-msg .ui-message-error-detail {
    color: #d9534f;
    font-size: 0.85em;
    font-weight: normal;
}

/* --- DATATABLE GRAPHICAL IMPROVEMENTS --- */

/* Modern Header Style */
.ui-datatable thead th {
    background-color: #f8f9fa !important;
    background-image: none !important;
    color: #495057 !important;
    font-weight: 800 !important;
    padding: 14px 10px !important;
    border: 1px solid #dee2e6 !important;
    text-transform: uppercase;
    font-size: 1.15rem !important;
    letter-spacing: 0.7px;
}

/* Refined Striped Rows */
.ui-datatable-striped .ui-datatable-data tr.ui-datatable-odd {
    background-color: #f2f2f2 !important;
}

/* Hover effect */
.ui-datatable .ui-datatable-data tr.ui-state-hover {
    background-color: #e9ecef !important;
    transition: background-color 0.2s;
}

/* Better Row Selection */
.ui-datatable .ui-datatable-data tr.ui-state-highlight {
    background-color: #3c8dbc !important;
    color: #ffffff !important;
    font-weight: bold !important;
}

.ui-datatable .ui-datatable-data tr.ui-state-highlight td {
    color: #ffffff !important;
}




/* --- REGOLAZIONE DEFINITIVA AZIONI --- */
.azioni {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    text-align: right !important;
}

.ui-datatable td.azioni .ui-speeddial {
    display: inline-flex !important;
    margin-right: 15px !important;
    position: relative !important;
    z-index: 1000 !important;
}

.ui-datatable td.azioni .ui-badge {
    position: absolute !important;
    z-index: 1010 !important;
    top: 0 !important;
    right: 0 !important;
    transform: translate(50%, -50%) !important;
}

.ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-speeddial-button .pi-plus {
    color: #3c8dbc !important;
}
