/* Here, the content of the common custom CSS defined into Home - Setup - Display - CSS*/
/* --- 1. MASQUAGE ÉLÉMENTS SYSTÈME --- */

/* Masquer Version et Titre Login par défaut */
.aversion, 
a.login_table_title {
 display: none !important;
}

/* --- 3. COULEURS & LABELS STATUS --- */

/* Classes manuelles */
.ancien_client {
 outline: 2px solid red;
 color: red !important;
}

/* Couleur Loupe Recherche Globale */
.fa-search {
 color: #6EC8C5 !important;
}

/* Lettre pour Prospect : P (Turquoise) */
.customer-back[title="Prospect"] {
 background: #6EC8C5 !important;
 color: #000;
 padding: 2px 8px;
}

/* Lettre pour Client : C (Bleu Avenelink) */
.customer-back[title="Client"] {
 background: #2D85A3 !important;
 color: #fff;
 padding: 2px 8px;
}

/* Lettre pour Fournisseur : F (Rouge) */
.customer-back[title="Fournisseur"] {
 background: #FF0000 !important;
 color: #fff;
 padding: 2px 8px;
}

/* --- 4. FORMULAIRES & SAISIE (TWEAKS) --- */

/* Heure : Palier 15 min uniquement */
select[id$="min"] option:not([value="0"]):not([value="00"]):not([value="15"]):not([value="30"]):not([value="45"]) {
 display: none;
}

/* Masquer Projets et Tâches (Sélecteurs avancés :has) */
.divsearchfield:has(select[name="search_projectid"]) { display: none !important; }

tr:has([name="projectid"]), div.form-group:has([name="projectid"]),
tr:has([name="taskid"]), div.form-group:has([name="taskid"]) {
 display: none !important;
 pointer-events: none; /* Sécurité anti-clic */
}

/* Renommer les Filtres (Placeholders) */
/* Commercial */
#select2-search_filtert-container .placeholder { visibility: hidden; position: relative; }
#select2-search_filtert-container .placeholder::after {
 content: "Commercial"; visibility: visible; position: absolute; left: 0;
 top: 50%; transform: translateY(-50%); color: #999;
}
/* Groupe */
#select2-usergroup-container .placeholder { visibility: hidden; position: relative; }
#select2-usergroup-container .placeholder::after {
 content: "Groupe"; visibility: visible; position: absolute; left: 0;
 top: 50%; transform: translateY(-50%); color: #999;
}
/* Raison Sociale */
#search_search_socid::placeholder { color: transparent !important; opacity: 0; }
.divsearchfield:has(#search_search_socid) { position: relative; }
.divsearchfield:has(#search_search_socid)::after {
 content: "Raison Sociale"; position: absolute; left: 32px;
 top: 50%; transform: translateY(-50%); color: #999; pointer-events: none; font-size: 13px;
}
.divsearchfield:has(#search_search_socid:focus)::after,
.divsearchfield:has(#search_search_socid:not(:placeholder-shown))::after { display: none; }

/* Menu "Tous" dans les listes */
ul[id*="search_filtert-results"] li:first-child,
ul[id*="usergroup-results"] li:first-child,
ul[id*="categ_search_categ_cus-results"] li:first-child {
 font-size: 0 !important; position: relative; min-height: 30px;
}
ul[id*="search_filtert-results"] li:first-child::after,
ul[id*="usergroup-results"] li:first-child::after,
ul[id*="categ_search_categ_cus-results"] li:first-child::after {
 content: "Tous"; font-size: 13px !important; position: absolute;
 left: 10px; top: 50%; transform: translateY(-50%);
 color: #444 !important; font-weight: bold; opacity: 1 !important;
}

/* --- 5. BOUTONS D'ACTION --- */

/* Bouton Rechercher (Loupe) -> Vert */
button[name="button_search"], .button_search {
 background-color: #6ea42d !important;
 border: 1px solid #5c8a26 !important;
 border-radius: 4px !important;
 padding: 0 15px !important; height: 32px !important;
 margin-left: 10px !important;
 box-shadow: 0 2px 4px rgba(0,0,0,0.15); transition: transform 0.1s;
}
button[name="button_search"] span, .button_search span { color: #ffffff !important; }
button[name="button_search"]:hover, .button_search:hover { transform: scale(1.05); cursor: pointer; }

/* Bouton + (Nouvel événement) -> Bleu #2D85A3 */
.btnTitlePlus {
 background-color: #2D85A3 !important;
 border: 1px solid #20657c !important;
 border-radius: 4px !important;
 padding: 0 !important; width: 34px !important; height: 32px !important;
 display: inline-flex !important; align-items: center; justify-content: center;
 box-shadow: 0 2px 4px rgba(0,0,0,0.2); margin-left: 10px !important;
 text-decoration: none !important; transition: transform 0.1s;
}
.btnTitlePlus span.fa-plus-circle { color: #ffffff !important; font-size: 16px !important; }
.btnTitlePlus:hover { background-color: #26738d !important; transform: scale(1.05); }

/* --- 7. DROPDOWNS (RECHERCHE, AJOUT RAPIDE, MARQUE-PAGES) --- */

/* Style global des dropdowns */
.dropdown-search, .dropdown-menu:has(.dropdown-quickadd-list), .dropdown-menu:has(.bookmark-header) {
 padding: 15px !important; border-radius: 12px !important;
 border: 1px solid #e0e0e0 !important; box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
}
.dropdown-search { min-width: 520px !important; }
.dropdown-menu:has(.dropdown-quickadd-list) { min-width: 380px !important; overflow: hidden !important; }
.dropdown-menu:has(.bookmark-header) { min-width: 400px !important; }

/* Champs de recherche internes */
#top-global-search-input, #top-bookmark-search-input {
 width: 100% !important; padding: 10px 15px !important;
 border-radius: 8px !important; border: 2px solid #eee !important;
 background-color: #fcfcfc !important; box-sizing: border-box !important;
 transition: border-color 0.3s;
}
#top-global-search-input:focus, #top-bookmark-search-input:focus { border-color: #2D85A3 !important; outline: none; }
#top-global-search-input { height: 45px !important; }
#top-bookmark-search-input { height: 40px !important; font-size: 13px !important; }

/* Items des listes (Tuiles & Lignes) */
.global-search-item, .quickadd-item, .bookmark-item, .top-menu-dropdown-link {
 border-radius: 8px !important; background: #ffffff !important;
 border: 1px solid #f0f0f0 !important; color: #444 !important;
 transition: all 0.2s ease-in-out !important;
}
.global-search-item { width: calc(50% - 6px) !important; padding: 12px !important; display: flex !important; align-items: center !important; }
.quickadd-item { width: 100% !important; padding: 12px 15px !important; display: flex !important; align-items: center !important; }

/* Hover effets */
.global-search-item:hover, .quickadd-item:hover, .bookmark-item:hover {
 background-color: #f9f9f9 !important; border-color: #2D85A3 !important;
 color: #2D85A3 !important; box-shadow: 0 4px 8px rgba(45, 133, 163, 0.1) !important;
}
.global-search-item:hover .pictofixedwidth, .quickadd-item:hover span { color: #6EC8C5 !important; }

/* Grilles et Layouts Dropdowns */
.search-dropdown-header, .bookmark-header { width: 100% !important; margin: 0 !important; }
.dropdown-global-search-button-list { display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; gap: 10px !important; margin-top: 10px !important; }
.dropdown-quickadd-list { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.bookmark-footer { display: flex !important; flex-direction: column !important; gap: 8px !important; border-bottom: 1px solid #f0f0f0 !important; margin-bottom: 10px !important; }
#dropdown-bookmarks-list { display: flex !important; flex-direction: column !important; gap: 6px !important; }
#top-bookmark-search-nothing-found { display: block !important; padding: 20px !important; text-align: center !important; color: #999 !important; font-style: italic !important; }

/* Menu Utilisateur (User Dropdown) */
.dropdown-menu:has(.user-header) { border-radius: 15px !important; padding: 0 !important; min-width: 320px !important; overflow: hidden !important; }
.user-header { background: linear-gradient(135deg, #2D85A3 0%, #1e5a6f 100%) !important; padding: 20px !important; text-align: center !important; color: #ffffff !important; }
.user-header img.photouserphoto { width: 80px !important; height: 80px !important; border-radius: 50% !important; border: 3px solid rgba(255, 255, 255, 0.3) !important; object-fit: cover; }
.user-body { padding: 15px !important; max-height: 400px; overflow-y: auto; }
#topmenulogincompanyinfo-btn, #topmenuloginmoreinfo-btn { display: block !important; background: #f4f8fb !important; padding: 8px 12px !important; border-radius: 8px !important; color: #2D85A3 !important; font-weight: bold !important; margin-bottom: 5px !important; }
.user-footer { background: #f8fbfe !important; padding: 12px !important; border-top: 1px solid #eee !important; display: flex !important; justify-content: space-between !important; }
.button-top-menu-dropdown { padding: 8px 15px !important; border-radius: 8px !important; font-weight: bold !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.user-footer .pull-left .button-top-menu-dropdown { background: #ffffff !important; color: #2D85A3 !important; border: 1px solid #2D85A3 !important; }
.user-footer .pull-left .button-top-menu-dropdown:hover { background: #2D85A3 !important; color: #ffffff !important; }
.user-footer .pull-right .button-top-menu-dropdown { background: #fff5f5 !important; color: #e74c3c !important; border: 1px solid #fed7d7 !important; }
.user-footer .pull-right .button-top-menu-dropdown:hover { background: #e74c3c !important; color: #ffffff !important; }
.user-header .fa-star { color: #f1c40f !important; margin-right: 5px; }

/* --- 8. WIDGETS ACCUEIL --- */

.box-flex-container { gap: 20px !important; padding: 10px !important; }

/* Cartes Info (Haut de page) */
.info-box {
 background-color: #ffffff !important; border: 1px solid #e0e0e0 !important;
 border-radius: 12px !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
 overflow: hidden !important; transition: all 0.3s ease-in-out !important;
}
.info-box:hover { transform: translateY(-5px) !important; border-color: #2D85A3 !important; box-shadow: 0 15px 30px rgba(45, 133, 163, 0.15) !important; }

/* Icones & Textes Cartes */
.info-box-icon, .bg-infobox-action, .bg-infobox-project, .bg-infobox-expensereport {
 background-color: #f4f8fb !important; color: #2D85A3 !important; border-right: none !important;
 border-top-left-radius: 12px !important; border-bottom-left-radius: 12px !important;
}
.info-box-title { text-transform: uppercase !important; font-size: 10px !important; font-weight: 700 !important; color: #999 !important; letter-spacing: 1px !important; }
.info-box .info-box-text, .info-box .info-box-number, .info-box a { color: #333 !important; font-weight: 600 !important; text-decoration: none !important; }
.info-box a:hover { color: #2D85A3 !important; }

/* Badges Cartes */
.info-box .badge { border-radius: 10px !important; padding: 3px 8px !important; font-size: 10px !important; border: none !important; }
.info-box .badge-info { background-color: #6EC8C5 !important; color: white !important; }
.info-box .badge-warning { background-color: #fff0f0 !important; color: #d63031 !important; border: 1px solid #fab1a0 !important; }

/* Météo */
.info-box-weather {
 background: linear-gradient(135deg, #2D85A3 0%, #6EC8C5 100%) !important; color: white !important;
 border: none !important; border-radius: 12px !important;
}
.info-box-weather .info-box-title, .info-box-weather .info-box-number, .info-box-weather .progress-description, .info-box-weather .fa {
 color: white !important; text-shadow: none !important;
}
.info-box-weather .info-box-icon { background: transparent !important; color: white !important; }

/* Listes / Tableaux Widgets */
.box {
 background-color: #ffffff !important; border: 1px solid #e0e0e0 !important;
 border-radius: 12px !important; box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
 margin-bottom: 20px !important; overflow: hidden !important; padding: 0 !important;
 transition: border-color 0.3s ease !important;
}
.box:hover { border-color: #2D85A3 !important; }
.box .divboxtable, .box table, .box table.boxtable { border: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; box-shadow: none !important; border-collapse: collapse !important; }

/* Titres Widgets */
.box_titre { background-color: #f4f8fb !important; border-bottom: 1px solid #dcebf0 !important; height: 45px !important; border-top: none !important; }
.box_titre th { color: #2D85A3 !important; font-family: sans-serif !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; padding: 0 15px !important; border: none !important; }
.box_titre .fas, .box_titre .far { color: #a0a0a0 !important; }
.box_titre .fas:hover { color: #2D85A3 !important; }

/* Contenu Widgets */
.box table.boxtable tr.oddeven { background-color: #ffffff !important; border-bottom: 1px solid #f0f0f0 !important; transition: background-color 0.2s !important; }
.box table.boxtable tr.oddeven:nth-child(even) { background-color: #fafafa !important; }
.box table.boxtable tr.oddeven:hover { background-color: #f0f7f9 !important; }
.box td { padding: 10px 15px !important; border: none !important; }
.box a, .box td { color: #444 !important; font-size: 13px !important; text-decoration: none !important; font-weight: 500 !important; }
.box a:hover { color: #2D85A3 !important; }

/* Icones Widgets */
.box td .fas, .box td .far, .box td .fa { color: #2D85A3 !important; opacity: 0.9 !important; width: 16px !important; text-align: center !important; }
.box td .fa-exclamation-triangle { color: #ff9f43 !important; }
.boxclose .fa-times { color: #e74c3c !important; } /* Croix fermeture */
.boxhandle.fa-arrows-alt { color: #6EC8C5 !important; } /* Drag */
#idsubimgbookmarks.fa-star { color: #f1c40f !important; } /* Favori */
#idsubimglastrssinfos.fa-external-link-alt { color: #2D85A3 !important; } /* RSS */

/* --- 9. MENU GAUCHE & NAVIGATION --- */

div.vmenu { padding: 5px 0 !important; width: 95% !important; }
.blockvmenu { border: none !important; margin: 0 0 2px 0 !important; padding: 0 !important; }
.menu_top, .menu_end { display: none !important; }

/* Titres sections gauche */
.menu_titre a.vmenu {
 display: flex !important; align-items: center !important; padding: 6px 10px !important;
 margin: 2px 5px !important; border-radius: 6px !important;
 background-color: #f4f8fb !important; color: #2D85A3 !important;
 font-weight: 800 !important; font-size: 12px !important; text-transform: uppercase !important;
 text-decoration: none !important; white-space: nowrap !important;
}
.menu_titre .fa, .menu_titre .fas, .menu_titre .far { width: 20px !important; text-align: center !important; margin-right: 8px !important; font-size: 14px !important; color: #2D85A3 !important; }
.menu_titre a.vmenu:hover { background-color: #2D85A3 !important; color: #ffffff !important; }
.menu_titre a.vmenu:hover .fa, .menu_titre a.vmenu:hover .fas, .menu_titre a.vmenu:hover .far { color: #ffffff !important; }

/* Liens menu gauche */
div.id-left, .side-nav { text-align: left !important; }
a.vsmenu { text-decoration: none !important; position: relative !important; transition: all 0.2s ease-out !important; }
a.vsmenu:hover { color: #2D85A3 !important; left: 5px !important; background-color: transparent !important; }

/* Fixation Header & Contenu Corrigée */
.active-scroll { margin-top: 0 !important; }

/* --- Correction agressive du décalage --- */

/* 1. On s'assure que le conteneur principal ne pousse pas le menu vers le bas */
#id-container { 
 margin-top: 0 !important; 
}

/* 2. On force le menu de gauche à annuler toute marge native */
#id-left, .side-nav { 
 margin-top: 0 !important; /* Écrase la marge cachée de Dolibarr */
 position: sticky !important; 
 top: 0 !important; 
 padding-top: 5px !important; /* Réduit de 25px à 5px pour limiter le vide en haut */
 z-index: 900 !important; 
 height: 100vh !important; 
 overflow-y: auto !important; 
}

.pagination, .tabs, .tabsElem, .div-table-responsive { position: relative; z-index: 10; }

/* --- 10. AGENDA (NAVIGATION) --- */

.navmode {
 background-color: #f4f8fb !important; padding: 6px !important;
 border-radius: 12px !important; display: inline-flex !important;
 align-items: flex-end !important; border: 1px solid #e0e0e0 !important;
}

/* Boutons de vue */
a.btnTitle:not(.btnTitlePlus) {
 display: flex !important; flex-direction: column !important; align-items: center !important;
 justify-content: center !important; padding: 8px 10px !important; margin: 0 2px !important;
 border-radius: 10px !important; background: transparent !important; border: none !important;
 color: #555 !important; text-decoration: none !important; transition: all 0.2s ease !important;
 min-width: 80px !important;
}
a.btnTitle:not(.btnTitlePlus) .imgforviewmode { font-size: 16px !important; margin-bottom: 4px !important; color: #2D85A3 !important; }
a.btnTitle:not(.btnTitlePlus) .btnTitle-label { font-size: 10px !important; text-transform: uppercase !important; font-weight: 700 !important; color: inherit !important; }
a.btnTitle:not(.btnTitlePlus):hover { background-color: rgba(45, 133, 163, 0.08) !important; }

/* Bouton actif */
a.btnTitleSelected { background-color: #2D85A3 !important; box-shadow: 0 3px 8px rgba(45, 133, 163, 0.3) !important; }
a.btnTitleSelected, a.btnTitleSelected .imgforviewmode, a.btnTitleSelected .btnTitle-label, a.btnTitleSelected span { color: #ffffff !important; }

/* --- 11. LOGIN PAGE (DESKTOP) --- */

body.bodylogin {
 font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
 position: relative; 
 backdrop-filter: blur(3px);
}

/* Initiative : utilisation de "inset: 0" au lieu de top/left/width/height */
body.bodylogin::before {
 content: ''; position: fixed; inset: 0;
 background: rgba(20, 30, 40, 0.5); z-index: -1;
}

/* Layout principal */
body.bodylogin .login_vertical_align { 
 display: flex !important; justify-content: center; align-items: center; 
 height: 100vh !important; padding: 20px !important; box-sizing: border-box; 
}
body.bodylogin .login_center { width: 100% !important; max-width: 420px !important; }
body.bodylogin .login_table {
 background: #fff !important; border: none !important; border-radius: 16px !important;
 box-shadow: 0 20px 50px rgba(0,0,0,0.3) !important; padding: 40px !important;
 display: flex !important; flex-direction: column !important; margin: 0 auto !important;
}

/* Logo */
body.bodylogin #login_left { float: none !important; text-align: center !important; margin-bottom: 30px !important; width: 100% !important; }
body.bodylogin #img_logo {
 max-height: 80px !important; width: auto !important; transform: scale(1.5); 
 margin: 10px 0; /* Raccourci margin-top et bottom */
 filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1));
}

/* Structure du formulaire (Table overrides) */
body.bodylogin #login_line1, body.bodylogin #login_right, body.bodylogin .tagtable { 
 display: block !important; width: 100% !important; padding: 0 !important; margin: 0 !important; border: none !important; 
}
/* Correction : Séparé pour éviter le conflit avec le margin: 0 juste au-dessus */
body.bodylogin .trinputlogin { 
 display: block !important; width: 100% !important; padding: 0 !important; border: none !important; 
 margin: 0 0 20px 0 !important; 
}

/* Wrappers des champs (Icône + Input) */
body.bodylogin .tdinputlogin {
 display: flex !important; align-items: center !important; background: #f4f6f9 !important;
 border: 2px solid transparent !important; border-radius: 12px !important; padding: 5px 15px !important;
 transition: 0.3s !important; /* Raccourci transition */
}
body.bodylogin .tdinputlogin:focus-within { 
 background: #fff !important; border-color: #2D85A3 !important; 
 box-shadow: 0 0 0 4px rgba(45, 133, 163, 0.15) !important; 
}
body.bodylogin .tdinputlogin .fa, body.bodylogin .tdinputlogin .fas { 
 color: #a0aec0 !important; font-size: 1.1rem !important; margin-right: 15px !important; width: 20px !important; text-align: center !important; 
}

/* Champs de saisie */
body.bodylogin input[type="text"], body.bodylogin input[type="password"] {
 border: none !important; background: transparent !important; outline: none !important; box-shadow: none !important; 
 font-size: 15px !important; color: #2d3748 !important; font-weight: 500 !important;
 width: 100% !important; height: 45px !important; 
}

/* Bouton de connexion */
body.bodylogin #login_line2 { text-align: center !important; padding-top: 10px !important; }
body.bodylogin input[type="submit"] {
 background: linear-gradient(135deg, #2D85A3, #1a5c72) !important; /* Retrait des 0% et 100% (implicites) */
 border: none !important; color: #fff !important; font-size: 16px !important; font-weight: 700 !important;
 text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 15px 0 !important;
 width: 100% !important; border-radius: 50px !important; cursor: pointer !important;
 box-shadow: 0 10px 20px rgba(45, 133, 163, 0.3) !important; transition: 0.3s !important;
 margin-bottom: 20px !important;
}
body.bodylogin input[type="submit"]:hover { 
 transform: translateY(-2px) !important; box-shadow: 0 15px 25px rgba(45, 133, 163, 0.4) !important; 
}

/* Liens annexes & Captcha */
body.bodylogin .alogin { color: #718096 !important; font-size: 14px !important; text-decoration: none !important; transition: 0.2s !important; }
body.bodylogin .alogin:hover { color: #2D85A3 !important; text-decoration: underline !important; }
body.bodylogin #securitycode { width: 100% !important; }
body.bodylogin .tdinputlogin img { margin-left: 10px !important; border-radius: 4px !important; }

/* ==========================================================================
 DATEPICKER / CALENDRIER (JQUERY UI) - LEO CRM DESIGN
 ========================================================================== */

/* 1. CONTENEUR PRINCIPAL - ÉLARGI */
#ui-datepicker-div, .ui-datepicker {
 background-color: #ffffff !important;
 border: 1px solid #e0e0e0 !important;
 border-radius: 12px !important;
 box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
 padding: 5px !important; /* Ajout d'un peu de marge interne */
 font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
 
 /* C'est ici qu'on change la largeur */
 width: 20em !important; /* Passé de 17em à 20em pour faire entrer le dimanche */
 
 z-index: 9999 !important;
 box-sizing: border-box !important; /* Assure que le padding ne casse pas la largeur */
}

/* 2. EN-TÊTE (MOIS / ANNÉE) */
.ui-datepicker-header {
 background: #2D85A3 !important; /* Bleu Avenelink */
 border: none !important;
 border-radius: 12px 12px 0 0 !important; /* Arrondi haut */
 padding: 10px 0 !important;
 position: relative !important; /* Important pour les flèches absolues */
}

.ui-datepicker-title {
 color: #ffffff !important;
 line-height: 1.2 !important;
 display: flex !important;
 justify-content: center !important;
 align-items: center !important;
 gap: 5px !important;
 margin: 0 35px !important; /* Marge pour ne pas toucher les flèches */
}

/* Listes déroulantes */
.ui-datepicker-title select {
 background: rgba(255, 255, 255, 0.2) !important;
 border: none !important;
 border-radius: 4px !important;
 color: #ffffff !important;
 font-size: 13px !important;
 font-weight: 600 !important;
 height: 24px !important;
 cursor: pointer !important;
 padding: 0 5px !important;
}
.ui-datepicker-title select option { color: #333 !important; background: #fff !important; }

/* 3. FLÈCHES NAVIGATION (CORRIGÉES) */
.ui-datepicker-prev, .ui-datepicker-next {
 position: absolute !important;
 top: 50% !important;
 width: 30px !important;
 height: 30px !important;
 transform: translateY(-50%) !important; /* Centrage vertical parfait */
 background: transparent !important;
 border: none !important;
 cursor: pointer !important;
 
 /* CRITIQUE : Cacher le texte "Précédent/Suivant" */
 font-size: 0 !important; 
 color: transparent !important;
 text-indent: -9999px !important; /* Sécurité double */
 overflow: visible !important; /* Pour voir la flèche générée */
 
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 border-radius: 50% !important;
}

.ui-datepicker-prev { left: 5px !important; }
.ui-datepicker-next { right: 5px !important; }

/* Effet hover sur le rond de la flèche */
.ui-datepicker-prev:hover, .ui-datepicker-next:hover {
 background: rgba(255,255,255,0.2) !important;
}

/* On cache l'icône span par défaut de jQuery UI qui pose problème */
.ui-datepicker-prev span, .ui-datepicker-next span {
 display: none !important;
}

/* On recrée les flèches proprement sur le lien lui-même */
.ui-datepicker-prev::after, .ui-datepicker-next::after {
 font-family: monospace !important; /* Assure un rendu net */
 font-size: 16px !important;
 font-weight: bold !important;
 color: #ffffff !important;
 
 /* Réinitialisation des propriétés de texte cachées plus haut */
 text-indent: 0 !important;
 display: block !important;
 line-height: 1 !important;
}

.ui-datepicker-prev::after { content: "❮"; }
.ui-datepicker-next::after { content: "❯"; }

/* 4. TABLEAU DES JOURS */
.ui-datepicker-calendar {
 margin: 5px 0 10px 0 !important;
}

/* Jours de la semaine (Lu, Ma, Me...) */
.ui-datepicker-calendar th {
 color: #6EC8C5 !important; /* Turquoise (Rappel widgets) */
 font-size: 11px !important;
 font-weight: 800 !important;
 text-transform: uppercase !important;
 padding: 8px 0 !important;
}

/* Cellules des jours */
.ui-datepicker-calendar td {
 padding: 2px !important;
}

/* Le lien (le numéro du jour) */
.ui-datepicker-calendar td a.ui-state-default {
 background: transparent !important;
 border: none !important;
 color: #444 !important;
 text-align: center !important;
 font-weight: 500 !important;
 border-radius: 50% !important; /* Rond parfait */
 width: 30px !important;
 height: 30px !important;
 line-height: 30px !important;
 margin: 0 auto !important;
 transition: all 0.2s !important;
}

/* Force le tableau à prendre toute la largeur disponible */
.ui-datepicker-calendar {
 width: 100% !important; 
 margin: 5px 0 10px 0 !important;
 table-layout: fixed !important; /* Répartit les colonnes équitablement */
}

/* 5. ÉTATS INTERACTIFS */

/* Survol d'un jour */
.ui-datepicker-calendar td a.ui-state-default:hover {
 background-color: #f0f7f9 !important;
 color: #2D85A3 !important;
 font-weight: bold !important;
}

/* Aujourd'hui (Cercle Turquoise) */
.ui-datepicker-calendar td.ui-datepicker-today a.ui-state-default {
 background: transparent !important;
 border: 2px solid #6EC8C5 !important;
 color: #6EC8C5 !important;
 font-weight: bold !important;
}

/* Jour Sélectionné (Rond plein Bleu Avenelink) */
.ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-default,
.ui-datepicker-calendar td a.ui-state-active {
 background: #2D85A3 !important;
 color: #ffffff !important;
 box-shadow: 0 4px 8px rgba(45, 133, 163, 0.3) !important;
 border: none !important;
}

/* Autres mois (Grisé) */
.ui-datepicker-other-month .ui-state-default {
 opacity: 0.3 !important;
}