:root {
  --main-color: #ff7f00;
  --main-color-light: #7f8c92;
  --main-color-dark: #e79010;
  --main-color-darker: #7f8c92;
  --main-color-darkest: #6a767bff;
  --main-color-lighter: #dee2e7;
  --main-color-lightest: #f4f4f3;
  --main-color-text: #000;
  --main-color-text-light: #fff;
}

.header {
  height: 180px;
  background: url(../img/bandeau.jpg) no-repeat 0 -5px #fff;
  border-bottom: 1px solid var(--main-color);
}

nav.navbar .menu-btn span {
  width: 20px;
  height: 2px;
  background: var(--main-color);
  display: block;
  margin: 4px auto 0;
  -webkit-transition: all 0.3s cubic-bezier(0.81, -0.33, 0.345, 1.375);
  transition: all 0.3s cubic-bezier(0.81, -0.33, 0.345, 1.375);
}

nav.navbar a {
  color: var(--main-color);
  background: white;
  padding: 6px;
}

.types-doc-container {
  background: #5f4c3e17;
}

.logo-banner {
  display: none;
}

.logo-banner img {
  width: 100%;
}

nav.side-navbar ul li.active > a {
  background: var(--main-color);
  border-left: 4px solid var(--main-color-light);
}

.legend-toggle {
  background: var(--main-color);
  color: var(--main-color-text-light);
}

.legend-content {
  background: #f4f3ff;
  color: var(--main-color-text);
}

.header-infos {
  position: unset;
  bottom: unset;
}

a#toggle-btn {
  position: absolute;
  top: 30px;
  left: 10px;
}

nav.navbar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 25px;
    margin-right: 10px;
    padding: 0 20px 10px 20px;
    height: 100%;
}

.legend-content {
  background: var(--main-color-lightest);
}
.types-doc-container {
  background: var(--main-color-lighter);
}

.login-page .form-holder .form a.forgot-pass, .login-page .form-holder .form a.signup {
  color: var(--main-color-light);
}

nav.navbar .container-fluid {
  width: fit-content;
  margin: 0;
  padding: 0;
}

nav.navbar a.nav-link.logout {
  font-size: 0.9rem;
}

footer.main-footer {
  background: var(--main-color-lighter);
  color: inherit;
}

thead {
  background-color: var(--main-color-light);
}

/* ===================== TGR premium : écrans d'authentification (connexion, double authentification, mot de passe oublié) ===================== */
/* Panneau gauche : marine, carte du Maroc remplie du motif zellige de l'en-tête (auth-motif.png = header-motif.png rendu raccordable). */
.auth-body{--auth-accent:#1E4E7C;--auth-link:#2F6EA8;--auth-focus:rgba(231,144,16,.22);--auth-title:#1E4E7C;--auth-text:#3F4254;--auth-muted:#A1A5B7;--auth-border:#C8CED8;--auth-main-bg:#ffffff;--auth-btn-bg:#e79010;--auth-btn-shadow:0 8px 20px rgba(231,144,16,.28);font-family:Poppins,sans-serif}
.auth-body .auth-brand{justify-content:flex-start;background:linear-gradient(160deg,#235A8C 0%,#1E4E7C 45%,#153C63 100%);box-shadow:inset -4px 0 0 #e79010}
/* Carte toujours entière (Sahara compris) : la boîte reste dans le panneau, le masque est en contain. */
.auth-body .auth-brand::before,.auth-body .auth-brand::after{content:"";position:absolute;right:44px;bottom:44px;width:58%;height:calc(100% - 380px);min-height:240px;pointer-events:none}
.auth-body .auth-brand::before{background:#ffffff;opacity:.38;-webkit-mask:url(../img/auth-carte-contour.png) right bottom/contain no-repeat;mask:url(../img/auth-carte-contour.png) right bottom/contain no-repeat}
.auth-body .auth-brand::after{background:#ffffff;opacity:.30;-webkit-mask:url(../img/auth-motif.png) 0 0/460px auto repeat,url(../img/auth-carte.png) right bottom/contain no-repeat;-webkit-mask-composite:source-in;mask:url(../img/auth-motif.png) 0 0/460px auto repeat,url(../img/auth-carte.png) right bottom/contain no-repeat;mask-composite:intersect}
.auth-body .auth-brand__logo{width:min(440px,100%);aspect-ratio:440/96;padding:0;border-radius:0;background:url(../img/logo-blanc.svg) left center/contain no-repeat;box-shadow:none}
.auth-body .auth-brand__logo img{opacity:0}
.auth-body .auth-brand__text{max-width:540px;margin-top:40px}
.auth-body .auth-brand__text h2{font-size:30px}
.auth-body .auth-brand__text h2::after{content:"";display:block;width:56px;height:3px;margin-top:18px;border-radius:2px;background:#e79010}
.auth-body .auth-brand__text p{margin-top:16px;color:rgba(255,255,255,.8)}
/* Colonne formulaire : titre marine souligné or, bouton orange comme les boutons primaires du MPE TGR. */
.auth-body .auth-title::after{content:"";display:block;width:48px;height:3px;margin:14px auto 0;border-radius:2px;background:#EBDDAA}
.auth-body .auth-heading__icon{background:#FFF4E5;color:#e79010}
.auth-body .auth-form .form-control:focus,.auth-body .auth-form .input-material:focus{border-color:#e79010}
.auth-body .auth-actions .btn-primary:hover{filter:none;background:#cf7f0a}
@media (max-width:900px){.auth-body .auth-brand{box-shadow:inset 0 -4px 0 #e79010}.auth-body .auth-brand::before,.auth-body .auth-brand::after{right:16px;bottom:14px;width:38%;height:calc(100% - 28px);min-height:0}.auth-body .auth-brand__logo{width:min(300px,100%)}.auth-body .auth-brand__text{margin-top:18px}.auth-body .auth-brand__text h2{font-size:20px}.auth-body .auth-brand__text h2::after{margin-top:12px}.auth-body .auth-brand__text p{margin-top:10px}}

/* ===================== TGR premium : gabarit (en-tête, menu latéral, contenu) ===================== */
body:has(.side-navbar){background:#F4F6F9!important}
body:has(.side-navbar) .page{background:#F4F6F9!important}
body:has(.side-navbar) header.header{height:150px!important;background-position:0 -10px!important;background-color:#ffffff!important;border-bottom:1px solid #E6EAF0!important;box-shadow:0 1px 3px rgba(16,24,40,.04)!important}
body:has(.side-navbar) .header-infos{bottom:18px!important;left:28px!important}
body:has(.side-navbar) .header-infos a,body:has(.side-navbar) .nav-menu a.nav-link.logout{display:inline-flex!important;align-items:center;gap:6px;height:34px;padding:0 14px!important;border:1px solid #D5DBE4!important;border-radius:999px!important;background:#ffffff!important;color:#1E4E7C!important;font-size:12px!important;font-weight:600!important;letter-spacing:.02em;text-decoration:none!important;transition:border-color .15s,background-color .15s}
body:has(.side-navbar) .header-infos a:hover,body:has(.side-navbar) .nav-menu a.nav-link.logout:hover{border-color:#1E4E7C!important;background:#F7F9FC!important}
body:has(.side-navbar) .header-infos a i{color:#e79010!important}
body:has(.side-navbar) .nav-menu a.nav-link.logout i{color:#D92D20!important}
body:has(.side-navbar) .container-fluid.pl-0:has(.logout){position:absolute;right:28px;bottom:18px;width:auto!important;padding:0!important}
body:has(.side-navbar) a#toggle-btn{position:static!important;top:auto!important;left:auto!important;width:38px;height:38px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;border:1px solid #E6EAF0;border-radius:10px;background:#ffffff!important;padding:0!important;box-shadow:0 1px 2px rgba(16,24,40,.05)}
body:has(.side-navbar) a#toggle-btn span{width:18px!important;background:#1E4E7C!important;margin:2px auto!important}
body:has(.side-navbar) nav.side-navbar{background:#ffffff!important;border-right:1px solid #E6EAF0!important;box-shadow:none!important}
body:has(.side-navbar) nav.side-navbar .sidebar-header{padding:22px 20px!important;border-bottom:1px solid #EEF0F4!important;background:#ffffff!important}
body:has(.side-navbar) nav.side-navbar .sidebar-header h1{margin:0!important;font-size:14px!important;font-weight:700!important}
body:has(.side-navbar) nav.side-navbar .sidebar-header h1 a{display:flex;align-items:center;gap:10px;color:#1E4E7C!important;text-decoration:none!important}
body:has(.side-navbar) nav.side-navbar .sidebar-header h1 a i{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#EEF4FA;color:#1E4E7C!important;font-size:20px!important;margin:0!important}
body:has(.side-navbar) nav.side-navbar > ul{padding:10px 10px 16px!important}
body:has(.side-navbar) nav.side-navbar ul li a{display:flex!important;align-items:center;gap:10px;min-height:42px;margin:2px 0!important;padding:0 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#3F4254!important;font-size:13.5px!important;font-weight:500!important;text-decoration:none!important;transition:background-color .15s,color .15s}
body:has(.side-navbar) nav.side-navbar ul li a i{color:#7A8394!important;font-size:15px!important;margin:0!important;width:18px;text-align:center}
body:has(.side-navbar) nav.side-navbar ul li a:hover{background:#F5F8FC!important;color:#1E4E7C!important}
body:has(.side-navbar) nav.side-navbar ul li a[data-toggle="collapse"],body:has(.side-navbar) nav.side-navbar ul li a[data-bs-toggle="collapse"]{font-weight:600!important;color:#1E2330!important}
body:has(.side-navbar) nav.side-navbar ul ul{padding:0 0 4px!important;margin:0!important;background:transparent!important}
body:has(.side-navbar) nav.side-navbar ul ul li a{min-height:36px;padding-left:40px!important;font-size:13px!important;color:#5E6278!important}
body:has(.side-navbar) nav.side-navbar ul li.active > a{background:#FFF4E5!important;color:#1E4E7C!important;font-weight:600!important;box-shadow:inset 3px 0 0 #e79010!important}
body:has(.side-navbar) nav.side-navbar ul li.active > a i{color:#e79010!important}
body:has(.side-navbar) .content-inner{background:#F4F6F9!important;box-shadow:none!important}
body:has(.side-navbar) .content-inner > header.page-header{background:#ffffff!important;border-bottom:1px solid #E6EAF0!important;box-shadow:none!important;padding:18px 0!important}
body:has(.side-navbar) .content-inner > header.page-header h2{font-size:20px!important;font-weight:600!important;color:#1E4E7C!important;margin:0!important}
body:has(.side-navbar) .content-inner > section{padding:24px 28px!important}
body:has(.side-navbar) .content-inner > section > .container-fluid{padding:0!important}
body:has(.side-navbar) .main-footer{background:transparent!important;border-top:1px solid #E6EAF0!important;color:#7A8394!important}
body:has(.side-navbar) .main-footer p{font-size:12.5px!important;color:#7A8394!important;margin:0!important}
/* ===================== TGR premium : accueil ===================== */
body:has(.side-navbar) .content-inner .bg-white.has-shadow.rounded{border:1px solid #E6EAF0!important;border-radius:12px!important;box-shadow:0 1px 3px rgba(16,24,40,.04)!important;padding:24px 28px!important;color:#3F4254!important;font-size:14px!important;line-height:1.65!important}
body:has(.side-navbar) .content-inner .bg-white.has-shadow.rounded strong:first-child,body:has(.side-navbar) .content-inner .bg-white.has-shadow.rounded > p:first-child{color:#1E4E7C!important}
body:has(.side-navbar) .content-inner .bg-white.has-shadow.row:has(.types-doc-container){background:transparent!important;box-shadow:none!important;padding:0!important;margin:0 -8px!important}
body:has(.side-navbar) .content-inner .bg-white.has-shadow.row:has(.types-doc-container) > [class*="col-"]{padding:8px!important;margin:0!important}
body:has(.side-navbar) .card:has(> .types-doc-container){flex:1 1 auto;margin:0!important;border:1px solid #E6EAF0!important;border-radius:12px!important;background:#ffffff!important;box-shadow:0 1px 3px rgba(16,24,40,.04)!important;overflow:hidden}
body:has(.side-navbar) .types-doc-container{background:#ffffff!important;border-radius:0!important;padding:20px 0 0!important}
body:has(.side-navbar) .types-doc-container > .px-4{padding:0 22px!important}
body:has(.side-navbar) .types-doc-container h2{font-size:16px!important;line-height:1.4!important;margin:0 0 14px!important;padding:0 0 12px!important;border-bottom:1px solid #EBDDAA!important}
body:has(.side-navbar) .types-doc-container h2 strong{font-weight:600!important;color:#7A5C00!important}
body:has(.side-navbar) .types-doc-container .mb-1.d-flex{min-height:38px;margin:0!important;border-bottom:1px solid #F1F3F6}
body:has(.side-navbar) .types-doc-container .mb-1.d-flex > span{font-size:13.5px!important;font-weight:500;color:#3F4254!important}
body:has(.side-navbar) .types-doc-container .legend-values{gap:6px!important}
body:has(.side-navbar) .types-doc-container .legend-values a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;font-size:13px!important;font-weight:700!important;text-decoration:none!important;transition:transform .15s}
body:has(.side-navbar) .types-doc-container .legend-values a:hover{transform:translateY(-1px)}
body:has(.side-navbar) .types-doc-container .legend-values a.text-danger{background:#FDECEC;color:#C62828!important}
body:has(.side-navbar) .types-doc-container .legend-values a.text-warning{background:#FFF4E5;color:#B54708!important}
body:has(.side-navbar) .types-doc-container .legend-values a.text-info{background:#E6F4F8;color:#0E7490!important}
body:has(.side-navbar) .types-doc-container .legend-values a.text-secondary{background:#F3F4F6;color:#5E6278!important}
body:has(.side-navbar) .legend-box{margin:16px 0 0!important;border-radius:0!important;box-shadow:none!important;border-top:1px solid #EEF0F4}
body:has(.side-navbar) .legend-box .legend-toggle{height:40px;padding:0 22px!important;border:0!important;border-radius:0!important;background:#F7F9FC!important;color:#1E4E7C!important;font-size:13px!important;font-weight:600!important;gap:8px;box-shadow:none!important}
body:has(.side-navbar) .legend-box .legend-toggle:hover{background:#EEF4FA!important}
body:has(.side-navbar) .legend-box .legend-toggle i{color:#e79010!important;font-size:12px!important}
body:has(.side-navbar) .legend-box .legend-content{background:#ffffff!important;color:#3F4254!important;font-size:12.5px!important;line-height:1.55}
body:has(.side-navbar) .legend-box .legend-content > div{display:flex;align-items:flex-start;gap:8px;padding:6px 22px}
body:has(.side-navbar) .legend-box .legend-dot{flex:none;width:10px;height:10px;margin-top:4px;border-radius:50%}
body:has(.side-navbar) .container-fluid.pl-0:has(.logout) .navbar-holder{display:flex!important;flex-direction:row-reverse;align-items:center;gap:10px}
body:has(.side-navbar) .container-fluid.pl-0:has(.logout) .navbar-header{margin:0!important}
body:has(.side-navbar) .types-doc-container{padding-bottom:0!important}
body:has(.side-navbar) .card:has(> .types-doc-container) > .types-doc-container > .legend-box,body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box{margin-bottom:0!important}
body:has(.side-navbar) .card:has(> .types-doc-container) > .card-body{padding-bottom:0!important}
body:has(.side-navbar) .content-inner .bg-white.has-shadow.row:has(.types-doc-container){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;margin:0!important;padding:0!important}
body:has(.side-navbar) .content-inner .bg-white.has-shadow.row:has(.types-doc-container) > [class*="col-"]{width:auto!important;max-width:none!important;flex:none!important;padding:0!important;margin:0!important}
@media (max-width:767px){body:has(.side-navbar) .content-inner .bg-white.has-shadow.row:has(.types-doc-container){grid-template-columns:minmax(0,1fr)}}
body:has(.side-navbar) .content-inner .row:has(> .col-xl-12.p-0 > .bg-white.has-shadow.rounded){margin-left:0!important;margin-right:0!important}
body:has(.side-navbar) .content-inner .bg-white.has-shadow.row:has(.types-doc-container) > [class*="col-"]{display:flex!important;flex-direction:column!important}
body:has(.side-navbar) .card:has(> .types-doc-container) > .types-doc-container{display:flex;flex-direction:column;flex:1 1 auto}
body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box{margin-top:auto!important}
body:has(.side-navbar) .card:has(> .types-doc-container){overflow:visible!important}
body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box,body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box .legend-toggle{border-radius:0 0 12px 12px!important}
body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box .legend-content{left:12px!important;right:12px!important;top:calc(100% + 6px)!important;width:auto!important;padding:10px 0!important;border:1px solid #E6EAF0!important;border-radius:10px!important;background:#ffffff!important;box-shadow:0 14px 34px rgba(16,24,40,.16)!important;z-index:30!important}
body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box .legend-content > div{padding:7px 16px!important}
body:has(.side-navbar) .card:has(> .types-doc-container) .legend-box{background:#F7F9FC!important}
body:has(.side-navbar) .card:has(> .types-doc-container) > .types-doc-container{border-radius:12px!important}

/* ===================== TGR premium : menu latéral replié ===================== */
body:has(.side-navbar) nav.side-navbar.shrinked{width:84px!important;min-width:84px!important}
body:has(.side-navbar) nav.side-navbar.shrinked .sidebar-header{justify-content:center!important;padding:18px 8px!important}
body:has(.side-navbar) nav.side-navbar.shrinked .sidebar-header h1 a{font-size:0!important;gap:0;justify-content:center}
body:has(.side-navbar) nav.side-navbar.shrinked .sidebar-header h1 a i{font-size:20px!important}
body:has(.side-navbar) nav.side-navbar.shrinked > ul{padding:10px 8px!important}
body:has(.side-navbar) nav.side-navbar.shrinked ul li a{flex-direction:column!important;justify-content:center!important;gap:4px!important;min-height:58px!important;padding:8px 4px!important;text-align:center!important;font-size:10.5px!important;line-height:1.25!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere}
body:has(.side-navbar) nav.side-navbar.shrinked ul li a i{width:auto!important;font-size:17px!important}
body:has(.side-navbar) nav.side-navbar.shrinked ul li a::after{display:none!important}
body:has(.side-navbar) nav.side-navbar.shrinked ul ul li a{min-height:50px!important;padding:6px 4px!important;font-size:10px!important}
body:has(.side-navbar) nav.side-navbar.shrinked ul li.active > a{box-shadow:inset 0 -3px 0 #e79010!important}
/* ===================== TGR premium : composants communs ===================== */
body:has(.side-navbar) .content-inner .breadcrumb-holder,body:has(.side-navbar) .content-inner .breadcrumb{background:#ffffff!important}
body:has(.side-navbar) .content-inner .breadcrumb-holder{border-bottom:1px solid #E6EAF0!important;padding:0!important}
body:has(.side-navbar) .content-inner .breadcrumb{margin:0!important;padding:10px 0 12px!important;font-size:13px!important}
body:has(.side-navbar) .content-inner .breadcrumb .breadcrumb-item a{color:#5E6278!important;font-weight:500;text-decoration:none!important}
body:has(.side-navbar) .content-inner .breadcrumb .breadcrumb-item a:hover{color:#1E4E7C!important;text-decoration:underline!important}
body:has(.side-navbar) .content-inner .breadcrumb .breadcrumb-item.active{color:#1E4E7C!important;font-weight:600}
body:has(.side-navbar) .content-inner .breadcrumb .breadcrumb-item + .breadcrumb-item::before{color:#A1A5B7!important}
body:has(.side-navbar) .content-inner section .card{border:1px solid #E6EAF0!important;border-radius:12px!important;box-shadow:0 1px 3px rgba(16,24,40,.04)!important;background:#ffffff!important;margin-bottom:18px!important}
body:has(.side-navbar) .content-inner section .card > .card-header{background:#ffffff!important;border:0!important;border-bottom:1px solid #EBDDAA!important;margin:0 22px!important;padding:16px 0 10px!important;border-radius:0!important;box-shadow:none!important}
body:has(.side-navbar) .content-inner section .card > .card-header :is(h3,h4,.h4){margin:0!important;font-size:17px!important;font-weight:600!important;color:#7A5C00!important}
body:has(.side-navbar) .content-inner section .card > .card-body{padding:18px 22px 20px!important}
body:has(.side-navbar) .content-inner .form-control-label,body:has(.side-navbar) .content-inner .col-form-label,body:has(.side-navbar) .content-inner label.form-label{font-size:13px!important;font-weight:600!important;color:#3F4254!important}
body:has(.side-navbar) .content-inner :is(.form-control,.form-select,select.form-control):not(textarea){height:40px!important}
body:has(.side-navbar) .content-inner :is(.form-control,.form-select){border:1px solid #C8CED8!important;border-radius:6px!important;background-color:#ffffff!important;box-shadow:none!important;font-size:13.5px!important;color:#1E2330!important;padding:0 12px!important}
body:has(.side-navbar) .content-inner textarea.form-control{padding:10px 12px!important}
body:has(.side-navbar) .content-inner :is(.form-control,.form-select):focus{border-color:#e79010!important;box-shadow:0 0 0 3px rgba(231,144,16,.22)!important;outline:none!important}
body:has(.side-navbar) .content-inner .form-control::placeholder{color:#A1A5B7!important}
body:has(.side-navbar) .content-inner .input-group > .input-group-addon,body:has(.side-navbar) .content-inner .input-group > .input-group-text,body:has(.side-navbar) .content-inner .input-group .input-group-text{display:flex;align-items:center;padding:0 12px!important;border:1px solid #C8CED8!important;background:#F3F6F9!important;color:#5E6278!important;font-size:12.5px!important;font-weight:600}
body:has(.side-navbar) .content-inner .input-group > .input-group-addon:first-child{border-right:0!important;border-radius:6px 0 0 6px!important}
body:has(.side-navbar) .content-inner .input-group > .input-group-addon:first-child + .form-control{border-radius:0 6px 6px 0!important}
body:has(.side-navbar) .content-inner .input-group > .form-control:first-child:not(:last-child){border-radius:6px 0 0 6px!important;border-right:0!important}
body:has(.side-navbar) .content-inner .input-group > .form-control + .input-group-addon:last-child,body:has(.side-navbar) .content-inner .input-group > .form-control + .input-group-text:last-child{border-radius:0 6px 6px 0!important}
body:has(.side-navbar) .content-inner .form-group.row{margin-bottom:14px!important;align-items:center}
body:has(.side-navbar) .btn{border-radius:6px!important;font-weight:600!important;font-size:13px!important;box-shadow:none!important;transition:background-color .15s,border-color .15s,color .15s}
body:has(.side-navbar) .btn:not(.btn-sm):not(.btn-lg){min-height:38px;padding:0 18px!important;display:inline-flex;align-items:center;justify-content:center;gap:6px}
body:has(.side-navbar) .btn.btn-sm{min-height:32px;padding:0 12px!important;display:inline-flex;align-items:center;gap:6px}
body:has(.side-navbar) .btn-primary{background:#e79010!important;border:1px solid #e79010!important;color:#ffffff!important}
body:has(.side-navbar) .btn-primary:hover,body:has(.side-navbar) .btn-primary:focus{background:#cf7f0a!important;border-color:#cf7f0a!important;color:#ffffff!important}
body:has(.side-navbar) .btn-default,body:has(.side-navbar) .btn-secondary,body:has(.side-navbar) .btn-light{background:#ffffff!important;border:1px solid #e79010!important;color:#1E4E7C!important}
body:has(.side-navbar) .btn-default:hover,body:has(.side-navbar) .btn-secondary:hover,body:has(.side-navbar) .btn-light:hover{background:#FFF4E5!important}
body:has(.side-navbar) .btn-danger{background:#ffffff!important;border:1px solid #D92D20!important;color:#B42318!important}
body:has(.side-navbar) .btn-danger:hover{background:#D92D20!important;color:#ffffff!important}
body:has(.side-navbar) .btn-success{background:#1F9254!important;border:1px solid #1F9254!important;color:#ffffff!important}
body:has(.side-navbar) .btn-success:hover{background:#17784A!important;border-color:#17784A!important}
body:has(.side-navbar) .btn-info{background:#2F6EA8!important;border:1px solid #2F6EA8!important;color:#ffffff!important}
body:has(.side-navbar) .btn-info:hover{background:#1E4E7C!important;border-color:#1E4E7C!important}
body:has(.side-navbar) .content-inner .table-responsive{border:1px solid #E5E7EB;border-radius:8px;overflow:auto}
body:has(.side-navbar) .content-inner .table-responsive > .table{margin:0!important}
body:has(.side-navbar) .content-inner .table{border-collapse:separate!important;border-spacing:0!important;font-size:13px!important;color:#3F4254!important}
body:has(.side-navbar) .content-inner .table > thead,body:has(.side-navbar) .content-inner .table > thead > tr,body:has(.side-navbar) .content-inner .table > thead > tr > th{background:#1E4E7C!important}
body:has(.side-navbar) .content-inner .table > thead > tr > th{color:#ffffff!important;font-size:12.5px!important;font-weight:600!important;line-height:1.4!important;vertical-align:middle!important;padding:12px 14px!important;border:0!important;border-right:1px solid rgba(255,255,255,.12)!important;white-space:normal}
body:has(.side-navbar) .content-inner .table > thead > tr > th:last-child{border-right:0!important}
body:has(.side-navbar) .content-inner .table > thead > tr > th a,body:has(.side-navbar) .content-inner .table > thead > tr > th a.sortable{color:#ffffff!important;text-decoration:none!important;white-space:nowrap}
body:has(.side-navbar) .content-inner .table > thead > tr > th a:hover{color:#FFD9A3!important}
body:has(.side-navbar) .content-inner .table > thead > tr > th a i{color:rgba(255,255,255,.7)!important;margin-left:4px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td{padding:12px 14px!important;vertical-align:middle!important;border:0!important;border-bottom:1px solid #EEF0F4!important;background:#ffffff!important}
body:has(.side-navbar) .content-inner .table-striped > tbody > tr:nth-of-type(odd) > td{background:#FAFBFD!important}
body:has(.side-navbar) .content-inner .table > tbody > tr:hover > td{background:#F3F6FA!important}
body:has(.side-navbar) .content-inner .table > tbody > tr:last-child > td{border-bottom:0!important}
body:has(.side-navbar) .content-inner .pagination{gap:6px;margin:14px 0 0!important}
body:has(.side-navbar) .content-inner .pagination .page-item .page-link{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #D5DBE4!important;border-radius:6px!important;color:#1E4E7C!important;font-size:13px;font-weight:600;background:#ffffff!important}
body:has(.side-navbar) .content-inner .pagination .page-item.active .page-link{background:#1E4E7C!important;border-color:#1E4E7C!important;color:#ffffff!important}
body:has(.side-navbar) .content-inner .pagination .page-item.disabled .page-link{color:#A1A5B7!important;background:#F7F8FA!important}
body:has(.side-navbar) .content-inner .breadcrumb{padding:10px 30px 12px!important}
body:has(.side-navbar) .content-inner .card-body > span:first-child,body:has(.side-navbar) .content-inner .card-body > div > span:only-child{font-size:13px!important;font-weight:600!important;color:#5E6278!important}
body:has(.side-navbar) .content-inner .card-body .table-responsive{margin:10px 0!important}
body:has(.side-navbar) nav.side-navbar.shrinked{width:92px!important;min-width:92px!important}
body:has(.side-navbar) nav.side-navbar.shrinked ul li a{overflow-wrap:normal!important;word-break:keep-all!important;hyphens:none}
body:has(.side-navbar) nav.side-navbar.shrinked ul li a[data-toggle="collapse"]{font-size:9.5px!important;letter-spacing:-.1px}
body:has(.side-navbar) nav.side-navbar.shrinked ul li a[data-toggle="collapse"]::before{display:none!important}

/* ===================== TGR premium : en-tête, « Retour au portail » à droite (la carte du logo reste visible) ===================== */
body:has(.side-navbar) .header-infos{position:absolute!important;left:auto!important;right:258px!important;top:auto!important;bottom:21px!important}
/* ===================== TGR premium : boutons radio et curseurs ===================== */
body:has(.side-navbar) .content-inner .form-group > [id]:has(> .i-checks){display:flex!important;flex-wrap:wrap;gap:12px}
body:has(.side-navbar) .content-inner .i-checks:has(> input.radio-template){display:flex;align-items:center;gap:10px;min-width:220px;margin:0!important;padding:12px 18px;border:1px solid #D5DBE4;border-radius:10px;background:#ffffff;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}
body:has(.side-navbar) .content-inner .i-checks:has(> input.radio-template):hover{border-color:#2F6EA8}
body:has(.side-navbar) .content-inner .i-checks:has(> input.radio-template:checked){border-color:#1E4E7C;background:#EEF4FA;box-shadow:0 0 0 3px rgba(30,78,124,.08)}
body:has(.side-navbar) .content-inner .i-checks > input.radio-template + label{margin:0!important;font-size:14px!important;font-weight:600!important;color:#1E2330!important;cursor:pointer}
body:has(.side-navbar) .content-inner input.radio-template{position:relative;flex:none;width:18px!important;height:18px!important;margin:0!important;-webkit-appearance:none;appearance:none;transform:none!important;cursor:pointer}
body:has(.side-navbar) .content-inner input.radio-template::before{position:absolute;top:0;left:0;margin:0!important;transform:none!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#ffffff!important;border:2px solid #C8CED8!important;box-sizing:border-box!important;transition:border-color .15s,background-color .15s}
body:has(.side-navbar) .content-inner input.radio-template::after{content:none!important}
body:has(.side-navbar) .content-inner .i-checks:has(> input.radio-template):hover input.radio-template:not(:checked)::before{border-color:#2F6EA8!important}
body:has(.side-navbar) .content-inner input.radio-template:checked::before{border-color:#1E4E7C!important;background:#1E4E7C!important;box-shadow:inset 0 0 0 3px #ffffff!important}
body:has(.side-navbar) .content-inner .irs .irs-line{top:25px!important;height:6px!important;border:0!important;border-radius:999px!important;background:#E6EAF0!important}
body:has(.side-navbar) .content-inner .irs .irs-line > span{background:none!important}
body:has(.side-navbar) .content-inner .irs .irs-bar{top:25px!important;height:6px!important;border:0!important;border-radius:999px!important;background:#e79010!important;background-image:none!important}
body:has(.side-navbar) .content-inner .irs .irs-slider{top:19px!important;width:18px!important;height:18px!important;border:2px solid #1E4E7C!important;border-radius:50%!important;background:#ffffff!important;background-image:none!important;box-shadow:0 1px 4px rgba(16,24,40,.25)!important;cursor:grab}
body:has(.side-navbar) .content-inner .irs .irs-slider:hover,body:has(.side-navbar) .content-inner .irs .irs-slider.state_hover{background:#EEF4FA!important}
body:has(.side-navbar) .content-inner .irs .irs-from,body:has(.side-navbar) .content-inner .irs .irs-to,body:has(.side-navbar) .content-inner .irs .irs-single{padding:1px 7px!important;border-radius:6px!important;background:#1E4E7C!important;color:#ffffff!important;font-size:11px!important;font-weight:700!important;text-shadow:none!important}
body:has(.side-navbar) .content-inner .irs .irs-from::after,body:has(.side-navbar) .content-inner .irs .irs-to::after,body:has(.side-navbar) .content-inner .irs .irs-single::after{border-top-color:#1E4E7C!important}
body:has(.side-navbar) .content-inner .irs .irs-min,body:has(.side-navbar) .content-inner .irs .irs-max{padding:1px 6px!important;border-radius:4px!important;background:#F3F4F6!important;color:#5E6278!important;font-size:11px!important;font-weight:600!important;text-shadow:none!important}
body:has(.side-navbar) .header-infos a{font-family:Poppins,sans-serif!important}

/* ===================== TGR premium : sélecteur de dates (daterangepicker) ===================== */
body:has(.side-navbar) .daterangepicker{border:1px solid #E6EAF0!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(16,24,40,.14),0 2px 6px rgba(16,24,40,.06)!important;padding:12px!important;margin-top:8px!important;font-family:Poppins,sans-serif}
body:has(.side-navbar) .daterangepicker::before{border-bottom-color:#E6EAF0!important}
body:has(.side-navbar) .daterangepicker .calendar{width:236px;max-width:236px!important;margin:0!important}
body:has(.side-navbar) .daterangepicker .calendar.left{padding-right:12px!important;margin-right:12px!important;border-right:1px solid #EEF0F4}
body:has(.side-navbar) .daterangepicker .calendar-table,body:has(.side-navbar) .daterangepicker .calendar.left .calendar-table{border:0!important;padding:0!important;background:transparent!important}
body:has(.side-navbar) .daterangepicker .daterangepicker_input{position:relative;padding-right:0!important;margin-bottom:8px}
body:has(.side-navbar) .daterangepicker .input-mini{width:100%;height:32px!important;padding:0 10px 0 30px!important;border:1px solid #D5DBE4!important;border-radius:8px!important;background:#F7F9FC!important;box-shadow:none!important;font-size:12.5px!important;font-weight:600;color:#1E2330!important}
body:has(.side-navbar) .daterangepicker .input-mini.active{border-color:#e79010!important;background:#ffffff!important;box-shadow:0 0 0 3px rgba(231,144,16,.15)!important}
body:has(.side-navbar) .daterangepicker .daterangepicker_input i{top:9px!important;left:10px!important;color:#A1A5B7!important;font-size:12px}
body:has(.side-navbar) .daterangepicker thead{background:transparent!important;color:inherit!important}
body:has(.side-navbar) .daterangepicker th.month{font-size:13px!important;font-weight:700!important;color:#1E4E7C!important}
body:has(.side-navbar) .daterangepicker th.prev,body:has(.side-navbar) .daterangepicker th.next{border-radius:8px!important;color:#1E4E7C!important}
body:has(.side-navbar) .daterangepicker th.prev.available:hover,body:has(.side-navbar) .daterangepicker th.next.available:hover{background:#EEF4FA!important}
body:has(.side-navbar) .daterangepicker th.prev i,body:has(.side-navbar) .daterangepicker th.next i{font-size:11px}
body:has(.side-navbar) .daterangepicker thead tr:nth-child(2) th{height:24px!important;font-size:10px!important;font-weight:600!important;color:#A1A5B7!important;text-transform:uppercase;letter-spacing:.04em}
body:has(.side-navbar) .daterangepicker th.week,body:has(.side-navbar) .daterangepicker td.week{width:22px!important;min-width:22px!important;font-size:9.5px!important;font-weight:500!important;color:#C8CED8!important}
body:has(.side-navbar) .daterangepicker td,body:has(.side-navbar) .daterangepicker th{width:30px!important;min-width:30px!important;height:26px!important;line-height:26px!important;padding:0!important;border:0!important}
body:has(.side-navbar) .daterangepicker td{border-radius:6px!important;font-size:12px!important;font-weight:500;color:#3F4254}
body:has(.side-navbar) .daterangepicker td.weekend{color:#5E6278}
body:has(.side-navbar) .daterangepicker td.available:hover{background:#EEF4FA!important;color:#1E4E7C!important}
body:has(.side-navbar) .daterangepicker td.today:not(.active){box-shadow:inset 0 0 0 1.5px #1E4E7C;color:#1E4E7C;font-weight:700}
body:has(.side-navbar) .daterangepicker td.in-range{background:#FFF4E5!important;color:#8A5300!important;border-radius:0!important}
body:has(.side-navbar) .daterangepicker td.start-date{border-radius:6px 0 0 6px!important}
body:has(.side-navbar) .daterangepicker td.end-date{border-radius:0 6px 6px 0!important}
body:has(.side-navbar) .daterangepicker td.start-date.end-date{border-radius:6px!important}
body:has(.side-navbar) .daterangepicker td.active,body:has(.side-navbar) .daterangepicker td.active:hover{background:#e79010!important;color:#ffffff!important;font-weight:700}
body:has(.side-navbar) .daterangepicker td.off,body:has(.side-navbar) .daterangepicker td.off.in-range,body:has(.side-navbar) .daterangepicker td.off.start-date,body:has(.side-navbar) .daterangepicker td.off.end-date{background:transparent!important;color:#C8CED8!important;box-shadow:none}
body:has(.side-navbar) .daterangepicker td.disabled{color:#C8CED8!important;text-decoration:line-through}
body:has(.side-navbar) .daterangepicker .ranges{float:none!important;clear:both;width:auto!important;margin:10px 0 0!important;padding-top:10px;border-top:1px solid #EEF0F4}
body:has(.side-navbar) .daterangepicker .range_inputs{display:flex;justify-content:flex-end;gap:8px}
body:has(.side-navbar) .daterangepicker .range_inputs .btn{height:32px;padding:0 14px!important;border-radius:6px!important;font-size:12.5px!important;font-weight:600!important}
body:has(.side-navbar) .daterangepicker .range_inputs .applyBtn{border:1px solid #e79010!important;background:#e79010!important;color:#ffffff!important}
body:has(.side-navbar) .daterangepicker .range_inputs .applyBtn:not([disabled]):hover{border-color:#cf7f0a!important;background:#cf7f0a!important}
body:has(.side-navbar) .daterangepicker .range_inputs .applyBtn[disabled]{opacity:.45}
body:has(.side-navbar) .daterangepicker .range_inputs .cancelBtn{border:1px solid #D5DBE4!important;background:#ffffff!important;color:#3F4254!important}
body:has(.side-navbar) .daterangepicker .range_inputs .cancelBtn:hover{border-color:#1E4E7C!important;color:#1E4E7C!important}
/* Tableaux des demandes / restitutions : boutons d'action carrés de 32px, icônes de document et de signature, statut et agent plus lisibles */
body:has(.side-navbar) .content-inner .table > tbody > tr > td .btn.btn-xs:not([style*="none"]):not(.d-none):not(.hidden){display:inline-flex!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .btn.btn-xs{align-items:center;justify-content:center;gap:3px;min-width:32px;width:auto;min-height:0!important;height:32px;margin:2px!important;padding:0 9px!important;border-radius:7px!important;font-size:13px!important;line-height:1!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .btn.btn-xs:not(:has(> i + i)){width:32px;padding:0!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .btn.btn-xs > i{margin:0!important;font-size:13px!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .btn.btn-xs > i.fa-groupe{font-size:9px!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td a > i:is(.fa-download,.fa-file-pdf-o){font-size:17px!important;vertical-align:-2px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td i.ion-ribbon-b:not(.btn i){font-size:17px!important;vertical-align:-2px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td i:is(.fa-check-circle,.fa-times-circle){font-size:15px!important;vertical-align:-1px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td small{font-size:12.5px!important;line-height:1.5!important;color:#3F4254}
body:has(.side-navbar) .content-inner .table > tbody > tr > td > .label{display:inline-block;padding:4px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:0!important}
/* Tableau des demandes : cellules mises en forme (date, entreprise et montant, consultation et date limite, documents) */
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.pull-top:first-child){white-space:nowrap}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.pull-top:first-child) > span.pull-top{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0 8px 0 0;border-radius:8px;background:#EEF4FA;vertical-align:top}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.pull-top:first-child) > span.pull-top > i{color:#1E4E7C!important;font-size:12px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.pull-top:first-child) > span:last-child{display:inline-block;vertical-align:top;color:#1E2330;font-weight:600;line-height:1.45}
body:has(.side-navbar) .content-inner .table > tbody > tr > td.text-bold{color:#1E4E7C}
body:has(.side-navbar) .content-inner .table > tbody > tr > td.text-bold > label{margin:0;color:#1E4E7C;font-size:13.5px;font-weight:700;cursor:help}
body:has(.side-navbar) .content-inner .table > tbody > tr > td.text-bold > small{color:#6B7280;font-weight:500}
body:has(.side-navbar) .content-inner .table > tbody > tr > td.text-bold > .margin-top-10{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:#1E2330;font-size:14px;font-weight:700}
body:has(.side-navbar) .content-inner .table > tbody > tr > td.text-bold > .margin-top-10 > i.badge{padding:2px 7px;border-radius:999px;background:#EEF4FA!important;color:#1E4E7C!important;font-size:10.5px;font-style:normal;font-weight:700}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(.label-date) .text-bold{color:#1E4E7C}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(.label-date) .font-italic{color:#6B7280;font-size:12.5px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(.label-date) > .margin-top-10{display:flex;align-items:center;gap:6px;margin-top:8px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(.label-date) > .margin-top-10 > span.pull-top{display:none}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .label-date{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.3}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .label-date::before{content:"\f073";font-family:FontAwesome;font-weight:normal;font-size:11px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .label-date.bg-aqua{background:#EEF4FA!important;color:#1E4E7C!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .label-date.bg-yellow{background:#FFF8EC!important;color:#B86E00!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .label-date.bg-red{background:#FEF3F2!important;color:#B42318!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .label-date.bg-gray{background:#F2F4F7!important;color:#667085!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td a:not(.btn):has(> i.fa-download){display:inline-flex;align-items:center;gap:4px;margin:0 0 6px;padding:5px 10px;border:1px solid #F5D9A8;border-radius:8px;background:#FFF8EC;color:#e79010!important;text-decoration:none!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td a:not(.btn):has(> i.fa-download):hover{border-color:#e79010;background:#FDEBD0}
body:has(.side-navbar) .content-inner .table > tbody > tr > td a[title="Télécharger la caution"]{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0 0 6px;padding:5px 10px;border:1px solid #DCE7F3;border-radius:8px;background:#F5F8FC;color:#1E4E7C!important;font-size:12.5px;font-weight:600;text-decoration:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:has(.side-navbar) .content-inner .table > tbody > tr > td a[title="Télécharger la caution"]::before{content:"\f1c1";flex:none;color:#e79010;font-family:FontAwesome;font-size:14px;font-weight:normal}
body:has(.side-navbar) .content-inner .table > tbody > tr > td a[title="Télécharger la caution"]:hover{border-color:#1E4E7C;background:#EEF4FA}
body:has(.side-navbar) .content-inner .table a[data-toggle="modal"]:focus:not(:focus-visible){outline:none}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.label){min-width:180px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td small:has(> i.fa-user){display:inline-flex;align-items:center;gap:6px;margin-top:6px;white-space:nowrap}
body:has(.side-navbar) .content-inner .table > tbody > tr > td small > i.fa-user{margin:0!important;color:#1E4E7C!important;font-size:12px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.label) > span.pull-top{display:inline-flex;margin:6px 6px 0 0;vertical-align:middle}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.label) > span.pull-top > i{color:#1E4E7C!important;font-size:12px}
body:has(.side-navbar) .content-inner .table > tbody > tr > td:has(> span.label) > span.pull-top + small{white-space:nowrap}

/* Fenêtres (toutes) : coins arrondis, titre bleu, croix ronde, pied gris avec boutons à droite ; « Détail de la signature » : cartes du certificat et contrôles en pastilles */
body:has(.modal.show) .modal-backdrop.show{background:#0C1E34;opacity:.5}
body .modal[id^="modal-signature"] .modal-dialog{max-width:min(780px,calc(100vw - 32px))}
body .modal .modal-content{overflow:hidden;border:0;border-radius:14px;box-shadow:0 24px 60px rgba(16,24,40,.25)}
body .modal .modal-header{align-items:center;padding:16px 22px;border-bottom:1px solid #EEF0F4;background:#ffffff}
body .modal .modal-title{color:#1E4E7C;font-size:18px;font-weight:600}
body .modal .modal-header .close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 0 0 auto;padding:0;border-radius:50%;background:#F3F4F6;color:#3F4254;font-size:20px;opacity:1;text-shadow:none}
body .modal .modal-header .close:hover{background:#E5E7EB}
body .modal .modal-body{padding:20px 22px}
body .modal[id^="modal-signature"] .modal-body > br{display:none}
body .modal[id^="modal-signature"] .modal-body .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;font-size:13px!important}
body .modal[id^="modal-signature"] .modal-body .form-horizontal ~ .row{margin-top:12px}
body .modal[id^="modal-signature"] .modal-body .row > [class*="col-"]{flex:none;width:auto;max-width:none;padding:0}
body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"]{padding:12px 14px;border:1px solid #E6EAF0;border-radius:10px;background:#F7F9FC;color:#1E2330;line-height:1.7}
body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"] > strong,body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"] > .mb-3 > b{display:block;margin:0 0 6px;padding:0 0 6px;border-bottom:1px solid #E6EAF0;color:#1E4E7C;font-weight:600}
body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"] > strong + br,body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"] > .mb-3 > b + br{display:none}
body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"] > .mb-3{margin:0 0 10px!important}
body .modal[id^="modal-signature"] .modal-body .form-horizontal .row > [class*="col-"] > .mb-3 + div,body .modal[id^="modal-signature"] .modal-body > .row > [class*="col-"]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:1px solid #E6EAF0;border-radius:10px;background:#ffffff;color:#1E2330;font-weight:600}
body .modal[id^="modal-signature"] .modal-body :is(strong,b){font-weight:600}
body .modal[id^="modal-signature"] .modal-body i:is(.fa-check-circle,.fa-times-circle){font-size:17px}
body .modal .modal-footer{justify-content:flex-end;padding:14px 22px;border-top:1px solid #EEF0F4;background:#F7F8FA}
body .modal .modal-footer .btn{float:none!important;min-width:110px}
@media (max-width:700px){body .modal[id^="modal-signature"] .modal-body .row{grid-template-columns:1fr}}
/* Fenêtres : largeur selon le contenu, texte de confirmation, formulaires (libellé à gauche, champs de 38px) et tableau de l'historique */
body .modal .modal-dialog{max-width:min(620px,calc(100vw - 32px))}
body .modal:has(.modal-body table) .modal-dialog{max-width:min(860px,calc(100vw - 32px))}
body .modal .modal-header .modal-title{margin:0}
body .modal .modal-body{color:#3F4254;font-size:13.5px}
body .modal .modal-body > p:only-child{margin:0;padding:14px 16px;border-left:3px solid #e79010;border-radius:8px;background:#FFF8EC;color:#5E4A1E;font-weight:500}
body .modal .modal-body .form-group.row{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0 0 14px}
body .modal .modal-body .form-group.row:last-child{margin-bottom:0}
body .modal .modal-body .form-group.row > .form-control-label{flex:none;max-width:none;margin:0;padding:0;color:#3F4254;font-size:13px;font-weight:600}
body .modal .modal-body .form-group.row > [class*="col-sm-7"]{flex:1 1 auto;max-width:none;padding:0}
body .modal .modal-body :is(input.form-control,select.form-control){height:38px;border:1px solid #C8CED8;border-radius:8px;box-shadow:none;font-size:13px}
body .modal .modal-body textarea.form-control{min-height:96px;border:1px solid #C8CED8;border-radius:8px;box-shadow:none;font-size:13px}
body .modal .modal-body .form-control:focus{border-color:#e79010;box-shadow:0 0 0 3px rgba(231,144,16,.18)}
body .modal .modal-body .table{overflow:hidden;margin:0;border:1px solid #E5E7EB;border-collapse:separate!important;border-spacing:0;border-radius:10px;font-size:13px}
body .modal .modal-body .table > thead > tr > th{padding:11px 14px;border:0!important;background:#1E4E7C!important;color:#ffffff!important;font-size:12.5px;font-weight:600;vertical-align:middle}
body .modal .modal-body .table > tbody > tr > td{padding:11px 14px;border:0!important;border-top:1px solid #EEF1F5!important;color:#3F4254;vertical-align:middle}
body .modal .modal-footer{gap:10px}
body .modal .modal-footer > *{margin:0!important}
body .modal .modal-footer .btn.pull-left{order:-1}
/* Accueil banque (APP_UI_ALT=0) : carte de bienvenue et quatre cartes de délais (rouge < 24h, orange < 48h, bleu > 48h, gris dépassé) */
body:has(.side-navbar) .content-inner .dashboard-counts > .container-fluid > .row:first-child{margin:0 0 20px!important}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow:not(.row){padding:0!important;border:1px solid #E6EAF0!important;border-radius:12px!important;box-shadow:0 1px 3px rgba(16,24,40,.04)!important}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20{padding:22px 26px!important;color:#3F4254;font-size:14px;line-height:1.65}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20 > p{margin:0 0 6px}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20 > p:first-child{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid #EBDDAA;color:#1E4E7C;font-size:16px}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20 > p:last-child{margin:0}
body:has(.side-navbar) .content-inner .dashboard-counts > .container-fluid > .row:not(:first-child){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0!important}
body:has(.side-navbar) .content-inner .dashboard-counts > .container-fluid > .row:not(:first-child) > [class*="col-"]{width:auto;max-width:none;flex:none;padding:0!important}
body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray){--tgr-accent:#D92D20;--tgr-soft:#FEF3F2;--tgr-ink:#B42318;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));margin:0!important;overflow:hidden;border:1px solid #E6EAF0;border-top:8px solid var(--tgr-accent);border-radius:12px;background:#ffffff!important;color:#1E2330!important;box-shadow:0 1px 3px rgba(16,24,40,.05)}
body:has(.side-navbar) .content-inner .dashboard-counts .row.bg-yellow{--tgr-accent:#e79010;--tgr-soft:#FFF8EC;--tgr-ink:#B86E00}
body:has(.side-navbar) .content-inner .dashboard-counts .row.bg-aqua{--tgr-accent:#2F6EA8;--tgr-soft:#EEF4FA;--tgr-ink:#1E4E7C}
body:has(.side-navbar) .content-inner .dashboard-counts .row.bg-gray{--tgr-accent:#98A2B3;--tgr-soft:#F2F4F7;--tgr-ink:#475467}
body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray) > [class*="col-"]{width:auto;max-width:none;flex:none;padding:20px 22px!important;border-right:1px solid #EEF1F5!important}
body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray) > [class*="col-"]:last-child{border-right:0!important}
body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray) h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#1E2330!important;font-size:17px;font-weight:700}
body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray) h3::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--tgr-accent)}
body:has(.side-navbar) .content-inner .dashboard-counts .small-box{margin:0;padding:0;border:0;background:none!important;box-shadow:none}
body:has(.side-navbar) .content-inner .dashboard-counts .small-box > .inner:empty{display:none}
body:has(.side-navbar) .content-inner .dashboard-counts .small-box > a.small-box-footer{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--tgr-soft)!important;color:var(--tgr-ink)!important;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s}
body:has(.side-navbar) .content-inner .dashboard-counts .small-box > a.small-box-footer > i{color:inherit!important;font-size:14px}
body:has(.side-navbar) .content-inner .dashboard-counts .small-box > a.small-box-footer:hover{background:var(--tgr-accent)!important;color:#ffffff!important}
@media (max-width:991px){body:has(.side-navbar) .content-inner .dashboard-counts > .container-fluid > .row:not(:first-child){grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray){grid-template-columns:minmax(0,1fr)}body:has(.side-navbar) .content-inner .dashboard-counts .row:is(.bg-red,.bg-yellow,.bg-aqua,.bg-gray) > [class*="col-"]{border-right:0!important;border-bottom:1px solid #EEF1F5}}
/* ===== Messages : erreur, alerte, info, succès (flash .card.bg-* et .alert-*) ===== */
body .card.text-white:is(.bg-danger,.bg-warning,.bg-info,.bg-success),body:has(.side-navbar) .content-inner section .card.text-white:is(.bg-danger,.bg-warning,.bg-info,.bg-success),body:has(.side-navbar) .alert:is(.alert-danger,.alert-error,.alert-warning,.alert-info,.alert-success){position:relative!important;margin:0 0 16px!important;padding:14px 18px 14px 58px!important;border:1px solid #E6EAF0!important;border-left-width:4px!important;border-radius:10px!important;box-shadow:none!important;font-size:14px!important;line-height:1.45!important;text-align:left!important}
body .card.text-white:is(.bg-danger,.bg-warning,.bg-info,.bg-success)::before,body:has(.side-navbar) .alert:is(.alert-danger,.alert-error,.alert-warning,.alert-info,.alert-success)::before{content:"";position:absolute;top:50%;left:18px;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:no-repeat center/16px 16px}
body .card.text-white:is(.bg-danger,.bg-warning,.bg-info,.bg-success) > .card-body,body:has(.side-navbar) .content-inner section .card.text-white:is(.bg-danger,.bg-warning,.bg-info,.bg-success) > .card-body{padding:0!important;background:none!important}
body .card.text-white:is(.bg-danger,.bg-warning,.bg-info,.bg-success) .card-text{margin:0!important;color:inherit!important;font-size:inherit!important}
body .card.text-white.bg-danger,body:has(.side-navbar) .content-inner section .card.text-white.bg-danger,body:has(.side-navbar) .alert:is(.alert-danger,.alert-error){border-color:#F5C2BD!important;border-left-color:#D92D20!important;background:#FEF3F2!important;color:#912018!important}
body .card.text-white.bg-warning,body:has(.side-navbar) .content-inner section .card.text-white.bg-warning,body:has(.side-navbar) .alert.alert-warning{border-color:#F5D9A8!important;border-left-color:#e79010!important;background:#FFF8EC!important;color:#5E4A1E!important}
body .card.text-white.bg-info,body:has(.side-navbar) .content-inner section .card.text-white.bg-info,body:has(.side-navbar) .alert.alert-info{border-color:#DCE7F3!important;border-left-color:#2F6EA8!important;background:#EEF4FA!important;color:#1E4E7C!important}
body .card.text-white.bg-success,body:has(.side-navbar) .content-inner section .card.text-white.bg-success,body:has(.side-navbar) .alert.alert-success{border-color:#B7E2C8!important;border-left-color:#079455!important;background:#ECFDF3!important;color:#14532D!important}
body .card.text-white.bg-danger::before,body:has(.side-navbar) .alert:is(.alert-danger,.alert-error)::before{background-color:#D92D20;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
body .card.text-white.bg-warning::before,body:has(.side-navbar) .alert.alert-warning::before{background-color:#e79010;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18h.01'/%3E%3C/svg%3E")}
body .card.text-white.bg-info::before,body:has(.side-navbar) .alert.alert-info::before{background-color:#2F6EA8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 11v7M12 6h.01'/%3E%3C/svg%3E")}
body .card.text-white.bg-success::before,body:has(.side-navbar) .alert.alert-success::before{background-color:#079455;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
/* ===================== TGR premium : titres de cartes en marine, listes déroulantes, états vides, en-tête mobile, pages d'erreur ===================== */
body:has(.side-navbar) .content-inner section .card > .card-header :is(h3,h4,.h4),body:has(.side-navbar) .types-doc-container h2 strong{color:#1E4E7C!important}
body:has(.side-navbar) .content-inner section .card > .card-header > .col-sm-12{flex:none;width:auto;max-width:none;padding:0!important}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20 > p:first-child{font-weight:600}
body:has(.side-navbar) .content-inner .card-body > .line,body:has(.side-navbar) .content-inner .card-body .line{margin:18px 0 14px!important;border-top:1px solid #EEF0F4!important;background:none!important}
body:has(.side-navbar) .content-inner .card-body > .col-sm-12:last-child{padding:0!important}
body:has(.side-navbar) .content-inner select.form-control:not([multiple]),body .modal select.form-control:not([multiple]){-webkit-appearance:none;appearance:none;padding-right:36px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E4E7C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px 14px!important;cursor:pointer}
body:has(.side-navbar) .content-inner select.form-control:not([multiple]):focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e79010' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important}
body:has(.side-navbar) .content-inner .input-group > select.form-control:first-child:last-child{border-radius:6px!important;border-right:1px solid #C8CED8!important}
body:has(.side-navbar) .content-inner .table > tbody > tr.ligne-vide > td{padding:40px 16px!important;text-align:center;background:#FAFBFD!important;color:#5E6278;font-size:13.5px;font-weight:500}
body:has(.side-navbar) .content-inner .table > tbody > tr.ligne-vide > td::before{content:"\f01c";display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#EEF4FA;color:#1E4E7C;font-family:FontAwesome;font-size:20px}
body:has(.side-navbar) .content-inner .table > tbody > tr:hover.ligne-vide > td{background:#FAFBFD!important}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .switch{margin:0}
body:has(.side-navbar) .content-inner .table > tbody > tr > td .switch .slider{background:#C8CED8}
body:has(.side-navbar) .content-inner .switch input:checked + .slider,body:has(.side-navbar) .content-inner .table > tbody > tr > td .switch input:checked + .slider{background:#1F9254}
body:has(.side-navbar) .content-inner .custom-checkbox{margin:4px 18px 0 0}
body:has(.side-navbar) .content-inner .custom-checkbox .label-text::before{width:20px;height:20px;border-radius:5px;border-color:#C8CED8}
body:has(.side-navbar) .content-inner .custom-checkbox input:checked + .label-text::before{background:#1E4E7C!important;border-color:#1E4E7C!important}
body:has(.side-navbar) .content-inner .custom-checkbox .label-text::after{left:4px;top:1px;font-size:13px}
body:has(.side-navbar) .content-inner .custom-checkbox .label-text{padding-left:30px;padding-top:0;font-size:13.5px;color:#3F4254}
@media (max-width:760px){
body:has(.side-navbar) header.header{height:176px!important;background-position:0 -10px!important}
body:has(.side-navbar) .header-infos{left:12px!important;right:auto!important;bottom:14px!important}
body:has(.side-navbar) .container-fluid.pl-0:has(.logout){right:12px;bottom:14px}
body:has(.side-navbar) .header-infos a,body:has(.side-navbar) .nav-menu a.nav-link.logout{height:32px;padding:0 10px!important;font-size:11px!important;white-space:nowrap}
body:has(.side-navbar) a#toggle-btn{width:34px;height:34px}
body:has(.side-navbar) .content-inner > header.page-header{padding:14px 0!important}
body:has(.side-navbar) .content-inner > header.page-header h2{font-size:18px!important}
body:has(.side-navbar) .content-inner .breadcrumb{padding:8px 15px 10px!important}
body:has(.side-navbar) .content-inner > section{padding:16px 12px!important}
body:has(.side-navbar) .content-inner section .card > .card-header{margin:0 16px!important}
body:has(.side-navbar) .content-inner section .card > .card-body{padding:14px 16px 16px!important}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20{padding:18px 16px!important}
body:has(.side-navbar) .content-inner .pagination{flex-wrap:wrap}
body:has(.side-navbar) .content-inner .card-body .form-group.row.no-padding > .col-sm-12 > .pagination{float:none!important;margin-top:10px!important}
body:has(.side-navbar) .btn.pull-right,body:has(.side-navbar) .btn.pull-left{float:none!important;width:100%;margin:6px 0!important}
}
@media (max-width:480px){
body:has(.side-navbar) header.header{height:206px!important}
body:has(.side-navbar) .header-infos{bottom:56px!important}
body:has(.side-navbar) .container-fluid.pl-0:has(.logout){left:12px;right:12px;bottom:12px}
body:has(.side-navbar) .container-fluid.pl-0:has(.logout) .navbar-holder{justify-content:space-between!important;gap:6px}
}
/* Pages d'erreur (403, 404, 500…) : carte blanche, code en pastille orange, titre marine */
.error-body{--err-accent:#e79010;--err-accent-soft:#FFF4E5;--err-title:#1E4E7C;--err-text:#5E6278;background:#F4F6F9}
.error-body .error-card{border-color:#E6EAF0;border-top:6px solid #e79010}
.error-body .error-actions .btn-default{border-color:#e79010;color:#1E4E7C}
.error-body .error-actions .btn-default:hover{background:#FFF4E5}
body:has(.side-navbar) .content-inner .dashboard-counts .bg-white.has-shadow > .padding-20 > p.accueil-liens{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0!important;padding-top:18px;border-top:1px solid #EEF0F4}
