1027 lines
22 KiB
CSS
1027 lines
22 KiB
CSS
/* Suite Consultance - Style principal */
|
|
|
|
:root {
|
|
/* Couleurs de base */
|
|
--primary-color: #007bff;
|
|
--primary-hover: #0069d9;
|
|
--secondary-color: #6c757d;
|
|
--success-color: #28a745;
|
|
--info-color: #17a2b8;
|
|
--warning-color: #ffc107;
|
|
--danger-color: #dc3545;
|
|
--light-color: #f8f9fa;
|
|
--dark-color: #343a40;
|
|
--body-bg: #f8f9fa;
|
|
--card-bg: #ffffff;
|
|
--text-color: #212529;
|
|
--border-color: #dee2e6;
|
|
|
|
/* Couleurs spécifiques pour chaque module */
|
|
--crm-color: #6a4c93;
|
|
--crm-hover: #593c80;
|
|
--crm-light: #d0bdf4;
|
|
|
|
--propositions-color: #1a936f;
|
|
--propositions-hover: #127a5c;
|
|
--propositions-light: #88d498;
|
|
|
|
--devis-color: #e76f51;
|
|
--devis-hover: #d65f41;
|
|
--devis-light: #f4a261;
|
|
|
|
--project-color: #ce476d;
|
|
--project-hover: #b3375a;
|
|
--project-light: #f087a1;
|
|
|
|
--task-color: #007bff;
|
|
--task-hover: #0062cc;
|
|
--task-light: #66afe9;
|
|
|
|
--email-color: #a79228;
|
|
--email-hover: #8a7a1f;
|
|
--email-light: #f4d03f;
|
|
|
|
/* Couleurs des boutons standard */
|
|
--btn-text-color: #fff;
|
|
--btn-text-hover: #fff;
|
|
}
|
|
|
|
/* Mode sombre */
|
|
body.dark-mode {
|
|
--primary-color: #0d6efd;
|
|
--primary-hover: #0b5ed7;
|
|
--secondary-color: #6c757d;
|
|
--body-bg: #121212;
|
|
--card-bg: #1e1e1e;
|
|
--text-color: #f8f9fa;
|
|
--border-color: #495057;
|
|
--light-color: #2c2c2c; /* Redéfinition pour le mode sombre */
|
|
--success-color: #198754;
|
|
--info-color: #0dcaf0;
|
|
--warning-color: #ffc107;
|
|
--danger-color: #dc3545;
|
|
|
|
/* Couleurs des modules en mode sombre */
|
|
--crm-color: #8e72b4;
|
|
--crm-hover: #7c5fa3;
|
|
--crm-light: #6a4c93;
|
|
|
|
--propositions-color: #3cb991;
|
|
--propositions-hover: #2ca57d;
|
|
--propositions-light: #1a936f;
|
|
|
|
--devis-color: #f4845f;
|
|
--devis-hover: #e76f51;
|
|
--devis-light: #d65f41;
|
|
}
|
|
|
|
body {
|
|
background-color: var(--body-bg);
|
|
color: var(--text-color);
|
|
transition: background-color 0.5s ease, color 0.5s ease;
|
|
}
|
|
|
|
/* Transition fluide pour tous les éléments */
|
|
*, *::before, *::after {
|
|
transition: background-color 0.5s ease, border-color 0.5s ease, color 0.3s ease, box-shadow 0.3s ease;
|
|
}
|
|
|
|
/* Mais pas pour les animations et transformations */
|
|
.fade-in, .fade-out,
|
|
[class*="animation-"],
|
|
[class*="transition-"],
|
|
.modal.fade,
|
|
.collapsing,
|
|
.carousel-item {
|
|
transition: none;
|
|
}
|
|
|
|
.dark-mode .navbar {
|
|
background-color: #343a40 !important;
|
|
}
|
|
|
|
.dark-mode .card {
|
|
background-color: var(--card-bg);
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode .table {
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .footer {
|
|
background-color: #343a40 !important;
|
|
}
|
|
|
|
.dark-mode .text-muted {
|
|
color: #adb5bd !important;
|
|
}
|
|
|
|
.dark-mode .form-control,
|
|
.dark-mode .form-select {
|
|
background-color: #2c2c2c;
|
|
border-color: var(--border-color);
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .input-group-text {
|
|
background-color: #2c2c2c;
|
|
border-color: var(--border-color);
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .btn-outline-secondary {
|
|
color: #adb5bd;
|
|
border-color: #adb5bd;
|
|
}
|
|
|
|
.dark-mode .modal-content {
|
|
background-color: var(--card-bg);
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .list-group-item {
|
|
background-color: var(--card-bg);
|
|
color: var(--text-color);
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode a {
|
|
color: #6ea8fe;
|
|
}
|
|
|
|
.dark-mode a:hover {
|
|
color: #9ec5fe;
|
|
}
|
|
|
|
.dark-mode .navbar-dark .navbar-nav .nav-link {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.dark-mode .navbar-dark .navbar-nav .nav-link:hover,
|
|
.dark-mode .navbar-dark .navbar-nav .nav-link:focus {
|
|
color: rgba(255, 255, 255, 0.9) !important;
|
|
}
|
|
|
|
.dark-mode .navbar-dark .navbar-nav .nav-link.active {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
/* Styles supplémentaires pour le mode sombre */
|
|
.dark-mode .bg-light {
|
|
background-color: #2c2c2c !important;
|
|
}
|
|
|
|
.dark-mode .border {
|
|
border-color: var(--border-color) !important;
|
|
}
|
|
|
|
.dark-mode .alert {
|
|
background-color: #2c2c2c;
|
|
color: var(--text-color);
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode .alert-success {
|
|
background-color: rgba(25, 135, 84, 0.2);
|
|
color: #75b798;
|
|
border-color: #198754;
|
|
}
|
|
|
|
.dark-mode .alert-danger {
|
|
background-color: rgba(220, 53, 69, 0.2);
|
|
color: #ea868f;
|
|
border-color: #dc3545;
|
|
}
|
|
|
|
.dark-mode .alert-warning {
|
|
background-color: rgba(255, 193, 7, 0.2);
|
|
color: #ffda6a;
|
|
border-color: #ffc107;
|
|
}
|
|
|
|
.dark-mode .alert-info {
|
|
background-color: rgba(13, 202, 240, 0.2);
|
|
color: #6edff6;
|
|
border-color: #0dcaf0;
|
|
}
|
|
|
|
.dark-mode .dropdown-menu {
|
|
background-color: #2c2c2c;
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode .dropdown-item {
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .dropdown-item:hover {
|
|
background-color: #3e3e3e;
|
|
color: var(--text-color);
|
|
}
|
|
|
|
/* Styles des dropdowns par module */
|
|
body[data-module="crm"] .dropdown-item:hover {
|
|
background-color: rgba(106, 76, 147, 0.1);
|
|
}
|
|
|
|
body[data-module="propositions"] .dropdown-item:hover {
|
|
background-color: rgba(26, 147, 111, 0.1);
|
|
}
|
|
|
|
body[data-module="devis"] .dropdown-item:hover {
|
|
background-color: rgba(231, 111, 81, 0.1);
|
|
}
|
|
|
|
.dark-mode[data-module="crm"] .dropdown-item:hover {
|
|
background-color: rgba(208, 189, 244, 0.1);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .dropdown-item:hover {
|
|
background-color: rgba(136, 212, 152, 0.1);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .dropdown-item:hover {
|
|
background-color: rgba(244, 162, 97, 0.1);
|
|
}
|
|
|
|
.dark-mode .jumbotron {
|
|
background-color: var(--card-bg);
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .breadcrumb {
|
|
background-color: #2c2c2c;
|
|
}
|
|
|
|
.dark-mode .page-link {
|
|
background-color: #2c2c2c;
|
|
border-color: var(--border-color);
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .page-item.active .page-link {
|
|
background-color: var(--primary-color);
|
|
border-color: var(--primary-color);
|
|
}
|
|
|
|
.dark-mode .badge {
|
|
background-color: #3e3e3e;
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode hr {
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode .modal-header,
|
|
.dark-mode .modal-footer {
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode .form-check-input {
|
|
background-color: #3e3e3e;
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
/* Cartes */
|
|
.card {
|
|
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
|
|
transition: box-shadow 0.3s ease;
|
|
border-radius: 0.5rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.card:hover {
|
|
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
/* Styles de carte spécifiques aux modules */
|
|
body[data-module="crm"] .card {
|
|
border-top: 3px solid var(--crm-color);
|
|
}
|
|
|
|
body[data-module="propositions"] .card {
|
|
border-top: 3px solid var(--propositions-color);
|
|
}
|
|
|
|
body[data-module="devis"] .card {
|
|
border-top: 3px solid var(--devis-color);
|
|
}
|
|
|
|
.dark-mode[data-module="crm"] .card {
|
|
border-top: 3px solid var(--crm-light);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .card {
|
|
border-top: 3px solid var(--propositions-light);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .card {
|
|
border-top: 3px solid var(--devis-light);
|
|
}
|
|
|
|
/* Navigation */
|
|
.navbar {
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.navbar-brand {
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* Style pour les liens de la barre de navigation principale uniquement */
|
|
.navbar .nav-link {
|
|
font-weight: 500;
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.navbar .nav-link:hover {
|
|
color: rgba(255, 255, 255, 0.9) !important;
|
|
}
|
|
|
|
.navbar .nav-link.active {
|
|
font-weight: 600;
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
/* Styles des onglets par module */
|
|
.nav-tabs {
|
|
border-bottom: 1px solid #dee2e6;
|
|
}
|
|
|
|
.nav-tabs .nav-link {
|
|
margin-bottom: -1px;
|
|
border: 1px solid transparent;
|
|
border-top-left-radius: 0.25rem;
|
|
border-top-right-radius: 0.25rem;
|
|
color: var(--secondary-color);
|
|
background-color: transparent;
|
|
}
|
|
|
|
.nav-tabs .nav-link:hover {
|
|
border-color: #e9ecef #e9ecef #dee2e6;
|
|
color: var(--primary-color);
|
|
background-color: rgba(0, 0, 0, 0.02);
|
|
}
|
|
|
|
.nav-tabs .nav-link.active {
|
|
color: var(--primary-color);
|
|
background-color: #fff;
|
|
border-color: #dee2e6 #dee2e6 #fff;
|
|
border-bottom-width: 2px;
|
|
}
|
|
|
|
/* CRM Tab Style */
|
|
body[data-module="crm"] .nav-tabs {
|
|
border-bottom-color: var(--crm-color);
|
|
}
|
|
|
|
body[data-module="crm"] .nav-tabs .nav-link.active {
|
|
border-bottom: 2px solid var(--crm-color);
|
|
}
|
|
|
|
/* Propositions Tab Style */
|
|
body[data-module="propositions"] .nav-tabs {
|
|
border-bottom-color: var(--propositions-color);
|
|
}
|
|
|
|
body[data-module="propositions"] .nav-tabs .nav-link.active {
|
|
border-bottom: 2px solid var(--propositions-color);
|
|
}
|
|
|
|
/* Devis Tab Style */
|
|
body[data-module="devis"] .nav-tabs {
|
|
border-bottom-color: var(--devis-color);
|
|
}
|
|
|
|
body[data-module="devis"] .nav-tabs .nav-link.active {
|
|
border-bottom: 2px solid var(--devis-color);
|
|
}
|
|
|
|
/* Dark Mode Tabs */
|
|
.dark-mode .nav-tabs .nav-link.active {
|
|
background-color: var(--card-bg);
|
|
border-color: var(--border-color) var(--border-color) var(--card-bg);
|
|
color: var(--primary-color);
|
|
}
|
|
|
|
.dark-mode .nav-tabs .nav-link {
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .nav-tabs .nav-link:hover {
|
|
color: var(--primary-color);
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
/* Spécificités mode sombre pour les onglets de modules */
|
|
.dark-mode[data-module="crm"] .nav-tabs .nav-link.active {
|
|
color: var(--crm-light);
|
|
border-bottom: 2px solid var(--crm-light);
|
|
}
|
|
|
|
.dark-mode[data-module="crm"] .nav-tabs .nav-link:hover {
|
|
color: var(--crm-light);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .nav-tabs .nav-link.active {
|
|
color: var(--propositions-light);
|
|
border-bottom: 2px solid var(--propositions-light);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .nav-tabs .nav-link:hover {
|
|
color: var(--propositions-light);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .nav-tabs .nav-link.active {
|
|
color: var(--devis-light);
|
|
border-bottom: 2px solid var(--devis-light);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .nav-tabs .nav-link:hover {
|
|
color: var(--devis-light);
|
|
}
|
|
|
|
/* Couleurs spécifiques des modules */
|
|
/* CRM */
|
|
.navbar-module-crm {
|
|
background-color: var(--crm-color) !important;
|
|
}
|
|
|
|
.navbar-module-crm .navbar-brand,
|
|
.navbar-module-crm .nav-link {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.btn-crm {
|
|
background-color: var(--crm-color);
|
|
border-color: var(--crm-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-crm:hover, .btn-crm:focus {
|
|
background-color: var(--crm-hover);
|
|
border-color: var(--crm-hover);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-outline-crm {
|
|
color: var(--crm-color);
|
|
border-color: var(--crm-color);
|
|
}
|
|
|
|
.btn-outline-crm:hover, .btn-outline-crm:focus {
|
|
background-color: var(--crm-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.text-crm {
|
|
color: var(--crm-color) !important;
|
|
}
|
|
|
|
.bg-crm {
|
|
background-color: var(--crm-color) !important;
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.bg-crm-light {
|
|
background-color: var(--crm-light) !important;
|
|
}
|
|
|
|
/* Propositions */
|
|
.navbar-module-propositions {
|
|
background-color: var(--propositions-color) !important;
|
|
}
|
|
|
|
.navbar-module-propositions .navbar-brand,
|
|
.navbar-module-propositions .nav-link {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.btn-propositions {
|
|
background-color: var(--propositions-color);
|
|
border-color: var(--propositions-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-propositions:hover, .btn-propositions:focus {
|
|
background-color: var(--propositions-hover);
|
|
border-color: var(--propositions-hover);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-outline-propositions {
|
|
color: var(--propositions-color);
|
|
border-color: var(--propositions-color);
|
|
}
|
|
|
|
.btn-outline-propositions:hover, .btn-outline-propositions:focus {
|
|
background-color: var(--propositions-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.text-propositions {
|
|
color: var(--propositions-color) !important;
|
|
}
|
|
|
|
.bg-propositions {
|
|
background-color: var(--propositions-color) !important;
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.bg-propositions-light {
|
|
background-color: var(--propositions-light) !important;
|
|
}
|
|
|
|
/* Devis */
|
|
.navbar-module-devis {
|
|
background-color: var(--devis-color) !important;
|
|
}
|
|
|
|
.navbar-module-devis .navbar-brand,
|
|
.navbar-module-devis .nav-link {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
/* Projects */
|
|
.navbar-module-project {
|
|
background-color: var(--project-color) !important;
|
|
}
|
|
|
|
.navbar-module-project .navbar-brand,
|
|
.navbar-module-project .nav-link {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
/* Emails */
|
|
.navbar-module-email {
|
|
background-color: var(--email-color) !important;
|
|
}
|
|
|
|
.navbar-module-email .navbar-brand,
|
|
.navbar-module-email .nav-link {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.btn-devis {
|
|
background-color: var(--devis-color);
|
|
border-color: var(--devis-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-devis:hover, .btn-devis:focus {
|
|
background-color: var(--devis-hover);
|
|
border-color: var(--devis-hover);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-outline-devis {
|
|
color: var(--devis-color);
|
|
border-color: var(--devis-color);
|
|
}
|
|
|
|
.btn-outline-devis:hover, .btn-outline-devis:focus {
|
|
background-color: var(--devis-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.text-devis {
|
|
color: var(--devis-color) !important;
|
|
}
|
|
|
|
.bg-devis {
|
|
background-color: var(--devis-color) !important;
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.bg-devis-light {
|
|
background-color: var(--devis-light) !important;
|
|
}
|
|
|
|
/* Forms */
|
|
.form-control:focus {
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
|
|
}
|
|
|
|
/* Module-specific form focus styles */
|
|
body[data-module="crm"] .form-control:focus {
|
|
border-color: var(--crm-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(106, 76, 147, 0.25);
|
|
}
|
|
|
|
body[data-module="propositions"] .form-control:focus {
|
|
border-color: var(--propositions-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(26, 147, 111, 0.25);
|
|
}
|
|
|
|
body[data-module="devis"] .form-control:focus {
|
|
border-color: var(--devis-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(231, 111, 81, 0.25);
|
|
}
|
|
|
|
/* Dark mode form styles */
|
|
.dark-mode .form-control:focus {
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
|
|
background-color: #3e3e3e;
|
|
}
|
|
|
|
.dark-mode[data-module="crm"] .form-control:focus {
|
|
border-color: var(--crm-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(142, 114, 180, 0.25);
|
|
background-color: #3e3e3e;
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .form-control:focus {
|
|
border-color: var(--propositions-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(60, 185, 145, 0.25);
|
|
background-color: #3e3e3e;
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .form-control:focus {
|
|
border-color: var(--devis-color);
|
|
box-shadow: 0 0 0 0.2rem rgba(244, 132, 95, 0.25);
|
|
background-color: #3e3e3e;
|
|
}
|
|
|
|
.dark-mode input::placeholder,
|
|
.dark-mode textarea::placeholder {
|
|
color: #adb5bd;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.dark-mode .form-text {
|
|
color: #adb5bd;
|
|
}
|
|
|
|
.dark-mode .form-label {
|
|
color: var(--text-color);
|
|
}
|
|
|
|
/* Buttons */
|
|
.btn-primary {
|
|
background-color: var(--primary-color);
|
|
border-color: var(--primary-color);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background-color: var(--primary-hover);
|
|
border-color: var(--primary-hover);
|
|
color: var(--btn-text-color);
|
|
}
|
|
|
|
.btn a, .btn-primary a, .btn-secondary a, .btn-success a, .btn-danger a,
|
|
.btn-warning a, .btn-info a, .btn-crm a, .btn-propositions a, .btn-devis a {
|
|
color: #ffffff !important;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.btn a:hover, .btn-primary a:hover, .btn-secondary a:hover, .btn-success a:hover,
|
|
.btn-danger a:hover, .btn-warning a:hover, .btn-info a:hover,
|
|
.btn-crm a:hover, .btn-propositions a:hover, .btn-devis a:hover {
|
|
color: #ffffff !important;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.dark-mode .btn-light {
|
|
background-color: #2c2c2c;
|
|
border-color: #2c2c2c;
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .btn-light:hover {
|
|
background-color: #3e3e3e;
|
|
border-color: #3e3e3e;
|
|
color: var(--text-color);
|
|
}
|
|
|
|
.dark-mode .btn-outline-light {
|
|
color: #e9ecef;
|
|
border-color: #e9ecef;
|
|
}
|
|
|
|
.dark-mode .btn-outline-light:hover {
|
|
background-color: #e9ecef;
|
|
color: #212529;
|
|
}
|
|
|
|
.dark-mode .btn-link {
|
|
color: var(--primary-color);
|
|
}
|
|
|
|
/* Sélecteur de mode sombre */
|
|
#darkModeSwitch {
|
|
cursor: pointer;
|
|
}
|
|
|
|
#darkModeLabel {
|
|
cursor: pointer;
|
|
transition: all 0.3s ease;
|
|
color: #ffffff;
|
|
}
|
|
|
|
#darkModeSwitch:checked + #darkModeLabel .fa-sun {
|
|
color: #ffc107;
|
|
}
|
|
|
|
.dark-mode #darkModeLabel .fa-moon {
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* Animations */
|
|
.fade-in {
|
|
animation: fadeIn 0.5s ease;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
/* Tableaux responsifs */
|
|
.table-responsive {
|
|
overflow-x: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.dark-mode .table-striped tbody tr:nth-of-type(odd) {
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.dark-mode .table-hover tbody tr:hover {
|
|
background-color: rgba(255, 255, 255, 0.075);
|
|
}
|
|
|
|
.dark-mode .table thead th {
|
|
border-bottom-color: var(--border-color);
|
|
}
|
|
|
|
.dark-mode .table td,
|
|
.dark-mode .table th {
|
|
border-top-color: var(--border-color);
|
|
}
|
|
|
|
/* Colors for links in tables and content */
|
|
.table a, .card-body a:not(.btn) {
|
|
color: var(--primary-color);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.table a:hover, .card-body a:not(.btn):hover {
|
|
color: var(--primary-hover);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
/* Styles pour les liens selon le module actif */
|
|
/* CRM */
|
|
body[data-module="crm"] .table a,
|
|
body[data-module="crm"] .card-body a:not(.btn),
|
|
body[data-module="crm"] .nav-tabs .nav-link {
|
|
color: var(--crm-color);
|
|
}
|
|
|
|
body[data-module="crm"] .table a:hover,
|
|
body[data-module="crm"] .card-body a:not(.btn):hover,
|
|
body[data-module="crm"] .nav-tabs .nav-link:hover {
|
|
color: var(--crm-hover);
|
|
}
|
|
|
|
body[data-module="crm"] .nav-tabs .nav-link.active {
|
|
color: var(--crm-color);
|
|
border-color: #dee2e6 #dee2e6 #fff;
|
|
border-bottom-color: var(--crm-color);
|
|
font-weight: 600;
|
|
background-color: #fff;
|
|
}
|
|
|
|
/* Propositions */
|
|
body[data-module="propositions"] .table a,
|
|
body[data-module="propositions"] .card-body a:not(.btn),
|
|
body[data-module="propositions"] .nav-tabs .nav-link {
|
|
color: var(--propositions-color);
|
|
}
|
|
|
|
body[data-module="propositions"] .table a:hover,
|
|
body[data-module="propositions"] .card-body a:not(.btn):hover,
|
|
body[data-module="propositions"] .nav-tabs .nav-link:hover {
|
|
color: var(--propositions-hover);
|
|
}
|
|
|
|
body[data-module="propositions"] .nav-tabs .nav-link.active {
|
|
color: var(--propositions-color);
|
|
border-color: #dee2e6 #dee2e6 #fff;
|
|
border-bottom-color: var(--propositions-color);
|
|
font-weight: 600;
|
|
background-color: #fff;
|
|
}
|
|
|
|
/* Devis */
|
|
body[data-module="devis"] .table a,
|
|
body[data-module="devis"] .card-body a:not(.btn),
|
|
body[data-module="devis"] .nav-tabs .nav-link {
|
|
color: var(--devis-color);
|
|
}
|
|
|
|
body[data-module="devis"] .table a:hover,
|
|
body[data-module="devis"] .card-body a:not(.btn):hover,
|
|
body[data-module="devis"] .nav-tabs .nav-link:hover {
|
|
color: var(--devis-hover);
|
|
}
|
|
|
|
body[data-module="devis"] .nav-tabs .nav-link.active {
|
|
color: var(--devis-color);
|
|
border-color: #dee2e6 #dee2e6 #fff;
|
|
border-bottom-color: var(--devis-color);
|
|
font-weight: 600;
|
|
background-color: #fff;
|
|
}
|
|
|
|
/* Mode sombre */
|
|
.dark-mode .table a, .dark-mode .card-body a:not(.btn) {
|
|
color: #6ea8fe;
|
|
}
|
|
|
|
.dark-mode .table a:hover, .dark-mode .card-body a:not(.btn):hover {
|
|
color: #9ec5fe;
|
|
}
|
|
|
|
/* Adaptation pour le mode sombre par module */
|
|
.dark-mode[data-module="crm"] .table a,
|
|
.dark-mode[data-module="crm"] .card-body a:not(.btn),
|
|
.dark-mode[data-module="crm"] .nav-tabs .nav-link {
|
|
color: var(--crm-light);
|
|
}
|
|
|
|
.dark-mode[data-module="crm"] .nav-tabs .nav-link.active {
|
|
background-color: var(--card-bg);
|
|
border-color: var(--border-color) var(--border-color) var(--card-bg);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .table a,
|
|
.dark-mode[data-module="propositions"] .card-body a:not(.btn),
|
|
.dark-mode[data-module="propositions"] .nav-tabs .nav-link {
|
|
color: var(--propositions-light);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .nav-tabs .nav-link.active {
|
|
background-color: var(--card-bg);
|
|
border-color: var(--border-color) var(--border-color) var(--card-bg);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .table a,
|
|
.dark-mode[data-module="devis"] .card-body a:not(.btn),
|
|
.dark-mode[data-module="devis"] .nav-tabs .nav-link {
|
|
color: var(--devis-light);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .nav-tabs .nav-link.active {
|
|
background-color: var(--card-bg);
|
|
border-color: var(--border-color) var(--border-color) var(--card-bg);
|
|
}
|
|
|
|
/* Footer */
|
|
.footer {
|
|
margin-top: 2rem;
|
|
background-color: var(--light-color);
|
|
color: var(--secondary-color);
|
|
padding: 1.5rem 0;
|
|
transition: background-color 0.5s ease, color 0.5s ease;
|
|
}
|
|
|
|
.footer a {
|
|
color: var(--primary-color);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.footer a:hover {
|
|
color: var(--primary-hover);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
/* Module-specific Footer */
|
|
body[data-module="crm"] .footer a {
|
|
color: var(--crm-color);
|
|
}
|
|
|
|
body[data-module="crm"] .footer a:hover {
|
|
color: var(--crm-hover);
|
|
}
|
|
|
|
body[data-module="propositions"] .footer a {
|
|
color: var(--propositions-color);
|
|
}
|
|
|
|
body[data-module="propositions"] .footer a:hover {
|
|
color: var(--propositions-hover);
|
|
}
|
|
|
|
body[data-module="devis"] .footer a {
|
|
color: var(--devis-color);
|
|
}
|
|
|
|
body[data-module="devis"] .footer a:hover {
|
|
color: var(--devis-hover);
|
|
}
|
|
|
|
.dark-mode .footer {
|
|
background-color: #343a40 !important;
|
|
}
|
|
|
|
.dark-mode .footer .text-muted {
|
|
color: #adb5bd !important;
|
|
}
|
|
|
|
.dark-mode .footer a {
|
|
color: #6ea8fe;
|
|
}
|
|
|
|
.dark-mode .footer a:hover {
|
|
color: #9ec5fe;
|
|
}
|
|
|
|
.dark-mode[data-module="crm"] .footer a {
|
|
color: var(--crm-light);
|
|
}
|
|
|
|
.dark-mode[data-module="propositions"] .footer a {
|
|
color: var(--propositions-light);
|
|
}
|
|
|
|
.dark-mode[data-module="devis"] .footer a {
|
|
color: var(--devis-light);
|
|
}
|
|
|
|
/* Cartes d'accueil */
|
|
.card .fas, .card .far {
|
|
color: var(--primary-color);
|
|
}
|
|
|
|
/* Infobulle personnalisée */
|
|
.custom-tooltip {
|
|
position: relative;
|
|
display: inline-block;
|
|
}
|
|
|
|
.custom-tooltip .tooltip-text {
|
|
visibility: hidden;
|
|
width: 120px;
|
|
background-color: #555;
|
|
color: #fff;
|
|
text-align: center;
|
|
border-radius: 6px;
|
|
padding: 5px;
|
|
position: absolute;
|
|
z-index: 1;
|
|
bottom: 125%;
|
|
left: 50%;
|
|
margin-left: -60px;
|
|
opacity: 0;
|
|
transition: opacity 0.3s;
|
|
}
|
|
|
|
.custom-tooltip:hover .tooltip-text {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Titres et en-têtes */
|
|
h1, h2, h3, h4, h5, h6 {
|
|
font-weight: 700;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Styles de titres spécifiques aux modules */
|
|
body[data-module="crm"] h1,
|
|
body[data-module="crm"] .card-header {
|
|
border-left: 4px solid var(--crm-color);
|
|
padding-left: 10px;
|
|
}
|
|
|
|
body[data-module="propositions"] h1,
|
|
body[data-module="propositions"] .card-header {
|
|
border-left: 4px solid var(--propositions-color);
|
|
padding-left: 10px;
|
|
}
|
|
|
|
body[data-module="devis"] h1,
|
|
body[data-module="devis"] .card-header {
|
|
border-left: 4px solid var(--devis-color);
|
|
padding-left: 10px;
|
|
}
|
|
|
|
/* Page d'accueil */
|
|
.jumbotron {
|
|
background-color: var(--card-bg);
|
|
border-radius: 0.3rem;
|
|
padding: 2rem 1rem;
|
|
margin-bottom: 2rem;
|
|
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
|
|
}
|