:root {
	--gesvasa-primary: #154C2B;
	--gesvasa-accent: #B9CE2B;
	--gesvasa-primary-soft: #eaf1ed;
	--gesvasa-accent-soft: #f3f8d9;
}

.tagtable {
	border: 1px solid #d0ddd5;
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
}

.tagtable tr.liste_titre > td,
.tagtable tr.liste_titre > th {
	background: var(--gesvasa-accent-soft) !important;
	color: var(--gesvasa-primary);
	font-weight: 700;
	border-bottom: 1px solid #c8d67a;
}

.tagtable tr.liste_titre_filter > td,
.tagtable tr.liste_titre_filter > th {
	background: #f7faeb !important;
	border-bottom: 1px solid #d8e4be;
	height: 46px;
}

.tagtable tr.oddeven td,
.tagtable tr.oddeven th {
	border-bottom: 1px solid #e3ece6;
}

.tagtable tr.oddeven:nth-child(even) td,
.tagtable tr.oddeven:nth-child(even) th {
	background: #f9fcf7;
}

.tagtable tr.oddeven:hover td,
.tagtable tr.oddeven:hover th {
	background: #eef6df !important;
}

.tagtable tr.liste_titre > td a,
.tagtable tr.liste_titre > th a {
	color: var(--gesvasa-primary) !important;
	font-weight: 700;
}

.tagtable a {
	color: var(--gesvasa-primary);
}

.tagtable tr.oddeven > td {
	padding: 8px 10px !important;
	vertical-align: middle;
	transition: background-color 0.15s ease;
}

.tagtable tr.oddeven > td[data-key="ref"] a.classfortooltip.refurl {
	color: var(--gesvasa-primary) !important;
	font-weight: 600;
	text-decoration: none;
}

.tagtable tr.oddeven > td[data-key="ref"] a.classfortooltip.refurl:hover {
	text-decoration: underline;
	color: #0f3820 !important;
}

.tagtable tr.oddeven td.center.actioncolumn,
.tagtable tr.liste_titre td.actioncolumn,
.tagtable tr.liste_titre_filter td.actioncolumn {
	text-align: center;
	min-width: 46px;
	width: 46px;
}

.tagtable tr.oddeven td.nowraponall,
.tagtable tr.oddeven td.tdoverflowmax150,
.tagtable tr.oddeven td.tdoverflowmax200,
.tagtable tr.oddeven td.tdoverflowmax250 {
	color: #294434;
}

.tagtable tr.oddeven .badge.badge-status,
.tagtable tr.oddeven .badge-status {
	border-radius: 999px;
	padding: 2px 10px;
	font-weight: 700;
	line-height: 1.5;
	border: 1px solid #c8d67a;
	background: #eef7c8;
	color: #1e452f;
}

.tagtable tr.oddeven input.checkforselect,
.tagtable tr.oddeven input[type="checkbox"] {
	accent-color: var(--gesvasa-primary);
	transform: scale(1.05);
}

.tagtable tr.liste_titre > th a,
.tagtable tr.liste_titre > td a,
.tagtable tr.liste_titre > th,
.tagtable tr.liste_titre > td {
	text-transform: none;
	letter-spacing: 0.1px;
}

.tagtable .flat.searchstring,
.tagtable input.flat,
.tagtable select.flat {
	border: 1px solid #9cb46a;
	border-radius: 8px;
	background: #ffffff;
}

.tagtable .flat.searchstring:focus,
.tagtable input.flat:focus,
.tagtable select.flat:focus {
	outline: none;
	border-color: var(--gesvasa-primary);
	box-shadow: 0 0 0 2px rgba(185, 206, 43, 0.35);
}

/* Filtros superiores fuera de la tabla */
.liste_titre.liste_titre_bydiv.centpercent {
	border: 1px solid #d8e5dc;
	border-radius: 12px;
	padding: 8px 10px;
	background: linear-gradient(120deg, var(--gesvasa-primary-soft) 0%, var(--gesvasa-accent-soft) 100%);
	box-shadow: 0 3px 12px rgba(21, 76, 43, 0.08);
}

.liste_titre.liste_titre_bydiv.centpercent .divsearchfield {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 4px 8px 4px 0;
	padding: 6px 8px;
	background: #ffffff;
	border: 1px solid #d8e5dc;
	border-radius: 9px;
}

.liste_titre.liste_titre_bydiv.centpercent .divsearchfield .pictofixedwidth {
	color: var(--gesvasa-primary);
}

.liste_titre.liste_titre_bydiv.centpercent select.flat,
.liste_titre.liste_titre_bydiv.centpercent input.flat {
	border: 1px solid #9cb46a !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	min-height: 32px;
}

.liste_titre.liste_titre_bydiv.centpercent select.flat:focus,
.liste_titre.liste_titre_bydiv.centpercent input.flat:focus {
	outline: none;
	border-color: var(--gesvasa-primary) !important;
	box-shadow: 0 0 0 2px rgba(185, 206, 43, 0.35);
}

.liste_titre.liste_titre_bydiv.centpercent .select2-container {
	vertical-align: middle;
}

.liste_titre.liste_titre_bydiv.centpercent .select2-container--default .select2-selection--single {
	border: 1px solid #9cb46a !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	min-height: 32px;
	display: flex;
	align-items: center;
	box-shadow: inset 0 1px 2px rgba(21, 76, 43, 0.05);
}

.liste_titre.liste_titre_bydiv.centpercent .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #294434;
	line-height: 30px;
	padding-left: 10px;
	padding-right: 26px;
}

.liste_titre.liste_titre_bydiv.centpercent .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 30px;
	right: 5px;
}

.liste_titre.liste_titre_bydiv.centpercent .select2-container--default.select2-container--focus .select2-selection--single,
.liste_titre.liste_titre_bydiv.centpercent .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--gesvasa-primary) !important;
	box-shadow: 0 0 0 2px rgba(185, 206, 43, 0.35);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: #e8f2cf !important;
	color: #1c3f2a !important;
}

/* Dropdown abierto de Select2 */
.select2-dropdown.ui-dialog,
.select2-dropdown {
	border: 1px solid #c4d97a !important;
	border-radius: 10px !important;
	box-shadow: 0 10px 28px rgba(21, 76, 43, 0.14) !important;
	overflow: hidden;
}

.select2-search.select2-search--dropdown {
	padding: 6px 8px;
	background: var(--gesvasa-accent-soft);
	border-bottom: 1px solid #d8e4be;
}

.select2-search.select2-search--dropdown .select2-search__field {
	border: 1px solid #9cb46a !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	padding: 4px 8px;
	color: #1e452f;
	outline: none;
	width: 100%;
	box-sizing: border-box;
}

.select2-search.select2-search--dropdown .select2-search__field:focus {
	border-color: var(--gesvasa-primary) !important;
	box-shadow: 0 0 0 2px rgba(185, 206, 43, 0.35);
}

.select2-results {
	background: #ffffff;
}

.select2-results__options {
	padding: 4px 0;
	margin: 0;
}

.select2-results__option {
	padding: 6px 10px;
	color: #294434;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.92em;
	cursor: pointer;
	transition: background 0.12s ease;
}

.select2-results__option.optiongrey {
	color: #aaa;
	font-style: italic;
}

.select2-results__option[aria-selected="true"] {
	background: var(--gesvasa-accent-soft) !important;
	color: var(--gesvasa-primary) !important;
	font-weight: 600;
}

/* Foto de usuario dentro del dropdown */
.select2-results__option .userimg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.select2-results__option .photouserphoto.userphotosmall {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid #c8d67a;
	background: #f0f6e0;
}

.select2-results__option a {
	display: inline-flex;
	align-items: center;
	pointer-events: none;
	flex-shrink: 0;
}

/* Bloques fuera de la tabla */
#searchFormList {
	background: linear-gradient(180deg, #ffffff 0%, var(--gesvasa-primary-soft) 100%);
	border: 1px solid #d8e5dc;
	border-radius: 14px;
	padding: 10px;
	box-shadow: 0 6px 18px rgba(21, 76, 43, 0.08);
}

.fichecenter .liste_titre,
.fichecenter .liste_titre_bydiv {
	border-radius: 10px;
}

.fichecenter .divsearchfield {
	background: #ffffff;
	border: 1px solid #d8e5dc;
	border-radius: 8px;
	padding: 4px 8px;
	margin: 2px 6px 2px 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.fichecenter .divsearchfield .pictofixedwidth {
	color: var(--gesvasa-primary);
}

.fichecenter input.flat,
.fichecenter select.flat,
.fichecenter .select2-selection,
.fichecenter .select2-container--default .select2-selection--single {
	border: 1px solid #9cb46a !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	min-height: 32px;
}

.fichecenter input.flat:focus,
.fichecenter select.flat:focus,
.fichecenter .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--gesvasa-primary) !important;
	box-shadow: 0 0 0 2px rgba(185, 206, 43, 0.35);
	outline: none;
}

.fichecenter .butAction,
.fichecenter .button,
.fichecenter a.butAction {
	border-radius: 8px;
}

.fichecenter .pagination,
.fichecenter .pagination li,
.fichecenter .pagination a,
.fichecenter .pagination .button {
	border-radius: 8px;
}

.fichecenter .pagination a,
.fichecenter .pagination .button {
	border: 1px solid transparent;
	color: var(--gesvasa-primary);
	background: transparent;
}

.fichecenter .pagination a:hover,
.fichecenter .pagination .button:hover {
	background: rgba(185, 206, 43, 0.2);
	border-color: transparent;
}

.fichecenter .tabsAction,
.fichecenter .tabsActionNoBottom {
	margin-bottom: 8px;
}

/* Cabecera superior (table-fiche-title) */
#searchFormList .table-fiche-title {
	border: 1px solid #d8e5dc;
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	margin-bottom: 10px;
}

#searchFormList .table-fiche-title .col-title .titre {
	color: var(--gesvasa-primary);
	font-weight: 700;
}

#searchFormList .table-fiche-title td {
	padding-top: 8px;
	padding-bottom: 8px;
	vertical-align: middle;
}

/* Barra de acciones y botonera superior */
#searchFormList .btnTitle,
#searchFormList .btnTitlePlus,
#searchFormList .btnTitleSelected {
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--gesvasa-primary);
}

#searchFormList .btnTitle:hover,
#searchFormList .btnTitlePlus:hover {
	background: rgba(185, 206, 43, 0.28);

}

#searchFormList .btnTitle span:hover,
#searchFormList .btnTitlePlus span:hover {
	background: transparent;
	border-color: transparent;
}

#searchFormList .btnTitle:hover,
#searchFormList .btnTitlePlus:hover {
	
}

#searchFormList .btnTitleSelected {
	background: rgba(185, 206, 43, 0.28);
	border-color: transparent;
}

/* Paginacion y limites */
#searchFormList .pagination {
	align-items: center;
	gap: 6px;
}

#searchFormList .pagination li.pagination {
	border-radius: 8px;
}

#searchFormList .pageplusone,
#searchFormList .selectlimit {
	border: 1px solid #9cb46a !important;
	border-radius: 8px;
	background: #ffffff;
	height: 32px;
}

#searchFormList .paginationnext,
#searchFormList .paginationprevious {
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--gesvasa-primary);
	padding: 4px 8px;
}

#searchFormList .paginationnext:hover,
#searchFormList .paginationprevious:hover {
	background: rgba(185, 206, 43, 0.2);
}

/* Select2 global del formulario (massaction + filtros) */
#searchFormList .select2-container--default .select2-selection--single {
	border: 1px solid #9cb46a !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	min-height: 32px;
	display: flex;
	align-items: center;
}

#searchFormList .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 30px;
	padding-left: 10px;
	padding-right: 26px;
	color: #294434;
}

#searchFormList .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 30px;
	right: 5px;
}

#searchFormList .select2-container--default.select2-container--focus .select2-selection--single,
#searchFormList .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--gesvasa-primary) !important;
	box-shadow: 0 0 0 2px rgba(185, 206, 43, 0.35);
}

/* Dropdown de seleccion de columnas */
#searchFormList dl.dropdown dt a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--gesvasa-primary);
}

#searchFormList dl.dropdown dt a:hover {
	background: rgba(185, 206, 43, 0.2);
}

#searchFormList dl.dropdown dd.dropdowndd {
	border: 1px solid #d8e5dc;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(21, 76, 43, 0.14);
	padding: 0;
	border: 0; 
}

#searchFormList .multiselectcheckboxselectedfields {
	max-height: 320px;
	overflow: auto;
}

#searchFormList .multiselectcheckboxselectedfields .inputsearch_dropdownselectedfields {
	border: 1px solid #9cb46a;
	border-radius: 8px;
	background: #ffffff;
}

#searchFormList .multiselectcheckboxselectedfields li {
	padding: 3px 4px;
	border-radius: 6px;
}

#searchFormList .multiselectcheckboxselectedfields li:hover {
	background: #f4fae4;
}

/* Botones de filtro en cabecera de tabla */
.tagtable .button_search,
.tagtable .button_removefilter {
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--gesvasa-primary);
}

.tagtable .button_search:hover,
.tagtable .button_removefilter:hover {
	background: rgba(185, 206, 43, 0.25);
	border-color: transparent;
}

/* Estado visual al marcar filas */
.tagtable tr.oddeven.highlight td {
	background: #e8f3d0 !important;
	box-shadow: inset 0 0 0 1px #c8d67a;
}

/* Tooltip modal de classfortooltip (refurl) */
.tooltip,
.ui-tooltip {
	border: 1px solid #c4d97a !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(21, 76, 43, 0.18) !important;
	background: #ffffff !important;
	padding: 0 !important;
	max-width: 360px;
	font-size: 0.9em;
	color: #1e452f;
}

.tooltip-inner,
.ui-tooltip-content {
	background: #ffffff !important;
	color: #1e452f !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	text-align: left;
}

/* Flecha del tooltip */
.tooltip .tooltip-arrow,
.tooltip .arrow {
	border-bottom-color: #c4d97a !important;
}

/* Contenido interior del tooltip (div.centpercent) */
.tooltip .centpercent,
.ui-tooltip-content .centpercent {
	display: block;
	font-size: 0.92em;
	line-height: 1.6;
}

/* Primera línea: icono + tipo + badge + enlace cliente */
.tooltip .centpercent > span.fas.fa-building,
.ui-tooltip-content .centpercent > span.fas.fa-building {
	color: #6c6aa8;
	margin-right: 4px;
}

.tooltip .centpercent u.paddingrightonly,
.ui-tooltip-content .centpercent u.paddingrightonly {
	color: var(--gesvasa-primary);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid var(--gesvasa-accent);
	padding-bottom: 1px;
	margin-right: 4px;
}

/* Badge de estado dentro del tooltip */
.tooltip .centpercent .badge-status,
.tooltip .centpercent .badge.badge-status,
.ui-tooltip-content .centpercent .badge-status {
	display: inline-block;
	border-radius: 999px;
	padding: 1px 9px;
	font-size: 0.82em;
	font-weight: 700;
	line-height: 1.5;
	vertical-align: middle;
}

.tooltip .centpercent .badge-status4,
.ui-tooltip-content .centpercent .badge-status4 {
	background: #eef7c8;
	border: 1px solid #c8d67a;
	color: #1e452f;
}

/* Enlace "C" de cliente */
.tooltip .centpercent a.customer-back,
.ui-tooltip-content .centpercent a.customer-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--gesvasa-accent-soft);
	border: 1px solid #c8d67a;
	color: var(--gesvasa-primary) !important;
	font-weight: 700;
	font-size: 0.78em;
	text-decoration: none;
	margin-left: 4px;
	vertical-align: middle;
}

/* Etiquetas en negrita (Nombre:, Dirección:, Código:...) */
.tooltip .centpercent b,
.ui-tooltip-content .centpercent b {
	color: var(--gesvasa-primary);
	font-weight: 700;
}

/* Icono de email */
.tooltip .centpercent .fas.fa-at,
.ui-tooltip-content .centpercent .fas.fa-at {
	color: var(--gesvasa-primary);
	margin-right: 4px;
	opacity: 0.75;
}

/* Separadores de línea */
.tooltip .centpercent br,
.ui-tooltip-content .centpercent br {
	line-height: 1.8;
}
