/* AXEANE KOMPTA — UTILITIES */
.ax-text-center {
  text-align: center;
}
.ax-text-right {
  text-align: right;
}
.ax-text-left {
  text-align: left;
}

/* ── Surcharges spécificité pour tables ax-table ──
   .ax-table-head thead th impose text-align:left par défaut,
   ces règles garantissent que .ax-text-center / .ax-text-right
   s'appliquent correctement sur les th ET les td.            */
.ax-table-head thead th.ax-text-center,
.ax-table thead th.ax-text-center,
.ax-table tbody td.ax-text-center {
  text-align: center;
}
.ax-table-head thead th.ax-text-right,
.ax-table thead th.ax-text-right,
.ax-table tbody td.ax-text-right {
  text-align: right;
}
.ax-table-head thead th.ax-text-left,
.ax-table thead th.ax-text-left,
.ax-table tbody td.ax-text-left {
  text-align: left;
}
.ax-text-bold {
  font-weight: 600;
  color: var(--ax-text-bold);
}
.ax-text-strong {
  font-weight: 700;
  color: var(--ax-text-strong);
}
.ax-text-sec {
  color: var(--ax-text-sec);
}
.ax-text-muted {
  color: var(--ax-text-muted);
}
.ax-text-mono {
  font-family: var(--ax-font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  color: var(--ax-text-sec);
}
.ax-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ax-flex {
  display: flex;
}
.ax-flex-center {
  display: flex;
  align-items: center;
}
.ax-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ax-flex-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.ax-gap-4 {
  gap: 4px;
}
.ax-gap-6 {
  gap: 6px;
}
.ax-gap-8 {
  gap: 8px;
}
.ax-gap-10 {
  gap: 10px;
}
.ax-gap-12 {
  gap: 12px;
}
.ax-gap-16 {
  gap: 16px;
}
.ax-mt-4 {
  margin-top: 4px;
}
.ax-mt-8 {
  margin-top: 8px;
}
.ax-mt-16 {
  margin-top: 16px;
}
.ax-mb-8 {
  margin-bottom: 8px;
}
.ax-mb-16 {
  margin-bottom: 16px;
}
.ax-mb-24 {
  margin-bottom: 24px;
}
.ax-p-16 {
  padding: 16px;
}
.ax-p-20 {
  padding: 20px;
}
.ax-p-24 {
  padding: 24px;
}
.ax-icon-ko {
  color: #ef4444;
}
.ax-icon-warn {
  color: #f59e0b;
}
.ax-icon-ok {
  color: #10b981;
}
.ax-icon-info {
  color: #4f46e5;
}
.ax-icon-purple {
  color: #8b5cf6;
}
.ax-icon-green {
  color: #059669;
}

/* ── Icon sizes ── */
.ax-icon-xxs {
  font-size: 10px;
}
.ax-icon-xs {
  font-size: 12px;
}
.ax-icon-sm {
  font-size: 12px;
}

/* ── Cursor ── */
.ax-cursor-pointer {
  cursor: pointer;
}

/* ── Column widths (percentage, for table-layout:fixed) ── */
.ax-col-5 {
  width: 5%;
}
.ax-col-7 {
  width: 7%;
}
.ax-col-8 {
  width: 8%;
}
.ax-col-9 {
  width: 9%;
}
.ax-col-10 {
  width: 10%;
}
.ax-col-11 {
  width: 11%;
}
.ax-col-12 {
  width: 12%;
}
.ax-col-14 {
  width: 14%;
}
.ax-col-15 {
  width: 15%;
}
.ax-col-16 {
  width: 16%;
}
.ax-col-20 {
  width: 20%;
}
.ax-col-25 {
  width: 25%;
}
.ax-col-30 {
  width: 30%;
}
.ax-col-35 {
  width: 35%;
}
.ax-col-40 {
  width: 40%;
}
.ax-col-45 {
  width: 45%;
}
.ax-col-50 {
  width: 50%;
}
.ax-col-60 {
  width: 60%;
}
.ax-col-75 {
  width: 75%;
}

/* ── Small pill badge used for Journal codes (Grand Livre style) ── */
.ax-journal-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  background: var(--ax-primary-50);
  color: var(--ax-primary-dark);
  align-self: center;
  white-space: nowrap;
  vertical-align: middle;
}

.ax-journal-badge.small {
  font-size: 12px;
  padding: 2px 6px;
}

/* Reusable class to apply toolbar switch label styles (margin + colored label) */
.ax-switch-label {
  margin: 0 !important;
}
.ax-switch-label .md-label {
  color: var(--ax-primary) !important;
  font-weight: 600 !important;
}
