﻿/* ==========================================================================
   CEShop redesign - tema per TUTTE le schermate esistenti
   Caricato per ultimo da FullStyled.Master, LightDefault.Master e PopupDefault.Master.
   Tutto e` sotto body.rdt: vince sui colori del tema (css/color/*.css) e su base.css
   senza toccare il markup delle pagine. Stessa palette delle nuove schermate (redesign.css).
   ========================================================================== */

body.rdt {
	--rd-ground: #F2F3EF;
	--rd-surface: #FFFFFF;
	--rd-surface-2: #F7F8F5;
	--rd-ink: #16191D;
	--rd-ink-2: #3F454C;
	--rd-muted: #5B6169;
	--rd-line: #DCDFD8;
	--rd-line-2: #ECEEE8;
	--rd-input: #C9CDC4;
	--rd-petrol: #0F5C6E;
	--rd-petrol-dark: #0A4250;
	--rd-petrol-tint: #E3EFF1;
	--rd-petrol-row: #F3F8F9;
	--rd-amber: #F0B23A;
	--rd-amber-tint: #FDF1D8;
	--rd-amber-text: #6E4800;
	--rd-green: #1F7A4D;
	--rd-green-text: #1F5E3E;
	--rd-green-tint: #E3F1E9;
	--rd-red: #B3261E;
	--rd-red-text: #8E1F18;
	--rd-red-tint: #FBE9E7;
	--rd-dark: #16191D;
	--rd-dark-2: #2A3036;
	--rd-mono: 'IBM Plex Mono', Consolas, monospace;

	padding-top: 0;                 /* fullstyled.css: 70px per la vecchia navbar fissa */
	background: var(--rd-ground);
	color: var(--rd-ink);
	font-family: 'IBM Plex Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/* ---------- tipografia ---------- */
body.rdt h1, body.rdt h2, body.rdt h3, body.rdt h4, body.rdt h5, body.rdt h6,
body.rdt .h1, body.rdt .h2, body.rdt .h3, body.rdt .h4 { font-family: inherit; color: var(--rd-ink); }
body.rdt h1, body.rdt .h1 { font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; }
body.rdt h1 small, body.rdt h2 small, body.rdt h3 small { color: var(--rd-muted); font-weight: 500; }
body.rdt h2, body.rdt .h2 { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
body.rdt h3, body.rdt .h3 { font-size: 18px; font-weight: 600; }
body.rdt h4, body.rdt .h4 { font-size: 16px; font-weight: 600; }
body.rdt h5, body.rdt h6 { font-size: 14px; font-weight: 600; }
body.rdt a { color: var(--rd-petrol); }
body.rdt a:hover, body.rdt a:focus { color: var(--rd-petrol-dark); }
body.rdt hr { border-top-color: var(--rd-line); }
body.rdt small, body.rdt .small { font-size: 88%; }
body.rdt .lead { font-size: 17px; }
body.rdt .text-muted { color: var(--rd-muted); }
body.rdt .text-primary { color: var(--rd-petrol); }
body.rdt .text-success { color: var(--rd-green-text); }
body.rdt .text-info { color: var(--rd-petrol-dark); }
body.rdt .text-warning { color: #8A5A00; }
body.rdt .text-danger { color: var(--rd-red-text); }
body.rdt :focus-visible { outline: 3px solid var(--rd-petrol-tint); outline-offset: 2px; }
body.rdt ::selection { background: var(--rd-petrol-tint); }

/* ==========================================================================
   TESTATA (FullStyled / PopupDefault)
   ========================================================================== */
.rdt-header { background: var(--rd-surface); border-bottom: 1px solid var(--rd-line); position: relative; z-index: 900; }
.rdt-header-inner { max-width: 1360px; margin: 0 auto; padding: 12px 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.rdt-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.rdt-brand a { text-decoration: none !important; }
.rdt-logo img { display: block; max-height: 60px; max-width: 200px; width: auto; height: auto; }
body.rdt a.rdt-brand-title { color: var(--rd-ink); font-weight: 700; font-size: 18px; letter-spacing: -0.01em; white-space: nowrap; }
.rdt-brand-mark { width: 36px; height: 36px; border-radius: 9px; background: var(--rd-petrol); color: #FFFFFF; display: grid; place-items: center; font-family: var(--rd-mono); font-weight: 600; font-size: 14px; flex: none; }

/* ricerca generica nella testata */
/* casella e link "Ricerca avanzata" sulla stessa riga: con il link sotto la casella il blocco diventava piu` alto e la casella non era piu` allineata a logo, carrello, lingua e utente */
.rdt-search-wrap { flex: 1 1 360px; max-width: 760px; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.rdt-search { flex: 1 1 240px; min-width: 0; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 5px 0 14px; border: 1px solid var(--rd-input); border-radius: 12px; background: var(--rd-surface-2); }
.rdt-search:focus-within { border-color: var(--rd-petrol); background: var(--rd-surface); box-shadow: 0 0 0 3px var(--rd-petrol-tint); }
.rdt-search > .fa { color: var(--rd-muted); }
body.rdt .rdt-search input,
body.rdt .rdt-search .form-control { flex: 1 1 auto; min-width: 0; height: 40px; border: 0; background: transparent; box-shadow: none; padding: 0; font-size: 15px; color: var(--rd-ink); outline: none; }
body.rdt .rdt-search .input-group { flex: 1 1 auto; display: flex; min-width: 0; }
body.rdt .rdt-search .btn { min-height: 36px; height: 36px; padding: 0 14px; border-radius: 9px; align-content: center;}
.rdt-search-extra { flex: none; display: flex; align-items: center; gap: 10px; font-size: 13px; padding: 0; white-space: nowrap; }
.rdt-search-extra:empty { display: none; }
body.rdt .rdt-search-extra a { color: var(--rd-muted); }
body.rdt .rdt-search-extra a:hover { color: var(--rd-petrol); }

/* strumenti a destra: carrello, lingua, utente */
.rdt-tools { margin-left: auto; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rdt-tools-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; justify-content:center; }
.rdt-tools-list > li { position: relative; }
body.rdt a.rdt-tool { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid transparent; color: var(--rd-ink); font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer; }
body.rdt a.rdt-tool:hover, body.rdt .open > a.rdt-tool { background: var(--rd-surface-2); border-color: var(--rd-line); color: var(--rd-ink); }
.rdt-tool img { width: 20px; height: auto; border-radius: 3px; }
/* bandiera mancante (non c'e` nella tabella Immagini): al suo posto la sigla della lingua */
.rdt-flag-testo { display: inline-grid; place-items: center; min-width: 22px; height: 16px; padding: 0 3px; border-radius: 3px; background: var(--rd-line-2); color: var(--rd-ink-2); font: 600 10px/1 var(--rd-mono); letter-spacing: 0.04em; vertical-align: middle; }
/* lingua scelta nel menu: voce attiva (generic.css le mette un contorno nero) */
body.rdt .dropdown-menu > li > a.flagselected { outline: 0; background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); font-weight: 600; }
.rdt-tool .caret { color: var(--rd-muted); }
.rdt-avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--rd-petrol-tint); color: var(--rd-petrol); display: grid; place-items: center; font-size: 14px; }
.rdt-cart { position: relative; }
body.rdt a.rdt-cart-btn { border-color: var(--rd-petrol); color: var(--rd-petrol); font-weight: 600; }
body.rdt a.rdt-cart-btn:hover, body.rdt .open > a.rdt-cart-btn { background: var(--rd-petrol-tint); border-color: var(--rd-petrol); color: var(--rd-petrol-dark); }
.rdt-count { font-family: var(--rd-mono); font-size: 12px; font-weight: 700; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--rd-amber); color: var(--rd-ink); display: inline-grid; place-items: center; }
.rdt-cart-label { font-weight: 500; }

/* schede di navigazione */
.rdt-nav { max-width: 1360px; margin: 0 auto; padding: 0 32px; display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; }
.rdt-tabs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px; flex: 0 1 auto; }
.rdt-tabs > li { position: relative; }
body.rdt .rdt-tabs > li > a { display: flex; align-items: center; gap: 7px; padding: 12px 12px 10px; color: var(--rd-muted); font-size: 15px; font-weight: 500; text-decoration: none; border-bottom: 3px solid transparent; background: transparent; white-space: nowrap; }
body.rdt .rdt-tabs > li > a:hover, body.rdt .rdt-tabs > li.open > a { color: var(--rd-ink); background: transparent; }
body.rdt .rdt-tabs > li.active > a { color: var(--rd-ink); font-weight: 600; border-bottom-color: var(--rd-petrol); }
body.rdt .rdt-tabs > li > a .fa { font-size: 15px; }
.rdt-new-chip { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 1px 6px; border-radius: 999px; background: var(--rd-amber-tint); color: var(--rd-amber-text); }
.rdt-tabs-sep { width: 1px; align-self: stretch; margin: 10px 6px; background: var(--rd-line); }
body.rdt .rdt-nav-toggle { display: none; align-items: center; gap: 8px; min-height: 44px; margin: 6px 0; padding: 0 14px; border: 1px solid var(--rd-input); border-radius: 10px; background: var(--rd-surface); color: var(--rd-ink); font-weight: 600; }

/* elenco operazioni a due colonne nel menu "Operazioni" */
@media (min-width: 992px) {
	body.rdt #masterops { min-width: 560px; column-count: 2; column-gap: 4px; }
	body.rdt #masterops > li { break-inside: avoid; }
}
body.rdt #masterops { max-height: 75vh; overflow-y: auto; }

/* ---------- cliente corrente: nella stessa riga delle schede del menu ---------- */
/* a destra delle schede, in un riquadro sottile: nome (o invito a sceglierlo) e codice su due righe, pulsante "Cambia" accanto. Se manca spazio il nome si accorcia con i puntini
   e il pulsante resta visibile; se nemmeno cosi' ci sta (schermi stretti) il riquadro va a capo sotto le schede, sempre a destra */
.rdt-context { flex: 1 1 300px; min-width: 0; display: flex; justify-content: flex-end; align-items: center; padding: 2px 0; }
.rdt-context-inner { min-width: 0; max-width: 100%; margin: 0; padding: 3px 4px 3px 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 14px; border: 1px solid var(--rd-line); border-radius: 12px; }
.rdt-context-testo { flex: 1 1 150px; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.rdt-context-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--rd-ink); }
.rdt-context-code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--rd-mono); font-size: 12px; line-height: 1.35; color: var(--rd-muted); }
.rdt-context-code a { font-family: var(--rd-mono); }
/* senza un cliente scelto, al posto del codice c'e` l'invito a sceglierlo: e` una frase, non un codice (fino a due righe) */
.rdt-context-name:empty + .rdt-context-code, .rdt-context-name:empty + .rdt-context-code a { font-family: inherit; }
.rdt-context-name:empty + .rdt-context-code { font-size: 13px; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.rdt-context-inner .btn { flex: none; }
body.rdt .rdt-context .fa-3x { font-size: 22px; vertical-align: middle; color: var(--rd-petrol); }
.rdt-context-rating { flex: none; display: inline-flex; align-items: center; gap: 8px; color: var(--rd-ink-2); }
/* il code-behind mette colori in linea (green/yellow/red): giallo su bianco non si legge */
body.rdt .rdt-context .fa-smile-o { color: var(--rd-green) !important; }
body.rdt .rdt-context .fa-meh-o { color: #B07A12 !important; }
body.rdt .rdt-context .fa-frown-o { color: var(--rd-red) !important; }
.rdt-context-mexal { flex: none; margin: 0; padding: 3px 10px; border-radius: 999px; background: var(--rd-surface-2); font-size: 13px; white-space: nowrap; }
.rdt-context-impersona { margin-left: auto; }
body.rdt .rdt-context-impersona .row { display: inline; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin: 0; }
body.rdt .rdt-context-impersona [class*="col-"] { float: none; width: auto; padding: 0; }
body.rdt .rdt-context-impersona br { display: none; }

/* ---------- accesso (utente non collegato) ---------- */
/* chiara, con il colore del sito (impostazione "Stile colori sito") */
.rdt-loginbar { background: var(--rd-petrol-row); border-bottom: 1px solid var(--rd-line); color: var(--rd-ink); }
.rdt-loginbar-inner { max-width: 1360px; margin: 0 auto; padding: 12px 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.rdt-loginbar-title { font-weight: 600; font-size: 15px; display: flex; align-items: center; gap: 10px; color: var(--rd-petrol-dark); }
.rdt-loginbar-title .fa { color: var(--rd-petrol); }
body.rdt .rdt-loginbar .form-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
body.rdt .rdt-loginbar .form-group { margin: 0; width: 230px; max-width: 100%; display: inline-block; vertical-align: middle; }
body.rdt .rdt-loginbar .form-control { width: 100%; }
body.rdt .rdt-loginbar .input-group { width: 100%; }
body.rdt .rdt-loginbar label, body.rdt .rdt-loginbar span { color: inherit; }

/* ==========================================================================
   CORPO PAGINA
   ========================================================================== */
.rdt-main { max-width: 1360px; margin: 0 auto; padding: 24px 32px 40px; }
body.rdt #main-content > .content { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 16px; padding: 24px 28px 28px; min-height: 360px; }
body.rdt #main-content > .content > *:last-child { margin-bottom: 0; }

/* intestazione delle pagine: percorso + titolo */
body.rdt .title-area { margin: 0 0 22px; padding-bottom: 16px; border-bottom: 1px solid var(--rd-line-2); }
body.rdt .title-area h1 { margin: 2px 0 0; }
body.rdt .title-area h2 { margin: 0 0 4px; }
body.rdt .breadcrumb { background: var(--rd-surface-2); border: 1px solid var(--rd-line-2); border-radius: 12px; padding: 12px 16px; margin: 0 0 20px; color: var(--rd-ink-2); }
body.rdt .breadcrumb > li + li:before { color: #A9AFA6; padding: 0 6px; }
body.rdt ol.breadcrumb.ces-navigator { background: transparent; border: 0; padding: 0; margin: 0 0 6px; font-size: 13px; color: var(--rd-muted); }
body.rdt ol.breadcrumb.ces-navigator > .active { color: var(--rd-ink-2); font-weight: 500; }
body.rdt ol.breadcrumb.ces-navigator a { color: var(--rd-muted); }
body.rdt ol.breadcrumb.ces-navigator a:hover { color: var(--rd-petrol); }
body.rdt .page-header { border-bottom-color: var(--rd-line-2); }

/* ---------- pulsanti ---------- */
body.rdt .btn { border-radius: 10px; border-width: 1px; font-size: 14px; font-weight: 500; line-height: 1.4; padding: 9px 16px; box-shadow: none; text-shadow: none; background-image: none; transition: background-color .12s ease, border-color .12s ease, color .12s ease; }
body.rdt .btn:active, body.rdt .btn.active { box-shadow: inset 0 2px 4px rgba(22, 25, 29, 0.08); }
body.rdt .btn .fa { margin-right: 2px; }
body.rdt .btn-default, body.rdt input[type=submit]:not([class]), body.rdt input[type=button]:not([class]) { background: var(--rd-surface); border: 1px solid var(--rd-input); color: var(--rd-ink); }
body.rdt input[type=submit]:not([class]), body.rdt input[type=button]:not([class]) { border-radius: 10px; padding: 9px 16px; font-weight: 500; cursor: pointer; }
body.rdt .btn-default:hover, body.rdt .btn-default:focus, body.rdt .btn-default:active, body.rdt .btn-default.active, body.rdt .open > .dropdown-toggle.btn-default,
body.rdt input[type=submit]:not([class]):hover, body.rdt input[type=button]:not([class]):hover { background: var(--rd-surface-2); border-color: #AEB3A9; color: var(--rd-ink); }
body.rdt .btn-primary, body.rdt .btn-primary.disabled, body.rdt .btn-primary[disabled] { background: var(--rd-petrol); border-color: var(--rd-petrol); color: #FFFFFF; font-weight: 600; }
body.rdt .btn-primary:hover, body.rdt .btn-primary:focus, body.rdt .btn-primary:active, body.rdt .btn-primary.active, body.rdt .open > .dropdown-toggle.btn-primary { background: var(--rd-petrol-dark); border-color: var(--rd-petrol-dark); color: #FFFFFF; }
body.rdt .btn-success, body.rdt .btn-success.disabled, body.rdt .btn-success[disabled] { background: var(--rd-green); border-color: var(--rd-green); color: #FFFFFF; font-weight: 600; }
body.rdt .btn-success:hover, body.rdt .btn-success:focus, body.rdt .btn-success:active, body.rdt .btn-success.active { background: #186240; border-color: #186240; color: #FFFFFF; }
body.rdt .btn-warning, body.rdt .btn-warning.disabled, body.rdt .btn-warning[disabled] { background: var(--rd-amber); border-color: var(--rd-amber); color: var(--rd-ink); font-weight: 600; }
body.rdt .btn-warning:hover, body.rdt .btn-warning:focus, body.rdt .btn-warning:active, body.rdt .btn-warning.active { background: #E3A22B; border-color: #E3A22B; color: var(--rd-ink); }
body.rdt .btn-danger, body.rdt .btn-danger.disabled, body.rdt .btn-danger[disabled] { background: var(--rd-red); border-color: var(--rd-red); color: #FFFFFF; font-weight: 600; }
body.rdt .btn-danger:hover, body.rdt .btn-danger:focus, body.rdt .btn-danger:active, body.rdt .btn-danger.active { background: #931E18; border-color: #931E18; color: #FFFFFF; }
body.rdt .btn-info, body.rdt .btn-info.disabled, body.rdt .btn-info[disabled] { background: var(--rd-petrol-tint); border-color: #B9D5DB; color: var(--rd-petrol-dark); font-weight: 600; }
body.rdt .btn-info:hover, body.rdt .btn-info:focus, body.rdt .btn-info:active { background: #D2E5E9; border-color: #9FC5CE; color: var(--rd-petrol-dark); }
body.rdt .btn-link { color: var(--rd-petrol); font-weight: 500; }
body.rdt .btn-lg, body.rdt .btn-group-lg > .btn { padding: 12px 22px; font-size: 16px; border-radius: 12px; }
body.rdt .btn-sm, body.rdt .btn-group-sm > .btn { padding: 6px 12px; font-size: 13px; border-radius: 8px; }
body.rdt .btn-xs, body.rdt .btn-group-xs > .btn { padding: 2px 8px; font-size: 12px; border-radius: 6px; }
body.rdt .btn.disabled, body.rdt .btn[disabled], body.rdt .btn.aspNetDisabled, body.rdt fieldset[disabled] .btn { opacity: .5; cursor: not-allowed; }
body.rdt .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; }
body.rdt .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
body.rdt .btn-group > .btn:last-child:not(:first-child), body.rdt .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* ---------- campi ---------- */
body.rdt .form-control { height: 40px; padding: 8px 12px; font-size: 15px; color: var(--rd-ink); background-color: var(--rd-surface); border: 1px solid var(--rd-input); border-radius: 10px; box-shadow: none; transition: border-color .12s ease, box-shadow .12s ease; }
body.rdt .form-control:focus, body.rdt .rd-input:focus { border-color: var(--rd-petrol); outline: none; }
body.rdt .form-control::placeholder { color: #8C9299; }
body.rdt textarea.form-control, body.rdt select[multiple].form-control, body.rdt select[size].form-control { height: auto; }
body.rdt .form-control[disabled], body.rdt .form-control[readonly], body.rdt fieldset[disabled] .form-control { background-color: var(--rd-surface-2); color: var(--rd-ink-2); }
/* tendine: chiuse con la freccia del tema; aperte, nei browser che lo permettono (Chrome/Edge recenti: appearance base-select),
   elenco con gli angoli arrotondati, ombra e voci evidenziate nel colore del sito. Negli altri browser resta l'elenco di sistema */
body.rdt select.form-control:not([multiple]):not([size]), body.rdt select.rd-input:not([multiple]):not([size]) { padding-right: 34px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6169' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 8px; text-overflow: ellipsis; }
@supports (appearance: base-select) {
	body.rdt select.form-control:not([multiple]):not([size]), body.rdt select.form-control:not([multiple]):not([size])::picker(select), body.rdt select.rd-input:not([multiple]):not([size]), body.rdt select.rd-input:not([multiple]):not([size])::picker(select) { appearance: base-select; }
	body.rdt select.form-control:not([multiple]):not([size]), body.rdt select.rd-input:not([multiple]):not([size]) { display: flex; align-items: center; gap: 8px; background-image: none; padding-right: 12px; cursor: pointer; }
	body.rdt select.form-control:not([multiple]):not([size])::picker-icon, body.rdt select.rd-input:not([multiple]):not([size])::picker-icon { content: ""; width: 12px; height: 8px; margin-left: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6169' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px; transition: rotate .15s ease; }
	body.rdt select.form-control:not([multiple]):not([size]):open::picker-icon, body.rdt select.rd-input:not([multiple]):not([size]):open::picker-icon { rotate: 180deg; }
	body.rdt select.form-control:not([multiple]):not([size])::picker(select), body.rdt select.rd-input:not([multiple]):not([size])::picker(select) { margin-top: 4px; padding: 6px; max-height: min(360px, 60vh); overflow-y: auto; border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); box-shadow: 0 12px 32px rgba(22, 25, 29, 0.16); }
	body.rdt select.form-control:not([multiple]):not([size]) option, body.rdt select.rd-input:not([multiple]):not([size]) option { padding: 8px 12px; border-radius: 8px; font-size: 14px; color: var(--rd-ink); background: transparent; cursor: pointer; }
	body.rdt select.form-control:not([multiple]):not([size]) option:hover, body.rdt select.form-control:not([multiple]):not([size]) option:focus-visible, body.rdt select.rd-input:not([multiple]):not([size]) option:hover, body.rdt select.rd-input:not([multiple]):not([size]) option:focus-visible { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); outline: none; }
	body.rdt select.form-control:not([multiple]):not([size]) option:checked, body.rdt select.rd-input:not([multiple]):not([size]) option:checked { background: var(--rd-petrol); color: #FFFFFF; font-weight: 600; }
	body.rdt select.form-control:not([multiple]):not([size]) option::checkmark { display: none; }
	body.rdt select.form-control:not([multiple]):not([size]) option:disabled { color: var(--rd-muted); cursor: not-allowed; }
}
body.rdt .input-sm { height: 32px; padding: 4px 10px; font-size: 13px; border-radius: 8px 0px 0px 8px; }
body.rdt .input-lg { height: 48px; font-size: 17px; border-radius: 12px 0px 0px 12px; }
body.rdt .input-group-addon { background: var(--rd-surface-2); border: 1px solid var(--rd-input); color: var(--rd-muted); border-radius: 10px 0px 0px 10px ; }
body.rdt label, body.rdt .control-label { font-size: 13px; font-weight: 600; color: var(--rd-ink-2); }
body.rdt .checkbox label, body.rdt .radio label, body.rdt label.checkbox-inline, body.rdt label.radio-inline,
body.rdt input[type=checkbox] + label, body.rdt input[type=radio] + label { font-size: 14px; font-weight: 400; color: var(--rd-ink); }
body.rdt input[type=checkbox], body.rdt input[type=radio] { accent-color: var(--rd-petrol); }
body.rdt input[type=checkbox] + label, body.rdt input[type=radio] + label { margin-left: 4px; margin-right: 10px; }
body.rdt .form-group { margin-bottom: 16px; }
body.rdt .help-block { color: var(--rd-muted); font-size: 13px; }
body.rdt .has-error .form-control { border-color: var(--rd-red); }
body.rdt .has-error .help-block, body.rdt .has-error .control-label { color: var(--rd-red-text); }
body.rdt .has-success .form-control { border-color: var(--rd-green); }
body.rdt fieldset { border: 1px solid var(--rd-line); border-radius: 12px; padding: 16px 18px; margin-bottom: 18px; }
body.rdt legend { width: auto; border: 0; padding: 0 6px; margin: 0; font-size: 14px; font-weight: 600; color: var(--rd-ink-2); }

/* ---------- tabelle ---------- */
body.rdt .table { background: var(--rd-surface); font-size: 14px; margin-bottom: 20px; }
body.rdt .table > thead > tr > th, body.rdt .table > thead > tr > td.header { background: var(--rd-surface-2); color: var(--rd-muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; text-align: left; padding: 10px 12px; border-top: 0; border-bottom: 1px solid var(--rd-line); white-space: nowrap; }
body.rdt .table > thead > tr > th a { color: var(--rd-muted); }
/* DataGrid/GridView: l'intestazione esce come <th scope="col"> nella prima riga del tbody (base.css la centra) */
.rdt-scorri { max-height: 360px; overflow: auto; }
.rdt-nowrap { white-space: nowrap; }
.rdt-colonna { display: flex; flex-direction: column; gap: 12px; }
.rdt-toolbar > .rdt-campo-largo { flex: 1 1 100%; }
.rdt-card .rdt-card { margin-top: 4px; }
body.rdt td > ul.list-unstyled, body.rdt td > ul.rdt-elenco { margin: 0; padding: 0; list-style: none; }
.rdt-anteprima-img { display: inline-block; padding: 6px; border: 1px solid var(--rd-line); border-radius: 10px; background: var(--rd-surface); }
.rdt-anteprima-img img { display: block; max-width: 100%; height: auto; border-radius: 6px; }
body.rdt .table > tbody > tr > th[scope="col"] { background: var(--rd-surface-2) !important; color: var(--rd-muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; text-align: left; padding: 10px 12px; border-top: 0; border-bottom: 1px solid var(--rd-line); white-space: nowrap; }
body.rdt .table > tbody > tr > th[scope="col"] a { color: var(--rd-muted); }
/* DataGrid: riga di paginazione numerica (pagine come link __doPostBack e pagina corrente come span) */
body.rdt .table > tbody > tr > td[colspan] > a[href^="javascript:__doPostBack"] { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; margin: 2px; padding: 0 8px; border: 1px solid var(--rd-line); border-radius: 8px; background: var(--rd-surface); color: var(--rd-ink); text-decoration: none; }
body.rdt .table > tbody > tr > td[colspan] > a[href^="javascript:__doPostBack"]:hover { background: var(--rd-surface-2); }
/* la pagina corrente e` l'unico span fra i link (prima, in mezzo o in fondo) */
body.rdt .table > tbody > tr > td[colspan] > a[href^="javascript:__doPostBack"] ~ span:not([class]),
body.rdt .table > tbody > tr > td[colspan] > span:not([class]):has(~ a[href^="javascript:__doPostBack"]) { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; margin: 2px; padding: 0 8px; border-radius: 8px; background: var(--rd-petrol); color: #FFFFFF; font-weight: 600; }
/* campi nelle righe in modifica delle griglie */
body.rdt .table > tbody > tr > td > .form-control { min-width: 120px; }
body.rdt .table > thead > tr > th.text-right, body.rdt .table > thead > tr > th[align=right] { text-align: right; }
body.rdt .table > thead > tr > th.text-center, body.rdt .table > thead > tr > th[align=center] { text-align: center; }
body.rdt .table > tbody > tr > th, body.rdt .table > tfoot > tr > th { background: var(--rd-surface-2); color: var(--rd-ink-2); font-weight: 600; padding: 10px 12px; border-top: 1px solid var(--rd-line-2); }
body.rdt .table > tbody > tr > td, body.rdt .table > tfoot > tr > td { padding: 10px 12px; border-top: 1px solid var(--rd-line-2); vertical-align: middle; }
body.rdt .table-condensed > thead > tr > th, body.rdt .table-condensed > tbody > tr > th, body.rdt .table-condensed > tbody > tr > td { padding: 6px 10px; }
body.rdt .table-striped > tbody > tr:nth-child(odd) > td, body.rdt .table-striped > tbody > tr:nth-child(odd) > th { background-color: #FAFBF8; }
body.rdt .table-hover > tbody > tr:hover > td, body.rdt .table-hover > tbody > tr:hover > th { background-color: var(--rd-petrol-row); }
body.rdt .table-bordered { border: 1px solid var(--rd-line); }
body.rdt .table-bordered > thead > tr > th, body.rdt .table-bordered > tbody > tr > th, body.rdt .table-bordered > tbody > tr > td, body.rdt .table-bordered > tfoot > tr > td { border-color: var(--rd-line-2); }
body.rdt .table > tbody > tr.active > td, body.rdt .table > tbody > tr > td.active { background: var(--rd-petrol-tint); }
body.rdt .table > tbody > tr.success > td, body.rdt .table > tbody > tr > td.success { background: var(--rd-green-tint); }
body.rdt .table > tbody > tr.warning > td, body.rdt .table > tbody > tr > td.warning { background: var(--rd-amber-tint); }
body.rdt .table > tbody > tr.danger > td, body.rdt .table > tbody > tr > td.danger, body.rdt table.table > tbody tr.prod-disabled td { background: var(--rd-red-tint); }
body.rdt .row-highlight > td { background-color: var(--rd-petrol-tint) !important; }
body.rdt div.table-responsive { border: 1px solid var(--rd-line); border-radius: 12px; margin-bottom: 20px; }
body.rdt div.table-responsive > .table { margin-bottom: 0; }
body.rdt .table-impostazioni > tbody > tr > th { background: transparent; text-transform: none; letter-spacing: 0; font-size: 14px; width: 32%; text-align: left; }
body.rdt .titGroupData { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rd-petrol); }
body.rdt .divGroupBox { border: 1px solid var(--rd-line); border-radius: 12px; padding: 14px 16px; margin: 0 0 14px; background: var(--rd-surface); }
body.rdt .prod-price { font-family: var(--rd-mono); font-weight: 600; color: var(--rd-ink); }
body.rdt table.table > tbody tr.best-price td { background: #FFF8E6; }

/* ---------- avvisi ---------- */
body.rdt .alert { border: 0; border-left: 4px solid var(--rd-line); border-radius: 12px; padding: 12px 16px; font-size: 14px; margin-bottom: 18px; }
body.rdt .alert-danger { background: var(--rd-red-tint); color: var(--rd-red-text); border-left-color: var(--rd-red); }
body.rdt .alert-warning { background: var(--rd-amber-tint); color: #4D3300; border-left-color: var(--rd-amber); }
body.rdt .alert-success { background: var(--rd-green-tint); color: var(--rd-green-text); border-left-color: var(--rd-green); }
body.rdt .alert-info { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); border-left-color: var(--rd-petrol); }
body.rdt .alert .alert-link { color: inherit; text-decoration: underline; font-weight: 600; }
body.rdt .alert .text-danger, body.rdt .alert .text-warning, body.rdt .alert .text-success, body.rdt .alert .text-info { color: inherit; }
body.rdt .alert > .close, body.rdt .alert .messages-close { color: inherit; opacity: .6; text-shadow: none; }

/* ---------- riquadri ---------- */
body.rdt .well { background: var(--rd-surface-2); border: 1px solid var(--rd-line); border-radius: 12px; box-shadow: none; padding: 16px 18px; }
body.rdt .well-sm { padding: 10px 12px; border-radius: 10px; }
body.rdt #main-content .well.well-danger { background: var(--rd-red-tint); border-color: #F2C9C4; }
body.rdt .panel { border: 1px solid var(--rd-line); border-radius: 14px; box-shadow: none; margin-bottom: 20px; background: var(--rd-surface); }
body.rdt .panel > .panel-heading { padding: 12px 18px; border-bottom: 1px solid var(--rd-line-2); border-radius: 13px 13px 0 0; background: var(--rd-surface-2); color: var(--rd-ink); }
body.rdt .panel-title { font-size: 15px; font-weight: 600; }
body.rdt .panel-body { padding: 18px; }
body.rdt .panel-footer { padding: 12px 18px; background: var(--rd-surface-2); border-top: 1px solid var(--rd-line-2); border-radius: 0 0 13px 13px; }
body.rdt .panel > .table, body.rdt .panel > .table-responsive > .table { margin-bottom: 0; }
body.rdt .panel-primary { border-color: var(--rd-petrol); }
body.rdt .panel-primary > .panel-heading { background: var(--rd-petrol); border-color: var(--rd-petrol); color: #FFFFFF; }
body.rdt .panel-primary > .panel-heading .panel-title, body.rdt .panel-primary > .panel-heading a { color: #FFFFFF; }
body.rdt .panel-success > .panel-heading { background: var(--rd-green-tint); color: var(--rd-green-text); }
body.rdt .panel-info > .panel-heading { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); }
body.rdt .panel-warning > .panel-heading { background: var(--rd-amber-tint); color: #4D3300; }
body.rdt .panel-danger { border-color: #F2C9C4; }
body.rdt .panel-danger > .panel-heading { background: var(--rd-red-tint); color: var(--rd-red-text); border-color: #F2C9C4; }

/* ---------- finestre modali ---------- */
body.rdt .modal-content { border: 0; border-radius: 16px; box-shadow: 0 24px 64px rgba(22, 25, 29, 0.28); }
body.rdt .modal-header { padding: 16px 22px; border-bottom: 1px solid var(--rd-line-2); }
body.rdt .modal-header.alert { margin: 0; border-left: 0; border-radius: 16px 16px 0 0; }
body.rdt .modal-title { font-size: 18px; font-weight: 600; }
body.rdt .modal-body { padding: 20px 22px; }
body.rdt .modal-footer { padding: 14px 22px; border-top: 1px solid var(--rd-line-2); background: var(--rd-surface-2); border-radius: 0 0 16px 16px; }
body.rdt .modal-backdrop.in { opacity: .45; background: var(--rd-dark); }
body.rdt .close { font-weight: 400; text-shadow: none; }

/* ---------- etichette ---------- */
body.rdt .label { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; vertical-align: middle; }
body.rdt .label-default { background: var(--rd-line-2); color: var(--rd-ink-2); }
body.rdt .label-primary { background: var(--rd-petrol); color: #FFFFFF; }
body.rdt .label-success { background: var(--rd-green-tint); color: var(--rd-green-text); }
body.rdt .label-info { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); }
body.rdt .label-warning { background: var(--rd-amber-tint); color: var(--rd-amber-text); }
body.rdt .label-danger { background: var(--rd-red-tint); color: var(--rd-red-text); }
body.rdt .badge { background: var(--rd-petrol); color: #FFFFFF; border-radius: 999px; font-weight: 600; padding: 3px 8px; }

/* ---------- schede, pillole, paginazione ---------- */
body.rdt .nav-tabs { border-bottom: 1px solid var(--rd-line); margin-bottom: 18px; }
body.rdt .nav-tabs > li > a { border: 0; border-bottom: 3px solid transparent; border-radius: 0; margin-right: 4px; padding: 10px 14px 9px; color: var(--rd-muted); font-weight: 500; }
body.rdt .nav-tabs > li > a:hover, body.rdt .nav-tabs > li > a:focus { background: transparent; color: var(--rd-ink); border-bottom-color: var(--rd-line); }
body.rdt .nav-tabs > li.active > a, body.rdt .nav-tabs > li.active > a:hover, body.rdt .nav-tabs > li.active > a:focus { border: 0; border-bottom: 3px solid var(--rd-petrol); background: transparent; color: var(--rd-ink); font-weight: 600; }
body.rdt .nav-pills > li > a { border-radius: 999px; color: var(--rd-ink-2); }
body.rdt .nav-pills > li.active > a, body.rdt .nav-pills > li.active > a:hover, body.rdt .nav-pills > li.active > a:focus { background: var(--rd-petrol); color: #FFFFFF; }
body.rdt .pagination > li > a, body.rdt .pagination > li > span { margin: 0 2px; min-width: 36px; text-align: center; border: 1px solid var(--rd-line); border-radius: 8px !important; color: var(--rd-ink); background: var(--rd-surface); }
body.rdt .pagination > li > a:hover { background: var(--rd-surface-2); color: var(--rd-ink); }
body.rdt .pagination > .active > a, body.rdt .pagination > .active > span, body.rdt .pagination > .active > a:hover, body.rdt .pagination > .active > span:hover { background: var(--rd-petrol); border-color: var(--rd-petrol); color: #FFFFFF; }
body.rdt .pager li > a, body.rdt .pager li > span { border-radius: 999px; border-color: var(--rd-line); }

/* ---------- menu a tendina ---------- */
body.rdt .dropdown-menu { border: 1px solid var(--rd-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(22, 25, 29, 0.14); padding: 6px; margin-top: 4px; font-size: 14px; min-width: 200px; }
body.rdt .dropdown-menu > li > a { padding: 8px 12px; border-radius: 8px; color: var(--rd-ink); white-space: normal; }
body.rdt .dropdown-menu > li > a:hover, body.rdt .dropdown-menu > li > a:focus { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); }
body.rdt .dropdown-menu > .active > a, body.rdt .dropdown-menu > .active > a:hover { background: var(--rd-petrol); color: #FFFFFF; }
body.rdt .dropdown-menu .divider { margin: 6px 4px; background: var(--rd-line-2); }
body.rdt .dropdown-header { padding: 10px 12px 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rd-muted); }
body.rdt .dropdown-menu-right, body.rdt .dropdown-menu.pull-right { right: 0; left: auto; }

/* ---------- elenchi ---------- */
body.rdt .list-group { border-radius: 12px; }
body.rdt .list-group-item { border-color: var(--rd-line-2); padding: 11px 16px; }
body.rdt .list-group-item:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; }
body.rdt .list-group-item:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }
body.rdt .list-group-item.active, body.rdt .list-group-item.active:hover, body.rdt .list-group-item.active:focus,
body.rdt a.list-group-item.active, body.rdt a.list-group-item.active:hover { background: var(--rd-petrol); border-color: var(--rd-petrol); color: #FFFFFF; }
body.rdt a.list-group-item:hover { background: var(--rd-surface-2); }

/* ---------- pagina "Operazioni" (Welcome.aspx): da elenco a riquadri ---------- */
body.rdt #ops, body.rdt #adminops { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; padding: 0; margin: 0 0 28px; border-radius: 0; }
body.rdt #ops > li, body.rdt #adminops > li { margin: 0; padding: 0; border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); transition: border-color .12s ease, box-shadow .12s ease; }
body.rdt #ops > li:hover, body.rdt #adminops > li:hover { border-color: var(--rd-petrol); box-shadow: 0 6px 18px rgba(22, 25, 29, 0.08); }
body.rdt #ops > li > a, body.rdt #adminops > li > a { display: flex; align-items: center; gap: 12px; height: 100%; min-height: 66px; padding: 12px 16px; color: var(--rd-ink); font-weight: 500; text-decoration: none; }
body.rdt #ops > li > a::before, body.rdt #adminops > li > a::before { content: "\f054"; font-family: FontAwesome; font-size: 16px; font-weight: normal; flex: none; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--rd-petrol-tint); color: var(--rd-petrol); }
/* operazioni di amministrazione: stessa tinta del colore del sito, icona con il bordo per distinguerle */
body.rdt #adminops > li > a::before { content: "\f0ad"; background: var(--rd-surface); color: var(--rd-petrol); box-shadow: inset 0 0 0 1px var(--rd-petrol-tint), inset 0 0 0 2px var(--rd-line-2); }
/* icone per pagina (FontAwesome 4.4). L'ordine conta: le regole dopo vincono (Users prima di ExpiredUsers, ecc.) */
body.rdt #ops a[href*="Messages"]::before { content: "\f0e0"; }
body.rdt #ops a[href*="Carrelli.aspx"]::before { content: "\f07a"; }
body.rdt #ops a[href*="Carrelli.aspx?waiting"]::before { content: "\f017"; }
body.rdt #ops a[href*="Carrelli.aspx?import"]::before { content: "\f093"; }
body.rdt #ops a[href*="RemainingOrders"]::before { content: "\f252"; }
body.rdt #ops a[href*="Documents"]::before { content: "\f0f6"; }
body.rdt #ops a[href*="ParkedOrders"]::before { content: "\f01c"; }
body.rdt #ops a[href*="Customers"]::before { content: "\f0c0"; }
body.rdt #ops a[href*="CustomersTranscoding"]::before { content: "\f0ec"; }
body.rdt #ops a[href*="SalesHistory"]::before { content: "\f1da"; }
body.rdt #ops a[href*="Prodotti"]::before, body.rdt #ops a[href*="Brands"]::before { content: "\f02b"; }
body.rdt #ops a[href*="Anagrafica"]::before { content: "\f234"; }
body.rdt #ops a[href*="Eventi"]::before { content: "\f073"; }
body.rdt #ops a[href*="Interventi"]::before { content: "\f0ad"; }
body.rdt #ops a[href*="Referenti"]::before { content: "\f007"; }
body.rdt #ops a[href*="ReferentiClienti"]::before { content: "\f0c0"; }
body.rdt #ops a[href*="Richieste"]::before { content: "\f059"; }
body.rdt #ops a[href*="Licenses"]::before { content: "\f084"; }
body.rdt #ops a[href*="Resellers"]::before { content: "\f0b1"; }
body.rdt #adminops a[href*="Admin.aspx"]::before { content: "\f013"; }
body.rdt #adminops a[href*="CollegaArticoliErgo"]::before { content: "\f0c1"; }
body.rdt #adminops a[href*="ErgoConv"]::before { content: "\f234"; }
body.rdt #adminops a[href*="Images"]::before { content: "\f03e"; }
body.rdt #adminops a[href*="Users"]::before { content: "\f0c0"; }
body.rdt #adminops a[href*="ExpiredUsers"]::before { content: "\f017"; }
body.rdt #adminops a[href*="PaesiIso"]::before { content: "\f0d1"; }
body.rdt #adminops a[href*="LostPassword"]::before { content: "\f084"; }
body.rdt #adminops a[href*="Carrelli"]::before { content: "\f1da"; }
body.rdt #adminops a[href*="WebSessions"]::before { content: "\f108"; }
body.rdt #adminops a[href*="ModificaMarchi"]::before { content: "\f02c"; }
body.rdt #adminops a[href*="ModificaEtichette"]::before { content: "\f02b"; }
body.rdt #adminops a[href*="ModIntestazioneCaratteristiche"]::before { content: "\f0ca"; }
body.rdt #adminops a[href*="Categories"]::before { content: "\f0e8"; }
body.rdt #adminops a[href*="ContinuousCategories"]::before { content: "\f021"; }
body.rdt #adminops a[href*="ListaClientiQuantitaIniziali"]::before { content: "\f1b3"; }
body.rdt #adminops a[href*="Seasons"]::before { content: "\f185"; }
body.rdt #adminops a[href*="RegistrazioniContatti"]::before { content: "\f022"; }
body.rdt #adminops a[href*="ForToOrder"]::before { content: "\f10b"; }
body.rdt #main-content h4 > .fa { color: var(--rd-petrol); margin-right: 4px; }

/* ---------- pagine nuove (IPaginaRedesign) dentro i master comuni: tutta larghezza, senza riquadro ---------- */
body.rdt.rdt-pieno #sidebar { display: none; }
body.rdt.rdt-pieno #main-content { width: 100%; left: auto; right: auto; float: none; }
body.rdt.rdt-pieno #main-content > .content { background: transparent; border: 0; border-radius: 0; padding: 0; min-height: 0; }
body.rdt .rd.rd-embed { min-height: 0; background: transparent; display: flex; flex-direction: column; gap: 20px; }
/* redesign.css ridefinisce i colori su .rd: dentro i master comuni le pagine nuove prendono quelli del sito (body) */
body.rdt .rd.rd-embed { --rd-petrol: inherit; --rd-petrol-dark: inherit; --rd-petrol-tint: inherit; --rd-petrol-row: inherit; }
body.rdt .rd .rd-card-dark { background: var(--rd-petrol-dark); border-color: var(--rd-petrol-dark); }
body.rdt .rd .rd-card-dark .rd-muted { color: rgba(255, 255, 255, 0.85); }
body.rdt .rd .rd-card-dark .rd-meter { background: rgba(255, 255, 255, 0.22); }
body.rdt .rd .rd-btn-ghost-dark, body.rdt .rd a.rd-btn-ghost-dark { border-color: rgba(255, 255, 255, 0.45); }
body.rdt .rd .rd-btn-ghost-dark:hover { background: rgba(255, 255, 255, 0.12); }
body.rdt .rd.rd-embed .rd-main { max-width: none; padding: 0; }
body.rdt .rd.rd-embed h1 { margin: 0; }
/* le pagine nuove hanno la loro tipografia (redesign.css): annullo le regole generiche del tema su titoli ed etichette */
body.rdt .rd h1 { font-size: 30px; letter-spacing: -0.02em; }
body.rdt .rd h2 { font-size: 17px; letter-spacing: 0; }
body.rdt .rd h3 { font-size: 17px; }
/* I titoli delle pagine nuove seguono il colore del contenitore: bianchi nelle schede scure (il cui fondo cambia col colore del sito),
   scuri in quelle chiare e nelle finestre. La regola generica dei titoli (body.rdt h2 { color: ink }) altrimenti li rende neri anche su fondo scuro. */
body.rdt .rd h1, body.rdt .rd h2, body.rdt .rd h3, body.rdt .rd h4, body.rdt .rd h5, body.rdt .rd h6 { color: inherit; }
/* scheda scura: tutto il testo e` chiaro; i collegamenti semplici restano leggibili (bianchi e sottolineati, non petrolio su petrolio) */
body.rdt .rd .rd-card-dark { color: #FFFFFF; }
body.rdt .rd .rd-card-dark a:not(.rd-btn) { color: #FFFFFF; text-decoration: underline; }
body.rdt .rd .rd-card-dark a:not(.rd-btn):hover, body.rdt .rd .rd-card-dark a:not(.rd-btn):focus { color: #FFFFFF; text-decoration: none; }
body.rdt .rd .rd-card-dark .rd-on-dark-muted { color: rgba(255, 255, 255, 0.85); font-size: 12px; }
body.rdt .rd .rd-card-dark .rd-on-dark-accent { color: #FFD27A; font-weight: 600; }
body.rdt .rd label { font-size: inherit; font-weight: inherit; color: inherit; margin-bottom: 0; }
body.rdt .rd .rd-field label, body.rdt .rd .rd-label { font-size: 12px; font-weight: 600; color: var(--rd-muted); }
body.rdt .rd label.rd-small { font-size: 13px; }
body.rdt .rd label.rd-muted { color: var(--rd-muted); }
body.rdt .rd input[type=checkbox] + label, body.rdt .rd input[type=radio] + label { margin: 0; font-size: inherit; color: inherit; }
@media (max-width: 767px) { body.rdt .rd h1 { font-size: 25px; } }
/* intestazioni allineate come i valori (in redesign.css .rd-table th vince su .rd-right) */
body.rdt .rd .rd-table th.rd-right { text-align: right; }
body.rdt .rd .rd-table th.rd-center { text-align: center; }

/* ==========================================================================
   COLONNA LATERALE (categorie, filtri, ricerca)
   ========================================================================== */
body.rdt #sidebar .search-sidebar { margin-top: 0; }
.rdt-side-card { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; padding: 16px; margin-bottom: 16px; }
body.rdt #sidebar .well.search-sidebar { background: var(--rd-surface); border-radius: 14px; padding: 16px; margin-bottom: 16px; }
.rdt-side-title, body.rdt #sidebar .title-sidebar { margin: 0 0 10px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rd-muted); }
body.rdt #sidebar #submenu.list-group { margin: 0; border-radius: 0; }
body.rdt #sidebar #submenu.list-group + #submenu.list-group { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rd-line-2); }
body.rdt #sidebar #submenu > .list-group-item { border: 0; border-radius: 8px; padding: 0; margin: 0 0 1px; background: transparent; }
body.rdt #sidebar #submenu > .list-group-item > a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--rd-ink); font-size: 14px; }
body.rdt #sidebar #submenu > .list-group-item > a:hover { background: var(--rd-surface-2); color: var(--rd-ink); }
body.rdt #sidebar #submenu > .list-group-item.active { background: transparent; border: 0; }
body.rdt #sidebar #submenu > .list-group-item.active > a { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); font-weight: 600; }
body.rdt #sidebar #submenu li.active a { color: var(--rd-petrol-dark); }
body.rdt #sidebar #submenu > li ul { margin: 2px 0 8px 10px; padding: 0 0 0 8px; border-left: 2px solid var(--rd-line-2); }
body.rdt #sidebar #submenu > li ul > li { border: 0; }
body.rdt #sidebar #submenu > li ul li a { display: block; padding: 4px 8px; line-height: 1.4; font-size: 13px; color: var(--rd-ink-2); opacity: 1; border-radius: 6px; }
body.rdt #sidebar #submenu > li ul li a:hover { background: var(--rd-surface-2); color: var(--rd-ink); }
body.rdt #sidebar #submenu > li ul li a .fa { margin-right: 6px; color: var(--rd-muted); }
body.rdt #sidebar #submenu > li ul li.active > a { color: var(--rd-petrol-dark); font-weight: 600; background: var(--rd-petrol-row); }
body.rdt #sidebar #submenu > li ul > li ul li a { font-size: 12px; padding-left: 12px; }
body.rdt #sidebar .list-best-price { background: var(--rd-amber-tint); }
body.rdt #sidebar .list-best-price a { color: var(--rd-amber-text); }
body.rdt #sidebar .search-sidebar .table { background: transparent; margin-bottom: 8px; }
body.rdt #sidebar .search-sidebar .table > tbody > tr > td { border: 0; padding: 3px 0; }
body.rdt #sidebar .search-sidebar h4 { font-size: 13px; margin: 8px 0 4px; }
body.rdt #sidebar hr { margin: 14px 0; border-top-color: var(--rd-line-2); }
body.rdt #sidebar .user-button .btn { margin-bottom: 8px; }

/* ---------- piede ---------- */
.rdt-footer { max-width: 1360px; margin: 0 auto; padding: 8px 32px 40px; color: var(--rd-muted); font-size: 13px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
.rdt-footer p { margin: 0; }
body.rdt .sessionid { color: #A9AFA6; display:none }

/* ==========================================================================
   AMMINISTRAZIONE (LightDefault.Master): barra laterale scura
   ========================================================================== */
.rdt-adminwrap { display: flex; align-items: stretch; min-height: 100vh; }
/* barra chiara con il colore del sito (impostazione "Stile colori sito"): voce attiva su tinta chiara con bordo colorato */
.rdt-adminside { flex: 0 0 256px; background: var(--rd-surface); color: var(--rd-ink); border-right: 1px solid var(--rd-line); padding: 20px 12px 24px; display: flex; flex-direction: column; gap: 2px; }
.rdt-adminside-brand { display: flex; align-items: center; gap: 10px; padding: 0 8px 16px; margin-bottom: 4px; border-bottom: 1px solid var(--rd-line-2); }
.rdt-adminside-logo { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--rd-surface); border: 1px solid var(--rd-line); padding: 4px; overflow: hidden; }
.rdt-adminside-logo img { max-width: 100%; max-height: 100%; display: block; }
.rdt-adminside-title { font-weight: 700; font-size: 16px; line-height: 1.2; color: var(--rd-ink); }
.rdt-adminside-title small { display: block; font-size: 12px; font-weight: 400; color: var(--rd-muted); }
.rdt-adminside-sep { margin: 16px 10px 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rd-muted); }
.rdt-adminside-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
body.rdt .rdt-adminside-nav > li > a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px; color: var(--rd-ink-2); text-decoration: none; font-size: 14px; }
body.rdt .rdt-adminside-nav > li > a:hover { background: var(--rd-surface-2); color: var(--rd-ink); }
body.rdt .rdt-adminside-nav > li > a.rdt-on { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); font-weight: 600; box-shadow: inset 3px 0 0 var(--rd-petrol); }
body.rdt .rdt-adminside-nav > li > a .fa { width: 16px; text-align: center; color: var(--rd-muted); }
body.rdt .rdt-adminside-nav > li > a.rdt-on .fa, body.rdt .rdt-adminside-nav > li > a:hover .fa { color: var(--rd-petrol); }
body.rdt .rdt-adminside-nav > li.rdt-side-item > a::before { content: "\f105"; font-family: FontAwesome; width: 16px; text-align: center; color: var(--rd-muted); flex: none; }
body.rdt .rdt-adminside-nav > li.rdt-side-item > a:hover::before, body.rdt .rdt-adminside-nav > li.rdt-side-item > a.rdt-on::before { color: var(--rd-petrol); }
.rdt-adminside-bottom { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--rd-line-2); }
.rdt-adminside-bottom .rdt-tools-list { flex-wrap: wrap; }
/* la barra laterale resta visibile mentre la pagina scorre (su smartphone sta sopra il contenuto) */
@media (min-width: 768px) {
	.rdt-adminside { position: sticky; top: 0; align-self: flex-start; height: 100vh; overflow-y: auto; }
}
.rdt-adminmain { flex: 1 1 auto; min-width: 0; padding: 28px 32px 48px; }

/* ==========================================================================
   COMPONENTI COMUNI DELLE PAGINE RIDISEGNATE (usati nel markup delle pagine)
   rdt-card / rdt-griglia / rdt-toolbar / rdt-campi + rdt-campo / rdt-tabella / rdt-azioni / rdt-checks + rdt-check / rdt-dl / rdt-vuoto
   ========================================================================== */
/* riga del titolo con le azioni a destra (dentro .title-area) */
.rdt-titolo-riga { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 16px; }
body.rdt .rdt-titolo-riga h1 { margin: 0; }
.rdt-titolo-riga .rdt-titolo-azioni { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
body.rdt .rdt-campo-label label { margin: 0; }
.rdt-sottotitolo { margin: 4px 0 0; color: var(--rd-muted); font-size: 14px; }
/* barra dei filtri di ricerca */
.rdt-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; padding: 14px 16px; margin: 0 0 16px; background: var(--rd-surface-2); border: 1px solid var(--rd-line-2); border-radius: 12px; }
body.rdt .rdt-toolbar .form-group { margin: 0; }
.rdt-toolbar .rdt-campo { flex: 1 1 200px; }
.rdt-toolbar .rdt-toolbar-azioni { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; flex: 0 0 100%; justify-content: flex-end }
/* campi di un modulo in griglia */
.rdt-campi { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px 16px; }
.rdt-campo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.rdt .rdt-campo > label, .rdt-campo-label { margin: 0; font-size: 13px; font-weight: 600; color: var(--rd-ink-2); }
.rdt-campo small, .rdt-campo .help-block { margin: 0; color: var(--rd-muted); font-size: 12px; }
.rdt-campo-largo { grid-column: 1 / -1; }
/* tabella in un riquadro con scorrimento orizzontale */
.rdt-tabella { margin: 0 0 16px; border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); overflow-x: auto; }
body.rdt .rdt-tabella > .table, body.rdt .rdt-tabella > div > .table { margin: 0; border: 0; }
body.rdt .rdt-tabella > .table > thead > tr > th:first-child, body.rdt .rdt-tabella > .table > tbody > tr > td:first-child { padding-left: 16px; }
/* azioni in fondo a un modulo */
.rdt-azioni { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; margin-bottom:1%; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--rd-line-2); }
.rdt-azioni-sx { margin-right: auto; display: flex; gap: 8px; flex-wrap: wrap; }
/* elenco di caselle di spunta su piu` colonne */
.rdt-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 18px; }
.rdt-check { display: flex; align-items: flex-start; gap: 8px; }
body.rdt .rdt-check input[type=checkbox], body.rdt .rdt-check input[type=radio] { flex: none; margin: 3px 0 0; }
body.rdt .rdt-check label { display: inline; margin: 0; font-size: 14px; font-weight: 400; color: var(--rd-ink); }
/* coppie etichetta / valore */
.rdt-dl { display: grid; grid-template-columns: minmax(120px, max-content) 1fr; gap: 6px 16px; margin: 0; font-size: 14px; }
.rdt-dl dt { color: var(--rd-muted); font-weight: 500; }
.rdt-dl dd { margin: 0; color: var(--rd-ink); }
.rdt-dl > div { display: contents; }
.rdt-azioni:not(:has(*)), .rdt-riga:not(:has(*)) { display: none; }
.rdt-vuoto { padding: 28px 20px; text-align: center; color: var(--rd-muted); border: 1px dashed var(--rd-line); border-radius: 12px; }
.rdt-mono { font-family: var(--rd-mono); }
/* campo + pulsante sulla stessa riga */
.rdt-inline { display: flex; gap: 8px; align-items: center; min-width: 0; flex-wrap: wrap; }
body.rdt .rdt-inline .form-control { flex: 1 1 160px; width: auto; min-width: 0; }
body.rdt .rdt-inline .btn { flex: none; }
/* registro / testo lungo a spaziatura fissa (risultati di import, log) */
.rdt-registro { padding: 12px 14px; border-radius: 10px; background: var(--rd-surface-2); border: 1px solid var(--rd-line-2); font-family: var(--rd-mono); font-size: 13px; line-height: 1.5; max-height: 420px; overflow: auto; white-space: pre-wrap; }
.rdt-registro:empty { display: none; }
/* riquadro per operazioni pericolose */
.rdt-card.rdt-card-pericolo { border-color: #F2C9C4; }
.rdt-card-pericolo .rdt-card-icon { background: var(--rd-red-tint); color: var(--rd-red); }
/* spazi e margini */
.rdt-riga + .rdt-griglia, .rdt-riga + .rdt-card, .rdt-tabella + .rdt-griglia, .rdt-tabella + .rdt-card { margin-top: 18px; }
.rdt-card > *:last-child, .rdt-card-head p:last-child { margin-bottom: 0; }
body.rdt .alert ul, body.rdt .alert ol { margin: 6px 0 0; padding-left: 20px; }
body.rdt .alert > *:last-child { margin-bottom: 0; }
/* barra dei filtri: una griglia di campi occupa tutta la larghezza; le caselle si allineano ai campi */
.rdt-toolbar > .rdt-campi, .rdt-toolbar > .rdt-campo > .rdt-campi { flex: 1 1 100%; }
.rdt-toolbar .rdt-check { min-height: 40px; align-items: center; }
body.rdt .rdt-toolbar .rdt-check input[type=checkbox] { margin-top: 0; }
.rdt-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--rd-line-2); color: var(--rd-ink-2); white-space: nowrap; }
.rdt-tag-petrol { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); }
.rdt-tag-rosso { background: var(--rd-red-tint); color: var(--rd-red-text); }
.rdt-tag-verde { background: var(--rd-green-tint); color: var(--rd-green-text); }
.rdt-tag-ambra { background: var(--rd-amber-tint); color: var(--rd-amber-text); }

/* ---------- validazione ASP.NET: ValidationSummary e validatori escono con color:Red in linea, senza classi ---------- */
body.rdt div[style*="color:Red"] { margin: 12px 0; padding: 12px 16px; border-left: 4px solid var(--rd-red); border-radius: 12px; background: var(--rd-red-tint); color: var(--rd-red-text) !important; font-size: 14px; }
body.rdt div[style*="color:Red"] ul { margin: 6px 0 0; padding-left: 20px; }
body.rdt span[style*="color:Red"] { color: var(--rd-red-text) !important; font-size: 13px; font-weight: 600; }

/* ---------- calendario dei campi data (bootstrap-datepicker, aggiunto in fondo al body) ---------- */
body.rdt .datepicker.dropdown-menu { padding: 8px; }
body.rdt .datepicker table tr td, body.rdt .datepicker table tr th { width: 34px; height: 32px; border-radius: 8px; }
body.rdt .datepicker table tr td.day:hover, body.rdt .datepicker table tr th.prev:hover, body.rdt .datepicker table tr th.next:hover, body.rdt .datepicker table tr th.datepicker-switch:hover,
body.rdt .datepicker table tr td span:hover { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); }
body.rdt .datepicker table tr td.today, body.rdt .datepicker table tr td.today:hover { background: var(--rd-amber-tint) !important; background-image: none !important; color: var(--rd-amber-text); }
body.rdt .datepicker table tr td.active, body.rdt .datepicker table tr td.active:hover, body.rdt .datepicker table tr td.active.active,
body.rdt .datepicker table tr td span.active, body.rdt .datepicker table tr td span.active:hover { background: var(--rd-petrol) !important; background-image: none !important; color: #FFFFFF !important; text-shadow: none; }
body.rdt .datepicker table tr td.old, body.rdt .datepicker table tr td.new { color: #A9AFA6; }

/* ---------- schede di AjaxControlToolkit (TabContainer, tema predefinito ajax__tab_xp) come le schede del tema ---------- */
body.rdt .ajax__tab_xp .ajax__tab_header { display: flex; flex-wrap: wrap; gap: 2px; background: none; border-bottom: 1px solid var(--rd-line); font-family: inherit; font-size: 14px; }
body.rdt .ajax__tab_xp .ajax__tab_header .ajax__tab_outer, body.rdt .ajax__tab_xp .ajax__tab_header .ajax__tab_inner { height: auto; padding: 0; background: none !important; }
body.rdt .ajax__tab_xp .ajax__tab_header .ajax__tab_tab { height: auto; margin: 0; padding: 10px 14px 9px !important; background: none !important; color: var(--rd-muted); border-bottom: 3px solid transparent; cursor: pointer; }
body.rdt .ajax__tab_xp .ajax__tab_header .ajax__tab_hover .ajax__tab_tab { color: var(--rd-ink); }
body.rdt .ajax__tab_xp .ajax__tab_header .ajax__tab_active .ajax__tab_tab { color: var(--rd-ink); font-weight: 600; border-bottom-color: var(--rd-petrol); }
body.rdt .ajax__tab_xp .ajax__tab_body { padding: 16px 0 0; border: 0; background: transparent; font-family: inherit; font-size: inherit; }

/* ---------- suggerimenti a comparsa (tooltipster, tema shadow) ---------- */
body.rdt .tooltipster-sidetip.tooltipster-shadow .tooltipster-box { border: 1px solid var(--rd-line); border-radius: 10px; box-shadow: 0 10px 24px rgba(22, 25, 29, 0.14); }
body.rdt .tooltipster-sidetip.tooltipster-shadow .tooltipster-content { color: var(--rd-ink); font-size: 13px; line-height: 1.45; padding: 8px 12px; }

/* ---------- paginazione (CEControls/CEPager.ascx) ---------- */
body.rdt .divPages { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0 14px; font-size: 14px; }
body.rdt .divPages .pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; }
body.rdt .divPages .pagination > li > a, body.rdt .divPages .pagination > li > span { float: none; display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 10px; margin: 0; }
body.rdt .divPages .pagination > li.disabled:first-child > span { border: 0; background: transparent; color: var(--rd-muted); padding-left: 0; min-width: 0; }
body.rdt .divPages .badge { background: var(--rd-line-2); color: var(--rd-ink-2); }
body.rdt .divPages .form-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--rd-muted); }
body.rdt .divPages .btn { padding: 6px 12px; }
body.rdt .divPages select.selPages { height: 34px; padding: 0 10px; border: 1px solid var(--rd-input); border-radius: 8px; background: var(--rd-surface); color: var(--rd-ink); }

/* ---------- modifica di un testo del sito (ModifyString.aspx, popup) ---------- */
.rdt-testo { display: flex; flex-direction: column; gap: 16px; }
.rdt-testo-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 16px; padding-bottom: 14px; border-bottom: 1px solid var(--rd-line-2); }
.rdt-testo-eyebrow { margin: 0 0 2px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rd-muted); }
body.rdt .rdt-testo-nome { margin: 0; font-family: var(--rd-mono); font-size: 22px; font-weight: 600; letter-spacing: 0; word-break: break-all; }
body.rdt textarea.rdt-testo-valore { min-height: 240px; font-family: var(--rd-mono); font-size: 13px; line-height: 1.6; resize: vertical; white-space: pre-wrap; }
.rdt-testo-anteprima iframe { display: block; width: 100%; height: 220px; border: 1px solid var(--rd-line); border-radius: 12px; background: var(--rd-surface); resize: vertical; overflow: auto; }

/* ---------- pagina Amministrazione sito (Admin.aspx): riquadri ---------- */
.rdt-admin-grid, .rdt-griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 18px; margin-bottom: 18px; }
.rdt-admin-card, .rdt-card { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; min-width: 0; }
.rdt-admin-grid > .rdt-admin-card, .rdt-griglia > .rdt-card, .rdt-griglia > .rdt-admin-card { margin-bottom: 0; }
.rdt-admin-card-wide, .rdt-card-wide { grid-column: 1 / -1; }
.rdt-admin-card-head, .rdt-card-head { display: flex; gap: 14px; align-items: center; }
body.rdt .rdt-admin-card-head h3, body.rdt .rdt-card-head h3 { margin: 0 0 2px; font-size: 17px; }
.rdt-admin-card-head p, .rdt-card-head p { margin: 0; color: var(--rd-muted); font-size: 14px; }
.rdt-admin-icon, .rdt-card-icon { flex: none; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--rd-petrol-tint); color: var(--rd-petrol); font-size: 18px; }
.rdt-admin-links { list-style: none; margin: 0; padding: 0; border: 1px solid var(--rd-line-2); border-radius: 12px; }
.rdt-admin-links > li + li { border-top: 1px solid var(--rd-line-2); }
body.rdt .rdt-admin-links > li > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; color: var(--rd-ink); text-decoration: none; }
body.rdt .rdt-admin-links > li:first-child > a { border-radius: 11px 11px 0 0; }
body.rdt .rdt-admin-links > li:last-child > a { border-radius: 0 0 11px 11px; }
body.rdt .rdt-admin-links > li > a:hover { background: var(--rd-petrol-row); }
.rdt-admin-links > li > a > .fa { color: var(--rd-muted); font-size: 20px; }
body.rdt .rdt-admin-links > li > a:hover > .fa { color: var(--rd-petrol); }
.rdt-admin-links strong { display: block; font-weight: 600; }
.rdt-admin-links small { display: block; color: var(--rd-muted); font-size: 13px; }
.rdt-admin-link-form { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; padding: 12px 14px; }
.rdt-admin-link-form > span:first-child { flex: 1 1 180px; min-width: 0; }
.rdt-admin-inline { flex: 1 1 240px; display: flex; gap: 8px; align-items: center; min-width: 0; }
body.rdt .rdt-admin-inline .form-control { flex: 1 1 140px; width: auto; min-width: 0; }
body.rdt .rdt-admin-inline .btn { flex: none; }
.rdt-admin-row, .rdt-riga { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; justify-content: space-between; }
.rdt-admin-nota, .rdt-nota { margin: 0; font-size: 13px; color: var(--rd-muted); }
.rdt-admin-nota .fa, .rdt-nota .fa { color: var(--rd-petrol); margin-right: 4px; }
.rdt-admin-opzioni { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.rdt-admin-opzione { border: 1px solid var(--rd-line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.rdt-admin-opzione small { color: var(--rd-muted); font-size: 13px; line-height: 1.4; }
body.rdt .rdt-admin-opzione > label { margin: 4px 0 0; font-size: 12px; font-weight: 600; color: var(--rd-muted); }
/* casella e testo sempre affiancati (CssClass sulla CheckBox: ASP.NET li avvolge in uno span) */
.rdt-admin-check { display: flex; align-items: flex-start; gap: 8px; }
body.rdt .rdt-admin-check input[type=checkbox] { flex: none; margin: 3px 0 0; }
body.rdt .rdt-admin-opzione .rdt-admin-check label { display: inline; margin: 0; font-size: 14px; font-weight: 600; color: var(--rd-ink); }
.rdt-admin-rischio { border-color: #EFD9A9; background: #FFFCF4; }
.rdt-admin-messaggio { padding: 12px 14px; border-radius: 10px; background: var(--rd-surface-2); border: 1px solid var(--rd-line-2); font-family: var(--rd-mono); font-size: 13px; line-height: 1.5; max-height: 380px; overflow: auto; }
.rdt-admin-licenza { display: flex; flex-direction: column; gap: 12px; }
.rdt-admin-hwid { font-size: 14px; }
.rdt-admin-hwid span { color: var(--rd-muted); margin-right: 6px; }
.rdt-admin-mono { font-family: var(--rd-mono); font-weight: 600; word-break: break-all; }
.rdt-admin-campi { display: flex; flex-wrap: wrap; gap: 12px; }
.rdt-admin-campo { flex: 1 1 220px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rdt-admin-campo-largo { flex: 3 1 360px; }
.rdt-admin-piede { margin: 8px 0 0; font-size: 12px; color: var(--rd-muted); }

/* ---------- menu delle sezioni (Impostazioni, Impostazioni gruppo, Impostazioni macchina) ----------
   E` il TreeView di sempre (stessi eventi), presentato come elenco: voce scelta su tinta chiara con il bordo nel colore del sito */
body.rdt .rdt-sezioni { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; padding: 12px; margin-bottom: 20px; }
.rdt-sezioni-titolo { margin: 2px 8px 8px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rd-muted); }
body.rdt .rdt-sezioni table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.rdt .rdt-sezioni td { padding: 0 !important; border: 0 !important; background: none !important; }
body.rdt .rdt-sezioni a { display: block; padding: 8px 12px; margin: 1px 0; border-radius: 8px; color: var(--rd-ink-2); font-size: 14px; font-weight: 500; line-height: 1.35; text-decoration: none; white-space: normal; }
body.rdt .rdt-sezioni a:hover, body.rdt .rdt-sezioni a:focus { background: var(--rd-surface-2); color: var(--rd-ink); text-decoration: none; }
body.rdt .rdt-sezioni a .fa-caret-right { display: none; }
body.rdt .rdt-sezioni .rdt-sez-on a, body.rdt .rdt-sezioni a.rdt-sez-on { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); font-weight: 600; box-shadow: inset 3px 0 0 var(--rd-petrol); }
/* area di amministrazione: la barra del titolo (percorso, titolo, pulsanti Salva/Annulla) resta in alto mentre la pagina scorre.
   --rdt-titolo-h e` l'altezza della barra, misurata da LightDefault.Master: serve per mettere il menu delle sezioni subito sotto */
@media (min-width: 768px) {
	body.rdt.rdt-light .title-area { position: sticky; top: 0; z-index: 20; background: var(--rd-surface); padding-top: 12px; box-shadow: 0 10px 12px -14px rgba(22, 25, 29, 0.35); }
}
/* schermo largo: menu e contenuto affiancati, il menu resta visibile mentre si scorre la sezione */
@media (min-width: 1200px) {
	body.rdt .rdt-sez-layout { display: flex; align-items: flex-start; }
	body.rdt .rdt-sez-layout > .col-lg-3 { float: none; position: sticky; top: calc(var(--rdt-titolo-h, 0px) + 16px); }
	body.rdt .rdt-sez-layout > .col-lg-9 { float: none; }
	body.rdt .rdt-sezioni { max-height: calc(100vh - var(--rdt-titolo-h, 0px) - 32px); overflow-y: auto; }
}
/* contenuto delle sezioni di impostazioni: ogni blocco .breadcrumb e` un riquadro, le tabelle etichetta/campo sono piu` leggibili */
body.rdt .rdt-sez-layout > .col-lg-9 .breadcrumb { background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 14px; padding: 18px 20px; margin: 0 0 16px; color: var(--rd-ink); }
body.rdt .rdt-sez-layout > .col-lg-9 .breadcrumb > h1 { margin: 0 0 12px; font-size: 22px; }
body.rdt .rdt-sez-layout > .col-lg-9 .breadcrumb > h3 { margin: 0 0 6px; padding-bottom: 10px; border-bottom: 1px solid var(--rd-line-2); font-size: 16px; font-weight: 600; color: var(--rd-ink); }
body.rdt .rdt-sez-layout > .col-lg-9 .breadcrumb > h4 { margin: 14px 0 6px; font-size: 14px; font-weight: 600; color: var(--rd-ink-2); }
body.rdt .table-impostazioni { background: transparent; margin-bottom: 0; }
body.rdt .table-impostazioni col:first-child { width: 34%; }
body.rdt .table-impostazioni > tbody > tr > th, body.rdt .table-impostazioni > tbody > tr > td { padding: 10px 8px; border-top: 1px solid var(--rd-line-2); vertical-align: middle; background: transparent !important; }
body.rdt .table-impostazioni > tbody > tr:first-child > th, body.rdt .table-impostazioni > tbody > tr:first-child > td { border-top: 0; }
body.rdt .table-impostazioni > tbody > tr > th { width: 34%; white-space: normal; font-size: 14px; font-weight: 600; color: var(--rd-ink-2); text-align: left; }
body.rdt .table-impostazioni > tbody > tr > td > .form-control, body.rdt .table-impostazioni > tbody > tr > td > select { max-width: 560px; }
body.rdt .table-impostazioni > tbody > tr > td > input[type=checkbox] + label { font-size: 14px; }
@media (max-width: 767px) {
	body.rdt .table-impostazioni, body.rdt .table-impostazioni > tbody, body.rdt .table-impostazioni > tbody > tr, body.rdt .table-impostazioni > tbody > tr > th, body.rdt .table-impostazioni > tbody > tr > td { display: block; width: 100%; }
	body.rdt .table-impostazioni > tbody > tr > th { padding-bottom: 2px; }
	body.rdt .table-impostazioni > tbody > tr > td { padding-top: 4px; border-top: 0; }
	body.rdt .table-impostazioni > tbody > tr > th:empty { display: none; }
}
/* schermo piu` stretto: il menu sta sopra il contenuto, con le sezioni affiancate come pillole */
@media (max-width: 1199px) {
	body.rdt .rdt-sez-albero { display: flex; flex-wrap: wrap; gap: 6px; }
	body.rdt .rdt-sez-albero > table { width: auto; }
	body.rdt .rdt-sezioni a { margin: 0; padding: 6px 12px; border: 1px solid var(--rd-line); border-radius: 999px; }
	body.rdt .rdt-sezioni .rdt-sez-on a, body.rdt .rdt-sezioni a.rdt-sez-on { box-shadow: none; border-color: var(--rd-petrol); }
}
body.rdt .rdt-adminmain #main-content > .content { min-height: 0; }

/* ==========================================================================
   POPUP (PopupDefault.Master)
   ========================================================================== */
.rdt-popup-header { background: var(--rd-surface); border-bottom: 1px solid var(--rd-line); }
.rdt-popup-header .rdt-header-inner { padding-top: 10px; padding-bottom: 10px; }
.rdt-popup-main { max-width: 1100px; margin: 0 auto; padding: 20px 24px 32px; }

/* ==========================================================================
   SCHERMI PICCOLI
   ========================================================================== */
/* tra 992 e 1199 px logo + ricerca + strumenti non stanno su una riga (andavano a capo gli strumenti): la ricerca va su una riga sua, come sui schermi piccoli */
@media (max-width: 1199px) {
	.rdt-search-wrap { order: 3; flex-basis: 100%; max-width: none; }
}
@media (max-width: 767px) {
	.rdt-header-inner, .rdt-nav, .rdt-loginbar-inner, .rdt-main, .rdt-footer { padding-left: 16px; padding-right: 16px; }
	.rdt-logo img { max-height: 36px; max-width: 140px; }
	body.rdt .rdt-cart-label, body.rdt .rdt-user-name { display: none; }
	body.rdt .rdt-nav-toggle { display: inline-flex; }
	.rdt-nav { flex-wrap: wrap; }
	.rdt-context { order: 1; flex: 1 1 0; }
	body.rdt .rdt-tabs { order: 2; }
	body.rdt .rdt-tabs.collapse { display: none; }
	body.rdt .rdt-tabs.collapse.in, body.rdt .rdt-tabs.collapsing { display: flex; flex-direction: column; flex-basis: 100%; padding-bottom: 8px; }
	body.rdt .rdt-tabs > li > a { border-bottom: 0; border-left: 3px solid transparent; padding: 10px 12px; }
	body.rdt .rdt-tabs > li.active > a { border-left-color: var(--rd-petrol); }
	body.rdt .rdt-tabs .dropdown-menu { position: static; float: none; box-shadow: none; border: 0; margin: 0 0 6px 12px; }
	.rdt-tabs-sep { display: none; }
	body.rdt #main-content > .content { padding: 18px 16px 20px; border-radius: 14px; }
	body.rdt h1, body.rdt .h1 { font-size: 25px; }
	.rdt-context-impersona { margin-left: 0; }
	.rdt-adminwrap { flex-direction: column; }
	.rdt-adminside { flex: none; }
	.rdt-adminmain { padding: 18px 16px 32px; }
	body.rdt #sidebar { margin-top: 16px; }
}
@media (max-width: 520px) {
	.rdt-context { flex-basis: 100%; padding-bottom: 8px; }
}
@media (min-width: 768px) {
	body.rdt .rdt-tabs.collapse { display: flex !important; height: auto !important; }
	body.rdt .rdt-tabs > li.rdt-tab-dup { display: none; }
}

/* stampa: solo il contenuto */
/* ==========================================================================
   LEGGIBILITA`: testi che Bootstrap colora con valori fissi. Provati con tutti i colori del sito (contrasto minimo 4,5:1 per il testo)
   ========================================================================== */
/* elemento attivo del percorso (breadcrumb) e citazioni */
body.rdt .breadcrumb > .active { color: var(--rd-ink-2); }
body.rdt blockquote footer, body.rdt blockquote small, body.rdt blockquote .small { color: var(--rd-muted); }
/* contatori dentro le voci attive: testo del colore del sito su fondo bianco */
body.rdt .list-group-item.active > .badge, body.rdt .nav-pills > .active > a > .badge { background: #FFFFFF; color: var(--rd-petrol); }
/* voci colorate degli elenchi: stessi colori degli avvisi */
body.rdt .list-group-item-success, body.rdt a.list-group-item-success { background: var(--rd-green-tint); color: var(--rd-green-text); }
body.rdt .list-group-item-info, body.rdt a.list-group-item-info { background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); }
body.rdt .list-group-item-warning, body.rdt a.list-group-item-warning { background: var(--rd-amber-tint); color: #4D3300; }
body.rdt .list-group-item-danger, body.rdt a.list-group-item-danger { background: var(--rd-red-tint); color: var(--rd-red-text); }
/* barre di avanzamento */
body.rdt .progress { background: var(--rd-line-2); box-shadow: none; }
body.rdt .progress-bar { background: var(--rd-petrol); color: #FFFFFF; box-shadow: none; }
body.rdt .progress-bar-success { background: var(--rd-green-text); }
body.rdt .progress-bar-info { background: var(--rd-petrol-dark); }
body.rdt .progress-bar-warning { background: var(--rd-amber); color: #4D3300; }
body.rdt .progress-bar-danger { background: var(--rd-red-text); }

/* ==========================================================================
   PULSANTI AL PASSAGGIO DEL MOUSE E CAMPO FILE
   ========================================================================== */
/* pulsanti sulle schede scure: col mouse o con la tastiera il testo resta bianco (la regola dei collegamenti, body.rdt a:hover, lo rendeva scuro su fondo scuro) */
body.rdt .rd a.rd-btn-ghost-dark:hover, body.rdt .rd a.rd-btn-ghost-dark:focus, body.rdt .rd a.rd-btn-ghost-dark:active { color: #FFFFFF; background: rgba(255, 255, 255, 0.16); border-color: rgba(255, 255, 255, 0.75); text-decoration: none; }
/* pulsante semplice e pulsante con bordo: il colore al passaggio del mouse e` quello del pulsante, non quello dei collegamenti */
body.rdt .rd a.rd-btn:not([class*="rd-btn-"]):hover, body.rdt .rd a.rd-btn:not([class*="rd-btn-"]):focus { color: var(--rd-ink); text-decoration: none; }
body.rdt .rd a.rd-btn-outline:hover, body.rdt .rd a.rd-btn-outline:focus { color: var(--rd-petrol-dark); background: var(--rd-petrol-tint); text-decoration: none; }
/* campo file: il pulsante «Scegli file» ha lo stesso aspetto degli altri pulsanti invece di quello del browser */
body.rdt input[type=file] { display: block; width: 100%; max-width: 640px; min-height: 44px; padding: 5px; border: 1px dashed var(--rd-input); border-radius: 10px; background: var(--rd-surface-2); color: var(--rd-muted); font-size: 14px; line-height: 1.2; cursor: pointer; box-shadow: none; }
body.rdt input[type=file].form-control { height: auto; }
body.rdt input[type=file]:hover { border-color: var(--rd-petrol); background: var(--rd-petrol-row); }
body.rdt input[type=file]:focus-visible { outline: 3px solid var(--rd-petrol-tint); outline-offset: 2px; border-color: var(--rd-petrol); }
body.rdt input[type=file]::file-selector-button { height: 34px; margin: 0 12px 0 0; padding: 0 16px; border: 1px solid var(--rd-input); border-radius: 8px; background: var(--rd-surface); color: var(--rd-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.15s, border-color 0.15s; }
body.rdt input[type=file]::-webkit-file-upload-button { height: 34px; margin: 0 12px 0 0; padding: 0 16px; border: 1px solid var(--rd-input); border-radius: 8px; background: var(--rd-surface); color: var(--rd-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
body.rdt input[type=file]:hover::file-selector-button { background: var(--rd-petrol-tint); border-color: var(--rd-petrol); color: var(--rd-petrol-dark); }
body.rdt input[type=file]:hover::-webkit-file-upload-button { background: var(--rd-petrol-tint); border-color: var(--rd-petrol); color: var(--rd-petrol-dark); }
body.rdt input[type=file]:disabled { opacity: 0.6; cursor: not-allowed; }

/* ==========================================================================
   AZIONI NELLE TABELLE E TABELLE CON CAMPI IN RIGA (RDT-TAB-ALLINEA)
   ========================================================================== */
/* elenco articoli: Modifica e Mostra sono due pulsanti piccoli sulla stessa riga; il blocco prezzo e carrello va sotto a tutta larghezza */
body.rdt .rdt-azioni-articolo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.rdt .rdt-azioni-articolo > [id$="tblPrezzo"] { flex: 1 0 100%; }
body.rdt .rdt-azioni-articolo > .rdt-riga { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
body.rdt .rdt-azioni-articolo .small { font-size: inherit; }
/* pulsanti piccoli dentro le tabelle: stesso aspetto per Modifica, Mostra, matita e cestino; al passaggio del mouse prendono il colore del sito */
body.rdt .table .btn-default.btn-sm, body.rdt .rdt-azioni-articolo .btn-default.btn-sm { border-radius: 9px; font-weight: 600; background: var(--rd-surface); }
body.rdt .table .btn-default.btn-sm .fa { color: var(--rd-petrol); }
body.rdt .table .btn-default.btn-sm:hover, body.rdt .table a:hover > .btn-default.btn-sm, body.rdt .rdt-azioni-articolo .btn-default.btn-sm:hover { background: var(--rd-petrol-tint); border-color: var(--rd-petrol); color: var(--rd-petrol-dark); }
body.rdt .table .btn-default.btn-sm .fa.text-danger, body.rdt .table a:hover > .btn-default.btn-sm .fa.text-danger { color: var(--rd-red); }
body.rdt .table a:hover > .btn-default.btn-sm .fa.text-danger { color: var(--rd-red-text); }
/* tabelle con campi di modifica in riga (Articoli abbinati di Anaprod): celle allineate in alto, campi della stessa altezza, controlli di servizio sempre sotto al campo */
body.rdt .rdt-tab-allinea { table-layout: fixed; }
body.rdt .rdt-tab-allinea > thead > tr > th, body.rdt .rdt-tab-allinea > tbody > tr > td { vertical-align: top; padding: 10px 8px; }
body.rdt .rdt-tab-allinea > tbody > tr > td:first-child { padding-top: 20px; line-height: 20px; overflow-wrap: anywhere; }
body.rdt .rdt-tab-allinea > tbody > tr.active > td:first-child { padding-top: 10px; }
body.rdt .rdt-tab-allinea .form-control { width: 100%; min-width: 0; }
body.rdt .rdt-tab-allinea .rdt-check { display: flex; margin-top: 8px; }
body.rdt .rdt-tab-allinea a[id$="btnDuplicaAbbinato"] { display: inline-block; margin-top: 8px; font-size: 13px; }
body.rdt .rdt-tab-allinea > tbody > tr > td:nth-child(6) { text-align: center; padding-top: 20px; }
body.rdt .rdt-tab-allinea > tbody > tr.active > td:nth-child(6) { text-align: left; padding-top: 10px; }

/* ==========================================================================
   AGGIORNAMENTO IN CORSO, ELENCHI E AMMINISTRAZIONE SITO
   ========================================================================== */
@keyframes rdt-gira { to { transform: rotate(360deg); } }
@keyframes rdt-barra { 0% { background-position: -60% 0; } 100% { background-position: 160% 0; } }
/* Aggiornamento parziale (UpdatePanel). generic.css metteva opacity 0.3 a tutto il pannello: nelle finestre (pannello = finestra) diventavano trasparenti e non si capiva se stesse lavorando.
   Ora il pannello resta leggibile, il contenuto si attenua appena, nelle finestre gira un indicatore e in cima alla pagina scorre una barra (classe rdt-busy messa dai master). */
body.rdt .upUpdatingStyle { opacity: 1; position: relative; }
body.rdt .upUpdatingStyle > :not(.modal-footer) { opacity: 0.5; pointer-events: none; transition: opacity 0.15s; }
body.rdt .modal-content.upUpdatingStyle::after { content: ""; position: absolute; z-index: 40; top: 50%; left: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border: 4px solid var(--rd-petrol-tint); border-top-color: var(--rd-petrol); border-radius: 50%; background: var(--rd-surface); box-shadow: 0 0 0 12px var(--rd-surface), 0 6px 22px 6px rgba(22, 25, 29, 0.25); animation: rdt-gira 0.8s linear infinite; }
body.rdt.rdt-busy::before { content: ""; position: fixed; z-index: 2000; left: 0; right: 0; top: 0; height: 3px; pointer-events: none; background-image: linear-gradient(90deg, transparent, var(--rd-petrol), transparent); background-size: 50% 100%; background-repeat: no-repeat; animation: rdt-barra 1.1s ease-in-out infinite; }
body.rdt.rdt-busy, body.rdt.rdt-busy a, body.rdt.rdt-busy .btn { cursor: progress; }
@media (prefers-reduced-motion: reduce) { body.rdt.rdt-busy::before, body.rdt .modal-content.upUpdatingStyle::after { animation-duration: 3s; } }
/* elenchi (DataGrid e Repeater): colonne delle azioni strette, matita e cestino vicini; valori Si/No come segni invece di caselle disattivate; righe cliccabili */
body.rdt .table .rdt-col-azione { width: 1%; white-space: nowrap; text-align: right; padding-left: 4px; padding-right: 4px; }
body.rdt .table td.rdt-col-azione + td.rdt-col-azione { padding-left: 0; }
body.rdt .table th.rdt-col-azione:last-child, body.rdt .table td.rdt-col-azione:last-child { padding-right: 16px; }
body.rdt .table td.rdt-col-azione > a { text-decoration: none; }
/* valore Si/No di una colonna: casella nativa disattivata (resta leggibile da tastiera e da lettori di schermo) disegnata come segno verde o trattino */
input.rdt-sino { -webkit-appearance: none; appearance: none; display: inline-grid; place-items: center; width: 22px; height: 22px; margin: 0; border-radius: 50%; vertical-align: middle; cursor: default; background: transparent; box-shadow: none; }
input.rdt-sino:checked { background: var(--rd-green-tint); }
input.rdt-sino:checked::after { content: "\f00c"; font-family: FontAwesome; font-size: 12px; line-height: 1; color: var(--rd-green-text); }
input.rdt-sino:not(:checked)::after { content: "\2013"; font-size: 14px; line-height: 1; color: var(--rd-muted); }
body.rdt .table > tbody > tr[data-href] { cursor: pointer; }
.rdt-avatar-sm { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 8px; border-radius: 50%; background: var(--rd-petrol-tint); color: var(--rd-petrol-dark); font-size: 13px; vertical-align: middle; }
body.rdt .table .rdt-nome-utente { font-weight: 600; vertical-align: middle; }
/* Amministrazione sito: schede una sotto l'altra su due colonne, ognuna alta quanto il suo contenuto (niente spazi vuoti), campi non piu` larghi del necessario */
/* tutte le schede, anche quelle fuori dal blocco riservato, scorrono in due colonne bilanciate; titolo e avvisi occupano tutta la larghezza */
@media (min-width: 1180px) {
	.rdt-admin-grid { display: block; column-count: 2; column-gap: 18px; }
	.rdt-admin-grid > .rdt-admin-card { margin-bottom: 18px; }
	.rdt-admin-pagina { column-count: 2; column-gap: 18px; }
	.rdt-admin-pagina > [id$="tdInizio"], .rdt-admin-pagina .title-area { column-span: all; }
	.rdt-admin-pagina > [id$="trAmministrazione"], .rdt-admin-pagina .rdt-admin-grid { display: contents; }
}
.rdt-admin-grid > .rdt-admin-card { break-inside: avoid; page-break-inside: avoid; }
body.rdt .rdt-admin-card .form-control { max-width: 440px; }
body.rdt .rdt-admin-card .rdt-admin-inline .form-control { max-width: none; }
body.rdt .rdt-admin-card .rdt-admin-campo:not(.rdt-admin-campo-largo) .form-control { max-width: 340px; }
body.rdt .rdt-admin-card .rdt-admin-campo-largo .form-control { max-width: 100%; }
body.rdt .rdt-admin-card .rdt-admin-campi { flex-direction: column; }
body.rdt .rdt-admin-card .rdt-admin-campo, body.rdt .rdt-admin-card .rdt-admin-campo-largo { flex: none; }
/* opzioni dell'allineamento stringhe: elenco compatto invece di tre riquadri larghi quasi vuoti */
.rdt-admin-opzioni { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--rd-line-2); border-radius: 12px; overflow: hidden; }
.rdt-admin-opzione { border: 0; border-radius: 0; border-top: 1px solid var(--rd-line-2); padding: 12px 14px; gap: 4px; }
.rdt-admin-opzioni > .rdt-admin-opzione:first-child { border-top: 0; }

/* pagine disabilitate dell'impaginazione (prima/ultima): piu` tenui delle altre anche con il mouse sopra, senza il grigio chiaro di Bootstrap (#999, 2,85:1) */
body.rdt .pagination > .disabled > a, body.rdt .pagination > .disabled > span, body.rdt .pagination > .disabled > a:hover, body.rdt .pagination > .disabled > a:focus, body.rdt .pagination > .disabled > span:hover { color: var(--rd-muted); background: var(--rd-surface-2); border-color: var(--rd-line); cursor: not-allowed; }
/* voci disabilitate dei menu a tendina e delle schede: tenui, e restano tali anche con il mouse o la tastiera sopra */
body.rdt .dropdown-menu > .disabled > a, body.rdt .dropdown-menu > .disabled > a:hover, body.rdt .dropdown-menu > .disabled > a:focus, body.rdt .nav > li.disabled > a, body.rdt .nav > li.disabled > a:hover, body.rdt .nav > li.disabled > a:focus { color: var(--rd-muted); background: transparent; cursor: not-allowed; }

/* ==========================================================================
   NIENTE RIQUADRO DENTRO UN RIQUADRO
   ========================================================================== */
/* una tabella dentro una scheda (o dentro un'altra tabella) non ha una seconda cornice: quella del contenitore basta. Resta lo scorrimento orizzontale, ma solo se la tabella e` davvero piu` larga dello spazio. */
body.rdt .rdt-card .rdt-tabella, body.rdt .rdt-admin-card .rdt-tabella, body.rdt .rdt-tabella .rdt-tabella { border: 0; border-radius: 0; background: transparent; margin-bottom: 0; }
body.rdt .rdt-card .rdt-tabella > .table > thead > tr > th:first-child, body.rdt .rdt-card .rdt-tabella > .table > tbody > tr > td:first-child, body.rdt .rdt-admin-card .rdt-tabella > .table > thead > tr > th:first-child, body.rdt .rdt-admin-card .rdt-tabella > .table > tbody > tr > td:first-child, body.rdt .rdt-tabella .rdt-tabella > .table > thead > tr > th:first-child, body.rdt .rdt-tabella .rdt-tabella > .table > tbody > tr > td:first-child { padding-left: 12px; }
/* Articoli abbinati: sotto questa larghezza i campi non starebbero piu` nelle colonne e la tabella scorre; sopra no. I pulsanti nelle celle restano su una riga. */
body.rdt .rdt-tab-allinea { min-width: 740px; }
body.rdt .rdt-tab-allinea > thead > tr > th { white-space: normal; }
body.rdt table.rdt-tab-allinea > tbody > tr > td > .form-control, body.rdt table.rdt-tab-allinea > tbody > tr > td > .rdt-check + .form-control { min-width: 0; max-width: 100%; }
body.rdt .rdt-tab-allinea a[id$="btnAggiungiAbbinato"] { padding-left: 10px; padding-right: 10px; }

/* ==========================================================================
   TABELLE NELLE SCHEDE: INTESTAZIONI CHE VANNO A CAPO, TABELLE COMPATTE
   ========================================================================== */
/* le intestazioni (maiuscole, su una riga) fissavano la larghezza delle colonne e facevano scorrere la tabella: dentro una scheda lo spazio e` poco, quindi vanno a capo se serve */
body.rdt .rdt-card .rdt-tabella .table > thead > tr > th, body.rdt .rdt-card .rdt-tabella .table > tbody > tr > th[scope="col"], body.rdt .rdt-admin-card .rdt-tabella .table > thead > tr > th, body.rdt .rdt-admin-card .rdt-tabella .table > tbody > tr > th[scope="col"] { white-space: normal; }
/* righe con una sola cella a tutta larghezza (riepiloghi, pulsanti) nella tabella degli abbinati: non il margine alto delle righe dei dati */
body.rdt .rdt-tab-allinea > tbody > tr > td[colspan]:first-child { padding-top: 10px; line-height: inherit; }
/* tabella con campi di testo in molte colonne (ClassificazioneArticoli): campi senza larghezza minima e celle piu` strette */
body.rdt table.rdt-tab-compatta > tbody > tr > td > .form-control { min-width: 0; padding-left: 6px; padding-right: 6px; }
body.rdt table.rdt-tab-compatta > thead > tr > th, body.rdt table.rdt-tab-compatta > tbody > tr > td { padding-left: 8px; padding-right: 8px; }
/* tabella con testi lunghi senza spazi, come i percorsi dei file (GestMacchine): vanno a capo dove serve */
body.rdt table.rdt-tab-wrap > tbody > tr > td { overflow-wrap: anywhere; }

/* ==========================================================================
   CAMPI CHE COMPAIONO SOTTO UNA CASELLA, AZIONI DI RIGA
   ========================================================================== */
/* campi che servono solo con una certa scelta (per esempio operatore e giorni di «Utenti con scadenza»): niente riga in piu` nella barra di ricerca, compaiono sotto la casella con il mouse o la tastiera e resta una sintesi sempre visibile */
.rdt-campo-scadenza { position: relative; }
.rdt-flyout-wrap { display: contents; }
.rdt-flyout-sintesi { position: absolute; z-index: 5; top: -10px; right: 12px; padding: 0 8px; border-radius: 999px; background: var(--rd-petrol); color: #FFFFFF; font-size: 11px; font-weight: 600; line-height: 18px; white-space: nowrap; pointer-events: none; }
/* si apre SOPRA la casella; quando mouse e fuoco se ne vanno resta visibile ancora 2,5 secondi (ritardo sulla transizione: visibility passa a hidden solo alla fine) */
.rdt-flyout { visibility: hidden; opacity: 0; position: absolute; z-index: 40; left: 0; bottom: 100%; width: 230px; max-width: 90vw; padding-bottom: 14px; transition: opacity 0.25s ease 2.5s, visibility 0s linear 2.75s; top: 104% !important;}
.rdt-campo-scadenza:hover > .rdt-flyout-wrap > .rdt-flyout, .rdt-campo-scadenza:focus-within > .rdt-flyout-wrap > .rdt-flyout { visibility: visible; opacity: 1; transition: opacity 0.15s ease 0s, visibility 0s linear 0s; }
/* con l'elenco di una tendina aperto (Chrome/Edge: l'elenco sta fuori dalla finestrella e il mouse sopra di esso conta come «fuori», il fuoco passa all'elenco) la finestrella resta aperta; regola a parte: i browser che non conoscono :open la ignorano senza toccare le altre */
.rdt-campo-scadenza:has(.rdt-flyout select:open) > .rdt-flyout-wrap > .rdt-flyout { visibility: visible; opacity: 1; transition: opacity 0.15s ease 0s, visibility 0s linear 0s; }
/* aperta dalla pagina (valore mancante): finche' e` nascosta il campo non puo' ricevere il fuoco, quindi la classe la mostra subito */
.rdt-campo-scadenza.rdt-flyout-aperta > .rdt-flyout-wrap > .rdt-flyout { visibility: visible; opacity: 1; transition: opacity 0.15s ease 0s, visibility 0s linear 0s; width:230px !important; top: 104% !important;}
.rdt-flyout-card { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; background: var(--rd-surface); border: 1px solid var(--rd-line); border-radius: 12px; box-shadow: 0 10px 28px -8px rgba(22, 25, 29, 0.28); }
body.rdt .rdt-flyout-card .rdt-flyout-titolo { margin: 0; font-size: 13px; font-weight: 600; color: var(--rd-ink-2); }
.rdt-flyout-campi { display: flex; gap: 4px; align-items: flex-start; }
.rdt-flyout-campi > .input-group { flex: 1 1 0; min-width: 0; }
.rdt-flyout-campi > .input-group:first-child { flex: 1 1 0; }
/* azioni di riga: pulsanti piccoli e separati (non un gruppo), icona colorata secondo l'azione */
.rdt-azioni-riga { display: inline-flex; gap: 6px; align-items: center; justify-content: flex-end; }
body.rdt .table .btn-default.btn-sm.rdt-az-abilita .fa { color: var(--rd-green-text); }
body.rdt .table .btn-default.btn-sm.rdt-az-abilita:hover { background: var(--rd-green-tint); border-color: var(--rd-green-text); color: var(--rd-green-text); }
body.rdt .table .btn-default.btn-sm.rdt-az-disabilita .fa { color: var(--rd-red); }
body.rdt .table .btn-default.btn-sm.rdt-az-disabilita:hover { background: var(--rd-red-tint); border-color: var(--rd-red); color: var(--rd-red-text); }
body.rdt .table .btn-default.btn-sm.rdt-az-disabilita:hover .fa { color: var(--rd-red-text); }

/* ==========================================================================
   PULSANTI CON LA SOLA ICONA (AZIONI DI RIGA)
   ========================================================================== */
/* tutti dello stesso formato e con l'icona al centro. L'icona ha larghezza fissa perche` quelle di Font Awesome sono larghe in modo diverso (matita, lucchetto, divieto); font-size 0 sul pulsante azzera lo spazio non separabile che i pulsanti Awesome scrivevano dopo l'icona */
body.rdt .btn.rdt-btn-icona { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 36px; min-width: 36px; height: 32px; padding: 0; font-size: 0; line-height: 1; }
body.rdt .btn.rdt-btn-icona .fa { width: 16px; margin: 0; font-size: 14px; line-height: 1; text-align: center; }

/* ==========================================================================
   GIRO SULLE ALTRE PAGINE (revisione del layout)
   ========================================================================== */
/* ordini residui: intestazioni a capo e carattere piu` piccolo, come nell'originale (.table-smallfont) */
body.rdt #tblResiduo > thead > tr > th { white-space: normal; }
body.rdt #tblResiduo { font-size: 13px; }
/* moduli con coppie «dal / al»: le coppie restano affiancate (2 colonne, 4 da 1260 px, 1 sotto 576 px) */
.rdt-campi.rdt-campi-coppie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1260px) { .rdt-campi.rdt-campi-coppie { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 575px) { .rdt-campi.rdt-campi-coppie { grid-template-columns: minmax(0, 1fr); } }
.rdt-campi > .rdt-toolbar-azioni { align-self: end; }
/* tabella con intestazioni lunghe e stato a etichetta (ForToOrderDashboard) */
body.rdt table.rdt-th-wrap > thead > tr > th { white-space: normal; }
body.rdt table.rdt-th-wrap > thead > tr > th, body.rdt table.rdt-th-wrap > tbody > tr > td { padding-left: 8px; padding-right: 8px; }
body.rdt table.rdt-th-wrap .label { white-space: normal; display: inline-block; border-radius: 14px; }
/* scheda facoltativa senza campi (UserEdit, App ForToOrder per i clienti): sparisce; contenitori vuoti senza spazio */
.rdt-card.rdt-card-opzionale:not(:has(input, select, textarea)) { display: none; }
.rdt-campi > .rdt-campo:not(:has(*)), .rdt-checks:not(:has(*)) { display: none; }
/* barra senza cornice dentro una scheda (niente riquadro dentro un riquadro) */
body.rdt .rdt-toolbar.rdt-toolbar-nuda { background: transparent; border: 0; padding: 0; margin: 0; }
/* schede della griglia di pari altezza: i pulsanti stanno in fondo, tutti alla stessa quota */
.rdt-card > .rdt-azioni { margin-top: auto; }
.rdt-card > :has(+ .rdt-azioni) { margin-bottom: 4px; }
/* campo della barra di ricerca largo quanto il suo contenuto (CollegaArticoliErgo: tre scelte) */
.rdt-toolbar .rdt-campo.rdt-campo-auto { flex: 0 1 auto; }
/* registri delle operazioni (<pre> scritti dal codice): come .rdt-registro, senza il riquadro grigio di Bootstrap */
body.rdt .rdt-card pre { margin: 0; padding: 12px 14px; border-radius: 10px; background: var(--rd-surface-2); border: 1px solid var(--rd-line-2); color: var(--rd-ink); font: 13px/1.5 var(--rd-mono); white-space: pre-wrap; word-break: normal; overflow-wrap: anywhere; max-height: 420px; overflow: auto; }
/* Scadenze: pulsanti dei giorni rapidi (4 in 340 px) senza andare a capo; casella dell'e-mail con il testo accanto */
body.rdt .rd [role="group"] > a.rd-btn { padding-left: 4px; padding-right: 4px; white-space: nowrap; }
body.rdt .rd-check > span { display: flex; align-items: flex-start; gap: 10px; }
body.rdt .rd-check > span > input[type=checkbox] { flex: none; }

/* ==========================================================================
   ARTICOLI ABBINATI: OPERAZIONI E NUOVO ABBINATO
   ========================================================================== */
/* operazioni sull'elenco: pulsanti sotto la tabella, neutri con il bordo colorato (il colore pieno e` per le azioni principali) */
.rdt-abb-operazioni { display: flex; flex-wrap: wrap; gap: 10px 12px; }
body.rdt .btn.rdt-btn-avviso { background: var(--rd-surface); border-color: var(--rd-amber); color: var(--rd-amber-text); }
body.rdt .btn.rdt-btn-avviso:hover, body.rdt .btn.rdt-btn-avviso:focus { background: var(--rd-amber-tint); border-color: var(--rd-amber-text); color: var(--rd-amber-text); }
body.rdt .btn.rdt-btn-pericolo { background: var(--rd-surface); border-color: var(--rd-red); color: var(--rd-red-text); }
body.rdt .btn.rdt-btn-pericolo:hover, body.rdt .btn.rdt-btn-pericolo:focus { background: var(--rd-red-tint); border-color: var(--rd-red-text); color: var(--rd-red-text); }
/* nuovo abbinato: parte della scheda separata da una linea, campi con l'etichetta sopra in due righe da tre, pulsante in fondo a destra */
.rdt-aggiungi { display: flex; flex-direction: column; gap: 12px; padding-top: 16px; border-top: 1px solid var(--rd-line-2); }
body.rdt .rdt-aggiungi-titolo { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--rd-ink); }
body.rdt .rdt-aggiungi-titolo .fa { margin: 0; color: var(--rd-petrol); font-size: 17px; }
.rdt-aggiungi-campi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 14px; align-items: end; }
.rdt-aggiungi-azione { display: flex; justify-content: flex-end; }
@media (max-width: 767px) { .rdt-aggiungi-campi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .rdt-aggiungi-campi { grid-template-columns: minmax(0, 1fr); } .rdt-aggiungi-azione .btn { flex: 1 1 auto; } }
body.rdt .rdt-tab-allinea > tbody > tr:last-child > td { border-bottom: 1px solid var(--rd-line-2); }

/* ==========================================================================
   TENDINE CON TESTO LUNGO ED ETICHETTE CON IL VALIDATORE
   ========================================================================== */
/* tendina in stile (base-select): il testo scelto, se e` lungo (un indirizzo di spedizione), andava a capo dentro i 40 px e usciva dal riquadro; ora il riquadro cresce con il testo (minimo 40 px) */
@supports (appearance: base-select) {
	body.rdt select.form-control:not([multiple]):not([size]):not(.input-sm):not(.input-lg), body.rdt select.rd-input:not([multiple]):not([size]) { height: auto; min-height: 40px; padding-top: 7px; padding-bottom: 7px; line-height: 1.35; }
}
/* ...ma nelle barre dei filtri (.rdt-toolbar) tutti i campi della barra restano alti 40 px, come le caselle di testo: il testo scelto sta su una riga e, se non ci sta, sfuma sotto la freccia
   (la freccia e` fuori dal flusso, cosi' non esce dal riquadro; la tendina aperta mostra le voci per intero). Aperta, la freccia cambia disegno invece di ruotare, altrimenti ruoterebbe anche la sfumatura */
@supports (appearance: base-select) {
	body.rdt .rdt-toolbar select.form-control:not([multiple]):not([size]):not(.input-sm):not(.input-lg) { height: 40px; min-height: 0; padding-top: 8px; padding-bottom: 8px; padding-right: 34px; line-height: 1.42857; position: relative; overflow: hidden; white-space: nowrap; }
	body.rdt .rdt-toolbar select.form-control:not([multiple]):not([size])::picker-icon { position: absolute; top: 1px; right: 1px; bottom: 1px; width: 34px; height: auto; margin: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6169' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px, linear-gradient(90deg, transparent, var(--rd-surface) 45%); }
	body.rdt .rdt-toolbar select.form-control:not([multiple]):not([size]):open::picker-icon { rotate: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 6.5l5-5 5 5' fill='none' stroke='%235B6169' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px, linear-gradient(90deg, transparent, var(--rd-surface) 45%); }
	body.rdt .rdt-toolbar select.form-control:not([multiple]):not([size]):disabled::picker-icon { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6169' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px, linear-gradient(90deg, transparent, var(--rd-surface-2) 45%); }
}
/* etichetta messa in un contenitore insieme al suo validatore (Documents): stessa misura, stesso peso e stessa altezza di un'etichetta figlia diretta del campo, cosi' i campi della riga partono tutti alla stessa quota */
body.rdt .rdt-campo > div:not([class]):has(> label) { font-size: 13px; line-height: 1.5; }
body.rdt .rdt-campo > div:not([class]) > label { margin: 0; font-size: 13px; font-weight: 600; color: var(--rd-ink-2); line-height: inherit; }

@media print {
	.rdt-header, .rdt-context, .rdt-loginbar, #sidebar, .rdt-footer, .rdt-adminside { display: none !important; }
	body.rdt { background: #FFFFFF; }
	body.rdt #main-content > .content { border: 0; padding: 0; }
	body.rdt #main-content { width: 100%; left: 0; right: 0; }
}
