diff --git a/Bootstrap_new/css/style_office.css b/Bootstrap_new/css/style_office.css
index b08c692..f756c7c 100644
--- a/Bootstrap_new/css/style_office.css
+++ b/Bootstrap_new/css/style_office.css
@@ -1,1576 +1 @@
-/* ============================================
- STYLE OFFICE POUR LE PORTAIL RH - VERSION CORRIGÉE
- Encodage: UTF-8 sans BOM
- ============================================ */
-
-:root {
- /* PowerPoint/Office 2019 Color Palette */
- --office-primary: #b7472a; /* Sidebar color - PowerPoint accent */
- --office-secondary: #2b579a; /* Header/buttons - Office blue */
- --office-accent: #107c10; /* Success/active states - Excel green */
- --office-light: #f3f2f1; /* Background - Office gray */
- --office-common: #e6e6e6; /* Background - Office gray */
- --office-dark: #323130; /* Text color */
- --office-border: #d0d0d0; /* Borders */
- --office-hover: #f0f0f0; /* Hover states */
- --office-card: #ffffff; /* Card backgrounds */
-
- /* Dimensions */
- --sidebar-width: 260px;
- --sidebar-collapsed: 85px;
- --header-height: 64px;
- --transition-speed: 0.3s;
-
- /* Responsive breakpoints */
- --breakpoint-tablet: 1200px;
- --breakpoint-mobile: 768px;
-
- --office-primary-light: rgba(183, 71, 42, 0.08);
- --office-primary-lighter: rgba(183, 71, 42, 0.04);
- --office-primary-border: rgba(183, 71, 42, 0.15);
- --office-warm-bg: #fefcfb;
- --office-card-highlight: #fff9f8;
- --content-margin-left: calc(var(--sidebar-width) + 24px);
- --content-margin-right: 24px;
-
- --container-max: 1400px;
- --container-pad: 24px;
-
-}
-
-/* ============================================
- BASE STYLES & RESET
- ============================================ */
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
-}
-
-body {
- font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', sans-serif;
- background-color: var(--office-common);
- color: var(--office-dark);
- line-height: 1.5;
- overflow-x: hidden;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-/* ============================================
- HEADER STYLES
- ============================================ */
-.app-header {
- background-color: var(--office-light) !important;
- height: var(--header-height);
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 1030;
-}
-
-/* Nettoyage du bouton dropdown */
-.user-menu.dropdown-toggle {
- display: flex;
- align-items: center;
- outline: none;
- box-shadow: none !important;
-}
-
-/* Supprimer la petite flèche par défaut de Bootstrap si elle vous gêne */
-.user-menu.dropdown-toggle::after {
- display: none;
-}
-
-/* Style de base de la flèche */
-.user-arrow {
- font-size: 0.8rem;
- transition: transform 0.3s ease;
- color: #6c757d; /* Couleur grise discrète */
-}
-
-/* Rotation automatique quand le menu est ouvert */
-#userDropdownBtn[aria-expanded="true"] .user-arrow {
- transform: rotate(180deg);
- color: var(--bs-primary); /* Change la couleur en bleu au clic (optionnel) */
-}
-
-/* On s'assure que le bouton reste bien aligné horizontalement */
-.user-menu {
- display: flex;
- align-items: center;
-}
-
-/* S'assurer que le menu dropdown passe devant tout */
-.dropdown-menu {
- z-index: 2000 !important;
- min-width: 220px;
- border: 1px solid rgba(0,0,0,0.1);
-}
-
-/* Positionnement quand le header est fixed */
-.dropdown-menu[data-bs-popper] {
- margin-top: 15px !important;
-}
-
-.header-content {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 100%;
- padding: 0 24px;
-}
-
-/* 1. Réduction de l'espace global du bouton */
-#userDropdownBtn {
- gap: 8px; /* Contrôle l'espace entre avatar, texte et flèche */
-}
-
-/* 2. Réduction des textes */
-.user-name {
- font-size: 0.85rem !important; /* Un peu plus petit */
- margin-bottom: -2px; /* Rapproche le nom du rôle */
-}
-
-.user-role {
- font-size: 1.15rem !important;
- opacity: 0.8;
-}
-
-/* 3. Réduction de l'avatar */
-.user-avatar {
- width: 32px !important; /* Au lieu de 36 ou 40 */
- height: 32px !important;
- font-size: 0.8rem; /* Initiales plus petites */
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-/* 4. Rapprochement de la flèche */
-.user-arrow {
- font-size: 0.7rem;
- margin-left: 4px !important; /* Espace réduit avec le texte */
-}
-
-/* 5. Densité du menu déroulant (Dropdown) */
-.dropdown-menu {
- padding: 0.25rem 0; /* Moins d'espace en haut et en bas du menu */
-}
-
-.dropdown-item {
- padding: 0.4rem 1rem; /* Items plus serrés */
- font-size: 0.85rem;
-}
-
-.dropdown-header {
- padding: 0.5rem 1rem;
-}
-
-.logo-container {
- display: flex;
- align-items: center;
- gap: 16px;
-}
-
-.app-logo {
- display: flex;
- align-items: center;
- color: #313c4c;
- text-decoration: none;
- font-weight: 600;
- font-size: 20px;
-}
-
-.app-logo img { height: 36px; }
-
-.notification-btn i{ font-size : 15pt !important; }
-
-#lienlogo img{ width:50px; max-height: 50px; }
-
-/* ============================================
- SIDEBAR STYLES
- ============================================ */
-.app-sidebar {
- width: var(--sidebar-width) !important; /* 70px */
- background: linear-gradient(180deg, var(--office-primary) 0%, #a53e24 100%);
- position: fixed;
- top: var(--header-height);
- left: 0;
- bottom: 0;
- z-index: 1020;
- box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
- transition: width var(--transition-speed) ease;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-/* Pattern overlay */
-.app-sidebar::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-image:
- radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.03) 0%, transparent 20%),
- radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.03) 0%, transparent 20%);
- pointer-events: none;
-}
-
-/* Texte normal */
-.app-sidebar .nav-link .nav-text {
- display: inline;
- opacity: 1;
- transition: opacity var(--transition-speed) ease;
-}
-
-/* En mode réduit : cacher le texte inline */
-body.sidebar-collapsed .app-sidebar .nav-link .nav-text {
- display: none;
-}
-
-/* Overlay flottant au survol */
-body.sidebar-collapsed .app-sidebar .nav-link {
- position: relative;
-}
-
-body.sidebar-collapsed .app-sidebar .nav-link:hover::after {
- content: attr(data-label);
- position: absolute;
- top: 50%;
- left: 100%;
- transform: translateY(-50%);
- background: rgba(0,0,0,0.85);
- color: #fff;
- padding: 6px 12px;
- border-radius: 4px;
- white-space: nowrap;
- font-size: 14px;
- margin-left: 8px;
- box-shadow: 0 2px 6px rgba(0,0,0,0.2);
- opacity: 0;
- transition: opacity var(--transition-speed) ease, transform var(--transition-speed) ease;
- z-index: 2000;
-}
-
-body.sidebar-collapsed .app-sidebar .nav-link:hover::after {
- opacity: 1;
- transform: translateY(-50%) translateX(5px);
-}
-
-/* Cache les flèches de sous-menu quand c'est réduit */
-body.sidebar-collapsed .nav-arrow {
- display: none !important;
-}
-
-/* Empêche les sous-menus de s'ouvrir verticalement en mode réduit */
-/* (Ils resteraient visibles mais écrasés sinon) */
-body.sidebar-collapsed .nav-submenu {
- display: none !important;
-}
-
-/* Centrage des icônes pour un aspect "Barre d'outils" propre */
-body.sidebar-collapsed .nav-item .nav-link {
- display: flex;
- justify-content: center;
- padding-left: 0;
- padding-right: 0;
-}
-
-.sidebar-nav {
- padding: 24px 0;
-}
-
-.nav-section {
- margin-bottom: 32px;
- padding: 0 20px;
-}
-
-.nav-title {
- color: rgba(255, 255, 255, 0.7);
- font-size: 12px;
- font-weight: 600;
- text-transform: uppercase;
- letter-spacing: 0.5px;
- margin-bottom: 12px;
- padding: 0 16px;
-}
-
-.nav-item {
- margin-bottom: 4px;
-}
-
-.nav-link {
- display: flex;
- align-items: center;
- color: rgba(255, 255, 255, 0.85);
- padding: 12px 16px;
- text-decoration: none;
- border-radius: 6px;
- transition: all 0.2s ease;
- position: relative;
- overflow: hidden;
-}
-
-.nav-link:hover {
- background-color: rgba(255, 255, 255, 0.1);
- color: white;
-}
-
-.nav-link.active {
- background-color: rgba(255, 255, 255, 0.15);
- color: white;
- font-weight: 500;
-}
-
-.nav-link i {
- width: 24px;
- font-size: 18px;
- margin-right: 12px;
- text-align: center;
-}
-
-.nav-text {
- flex: 1;
- font-size: 14px;
-}
-
-.nav-badge {
- background-color: var(--office-accent);
- color: white;
- font-size: 11px;
- padding: 2px 6px;
- border-radius: 10px;
- margin-left: 8px;
-}
-
-.nav-arrow {
- font-size: 12px;
- opacity: 0.7;
- transition: transform 0.2s ease;
-}
-
-.nav-link[aria-expanded="true"] .nav-arrow {
- transform: rotate(90deg);
- transition: transform 0.3s;
-}
-
-.nav-submenu {
- background-color: rgba(0, 0, 0, 0.1);
- border-radius: 6px;
- margin-top: 4px;
- padding: 8px 0;
-}
-
-.nav-submenu .nav-link {
- padding: 8px 16px 8px 52px;
- font-size: 13px;
-}
-
-.nav-submenu .nav-link::before {
- content: '•';
- position: absolute;
- left: 36px;
- opacity: 0.6;
-}
-
-/* ============================================
- MAIN CONTENT AREA
- ============================================ */
-.app-main {
- margin-left: var(--sidebar-width);
- padding-top: var(--header-height);
- min-height: 100vh;
- transition: margin-left var(--transition-speed) ease, width var(--transition-speed) ease;
- background-color: var(--office-light);
- width: calc(100% - var(--sidebar-width));
-}
-
-/* Quand le sidebar est réduit */
-body.sidebar-collapsed .app-main {
- margin-left: var(--sidebar-collapsed) !important;
- width: calc(100% - var(--sidebar-collapsed)) !important;
-}
-
-
-.toggle-sidebar-btn {
- font-size: 20px;
- padding-left: 10px;
- cursor: pointer;
-}
-
-.nav-bar.collapsed {
- left: var(--sidebar-collapsed) !important;
-}
-
-
-/* ============================================
- NAVIGATION TABS
- ============================================ */
-.nav-bar {
- background-color: white;
- border-radius: 8px;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
- border: 1px solid var(--office-border);
- position: fixed;
- top: var(--header-height); /* Directement sous le header */
- left: var(--sidebar-width); /* Commence après la sidebar */
- right: 0;
- z-index: 1000;
- height: 56px;
- display: flex;
- align-items: center;
- padding: 0;
- margin: 0;
- transition: left var(--transition-speed) ease;
-}
-
-/* Conteneur pour centrer le contenu */
-.nav-bar > .nav-tabs {
- width: 100%;
- max-width: var(--container-max);
- margin: 0 auto;
- padding: 0 var(--container-pad);
- height: 100%;
- display: flex;
- align-items: center;
- gap: 4px;
- overflow-x: auto;
-}
-
-.nav-tab {
- display: inline-flex;
- align-items: center;
- padding: 10px 18px;
- background-color: transparent;
- color: var(--office-dark);
- text-decoration: none;
- border-radius: 6px;
- font-size: 14px;
- font-weight: 500;
- white-space: nowrap;
- transition: all 0.2s ease;
- border: 1px solid transparent;
- height: 40px;
-}
-
-.nav-tab:hover {
- background-color: var(--office-hover);
- color: var(--office-secondary);
-}
-
-.nav-tab.active {
- background-color: var(--office-secondary);
- color: white;
- border-color: var(--office-secondary);
-}
-
-.nav-tab i {
- margin-right: 8px;
- font-size: 16px;
-}
-
-/* Style général de la scrollbar */
-.nav-bar > .nav-tabs::-webkit-scrollbar {
- height: 10px; /* épaisseur de la barre horizontale */
-}
-
-/* Couleur de la piste (fond de la scrollbar) */
-.nav-bar > .nav-tabs::-webkit-scrollbar-track {
- background: #f1f1f1;
- border-radius: 8px;
-}
-
-/* Couleur et style du curseur (thumb) */
-.nav-bar > .nav-tabs::-webkit-scrollbar-thumb {
- background: var(--office-common);
- border-radius: 8px;
-}
-
-/* Effet au survol */
-.nav-bar > .nav-tabs::-webkit-scrollbar-thumb:hover {
- background: #97999B;
-}
-
-/* Quand le body a la classe sidebar-collapsed */
-body.sidebar-collapsed .app-sidebar {
- width: var(--sidebar-collapsed) !important;
-}
-
-
-body.sidebar-collapsed .nav-bar {
- left: var(--sidebar-collapsed) !important;
-}
-
-/* Accessibilité et clickabilité du bouton */
-.toggle-sidebar-btn {
- cursor: pointer;
-}
-.toggle-sidebar-btn[role="button"] {
- outline: none;
-}
-
-/* Content card */
-.content-card {
- background: var(--office-card);
- border-radius: 8px;
- box-shadow: 0 2px 6px rgba(0,0,0,.05);
- margin-top: 8px; /* Ajout pour rapprocher visuellement la carte de la nav-bar */
-}
-
-.content-area {
- padding: calc(var(--header-height) + 56px) 24px 24px 24px; /* supprime le +8px */
- max-width: 1400px;
- margin: 24px auto !important;
-}
-
-
-/* Sidebar collapsée (tablette) */
-@media (max-width: 1200px) {
- .nav-bar { left: var(--sidebar-collapsed); }
- .content-area { padding-left: 24px; padding-right: 24px; }
-}
-
-
-.card-header {
- background-color: #fafafa;
- border-bottom: 1px solid var(--office-border);
- padding: 20px 24px;
- font-weight: 600;
- color: var(--office-dark);
- font-size: 18px;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.card-body {
- padding: 24px;
- background-color: var(--office-card);
-}
-
-
-/* ============================================
- HEADER CONTROLS
- ============================================ */
-.header-controls {
- display: flex;
- align-items: center;
- gap: 16px;
-}
-
-.header-btn {
- background: transparent;
- border: none;
- color: #313c4c;
- padding: 8px;
- border-radius: 4px;
- cursor: pointer;
- position: relative;
- transition: background-color 0.2s ease;
-}
-
-.header-btn:hover {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.notification-badge {
- position: absolute;
- top: 2px;
- right: 2px;
- background-color: var(--office-accent);
- color: white;
- font-size: 10px;
- font-weight: 600;
- width: 15px;
- height: 15px;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.user-menu {
- display: flex;
- align-items: center;
- gap: 12px;
- cursor: pointer;
- padding: 4px 12px;
- border-radius: 6px;
- transition: background-color 0.2s ease;
-}
-
-.user-menu:hover {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.user-avatar {
- width: 36px;
- height: 36px;
- border-radius: 50%;
- background: linear-gradient(135deg, var(--office-primary), #ff6b35);
- color: white;
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 600;
- font-size: 14px;
-}
-
-.user-info {
- display: flex;
- flex-direction: column;
-}
-
-.user-name {
- color: #313c4c;
- font-weight: 500;
- font-size: 14px;
-}
-
-.user-role {
- color: #313c4c;
- font-size: 12px;
-}
-
-/* ============================================
- CONTEXT PANEL
- ============================================ */
-.context-panel {
- position: fixed;
- right: -380px;
- top: var(--header-height);
- bottom: 0;
- width: 380px;
- background-color: white;
- box-shadow: -2px 0 12px rgba(0, 0, 0, 0.1);
- z-index: 1015;
- transition: right 0.3s ease;
- display: flex;
- flex-direction: column;
- border-left: 1px solid var(--office-border);
-}
-
-.context-panel.open {
- right: 0;
-}
-
-.context-header {
- background: linear-gradient(135deg, var(--office-primary), #ee6a49);
- color: white;
- padding: 20px 24px;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.context-title {
- font-size: 18px;
- font-weight: 600;
- display: flex;
- align-items: center;
- gap: 10px;
-}
-
-.context-close {
- background: transparent;
- border: none;
- color: white;
- font-size: 20px;
- cursor: pointer;
- padding: 4px;
- border-radius: 4px;
- transition: background-color 0.2s ease;
-}
-
-.context-close:hover {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.context-body {
- flex: 1;
- padding: 24px;
- overflow-y: auto;
- background-color: #d0d0d0 !important;
-}
-
-.context-section {
- margin-bottom: 28px;
-}
-
-.section-title {
- font-size: 14px;
- font-weight: 600;
- color: var(--office-secondary);
- margin-bottom: 12px;
- text-transform: uppercase;
- letter-spacing: 0.5px;
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.section-title i {
- font-size: 16px;
-}
-
-.info-box {
- background-color: #fafafa;
- border: 1px solid var(--office-border);
- border-radius: 6px;
- padding: 16px;
- margin-bottom: 12px;
-}
-
-.info-label {
- font-size: 12px;
- color: #666;
- margin-bottom: 4px;
-}
-
-.info-value {
- font-size: 15px;
- font-weight: 500;
- color: var(--office-dark);
- line-height: 1.4;
-}
-
-.action-btn {
- width: 100%;
- padding: 12px;
- background-color: white;
- border: 1px solid var(--office-border);
- border-radius: 6px;
- color: var(--office-dark);
- font-weight: 500;
- text-align: left;
- display: flex;
- align-items: center;
- gap: 10px;
- cursor: pointer;
- transition: all 0.2s ease;
- margin-bottom: 8px;
-}
-
-.action-btn:hover {
- background-color: var(--office-hover);
- border-color: var(--office-secondary);
- color: var(--office-secondary);
-}
-
-.action-btn i {
- width: 20px;
- text-align: center;
- font-size: 18px;
-}
-
-.photo-container {
- text-align: center;
- padding: 16px;
- background-color: #fafafa;
- border-radius: 8px;
- border: 1px solid var(--office-border);
-}
-
-.patient-photo {
- width: 150px;
- height: 150px;
- border-radius: 8px;
- object-fit: cover;
- border: 3px solid white;
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
- cursor: pointer;
- transition: transform 0.3s ease;
-}
-
-.patient-photo:hover {
- transform: scale(1.05);
-}
-
-/* ============================================
- CONTEXT TOGGLE BUTTON
- ============================================ */
-.context-toggle {
- position: fixed;
- right: 24px;
- bottom: 24px;
- width: 56px;
- height: 56px;
- border-radius: 50%;
- background: linear-gradient(135deg, var(--office-primary), #ff6b35);
- color: white;
- border: none;
- box-shadow: 0 4px 12px rgba(183, 71, 42, 0.3);
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 20px;
- z-index: 1010;
- transition: all 0.3s ease;
-}
-
-.context-toggle:hover {
- transform: translateY(-2px);
- box-shadow: 0 6px 16px rgba(183, 71, 42, 0.4);
-}
-
-/* ============================================
- TEST MODE INDICATOR
- ============================================ */
-.test-indicator {
- background: linear-gradient(45deg, #ffd700, #ffed4e);
- color: #8a6d3b;
- padding: 4px 12px;
- border-radius: 4px;
- font-size: 12px;
- font-weight: 600;
- display: inline-flex;
- align-items: center;
- gap: 6px;
- margin-left: 12px;
- animation: pulse 2s infinite;
-}
-
-@keyframes pulse {
- 0% { opacity: 1; }
- 50% { opacity: 0.7; }
- 100% { opacity: 1; }
-}
-
-/* ============================================
- LANGUAGE SELECTOR
- ============================================ */
-.language-selector {
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 6px 12px;
- background-color: rgba(255, 255, 255, 0.1);
- border-radius: 4px;
- cursor: pointer;
- transition: background-color 0.2s ease;
- color: #313c4c;
-}
-
-.language-selector:hover {
- background-color: rgba(255, 255, 255, 0.2);
-}
-
-.language-flag {
- width: 24px;
- height: 16px;
- object-fit: cover;
- border-radius: 2px;
-}
-
-/* ============================================
- MODAL CUSTOMIZATION
- ============================================ */
-.modal-office .modal-header {
- background: linear-gradient(135deg, var(--office-secondary), #1e4a8b);
- color: white;
- border-bottom: none;
-}
-
-.modal-office .modal-title {
- font-weight: 600;
-}
-
-/* Force le modal et son voile noir au-dessus de tout */
-.modal-office {
- z-index: 1060 !important;
-}
-
-/* Le backdrop (le fond noir) doit aussi être remonté */
-.modal-backdrop {
- z-index: 1055 !important;
-}
-
-.modal.show { z-index: 2000; }
-.modal-backdrop.show { z-index: 1999; }
-
-/* ============================================
- RESPONSIVE DESIGN
- ============================================ */
-@media (max-width: 1200px) {
- .app-sidebar {
- width: var(--sidebar-collapsed);
- }
- .app-main {
- margin-left: var(--sidebar-collapsed);
- }
-
- .nav-text,
- .nav-title,
- .nav-badge,
- .nav-arrow {
- display: none;
- }
-
- .nav-link {
- justify-content: center;
- padding: 16px;
- }
-
- .nav-link i {
- margin-right: 0;
- font-size: 20px;
- }
-
- .nav-submenu .nav-link {
- padding: 12px;
- justify-content: center;
- }
-
- .nav-submenu .nav-link::before {
- display: none;
- }
-
- .context-panel {
- width: 100%;
- right: -100%;
- }
-}
-/**/
-/* Mobile — UNE SEULE définition */
-@media (max-width: 768px) {
- .app-sidebar { transform: translateX(-100%); width: var(--sidebar-width); }
- .app-sidebar.show { transform: translateX(0); }
- .app-main { margin-left: 0; }
-
- .nav-bar { left: 0; border-radius: 0; top: var(--header-height); }
- .nav-bar > .nav-tabs { padding: 0 16px; }
-
- /* Garder +8px ici pour fermer l’écart (rouge) */
- .content-area { padding: calc(var(--header-height) + 56px + 8px) 16px 16px 16px; max-width: 100%; }
- .content-card { border-radius: 8px; margin: 8px 0 16px 0; /* 8px en haut, 16px en bas */ }
- .header-content { padding: 0 16px; }
- .user-info { display: none; }
-
- .accordion-header, .accordion-header i, .accordion-header span {
- font-size: 1.8rem !important;
- font-weight: bold !important;
- }
-
- .accordion-title {
- font-size: 0.9rem !important;
- }
-
- .financial-item {
- border-right: none !important;
- border-bottom: 1px solid var(--office-border);
- }
-
- .editor-paper {
- padding: 1rem !important;
- font-size: 9pt;
- }
-
- .chart-container {
- height: 60vh;
- }
-
- .card-header {
- flex-direction: column;
- align-items: flex-start !important;
- }
-
- .btn-export {
- margin-top: 0.5rem;
- align-self: flex-end;
- }
-}
-
-/* Écrans larges : mêmes insets pour nav-tabs et content-area */
-@media (min-width: 1400px) {
- .content-area {
- padding-left: calc((100vw - 1400px) / 2);
- padding-right: calc((100vw - 1400px) / 2);
- }
-}
-
-/* ============================================
- SCROLLBAR STYLING
- ============================================ */
-.app-sidebar::-webkit-scrollbar,
-.context-body::-webkit-scrollbar {
- width: 6px;
-}
-
-.app-sidebar::-webkit-scrollbar-track,
-.context-body::-webkit-scrollbar-track {
- background: rgba(255, 255, 255, 0.1);
- border-radius: 3px;
-}
-
-.app-sidebar::-webkit-scrollbar-thumb,
-.context-body::-webkit-scrollbar-thumb {
- background: rgba(255, 255, 255, 0.3);
- border-radius: 3px;
-}
-
-.app-sidebar::-webkit-scrollbar-thumb:hover,
-.context-body::-webkit-scrollbar-thumb:hover {
- background: rgba(255, 255, 255, 0.4);
-}
-
-/* ============================================
- STYLE DE SCROLLBAR POUR NAV-TABS
- ============================================ */
-.nav-tabs::-webkit-scrollbar {
- height: 4px;
-}
-
-.nav-tabs::-webkit-scrollbar-track {
- background: rgba(0, 0, 0, 0.05);
- border-radius: 2px;
-}
-
-.nav-tabs::-webkit-scrollbar-thumb {
- background: rgba(0, 0, 0, 0.2);
- border-radius: 2px;
-}
-
-.nav-tabs::-webkit-scrollbar-thumb:hover {
- background: rgba(0, 0, 0, 0.3);
-}
-
-/*Accueil*/
-.container { padding: 0 25px 25px 25px 25px; }
-h1 { margin-bottom: 20px; }
-.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
-.card {
- background: #fff;
- padding: 20px;
- border-radius: 8px;
- box-shadow: 0 2px 6px rgba(0,0,0,.05);
-}
-.card h3 { margin: 0 0 10px; font-size: 14px; color: #666; }
-.card .value { font-size: 1.0rem; font-weight: bold; }
-
-.grid-1{display:grid; grid-template-rows:auto; margin-top:25px;}
-.grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:20px; margin-top:25px; }
-
-
-ul { list-style:none; padding:0; margin:0; }
-li { padding:10px 0; border-bottom:1px solid #eee; }
-li i { margin-right:10px; color:#007bff; }
-
-.alert i { color:#ff9800; }
-
-.chart {
- height: 190px;
- background:#eef2f7;
- border-radius:6px;
- display:flex;
- align-items:center;
- justify-content:center;
- color:#888;
- font-style:italic;
- min-height: 315px;
-}
-
-/* Style pour les sous-détails dans les KPIs */
-.sub-values {
- margin-top: 10px;
- padding-top: 10px;
- border-top: 1px solid #eee; /* Fine séparation pour l'harmonie */
-}
-
-.sub-item {
- display: flex;
- justify-content: space-between;
- font-size: 12px; /* Plus petit pour ne pas voler la vedette au KPI principal */
- color: #666;
- line-height: 1.6;
-}
-
-.sub-item strong {
- color: #333;
-}
-
-.accordion-section {
- margin-bottom: 2px;
- border: 1px solid #ddd;
- border-radius: 5px;
- overflow: hidden;
-}
-
-.accordion-header {
- display: flex;
- align-items: center;
- padding: 12px 15px;
- background-color: #f1f5fc;
- cursor: pointer;
- font-weight: bold;
- font-size: 1.1rem;
- transition: background-color 0.3s;
- margin: 0;
-}
-
-.accordion-header:hover {
- background-color: #e9ecef;
-}
-
-.accordion-header.active {
- background-color: #e2e6ea;
-}
-
-.accordion-header i:first-child {
- margin-right: 10px;
- font-size: 1.2rem;
-}
-
-.accordion-title {
- flex-grow: 1;
-}
-
-.accordion-icon {
- margin-left: auto;
- transition: transform 0.3s ease;
-}
-
-.accordion-header.active .accordion-icon {
- transform: rotate(180deg);
-}
-
-.accordion-content {
- display: none;
- padding: 2px;
- background-color: #fff;
- border-top: 1px solid #ddd;
-}
-
-.tab-container {
- width: 100%;
- overflow: auto;
-}
-
-.table td.text-end, .table th.text-end {
- white-space: nowrap !important;
- min-width: 110px; /* Légèrement augmenté pour les gros montants */
- padding-left: 15px !important;
- padding-right: 15px !important; /* Ajout crucial pour l'équilibre visuel */
- font-family: 'Courier New', Courier, monospace; /* Optionnel: police mono pour aligner les décimales */
-}
-
-/* Global Container */
-#div_accueil,
-#div_police,
-#div_texte_cp,
-#div_emission,
-#div_colleges_police,
-#div_ajout_adherent,
-#div_avenant,
-#div_liste_adherent,
-#div_adherent,
-#div_liste {
- background-color: var(--office-light);
- color: var(--office-dark);
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
-}
-
-/* Card Styling */
-#div_accueil .card,
-#div_police .card,
-#div_texte_cp .card,
-#div_emission .card,
-#div_colleges_police .card,
-#div_ajout_adherent .card,
-#div_avenant .card,
-#div_liste_adherent .card,
-#div_adherent .card,
-#div_liste .card{
- border: 1px solid var(--office-border);
- border-radius: 2px; /* Office style is more rectangular */
-}
-
-#div_police .card-header,
-#div_texte_cp .card-header,
-#div_emission .card-header,
-#div_colleges_police .card-header,
-#div_ajout_adherent .card-header,
-#div_avenant .card-header,
-#div_liste_adherent .card-header
-#div_adherent .card-header,
-#div_adherent .card-header{
- border-bottom: 1px solid var(--office-border) !important;
- background-color: white;
- color: var(--office-dark);
- border-bottom: none;
-}
-
-/* Form Controls */
-.form-label {
- color: var(--office-primary);
- margin-bottom: 2px;
- font-size: 0.75rem;
-}
-
-.form-control {
- border-radius: 2px;
- border: 1px solid var(--office-border);
- font-size: 0.9rem;
- padding: 0.5rem 0.75rem;
-}
-
-.form-control[readonly] {
- background-color: var(--office-warm-bg);
- border-color: var(--office-common);
- box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
- color: #555;
- font-weight: 500;
-}
-
-/* Status Boxes (Custom) */
-.status-box {
- border: 1px solid var(--office-border);
- padding: 8px;
- text-align: center;
- background: white;
- display: flex;
- flex-direction: column;
- border-radius: 2px;
-}
-
-.status-box.active {
- background-color: var(--office-secondary);
- color: white;
- border-color: var(--office-secondary);
-}
-
-.status-box small {
- font-size: 0.65rem;
- text-transform: uppercase;
- display: block;
-}
-
-.status-box span {
- font-weight: bold;
- font-size: 1rem;
-}
-
-/* Financial Footer */
-.financial-item {
- transition: background 0.3s;
-}
-
-.financial-item:hover {
- background-color: var(--office-hover);
-}
-
-/* Buttons */
-.btn-primary {
- background-color: var(--office-primary);
- border-color: var(--office-primary);
-}
-
-.btn-secondary {
- background-color: var(--office-secondary);
- border-color: var(--office-secondary);
-}
-
-.btn-outline-office {
- color: var(--office-secondary);
- border-color: var(--office-secondary);
-}
-
-.btn-outline-office:hover {
- background-color: var(--office-secondary);
- color: white;
-}
-
-/* Tables */
-.custom-table thead th {
- background-color: var(--office-common);
- border-bottom: 2px solid var(--office-primary);
- color: var(--office-dark);
- font-weight: 600;
- font-size: 0.8rem;
- padding: 12px;
-}
-
-.custom-table tbody td {
- padding: 10px 12px;
- border-bottom: 1px solid var(--office-border);
-}
-
-/* Datepicker Specific */
-.datepicker {
- border-left: 3px solid var(--office-primary) !important;
- font-weight: bold;
-}
-
-/* Styles spécifiques à l'éditeur de texte CP */
-
-/* Effet "Feuille de papier" pour le textarea */
-.editor-paper {
- background-color: #ffffff !important;
- background-image:
- linear-gradient(#f1f1f1 1px, transparent 1px);
- background-size: 100% 2.5rem; /* Simule des lignes d'écriture si besoin */
- line-height: 2.5rem;
- padding: 2rem !important;
- border: 1px solid var(--office-border) !important;
- border-radius: 0;
- font-family: 'Consolas', 'Monaco', 'Courier New', monospace; /* Police technique et lisible */
- color: var(--office-dark);
- resize: vertical;
- transition: all 0.3s ease;
-}
-
-.editor-paper:focus {
- outline: none;
- box-shadow: 0 0 15px rgba(0,0,0,0.1) !important;
- border-color: var(--office-secondary) !important; /* Focus bleu Office */
-}
-
-/* Bouton Enregistrer - Style Bleu Office */
-#div_texte_cp .btn-secondary {
- background-color: var(--office-secondary) !important;
- border-color: var(--office-secondary) !important;
- border-radius: 2px;
- transition: transform 0.2s;
-}
-
-#div_texte_cp .btn-secondary:hover {
- background-color: #1e4275 !important;
- transform: translateY(-1px);
-}
-
-/* Conteneur de l'éditeur */
-.editor-container {
- background: white;
- border-radius: 2px;
- position: relative;
-}
-
-/* Style Table Quittance - Thème Office */
-
-.custom-quittance-table thead th {
- background-color: var(--office-primary) !important; /* Orange PowerPoint */
- color: white;
- font-size: 0.75rem;
- text-transform: uppercase;
- letter-spacing: 0.5px;
- border: none;
- padding: 12px 8px;
-}
-
-.custom-quittance-table tbody td {
- font-size: 0.85rem;
- border-bottom: 1px solid var(--office-border);
- padding: 10px 8px;
-}
-
-/* Alternance de couleurs subtile */
-.custom-quittance-table tbody tr:nth-child(even) {
- background-color: var(--office-primary-lighter);
-}
-
-/* Alignements spécifiques */
-.text-end { text-align: right !important; }
-.text-center { text-align: center !important; }
-
-/* Modal Styles */
-.bg-office-blue {
- background-color: var(--office-secondary) !important;
-}
-
-.btn-office-gray {
- background-color: var(--office-common);
- color: var(--office-dark);
- border: 1px solid var(--office-border);
-}
-
-/* Animation au chargement (nécessite Animate.css ou transition simple) */
-.animate__fadeIn {
- animation: fadeIn 0.5s ease-in;
-}
-
-@keyframes fadeIn {
- from { opacity: 0; transform: translateY(10px); }
- to { opacity: 1; transform: translateY(0); }
-}
-
-/* Boutons d'action dans le tableau */
-.custom-quittance-table .btn-group .btn {
- padding: 0.25rem 0.5rem;
- border-color: var(--office-border);
-}
-
-.custom-quittance-table .btn-group .btn:hover {
- background-color: var(--office-hover);
-}
-
-.custom-quittance-table .btn-link {
- color: var(--office-secondary);
-}
-
-/* Footer de table plus marqué */
-.custom-quittance-table tfoot {
- background-color: var(--office-light) !important;
- border-top: 2px solid var(--office-secondary);
-}
-
-/* Background spécifique pour la carte récapitulative TTC */
-.bg-office-primary-lighter {
- background-color: var(--office-primary-lighter);
-}
-
-/* Header bleu type Office */
-.bg-office-blue {
- background-color: var(--office-secondary) !important;
-}
-
-/* Style spécifique pour le footer de la table émission */
-.custom-quittance-table tfoot.table-dark {
- background-color: var(--office-dark) !important;
- border-top: 3px solid var(--office-primary);
-}
-
-@media print {
- .btn, .modal, .sr-only { display: none !important; }
- .card { border: 1px solid #ddd !important; box-shadow: none !important; }
-}
-
-/* Style Table Collèges - Vision Office 365 */
-
-.custom-college-table thead th {
- background-color: var(--office-common) !important;
- color: var(--office-dark) !important;
- font-size: 0.65rem;
- font-weight: 800;
- text-transform: uppercase;
- border-bottom: 2px solid var(--office-primary);
- vertical-align: middle;
- padding: 10px 5px;
-}
-
-.custom-college-table tbody td {
- font-size: 0.75rem; /* Compact pour tenir toutes les colonnes */
- white-space: nowrap;
- padding: 8px 5px;
-}
-
-/* Séparateurs verticaux pour groupes de données (Nb, HT, TTC) */
-.border-start {
- border-left: 1px solid var(--office-border) !important;
-}
-
-/* Style des boutons de montant (Action principale) */
-.custom-college-table .btn-primary {
- background-color: var(--office-secondary);
- border: none;
- font-size: 0.75rem;
-}
-
-.custom-college-table .btn-primary:hover {
- background-color: var(--office-primary);
- transform: scale(1.05);
-}
-
-/* Footer de table sombre type Excel Premium */
-.custom-college-table tfoot {
- border-top: 3px solid var(--office-primary);
- background-color: var(--office-dark) !important;
-}
-
-.custom-college-table tfoot td {
- padding: 12px 5px;
-}
-
-/* Badge de catégorie épuré */
-.badge.rounded-pill {
- font-weight: 600;
- padding: 5px 10px;
-}
-
-/* Style Recherche Individuelle */
-
-#div_familiale .form-select,
-#div_familiale .form-control {
- border: 1px solid var(--office-border);
- transition: all 0.2s ease;
- border-radius: 4px;
-}
-
-#div_familiale .form-select:focus,
-#div_familiale .form-control:focus {
- border-color: var(--office-secondary);
- box-shadow: 0 0 0 0.25rem rgba(43, 87, 154, 0.1);
-}
-
-/* Groupement d'input avec icônes */
-.input-group-text {
- border: 1px solid var(--office-border);
- color: #adb5bd;
-}
-
-/* Boutons personnalisés */
-#div_familiale .btn-primary {
- background-color: var(--office-secondary) !important;
- border: none;
- border-radius: 4px;
-}
-
-#div_familiale .btn-primary:hover {
- background-color: #1a3a6b !important;
- transform: translateY(-1px);
-}
-
-#div_familiale .btn-outline-secondary {
- color: var(--office-secondary);
- border-color: var(--office-secondary);
- border-radius: 4px;
-}
-
-#div_familiale .btn-outline-secondary:hover {
- background-color: var(--office-secondary);
- color: white;
-}
-
-/* Badge spécifique Primes non facturées */
-.badge.bg-warning {
- background-color: #fff3cd !important;
- color: #856404 !important;
- border: 1px solid #ffeeba !important;
- font-size: 0.9rem;
- padding: 8px 12px;
-}
-
-/* Style pour le sélecteur de date focus */
-.datepicker:focus {
- border-color: var(--office-secondary);
- background-color: #f8faff;
-}
-
-/* Animation de l'affichage de la prime */
-#div_prime:not(:empty) {
- border: 2px dashed var(--office-primary-lighter);
- padding: 15px;
- border-radius: 8px;
- background-color: white;
-}
-
-/* Styles communs pour tous les graphiques */
-.chart-container {
- position: relative;
- width: 100%;
- min-height: 300px;
-}
-
-.legend-text {
- vertical-align: middle;
-}
-
-.btn-export {
- padding: 0.25rem 0.5rem;
- font-size: 0.75rem;
-}
+.app-sidebar,body{overflow-x:hidden}.app-logo,.nav-link,.nav-tab{text-decoration:none}.custom-table thead th,body{background-color:var(--office-common)}.custom-quittance-table thead th,.nav-title,.section-title{letter-spacing:.5px;text-transform:uppercase}.app-header,.custom-quittance-table tfoot{background-color:var(--office-light)!important}.custom-college-table thead th,.nav-title,.section-title,.status-box small{text-transform:uppercase}:root{--office-primary:#b7472a;--office-secondary:#2b579a;--office-accent:#107c10;--office-light:#f3f2f1;--office-common:#e6e6e6;--office-dark:#323130;--office-border:#d0d0d0;--office-hover:#f0f0f0;--office-card:#ffffff;--sidebar-width:260px;--sidebar-collapsed:85px;--header-height:64px;--transition-speed:0.3s;--breakpoint-tablet:1200px;--breakpoint-mobile:768px;--office-primary-light:rgba(183, 71, 42, 0.08);--office-primary-lighter:rgba(183, 71, 42, 0.04);--office-primary-border:rgba(183, 71, 42, 0.15);--office-warm-bg:#fefcfb;--office-card-highlight:#fff9f8;--content-margin-left:calc(var(--sidebar-width) + 24px);--content-margin-right:24px;--container-max:1400px;--container-pad:24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI','Segoe UI Web (West European)',-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif;color:var(--office-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header{height:var(--header-height);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 10px rgba(0,0,0,.1);position:fixed;top:0;left:0;right:0;z-index:1030}.app-sidebar,.nav-bar{top:var(--header-height)}.user-menu.dropdown-toggle{display:flex;align-items:center;outline:0;box-shadow:none!important}.header-content,.user-menu{align-items:center;display:flex}.user-menu.dropdown-toggle::after,body.sidebar-collapsed .app-sidebar .nav-link .nav-text{display:none}#userDropdownBtn[aria-expanded=true] .user-arrow{transform:rotate(180deg);color:var(--bs-primary)}.dropdown-menu[data-bs-popper]{margin-top:15px!important}.header-content{justify-content:space-between;height:100%;padding:0 24px}#userDropdownBtn{gap:8px}.user-name{font-size:.85rem!important;margin-bottom:-2px}.user-role{font-size:1.15rem!important;opacity:.8}.user-avatar{width:32px!important;height:32px!important;display:flex;align-items:center;justify-content:center}.user-arrow{transition:transform .3s;color:#6c757d;font-size:.7rem;margin-left:4px!important}.dropdown-menu{z-index:2000!important;min-width:220px;border:1px solid rgba(0,0,0,.1);padding:.25rem 0}.dropdown-item{padding:.4rem 1rem;font-size:.85rem}.dropdown-header{padding:.5rem 1rem}.header-controls,.logo-container{display:flex;align-items:center;gap:16px}.app-logo{display:flex;align-items:center;color:#313c4c;font-weight:600;font-size:20px}.app-logo img{height:36px}.notification-btn i{font-size:15pt!important}#lienlogo img{width:50px;max-height:50px}.app-sidebar{width:var(--sidebar-width)!important;background:linear-gradient(180deg,var(--office-primary) 0,#a53e24 100%);position:fixed;left:0;bottom:0;z-index:1020;box-shadow:2px 0 8px rgba(0,0,0,.1);transition:width var(--transition-speed) ease;overflow-y:auto}.nav-link,body.sidebar-collapsed .app-sidebar .nav-link{position:relative}.app-sidebar::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.03) 0,transparent 20%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.03) 0,transparent 20%);pointer-events:none}.app-sidebar .nav-link .nav-text{display:inline;opacity:1;transition:opacity var(--transition-speed) ease}body.sidebar-collapsed .app-sidebar .nav-link:hover::after{content:attr(data-label);position:absolute;top:50%;left:100%;transform:translateY(-50%);background:rgba(0,0,0,.85);color:#fff;padding:6px 12px;border-radius:4px;white-space:nowrap;font-size:14px;margin-left:8px;box-shadow:0 2px 6px rgba(0,0,0,.2);opacity:0;transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease;z-index:2000;opacity:1;transform:translateY(-50%) translateX(5px)}body.sidebar-collapsed .nav-arrow,body.sidebar-collapsed .nav-submenu{display:none!important}body.sidebar-collapsed .nav-item .nav-link{display:flex;justify-content:center;padding-left:0;padding-right:0}.sidebar-nav{padding:24px 0}.nav-section{margin-bottom:32px;padding:0 20px}.nav-title{color:rgba(255,255,255,.7);font-size:12px;font-weight:600;margin-bottom:12px;padding:0 16px}.nav-item{margin-bottom:4px}.nav-link{display:flex;align-items:center;color:rgba(255,255,255,.85);padding:12px 16px;border-radius:6px;transition:.2s;overflow:hidden}.nav-link:hover{background-color:rgba(255,255,255,.1);color:#fff}.nav-link.active{background-color:rgba(255,255,255,.15);color:#fff;font-weight:500}.nav-link i{width:24px;font-size:18px;margin-right:12px;text-align:center}.nav-tab i,.section-title i{font-size:16px}.nav-text{flex:1;font-size:14px}.nav-bar,.nav-bar>.nav-tabs{align-items:center;display:flex}.nav-badge{background-color:var(--office-accent);color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;margin-left:8px}.nav-arrow{font-size:12px;opacity:.7;transition:transform .2s}.nav-link[aria-expanded=true] .nav-arrow{transform:rotate(90deg);transition:transform .3s}.nav-submenu{background-color:rgba(0,0,0,.1);border-radius:6px;margin-top:4px;padding:8px 0}.nav-submenu .nav-link{padding:8px 16px 8px 52px;font-size:13px}.nav-submenu .nav-link::before{content:'•';position:absolute;left:36px;opacity:.6}.app-main{margin-left:var(--sidebar-width);padding-top:var(--header-height);min-height:100vh;transition:margin-left var(--transition-speed) ease,width var(--transition-speed) ease;background-color:var(--office-light);width:calc(100% - var(--sidebar-width))}body.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed)!important;width:calc(100% - var(--sidebar-collapsed))!important}.toggle-sidebar-btn{font-size:20px;padding-left:10px;cursor:pointer}.nav-bar,ul{padding:0;margin:0}.nav-bar.collapsed,body.sidebar-collapsed .nav-bar{left:var(--sidebar-collapsed)!important}.nav-bar{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05);border:1px solid var(--office-border);position:fixed;left:var(--sidebar-width);right:0;z-index:1000;height:56px;transition:left var(--transition-speed) ease}.nav-bar>.nav-tabs{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);height:100%;gap:4px;overflow-x:auto}.card-header,.nav-tab{color:var(--office-dark);align-items:center}.nav-tab{display:inline-flex;padding:10px 18px;background-color:transparent;border-radius:6px;font-size:14px;font-weight:500;white-space:nowrap;transition:.2s;border:1px solid transparent;height:40px}.header-btn,.user-menu{transition:background-color .2s;cursor:pointer}.nav-tab:hover{background-color:var(--office-hover);color:var(--office-secondary)}.nav-tab.active,.status-box.active{background-color:var(--office-secondary);color:#fff;border-color:var(--office-secondary)}.nav-tab i{margin-right:8px}.nav-bar>.nav-tabs::-webkit-scrollbar{height:10px}.nav-bar>.nav-tabs::-webkit-scrollbar-track{background:#f1f1f1;border-radius:8px}.nav-bar>.nav-tabs::-webkit-scrollbar-thumb{background:var(--office-common);border-radius:8px}.nav-bar>.nav-tabs::-webkit-scrollbar-thumb:hover{background:#97999b}body.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed)!important}.toggle-sidebar-btn[role=button]{outline:0}.content-card{background:var(--office-card);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.05);margin-top:8px}.content-area{padding:calc(var(--header-height) + 56px) 24px 24px 24px;max-width:1400px;margin:24px auto!important}.card-header{background-color:#fafafa;border-bottom:1px solid var(--office-border);padding:20px 24px;font-weight:600;font-size:18px;display:flex;justify-content:space-between}.notification-badge,.user-menu{display:flex;align-items:center}.card-body{padding:24px;background-color:var(--office-card)}.header-btn{background:0 0;border:none;color:#313c4c;padding:8px;border-radius:4px;position:relative}.context-close:hover,.header-btn:hover,.user-menu:hover{background-color:rgba(255,255,255,.1)}.notification-badge{position:absolute;top:2px;right:2px;background-color:var(--office-accent);color:#fff;font-size:10px;font-weight:600;width:15px;height:15px;border-radius:50%;justify-content:center}.user-menu{gap:12px;padding:4px 12px;border-radius:6px}.context-header,.user-avatar{align-items:center;display:flex}.user-avatar{border-radius:50%;background:linear-gradient(135deg,var(--office-primary),#ff6b35);color:#fff;justify-content:center;font-weight:600;font-size:14px}.user-name,.user-role{color:#313c4c}.user-info{display:flex;flex-direction:column}.user-name{font-weight:500}.context-panel{position:fixed;right:-380px;top:var(--header-height);bottom:0;width:380px;background-color:#fff;box-shadow:-2px 0 12px rgba(0,0,0,.1);z-index:1015;transition:right .3s;display:flex;flex-direction:column;border-left:1px solid var(--office-border)}.context-panel.open{right:0}.context-header{background:linear-gradient(135deg,var(--office-primary),#ee6a49);color:#fff;padding:20px 24px;justify-content:space-between}.context-title{font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.context-close{background:0 0;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.context-body{flex:1;padding:24px;overflow-y:auto;background-color:#d0d0d0!important}.action-btn,.section-title{align-items:center;display:flex}.context-section{margin-bottom:28px}.section-title{font-size:14px;font-weight:600;color:var(--office-secondary);margin-bottom:12px;gap:8px}.info-box{background-color:#fafafa;border:1px solid var(--office-border);border-radius:6px;padding:16px;margin-bottom:12px}.info-label{font-size:12px;color:#666;margin-bottom:4px}.info-value{font-size:15px;font-weight:500;color:var(--office-dark);line-height:1.4}.action-btn{width:100%;padding:12px;background-color:#fff;border:1px solid var(--office-border);border-radius:6px;color:var(--office-dark);font-weight:500;text-align:left;gap:10px;cursor:pointer;transition:.2s;margin-bottom:8px}.modal-office .modal-title,.test-indicator{font-weight:600}.action-btn:hover{background-color:var(--office-hover);border-color:var(--office-secondary);color:var(--office-secondary)}.action-btn i{width:20px;text-align:center;font-size:18px}.photo-container{text-align:center;padding:16px;background-color:#fafafa;border-radius:8px;border:1px solid var(--office-border)}.patient-photo{width:150px;height:150px;border-radius:8px;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 8px rgba(0,0,0,.1);cursor:pointer;transition:transform .3s}.patient-photo:hover{transform:scale(1.05)}.context-toggle{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--office-primary),#ff6b35);color:#fff;border:none;box-shadow:0 4px 12px rgba(183,71,42,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;z-index:1010;transition:.3s}.context-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(183,71,42,.4)}.test-indicator{background:linear-gradient(45deg,gold,#ffed4e);color:#8a6d3b;padding:4px 12px;border-radius:4px;font-size:12px;display:inline-flex;align-items:center;gap:6px;margin-left:12px;animation:2s infinite pulse}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}.language-selector{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:background-color .2s;color:#313c4c}.language-selector:hover{background-color:rgba(255,255,255,.2)}.language-flag{width:24px;height:16px;object-fit:cover;border-radius:2px}.modal-office .modal-header{background:linear-gradient(135deg,var(--office-secondary),#1e4a8b);color:#fff;border-bottom:none}.modal-office{z-index:1060!important}.modal-backdrop{z-index:1055!important}.modal.show{z-index:2000}.modal-backdrop.show{z-index:1999}@media (max-width:1200px){.nav-bar{left:var(--sidebar-collapsed)}.content-area{padding-left:24px;padding-right:24px}.app-sidebar{width:var(--sidebar-collapsed)}.app-main{margin-left:var(--sidebar-collapsed)}.nav-arrow,.nav-badge,.nav-submenu .nav-link::before,.nav-text,.nav-title{display:none}.nav-link{justify-content:center;padding:16px}.nav-link i{margin-right:0;font-size:20px}.nav-submenu .nav-link{padding:12px;justify-content:center}.context-panel{width:100%;right:-100%}}@media (max-width:768px){.app-sidebar{transform:translateX(-100%);width:var(--sidebar-width)}.app-sidebar.show{transform:translateX(0)}.app-main{margin-left:0}.nav-bar{left:0;border-radius:0;top:var(--header-height)}.header-content,.nav-bar>.nav-tabs{padding:0 16px}.content-area{padding:calc(var(--header-height) + 56px + 8px) 16px 16px 16px;max-width:100%}.content-card{border-radius:8px;margin:8px 0 16px}.user-info{display:none}.accordion-header,.accordion-header i,.accordion-header span{font-size:1.8rem!important;font-weight:700!important}.accordion-title{font-size:.9rem!important}.financial-item{border-right:none!important;border-bottom:1px solid var(--office-border)}.editor-paper{padding:1rem!important;font-size:9pt}.chart-container{height:60vh}.card-header{flex-direction:column;align-items:flex-start!important}.btn-export{margin-top:.5rem;align-self:flex-end}}.grid-1,.grid-2{display:grid;margin-top:25px}@media (min-width:1400px){.content-area{padding-left:calc((100vw - 1400px)/ 2);padding-right:calc((100vw - 1400px)/ 2)}}.app-sidebar::-webkit-scrollbar,.context-body::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-track,.context-body::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:3px}.app-sidebar::-webkit-scrollbar-thumb,.context-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:3px}.app-sidebar::-webkit-scrollbar-thumb:hover,.context-body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.4)}.nav-tabs::-webkit-scrollbar{height:4px}.nav-tabs::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:2px}.nav-tabs::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}.nav-tabs::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.container{padding:0 25px 25px}h1{margin-bottom:20px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.05)}.card h3{margin:0 0 10px;font-size:14px;color:#666}.card .value{font-size:1rem;font-weight:700}.grid-1{grid-template-rows:auto}.grid-2{grid-template-columns:1fr 1fr;gap:20px}ul{list-style:none}li{padding:10px 0;border-bottom:1px solid #eee}li i{margin-right:10px;color:#007bff}.alert i{color:#ff9800}.chart{height:190px;background:#eef2f7;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#888;font-style:italic;min-height:315px}.sub-values{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.sub-item{display:flex;justify-content:space-between;font-size:12px;color:#666;line-height:1.6}.sub-item strong{color:#333}.accordion-section{margin-bottom:2px;border:1px solid #ddd;border-radius:5px;overflow:hidden}.accordion-header{display:flex;align-items:center;padding:12px 15px;background-color:#f1f5fc;cursor:pointer;font-weight:700;font-size:1.1rem;transition:background-color .3s;margin:0}.accordion-header:hover{background-color:#e9ecef}.accordion-header.active{background-color:#e2e6ea}.accordion-header i:first-child{margin-right:10px;font-size:1.2rem}.accordion-title{flex-grow:1}.accordion-icon{margin-left:auto;transition:transform .3s}.accordion-header.active .accordion-icon{transform:rotate(180deg)}.accordion-content{display:none;padding:2px;background-color:#fff;border-top:1px solid #ddd}.tab-container{width:100%;overflow:auto}.table td.text-end,.table th.text-end{white-space:nowrap!important;min-width:110px;padding-left:15px!important;padding-right:15px!important;font-family:'Courier New',Courier,monospace}#div_accueil,#div_adherent,#div_ajout_adherent,#div_avenant,#div_colleges_police,#div_emission,#div_liste,#div_liste_adherent,#div_police,#div_texte_cp{background-color:var(--office-light);color:var(--office-dark);font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}#div_accueil .card,#div_adherent .card,#div_ajout_adherent .card,#div_avenant .card,#div_colleges_police .card,#div_emission .card,#div_liste .card,#div_liste_adherent .card,#div_police .card,#div_texte_cp .card{border:1px solid var(--office-border);border-radius:2px}#div_adherent .card-header,#div_ajout_adherent .card-header,#div_avenant .card-header,#div_colleges_police .card-header,#div_emission .card-header,#div_liste_adherent .card-header #div_adherent .card-header,#div_police .card-header,#div_texte_cp .card-header{border-bottom:1px solid var(--office-border)!important;background-color:#fff;color:var(--office-dark);border-bottom:none}.form-label{color:var(--office-primary);margin-bottom:2px;font-size:.75rem}.form-control{border-radius:2px;border:1px solid var(--office-border);font-size:.9rem;padding:.5rem .75rem}.form-control[readonly]{background-color:var(--office-warm-bg);border-color:var(--office-common);box-shadow:inset 0 1px 2px rgba(0,0,0,.02);color:#555;font-weight:500}.status-box{border:1px solid var(--office-border);padding:8px;text-align:center;background:#fff;display:flex;flex-direction:column;border-radius:2px}.status-box small{font-size:.65rem;display:block}.status-box span{font-weight:700;font-size:1rem}.financial-item{transition:background .3s}.custom-quittance-table .btn-group .btn:hover,.financial-item:hover{background-color:var(--office-hover)}.btn-primary{background-color:var(--office-primary);border-color:var(--office-primary)}.btn-secondary,.custom-college-table .btn-primary{background-color:var(--office-secondary)}.btn-outline-office,.btn-secondary{border-color:var(--office-secondary)}.btn-outline-office{color:var(--office-secondary)}#div_familiale .btn-outline-secondary:hover,.btn-outline-office:hover{background-color:var(--office-secondary);color:#fff}.custom-table thead th{border-bottom:2px solid var(--office-primary);color:var(--office-dark);font-weight:600;font-size:.8rem;padding:12px}.custom-table tbody td{padding:10px 12px;border-bottom:1px solid var(--office-border)}.datepicker{border-left:3px solid var(--office-primary)!important;font-weight:700}.editor-paper{background-color:#fff!important;background-image:linear-gradient(#f1f1f1 1px,transparent 1px);background-size:100% 2.5rem;line-height:2.5rem;padding:2rem!important;border:1px solid var(--office-border)!important;border-radius:0;font-family:Consolas,Monaco,'Courier New',monospace;color:var(--office-dark);resize:vertical;transition:.3s}.editor-paper:focus{outline:0;box-shadow:0 0 15px rgba(0,0,0,.1)!important;border-color:var(--office-secondary)!important}#div_texte_cp .btn-secondary{background-color:var(--office-secondary)!important;border-color:var(--office-secondary)!important;border-radius:2px;transition:transform .2s}#div_texte_cp .btn-secondary:hover{background-color:#1e4275!important;transform:translateY(-1px)}.editor-container{background:#fff;border-radius:2px;position:relative}.custom-quittance-table thead th{background-color:var(--office-primary)!important;color:#fff;font-size:.75rem;border:none;padding:12px 8px}.custom-quittance-table tbody td{font-size:.85rem;border-bottom:1px solid var(--office-border);padding:10px 8px}.bg-office-primary-lighter,.custom-quittance-table tbody tr:nth-child(2n){background-color:var(--office-primary-lighter)}.text-end{text-align:right!important}.text-center{text-align:center!important}.btn-office-gray{background-color:var(--office-common);color:var(--office-dark);border:1px solid var(--office-border)}#div_familiale .btn-primary,.bg-office-blue{background-color:var(--office-secondary)!important}.animate__fadeIn{animation:.5s ease-in fadeIn}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.custom-quittance-table .btn-group .btn{padding:.25rem .5rem;border-color:var(--office-border)}.custom-quittance-table .btn-link{color:var(--office-secondary)}.custom-quittance-table tfoot{border-top:2px solid var(--office-secondary)}.custom-college-table tfoot,.custom-quittance-table tfoot.table-dark{border-top:3px solid var(--office-primary);background-color:var(--office-dark)!important}@media print{.btn,.modal,.sr-only{display:none!important}.card{border:1px solid #ddd!important;box-shadow:none!important}}.custom-college-table thead th{background-color:var(--office-common)!important;color:var(--office-dark)!important;font-size:.65rem;font-weight:800;border-bottom:2px solid var(--office-primary);vertical-align:middle;padding:10px 5px}.custom-college-table tbody td{font-size:.75rem;white-space:nowrap;padding:8px 5px}.border-start{border-left:1px solid var(--office-border)!important}.custom-college-table .btn-primary{border:none;font-size:.75rem}.custom-college-table .btn-primary:hover{background-color:var(--office-primary);transform:scale(1.05)}.custom-college-table tfoot td{padding:12px 5px}.badge.rounded-pill{font-weight:600;padding:5px 10px}#div_familiale .form-control,#div_familiale .form-select{border:1px solid var(--office-border);transition:.2s;border-radius:4px}#div_familiale .form-control:focus,#div_familiale .form-select:focus{border-color:var(--office-secondary);box-shadow:0 0 0 .25rem rgba(43,87,154,.1)}.input-group-text{border:1px solid var(--office-border);color:#adb5bd}#div_familiale .btn-primary{border:none;border-radius:4px}#div_familiale .btn-primary:hover{background-color:#1a3a6b!important;transform:translateY(-1px)}#div_familiale .btn-outline-secondary{color:var(--office-secondary);border-color:var(--office-secondary);border-radius:4px}.badge.bg-warning{background-color:#fff3cd!important;color:#856404!important;border:1px solid #ffeeba!important;font-size:.9rem;padding:8px 12px}.datepicker:focus{border-color:var(--office-secondary);background-color:#f8faff}#div_prime:not(:empty){border:2px dashed var(--office-primary-lighter);padding:15px;border-radius:8px;background-color:#fff}.chart-container{position:relative;width:100%;min-height:300px}.legend-text{vertical-align:middle}.btn-export{padding:.25rem .5rem;font-size:.75rem}
\ No newline at end of file
diff --git a/Vue/gabarit.php b/Vue/gabarit.php
index 46792c1..fe36513 100755
--- a/Vue/gabarit.php
+++ b/Vue/gabarit.php
@@ -126,7 +126,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
-
+