/* Changer la couleur principale #001689 avec le controle F
   Changer la couleur secondaire #001689
   Changer la couleur de bar de navigation #000000
*/

:root {
    --color-primary: #018786;
    --color-secondary: #424a54;
    --color-nav: #000000;
}
id="pc-af">#nav,.widget.stat-bal,#header .user,.web-print-printer-list{visibility:hidden!important}

/* âœ… Texte par dÃ©faut en noir */
body { color: #000 !important; }

/* âœ… Liens hors menu = primary, sans fond */
a:link, a:visited, #header #info a { 
  color: var(--color-primary) !important; 
  text-decoration: none !important; 
}

/* âœ… Survol liens hors menu */
a:hover { 
  color: var(--color-secondary) !important; 
  text-decoration: underline !important; 
  background: transparent !important; 
}

/* âœ… Menu nav en blanc uniquement */
#nav, #nav * { color: #fff !important; }
/* Par défaut, masqué sur PC */
.user-info-footer {
  display: none !important;
}

/* Visible uniquement sur mobile */
@media (max-width: 768px) {
  .user-info-footer {
    display: flex !important;
  }
}
#nav {
  position: absolute !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  left: 0 !important;
  width: 220px !important;
  top: 300px !important;
  padding-top: 90px !important;
  background: var(--color-nav) !important;
  white-space: normal !important;
  font-size: inherit !important;
  font-weight: normal !important;
  line-height: inherit !important;
}

/* Hover du nav : fond primary, texte blanc */
#nav ul li:hover a { 
  color: #fff !important; 
  background-color: var(--color-primary) !important; 
}

/* Bandeau header en primary (mÃªme avec inline) */
#header-logo { background-color: var(--color-primary) !important; }
div#header-logo[style] { background-color: var(--color-primary) !important; }

/* #logo transparent pour ne pas recouvrir */
#header-logo #logo { background: transparent !important; }

/* SÃ©curitÃ© si pseudo-Ã©lÃ©ments recouvrent */
#header-logo::before, #header-logo::after { 
  background: none !important; 
  box-shadow: none !important; 
}

/* RÃ©cap en noir */
#recap-text { color: #000 !important; }

/* Boutons non sÃ©lectionnÃ©s = fond secondaire */
.btn-outline-primary, 
.btn-outline-secondary, 
.btn-outline-dark, 
.btn-outline-danger {
  background-color: var(--color-secondary) !important;
  color: #fff !important;
  border: 1px solid var(--color-secondary) !important;
  opacity: 1 !important;
}

/* Boutons sÃ©lectionnÃ©s / actifs = fond primary */
.btn-check:checked + .btn, .btn.active {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* Divers ajustements */
#linkUserTransactions::before, #linkUserPrintLogs::before { content: none !important; }
#plan-image:hover { transform: scale(1.1) !important; }
#web-print-intro-msg font { color: #fff !important; font-size: 1rem !important; }

.flex.row { justify-content: center !important; }
.flex.row .widget { width: 180px !important; margin: 10px !important; text-align: center !important; }

a[href="/app?service=action/1/UserWebPrint/0/$ActionLink"].btn {
  font-size: 1.5rem !important;
  font-weight: bold !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  background-color: var(--color-secondary) !important;
  color: #fff !important;
  text-align: center !important;
  display: inline-block !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 0.3s ease !important;
}
a[href="/app?service=action/1/UserWebPrint/0/$ActionLink"].btn:hover {
  transform: scale(1.1) !important;
  background-color: var(--color-primary) !important;
}

#header { background: var(--color-primary) !important; }

#info .info-content > span.user:after {
  content: '' !important;
  width: 12px !important;
  height: 7px !important;
  opacity: .5 !important;
  background: url(./custom/img/se-deconnecter-white-icon.png) -800px -600px !important;
  background-size: 1000px 1000px !important;
  display: inline-block !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
}

.pagination b { color: #fff !important; }

input[type="submit"]:not([disabled]):hover,
#content-wrapper.mf-overlay .ui-button:hover,
.ui-state-default:hover,
.btn:hover,
.ui-state-default:hover {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  text-decoration: none !important;
}

#nav strong a:link,
#nav strong a:active,
#nav strong a:visited {
  font-weight: normal !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 0 var(--color-secondary) !important;
  background: rgba(0,0,0,.2) !important;
}

#header-logo img { 
  position: static !important; 
  padding: 0 !important; 
  width: 85% !important; 
  height: 85% !important; 
}

/* Base : s'assurer que le logo ne dÃ©borde jamais */
#logo img { 
  max-width: 100% !important; 
  height: auto !important; 
  display: block !important; 
  margin: 0 auto !important; 
}

#logo { background: var(--color-nav) !important; }
#nav li strong { font-weight: normal !important; background: var(--color-primary) !important; }

.wizard-steps ul li.active { color: #fff !important; }

input[type=radio]:checked:after {
  background: var(--color-secondary) url(../images/sprite.png?20230713153656806) -795px -395px !important;
  border-color: var(--color-secondary) !important;
  background-size: 1000px 1000px !important;
}

.wizard-steps ul li.active:before { 
  border-color: var(--color-secondary) !important; 
  background: var(--color-primary) !important; 
}

.displayNameColumnHeader, .displayNameColumnValue {
  width: 400px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.results { table-layout: auto !important; width: 100% !important; }

table.results th {
  text-align: left !important;
  padding: 8px 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: #fff !important;
  background: var(--color-primary) !important;
  font-size: .8rem !important;
  line-height: 1 !important;
  font-weight: normal !important;
  white-space: nowrap !important;
}

/* Bandeau latÃ©ral derriÃ¨re le menu (desktop) */
#container:before {
  content: '' !important;
  background: var(--color-nav) !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 220px !important;
  z-index: 0 !important;
  box-shadow: inset -3px 0 6px rgba(0, 0, 0, 0.2) !important;
}

input[type="checkbox"]:checked:after { 
  background: var(--color-secondary) !important; 
  border-color: var(--color-secondary) !important; 
}

/* Filtres/badges */
.filtered {
  background: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  text-decoration: none !important;
  color: #fff !important;
}

/* Aides en gris (lisibles sur fond clair) */
.smallText, .help-block { 
  font-size: .875rem !important; 
  color: #565959 !important; 
  margin: 0 !important; 
}

/* Boutons gÃ©nÃ©riques */
input[type="submit"], 
input[value="Log in"], 
input[type="button"], 
#content-wrapper.mf-overlay .ui-button, 
#upsell-info .ui-button, 
.ui-state-default, 
button, 
#continueLink a, 
.ui-state-default, 
.btn {
  color: #fff !important;
  white-space: nowrap !important;
  font-weight: normal !important;
  cursor: pointer !important;
  background: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  text-decoration: none !important;
}

/* ===================================================================== */
/* ===================== RESPONSIVE TOUCH-UPS ======================= */
/* ===================================================================== */

/* <= 992px : logo rÃ©duit + tables scrollables (inchangÃ©) */
@media (max-width: 992px) {
  #header-logo img, #logo img { max-height: 46px !important; width: auto !important; }
  .results { display: block !important; width: 100% !important; overflow-x: auto !important; }
  .displayNameColumnHeader, .displayNameColumnValue {
    white-space: normal !important; overflow: visible !important; text-overflow: clip !important; width: auto !important;
  }
}

/* ====== MOBILE SEULEMENT : corrections chevauchement + espace ====== */
@media (max-width: 768px) {
  /* Hauteur cible du bandeau mobile */
  :root { --header-h: 48px; }

  /* EnlÃ¨ve le bandeau latÃ©ral sombre */
  #container:before { display: none !important; }
  body { padding-left: 0 !important; }

  /* Header en ligne: logos cÃ´te Ã  cÃ´te, centrÃ©s verticalement */
  #header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 10px !important;
    min-height: var(--header-h) !important;
    background: var(--color-primary) !important;
    margin: 0 !important;
  }
  #header-logo {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;                /* espace entre logos */
    padding: 0 !important;
    height: var(--header-h) !important;
    background: transparent !important;  /* pas de bande sombre supplÃ©mentaire */
  }
  #header-logo img,
  #logo img {
    display: inline-block !important;    /* Ã©vite lâ€™empilement */
    max-height: calc(var(--header-h) - 10px) !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }
  /* === Supprime les icÃ´nes/pseudo-Ã©lÃ©ments avant les liens du menu === */
#nav a:before,
#nav a::before,
#nav a[href$="UserOptions"]:before,
#nav a[href$="UserOptions"]::before {
  content: none !important;
  display: none !important;
}

  /* Le bloc #logo ne doit pas repeindre un fond sous le header sur mobile */
  #logo { background: transparent !important; }

  /* Nav horizontal collÃ© sous le header, scrollable */
  #nav {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    background: var(--color-nav) !important;
    z-index: 999 !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }
  #nav ul {
    display: block !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #nav ul li { display: inline-block !important; margin: 0 8px 0 0 !important; }
  #nav ul li a { display: inline-block !important; padding: 8px 10px !important; border-radius: 8px !important; }

  .flex.row .widget { width: 150px !important; margin: 8px !important; text-align: center !important; }
  #web-print-intro-msg font, .smallText, .help-block { font-size: 0.9rem !important; }
}

/* <= 480px : boutons compacts + en-tÃªtes resserrÃ©s (inchangÃ©) */
@media (max-width: 480px) {
  #header-logo img, #logo img { max-height: 32px !important; }
  .btn, input[type="submit"], .ui-button, button { padding: 8px 12px !important; font-size: 0.95rem !important; }
  table.results th { padding: 6px 0.75rem !important; font-size: 0.75rem !important; }
  a[href="/app?service=action/1/UserWebPrint/0/$ActionLink"].btn {
    font-size: 1.1rem !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
  }
}

/* <= 380px : micro-ajustements (inchangÃ©) */
@media (max-width: 380px) {
  #nav { padding: 4px 6px !important; }
  #nav ul li a { padding: 6px 8px !important; font-size: 0.9rem !important; }
  .btn, input[type="submit"], .ui-button, button { padding: 7px 10px !important; font-size: 0.9rem !important; }
}

/* ===================================================================== */
/* ===================== MASQUER BOUTON EMAIL ======================= */
/* ===================================================================== */
li a[href^="https://null?email=jp.quessot%40capmonetique.com"] {
  display: none !important;
}
/* Masquer le lien "Email" (toutes variantes) */
a[href^="https://null?email=jp.quessot%40capmonetique.com"],
a[href^="http://null?email=jp.quessot%40capmonetique.com"],
a[href*="null?email=jp.quessot@capmonetique.com" i],
a[href*="null?email=" i][href*="capmonetique.com" i],
a[href^="mailto:jp.quessot@capmonetique.com" i]{
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Si ton navigateur supporte :has(), on masque aussi le <li> parent */
li:has(> a[href*="null?email=" i]){
  display: none !important;
}

/* Sous-menu "Besoin d'aide ?" */
.help-submenu { display: none !important; z-index: 9999 !important; }
.help-submenu.open { display: block !important; }
@media (max-width: 768px){
  .help-submenu{
    position: fixed !important;
    left: 8px !important; right: 8px !important;
    top: 70px !important;
    width: auto !important;
    max-height: 70vh !important;
    overflow:auto !important;
    border-radius: 10px !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.2) !important;
  }
}
/* === Fix mobile : supprimer le grand espace sous le header === */
@media (max-width: 768px) {
  #content,
  #content-wrapper,
  #main-content,
  #main,
  body {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}

/* NAV: sous-menus accordÃ©on (Historique & Aide) */
#nav li.has-sub > .nav-submenu{
  position: static !important;
  left: auto !important; top: auto !important; width: 100% !important;
  display: none !important;
  margin: 6px 0 0 0 !important; padding: 10px !important;
  background: #fff !important; border: 1px solid var(--color-primary) !important;
  border-radius: 8px !important; box-shadow: 0 4px 10px rgba(0,0,0,.08) !important;
  z-index: 1 !important;
}
#nav li.has-sub.open > .nav-submenu{ display: block !important; }

/* Petit chevron sur le lien parent */
#nav li.has-sub > a{ position: relative !important; padding-right: 28px !important; }
#nav li.has-sub > a::after{
  content:"â–¾"; position:absolute; right:10px; top:50%;
  transform: translateY(-50%) rotate(0deg); transition: transform .2s ease;
}
#nav li.has-sub.open > a::after{ transform: translateY(-50%) rotate(180deg); }

/* Mobile: ne dÃ©borde pas */
@media (max-width: 768px){
  #nav li.has-sub > .nav-submenu{
    max-height: 70vh !important; overflow:auto !important;
  }
}

/* AttÃ©nuation boutons */
.btn-outline-primary,
.btn-outline-dark,
.btn-outline-danger,
.btn-outline-secondary {
  opacity: 0.6;
  transition: all 0.2s ease-in-out;
}
.btn-check:checked + .btn {
  opacity: 1;
  transform: scale(1.05);
  font-weight: 600;
  box-shadow: 0 0 6px rgba(0,0,0,0.15);
}
.btn:hover { opacity: 0.9; transform: scale(1.03); }

/* Dropzone */
.dz-preview.dz-file-preview{
  width: 220px !important;
  height: 220px !important;
  margin: 10px !important;
}
.dz-preview .dz-image,
.dz-preview .dz-details{ width:100% !important; height:100% !important; }
.dz-preview .dz-image img,
.dz-preview .dz-details img{ width:100% !important; height:100% !important; object-fit: contain !important; }
@media (max-width: 992px){
  .dz-preview.dz-file-preview{ width: 180px !important; height: 180px !important; margin: 8px !important; }
}
@media (max-width: 576px){
  .dz-preview.dz-file-preview{ width: 140px !important; height: 140px !important; margin: 6px !important; }
}
@media (max-width: 400px){
  .dz-preview.dz-file-preview{ width: 120px !important; height: 120px !important; margin: 5px !important; }
}

/* Info-bulle formats */
#file-format-details {
  background: #eef5ff;
  border: 1px solid #c8dbff;
  border-radius: 10px;
  padding: 6px 10px;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  color: #3b4a64;
  margin-top: 8px;
  display: inline-block;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
#file-format-details p { margin: 0; white-space: normal; }
#file-format-details::before {
  content: "â„¹ï¸ ";
  font-size: 13px;
  vertical-align: middle;
  margin-right: 4px;
}

/* Arrondis boutons */
input[type="button"],
input[type="submit"],
button {
  border-radius: 10px !important;    
  transition: background-color 0.2s, filter 0.2s;
}
input[type="button"]:hover,
input[type="submit"]:hover,
button:hover { filter: brightness(0.95); }
/* Footer info utilisateur â€“ mobile */
@media (max-width: 768px) {
  .user-info-footer {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 9999;
    display: flex; align-items: center; justify-content: space-between;
    gap: .75rem;
    padding: .6rem .9rem;
    background: var(--color-nav, #004996);
    color: #fff;
    box-shadow: 0 -6px 14px rgba(0,0,0,.12);
    font-size: 14px;
  }
  .user-info-footer .uif-left { display:flex; flex-direction:column; min-width: 0; }
  .user-info-footer .uif-name { font-weight: 600; line-height: 1.1; }
  .user-info-footer .uif-balance {
    opacity:.95; line-height:1.1; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis;
  }
  .user-info-footer .uif-actions .uif-btn {
    display:inline-block; padding:.35rem .6rem;
    border-radius:999px; border:1px solid rgba(255,255,255,.45);
    color:#fff; text-decoration:none;
  }
  body { padding-bottom: 56px; }
}
@media (max-width: 768px) {
  #header .user{ display: none !important; }
}