@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700;800&display=swap');
/* === Q-Ali · thème Qualisécu v1 === */
:root{--qs-gd:#0F5E2C;--qs-g:#11903E;--qs-y:#FFD200;--qs-sand:#EAF5EC;--qs-mist:#F4F7F5;--qs-ink:#1B2430;--qs-mute:#5D6878;--qs-line:#DDE3E0;--qs-r:12px;--qs-sh:0 1px 2px rgba(15,94,44,.06),0 4px 16px rgba(15,94,44,.07)}
body{font-family:Inter,Roboto,sans-serif!important;background:var(--qs-mist)!important;color:var(--qs-ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5,.card-title{font-family:Montserrat,sans-serif!important;color:var(--qs-gd);font-weight:700;letter-spacing:-.01em}
a{color:var(--qs-g)}a:hover{color:var(--qs-gd)}
.text-muted{color:var(--qs-mute)!important}
/* Barre du haut */
.navbar.secondary-color,.navbar.primary-color{background:#fff!important;box-shadow:0 1px 0 var(--qs-line),0 2px 12px rgba(0,0,0,.04)!important;border-bottom:3px solid var(--qs-g)}
.navbar.navbar-dark .navbar-nav .nav-link{color:var(--qs-ink)!important;font-weight:500;border-radius:8px;padding:.5rem .9rem!important;transition:.15s}
.navbar.navbar-dark .navbar-nav .nav-link:hover,.navbar.navbar-dark .navbar-nav .active>.nav-link{background:var(--qs-sand);color:var(--qs-gd)!important}
.navbar.navbar-dark .navbar-toggler-icon{filter:invert(1) brightness(.3)}
.navbar .dropdown-menu{border:1px solid var(--qs-line);border-radius:10px;box-shadow:var(--qs-sh)}
.navbar .dropdown-item:hover{background:var(--qs-sand)!important;color:var(--qs-gd)!important;box-shadow:none!important}
/* Couleurs MDB -> charte */
.primary-color:not(.navbar),.secondary-color:not(.navbar),.default-color{background-color:var(--qs-g)!important}
.primary-color-dark,.secondary-color-dark{background-color:var(--qs-gd)!important}
/* Boutons */
.btn{text-transform:none!important;font-weight:600;letter-spacing:0;border-radius:8px!important;box-shadow:none!important;padding:.6rem 1.2rem}
.btn:hover{box-shadow:0 4px 12px rgba(17,144,62,.25)!important;transform:translateY(-1px)}
.btn-primary,.btn-secondary,.btn-default,.btn-success{background-color:var(--qs-g)!important;color:#fff!important}
.btn-primary:hover,.btn-secondary:hover,.btn-default:hover,.btn-success:hover{background-color:var(--qs-gd)!important}
.btn-outline-primary,.btn-outline-secondary,.btn-outline-default{border:2px solid var(--qs-g)!important;color:var(--qs-g)!important;background:#fff!important}
.btn-warning{background:var(--qs-y)!important;color:var(--qs-ink)!important}
.btn-sm{padding:.35rem .8rem}
/* Cartes */
.card{border:1px solid var(--qs-line);border-radius:var(--qs-r)!important;box-shadow:var(--qs-sh)!important;overflow:hidden}
.card-header{background:var(--qs-sand)!important;border-bottom:1px solid var(--qs-line);font-family:Montserrat,sans-serif;font-weight:700;color:var(--qs-gd)}
.card-body{padding:1.5rem}
/* Tableaux */
.table{background:#fff;border-radius:var(--qs-r);overflow:hidden}
.table thead th{background:var(--qs-gd)!important;color:#fff!important;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border:0!important}
.table td{vertical-align:middle;border-color:var(--qs-line)}
.table-hover tbody tr:hover,.table tbody tr:hover{background:var(--qs-sand)!important}
.table-striped tbody tr:nth-of-type(odd){background:#F8FAF9}
/* Formulaires */
.form-control,.custom-select,select.browser-default{border-radius:8px;border-color:var(--qs-line)}
.form-control:focus,.custom-select:focus{border-color:var(--qs-g)!important;box-shadow:0 0 0 3px rgba(17,144,62,.15)!important}
.md-form input:focus:not([readonly]),.md-form textarea:focus:not([readonly]){border-bottom:1px solid var(--qs-g)!important;box-shadow:0 1px 0 0 var(--qs-g)!important}
.md-form input:focus:not([readonly])+label,.md-form label.active{color:var(--qs-g)!important}
.custom-control-input:checked~.custom-control-label::before,[type=checkbox]:checked+label:before{background-color:var(--qs-g)!important;border-color:var(--qs-g)!important}
/* Badges, onglets, pagination, alertes */
.badge{border-radius:20px;padding:.35em .75em;font-weight:600;box-shadow:none!important}
.badge-primary,.badge-success,.badge-default{background:var(--qs-g)!important}
.badge-warning{background:var(--qs-y)!important;color:var(--qs-ink)!important}
.nav-tabs{border-bottom:2px solid var(--qs-line)}
.nav-tabs .nav-link{border:0;color:var(--qs-mute);font-weight:600}
.nav-tabs .nav-link.active{color:var(--qs-gd);border-bottom:3px solid var(--qs-g);background:transparent}
.page-item.active .page-link{background:var(--qs-g)!important;border-color:var(--qs-g)!important;border-radius:6px;box-shadow:none}
.alert{border:0;border-left:4px solid;border-radius:10px}
.alert-success{background:var(--qs-sand);border-color:var(--qs-g);color:var(--qs-gd)}
.alert-warning{background:#FFF8D6;border-color:var(--qs-y);color:#6B5600}
/* Accessibilité */
:focus-visible{outline:3px solid rgba(17,144,62,.45)!important;outline-offset:2px}
/* === v2 === */
html body footer,html body .page-footer{background:var(--qs-gd)!important;color:#CFE6D6!important;font-size:.85rem}
html body footer a{color:#fff!important}
html body .pagination .page-item.active .page-link{background:var(--qs-g)!important;border-color:var(--qs-g)!important;color:#fff!important;border-radius:6px;box-shadow:none!important}
html body .pagination .page-link{color:var(--qs-gd);border-radius:6px}
html body .pagination .page-link:hover{background:var(--qs-sand)}
html body .btn-danger{background:#fff!important;color:#C62828!important;border:1.5px solid #F2B8B5!important}
html body .btn-danger:hover{background:#C62828!important;color:#fff!important;border-color:#C62828!important;box-shadow:0 4px 12px rgba(198,40,40,.25)!important}
.table td:last-child{white-space:nowrap}
.table td .btn{margin:2px 4px 2px 0;display:inline-block}
.alert-info{background:#E8F3F8;border-color:#3B82A0;color:#1F4E63}
.dataTables_filter input{border:1px solid var(--qs-line);border-radius:8px;padding:.4rem .7rem;margin-left:.5rem}
.dataTables_filter input:focus{outline:0;border-color:var(--qs-g);box-shadow:0 0 0 3px rgba(17,144,62,.15)}
.dataTables_info{color:var(--qs-mute);font-size:.88rem}
/* === v3 === */
html body .bg-secondary{background:var(--qs-gd)!important}
html body .text-secondary{color:var(--qs-g)!important}
html body .secondary-text{color:var(--qs-g)!important}
a.qs-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1.75rem 1rem;background:#fff;border:1px solid var(--qs-line);border-radius:14px;text-decoration:none;transition:all .18s ease}
a.qs-tile h4{margin:0 0 .9rem}
a.qs-tile i{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:18px;background:var(--qs-sand);color:var(--qs-g)!important;font-size:1.7rem;transition:all .18s ease}
a.qs-tile p{margin:0;color:var(--qs-ink)!important;font-weight:600!important;font-size:.95rem}
a.qs-tile:hover{border-color:var(--qs-g);transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,94,44,.12)}
a.qs-tile:hover i{background:var(--qs-g);color:#fff!important}
/* === v4 · déconnexion === */
html body .navbar .nav-flex-icons .nav-link,html body .navbar .nav-flex-icons .nav-link i{color:var(--qs-gd)!important}
html body .navbar .nav-link.qs-logout{color:#B4462F!important;border:1.5px solid #F1C9BF;border-radius:8px;margin-left:.5rem}
html body .navbar .nav-link.qs-logout i{color:#B4462F!important}
html body .navbar .nav-link.qs-logout:hover{background:#B4462F!important;color:#fff!important}
html body .navbar .nav-link.qs-logout:hover i{color:#fff!important}
