/**
 * FiveHeberg — surcharges finales (chargé après {$footeroutput})
 */

/* —— Menus barre espace client —— */
body.fh-whmcs .fh-whmcs-bar .dropdown-menu,
body.fh-whmcs .fh-whmcs-bar .fh-whmcs-bar__menu,
body.fh-whmcs .fh-whmcs-bar ul.dropdown-menu.show,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu.show,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal,
body.fh-whmcs .dropdown-menu.fh-whmcs-bar__menu--portal.show {
  --bs-dropdown-bg: #122a45 !important;
  --bs-dropdown-color: #e8f0fc !important;
  --bs-dropdown-link-color: #e8f0fc !important;
  --bs-dropdown-link-hover-color: #fff !important;
  --bs-dropdown-link-hover-bg: rgba(59, 158, 255, 0.2) !important;
  --bs-dropdown-link-active-color: #fff !important;
  background-color: #122a45 !important;
  color: #e8f0fc !important;
  border: 1px solid rgba(77, 163, 255, 0.35) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
  padding: 0.4rem !important;
  min-width: 12rem;
  z-index: 10150 !important;
}

body.fh-whmcs .fh-whmcs-bar .dropdown-menu li,
body.fh-whmcs .fh-whmcs-bar .dropdown-menu .dropdown-item,
body.fh-whmcs .fh-whmcs-bar .dropdown-menu > li > a,
body.fh-whmcs .fh-whmcs-bar .dropdown-menu a.dropdown-item,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal li,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal a,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal .dropdown-item {
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  background-color: transparent !important;
}

body.fh-whmcs .fh-whmcs-bar .dropdown-menu a.dropdown-item:hover,
body.fh-whmcs .fh-whmcs-bar .dropdown-menu > li > a:hover,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal a:hover {
  background-color: rgba(59, 158, 255, 0.2) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.fh-whmcs .fh-whmcs-bar .dropdown-divider {
  border-top-color: rgba(77, 163, 255, 0.22) !important;
}

/* —— Boutons —— */
body.fh-whmcs .btn-primary,
body.fh-whmcs a.btn-primary,
body.fh-whmcs input.btn-primary,
body.fh-whmcs button.btn-primary {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.fh-whmcs .btn-primary:hover,
body.fh-whmcs .btn-primary:focus {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.fh-whmcs .btn-danger,
body.fh-whmcs a.btn-danger {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: #dc3545 !important;
  border-color: #dc3545 !important;
}

body.fh-whmcs .btn-danger:hover,
body.fh-whmcs a.btn-danger:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  filter: brightness(1.08);
}

body.fh-whmcs .btn-default,
body.fh-whmcs .btn-secondary,
body.fh-whmcs a.btn-default {
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
}

/* —— Tableaux WHMCS —— */
body.fh-whmcs .table th,
body.fh-whmcs .table td,
body.fh-whmcs .table tr th,
body.fh-whmcs .table tr td {
  color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .table-bordered,
body.fh-whmcs .table-bordered > :not(caption) > * > * {
  border-color: rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .table tr:first-child th,
body.fh-whmcs .table thead th {
  color: #8fa3be !important;
  background: rgba(0, 0, 0, 0.2) !important;
}

body.fh-whmcs .table td strong,
body.fh-whmcs .table .textright strong,
body.fh-whmcs .table .text-right strong {
  color: #e8f0fc !important;
}

body.fh-whmcs .table-striped > tbody > tr:nth-of-type(odd) > *,
body.fh-whmcs .table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-accent-bg: rgba(255, 255, 255, 0.03);
  color: #e8f0fc !important;
}

/* —— Tunnel commande : layout pleine largeur —— */
#order-standard_cart.fh-order-cart,
.fh-whmcs #order-standard_cart.fh-order-cart {
  width: 100% !important;
  max-width: 100% !important;
}

.fh-whmcs--cart .primary-content {
  width: 100%;
  max-width: 100%;
}

.fh-order-cart__layout,
#order-standard_cart.fh-order-cart > .row,
#order-standard_cart.fh-order-cart > .fh-order-cart__row,
.fh-whmcs #order-standard_cart.fh-order-cart > .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 1.5rem !important;
  width: 100% !important;
  margin: 0 !important;
}

#order-standard_cart .cart-sidebar,
#order-standard_cart .fh-order-cart__sidebar,
.fh-whmcs #order-standard_cart .cart-sidebar,
.fh-order-cart__layout > .cart-sidebar,
.fh-order-cart__layout > .fh-order-cart__sidebar {
  float: none !important;
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 260px !important;
  min-width: 260px !important;
  padding: 0 !important;
}

#order-standard_cart .cart-body,
.fh-whmcs #order-standard_cart .cart-body,
.fh-order-cart__layout > .cart-body,
.fh-order-cart__layout > .fh-order-cart__body {
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}

@media (max-width: 1199px) {
  #order-standard_cart.fh-order-cart > .row,
  .fh-whmcs #order-standard_cart.fh-order-cart > .row {
    flex-wrap: wrap !important;
  }

  #order-standard_cart .cart-sidebar,
  .fh-whmcs #order-standard_cart .cart-sidebar {
    display: none !important;
  }

  #order-standard_cart .cart-body,
  .fh-whmcs #order-standard_cart .cart-body {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

/* —— Grille produits 2 colonnes —— */
.fh-products-grid,
#order-standard_cart #products.products,
#order-standard_cart .products,
.fh-whmcs #order-standard_cart #products.products {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  width: 100% !important;
  margin: 1rem 0 !important;
}

@media (min-width: 768px) {
  .fh-products-grid,
  #order-standard_cart #products.products,
  #order-standard_cart .products,
  .fh-whmcs #order-standard_cart #products.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

#order-standard_cart .products .row,
#order-standard_cart .products .row.row-eq-height,
.fh-whmcs #order-standard_cart .products .row {
  display: contents !important;
  margin: 0 !important;
  width: auto !important;
}

#order-standard_cart .products .col-md-6,
.fh-whmcs #order-standard_cart .products .col-md-6 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#order-standard_cart .products .product,
.fh-whmcs #order-standard_cart .products .product {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

#order-standard_cart .products .product div.product-desc,
#order-standard_cart .products .product footer,
.fh-whmcs #order-standard_cart .products .product div.product-desc,
.fh-whmcs #order-standard_cart .products .product footer {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

#order-standard_cart .products .product footer,
.fh-whmcs #order-standard_cart .products .product footer {
  margin-top: auto !important;
  padding: 1rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
}

#order-standard_cart .products .product header .qty,
.fh-whmcs #order-standard_cart .products .product header .qty {
  float: none !important;
}

/* —— Formulaires espace client —— */
body.fh-whmcs .form-control,
body.fh-whmcs .custom-select,
body.fh-whmcs select.form-control,
body.fh-whmcs textarea.form-control,
body.fh-whmcs input.form-control {
  background-color: rgba(6, 13, 24, 0.9) !important;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .form-control:focus,
body.fh-whmcs .custom-select:focus {
  background-color: rgba(6, 13, 24, 0.95) !important;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  border-color: #3b9eff !important;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.15) !important;
}

body.fh-whmcs input.form-control:-webkit-autofill,
body.fh-whmcs input.form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: #e8f0fc !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(6, 13, 24, 0.95) inset !important;
  box-shadow: 0 0 0 1000px rgba(6, 13, 24, 0.95) inset !important;
  caret-color: #e8f0fc !important;
}

body.fh-whmcs .form-check-input {
  background-color: rgba(6, 13, 24, 0.9) !important;
  border-color: rgba(77, 163, 255, 0.35) !important;
}

body.fh-whmcs .form-check-input:checked {
  background-color: #3b9eff !important;
  border-color: #3b9eff !important;
}

body.fh-whmcs .form-check-label,
body.fh-whmcs label.form-check {
  color: #e8f0fc !important;
}

body.fh-whmcs .card .card-body,
body.fh-whmcs .card .card-footer {
  color: #e8f0fc;
}

body.fh-whmcs fieldset .col-form-label,
body.fh-whmcs .form-group label,
body.fh-whmcs .col-form-label {
  color: #8fa3be !important;
}

body.fh-whmcs .dataTables_wrapper .dataTables_filter input,
body.fh-whmcs .dataTables_wrapper .dataTables_length select {
  background: rgba(6, 13, 24, 0.9) !important;
  color: #e8f0fc !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .dataTables_wrapper .dataTables_info,
body.fh-whmcs .dataTables_wrapper .dataTables_length label {
  color: #8fa3be !important;
}

/* —— Support : départements —— */
body.fh-whmcs .card .h5 a,
body.fh-whmcs .card-body .h5 a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 1rem 1.25rem;
  margin-bottom: 0.35rem;
  background: rgba(12, 24, 41, 0.85);
  border: 1px solid rgba(77, 163, 255, 0.22);
  border-radius: 12px;
  text-decoration: none !important;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  font-weight: 600;
  transition: border-color 0.2s ease, background 0.2s ease;
}

body.fh-whmcs .card .h5 a:hover {
  border-color: rgba(59, 158, 255, 0.45);
  background: rgba(59, 158, 255, 0.1);
  color: #fff !important;
}

body.fh-whmcs .card .h5 a i {
  color: #3b9eff;
}

/* —— Affiliés —— */
body.fh-whmcs .affiliate-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 110px;
  padding: 1.25rem 1rem;
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 16px !important;
  color: #e8f0fc !important;
  text-align: center;
  box-shadow: none !important;
}

body.fh-whmcs .affiliate-stat span {
  font-size: 1.75rem;
  font-weight: 800;
  color: #e8f0fc !important;
  line-height: 1.1;
}

body.fh-whmcs .affiliate-stat i {
  font-size: 1.35rem;
  color: #3b9eff !important;
  opacity: 1 !important;
}

body.fh-whmcs .affiliate-stat.alert-warning {
  border-top: 3px solid #ffc107 !important;
}

body.fh-whmcs .affiliate-stat.alert-info {
  border-top: 3px solid #3b9eff !important;
}

body.fh-whmcs .affiliate-stat.alert-success {
  border-top: 3px solid #34d399 !important;
}

body.fh-whmcs .pagination .page-link {
  background: #0c1829 !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .pagination .page-item.active .page-link {
  background: #3b9eff !important;
  border-color: #3b9eff !important;
  color: #fff !important;
}

/* —— Menus barre (Bootstrap 5 CDN — renfort global) —— */
body.fh-whmcs .fh-whmcs-bar__menu,
body.fh-whmcs ul.fh-whmcs-bar__menu,
body.fh-whmcs .dropdown-menu.fh-whmcs-bar__menu,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal,
body.fh-whmcs .dropdown-menu.fh-whmcs-bar__menu--portal.show {
  --bs-dropdown-bg: #122a45 !important;
  --bs-dropdown-color: #e8f0fc !important;
  --bs-dropdown-link-color: #e8f0fc !important;
  --bs-dropdown-link-hover-color: #fff !important;
  --bs-dropdown-link-hover-bg: rgba(59, 158, 255, 0.2) !important;
  --bs-dropdown-link-active-color: #fff !important;
  --bs-dropdown-link-active-bg: rgba(59, 158, 255, 0.28) !important;
}

body.fh-whmcs .fh-whmcs-bar__menu .dropdown-item,
body.fh-whmcs .fh-whmcs-bar__menu > li > a,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal .dropdown-item,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal > li > a,
body.fh-whmcs .fh-whmcs-bar .dropdown-menu .dropdown-item,
body.fh-whmcs .fh-whmcs-bar .dropdown-menu > li > a {
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
}

body.fh-whmcs .fh-whmcs-bar__menu .dropdown-item:hover,
body.fh-whmcs .fh-whmcs-bar__menu .dropdown-item:focus,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal .dropdown-item:hover,
body.fh-whmcs ul.dropdown-menu.fh-whmcs-bar__menu--portal > li > a:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: rgba(59, 158, 255, 0.2) !important;
}

/* —— Notifications (popover drapeau) —— */
body.fh-whmcs .fh-whmcs-bar__notify {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 2.25rem;
  min-height: 2.25rem;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

body.fh-whmcs .fh-whmcs-bar__notify:hover,
body.fh-whmcs .fh-whmcs-bar__notify:focus,
body.fh-whmcs .fh-whmcs-bar__notify:active,
body.fh-whmcs .fh-whmcs-bar__notify:not(:disabled):not(.disabled):active,
body.fh-whmcs .fh-whmcs-bar__notify:not(:disabled):not(.disabled):focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: rgba(29, 111, 216, 0.18) !important;
  border-color: rgba(59, 158, 255, 0.45) !important;
  box-shadow: none;
}

body.fh-whmcs .fh-whmcs-bar__notify i,
body.fh-whmcs .fh-whmcs-bar__notify:hover i,
body.fh-whmcs .fh-whmcs-bar__notify:focus i,
body.fh-whmcs .fh-whmcs-bar__notify:active i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

body.fh-whmcs .fh-whmcs-bar__notify--active:hover,
body.fh-whmcs .fh-whmcs-bar__notify--active:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.fh-whmcs .fh-whmcs-bar__notify--active:hover i,
body.fh-whmcs .fh-whmcs-bar__notify--active:focus i {
  color: #3b9eff !important;
  -webkit-text-fill-color: #3b9eff !important;
}

body.fh-whmcs .fh-whmcs-bar__notify--active {
  border-color: rgba(59, 158, 255, 0.45) !important;
  background: rgba(29, 111, 216, 0.15) !important;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.12);
}

body.fh-whmcs .fh-whmcs-bar__notify--active .fh-whmcs-bar__badge {
  background: #3b9eff !important;
  box-shadow: 0 0 0 2px rgba(59, 158, 255, 0.25);
}

body.fh-whmcs .popover.popover-user-notifications,
body.fh-whmcs .popover.fh-notifications-popover {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(77, 163, 255, 0.08) !important;
  min-width: 300px;
  max-width: 380px;
  overflow: hidden;
  padding: 0 !important;
}

body.fh-whmcs .popover.popover-user-notifications .popover-body,
body.fh-whmcs .popover.popover-user-notifications .popover-inner,
body.fh-whmcs .popover.fh-notifications-popover .popover-body {
  background: transparent !important;
  color: #e8f0fc !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.fh-whmcs .popover.popover-user-notifications .popover-body > p {
  margin: 0 !important;
  padding: 0 !important;
}

body.fh-whmcs .popover.popover-user-notifications .popover-header {
  display: none !important;
}

body.fh-whmcs .fh-notifications-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  background: rgba(29, 111, 216, 0.12);
  border-bottom: 1px solid rgba(77, 163, 255, 0.15);
}

body.fh-whmcs .fh-notifications-panel__title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8fa3be !important;
}

body.fh-whmcs .fh-notifications-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: rgba(59, 158, 255, 0.2);
  border: 1px solid rgba(59, 158, 255, 0.35);
  color: #3b9eff !important;
  font-size: 0.72rem;
  font-weight: 700;
}

body.fh-whmcs .popover.popover-user-notifications .client-alerts,
body.fh-whmcs .popover.popover-user-notifications ul,
body.fh-whmcs .fh-notifications-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.fh-whmcs .popover.popover-user-notifications ul li,
body.fh-whmcs .fh-notifications-item {
  border-bottom: 1px solid rgba(77, 163, 255, 0.1) !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.fh-whmcs .popover.popover-user-notifications ul li:last-child,
body.fh-whmcs .fh-notifications-item:last-child {
  border-bottom: 0 !important;
}

body.fh-whmcs .popover.popover-user-notifications ul li a,
body.fh-whmcs .fh-notifications-item__link {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem !important;
  color: #e8f0fc !important;
  text-decoration: none !important;
  font-size: 0.875rem !important;
  line-height: 1.45;
  background: transparent !important;
  transition: background 0.2s ease;
}

body.fh-whmcs .popover.popover-user-notifications ul li a:hover,
body.fh-whmcs .fh-notifications-item__link:hover {
  background: rgba(59, 158, 255, 0.1) !important;
  color: #ffffff !important;
}

body.fh-whmcs .fh-notifications-item__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  font-size: 0.95rem !important;
}

body.fh-whmcs .fh-notifications-item--info .fh-notifications-item__icon {
  background: rgba(59, 158, 255, 0.15);
  color: #3b9eff !important;
  border: 1px solid rgba(59, 158, 255, 0.3);
}

body.fh-whmcs .fh-notifications-item--warning .fh-notifications-item__icon {
  background: rgba(251, 191, 36, 0.12);
  color: #fbbf24 !important;
  border: 1px solid rgba(251, 191, 36, 0.35);
}

body.fh-whmcs .fh-notifications-item--danger .fh-notifications-item__icon {
  background: rgba(248, 113, 113, 0.12);
  color: #f87171 !important;
  border: 1px solid rgba(248, 113, 113, 0.35);
}

body.fh-whmcs .fh-notifications-item--success .fh-notifications-item__icon {
  background: rgba(52, 211, 153, 0.12);
  color: #34d399 !important;
  border: 1px solid rgba(52, 211, 153, 0.35);
}

body.fh-whmcs .fh-notifications-item__body {
  flex: 1 1 auto;
  min-width: 0;
}

body.fh-whmcs .popover.popover-user-notifications ul li .message,
body.fh-whmcs .fh-notifications-item__message {
  display: block;
  color: #e8f0fc !important;
  margin: 0 !important;
  font-weight: 500;
}

body.fh-whmcs .fh-notifications-item__arrow {
  flex-shrink: 0;
  font-size: 0.7rem;
  color: #6b829e !important;
  opacity: 0.65;
  transition: transform 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

body.fh-whmcs .fh-notifications-item__link:hover .fh-notifications-item__arrow {
  color: #3b9eff !important;
  opacity: 1;
  transform: translateX(2px);
}

body.fh-whmcs .popover.popover-user-notifications ul li.none,
body.fh-whmcs .fh-notifications-item--empty {
  padding: 1.15rem 1rem !important;
  text-align: center;
}

body.fh-whmcs .fh-notifications-item__empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  color: #8fa3be !important;
  font-size: 0.875rem;
}

body.fh-whmcs .popover.popover-user-notifications ul li a i:not(.fh-notifications-item__arrow) {
  float: none !important;
  padding-top: 0 !important;
}

body.fh-whmcs .popover.popover-user-notifications .arrow::before {
  border-bottom-color: rgba(77, 163, 255, 0.28) !important;
}

body.fh-whmcs .popover.popover-user-notifications .arrow::after {
  border-bottom-color: #0c1829 !important;
}

/* —— Tableaux listes (DataTables) —— */
body.fh-whmcs table.table-list.dataTable,
body.fh-whmcs .dataTables_wrapper table.table-list {
  display: table !important;
  visibility: visible !important;
}

body.fh-whmcs .dataTables_wrapper table.table-list {
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: #0c1829 !important;
}

body.fh-whmcs table.table-list thead th,
body.fh-whmcs .dataTables_wrapper table.table-list thead th {
  padding: 0.95rem 1.1rem !important;
  background: rgba(29, 111, 216, 0.25) !important;
  color: #8fa3be !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
  vertical-align: middle;
}

body.fh-whmcs table.table-list tbody td,
body.fh-whmcs .dataTables_wrapper table.table-list tbody td {
  padding: 1rem 1.1rem !important;
  background: rgba(14, 28, 48, 0.95) !important;
  color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.12) !important;
  line-height: 1.5;
  vertical-align: middle;
}

body.fh-whmcs table.table-list tbody tr:nth-child(even) td,
body.fh-whmcs .dataTables_wrapper table.table-list tbody tr:nth-child(even) td {
  background: rgba(6, 13, 24, 0.9) !important;
}

body.fh-whmcs table.table-list tbody tr:hover td,
body.fh-whmcs .dataTables_wrapper table.table-list tbody tr:hover td {
  background: rgba(59, 158, 255, 0.1) !important;
  cursor: pointer;
}

body.fh-whmcs .dataTables_wrapper .dataTables_paginate .paginate_button,
body.fh-whmcs .dataTables_wrapper .dataTables_paginate .page-link {
  color: #e8f0fc !important;
}

/* DataTables : annule les float legacy */
body.fh-whmcs .dataTables_wrapper .fh-dt-toolbar .dataTables_length,
body.fh-whmcs .dataTables_wrapper .fh-dt-toolbar .dataTables_filter,
body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_info,
body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_paginate {
  float: none !important;
}

@media (max-width: 767.98px) {
  body.fh-whmcs .dataTables_wrapper .fh-dt-footer {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_paginate {
    margin-left: 0 !important;
    text-align: center !important;
  }

  body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_info {
    text-align: center;
  }
}

/* —— Filtres sidebar « État / Voir / Afficher » —— */
body.fh-whmcs .fh-sidebar-panel--filters .card-header .card-title > i:first-child {
  color: #3b9eff;
}

body.fh-whmcs .fh-sidebar .list-group.view-filter-btns {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
  padding: 0.35rem 0.5rem 0.55rem !important;
  margin: 0 !important;
  border: 0 !important;
}

body.fh-whmcs .view-filter-btns .list-group-item,
body.fh-whmcs .view-filter-btns a.list-group-item {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  padding: 0.42rem 0.55rem !important;
  min-height: 0 !important;
  border: none !important;
  border-left: 3px solid transparent !important;
  border-radius: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  background: transparent !important;
  color: #b8c8de !important;
  text-align: left !important;
  text-decoration: none !important;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

body.fh-whmcs .view-filter-btns a.list-group-item {
  border-bottom: none !important;
}

body.fh-whmcs .view-filter-btns a.list-group-item i.far,
body.fh-whmcs .view-filter-btns a.list-group-item i.fas {
  flex: 0 0 auto;
  order: 1;
  width: 1.1rem;
  font-size: 0.9rem;
  text-align: center;
  color: #6b8cb8;
  opacity: 1;
}

body.fh-whmcs .view-filter-btns a.list-group-item > span:not(.badge) {
  flex: 0 1 auto;
  order: 2;
  min-width: 0;
  text-align: left !important;
  float: none !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: capitalize !important;
  color: #c5d4e8 !important;
  line-height: 1.25;
  white-space: nowrap;
}

body.fh-whmcs .view-filter-btns a.list-group-item .badge {
  flex: 0 0 auto;
  order: 10;
  margin-left: auto !important;
  float: none !important;
  min-width: 1.35rem;
  padding: 0.1rem 0.4rem !important;
  border-radius: 999px !important;
  background: rgba(77, 163, 255, 0.12) !important;
  color: #9eb3cc !important;
  border: none !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  line-height: 1.15;
  text-align: center;
}

body.fh-whmcs .view-filter-btns .list-group-item:hover,
body.fh-whmcs .view-filter-btns a.list-group-item:hover {
  background: rgba(59, 158, 255, 0.08) !important;
  border-left-color: transparent !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .view-filter-btns .list-group-item.active,
body.fh-whmcs .view-filter-btns a.list-group-item.active {
  background: rgba(59, 158, 255, 0.1) !important;
  border: none !important;
  border-left: 3px solid #3b9eff !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .view-filter-btns .list-group-item.active > span:not(.badge),
body.fh-whmcs .view-filter-btns a.list-group-item.active > span:not(.badge) {
  color: #fff !important;
  font-weight: 600 !important;
}

body.fh-whmcs .view-filter-btns .list-group-item.active i.far,
body.fh-whmcs .view-filter-btns a.list-group-item.active i.far {
  color: #3b9eff !important;
}

body.fh-whmcs .view-filter-btns .list-group-item.active .badge,
body.fh-whmcs .view-filter-btns a.list-group-item.active .badge {
  background: rgba(59, 158, 255, 0.35) !important;
  border-color: rgba(59, 158, 255, 0.5) !important;
  color: #fff !important;
}

/* Panneau récap factures impayées (sidebar factures) */
body.fh-whmcs .fh-sidebar-panel--invoices-summary .card-header .card-title > i:first-child {
  color: #fbbf24;
}

body.fh-whmcs .fh-sidebar-panel--invoices-summary .card-body {
  padding: 1rem 1.15rem !important;
  color: #c5d4e8;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs .fh-sidebar-panel--invoices-summary .card-body strong,
body.fh-whmcs .fh-sidebar-panel--invoices-summary .card-body b {
  color: #fff;
  font-weight: 600;
}

body.fh-whmcs .fh-sidebar-panel--invoices-summary > .card-footer {
  padding: 0.85rem 1rem 1rem !important;
  border-top: 1px solid rgba(77, 163, 255, 0.12) !important;
  background: rgba(6, 13, 24, 0.35);
}

/* —— Badges statut WHMCS —— */
body.fh-whmcs .label.status,
body.fh-whmcs span.status {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

body.fh-whmcs .status-paid,
body.fh-whmcs .status-active,
body.fh-whmcs .status-completed,
body.fh-whmcs .status-open {
  background: rgba(52, 211, 153, 0.15) !important;
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
}

body.fh-whmcs .status-unpaid,
body.fh-whmcs .status-pending,
body.fh-whmcs .status-payment-pending {
  background: rgba(251, 191, 36, 0.12) !important;
  color: #fbbf24 !important;
  border-color: rgba(251, 191, 36, 0.35) !important;
}

body.fh-whmcs .status-cancelled,
body.fh-whmcs .status-terminated,
body.fh-whmcs .status-closed,
body.fh-whmcs .status-expired {
  background: rgba(148, 163, 184, 0.12) !important;
  color: #94a3b8 !important;
  border-color: rgba(148, 163, 184, 0.3) !important;
}

body.fh-whmcs .status-suspended,
body.fh-whmcs .status-fraud,
body.fh-whmcs .status-collections {
  background: rgba(248, 113, 113, 0.12) !important;
  color: #f87171 !important;
  border-color: rgba(248, 113, 113, 0.35) !important;
}

/* —— Panneaux sidebar espace client —— */
body.fh-whmcs .fh-sidebar .card,
body.fh-whmcs .fh-sidebar .card-sidebar {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  overflow: hidden;
}

body.fh-whmcs .fh-sidebar .card-header {
  background: rgba(29, 111, 216, 0.2) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .fh-sidebar .card-title {
  color: #e8f0fc !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

body.fh-whmcs .fh-sidebar .card-body,
body.fh-whmcs .fh-sidebar .card-footer {
  color: #8fa3be !important;
}

body.fh-whmcs .fh-sidebar .card-body .btn {
  margin-top: 0.35rem;
}

/* —— Modales espace client (hors panier) —— */
body.fh-whmcs .modal-content {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  color: #e8f0fc !important;
  border-radius: 14px !important;
}

body.fh-whmcs .modal-header,
body.fh-whmcs .modal-footer {
  border-color: rgba(77, 163, 255, 0.15) !important;
}

body.fh-whmcs .modal-title {
  color: #e8f0fc !important;
}

body.fh-whmcs .modal-body {
  color: #8fa3be !important;
}

body.fh-whmcs .modal-header .close {
  color: #8fa3be !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.fh-whmcs .modal-header .close:hover {
  color: #e8f0fc !important;
}

/* —— Modales de confirmation —— */
body.fh-whmcs .fh-modal-confirm .modal-dialog {
  max-width: 440px;
  margin: 1.75rem auto;
}

body.fh-whmcs .fh-modal-confirm__content {
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55) !important;
}

body.fh-whmcs .fh-modal-confirm__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.25rem !important;
  background: rgba(12, 24, 41, 0.95) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.15) !important;
}

body.fh-whmcs .fh-modal-confirm--danger .fh-modal-confirm__header {
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.18), rgba(12, 24, 41, 0.98)) !important;
}

body.fh-whmcs .fh-modal-confirm.modal.show {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 10170 !important;
  overflow-x: hidden;
  overflow-y: auto;
}

body.fh-whmcs > form.fh-modal-form {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.fh-whmcs .modal-backdrop,
body.fh-whmcs .modal-backdrop.fade,
body.fh-whmcs .modal-backdrop.show,
body.fh-whmcs .modal-backdrop.in {
  z-index: 10155 !important;
  background-color: rgba(4, 10, 20, 0.78) !important;
  opacity: 1 !important;
}

body.fh-whmcs .fh-modal-confirm__header .modal-title {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .fh-modal-confirm--danger .fh-modal-confirm__header .modal-title i {
  color: #f87171;
}

body.fh-whmcs .fh-modal-confirm__close,
body.fh-whmcs .fh-modal-confirm__header button.close {
  flex: 0 0 auto;
  align-self: center !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 8px;
  color: #8fa3be !important;
  opacity: 1 !important;
  font-size: 1.65rem;
  font-weight: 300;
  line-height: 1;
  text-shadow: none !important;
  cursor: pointer;
  transition: color 0.15s ease, transform 0.15s ease;
}

body.fh-whmcs .fh-modal-confirm__close:hover,
body.fh-whmcs .fh-modal-confirm__close:focus,
body.fh-whmcs .fh-modal-confirm__header button.close:hover,
body.fh-whmcs .fh-modal-confirm__header button.close:focus {
  color: #e8f0fc !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: scale(1.08);
  outline: none;
}

body.fh-whmcs .fh-modal-confirm__body {
  padding: 1.25rem 1.35rem !important;
}

body.fh-whmcs .fh-modal-confirm__body p {
  margin: 0 0 0.65rem;
  color: #c5d4e8 !important;
  line-height: 1.55;
}

body.fh-whmcs .fh-modal-confirm__body p:last-child {
  margin-bottom: 0;
}

body.fh-whmcs .fh-modal-confirm__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem !important;
  background: rgba(0, 0, 0, 0.18) !important;
  border-top: 1px solid rgba(77, 163, 255, 0.12) !important;
}

body.fh-whmcs .fh-modal-confirm__footer .btn {
  min-height: 2.5rem;
  margin: 0 !important;
  padding: 0.5rem 1.1rem !important;
  border-radius: 10px !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  box-shadow: none !important;
}

body.fh-whmcs .fh-modal-confirm__footer .btn:focus,
body.fh-whmcs .fh-modal-confirm__footer .btn:active,
body.fh-whmcs .fh-modal-confirm__footer .btn.focus {
  box-shadow: none !important;
  outline: none !important;
}

body.fh-whmcs .fh-modal-confirm__footer .btn-primary {
  background: linear-gradient(135deg, #3b9eff, #1d6fd8) !important;
  border: none !important;
}

body.fh-whmcs .fh-modal-confirm__footer .btn-danger {
  border: none !important;
}

/* —— Modale adresse de facturation —— */
body.fh-whmcs #modalBillingAddress .modal-dialog {
  max-width: 720px;
  margin: 1.75rem auto;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__content {
  pointer-events: auto !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55) !important;
  background: #0c1829 !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__header {
  display: flex;
  align-items: center !important;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.35rem !important;
  border: none !important;
  background: linear-gradient(135deg, #1d6fd8, #3b9eff) !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__header .modal-title {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.35;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__header .modal-title i {
  opacity: 0.92;
  font-size: 0.95rem;
  flex-shrink: 0;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__close {
  flex: 0 0 auto;
  align-self: center !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.92) !important;
  opacity: 1 !important;
  font-size: 1.65rem;
  font-weight: 300;
  line-height: 1;
  text-shadow: none !important;
  transition: color 0.15s ease, transform 0.15s ease;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__close:hover,
body.fh-whmcs #modalBillingAddress .fh-modal-billing__close:focus {
  color: #fff !important;
  background: transparent !important;
  transform: scale(1.08);
  outline: none;
  box-shadow: none !important;
}

body.fh-whmcs #modalBillingAddress .modal-header .close {
  margin: 0 !important;
  padding: 0 !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__body {
  color: #c5d4e8 !important;
  padding: 1.35rem 1.5rem 1.15rem !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__grid {
  --bs-gutter-x: 1.35rem;
  --bs-gutter-y: 0.15rem;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__body .control-label,
body.fh-whmcs #modalBillingAddress .fh-modal-billing__body .col-form-label {
  display: block;
  color: #8fa3be !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.45rem;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__body .form-group {
  margin-bottom: 1rem;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__body .form-group:last-child {
  margin-bottom: 0;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__body .form-control {
  min-height: 2.65rem;
  padding: 0.5rem 0.85rem !important;
  border-radius: 10px !important;
  background-color: rgba(6, 13, 24, 0.95) !important;
  color: #e8f0fc !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  pointer-events: auto !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__body .form-control:focus {
  border-color: #3b9eff !important;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.18) !important;
}

body.fh-whmcs #modalBillingAddress .intl-tel-input {
  display: block;
  width: 100%;
}

body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code .flag-container {
  width: auto !important;
}

body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code.allow-dropdown .selected-flag {
  display: flex !important;
  align-items: center;
  width: auto !important;
  min-width: 0;
  max-width: none;
  padding: 0 0.25rem 0 0.55rem;
  box-sizing: border-box;
  gap: 0.2rem;
  background-color: transparent !important;
  border-radius: 10px 0 0 10px;
}

body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code .selected-flag .iti-flag {
  position: static;
  transform: none;
  flex-shrink: 0;
  margin: 0;
}

body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code .selected-dial-code {
  position: static;
  display: block;
  padding: 0 !important;
  margin: 0;
  line-height: 1.2;
  white-space: nowrap;
  color: #8fa3be !important;
  font-size: 0.9375rem;
}

body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code.allow-dropdown .selected-flag .iti-arrow {
  position: static;
  right: auto;
  left: auto;
  flex-shrink: 0;
  margin-left: 0.1rem;
}

body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input .form-control,
body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input input[type="tel"],
body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code.allow-dropdown input,
body.fh-whmcs #modalBillingAddress .fh-phone-field .intl-tel-input.separate-dial-code[class*="iti-sdc-"] input[type="tel"] {
  width: 100% !important;
  padding-left: var(--fh-phone-pl, 5.25rem) !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
  padding: 1rem 1.35rem 1.15rem !important;
  border-top: 1px solid rgba(77, 163, 255, 0.14) !important;
  background: rgba(6, 13, 24, 0.45) !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__footer .btn {
  margin: 0 !important;
  padding: 0.55rem 1.15rem !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  border-radius: 10px !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__footer .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: none !important;
}

body.fh-whmcs #modalBillingAddress .fh-modal-billing__btn-cancel {
  background: rgba(12, 24, 41, 0.9) !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  color: #e8f0fc !important;
}

@media (max-width: 575.98px) {
  body.fh-whmcs #modalBillingAddress .modal-dialog {
    margin: 0.75rem;
  }

  body.fh-whmcs #modalBillingAddress .fh-modal-billing__footer {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  body.fh-whmcs #modalBillingAddress .fh-modal-billing__footer .btn {
    width: 100%;
    justify-content: center;
  }
}

/* —— Champs formulaires (renfort global) —— */
body.fh-whmcs .form-control,
body.fh-whmcs select.form-control,
body.fh-whmcs textarea.form-control {
  background-color: rgba(6, 13, 24, 0.9) !important;
  color: #e8f0fc !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .form-control:focus {
  border-color: #3b9eff !important;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.2) !important;
}

body.fh-whmcs .input-group-text {
  background: rgba(12, 24, 41, 0.9) !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
  color: #8fa3be !important;
}

/* —— Cartes contenu principal —— */
body.fh-whmcs .primary-content > .card,
body.fh-whmcs .primary-content .card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  color: #e8f0fc !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

body.fh-whmcs .primary-content .card-title,
body.fh-whmcs .primary-content .card-body h3 {
  color: #e8f0fc !important;
  font-weight: 700;
}

body.fh-whmcs .primary-content .card-body,
body.fh-whmcs .primary-content .card-footer {
  color: #8fa3be !important;
}

body.fh-whmcs .primary-content .card-footer {
  border-top-color: rgba(77, 163, 255, 0.15) !important;
  background: rgba(6, 13, 24, 0.5) !important;
}

body.fh-whmcs .primary-content .card .table {
  margin: 0 !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .primary-content .card > .table tbody td,
body.fh-whmcs .primary-content .card > .table tbody tr {
  background: rgba(14, 28, 48, 0.95) !important;
  border-color: rgba(77, 163, 255, 0.12) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .primary-content .card > .table tbody tr:nth-child(even) td {
  background: rgba(6, 13, 24, 0.9) !important;
}

/* —— Formulaires horizontaux (profil, mot de passe, paiement…) —— */
body.fh-whmcs .form-group.row .col-form-label,
body.fh-whmcs .col-form-label {
  color: #8fa3be !important;
}

body.fh-whmcs .primary-content .btn-primary {
  color: #fff !important;
  font-weight: 600;
  border-radius: 10px !important;
}

body.fh-whmcs .primary-content .btn-default,
body.fh-whmcs .primary-content .btn-secondary {
  background: rgba(12, 24, 41, 0.9) !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  color: #e8f0fc !important;
  border-radius: 10px !important;
}

body.fh-whmcs .primary-content .btn-default:hover {
  background: rgba(59, 158, 255, 0.12) !important;
  color: #fff !important;
}

body.fh-whmcs .generate-password,
body.fh-whmcs .btn.generate-password {
  height: calc(1.5em + 0.75rem + 2px);
  white-space: normal;
  line-height: 1.25;
  font-size: 0.8125rem;
}

/* —— Force mot de passe —— */
body.fh-whmcs #passwordStrengthBar.progress {
  background: rgba(6, 13, 24, 0.9) !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 8px !important;
  height: 0.65rem !important;
}

body.fh-whmcs #passwordStrengthBar .progress-bar {
  border-radius: 8px !important;
}

body.fh-whmcs .using-password-strength .alert-info {
  background: rgba(59, 158, 255, 0.1) !important;
  border-color: rgba(77, 163, 255, 0.25) !important;
  color: #8fa3be !important;
}

body.fh-whmcs .using-password-strength .alert-info small,
body.fh-whmcs .using-password-strength .alert-info i {
  color: #8fa3be !important;
}

/* —— Éditeur Markdown (tickets support) —— */
body.fh-whmcs .md-editor {
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: rgba(6, 13, 24, 0.9) !important;
}

body.fh-whmcs .md-editor > .btn-toolbar {
  background: rgba(12, 24, 41, 0.95) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.2) !important;
  padding: 0.35rem 0.5rem !important;
}

body.fh-whmcs .md-editor .btn-toolbar .btn,
body.fh-whmcs .md-editor .btn-toolbar .btn-group .btn {
  background: rgba(6, 13, 24, 0.8) !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .md-editor .btn-toolbar .btn:hover,
body.fh-whmcs .md-editor .btn-toolbar .btn.active {
  background: rgba(59, 158, 255, 0.2) !important;
  color: #fff !important;
  border-color: rgba(59, 158, 255, 0.45) !important;
}

body.fh-whmcs .md-editor > textarea.markdown-editor,
body.fh-whmcs .md-editor > .md-preview {
  background: rgba(6, 13, 24, 0.95) !important;
  color: #e8f0fc !important;
  border: 0 !important;
  padding: 1rem !important;
  min-height: 200px;
}

body.fh-whmcs .md-editor.active {
  border-color: #3b9eff !important;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.15) !important;
}

body.fh-whmcs .markdown-editor-status {
  color: #8fa3be !important;
  background: rgba(6, 13, 24, 0.85) !important;
  border: 0 !important;
  border-top: 1px solid rgba(77, 163, 255, 0.12) !important;
  box-shadow: none !important;
}

body.fh-whmcs .markdown-content {
  color: #e8f0fc !important;
}

body.fh-whmcs .markdown-content h1,
body.fh-whmcs .markdown-content h2,
body.fh-whmcs .markdown-content h3,
body.fh-whmcs .markdown-content h4 {
  color: #e8f0fc !important;
}

body.fh-whmcs .markdown-content blockquote {
  border-left-color: rgba(59, 158, 255, 0.45) !important;
  color: #8fa3be !important;
}

body.fh-whmcs .markdown-content table {
  background: rgba(12, 24, 41, 0.9) !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs .markdown-content table > thead > tr > th,
body.fh-whmcs .markdown-content table > tbody > tr > td {
  border-color: rgba(77, 163, 255, 0.15) !important;
  color: #e8f0fc !important;
  background: transparent !important;
}

body.fh-whmcs .ticket-reply.markdown-content {
  background: rgba(12, 24, 41, 0.85) !important;
  border: 1px solid rgba(77, 163, 255, 0.15) !important;
  border-radius: 10px;
  padding: 1rem;
}

/* —— Téléchargements / KB —— */
body.fh-whmcs .kb-search.input-group .form-control {
  border-radius: 10px 0 0 10px !important;
}

body.fh-whmcs .kb-search .btn-primary {
  border-radius: 0 10px 10px 0 !important;
}

body.fh-whmcs .kb-category.card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}

body.fh-whmcs .kb-category a.card-body {
  color: #e8f0fc !important;
  text-decoration: none !important;
}

body.fh-whmcs .kb-category a.card-body:hover {
  background: rgba(59, 158, 255, 0.08) !important;
}

body.fh-whmcs .kb-category .h5,
body.fh-whmcs .kb-category .badge {
  color: inherit;
}

body.fh-whmcs .kb-category .text-muted,
body.fh-whmcs .kb-category small {
  color: #8fa3be !important;
}

body.fh-whmcs .kb-article-item {
  color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.12) !important;
}

body.fh-whmcs .kb-article-item:hover {
  background: rgba(59, 158, 255, 0.08) !important;
}

/* —— Gestion utilisateurs —— */
body.fh-whmcs .label.label-info,
body.fh-whmcs .badge-info {
  background: rgba(59, 158, 255, 0.25) !important;
  color: #3b9eff !important;
  border: 1px solid rgba(59, 158, 255, 0.35);
  font-weight: 600;
}

body.fh-whmcs .text-grey,
body.fh-whmcs i.text-grey {
  color: #8fa3be !important;
}

body.fh-whmcs i.text-success {
  color: #34d399 !important;
}

body.fh-whmcs .primary-content .table-striped tbody tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.02) !important;
}

body.fh-whmcs .primary-content .table-striped tbody tr:nth-of-type(even) {
  background: transparent !important;
}

body.fh-whmcs .primary-content .table .btn-sm {
  margin: 0.15rem 0.15rem 0.15rem 0;
}

body.fh-whmcs .primary-content .btn-danger {
  color: #fff !important;
}

body.fh-whmcs .primary-content .btn-danger.disabled,
body.fh-whmcs .primary-content .btn-default.disabled {
  opacity: 0.45;
}

/* —— Modes de paiement / formulaires carte (base) —— */
body.fh-whmcs .frm-credit-card-input .form-group.row,
body.fh-whmcs #frmManagePaymentMethod .form-group {
  margin-bottom: 1rem;
}

body.fh-whmcs .paymethod-info,
body.fh-whmcs .existing-cc-grid .paymethod-info {
  background: rgba(12, 24, 41, 0.85) !important;
  border: 1px solid rgba(77, 163, 255, 0.2) !important;
  border-radius: 10px !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .custom-radio .custom-control-label,
body.fh-whmcs .radio label,
body.fh-whmcs .radio-inline {
  color: #e8f0fc !important;
}

/* —— Notifications (z-index + position) —— */
body.fh-whmcs .popover.popover-user-notifications {
  z-index: 10160 !important;
  margin-top: 0.35rem !important;
}

body.fh-whmcs .popover.popover-user-notifications ul li a i {
  float: none !important;
  padding-top: 0 !important;
  font-size: 1rem !important;
  color: #3b9eff !important;
  flex-shrink: 0;
}

/* —— Alertes info page vide —— */
body.fh-whmcs .alert-info {
  background: rgba(59, 158, 255, 0.12) !important;
  border-color: rgba(77, 163, 255, 0.28) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .alert-info a {
  color: #3b9eff !important;
}

/* —— Pièces jointes tickets —— */
body.fh-whmcs .file-upload,
body.fh-whmcs .ticket-attachments {
  color: #8fa3be !important;
}

body.fh-whmcs .file-upload .btn-default {
  color: #e8f0fc !important;
}

/* —— Modes de paiement : pas d’animation jQuery slide/fade —— */
body.fh-whmcs #frmManagePaymentMethod .fieldgroup-creditcard,
body.fh-whmcs #frmManagePaymentMethod .fieldgroup-bankaccount,
body.fh-whmcs #frmManagePaymentMethod .fieldgroup-remoteinput,
body.fh-whmcs #frmManagePaymentMethod .fieldgroup-auxfields,
body.fh-whmcs #frmManagePaymentMethod .fieldgroup-loading {
  animation: none !important;
  transition: none !important;
}

body.fh-whmcs #frmManagePaymentMethod .fieldgroup-loading {
  min-height: 4.5rem;
  max-height: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.5rem 0 1rem;
  background: rgba(6, 13, 24, 0.5);
  border: 1px dashed rgba(77, 163, 255, 0.2);
  border-radius: 12px;
  color: #8fa3be !important;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

body.fh-whmcs #frmManagePaymentMethod .fieldgroup-loading.w-hidden {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.fh-whmcs--paymentmethods .fieldgroup-remoteinput.w-hidden,
body.fh-whmcs--paymentmethods .fh-payment-remote.w-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.fh-whmcs--paymentmethods .fieldgroup-remoteinput.w-hidden iframe,
body.fh-whmcs--paymentmethods .fh-payment-remote.w-hidden iframe {
  display: none !important;
  visibility: hidden !important;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput,
body.fh-whmcs--paymentmethods .fh-payment-assisted {
  margin: 0 0 1rem;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput:empty {
  display: none;
  margin: 0;
  padding: 0;
}

/* Stripe / assisted : masquer les champs natifs, afficher Link + Elements */
body.fh-whmcs--paymentmethods .fh-payment-form--assisted-active .cc-details {
  display: none !important;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput:not(:empty) {
  display: block;
  margin: 0 0 1.15rem;
  padding: 0;
  min-height: 1px;
  overflow: visible;
  pointer-events: auto !important;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput iframe,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .StripeElement,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput [class*="Stripe"],
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput button[class*="Link"],
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .LinkButton {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  max-width: 100%;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .form-group,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .form-group.row {
  margin-bottom: 0.95rem;
  align-items: center;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .control-label {
  color: #a8bdd4 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .form-control {
  min-height: 2.65rem;
  border-radius: 10px !important;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  caret-color: #e8f0fc !important;
  background-color: rgba(6, 13, 24, 0.92) !important;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod .fieldgroup-creditcard:not(.w-hidden) {
  display: block !important;
}

/* Saisie carte : texte clair (natif + assisted WHMCS/Stripe) */
body.fh-whmcs--paymentmethods #frmManagePaymentMethod,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput {
  color-scheme: dark;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod input,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod textarea,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod select,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod .form-control,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput input,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput textarea,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput select,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .form-control,
body.fh-whmcs--paymentmethods .assisted-cc-input input,
body.fh-whmcs--paymentmethods .assisted-cc-input .form-control {
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  caret-color: #e8f0fc !important;
  background-color: rgba(6, 13, 24, 0.92) !important;
  border-color: rgba(77, 163, 255, 0.28) !important;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod input:focus,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod textarea:focus,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod select:focus,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod .form-control:focus,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput input:focus,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput textarea:focus,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput select:focus,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .form-control:focus,
body.fh-whmcs--paymentmethods .assisted-cc-input input:focus,
body.fh-whmcs--paymentmethods .assisted-cc-input .form-control:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  background-color: rgba(6, 13, 24, 0.98) !important;
  border-color: #3b9eff !important;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.18) !important;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod input:-webkit-autofill,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod input:-webkit-autofill:focus,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput input:-webkit-autofill,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput input:-webkit-autofill:focus,
body.fh-whmcs--paymentmethods .assisted-cc-input input:-webkit-autofill,
body.fh-whmcs--paymentmethods .assisted-cc-input input:-webkit-autofill:focus {
  -webkit-text-fill-color: #e8f0fc !important;
  caret-color: #e8f0fc !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(6, 13, 24, 0.98) inset !important;
  box-shadow: 0 0 0 1000px rgba(6, 13, 24, 0.98) inset !important;
  transition: background-color 99999s ease-out 0s;
}

body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .StripeElement,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .__PrivateStripeElement,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput iframe {
  color-scheme: dark;
}

body.fh-whmcs--paymentmethods .fh-payment-card-fields {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}

body.fh-whmcs--paymentmethods .fh-payment-card-fields .form-control {
  pointer-events: auto !important;
  position: relative;
  z-index: 1;
}

body.fh-whmcs--paymentmethods .fh-payment-card-fields .form-control:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

body.fh-whmcs--paymentmethods .fh-payment-card-meta {
  --bs-gutter-x: 1rem;
  margin-bottom: 0.25rem;
}

body.fh-whmcs--paymentmethods .fh-payment-card-fields .field-error-msg,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .field-error-msg {
  display: none;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #f87171;
}

body.fh-whmcs--paymentmethods .fh-payment-card-fields .form-group.has-error .field-error-msg,
body.fh-whmcs--paymentmethods #tokenGatewayAssistedOutput .form-group.has-error .field-error-msg {
  display: block;
}

body.fh-whmcs--paymentmethods .fh-payment-form .fieldgroup-creditcard .col-md-4 .form-control,
body.fh-whmcs--paymentmethods .fh-payment-card-meta .form-control {
  max-width: 100%;
}

body.fh-whmcs #frmManagePaymentMethod .fieldgroup-remoteinput iframe.auth3d-area {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid rgba(77, 163, 255, 0.22);
  border-radius: 12px;
  background: #060d18;
}

body.fh-whmcs #frmManagePaymentMethod .icheckbox,
body.fh-whmcs #frmManagePaymentMethod .iradio {
  margin-right: 0.35rem;
}

/* Popover notifications — pas de double fondu Bootstrap */
body.fh-whmcs .popover.popover-user-notifications.fade {
  opacity: 1 !important;
  transition: none !important;
}

body.fh-whmcs .popover.popover-user-notifications.fade.show {
  opacity: 1 !important;
}

/* Téléchargements — barre recherche alignée */
body.fh-whmcs .kb-search.input-group {
  align-items: stretch !important;
  flex-wrap: nowrap !important;
}

body.fh-whmcs .kb-search.input-group .form-control {
  min-height: 3rem;
  border-radius: 10px 0 0 10px !important;
}

body.fh-whmcs .kb-search.input-group .btn,
body.fh-whmcs .kb-search.input-group-append .btn {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 10px 10px 0 !important;
  margin: 0 !important;
}

/* =============================================================================
   CORRECTIFS FINAUX — éléments bloqués / mal alignés
   ============================================================================= */

/* —— Selects : chevron visible (Mode paiement, Pays, Contact facturation…) —— */
body.fh-whmcs select.form-control,
body.fh-whmcs select.custom-select,
body.fh-whmcs .form-select,
body.fh-whmcs select.form-control.custom-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238fa3be'%3E%3Cpath d='M3.2 5.6L8 10.4l4.8-4.8 1.2 1.2L8 12.8 2 6.8z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.85rem center !important;
  background-size: 14px 14px !important;
  padding-right: 2.5rem !important;
}

body.fh-whmcs select.form-control:focus,
body.fh-whmcs select.custom-select:focus,
body.fh-whmcs .form-select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233b9eff'%3E%3Cpath d='M3.2 5.6L8 10.4l4.8-4.8 1.2 1.2L8 12.8 2 6.8z'/%3E%3C/svg%3E") !important;
}

body.fh-whmcs select.form-control option,
body.fh-whmcs .form-select option {
  background: #0c1829 !important;
  color: #e8f0fc !important;
}

/* Force CountryDropdown (générée par WHMCS sans classe form-control parfois) */
body.fh-whmcs select[name="country"],
body.fh-whmcs select#stateinput,
body.fh-whmcs select#country {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238fa3be'%3E%3Cpath d='M3.2 5.6L8 10.4l4.8-4.8 1.2 1.2L8 12.8 2 6.8z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.85rem center !important;
  background-size: 14px 14px !important;
  padding-right: 2.5rem !important;
}

/* —— Badges status (sidebar ticket + dashboard + listes) : compact partout —— */
/* Spécificité maximale + align-self pour vaincre le stretch flex */
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked .label,
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked .status,
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked span.label,
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked span.status,
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked span[class*="status-"],
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked > span,
body.fh-whmcs .client-home-cards .list-group-item span.label,
body.fh-whmcs .client-home-cards .list-group-item span.status,
body.fh-whmcs .client-home-cards .list-group-item span[class*="status-"],
body.fh-whmcs .list-group .list-group-item span[class*="status-"],
body.fh-whmcs .list-group .list-group-item span.label,
body.fh-whmcs .list-group .list-group-item span.status,
body.fh-whmcs span.label.status-customer-reply,
body.fh-whmcs span.label.status-answered,
body.fh-whmcs span.label.status-onhold,
body.fh-whmcs span.label.status-inprogress,
body.fh-whmcs span.label.status-fraud,
body.fh-whmcs span.label.status-paid,
body.fh-whmcs span.label.status-active,
body.fh-whmcs span.label.status-open,
body.fh-whmcs span.label.status-completed,
body.fh-whmcs span.label.status-suspended,
body.fh-whmcs span.label.status-cancelled,
body.fh-whmcs span.label.status-terminated,
body.fh-whmcs span.label.status-closed,
body.fh-whmcs span.label.status-expired,
body.fh-whmcs span.label.status-pending,
body.fh-whmcs span.label.status-unpaid,
body.fh-whmcs span.status.status-customer-reply,
body.fh-whmcs span.status.status-answered,
body.fh-whmcs span.status.status-onhold,
body.fh-whmcs span.status.status-inprogress,
body.fh-whmcs span.status[class*="status-"] {
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  padding: 0.25rem 0.65rem !important;
  margin: 0 0 0 0.4rem !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  text-align: center !important;
  background-image: none !important;
  vertical-align: middle !important;
  float: none !important;
  white-space: nowrap !important;
}

/* Wrapper stacked : empêcher stretch des enfants quel que soit le contexte parent */
body.fh-whmcs .fh-sidebar .fh-sidebar-kv__stacked {
  align-items: flex-start !important;
}

/* Cas dashboard : list-group-item flex avec badge → ne pas stretch le badge */
body.fh-whmcs .client-home-cards .list-group-item,
body.fh-whmcs .list-group .list-group-item {
  align-items: center;
}

/* —— FORCE GLOBALE : tout élément portant une classe status-* devient badge compact —— */
/* Utilise [class~=] (mot exact dans class) pour matcher peu importe le tag : div, span, p, a... */
body.fh-whmcs [class~="status-customer-reply"],
body.fh-whmcs [class~="status-answered"],
body.fh-whmcs [class~="status-onhold"],
body.fh-whmcs [class~="status-inprogress"],
body.fh-whmcs [class~="status-fraud"],
body.fh-whmcs [class~="status-paid"],
body.fh-whmcs [class~="status-active"],
body.fh-whmcs [class~="status-open"],
body.fh-whmcs [class~="status-completed"],
body.fh-whmcs [class~="status-suspended"],
body.fh-whmcs [class~="status-cancelled"],
body.fh-whmcs [class~="status-terminated"],
body.fh-whmcs [class~="status-closed"],
body.fh-whmcs [class~="status-expired"],
body.fh-whmcs [class~="status-pending"],
body.fh-whmcs [class~="status-unpaid"],
body.fh-whmcs [class~="status-payment-pending"] {
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  padding: 0.25rem 0.65rem !important;
  margin-left: 0.4rem !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  text-align: center !important;
  background-image: none !important;
  vertical-align: middle !important;
  float: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* Couleurs forcées avec [class~=] pour battre theme.css */
body.fh-whmcs [class~="status-customer-reply"] {
  background-color: rgba(255, 102, 0, 0.18) !important;
  color: #ff944d !important;
  border: 1px solid rgba(255, 102, 0, 0.45) !important;
}

body.fh-whmcs [class~="status-answered"] {
  background-color: rgba(123, 79, 157, 0.2) !important;
  color: #c39bd9 !important;
  border: 1px solid rgba(123, 79, 157, 0.45) !important;
}

body.fh-whmcs [class~="status-onhold"] {
  background-color: rgba(51, 102, 153, 0.22) !important;
  color: #7eb4e8 !important;
  border: 1px solid rgba(51, 102, 153, 0.5) !important;
}

body.fh-whmcs [class~="status-inprogress"] {
  background-color: rgba(192, 57, 43, 0.18) !important;
  color: #f0857a !important;
  border: 1px solid rgba(192, 57, 43, 0.45) !important;
}

body.fh-whmcs [class~="status-paid"],
body.fh-whmcs [class~="status-active"],
body.fh-whmcs [class~="status-open"],
body.fh-whmcs [class~="status-completed"] {
  background-color: rgba(52, 211, 153, 0.15) !important;
  color: #34d399 !important;
  border: 1px solid rgba(52, 211, 153, 0.35) !important;
}

body.fh-whmcs [class~="status-unpaid"],
body.fh-whmcs [class~="status-pending"],
body.fh-whmcs [class~="status-payment-pending"] {
  background-color: rgba(251, 191, 36, 0.12) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(251, 191, 36, 0.35) !important;
}

body.fh-whmcs [class~="status-cancelled"],
body.fh-whmcs [class~="status-terminated"],
body.fh-whmcs [class~="status-closed"],
body.fh-whmcs [class~="status-expired"] {
  background-color: rgba(148, 163, 184, 0.12) !important;
  color: #94a3b8 !important;
  border: 1px solid rgba(148, 163, 184, 0.3) !important;
}

body.fh-whmcs [class~="status-suspended"],
body.fh-whmcs [class~="status-fraud"] {
  background-color: rgba(248, 113, 113, 0.12) !important;
  color: #f87171 !important;
  border: 1px solid rgba(248, 113, 113, 0.35) !important;
}

/* —— Wrapper .badge des panels dashboard : ne pas étirer son contenu —— */
body.fh-whmcs .client-home-cards .list-group-item .badge,
body.fh-whmcs .client-home-cards .list-group-item-action .badge,
body.fh-whmcs .list-group-item > .badge,
body.fh-whmcs .list-group-item-action > .badge {
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  background: transparent !important;
  padding: 0 !important;
  margin-left: 0.4rem !important;
  vertical-align: middle !important;
  float: none !important;
}

/* Contenu intérieur du wrapper .badge (si span imbriqué dans span.badge) */
body.fh-whmcs .client-home-cards .list-group-item .badge > *,
body.fh-whmcs .client-home-cards .list-group-item-action .badge > *,
body.fh-whmcs .list-group-item .badge > [class*="status-"],
body.fh-whmcs .list-group-item-action .badge > [class*="status-"] {
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
}

/* =============================================================================
   PAGE PRODUIT (clientareaproductdetails) — onglets fond blanc
   ============================================================================= */

/* Neutraliser bg-white sur les tab-content du thème */
body.fh-whmcs .tab-content.bg-white,
body.fh-whmcs .product-details-tab-container,
body.fh-whmcs .fh-product-tabs {
  background-color: transparent !important;
  color: #e8f0fc !important;
}

/* Style cohérent des panneaux d'onglet produit */
body.fh-whmcs .fh-product-tabs .tab-pane {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 0 12px 12px 12px;
  padding: 1.5rem !important;
  color: #e8f0fc !important;
  margin-top: -1px;
}

body.fh-whmcs .fh-product-tabs .tab-pane .row {
  padding: 0.55rem 0;
  margin: 0;
  border-bottom: 1px solid rgba(77, 163, 255, 0.1);
}

body.fh-whmcs .fh-product-tabs .tab-pane .row:last-child {
  border-bottom: 0;
}

body.fh-whmcs .fh-product-tabs .tab-pane strong,
body.fh-whmcs .fh-product-tabs .tab-pane h4 {
  color: #e8f0fc !important;
  font-weight: 600;
}

body.fh-whmcs .fh-product-tabs .tab-pane .col-sm-5,
body.fh-whmcs .fh-product-tabs .tab-pane .col-sm-7,
body.fh-whmcs .fh-product-tabs .tab-pane .col-md-6 {
  color: #e8f0fc !important;
}

/* Onglet actif raccordé visuellement à la zone de contenu */
body.fh-whmcs .nav-tabs .nav-link.active {
  position: relative;
}

body.fh-whmcs .nav-tabs .nav-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: rgba(29, 111, 216, 0.25);
}

/* Fallback pour autres pages utilisant tab-content bg-white (store, ssl…) */
body.fh-whmcs .tab-content.bg-white .tab-pane {
  background: transparent;
  color: #e8f0fc;
}

/* =============================================================================
   CARTE PRODUIT — header + grille stats
   ============================================================================= */

body.fh-whmcs .fh-product-card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  overflow: hidden;
}

body.fh-whmcs .fh-product {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Header : icône + nom à gauche, statut à droite */
body.fh-whmcs .fh-product__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.15);
  margin: 0 !important;
  background: transparent !important;
}

body.fh-whmcs .fh-product__identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

body.fh-whmcs .fh-product__icon {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(29, 111, 216, 0.35), rgba(59, 158, 255, 0.18));
  border: 1px solid rgba(59, 158, 255, 0.35);
  color: #fff;
  font-size: 1.5rem;
}

body.fh-whmcs .fh-product__titles {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

body.fh-whmcs .fh-product__name {
  margin: 0 !important;
  font-size: 1.4rem !important;
  font-weight: 700;
  color: #e8f0fc !important;
  line-height: 1.2;
}

body.fh-whmcs .fh-product__group {
  margin: 0.2rem 0 0 0 !important;
  font-size: 0.875rem !important;
  font-weight: 500;
  color: #8fa3be !important;
}

body.fh-whmcs .fh-product__status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 1rem !important;
  border-radius: 999px;
  background: rgba(251, 191, 36, 0.12);
  color: #fbbf24 !important;
  border: 1px solid rgba(251, 191, 36, 0.4);
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}

/* Couleurs statut (override par état) */
body.fh-whmcs .product-status-active .fh-product__status,
body.fh-whmcs .product-status-completed .fh-product__status {
  background: rgba(52, 211, 153, 0.15);
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.4);
}

body.fh-whmcs .product-status-suspended .fh-product__status,
body.fh-whmcs .product-status-terminated .fh-product__status,
body.fh-whmcs .product-status-cancelled .fh-product__status {
  background: rgba(248, 113, 113, 0.12);
  color: #f87171 !important;
  border-color: rgba(248, 113, 113, 0.4);
}

/* Actions (upgrade / cancel) */
body.fh-whmcs .fh-product__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

body.fh-whmcs .fh-product__actions .btn {
  flex: 0 1 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.1rem !important;
  border-radius: 10px !important;
  font-weight: 600;
}

/* Grille de stats */
body.fh-whmcs .fh-product__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem 1.25rem;
  margin: 0 !important;
  padding: 0 !important;
}

body.fh-whmcs .fh-product__stat {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.85rem 1rem;
  background: rgba(6, 13, 24, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.12);
  border-radius: 10px;
  min-width: 0;
}

body.fh-whmcs .fh-product__stat--wide {
  grid-column: 1 / -1;
}

body.fh-whmcs .fh-product__stat dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: #8fa3be;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.fh-whmcs .fh-product__stat dd {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #e8f0fc;
  word-break: break-word;
}

body.fh-whmcs .fh-product__stat dd a {
  color: #6bb3ff !important;
  text-decoration: none;
}

body.fh-whmcs .fh-product__stat dd a:hover {
  text-decoration: underline;
}

/* =============================================================================
   ALERTES (facture impayée, etc.) — plus compactes
   ============================================================================= */

body.fh-whmcs .alert,
body.fh-whmcs .alert-warning,
body.fh-whmcs .alert-danger {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1.15rem !important;
  border-radius: 12px !important;
  margin-bottom: 1.25rem !important;
  font-size: 0.9rem;
  line-height: 1.45;
}

body.fh-whmcs .alert-warning {
  background: rgba(251, 191, 36, 0.1) !important;
  border: 1px solid rgba(251, 191, 36, 0.35) !important;
  color: #fbbf24 !important;
}

body.fh-whmcs .alert-danger {
  background: rgba(248, 113, 113, 0.1) !important;
  border: 1px solid rgba(248, 113, 113, 0.4) !important;
  color: #f87171 !important;
}

body.fh-whmcs .alert .float-right,
body.fh-whmcs .alert .float-left {
  margin-left: auto;
  flex-shrink: 0;
}

body.fh-whmcs .alert .btn,
body.fh-whmcs .alert .btn-default {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid currentColor !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  padding: 0.35rem 0.9rem !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  white-space: nowrap;
}

body.fh-whmcs .alert .btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
}

/* =============================================================================
   FORCE BADGE DASHBOARD — approche par parent flex
   ============================================================================= */

/* Si le badge est dans un <a class="list-group-item"> du dashboard, on force le
   parent en flex column pour que le badge ait sa largeur naturelle même
   si le HTML rendu ne porte pas la classe attendue */
body.fh-whmcs .client-home-cards .list-group .list-group-item,
body.fh-whmcs .client-home-cards .list-group .list-group-item-action,
body.fh-whmcs .client-home-cards .list-group a[class*="list-group-item"] {
  display: block !important;
  text-align: left !important;
  padding: 0.7rem 1rem !important;
  line-height: 1.5;
}

/* Tout span enfant dans une ligne list-group du dashboard reste compact */
body.fh-whmcs .client-home-cards .list-group .list-group-item span,
body.fh-whmcs .client-home-cards .list-group a[class*="list-group-item"] span,
body.fh-whmcs .client-home-cards .list-group span[class*="status"],
body.fh-whmcs .client-home-cards .list-group span.badge {
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  vertical-align: middle !important;
  float: none !important;
}

/* Si fond orange est appliqué via style legacy, on l'enrobe d'un padding compact */
body.fh-whmcs .client-home-cards .list-group span[style*="background"],
body.fh-whmcs .client-home-cards .list-group span[class*="status-customer-reply"],
body.fh-whmcs .client-home-cards .list-group span[class*="status-"] {
  background-color: rgba(255, 102, 0, 0.18) !important;
  background-image: none !important;
  color: #ff944d !important;
  border: 1px solid rgba(255, 102, 0, 0.45) !important;
  border-radius: 6px !important;
  padding: 0.2rem 0.55rem !important;
  margin: 0 0 0 0.4rem !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Footer sidebar avec classe forcée par le template (Ticket Information) */
body.fh-whmcs .card-footer.fh-sidebar-footer--stacked {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0.5rem !important;
  padding: 0.75rem 1rem 1rem !important;
}

body.fh-whmcs .card-footer.fh-sidebar-footer--stacked > .btn,
body.fh-whmcs .card-footer.fh-sidebar-footer--stacked .btn {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0.55rem 0.5rem !important;
  font-size: 0.8125rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Couleurs spécifiques par status restant (override pour les autres) */
body.fh-whmcs .client-home-cards .list-group span[class*="status-answered"] {
  background-color: rgba(123, 79, 157, 0.2) !important;
  color: #c39bd9 !important;
  border-color: rgba(123, 79, 157, 0.45) !important;
}

body.fh-whmcs .client-home-cards .list-group span[class*="status-paid"],
body.fh-whmcs .client-home-cards .list-group span[class*="status-active"],
body.fh-whmcs .client-home-cards .list-group span[class*="status-open"],
body.fh-whmcs .client-home-cards .list-group span[class*="status-completed"] {
  background-color: rgba(52, 211, 153, 0.15) !important;
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
}

body.fh-whmcs .client-home-cards .list-group span[class*="status-unpaid"],
body.fh-whmcs .client-home-cards .list-group span[class*="status-pending"] {
  background-color: rgba(251, 191, 36, 0.12) !important;
  color: #fbbf24 !important;
  border-color: rgba(251, 191, 36, 0.35) !important;
}

/* —— FORCE GLOBALE : footer de TOUS les panneaux sidebar empilent leurs boutons —— */
/* Si fh-sidebar-panel--ticket-info n'est pas appliquée, on cible quand même tout le footer sidebar */
body.fh-whmcs .fh-sidebar .card > .card-footer,
body.fh-whmcs .fh-sidebar .card-sidebar > .card-footer {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0.5rem !important;
}

body.fh-whmcs .fh-sidebar .card > .card-footer > .btn,
body.fh-whmcs .fh-sidebar .card > .card-footer .btn,
body.fh-whmcs .fh-sidebar .card-sidebar > .card-footer .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  padding: 0.55rem 0.5rem !important;
  font-size: 0.8125rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Couleurs status manquantes (legacy theme.css force fond plein) */
body.fh-whmcs .status-customer-reply,
body.fh-whmcs span.status-customer-reply,
body.fh-whmcs .label.status-customer-reply {
  background-color: rgba(255, 102, 0, 0.18) !important;
  color: #ff944d !important;
  border: 1px solid rgba(255, 102, 0, 0.45) !important;
}

body.fh-whmcs .status-answered,
body.fh-whmcs span.status-answered,
body.fh-whmcs .label.status-answered {
  background-color: rgba(123, 79, 157, 0.2) !important;
  color: #c39bd9 !important;
  border: 1px solid rgba(123, 79, 157, 0.45) !important;
}

body.fh-whmcs .status-onhold,
body.fh-whmcs .status-on-hold,
body.fh-whmcs .label.status-onhold {
  background-color: rgba(51, 102, 153, 0.22) !important;
  color: #7eb4e8 !important;
  border: 1px solid rgba(51, 102, 153, 0.5) !important;
}

body.fh-whmcs .status-inprogress,
body.fh-whmcs .status-in-progress,
body.fh-whmcs .label.status-inprogress {
  background-color: rgba(192, 57, 43, 0.18) !important;
  color: #f0857a !important;
  border: 1px solid rgba(192, 57, 43, 0.45) !important;
}

body.fh-whmcs .status-fraud,
body.fh-whmcs .label.status-fraud {
  background-color: rgba(0, 0, 0, 0.4) !important;
  color: #f87171 !important;
  border: 1px solid rgba(248, 113, 113, 0.45) !important;
}

/* —— Sidebar ticket — footer : empiler les boutons (évite l'overflow) —— */
/* Spécificité élevée + reset des flex-wrap/min-width imposés par global-fixes */
body.fh-whmcs .fh-sidebar .card.fh-sidebar-panel--ticket-info > .card-footer,
body.fh-whmcs .fh-sidebar .fh-sidebar-panel--ticket-info .card-footer {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0.5rem !important;
  padding: 0.75rem 1rem 1rem !important;
}

body.fh-whmcs .fh-sidebar .card.fh-sidebar-panel--ticket-info > .card-footer > .btn,
body.fh-whmcs .fh-sidebar .fh-sidebar-panel--ticket-info .card-footer .btn,
body.fh-whmcs .fh-sidebar-panel--ticket-info .card-footer .btn-block {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.5rem !important;
  font-size: 0.8rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-panel--ticket-info .card-footer .btn i {
  margin-right: 0.35rem;
  flex-shrink: 0;
}

/* —— CC Recipients : alignement input + bouton Ajouter —— */
body.fh-whmcs .fh-sidebar-panel--cc .card-body .input-group .form-control {
  min-width: 0 !important;
  padding: 0.45rem 0.65rem !important;
}

body.fh-whmcs .fh-sidebar-panel--cc .card-body .input-group > .btn,
body.fh-whmcs .fh-sidebar-panel--cc .card-body .input-group-append .btn {
  padding: 0.45rem 0.85rem !important;
  font-size: 0.8125rem !important;
  background: rgba(29, 111, 216, 0.35) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .fh-sidebar-panel--cc .card-body .input-group > .btn:hover,
body.fh-whmcs .fh-sidebar-panel--cc .card-body .input-group-append .btn:hover {
  background: rgba(59, 158, 255, 0.45) !important;
  color: #fff !important;
}

/* —— Modifier mot de passe : bouton "Générer" + layout aligné —— */
body.fh-whmcs .using-password-strength .form-group.row {
  align-items: flex-start !important;
}

body.fh-whmcs .using-password-strength .form-group.row .col-form-label {
  padding-top: calc(0.375rem + 1px);
}

body.fh-whmcs .btn.generate-password,
body.fh-whmcs .generate-password.btn-block {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: auto !important;
  min-height: calc(1.5em + 0.75rem + 2px) !important;
  padding: 0.45rem 0.85rem !important;
  font-size: 0.85rem !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  background: rgba(12, 24, 41, 0.9) !important;
  color: #e8f0fc !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 10px !important;
}

body.fh-whmcs .btn.generate-password:hover {
  background: rgba(59, 158, 255, 0.18) !important;
  border-color: rgba(59, 158, 255, 0.5) !important;
  color: #fff !important;
}

/* —— Boutons Annuler (input[type="reset"]) —— */
body.fh-whmcs input[type="reset"].btn,
body.fh-whmcs input[type="reset"].btn-default,
body.fh-whmcs input.btn-default,
body.fh-whmcs button[type="reset"].btn-default {
  background: rgba(12, 24, 41, 0.9) !important;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 10px !important;
  padding: 0.45rem 1.1rem !important;
}

body.fh-whmcs input[type="reset"].btn:hover,
body.fh-whmcs input[type="reset"].btn-default:hover,
body.fh-whmcs input.btn-default:hover,
body.fh-whmcs button[type="reset"].btn-default:hover {
  background: rgba(59, 158, 255, 0.12) !important;
  border-color: rgba(59, 158, 255, 0.5) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* —— Ajout de fonds (legacy classes) —— */
body.fh-whmcs .fh-addfunds__limits .table tbody td,
body.fh-whmcs .fh-addfunds-limits tbody td,
body.fh-whmcs .fh-addfunds-limits tbody th {
  padding: 0.85rem 1.15rem !important;
  border-color: rgba(77, 163, 255, 0.12) !important;
}

/* —— Formulaires horizontaux : labels alignés avec inputs —— */
body.fh-whmcs .form-group.row .col-form-label,
body.fh-whmcs .form-group .col-form-label {
  padding-top: calc(0.45rem + 1px) !important;
  padding-bottom: calc(0.45rem + 1px) !important;
}

/* —— Profil : empêcher l'overflow horizontal sur les selects WHMCS natifs —— */
body.fh-whmcs .form-control[name="paymentmethod"],
body.fh-whmcs .form-control[name="billingcid"] {
  max-width: 100%;
}

/* —— Boutons d'action centraux (form-group text-center) —— */
body.fh-whmcs .form-group.text-center .btn,
body.fh-whmcs .form-group.text-center input.btn {
  margin: 0 0.25rem;
}

/* —— Évite que le badge requestor-badge soit aussi en pleine largeur —— */
body.fh-whmcs .requestor-badge,
body.fh-whmcs .label.requestor-badge {
  display: inline-block !important;
  width: auto !important;
  padding: 0.2rem 0.55rem !important;
  border-radius: 6px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background-color: rgba(59, 158, 255, 0.2) !important;
  color: #3b9eff !important;
  border: 1px solid rgba(59, 158, 255, 0.4) !important;
}

body.fh-whmcs .requestor-type-admin,
body.fh-whmcs .label.requestor-type-admin {
  background-color: rgba(52, 211, 153, 0.18) !important;
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.45) !important;
}

body.fh-whmcs .requestor-type-customer,
body.fh-whmcs .label.requestor-type-customer {
  background-color: rgba(59, 158, 255, 0.18) !important;
  color: #6bb3ff !important;
  border-color: rgba(59, 158, 255, 0.4) !important;
}

body.fh-whmcs .requestor-type-operator,
body.fh-whmcs .label.requestor-type-operator {
  background-color: rgba(251, 191, 36, 0.16) !important;
  color: #fbbf24 !important;
  border-color: rgba(251, 191, 36, 0.4) !important;
}

/* =============================================================================
   PAGE CONNEXION — checkbox "Rester connecté" + bouton œil
   ============================================================================= */

/* —— Case à cocher "Rester connecté" (rendu natif blanc → thème sombre) —— */
body.fh-whmcs .fh-login__remember {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  color: #8fa3be !important;
  font-size: 0.875rem;
  cursor: pointer;
  user-select: none;
}

body.fh-whmcs .fh-login__remember .form-check-input,
body.fh-whmcs .fh-login__remember input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  width: 1.05rem !important;
  height: 1.05rem !important;
  margin: 0 !important;
  flex-shrink: 0;
  background-color: rgba(6, 13, 24, 0.95) !important;
  border: 1px solid rgba(77, 163, 255, 0.4) !important;
  border-radius: 4px !important;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

body.fh-whmcs .fh-login__remember .form-check-input:hover,
body.fh-whmcs .fh-login__remember input[type="checkbox"]:hover {
  border-color: #3b9eff !important;
}

body.fh-whmcs .fh-login__remember .form-check-input:checked,
body.fh-whmcs .fh-login__remember input[type="checkbox"]:checked {
  background-color: #3b9eff !important;
  border-color: #3b9eff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 12px 12px !important;
}

body.fh-whmcs .fh-login__remember .form-check-input:focus,
body.fh-whmcs .fh-login__remember input[type="checkbox"]:focus {
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.25) !important;
  outline: none !important;
}

/* —— Bouton "œil" (révéler mot de passe) intégré à l'input-group —— */
body.fh-whmcs .btn-reveal-pw,
body.fh-whmcs .input-group .btn-reveal-pw {
  background: rgba(12, 24, 41, 0.95) !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-left: 0 !important;
  color: #8fa3be !important;
  padding: 0 0.85rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  border-radius: 0 10px 10px 0 !important;
  transition: color 0.15s ease, background-color 0.15s ease;
}

body.fh-whmcs .btn-reveal-pw:hover,
body.fh-whmcs .btn-reveal-pw:focus {
  background: rgba(59, 158, 255, 0.15) !important;
  color: #3b9eff !important;
  border-color: rgba(77, 163, 255, 0.45) !important;
  box-shadow: none !important;
}

body.fh-whmcs .btn-reveal-pw i {
  font-size: 0.95rem;
  line-height: 1;
}

/* —— Input-group page login : alignement homogène —— */
body.fh-whmcs .fh-login .input-group {
  flex-wrap: nowrap;
}

body.fh-whmcs .fh-login .input-group .input-group-text {
  background: rgba(12, 24, 41, 0.95) !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-right: 0 !important;
  color: #8fa3be !important;
  border-radius: 10px 0 0 10px !important;
  padding: 0 0.85rem !important;
  min-width: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.fh-whmcs .fh-login .input-group .form-control {
  border-radius: 0 !important;
  border-left: 0 !important;
}

/* Si le champ est suivi du bouton œil → arrondir uniquement à gauche */
body.fh-whmcs .fh-login .input-group .form-control.pw-input {
  border-right: 0 !important;
}

/* Si le champ n'a pas de bouton après (email) → arrondir aussi à droite */
body.fh-whmcs .fh-login .input-group .form-control:last-child {
  border-radius: 0 10px 10px 0 !important;
  border-right: 1px solid rgba(77, 163, 255, 0.28) !important;
}

/* —— Autofill navigateur : éliminer le contour blanc/jaune Chrome —— */
body.fh-whmcs input:-webkit-autofill,
body.fh-whmcs input:-webkit-autofill:hover,
body.fh-whmcs input:-webkit-autofill:focus,
body.fh-whmcs input:-webkit-autofill:active,
body.fh-whmcs textarea:-webkit-autofill,
body.fh-whmcs select:-webkit-autofill {
  -webkit-text-fill-color: #e8f0fc !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(6, 13, 24, 0.95) inset !important;
  box-shadow: 0 0 0 1000px rgba(6, 13, 24, 0.95) inset !important;
  caret-color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.28) !important;
  -webkit-text-size-adjust: 100%;
  transition: background-color 5000s ease-in-out 0s, color 5000s ease-in-out 0s;
}

body.fh-whmcs input:-webkit-autofill:focus {
  border-color: #3b9eff !important;
  -webkit-box-shadow:
    0 0 0 1000px rgba(6, 13, 24, 0.95) inset,
    0 0 0 3px rgba(59, 158, 255, 0.2) !important;
}

/* Firefox : autofill jaune */
body.fh-whmcs input:autofill,
body.fh-whmcs input:-moz-autofill {
  background-color: rgba(6, 13, 24, 0.95) !important;
  color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.28) !important;
  filter: none !important;
}

/* —— Focus cohérent sur l'input-group entier (page login) —— */
body.fh-whmcs .fh-login .input-group .form-control:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #3b9eff !important;
}

body.fh-whmcs .fh-login .input-group:focus-within .input-group-text {
  border-color: #3b9eff !important;
  color: #3b9eff !important;
}

body.fh-whmcs .fh-login .input-group:focus-within .btn-reveal-pw {
  border-color: #3b9eff !important;
}

/* Anneau de focus appliqué au groupe entier au lieu de l'input seul */
body.fh-whmcs .fh-login .input-group:focus-within {
  border-radius: 10px;
  box-shadow: 0 0 0 3px rgba(59, 158, 255, 0.2);
}

/* Cas spécial : champ autofilled DANS un input-group — appliquer le focus-ring au parent */
body.fh-whmcs .fh-login .input-group:has(input:-webkit-autofill) {
  outline: none;
}

body.fh-whmcs .fh-login .input-group:has(input:-webkit-autofill) .input-group-text,
body.fh-whmcs .fh-login .input-group:has(input:-webkit-autofill) .btn-reveal-pw,
body.fh-whmcs .fh-login .input-group:has(input:-webkit-autofill) .form-control {
  border-color: rgba(77, 163, 255, 0.28) !important;
}

/* =============================================================================
   Page viewticket — mise en page aérée + fil de discussion
   ============================================================================= */

body.fh-whmcs--viewticket #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--viewticket .primary-content {
    padding-left: 1.5rem;
  }
}

/* Colonne sidebar : respiration + cartes espacées */
body.fh-whmcs--viewticket #main-body > .container > .row > .col-lg-4,
body.fh-whmcs--viewticket #main-body > .container > .row > .col-xl-3 {
  padding-right: 0.75rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--viewticket #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--viewticket #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }
}

body.fh-whmcs--viewticket .fh-sidebar--viewticket {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body.fh-whmcs--viewticket .fh-sidebar.fh-sidebar--viewticket {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

body.fh-whmcs--viewticket .fh-sidebar .card-sidebar .card-header {
  padding: 0.95rem 1.15rem !important;
}

body.fh-whmcs--viewticket .fh-sidebar .card-sidebar .card-title {
  font-size: 0.9rem !important;
  line-height: 1.35;
}

body.fh-whmcs--viewticket .fh-sidebar .fh-sidebar-kv {
  padding: 0.95rem 1.15rem !important;
  gap: 0.45rem 0.85rem;
  line-height: 1.5;
}

body.fh-whmcs--viewticket .fh-sidebar .fh-sidebar-kv--stacked {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
  gap: 0.55rem;
}

body.fh-whmcs--viewticket .fh-sidebar .fh-sidebar-kv__stacked {
  gap: 0.5rem;
}

body.fh-whmcs--viewticket .fh-sidebar .fh-sidebar-kv__stacked .label,
body.fh-whmcs--viewticket .fh-sidebar .fh-sidebar-kv__stacked .status {
  margin-top: 0.15rem !important;
}

body.fh-whmcs--viewticket .fh-sidebar-panel--cc .card-body {
  padding: 1rem 1.15rem 1.15rem !important;
}

/* Footer ticket : boutons empilés (WHMCS utilise souvent row/col) */
body.fh-whmcs--viewticket .fh-sidebar .card-footer,
body.fh-whmcs--viewticket .fh-sidebar .card-footer.fh-sidebar-footer--stacked,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0.65rem !important;
  padding: 1rem 1.15rem 1.2rem !important;
}

body.fh-whmcs--viewticket .fh-sidebar .card-footer.clearfix::before,
body.fh-whmcs--viewticket .fh-sidebar .card-footer.clearfix::after {
  display: none !important;
}

body.fh-whmcs--viewticket .fh-sidebar .card-footer .row {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0.65rem !important;
  width: 100% !important;
  margin: 0 !important;
}

body.fh-whmcs--viewticket .fh-sidebar .card-footer [class*="col-"] {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.fh-whmcs--viewticket .fh-sidebar .card-footer .btn,
body.fh-whmcs--viewticket .fh-sidebar .card-footer a.btn {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0.6rem 0.85rem !important;
  font-size: 0.8125rem !important;
  white-space: nowrap;
  box-sizing: border-box;
}

body.fh-whmcs--viewticket .fh-sidebar .card-footer .btn + .btn,
body.fh-whmcs--viewticket .fh-sidebar .card-footer a.btn + a.btn {
  margin-top: 0 !important;
}

/* Blocs principaux : espacement vertical uniforme */
body.fh-whmcs--viewticket .fh-viewticket {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

body.fh-whmcs--viewticket .fh-viewticket > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* —— En-tête ticket —— */
body.fh-whmcs--viewticket .fh-ticket-header {
  background: linear-gradient(145deg, rgba(12, 24, 41, 0.98) 0%, rgba(18, 42, 69, 0.72) 100%) !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

body.fh-whmcs--viewticket .fh-ticket-header .card-body {
  padding: 1.35rem 1.5rem !important;
}

body.fh-whmcs--viewticket .fh-ticket-header__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem 1.5rem;
}

body.fh-whmcs--viewticket .fh-ticket-header__identity {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
  flex: 1 1 16rem;
}

body.fh-whmcs--viewticket .fh-ticket-header__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 12px;
  background: rgba(59, 158, 255, 0.14);
  border: 1px solid rgba(77, 163, 255, 0.3);
  color: #3b9eff;
  font-size: 1.2rem;
}

body.fh-whmcs--viewticket .fh-ticket-header__titles {
  min-width: 0;
}

body.fh-whmcs--viewticket .fh-ticket-header__number {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8fa3be;
  margin-bottom: 0.35rem;
}

body.fh-whmcs--viewticket .fh-ticket-header__subject {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  color: #e8f0fc !important;
  word-break: break-word;
}

body.fh-whmcs--viewticket .fh-ticket-header__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
  flex: 0 1 auto;
}

body.fh-whmcs--viewticket .fh-ticket-header__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.fh-whmcs--viewticket .fh-ticket-header__status--open {
  background: rgba(52, 211, 153, 0.14);
  color: #34d399;
  border: 1px solid rgba(52, 211, 153, 0.35);
}

body.fh-whmcs--viewticket .fh-ticket-header__status--open .fa-circle {
  font-size: 0.45rem;
  vertical-align: middle;
}

body.fh-whmcs--viewticket .fh-ticket-header__status--closed {
  background: rgba(148, 163, 184, 0.12);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}

/* —— Fil de messages —— */
body.fh-whmcs--viewticket .fh-ticket-thread {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body.fh-whmcs--viewticket .fh-ticket-msg {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  gap: 0.85rem 1rem;
  align-items: start;
}

body.fh-whmcs--viewticket .fh-ticket-msg__avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #3b9eff;
  background: rgba(59, 158, 255, 0.12);
  border: 1px solid rgba(77, 163, 255, 0.28);
}

body.fh-whmcs--viewticket .fh-ticket-msg--staff .fh-ticket-msg__avatar {
  color: #34d399;
  background: rgba(52, 211, 153, 0.1);
  border-color: rgba(52, 211, 153, 0.32);
  font-size: 0.95rem;
}

body.fh-whmcs--viewticket .fh-ticket-msg__bubble {
  min-width: 0;
  padding: 1rem 1.2rem 1.1rem;
  background: rgba(12, 24, 41, 0.92);
  border: 1px solid rgba(77, 163, 255, 0.2);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
}

body.fh-whmcs--viewticket .fh-ticket-msg--staff .fh-ticket-msg__bubble {
  background: rgba(10, 28, 24, 0.75);
  border-color: rgba(52, 211, 153, 0.22);
}

body.fh-whmcs--viewticket .fh-ticket-msg__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.1);
}

body.fh-whmcs--viewticket .fh-ticket-msg__author-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  min-width: 0;
}

body.fh-whmcs--viewticket .fh-ticket-msg__author {
  font-weight: 700;
  font-size: 0.9375rem;
  color: #e8f0fc;
}

body.fh-whmcs--viewticket .fh-ticket-msg__role {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.2rem 0.55rem;
  border-radius: 6px;
  background: rgba(77, 163, 255, 0.12);
  color: #8fa3be;
  border: 1px solid rgba(77, 163, 255, 0.2);
}

body.fh-whmcs--viewticket .fh-ticket-msg__role--owner {
  background: rgba(251, 191, 36, 0.12);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.28);
}

body.fh-whmcs--viewticket .fh-ticket-msg__role--operator,
body.fh-whmcs--viewticket .fh-ticket-msg__role--admin {
  background: rgba(52, 211, 153, 0.12);
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.28);
}

body.fh-whmcs--viewticket .fh-ticket-msg__date {
  font-size: 0.8125rem;
  color: #8fa3be;
  white-space: nowrap;
}

body.fh-whmcs--viewticket .fh-ticket-msg__date i {
  margin-right: 0.3rem;
  opacity: 0.85;
}

body.fh-whmcs--viewticket .fh-ticket-msg__body {
  color: #e8f0fc;
  font-size: 0.9375rem;
  line-height: 1.65;
  word-break: break-word;
}

body.fh-whmcs--viewticket .fh-ticket-msg__body p:last-child {
  margin-bottom: 0;
}

body.fh-whmcs--viewticket .fh-ticket-msg__attachments {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(77, 163, 255, 0.2);
}

body.fh-whmcs--viewticket .fh-ticket-msg__attachments-title {
  margin: 0 0 0.6rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #8fa3be;
}

body.fh-whmcs--viewticket .fh-ticket-msg__attachments-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

body.fh-whmcs--viewticket .fh-ticket-attachment {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.85rem;
  border-radius: 10px;
  background: rgba(6, 13, 24, 0.65);
  border: 1px solid rgba(77, 163, 255, 0.2);
  color: #e8f0fc !important;
  text-decoration: none !important;
  font-size: 0.875rem;
  transition: background 0.15s ease, border-color 0.15s ease;
}

body.fh-whmcs--viewticket .fh-ticket-attachment:hover {
  background: rgba(59, 158, 255, 0.1);
  border-color: rgba(59, 158, 255, 0.4);
  color: #fff !important;
}

body.fh-whmcs--viewticket .fh-ticket-attachment__name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.fh-whmcs--viewticket .fh-ticket-attachment__icon {
  margin-left: auto;
  color: #3b9eff;
  opacity: 0.85;
}

body.fh-whmcs--viewticket .fh-ticket-msg__rating {
  margin-top: 0.85rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(77, 163, 255, 0.1);
}

/* —— Formulaire de réponse —— */
body.fh-whmcs--viewticket .fh-ticket-reply-card,
body.fh-whmcs--viewticket #ticketReplyContainer.fh-ticket-reply-card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .card-body,
body.fh-whmcs--viewticket #ticketReplyContainer .card-body {
  padding: 1.35rem 1.5rem 1.5rem !important;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .card-title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem;
  font-weight: 700;
  color: #e8f0fc !important;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .card-title i {
  color: #3b9eff;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .form-group {
  margin-bottom: 1.15rem;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .col-form-label {
  margin-bottom: 0.45rem;
  font-weight: 600;
  color: #8fa3be;
}

body.fh-whmcs--viewticket .fh-ticket-attachments-field .attachment-group {
  margin-bottom: 0.65rem;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .fh-form-actions {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(77, 163, 255, 0.12);
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .fh-form-actions .btn-default {
  background: transparent !important;
  border: 1px solid rgba(77, 163, 255, 0.35) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card .fh-form-actions .btn-default:hover {
  background: rgba(59, 158, 255, 0.12) !important;
  border-color: rgba(59, 158, 255, 0.5) !important;
  color: #fff !important;
}

/* Éditeur markdown (page ticket) */
body.fh-whmcs--viewticket .md-editor {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 12px !important;
}

body.fh-whmcs--viewticket .md-editor > .md-header,
body.fh-whmcs--viewticket .md-editor > .btn-toolbar {
  flex-shrink: 0;
}

body.fh-whmcs--viewticket .md-editor > textarea.markdown-editor,
body.fh-whmcs--viewticket .md-editor > .md-preview {
  flex: 1 1 auto;
  min-height: 220px;
}

body.fh-whmcs--viewticket .markdown-editor-status {
  flex-shrink: 0;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}

body.fh-whmcs--viewticket .custom-file-label::after {
  background: rgba(29, 111, 216, 0.45) !important;
  color: #e8f0fc !important;
  border-left: 1px solid rgba(77, 163, 255, 0.22) !important;
}

body.fh-whmcs--viewticket .custom-file-input {
  cursor: pointer;
}

/* —— Refonte page ticket —— */
body.fh-whmcs--viewticket .fh-ticket-page {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

body.fh-whmcs--viewticket .fh-ticket-page > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.fh-whmcs--viewticket .fh-ticket-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  border: 1px solid rgba(251, 191, 36, 0.35);
  background: rgba(251, 191, 36, 0.08);
}

body.fh-whmcs--viewticket .fh-ticket-notice__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  background: rgba(251, 191, 36, 0.14);
  color: #fbbf24;
  font-size: 0.95rem;
}

body.fh-whmcs--viewticket .fh-ticket-notice__text {
  margin: 0;
  padding-top: 0.15rem;
  color: #fde68a !important;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--viewticket .fh-ticket-card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

body.fh-whmcs--viewticket .fh-ticket-header.fh-ticket-card {
  background: linear-gradient(145deg, rgba(12, 24, 41, 0.98) 0%, rgba(18, 42, 69, 0.72) 100%) !important;
}

body.fh-whmcs--viewticket .fh-ticket-header__subject {
  font-size: 1.35rem;
}

body.fh-whmcs--viewticket .fh-ticket-header__actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.35rem;
  padding: 0.45rem 0.95rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600;
  border-radius: 10px !important;
  white-space: nowrap;
}

body.fh-whmcs--viewticket .fh-ticket-header__actions .btn-primary {
  box-shadow: none !important;
}

body.fh-whmcs--viewticket .fh-ticket-header__actions .btn-default {
  background: transparent !important;
  border: 1px solid rgba(77, 163, 255, 0.35) !important;
  color: #c5d4e8 !important;
}

body.fh-whmcs--viewticket .fh-ticket-header__actions .btn-default:hover {
  background: rgba(59, 158, 255, 0.1) !important;
  border-color: rgba(59, 158, 255, 0.5) !important;
  color: #fff !important;
}

body.fh-whmcs--viewticket .fh-ticket-msg__attachments-removed {
  color: #8fa3be !important;
  font-size: 0.8125rem;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem;
  font-weight: 700;
  color: #e8f0fc !important;
}

body.fh-whmcs--viewticket .fh-ticket-reply-card__title i {
  color: #3b9eff;
}

body.fh-whmcs--viewticket .fh-ticket-reply-form__footer {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(77, 163, 255, 0.12);
}

body.fh-whmcs--viewticket .fh-ticket-reply-form__footer .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.5rem;
  padding: 0.55rem 1.2rem !important;
  font-weight: 600;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.fh-whmcs--viewticket .fh-ticket-attachments-field__hint {
  display: block;
  margin-top: 0.45rem;
  color: #8fa3be !important;
  font-size: 0.8125rem;
}

body.fh-whmcs--viewticket .fh-ticket-attachments-field .btn-default {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

/* Sidebar info ticket : boutons footer */
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer .btn,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer a.btn {
  min-height: 2.5rem !important;
  padding: 0.55rem 0.85rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  line-height: 1.3;
}

body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer a[href*="#ticketReply"],
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer a[href*="ticketReplyContainer"],
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer .btn-primary,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer a.btn-success {
  background: linear-gradient(135deg, #1d6fd8, #3b9eff) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer a[href*="closeticket"],
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer .btn-danger,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer .btn-secondary {
  background: rgba(148, 163, 184, 0.08) !important;
  border: 1px solid rgba(148, 163, 184, 0.35) !important;
  color: #94a3b8 !important;
}

body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer a[href*="closeticket"]:hover,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .card-footer .btn-danger:hover {
  background: rgba(148, 163, 184, 0.14) !important;
  color: #cbd5e1 !important;
}

body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .fh-sidebar-kv .label,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .fh-sidebar-kv .status,
body.fh-whmcs--viewticket .fh-sidebar-panel--ticket-info .fh-sidebar-kv__stacked .label {
  display: inline-block !important;
  margin-top: 0.35rem !important;
  padding: 0.22rem 0.55rem !important;
  border-radius: 6px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--viewticket .fh-ticket-header__actions {
    width: 100%;
    justify-content: flex-start;
  }

  body.fh-whmcs--viewticket .fh-ticket-header__actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* —— Panneau sidebar « Information de la demande » —— */
body.fh-whmcs--viewticket .fh-ticket-info-panel {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__header {
  padding: 1rem 1.15rem !important;
  background: linear-gradient(135deg, rgba(29, 111, 216, 0.14), rgba(12, 24, 41, 0.95)) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.15) !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #e8f0fc !important;
  line-height: 1.35;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__title-text {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__title-icon {
  color: #3b9eff;
  font-size: 0.95rem;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__toggle {
  flex-shrink: 0;
  float: none !important;
  margin: 0 !important;
  color: #8fa3be !important;
  font-size: 0.75rem;
  opacity: 0.85;
  transition: color 0.15s ease;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__toggle:hover {
  color: #e8f0fc !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__body {
  padding: 0.25rem 0;
}

body.fh-whmcs--viewticket .fh-ticket-info-row {
  padding: 0.9rem 1.15rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.1);
}

body.fh-whmcs--viewticket .fh-ticket-info-row:last-child {
  border-bottom: 0;
}

body.fh-whmcs--viewticket .fh-ticket-info-row__label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8fa3be !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-row__label i {
  color: #3b9eff;
  font-size: 0.75rem;
  opacity: 0.9;
}

body.fh-whmcs--viewticket .fh-ticket-info-row--inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem 1rem;
}

body.fh-whmcs--viewticket .fh-ticket-info-row--inline .fh-ticket-info-row__label {
  margin: 0;
}

body.fh-whmcs--viewticket .fh-ticket-info-row--inline .fh-ticket-info-row__content {
  text-align: right;
  color: #e8f0fc !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  word-break: break-word;
}

body.fh-whmcs--viewticket .fh-ticket-info-row--stacked .fh-ticket-info-row__label {
  margin-bottom: 0.45rem;
}

body.fh-whmcs--viewticket .fh-ticket-info-row--stacked .fh-ticket-info-row__content {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  color: #e8f0fc !important;
  font-size: 0.9rem;
  line-height: 1.5;
}

body.fh-whmcs--viewticket .fh-ticket-info-row__primary {
  margin: 0;
  font-weight: 600;
  color: #e8f0fc !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-row__text {
  margin: 0;
  color: #c5d4e8 !important;
  font-size: 0.875rem;
}

body.fh-whmcs--viewticket .fh-ticket-info-row__content strong {
  font-weight: 600;
  color: #e8f0fc !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-row--status-priority .fh-ticket-info-row__content,
body.fh-whmcs--viewticket .fh-ticket-info-row--état-priorité .fh-ticket-info-row__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

body.fh-whmcs--viewticket .fh-ticket-info-badge,
body.fh-whmcs--viewticket .fh-ticket-info-panel .fh-ticket-status-badge,
body.fh-whmcs--viewticket .fh-ticket-info-panel .label.status {
  display: inline-block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0.22rem 0.55rem !important;
  border-radius: 6px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  white-space: nowrap;
}

body.fh-whmcs--viewticket .fh-ticket-info-badge--role {
  background: rgba(251, 191, 36, 0.12) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(251, 191, 36, 0.28) !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__footer {
  padding: 1rem 1.15rem 1.15rem !important;
  background: rgba(0, 0, 0, 0.18) !important;
  border-top: 1px solid rgba(77, 163, 255, 0.12) !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__actions,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .row {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0.55rem !important;
  width: 100% !important;
  margin: 0 !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__actions [class*="col-"] {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__btn,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .btn,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions a.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100% !important;
  min-height: 2.5rem;
  margin: 0 !important;
  padding: 0.55rem 0.85rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  white-space: nowrap;
  box-sizing: border-box;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__btn--reply,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions a[href*="#ticketReply"],
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions a[href*="ticketReplyContainer"],
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .btn-primary {
  background: linear-gradient(135deg, #1d6fd8, #3b9eff) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__btn--reply:hover,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .btn-primary:hover {
  filter: brightness(1.06);
  color: #fff !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__btn--close,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions a[href*="closeticket"],
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .btn-default,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .btn-secondary {
  background: rgba(148, 163, 184, 0.08) !important;
  border: 1px solid rgba(148, 163, 184, 0.35) !important;
  color: #94a3b8 !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel__btn--close:hover,
body.fh-whmcs--viewticket .fh-ticket-info-panel__actions .btn-default:hover {
  background: rgba(148, 163, 184, 0.14) !important;
  color: #cbd5e1 !important;
}

body.fh-whmcs--viewticket .fh-ticket-info-panel .list-group-item {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

/* =============================================================================
   Page services (clientareaproducts) — sidebar filtres + tableau
   ============================================================================= */

body.fh-whmcs--services #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--services #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--services #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }

  body.fh-whmcs--services .primary-content {
    padding-left: 1.5rem;
  }
}

/* Sidebar : cartes espacées */
body.fh-whmcs--services .fh-sidebar.fh-sidebar--services {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

body.fh-whmcs--services .fh-sidebar .card-sidebar .card-header {
  padding: 0.95rem 1.15rem !important;
}

body.fh-whmcs--services .fh-sidebar .list-group-item,
body.fh-whmcs--services .fh-sidebar .list-group-item-action {
  padding: 0.7rem 1.1rem !important;
}

/* Zone tableau */
body.fh-whmcs--services .fh-services-page {
  width: 100%;
}

body.fh-whmcs--services .fh-services-table {
  margin: 0;
}

body.fh-whmcs--services .dataTables_wrapper {
  width: 100%;
}

body.fh-whmcs--services .dataTables_wrapper {
  width: 100%;
  clear: both;
}

body.fh-whmcs--services .dataTables_wrapper .fh-dt-toolbar,
body.fh-whmcs--services .dataTables_wrapper .listtable {
  margin-bottom: 1.15rem !important;
  padding: 0.85rem 1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
}

body.fh-whmcs--services .dataTables_wrapper .fh-dt-toolbar .dataTables_length label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: #8fa3be;
  font-size: 0.85rem;
}

/* =============================================================================
   Pages listes DataTables (tickets, factures, domaines…)
   ============================================================================= */

body.fh-whmcs--tablelist #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--tablelist #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--tablelist #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }

  body.fh-whmcs--tablelist .primary-content {
    padding-left: 1.5rem;
  }
}

body.fh-whmcs--tablelist .fh-sidebar.fh-sidebar--tablelist {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

body.fh-whmcs--tablelist .dataTables_wrapper {
  width: 100%;
  clear: both;
}

body.fh-whmcs--tablelist .dataTables_wrapper .fh-dt-toolbar,
body.fh-whmcs--tablelist .dataTables_wrapper .listtable {
  padding: 0.85rem 1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
}

body.fh-whmcs--tablelist .dataTables_wrapper .fh-dt-toolbar .dataTables_length label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: #8fa3be;
  font-size: 0.85rem;
}

body.fh-whmcs--tablelist .dataTables_wrapper table.table-list {
  margin-top: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}

body.fh-whmcs--tablelist table.table-list tbody td,
body.fh-whmcs--tablelist .dataTables_wrapper table.table-list tbody td {
  padding: 0.95rem 1.05rem !important;
  vertical-align: middle !important;
}

body.fh-whmcs--tablelist table.table-list thead th,
body.fh-whmcs--tablelist .dataTables_wrapper table.table-list thead th {
  padding: 0.85rem 1.05rem !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.fh-whmcs--services .dataTables_wrapper .dataTables_filter input {
  min-width: 260px;
}

body.fh-whmcs--services .dataTables_wrapper table.table-list {
  margin-top: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}

body.fh-whmcs--services table.table-list thead th,
body.fh-whmcs--services .dataTables_wrapper table.table-list thead th {
  padding: 0.9rem 1.1rem !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8fa3be !important;
  vertical-align: middle;
}

body.fh-whmcs--services table.table-list thead th.fh-services-table__col-product {
  text-align: left;
}

body.fh-whmcs--services table.table-list tbody td,
body.fh-whmcs--services .dataTables_wrapper table.table-list tbody td {
  padding: 1rem 1.1rem !important;
  vertical-align: middle !important;
  font-size: 0.9rem;
  line-height: 1.45;
}

body.fh-whmcs--services .fh-services-table__icon {
  width: 3rem;
  padding-left: 0.85rem !important;
  padding-right: 0.5rem !important;
}

body.fh-whmcs--services .fh-services-table__icon img {
  display: inline-block;
  vertical-align: middle;
  opacity: 0.9;
}

body.fh-whmcs--services .fh-services-table__product {
  text-align: left !important;
  min-width: 10rem;
}

body.fh-whmcs--services .fh-services-table__name {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #e8f0fc;
  margin-bottom: 0.2rem;
}

body.fh-whmcs--services .fh-services-table__domain {
  display: block;
  font-size: 0.8125rem;
  color: #8fa3be;
}

body.fh-whmcs--services .fh-services-table__domain a {
  color: #3b9eff !important;
  text-decoration: none !important;
}

body.fh-whmcs--services .fh-services-table__domain a:hover {
  text-decoration: underline !important;
}

body.fh-whmcs--services .fh-services-table__domain--empty {
  opacity: 0.55;
}

body.fh-whmcs--services .fh-services-table__price {
  white-space: nowrap;
}

body.fh-whmcs--services .fh-services-table__amount {
  display: block;
  font-weight: 600;
  color: #e8f0fc;
}

body.fh-whmcs--services .fh-services-table__cycle {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: #8fa3be;
  text-transform: capitalize;
}

body.fh-whmcs--services .fh-services-table__date {
  font-size: 0.875rem;
  color: #c5d4e8;
  white-space: nowrap;
}

body.fh-whmcs--services .fh-services-table__status .label.status {
  padding: 0.35rem 0.7rem !important;
  font-size: 0.68rem !important;
  border-radius: 999px !important;
}

body.fh-whmcs--services .fh-services-table__loading {
  padding: 2rem 1rem;
  color: #8fa3be;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--services .primary-content,
  body.fh-whmcs--tablelist .primary-content {
    padding-left: 0 !important;
  }

  body.fh-whmcs--services .dataTables_wrapper .dataTables_filter input,
  body.fh-whmcs--tablelist .dataTables_wrapper .dataTables_filter input {
    min-width: 0;
    width: 100%;
  }

  body.fh-whmcs--services table.table-list thead th,
  body.fh-whmcs--services table.table-list tbody td,
  body.fh-whmcs--tablelist table.table-list thead th,
  body.fh-whmcs--tablelist table.table-list tbody td {
    padding: 0.75rem 0.65rem !important;
    font-size: 0.8125rem;
  }
}

/* =============================================================================
   Espacement listes — correctif « tout collé »
   ============================================================================= */

body.fh-whmcs--tablelist #main-body > .container > .row,
body.fh-whmcs--services #main-body > .container > .row {
  --bs-gutter-x: 1.75rem;
  row-gap: 2rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--tablelist #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--tablelist #main-body > .container > .row > .col-xl-3,
  body.fh-whmcs--services #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--services #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.5rem !important;
  }

  body.fh-whmcs--tablelist .primary-content,
  body.fh-whmcs--services .primary-content {
    padding-left: 2rem !important;
  }
}

/* Cartes sidebar empilées — séparation visible (Voir / Support, Afficher / Actions…) */
body.fh-whmcs .fh-sidebar .card.card-sidebar.fh-sidebar-card,
body.fh-whmcs .fh-sidebar.fh-sidebar--services > .card.card-sidebar,
body.fh-whmcs .fh-sidebar.fh-sidebar--tablelist > .card.card-sidebar,
body.fh-whmcs .fh-sidebar.fh-sidebar--viewticket > .card.card-sidebar {
  border-radius: 16px !important;
  border: 1px solid rgba(77, 163, 255, 0.28) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.22);
  overflow: hidden;
  flex-shrink: 0;
}

/* Renfort si mb-3 Bootstrap est neutralisé (bloc mobile entre deux panneaux) */
body.fh-whmcs .fh-sidebar .fh-sidebar-card.mb-3 ~ .fh-sidebar-card.mb-3,
body.fh-whmcs .fh-sidebar .card.card-sidebar.fh-sidebar-card ~ .card.card-sidebar.fh-sidebar-card {
  margin-top: 0 !important;
}

body.fh-whmcs .fh-sidebar.fh-sidebar--viewticket {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

/* Accueil client : date + statut ticket (évite « heuresFermé » collé) */
body.fh-whmcs .client-home-cards .list-group-item-action small,
body.fh-whmcs .fh-sidebar .list-group-item-action small {
  display: block;
  margin: 0.3rem 0 0;
  color: #8fa3be !important;
  font-size: 0.8125rem;
  line-height: 1.35;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link {
  display: block !important;
  padding: 0.85rem 1.1rem !important;
  line-height: 1.45;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-entry {
  display: block;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link .fh-ticket-status-badge,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link label.label,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link span.fh-ticket-status-badge,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link .label.status,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link span[class*="status-"],
body.fh-whmcs .client-home-cards .list-group-item-action .fh-ticket-status-badge,
body.fh-whmcs .client-home-cards .list-group-item-action .label,
body.fh-whmcs .client-home-cards .list-group-item-action .status,
body.fh-whmcs .client-home-cards .list-group-item-action span[class*="status-"],
body.fh-whmcs .fh-sidebar .list-group-item-action .fh-ticket-status-badge,
body.fh-whmcs .fh-sidebar .list-group-item-action .label,
body.fh-whmcs .fh-sidebar .list-group-item-action .status,
body.fh-whmcs .fh-sidebar .list-group-item-action span[class*="status-"] {
  display: inline-block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0.2rem 0.55rem !important;
  border-radius: 6px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  vertical-align: middle;
  white-space: nowrap;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link span.status-closed,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-meta span.status-closed,
body.fh-whmcs .client-home-cards span.status-closed {
  background: rgba(148, 163, 184, 0.12) !important;
  color: #94a3b8 !important;
  border: 1px solid rgba(148, 163, 184, 0.3) !important;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link .pull-right,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-link .float-right {
  float: none !important;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-top: 0.3rem;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-meta small {
  display: inline-block;
  margin: 0;
}

body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-meta .fh-ticket-status-badge,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-meta label.label,
body.fh-whmcs .fh-sidebar .fh-sidebar-ticket-meta span[class*="status-"] {
  margin: 0 !important;
}

/* Accueil client — Dernières demandes : badge à droite du titre */
body.fh-whmcs .client-home-cards .fh-home-ticket-item {
  display: block !important;
  padding: 0.85rem 1rem !important;
}

body.fh-whmcs .client-home-cards .fh-home-ticket-layout {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

body.fh-whmcs .client-home-cards .fh-home-ticket-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

body.fh-whmcs .client-home-cards .fh-home-ticket-title {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 600;
  color: #e8f0fc !important;
  line-height: 1.35;
}

body.fh-whmcs .client-home-cards .fh-home-ticket-status,
body.fh-whmcs .client-home-cards .fh-home-ticket-head .fh-ticket-status-badge,
body.fh-whmcs .client-home-cards .fh-home-ticket-head label.label,
body.fh-whmcs .client-home-cards .fh-home-ticket-head span[class*="status-"] {
  flex: 0 0 auto;
  margin: 0 !important;
  align-self: flex-start;
}

body.fh-whmcs .client-home-cards .fh-home-ticket-date,
body.fh-whmcs .client-home-cards .fh-home-ticket-date small {
  display: block;
  margin: 0;
  color: #8fa3be !important;
  font-size: 0.8125rem;
  line-height: 1.45;
}

body.fh-whmcs .client-home-cards .fh-home-ticket-item > small {
  display: block;
  margin: 0.3rem 0 0;
}

body.fh-whmcs--tablelist .fh-sidebar .card-sidebar .card-header,
body.fh-whmcs--services .fh-sidebar .card-sidebar .card-header {
  padding: 1.05rem 1.25rem !important;
}

body.fh-whmcs--tablelist .fh-sidebar .list-group:not(.view-filter-btns) .list-group-item,
body.fh-whmcs--tablelist .fh-sidebar .list-group:not(.view-filter-btns) .list-group-item-action,
body.fh-whmcs--services .fh-sidebar .list-group:not(.view-filter-btns) .list-group-item,
body.fh-whmcs--services .fh-sidebar .list-group:not(.view-filter-btns) .list-group-item-action {
  padding: 0.8rem 1.2rem !important;
}

body.fh-whmcs--tablelist .dataTables_wrapper .fh-dt-toolbar,
body.fh-whmcs--services .dataTables_wrapper .fh-dt-toolbar,
body.fh-whmcs--tablelist .dataTables_wrapper .listtable,
body.fh-whmcs--services .dataTables_wrapper .listtable {
  margin-bottom: 1.5rem !important;
  padding: 1rem 1.25rem !important;
  gap: 1.25rem 1.5rem !important;
}

body.fh-whmcs--tablelist .dataTables_wrapper .fh-dt-footer,
body.fh-whmcs--services .dataTables_wrapper .fh-dt-footer {
  margin-top: 1.25rem !important;
}

body.fh-whmcs--tablelist .dataTables_wrapper table.table-list,
body.fh-whmcs--services .dataTables_wrapper table.table-list {
  margin-top: 0.25rem !important;
}

body.fh-whmcs--tablelist table.table-list tbody td,
body.fh-whmcs--tablelist .dataTables_wrapper table.table-list tbody td,
body.fh-whmcs--services table.table-list tbody td,
body.fh-whmcs--services .dataTables_wrapper table.table-list tbody td {
  padding: 1.15rem 1.2rem !important;
  line-height: 1.5 !important;
}

body.fh-whmcs--tablelist table.table-list thead th,
body.fh-whmcs--tablelist .dataTables_wrapper table.table-list thead th,
body.fh-whmcs--services table.table-list thead th,
body.fh-whmcs--services .dataTables_wrapper table.table-list thead th {
  padding: 1rem 1.2rem !important;
}

body.fh-whmcs--tablelist .table-container,
body.fh-whmcs--services .table-container,
body.fh-whmcs--services .fh-services-page {
  margin-top: 0.25rem;
}


/* Barre DataTables : libellé recherche + texte d’aide */
body.fh-whmcs .dataTables_wrapper .fh-dt-toolbar--enhanced {
  align-items: center;
}

body.fh-whmcs .dataTables_wrapper .fh-dt-toolbar__hint {
  flex: 1 1 100%;
  order: 10;
  margin: 0.15rem 0 0;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(77, 163, 255, 0.1);
  font-size: 0.8125rem;
  color: #8fa3be;
  line-height: 1.45;
}

body.fh-whmcs .dataTables_filter.fh-dt-search label {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
}

body.fh-whmcs .dataTables_filter.fh-dt-search .fh-dt-search__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #8fa3be;
  white-space: nowrap;
}

body.fh-whmcs .dataTables_filter.fh-dt-search input,
body.fh-whmcs .dataTables_filter.fh-dt-search input.form-control {
  min-width: 260px;
  padding: 0.5rem 0.85rem !important;
  background-color: rgba(6, 13, 24, 0.9) !important;
  background-image: none !important;
}

body.fh-whmcs .dataTables_length.fh-dt-length label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: #8fa3be;
  font-size: 0.875rem;
}

body.fh-whmcs .dataTables_wrapper .fh-dt-footer--enhanced .dataTables_info {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: #c5d4e8;
}

body.fh-whmcs .dataTables_wrapper .fh-dt-footer--enhanced .fh-dt-info__label {
  font-weight: 600;
  color: #8fa3be;
  text-transform: uppercase;
  font-size: 0.68rem;
  letter-spacing: 0.05em;
}

@media (max-width: 767.98px) {
  body.fh-whmcs .dataTables_wrapper .fh-dt-footer {
    flex-direction: column;
    align-items: stretch;
  }

  body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_info {
    text-align: center;
    justify-content: center;
  }

  body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_paginate {
    margin-left: 0 !important;
    justify-content: center;
    width: 100%;
  }

  body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_paginate .paginate_button,
  body.fh-whmcs .dataTables_wrapper .fh-dt-footer .dataTables_paginate span.paginate_button {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (max-width: 767.98px) {
  body.fh-whmcs .dataTables_filter.fh-dt-search {
    flex: 1 1 100%;
    order: 5;
  }

  body.fh-whmcs .dataTables_filter.fh-dt-search input {
    min-width: 0;
    width: 100%;
  }

  body.fh-whmcs .dataTables_length.fh-dt-length {
    flex: 1 1 auto;
  }
}

/* =============================================================================
   Compte utilisateur (profil, mot de passe, sécurité)
   ============================================================================= */

body.fh-whmcs--account #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--account #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--account #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }

  body.fh-whmcs--account .primary-content {
    padding-left: 1.5rem;
  }
}

body.fh-whmcs--account .fh-sidebar.fh-sidebar--account {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

body.fh-whmcs--account .fh-account-page {
  max-width: 52rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--account .fh-account-page > .card,
body.fh-whmcs--account .fh-account-page .fh-account-card {
  margin-bottom: 1.25rem !important;
}

body.fh-whmcs--account .fh-account-page > .card:last-child,
body.fh-whmcs--account .fh-account-page .fh-account-card:last-child {
  margin-bottom: 0 !important;
}

body.fh-whmcs--account .fh-account-intro {
  margin: 0 0 1.25rem;
  padding: 0.95rem 1.1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  color: #c5d4e8;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--account .fh-account-card .card-body {
  padding: 1.35rem 1.5rem !important;
}

body.fh-whmcs--account .fh-account-card .card-title {
  margin: 0 0 1.1rem !important;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

body.fh-whmcs--account .fh-account-card__meta {
  margin: 0 0 1rem;
}

body.fh-whmcs--account .fh-account-form__fields .row {
  --bs-gutter-x: 1.15rem;
  --bs-gutter-y: 0.25rem;
}

body.fh-whmcs--account .fh-account-form .form-group {
  margin-bottom: 0.85rem;
}

body.fh-whmcs--account .fh-account-form__fields .form-group:last-child,
body.fh-whmcs--account .fh-account-form__fields .row > [class*="col-"]:last-child .form-group {
  margin-bottom: 0;
}

body.fh-whmcs--account .fh-account-form .col-form-label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #8fa3be !important;
  letter-spacing: 0.02em;
}

body.fh-whmcs--account .fh-account-form .form-control {
  min-height: 2.65rem;
  padding: 0.5rem 0.85rem !important;
  border-radius: 10px !important;
}

body.fh-whmcs--account .fh-account-form__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(77, 163, 255, 0.14);
}

body.fh-whmcs--account .fh-account-form__footer.fh-form-actions--start {
  justify-content: flex-start !important;
}

body.fh-whmcs--account .fh-account-form__footer .btn,
body.fh-whmcs--account .fh-form-actions--start .btn {
  margin: 0 !important;
  padding: 0.55rem 1.2rem !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  border-radius: 10px !important;
  line-height: 1.3;
}

body.fh-whmcs--account .fh-form-actions--start {
  justify-content: flex-start !important;
  gap: 0.6rem !important;
}

body.fh-whmcs--account .fh-form-actions .btn-primary,
body.fh-whmcs--account .fh-account-form__footer .btn-primary {
  box-shadow: none !important;
}

body.fh-whmcs--account .fh-password-form__row {
  margin-bottom: 1.15rem;
}

body.fh-whmcs--account .fh-password-form__row .col-form-label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #8fa3be !important;
  padding-top: calc(0.45rem + 1px) !important;
}

body.fh-whmcs--account .fh-password-new {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}

body.fh-whmcs--account .fh-password-new__input-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.5rem;
  min-width: 0;
}

body.fh-whmcs--account .fh-password-new__input-row .form-control {
  flex: 1 1 12rem;
  min-width: 0;
  max-width: 100%;
}

body.fh-whmcs--account .fh-password-generate,
body.fh-whmcs--account .fh-password-form .generate-password.fh-password-generate {
  flex: 0 0 auto;
  width: auto !important;
  max-width: 100%;
  height: auto;
  min-height: calc(1.5em + 0.75rem + 2px);
  padding: 0.45rem 0.85rem !important;
  white-space: nowrap;
  font-size: 0.8125rem !important;
  line-height: 1.25;
}

body.fh-whmcs--account .fh-password-new__strength {
  min-width: 0;
  max-width: 100%;
}

body.fh-whmcs--account .fh-password-new__strength > br:first-child {
  display: none;
}

body.fh-whmcs--account .fh-password-new__strength .progress,
body.fh-whmcs--account .fh-password-form #passwordStrengthBar {
  margin-bottom: 0.5rem !important;
  max-width: 100%;
}

body.fh-whmcs--account .fh-password-form .alert-info {
  margin: 0 !important;
  max-width: 100%;
  font-size: 0.8125rem;
  line-height: 1.45;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--account .fh-password-form__row .col-form-label {
    margin-bottom: 0.35rem;
    padding-top: 0 !important;
  }

  body.fh-whmcs--account .fh-password-new__input-row {
    flex-direction: column;
    align-items: stretch;
  }

  body.fh-whmcs--account .fh-password-generate {
    width: 100% !important;
    justify-content: center;
  }
}

/* —— Mes informations (clientareadetails) —— */
body.fh-whmcs--account .fh-details-page {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--account .fh-details-form > .fh-details-page > .fh-account-form__footer {
  margin-top: 0.25rem;
  padding-top: 0;
  border-top: 0;
}

body.fh-whmcs--account .fh-details-card .card-title i {
  margin-right: 0.4rem;
  color: #3b9eff;
}

body.fh-whmcs--account .fh-details-custom-fields {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(77, 163, 255, 0.12);
}

body.fh-whmcs--account .fh-details-custom-fields .control .form-control,
body.fh-whmcs--account .fh-details-custom-fields .control select {
  min-height: 2.65rem;
  border-radius: 10px !important;
}

body.fh-whmcs--account .fh-details-custom-fields .control small,
body.fh-whmcs--account .fh-details-custom-fields .control .help-block {
  display: block;
  margin-top: 0.35rem;
  color: #8fa3be !important;
  font-size: 0.8125rem;
}

body.fh-whmcs--account .fh-details-email-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

body.fh-whmcs--account .fh-details-email-item {
  display: flex !important;
  align-items: flex-start;
  gap: 0.65rem;
  width: 100%;
  margin: 0;
  padding: 0.85rem 1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.12);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

body.fh-whmcs--account .fh-details-email-item:hover {
  border-color: rgba(77, 163, 255, 0.28);
  background: rgba(12, 24, 41, 0.72);
}

body.fh-whmcs--account .fh-details-email-item:has(.fh-details-email-item__input:checked) {
  border-color: rgba(59, 158, 255, 0.38);
  background: rgba(29, 111, 216, 0.1);
}

body.fh-whmcs--account .fh-details-email-item__input {
  flex-shrink: 0;
  margin-top: 0.15rem;
}

body.fh-whmcs--account .fh-details-email-item__label {
  color: #c5d4e8 !important;
  font-size: 0.9rem;
  line-height: 1.45;
  font-weight: 500;
}

body.fh-whmcs--account .fh-details-marketing__intro {
  margin: 0 0 1rem;
  color: #8fa3be !important;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--account .fh-details-form .fh-account-form__footer .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

/* —— Gestion des utilisateurs —— */
body.fh-whmcs--account .fh-user-mgmt-page {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--account .fh-user-mgmt-card .card-title i,
body.fh-whmcs--account .fh-contacts-card .card-title i,
body.fh-whmcs--account .fh-user-perms-card .card-title i {
  margin-right: 0.4rem;
  color: #3b9eff;
}

body.fh-whmcs--account .fh-user-mgmt-card__meta,
body.fh-whmcs--account .fh-user-mgmt-card__intro {
  margin: 0 0 1.1rem;
  color: #8fa3be !important;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--account .fh-user-mgmt-card__note {
  margin: 1.1rem 0 0;
  color: #8fa3be !important;
  font-size: 0.8125rem;
  line-height: 1.45;
}

body.fh-whmcs--account .fh-user-mgmt-list {
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  overflow: hidden;
}

body.fh-whmcs--account .fh-user-mgmt-list__head {
  display: none;
}

@media (min-width: 768px) {
  body.fh-whmcs--account .fh-user-mgmt-list__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 0.75rem 1rem;
    background: rgba(12, 24, 41, 0.72);
    border-bottom: 1px solid rgba(77, 163, 255, 0.12);
    color: #8fa3be !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
}

body.fh-whmcs--account .fh-user-mgmt-list__section-title {
  padding: 0.85rem 1rem;
  background: rgba(29, 111, 216, 0.1);
  border-top: 1px solid rgba(77, 163, 255, 0.12);
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  color: #c5d4e8 !important;
  font-size: 0.8125rem;
  font-weight: 700;
}

body.fh-whmcs--account .fh-user-mgmt-item {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.1);
  background: rgba(255, 255, 255, 0.02);
}

body.fh-whmcs--account .fh-user-mgmt-item:last-child {
  border-bottom: 0;
}

@media (min-width: 768px) {
  body.fh-whmcs--account .fh-user-mgmt-item {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

body.fh-whmcs--account .fh-user-mgmt-item__main {
  min-width: 0;
}

body.fh-whmcs--account .fh-user-mgmt-item__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.35rem;
}

body.fh-whmcs--account .fh-user-mgmt-item__email {
  color: #e8f0fc !important;
  font-weight: 600;
  word-break: break-word;
}

body.fh-whmcs--account .fh-user-mgmt-item__badge {
  font-size: 0.6875rem;
  letter-spacing: 0.03em;
}

body.fh-whmcs--account .fh-user-mgmt-item__shield {
  color: #6b7f99 !important;
  font-size: 0.875rem;
}

body.fh-whmcs--account .fh-user-mgmt-item__shield--on {
  color: #34d399 !important;
}

body.fh-whmcs--account .fh-user-mgmt-item__login {
  margin: 0;
  color: #8fa3be !important;
  font-size: 0.8125rem;
}

body.fh-whmcs--account .fh-user-mgmt-item__actions,
body.fh-whmcs--account .fh-user-mgmt-item__invite-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body.fh-whmcs--account .fh-user-mgmt-item__btn {
  border-radius: 8px !important;
}

body.fh-whmcs--account .fh-user-mgmt-perms-choice {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
}

body.fh-whmcs--account .fh-user-mgmt-perms-choice legend {
  margin-bottom: 0.65rem;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #8fa3be !important;
}

body.fh-whmcs--account .fh-user-mgmt-radio {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 1rem 0.55rem 0;
  cursor: pointer;
}

body.fh-whmcs--account .fh-user-mgmt-radio__label {
  color: #c5d4e8 !important;
  font-size: 0.9rem;
}

body.fh-whmcs--account .fh-user-mgmt-perms-panel {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

body.fh-whmcs--account .fh-user-mgmt-perm-item__desc {
  display: block;
  margin-top: 0.2rem;
  color: #8fa3be !important;
  font-size: 0.8125rem;
  font-weight: 400;
}

body.fh-whmcs--account .fh-user-perms-card__email {
  margin: 0 0 1.15rem;
  padding: 0.75rem 1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.12);
  border-radius: 10px;
  color: #e8f0fc !important;
  font-weight: 600;
}

body.fh-whmcs--account .fh-user-perms-form__heading {
  margin: 0 0 0.85rem;
  color: #c5d4e8 !important;
  font-size: 0.95rem;
  font-weight: 700;
}

/* —— Contacts —— */
body.fh-whmcs--account .fh-contacts-page {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--account .fh-contact-selector .card-body {
  padding: 1.1rem 1.35rem !important;
}

body.fh-whmcs--account .fh-contact-selector .col-form-label {
  margin-bottom: 0.45rem;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #8fa3be !important;
}

body.fh-whmcs--account .fh-contacts-form__footer {
  margin-top: 0.25rem;
  padding-top: 0;
  border-top: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}

body.fh-whmcs--account .fh-contacts-form__delete {
  margin-left: auto;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--account .fh-contacts-form__footer {
    flex-direction: column;
    align-items: stretch;
  }

  body.fh-whmcs--account .fh-contacts-form__delete {
    margin-left: 0;
  }

  body.fh-whmcs--account .fh-user-mgmt-item__actions {
    width: 100%;
  }

  body.fh-whmcs--account .fh-user-mgmt-item__btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* =============================================================================
   Modes de paiement (liste + ajout / édition)
   ============================================================================= */

body.fh-whmcs--paymentmethods #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--paymentmethods #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--paymentmethods #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }

  body.fh-whmcs--paymentmethods .primary-content {
    padding-left: 1.5rem;
  }
}

body.fh-whmcs--paymentmethods .fh-payment-methods-page,
body.fh-whmcs--paymentmethods .fh-payment-method-form-page {
  max-width: 100%;
  width: 100%;
}

body.fh-whmcs--paymentmethods .fh-payment-method-form-page .fh-payment-card {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--paymentmethods .fh-payment-card .card-body {
  padding: 1.35rem 1.5rem !important;
}

body.fh-whmcs--paymentmethods .fh-payment-card__header {
  margin-bottom: 1.25rem;
}

body.fh-whmcs--paymentmethods .fh-payment-card .card-title,
body.fh-whmcs--paymentmethods .fh-payment-card__title {
  margin: 0 0 0.5rem !important;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}

body.fh-whmcs--paymentmethods .fh-payment-card__intro {
  margin: 0;
  color: #8fa3be;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--paymentmethods .fh-payment-card__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1.35rem;
}

body.fh-whmcs--paymentmethods .fh-payment-card__toolbar .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.1rem !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  border-radius: 10px !important;
}

body.fh-whmcs--paymentmethods .fh-payment-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  background: rgba(6, 13, 24, 0.35);
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table {
  margin: 0 !important;
  width: 100%;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table thead th {
  padding: 0.85rem 1rem !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8fa3be !important;
  background: rgba(12, 24, 41, 0.9) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.15) !important;
  vertical-align: middle;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table tbody td {
  padding: 0.9rem 1rem !important;
  vertical-align: middle !important;
  color: #e8f0fc !important;
  border-color: rgba(77, 163, 255, 0.08) !important;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table__icon {
  width: 2.5rem;
  text-align: center;
  color: #3b9eff;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table__empty {
  text-align: center !important;
  color: #8fa3be !important;
  padding: 1.75rem 1rem !important;
  font-size: 0.9rem;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table__action-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table__action-btns .btn-sm {
  padding: 0.35rem 0.65rem !important;
  font-size: 0.75rem !important;
  border-radius: 8px !important;
}

body.fh-whmcs--paymentmethods .fh-payment-methods-table .label.label-info {
  margin-left: 0.35rem;
  font-size: 0.65rem;
  vertical-align: middle;
}

/* Formulaire ajout / édition */
body.fh-whmcs--paymentmethods .fh-payment-form .form-group.row {
  margin-bottom: 0.95rem;
  align-items: center;
}

body.fh-whmcs--paymentmethods .fh-payment-form .fh-payment-form__type-row {
  margin-bottom: 0.75rem;
  align-items: center;
}

body.fh-whmcs--paymentmethods .fh-payment-form .control-label,
body.fh-whmcs--paymentmethods .fh-payment-form .col-form-label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #a8bdd4 !important;
  padding-top: 0.35rem !important;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  body.fh-whmcs--paymentmethods .fh-payment-form .form-group.row > .col-md-4,
  body.fh-whmcs--paymentmethods .fh-payment-form .form-group.row > .col-md-4.control-label {
    flex: 0 0 26%;
    max-width: 26%;
    padding-right: 0.75rem;
  }

  body.fh-whmcs--paymentmethods .fh-payment-form .form-group.row > .col-md-8 {
    flex: 0 0 74%;
    max-width: 74%;
    padding-left: 0.5rem;
  }
}

body.fh-whmcs--paymentmethods .fh-payment-form .form-control {
  min-height: 2.65rem;
  border-radius: 10px !important;
  color: #e8f0fc !important;
  -webkit-text-fill-color: #e8f0fc !important;
  caret-color: #e8f0fc !important;
  background-color: rgba(6, 13, 24, 0.92) !important;
}

body.fh-whmcs--paymentmethods .fh-payment-form .form-control:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}

body.fh-whmcs--paymentmethods .fh-payment-form .form-control::placeholder {
  color: #6b829e;
  opacity: 1;
}

body.fh-whmcs--paymentmethods .fh-payment-form .form-check-inline {
  display: inline-flex;
  align-items: center;
  margin-right: 1rem;
  margin-bottom: 0.35rem;
  color: #e8f0fc !important;
}

body.fh-whmcs--paymentmethods .fh-payment-form .fieldgroup-creditcard .col-md-8 > .row > .col-md-8 {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0;
}

body.fh-whmcs--paymentmethods .fh-payment-form .fieldgroup-creditcard .col-md-4 .form-control {
  max-width: 10rem;
}

body.fh-whmcs--paymentmethods .fh-payment-form__cvc-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

body.fh-whmcs--paymentmethods .fh-payment-form__cvc-input {
  width: 6.5rem !important;
  max-width: 100%;
  flex: 0 0 auto;
}

body.fh-whmcs--paymentmethods .fh-payment-form__cvc-help {
  padding: 0 !important;
  font-size: 0.8125rem !important;
  color: #3b9eff !important;
  text-decoration: none !important;
}

body.fh-whmcs--paymentmethods .fh-payment-form__cvc-help:hover {
  color: #6bb3ff !important;
  text-decoration: underline !important;
}

body.fh-whmcs--paymentmethods #innerBillingContactsContainer label.form-check {
  display: flex !important;
  align-items: flex-start;
  gap: 0.65rem;
  width: 100%;
  margin: 0 0 0.55rem !important;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(77, 163, 255, 0.18);
  border-radius: 10px;
  background: rgba(6, 13, 24, 0.45);
  color: #c5d4e8 !important;
  font-size: 0.85rem;
  line-height: 1.45;
  cursor: pointer;
}

body.fh-whmcs--paymentmethods #innerBillingContactsContainer label.form-check:has(input:checked) {
  border-color: rgba(59, 158, 255, 0.45);
  background: rgba(59, 158, 255, 0.1);
}

body.fh-whmcs--paymentmethods #innerBillingContactsContainer br {
  display: none;
}

body.fh-whmcs--paymentmethods .fh-payment-form__add-address {
  margin-top: 0.65rem;
  padding: 0.45rem 0.9rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600;
  border-radius: 10px !important;
  border-color: rgba(77, 163, 255, 0.35) !important;
  color: #c5d4e8 !important;
  background: rgba(12, 24, 41, 0.55) !important;
}

body.fh-whmcs--paymentmethods .fh-payment-form__add-address:hover {
  border-color: rgba(59, 158, 255, 0.55) !important;
  color: #e8f0fc !important;
  background: rgba(59, 158, 255, 0.12) !important;
}

body.fh-whmcs--paymentmethods .fh-payment-form__footer {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(77, 163, 255, 0.14);
}

body.fh-whmcs--paymentmethods .fh-payment-form .input-group-text {
  background: rgba(12, 24, 41, 0.9) !important;
  border-color: rgba(77, 163, 255, 0.22) !important;
  color: #8fa3be !important;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--paymentmethods .fh-payment-form .form-group.row > [class*="col-md-"] {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  body.fh-whmcs--paymentmethods .fh-payment-form .control-label,
  body.fh-whmcs--paymentmethods .fh-payment-form .col-form-label {
    margin-bottom: 0.35rem;
    padding-top: 0 !important;
  }

  body.fh-whmcs--paymentmethods .fh-payment-methods-table__action-btns {
    justify-content: flex-start;
  }
}

/* =============================================================================
   Ajouter des fonds
   ============================================================================= */

body.fh-whmcs--addfunds #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--addfunds #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--addfunds #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }

  body.fh-whmcs--addfunds .primary-content {
    padding-left: 1.5rem;
  }
}

body.fh-whmcs--addfunds .fh-sidebar.fh-sidebar--funds,
body.fh-whmcs--paymentmethods .fh-sidebar.fh-sidebar--funds {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

body.fh-whmcs--addfunds .fh-addfunds-page {
  max-width: 100%;
  width: 100%;
}

body.fh-whmcs--addfunds .fh-addfunds-card .card-body {
  padding: 1.35rem 1.5rem !important;
}

body.fh-whmcs--addfunds .fh-addfunds-card__header {
  margin-bottom: 1.25rem;
}

body.fh-whmcs--addfunds .fh-addfunds-card .card-title {
  margin: 0 0 0.45rem !important;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}

body.fh-whmcs--addfunds .fh-addfunds-card__intro {
  margin: 0;
  color: #8fa3be;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--addfunds .fh-addfunds-limits-wrap {
  margin-bottom: 1.5rem;
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(6, 13, 24, 0.35);
}

body.fh-whmcs--addfunds .fh-addfunds-limits {
  margin: 0 !important;
  width: 100%;
}

body.fh-whmcs--addfunds .fh-addfunds-limits tbody th {
  width: 52%;
  background: rgba(29, 111, 216, 0.18) !important;
  color: #e8f0fc !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  vertical-align: middle;
  border: 0 !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.1) !important;
}

body.fh-whmcs--addfunds .fh-addfunds-limits tbody td {
  color: #e8f0fc !important;
  text-align: right;
  font-weight: 500;
  font-size: 0.9rem;
  background: rgba(12, 24, 41, 0.5) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.08) !important;
  vertical-align: middle;
}

body.fh-whmcs--addfunds .fh-addfunds-limits tbody tr:last-child th,
body.fh-whmcs--addfunds .fh-addfunds-limits tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.fh-whmcs--addfunds .fh-addfunds-form__fields {
  display: grid;
  gap: 1.1rem;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  body.fh-whmcs--addfunds .fh-addfunds-form__fields {
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem 1.25rem;
  }
}

body.fh-whmcs--addfunds .fh-addfunds-form .form-group {
  margin-bottom: 0;
}

body.fh-whmcs--addfunds .fh-addfunds-form .col-form-label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #8fa3be !important;
}

body.fh-whmcs--addfunds .fh-addfunds-form .form-control,
body.fh-whmcs--addfunds .fh-addfunds-form .custom-select {
  min-height: 2.65rem;
  border-radius: 10px !important;
}

body.fh-whmcs--addfunds .fh-addfunds-form__footer {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(77, 163, 255, 0.14);
}

body.fh-whmcs--addfunds .fh-addfunds-form__footer .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: auto !important;
  padding: 0.6rem 1.35rem !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.fh-whmcs--addfunds .fh-addfunds-card__note {
  padding: 0.85rem 1.5rem !important;
  background: rgba(6, 13, 24, 0.45) !important;
  border-top: 1px solid rgba(77, 163, 255, 0.12) !important;
  color: #8fa3be !important;
  font-size: 0.8125rem;
}

/* —— Paiement : champs carte — texte blanc à la saisie (priorité max) —— */
body.fh-whmcs--paymentmethods .fh-payment-cc-block {
  margin-bottom: 0.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(77, 163, 255, 0.14);
  border-radius: 12px;
  background: rgba(6, 13, 24, 0.35);
}

body.fh-whmcs--paymentmethods .fh-payment-form--assisted-active .fh-payment-cc-block {
  padding: 0;
  border: none;
  background: transparent;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardNumber,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardExpiry,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardCvc,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardStart,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardIssue,
body.fh-whmcs--paymentmethods .fh-payment-card-fields input[type="tel"].form-control,
body.fh-whmcs--paymentmethods .fh-payment-card-fields input[type="text"].form-control,
body.fh-whmcs--paymentmethods .cc-number-field {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  background-color: rgba(6, 13, 24, 0.92) !important;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardNumber:focus,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardExpiry:focus,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardCvc:focus,
body.fh-whmcs--paymentmethods .fh-payment-card-fields input[type="tel"].form-control:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}

body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardNumber::placeholder,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardExpiry::placeholder,
body.fh-whmcs--paymentmethods #frmManagePaymentMethod #inputCardCvc::placeholder {
  color: #6b829e !important;
  -webkit-text-fill-color: #6b829e !important;
  opacity: 1;
}

body.fh-whmcs--paymentmethods .fh-payment-card-meta .form-group.row {
  align-items: center;
}

body.fh-whmcs--paymentmethods .fh-payment-card-meta .control-label {
  padding-top: 0 !important;
  margin-bottom: 0;
}

/* =============================================================================
   Pages publiques : Base de connaissances, Actualités, Téléchargements, Réseau
   ============================================================================= */

body.fh-whmcs--knowledgebase .fh-kb-page,
body.fh-whmcs--downloads .fh-downloads-page,
body.fh-whmcs--announcements .fh-announcements-page,
body.fh-whmcs--serverstatus .fh-serverstatus-page {
  max-width: 52rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--knowledgebase .fh-public-page > .card,
body.fh-whmcs--downloads .fh-public-page > .card,
body.fh-whmcs--announcements .fh-public-page > .card,
body.fh-whmcs--serverstatus .fh-public-page > .card,
body.fh-whmcs--knowledgebase .fh-public-page .fh-public-list-card,
body.fh-whmcs--downloads .fh-public-page .fh-public-list-card,
body.fh-whmcs--knowledgebase .fh-public-page .fh-kb-article-card,
body.fh-whmcs--serverstatus .fh-public-page .fh-network-issue {
  margin-bottom: 1.25rem !important;
}

body.fh-whmcs--knowledgebase .fh-public-page > .card:last-child,
body.fh-whmcs--downloads .fh-public-page > .card:last-child,
body.fh-whmcs--announcements .fh-public-page > .card:last-child,
body.fh-whmcs--serverstatus .fh-public-page > .card:last-child,
body.fh-whmcs--knowledgebase .fh-public-page .fh-public-list-card:last-of-type,
body.fh-whmcs--downloads .fh-public-page .fh-public-list-card:last-of-type,
body.fh-whmcs--knowledgebase .fh-public-page .fh-kb-article-card:last-of-type,
body.fh-whmcs--serverstatus .fh-public-page .fh-network-issue:last-of-type {
  margin-bottom: 0 !important;
}

/* Recherche */
body.fh-whmcs--knowledgebase .fh-public-search .form-control,
body.fh-whmcs--downloads .fh-public-search .form-control {
  background: rgba(12, 24, 41, 0.85) !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  color: #e8f0fc !important;
  min-height: 3rem;
  border-radius: 10px 0 0 10px !important;
}

body.fh-whmcs--knowledgebase .fh-public-search .form-control::placeholder,
body.fh-whmcs--downloads .fh-public-search .form-control::placeholder {
  color: #6b829e !important;
  opacity: 1;
}

body.fh-whmcs--knowledgebase .fh-public-search .form-control:focus,
body.fh-whmcs--downloads .fh-public-search .form-control:focus {
  border-color: rgba(59, 158, 255, 0.55) !important;
  box-shadow: 0 0 0 0.15rem rgba(59, 158, 255, 0.15) !important;
  color: #ffffff !important;
}

body.fh-whmcs--knowledgebase .fh-public-search .btn-primary,
body.fh-whmcs--downloads .fh-public-search .btn-primary {
  border-radius: 0 10px 10px 0 !important;
  min-height: 3rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* Cartes principales */
body.fh-whmcs--knowledgebase .fh-public-main-card,
body.fh-whmcs--downloads .fh-public-main-card,
body.fh-whmcs--announcements .fh-public-main-card,
body.fh-whmcs--serverstatus .fh-public-main-card,
body.fh-whmcs--knowledgebase .fh-public-list-card,
body.fh-whmcs--downloads .fh-public-list-card,
body.fh-whmcs--knowledgebase .fh-kb-article-card,
body.fh-whmcs--serverstatus .fh-network-issue {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

body.fh-whmcs--knowledgebase .fh-public-main-card .card-body,
body.fh-whmcs--downloads .fh-public-main-card .card-body,
body.fh-whmcs--announcements .fh-public-main-card .card-body,
body.fh-whmcs--serverstatus .fh-public-main-card .card-body,
body.fh-whmcs--knowledgebase .fh-kb-article-card .card-body {
  padding: 1.35rem 1.5rem !important;
  color: #e8f0fc !important;
}

body.fh-whmcs .fh-public-main-card__title {
  margin: 0 0 1.1rem !important;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8f0fc !important;
  letter-spacing: -0.01em;
}

body.fh-whmcs .fh-public-list-card__header {
  padding: 1rem 1.25rem !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  background: rgba(29, 111, 216, 0.08);
}

body.fh-whmcs .fh-public-list-card__header .card-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #e8f0fc !important;
}

/* Catégories KB / téléchargements */
body.fh-whmcs--knowledgebase .fh-public-category.card,
body.fh-whmcs--downloads .fh-public-category.card {
  border-radius: 12px !important;
  overflow: hidden;
}

body.fh-whmcs .fh-public-category__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  color: #e8f0fc !important;
}

body.fh-whmcs .fh-public-category__icon {
  color: #3b9eff;
}

body.fh-whmcs .fh-public-category__desc {
  margin-top: 0.45rem !important;
}

/* Listes d'articles / fichiers */
body.fh-whmcs .fh-public-list-item {
  display: block;
  padding: 0.95rem 1.25rem !important;
  background: transparent !important;
  border-color: rgba(77, 163, 255, 0.12) !important;
  color: #e8f0fc !important;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

body.fh-whmcs .fh-public-list-item:hover {
  background: rgba(59, 158, 255, 0.08) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

body.fh-whmcs .fh-public-list-item__icon {
  color: #3b9eff;
  margin-right: 0.35rem;
}

body.fh-whmcs .fh-public-list-item__title {
  font-weight: 600;
  color: inherit;
}

body.fh-whmcs .fh-public-list-item__excerpt {
  display: block;
  margin-top: 0.35rem;
  color: #8fa3be !important;
  line-height: 1.45;
}

body.fh-whmcs .fh-public-list-item--empty {
  color: #8fa3be !important;
  font-style: italic;
  cursor: default;
}

body.fh-whmcs .fh-public-list-item--empty:hover {
  background: transparent !important;
}

body.fh-whmcs .fh-download-item__icon {
  vertical-align: -2px;
}

body.fh-whmcs .fh-download-item__lock {
  margin-left: 0.5rem;
  font-size: 0.7rem;
  vertical-align: middle;
}

body.fh-whmcs .fh-download-item__size {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: #6b829e !important;
}

/* Actions (retour, édition) */
body.fh-whmcs .fh-public-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.25rem;
  padding-top: 0.25rem;
}

/* Article KB */
body.fh-whmcs--knowledgebase .fh-kb-article-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #e8f0fc !important;
  letter-spacing: -0.02em;
  flex: 1 1 auto;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__meta {
  margin: 0 0 0.75rem;
  color: #8fa3be !important;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__divider {
  border-color: rgba(77, 163, 255, 0.15) !important;
  margin: 1.1rem 0;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__content {
  color: #c5d4e8 !important;
  line-height: 1.65;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__content h1,
body.fh-whmcs--knowledgebase .fh-kb-article-card__content h2,
body.fh-whmcs--knowledgebase .fh-kb-article-card__content h3,
body.fh-whmcs--knowledgebase .fh-kb-article-card__content h4 {
  color: #e8f0fc !important;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__content a {
  color: #3b9eff !important;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__vote-title {
  font-size: 0.95rem;
  margin-bottom: 0.65rem;
  color: #e8f0fc !important;
}

body.fh-whmcs--knowledgebase .fh-kb-article-card__vote {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Actualités — neutraliser theme.css (#f5f5f5) */
body.fh-whmcs--announcements .announcements .announcement {
  margin-bottom: 0 !important;
}

body.fh-whmcs--announcements .announcements .announcement article,
body.fh-whmcs--announcements .fh-announcement {
  margin-bottom: 1.35rem;
  padding: 1.15rem 1.25rem;
  background: rgba(12, 24, 41, 0.55) !important;
  border: 1px solid rgba(77, 163, 255, 0.15) !important;
  border-left: 4px solid rgba(59, 158, 255, 0.55) !important;
  border-radius: 0 12px 12px 0;
}

body.fh-whmcs--announcements .fh-announcements-list .fh-announcement:last-child {
  margin-bottom: 0;
}

body.fh-whmcs--announcements .fh-announcement__title {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
}

body.fh-whmcs--announcements .fh-announcement__title a {
  color: #e8f0fc !important;
  text-decoration: none !important;
}

body.fh-whmcs--announcements .fh-announcement__title a:hover {
  color: #3b9eff !important;
}

body.fh-whmcs--announcements .fh-announcement__meta {
  margin: 0 0 0.75rem;
  color: #8fa3be !important;
  font-size: 0.875rem;
}

body.fh-whmcs--announcements .fh-announcement__excerpt {
  color: #c5d4e8 !important;
  line-height: 1.6;
  margin-bottom: 0.85rem;
}

body.fh-whmcs--announcements .fh-announcement__excerpt p:last-child {
  margin-bottom: 0;
}

body.fh-whmcs--announcements .fh-announcement__readmore {
  margin-top: 0.25rem;
}

/* Détail actualité */
body.fh-whmcs--announcements .fh-announcement-view__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

body.fh-whmcs--announcements .fh-announcement-view__title {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
  color: #e8f0fc !important;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

body.fh-whmcs--announcements .fh-announcement-view__meta {
  margin: 0 0 1.1rem;
  color: #8fa3be !important;
  font-size: 0.875rem;
}

body.fh-whmcs--announcements .fh-announcement-view__content {
  color: #c5d4e8 !important;
  line-height: 1.65;
}

body.fh-whmcs--announcements .fh-announcement-view__content h1,
body.fh-whmcs--announcements .fh-announcement-view__content h2,
body.fh-whmcs--announcements .fh-announcement-view__content h3 {
  color: #e8f0fc !important;
}

body.fh-whmcs--announcements .fh-announcement-view__content a {
  color: #3b9eff !important;
}

/* État du réseau */
body.fh-whmcs--serverstatus .fh-serverstatus-alert {
  border-radius: 12px;
  margin-bottom: 1.25rem;
  border-width: 1px;
}

body.fh-whmcs--serverstatus .fh-serverstatus-alert--ok {
  background: rgba(52, 211, 153, 0.12) !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
  color: #6ee7b7 !important;
}

body.fh-whmcs--serverstatus .fh-serverstatus-card__intro {
  margin: 0 0 1rem;
  color: #8fa3be !important;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table-wrap {
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  overflow: hidden;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table {
  margin: 0 !important;
  color: #e8f0fc !important;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table thead th {
  background: rgba(29, 111, 216, 0.15) !important;
  border-color: rgba(77, 163, 255, 0.15) !important;
  color: #8fa3be !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table tbody td {
  border-color: rgba(77, 163, 255, 0.1) !important;
  color: #e8f0fc !important;
  vertical-align: middle;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table.table-striped tbody tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.02) !important;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table.table-striped tbody tr:nth-of-type(even) {
  background: transparent !important;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table__name {
  font-weight: 600;
}

body.fh-whmcs--serverstatus .fh-serverstatus-table__link {
  color: #3b9eff !important;
  font-size: 0.875rem;
}

body.fh-whmcs--serverstatus .fh-network-issue__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 1.25rem !important;
  background: rgba(29, 111, 216, 0.12) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.15) !important;
  color: #e8f0fc !important;
}

body.fh-whmcs--serverstatus .fh-network-issue__title {
  font-weight: 700;
}

body.fh-whmcs--serverstatus .fh-network-issue__status {
  color: #8fa3be;
  font-size: 0.9rem;
}

body.fh-whmcs--serverstatus .fh-network-issue__priority {
  margin-left: auto;
}

body.fh-whmcs--serverstatus .fh-network-issue__affecting {
  margin: 0 0 0.65rem;
  color: #c5d4e8 !important;
  font-size: 0.9rem;
}

body.fh-whmcs--serverstatus .fh-network-issue__meta {
  margin: 0 0 0.85rem;
  color: #8fa3be !important;
  font-size: 0.875rem;
}

body.fh-whmcs--serverstatus .fh-network-issue__client-alert {
  margin-bottom: 0.85rem;
}

body.fh-whmcs--serverstatus .fh-network-issue__description {
  color: #c5d4e8 !important;
  line-height: 1.6;
}

body.fh-whmcs--serverstatus .fh-serverstatus-empty {
  margin: 0 0 1rem;
  padding: 0.95rem 1.1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  color: #8fa3be;
  text-align: center;
}

/* Pagination */
body.fh-whmcs .fh-public-pagination {
  margin-top: 1.25rem;
}

body.fh-whmcs .fh-public-pagination .pagination {
  margin: 0;
  gap: 0.35rem;
}

body.fh-whmcs .fh-public-pagination .page-link {
  background: rgba(12, 24, 41, 0.85) !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  color: #c5d4e8 !important;
  border-radius: 8px !important;
  padding: 0.45rem 0.85rem;
}

body.fh-whmcs .fh-public-pagination .page-item.active .page-link {
  background: rgba(29, 111, 216, 0.35) !important;
  border-color: rgba(59, 158, 255, 0.45) !important;
  color: #ffffff !important;
}

body.fh-whmcs .fh-public-pagination .page-item.disabled .page-link {
  opacity: 0.45;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--serverstatus .fh-serverstatus-table-wrap {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
    border-radius: 10px;
  }

  body.fh-whmcs--serverstatus .fh-serverstatus-table thead th,
  body.fh-whmcs--serverstatus .fh-serverstatus-table tbody td {
    font-size: 0.8125rem;
    padding: 0.55rem 0.45rem;
  }

  body.fh-whmcs--serverstatus .fh-network-issue__priority {
    margin-left: 0;
    width: 100%;
  }
}

/* =============================================================================
   Ouvrir une demande (supportticketsubmit)
   ============================================================================= */

body.fh-whmcs--ticketsubmit #main-body > .container > .row {
  row-gap: 1.5rem;
}

@media (min-width: 992px) {
  body.fh-whmcs--ticketsubmit #main-body > .container > .row > .col-lg-4,
  body.fh-whmcs--ticketsubmit #main-body > .container > .row > .col-xl-3 {
    padding-right: 1.25rem;
  }

  body.fh-whmcs--ticketsubmit .primary-content {
    padding-left: 1.5rem;
  }
}

body.fh-whmcs--ticketsubmit .fh-sidebar--support {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-page {
  width: 100%;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
  margin-bottom: 1.25rem;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-card .card-body {
  padding: 1.35rem 1.5rem !important;
  color: #e8f0fc !important;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-header {
  margin-bottom: 1.35rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-header__title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8f0fc !important;
  letter-spacing: -0.01em;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-header__intro {
  margin: 0;
  color: #8fa3be !important;
  font-size: 0.9rem;
  line-height: 1.55;
  max-width: 42rem;
}

/* Grille départements — étape 1 */
body.fh-whmcs--ticketsubmit .fh-ticket-dept-grid {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.18);
  border-radius: 12px;
  color: #e8f0fc !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card:hover {
  background: rgba(59, 158, 255, 0.1) !important;
  border-color: rgba(59, 158, 255, 0.45) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateX(2px);
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 10px;
  background: rgba(29, 111, 216, 0.2);
  border: 1px solid rgba(59, 158, 255, 0.3);
  color: #3b9eff;
  font-size: 1.1rem;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card__body {
  flex: 1 1 auto;
  min-width: 0;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card__name {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: inherit;
  line-height: 1.3;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card__desc {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #8fa3be !important;
  line-height: 1.45;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card:hover .fh-ticket-dept-card__desc {
  color: #a8bdd4 !important;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card__arrow {
  flex-shrink: 0;
  color: #6b829e;
  font-size: 0.875rem;
  transition: color 0.2s ease, transform 0.15s ease;
}

body.fh-whmcs--ticketsubmit .fh-ticket-dept-card:hover .fh-ticket-dept-card__arrow {
  color: #3b9eff;
  transform: translateX(3px);
}

/* Formulaire — étape 2 */
body.fh-whmcs--ticketsubmit .fh-ticket-submit-form .form-group label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #8fa3be !important;
  margin-bottom: 0.45rem;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form .form-control {
  min-height: 2.65rem;
  border-radius: 10px !important;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__row {
  --bs-gutter-x: 1.15rem;
  --bs-gutter-y: 0.25rem;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__message {
  min-height: 12rem;
  resize: vertical;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__attachments .attachment-group {
  flex-wrap: nowrap;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__attachments .custom-file-label {
  border-radius: 10px 0 0 10px !important;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__attachments .btn-default {
  border-radius: 0 10px 10px 0 !important;
  white-space: nowrap;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__captcha {
  margin: 1.25rem 0;
  display: flex;
  justify-content: center;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(77, 163, 255, 0.12);
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__footer--center {
  justify-content: center;
  border-top: 0;
  padding-top: 0;
  margin-top: 0.75rem;
}

/* Confirmation — étape 3 */
body.fh-whmcs--ticketsubmit .fh-ticket-submit-confirm__alert {
  border-radius: 12px;
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
  background: rgba(52, 211, 153, 0.12) !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
  color: #6ee7b7 !important;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-confirm__icon {
  display: block;
  font-size: 1.75rem;
  margin-bottom: 0.5rem;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-confirm__alert .alert-link {
  color: #ffffff !important;
  font-weight: 700;
}

body.fh-whmcs--ticketsubmit .fh-ticket-submit-confirm__desc {
  margin: 0 0 0.5rem;
  color: #c5d4e8 !important;
  text-align: center;
  line-height: 1.55;
}

/* Suggestions KB */
body.fh-whmcs--ticketsubmit .fh-ticket-kb-suggestions {
  margin-top: 0;
}

body.fh-whmcs--ticketsubmit .fh-ticket-kb-suggestions__intro {
  margin: 0 0 1rem;
  color: #8fa3be !important;
  font-size: 0.9rem;
  line-height: 1.55;
}

body.fh-whmcs--ticketsubmit .fh-ticket-kb-suggestions__list {
  border-radius: 10px;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--ticketsubmit .fh-ticket-dept-card {
    align-items: flex-start;
    padding: 0.95rem 1rem;
  }

  body.fh-whmcs--ticketsubmit .fh-ticket-dept-card__arrow {
    display: none;
  }

  body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__attachments .attachment-group {
    flex-wrap: wrap;
  }

  body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__attachments .custom-file-label,
  body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__attachments .btn-default {
    border-radius: 10px !important;
  }

  body.fh-whmcs--ticketsubmit .fh-ticket-submit-form__footer .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* =============================================================================
   Page affiliés
   ============================================================================= */

body.fh-whmcs--affiliates .fh-affiliates-page {
  max-width: 56rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

body.fh-whmcs--affiliates .fh-affiliates-page > .card,
body.fh-whmcs--affiliates .fh-affiliates-page > .fh-affiliate-alert,
body.fh-whmcs--affiliates .fh-affiliates-stats {
  margin-bottom: 1.25rem;
}

body.fh-whmcs--affiliates .fh-affiliate-alert {
  border-radius: 12px;
  margin-bottom: 1.25rem;
}

body.fh-whmcs--affiliates .fh-affiliates-stats {
  margin-left: 0;
  margin-right: 0;
}

body.fh-whmcs--affiliates .fh-affiliate-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 118px;
  height: 100%;
  padding: 1.25rem 1rem;
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  text-align: center;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

body.fh-whmcs--affiliates .fh-affiliate-stat--clicks {
  border-top: 3px solid #fbbf24 !important;
}

body.fh-whmcs--affiliates .fh-affiliate-stat--signups {
  border-top: 3px solid #3b9eff !important;
}

body.fh-whmcs--affiliates .fh-affiliate-stat--rate {
  border-top: 3px solid #34d399 !important;
}

body.fh-whmcs--affiliates .fh-affiliate-stat__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 10px;
  background: rgba(29, 111, 216, 0.15);
  color: #3b9eff !important;
  font-size: 1rem;
}

body.fh-whmcs--affiliates .fh-affiliate-stat__value {
  font-size: 1.75rem;
  font-weight: 800;
  color: #e8f0fc !important;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

body.fh-whmcs--affiliates .fh-affiliate-stat__label {
  font-size: 0.8125rem;
  color: #8fa3be !important;
  line-height: 1.35;
}

body.fh-whmcs--affiliates .fh-affiliate-card {
  background: #0c1829 !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
  margin-bottom: 1.25rem;
}

body.fh-whmcs--affiliates .fh-affiliate-card .card-body {
  padding: 1.35rem 1.5rem !important;
  color: #e8f0fc !important;
}

body.fh-whmcs--affiliates .fh-affiliate-card__title {
  margin: 0 0 1.1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.12);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #e8f0fc !important;
}

body.fh-whmcs--affiliates .fh-affiliate-link {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: stretch;
}

body.fh-whmcs--affiliates .fh-affiliate-link__input {
  flex: 1 1 12rem;
  min-height: 2.75rem;
  background: rgba(12, 24, 41, 0.85) !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  color: #e8f0fc !important;
  border-radius: 10px !important;
  font-size: 0.875rem;
}

body.fh-whmcs--affiliates .fh-affiliate-link__copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.75rem;
  border-radius: 10px !important;
  white-space: nowrap;
}

body.fh-whmcs--affiliates .fh-affiliate-link__copy--done {
  border-color: rgba(52, 211, 153, 0.45) !important;
  color: #34d399 !important;
}

body.fh-whmcs--affiliates .fh-affiliate-summary {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
  overflow: hidden;
}

body.fh-whmcs--affiliates .fh-affiliate-summary__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1.1rem;
  border-bottom: 1px solid rgba(77, 163, 255, 0.1);
  background: transparent;
}

body.fh-whmcs--affiliates .fh-affiliate-summary__row:last-child {
  border-bottom: 0;
}

body.fh-whmcs--affiliates .fh-affiliate-summary__row:nth-child(odd) {
  background: rgba(255, 255, 255, 0.02);
}

body.fh-whmcs--affiliates .fh-affiliate-summary__row--highlight {
  background: rgba(29, 111, 216, 0.12) !important;
}

body.fh-whmcs--affiliates .fh-affiliate-summary__label {
  color: #8fa3be !important;
  font-size: 0.875rem;
}

body.fh-whmcs--affiliates .fh-affiliate-summary__value {
  color: #e8f0fc !important;
  font-weight: 700;
  font-size: 0.95rem;
  text-align: right;
}

body.fh-whmcs--affiliates .fh-affiliate-summary__row--highlight .fh-affiliate-summary__value {
  color: #3b9eff !important;
  font-size: 1.05rem;
}

body.fh-whmcs--affiliates .fh-affiliate-withdraw {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
  padding: 0.25rem 0;
}

body.fh-whmcs--affiliates .fh-affiliate-withdraw__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
  border-radius: 10px !important;
}

body.fh-whmcs--affiliates .fh-affiliate-withdraw__hint {
  margin: 0;
  max-width: 32rem;
  text-align: center;
  color: #8fa3be !important;
  font-size: 0.875rem;
  line-height: 1.5;
}

body.fh-whmcs--affiliates .fh-affiliate-table-wrap {
  margin-top: 0.5rem;
}

body.fh-whmcs--affiliates .fh-affiliate-table-loading {
  padding: 1.25rem;
  color: #8fa3be !important;
}

body.fh-whmcs--affiliates .dataTables_wrapper .fh-dt-toolbar,
body.fh-whmcs--affiliates .dataTables_wrapper .listtable {
  margin-bottom: 1rem !important;
  padding: 0.85rem 1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.15);
  border-radius: 12px;
}

body.fh-whmcs--affiliates #tableAffiliatesList.table-list tbody td {
  vertical-align: middle;
}

body.fh-whmcs--affiliates .fh-affiliate-banners {
  color: #c5d4e8 !important;
  line-height: 1.6;
}

body.fh-whmcs--affiliates .fh-affiliate-banners textarea,
body.fh-whmcs--affiliates .fh-affiliate-banners input[type="text"] {
  background: rgba(12, 24, 41, 0.85) !important;
  border: 1px solid rgba(77, 163, 255, 0.22) !important;
  color: #e8f0fc !important;
  border-radius: 10px !important;
}

/* Inscription affilié */
body.fh-whmcs--affiliates .fh-affiliates-signup-page {
  max-width: 42rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-header {
  text-align: center;
  margin-bottom: 1.35rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-header__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 0.85rem;
  border-radius: 14px;
  background: rgba(29, 111, 216, 0.18);
  border: 1px solid rgba(59, 158, 255, 0.35);
  color: #3b9eff;
  font-size: 1.35rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-header__title {
  margin: 0 0 0.65rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #e8f0fc !important;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-header__intro {
  margin: 0;
  color: #8fa3be !important;
  line-height: 1.55;
  font-size: 0.925rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-benefits {
  list-style: none;
  margin: 0 0 1.35rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-benefits__item {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.85rem 1rem;
  background: rgba(12, 24, 41, 0.55);
  border: 1px solid rgba(77, 163, 255, 0.12);
  border-radius: 10px;
  color: #c5d4e8 !important;
  line-height: 1.45;
  font-size: 0.9rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-benefits__item i {
  color: #34d399 !important;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-form {
  display: flex;
  justify-content: center;
  padding-top: 0.25rem;
}

body.fh-whmcs--affiliates .fh-affiliate-signup-form__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.85rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  border-radius: 10px !important;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  body.fh-whmcs--affiliates .fh-affiliate-link__copy {
    width: 100%;
    justify-content: center;
  }

  body.fh-whmcs--affiliates .fh-affiliate-summary__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  body.fh-whmcs--affiliates .fh-affiliate-summary__value {
    text-align: left;
  }
}
