production/Bootstrap_new/css/style_moderne.css
2026-02-02 15:44:46 +00:00

231 lines
4.7 KiB
CSS

:root {
--primary-color: #0088cf;
--bg-workspace: #f6f9ff;
--sidebar-width: 280px;
--card-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--sidebar-bg: #2c3e50; /* Couleur sombre pro pour trancher avec le contenu */
--header-height: 60px;
}
body {
background-color: var(--bg-workspace) !important;
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
/* Modernisation des inputs */
.form-control, .form-select {
border-radius: 8px;
border: 1px solid #dee2e6;
padding: 0.6rem 0.75rem;
transition: all 0.2s;
}
.form-control:focus {
border-color: var(--primary-color);
box-shadow: 0 0 0 0.25rem rgba(0, 136, 207, 0.1);
}
/* Suppression du look "Tableau de bord 2010" pour les fieldsets */
fieldset {
background: #fff;
border-radius: 12px;
padding: 1.5rem;
box-shadow: var(--card-shadow);
border: none;
margin-bottom: 1.5rem;
}
legend {
float: none;
width: auto;
font-size: 1.1rem;
font-weight: 700;
color: var(--primary-color);
padding: 0 10px;
}
/* Style des cartes pour remplacer les fieldsets */
.card-modern {
background: #ffffff;
border: none;
border-radius: 10px;
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
margin-bottom: 1.5rem;
}
/* On épure le scrollbar pour le côté moderne */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 10px;
}
.sidebar {
background-color: #2c3e50 !important; /* Couleur pro */
padding-top: 20px;
}
.sidebar-nav .nav-link {
background: transparent;
color: #ecf0f1;
font-weight: 500;
transition: 0.3s;
}
.sidebar-nav .nav-link:hover, .sidebar-nav .nav-link.active-main {
background: rgba(255, 255, 255, 0.1);
color: var(--primary-color);
border-left: 4px solid var(--primary-color);
}
.sidebar-nav .nav-content a {
padding-left: 45px;
font-size: 0.9rem;
color: #bdc3c7;
}
.nav-scroller {
scrollbar-width: none; /* Cache la barre de scroll sur Firefox */
}
.nav-scroller::-webkit-scrollbar {
display: none; /* Cache la barre de scroll sur Chrome/Safari */
}
/* Espacement du Main */
#main {
margin-top: 60px; /* Hauteur du header */
padding: 20px 0;
min-height: calc(100vh - 60px);
background-color: #f6f9ff;
transition: all 0.3s;
}
/* Style du fil d'ariane */
.breadcrumb-item + .breadcrumb-item::before {
content: "\f105" !important; /* Symbole FontAwesome > */
font-family: "Font Awesome 5 Free";
font-weight: 900;
padding-right: 12px;
color: #adb5bd;
}
/* Onglets fluides */
.nav-scroller {
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}
.sub-nav-link {
text-decoration: none;
color: #6c757d;
font-size: 0.85rem;
font-weight: 600;
border-bottom: 3px solid transparent;
transition: all 0.2s;
}
.sub-nav-link:hover {
color: #0088cf;
background: rgba(0, 136, 207, 0.05);
}
.active-tab {
color: #0088cf !important;
border-bottom: 3px solid #0088cf !important;
background: rgba(0, 136, 207, 0.08);
}
/* Animation douce lors du changement de page */
#contenu {
animation: fadeIn 0.4s ease-in-out;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
/* Bouton flottant Chatbot */
.chatbot-trigger {
position: fixed;
bottom: 30px;
right: 30px;
width: 60px;
height: 60px;
border-radius: 50%;
background: #0088cf;
color: white;
border: none;
z-index: 1060;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
}
.badge-msg-count {
position: absolute;
top: -5px;
right: -5px;
font-size: 0.7rem;
border: 2px solid white;
}
/* Sidebar Contextuelle */
.context-sidebar {
position: fixed;
top: 60px;
right: -350px;
width: 320px;
height: calc(100vh - 60px);
background: #f8faff;
z-index: 1050;
transition: all 0.4s cubic-bezier(0.05, 0.74, 0.2, 0.99);
display: flex;
flex-direction: column;
}
.context-sidebar.active {
right: 0;
}
.context-header {
padding: 15px;
background: white;
}
.section-label {
font-size: 10px;
font-weight: 800;
color: #8e9db5;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 5px;
display: block;
}
.info-card {
transition: transform 0.2s;
}
.info-card:hover {
transform: translateY(-2px);
}
.stats-grid {
font-size: 9px;
letter-spacing: -0.2px;
}
.btn-close-context {
border: none;
background: transparent;
color: #adb5bd;
font-size: 1.5rem;
transition: 0.2s;
}
.btn-close-context:hover {
color: #0088cf;
transform: translateX(3px);
}