@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');:root{--ppg-rouge:#8B1A1A;--ppg-rouge-dark:#6b1212;--ppg-rouge-light:#fdf0f0;--ppg-beige:#F0EDE8;--ppg-gris:#BABABA;--ppg-gris-dark:#6b6b6b;--ppg-noir:#1A1A1A;--ppg-fond:#F5F5F5;--ppg-blanc:#FFFFFF;--ppg-bordure:#E0E0E0;--ppg-ombre:rgba(0,0,0,0.08)}body{background:var(--ppg-fond);font-family:'Inter','Segoe UI',sans-serif;font-size:0.9rem;color:var(--ppg-noir);min-height:100vh;display:flex;flex-direction:column}main{flex:1}.navbar-ppg{background:var(--ppg-rouge);padding:0;height:62px;box-shadow:0 2px 10px rgba(181,18,27,0.35);position:fixed;top:0;left:0;right:0;z-index:1050}.navbar-ppg .navbar-brand{color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:0.5px;padding:0 8px}.navbar-ppg .navbar-brand i{opacity:0.85}.navbar-ppg .navbar-brand span{color:rgba(255,255,255,0.75);font-weight:400;margin-left:2px}.navbar-ppg .nav-link{color:rgba(255,255,255,0.82) !important;font-size:0.86rem;font-weight:500;padding:20px 14px !important;border-bottom:3px solid transparent;transition:all 0.2s;letter-spacing:0.2px}.navbar-ppg .nav-link:hover{color:#fff !important;border-bottom:3px solid rgba(255,255,255,0.6)}.navbar-ppg .nav-link.active{color:#fff !important;border-bottom:3px solid #fff;font-weight:600}.navbar-ppg .nav-link i{margin-right:5px;font-size:0.9rem}.user-avatar{width:32px;height:32px;background:rgba(255,255,255,0.25);border:2px solid rgba(255,255,255,0.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.75rem;color:#fff;flex-shrink:0}.navbar-ppg .dropdown-toggle{color:rgba(255,255,255,0.9) !important;font-size:0.86rem;font-weight:500}.navbar-ppg .dropdown-menu{border:1px solid var(--ppg-bordure);border-radius:8px;box-shadow:0 4px 16px var(--ppg-ombre);margin-top:4px}.navbar-ppg .dropdown-item:hover{background:var(--ppg-rouge-light);color:var(--ppg-rouge)}.navbar-ppg .dropdown-item.text-danger:hover{background:var(--ppg-rouge-light)}.badge-notif{background:#fff;color:var(--ppg-rouge);font-size:0.62rem;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:3px;vertical-align:top}.footer-ppg{background:var(--ppg-noir);margin-top:auto;border-top:3px solid var(--ppg-rouge)}.footer-ppg .text-muted{color:#888 !important}.card-ppg{background:var(--ppg-blanc);border-radius:10px;box-shadow:0 2px 8px var(--ppg-ombre);border:1px solid var(--ppg-bordure);padding:24px}.table-scroll-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.page-titre{font-size:1.35rem;font-weight:700;color:var(--ppg-rouge);margin-bottom:20px;border-left:4px solid var(--ppg-rouge);padding-left:12px}.btn-primary{background-color:var(--ppg-rouge) !important;border-color:var(--ppg-rouge) !important;font-weight:500}.btn-primary:hover,.btn-primary:focus{background-color:var(--ppg-rouge-dark) !important;border-color:var(--ppg-rouge-dark) !important}.btn-outline-primary{color:var(--ppg-rouge) !important;border-color:var(--ppg-rouge) !important}.btn-outline-primary:hover{background-color:var(--ppg-rouge) !important;border-color:var(--ppg-rouge) !important;color:#fff !important}.form-control:focus,.form-select:focus{border-color:var(--ppg-rouge);box-shadow:0 0 0 0.2rem rgba(181,18,27,0.15)}.table thead th{background:var(--ppg-fond);color:var(--ppg-gris-dark);font-size:0.78rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;border-bottom:2px solid var(--ppg-rouge)}.table-hover tbody tr:hover{background-color:var(--ppg-rouge-light)}.badge-a-payer{background:#fde8e8;color:#c0392b;font-weight:600}.badge-paye-master{background:#e8f8e8;color:#1a7a3a;font-weight:600}.badge-paye-ppa{background:#e8f0fe;color:#1a5fa8;font-weight:600}.badge-paye-payable{background:#e8f8e8;color:#1a7a3a;font-weight:600}.annee-switcher{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:0 auto 1.2rem;padding:.6rem}.annee-btn{padding:.5rem 1.2rem;border-radius:10px;font-size:.92rem;font-weight:700;border:2px solid #8B1A1A55;background:#fff;color:#8B1A1A;cursor:pointer;text-decoration:none;transition:all .15s;display:inline-block}.annee-btn:hover{border-color:#8B1A1A;background:#fde8e8;text-decoration:none}.annee-btn.active{border-color:#8B1A1A;background:#8B1A1A;color:#fff;text-decoration:none;box-shadow:0 2px 10px rgba(139,26,26,.35)}.annee-btn.active:hover{background:#71100f}.badge-cad{background:#f0f0f0;color:#555;font-size:0.75rem}.badge-usd{background:#e8f5e9;color:#2e7d32;font-size:0.75rem}.badge-eur{background:#f3e5f5;color:#6a1b9a;font-size:0.75rem}.kpi-card{background:var(--ppg-blanc);border-radius:10px;box-shadow:0 2px 8px var(--ppg-ombre);border:1px solid var(--ppg-bordure);padding:20px 24px;border-top:4px solid var(--ppg-rouge);transition:box-shadow 0.2s;height:100%}.kpi-card:hover{box-shadow:0 4px 16px rgba(181,18,27,0.12)}.kpi-card .kpi-value{font-size:1.8rem;font-weight:700;color:var(--ppg-rouge);line-height:1}.kpi-card .kpi-label{font-size:0.78rem;color:var(--ppg-gris-dark);font-weight:500;text-transform:uppercase;letter-spacing:0.5px;margin-top:4px}.kpi-card .kpi-icon{font-size:2rem;color:var(--ppg-rouge);opacity:0.15}.alert-ppg-info{background:var(--ppg-rouge-light);border-left:4px solid var(--ppg-rouge);border-radius:6px;color:var(--ppg-rouge-dark)}a{color:var(--ppg-rouge)}a:hover{color:var(--ppg-rouge-dark)}.page-link{color:var(--ppg-rouge)}.page-item.active .page-link{background-color:var(--ppg-rouge);border-color:var(--ppg-rouge)}.section-header{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ppg-gris-dark);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--ppg-bordure)}.login-box{max-width:420px;margin:80px auto;background:var(--ppg-blanc);border-radius:12px;box-shadow:0 4px 24px var(--ppg-ombre);padding:40px;border-top:5px solid var(--ppg-rouge)}.login-logo{font-size:1.5rem;font-weight:700;color:var(--ppg-rouge);text-align:center;margin-bottom:8px}.login-subtitle{text-align:center;color:var(--ppg-gris-dark);font-size:0.85rem;margin-bottom:28px}.filtre-bar{background:#fff;border:1px solid var(--ppg-bordure);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.06);overflow:hidden;margin-bottom:1rem}.filtre-bar-form{display:flex;align-items:center;height:54px;padding:0 6px;gap:0}.filtre-search-wrap{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:0 14px}.filtre-search-wrap i{color:#b0b0b0;font-size:1rem;flex-shrink:0}.filtre-search-input{border:none;outline:none;font-size:0.88rem;width:100%;background:transparent;color:var(--ppg-noir);font-family:inherit}.filtre-search-input::placeholder{color:#c0c0c0;font-style:italic}.filtre-divider{width:1px;height:30px;background:var(--ppg-bordure);flex-shrink:0;margin:0 2px}.filtre-select{border:none;outline:none;background:transparent;font-size:0.81rem;color:var(--ppg-gris-dark);padding:6px 10px;cursor:pointer;font-family:inherit;min-width:0;white-space:nowrap;transition:background 0.15s,color 0.15s;border-radius:8px}.filtre-select:hover{background:var(--ppg-fond);color:var(--ppg-noir)}.filtre-select:focus{background:var(--ppg-rouge-light);color:var(--ppg-rouge)}.filtre-select.actif{color:var(--ppg-rouge);font-weight:600}.filtre-group-wrap{display:flex;align-items:center;gap:5px;padding:0 4px 0 8px}.filtre-group-wrap>i{color:var(--ppg-rouge);font-size:0.82rem;flex-shrink:0}.filtre-group-wrap .filtre-select{color:var(--ppg-rouge);font-weight:600;padding-left:2px}.filtre-btn-apply{background:var(--ppg-rouge);color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:0.82rem;font-weight:600;cursor:pointer;margin:7px 3px 7px 10px;transition:background 0.2s;white-space:nowrap;font-family:inherit;display:flex;align-items:center;gap:6px;flex-shrink:0}.filtre-btn-apply:hover{background:var(--ppg-rouge-dark)}.filtre-btn-reset{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--ppg-bordure);color:var(--ppg-gris-dark);background:transparent;text-decoration:none;font-size:0.78rem;margin:0 4px;transition:all 0.15s;flex-shrink:0}.filtre-btn-reset:hover{background:var(--ppg-rouge-light);border-color:var(--ppg-rouge);color:var(--ppg-rouge)}.filtre-btn-reset.has-filtres{background:var(--ppg-rouge-light);border-color:var(--ppg-rouge);color:var(--ppg-rouge)}@media (max-width:991px){.navbar-ppg{height:auto !important;min-height:62px}.navbar-ppg .navbar-collapse{background:var(--ppg-rouge);padding:8px 0 12px;border-top:1px solid rgba(255,255,255,0.15);margin-top:4px}.navbar-ppg .nav-link{padding:10px 20px !important;border-bottom:none !important;border-left:3px solid transparent}.navbar-ppg .nav-link.active,.navbar-ppg .nav-link:hover{border-left:3px solid #fff;border-bottom:none !important}.navbar-ppg .dropdown-menu{background:rgba(0,0,0,0.15);border:none;box-shadow:none;padding-left:16px}.navbar-ppg .dropdown-item{color:rgba(255,255,255,0.82) !important;font-size:0.84rem}.navbar-ppg .dropdown-item:hover{background:rgba(255,255,255,0.1);color:#fff !important}.navbar-ppg .navbar-nav:last-child{border-top:1px solid rgba(255,255,255,0.15);padding-top:8px;margin-top:4px}}@media (min-width:992px) and (max-width:1280px){.navbar-ppg .nav-link{font-size:0.78rem;padding:0 8px !important;letter-spacing:0}.navbar-ppg .nav-link i{margin-right:3px;font-size:0.82rem}.navbar-ppg .dropdown-toggle{font-size:0.78rem;padding:0 8px !important}.user-avatar{width:28px;height:28px;font-size:0.65rem}}@media (max-width:768px){.page-titre{font-size:1.15rem}.kpi-card .kpi-value{font-size:1.4rem}.filtre-bar-form{flex-wrap:wrap;height:auto;padding:10px;gap:6px}.filtre-divider{display:none}.filtre-select{border:1px solid var(--ppg-bordure);border-radius:8px}.group-header{flex-wrap:wrap;row-gap:4px}.group-header>span.ms-auto{margin-left:44px !important}main table:not(.table-nocards) thead{display:none}main table:not(.table-nocards),main table:not(.table-nocards) tbody,main table:not(.table-nocards) tr,main table:not(.table-nocards) td{display:block;width:100%}main table:not(.table-nocards) tbody tr{border:1px solid var(--ppg-bordure);border-radius:10px;margin-bottom:10px;padding:10px 12px;background:var(--ppg-blanc)}main table:not(.table-nocards) tbody tr:has(>td:only-child){border:none;padding:2px 0;margin-bottom:6px;background:transparent}main table:not(.table-nocards) tbody tr:has(>td:only-child) td{text-align:center}main table:not(.table-nocards) td{border:none !important;padding:4px 0 !important}main table:not(.table-nocards) td[data-label]{overflow:hidden}main table:not(.table-nocards) td[data-label]::before{content:attr(data-label);float:left;text-align:left;font-weight:600;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.3px;color:var(--ppg-gris-dark);margin-right:10px;padding-top:2px}main table:not(.table-nocards) tbody tr td:last-of-type:has(a.btn,button.btn){margin-top:4px;padding-top:8px !important;border-top:1px dashed var(--ppg-bordure) !important}}