	@import url("css/styling-components.css");

	:root {
		--hyper: #006c79;
		--uct: #eb212e;
		--success: #2a2;
		--success-bg: #22aa22b0;
		--success-text: #fff;
		--failure: #a22;
		--error-bg:#e77;
		--failure-bg: #fcc;
		--failure-text: #fff;
		--warning: #dd1;
		--warning-bg: #ffc;
		--warning-text: #000;
		--info: #2196F3;
		--info-bg: #5DB6FC;
		--info-bg-alpha: #5db6fcab;
		--info-text: #fff;
		--popup: #80929a;
		--tooltip: #687d88;
		--tooltip-text: #fff;
		--modal: #eee;
		--modal-text: #104177;
		--rosso: red;
		--arancio: #ff9800;
		--default-background: #f0f0f0;

		--default-header-height: 24px;
		--default-title-height: 16px;

		--modal-z: 10000;
		--message-z: 9000;
		--operations-z: 8000;
	}

	/* fallback */
	@font-face {
		font-family: 'Material Icons';
		font-style: normal;
		font-weight: 400;
		src: url(font/material-font.woff2) format('woff2');
		/* v130 2023-04-03 */
	}

	.material-icons {
		font-family: 'Material Icons';
		font-weight: normal;
		font-style: normal;
		font-size: 24px;
		line-height: 1;
		letter-spacing: normal;
		text-transform: none;
		display: inline-block;
		white-space: nowrap;
		word-wrap: normal;
		direction: ltr;
		cursor: context-menu;
		-webkit-font-feature-settings: 'liga';
		-webkit-font-smoothing: antialiased;
	}

	/* Rules for sizing the icon. */
	.material-icons.md-18 { font-size: 18px; }
	.material-icons.md-24 { font-size: 24px; }
	.material-icons.md-36 { font-size: 36px; }
	.material-icons.md-48 { font-size: 48px; }

	/* Rules for using icons as black on a light background. */
	.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
	.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

	/* Rules for using icons as white on a dark background. */
	.material-icons.md-light { color: rgba(255, 255, 255, 1); }
	.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }

	/* COLORE TEMA SCURO */
	.theme_color_1 {
		background-color: #7E98BF;
	}
	.text_color_1 {
		color: #FFFFFF;
	}
	.submenu .separator {
		border-top-color: #7E98BF;
		margin-right: 5px;
	}
	.submenu {
		border-bottom-color: #7E98BF;
	}
	
	hr {
		border-color: #7E98BF;
	}
	
	/* COLORE TEMA CHIARO */
	.theme_color_2 {
		background-color: #e0e0e0;
	}
	.border_color_1 {
		border-color: #e0e0e0;
	}
	
	.line_bar {
		background-color: #FFF5D6;
	}
	
	/* COLORE TEMA SFONDO PRINCIPALE */
	.theme_color_3 {
		background-color: #f0f0f0;
	}
			
	/* TEMA HEADER BAR */
	.hy__headerbar {
		background-color: #7E98BF;
		background: url(images/tiled_header.jpg);
	}

	#hy__logo {
		background-color: #fff;
		padding: 0.3rem;
		border-radius: 1rem;
		box-shadow: 0 0 1rem 0 #000;
	}

	/* TEMA SCRITTA HYPER */
	.hlhyper {
		color: #EAC679;
		text-shadow: #333 -2px 2px 2px;
	}	
	.hltype {
		color: #fffeff;
		text-shadow: #333 -2px 2px 2px;
	}
	.hlversion {
		color: #FFEEC9;
		text-shadow: #333 -2px 2px 2px;
	}

	.hlnotify {
		border: solid 1px white;
		border-radius: 50%;
		/* color: white; */
		vertical-align: sub;
		padding: 0.3rem;
		margin-right: 10px;
		background-color: #cccc;
		cursor: pointer;
	}

	.hlnotify::after {
		content: "sync";
		position: absolute;
		color: white;
		background: red;
		font-size: 50%;
		border-radius: 1rem;
		display: inline-block;
		/* min-width: 1.5rem;
		min-height: 1.5rem; */
		min-width: 1rem;
		min-height: 1rem;
		right: 10px;
	}

	.hlnotify[data-notify-counter]::after {
		content: attr(data-notify-counter)/*  "mostrata" */;
		display: inherit;
	}

	.hlnotify[data-notify-counter="0"]::after {
		content: " ";
		display: none;
	}

	.hc-message {
		color: white;
		font-size: 12pt;
	}

	.hc-message > a {
		font-size: inherit;
		color: white;
		text-decoration: underline;
	}

	.rosso {
		color: #FF0000;
	}

	.verde {
		color: green;
	}

	.arancio {
		color: var(--arancio);
	}

	.blue {
		color: var(--info);
	}

	.white-bkg {
		background-color: white;
	}
	
	/* PER RIGHE ALTERNATE CON HIGHLIGHT AL MOUSE OVER*/
	tr.highlight:hover {
		background-color: #FFEEC9 !important;
	}

	tr.highlight:nth-child(even) {
		background-color: #ffffff;
	}	

	
	/* CSS FLOT */
	.flot-container {
		box-sizing: border-box;
		width: 850px;
		height: 600px;
		padding: 20px 15px 15px 15px;
		margin: 15px auto 30px auto;
		border: 1px solid #ddd;
		background: #fff;
		background: linear-gradient(#f6f6f6 0, #fff 50px);
		background: -o-linear-gradient(#f6f6f6 0, #fff 50px);
		background: -ms-linear-gradient(#f6f6f6 0, #fff 50px);
		background: -moz-linear-gradient(#f6f6f6 0, #fff 50px);
		background: -webkit-linear-gradient(#f6f6f6 0, #fff 50px);
		box-shadow: 0 3px 10px rgba(0,0,0,0.15);
		-o-box-shadow: 0 3px 10px rgba(0,0,0,0.1);
		-ms-box-shadow: 0 3px 10px rgba(0,0,0,0.1);
		-moz-box-shadow: 0 3px 10px rgba(0,0,0,0.1);
		-webkit-box-shadow: 0 3px 10px rgba(0,0,0,0.1);
	}

	.flot-placeholder {
		width: 100%;
		height: 100%;
		font-size: 14px;
		line-height: 1.2em;
	}

	.no-scroll {
		overflow-y: hidden;
	}

	.v-middle {
		vertical-align: middle;
	}

	.legend table {
		border-spacing: 5px;
	}
	
	td.td_label, .soluzione-label-field {
		width: 200px;
		font-weight: bold;
	}

	.disattiva {
		font-style: italic;
		color: #969696;
	}

	.border-grigio {
		border-color: #969696;
	}

	tr.disattiva input, tr.disattiva select {
		font-style: italic;
		color: #969696;
		font-weight: bold;
	}

	tr.th > td {
		font-weight: bold;
	}

	.bold {
		font-weight: bold;
	}

	.oggetti_multipli {
		padding-bottom: 2px;
	}

	.div-filtri {
		/* width: 100%; */
		border: solid 1px #6666;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		padding: 3px;
	}

	.div-grid {
		/* width: 100%; */
		display: grid;
		grid-template-columns: 1fr 1fr;
		padding: 1rem;
	}

	.div-filtri-no-grid > div {
		margin-top: 0.7rem;
	}

	.label-filtro {
		display: block;
	}

	.div-filtri .btn-filtra, .div-filtri .hr, .div-filtri .fill-row, .div-grid .hr, .div-grid .fill-row {
		grid-column: 1/-1;
	}

	.div-filtri .btn-add-fornitore {
		grid-column: 4;
	}

	.div-filtri .filter-btn-import {
		padding-top: 1rem;
		grid-column: 5;
	}

	.div-filtri hr.hr-grey, .div-grid hr.hr-grey {
		border-color: #6666;
	}

	/* div.marked-tab::before {
		content: "circle";
		font-family: 'Material Icons';
		font-size: 11px;
		vertical-align: text-bottom;
		font-weight: normal !important;
		margin-top: -3px;
		display: inline-block;
		padding: 0 0.3em 0 0;
	} */

	.multiple-combo {
		display: block;
		max-height: 300px;
		width: fit-content;
		border: solid 1px #969696;
	}

	combo-search::part(search-items) {
		overflow-x: hidden;
		background-color: white;
	}

	combo-search::part(search-field) {
		width: 100%;
	}

	combo-search * {
		display: none;
	}

	.sticky-filtri, .sticky-tr {
		position: sticky;
		top: var(--default-header-height);
		/* top: calc(var(--default-header-height) + var(--default-title-height)); */
		background-color: var(--default-background);
	}

	.div-soluzione {
		display: grid;
		grid-template-columns: 1fr 1fr 10fr;
		/* line-height: 18px; */
		gap: 0.3rem;
    	padding: inherit;
	}

	.div-soluzione > .soluzione-field {
		grid-column: 2 / -1;
	}

	.div-soluzione > .soluzione-dettagli, .div-soluzione > .soluzione-dettagli-storico {
		grid-column: 1 / -1;
	}

	.info-pv, .info-file-selezionati {
		padding-top: 0.3rem;
		display: block;
	}

	.div_list {
		display: block;
	}

	.float-field, .int-field {
		text-align: right;
	}

	.error-field {
		background-color: var(--error-bg);
	}

	input[type="radio"].error-field {
		box-shadow: var(--error-bg) 0 0 1px 4px;
	}

	.textarea-field {
		width: 450px;
		height: 75px;
	}
	.textarea-mini-field {
		width: 260px;
		height: 45px;
	}

	.textarea-from-multiple-combo {
		width: 350px;
		height: 60px;
	}

	.label-field {
		display: block;
		font-weight: bold;
	}

	.label-obbligatorio::after {
		content: " *";
		color: red;
	}

	.radio-field {
		vertical-align: middle;
	}

	.radio-container > label {
		padding-left: 5rem;
	}

	.tbl-print-titolo {
		padding-bottom: 10px;
	}

	.solutions > .tbl-print-titolo {
		margin-top: 10px;
	}

	.td-print-titolo {
		font-weight: bold;
		vertical-align: middle;
	}

	.td-titolo-reducer {
		cursor: pointer;
	}

	.td-titolo-reducer[data-expanded="1"]::before {
		font-family: "Material Icons";
		content: "expand_more";
		/* content: "expand_less"; */
		/* content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="18px" height="18px"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');*/
		display: inline-block;
	}

	.td-titolo-reducer[data-expanded="0"]::before {
		font-family: "Material Icons";
		content: "navigate_next";
		/* content: "expand_more"; */
		/* content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="18px" height="18px"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>'); */
		display: inline-block;
	}

	.button-combo /*ex associa-button*/ {
		vertical-align: top;
	}

	.td-right-button {
		text-align: right;
	}

	.td-center {
		text-align: center;
		width: 100px;
	}

	a.link > *, a.link, .link {
		cursor: pointer;
	}

	a.unlink {
		color: inherit;
	}

	span.material-icons.btn {
		font-size: 14pt;
		/* font-weight: bold; */
		vertical-align: middle;
		cursor: pointer;
	}

	span.material-icons.btn-no-resize {
		vertical-align: middle;
		cursor: pointer;
	}

	span.material-icons.btn.info {
		font-size: 10pt;
		cursor: help;
	}

	span.material-icons.btn.disabled {
		font-size: 10pt;
		cursor: not-allowed;
	}

	button.material-icons {
		cursor: pointer;
	}

	.btn-back > span.material-icons.btn, .go-back-page {
		transform: rotate(180deg);
	}

	.page-component {
		text-align: center;
		padding: 1rem 0;
		border-bottom: solid 1px #888;
		margin-bottom: 1rem;
	}
	
	.btn-go-back-page, .btn-go-forward-page, .btn-go-first-page, .btn-go-last-page {
		vertical-align: middle;
		border-radius: 15px;
		color: var(--info);
	}

	.btn-go-back-page.disattiva, .btn-go-forward-page.disattiva, 
	.btn-go-back-page.disattiva > span, .btn-go-forward-page.disattiva > span,
	.btn-go-first-page.disattiva, .btn-go-last-page.disattiva, 
	.btn-go-first-page.disattiva > span, .btn-go-last-page.disattiva > span {
		cursor: not-allowed;
		color: #969696;
	}
	
	.go-back-page, .go-forward-page, .go-first-page, .go-last-page {
		cursor: pointer;
	}

	.page-status-result {
		padding: 1rem;
    	font-weight: bold;
	}

	.td-oggetto-combo, .td-fornitore-combo, .td-pv-combo {
		width: 60rem;
	}

	.div-ultime-rdi, .div-ultimi-odl, .div-ultimi-prev, .div-oda-simili, .div-ticket-simili, .div-prossimi-controlli {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 2fr 2fr 1fr;
		position: absolute;
		max-height: 20rem;
		overflow-y: scroll;
		border: #ccc solid 1px;
		padding: 0.3rem;
		gap: 0.3rem;
	}

	.div-ultime-rdi.initial-position {
		position: initial;
	}

	.div-prossimi-controlli {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 2fr 2fr 1fr;
	}

	.div-ticket-simili {
		position: relative;
		max-height: 15rem;
		grid-template-columns: 1fr 1fr 3fr 1fr;
	}
	
	.div-oda-simili .progressivo:nth-child(4n+0),
	.div-oda-simili .data:nth-child(4n+1),
	.div-oda-simili .fornitore:nth-child(4n+2),
	.div-oda-simili .descrizione:nth-child(4n+3),
	.div-oda-simili .totale:nth-child(4n+4),
	.div-oda-simili .stato:nth-child(4n+5) {
		background-color: #ddf;
	}

	.div-ultime-rdi .progressivo:nth-child(4n+0),
	.div-ultime-rdi .data:nth-child(4n+1),
	.div-ultime-rdi .reparto:nth-child(4n+2),
	.div-ultime-rdi .oggetto:nth-child(4n+3),
	.div-ultime-rdi .tipo-guasto:nth-child(4n+4),
	.div-ultime-rdi .stato:nth-child(4n+5) {
		background-color: #ddf;
	}

	.div-ultimi-odl .progressivo:nth-child(4n+0),
	.div-ultimi-odl .data:nth-child(4n+1),
	.div-ultimi-odl .reparto:nth-child(4n+2),
	.div-ultimi-odl .oggetto:nth-child(4n+3),
	.div-ultimi-odl .tipo-guasto:nth-child(4n+4),
	.div-ultimi-odl .stato:nth-child(4n+5) {
		background-color: #FFEEC9;
	}

	.div-ultimi-prev .progressivo:nth-child(4n+0),
	.div-ultimi-prev .data:nth-child(4n+1),
	.div-ultimi-prev .reparto:nth-child(4n+2),
	.div-ultimi-prev .oggetto:nth-child(4n+3),
	.div-ultimi-prev .settore:nth-child(4n+4),
	.div-ultimi-prev .stato:nth-child(4n+5) {
		background-color: #FFEEC9;
	}
	
	.div-ticket-simili .progressivo:nth-child(8n+6),
	.div-ticket-simili .data:nth-child(8n+7),
	.div-ticket-simili .descrizione:nth-child(8n+8),
	.div-ticket-simili .stato:nth-child(8n+9) {
		background-color: #ddf;
	}

	.div-prossimi-controlli .non-necessaria:nth-child(4n+0),
	.div-prossimi-controlli .eseguito:nth-child(4n+1),
	.div-prossimi-controlli .anticipare:nth-child(4n+2),
	.div-prossimi-controlli .anticipare-installazione:nth-child(4n+3),
	.div-prossimi-controlli .data:nth-child(4n+4),
	.div-prossimi-controlli .classe:nth-child(4n+5),
	.div-prossimi-controlli .attivita:nth-child(4n+6),
	.div-prossimi-controlli .cadenza:nth-child(4n+7) {
		background-color: #ddd;
	}

	.div-ultime-rdi > .header, .div-ultimi-odl > .header, .div-ultimi-prev > .header, .div-oda-simili > .header, .div-ticket-simili > .header, .div-prossimi-controlli > .header {
		background: white;
		padding: 0.3rem;
	}
	
	.div-ultime-rdi > .first-line, .div-ultimi-odl > .first-line, .div-ultimi-prev > .first-line, .div-oda-simili > .first-line, .div-ticket-simili > .first-line, .div-prossimi-controlli > .first-line {
		grid-column: 1/-1;
		text-align: center;
		/* padding: 0.3rem;
		height: unset; */
	}

	.width-100 {
		width: 100%;
	}
	.width-50 {
		width: 50%;
	}
	.width-70 {
		width: 70%;
	}

	.avviso-conf {
		min-width: 40rem;
	}

	.td-data {
		width: 9.5em;
	}

	.td-data-dp {
		width: 11em;
	}

	.td-ora, .td-num, .td-check {
		width: 5em;
	}

	.td-mini-check {
		width: 2em;
	}

	.td-inline-buttons {
		width: 10rem;
	}

	.td-utente, .td-text {
		width: 15rem;
	}

	.td-btn-consuntivi, .td-mesi-budget {
		width: 12rem;
	}

	.td-punto-vendita, .td-inline-file {
		width: 25rem;
	}

	.center {
		text-align: center;
	}
	
	.right {
		text-align: right;
	}
	
	.left {
		text-align: left;
	}

	.popup-message {
		position: absolute;
		background-color: var(--popup);
		/* background-color: #33bdce; */
		padding: 8px;
		/* padding: 0.6rem; */
		color: white;
		z-index: 1;
		border: var(--hyper) solid 1px;
	}

	/* .popup-message.jenner, .popup-message.jenner::before {
		background-color: #eecccc;
	} */
	
	.popup-message::before {
		content: " ";
		display: block;
		width: 17px;
		height: 17px;
		transform: rotate(45deg);
		background-color: var(--popup);
		/* background-color: #33bdce; */
		margin-top: -18px;
		z-index: 0;
		border-top: var(--hyper) solid 1px;
		border-left: var(--hyper) solid 1px;
	}

	.empty-messages {
		font-style: italic; 
		color: #888; 
		text-align: center;
	}

	.tr-messaggi {
		line-height: 18px;
	}

	.text-msg {
		word-break: break-all;
	}

	.sospensione-attiva {
		color: var(--rosso);
	}

	.hy__tableheaderbar {
		padding: 0.5em 0.5em 0.5em 1.5em;
		font-weight: bold;
		font-size: 110%;
		position: sticky;
		top: 0;
		box-shadow: #0004 0px 2px 4px 0;
		z-index: 1;
	}

	.ui-autocomplete-btn, .ui-autocomplete-btn_click {
		/* margin-left: -0.35rem;
		margin-top: 3px; */
		cursor: pointer;
		/* width: 19px; */
		padding: 0.3rem;
		/* padding: unset; */
		min-width: 19px;
		border: 1px solid #aaa;
	}

	.ui-autocomplete-btn-loading {
		padding: 0.3rem;
		background: transparent url(hyper/images/loading_square_mini.gif) center no-repeat;
		background-size: 13px;
	}

	.ritardo-calcolato-alert, .oggetto-unico-check, .oggetto-garanzia-check, .fornitore-diverso-alert, .extrabdg-check, .censimento-check, .force-investimento-check, .fail-lookup, .exists-abbinamento, .over-100, .under-100, .spedizione-incompleta-alert, .no-ppr-utenze, .history-ticket, .alert-odl-parent-accorpato::before, .fornitore-suggerito-alert {
		color: var(--rosso);
		font-size: 14pt;
		vertical-align: middle;
		cursor: context-menu;
	}

	.fornitore-suggerito-alert {
		font-size: 16pt;
		color: var(--success);
	}

	.alert-odl-parent-accorpato::before {
		color: var(--rosso);
		content: "priority_high";
		font-family: 'Material Icons';
		font-style: unset;
	}

	.alert-odl-parent-accorpato {
		color: var(--rosso);
		/* font-style: italic; */
		font-weight: bold;
	}

	.under-100 {
		color: var(--arancio);
	}

	.fail-lookup, .exists-abbinamento {
		cursor: help;
	}

	.oggetto-garanzia-check {
		color: var(--info);
	}

	.history-ticket {
		color: var(--info);
		font-size: 24px;
		cursor: help;
	}

	.impresa-alert {
		padding-top: 3px;
		color: var(--rosso);
		font-weight: bold;
		width: 50rem;
	}

	.impresa-suggerita {
		padding-top: 3px;
		color: var(--success);
		font-weight: bold;
		width: 50rem;
		display: block;
	}

	.segnalazione-link-rdl:not([data-id-segnalazione='']) {
		color: var(--success);
	}

	.segnalazione-aperta-oggetto, .quadratura-ok {
		color: var(--success);
	}

	.quadratura-manuale {
		color: #ff8100;
	}

	.quadratura-ignora {
		color: grey;
	}

	.impresa-alert.view {
		display: block;
	}

	.desc-criticita-intervento {
		display: block;
	}

	.info-carico {
		display: block;
	}

	.sticky-header {
		position: sticky;
		top: 0;	
	}

	.table-costi-controllo {
		background: white;
	}

	.min-height-18 {
		line-height: 18px;
	}

	tr.num-results, div.num-results, .topic-prefattura, .festivi-all-pv {
		background-color: var(--info-bg-alpha);
	}

	div.num-results {
		padding: 0.3rem;
	}

	.div-legenda {
		display: inline-block;
		width: calc(80% / 5);
		min-width: fit-content;
		border: solid 1px #ccc;
		padding: 0.3rem;
	}
	
	.div-legenda-festivo {
		display: inline-block;
		width: 50px;
		height: 15px;
		vertical-align: middle;
		font-weight: bold;
	}

	.festivo-chiuso {
		background-color: #FF282C;
	}
	
	.festivo-aperto-intero {
		background-color: #38BE70;
	}
	
	.festivo-aperto-mezzo {
		background-color: #FFCD44;
	}
	
	.festivo-tariffa-0 {
		background-color: #f476ff;
	}

	.msg-letto {
		color: dodgerblue;
	}

	.qualifica-pq-border, .cella-calendario, .cella-budget, .cella-piano-mtz-sim, .cella-gantt, .cella-controllo-spese, .preview-comunicazione, .cella-festivo {
		border: solid 1px #00000036;
	}

	.qualifica-pq-border-right {
		border-right: solid 1px #00000036;
	}

	.qualifica-pq-border-top {
		border-top: solid 1px #00000036;
	}

	.qualifica-btn-bottom, .rdl-history {
		vertical-align: bottom;
	}

	.ldap-icon {
		vertical-align: middle;
	}

	.preview-comunicazione {
		padding: 1rem;
		margin-left: 5rem;
		/* position: relative; */
	}

	.history {
		position: relative;
	}

	.history:hover::before {
		content: "Valore precedente: " attr(data-value);
		font-family: sans-serif;
		font-size: 8pt;
		position: absolute;
		background-color: white;
		padding: 0.5em;
		transform: translateY(100%);
		box-shadow: #0003 0.1em 0.3em 0.3em;
		z-index: 1;
	}

	.qualifica-btn-bottom .material-icons {
		cursor: pointer
	}

	.btn-note-inline {
		font-size: 8pt;
	}

	.btn-note-inline[data-filled="1"] {
		background-color: green;
		color: white;
	}

	.click-genera, .cella-calendario:not([data-numero=""]):not([data-numero="0"]) {
		cursor: pointer;
	}
	
	.cella-calendario:not([data-numero=""]):not([data-numero="0"]) {
		color: white;
		background-color: var(--tooltip);
	}

	.cella-budget {
		padding: 2px;
		line-height: 18px;
	}
	
	.cella-budget[data-costi-alert="1"] {
		background-color: var(--failure);
		color: white;
	}
	
	.cella-budget[data-costi-alert="0"] {
		background-color: var(--success);
		color: white;
	}
	
	.cella-controllo-spese[data-costi-alert="1"] {
		background-color: var(--failure);
		color: white;
	}

	#idtable tr:not(.th) td.spans:hover {
		cursor: default;
		background-color: inherit;
		color: inherit;
	}

	/* #idtable tr.th + tr:not(.th) td.spans + td.spans.positive div {
		background-color: var(--success);
		color: white;
	}

	#idtable tr.th + tr:not(.th) td.spans + td.spans.negative div {
		background-color: var(--failure);
		color: white;
	} */

	/* #idtable tr.th + tr:not(.th) td.spans + td.spans.zero div {
		
	} */

	.spans.positive div {
		background-color: var(--success);
		color: white;
	}

	.spans.negative div {
		background-color: var(--failure);
		color: white;
	}

	.cella-gantt.descr-gantt {
		background-color: white;
		min-width: 16rem;
	}

	.div-row-gantt {
		height: inherit;
		width: 10rem;
		display: inline-block;
	}

	.gantt-legenda {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		
		margin-top: 0.3rem;
		margin-bottom: 0.3rem;
	}

	.item-legenda {
		height: 2rem;
		border: solid 1px #00000036;
	}

	.half-legenda {
		width: 50%;
	}

	.item-legenda > span, .span-super {
		vertical-align: super;
	}

	.row-gantt[data-stato="approvato"] {
		background-color: #00bcd45c;
	}

	.row-gantt[data-stato="rifiutato"] {
		background-color: #e57373a3;
	}

	.row-gantt[data-stato="attesa-indicazione"] {
		background-color: #ffb74dad;
	}

	.row-gantt[data-stato="acquistato"] {
		background-color: #9c27b08a;
	}

	.row-gantt[data-stato="in-corso"] {
		background-color: #66bb6ab8;
	}

	.codice-impresa[data-documenti-validare="1"]::before {
		content: "priority_high";
		color: red;
	}

	.programmata-disattiva {
		color: #292efd55;
	}

	.programmata-disattiva::before {
		content: "remove";
		display: inline-block;
		position: absolute;
		transform: rotate(-45deg) translateY(-0.5rem);
		font-size: 140%;
		color: #292efd;
	}

	.doc-approvato {
		color: var(--success);
	}

	.doc-rifiutato {
		color: var(--failure);
	}

	.btn-certs[data-certificato="1"] {
		color: var(--success);
	}

	.btn-docs[data-documenti-validare="1"] {
		color: var(--info);
	}

	.click-popup:not([data-dati=""]) {
		cursor: pointer;
	}
	
	.btn-new-row-msg[data-open-new="0"]::after {
		content: "Inserisci nuovo messaggio";
	}

	.btn-new-row-msg[data-open-new="1"]::after {
		content: "Annulla inserimento nuovo messaggio";
	}

	.preventivo-approvato[data-approvato="-1"] {
		color: var(--success);
	}

	.preventivo-approvato[data-approvato="0"] {
		color: var(--rosso);
	}

	.preventivo-check {
		cursor: pointer;
	}

	.btn-notes[data-fill-notes="1"] {
		background-color: var(--warning);
	}

	.not-found-msg, .sinistro-msg, .edificio-msg, .no-invio-msg, .extrahyper-msg, .firma-necessaria-msg {
		display: inline-block;
		vertical-align: text-bottom;
		padding-left: 0.3rem;
		text-align: center;
	}

	.rilevazione-obbligatoria-msg, .privilegi-filter-msg, .no-multipli-anni {
		display: inline-block;
		vertical-align: text-bottom;
		padding-top: 0.3rem;
		text-align: center;
	}

	li.item.active-badge::after {
		content: attr(data-counter);
		background-color: red;
		color: white;
		font-weight: bold;
		border-radius: 25%;
		padding: 0.1rem 0.3rem;
		font-size: 8pt;
		margin-left: 0.3rem;
		/* position: absolute; */
		/* right: 0; */
	}

	li.item.active-badge {
		position: relative;
	}

	.checklist-tag {
		display: grid;
		grid-template-columns: 1fr 1fr;
		/* border: solid 1px #ccc; */
	}

	.item-tag {
		display: inline-block;
		user-select: none;
		margin-bottom: 0.3rem;
		/* background-color: #c8ddaa; */
		padding: 0.3rem 1rem;
		border-radius: 0.5rem;
		width: max-content;
		cursor: pointer;
	}

	.tag-disattivo {
		background-color: #bbb;
	}

	.grid-custom-fields-4 {
		display: grid;
		grid-template-columns: 1fr 3fr 1fr 3fr;
	}

	.grid-custom-fields-4-same {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.div-field-wrapper.col-all {
		grid-column: 1/-1;
	}

	.div-field-wrapper.col-3 {
		grid-column: span 3;
	}

	.div-field-wrapper.col-2 {
		grid-column: span 2;
	}

	.tbl-border {
		border: #ccc solid 1px;
	}

	.bdg-grid, .bdg-grid-progetto {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		width: 50rem;
	}

	.div-bdg, .bdg-iniziale, .bdg-residuo, .bdg-utilizzato, .div-bdg-titolo {
		border: solid 1px #ccc;
	}

	.chrono-border {
		border: #666666 solid 1px;
		padding: 0.3rem;
		margin: 0;
	}

	.bdg-iniziale, .bdg-residuo, .bdg-utilizzato {
		padding: 1rem;
		border-top: unset;
	}

	.div-bdg-titolo {
		grid-column: 1/-1;
		padding: 0.3rem;
		border-bottom: unset;
		background-color: #d6d6d6;
	}

	.span-block {
		display: block;
		padding: 0.3rem;
	}

	.open-rdi-link, .open-ticket-link, .go-to-old-word {
		text-decoration: none;
		color: #292EFD;
		font-weight: bold;
		cursor: pointer;
	}

	.go-to-old, .go-to-old > * {
		font-size: 12pt;
		font-weight: bold;
	}

	span.material-icons.go-to-old {
		vertical-align: text-bottom;
	}

	.go-to-old-container {
		/* text-align: right; */
		float: right;
		cursor: pointer;
	}

	.preventivi-soluzioni-freccia {
		padding-left: 1.3rem;
	}

	div.results {
		/* padding: 1rem; */
		margin-top: 1rem;
		font-weight: bold;
	}

	div.results > span {
		display: block;
		padding: 0.3rem 0.5rem 0.5rem 0.5rem;;
	}

	div.results > span.ok {
		color: var(--success);
	}

	span.hint {
		display: block;
		padding-top: 0.3rem;
	}

	.view-errors {
		cursor: pointer;
	}

	.single-assoc, .head-associazioni {
		display: grid;
		grid-template-columns: 25rem 25rem 2rem;
		padding: 0.3rem 0;
	}

	.single-assoc:hover {
		background-color: #FFEEC9;
	}

	.verifica-manuale {
		color: var(--info);
	}

	.btn-pair, .btn-pair > span {
		cursor: pointer;
	}

	.fatturazione {
		background-color: white;
	}

	.span-fattura {
		padding: 0.3rem;
	}

	.row-selected tr:not(.selected, .th), .progetti-container {
		display: none;
	}

	.row-selected ~ .progetti-container {
		display: block;
	}

	.progetti-container, .righe-container, .sottoambiti-container {
		border: solid 1px #888;
	}

	.td-expand-budget[data-expanded="0"]::before {
		font-family: "Material Icons";
		content: "arrow_forward_ios";
		display: inline-block;
		font-size: 24px;
	}

	.td-expand-budget[data-expanded="1"]::before {
		font-family: "Material Icons";
		content: "arrow_forward_ios";
		display: inline-block;
		transform: rotate(90deg);
		font-size: 24px;
	}

	.td-last-budget::before {
		font-family: "Material Icons";
		content: "remove";
		/* content: "description"; */
		display: inline-block;
		font-size: 24px;
		cursor: pointer;
	}

	.td-riga-budget::before {
		font-family: "Material Icons";
		content: "description";
		display: inline-block;
		font-size: 24px;
		cursor: pointer;
	}
	
	.approva-responsabile {
		margin: 0.3rem 0;
	}

	.prev-rif-block, .exists-canone-variabile {
		display: block;
		padding: 0.3rem 0;
	}

	.exists-preventivo {
		display: block;
	}

	.nc-non-coerente {
		position: sticky;
   		top: calc(var(--default-header-height));
	}

	.diff-giorni-programmata {
		white-space: nowrap;
	}

	.header-simulazione-prefattura {
		color: white;
		font-weight: bold;
		background-color: #007F9B;
		border: solid 1px #ccc;
	}

	.a-download-moduli {
		font-size: medium;
		color: var(--rosso);
		cursor: pointer;
		/* text-decoration: underline; */
	}

	.a-download-moduli::before {
		font-family: "Material Icons";
		content: "file_download";
		display: inline;
		vertical-align: middle;
	}

	.a-export-oda-spedizioni {
		font-size: medium;
		/* color: var(--rosso); */
		cursor: pointer;
		/* text-decoration: underline; */
	}

	.a-export-oda-spedizioni::before {
		font-family: "Material Icons";
		content: "file_download";
		display: inline;
		vertical-align: middle;
	}

	.save-spedizioni {
		background-color: green;
		font-weight: bold;
		color: white;
		padding: 0.5rem 1rem;
		display: inline-block;
	}

	.img-quadrato-dpi, div .img-quadrato-dpi {
		cursor: pointer;
		position: absolute;
		object-fit: contain;
		height: 100%;
	}

	@keyframes dpizoom {
		0% {
			height: 100%;
		}
		100% {
			height: 200px;
		}
	}

	.div-img-dpi img {
	}

	.div-img-dpi:hover img {
		animation-name: dpizoom;
		animation-duration: 100ms;
		animation-timing-function: ease-out;
		animation-delay: 1.5s;
		animation-fill-mode: forwards;
		/* transform: translateX(-50%) translateY(-50%); */
		box-shadow: 0 0 8px #000;
		border: #000c solid 1px;
		top: 0;
		left: 0;
	}

	.div-img-dpi {
		display: inline-block;
		position: relative;
		width: 4rem;
		height: 3rem;
		margin-right: 0.5rem;
	}

	.div-img-dpi, .div-img-dpi ~ input[type="file"] {
		vertical-align: middle;
	}

	.div-verbale {
		border-style: solid;
		border-width: 1px;
		padding: 1rem;
		/* font-size: medium; */
	}

	.a-verbale::before {
		font-family: "Material Icons";
		content: "assignment";
		display: inline;
		vertical-align: middle;
		font-size: medium;
	}

	.pannello-caricamento-verbale {
		position: relative;
	}
	
	td.verification-success::after, td.verification-failure::after, td.verification-failure-multi::after {
		content: attr(data-message);
		display: block;
		padding: 0.5rem 1rem;
		font-weight: bold;
		width: fit-content;
		margin-top: 0.5rem;
	}

	td.verification-success::after {
		background-color: #2a2;
		color: #fff;
	}

	td.verification-failure::after, td.verification-failure-multi::after {
		background-color: #a22;
		color: #fff;
	}
	
	td.verification-failure::after {
		content: "Documento non valido o non leggibile. Controllare che la scansione sia corretta, completa e leggibile in tutte le sue parti.";
	}

	td.verification-failure-multi::after {
		content: "Documento non valido.\0a Controllare che il file non sia danneggiato.";
		white-space: pre;
		line-height: 1.4142rem;
	}

	td.verification-spinner::before {
		content: "Validazione documento in corso";
		position: absolute;
		background-color: #0004;
		top: 0;
		bottom: 0;
		left: 3px;
		right: 3px;
		display: grid;
		align-content: center;
		text-align: center;
		color: #fff;
		font-weight: bold;
	}

	.identificatore-model {
		--qr-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="%23000000"><g><rect fill="none" height="24" width="24"/></g><path d="M15,21h-2v-2h2V21z M13,14h-2v5h2V14z M21,12h-2v4h2V12z M19,10h-2v2h2V10z M7,12H5v2h2V12z M5,10H3v2h2V10z M12,5h2V3h-2V5 z M4.5,4.5v3h3v-3H4.5z M9,9H3V3h6V9z M4.5,16.5v3h3v-3H4.5z M9,21H3v-6h6V21z M16.5,4.5v3h3v-3H16.5z M21,9h-6V3h6V9z M19,19v-3 l-4,0v2h2v3h4v-2H19z M17,12l-4,0v2h4V12z M13,10H7v2h2v2h2v-2h2V10z M14,9V7h-2V5h-2v4L14,9z M6.75,5.25h-1.5v1.5h1.5V5.25z M6.75,17.25h-1.5v1.5h1.5V17.25z M18.75,5.25h-1.5v1.5h1.5V5.25z"/></svg>');
		--no-data-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="rgb(128,0,0)"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>');
		display: none;
	}

	.identificatore-model.identificatore-processed {
		display: grid;
		grid-template-columns: 9rem auto;
		column-gap: 1rem;
		background-color: #0e02;
	}

	.identificatore-model.identificatore-processed.identificatore-unrecognized {
		background-color: #e002;
	}

	.identificatore-model.identificatore-processed::before {
		content: "Pagina " attr(data-page-index-descriptive);
		display: block;
		aspect-ratio: 21 / 29;
		padding: 0.5rem;
		background-color: #fff;
		text-align: center;
		box-shadow: 0 0 0.7rem 0 #0003;
		background-image: var(--qr-icon);
		background-position: center;
		background-repeat: no-repeat;
		background-size: 75%;
	}

	.identificatore-model.identificatore-processed.identificatore-unrecognized::before {
		background-image: var(--no-data-icon);
	}

	.identificatore-pages-viewport:empty {
		display: none;
	}

	.identificatore-pages-viewport {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}

	.identificatore-pages-viewport > * {
		border: #ccc solid 0.1rem;
		padding: 1rem;
	}

	.qrcode-hyperdroid {
		width: 18rem;
	}

	.img-schema-flusso {
		width: 30%;
		border: solid 1px #bbb;
		cursor: pointer;
	}

	tr.tbl-operations {
		border-top: solid 1px #ccc;
		border-bottom: solid 1px #ccc;
	}

	tr.fornitore .nest-symbol,
	tr.fornitore.has-subfornitori .btn-delete,
	tr.subfornitore .btn-add-sub {
		display: none;
	}

	tr.subfornitore .first-cell {
		padding-left: 1rem;
		white-space: nowrap;
	}

	tr.subfornitore .nest-symbol {
		cursor: initial;
	}

	.combo-pubblicazione-cantieri {
		display: inline-block;
		margin-top: 0.7rem;
		margin-left: 1rem;
	}

	.ro-combo-pubblicazione-cantieri {
		display: block;
		margin: 0.1rem;
		height: fit-content;
	}

	.tr-dati-contab td {
		font-size: 9pt;
	}

	.table-contab {
	    border: solid 1px #ccc;
    	width: 20rem;
	}

	.table-contab tr td {
		border: solid 1px #ccc;
	}

	.div-attach-aua {
		padding: 0.5rem;
	}

	.a-attach-aua, .a-download-allegato-ddt {
		font-size: medium;
		color: var(--info);
		cursor: pointer;
		/* text-decoration: underline; */
	}

	.a-attach-aua::before, .a-attach-ticket-dettagli::before, .a-download-allegato-ddt::before {
		font-family: "Material Icons";
		content: "attach_file";
		display: inline;
		vertical-align: middle;
	}

	.open-note-aua {
		cursor: pointer;
	}

	.btn-notifica-pubblicazione[data-selected="1"] {
		background-color: var(--success-bg);
		border: solid 1px var(--success);
	}

	.wrapper-table-accorpabili {
		max-height: 20rem; 
		overflow-y: auto;
	}

	.table-accorpabili thead {
		position: sticky; 
		top: 0; 
		background-color: white;
	}

	.table-accorpabili, .table-accorpabili tr td, /* .table-accorpabili thead, */ .table-accorpabili thead tr td {
		border: solid 1px #ccc;
	}

	.order-by {
		cursor: pointer;
	}

	.order-by.active::before {
		color: green;
	}

	.order-by::before {
		font-family: "Material Icons";
		content: "low_priority";
		display: inline;
		vertical-align: middle;
		padding-right: 0.3rem;
		font-size: 16pt;
	}

	.inline-link-attachments {
		display: block;
 		padding: 0.2rem 0 0.2rem 0;
	}

	.a-attach-ticket-dettagli {
		display: inline-block;
	}

	.note-attivita {
		width: 50%;
	}

	.info-odl-nc-wrapper {
		vertical-align: top;
	}

	.info-odl-nc-container {
		width: fit-content;
	}

	.info-odl-nc {
		display: block;
	}

	a.unsetting-a {
		all: unset;
	}

	.hidden {
		display: none;
	}