/* ============================================================
   [2026-02-11 20:00] TEMA LIGHT/DARK — CSS Variables
   ============================================================ */

/* --- Tema Light (default) --- */
:root {
	--dm-body-bg: #f8f9fe;
	--dm-body-color: #525f7f;
	--dm-card-bg: #fff;
	--dm-card-border: rgba(0, 0, 0, 0.05);
	--dm-card-header-bg: #fff;
	--dm-sidebar-bg: #fff;
	--dm-sidebar-border: #f6f9fc;
	--dm-navbar-bg: linear-gradient(87deg, #5e72e4 0, #825ee4 100%);
	--dm-input-bg: #fff;
	--dm-input-color: #000;
	--dm-input-border: #cad1d7;
	--dm-input-placeholder: #8898aa;
	--dm-table-border: #e9ecef;
	--dm-table-hover: #ffa;
	--dm-dropdown-bg: #fff;
	--dm-dropdown-border: rgba(0, 0, 0, 0.15);
	--dm-modal-bg: #fff;
	--dm-border-color: #e9ecef;
	--dm-text-muted: #8898aa;
	--dm-heading-color: #32325d;
	--dm-link-color: #525f7f;
	--dm-hr-color: #e9ecef;
	--dm-table-head-bg: #f6f9fc;
	--dm-table-row-bg: transparent;
	--dm-table-row-alt-bg: rgba(0, 0, 0, 0.01);
	--dm-dt-pagination-active-bg: #f0f2f5;
	--dm-dt-pagination-active-color: #32325d;
}

/* --- Tema Dark (scala di grigi) --- */
[data-theme="dark"] {
	--dm-body-bg: #1a1a1a;
	--dm-body-color: #d1d1d1;
	--dm-card-bg: #242424;
	--dm-card-border: rgba(255, 255, 255, 0.08);
	--dm-card-header-bg: #202020;
	--dm-sidebar-bg: #1e1e1e;
	--dm-sidebar-border: #1a1a1a;
	--dm-navbar-bg: linear-gradient(87deg, #2a2a2a 0, #1e1e1e 100%);
	--dm-input-bg: #2c2c2c;
	--dm-input-color: #e0e0e0;
	--dm-input-border: #4a4a4a;
	--dm-input-placeholder: #888888;
	--dm-table-border: #3a3a3a;
	--dm-table-hover: #383838;
	--dm-dropdown-bg: #242424;
	--dm-dropdown-border: rgba(255, 255, 255, 0.1);
	--dm-modal-bg: #242424;
	--dm-border-color: #3a3a3a;
	--dm-text-muted: #888888;
	--dm-heading-color: #e0e0e0;
	--dm-link-color: #d1d1d1;
	--dm-hr-color: #3a3a3a;
	--dm-table-head-bg: #2b2b2b;
	--dm-table-row-bg: #242424;
	--dm-table-row-alt-bg: #272727;
	--dm-dt-pagination-active-bg: #3a3a3a;
	--dm-dt-pagination-active-color: #ffffff;
}

/* GENERALI */
label {
	margin-bottom: 0px !important;
}
.form-control {
	font-size: 1rem !important;
}

.form-control-input {
	height: 30px;
}

/* Bordo giallo per input focus senza dipendere dalla classe form-control */
input:focus, textarea:focus, select:focus {
	border-color: blue !important;
	outline: none;
	box-shadow: 0 0 0 0.2rem rgba(20, 20, 255, 0.25); /* Ombra blu leggera */
}

/* Bordo rosso per input invalidi */
input.is-invalid, textarea.is-invalid, select.is-invalid {
	border-color: red !important;
	outline: none;
	box-shadow: 0 0 0 0.2rem rgba(255, 0, 0, 0.25); /* Ombra rossa leggera */
}


.pull-left{float:left!important;}
.pull-right{float:right!important;}

.menu-dieta {
	font-size: 12px;
}

.menu-dieta-title {
	font-size: 16px;
}

.menu-dieta-row {
	padding: 0px;
	height: 28px;
	border-bottom: 1px solid lightgray;
	border-top: 1px solid lightgray;
}

.menu-dieta-font {
	font-size: 12px;
	font-weight: bold;
}

.menu-dieta-button {
	padding: 0px 1px 0px 1px;
	margin: 0px !important;
}

.menu-dieta-button-icon {
	font-size: 12px;
}

.menu-dieta-input-qta {
	width: 60px;
	height: 18px;
	padding: 2px;
	font-size: 12px;
	text-align: center;
	font-weight: bold;
}


.menu-dieta-nut-title {
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	text-align: center;
	border: 1px solid black;
}

.menu-dieta-nut-font {
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
}

.menu-dieta-nut-font-val {
	background: violet;
	font-weight: bold;
	color: white;
	font-size: 10px;
	text-align: center;
}

.menu-dieta-nut-font-perc {
	background: mediumvioletred;
	font-weight: bold;
	color: white;
	font-size: 10px;
	text-align: center;
	min-width: 40px;
	border: 1px solid black;
}


.menu-dieta-nut-calc-table {
	border: 1px solid black;
}
.menu-dieta-nut-calc-thead {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	border: 1px solid black;
}
.menu-dieta-nut-calc-font {
	font-size: 10px;
	padding-top: 0px;
	padding-bottom: 0px;
	background: white;
}
.menu-dieta-nut-calc-font-imp {
	font-size: 12px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	background: white;
}
.menu-dieta-nut-calc-font-val {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	background: white;
}
.menu-dieta-nut-calc-font-calc {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	background: violet;
	color: white;
}

.menu-dieta-nut-calc-diff-zero {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	background: lightgray;
	color: white;
}
.menu-dieta-nut-calc-diff-positive {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	background: red;
	color: white;
}
.menu-dieta-nut-calc-diff-negative {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 0px;
	background: green;
	color: white;
}

.menu-dieta-label {
	font-size: 14px;
	font-weight: bold;
	display: flex;
}

.menu-dieta-note {
	font-size: 14px;
}

.menu-dieta-input-text-semplice-readonly {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
	display: block;
	width: 100%;
	height: calc(1.75rem + 2px);
	padding: 0 .45rem;
	transition: all .2s cubic-bezier(.68, -.55, .265, 1.55);
	color: #8898aa;
	border: 1px solid #cad1d7;
	border-radius: .375rem;
	background-color: #fff;
	background-clip: padding-box;
	box-shadow: none;
}

.menu-dieta-input-text-semplice {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
	display: block;
	width: 100%;
	height: calc(1.75rem + 2px);
	padding: 0 .45rem;
	transition: all .2s cubic-bezier(.68, -.55, .265, 1.55);
	color: #8898aa;
	border: 1px solid #cad1d7;
	border-radius: .375rem;
	background-color: #fff;
	background-clip: padding-box;
	box-shadow: none;
}

.menu-dieta-impostazioni-td {
	vertical-align: middle;
	text-align: center;
}

.menu-dieta-impostazioni-valore {
	font-size: 10px;
	color: black;
	font-weight: bold;
	border: 1px solid black;
	padding: 2px 4px;
	border-radius: 3px;
	background-color: #f0f0f0;
	display: inline-block;
	text-align: center;
	min-width: 30px;
}

.menu-dieta-impostazioni-perc {
	font-size: 10px;
	color: white;
	font-weight: bold;
	border: 1px solid black;
	padding: 2px 4px;
	border-radius: 3px;
	background-color: mediumvioletred;
	display: inline-block;
	text-align: center;
	min-width: 30px;
}

.ddInputText {
	text-align: center;
	width: 60px;
	font-weight: bold;
}

th.dt-left, td.dt-left { text-align: left; }

.form-control:focus
{
    color: #000;
    border-color: rgba(250, 50, 50, .95);
    outline: 0;
    background-color: #fff;
    box-shadow: none, none;
}

.form-control
{
    color: #000;
}

.hrEdit {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.topLeftSelezioneLi {
	margin-top: 2px;
	margin-left: 5px;
	font-size: 0.5rem;
}

.topLeftSelezioneButton {
	margin: 0px;
	padding: 2px;
	font-size: 16px;
}

.topRightEsportazioneButton {
	margin: 0px;
	padding: 2px 16px 2px 16px;
	font-size: 18px;
}

/* Stile comune per etichette */
.etichetta {
  display: inline-block;
  padding: 5px 5px 5px 10px;
  border-radius: 5px;
  max-width: 1000px; /* Larghezza massima */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; /* Aggiunge "..." se l'etichetta è troppo lunga */
}

/* Stile per etichetta rossa */
.etichetta-rossa {
  background-color: red;
  color: white;
}

/* Stile per etichetta verde */
.etichetta-verde {
  background-color: green;
  color: white;
}

/* Stile per etichetta blu */
.etichetta-blu {
  background-color: blue;
  color: white;
}	

@media (min-width: 768px)
{
	.main-content .container-fluid
	{
		/*padding-right: 10px !important; 
		padding-left: 10px !important;*/ 
	}
}

.bootbox.modal .modal-header {
	border-bottom: #bbb 1px solid !important;
	
}

.bootbox.modal .modal-title {
	font-size: 20px;
}

.bootbox.modal .modal-body {
	border-bottom: #bbb 1px solid !important;
}

.table-responsive {
	padding-left: 10px;
	padding-right: 10px;
}

#cceDataError {
	display: flex;
	align-items: center;  /* Centra verticalmente il testo */
	justify-content: flex-end;  /* Allinea il testo a destra */
	font-weight: bold;    /* Testo in grassetto */
	color: red;           /* Colore del testo per evidenziare l'errore */
}

/* DATATABLE */

.dt-search {
    display: block;
    margin-bottom: 20px !important; /* Aggiunge spazio tra il campo di ricerca e la tabella */
}
.dt-info {
    display: block;
	font-weight: bold;
    margin-top: 20px !important; /* Aggiunge spazio tra il campo di ricerca e la tabella */
}

table#tableCustomers.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableCustomers.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tablePazienteDiete.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tablePazienteDiete.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableCcePazAn.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableCcePazAn.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableCcePazContr.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableCcePazContr.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableCcePazProfGlic.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableCcePazProfGlic.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableCategorie.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableCategorie.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableAlimenti.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableAlimenti.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableDieta.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableDieta.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#tableMedici.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#tableMedici.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#dd_tableAlimenti.dataTable tbody tr:hover {
	background-color: var(--dm-table-hover);
}
 
table#dd_tableAlimenti.dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover);
}

table#dd_tableAlimenti.dataTable tbody td {
	font-size: 16px;
	padding: 0px;
}

table#dd_tableAlimenti.dataTables_scrollHeadInner {
width: 100% !important;
}
table#dd_tableAlimenti.dataTables_scrollHeadInner table {
width: 100% !important;
}

.dd_TableRowEdited {
	background-color: yellow;
	transition: background-color 3s linear;
}

.dataTables_scroll
{
    overflow:auto;
}

.loader {
		width: 148px;
		height: 148px;
		border-radius: 50%;
		position: relative;
		animation: rotate 1s linear infinite
}
.loader::before , .loader::after {
	content: "";
	box-sizing: border-box;
	position: absolute;
	inset: 0px;
	border-radius: 50%;
	border: 5px solid #FFF;
	animation: prixClipFix 2s linear infinite ;
}
.loader::after{
	border-color: #FF3D00;
	animation: prixClipFix 2s linear infinite , rotate 0.5s linear infinite reverse;
	inset: 6px;
}

@keyframes rotate {
	0%	 {transform: rotate(0deg)}
	100%   {transform: rotate(360deg)}
}

@keyframes prixClipFix {
	0%   {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
	25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
	50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
	75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
	100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
}


.animated {
	background-color: green;
	-webkit-animation-duration: 1s;animation-duration: 1s;
	-webkit-animation-fill-mode: both;animation-fill-mode: both;
 }
 
 @-webkit-keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
 }
 
 @keyframes fadeOut {
	0% {opacity: 1;}
	100% {opacity: 0;}
 }
 
 .fadeOut {
	-webkit-animation-name: fadeOut;
	animation-name: fadeOut;
 }

/* [2026-02-11 18:00] Badge versione sidebar e modale About */
.sidebar-version-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	margin: 0 16px 16px 16px;
	font-size: 12px;
	color: #8898aa;
	cursor: pointer;
	border-radius: 0.375rem;
	transition: all 0.15s ease;
}

.sidebar-version-badge:hover {
	background-color: #f1f9ec;
	color: #7cb830;
}

.sidebar-version-badge i {
	font-size: 14px;
}

.about-header {
	background: linear-gradient(135deg, #7cb830 0%, #9ccb4a 100%);
}

.about-table td {
	padding: 2px 8px !important;
	font-size: 13px;
}

/* ============================================================
   [2026-02-11 20:00] TEMA DARK — Override classi Argon/Bootstrap
   ============================================================ */

/* Body */
[data-theme="dark"] body {
	background-color: var(--dm-body-bg) !important;
	color: var(--dm-body-color);
}

/* Sidebar */
[data-theme="dark"] .navbar-vertical.bg-white,
[data-theme="dark"] .navbar-vertical.navbar-light {
	background-color: var(--dm-sidebar-bg) !important;
	border-right-color: var(--dm-sidebar-border);
}
[data-theme="dark"] .navbar-vertical .navbar-nav .nav-link {
	color: var(--dm-link-color);
}
[data-theme="dark"] .navbar-vertical .navbar-nav .nav-link:hover {
	color: #fff;
}
[data-theme="dark"] .navbar-vertical .navbar-nav .nav-link.active {
	color: #fff;
}
[data-theme="dark"] .navbar-brand-img {
	filter: brightness(0) invert(1);
}

/* Navbar Top */
[data-theme="dark"] .navbar-top {
	background: var(--dm-navbar-bg) !important;
}

/* Card */
[data-theme="dark"] .card {
	background-color: var(--dm-card-bg) !important;
	border-color: var(--dm-card-border);
	color: var(--dm-body-color);
}
[data-theme="dark"] .card-header {
	background-color: var(--dm-card-header-bg);
	border-bottom-color: var(--dm-card-border);
}
[data-theme="dark"] .card-footer {
	background-color: var(--dm-card-bg);
	border-top-color: var(--dm-card-border);
}

/* Form controls */
[data-theme="dark"] .form-control {
	background-color: var(--dm-input-bg) !important;
	color: var(--dm-input-color) !important;
	border-color: var(--dm-input-border);
}
[data-theme="dark"] .form-control:focus {
	background-color: var(--dm-input-bg) !important;
	color: var(--dm-input-color) !important;
}
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
	background-color: var(--dm-input-bg);
	color: var(--dm-input-color);
	border-color: var(--dm-input-border);
}
[data-theme="dark"] .menu-dieta-input-text-semplice,
[data-theme="dark"] .menu-dieta-input-text-semplice-readonly {
	background-color: var(--dm-input-bg);
	color: var(--dm-input-color);
	border-color: var(--dm-input-border);
}

/* Tabelle */
[data-theme="dark"] .table {
	color: var(--dm-body-color);
	border-color: var(--dm-table-border);
}
[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
	border-color: var(--dm-table-border);
}
[data-theme="dark"] .table thead th {
	background-color: var(--dm-table-head-bg);
	border-color: var(--dm-table-border);
	color: var(--dm-heading-color);
}
[data-theme="dark"] .table tbody tr {
	background-color: var(--dm-table-row-bg);
}
[data-theme="dark"] .table tbody tr:nth-of-type(even) {
	background-color: var(--dm-table-row-alt-bg);
}
[data-theme="dark"] .table-hover tbody tr:hover {
	background-color: var(--dm-table-hover);
	color: var(--dm-body-color);
}
/* DataTable hover */
[data-theme="dark"] .dataTable tbody tr:hover,
[data-theme="dark"] .dataTable tbody tr:hover > .sorting_1 {
	background-color: var(--dm-table-hover) !important;
}

/* Dropdown */
[data-theme="dark"] .dropdown-menu {
	background-color: var(--dm-dropdown-bg);
	border-color: var(--dm-dropdown-border);
}
[data-theme="dark"] .dropdown-item {
	color: var(--dm-body-color);
}
[data-theme="dark"] .dropdown-item:hover {
	background-color: rgba(255, 255, 255, 0.08);
	color: #fff;
}
[data-theme="dark"] .dropdown-header {
	color: var(--dm-text-muted);
}
[data-theme="dark"] .dropdown-divider {
	border-color: var(--dm-border-color);
}

/* Modal */
[data-theme="dark"] .modal-content {
	background-color: var(--dm-modal-bg);
	color: var(--dm-body-color);
}
[data-theme="dark"] .modal-header {
	border-bottom-color: var(--dm-border-color);
}
[data-theme="dark"] .modal-footer {
	border-top-color: var(--dm-border-color);
}

/* Bootbox modal */
[data-theme="dark"] .bootbox.modal .modal-header {
	border-bottom-color: var(--dm-border-color) !important;
}
[data-theme="dark"] .bootbox.modal .modal-body {
	border-bottom-color: var(--dm-border-color) !important;
}

/* Testi e utilita */
[data-theme="dark"] h1, [data-theme="dark"] h2,
[data-theme="dark"] h3, [data-theme="dark"] h4,
[data-theme="dark"] h5, [data-theme="dark"] h6 {
	color: var(--dm-heading-color);
}
[data-theme="dark"] .text-muted {
	color: var(--dm-text-muted) !important;
}
[data-theme="dark"] hr {
	border-color: var(--dm-hr-color);
}
[data-theme="dark"] .bg-white {
	background-color: var(--dm-sidebar-bg) !important;
}
[data-theme="dark"] label {
	color: var(--dm-body-color);
}

/* Sidebar version badge — dark */
[data-theme="dark"] .sidebar-version-badge {
	color: var(--dm-text-muted);
}
[data-theme="dark"] .sidebar-version-badge:hover {
	background-color: rgba(255, 255, 255, 0.08);
	color: #fff;
}

/* DataTable search/info */
[data-theme="dark"] .dt-search input {
	background-color: var(--dm-input-bg);
	color: var(--dm-input-color);
	border-color: var(--dm-input-border);
}
[data-theme="dark"] .dt-search label {
	color: var(--dm-body-color);
}

/* [2026-02-11 21:00] DataTables dark completo (v1.x + v2.x) con variabili tema */
[data-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate,
[data-theme="dark"] .dt-container .dt-length,
[data-theme="dark"] .dt-container .dt-search,
[data-theme="dark"] .dt-container .dt-info,
[data-theme="dark"] .dt-container .dt-paging {
	color: var(--dm-body-color);
}
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input,
[data-theme="dark"] .dataTables_wrapper .dataTables_length select,
[data-theme="dark"] .dt-container .dt-search input,
[data-theme="dark"] .dt-container .dt-length select {
	background-color: var(--dm-input-bg) !important;
	color: var(--dm-input-color) !important;
	border: 1px solid var(--dm-input-border) !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
	color: var(--dm-body-color) !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
	background: var(--dm-dt-pagination-active-bg) !important;
	color: var(--dm-dt-pagination-active-color) !important;
	border: 1px solid var(--dm-input-border) !important;
}
[data-theme="dark"] .dt-container .dt-paging .dt-paging-button.current,
[data-theme="dark"] .dt-container .dt-paging .dt-paging-button.current:hover {
	background: var(--dm-dt-pagination-active-bg) !important;
	color: var(--dm-dt-pagination-active-color) !important;
	border: 1px solid var(--dm-input-border) !important;
}

/* Scrollbar dark */
[data-theme="dark"] ::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
[data-theme="dark"] ::-webkit-scrollbar-track {
	background: var(--dm-body-bg);
}
[data-theme="dark"] ::-webkit-scrollbar-thumb {
	background: #4a4a4a;
	border-radius: 4px;
}

/* Toggle switch tema nel menu utente */
.theme-toggle-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 1.5rem;
	cursor: default;
}
.theme-toggle-wrapper .theme-label {
	font-size: 0.875rem;
	color: #525f7f;
}
[data-theme="dark"] .theme-toggle-wrapper .theme-label {
	color: var(--dm-body-color);
}
