html, body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } /* Avoid blurring by not applying transforms to text-level elements */ h1,h2,h3,h4,h5,h6,p,span,label,a,button,input,td,th,strong,em { transform: none !important; -webkit-transform: none !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; } /* Tables responsive fallback for cases where class was applied on */ .table.table-responsive, table.table-responsive { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } /* Slight touch target improvements */ .btn { min-height: 36px; } /* Prevent image upscaling blurriness */ img { image-rendering: -webkit-optimize-contrast; -ms-interpolation-mode: nearest-neighbor; } #barre_laterale_d{ background: white; padding: 10px; width: 240px !important; border: 2px ridge #d9cfcf; padding:5px !important } #barre_laterale_d input textarea{ width:100% } input[name="test_connexion"]{ color:white; background:red } input[name="numeroClient_C"]{ } .btn-info{ background-color:#08C5D1; color:white; font-weight: bold; } .btn-info:hover{ background-color:white color:#286090; } .btn-info-context{ background:#7D4FFE; color:white; border:2px solid #a49d9d; border-top-left-radius: 50px; /* Arrondi du coin supérieur gauche */ border-bottom-left-radius: 50px; /* Arrondi du coin inférieur gauche */ cursor: pointer; transition: all 0.3s ease; /* Animation fluide */ transform: scale(0.8); /* Réduire la taille du bouton */ } .btn-info-context:hover{ background:#7D4FFE; color:white; border:2px solid #a49d9d; transform: scale(1); /* Rétablir la taille normale au survol */ } .btn-cacher-contexte{ background:red; color:white; border:2px solid #a49d9d; border-top-right-radius: 100px; border-bottom-right-radius: 100px; cursor: pointer; font-size: 16px; font-weight: bold; transition: all 0.3s ease; /* Animation fluide */ transform: scale(0.8); /* Réduire la taille du bouton */ } .btn-cacher-contexte:hover { border:2px solid #a49d9d; transform: scale(1); /* Rétablir la taille normale au survol */ } legend{ background: #286090 !important; } .btn-primary{ background: #286090; } .btn-warning{ background:red; color:white } .btn{ border-radius:0 } /* Modal */ .modal-header{ background:#286090; color:white } .modal-header .close{ color:white !important; background:transparent !important; border:1px solid white !important } .modal-header legend{ background:transparent !important; font-size:14px; text-align:right } .modal-footer .btn-default{ border: solid #286090 !important; color: #286090 !important; } .modal-title{ font-size:16px !important } @media (max-width: 1199px) { .main{ margin-left:0 !important } } td input[readonly]{ background: #f7f7f7 !important; } #barre_laterale_d input{ color:black !important; font-size:12px; font-weight:700 } #barre_laterale_d .form-control{ font-weight: 700; font-size: 12px; } .sr-only{ display:none; } table{ background-color:white !important } .table th:hover { background-color: none !important; } .table tr:hover{ font-style: normal !important; } .table td:hover{ font-style: normal !important; } .table { --bs-table-color: null !important; --bs-table-striped-color:null !important /* --bs-table-color: yellow; */ } .table{ --bs-table-bg: null !important; } thead tr{ color:black } fieldset legend,form legend{ background:#286090 } legend{ background:#027be3 } #barre_laterale_d input{ width:100%; text-align:left; border:none; } #barre_laterale_d .form-control{ font-size:12px !important } footer{ background:transparent; color:black !important } .filter-option-inner-inner{ background-color : #D4D3DC !important; } .table > thead { background-color: #5c656a; color:white !important; } thead{ font-size: 13px; } thead tr { color: white; } th { background-color: #027BE3; color: white; } #barre_laterale_d{ max-height: calc(100vh - 106px); overflow: auto; } #barre_laterale_d input textarea{ width:100% } .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active { text-align:center; font-weight: bold; background-color:#696969; } h6 a{ text-decoration: underline; } h6 a:hover{ background-color:#08C5D1; color:white; text-decoration: none; } .mb-2 textarea{ font-size:9pt; width:100%; border: 1px solid #767676; } .mb-2 .text-center{ font-size:9pt; font-weight:bold; background-color: orange; /*#6c757d;*/ color: white; } .image-container img { transition: filter 0.3s ease-in-out; } .image-container img:hover { filter: grayscale(100%); } .photo-container img { transition: transform 0.3s ease-in-out; cursor:pointer; } .photo-container img:hover { transform: scale(1.1); cursor:pointer; } .initials { display: inline-block; /* Nécessaire pour appliquer border-radius */ width: 25px; /* Largeur du cercle */ height: 25px; /* Hauteur du cercle, doit être égale à la largeur */ background-color: #4caf50; /* Couleur de fond */ border-radius: 15%; /* Pour arrondir complètement l'élément */ color: #fff; /* Couleur du texte */ text-align: center; /* Centrer le texte */ line-height: 25px; /* Aligner verticalement le texte */ } /* Style commun (desktop par défaut) */ #a_deconnect, #a_actualiser { font-size: 11pt; border: 1px solid #7D4FFE; border-radius: 5px; padding: 4px 10px; background-color: #7D4FFE; color: white; font-weight: bold; display: inline-flex; align-items: center; justify-content: center; height: 36px; /* hauteur fixe */ line-height: 1; /* éviter que le texte déborde */ } /* Hover */ #a_deconnect:hover, #a_actualiser:hover { background-color: white !important; color: #7D4FFE !important; border-color: #7D4FFE !important; } #a_deconnect:hover i, #a_actualiser:hover i { color: #7D4FFE !important; } #sidebar-nav .nav-link i{ color: #fff !important; } #sidebar-nav .nav-link:hover i{ color: #696969 !important; } .legend-title { color: #2c3e50; font-weight: 600; padding-bottom: 10px; border-bottom: 2px solid #3498db; text-align: center; white-space: normal !important; /* permet le retour à la ligne */ word-wrap: break-word !important; /* force la coupure si un mot est trop long */ overflow-wrap: break-word !important; } /*Spinner responsive*/ .spinner-responsive { padding-top: 20px; text-align: center; color: #7d4ffe; } .spinner-responsive i { font-size: clamp(2rem, 8vw, 5rem) !important; animation: fa-spin 2s infinite linear; } /* Styles responsives pour SweetAlert */ .responsive-swal-popup { border-radius: 12px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important; } .responsive-swal-title { font-size: clamp(16px, 4vw, 18px) !important; line-height: 1.4 !important; word-wrap: break-word !important; overflow-wrap: break-word !important; text-align: center !important; padding: 10px 15px !important; margin-bottom: 15px !important; } .responsive-swal-html { font-size: clamp(14px, 3.5vw, 16px) !important; line-height: 1.4 !important; word-wrap: break-word !important; overflow-wrap: break-word !important; } /* Scrollbar personnalisée pour le défilement */ .responsive-swal-title::-webkit-scrollbar, .responsive-swal-html::-webkit-scrollbar { width: 6px; } .responsive-swal-title::-webkit-scrollbar-track, .responsive-swal-html::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; } .responsive-swal-title::-webkit-scrollbar-thumb, .responsive-swal-html::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; } .responsive-swal-title::-webkit-scrollbar-thumb:hover, .responsive-swal-html::-webkit-scrollbar-thumb:hover { background: #a8a8a8; } #lienLogo{ width:100px; } /* Media queries spécifiques pour SweetAlert */ @media (max-width: 576px) { .responsive-swal-popup { margin: 10px !important; width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; } .responsive-swal-title { font-size: 16px !important; padding: 8px 10px !important; } .swal2-actions { flex-direction: column !important; gap: 10px !important; } .swal2-confirm, .swal2-cancel { width: 100% !important; margin: 0 !important; } #lienLogo{ width:30px; } } @media (max-width: 400px) { .responsive-swal-popup { padding: 15px !important; } .responsive-swal-title { font-size: 15px !important; padding: 5px 8px !important; } #lienLogo{ width:30px; } } /* Classe pour cacher sur mobile et afficher sur grand écran */ .hide-on-mobile { display: none; } /* Classe pour positionner à l'extrême droite */ .view-end { margin-left: auto; white-space: nowrap; } /* Style pour tous les éléments disabled */ .form-control:disabled, .form-select:disabled, .form-check-input:disabled, .btn:disabled, input:disabled, select:disabled, textarea:disabled { background-color: #e5e7e6 !important; font-weight: bold !important; } /* Style pour tous les éléments readonly */ .form-control[readonly], input[readonly], select[readonly], textarea[readonly] { background-color: #e5e7e6 !important; font-weight: bold !important; } /* Affichage sur grand écran */ @media (min-width: 768px) { .hide-on-mobile { display: inline; } } /* Garantir que tous les éléments restent sur la même ligne */ .card-header h5 { display: flex; align-items: center; flex-wrap: nowrap; width: 100%; } .card-header h5 i, .card-header h5 .hide-on-mobile, .card-header h5 .view-end { flex-shrink: 0; white-space: nowrap; } /* === Correctifs affichage textes et tables === */ body, h1, h2, h3, h4, h5, h6, p, span, a, label, td, th, strong, em, button, input { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; transform: none !important; } small { display: inline; white-space: normal !important; /* permet le retour à la ligne */ word-wrap: break-word !important; /* force la coupure si un mot est trop long */ overflow-wrap: break-word !important; text-align:center; } /* Tables responsive fallback - web par défaut */ .table.table-responsive, table.table-responsive { display: table; width: 100%; } #btn_sidebar{ margin-left:15px; margin-right:25px; } #btn_sidebar:hover{ background-color: #E4E4E4 !important; } .photoId{ width: 30px !important; height: 30px !important; object-fit: cover; } .logo img { width: 120px; /* choisis la taille qui te convient */ height: auto; /* conserve les proportions */ max-height: 50px; /* empêche que ça déborde trop en hauteur */ object-fit: contain; /* évite les déformations */ } /* Styles pour les sélecteurs mobiles */ .mobile-select { max-width: 100%; word-wrap: break-word; } .photo-vide{ color: #ccc; font-size: 30px !important; } /* Couleurs spécifiques */ .color-1 { background-color: #726a57; } .color-2 { background-color: orange; } .color-3 { background-color: red; } .form-control, .form-select, .form-control-plaintext{ border: 1px solid #333533 !important; } /* Animation pour les progress bars */ .progress-bar { transition: width 1s ease-in-out; } .progress { border-radius: 10px; overflow: hidden; border: 1px solid #333533; height: 20px !important; } .progress-bar { font-weight: 500; font-size: 0.8rem; } #link_maps{ text-decoration-line: underline; } #link_maps i{ color: red !important; } #link_maps:visited{ color: #ff00ff !important; } /* En mobile : scroll horizontal */ @media (max-width: 768px) { /* Transformation du tableau en cartes sur mobile */ .table-responsive table, .table-responsive thead, .table-responsive tbody, .table-responsive th, .table-responsive td, .table-responsive tr { display: block; } .table-responsive thead tr { position: absolute; top: -9999px; left: -9999px; } .table-responsive tr { border: 1px solid #ccc; margin-bottom: 1rem; border-radius: 0.25rem; padding: 0.5rem; } .table-responsive td button{ font-size: 1.8rem !important; font-weight: bold !important; } .table-responsive td { border: none; border-bottom: 1px solid #eee; position: relative; padding-left: 50%; white-space: normal; text-align: left; display: flex; align-items: center; min-height: 2.5rem; } .table-responsive td:before { content: attr(data-label); position: absolute; top: 50%; left: 0.5rem; width: 45%; padding-right: 10px; transform: translateY(-50%); font-weight: bold; white-space: nowrap; } /* Styles spécifiques pour les colonnes importantes */ .table-responsive td:nth-of-type(1) { padding-left: 0.5rem; display: block; text-align: center; border-bottom: none; } .table-responsive td:nth-of-type(1):before { display: none; } .table-responsive td:nth-of-type(2) { padding-left: 0.5rem; display: block; text-align: center; border-bottom: none; } /**/ .table-responsive td:nth-of-type(2):before { display: none; } /* Cacher les colonnes moins importantes sur mobile */ .table-responsive td.d-none.d-md-table-cell { display: none; } .photoId{ width: 50px !important; height: 50px !important; } .btn-info, .btn-info i, .btn-sm, .btn-sm i{ font-size: 1.5rem !important; } .btn-info-context i, .btn-cacher-contexte i{ font-size: 1.5rem !important; } #lienLogo{ width:30px; } .logo img { width: 70px !important; height: auto !important; max-height: 40px; margin-left:-37px; } #a_deconnect{ margin-left:-120px; margin-right:20px; } #a_deconnect, #a_actualiser { font-size: 1.5rem !important; border-radius: 50%; width: 20px; /* taille uniforme (carré rond) */ height: 20px; padding: 0; } #a_deconnect { background-color: #7d4ffe; border: 1px solid #7d4ffe; color: #fff; } #a_actualiser { background-color: #fff; border: 1px solid #7d4ffe; color: #7d4ffe; } #header{ border-bottom:1px solid #000; } #a_deconnect i, #a_actualiser i { font-size: 1.2rem !important; } #a_deconnect span, #a_actualiser span { display: none !important; /* Cache le texte sur mobile */ } .photo-vide{ font-size: 4rem !important; } .legend-title{ color: #fff !important; } h4 i{ font-size: 1.6rem !important; } #a_deconnect i, #a_actualiser i{ font-weight:bold; font-size: 1.5rem !important; } #btn_filtre, #btn_filtre span, #btn_filtre i{ font-size: 1.8rem !important; } .btn_autre, .btn_autre span, .btn_autre i, marquee{ font-size: 1.8rem !important; } #link_maps, #link_maps i{ font-size:1.8rem !important; } body{ background-color : #EBF2FA !important; } body, p, span, a, label, td, th, small, small i, textarea { font-size: 1.6rem !important; font-weight: 600 !important; } h1, input, select { font-size: 2.1rem !important; font-weight: 800 !important; } h2, h2 i { font-size: 2rem !important; font-weight: 700 !important; } h3, h4, h5, h6 { font-size: 1.8rem !important; font-weight: 600 !important; } h3 i, h4 i, h5 i, h6 i { font-size: 1.8rem !important; font-weight: 600 !important; } .h4 { font-size: 1.8rem !important; font-weight: 600 !important; } legend, legend i {font-size:2.1rem !important;} input[type="text"], input[type="file"], .mobile-select{ border: 1px solid gray; } .form-control-plaintext, .etatRdv{ font-size: 1.8rem !important; } /* Agrandissement de l’icône menu mobile */ .toggle-sidebar-btn { font-size: 2rem; /* plus grande en mobile */ cursor: pointer; } #bell{ color: #2c3e50 !important; } .bi-bell{ font-size: 2.5rem !important; } #span_notification{ font-size: 1.3rem !important; } #div_numero strong{ font-size: 1.8rem !important; } #h4_titre, #h4_titre i{ font-size: 2rem !important; } #id_titre_page{ font-size: 2rem !important; word-wrap: break-word !important; overflow-wrap: break-word !important; } .message-text { background-color: #e5e7e6; border: 1px solid #000; border-radius: 6px; padding: 12px; margin-bottom: 10px; font-size: 0.9rem; line-height: 1.4; max-height: 150px; overflow-y: auto; box-sizing: border-box; /* Important pour inclure le padding dans la largeur */ } .ml-2 i{ font-size: 2rem !important; } } /* Menu mobile en bas d'écran */ .mobile-bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1001; background-color: #FAFAFA; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); padding: 8px 0; display: none; } .mobile-nav-container { display: flex; justify-content: space-around; align-items: center; } .mobile-nav-item { flex: 1; text-align: center; } .mobile-nav-link { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #2c3e50; padding: 5px 0; font-size: 0.5rem; } .mobile-nav-icon { font-size: 2.0rem !important; margin-bottom: 4px; } .mobile-nav-label{ font-size: 10pt !important; } .mobile-nav-icon:active, .mobile-nav-icon:focus-visible { color:#5784BA !important; } .mobile-nav-label:active, .mobile-nav-label:focus-visible{ color:#5784BA !important; } /* Styles pour le menu burger */ .burger-menu-container { position: relative; } .burger-icon { font-size: 1.8rem !important; } .burger-dropdown-menu { position: absolute; bottom: 100%; right: 10px; /* Changé de left:50% à right:10px pour aligner à droite */ transform: none; /* Supprimé le translateX */ background-color: #FAFAFA; border-radius: 8px; box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.2); padding: 10px; min-width: 180px; /* Légèrement plus large pour les libellés longs */ display: none; flex-direction: column; z-index: 1002; margin-bottom: 10px; } .burger-dropdown-menu.show { display: flex; } .burger-menu-item { display: flex; align-items: center; padding: 12px 15px; /* Plus d'espace */ text-decoration: none; color: #2c3e50; border-bottom: 1px solid #eee; white-space: nowrap; /* Empêche le texte de passer à la ligne */ } .burger-menu-item:last-child { border-bottom: none; } .burger-menu-item i { margin-right: 12px; font-size: 1.5rem !important; font-weight: 500; min-width: 20px; /* Largeur fixe pour l'icône */ } .burger-menu-item span { font-size: 1.5rem !important; font-weight: 500; /* Plus gras pour mieux lire */ } /* Overlay pour fermer le menu en cliquant ailleurs */ .burger-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: transparent; z-index: 1000; display: none; } .burger-overlay.show { display: block; } /* Alternative : Aligner à gauche avec un décalage */ /* Si vous préférez aligner à gauche plutôt qu'à droite */ .burger-dropdown-menu.left-aligned { left: 10px; /* Pour aligner à gauche */ right: auto; transform: none; } /* Pour les très petits écrans, on s'assure que le menu ne dépasse pas */ @media (max-width: 360px) { .burger-dropdown-menu { right: 5px; min-width: 160px; } .burger-menu-item { padding: 10px 12px; } .burger-menu-item span { font-size: 0.85rem; } } /* Cacher le menu desktop sur mobile */ @media (max-width: 991.98px) { .desktop-menu { display: none; } .mobile-bottom-nav { display: block; } /* Ajuster le contenu principal pour éviter qu'il soit caché par le menu */ .main { padding-bottom: 70px !important; } /* Masquer le bouton sidebar en mode mobile */ #btn_sidebar { display: none !important; } /* Ajustements pour le header quand le bouton est masqué */ .header .d-flex.align-items-center.justify-content-between { margin-left: 10px; } } /* Sur desktop, cacher le menu mobile */ @media (min-width: 992px) { .mobile-bottom-nav { display: none !important; } .desktop-menu { display: block; } #btn_sidebar { display: inline-block !important; } }