/* hooks/roberto-modern-v6.css — v6 "moderne / thème unifié"
   Toutes les couleurs passent par les variables :root
   Modifier --rb-primary suffit à recolorer tout le thème.
*/

/* ── Taille de base globale ── */
html, body { font-size: 14px !important; }

/* ===================================================================
   VARIABLES THÈME
   =================================================================== */
:root {
  /* Fond & cartes */
  --rb-bg:         #f7f9fc;
  --rb-card:       rgba(255,255,255,.82);
  --rb-card-solid: #ffffff;
  --rb-line:       rgba(15,23,42,.10);

  /* Texte */
  --rb-ink:  #0f172a;
  --rb-sub:  #334155;
  --rb-mute: #64748b;

  /* Rayons & ombres */
  --rb-radius:    18px;
  --rb-radius-sm: 14px;
  --rb-shadow:    0 10px 24px rgba(15,23,42,.08);
  --rb-shadow-h:  0 16px 34px rgba(15,23,42,.12);

  /* Couleur primaire bleue */
  --rb-primary:       #3b82f6;
  --rb-primary-dark:  #2563eb;
  --rb-primary-light: #eff6ff;
  --rb-primary-mid:   #dbeafe;
  --rb-blue1: rgba(59,130,246,.70);
  --rb-blue2: rgba(147,197,253,.92);
  --rb-focus: rgba(59,130,246,.35);

  /* Variantes alpha primaire */
  --rb-primary-alpha06: rgba(59,130,246,.06);
  --rb-primary-alpha08: rgba(59,130,246,.08);
  --rb-primary-alpha15: rgba(59,130,246,.15);
  --rb-primary-alpha50: rgba(59,130,246,.50);

  /* Couleurs sémantiques */
  --rb-success:       #16a34a;
  --rb-success-dark:  #15803d;
  --rb-success-light: #dcfce7;
  --rb-warning:       #f59e0b;
  --rb-warning-light: #fef9c3;
  --rb-danger:        #dc2626;
  --rb-danger-light:  #fee2e2;
  --rb-orange:        #f97316;

  /* Header TV & navbar (fond sombre) */
  --rb-header-from: #1e293b;
  --rb-header-to:   #0f172a;
  --rb-thead-from:  #334155;
  --rb-thead-to:    #1e293b;

  /* Variantes alpha encre */
  --rb-ink-5:  rgba(15,23,42,.05);
  --rb-ink-8:  rgba(15,23,42,.08);
  --rb-ink-10: rgba(15,23,42,.10);
  --rb-ink-12: rgba(15,23,42,.12);
  --rb-ink-15: rgba(15,23,42,.15);
  --rb-ink-18: rgba(15,23,42,.18);
  --rb-ink-20: rgba(15,23,42,.20);
}

/* ===================================================================
   LAYOUT — pleine largeur (écrase les max-width Bootstrap 3)
   =================================================================== */
.container,
.users-area.container,
.container-fluid {
  width: 100% !important;
  max-width: none !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px)  { .container { width: 100% !important; } }
@media (min-width: 992px)  { .container { width: 100% !important; } }
@media (min-width: 1200px) { .container { width: 100% !important; } }

body {
  background: var(--rb-bg) !important;
  color: var(--rb-ink);
}

/* ===================================================================
   TYPOGRAPHIE
   =================================================================== */
body, .navbar, .btn, label,
input, select, textarea, .form-control,
.modal-title, .popover-title, .tooltip-inner {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}
h1,h2,h3,h4,h5,h6 { font-weight: 800 !important; letter-spacing: -.2px; }

/* ===================================================================
   NAVBAR
   =================================================================== */
.navbar-default {
  background: var(--rb-header-to) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.20) !important;
}
.navbar-default .navbar-brand {
  color: var(--rb-nav-text) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: .2px;
  padding: 12px 12px !important;
}
.navbar-default .navbar-brand:hover { opacity: .85 !important; }
.navbar-default .navbar-nav > li > a {
  color: var(--rb-nav-text) !important;
  opacity: .85;
  font-weight: 600 !important;
  font-size: 13px !important;
  border-radius: 8px !important;
  margin: 2px 1px !important;
  padding: 6px 8px !important;
  transition: background .14s, opacity .14s;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: var(--rb-nav-text) !important;
  opacity: 1 !important;
  background: rgba(255,255,255,.12) !important;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--rb-nav-text) !important;
  opacity: 1 !important;
  background: rgba(255,255,255,.20) !important;
}
.navbar-default .navbar-toggle {
  border-color: rgba(255,255,255,.30) !important;
}
.navbar-default .navbar-toggle .icon-bar { background: var(--rb-nav-text) !important; }
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background: rgba(255,255,255,.10) !important; }
.navbar-default .navbar-text { color: var(--rb-nav-text) !important; opacity: .75; }

/* ── Desktop : navbar toujours sur une ligne ── */
@media (min-width: 768px) {
  .navbar-header { float: left; }
  .navbar-collapse { display: block !important; height: auto !important; overflow: visible !important; }
  .navbar-toggle { display: none !important; }
  .navbar-nav { float: left !important; margin: 0 !important; }
  .navbar-nav > li { float: left !important; }
  .navbar-right { float: right !important; margin-right: -15px !important; }
}
/* ── Mobile ── */
@media (max-width: 767px) {
  .navbar-toggle { display: block !important; margin: 7px 8px !important; }
  .navbar-collapse.collapse { display: none !important; }
  .navbar-collapse.in { display: block !important; }
  .navbar-nav { float: none !important; margin: 4px 0 !important; }
  .navbar-nav > li { float: none !important; }
  .navbar-nav > li > a { margin: 1px 4px !important; border-radius: 8px !important; }
  .navbar-right { float: none !important; margin: 4px 0 !important; }
  .page-header { position: static !important; top: auto !important; }
  .FiltersToolbar, div[id$="_toolbar"] { position: static !important; top: auto !important; }
  #quick-search { width: 100% !important; min-width: unset !important; }
  .mh-quick { grid-template-columns: 1fr !important; }
  .mh-hero { padding: 16px !important; }
}

/* Dropdown navbar */
.navbar .dropdown-menu {
  border-radius: 14px !important;
  border: 1px solid var(--rb-ink-10) !important;
  box-shadow: 0 10px 30px var(--rb-ink-15) !important;
  padding: 6px !important;
  margin-top: 4px !important;
}
.navbar .dropdown-menu > li > a {
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-weight: 600 !important;
  color: var(--rb-ink) !important;
  transition: background .12s;
}
.navbar .dropdown-menu > li > a:hover,
.navbar .dropdown-menu > li > a:focus {
  background: var(--rb-primary-alpha08) !important;
  color: var(--rb-primary-dark) !important;
}

/* ===================================================================
   BOUTONS
   =================================================================== */
.btn {
  border-radius: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .1px !important;
  transition: transform .12s, box-shadow .12s, filter .12s !important;
}
.btn:not(:disabled):active { transform: scale(.97) !important; }
.btn:disabled, .btn[disabled] { opacity: .5 !important; }

.btn-default {
  background: var(--rb-card-solid) !important;
  border: 1px solid var(--rb-ink-18) !important;
  color: var(--rb-ink) !important;
}
.btn-default:hover, .btn-default:focus {
  background: var(--rb-bg) !important;
  border-color: rgba(59,130,246,.40) !important;
  color: var(--rb-primary-dark) !important;
}

.btn-primary:not(.btn-block) {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
}
.btn-primary:not(.btn-block):hover,
.btn-primary:not(.btn-block):focus {
  background: var(--rb-primary) !important;
  border-color: var(--rb-primary) !important;
  box-shadow: 0 4px 14px rgba(37,99,235,.28) !important;
}

.btn-success:not(#addNew) {
  background: var(--rb-success) !important;
  border-color: var(--rb-success) !important;
  color: #fff !important;
}
.btn-success:not(#addNew):hover {
  background: var(--rb-success-dark) !important;
  border-color: var(--rb-success-dark) !important;
}

.btn-danger {
  background: var(--rb-danger) !important;
  border-color: var(--rb-danger) !important;
  color: #fff !important;
}

.btn-primary.btn-block, .btn-primary.btn-lg.btn-block {
  border: 0 !important;
  border-radius: 16px !important;
  padding: 10px 12px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  background: linear-gradient(90deg, var(--rb-blue1), var(--rb-blue2)) !important;
  box-shadow: 0 12px 22px rgba(59,130,246,.16) !important;
  transition: transform .14s ease, filter .14s ease;
}
.btn-primary.btn-block:hover { transform: translateY(-1px); filter: brightness(1.02); }

/* ===================================================================
   PANELS
   =================================================================== */
.panel {
  border: 1px solid var(--rb-line) !important;
  border-radius: var(--rb-radius) !important;
  background: var(--rb-card) !important;
  box-shadow: var(--rb-shadow) !important;
  overflow: hidden !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .14s ease, box-shadow .14s ease;
}
.panel:hover { transform: translateY(-1px); box-shadow: var(--rb-shadow-h) !important; }
.panel-heading {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.92)) !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--rb-ink-8) !important;
}
.panel-title { color: var(--rb-ink) !important; font-weight: 900 !important; }
.panel-body { padding: 14px 14px !important; color: var(--rb-sub) !important; }

/* Home tiles */
.panel a.btn,
.panel a.list-group-item {
  border: 0 !important;
  border-radius: var(--rb-radius-sm) !important;
  padding: 14px 16px !important;
  min-height: 56px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(56,189,248,.92), rgba(14,165,233,.92)) !important;
  box-shadow: 0 10px 20px var(--rb-ink-10) !important;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.panel a.btn:hover, .panel a.list-group-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px var(--rb-ink-12) !important;
  filter: brightness(1.02);
}
.panel a.btn:active, .panel a.list-group-item:active { transform: scale(.98); }
.panel a.btn .glyphicon, .panel a.btn i,
.panel a.list-group-item .glyphicon, .panel a.list-group-item i {
  color: inherit !important; margin-right: 10px; font-size: 20px !important;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.14));
}
.panel a.btn .badge, .panel a.list-group-item .badge {
  background: rgba(255,255,255,.92) !important;
  color: var(--rb-ink) !important;
  font-weight: 900 !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 14px var(--rb-ink-12) !important;
}

/* ===================================================================
   FORMULAIRES
   =================================================================== */
.form-control {
  border: 1px solid var(--rb-ink-18) !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  transition: border-color .12s, box-shadow .12s !important;
}
.form-control:focus {
  border-color: var(--rb-primary) !important;
  box-shadow: 0 0 0 3px var(--rb-focus) !important;
  outline: none !important;
}

/* ===================================================================
   LABELS / BADGES
   =================================================================== */
.label-primary { background: var(--rb-primary-dark) !important; }
.label-success  { background: var(--rb-success) !important; }
.label-danger   { background: var(--rb-danger) !important; }
.label-warning  { background: var(--rb-warning) !important; color: #fff !important; }

/* ===================================================================
   TABLES (général — hors TV)
   =================================================================== */
table.Table, table.TableView, table.dataTable {
  border-radius: var(--rb-radius) !important;
  overflow: hidden !important;
  border: 1px solid var(--rb-ink-10) !important;
  background: var(--rb-card-solid) !important;
}
table.Table thead th, table.TableView thead th, table.dataTable thead th {
  background: linear-gradient(180deg, #f8fafc, #f1f5f9) !important;
  color: var(--rb-ink) !important;
  font-weight: 900 !important;
  border-bottom: 1px solid var(--rb-ink-10) !important;
}
table.Table tbody td, table.TableView tbody td, table.dataTable tbody td {
  color: var(--rb-ink) !important;
}
table.Table tbody tr:hover, table.TableView tbody tr:hover, table.dataTable tbody tr:hover {
  background: var(--rb-primary-alpha06) !important;
}

/* ===================================================================
   FOCUS CLAVIER
   =================================================================== */
a:focus, button:focus, .btn:focus, input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--rb-focus) !important;
  outline-offset: 2px !important;
}

/* ===================================================================
   MODALS
   =================================================================== */
.modal-content {
  border-radius: var(--rb-radius) !important;
  border: none !important;
  box-shadow: 0 24px 60px var(--rb-ink-18) !important;
  overflow: hidden !important;
}
.modal-header {
  background: linear-gradient(135deg, var(--rb-header-from), var(--rb-header-to)) !important;
  border-bottom: none !important;
  padding: 16px 20px !important;
}
.modal-header .modal-title { color: #fff !important; font-weight: 800 !important; font-size: 1rem !important; }
.modal-header .close { color: rgba(255,255,255,.70) !important; opacity: 1 !important; text-shadow: none !important; font-size: 1.4rem !important; }
.modal-header .close:hover { color: #fff !important; }
.modal-footer {
  background: var(--rb-bg) !important;
  border-top: 1px solid var(--rb-line) !important;
  padding: 12px 20px !important;
  border-radius: 0 0 var(--rb-radius) var(--rb-radius) !important;
}

/* ===================================================================
   ONGLETS (tabs généraux)
   =================================================================== */
.nav-tabs {
  border-bottom: 2px solid var(--rb-line) !important;
}
.nav-tabs > li > a {
  border-radius: 10px 10px 0 0 !important;
  font-weight: 700 !important;
  color: var(--rb-mute) !important;
  border: 1.5px solid transparent !important;
  transition: all .13s !important;
}
.nav-tabs > li > a:hover {
  background: var(--rb-primary-alpha08) !important;
  color: var(--rb-primary-dark) !important;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover {
  background: var(--rb-card-solid) !important;
  color: var(--rb-ink) !important;
  font-weight: 800 !important;
  border-color: var(--rb-ink-12) var(--rb-ink-12) var(--rb-card-solid) !important;
}
.nav-tabs > li > a .badge {
  background: var(--rb-primary-dark) !important;
  color: #fff !important;
  font-size: .70rem !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  margin-left: 5px !important;
}

/* ===================================================================
   SCROLLBAR
   =================================================================== */
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--rb-ink-18); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,.32); }

/* ===================================================================
   PAGE-HEADER STICKY (titre de table)
   =================================================================== */
.page-header {
  background: linear-gradient(135deg, var(--rb-header-from) 0%, var(--rb-header-to) 100%) !important;
  border-radius: 14px 14px 0 0 !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  border-bottom: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  position: sticky !important;
  top: 50px !important;
  z-index: 100 !important;
}
.page-header h1 {
  color: #f8fafc !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.page-header h1 a.table-title,
.page-header h1 .table-title { color: #f8fafc !important; text-decoration: none !important; }
.page-header h1 img {
  width: 26px !important; height: 26px !important;
  filter: brightness(0) invert(1) !important; opacity: .85 !important;
}
/* Icône Bootstrap Icon dans le titre — couleur héritée du thème (blanc sur fond sombre) */
.page-header h1 .rb-table-icon {
  font-size: 1.4rem !important;
  color: rgba(255,255,255,.90) !important;
  filter: drop-shadow(0 1px 4px rgba(0,0,0,.30)) !important;
  flex-shrink: 0 !important;
}

/* ===================================================================
   TOOLBAR STICKY (sous le titre)
   =================================================================== */
div[id$="_toolbar"], .FiltersToolbar {
  position: sticky !important;
  top: 100px !important;
  z-index: 90 !important;
  background: rgba(247,249,252,.97) !important;
  border-bottom: 1px solid var(--rb-line) !important;
  padding: 8px 16px !important;
  box-shadow: 0 2px 10px var(--rb-ink-8) !important;
}
/* Toolbar #top_buttons aussi sticky */
#top_buttons {
  position: sticky !important;
  top: 100px !important;
  z-index: 89 !important;
}

/* ===================================================================
   RECHERCHE RAPIDE (quick-search)
   =================================================================== */
#quick-search {
  min-width: 320px !important;
  width: 380px !important;
  border-radius: 10px !important;
  border-color: var(--rb-ink-18) !important;
  font-size: 14px !important;
}
#quick-search:focus {
  border-color: var(--rb-primary) !important;
  box-shadow: 0 0 0 3px var(--rb-focus) !important;
}

/* ===================================================================
   ALERTES
   =================================================================== */
.alert {
  border-radius: 12px !important;
  border: none !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.alert-success {
  background: var(--rb-success-light) !important;
  color: #166534 !important;
  border-left: 4px solid var(--rb-success) !important;
}
.alert-danger, .alert-error {
  background: var(--rb-danger-light) !important;
  color: #991b1b !important;
  border-left: 4px solid var(--rb-danger) !important;
}
.alert-warning {
  background: var(--rb-warning-light) !important;
  color: #92400e !important;
  border-left: 4px solid var(--rb-warning) !important;
}
.alert-info {
  background: var(--rb-primary-light) !important;
  color: var(--rb-primary-dark) !important;
  border-left: 4px solid var(--rb-primary) !important;
}
.alert .close { opacity: .4 !important; font-size: 1.1rem !important; }
.alert .close:hover { opacity: .8 !important; }

/* Toast flottant */
#window-messages, .window-message {
  position: fixed !important;
  top: 64px !important;
  right: 20px !important;
  z-index: 9999 !important;
  min-width: 280px !important;
  max-width: 400px !important;
}
#window-messages .alert,
.window-message .alert {
  margin-bottom: 8px !important;
  box-shadow: 0 8px 28px var(--rb-ink-15) !important;
}

/* ===================================================================
   ANIMATIONS
   =================================================================== */
@keyframes rb-fadeup {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.main-content { animation: rb-fadeup .22s ease both !important; }

@keyframes rb-rowin {
  from { opacity: 0; }
  to   { opacity: 1; }
}
/* Lignes TV uniquement (pas sous-tables DV) */
.table_view table.Table tbody tr,
.table_view table.TableView tbody tr {
  animation: rb-rowin .18s ease both !important;
}
.table_view table.Table tbody tr:nth-child(1)  { animation-delay: .02s !important; }
.table_view table.Table tbody tr:nth-child(2)  { animation-delay: .04s !important; }
.table_view table.Table tbody tr:nth-child(3)  { animation-delay: .06s !important; }
.table_view table.Table tbody tr:nth-child(4)  { animation-delay: .08s !important; }
.table_view table.Table tbody tr:nth-child(5)  { animation-delay: .10s !important; }
.table_view table.Table tbody tr:nth-child(6)  { animation-delay: .12s !important; }
.table_view table.Table tbody tr:nth-child(7)  { animation-delay: .14s !important; }
.table_view table.Table tbody tr:nth-child(8)  { animation-delay: .16s !important; }
.table_view table.Table tbody tr:nth-child(9)  { animation-delay: .18s !important; }
.table_view table.Table tbody tr:nth-child(10) { animation-delay: .20s !important; }

/* Cards dashboard */
.mh-card { animation: rb-fadeup .20s ease both !important; }
.mh-grid .col-xs-12:nth-child(1) .mh-card { animation-delay: .04s !important; }
.mh-grid .col-xs-12:nth-child(2) .mh-card { animation-delay: .08s !important; }
.mh-grid .col-xs-12:nth-child(3) .mh-card { animation-delay: .12s !important; }
.mh-grid .col-xs-12:nth-child(4) .mh-card { animation-delay: .16s !important; }
.mh-grid .col-xs-12:nth-child(5) .mh-card { animation-delay: .20s !important; }
.mh-grid .col-xs-12:nth-child(6) .mh-card { animation-delay: .24s !important; }

/* ===================================================================
   IMPRESSION
   =================================================================== */
@media print {
  .navbar, .navbar-fixed-bottom, .page-header,
  .FiltersToolbar, .pagination { display: none !important; }
  body { background: #fff !important; }
  table.Table, table.TableView { box-shadow: none !important; border: 1px solid #ccc !important; }
  .main-content { animation: none !important; }
}

/* ===================================================================
   TABLE VIEW (TV) — page-header, toolbar, table, actions
   =================================================================== */

/* Bouton Ajouter nouveau */
.page-header .btn-success,
#addNew {
  background: var(--rb-success) !important;
  border-color: var(--rb-success) !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 7px 16px !important;
  border-radius: 10px !important;
  box-shadow: 0 3px 10px rgba(22,163,74,.30) !important;
  margin-left: auto !important;
}
#addNew:hover, .page-header .btn-success:hover {
  background: var(--rb-success-dark) !important;
  border-color: var(--rb-success-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 14px rgba(22,163,74,.40) !important;
}

/* Wrapper TV */
.table_view {
  background: var(--rb-card-solid) !important;
  border-radius: 0 0 14px 14px !important;
  border: 1px solid var(--rb-ink-8) !important;
  border-top: none !important;
  overflow: visible !important;
}

/* Toolbar */
#top_buttons {
  background: var(--rb-bg) !important;
  border-bottom: 1px solid var(--rb-ink-8) !important;
  padding: 8px 14px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

/* Hauteur uniforme pour tous les boutons toolbar */
#top_buttons .btn {
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: .85rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  transition: all .12s !important;
}

/* Ajouter nouveau */
#addNew {
  background: var(--rb-success) !important;
  border-color: var(--rb-success) !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(22,163,74,.25) !important;
}
#addNew:hover { background: var(--rb-success-dark) !important; transform: translateY(-1px) !important; }

/* Filtre */
#Filter {
  background: var(--rb-primary) !important;
  border-color: var(--rb-primary) !important;
  color: #fff !important;
}
#Filter:hover { background: var(--rb-primary-dark) !important; }

/* Afficher tout */
#NoFilter {
  background: var(--rb-orange) !important;
  border-color: var(--rb-orange) !important;
  color: #fff !important;
}
#NoFilter:hover { filter: brightness(1.1) !important; }

/* Impression & CSV — discrets */
#Print, #CSV {
  background: var(--rb-card-solid) !important;
  border: 1px solid var(--rb-ink-15) !important;
  color: var(--rb-mute) !important;
}
#Print:hover, #CSV:hover {
  background: var(--rb-ink-5) !important;
  color: var(--rb-ink) !important;
}

/* Icônes dans les boutons */
#top_buttons .btn i.bi,
#top_buttons .btn .glyphicon { font-size: .90rem !important; }

/* Impression & CSV discrets */
#Print, #CSV {
  background: var(--rb-card-solid) !important;
  border: 1px solid var(--rb-ink-15) !important;
  color: var(--rb-mute) !important;
}
#Print:hover, #CSV:hover {
  background: var(--rb-ink-5) !important;
  color: var(--rb-ink) !important;
}

/* Hover léger sur tous les boutons */
#top_buttons .btn:hover { transform: translateY(-1px) !important; }

/* Ombres légères sur boutons colorés */
#top_buttons .btn[class*="btn-success"] { box-shadow: 0 2px 6px rgba(22,163,74,.20) !important; }
#top_buttons .btn[class*="btn-danger"]  { box-shadow: 0 2px 6px rgba(220,38,38,.20) !important; }
#top_buttons .btn[class*="btn-warning"] { box-shadow: 0 2px 6px rgba(245,158,11,.20) !important; }
#top_buttons .btn[class*="btn-info"]    { box-shadow: 0 2px 6px rgba(14,165,233,.20) !important; }
#top_buttons .btn[class*="btn-primary"] { box-shadow: 0 2px 6px var(--rb-primary-alpha15) !important; }

/* ===================================================================
   BARRE BOUTONS MÉTIER — ligne 2 sous #top_buttons, centrée
   =================================================================== */
#km-custom-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 7px 14px !important;
  background: var(--rb-bg) !important;
  border-bottom: 1px solid var(--rb-ink-8) !important;
  position: sticky !important;
  top: 132px !important;
  z-index: 88 !important;
}

/* Séparateur entre groupes dans la barre custom */
#km-custom-bar .rb-sep {
  display: inline-block !important;
  width: 1.5px !important;
  height: 22px !important;
  background: var(--rb-ink-15) !important;
  margin: 0 4px !important;
  flex-shrink: 0 !important;
}

/* Séparateur simple (span.rb-sep) pour les tables sans barre custom */
#top_buttons .rb-sep {
  display: inline-block !important;
  width: 1.5px !important;
  height: 22px !important;
  background: var(--rb-ink-12) !important;
  margin: 0 8px !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

/* ── Boutons qualité/données (violet outline) ── */
.btn-quality-check,
.btn-format-fields,
.btn-geocode,
.btn-recalc-km {
  background: #fff !important;
  border: 1.5px solid #a78bfa !important;
  color: #6d28d9 !important;
  font-weight: 700 !important;
}
.btn-quality-check:hover,
.btn-format-fields:hover,
.btn-geocode:hover,
.btn-recalc-km:hover {
  background: #7c3aed !important;
  border-color: #7c3aed !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(124,58,237,.28) !important;
}

/* ── Boutons Odoo (couleur brand Odoo #714B67) ── */
.btn-sync-odoo-ext,
.btn-send-to-odoo {
  background: #fff !important;
  border: 1.5px solid #714B67 !important;
  color: #714B67 !important;
  font-weight: 700 !important;
}
.btn-sync-odoo-ext:hover,
.btn-send-to-odoo:hover {
  background: #714B67 !important;
  border-color: #714B67 !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(113,75,103,.30) !important;
}

/* ── Boutons Livraisons ── */
#genLivraisonsBtn {
  background: var(--rb-danger) !important;
  border-color: var(--rb-danger) !important;
  color: #fff !important;
}
#genLivraisonsBtn:hover { filter: brightness(1.1) !important; }
#openDashBtn {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
}
#openDashBtn:hover { background: var(--rb-primary) !important; border-color: var(--rb-primary) !important; }
#lrOpenBtn {
  background: #fff !important;
  border: 1.5px solid #7dd3fc !important;
  color: #0369a1 !important;
}
#lrOpenBtn:hover { background: #0284c7 !important; border-color: #0284c7 !important; color: #fff !important; }
/* VRP tournées */
#vrpBtn {
  background: #fff !important;
  border: 1.5px solid #6ee7b7 !important;
  color: #15803d !important;
}
#vrpBtn:hover { background: var(--rb-success) !important; border-color: var(--rb-success) !important; color: #fff !important; }

/* ===================================================================
   SUIVI DES COMMANDES — toolbar CMDTV (commandes-tv.js)
   =================================================================== */
/* Wrapper général — enlève le padding AppGini, layout colonne */
body .table_view #top_buttons:has(#cmdtvHost) {
  display: block !important;
  padding: 0 !important;
  background: var(--rb-bg) !important;
  border-bottom: none !important;
}
/* Sépare visuellement les 3 lignes du wrap */
#cmdtvWrap { background: var(--rb-bg) !important; }
/* Séparateur horizontal entre lignes (cmdtv-break) */
#cmdtvWrap .cmdtv-break {
  background: var(--rb-ink-10) !important;
}

/* ── Panels CMDTV — style commun ── */
#cmdtvDateFilters,
#cmdtvGenGroup,
#cmdtvExportGroup,
#odooExportsGroup {
  border-radius: 10px !important;
  padding: 4px 10px !important;
}

/* Panel Période — bleu primaire léger */
#cmdtvDateFilters {
  background: var(--rb-primary-alpha06) !important;
  border: 1.5px solid var(--rb-primary-alpha15) !important;
  box-shadow: none !important;
}
/* Bouton actif mode (Mois/Semaine…) → couleur primaire thème */
#cmdtvDateFilters .cmdtv-df-mode .btn.active {
  background: var(--rb-primary) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
}
/* Bouton Semaine actuelle */
#cmdtvDfNow {
  background: rgba(16,185,129,.08) !important;
  border: 1.5px solid rgba(16,185,129,.35) !important;
  color: #065f46 !important;
  font-weight: 700 !important;
}
/* Badge plage de dates */
#cmdtvDfBadge {
  background: var(--rb-primary-alpha12) !important;
  color: var(--rb-primary) !important;
  font-weight: 800 !important;
  border-radius: 8px !important;
  padding: 3px 10px !important;
}

/* Panel Génération — ambre */
#cmdtvGenGroup {
  background: rgba(251,191,36,.07) !important;
  border: 1.5px solid rgba(251,146,36,.3) !important;
  display: flex !important;
  gap: 4px !important;
}

/* Panel Actions export — bleu primaire discret */
#cmdtvExportGroup {
  background: var(--rb-primary-alpha06) !important;
  border: 1.5px solid var(--rb-primary-alpha15) !important;
  display: flex !important;
  gap: 4px !important;
}

/* Panel Odoo — violet-mauve #714B67 */
#odooExportsGroup {
  background: rgba(113,75,103,.06) !important;
  border: 1.5px solid rgba(113,75,103,.25) !important;
  display: flex !important;
  gap: 4px !important;
}

/* Chips statut — harmonisation */
.cmdtv-status-filter {
  border-radius: 999px !important;
  font-weight: 700 !important;
  transition: all .12s !important;
}
/* MAJ statut — bouton rouge à droite */
#massUpdateBtn {
  margin-left: auto !important;
  min-width: 120px !important;
}

/* Table responsive — scroll horizontal si nécessaire, jamais débordement */
.table-responsive {
  border: none !important;
  border-radius: 0 !important;
  overflow-x: auto !important;
  width: 100% !important;
}

/* Adaptation colonnes au contenu (table.table ET table.Table — AppGini varie la casse) */
.table_view table.table,
.table_view table.Table {
  table-layout: auto !important;
  width: 100% !important;
}
.table_view table.table > thead > tr > th,
.table_view table.Table > thead > tr > th {
  white-space: nowrap !important;
}
.table_view table.table > tbody > tr > td,
.table_view table.Table > tbody > tr > td {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 260px !important;
}

/* Thead sombre */
.table_view table.table > thead > tr > th,
.table_view table.Table > thead > tr > th,
.table_view table.table-striped > thead > tr > th,
.table_view table.table-bordered > thead > tr > th {
  background: linear-gradient(180deg, var(--rb-thead-from), var(--rb-thead-to)) !important;
  color: #e2e8f0 !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  padding: 11px 14px !important;
  border: none !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.table_view thead th:first-child {
  width: 36px !important; text-align: center !important;
}
.table_view thead th.hidden-print {
  background: linear-gradient(180deg, #1e3a5f, #162032) !important;
  text-align: center !important;
  min-width: 90px !important;
}

/* Liens de tri */
.table_view th a.TableHeader,
.table_view th .sortlink {
  color: #e2e8f0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.table_view th a.TableHeader:hover { color: #fff !important; }
.table_view th .glyphicon-sort-by-attributes,
.table_view th .glyphicon-sort-by-attributes-alt { color: #93c5fd !important; font-size: .8rem !important; }
.table_view th .btn.btn-default.btn-xs[name="Filter_x"] {
  background: rgba(99,102,241,.25) !important;
  border-color: rgba(99,102,241,.4) !important;
  color: #a5b4fc !important;
  border-radius: 6px !important;
  padding: 2px 6px !important;
  font-size: .68rem !important;
  margin-left: 4px !important;
}

/* Lignes tbody */
.table_view table.table > tbody > tr > td,
.table_view table.Table > tbody > tr > td {
  padding: 7px 12px !important;
  font-size: .92rem !important;
  color: var(--rb-ink) !important;
  border-color: var(--rb-ink-8) !important;
  border-bottom: 1px solid var(--rb-ink-8) !important;
  vertical-align: middle !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: background .10s !important;
}
/* Liens dans les cellules */
.table_view table tbody td a:not(.rb-btn-loupe):not([class*="btn"]) {
  color: var(--rb-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.table_view table tbody td a:not(.rb-btn-loupe):not([class*="btn"]):hover {
  text-decoration: underline !important;
}
/* Zebra striping */
.table_view table.table > tbody > tr:nth-of-type(odd) > td,
.table_view table.Table > tbody > tr:nth-of-type(odd) > td { background: #fff !important; }
.table_view table.table > tbody > tr:nth-of-type(even) > td,
.table_view table.Table > tbody > tr:nth-of-type(even) > td { background: #f4f7fb !important; }
/* Hover */
.table_view table.table > tbody > tr:hover > td,
.table_view table.Table > tbody > tr:hover > td { background: var(--rb-primary-alpha06) !important; }
.table_view table.table > tbody > tr:hover > td:first-child,
.table_view table.Table > tbody > tr:hover > td:first-child {
  box-shadow: inset 3px 0 0 var(--rb-primary) !important;
}
/* Ligne active */
.table_view table.table > tbody > tr.active > td,
.table_view table.Table > tbody > tr.active > td { background: var(--rb-primary-mid) !important; }
.table_view table.table > tbody > tr.active > td:first-child,
.table_view table.Table > tbody > tr.active > td:first-child {
  box-shadow: inset 3px 0 0 var(--rb-primary) !important;
}

/* Checkbox sélection + bouton loupe */
.table_view tbody td:first-child {
  text-align: center !important;
  width: 64px !important;
  min-width: 64px !important;
  padding: 0 6px !important;
  overflow: visible !important;
  white-space: nowrap !important;
  display: table-cell !important;
}
.table_view tbody .record_selector {
  width: 16px !important; height: 16px !important;
  accent-color: var(--rb-primary) !important; cursor: pointer !important;
}

/* Bouton loupe prospects-tv (btn-group dans td:first-child) — même style que rb-btn-loupe */
.table_view tbody td:first-child .btn-group { margin-left: 4px !important; vertical-align: middle !important; }
.table_view tbody td:first-child .btn-group a.btn[href*="SelectedID"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  background: var(--rb-primary-alpha12) !important;
  border: 1px solid var(--rb-primary-alpha15) !important;
  color: var(--rb-primary-dark) !important;
  border-radius: 5px !important;
  font-size: .78rem !important;
  overflow: visible !important;
  transition: background .12s, color .12s !important;
}
.table_view tbody td:first-child .btn-group a.btn[href*="SelectedID"]:hover {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
}

/* Bouton loupe — accès DV */
.table_view td a.rb-btn-loupe {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background: var(--rb-primary-alpha12) !important;
  color: var(--rb-primary-dark) !important;
  border-radius: 5px !important;
  margin-left: 4px !important;
  font-size: .78rem !important;
  transition: background .12s, color .12s !important;
  vertical-align: middle !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  border: 1px solid var(--rb-primary-alpha15) !important;
}
.table_view td a.rb-btn-loupe:hover {
  background: var(--rb-primary-dark) !important;
  color: #fff !important;
  border-color: var(--rb-primary-dark) !important;
}
/* thead première colonne alignée */
.table_view thead th:first-child { width: 64px !important; min-width: 64px !important; }

/* Boutons action par ligne */
.table_view td .btn-xs {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border-radius: 7px !important;
  font-size: .90rem !important;
  margin: 1px !important;
  transition: all .10s !important;
  border-width: 1px !important;
}
/* Bouton édition */
.table_view td a.btn-xs[href*="SelectedID"] {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: var(--rb-primary-dark) !important;
}
.table_view td a.btn-xs[href*="SelectedID"]:hover {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
}
/* Bouton suppression */
.table_view td .btn-xs[onclick*="delete"],
.table_view td .btn-xs[name*="delete"] {
  background: #fef2f2 !important;
  border-color: #fecaca !important;
  color: var(--rb-danger) !important;
}
.table_view td .btn-xs[onclick*="delete"]:hover,
.table_view td .btn-xs[name*="delete"]:hover {
  background: var(--rb-danger) !important;
  border-color: var(--rb-danger) !important;
  color: #fff !important;
}
/* Bouton duplication */
.table_view td .btn-xs[href*="duplicate"],
.table_view td .btn-xs[onclick*="duplicate"] {
  background: #f5f3ff !important;
  border-color: #ddd6fe !important;
  color: #7c3aed !important;
}
.table_view td .btn-xs[href*="duplicate"]:hover,
.table_view td .btn-xs[onclick*="duplicate"]:hover {
  background: #7c3aed !important;
  color: #fff !important;
}

/* Sort */
.table_view th.sorted-asc  { border-bottom: 3px solid var(--rb-primary) !important; }
.table_view th.sorted-desc { border-bottom: 3px solid var(--rb-danger) !important; }

/* Sélection multi-lignes */
.table_view .selected_records .btn { border-radius: 9px !important; font-weight: 600 !important; }
#selected_records_more {
  background: var(--rb-primary) !important; border-color: var(--rb-primary) !important;
  color: #fff !important; border-radius: 9px !important;
}

/* Barre infos + pagination — même barre */
.record-count-info,
.pagination-section {
  background: var(--rb-bg) !important;
  border-top: 1px solid var(--rb-ink-8) !important;
  padding: 8px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.record-count-info {
  font-size: .85rem !important;
  color: var(--rb-mute) !important;
  font-weight: 500 !important;
  border-top: none !important;
  padding-top: 0 !important;
}
.pagination-section {
  border-radius: 0 0 14px 14px !important;
}
.pagination-section select.form-control {
  height: 32px !important; padding: 4px 8px !important;
  border-radius: 8px !important; font-size: .82rem !important;
  border-color: var(--rb-ink-18) !important; width: auto !important; min-width: 80px !important;
}
.pagination > li > a,
.pagination > li > span {
  min-width: 34px !important; height: 34px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 8px !important; margin: 0 2px !important;
  font-weight: 600 !important; border-color: var(--rb-line) !important;
  color: var(--rb-mute) !important; transition: all .10s !important;
}
.pagination > li > a:hover { background: var(--rb-primary-light) !important; color: var(--rb-primary-dark) !important; }
.pagination > .active > a, .pagination > .active > span {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(37,99,235,.30) !important;
}
.pagination > .disabled > a, .pagination > .disabled > span {
  background: transparent !important; color: #cbd5e1 !important; border-color: transparent !important;
}

/* Barre de filtres colonnes */
.FiltersToolbar, tr.FilterRow {
  background: linear-gradient(135deg, #f0f9ff, #e0f2fe) !important;
  border-top: 2px solid #7dd3fc !important;
  border-bottom: 2px solid #7dd3fc !important;
}
tr.FilterRow td input, tr.FilterRow td select {
  border-radius: 7px !important; border-color: #bae6fd !important;
  font-size: .85rem !important; padding: 4px 8px !important;
}

/* État vide */
.table_view table td[colspan]:only-child,
.table_view .no-records-row td {
  text-align: center !important; padding: 48px 24px !important;
  color: var(--rb-mute) !important; font-size: .95rem !important;
  font-style: italic !important; background: #fafbfc !important;
}

/* ===================================================================
   DETAIL VIEW (DV) — formulaire, boutons, navigation
   =================================================================== */
.detail_view {
  background: var(--rb-card-solid) !important;
  border-radius: 16px !important;
  border: 1.5px solid var(--rb-ink-8) !important;
  box-shadow: 0 4px 24px var(--rb-ink-8) !important;
  padding: 24px 24px 16px !important;
  margin-bottom: 20px !important;
}

.detail_view h1, .detail_view .page-header h1 {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--rb-ink) !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--rb-ink-8) !important;
}

.detail_view .control-label {
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  color: var(--rb-mute) !important;
  padding-top: 10px !important;
}
.detail_view .form-control-static {
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: var(--rb-sub) !important;
  padding: 8px 0 !important;
  line-height: 1.5 !important;
  border-bottom: 1px dashed var(--rb-ink-8) !important;
}
.detail_view .form-control {
  height: 38px !important;
  font-size: .92rem !important;
  border-radius: 10px !important;
  border-color: var(--rb-ink-18) !important;
}
.detail_view textarea.form-control { height: auto !important; min-height: 80px !important; }
.detail_view select.form-control {
  height: 38px !important; border-radius: 10px !important; cursor: pointer !important;
}
.detail_view .form-control:focus {
  border-color: var(--rb-primary) !important;
  box-shadow: 0 0 0 3px var(--rb-focus) !important;
}
.detail_view input[type="checkbox"] {
  width: 18px !important; height: 18px !important;
  accent-color: var(--rb-primary) !important; cursor: pointer !important;
}

/* Boutons DV */
#update {
  background: var(--rb-success) !important;
  border-color: var(--rb-success) !important;
  color: #fff !important;
  font-weight: 800 !important; font-size: 1rem !important;
  padding: 10px 24px !important; border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(22,163,74,.28) !important;
  min-width: 160px !important;
}
#update:hover {
  background: var(--rb-success-dark) !important;
  box-shadow: 0 6px 18px rgba(22,163,74,.35) !important;
  transform: translateY(-1px) !important;
}
#insert {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
  font-weight: 800 !important; font-size: 1rem !important;
  padding: 10px 24px !important; border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(37,99,235,.28) !important;
  min-width: 160px !important;
}
#insert:hover {
  background: var(--rb-primary) !important;
  box-shadow: 0 6px 18px rgba(37,99,235,.35) !important;
  transform: translateY(-1px) !important;
}
#delete {
  background: var(--rb-card-solid) !important;
  border: 2px solid var(--rb-danger) !important;
  color: var(--rb-danger) !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  padding: 9px 20px !important;
}
#delete:hover {
  background: var(--rb-danger) !important; color: #fff !important;
  box-shadow: 0 4px 14px rgba(220,38,38,.25) !important;
}
#back, button[name="back_x"] {
  background: var(--rb-bg) !important;
  border-color: var(--rb-line) !important;
  color: var(--rb-mute) !important;
  font-weight: 700 !important; border-radius: 12px !important;
}
#back:hover { background: var(--rb-line) !important; color: var(--rb-ink) !important; }

#Previous, #Next {
  background: var(--rb-bg) !important;
  border: 1.5px solid var(--rb-line) !important;
  color: var(--rb-mute) !important;
  font-weight: 700 !important; border-radius: 12px !important;
  padding: 8px 18px !important; transition: all .13s !important;
}
#Previous:hover, #Next:hover {
  background: var(--rb-primary-dark) !important;
  border-color: var(--rb-primary-dark) !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(37,99,235,.25) !important;
}

/* Barre boutons DV */
.detail_view .vspacer-lg:has(#update),
.detail_view .vspacer-lg:has(#insert) {
  background: var(--rb-bg) !important;
  border-top: 1.5px solid var(--rb-ink-10) !important;
  padding: 14px 0 6px !important;
  margin-top: 16px !important;
  display: flex !important; flex-wrap: wrap !important;
  gap: 10px !important; align-items: center !important;
}

/* Tabs DV (child records) */
.detail_view .nav-tabs {
  border-bottom: 2px solid var(--rb-ink-10) !important;
  margin-bottom: 16px !important;
  gap: 4px !important; display: flex !important; flex-wrap: wrap !important;
}
.detail_view .nav-tabs > li > a {
  border-radius: 10px 10px 0 0 !important;
  font-weight: 700 !important; font-size: .88rem !important;
  color: var(--rb-mute) !important;
  padding: 8px 16px !important;
  border: 1.5px solid transparent !important;
  transition: all .13s !important;
}
.detail_view .nav-tabs > li > a:hover {
  background: var(--rb-primary-alpha08) !important; color: var(--rb-primary-dark) !important;
}
.detail_view .nav-tabs > li.active > a,
.detail_view .nav-tabs > li.active > a:hover {
  background: var(--rb-card-solid) !important; color: var(--rb-ink) !important;
  font-weight: 800 !important;
  border-color: var(--rb-ink-12) var(--rb-ink-12) var(--rb-card-solid) !important;
}
.detail_view .nav-tabs .badge {
  background: var(--rb-primary-dark) !important; color: #fff !important;
  font-size: .70rem !important; padding: 2px 6px !important;
  border-radius: 999px !important; margin-left: 5px !important;
}

/* Champs DV */
.detail_view .form-horizontal .form-group {
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--rb-ink-5) !important;
}
.detail_view .form-horizontal .form-group:last-of-type { border-bottom: none !important; }
.detail_view .has-error .form-control  { border-color: var(--rb-danger) !important; }
.detail_view .has-error .control-label { color: var(--rb-danger) !important; }
.detail_view .has-success .form-control { border-color: var(--rb-success) !important; }

/* Sous-tables enfants */
.child_records_div {
  background: var(--rb-bg) !important;
  border-radius: 14px !important;
  border: 1.5px solid var(--rb-ink-8) !important;
  padding: 16px !important; margin-top: 20px !important;
}
.child_records_div table.table {
  background: var(--rb-card-solid) !important;
  border-radius: 10px !important; overflow: hidden !important;
  box-shadow: 0 2px 8px var(--rb-ink-5) !important;
  font-size: .875rem !important;
}
.child_records_div table.table thead th {
  background: linear-gradient(135deg, var(--rb-header-from), var(--rb-thead-to)) !important;
  color: #fff !important; font-weight: 700 !important;
  font-size: .75rem !important; text-transform: uppercase !important;
  letter-spacing: .04em !important; padding: 10px 12px !important; border: none !important;
}
.child_records_div table.table > tbody > tr:hover > td { background: var(--rb-primary-light) !important; }

/* Tooltip */
.tooltip-inner {
  border-radius: 8px !important; font-size: .82rem !important;
  font-weight: 600 !important; padding: 5px 10px !important;
  background: var(--rb-ink) !important;
}
.tooltip.top .tooltip-arrow    { border-top-color: var(--rb-ink) !important; }
.tooltip.bottom .tooltip-arrow { border-bottom-color: var(--rb-ink) !important; }

/* ===================================================================
   PILOT STRIP PROSPECTS — masqué (clignotement non résolu)
   =================================================================== */
.prospects-dv-pilot-strip { display: none !important; }

/* ===================================================================
   BADGE ENV LOCAL/DISTANT (header-extras)
   =================================================================== */
.fp-env-badge {
  display: inline-flex !important; align-items: center !important;
  gap: 8px !important; margin-left: 12px !important;
  padding: 6px 10px !important; border-radius: 999px !important;
  font-size: 12px !important; font-weight: 700 !important;
  line-height: 1 !important; letter-spacing: .04em !important;
  text-transform: uppercase !important; white-space: nowrap !important;
}
.fp-env-badge i { font-size: 12px !important; }
.fp-env-local  { background: #e8f7ee !important; color: #157347 !important; border: 1px solid #b7e4c7 !important; }
.fp-env-remote { background: #eef3ff !important; color: #1d4ed8 !important; border: 1px solid #c7d2fe !important; }
@media (max-width: 767px) { .fp-env-badge { display: none !important; } }
