/* Tableaux CRM — grille lisible, premium et cohérente dans tous les modules. */
.responsive-table,
.dashboard-table{
  width:100%;
  min-width:0;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  scrollbar-color:var(--copper) #edf1f5;
  scrollbar-width:thin;
  overscroll-behavior-inline:contain;
}
.panel.responsive-table{overflow-x:auto}
.responsive-table table,
.dashboard-table table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.dashboard-table table{table-layout:fixed}
.responsive-table th,
.responsive-table td,
.dashboard-table th,
.dashboard-table td{
  padding:15px 16px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
}
.responsive-table th:last-child,
.responsive-table td:last-child,
.dashboard-table th:last-child,
.dashboard-table td:last-child{border-right:0}
.responsive-table tbody tr:last-child td,
.dashboard-table tbody tr:last-child td{border-bottom:0}
.responsive-table thead th,
.dashboard-table thead th{
  background:linear-gradient(180deg,#f8fafc,#f1f4f7);
  color:var(--navy2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.075em;
  line-height:1.35;
  text-transform:uppercase;
}
.dashboard-table thead th{padding-inline:10px;overflow-wrap:anywhere;white-space:normal}
.dashboard-table tbody td{padding-inline:12px;white-space:nowrap}
.responsive-table tbody tr,
.dashboard-table tbody tr{
  background:var(--white);
  transition:background-color .18s ease,box-shadow .18s ease;
}
.responsive-table tbody tr:nth-child(even),
.dashboard-table tbody tr:nth-child(even){background:#fbfcfd}
.responsive-table tbody tr:hover,
.dashboard-table tbody tr:hover{background:#fff9ed}
.responsive-table tbody tr:focus-within,
.dashboard-table tbody tr:focus-within{
  background:#fff9ed;
  box-shadow:inset 3px 0 0 var(--gold2);
}
.responsive-table td:first-child,
.dashboard-table td:first-child{color:var(--navy)}
.responsive-table td strong,
.dashboard-table td strong{font-weight:850}
.responsive-table td small,
.dashboard-table td small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.responsive-table td a:not(.primary):not(.secondary),
.dashboard-table td a:not(.primary):not(.secondary){
  color:var(--navy2);
  font-weight:800;
  text-decoration-color:rgba(184,122,40,.55);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.responsive-table td a:not(.primary):not(.secondary):hover,
.dashboard-table td a:not(.primary):not(.secondary):hover{color:var(--gold2)}
.responsive-table td .secondary,
.dashboard-table td .secondary{min-height:40px}
.responsive-table::-webkit-scrollbar,
.dashboard-table::-webkit-scrollbar{height:10px}
.responsive-table::-webkit-scrollbar-track,
.dashboard-table::-webkit-scrollbar-track{background:#edf1f5;border-radius:99px}
.responsive-table::-webkit-scrollbar-thumb,
.dashboard-table::-webkit-scrollbar-thumb{background:var(--copper);border:2px solid #edf1f5;border-radius:99px}

@media(max-width:760px){
  .responsive-table,
  .dashboard-table{
    margin-inline:0;
    border-radius:10px;
    -webkit-overflow-scrolling:touch;
  }
  .responsive-table table,
  .dashboard-table table{min-width:max-content}
  .dashboard-table table{table-layout:auto}
  .dashboard-table thead th{white-space:nowrap}
  .responsive-table th,
  .responsive-table td,
  .dashboard-table th,
  .dashboard-table td{padding:13px 14px}
  .responsive-table td .primary,
  .responsive-table td .secondary,
  .responsive-table td button,
  .dashboard-table td .primary,
  .dashboard-table td .secondary,
  .dashboard-table td button{min-height:44px}
}

@media(prefers-reduced-motion:reduce){
  .responsive-table tbody tr,
  .dashboard-table tbody tr{transition:none}
}
