/* --- BASE --- */ :root { --primary: #2C3E50; --accent: #08C5D1; --bg-body: #F4F7FB; } body { background: var(--bg-body); color: #444; } /* --- HEADER FLOATING --- */ #header { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); margin: 10px 15px; width: calc(100% - 30px); border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.04); } /* --- LE "WAHOO" : MAIN CARD --- */ #main { margin: 95px 20px 20px 320px; /* Espace pour la sidebar */ background: white; border-radius: 20px; min-height: 80vh; padding: 30px; border: 1px solid #edf2f7; /* On évite les ombres lourdes, on mise sur la netteté */ } /* --- SIDEBAR : UNITÉ VISUELLE --- */ #sidebar { background: var(--primary); border-right: none; margin: 10px 0 10px 15px; height: calc(100vh - 20px); border-radius: 15px; } /* --- CONTEXTE (Sidenav) --- */ .sidenav-context { position: fixed; right: -340px; top: 10px; height: calc(100vh - 20px); width: 320px; background: white; border-radius: 20px 0 0 20px; box-shadow: -10px 0 40px rgba(0,0,0,0.05); z-index: 1060; transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); padding: 25px; } .sidenav-context.active { right: 0; } /* --- WIDGETS DE DONNÉES --- */ .context-label { font-size: 0.65rem; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1px; } .context-value-box { padding: 12px; background: #f8fafc; border-radius: 10px; border: 1px solid #eef2f7; display: flex; align-items: center; } .assured-card { cursor: pointer; transition: 0.3s; padding: 10px; border-radius: 12px; } .assured-card:hover { background: #f0f9fa; transform: translateY(-2px); } /* Avatar initials */ .initials-circle { width: 40px; height: 40px; background: var(--accent); color: white; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-weight: bold; } /* --- SIDEBAR STRUCTURE --- */ .sidebar { position: fixed; top: 20px; left: 20px; bottom: 20px; width: 260px; z-index: 996; transition: all 0.3s; padding: 20px; overflow-y: auto; background: #1e293b; /* Bleu Nuit */ border-radius: 20px; } .sidebar-nav .nav-link { display: flex; align-items: center; font-size: 0.9rem; font-weight: 500; color: rgba(255,255,255,0.7); padding: 12px 15px; border-radius: 12px; margin-bottom: 5px; } .sidebar-nav .nav-link.active, .sidebar-nav .nav-link:hover { background: rgba(8, 197, 209, 0.15); color: #08C5D1; } /* --- MAIN TOOLBAR --- */ .main-nav-toolbar { background: white; padding: 15px 25px; border-radius: 15px; border: 1px solid #edf2f7; margin-top: -10px; /* Aligné avec le haut du main */ } .nav-pill-item { padding: 8px 16px; border-radius: 10px; text-decoration: none; color: #64748b; font-size: 0.85rem; font-weight: 600; transition: 0.2s; } .nav-pill-item.active { background: #08C5D1; color: white !important; } /* --- FIX DES SUPERPOSITIONS --- */ #main { margin-left: 300px !important; /* Sidebar (260) + Marge (40) */ transition: all 0.3s; } @media (max-width: 1199px) { #main { margin-left: 20px !important; } } /* --- MODALS PREMIUM --- */ .bg-light-primary { background-color: #f0f7ff; } .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); } .min-h-200 { min-height: 200px; } .photo-frame img { border: 5px solid white; border-radius: 20px; max-width: 100%; } /* --- BOUTON CONTEXTE DANS LE HEADER --- */ .btn-context-trigger { background: #f1f5f9; border: none; color: var(--primary); font-weight: 700; padding: 8px 16px; border-radius: 10px; transition: all 0.2s; } .btn-context-trigger:hover { background: #e2e8f0; transform: translateY(-1px); } /* Pulse effect pour le mode Test */ .pulse { display: inline-block; width: 8px; height: 8px; background: #ef4444; border-radius: 50%; margin-right: 8px; box-shadow: 0 0 0 rgba(239, 68, 68, 0.4); animation: pulse-animation 2s infinite; } @keyframes pulse-animation { 0% { box-shadow: 0 0 0 0px rgba(239, 68, 68, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); } 100% { box-shadow: 0 0 0 0px rgba(239, 68, 68, 0); } }