/* Liste des clients et sélection pour une transaction. */
.clients-page .main-product {
   min-height: 680px;
   align-items: flex-start;
}

.clients-page .find-box {
   max-width: 1180px;
}

.clients-page .clients-panel {
   padding: clamp(24px, 4vw, 46px);
}

.clients-page .find-box h1 {
   font-size: clamp(30px, 5vw, 46px);
}

.clients-page .clients-content {
   margin-top: 26px;
}

.clients-page .clients-searches {
   display: inline-block;
   width: calc(50% - 8px);
   vertical-align: top;
}

.clients-page .clients-searches + .clients-searches {
   margin-right: 12px;
}

.clients-page .clients-search-form {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 8px;
}

.clients-page .clients-search-form input {
   min-width: 0;
   min-height: 52px;
   padding: 10px 16px;
   color: #102a43;
   font-size: 16px;
   text-align: right;
   background: #f8fbff;
   border: 1px solid #cbd9e6;
   border-radius: 11px;
   outline: none;
}

.clients-page .clients-search-form input:focus {
   background: #fff;
   border-color: #147ac1;
   box-shadow: 0 0 0 4px rgba(20, 122, 193, .12);
}

.clients-page .clients-search-form button {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 7px;
   min-width: 92px;
   min-height: 52px;
   padding: 10px 16px;
   color: #fff;
   font-weight: 700;
   background: #147ac1;
   border: 0;
   border-radius: 11px;
}

.clients-page .clients-view-switch {
   margin-top: 14px;
}

.clients-page .clients-view-switch .form-sh a.btn {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 9px;
   min-height: 50px;
   color: #075a98;
   background: #edf6fc;
   border: 1px solid #bcd9ed;
   border-radius: 11px;
}

.clients-page .clients-totals {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin: 16px 0;
}

.clients-page .clients-total {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   padding: 14px 18px;
   color: #16415f;
   background: #f1f7fb;
   border: 1px solid #d5e3ed;
   border-radius: 12px;
}

.clients-page .clients-total strong {
   direction: ltr;
   color: #075a98;
   font-size: 18px;
}

.clients-page .clients-total-approved {
   background: #f0faf6;
   border-color: #c4e7d6;
}

.clients-page .clients-total-approved strong {
   color: #167452;
}

.clients-page .clients-table {
   overflow: hidden;
   border: 1px solid #d5e2ec;
   border-radius: 14px;
}

.clients-page .clients-table-head,
.clients-page .client-row {
   display: grid;
   grid-template-columns: 45% 30% 25%;
}

.clients-page .clients-table-head {
   color: #fff;
   font-size: 14px;
   font-weight: 700;
   background: #315f87;
}

.clients-page .clients-table-head > div,
.clients-page .client-cell {
   min-width: 0;
   padding: 13px 14px;
   text-align: center;
   border-left: 1px solid rgba(0, 0, 0, .1);
   overflow-wrap: anywhere;
}

.clients-page .clients-table-head > div:last-child,
.clients-page .client-cell:last-child {
   border-left: 0;
}

.clients-page .client-row-wrap + .client-row-wrap {
   border-top: 1px solid #dce6ee;
}

.clients-page .client-row {
   color: #243b53;
   background: #fff;
   transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.clients-page .client-row:hover,
.clients-page .client-row:focus {
   position: relative;
   z-index: 1;
   color: #102a43;
   text-decoration: none;
   box-shadow: 0 8px 20px rgba(7, 32, 62, .14);
   filter: brightness(.98);
}

.clients-page .client-row-validated { background: #e8f8e5; }
.clients-page .client-row-pending { background: #fff0f0; }
.clients-page .client-row-mixed { background: #e5f8fc; }
.clients-page .client-row-neutral { background: #fff; }

.clients-page .client-partner {
   color: #c83232;
   font-weight: 700;
}

.clients-page .clients-totals-footer {
   margin-top: 18px;
}

.clients-page .clients-actions {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin-top: 14px;
}

.clients-page .clients-actions .form-sh a.btn {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 9px;
   min-height: 54px;
   color: #49657d;
   background: #eef3f7;
   border: 1px solid #d4e0ea;
   border-radius: 11px;
}

.clients-page .clients-actions .form-sh a.clients-logout-btn {
   color: #a12f35;
   background: #fff6f6;
   border-color: #edc8ca;
}

@media (max-width: 767px) {
   .clients-page .clients-searches {
      display: block;
      width: 100%;
   }

   .clients-page .clients-searches + .clients-searches {
      margin-top: 10px;
      margin-right: 0;
   }

   .clients-page .clients-totals,
   .clients-page .clients-actions {
      grid-template-columns: 1fr;
   }

   .clients-page .clients-table {
      overflow: visible;
      border: 0;
   }

   .clients-page .clients-table-head {
      display: none;
   }

   .clients-page .client-row-wrap + .client-row-wrap {
      margin-top: 10px;
      border-top: 0;
   }

   .clients-page .client-row {
      display: block;
      padding: 8px 14px;
      border: 1px solid #d5e2ec;
      border-radius: 12px;
   }

   .clients-page .client-cell {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      padding: 9px 0;
      text-align: left;
      border-left: 0;
      border-bottom: 1px solid rgba(0, 0, 0, .08);
   }

   .clients-page .client-cell:last-child {
      border-bottom: 0;
   }

   .clients-page .client-cell::before {
      content: attr(data-label);
      flex: 0 0 auto;
      color: #627d98;
      font-weight: 700;
   }
}

@media (max-width: 420px) {
   .clients-page .clients-panel {
      padding: 26px 14px;
   }

   .clients-page .clients-search-form button {
      min-width: 72px;
      padding-inline: 12px;
   }
}

@media (prefers-reduced-motion: reduce) {
   .clients-page .client-row {
      transition: none;
   }
}
