/* === Print === */ @media print { nav, .btn, .sidebar, .form-select, .form-control { display: none !important; } body { font-size: 12pt; color: black; } table { border-collapse: collapse; } } @media (max-width: 768px) { main { margin-left: 0; } } /* === Body & Container === */ body { background-color: #e4dccc; background-attachment: fixed; } .dashboard-container { background-color: #ffffff; box-shadow: 0 0 10px rgba(0,0,0,0.05); border-radius: 8px; padding: 20px; margin: 30px auto; max-width: 1200px; } .sidebar { position: fixed; width: 220px; } main { margin-left: 220px; } /* === Sidebar === */ .sidebar { background: linear-gradient(180deg, #b35400, #993d00); /* dégradé orange foncé */ color: white; min-height: 100vh; /* prend toute la hauteur */ top: 0; z-index: 1000; overflow-y: auto; padding: 1rem; } .sidebar .nav-link { color: white; font-weight: 700; } .sidebar .nav-link:hover { background-color: rgba(255, 255, 255, 0.1); border-radius: 5px; color: white; } .sidebar .dropdown-menu { display: none; position: relative; left: 10px; top: -5px; border: none; padding-left: 1rem; box-shadow: none; } .sidebar .dropdown:hover .dropdown-menu { display: block; } .sidebar a { color: white; } .sidebar a:hover { color: white; } /* === Navbar / Logo / Profil === */ .logo { max-width: 80px; } .img-profil { width: 80px !important; height: 80px !important; object-fit: cover; border-radius: 50%; } /* === Cards === */ .card { border: 1px solid #dee2e6; box-shadow: 0 2px 4px rgba(0,0,0,0.05); border-radius: 8px; transition: transform 0.3s ease; } .card:hover { transform: scale(1.02); } .card-header { background-color: #f8f9fa; font-weight: bold !important; color: black !important; font-size: 1rem; border-bottom: none; } .card-body h5 { color: black !important; font-weight: bold; font-size: 2.2rem; } /* === Stat cards === */ .stat-card { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(113, 11, 11, 0.1); } /* === Employé / Projet details === */ .employe-detail { background-color: #f9f9f9; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); } .employe-detail .card-title { font-size: 1.8rem; margin-bottom: 0.5rem; } .employe-detail p { margin-bottom: 0.4rem; font-size: 1rem; } .employe-detail a.btn { font-weight: 500; } .employe-card, .projet-card { background-color: #fff; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); padding: 2.5rem; max-width: 1400px; margin: 0 auto; font-size: 1.1rem; } /* === Forms === */ .form-wrapper { max-width: 1000px; margin: auto; background-color: rgba(255, 255, 255, 0.95); } form label { font-weight: 600; margin-top: 1rem; display: block; } form input, form select, form textarea { width: 100%; padding: 0.5rem; margin-top: 0.3rem; border-radius: 5px; border: 1px solid #ccc; } /* === Formation badges === */ .formation-badge { position: relative; display: inline-block; } .formation-actions { position: absolute; top: -5px; right: -5px; display: none; } .formation-badge:hover .formation-actions { display: inline-block; } .formation-actions button { background: none; border: none; color: #fff; margin-left: 5px; font-size: 0.9rem; } /* === Context menu === */ #contextMenu { width: 150px; } /* === Transitions / Animations === */ .fade-out { opacity: 0; transition: opacity 0.5s ease; } #main-content { transition: opacity 0.3s ease; } .login-box { background: linear-gradient(to right, #f5f7fa, #c3cfe2); border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.3); width: 100%; max-width: 400px; } /* === Responsive === */ @media (max-width: 576px) { .modal-dialog { max-width: 100%; margin: 0; height: 100%; } .modal-content { height: 100%; border-radius: 0; } .modal-body { overflow-y: auto; } .modal-footer button { width: 100%; } .img-profil { width: 50px; height: 50px; } .sidebar { width: 100%; padding: 0.5rem 1rem; } .sidebar .nav-link { font-size: 0.9rem; padding: 0.5rem 1rem; } }