
.editlinefe {
width:18px;
height:18px;
background-image:url('../img/editlinefe.png');
background-repeat: no-repeat;
background-position: center;
margin:0;
padding:0;
}

.editlinefe span {
color: transparent;
}

.error_fe { color:#FFFFFF; border: 1px solid #a20b0b; background-color: #a01212; padding: 5px; border-radius:.25rem;
color: #fff; }
.ok_fe { color:#FFFFFF; border: 1px solid #076f4d; background-color: #55a580; padding: 5px; border-radius:.25rem; color:
#fff;}
/* Esito sintetico della prova di connessione (solo OK/KO: il dettaglio sta nei messaggi
   evento). Colori standard del progetto: verde #198719 positivo, rosso #c52222 negativo. */
.fe_test_ok { color:#fff; background-color:#198719; border:1px solid #198719; padding:2px 10px; border-radius:.25rem; font-weight:bold; }
.fe_test_ko { color:#fff; background-color:#c52222; border:1px solid #c52222; padding:2px 10px; border-radius:.25rem; font-weight:bold; }
.fe_warning {color:#DD1919}

.box_status_invoice {
/*color:#FFFFFF;
background-color:
rgb(#ff6b35);*/
text-align: center;
padding: 10px;
width:50%;
margin: 0 auto;
margin-top:10px;
margin-bottom:10px;

}

a.updateStatusSDI {cursor:pointer}

.total_warning {
position: relative;
width:25px;
height:18px;
background-image:url('../img/warning.png');
background-repeat: no-repeat;
background-position: center;
margin:0;
padding:0;
}

.total_warning .tooltip {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}

.total_warning:hover .tooltip {
visibility: visible;
opacity: 1;
}

.minwidth600fe { min-width:600px; }

input#force_xml_totals { margin-top:30px; }

div.butActionShow {
background: var(--colorbackhmenu1);
color: #FFF !important;
border-radius: 3px;
border-collapse: collapse;
border: none;
cursor:pointer;
display:inline-block;
margin:3px;
padding:5px 5px;
}

ul[id*="ui-id-"].ui-widget-content.ui-widget-content { z-index:2000; }

/* dialog che mostra in chiaro una credenziale (setup Doceasy/API): niente stili inline nella pagina */
.fe_dialog_pass { display: none; justify-content: center; align-items: center; font-size: 30px; word-break: break-all; }
.fe_dialog_pass.fe_dialog_pass_visible { display: flex; }

td.td_predef_fp { background-color: #c7c3b6; }
td.td_predef_fp_new { background-color: #becdcc; }
td.td_predef_fp_fourn { background-color: #cecece; }

tr.liste_total td.bl_remain, td.bl_remain {color: #FFFFFF; background-color:#c52222; }
tr.liste_total td.bl_paid, td.bl_paid {color: #198719; background-color:#d4d7ca; }

@media only screen and (min-width: 1023px)
{
.minwidth700 { min-width: 700px; }
}

/* Preset rapidi in stile "card" della rendicontazione CONAI (report_conai.php).
   Ogni card ha un bordo sinistro colorato per gruppo (mese/trimestre/anno).
   Il colore accento e' una CSS custom property, impostata dalle classi modificatrici,
   per non usare stili inline nelle view. */
.fe-conai-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}
.fe-conai-preset-card {
	--fe-conai-accent: #2b6ca3;
	background-color: #f7f9fb;
	border: 1px solid #e2e6ea;
	border-left: 4px solid var(--fe-conai-accent);
	border-radius: 6px;
	padding: 10px 16px;
	min-width: 120px;
	font-weight: bold;
	color: var(--fe-conai-accent);
	cursor: pointer;
	text-align: left;
	transition: box-shadow 0.15s ease, transform 0.05s ease;
}
.fe-conai-preset-card:hover {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.fe-conai-preset-card:active {
	transform: translateY(1px);
}
.fe-conai-preset-card--active {
	background-color: var(--fe-conai-accent);
	color: #fff;
}
.fe-conai-preset-card--blue { --fe-conai-accent: #2b6ca3; }
.fe-conai-preset-card--green { --fe-conai-accent: #198719; }
.fe-conai-preset-card--orange { --fe-conai-accent: #e8821e; }

/* Intestazione del popup "elenco fatture" (ajax/conai_invoices.php) */
.conai-popup-header { margin-bottom: 8px; }
/* I conteggi fatture cliccabili nelle tabelle CONAI */
a.conai-invoices-link { cursor: pointer; }

/* Visualizzazione XML grezzo nella pagina view_fatturaelettronica.php */
pre.fe-raw-xml {
	white-space: pre-wrap;
	word-wrap: break-word;
	font-family: monospace;
	font-size: 12px;
	line-height: 1.4;
	background-color: #f8f8f8;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 12px;
	margin: 10px 0;
	max-width: 100%;
	overflow-x: auto;
}

/* Documentazione markdown del modulo (es. TS Digital) - tema rosso */
.fe-wiki-doc {
	max-width: 1000px;
	line-height: 1.6;
}
.fe-wiki-logos {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 4px 0 18px 0;
}
.fe-wiki-logo {
	display: block;
	height: 56px;
	width: auto;
}
.fe-wiki-doc h1,
.fe-wiki-doc h2,
.fe-wiki-doc h3,
.fe-wiki-doc h4 {
	color: #c52222;
	border-bottom: 1px solid #f0c9c9;
	padding-bottom: 4px;
	margin-top: 1.4em;
}
.fe-wiki-doc h1 {
	border-bottom-width: 2px;
}
.fe-wiki-doc a {
	color: #c52222;
	text-decoration: underline;
}
.fe-wiki-doc blockquote {
	border-left: 4px solid #c52222;
	background-color: #fdf2f2;
	margin: 1em 0;
	padding: 8px 14px;
	color: #7a2222;
}
.fe-wiki-doc code {
	background-color: #fdf2f2;
	color: #c52222;
	padding: 1px 5px;
	border-radius: 3px;
	font-family: monospace;
}
.fe-wiki-doc pre {
	background-color: #f8f8f8;
	border: 1px solid #f0c9c9;
	border-radius: 4px;
	padding: 12px;
	overflow-x: auto;
}
.fe-wiki-doc pre code {
	background-color: transparent;
	color: inherit;
	padding: 0;
}
.fe-wiki-doc table {
	border-collapse: collapse;
	margin: 1em 0;
	width: 100%;
}
.fe-wiki-doc table th {
	background-color: #c52222;
	color: #ffffff;
	border: 1px solid #c52222;
	padding: 6px 10px;
	text-align: left;
}
.fe-wiki-doc table td {
	border: 1px solid #e0c0c0;
	padding: 6px 10px;
	vertical-align: top;
}
.fe-wiki-doc table tr:nth-child(even) td {
	background-color: #fdf6f6;
}
/* Box informativo azzurro per avvisi nei popup del modulo (es. riassegnazione prodotti di riga) */
.fe-info-box {
	background-color: #e7f3fe;
	border: 1px solid #b3d9f7;
	border-left: 4px solid #2196f3;
	border-radius: 4px;
	padding: 10px 12px;
	margin: 10px 0 0 0;
	color: #0c5394;
}

/* ---- Invio massivo allo SdI: barra di avanzamento (catena AJAX) + banner di ripresa ---- */
.fei-hidden {
	display: none !important;
}
.fei-sdi-progress {
	position: fixed;
	right: 16px;
	bottom: 16px;
	width: 320px;
	max-width: 80vw;
	background-color: #ffffff;
	border: 1px solid #b3d9f7;
	border-left: 4px solid #2196f3;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	padding: 12px 14px;
	z-index: 10000;
}
.fei-sdi-progress-title {
	font-weight: bold;
	margin-bottom: 8px;
	color: #0c5394;
}
.fei-sdi-progress-bar {
	height: 14px;
	background-color: #e7f3fe;
	border-radius: 7px;
	overflow: hidden;
	margin-bottom: 6px;
}
.fei-sdi-progress-fill {
	height: 100%;
	width: var(--fei-pct, 0%);
	background-color: #198719;
	transition: width 0.3s ease;
}
.fei-sdi-progress-text {
	font-size: 0.9em;
	color: #333333;
}
.fei-sdi-progress-actions {
	margin-top: 8px;
}
.fei-sdi-resume {
	position: fixed;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #fff8e1;
	border: 1px solid #ffe0a3;
	border-left: 4px solid #ff9800;
	border-radius: 4px;
	padding: 10px 14px;
	z-index: 10000;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.fei-sdi-resume-text {
	margin-right: 8px;
	color: #8a5a00;
}

/* Mastrino contabile: evidenziazione righe speciali */
.fei-mastrino-linked td {
	background-color: #f5f5f5;
}
.fei-mastrino-linkarrow {
	color: #888;
	margin-right: 4px;
}
/* NC anomale: pagate ma senza contropartita reale (né cassa, né credito, né uso) */
.fei-mastrino-anomaly td {
	background-color: #fff3cd;
	box-shadow: inset 4px 0 0 0 #e0a800;
}
/* Transazioni bancarie: già regolate, per questo fuori dallo scadenzario */
.fei-mastrino-bank td {
	background-color: #e7f1fb;
	box-shadow: inset 4px 0 0 0 #2f6fb0;
}
.fei-mastrino-flag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 6px;
	border-radius: 3px;
	font-size: 0.8em;
	font-weight: 600;
	white-space: nowrap;
	vertical-align: middle;
}
.fei-mastrino-flag-anomaly {
	background-color: #e0a800;
	color: #4d3b00;
}
.fei-mastrino-flag-bank {
	background-color: #2f6fb0;
	color: #ffffff;
}

/* Mastrino: riepilogo per tipologia - riga NC anomale e saldo aperto */
.fei-mastrino-anomaly-amount {
	color: #4d3b00;
	font-weight: 600;
}
.fei-mastrino-openbal-row td {
	border-top: 2px solid #b0b8c0;
}
.fei-mastrino-openbal-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 5px;
	color: #ffffff;
	font-size: 1.05em;
	font-weight: 700;
}
.fei-mastrino-openbal-pos {
	background-color: #198719;
}
.fei-mastrino-openbal-neg {
	background-color: #c52222;
}

/* Mastrino: delta nella riga totale del riepilogo annuale */
.fei-mastrino-delta-pos {
	color: #198719;
}
.fei-mastrino-delta-neg {
	color: #c52222;
}

/* Popup "Crea autofattura": elenco delle autofatture gia' collegate alla fattura passiva */
ul.fe-autofatture-linked {
	margin: 6px 0 0 0;
	padding-left: 20px;
	list-style-type: disc;
}
ul.fe-autofatture-linked li {
	margin-bottom: 3px;
}

/* Popup di invio a TS Digital: la modalita' di caricamento e' l'informazione che decide il
   destino del documento (solo piattaforma oppure anche Sistema di Interscambio), quindi va
   letta a colpo d'occhio. Banda colorata a sinistra come le card dei cruscotti. */
.fe-tsmode {
	display: block;
	margin: 10px 0 12px 0;
	padding: 8px 12px;
	background-color: #f7f9fb;
	border: 1px solid #e3e9ef;
	border-left-width: 5px;
	border-left-style: solid;
	border-radius: 6px;
}
/* Le righe vanno a capo con i <br> del markup: qui NIENTE display:block, altrimenti i due
   effetti si sommano e lo spazio fra le righe raddoppia. Cosi' il riquadro resta identico
   anche quando il browser sta ancora servendo una copia in cache di questo foglio. */
.fe-tsmode .fe-tsmode-label {
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #6b7785;
}
.fe-tsmode .fe-tsmode-value {
	font-weight: bold;
	font-size: 1.05em;
}
.fe-tsmode .fe-tsmode-note {
	font-size: 0.9em;
	color: #4a5561;
}
/* Verde: il documento prosegue davvero verso lo SdI */
.fe-tsmode-sdi {
	border-left-color: #198719;
}
.fe-tsmode-sdi .fe-tsmode-value {
	color: #198719;
}
/* Ambra: il documento si ferma su TS Digital, non raggiunge lo SdI */
.fe-tsmode-store {
	border-left-color: #d97706;
}
.fe-tsmode-store .fe-tsmode-value {
	color: #d97706;
}

/* Banner della scheda fattura: etichetta del canale (es. "TS") accanto allo stato SdI.
   Solo i colori: dimensione, padding e spaziatura arrivano dalle classi badge del tema,
   cosi' l'etichetta resta allineata agli altri badge in ogni contesto (gotcha #78). */
.fe-badge-channel {
	background-color: #34638f !important;
	color: #ffffff !important;
	margin-left: 4px;
}

/* Badge del tipo documento (TD..) nelle liste di importazione fatture elettroniche.
   Base 'badge badge-status' del tema: qui SOLO i colori, mai font-size/padding, o il badge
   esce di dimensione diversa da quelli di stato che gli stanno accanto (gotcha #78). */
.fe-tdbadge {
  margin-left: 0;
  letter-spacing: .02em;
}
.fe-tdbadge-ordinaria { background-color: #2b6ca3 !important; color: #fff !important; }
.fe-tdbadge-acconto   { background-color: #e8821e !important; color: #fff !important; }
.fe-tdbadge-credito   { background-color: #198719 !important; color: #fff !important; }
.fe-tdbadge-debito    { background-color: #c52222 !important; color: #fff !important; }
.fe-tdbadge-speciale  { background-color: #7c3aed !important; color: #fff !important; }

/* Saldi clienti/fornitori (balance_active.php, balance_passive.php): evidenziazione degli
   importi e delle scadenze superate. Sfondo tenue e testo scuro, non il contrario: in una
   colonna di numeri un fondo pieno per riga sarebbe rumore, non lettura. */
.fe-bal-paid,
.fe-bal-remain,
.fe-bal-overdue {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 700;
}
.fe-bal-paid    { background-color: #dff0d8; color: #198719; }
.fe-bal-remain  { background-color: #f7dcdc; color: #c52222; }
.fe-bal-overdue { background-color: #fde3c0; color: #8a4b08; }

/* Compensazione fatture clienti/fornitori (compensazione_card.php): quadratura dei due lati.
   Riquadro a semaforo sopra il bottone di registrazione: verde quando i due lati coincidono al
   centesimo (si puo' registrare), rosso altrimenti. Bordo sinistro spesso colorato come i box KPI
   condivisi fra i moduli; il testo eredita il colore del riquadro, cosi' vince sul .amount del tema. */
.fecomp-side .fecomp-amount { text-align: right; }
.fecomp-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px 0;
  padding: 10px 14px;
  border: 1px solid;
  border-left-width: 5px;
  border-radius: 6px;
  font-weight: 700;
}
.fecomp-check-ok { background-color: #eaf5ea; border-color: #198719; color: #198719; }
.fecomp-check-ko { background-color: #fbeaea; border-color: #c52222; color: #c52222; }
.fecomp-check span { color: inherit; }
.fecomp-check-icon { font-size: 1.3em; }
.fecomp-check-amount { margin-left: auto; font-size: 1.2em; white-space: nowrap; }
.fecomp-check-label { font-weight: 400; font-size: .72em; text-transform: uppercase; letter-spacing: .04em; opacity: .85; margin-right: 8px; }

/* Stampa della fattura elettronica da view_fatturaelettronica.php (bottone "Stampa" = window.print()).
   Ancorato a body.fe-xmlview, messo dalla pagina via llxHeader(): le regole non toccano la stampa
   del resto di Dolibarr. I fogli XSL (AdE, AssoSoftware, ItalWork) portano larghezze fisse in pixel
   (900-930px, piu' di un A4 utile), salti pagina forzati e blocchi con padding da schermo: qui si
   neutralizzano. Il resto dell'interfaccia va tolto con display:none, non visibility:hidden, perche'
   un elemento invisibile occupa comunque spazio e produce pagine bianche. */
@media print {
	@page { size: A4 portrait; margin: 12mm 10mm 14mm 10mm; }

	body.fe-xmlview #id-top,
	body.fe-xmlview #id-left,
	body.fe-xmlview .side-nav,
	body.fe-xmlview .side-nav-vert,
	body.fe-xmlview .d-print-none,
	body.fe-xmlview table.table-fiche-title,
	body.fe-xmlview #fattura-elettronica div.page .versione,
	body.fe-xmlview #fattura-elettronica div.page .sistema {
		display: none !important;
	}
	body.fe-xmlview,
	body.fe-xmlview #id-container,
	body.fe-xmlview #id-right,
	body.fe-xmlview .fiche {
		position: static !important;
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		overflow: visible !important;
	}
	/* Contenitori e tabelle degli XSL: larghezza del foglio, non 900px */
	body.fe-xmlview #fattura-container,
	body.fe-xmlview #fattura-elettronica,
	body.fe-xmlview #fattura-elettronica table {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	body.fe-xmlview #fattura-elettronica div.page {
		margin: 0 !important;
		padding: 0 0 6mm 0 !important;
		border: 0 none !important;
		box-shadow: none !important;
		background: transparent !important;
	}
	/* Foglio AdE: un blocco per pagina a schermo, in stampa scorre; titoli e liste in scala */
	body.fe-xmlview #fattura-elettronica h1 { font-size: 18pt !important; padding: 0 !important; }
	body.fe-xmlview #fattura-elettronica h2,
	body.fe-xmlview #fattura-elettronica h3 { font-size: 12pt !important; padding: 4mm 0 0 0 !important; }
	body.fe-xmlview #fattura-elettronica h4,
	body.fe-xmlview #fattura-elettronica h5 { font-size: 10pt !important; padding: 2mm 0 0 0 !important; }
	body.fe-xmlview #fattura-elettronica ul { padding: 1mm 0 0 6mm !important; }
	body.fe-xmlview #fattura-elettronica,
	body.fe-xmlview #fattura-elettronica td,
	body.fe-xmlview #fattura-elettronica th,
	body.fe-xmlview #fattura-elettronica li { font-size: 8pt !important; }
	/* Salti pagina: mai dentro una riga o un blocco, mai forzati dal foglio; testata ripetuta */
	body.fe-xmlview #fattura-elettronica tr,
	body.fe-xmlview #fattura-elettronica li,
	body.fe-xmlview #fattura-elettronica h3,
	body.fe-xmlview #fattura-elettronica h4 { page-break-inside: avoid; break-inside: avoid; }
	body.fe-xmlview #fattura-elettronica h3,
	body.fe-xmlview #fattura-elettronica h4 { page-break-after: avoid; break-after: avoid; }
	body.fe-xmlview #fattura-elettronica tr.break { page-break-after: auto !important; break-after: auto !important; }
	body.fe-xmlview #fattura-elettronica thead { display: table-header-group; }
	body.fe-xmlview #fattura-elettronica table { page-break-inside: auto; }
}

/* Filtro al volo per origine (Italia / Estere) nelle pagine di import fatture passive.
   Pattern "segmented control" condiviso fra i moduli (customerbudget .cbrep_seg): pillola piena =
   scelta attiva. Selettori con "a." e pseudo-classi, o il tema (a:link) vince e il testo esce blu su blu. */
.fe-origin-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 6px 0 10px 0; }
.fe-origin-filter-lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: #777; font-weight: bold; }
.fe-segmented { display: inline-flex; border: 1px solid #34638f; border-radius: 18px; overflow: hidden; }
a.fe-seg, a.fe-seg:link, a.fe-seg:visited { padding: 5px 16px; font-size: 13px; text-decoration: none; color: #34638f; background: #fff; border-right: 1px solid #34638f; white-space: nowrap; }
a.fe-seg:last-child { border-right: 0; }
a.fe-seg:hover { background: #eef3f8; color: #34638f; }
a.fe-seg.fe-seg-active, a.fe-seg.fe-seg-active:link, a.fe-seg.fe-seg-active:visited, a.fe-seg.fe-seg-active:hover { background: #34638f; color: #fff; font-weight: bold; }
.fe-seg-count { opacity: .8; font-weight: normal; }

/* Elenco fatture passive: icona delle bozze importate da xml i cui totali non quadrano con il
   documento (ambra = arrotondamento sanabile alla convalida, rosso = differenza da verificare). */
.fe-xmldelta-rounding { color: #e8821e; }
.fe-xmldelta-diff { color: #c52222; }
