/* =================================================================== * STYLE GLOBAL & GRAPHIQUE SIGMA * =================================================================== */ /* Explicit sizing and minimum widths avoid engine-specific flexbox * expansion differences (notably between Blink and Gecko). */ html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } body { min-width: 320px; } .legacy-browser-warning { display: none; margin: 0; padding: 0.75rem 1rem; color: #664d03; background: #fff3cd; border-bottom: 1px solid #ffecb5; font-weight: 600; text-align: center; } img, svg { max-width: 100%; height: auto; } .row > *, .card, .card-body, .flex-grow-1 { min-width: 0; } .navbar .container { column-gap: 1rem; row-gap: 0.75rem; } .navbar-brand { min-width: 0; max-width: 100%; white-space: normal; } .navbar-brand small, #suggestions-list li { overflow-wrap: anywhere; word-break: break-word; } .navbar-actions { min-width: 0; margin-left: auto; } #sigma-container { width: 100%; height: 600px; /* Un peu plus de hauteur pour un meilleur confort */ position: relative; overflow: hidden; border: 1px solid #dee2e6; border: 1px solid var(--bs-border-color, #dee2e6); /* Variable Bootstrap */ margin-top: 1rem; border-radius: 0.375rem; border-radius: var(--bs-border-radius, 0.375rem); /* Variable Bootstrap */ background-color: #f8f9fa; background-color: var(--bs-light-bg-subtle, #f8f9fa); /* Fond légèrement teinté */ } #floating-legend { max-width: calc(100% - 1rem); } /* =================================================================== * STYLE DES CARTES "HIGHLIGHTS" * =================================================================== */ /* Applique une hauteur de 100% aux cartes dans les colonnes pour un alignement parfait */ .genealogy-column .card { height: 100%; } /* Style spécifique pour la carte centrale du modèle recherché */ .card-searched { border: 2px solid var(--bs-primary); /* Bordure primaire de Bootstrap */ box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Ombre plus prononcée */ background-color: var(--bs-light); /* Fond clair Bootstrap */ } /* =================================================================== * STYLE DES TABLES (DATATABLES) * =================================================================== */ /* A single, deterministic wrapping policy replaces the previous contradictory * normal/nowrap declarations. */ #descendance-table th, #descendance-table td, #ascendance-table th, #ascendance-table td, #train-table th, #train-table td, #graph-models-table th, #graph-models-table td { white-space: nowrap; vertical-align: middle; } #descendance-table th, #ascendance-table th, #train-table th { min-width: 120px; } #descendance-table th:first-child, #descendance-table td:first-child, #ascendance-table th:first-child, #ascendance-table td:first-child, #train-table th:first-child, #train-table td:first-child, #graph-models-table th:first-child, #graph-models-table td:first-child { min-width: 200px; white-space: normal; overflow-wrap: anywhere; word-break: break-word; } .table-responsive, div.dataTables_wrapper, div.dataTables_wrapper div.dataTables_scroll { width: 100%; max-width: 100%; } .table-responsive, div.dataTables_wrapper div.dataTables_scrollBody { overflow-x: auto !important; -webkit-overflow-scrolling: touch; } div.dataTables_wrapper div.dataTables_scrollHeadInner { min-width: 100%; } div.dataTables_wrapper table.dataTable { margin-left: 0 !important; margin-right: 0 !important; table-layout: auto; } /* Personnalisation de l'input de recherche de DataTables pour qu'il ressemble à un champ Bootstrap */ div.dataTables_wrapper div.dataTables_filter input { max-width: 100%; border: 1px solid #dee2e6; border: 1px solid var(--bs-border-color, #dee2e6); border-radius: 0.375rem; border-radius: var(--bs-border-radius, 0.375rem); padding: 0.375rem 0.75rem; margin-left: 0.5em; } /* Amélioration de la visibilité des flèches de tri de DataTables */ div.dataTables_wrapper .table thead th.sorting::before, div.dataTables_wrapper .table thead th.sorting::after { opacity: 0.4; color: var(--bs-body-color); } div.dataTables_wrapper .table thead th.sorting_asc::after, div.dataTables_wrapper .table thead th.sorting_desc::before { opacity: 1; color: var(--bs-primary); /* Couleur primaire de Bootstrap */ } div.dataTables_wrapper .table thead th.sorting_asc::before, div.dataTables_wrapper .table thead th.sorting_desc::after { opacity: 0.2; } /* =================================================================== * STYLE DES COMPOSANTS D'INTERFACE * =================================================================== */ /* NOTE: La plupart des classes de layout comme .search-controls-container, .depth-controls * ont été supprimées car la mise en page est maintenant gérée par la grille et * les utilitaires Flexbox de Bootstrap directement dans le HTML (row, col, d-flex, gap-3). */ /* Style pour la liste de suggestions de l'autocomplétion */ /* Le HTML utilise maintenant