#listContainer table {
  table-layout: fixed !important;
  width: 100% !important;
}
#listContainer table th, #listContainer table td {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 1px;
}
#listContainer table td:last-child, #listContainer table th:last-child {
  min-width: 120px !important;
  max-width: 180px !important;
  width: 1% !important;
  text-align: center !important;
  overflow: visible !important;
}
#listContainer table td:last-child .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
}
#listContainer table td:last-child .btn {
  min-width: 60px !important;
  max-width: 90px !important;
  font-size: 0.98em !important;
  padding: 7px 12px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
#listContainer table td.biz-collect {
  min-width: 60px !important;
  max-width: 80px !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}
#listContainer table td.biz-collect .collect-progress {
  min-width: 40px !important;
  max-width: 60px !important;
  gap: 2px !important;
}
#listContainer table td.biz-collect .collect-progress-label {
  min-width: 18px !important;
  font-size: 0.9em !important;
  margin-left: 2px !important;
}
#listContainer table td.biz-collect .collect-progress {
  min-width: 60px;
  max-width: 80px;
  gap: 4px;
}
#listContainer table td.biz-collect .collect-progress-label {
  min-width: 22px;
  font-size: 0.92em;
  margin-left: 4px;
}
#listContainer table td.biz-collect {
  min-width: 80px;
  max-width: 90px;
  padding-left: 2px !important;
  padding-right: 2px !important;
}
#listContainer table td:last-child, #listContainer table th:last-child {
  min-width: 120px;
  max-width: 140px;
  width: 1%;
  white-space: nowrap;
}
#listContainer table td:last-child .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
}
#listContainer table td:last-child .btn {
  min-width: 54px;
  max-width: 70px;
  font-size: 0.95em;
  padding: 6px 8px;
  margin: 0;
  white-space: nowrap;
}
#listContainer table td.biz-collect, #listContainer table td.biz-collect * {
  box-sizing: border-box !important;
  overflow: hidden !important;
  max-width: 100% !important;
}
#listContainer table td.biz-collect {
  padding-left: 2px !important;
  padding-right: 2px !important;
  min-width: 120px;
  max-width: 140px;
}
#listContainer table td.biz-collect .row, #listContainer table td.biz-collect > div {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  max-width: 100% !important;
}
#listContainer table td.biz-collect .btn {
  min-width: 54px;
  max-width: 70px;
  font-size: 0.95em;
  padding: 6px 8px;
  margin: 0;
  white-space: nowrap;
}
#listContainer table td.biz-collect {
  overflow: hidden !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  min-width: 120px;
  max-width: 160px;
}
#listContainer table td.biz-collect .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
#listContainer table td.biz-collect .btn {
  min-width: 64px;
  max-width: 80px;
  font-size: 0.98em;
  padding: 7px 10px;
  margin: 0;
}
#listContainer table td.onb .dd-btn,
#listContainer table td.onb .dd-chip {
  min-width: 0;
  max-width: none;
  width: auto;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  justify-content: center;
  align-items: center;
  display: flex;
  text-align: center;
  padding-left: 12px;
  padding-right: 12px;
}
/* Menu dropdown plus doux */
#listContainer table td.onb .dd-menu {
  min-width: 0;
  max-width: none;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: none;
  width: max-content;
  border: none;
  box-shadow: none;
  background: #181f32;
  padding: 6px 0 6px 0;
}
#listContainer table td.onb .dd-menu .dd-item {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  margin: 6px 0;
  cursor: pointer;
  background: none;
  padding: 0;
}
#listContainer table td.onb .dd-menu .dd-item:hover .dd-chip {
  box-shadow: 0 0 0 3px #e0e7ff;
  filter: brightness(1.08);
}
#listContainer table td.onb .dd-menu .dd-chip {
  min-width: 80px;
  max-width: 160px;
  width: auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 500;
  font-size: 0.95em;
  border: none;
  box-shadow: none;
  margin: 0 auto;
  transition: box-shadow 0.15s, filter 0.15s;
}
#listContainer table td.onb .dd-menu {
  box-shadow: none !important;
  border: none !important;
  padding: 4px 0 !important;
}
#listContainer table td.onb .dd-menu .dd-item {
  align-items: center !important;
  min-height: 32px !important;
  padding: 0 !important;
}
#listContainer table td.onb .dd {
  align-items: center !important;
  display: flex !important;
}
#listContainer table td.onb .dd-btn {
  align-items: center !important;
  display: flex !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}
#listContainer table td.onb .dd-btn:focus {
  outline: none !important;
  box-shadow: none !important;
}
#listContainer table td .row {
  flex-wrap: nowrap !important;
  gap: 8px !important;
}
#listContainer table td.onb .dd-chip {
  min-width: 110px;
  max-width: 180px;
  padding: 6px 18px;
  font-size: 1rem;
  text-align: center;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  justify-content: center;
  align-items: center;
  display: flex;
}
#listContainer table td.onb .dd-menu .dd-chip {
  width: 100%;
  min-width: 110px;
  max-width: 180px;
  justify-content: center;
  align-items: center;
  display: flex;
  text-align: center;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
#listContainer table td.onb {
  /* Pour éviter que la dropdown soit rognée */
  overflow: visible !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
#listContainer table td.onb .dd-btn {
  min-width: 120px;
  padding: 0 8px;
  box-sizing: border-box;
}
#listContainer table td.onb .dd-chip {
  min-width: 80px;
  padding: 6px 16px;
  font-size: 1rem;
}
#listContainer table td.onb .dd-menu {
  min-width: 120px;
  left: 50%;
  transform: translateX(-50%);
}

/* Correction du débordement du compteur collecte */
#listContainer table td.biz-collect {
  white-space: nowrap;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#listContainer table td.biz-collect .collect-progress {
  min-width: 90px;
  max-width: 120px;
  margin: 0 auto;
  display: inline-flex;
}
#listContainer table td.biz-collect .collect-progress-label {
  margin-left: 8px;
  min-width: 32px;
  text-align: right;
}
#listContainer table td.biz-collect .btn {
  margin-left: 10px;
}
#listContainer table th,
#listContainer table td {
  text-align: center !important;
  vertical-align: middle !important;
}
#listContainer table th:first-child,
#listContainer table td:first-child,
#listContainer table th:nth-child(4),
#listContainer table td:nth-child(4) {
  text-align: left !important;
}
#listContainer table td.onb .dd-btn, #listContainer table td.onb .dd-chip {
  display: flex;
  align-items: center;
  justify-content: center;
}
#listContainer table td .btn {
  vertical-align: middle;
}
/* Alignement tableau Mes Systèmes d'Information */
#listContainer table th,
#listContainer table td {
  text-align: center;
  vertical-align: middle;
}
#listContainer table th:first-child,
#listContainer table td:first-child, /* Business */
#listContainer table th:nth-child(4),
#listContainer table td:nth-child(4) { /* Responsable SI */
  text-align: left;
}
#listContainer table td.onb, #listContainer table td.biz-collect {
  vertical-align: middle;
}
#listContainer table td.onb .dd-btn, #listContainer table td.onb .dd-chip {
  display: flex;
  align-items: center;
  justify-content: center;
}
#listContainer table td .btn {
  vertical-align: middle;
}

/* onboarding-fix.css — v3 (propre) */

/* Base dropdown */
td.onb { position: relative; overflow: visible; }
td.onb .dd { position: relative; display:inline-flex; }
td.onb .dd-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:0; background:transparent; border:none; cursor:pointer;
}
td.onb .dd-chip{
  display:inline-block; padding:6px 12px; border-radius:999px;
  border:1px solid transparent; line-height:1.1rem; font-size:.95rem; white-space:nowrap;
}
td.onb .dd-caret{
  width:0;height:0; border-left:5px solid transparent; border-right:5px solid transparent;
  border-top:6px solid var(--muted); margin-left:6px;
}
td.onb .dd-menu{
  position:absolute; z-index:2000; top:calc(100% + 6px); left:0; right:0;
  background:#0b1222; border:1px solid var(--border); border-radius:10px; padding:6px;
  box-shadow:0 6px 18px rgba(0,0,0,.35); display:none;
}
td.onb .dd.open .dd-menu{ display:block; }
td.onb .dd.open .dd-btn{
  visibility:hidden;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
td.onb .dd.open .dd-menu{ top:0; }

/* Capsules */
.chip--neutral { background:#2f2f2f; color:#cfcfcf; }
.chip--info    { background:#1e3a8a; color:#dbeafe; }
.chip--success { background:#065f46; color:#d1fae5; }
.chip--pastel-1 { background:#f3e8ff; color:#5b21b6; border-color:#e9d5ff; }
.chip--pastel-2 { background:#e0f2fe; color:#075985; border-color:#bae6fd; }
.chip--pastel-3 { background:#dcfce7; color:#065f46; border-color:#bbf7d0; }
.chip--pastel-4 { background:#ffe4e6; color:#9f1239; border-color:#fecdd3; }

/* Verrouillage Mes SI (tableau principal) */
#listContainer table{ table-layout: fixed; }
#listContainer table th, #listContainer table td{ box-sizing: border-box; }
#listContainer table td.onb{ padding:6px 12px; text-align:left; vertical-align:middle; }
#listContainer table td.onb .dd{ display:block; width:100%; }
#listContainer table td.onb .dd-btn{ width:100%; }

/* Verrouillage Recherche */
#searchBiz table td.onb{ padding:6px 10px; text-align:left; vertical-align:middle; }
#searchBiz table td.onb .dd{ display:block; width:100%; }
#searchBiz table td.onb .dd-btn{ width:100%; }

/* Mes SI — aligne parfaitement la dropdown dans la cellule */
#listContainer table { table-layout: fixed; }                 /* largeur stable */
#listContainer tbody td.onb {
  position: relative;
  overflow: visible;
  padding-left: 0 !important;      /* ⬅️ on enlève le padding de la cellule */
  padding-right: 0 !important;
  box-sizing: border-box;
}
#listContainer tbody td.onb .dd {
  position: relative;
  display: block;
  width: 100%;
}
#listContainer tbody td.onb .dd-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;                     /* ⬅️ le bouton prend toute la largeur utile */
  max-width: 100%;
  box-sizing: border-box;
  padding: 6px 12px;               /* ⬅️ on remet le confort ici */
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #0b1222;
  margin: 0;
}
#listContainer tbody td.onb .dd-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;                        /* ⬅️ menu = même largeur que la cellule */
  min-width: 100%;
  z-index: 2000;
  box-sizing: border-box;
}


/* Mes SI — verrouillage largeur dropdown */
#listContainer tbody td.onb{
  padding-left: 0 !important;
  padding-right: 0 !important;
  position: relative;
  overflow: visible;
  box-sizing: border-box;
}
#listContainer tbody td.onb .dd{
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  position: relative;
}
#listContainer tbody td.onb .dd-btn{
  display: block !important;             /* (pas inline-flex) */
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 6px 12px !important;
  margin: 0 !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  background: #0b1222 !important;
}
#listContainer tbody td.onb .dd-menu{
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;                    /* même largeur que la cellule */
  min-width: 100%;
  z-index: 2000;
  box-sizing: border-box;
}
#listContainer tbody td.onb .dd-chip{
  display: inline-block !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Mes SI : neutraliser le wrapper bouton qui décalait la pastille */
#listContainer tbody td.onb .dd-btn{
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Le conteneur ne force pas la largeur */
#listContainer tbody td.onb .dd{
  display: inline-block !important;
  width: auto !important;
}
