* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}
label,
input[type="text"],
input[type="checkbox"],
input[type="password"],
input[type="number"],
span,
span[role="textbox"] {
  height: calc(1.2rem + 2px);
  vertical-align: middle;
  padding-top: 0;
  padding-bottom: 0;
}
textarea[type="text"] {
  height: calc(2rem + 2px);
  vertical-align: middle;
  padding-top: 0;
  padding-bottom: 0;
}
pre {
  padding-bottom: 0;
  margin-bottom: 0;
}
.rowthin {
  height: calc(1.4rem + 2px);
}
.col-form-label {
  padding-top: 0;
  padding-bottom: 0;
}
.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: #dc3545;
  padding-right: 0;
  background-image: none;
}
.btn-light.tbethin,
.btn-info.tbethin,
.btn-warning.tbethin,
.btn-success.tbethin,
.btn-dark.tbethin,
.btn-primary.tbethin,
.btn-secondary.tbethin,
.btn-link.tbethin,
.btn-danger.tbethin {
  padding: 0rem 0.1rem;
  line-height: 1.2;
}
.tbedisabled {
  background-color: #eee;
}
.tbeinactive {
  background-color: grey;
}
.inputpicker-multiple ul {
  height: calc(1.2rem + 2px);
}
.inputpicker-multiple ul > li.inputpicker-element {
  margin: 0;
  padding: 0;
}
.column2_1 {
  float: left;
  width: 33%;
  padding: 10px;
}
.column2_2 {
  float: left;
  width: 67%;
  padding: 10px;
}
.column2_12 {
  float: left;
  width: 25%;
  padding: 10px;
}
.column2_22 {
  float: left;
  width: 75%;
  padding: 10px;
}
.column4_1 {
  float: left;
  width: 24%;
  padding: 10px;
}
.column4_2 {
  float: left;
  width: 24%;
  padding: 10px;
}
.column4_3 {
  float: left;
  width: 24%;
  padding: 10px;
}
.column4_4 {
  float: left;
  width: 28%;
  padding: 10px;
}
.row:after {
  content: "";
  display: table;
  clear: both;
}
.el_after:after {
  content: "";
  display: table;
  clear: both;
}
.el_input {
  position: absolute;
  left: 100px;
  top: 0;
  width: auto;
}
.el_div {
  position: relative;
  left: 100px;
  top: 0;
  height: 20px;
}
.el_col1 {
  position: absolute;
  left: 0;
  top: 0;
  float: left;
  width: 300px;
}
.el_col2 {
  position: absolute;
  left: 310px;
  top: 0;
  float: left;
  width: 290px;
}
.el_col3 {
  position: absolute;
  left: 600px;
  top: 0;
  float: left;
  width: 290px;
}
.el_col4 {
  position: absolute;
  left: 900px;
  top: 0;
  float: left;
  width: 290px;
}
.padding0 {
  padding: 0;
  margin-bottom: 0;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  height: calc(1.2rem + 2px);
}
.inputpicker-wrapped-list .table {
  overflow-y: scroll;
  flex-grow: 1;
}
.inputpicker-wrapped-list .table > thead > tr > td,
.inputpicker-wrapped-list .table > thead > tr > th {
  position: sticky;
  top: 0;
  padding: 3px 5px 3px 5px;
  text-align: center;
}
.inputpicker-wrapped-list .table {
  border-collapse: collapse;
  width: 100%;
}
.inputpicker-wrapped-list .table > thead > tr > th {
  background: var(--primary);
  color: #fff;
}
.inputpicker-wrapped-list {
  background-color: #dfe9f4;
}
.tbe-sent-frame {
  background-color: #17a2b8;
}
.tbe-light-green {
  color: #fff;
  background-color: #6ed356;
  border-color: #6ed356;
}

/* Styles pour améliorer l'ajustement de la modale */
.modal-xl-custom {
  max-width: 95vw;
  width: 95vw;
}

.modal-content-custom {
  height: 90vh;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

.modal-header-custom {
  flex-shrink: 0;
  border-bottom: 1px solid #dee2e6;
  padding: 1rem;
}

.modal-body-custom {
  flex: 1;
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.nav-tabs-custom {
  flex-shrink: 0;
  margin: 0;
  padding: 0 1rem;
  border-bottom: 1px solid #dee2e6;
}

.tab-content-custom {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

.tab-pane-custom {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.tab-pane-custom.active {
  display: flex !important;
}

.controle-options-container {
  flex: 1;
  overflow-y: auto;
  max-height: calc(90vh - 250px);
}

.tab-navigation {
  flex-shrink: 0;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #dee2e6;
}

.modal-footer-custom {
  flex-shrink: 0;
  border-top: 1px solid #dee2e6;
  padding: 1rem;
}

/* Amélioration des tableaux */
.table-container {
  margin-bottom: 2rem;
}

.table-sm td {
  padding: 0.5rem;
  vertical-align: middle;
}

.form-check-input {
  position: static;
  margin: 0 auto;
}

/* Responsive */
@media (max-width: 768px) {
  .modal-xl-custom {
    max-width: 98vw;
    width: 98vw;
  }

  .modal-content-custom {
    height: 95vh;
    max-height: 95vh;
  }

  .controle-options-container {
    max-height: calc(95vh - 300px);
  }
}

/* Scrollbar personnalisée */
.controle-options-container::-webkit-scrollbar,
.tab-content-custom::-webkit-scrollbar {
  width: 8px;
}

.controle-options-container::-webkit-scrollbar-track,
.tab-content-custom::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.controle-options-container::-webkit-scrollbar-thumb,
.tab-content-custom::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

.controle-options-container::-webkit-scrollbar-thumb:hover,
.tab-content-custom::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Signature sections */
.signature-section {
  margin-bottom: 2rem;
  padding: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  background-color: #f8f9fa;
}
