/* Variables */
:root {
  --c-teal:      #589275;
  --c-teal-dk:   #467961;
  --c-teal-lt:   #E9F1ED;
  --c-teal-mid:  rgba(88,146,117,.12);
  --c-cream:     #F8F7F5;
  --c-petrol:    #FAFAFA;
  --c-petrol-lt: #FAFAFA;
  --c-petrol-bd: #FAFAFA;
  --c-navy:      #20242B;
  --c-navy-dk:   #16191E;
  --c-navy-md:   #2A2F37;
  --c-ink:       #1A1D21;
  --c-white:     #FFFFFF;
  --c-snow:      #FCFBFA;
  --c-frost:     #FAFAFA;
  --c-g50:       #F8F7F5;
  --c-g100:      #F8F7F5;
  --c-g200:      #D8D4CE;
  --c-g300:      #000000;
  --c-g400:      #8A8379;
  --c-g500:      #635D54;
  --c-g600:      #45403A;
  --c-g700:      #2B2723;
  --c-success:   #00A878;
  --c-warn:      #F59E0B;
  --c-danger:    #E8334A;
  --r-sm: 6px; --r-md: 10px; --r-lg: 14px; --r-xl: 18px; --r-2xl: 24px;
  --sh-xs: 0 1px 4px rgba(11,31,62,.06);
  --sh-sm: 0 2px 12px rgba(11,31,62,.08);
  --sh-md: 0 6px 28px rgba(11,31,62,.12);
  --sh-lg: 0 16px 48px rgba(11,31,62,.16);
  --t: all .2s ease;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, Arial, sans-serif;
  background: var(--c-frost);
  color: var(--c-g600);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  font-size: 14px;
  line-height: 1.5;
}
ol, ul { list-style: none; }
a { text-decoration: none; color: inherit; }

/* Layout */
.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 28px;
}
.header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.clear { clear: both; }

/* Header L1 */
#top_header_l1 {
  background: var(--c-petrol-lt);
  padding: 0;
  border-top: 3px solid var(--c-petrol);
  border-bottom: 1px solid var(--c-petrol-bd);
}
#top_header_l1 .container { height: 60px; }
#top_header_l1 .header-row { height: 100%; }

.left_header_l1 { display: flex; align-items: center; }

#top_header_l1 .left_header_l1 > a { display: inline-flex; align-items: center; }
.logo-certis {
  height: 50px;
  width: auto;
  display: block;
}

.header_links {
  display: flex;
  align-items: center;
  gap: 6px;
}
.header-link-btn {
  display: inline-flex;
  align-items: center;
  padding: 7px 16px;
  border-radius: var(--r-md);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--c-g500);
  border: 1.5px solid var(--c-g200);
  transition: var(--t);
}
.header-link-btn:hover {
  color: var(--c-g700);
  border-color: var(--c-g300);
  background: var(--c-white);
}
.header-link-btn--primary {
  color: var(--c-teal-dk);
  border-color: rgba(88,146,117,.4);
  background: rgba(88,146,117,.12);
}
.header-link-btn--primary:hover {
  background: var(--c-teal);
  border-color: var(--c-teal);
  color: var(--c-white);
}

/* Header L2 */
#top_header_l2 {
  background: var(--c-petrol-lt);
  padding: 0;
  border-bottom: 1px solid var(--c-g100);
}
#top_header_l2 .container { height: 44px; }
#top_header_l2 .header-row { height: 100%; }

.title {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-teal);
  margin-right: 14px;
  padding: 3px 10px;
  background: rgba(88,146,117,.1);
  border-radius: var(--r-sm);
  border: 1px solid rgba(88,146,117,.3);
}
#top_header_l2 .left_header_l1 {
  font-size: .84rem;
  font-weight: 500;
  color: var(--c-g600);
}
.right_header_l1 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  color: var(--c-g500);
  justify-content: flex-end;
}
.right_header_l1 strong {
  color: var(--c-g700);
  font-weight: 700;
}
.header-search-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  color: var(--c-g500);
  background: var(--c-g50);
  border: 1px solid var(--c-g200);
  transition: var(--t);
}
.header-search-icon:hover { color: var(--c-white); background: var(--c-teal); border-color: var(--c-teal); }
.header-search-icon svg { width: 13px; height: 13px; }

/* Navigation */
#menu {
  background: transparent;
  position: relative;
  z-index: 100;
}
#menu .container { display: flex; flex-direction: column; padding: 0 28px; position: relative; }
.menu_navigation { width: 100%; }
.menu_navigation a { text-decoration: none;}
#menu ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 2px;
  height: 62px;
  background: var(--c-teal-lt);
  border-radius: var(--r-md) var(--r-md) 0 0;
}
#menu ul a {
  display: flex;
  align-items: stretch;
  flex: 1 1 0;
}
#menu ul a:not(:last-child) {
  border-right: 1px solid rgba(88,146,117,.25);
}
#menu ul a li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  width: 100%;
  font-size: 15px !important;
  font-weight: 600;
  color: var(--c-g600);
  border-bottom: 3px solid transparent;
  letter-spacing: .01em;
  transition: var(--t);
  white-space: nowrap;
}
#menu ul a:hover li,
#menu ul a:hover li.has-submenu {
  color: var(--c-teal-dk);
  background: rgba(255,255,255,.6);
}
#menu ul a li.active {
  color: var(--c-teal-dk);
  background: var(--c-white);
  border-bottom-color: var(--c-teal);
}

.nav-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: .8;
  transition: opacity .2s, color .2s;
}
#menu ul a:hover .nav-icon { opacity: 1; }
#menu ul a li.active .nav-icon {
  opacity: 1;
  color: var(--c-teal);
}

/* Submenu */
#submenu {
  display: flex;
  visibility: hidden;
  position: absolute;
  top: 62px;
  left: 0;
  right: 0;
  z-index: 200;
  background: var(--c-white);
  border: 1px solid rgba(88,146,117,.25);
  border-top: 2px solid var(--c-teal);
  border-radius: 0 0 var(--r-md) var(--r-md);
  padding: 12px 14px 14px;
  gap: 0;
}

.nav-columns {
  flex: 1 1 0;
  position: relative;
  padding: 0 12px;
  text-align: center;
}
.nav-columns:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: var(--c-g100);
}
.nav-columns:last-child { padding-right: 0; }
.nav-columns:first-child { padding-left: 0; }
.nav-columns > ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  background: none !important;
}
.nav-columns > ul > li {
  width: auto !important;
  float: none !important;
  height: auto !important;
  padding: 0 !important;
  border: none !important;
  text-align: center !important;
  list-style: none !important;
}
.nav-columns > ul > li > a {
  display: block !important;
  padding: 4px 0 !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  color: var(--c-g700) !important;
  text-align: center !important;
  border: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: color .15s;
}
.nav-columns > ul > li > a:hover { color: var(--c-teal) !important; }
.menu-title > a {
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-g700) !important;
  text-align: center !important;
  padding: 0 0 6px 0 !important;
  margin-bottom: 4px;
  display: block !important;
  border: none !important;
  border-bottom: 1px solid var(--c-g100) !important;
  background: none !important;
  box-shadow: none !important;
}
.menu-title > a:hover { color: var(--c-teal) !important; }
.menu-title > a:hover { color: var(--c-teal) !important; }

/* Main container */
.main-container { padding: 12px 0 60px; }

/* Bandeau bienvenue */
.panel-body {
  background: var(--c-white);
  border: 1px solid var(--c-g100);
  border-left: 4px solid var(--c-teal);
  border-radius: var(--r-lg);
  padding: 14px 20px;
  font-size: .85rem;
  color: var(--c-g500);
  line-height: 1.65;
  margin-bottom: 28px;
  box-shadow: var(--sh-xs);
}

/* Dashboard grid */
.ui-grid-a {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}
.ui-block-a,
.ui-block-b {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100% !important;
}

/* Panels */
.panel-dashboard-left,
.panel-dashboard-right {
  background: var(--c-snow);
  border: 1px solid var(--c-g100);
  border-top: 3px solid var(--c-teal);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-sm);
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.panel-dashboard-left:hover,
.panel-dashboard-right:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}

/* Icone panel titre */
.panel-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-right: 9px;
  color: var(--c-teal);
  vertical-align: middle;
}

/* Zone titre + boutons */
.table_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--c-g50);
  background: var(--c-snow);
}

.panel-actions-bar {
  float: none !important;
  display: flex;
  align-items: center;
  gap: 6px;
  order: 2;
  margin: 0;
}

.table_title { order: 1; }

.table_title {
  display: flex;
  align-items: center;
  font-size: .94rem;
  line-height: 1.2;
}

.font-light  { font-weight: 400; color: var(--c-g400); font-size: 2.00rem; margin-right: .28em; }
.font-bold   { font-weight: 800; font-size: 2.00rem; }
.font-blue-title { color: var(--c-teal); }

/* Boutons action */
.btn-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 12px !important;
  font-size: .79rem !important;
  font-weight: 600 !important;
  color: var(--c-teal) !important;
  background: var(--c-teal-lt) !important;
  border: 1.5px solid rgba(88,146,117,.2) !important;
  border-radius: var(--r-pill, 999px) !important;
  cursor: pointer !important;
  transition: var(--t) !important;
  white-space: nowrap !important;
  letter-spacing: .01em !important;
  text-shadow: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  margin: 4px !important;
}
.btn-action:hover {
  background: var(--c-teal) !important;
  color: var(--c-white) !important;
  border-color: var(--c-teal) !important;
  box-shadow: 0 3px 10px rgba(88,146,117,.3) !important;
}
/* Neutralise le cercle gris jQuery Mobile */
.btn-action::before {
  content: "" !important;
  display: inline-block !important;
  font-size: 1em !important;
  font-weight: 700 !important;
  color: inherit !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  position: static !important;
  margin: 0 3px 0 0 !important;
  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  opacity: 1 !important;
}
.btn-action.btn-plus::before {
  content: "+" !important;
}
.btn-action.btn-loupe::before {
  content: "" !important;
  background-image: url('../images/icon-loupe.png') !important;
  background-size: 14px 14px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.btn-action::after {
  display: none !important;
  content: none !important;
}
.btn-action svg { width: 11px; height: 11px; flex-shrink: 0; }

.btn-action-white {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 12px !important;
  font-size: .79rem !important;
  font-weight: 600 !important;
  color: var(--c-g700) !important;
  background: var(--c-white) !important;
  border: 1.5px solid var(--c-g200) !important;
  border-radius: var(--r-pill, 999px) !important;
  cursor: pointer !important;
  transition: none !important;
  white-space: nowrap !important;
  letter-spacing: .01em !important;
  text-shadow: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  margin: 0 4px 0 0 !important;
}
.btn-action-white:hover {
  color: var(--c-g700) !important;
  background: var(--c-white) !important;
  border-color: var(--c-g200) !important;
  box-shadow: none !important;
}

.btn-action-green-dark {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 12px !important;
  font-size: .79rem !important;
  font-weight: 600 !important;
  color: var(--c-white) !important;
  background: var(--c-teal-dk) !important;
  border: 1.5px solid var(--c-teal-dk) !important;
  border-radius: var(--r-pill, 999px) !important;
  cursor: pointer !important;
  transition: none !important;
  white-space: nowrap !important;
  letter-spacing: .01em !important;
  text-shadow: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  margin: 0 4px 0 0 !important;
}
.btn-action-green-dark:hover {
  color: var(--c-white) !important;
  background: var(--c-teal-dk) !important;
  border-color: var(--c-teal-dk) !important;
  box-shadow: none !important;
}

/* Statistiques */
.table_content { padding: 8px 0 4px; }

.stat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  border-bottom: 1px solid var(--c-g50);
  transition: background .15s;
}
.stat-row:last-child { border-bottom: none; }
.stat-row:hover { background: var(--c-g50); }

.dashboard-label {
  font-size: .83rem;
  font-weight: 500;
  color: var(--c-g500);
  line-height: 0.5;
}

.dashboard-value {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--c-navy);
  letter-spacing: -.02em;
  min-width: 32px;
  text-align: right;
  line-height: 0.5;
}

.stat-row > span:only-of-type {
}

/* Footer */
footer {
  background: var(--c-frost);
  border-top: 1px solid var(--c-g200);
}
.horizontal-sep { display: none; }
.footer {
  padding: 20px 0;
  font-size: .72rem;
  color: var(--c-g300);
  text-align: center;
  letter-spacing: .02em;
}

/* Overlay */
#overlay {
  position: fixed; inset: 0;
  background: rgba(7,20,41,.55);
  backdrop-filter: blur(4px);
  z-index: 999;
}

/* Responsive */

@media (max-width: 960px) {
  .ui-grid-a { grid-template-columns: 1fr; }

  .menu_navigation > nav > ul {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .menu_navigation > nav > ul::-webkit-scrollbar { display: none; }
  .menu_navigation > nav > ul > li > a { flex-shrink: 0; }

  #submenu { flex-wrap: wrap; gap: 20px 0; }
  .nav-columns {
    flex: 1 1 30%;
    min-width: 180px;
    border-right: none;
    padding-right: 16px;
  }
}

@media (max-width: 680px) {
  .container { padding: 0 16px; }

  #top_header_l1 .container { height: 54px; }
  .header-link-btn { padding: 6px 12px; font-size: .74rem; }

  #top_header_l2 .right_header_l1 { display: none; }
  .title { margin-right: 10px; }

  #menu .container { padding: 0; }
  .menu_navigation > nav > ul {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    padding: 0 8px;
    height: 56px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .menu_navigation > nav > ul::-webkit-scrollbar { display: none; }
  .menu_navigation > nav > ul > li > a {
    padding: 0 14px;
    flex-shrink: 0;
  }

  #submenu {
    left: 16px;
    right: 16px;
    padding: 18px 16px 22px;
    flex-direction: column;
    gap: 18px;
  }
  .nav-columns {
    flex: none;
    width: 100%;
    min-width: 0;
    padding: 0;
  }

  .main-container { padding: 20px 0 40px; }
  .panel-body { padding: 13px 16px; margin-bottom: 20px; }
  .stat-row { padding: 10px 16px; }
  .table_header { padding: 14px 16px 12px; flex-wrap: wrap; gap: 8px; }
  .stat-row > span { font-size: 1.15rem; }
}

/* Carte bloc */
.table_global {
  background: var(--c-white);
  border: 1px solid var(--c-g100);
  border-top: 3px solid var(--c-teal);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-sm);
  margin-bottom: 20px;
  overflow: hidden;
}
.table_global .table_header { background: var(--c-snow); }
.table_global .table_title { display: flex; align-items: center; }

/* Panneau de filtres */
#panel-filter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 28px;
  padding: 22px 24px;
}
.col-2 { min-width: 0; }
.grid-col-container { display: flex; align-items: center; gap: 10px; }
.grid-col-item-label {
  flex: 0 0 200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.grid-col-item-label .search-label,
.grid-col-item-label .form-label { text-align: left; }
.grid-col-item-label::after { content: ":"; color: var(--c-g500); flex: none; }
.grid-col-item-value { flex: 1; min-width: 0; }
.search-label, .form-label {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--c-g600);
}
.recherche-page .search-label, .recherche-page .form-label {
  font-size: 1.52rem !important;
  font-weight: 600 !important;
  color: var(--c-g600);
}
.fRight { text-align: right; }

/* Supprime la bordure du wrapper jQuery Mobile ui-input-text */
#panel-filter .ui-input-text,
.grid-title .ui-input-text,
.ui-block-d .ui-input-text {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Widget select jQuery Mobile (remplace le <select> natif caché) */
#panel-filter .ui-select,
.grid-title .ui-select {
  display: inline-block !important;
  margin: 0 !important;
}
#panel-filter .ui-select { width: 100% !important; display: block !important; }
#panel-filter .ui-select .ui-btn,
.grid-title .ui-select .ui-btn {
  background: var(--c-snow) !important;
  border: 1.5px solid var(--c-g200) !important;
  border-radius: var(--r-md) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  padding: 9px 36px 9px 13px !important;
  font-size: .88rem !important;
  color: var(--c-ink) !important;
  margin: 0 !important;
  text-align: left !important;
  font-weight: 400 !important;
}
#panel-filter .ui-select .ui-btn { width: 100% !important; }
#panel-filter .ui-select .ui-btn:focus,
#panel-filter .ui-select .ui-btn:hover,
.grid-title .ui-select .ui-btn:focus,
.grid-title .ui-select .ui-btn:hover {
  border-color: var(--c-teal) !important;
  background: var(--c-white) !important;
  box-shadow: 0 0 0 3px rgba(88,146,117,.12) !important;
}

#panel-filter input[type="text"],
#panel-filter select,
input.input-small, input.input-medium, input.input-large, input.input-very-large,
input.phone, input.dateCalendar,
select.select-medium, .select-medium select {
  width: 100%;
  padding: 9px 13px;
  font-family: inherit;
  font-size: .88rem;
  color: var(--c-ink);
  background: var(--c-snow);
  border: 1.5px solid var(--c-g200);
  border-radius: var(--r-md);
  outline: none;
  transition: var(--t);
}
#panel-filter input[type="text"]:focus,
#panel-filter select:focus,
input.input-small:focus, input.input-medium:focus,
input.input-large:focus, input.input-very-large:focus,
input.phone:focus, input.dateCalendar:focus,
select.select-medium:focus {
  border-color: var(--c-teal);
  background: var(--c-white);
  box-shadow: 0 0 0 3px rgba(88,146,117,.12);
}

.table_actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 24px 18px;
}

#panel-filter fieldset, .ui-grid-b fieldset { border: none; }
#panel-filter .col-2 { display: block; width: 100%; padding: 0; }
#panel-filter table, #panel-filter table tbody, #panel-filter table tr,
.grid-title table, .grid-title table tbody, .grid-title table tr {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  border: none;
}
#panel-filter table td, .grid-title table td {
  display: inline-flex;
  padding: 0;
  margin: 0;
  position: relative;
}
input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
#panel-filter table label, .grid-title table label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 18px !important;
  margin: 0 !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--c-g600) !important;
  cursor: pointer !important;
  border: 1.5px solid var(--c-g200) !important;
  border-radius: var(--r-md) !important;
  background: var(--c-white) !important;
  white-space: nowrap !important;
  transition: color .15s ease, background .15s ease, border-color .15s ease !important;
}
#panel-filter table label:hover,
.grid-title table label:hover,
input[type="radio"] + label:hover,
input[type="radio"] + label:focus {
  color: var(--c-teal);
  border-color: var(--c-teal);
  background: var(--c-teal-lt);
}
#panel-filter table input[type="radio"]:checked + label,
.grid-title table input[type="radio"]:checked + label {
  color: var(--c-white);
  background: var(--c-teal);
  border-color: var(--c-teal);
}
/* Neutralise le text-shadow jQuery Mobile (重影) et gère l'état sélectionné via ui-radio-on */
#panel-filter table label.ui-btn,
.grid-title table label.ui-btn {
  text-shadow: none !important;
  box-shadow: none !important;
}
#panel-filter table label.ui-radio-on,
.grid-title table label.ui-radio-on {
  color: var(--c-white) !important;
  background: var(--c-teal) !important;
  border-color: var(--c-teal) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

/* Boutons */
.col-btn {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 6px 24px 4px;
}
.ui-btn, a.ui-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid var(--c-g200);
  color: var(--c-g600);
  background: var(--c-white);
  transition: var(--t);
  white-space: nowrap;
}
.ui-btn:hover { border-color: var(--c-g300); background: var(--c-g50); color: var(--c-g700); }
.ui-btn.ui-icon-search, .ui-btn.ui-icon-plus, .ui-btn.ui-icon-check {
  background: var(--c-teal);
  border-color: var(--c-teal);
  color: var(--c-white);
}
.ui-btn.ui-icon-search:hover, .ui-btn.ui-icon-plus:hover, .ui-btn.ui-icon-check:hover {
  background: var(--c-teal-dk);
  border-color: var(--c-teal-dk);
  color: var(--c-white);
  box-shadow: 0 4px 12px rgba(88,146,117,.3);
}

fieldset[style*="float:right"] {
  border: none;
  margin-bottom: 12px;
  display: flex;
  justify-content: flex-end;
}

/* Tableaux de donn�es */
.ui-datatable { width: 100% !important; }
.ui-datatable-tablewrapper { overflow-x: auto !important; }
.ui-datatable table { width: 100% !important; border-collapse: collapse !important; font-size: .85rem !important; }
.ui-datatable thead th {
  text-align: center !important;
  padding: 13px 14px !important;
  background: var(--c-g50) !important;
  color: var(--c-g700) !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  border-bottom: 2px solid var(--c-g100) !important;
  border-right: 1px solid var(--c-g200) !important;
  border-top: none !important;
  border-left: none !important;
  white-space: nowrap !important;
}
.ui-datatable thead th:last-child { border-right: none !important; }
body .ui-datatable table thead tr th.ui-state-active,
body .ui-datatable .ui-datatable-sticky table thead tr th.ui-state-active {
  background-color: var(--c-teal-lt) !important;
  color: var(--c-teal-dk) !important;
}
body .ui-datatable table thead tr th.ui-state-hover,
body .ui-datatable .ui-datatable-sticky table thead tr th.ui-state-hover {
  background-color: var(--c-teal-lt) !important;
  color: var(--c-teal-dk) !important;
}
.ui-datatable tbody td {
  padding: 13px 14px !important;
  border-bottom: 1px solid var(--c-g100) !important;
  border-right: 1px solid var(--c-g100) !important;
  border-top: none !important;
  border-left: none !important;
  color: var(--c-g600) !important;
  vertical-align: middle !important;
  background: transparent !important;
}
.ui-datatable tbody td:last-child { border-right: none !important; }
.ui-datatable tbody tr:last-child td { border-bottom: none !important; }
.ui-datatable-odd td { background: var(--c-snow) !important; }
.ui-datatable-data tr:hover td { background: var(--c-teal-lt) !important; }
.ui-sortable-column-icon { display: none; }
.ui-datatable-footer {
  padding: 12px 16px;
  font-size: .78rem;
  font-weight: 500;
  color: var(--c-g400);
  background: var(--c-g50);
  border-top: 1px solid var(--c-g100);
}
.ui-datatable-empty-message td {
  text-align: center !important;
  padding: 32px 16px !important;
  color: var(--c-g400);
  font-style: italic;
}

[data-role="collapsible"] h4 { display: none; }
[data-role="collapsible"] ul { display: flex; flex-wrap: wrap; gap: 6px; }
[data-role="collapsible"] .ui-btn {
  padding: 6px 12px;
  font-size: .74rem;
  min-width: 130px;
  justify-content: center;
}

/* Encart solde */
.display_points_cde {
  background: linear-gradient(135deg, var(--c-teal) 0%, var(--c-teal-dk) 100%);
  border-radius: var(--r-xl);
  padding: 20px 24px;
  color: var(--c-white);
  box-shadow: 0 8px 24px rgba(88,146,117,.25);
}
.dpc_text_parr { font-size: .82rem; opacity: .92; display: block; margin-bottom: 6px; text-shadow: none !important; }
.dpc_points { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; text-shadow: none !important; }

/* Version compacte dans l'en-t�te "Suivi de mes commissions" */
.display_points_cde.solde-inline {
  order: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  border-radius: var(--r-md);
  box-shadow: none;
}
.solde-inline .dpc_text_parr { margin: 0; font-size: .75rem; max-width: 200px; line-height: 1.2; }
.solde-inline .dpc_points { font-size: 1.1rem; }

/* Formulaires */
.font-subtitle {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-teal);
  margin-bottom: 6px;
}
.col-1.height-50 { padding: 18px 24px 4px; }
.col-1 .horizontal-sep { display: block; height: 1px; background: var(--c-g100); margin-top: 8px; }
.table_content.empty_cell { padding: 6px 0 14px; border: none;}

.ui-grid-a { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.ui-grid-b.grid-title {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 3px 12px;
}
.block-title, .ui-block-a.block-title {
  flex: 0 0 200px !important;
  width: 200px !important;
  font-size: .85rem;
  font-weight: 500;
  color: var(--c-g500);
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  white-space: normal;
}
.block-title:not(:empty)::after {
  content: ":";
  color: var(--c-g500);
  flex: none;
}
.block-title > label, .block-title .form-label { text-align: left; }
.ui-grid-b .ui-block-d {
  flex: 1 !important;
  min-width: 0 !important;
  font-size: .9rem;
  font-weight: 600;
  color: var(--c-g700);
}
.ui-block-d.block-title { font-weight: 500; color: var(--c-g500); flex: 0 0 auto; }

.icon-title {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-teal);
  padding: 16px 24px 8px;
}
.form-note { padding: 0 24px; }
textarea.noteTextArea, .form-note textarea {
  width: 100%;
  padding: 11px 14px;
  font-family: inherit;
  font-size: .9rem;
  color: var(--c-ink);
  background: var(--c-snow);
  border: 1.5px solid var(--c-g200);
  border-radius: var(--r-md);
  outline: none;
  resize: vertical;
  min-height: 90px;
  transition: var(--t);
}
textarea.noteTextArea:focus, .form-note textarea:focus {
  border-color: var(--c-teal);
  background: var(--c-white);
  box-shadow: 0 0 0 3px rgba(88,146,117,.12);
}
.blue-button {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  background: var(--c-teal) !important;
  color: var(--c-white) !important;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: var(--t);
  margin: 8px 24px;
  text-decoration: none;
  text-shadow: none !important;
  box-shadow: none !important;
}
.blue-button:hover { background: var(--c-teal-dk) !important; box-shadow: 0 4px 12px rgba(88,146,117,.3); }
.hidden,
.ui-grid-a.hidden,
.ui-grid-b.hidden,
.ui-grid-c.hidden,
.ui-grid-b.grid-title.hidden {
  display: none !important;
}

.radio-threebloc,
.radio-foorbloc,
.radio-fivebloc {
  width: auto !important;
  flex: 1 1 auto;
}

.grid-title table label,
#panel-filter table label {
  white-space: normal !important; 
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Cartes produits */
.titre-menu-produit {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--c-ink);
  letter-spacing: -.02em;
  margin: 26px 0 14px;
}
.headline-menu-produit {
  display: grid;
  grid-template-columns: repeat(auto-fill, 210px);
  gap: 16px;
  margin-bottom: 8px;
}
.headline-menu-produit-col {
  width: 205px !important;
}
.headline-menu-produit-col-bg {
  display: block;
  position: relative;
  height: 130px;
  background-size: cover;
  background-position: center;
  border: 2px solid var(--c-teal);
  border-radius: var(--r-lg);
  overflow: hidden;
  cursor: pointer;
  box-shadow: var(--sh-sm);
  transition: var(--t);
}
.headline-menu-produit-col-bg:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
.headline-menu-produit-col-bg > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.headline-menu-produit-col-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(11,31,62,.78) 0%, rgba(11,31,62,.1) 55%, transparent 100%);
}
.headline-menu-produit-col-titre {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 16px;
  z-index: 1;
}
.headline-menu-produit-col-titre h2 { font-size: 1rem; font-weight: 700; color: var(--c-white); text-shadow: none !important; }

/* Responsive listings/formulaires */
@media (max-width: 760px) {
  #panel-filter { grid-template-columns: 1fr; gap: 12px; padding: 18px 16px; }
  .grid-col-container { flex-direction: column; align-items: stretch; gap: 5px; }
  .grid-col-item-label { flex: none; text-align: left; }
  .col-btn { flex-direction: column; padding: 8px 16px; }
  .ui-btn { justify-content: center; }
  .ui-grid-a { grid-template-columns: 1fr; gap: 0; }
  .ui-grid-b.grid-title { flex-direction: column !important; align-items: stretch !important; gap: 5px !important; padding: 9px 16px; }
  .block-title, .ui-block-a.block-title { flex: none !important; width: auto !important; }
  .col-1.height-50, .icon-title, .form-note { padding-left: 16px; padding-right: 16px; }
}

/* Titre principal de page */
.font-main-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--c-ink);
  letter-spacing: -.02em;
}
.panel .panel-body { border-left: 4px solid var(--c-teal); }
.panel-titre { background: none;}

/* Bouton retour */
.table_header { position: relative; }

/* Grille de d�tail 4 colonnes */
.ui-grid-c {
  display: grid;
  grid-template-columns: 200px 1fr 200px 1fr;
  gap: 10px 18px;
  align-items: baseline;
  padding: 6px 24px;
}
.ui-grid-c:first-of-type { padding-top: 16px; }
.ui-grid-c .block-title,
.col-1 .block-title,
.col-2 .block-title,
.col-3 .block-title {
  font-size: .82rem;
  font-weight: 600;
  color: var(--c-g500);
}
.ui-grid-c .form-label, .col-1 .form-label, .col-2 .form-label, .col-3 .form-label { color: var(--c-g500); }
.ui-grid-c .ui-block-b,
.ui-grid-c .ui-block-d {
  font-size: .9rem;
  font-weight: 600;
  color: var(--c-g700);
  width: 100%;
}

.col-1,
.col-2,
.col-3 {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 10px 18px;
  align-items: baseline;
  padding: 6px 24px;
}
.col-1 .ui-block-b, .col-1 .ui-block-d,
.col-2 .ui-block-b, .col-2 .ui-block-d,
.col-3 .ui-block-b, .col-3 .ui-block-d {
  font-size: .9rem;
  font-weight: 600;
  color: var(--c-g700);
}

.font-tab-subtitle {
  padding: 18px 24px 4px;
  font-size: .9rem;
  font-weight: 700;
}
.font-tab-subtitle .font-blue-title { color: var(--c-teal); }
hr {
  border: none;
  border-top: 1px solid var(--c-g100);
  margin: 16px 24px;
}

/* Onglets */
.tabs { padding: 0; }

/* Barre de navigation — couvre à la fois la structure custom (.tab-nav)
   et la structure jQuery Mobile ([data-role="navbar"] + .ui-navbar) */
.tab-nav,
[data-role="tabs"] [data-role="navbar"],
[data-role="tabs"] .ui-navbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  padding: 0 24px !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 2px solid var(--c-g100) !important;
  background: var(--c-snow) !important;
  box-shadow: none !important;
  margin: 0 !important;
}

/* jQuery Mobile enveloppe les liens dans un <ul> — on le remet à plat */
[data-role="tabs"] [data-role="navbar"] ul,
[data-role="tabs"] .ui-navbar ul {
  display: contents !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

[data-role="tabs"] [data-role="navbar"] li,
[data-role="tabs"] .ui-navbar li {
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  height: 45px;
}

/* Liens / boutons des onglets — neutralise le style .ui-btn de jQuery Mobile */
.tab-nav a, .tab-nav button,
[data-role="tabs"] [data-role="navbar"] a,
[data-role="tabs"] .ui-navbar a {
  appearance: none !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  background: none !important;
  background-image: none !important;
  padding: 13px 18px !important;
  margin-bottom: -2px !important;
  font-family: inherit !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  color: var(--c-g500) !important;
  cursor: pointer !important;
  text-shadow: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transition: var(--t) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.tab-nav a:hover, .tab-nav button:hover,
[data-role="tabs"] [data-role="navbar"] a:hover,
[data-role="tabs"] .ui-navbar a:hover {
  color: var(--c-g700) !important;
  background: none !important;
  background-image: none !important;
}
.tab-nav a.active, .tab-nav button.active,
[data-role="tabs"] [data-role="navbar"] a.ui-btn-active,
[data-role="tabs"] .ui-navbar a.ui-btn-active {
  color: var(--c-teal) !important;
  border-bottom-color: var(--c-teal) !important;
  background: none !important;
  background-image: none !important;
}

/* Panneaux des onglets — neutralise le fond jQuery Mobile (.ui-body-d) */
[data-role="tabs"] .ui-content,
[data-role="tabs"] .ui-body-d {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 14px 0 18px !important;
  margin: 0 !important;
}

.tab-panel { display: none; padding: 14px 0 18px; }
.tab-panel.active { display: block; }
.tab-empty { padding: 28px 24px; color: var(--c-g400); font-style: italic; }

/* Tableau simple */
.order-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.order-table-header {
  text-align: left;
  padding: 13px 14px;
  background: var(--c-g50);
  color: var(--c-g700);
  font-weight: 700;
  font-size: 1.02rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 2px solid var(--c-g100);
  white-space: nowrap;
}
.order-table td { padding: 13px 14px; border-bottom: 1px solid var(--c-g100); color: var(--c-g600); }
.order-table tr:last-child td { border-bottom: none; }
.order-table-even-row { background: var(--c-snow); }
.order-table tbody tr:hover { background: var(--c-teal-lt); }

/* Mise en page fiche avec sidebar */
.table_center { }
.devis-layout { display: grid; grid-template-columns: 1fr 300px; gap: 22px; align-items: start; }
.table_right { min-width: 0; }
#sidebar { width: 100%; margin-bottom: 18px; }
.menu-droite-produit, .bloc-droite {
  background: var(--c-white);
  border: 1px solid var(--c-g100);
  border-top: 3px solid var(--c-teal);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-sm);
  padding: 20px;
}
.menu-droite-produit h3, .bloc-droite h3, .ui-bar h3 {
  font-size: .95rem;
  font-weight: 800;
  color: var(--c-ink);
  margin-bottom: 12px;
}
p.telephone { font-size: 1.25rem; font-weight: 800; color: var(--c-teal); margin: 4px 0; }
p.horaires { font-size: .78rem; color: var(--c-g500); line-height: 1.5; margin: 6px 0; }
p.telephone-prix { font-size: .82rem; margin-top: 8px; }
.lien-contact { color: var(--c-teal) !important; font-weight: 600; }
.lien-contact:hover { color: var(--c-teal) !important; text-decoration: underline; }
.bloc-droite a { color: var(--c-teal) !important; font-size: .82rem; }
.bloc-droite a:hover { text-decoration: underline; }
.bloc-droite .ui-bar.ui-bar-a { border: none !important; background: none !important; box-shadow: none !important; padding: 0; margin-bottom: 8px; }
.bloc-droite .ui-body.ui-body-a { border: none !important; background: none !important; box-shadow: none !important; padding: 0; }

.my-tooltip-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--c-teal-lt); color: var(--c-teal);
  font-size: .7rem; font-weight: 700; margin-left: 6px;
}
.my-tooltip-btn::before { content: 'i'; font-style: italic; }


/* Responsive fiches */
@media (max-width: 860px) {
  .devis-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ui-grid-c { grid-template-columns: 1fr; gap: 2px 0; padding: 8px 16px; }
  .ui-grid-c .ui-block-b, .ui-grid-c .ui-block-d { margin-bottom: 8px; }
  .col-1, .col-2, .col-3 { grid-template-columns: 1fr; gap: 2px 0; padding: 8px 16px; }
  .tab-nav,
  [data-role="tabs"] [data-role="navbar"],
  [data-role="tabs"] .ui-navbar { padding: 0 8px !important; overflow-x: auto; }
  [data-role="tabs"] [data-role="navbar"] ul,
  [data-role="tabs"] .ui-navbar ul { flex-wrap: nowrap; }
  .order-table thead { display: none; }
  .font-tab-subtitle { padding: 16px 16px 4px; }
  hr { margin: 12px 16px; }
}

.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-input-text {
	clear: none;
    float: left;
    border-radius: var(--r-md);
}

.progressBar span {
	background-color: var(--c-teal);
}

.margin-14 {
	margin-left: 14px;
	margin-right: 14px;
}

/* Ic�nes PNG (loupe, plus) � la place des SVG */
.icon-img { width: 14px; height: 14px; object-fit: contain; display: block; flex-shrink: 0; }
.btn-action .icon-img { width: 13px; height: 13px; }
.header-search-icon .icon-img { width: 14px; height: 14px; }

/* Recherche */
.recherche-page { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 40px 20px; }
.recherche-wrap #panel-filter-flat { grid-template-columns: 1fr; min-width: 500px; border: none;}
.recherche-wrap .btn-action { font-size: 1.09rem !important; }
.recherche-intro { padding: 18px 24px 0; color: var(--c-g500); }
.recherche-sep { border: none; border-top: 1px solid var(--c-g100); margin: 6px 24px 18px; }
.recherche-empty {
  margin: 0 24px 22px;
  padding: 14px 16px;
  text-align: center;
  font-size: 1.05rem;
  font-style: italic;
  color: var(--c-g400);
  background: var(--c-g50);
  border: 1px solid var(--c-g100);
  border-radius: var(--r-md);
}
.recherche-results { padding: 0 24px 24px; }
.recherche-messages { display: block; margin: 0 24px 12px; }
.recherche-form-input {
	padding: 6px;
	margin-left: 13px;
	border: 1px solid #d6d6d6;
	border-radius: var(--r-md);
    background: var(--c-snow);
	color: #757575;
}

/* Rétrécit un champ réponse spécifique pour coller le tooltip suivant */
.ui-grid-b .ui-block-d.block-response-shrink {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* Bloc montant total (page tarif) */
.display_montant_total {
  display: inline-flex !important;
  align-items: stretch !important;
  width: auto !important;
  height: auto !important;
  float: none !important;
  border: 2px solid var(--c-teal) !important;
  border-radius: var(--r-lg) !important;
  background: var(--c-white) !important;
  overflow: hidden !important;
}
.display_montant_total .dpc_text {
  display: flex !important;
  align-items: center !important;
  float: none !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 10px 14px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: var(--c-teal-dk) !important;
}
.display_montant_total .dpc_montant {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background-color: var(--c-teal) !important;
  color: var(--c-white) !important;
  line-height: 1 !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  padding: 10px 16px !important;
  text-shadow: none !important;
}

/* Tableau des garanties — neutralise le fond image GIF de l'ancien thème */
#garanties-table th {
  background: var(--c-g50) !important;
  background-image: none !important;
  color: var(--c-g700) !important;
  text-shadow: none !important;
  border-left: 1px solid var(--c-g100) !important;
  font-family: inherit !important;
  font-size: .85rem !important;
  padding: 12px 8px !important;
}
#garanties-table th.selected {
  background: var(--c-teal) !important;
  background-image: none !important;
  color: var(--c-white) !important;
}
#garanties-table td.selected {
  background: var(--c-teal-lt) !important;
  background-image: none !important;
}
#garanties-table tr:nth-child(2n+1) td.selected {
  background: var(--c-teal-lt) !important;
  background-image: none !important;
}
#garanties-table tbody tr:nth-child(2n+1) td {
  background-color: var(--c-g50) !important;
}

/* Language switcher */
.switch-lang {
  position: relative;
  margin-left: 0;
  z-index: 600;
}
.current-lang {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: var(--c-teal-dk);
  border-radius: var(--r-md);
  cursor: pointer;
  height: 28px;
  box-sizing: border-box;
}
.current-lang .lang-flag {
  width: 16px;
  height: auto;
  flex-shrink: 0;
}
.current-lang .lang-text {
  margin: 0;
  font-size: .72rem;
  font-weight: 600;
  color: var(--c-white);
  line-height: 1;
}
.lang-dropdown {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  padding-top: 4px;
  background: var(--c-white);
  border: 1px solid var(--c-g200);
  border-radius: var(--r-md);
  box-shadow: var(--sh-sm);
  min-width: 120px;
  z-index: 500;
  overflow: hidden;
}
.switch-lang:hover .lang-dropdown { display: block; }
.selecting-lang { display: block; }
.lang-link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: .78rem;
  font-weight: 500;
  color: var(--c-g600);
  transition: background .15s;
  text-decoration: none;
}
.lang-link:hover { background: var(--c-teal-lt); color: var(--c-teal-dk); }
.lang-link .lang-flag {
  width: 16px;
  height: auto;
  flex-shrink: 0;
}
.lang-link .lang-text {
  margin: 0;
  font-size: .78rem;
  color: inherit;
  line-height: 1;
}

.col-3-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 15px;
    width: 100%; 
}

.row-container .col-3 {
    flex: 1;
}

#nombreSinistrePrincipalDiv > .ui-block-d:last-child,
#nombreSinistreSecondaireDiv > .ui-block-d:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
}

.slider-nombre-sinistre-auto .ui-slider-handle,
.slider-nombre-enfant-sante .ui-slider-handle,
.slider-nombre-sinistre-habitation .ui-slider-handle {
    background: var(--c-teal) !important;
    border-color: var(--c-teal-dk) !important;
    outline: none !important;
}

input.dateCalendar {
    min-width: 130px !important;
}

#panel-filter .ui-select .ui-btn.ui-btn-icon-left,
.grid-title .ui-select .ui-btn.ui-btn-icon-left {
    padding-left: 36px !important; /* Laisse suffisamment d'espace pour l'icône */
}

.ui-selectmenu .ui-listview .ui-btn,
.ui-popup .ui-listview .ui-btn,
.ui-selectmenu a.ui-btn {
    border-radius: 0 !important; /* Supprime l'effet pilule (999px) */
    margin: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}

.ui-selectmenu .ui-header .ui-btn {
    border-radius: 999px !important; 
}

/* Applique le style de bordure à la classe input-very-small et à tous les autres champs texte dans les grilles */
.grid-title input[type="text"],
.ui-block-d input[type="text"],
input.input-very-small,
input.input-coefficient {
  width: 100%;
  padding: 9px 13px;
  font-family: inherit;
  font-size: .88rem;
  color: var(--c-ink);
  background: var(--c-snow);
  border: 1.5px solid var(--c-g200);
  border-radius: var(--r-md);
  outline: none;
  transition: var(--t);
  box-sizing: border-box;
}

/* Style lors du clic (focus) */
.grid-title input[type="text"]:focus,
.ui-block-d input[type="text"]:focus,
input.input-very-small:focus,
input.input-coefficient:focus {
  border-color: var(--c-teal);
  background: var(--c-white);
  box-shadow: 0 0 0 3px rgba(88,146,117,.12);
}

input.input-very-small,
input.input-coefficient {
    width: 100px !important;
    min-width: 100px !important;
}

.ui-block-d.block-response-shrink.align-center-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--c-g500);
    margin-top: 0 !important;
}

.text-suffix {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--c-g700);
    height: 38px;
    vertical-align: middle;
}