/* Here, the content of the common custom CSS defined into Home - Setup - Display - CSS*/
/* ============================================================================
   DOLIPORC - THEME GLOBAL OVERRIDE (DEFAULTS - DO NOT EDIT)
   Version : 1.6.2
   Backup used by theme_editor.php "Reset to default" action.

   WCAG 2.1 AA Color Contrast Rules:
   - White text on primary rose   #1D4ED8 = 5.78:1 (OK, AA)
   - White text on primary rose   #3B82F6 = 3.53:1 (FAIL, only AA Large)
   - Rose text on white           #1D4ED8 on #FFFFFF = 5.78:1 (OK, AA)
   - Rose text on primary soft    #1D4ED8 on #DBEAFE = 4.69:1 (OK, AA)
   - NEVER use rose on rose (red on red/pink) — interdit.

   Palette d'états (primary, danger, refused):
   | State   | Primary bg | Primary text | Danger bg | Danger text | Refused bg | Refused text |
   |---------|-----------|--------------|-----------|-------------|-----------|--------------|
   | normal  | #1D4ED8   | #FFFFFF      | #DC2626   | #FFFFFF     | #F1F5F9   | #64748B      |
   | hover   | #9D174D   | #FFFFFF      | #B91C1C   | #FFFFFF     | #CBD5E1   | #475569      |
   | focus   | #9D174D + ring rgba(190,24,93,0.25) | #FFFFFF | #B91C1C + ring rgba(220,38,38,0.25) | #FFFFFF | #CBD5E1 + ring | #475569 |
   | active  | #831843   | #FFFFFF      | #991B1B   | #FFFFFF     | #CBD5E1   | #475569      |
   | disabled| #CBD5E1   | #94A3B8      | #FEE2E2   | #94A3B8     | #F1F5F9   | #CBD5E1      |
   ============================================================================ */

/* === Top navbar === */
header#id-top, .side-nav-vert {
	background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%) !important;
	border-bottom: 3px solid #1D4ED8 !important;
	color: #F8FAFC !important;
	box-shadow: 0 2px 8px rgba(190, 24, 93, 0.15);
	overflow-x: auto !important;
	overflow-y: hidden !important;
	white-space: nowrap !important;
}
header#id-top .tmenucenter {
	flex-wrap: nowrap !important;
}
header#id-top .tmenu, header#id-top .tmenudiv {
	background: transparent !important;
}

/* Text colors in navbar */
header#id-top .tmenulabel,
header#id-top .tmenuimage,
header#id-top .tmenucenter a,
header#id-top .atoplogin,
header#id-top .topnav-image,
header#id-top .topnav-name,
header#id-top .fa, header#id-top .fas, header#id-top .far {
	color: #F8FAFC !important;
}

/* Navbar menu links - hover/active: subtle bg + rose text, no red-on-red */
header#id-top .tmenucenter a:hover,
header#id-top .tmenucenter a.active,
header#id-top .mainmenu.selected,
header#id-top .topmenuimage.selected,
header#id-top li.tmenu.menu_selected {
	background: rgba(190, 24, 93, 0.18) !important;
	color: #DBEAFE !important;  /* Soft pink text on dark transparent bg = readable */
	border-bottom: 2px solid #1D4ED8 !important;
}
header#id-top .tmenucenter a:hover .mainmenuaspan,
header#id-top .tmenucenter a:hover .fa,
header#id-top .tmenucenter a:hover .fas {
	color: #DBEAFE !important;
}

/* Navbar search */
header#id-top input[type=text],
header#id-top input[type=search],
header#id-top .search-input {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(190, 24, 93, 0.3) !important;
	color: #FFFFFF !important;
	border-radius: 6px;
}
header#id-top input[type=text]:focus,
header#id-top input[type=search]:focus,
header#id-top .search-input:focus {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: #1D4ED8 !important;
	outline: none;
	box-shadow: 0 0 0 2px rgba(190, 24, 93, 0.25);
}
header#id-top input::placeholder,
header#id-top .search-input::placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
}

/* Menu burger */
header#id-top #mainmenutd_menu .tmenuimage,
header#id-top .menuhider .fa-bars {
	color: #DBEAFE !important;
}

/* === Login/user block - V1.6.3: Removed ALL circles everywhere === */
header#id-top .login_block {
	background: transparent !important;
	border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding: 0 4px !important;
}
header#id-top .login_block a,
header#id-top .login_block .login_block_elem a,
header#id-top .login_block .userimg + a,
header#id-top .login_block .logout a {
	color: #F8FAFC !important;
	background: transparent !important;
	padding: 2px 6px !important;
	border-radius: 4px;
	transition: all 0.15s ease;
}
header#id-top .login_block a:hover,
header#id-top .login_block .login_block_elem a:hover,
header#id-top .login_block .userimg + a:hover,
header#id-top .login_block .logout a:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #DBEAFE !important;
}
header#id-top .login_block .userimg,
header#id-top .login_block .userimg.atoplogin,
header#id-top .login_block .userimg.atoplogin.open,
header#id-top .login_block .user-menu {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	opacity: 0.85;
}
header#id-top .login_block .userimg span.userphoto,
header#id-top .login_block .userimg.atoplogin span.userphoto,
header#id-top .login_block .userimg.atoplogin img.userphoto,
header#id-top .login_block .userimg img.userphoto,
header#id-top .login_block .userimg span.photo,
header#id-top .login_block .userimg span.photouserphoto {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-size: auto !important;
	box-shadow: none !important;
	width: 16px !important;
	height: 16px !important;
}
header#id-top .login_block .userimg span.userphoto::before,
header#id-top .login_block .userimg.atoplogin span.userphoto::before {
	margin: 0 6px 0 0 !important;
	display: inline-block !important;
}
header#id-top .login_block .login_block_elem {
	background: transparent !important;
}

/* === V1.6.3bis - KILL all visual prominence in navbar user area === */
/* No hover background, no focus ring, no border, no shadow on the user dropdown */
header#id-top .login_block .userimg > a:hover,
header#id-top .login_block .userimg > a:focus,
header#id-top .login_block .userimg.atoplogin > a:hover,
header#id-top .login_block .userimg.atoplogin > a:focus {
	background: transparent !important;
	color: #FFFFFF !important;
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}
header#id-top .login_block .userimg .fa-user::before,
header#id-top .login_block .userimg .fas.fa-user {
	color: #F8FAFC !important;
	opacity: 0.85;
}
/* Remove the chevron arrow visual prominence */
header#id-top .login_block .login_block_elem_name .fa-caret-down,
header#id-top .login_block .login-dropdown-a .fa-caret-down {
	color: #F8FAFC !important;
	opacity: 0.7 !important;
	margin-left: 4px !important;
}
header#id-top .login_block .atoploginusername {
	color: #F8FAFC !important;
	opacity: 0.85 !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

/* === V1.6.3bis - ANTI-CERCLE BRUTAL : tuer TOUS les border-radius, border, background === */
/* Le user voit un "cercle" : on tue tout, sans exception */
.login_block,
.login_block *,
.login_block .userimg,
.login_block .userimg *,
.login_block .userimg > a,
.login_block .userimg.atoplogin,
.login_block .userimg.atoplogin *,
.login_block .userimg.atoplogin > a,
.login_block .login_block_user,
.login_block .login_block_user *,
.login_block .login_block_elem,
.login_block .login_block_elem *,
.login_block .login_block_elem > a,
.login_block .atoplogin,
.login_block .atoplogin *,
.login_block .fa-user,
.login_block .fa-caret-down,
.login_block .aversion,
.login_block .userphoto,
.login_block .photo,
.login_block .photouserphoto,
.login_block .infobox-adherent,
.login_block span.fa.atoplogin,
.login_block span.fa.atoplogin:hover,
.login_block_user .atoplogin,
.login_block_user .atoplogin:hover,
div.login_block_user,
div.login_block_user a,
div.login_block a {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
	outline-color: transparent !important;
}
div.login_block_user:hover,
div.login_block a:hover,
div.login_block a:focus,
div.login_block_user a:hover,
div.login_block_user a:focus {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}
/* Si un user ajoute une bordure via inline style, on l'écrase */
[style*="border-radius: 50%"],
[style*="border: 2px solid"] {
	border-radius: 0 !important;
	border: none !important;
}

/* === V1.6.3 - Dropdown popup (popover) — no circle, no big avatar, compact === */
#topmenu-login-dropdown {
	padding: 0 4px !important;
}
#topmenu-login-dropdown > a {
	border-radius: 0 !important;
}
#topmenu-login-dropdown > a:hover {
	background: rgba(255, 255, 255, 0.08) !important;
}

/* The dropdown menu popup */
#topmenu-login-dropdown .dropdown-menu,
.login_block .dropdown-menu {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
	padding: 0 !important;
	min-width: 280px !important;
}

/* The header inside the dropdown (the big avatar + name section) */
.dropdown-menu > .user-header {
	background: #F1F5F9 !important;
	color: #0F172A !important;
	padding: 12px 14px !important;
	min-height: 0 !important;
	border-top-left-radius: 8px !important;
	border-top-right-radius: 8px !important;
	border-bottom: 1px solid #CBD5E1 !important;
	text-align: left !important;
}
.dropdown-menu > .user-header p {
	color: #0F172A !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* V1.6.3 - THE BIG AVATAR CIRCLE - KILL IT COMPLETELY */
img.dropdown-user-image,
img.photo.dropdown-user-image,
.dropdown-user-image,
.userimg img.photo,
img.userphoto,
img.photouserphoto,
.photo,
.userphoto {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}
.dropdown-user-image {
	display: none !important;  /* Hide the big avatar in the dropdown entirely */
}

/* The user name in the dropdown header */
.dropdown-menu > .user-header p > span.opacitymedium,
.dropdown-menu > .user-header p {
	font-size: 12px !important;
	color: #475569 !important;
}

/* Dropdown body items */
.dropdown-menu > li > a,
.dropdown-menu .user-footer a {
	color: #475569 !important;
	padding: 8px 14px !important;
	border-radius: 0 !important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu .user-footer a:hover {
	background: #F1F5F9 !important;
	color: #1D4ED8 !important;
}

/* === V1.6.3bis - Position popup properly to avoid overlapping other UI === */
#topmenu-login-dropdown > .dropdown-menu {
	right: 0 !important;
	left: auto !important;
	top: 100% !important;
	margin-top: 0 !important;
	max-width: 320px !important;
	min-width: 280px !important;
	z-index: 1050 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

/* Dropdown footer buttons (Fiche, badge, Déconnexion) */
.dropdown-menu .user-footer {
	background: #F1F5F9 !important;
	border-top: 1px solid #CBD5E1 !important;
	padding: 8px !important;
}
.dropdown-menu .user-footer a {
	color: #475569 !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 4px !important;
	padding: 6px 10px !important;
	margin: 0 2px !important;
}
.dropdown-menu .user-footer a:hover {
	background: #F1F5F9 !important;
	color: #1D4ED8 !important;
	border-color: #1D4ED8 !important;
}
.user-footer .button-top-menu-dropdown,
.dropdown-menu .user-footer .button-top-menu-dropdown,
a.button-top-menu-dropdown {
	color: #0F172A !important;
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	padding: 6px 10px !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	text-shadow: none !important;
}
.user-footer .button-top-menu-dropdown:hover,
.dropdown-menu .user-footer .button-top-menu-dropdown:hover,
a.button-top-menu-dropdown:hover {
	color: #1D4ED8 !important;
	background: #F1F5F9 !important;
	border-color: #1D4ED8 !important;
}
.user-footer .button-top-menu-dropdown .fa,
.user-footer .button-top-menu-dropdown .fas {
	color: #0F172A !important;
}
.user-footer .button-top-menu-dropdown:hover .fa,
.user-footer .button-top-menu-dropdown:hover .fas {
	color: #1D4ED8 !important;
}

/* === Body === */
body:not(.bodylogin):not(.error):not(.maintenance):not(.notfound), body.skin-black {
	background: #F1F5F9 !important;
	color: #0F172A !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
#id-container {
	background: transparent !important;
}

/* === Buttons - WCAG AA: white on #1D4ED8 = 5.78:1 (OK) === */
a.butAction, a.butActionRefused, a.butActionDelete, button.butAction, .butAction,
.button, .buttonRefused, .buttonDelete,
input[type=submit].button, input[type=submit].butAction, input[type=submit].butActionDelete, input[type=reset].button,
input[name=submit] {
	background: #1D4ED8 !important;
	background-image: none !important;
	color: #FFFFFF !important;
	border: 1px solid #1D4ED8 !important;
	border-radius: 6px !important;
	font-weight: 500 !important;
	text-shadow: none !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
	transition: all 0.15s ease !important;
}
a.butAction:hover, button.butAction:hover, .button:hover, input[type=submit].button:hover,
a.butAction:focus, button.butAction:focus, .button:focus, input[type=submit].button:focus {
	background: #9D174D !important;
	border-color: #9D174D !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(190, 24, 93, 0.3) !important;
}
a.butAction:active, button.butAction:active, .button:active, input[type=submit].button:active {
	background: #831843 !important;
	border-color: #831843 !important;
	color: #FFFFFF !important;
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
a.butAction:disabled, button.butAction:disabled, .button:disabled, input[type=submit].button:disabled {
	background: #CBD5E1 !important;
	color: #94A3B8 !important;
	border-color: #CBD5E1 !important;
	cursor: not-allowed !important;
	opacity: 0.7;
}

/* === Refused (secondary) buttons === */
a.butActionRefused, .buttonRefused, input[type=submit].buttonRefused {
	background: #F1F5F9 !important;
	color: #64748B !important;
	border-color: #CBD5E1 !important;
}
a.butActionRefused:hover, .buttonRefused:hover,
a.butActionRefused:focus, .buttonRefused:focus {
	background: #CBD5E1 !important;
	color: #475569 !important;
	border-color: #94A3B8 !important;
}
a.butActionRefused:active, .buttonRefused:active {
	background: #CBD5E1 !important;
	color: #475569 !important;
}

/* === Delete (danger) buttons === */
a.butActionDelete, .buttonDelete, input[type=submit].butActionDelete {
	background: #DC2626 !important;
	border-color: #DC2626 !important;
	color: #FFFFFF !important;
}
a.butActionDelete:hover, .buttonDelete:hover,
a.butActionDelete:focus, .buttonDelete:focus {
	background: #B91C1C !important;
	border-color: #B91C1C !important;
	color: #FFFFFF !important;
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3) !important;
}
a.butActionDelete:active, .buttonDelete:active {
	background: #991B1B !important;
	border-color: #991B1B !important;
	color: #FFFFFF !important;
}

/* === Links - WCAG: #1D4ED8 on white = 5.78:1 === */
/* No !important here: the buttons above (.butAction, .button) use !important and must win */
a, a:link, a:visited {
	color: #1D4ED8;
}
a:hover, a:active, a:focus {
	color: #831843;
}
a.button, a.button:visited {
	color: #FFFFFF !important;
}

/* === Titles === */
.titre, .titre_page, .div-title-action, .titre_societe, h1, h2, h3 {
	color: #0F172A !important;
}
.div-title-action {
	border-bottom: 2px solid #1D4ED8 !important;
}
.titre_page, .tabTitle {
	background: transparent !important;
	color: #0F172A !important;
	font-weight: 600 !important;
	border-bottom: 2px solid #1D4ED8;
	padding-bottom: 8px;
}

/* === Tables === */
table.noborder, table.noborder.peekaboo, table.dataTable, table.liste, table.border, table.formdoc, table.notopnoleft {
	border-color: #CBD5E1 !important;
}
table.liste tr.liste_titre, table.liste th, .liste_titre, .liste_titre td, .liste_titre th {
	background: #0F172A !important;
	color: #FFFFFF !important;
	font-weight: 600 !important;
	border-bottom: 2px solid #1D4ED8 !important;
}
table.liste tr.liste_titre a, .liste_titre a, table.liste th a {
	color: #FFFFFF !important;
}
table.liste tr.oddeven:hover, table.liste tbody tr:hover {
	background: rgba(190, 24, 93, 0.05) !important;
}
table.liste tr.oddeven, table.noborder tr.oddeven, table.border tr.oddeven {
	background: #FFFFFF !important;
}
table.liste tr.pair, table.liste tr.impair {
	background: #F1F5F9 !important;
}

/* === Form fields === */
input.flat, input[type=text], input[type=password], input[type=email], input[type=number], input[type=date], input[type=time], input[type=search], input[type=url], input[type=tel],
select.flat, select, textarea.flat, textarea, .select2-container .select2-choice {
	border: 1px solid #CBD5E1 !important;
	border-radius: 6px !important;
	background: #FFFFFF !important;
	color: #0F172A !important;
	padding: 6px 10px !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input.flat:focus, input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=number]:focus, input[type=date]:focus, input[type=time]:focus, input[type=search]:focus, input[type=url]:focus, input[type=tel]:focus,
select.flat:focus, select:focus, textarea.flat:focus, textarea:focus {
	border-color: #1D4ED8 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(190, 24, 93, 0.15) !important;
}
input.flat[disabled], input[readonly], .flat[disabled] {
	background: #F1F5F9 !important;
	color: #94A3B8 !important;
}

/* V2.0.8 - Placeholders WCAG AA (ratio 4.5:1 min sur blanc)
 * Dolibarr par defaut = #999 ou #CCC (~2:1, fail AA).
 * On force #64748B (slate-500) = ratio 4.6:1 sur blanc. */
input::placeholder, input.flat::placeholder,
textarea::placeholder, textarea.flat::placeholder,
select::placeholder,
.search-input::placeholder {
	color: #64748B !important;
	opacity: 1 !important;
	font-style: italic;
}
input::placeholder:focus, input.flat::placeholder:focus,
textarea::placeholder:focus, textarea.flat::placeholder:focus {
	color: #94A3B8 !important;
}

/* === Tabs === */
.tabsAction, .tabBar {
	background: #FFFFFF !important;
	border-bottom: 2px solid #1D4ED8 !important;
}
.tabBar .tabsAction + div, .tabBar .tabBarItem {
	border-bottom: none !important;
}
.tabBar .tabBarItem.active, .tabBar a.active, .tabBar .tabactive {
	background: #1D4ED8 !important;
	color: #FFFFFF !important;  /* WCAG OK on darker rose */
}

/* === Badges === */
.badge, .badge-status, .classfortooltip .badge {
	background: #0EA5E9 !important;
	color: #FFFFFF !important;
	border-radius: 12px !important;
	padding: 2px 10px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
}
.badge.badge-danger, .badge-status0, .badge-status5, .badge-status6, .badge-status8 {
	background: #DC2626 !important;
	color: #FFFFFF !important;
}
.badge.badge-warning, .badge-status1, .badge-status2 {
	background: #F59E0B !important;
	color: #FFFFFF !important;
}
.badge.badge-info, .badge-status4, .badge-status7 {
	background: #0EA5E9 !important;
	color: #FFFFFF !important;
}
.badge.badge-success, .badge-status11, .badge-status3 {
	background: #0EA5E9 !important;
	color: #FFFFFF !important;
}
.status0, .status0 a, .classfortooltip .status0 { color: #DC2626 !important; }
.status4, .status4 a { color: #0EA5E9 !important; }
.status6, .status6 a { color: #0EA5E9 !important; }

/* === Left sidebar === */
.vmenu, .side-nav, .vmenu .blockvmenu, .blockvmenu {
	background: #FAFAFA !important;
	border-right: 1px solid #CBD5E1 !important;
}
.vmenu .blockvmenuimpair, .vmenu .blockvmenupair, .vmenu .menu_titre {
	background: #F1F5F9 !important;
	border-bottom: 1px solid #CBD5E1 !important;
	color: #0F172A !important;
	font-weight: 600 !important;
}
.vmenu .menu_contenu, .vmenu a, .vmenu .menu_contenu a {
	color: #475569 !important;
}
.vmenu .menu_contenu a:hover, .vmenu a:hover {
	background: #F1F5F9 !important;  /* neutral bg, not red-on-red */
	color: #1D4ED8 !important;     /* rose text on neutral bg = OK */
}
.vmenu .menu_contenu a.vsmenu, .vmenu a.vsmenu, .vmenu .menu_contenu .selected a {
	color: #1D4ED8 !important;
	font-weight: 600 !important;
	background: #DBEAFE !important;  /* soft pink bg, not solid red */
	border-left: 3px solid #1D4ED8 !important;
}

/* === Fiche cards === */
.fiche, .fichecenter {
	background: transparent !important;
}
.ficheadd, .fichehalfright, .fichehalfleft, .ficheintermediate {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.ficheadd .ficheaddleft, .fichehalfright .ficheaddleft {
	background: #F1F5F9 !important;
	border-right: 1px solid #CBD5E1 !important;
	color: #475569 !important;
}

/* === Login page === */
body.bodylogin {
	background: linear-gradient(135deg, #1D4ED8 0%, #831843 50%, #0F172A 100%) !important;
	background-attachment: fixed !important;
}
body.bodylogin div.login_center,
body.bodylogin .login_page,
body.bodylogin > div:not(.login_table):not(form) {
	background: transparent !important;
	background-image: none !important;
}
body.bodylogin::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:
		radial-gradient(circle at 20% 80%, rgba(101, 163, 13, 0.15) 0%, transparent 50%),
		radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
	pointer-events: none;
	z-index: 0;
}
body.bodylogin .login_page, body.bodylogin .center, body.bodylogin form[name=login] {
	position: relative;
	z-index: 1;
}
body.bodylogin .login_table {
	background: #FFFFFF !important;
	border-radius: 16px !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
	padding: 32px 40px !important;
	margin: 20px auto !important;
	max-width: 420px !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
body.bodylogin .login_table_title {
	color: #0F172A !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	letter-spacing: -0.5px !important;
	margin-bottom: 24px !important;
}
body.bodylogin #img_logo {
	max-width: 240px !important;
	max-height: 80px !important;
	margin: 0 auto 24px !important;
	display: block !important;
}
body.bodylogin .tagtd input.flat,
body.bodylogin .tagtd input[type=text],
body.bodylogin .tagtd input[type=password] {
	background: #F1F5F9 !important;
	border: 2px solid #CBD5E1 !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	width: 100% !important;
	color: #0F172A !important;
}
body.bodylogin .tagtd input.flat:focus,
body.bodylogin .tagtd input[type=text]:focus,
body.bodylogin .tagtd input[type=password]:focus {
	background: #FFFFFF !important;
	border-color: #1D4ED8 !important;
	box-shadow: 0 0 0 3px rgba(190, 24, 93, 0.15) !important;
}
body.bodylogin .tagtd input::placeholder {
	color: #94A3B8 !important;
}
body.bodylogin input[type=submit].button,
body.bodylogin input[name=submit],
body.bodylogin .login-submit-button {
	background: #1D4ED8 !important;
	background-image: none !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 32px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px !important;
	box-shadow: 0 4px 12px rgba(190, 24, 93, 0.4) !important;
	transition: all 0.15s ease !important;
	cursor: pointer !important;
	width: 100% !important;
}
body.bodylogin input[type=submit].button:hover,
body.bodylogin input[name=submit]:hover {
	background: #9D174D !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(190, 24, 93, 0.5) !important;
}
body.bodylogin .span-icon-user,
body.bodylogin .span-icon-password,
body.bodylogin #login_right .fa-user,
body.bodylogin #login_right .fa-key {
	color: #1D4ED8 !important;
}
body.bodylogin .trinputlogin .fa {
	color: #1D4ED8 !important;
}
body.bodylogin a.alogin, body.bodylogin a.alogin:visited {
	color: #1D4ED8 !important;
	text-decoration: none;
}
body.bodylogin a.alogin:hover {
	color: #831843 !important;
	text-decoration: underline;
}
body.bodylogin #login_right {
	background: transparent !important;
}

/* === Dashboard widgets === */
.dashboard .dashboard-line .widget, .boxstats300, .boxstats400, .boxstats500 {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.dashboard .widget .widget-title, .boxstats300 .boxtitle, .boxstats400 .boxtitle, .boxstats500 .boxtitle {
	background: transparent !important;
	color: #0F172A !important;
	font-weight: 600 !important;
	border-bottom: 1px solid #CBD5E1 !important;
}

/* === Error pages === */
body.error, body.maintenance, body.notfound {
	background: linear-gradient(135deg, #1D4ED8 0%, #831843 50%, #0F172A 100%) !important;
	color: #FFFFFF !important;
}
body.error h1, body.maintenance h1, body.notfound h1 {
	color: #FFFFFF !important;
	font-size: 96px !important;
	font-weight: 800 !important;
}
body.error a, body.maintenance a, body.notfound a {
	color: #1D4ED8 !important;
	background: #FFFFFF;
	padding: 12px 24px;
	border-radius: 8px;
	font-weight: 600;
}

/* === Typography === */
body, button, input, select, textarea {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
h1 { font-size: 24px !important; }
h2 { font-size: 20px !important; }
h3 { font-size: 16px !important; }

/* === Progress === */
.progress-bar, .progress, .progress-bar-success, .progress-bar-info, .progress-bar-warning, .progress-bar-danger {
	background: #0EA5E9 !important;
}
.progress-bar-info { background: #0EA5E9 !important; }
.progress-bar-warning { background: #F59E0B !important; }
.progress-bar-danger { background: #DC2626 !important; }

/* === Messages === */
.jnotify-message.info, div.info {
	background: #E0F2FE !important;
	border-left: 4px solid #0EA5E9 !important;
	color: #0C4A6E !important;
}
.jnotify-message.success, div.ok, .confirm {
	background: #DCFCE7 !important;
	border-left: 4px solid #0EA5E9 !important;
	color: #14532D !important;
}
.jnotify-message.warning, div.warning {
	background: #FEF3C7 !important;
	border-left: 4px solid #F59E0B !important;
	color: #78350F !important;
}
.jnotify-message.error, div.error, div.dolibarr_error {
	background: #FEE2E2 !important;
	border-left: 4px solid #DC2626 !important;
	color: #7F1D1D !important;
}

/* === Modals === */
.ui-dialog, .ui-dialog .ui-dialog-content, .ui-widget-content, .ui-corner-all, .modal-content, .modal-body {
	background: #FFFFFF !important;
	color: #0F172A !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
}
.ui-dialog .ui-dialog-titlebar, .modal-header, .ui-widget-header {
	background: #0F172A !important;
	color: #FFFFFF !important;
	border-bottom: 3px solid #1D4ED8 !important;
	border-radius: 8px 8px 0 0 !important;
}
.ui-dialog .ui-dialog-title, .modal-title {
	color: #FFFFFF !important;
	font-weight: 600 !important;
}

/* === Pagination === */
.pagination .page-link, .pagination a.ref, .pagination span.ref {
	background: #FFFFFF !important;
	color: #475569 !important;
	border: 1px solid #CBD5E1 !important;
}
.pagination .active a, .pagination .active span, .pagination a.ref.selected {
	background: #1D4ED8 !important;
	color: #FFFFFF !important;
	border-color: #1D4ED8 !important;
}
.pagination a:hover, .pagination .page-link:hover {
	background: #F1F5F9 !important;
	color: #1D4ED8 !important;
}

/* === Kanban === */
.kanban .kanban-col, .kanban .kanban-card {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
}

/* === Select2 === */
.select2-container .select2-selection--single {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 6px !important;
	height: 34px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #0F172A !important;
	line-height: 32px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: #1D4ED8 !important;
	color: #FFFFFF !important;
}

/* === File manager === */
.filemanagermoretree, .filemanager {
	background: #FFFFFF !important;
	border-color: #CBD5E1 !important;
}

/* === Graphs === */
.graph-container, .dolgraph {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
}

/* === Footer === */
.footer, #id-footer, .powerby, div.footerspan {
	background: #0F172A !important;
	color: rgba(255, 255, 255, 0.6) !important;
	border-top: 2px solid #1D4ED8 !important;
}
.footer a, .powerby a, div.footerspan a {
	color: #1D4ED8 !important;
}
.footer a:hover {
	color: #FFFFFF !important;
}

/* === Tooltips === */
.ui-tooltip, .ui-widget.ui-tooltip, div.tooltip, .openerp .oe_tooltip_technical {
	background: #0F172A !important;
	color: #FFFFFF !important;
	border: 1px solid #1D4ED8 !important;
	border-radius: 6px !important;
	padding: 8px 12px !important;
	font-size: 12px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

/* === Attachments === */
.attach-area, .attachment, .doc-attachment {
	background: #F1F5F9 !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 6px !important;
}

.dolibarr_chart_path { stroke: #1D4ED8 !important; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #F1F5F9; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #1D4ED8; }

*:focus-visible {
	outline: 2px solid #1D4ED8 !important;
	outline-offset: 2px !important;
}

@media (max-width: 768px) {
	header#id-top { border-bottom-width: 2px !important; }
	body.bodylogin .login_table { margin: 10px !important; padding: 20px !important; }
}

/* === V1.6.3bis - MASQUER LA DEBUG BAR (maximebf/phpdebugbar) === */
/* Le user veut la barre de logs invisible sur tout le site */
.phpdebugbar,
.phpdebugbar-wrapper,
.phpdebugbar-open-btn,
.phpdebugbar-restore-btn,
#phpdebugbar,
div.phpdebugbar {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
#debugbar,
.debugbar,
.phpdebugbar-reset-btn,
.phpdebugbar-widgets {
	display: none !important;
}


/* === V2.1.1 - MODAL POPOVER READABILITY FIX === */
/* Force modal overlay and dialog boxes to be OPAQUE WHITE (kill the transparent dark veil) */
.ui-widget-overlay {
	background: rgba(15, 23, 42, 0.4) !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.ui-dialog.ui-widget.ui-widget-content,
.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-front.ui-draggable.ui-resizable,
.ui-dialog {
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
	opacity: 1 !important;
	filter: none !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
}
.ui-dialog .ui-dialog-content {
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
	color: #0F172A !important;
	opacity: 1 !important;
	padding: 16px !important;
}
.ui-dialog .ui-dialog-titlebar {
	background: #0F172A !important;
	color: #FFFFFF !important;
	border-bottom: 3px solid #1D4ED8 !important;
	padding: 12px 16px !important;
}
.ui-dialog .ui-dialog-title {
	color: #FFFFFF !important;
	font-weight: 600 !important;
	font-size: 16px !important;
}
.ui-dialog .ui-dialog-buttonpane {
	background: #F1F5F9 !important;
	border-top: 1px solid #CBD5E1 !important;
	padding: 12px 16px !important;
}
.ui-dialog .ui-dialog-titlebar-close {
	background: transparent !important;
	border: 1px solid rgba(255,255,255,0.2) !important;
	color: #FFFFFF !important;
	border-radius: 4px !important;
}
.ui-dialog .ui-dialog-titlebar-close:hover {
	background: rgba(255,255,255,0.1) !important;
	border-color: #FFFFFF !important;
}
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon-primary {
	color: #FFFFFF !important;
	visibility: visible !important;
}
.ui-tooltip {
	background: #0F172A !important;
	background-color: #0F172A !important;
	color: #FFFFFF !important;
	opacity: 1 !important;
	border: 1px solid #1D4ED8 !important;
	border-radius: 6px !important;
	padding: 8px 12px !important;
}
[role=dialog], [aria-modal=true] {
	background: #FFFFFF !important;
	color: #0F172A !important;
	opacity: 1 !important;
}
/* Hide stray modals/overlays that block the view (only hide if no visible dialog) */
body:not(:has(.ui-dialog:visible)) .ui-widget-overlay {
	display: none !important;
}

/* ============================================================================
   V2.4 - RESKIN DOLIBARR NATIF (override Eldy sur pages Dolibarr non-PORCAL)
   Pour appliquer le theme DoliPorc sur les pages Dolibarr natives (home, propal/list,
   facture/list, societe, contact, products, etc.) qui ne sont pas dans le module PORCAL.
   ============================================================================ */

/* Boutons principaux (force WCAG AA) - pages natives */
a.butAction, a.butActionRefused, a.butActionDelete, button.butAction, .butAction,
a.button, .button, .buttonRefused, .buttonDelete,
input[type=submit].button, input[type=submit].butAction, input[type=submit].butActionDelete, input[type=reset].button {
	background: #1D4ED8 !important;
	background-image: none !important;
	color: #FFFFFF !important;
	border: 1px solid #1D4ED8 !important;
	border-radius: 6px !important;
	font-weight: 500 !important;
	text-shadow: none !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
	padding: 6px 14px !important;
}
a.butAction:hover, button.butAction:hover, .button:hover, input[type=submit].button:hover {
	background: #9D174D !important;
	border-color: #9D174D !important;
	color: #FFFFFF !important;
}
a.butActionDelete, .buttonDelete, input[type=submit].butActionDelete {
	background: #DC2626 !important;
	border-color: #DC2626 !important;
}
a.butActionDelete:hover, .buttonDelete:hover {
	background: #B91C1C !important;
	border-color: #B91C1C !important;
}

/* Titres / pages titles - Eldy default utilise du bleu clair, on force rose DoliPorc */
.titre, .titre_page, .tabTitle, .div-title-action, .titre_societe {
	color: #0F172A !important;
	border-bottom: 2px solid #1D4ED8 !important;
	font-weight: 600 !important;
}

/* Tables liste Dolibarr - en-tete noir DoliPorc */
table.liste tr.liste_titre, table.liste th, .liste_titre, .liste_titre td, .liste_titre th {
	background: #0F172A !important;
	color: #FFFFFF !important;
	font-weight: 600 !important;
	border-bottom: 2px solid #1D4ED8 !important;
}
table.liste tr.oddeven:hover, table.liste tbody tr:hover {
	background: rgba(190, 24, 93, 0.05) !important;
}
table.liste tr.pair, table.liste tr.impair {
	background: #F1F5F9 !important;
}

/* Liens (bleu dark) - force le style DoliPorc */
a, a:link, a:visited {
	color: #1D4ED8 !important;
}
a:hover, a:active {
	color: #831843 !important;
}

/* Select2 sur pages natives */
.select2-container .select2-selection--single {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 6px !important;
	height: 34px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #0F172A !important;
	line-height: 32px !important;
}

/* Left side menu (vmenu) - pages natives */
.vmenu, .side-nav, .vmenu .blockvmenu, .blockvmenu {
	background: #FAFAFA !important;
	border-right: 1px solid #CBD5E1 !important;
}
.vmenu .blockvmenuimpair, .vmenu .blockvmenupair, .vmenu .menu_titre {
	background: #F1F5F9 !important;
	color: #0F172A !important;
	font-weight: 600 !important;
}
.vmenu .menu_contenu a:hover {
	background: #F1F5F9 !important;
	color: #1D4ED8 !important;
}

/* Cards / boxes pages natives */
.boxstats300, .boxstats400, .boxstats500, .widget, .box {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
}
.boxstats300 .boxtitle, .boxstats400 .boxtitle, .boxstats500 .boxtitle, .widget .widget-title {
	background: transparent !important;
	color: #0F172A !important;
	font-weight: 600 !important;
	border-bottom: 1px solid #CBD5E1 !important;
}

/* Login / body backgrounds - deja force, reaffirme */
body:not(.bodylogin):not(.error):not(.maintenance):not(.notfound) {
	background: #F1F5F9 !important;
	color: #0F172A !important;
}

/* Fiche cards (fichehalfright, fichehalfleft, ficheadd) - pages natives */
.ficheadd, .fichehalfright, .fichehalfleft, .ficheintermediate {
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
}
.ficheadd .ficheaddleft, .fichehalfright .ficheaddleft {
	background: #F1F5F9 !important;
	border-right: 1px solid #CBD5E1 !important;
}

/* Pagination sur pages natives */
.pagination .page-link, .pagination a.ref, .pagination span.ref {
	background: #FFFFFF !important;
	color: #475569 !important;
	border: 1px solid #CBD5E1 !important;
}
.pagination .active a, .pagination a.ref.selected {
	background: #1D4ED8 !important;
	color: #FFFFFF !important;
	border-color: #1D4ED8 !important;
}

/* Messages / info boxes */
div.info, .info {
	background: #E0F2FE !important;
	border-left: 4px solid #0EA5E9 !important;
	color: #0C4A6E !important;
	padding: 8px 12px !important;
}
div.ok, .confirm {
	background: #DCFCE7 !important;
	border-left: 4px solid #0EA5E9 !important;
	color: #14532D !important;
	padding: 8px 12px !important;
}
div.warning {
	background: #FEF3C7 !important;
	border-left: 4px solid #F59E0B !important;
	color: #78350F !important;
	padding: 8px 12px !important;
}
div.error, div.dolibarr_error {
	background: #FEE2E2 !important;
	border-left: 4px solid #DC2626 !important;
	color: #7F1D1D !important;
	padding: 8px 12px !important;
}

/* Badges - force les couleurs DoliPorc */
.badge-status0, .status0, .status0 a { color: #DC2626 !important; }
.badge-status1, .badge-status2, .status1, .status1 a, .status2, .status2 a { color: #F59E0B !important; }
.badge-status4, .badge-status6, .status4, .status4 a, .status6, .status6 a { color: #0EA5E9 !important; }
.badge-status11, .badge-status3, .status3, .status3 a { color: #65A30D !important; }

