body {
  min-height: 0 !important;
}

body.topbar-theme-background .top-navbar {
  background-color: #566676;
  background-image: var(--pw-topbar-bg-image, url("../images/bg-material.png"));
  background-position: center;
  background-size: cover;
}

body.topbar-theme-background.test-site .top-navbar {
  background-color: #963646;
  background-image: var(--pw-topbar-bg-image-test, url("../images/bg-material-test.png"));
  background-position: center;
  background-size: cover;
}

body.authentication-bg-pattern {
  background-image: var(--pw-auth-bg-image, url("../images/bg-material.png"));
}

body.authentication-bg-pattern.test-site {
  background-image: var(--pw-auth-bg-image-test, url("../images/bg-material-test.png"));
}

.content-page {
  padding-bottom: 15px;
}

.hidden {
  display: none;
}

/* ==== display type ==== */
body.display-publisher .left-side-menu {
  display: none;
}

body.display-publisher .content-page {
  margin-left: 0 !important;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

body.display-publisher .section-page-title {
  display: none;
}

body.display-publisher .section-page-content {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
body.display-publisher .section-page-content > .col-12 {
  padding-left: 0;
  padding-right: 0;
}

body.display-publisher .section-page-content .section-page-content-body {
  padding: 10px;
}

body.display-publisher .content-page .content .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

body.display-publisher .section-menu-toggle {
  display: none;
}

body.display-publisher .section-topbar-notifications {
  display: none;
}

body.display-publisher .section-topbar-pending-changes {
  display: none;
}

.navbar-brand .top-label {
  font-size: 14px;
  float: left;
  line-height: 22px;
  padding: 12px 12px 12px 0;
}
.navbar-brand .top-logo {
  float: left;
  margin-top: 5px;
  height: 60px;
}

/* ==== icons ==== */
.gender-icon {
  font-size: 20px;
}

.action-icon.edit-btn:hover {
  color: #6658dd;
}
.action-icon.availability-btn:hover {
  color: #4a81d4;
}
.action-icon.timeoff-btn:hover {
  color: #f7b84b;
}
.action-icon.delete-btn:hover {
  color: #cd485c;
}

.pw-availability-preview-tooltip .tooltip-inner {
  max-width: 360px;
  text-align: left;
}

.pw-av-preview-title {
  font-weight: 700;
  margin-bottom: 8px;
}

.pw-av-preview-section {
  margin-bottom: 8px;
}

.pw-av-preview-section:last-child {
  margin-bottom: 0;
}

.pw-av-preview-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: 6px;
  padding-right: 6px;
}

.pw-av-preview-section-title .badge {
  margin-left: 8px;
}

.pw-av-preview-row {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.pw-av-preview-row:last-child {
  margin-bottom: 0;
}

.pw-av-preview-muted {
  opacity: 0.8;
}

.pw-av-preview-badge-shift {
  margin-right: 4px;
}

.pw-av-preview-date {
  font-weight: 600;
}

.search {
  position: relative;
  box-shadow: 0 0 40px rgba(51, 51, 51, 0.1);
}
.search input {
  /*height: 60px;*/
  text-indent: 23px;
  border: 2px solid #d6d4d4;
}
.search .mdi-magnify {
  position: absolute;
  top: 2px;
  left: 10px;
  font-size: 24px;
  color: #859099;
}

/* ==== Select2 Arrow ==== */

/* This makes the custom arrow rotate. */
.select2-container--open .select2-selection__arrow {
  transform: rotate(180deg) !important;
}
/* arrow container */
.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 35px;
  top: 50%;
  right: 0;
  width: 35px;
  margin-top: -17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
}

/* Keep secondary label readable on highlighted Select2 rows */
.select2-container--default
  .select2-results__option--highlighted[aria-selected]
  small.text-muted {
  color: #fff !important;
}

/* the arrow itself */
.select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  background-image: url(https://cdn4.iconfinder.com/data/icons/user-interface-174/32/UIF-76-512.png);
  background-color: transparent;
  background-size: contain;
  border: none !important;
  height: 20px !important;
  width: 20px !important;
  margin: auto !important;
  top: auto !important;
  left: auto !important;
}

/* == Colorized Select 2 ==== */

.select2-container li.select2-results__option.colorized {
  padding: 0;
}
.select2-container li.select2-results__option.colorized > span {
  display: block;
  padding: 6px;
}

.select2-container
  .select2-selection--single
  .select2-selection__rendered.colorized {
  padding-left: 0;
  padding-right: 30px;
}
.select2-container .select2-selection__rendered.colorized > span {
  display: block;
  padding-left: 8px;
}

.select2-container .select2-selection__rendered.colorized > span.op-primary,
.select2-container li.select2-results__option.colorized > span.op-primary {
  background-color: #e3e1f9;
  color: #7a58df;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-primary,
.select2-container
  li.select2-results__option.colorized
  > span.op-primary:hover {
  background-color: #6658dd;
  color: #ffffff;
}

.select2-container .select2-selection__rendered.colorized > span.op-success,
.select2-container li.select2-results__option.colorized > span.op-success {
  background-color: #d6f3ed;
  color: #57bca7;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-success,
.select2-container
  li.select2-results__option.colorized
  > span.op-success:hover {
  background-color: #1abc9c;
  color: #ffffff;
}

.select2-container .select2-selection__rendered.colorized > span.op-info,
.select2-container li.select2-results__option.colorized > span.op-info {
  background-color: #dff5fa;
  color: #76c0e2;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-info,
.select2-container li.select2-results__option.colorized > span.op-info:hover {
  background-color: #4fc6e1;
  color: #ffffff;
}

.select2-container .select2-selection__rendered.colorized > span.op-warning,
.select2-container li.select2-results__option.colorized > span.op-warning {
  background-color: #fef2df;
  color: #f7b86c;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-warning,
.select2-container
  li.select2-results__option.colorized
  > span.op-warning:hover {
  background-color: #f7b84b;
  color: #343a40;
}

.select2-container .select2-selection__rendered.colorized > span.op-danger,
.select2-container li.select2-results__option.colorized > span.op-danger {
  background-color: #fce0e4;
  color: #f25592;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-danger,
.select2-container li.select2-results__option.colorized > span.op-danger:hover {
  background-color: #f1556c;
  color: #ffffff;
}

.select2-container .select2-selection__rendered.colorized > span.op-blue,
.select2-container li.select2-results__option.colorized > span.op-blue {
  background-color: #dee8f7;
  color: #4a8ede;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-blue,
.select2-container li.select2-results__option.colorized > span.op-blue:hover {
  background-color: #4a81d4;
  color: #ffffff;
}

.select2-container .select2-selection__rendered.colorized > span.op-pink,
.select2-container li.select2-results__option.colorized > span.op-pink {
  background-color: #fde6ef;
  color: #f772a7;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-pink,
.select2-container li.select2-results__option.colorized > span.op-pink:hover {
  background-color: #f672a7;
  color: #ffffff;
}

.select2-container .select2-selection__rendered.colorized > span.op-secondary,
.select2-container li.select2-results__option.colorized > span.op-secondary {
  background-color: #e4e6e8;
  color: #6c757d;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-secondary,
.select2-container
  li.select2-results__option.colorized
  > span.op-secondary:hover {
  background-color: #6c757d;
  color: #ffffff;
}

/* == Locations colors == */
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-none,
.select2-container li.select2-results__option.colorized > span.op-loc-col-none {
  background-color: #ffffff;
  color: #6c757d;
}
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-none,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-none:hover,
.avatar-title.loc-col-none {
  background-color: #f1f1f1;
  color: #6c757d;
}
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-blue,
.select2-container li.select2-results__option.colorized > span.op-loc-col-blue,
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-blue,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-blue:hover,
.avatar-title.loc-col-blue {
  background-color: #0069b4;
  color: #ffffff;
}
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-green,
.select2-container li.select2-results__option.colorized > span.op-loc-col-green,
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-green,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-green:hover,
.avatar-title.loc-col-green {
  background-color: #009640;
  color: #ffffff;
}
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-orange,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-orange,
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-orange,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-orange:hover,
.avatar-title.loc-col-orange {
  background-color: #f07d00;
  color: #ffffff;
}
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-pink,
.select2-container li.select2-results__option.colorized > span.op-loc-col-pink,
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-pink,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-pink:hover,
.avatar-title.loc-col-pink {
  background-color: #cf3772;
  color: #ffffff;
}
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-yellow,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-yellow,
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-yellow,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-yellow:hover,
.avatar-title.loc-col-yellow {
  background-color: #ffdd00;
  color: #000000;
}
.select2-container
  .select2-selection__rendered.colorized
  > span.op-loc-col-turquoise,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-turquoise,
.select2-container
  li.select2-results__option.colorized[aria-selected='true']
  > span.op-loc-col-turquoise,
.select2-container
  li.select2-results__option.colorized
  > span.op-loc-col-turquoise:hover,
.avatar-title.loc-col-turquoise {
  background-color: #40e0d0;
  color: #000000;
}

.pw-list-btn .btn.loc-col-none {
  background-color: #eceff1;
  color: #323a46;

  --ct-btn-link-color: #ffffff;
  --ct-btn-link-hover-color: #d1d4d6;

  border-color: #eceff1;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(157, 159, 160, 0.4);
  box-shadow: var(--ct-btn-box-shadow) rgba(157, 159, 160, 0.4);
}
.pw-list-btn .btn.loc-col-none:hover {
  background-color: #d1d4d6;
  border-color: #d1d4d6;
}
.pw-list-btn .btn.loc-col-blue {
  background-color: #0069b4;
  color: #ffffff;

  --ct-btn-link-color: #116fb2;
  --ct-btn-link-hover-color: #005999;

  border-color: #0069b4;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(0, 105, 180, 0.5);
  box-shadow: var(--ct-btn-box-shadow) rgba(0, 105, 180, 0.5);
}
.pw-list-btn .btn.loc-col-blue:hover {
  background-color: #005796;
  border-color: #005796;
}
.pw-list-btn .btn.loc-col-green {
  background-color: #009640;
  color: #ffffff;

  --ct-btn-link-color: #0e9346;
  --ct-btn-link-hover-color: #007a32;

  border-color: #009640;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(0, 150, 64, 0.5);
  box-shadow: var(--ct-btn-box-shadow) rgba(0, 150, 64, 0.5);
}
.pw-list-btn .btn.loc-col-green:hover {
  background-color: #007a32;
  border-color: #007a32;
}
.pw-list-btn .btn.loc-col-orange {
  background-color: #f07d00;
  color: #ffffff;

  --ct-btn-link-color: #ef8717;
  --ct-btn-link-hover-color: #d66e00;

  border-color: #f07d00;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(240, 125, 0, 0.5);
  box-shadow: var(--ct-btn-box-shadow) rgba(240, 125, 0, 0.5);
}
.pw-list-btn .btn.loc-col-orange:hover {
  background-color: #d66e00;
  border-color: #d66e00;
}
.pw-list-btn .btn.loc-col-pink {
  background-color: #cf3772;
  color: #ffffff;

  --ct-btn-link-color: #ce4c80;
  --ct-btn-link-hover-color: #b53065;

  border-color: #cf3772;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(207, 55, 114, 0.5);
  box-shadow: var(--ct-btn-box-shadow) rgba(207, 55, 114, 0.5);
}
.pw-list-btn .btn.loc-col-pink:hover {
  background-color: #b53065;
  border-color: #b53065;
}
.pw-list-btn .btn.loc-col-yellow {
  background-color: #ffdd00;
  color: #000000;

  --ct-btn-link-color: #ffe019;
  --ct-btn-link-hover-color: #e5c600;

  border-color: #ffdd00;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(255, 221, 0, 0.5);
  box-shadow: var(--ct-btn-box-shadow) rgba(255, 221, 0, 0.5);
}
.pw-list-btn .btn.loc-col-yellow:hover {
  background-color: #e5c600;
  border-color: #e5c600;
}
.pw-list-btn .btn.loc-col-turquoise {
  background-color: #40e0d0;
  color: #000000;

  --ct-btn-link-color: #56e4d6;
  --ct-btn-link-hover-color: #31c6b8;

  border-color: #40e0d0;

  -webkit-box-shadow: var(--ct-btn-box-shadow) rgba(64, 224, 208, 0.5);
  box-shadow: var(--ct-btn-box-shadow) rgba(64, 224, 208, 0.5);
}
.pw-list-btn .btn.loc-col-turquoise:hover {
  background-color: #31c6b8;
  border-color: #31c6b8;
}

.select2-container li.select2-results__option > span.grouped {
  padding-left: 22px;
}

.select2.select2-container .selection .select2-selection {
  border-color: #ced4da;
  padding-bottom: 7px;
  padding-top: 6px;
  padding-left: 6px;
  height: 39px;
}

.sel-colorpicker .select2.select2-container .selection .select2-selection {
  height: 39px;
  padding: 0;
}
.sel-colorpicker
  .select2.select2-container
  .selection
  .select2-selection
  .select2-selection__rendered.colorized
  > span {
  padding-bottom: 7px;
  padding-top: 6px;
  padding-left: 15px;
}

.select2.select2-container
  .selection
  .select2-selection
  .select2-selection__rendered:not(.colorized)
  > span {
  color: #6c757d;
}

.was-validated .custom-select:invalid + .select2 .select2-selection {
  border-color: #dc3545 !important;
  padding-right: 4.95rem;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f1556c'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f1556c' stroke='none'/%3e%3c/svg%3e");
  background-position: center right 2.7rem;
  background-size: calc(0.75em + 0.45rem) calc(0.75em + 0.45rem);
}

.was-validated .custom-select:valid + .select2 .select2-selection {
  border-color: #1abc9c !important;
  padding-right: 4.95rem;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231abc9c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-position: center right 2.7rem;
  background-size: calc(0.75em + 0.45rem) calc(0.75em + 0.45rem);
}

/* ==== addedit_schedule_shift_modal ==== */
#addedit_schedule_shift_modal
  .select2-container
  .select2-results__option[aria-disabled='true'] {
  display: none;
}

#addedit_schedule_shift_modal
  .select2.select2-container
  .selection
  .select2-selection {
  padding: 0;
}

#addedit_schedule_shift_modal .select2-container,
#addedit_schedule_shift_modal .select2-selection,
#addedit_schedule_shift_modal .select2-selection .select2-selection__rendered,
#addedit_schedule_shift_modal .select2-selection .select2-selection__arrow {
  height: 37px;
  line-height: 35px;
}

#addedit_schedule_shift_modal .select2-container .select2-dropdown {
  line-height: 21px;
}

#downloadScheduleBtn,
#contactPublishersBtn,
#schedulePublishBtn {
  padding-top: 5px;
  padding-bottom: 3px;
}

#schedulePublishBtn {
  width: 105px;
}
#schedulePublishBtn[data-status='published'] {
  cursor: not-allowed;
}

/* ==== week Group ==== */
.sel-group {
  display: inline-block;
  font-size: 0;
  white-space: nowrap;
}
.sel-group label,
.sel-group .select2 {
  font-size: 14px;
}

.sel-group label {
  vertical-align: middle;
  margin-right: 10px;
  height: 39px;
  line-height: 39px;
  min-width: 90px;
}

.sel-group .form-select {
  width: 250px;
}
.sel-group .select2-selection {
  border-radius: 0;
  border-color: #6658dd;
  border-left: 0;
  border-right: 0;
  box-shadow: none;
}

.sel-group .select2.select2-container .selection .select2-selection,
.sel-group
  .select2.select2-container
  .selection
  .select2-selection
  .select2-selection__rendered,
.sel-group
  .select2.select2-container
  .selection
  .select2-selection
  .select2-selection__arrow {
  height: 37px;
  line-height: 35px;
}

.sel-group .select2.select2-container .selection .select2-selection {
  padding-top: 0;
  padding-bottom: 0;
}

.sel-group button.btn:first-of-type {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.sel-group button.btn:last-of-type {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.sel-group button.btn:focus {
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* ==== schedule-grid ==== */
.schedule-grid tr > th:first-child {
  width: 50px;
}
.schedule-grid td {
  width: 100px;
}
.schedule-grid ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* ==== availabilities-grid ==== */
.availabilities-grid tbody tr:hover td.text-bg-danger {
  /*background-color: #FCE0E4 !important;*/
  background-color: #ef7a8b !important;
  /*color: #343a40 !important;*/
}
.availabilities-grid tbody tr:hover td.text-bg-warning {
  /*background-color: #FEF2DF !important;*/
  background-color: #efc98f !important;
  /*color: #343a40 !important;*/
}

/* Première colonne (th) - Même comportement striped et hover */
.availabilities-grid tbody tr:nth-of-type(odd) th:first-child {
  background-color: #f8f9fa !important; /* Gris clair pour lignes impaires */
}
.availabilities-grid tbody tr:nth-of-type(even) th:first-child {
  background-color: #ffffff !important; /* Blanc pour lignes paires */
}

/* Hover sur la première colonne */
.availabilities-grid tbody tr:hover th:first-child {
  background-color: #e9ecef !important; /* Gris plus foncé au hover */
}

/* ==== DataTables ==== */
table.dataTable tbody tr {
  background-color: inherit;
}

.dataTables_wrapper {
  /*width: 500px;*/
  margin: 0 auto;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  /*color: #333;*/
  color: inherit;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  padding-left: 0;
  padding-right: 0;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button:focus,
.dataTables_wrapper .dataTables_paginate .paginate_button:focus-visible,
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
  background: none;
  border-color: transparent;
  box-shadow: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button a:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button a:focus,
.dataTables_wrapper .dataTables_paginate .paginate_button a:focus-visible,
.dataTables_wrapper .dataTables_paginate .paginate_button a:active {
  box-shadow: none;
}

.dataTables_wrapper .row:last-child {
  height: 52px;

  padding-top: 12px;
  padding-left: 3px;
  padding-right: 13px;
}

.dataTables_wrapper .row:last-child > div:first-child {
  position: absolute;
  bottom: 33px;
  left: 5px;
}
.dataTables_wrapper .row:last-child > div:last-child {
  position: absolute;
  bottom: 22px;
  right: 5px;
}

.dataTables_wrapper div.dataTables_length {
  display: none;
}

.dataTables_paginate {
  float: right;
}
.dataTables_paginate .pagination {
  margin-bottom: 0;
}

#congregationList .table-responsive,
#depotList .table-responsive,
#posterList .table-responsive,
#languageList .table-responsive,
#locationList .table-responsive,
#newList .table-responsive,
#questionList .table-responsive,
#shiftList .table-responsive,
#textList .table-responsive,
#trainingList .table-responsive,
#userList .table-responsive,
#publisherList .table-responsive {
  position: relative;
  overflow: auto;
  width: 100%;
  height: calc(100vh - 230px);
}

#congregationList .table-responsive .dataTables_wrapper > div.row,
#depotList .table-responsive .dataTables_wrapper > div.row,
#posterList .table-responsive .dataTables_wrapper > div.row,
#languageList .table-responsive .dataTables_wrapper > div.row,
#locationList .table-responsive .dataTables_wrapper > div.row,
#newList .table-responsive .dataTables_wrapper > div.row,
#questionList .table-responsive .dataTables_wrapper > div.row,
#shiftList .table-responsive .dataTables_wrapper > div.row,
#textList .table-responsive .dataTables_wrapper > div.row,
#trainingList .table-responsive .dataTables_wrapper > div.row,
#userList .table-responsive .dataTables_wrapper > div.row,
#publisherList .table-responsive .dataTables_wrapper > div.row {
  margin-left: 0;
  margin-right: 0;
}

#location_list th.location-address-cell,
#location_list td.location-address-cell {
  min-width: 220px;
  width: 260px;
  max-width: 320px;
}

#location_list td.location-address-cell .address-link {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}

table.dataTable tr.even.selected {
  background-color: #e9e8f7;
}
table.dataTable.table-striped > tbody > tr.even.selected > td,
table.dataTable tr.even.selected td {
  --ct-table-accent-bg: #e9e8f7;
  box-shadow: inset 0 0 0 9999px rgb(233, 232, 247);
  color: rgb(108, 117, 125);
}
table.dataTable.table-striped > tbody > tr.even.selected:hover > td,
table.dataTable tr.even.selected:hover td {
  background-color: #d6d4f4; /* #DDDCF7 */
  --ct-table-accent-bg: #d6d4f4;
  box-shadow: inset 0 0 0 9999px #d6d4f4;
  color: rgb(108, 117, 125);
}

table.dataTable tr.odd.selected {
  background-color: #e3e1f9;
}
table.dataTable.table-striped > tbody > tr.odd.selected > td,
table.dataTable tr.odd.selected td {
  --ct-table-accent-bg: #e3e1f9;
  box-shadow: inset 0 0 0 9999px rgb(227, 225, 249);
  color: rgb(108, 117, 125);
}

table.dataTable.table-striped > tbody > tr.odd.selected:hover > td,
table.dataTable tr.odd.selected:hover td {
  background-color: #d6d4f4; /* #DDDCF7 */
  --ct-table-accent-bg: #d6d4f4;
  box-shadow: inset 0 0 0 9999px #d6d4f4;
  color: rgb(108, 117, 125);
}

#poster_list tbody > tr {
  min-height: 129px;
}

/* ==== contact_us_modal ==== */
#contact_us_modal #contact_us_modal_body {
  height: 250px;
}

/* ==== contact_publishers_modal ==== */
#contact_publishers_modal #contact_publishers_modal_body {
  height: 250px;
}

/* ==== email_modal ==== */
#email_modal #email_modal_body {
  height: 250px;
}

/* ==== addedit_texts_modal ==== */
#addedit_texts_modal #addedit_texts_modal_body_fr,
#addedit_texts_modal #addedit_texts_modal_body_en {
  height: clamp(220px, 42vh, 360px);
}
#addedit_texts_modal #addedit_texts_modal_body_fr .ql-container,
#addedit_texts_modal #addedit_texts_modal_body_en .ql-container {
  height: calc(100% - 42px);
}
#addedit_texts_modal #addedit_texts_modal_body_fr .ql-editor,
#addedit_texts_modal #addedit_texts_modal_body_en .ql-editor {
  overflow-y: auto;
}
#addedit_texts_modal div.tags-container {
  min-height: 450px;
}

/* ==== addedit_help_sections_modal ==== */
#addedit_help_sections_modal .help-quill-container-fr > div,
#addedit_help_sections_modal .help-quill-container-en > div {
  height: clamp(340px, 56vh, 700px);
  display: flex;
  flex-direction: column;
}
#addedit_help_sections_modal #addedit_help_sections_modal_body_fr,
#addedit_help_sections_modal #addedit_help_sections_modal_body_en {
  flex: 1 1 auto;
  min-height: 0;
}
#addedit_help_sections_modal #addedit_help_sections_modal_body_fr .ql-editor,
#addedit_help_sections_modal #addedit_help_sections_modal_body_en .ql-editor {
  overflow-y: auto;
}

/* ==== addedit_news_modal ==== */
#addedit_news_modal #addedit_news_modal_body_fr,
#addedit_news_modal #addedit_news_modal_body_en {
  height: clamp(220px, 42vh, 360px);
}
#addedit_news_modal #addedit_news_modal_body_fr .ql-container,
#addedit_news_modal #addedit_news_modal_body_en .ql-container {
  height: calc(100% - 42px);
}
#addedit_news_modal #addedit_news_modal_body_fr .ql-editor,
#addedit_news_modal #addedit_news_modal_body_en .ql-editor {
  overflow-y: auto;
}
#addedit_news_modal div.tags-container {
  min-height: 0;
  margin-bottom: 0 !important;
}
#addedit_news_modal #addedit_news_modal_tags {
  max-height: 220px;
  overflow-y: auto;
}

/* ==== addedit_questions_modal ==== */
#addedit_questions_modal #addedit_questions_modal_body_fr,
#addedit_questions_modal #addedit_questions_modal_body_en {
  height: clamp(220px, 42vh, 360px);
}
#addedit_questions_modal #addedit_questions_modal_body_fr .ql-container,
#addedit_questions_modal #addedit_questions_modal_body_en .ql-container {
  height: calc(100% - 42px);
}
#addedit_questions_modal #addedit_questions_modal_body_fr .ql-editor,
#addedit_questions_modal #addedit_questions_modal_body_en .ql-editor {
  overflow-y: auto;
}
#addedit_questions_modal div.tags-container {
  min-height: 0;
  margin-bottom: 0 !important;
}
#addedit_questions_modal #addedit_questions_modal_tags {
  max-height: 220px;
  overflow-y: auto;
}

/* ==== addedit_locations_modal ==== */
#addedit_locations_modal div.quill-container {
  position: relative;
  height: 450px;
  margin-bottom: 90px !important;
}
#addedit_locations_modal div.quill-container > div {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* ==== addedit_depots_modal ==== */
#addedit_depots_modal div.quill-container {
  position: relative;
  height: 250px;
  margin-bottom: 90px !important;
}
#addedit_depots_modal div.quill-container > div {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* ==== bilingual subject display in listings ==== */
.subject-bilingual-cell {
  line-height: 1.2;
}
.subject-bilingual-cell .badge {
  min-width: 26px;
  text-align: center;
  font-size: 0.7rem;
}

/* ==== Selectize ==== */
.selectize-input {
  box-shadow: var(--ct-components-shadow-sm);
}
.selectize-input:focus,
.selectize-input.focus {
  box-shadow: none !important;
  border-color: #b9bfc4;
}

.was-validated .selectize-input {
  border-color: #1abc9c;
  padding-right: calc(1.5em + 0.9rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231abc9c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.225rem) center;
  background-size: calc(0.75em + 0.45rem) calc(0.75em + 0.45rem);
}
.was-validated .selectize-input.invalid {
  border-color: #f1556c;
  padding-right: calc(1.5em + 0.9rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f1556c'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f1556c' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.225rem) center;
  background-size: calc(0.75em + 0.45rem) calc(0.75em + 0.45rem);
}

/* ==== Schedules ==== */
.schedule-grid table .poster-line .poster {
  cursor: pointer;
}
.schedule-grid table .poster-line .poster.poster-disabled {
  background-color: #c7dce0;
  line-height: 36px;
  font-size: 36px;
  cursor: not-allowed;
  color: rgb(108, 117, 125);
}

.schedule-grid table .poster-line .poster.warning {
  background-color: #fdf1db;
}
.schedule-grid table .poster-line:hover td.poster.warning {
  background-color: #fdf1db !important;
}

.schedule-grid table .poster-line .poster > ul {
  list-style: none;
  padding-left: 0;
}

.schedule-grid table .poster-line .poster > ul > li,
.schedule-grid table .poster-selection-line .poster-selection > ul > li.schedule-poster-slot-row {
  display: flex;
  align-items: flex-start;
  gap: 4px;
}

.schedule-grid table .poster-line .poster .poster-model-icon,
.schedule-grid table .poster-selection-line .poster-selection .poster-model-icon {
  flex: 0 0 auto;
  margin-top: 2px;
}

.schedule-grid table .poster-line .poster .poster-model-label,
.schedule-grid table .poster-selection-line .poster-selection .poster-model-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.schedule-grid table .poster-selection-line .poster-selection > ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

#globalPostersTable .global-poster-equivalent-label {
  margin-top: 2px;
  font-style: italic;
  line-height: 1.25;
}

.schedule-grid table .poster-line:hover {
  --ct-table-hover-bg: rgba(247, 248, 249, 0.3);
}
.schedule-grid table .shift-line:hover {
  --ct-table-hover-bg: rgba(247, 248, 249, 0.5);
}

.schedule-grid table .shift-line .shift {
  cursor: pointer;
}
.schedule-grid table .shift-line .shift.warning {
  background-color: #fdf1db;
}
.schedule-grid table .shift-line .shift.shift-disabled {
  background-color: #eceff1;
  line-height: 36px;
  font-size: 36px;
  cursor: not-allowed;
}

.schedule-grid table .shift-line .shift {
  padding: 2px;
}
.schedule-grid table .shift-line .shift > ul {
  min-width: 166px;
}

li.pw-pub {
  /*padding: 3px;*/
  border-radius: 5px;
  margin: 3px;

  display: table;
  table-layout: fixed;
  width: calc(100% - 6px);
}
li.pw-pub.pub-sister {
  background-color: #fcf4f7;
}
li.pw-pub.pub-brother {
  background-color: #ebeef4;
}
li.pw-pub.pub-replacement {
  background-color: #fcf6ed;
}
li.pw-pub.pub-canceled {
  background-color: #fce0e4;
}
li.pw-pub.pub-timeoff {
  color: #f1556c;
}

li.pw-pub.text-success {
  color: #159b7e !important;
}

li.pw-pub.pub-canceled .pub-name-language .pub-language {
  display: none;
}

li.pw-pub .pub-name-language {
  display: table-cell;
  width: calc(100% - 30px);
  /*width: 100%;*/
  /*min-width: 130px;*/
  line-height: 26px;
  padding-left: 7px;
  padding-top: 3px;
  padding-bottom: 3px;
}
li.pw-pub .pub-name-language .pub-name,
li.pw-pub .pub-name-language .pub-language {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 100px;
}
li.pw-pub .pub-icon {
  display: table-cell;
  text-align: center;
  line-height: 26px;
  vertical-align: middle;
  width: 25px;
  height: 100%;
  padding-right: 3px;
  padding-top: 3px;
  padding-bottom: 3px;
}
li.pw-pub .pub-icon-container {
  display: block;
  float: right;
}

/* ==== Publisher Dashboard ==== */
#publisherDashboard .card.ribbon-box .ribbon {
  margin-left: 5px;
  line-height: 20px;
}

#publisherDashboard #sectionNews .card-body .card .card-header h5 {
  line-height: 24px;
}

#publisherDashboard #sectionNews .card-body .card .card-header a {
  vertical-align: middle;
  line-height: 32px;
}

#publisherDashboard #sectionNews .pw-news-article .card-body img {
  height: 100%;
  width: 100%;
  object-fit: scale-down;
}

#publisherDashboard #sectionQuestions .pw-questions-article .card-body img {
  height: 100%;
  width: 100%;
  object-fit: scale-down;
}

#adminDashboard .pw-section > .card-body > .header-title,
#publisherDashboard .pw-section > .card-body > .header-title {
  line-height: 20px;
}

#adminDashboard .pw-section tr.pw-replacement:last-child > td,
#publisherDashboard .pw-section tr.pw-assignment:last-child > td,
#publisherDashboard .pw-section tr.pw-replacement:last-child > td,
#publisherDashboard .pw-section tr.pw-availability:last-child > td,
#publisherDashboard .pw-section tr.pw-availability:last-child > th,
#publisherDashboard .pw-section tr.pw-timeoff:last-child > td {
  border-bottom: 0;
}

/* ==== Dashboard Locations Tab ==== */

#locations-content .sel-group label {
  display: block !important;
  line-height: 21px;
  height: 21px;
}

.pw-assignment-table,
.pw-replacement-table {
  padding-left: 0;
  padding-right: 0;
}

.pw-assignment-table .row.header,
.pw-replacement-table .row.header {
  line-height: 24px;

  padding-top: 8px;
  padding-bottom: 8px;

  margin-left: 0;
  margin-right: 0; /* Remplace l'inline style margin-right: 0px */

  margin-top: 20px;
  margin-bottom: 10px;

  border-bottom: 2px;
  border-bottom-style: solid;
}

.pw-assignment-table .row.header {
  background-color: #4171ae;
  color: #ffffff;
  border-bottom-color: #4171ae;
}

.pw-replacement-table .row.header {
  background-color: #ff7f00;
  color: #ffffff;
  border-bottom-color: #ff7f00;
}

.pw-assignment-table .pw-location-initials,
.pw-replacement-table .pw-location-initials {
  flex: 0 0 60px; /* Ne grandit pas, ne rétrécit pas, base de Xpx */
  max-width: 60px; /* Maximum de Xpx */
  text-align: center;
}
.pw-assignment-table .pw-location-address {
  position: relative;
}
.pw-assignment-table .pw-location-action,
.pw-replacement-table .pw-location-action {
  flex: 0 0 80px; /* Ne grandit pas, ne rétrécit pas, base de 80px */
  max-width: 80px; /* Maximum de 80px */
  text-align: center;
}

.pw-assignment-table .pw-assignment,
.pw-replacement-table .pw-replacement {
  padding: 5px;
  /*padding-top: 5px;*/
  margin-bottom: 5px;
  cursor: pointer;
}
.pw-assignment-table .pw-assignment:hover,
.pw-replacement-table .pw-replacement:hover {
  background-color: #f0f0f0; /* Couleur de fond plus sombre lors du survol */
  transition: background-color 0.3s ease; /* Animation douce de la transition de couleur */
}
.pw-assignment-table .pw-assignment:hover a.btn {
  background-color: #3f6eb4;
  border-color: #3f6eb4;
  color: #ffffff;
}

/*.pw-assignment.pw-urgent,*/
.pw-replacement.pw-urgent {
  background-color: #fcdde2;
  border-color: #e8cdd2;
}
/*.pw-assignment-table .pw-assignment.pw-urgent:hover,*/
.pw-replacement-table .pw-replacement.pw-urgent:hover {
  background-color: #edd1d6; /* Couleur de fond plus sombre lors du survol */
  transition: background-color 0.3s ease; /* Animation douce de la transition de couleur */
}

.pw-assignment-table .pw-assignment.pw-canceled {
  background-color: #fcdde2;
  border-color: #e8cdd2;
}
.pw-assignment-table .pw-assignment.pw-canceled:hover {
  background-color: #edd1d6; /* Couleur de fond plus sombre lors du survol */
  transition: background-color 0.3s ease; /* Animation douce de la transition de couleur */
}

.pw-assignment-table
  .pw-assignment.pw-canceled
  .pw-location-address
  h5
  .pw-location,
.pw-assignment-table
  .pw-assignment.pw-canceled
  .pw-location-address
  p.text-muted {
  color: #f1556c !important;
  text-decoration: line-through;
}
.pw-assignment-table
  .pw-assignment.pw-canceled
  .pw-location-address
  .pw-message {
  color: #f1556c !important;
  text-decoration: none;
  font-weight: bold;
  padding-right: 5px;
  height: calc(100% - 5px);
  vertical-align: middle;
}
.pw-assignment-table .pw-assignment.pw-canceled .pw-location-address div {
  display: inline-block;
}
.pw-assignment-table .pw-assignment.pw-canceled .pw-location-date-time p {
  color: #f1556c !important;
}
.pw-assignment-table .pw-assignment.pw-canceled .pw-location-action {
  padding-top: 2px;
}
.pw-assignment-table .pw-assignment.pw-canceled .pw-location-action i {
  font-size: 28px;
}

.pw-assignment-table .pw-assignment .pw-location-initials,
.pw-replacement-table .pw-replacement .pw-location-initials {
  padding-top: 3px;
}
.pw-assignment-table .pw-assignment .pw-location-action,
.pw-replacement-table .pw-replacement .pw-location-action {
  padding-top: 9px;
}
.pw-assignment-table .pw-assignment .pw-cart-action-label,
.pw-replacement-table .pw-replacement .pw-cart-action-label {
  padding-top: 8px;
  padding-bottom: 6px;
  padding-left: 8px;
  padding-right: 8px;
  margin-bottom: 2px;

  text-align: center;

  line-height: 24px;
  font-weight: bold;
  font-size: 14px;
}

.pw-assignment-table .pw-assignment .pw-cart-action-label i,
.pw-replacement-table .pw-replacement .pw-cart-action-label i {
  font-size: 31px;
  vertical-align: middle;
}

#adminDashboard .pw-replacement-table .pw-location-action {
  flex: 0 0 120px; /* Ne grandit pas, ne rétrécit pas, base de 80px */
  max-width: 120px; /* Maximum de 80px */
  text-align: center;
}

#publisherDashboard .card .card-body .card-buttons {
  position: absolute;
  top: 9px;
  right: 24px;
}

#publisherDashboard #sectionAvailability .card-body table tr th {
  vertical-align: middle;
}

#publisherDashboard #sectionTimeoff .card-body table tr th,
#publisherDashboard #sectionTimeoff .card-body table tr td {
  vertical-align: middle;
  line-height: 24px;
}

#locationDetails .tab-content .tab-pane .card {
  border-radius: 0 0 4px 4px;
  margin-left: 1px;
  margin-right: 1px;
}

#locationDetails .tab-content .tab-pane .card .card-body img {
  height: 100%;
  width: 100%;
  object-fit: scale-down;
  max-width: 600px;
}

#assignment_details_modal #assignment_details_modal_location .description img,
#assignment_details_modal #assignment_details_modal_depot .description img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  margin: 8px auto;
}

#assignment_details_modal #assignment_details_modal_location .description p,
#assignment_details_modal #assignment_details_modal_depot .description p,
#assignment_details_modal #assignment_details_modal_location .description div,
#assignment_details_modal #assignment_details_modal_depot .description div {
  margin-bottom: 0.5rem;
}

#assignment_details_modal
  #assignment_details_modal_posters
  tbody
  #assignment_details_modal
  #assignment_details_modal_shifts
  tbody {
  border-top: none;
}
#assignment_details_modal #assignment_details_modal_shifts tbody:hover {
  background-color: #f7f8f9;
}
#assignment_details_modal #assignment_details_modal_shifts tbody.current-shift {
  background-color: #e3e1f9;
}

#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.current-shift
  td.shift-time {
  font-weight: bold;
}
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.current-shift
  tr.current-publisher
  td {
  font-weight: bold;
}
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.current-shift
  tr.pw-replacement-details.current-publisher
  td {
  font-weight: bold;
  background-color: #f1556c;
  color: #ffffff;
}

#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.current-shift
  tr.pw-replacement-details.current-publisher
  td
  a {
  color: #ffffff;
}

#assignment_details_modal
  #assignment_details_modal_shifts
  tbody
  tr.pw-assignment-details.pw-note
  td,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody
  tr.pw-replacement-details.pw-note
  td {
  color: #6658dd;
}
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.current-shift
  tr.pw-assignment-details.pw-note
  td,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.current-shift
  tr.pw-replacement-details.pw-note
  td,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  tr.pw-assignment-details.pw-note
  td,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  tr.pw-replacement-details.pw-note
  td {
  color: #f1556c;
}

#assignment_details_modal #assignment_details_modal_shifts tbody.pw-canceled,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled.current-shift {
  background-color: #fce0e4;
}
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-name,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-language,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-phone,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-email,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-details {
  color: #f1556c;
  text-decoration: line-through;
}
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .shift-time,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-note,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-phone
  a,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-email
  a,
#assignment_details_modal
  #assignment_details_modal_shifts
  tbody.pw-canceled
  .pw-assignment-details
  .pw-publisher-details
  a {
  color: #f1556c;
}

#assignment_details_modal tr.pw-assignment-details td,
#assignment_details_modal tr.pw-replacement-details td {
  border-bottom: 0;
  padding: 8px;
}
#assignment_details_modal tr.pw-assignment-details.last,
#assignment_details_modal tr.pw-replacement-details.last {
  border-bottom: 1px solid #dee2e6;
}

#assignment_details_modal tr.pw-assignment-details:last-of-type,
#assignment_details_modal tr.pw-replacement-details:last-of-type,
#assignment_details_modal #assignment_details_modal_posters tr:last-of-type {
  border-bottom: 0;
}

#assignment_details_modal
  #assignment_details_modal_posters
  tr:last-of-type
  > td {
  border-bottom: 0;
}

#locationList .avatar-title,
#sectionAssignments .avatar-title,
#sectionLocationProblems .avatar-title,
#sectionReplacements .avatar-title {
  width: 36px;
  height: 36px;
}

#newList .avatar-title {
  height: 36px;
  padding-left: 5px;
  padding-right: 5px;
}

.table.pw-assignment-table {
  /*--ct-table-border-color: #386193;*/
  /*--ct-table-group-separator-color: #386193;*/
}
table.pw-assignment-table > thead > tr > th {
  border-bottom: 2px solid #4171ae;
}
.pw-assignment-head {
  border-bottom-color: #386193;
}
.pw-assignment-head > tr > th {
  background-color: #4171ae;
  color: #ffffff;
  border-bottom-color: #386193;
}

.table.pw-replacement-table {
  /*--ct-table-border-color: #E57710;*/
  /*--ct-table-group-separator-color: #E57710;*/
}
table.pw-replacement-table > thead > tr > th {
  border-bottom: 2px solid #ff7f00;
}
.pw-replacement-head {
  border-bottom-color: #e57710;
}
.pw-replacement-head > tr > th {
  background-color: #ff7f00;
  color: #ffffff;
}

.pw-assignment-table th.pw-location-initials,
.pw-replacement-table th.pw-location-initials {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 12px;
  width: 40px;
  text-align: center;
}
.pw-assignment-table th.pw-location-date-time,
.pw-replacement-table th.pw-location-date-time {
  white-space: nowrap;
  width: 160px;
}
.pw-assignment-table th.pw-location-depot,
.pw-replacement-table th.pw-location-depot {
  padding: 0;
  width: 75px;
  text-align: center;
}
.pw-assignment-table th.pw-location-action,
.pw-replacement-table th.pw-location-action {
  width: 50px;
}

#adminDashboard .pw-replacement-table th.pw-location-action {
  width: 100px;
}

.pw-emergency-contacts > ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.pw-emergency-contacts > ul > li.location > ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  padding-left: 23px;
}
.pw-emergency-contacts > ul > li.location .location-name {
  font-weight: bold;
  font-size: large;
}
.pw-emergency-contacts > ul > li.location .location-name > i {
  padding-right: 3px;
}
.pw-emergency-contacts > ul > li.location > ul > li.contact {
  margin-bottom: 5px;
  font-size: 15px;
}
.pw-emergency-contacts > ul > li.location > ul > li.contact i {
  padding-right: 3px;
}
.pw-emergency-contacts > ul > li.location > ul > li.contact .contact-name i {
  padding-right: 5px;
}
.pw-emergency-contacts > ul > li.location > ul > li.contact .contact-name {
  font-weight: bold;
}
.pw-emergency-contacts > ul > li.location > ul > li.contact .contact-name > a {
  color: #343a40;
}
.pw-emergency-contacts > ul > li.location > ul > li.contact .contact-email,
.pw-emergency-contacts > ul > li.location > ul > li.contact .contact-mobile {
  padding-left: 23px;
  margin-bottom: 5px;
}

/* ==== Publisher Footer ==== */
#dashboardFooter .navbar .nav-item .nav-link {
  color: rgba(255, 255, 255, 0.6);
}
#dashboardFooter .navbar .nav-item .nav-link.active {
  color: #00acc1;
}

body.publisher-mobile-footer-theme #dashboardFooter nav.navbar {
  width: 100%;
  background-color: #566676 !important;
  background-image: url("../images/bg-material.png");
  background-position: center;
  background-size: cover;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body.publisher-mobile-footer-theme.test-site #dashboardFooter nav.navbar {
  background-color: #963646 !important;
  background-image: url("../images/bg-material-test.png");
}

body.publisher-mobile-footer-theme #dashboardFooter .navbar .nav-item .nav-link {
  color: rgba(255, 255, 255, 0.85);
  border-radius: 0.35rem;
  margin: 0.2rem 0.25rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
body.publisher-mobile-footer-theme #dashboardFooter .navbar .nav-item .nav-link.active {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.14);
}

#dashboardFooter nav.navbar ul {
  /*max-width: 400px;*/
  display: table;
  padding: 0;
  margin: 0;
  width: 100%;
}

#dashboardFooter nav.navbar ul li {
  position: relative;
  text-align: center;
  display: table-cell;
  width: 33%;
}

#dashboardFooter nav.navbar .nav-item .nav-link-badge-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#dashboardFooter nav.navbar .nav-item .nav-link-badge-container .btn-container {
  position: relative;
  display: inline-block;
}

#dashboardFooter nav.navbar .nav-badge {
  position: absolute;
  top: 20px;
  left: 65%;
}

/* ==== Fonts ==== */
.font-30 {
  font-size: 30px !important;
}

.pw-widget.widget-rounded-circle .mdi:before {
  font-weight: lighter !important;
}

.pw-clickable-widget {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pw-clickable-widget:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
}

.pw-clickable-stat-link {
  border-radius: 0.4rem;
  transition: background-color 0.15s ease;
}

.pw-clickable-stat-link:hover {
  background-color: rgba(64, 81, 137, 0.06);
}

.pw-no-result {
  text-align: left !important;
}

.pw-list-btn {
  display: inline-block;
  position: relative;
  bottom: -1px;
}
.pw-list-btn .btn i {
  position: absolute;
  left: 8px;
  top: 3px;
}
.pw-list-btn .btn div {
  margin-left: 20px;
}
.pw-list-btn .btn div {
  margin-left: 20px;
}
.pw-list-btn .btn.loc-col-none div {
  margin-left: 0;
  width: 6px;
  height: 21px;
  color: rgba(0, 0, 0, 0);
}

.last-modified-by {
  margin-left: 5px;
  margin-top: 2px;
}
.last-modified-by i {
  padding-right: 4px;
}

.text-right {
  text-align: right !important;
}
.text-left {
  text-align: left !important;
}

div.pw-alert {
  position: absolute;
  top: 75px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
  z-index: 1000;
}

div.pw-alert .pw-alert-maintenance {
  background-color: #e3e1f9;
  font-size: 16px;
}
div.pw-alert .pw-alert-container {
  display: table;
}
div.pw-alert .pw-alert-container .pw-alert-icon {
  display: table-cell;
  text-align: center;
  line-height: 26px;
  vertical-align: middle;
  width: 25px;
  height: 100%;
  padding-right: 17px;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 32px;
}
div.pw-alert .pw-alert-containerpw-alert-msg {
  display: table-cell;
}

.jq-toast-question {
  border-style: solid;
  border-width: 1px;
  border-color: #dadddf;
}
.jq-toast-question .jq-toast-heading {
  margin-bottom: 12px;
}
.jq-toast-parent-btn-disabled {
  pointer-events: none;
}

.jq-toast-parent-modal-content {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(153, 157, 163, 0.75);
  z-index: 100;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Style pour l'icône ou le texte de chargement */
.overlay .loading-text {
  color: #000;
  font-size: 20px;
}

.overlay .spinner-border {
  margin-bottom: 10px;
}

.select2-selection__rendered.colorized > span {
  overflow: hidden;
}

#publishersListType > i {
  top: 0;
  left: 5.5px;
}
#publishersSelActionsBtn > i {
  top: 0;
  left: 5.5px;
}
#publishersSelActionsBtn > div {
  margin-left: 4px;
}

div.table-responsive.full-length {
  height: 100% !important;
  padding-bottom: 20px !important;
}

/* ==== Multiselect ==== */
.ms-container {
  background: transparent url('../images/icons/swap-horizontal.png') no-repeat
    center center;
  background-size: 40px auto;

  width: 100%;
  /*min-width: 370px;*/
  max-width: none;
}
.ms-container .ms-list {
  box-shadow: var(--ct-components-shadow-sm);
}

#filter_publishers_modal .ms-container .ms-list {
  /*height: 216px;*/
  /*height: 195px;*/
  height: 153px;
}
#filter_publishers_modal .ms-container .ms-selectable .search-input,
#filter_publishers_modal .ms-container .ms-selection .search-input {
  margin-bottom: 5px;
}

.pw-unselectable {
  -webkit-user-select: none; /* Chrome, Safari, Opera */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.strikeout {
  text-decoration: line-through;
}

/* ==== User View Modal ==== */
/* Styles pour le scroll personnalisé */
.user-list-container {
  max-height: 60vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #6c757d #f8f9fa;
}

.user-list-container::-webkit-scrollbar {
  width: 8px;
}

.user-list-container::-webkit-scrollbar-track {
  background: #f8f9fa;
  border-radius: 4px;
}

.user-list-container::-webkit-scrollbar-thumb {
  background: #6c757d;
  border-radius: 4px;
}

.user-list-container::-webkit-scrollbar-thumb:hover {
  background: #495057;
}

/* Style pour la barre de recherche avec bouton de suppression */
#user_view_modal .search {
  position: relative;
}

#user_view_modal .search input {
  padding-right: 40px;
}

/* Masquer le bouton de suppression natif du navigateur */
#user_view_modal .search input[type='search']::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

#user_view_modal .search input[type='search']::-ms-clear {
  display: none;
}

#user_view_modal .search .clear-search {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6c757d;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: none;
}

#user_view_modal .search .clear-search:hover {
  background-color: #e9ecef;
  color: #495057;
}

#user_view_modal .search .clear-search.show {
  display: block;
}

/* Search clear button for depot details page */
#depotDetails .search {
  position: relative;
}

#depotDetails .search input {
  padding-right: 40px;
}

#depotDetails .search input[type='search']::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

#depotDetails .search input[type='search']::-ms-clear {
  display: none;
}

#depotDetails .search .clear-search {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6c757d;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: none;
}

#depotDetails .search .clear-search:hover {
  background-color: #e9ecef;
  color: #495057;
}

#depotDetails .search .clear-search.show {
  display: block;
}

/* Search clear button for training details page */
#trainingDetails .search {
  position: relative;
}

#trainingDetails .search input {
  padding-right: 40px;
}

#trainingDetails .search input[type='search']::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

#trainingDetails .search input[type='search']::-ms-clear {
  display: none;
}

#trainingDetails .search .clear-search {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6c757d;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: none;
}

#trainingDetails .search .clear-search:hover {
  background-color: #e9ecef;
  color: #495057;
}

#trainingDetails .search .clear-search.show {
  display: block;
}

/* Search clear button for language details page */
#languageDetails .search {
  position: relative;
}

#languageDetails .search input {
  padding-right: 40px;
}

#languageDetails .search input[type='search']::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

#languageDetails .search input[type='search']::-ms-clear {
  display: none;
}

#languageDetails .search .clear-search {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6c757d;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: none;
}

#languageDetails .search .clear-search:hover {
  background-color: #e9ecef;
  color: #495057;
}

#languageDetails .search .clear-search.show {
  display: block;
}

#depotDetails #depotPostersTable .depot-poster-sortable {
  cursor: pointer;
  user-select: none;
}

#depotDetails #depotPostersTable .depot-poster-sortable:hover {
  color: #4a81d4;
}

#depotDetails #depotLocationsTable td.depot-location-initials .avatar-title {
  width: 36px;
  height: 36px;
  border-radius: 0.35rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

#depotDetails #depotLocationsTable th,
#depotDetails #depotLocationsTable td {
  vertical-align: middle;
}

#depotDetails #depotPublishersTable th:nth-child(11),
#depotDetails #depotPublishersTable th:nth-child(12),
#depotDetails #depotPublishersTable td:nth-child(11),
#depotDetails #depotPublishersTable td:nth-child(12),
#locationDetails #locationPublishersTable th:nth-child(11),
#locationDetails #locationPublishersTable th:nth-child(12),
#locationDetails #locationPublishersTable td:nth-child(11),
#locationDetails #locationPublishersTable td:nth-child(12) {
  text-align: center;
}

#locationDetails #locationPublishersTable .location-publisher-sortable {
  cursor: pointer;
  user-select: none;
}

#locationDetails #locationPublishersTable .location-publisher-sortable:hover {
  color: #4a81d4;
}

#locationDetails #locationResponsiblesTable .location-responsible-sortable {
  cursor: pointer;
  user-select: none;
}

#locationDetails #locationResponsiblesTable .location-responsible-sortable:hover {
  color: #4a81d4;
}

#locationDetails #locationCartModelsTable .location-cart-model-sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

#locationDetails #locationCartModelsTable .location-cart-model-sortable:hover {
  color: #4a81d4;
}

#locationDetails #locationPostersTable .location-poster-sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

#locationDetails #locationPostersTable .location-poster-sortable:hover {
  color: #4a81d4;
}

#depotDetails #depotPostersTable .mdi-swap-vertical.depot-sort-icon,
#locationDetails #locationPublishersTable .mdi-swap-vertical.location-sort-icon,
#locationDetails
  #locationResponsiblesTable
  .mdi-swap-vertical.location-responsible-sort-icon,
#locationDetails #locationCartModelsTable .mdi-swap-vertical.location-cart-model-sort-icon,
#locationDetails #locationPostersTable .mdi-swap-vertical.location-poster-sort-icon {
  color: #adb5bd;
  opacity: 0.75;
}

#depotDetails #depotPostersTable .mdi-arrow-up.depot-sort-icon,
#depotDetails #depotPostersTable .mdi-arrow-down.depot-sort-icon,
#locationDetails #locationPublishersTable .mdi-arrow-up.location-sort-icon,
#locationDetails #locationPublishersTable .mdi-arrow-down.location-sort-icon,
#locationDetails
  #locationResponsiblesTable
  .mdi-arrow-up.location-responsible-sort-icon,
#locationDetails
  #locationResponsiblesTable
  .mdi-arrow-down.location-responsible-sort-icon,
#locationDetails #locationCartModelsTable .mdi-arrow-up.location-cart-model-sort-icon,
#locationDetails #locationCartModelsTable .mdi-arrow-down.location-cart-model-sort-icon,
#locationDetails #locationPostersTable .mdi-arrow-up.location-poster-sort-icon,
#locationDetails #locationPostersTable .mdi-arrow-down.location-poster-sort-icon {
  color: inherit;
  opacity: 1;
}

#depotDetails #depot_tab_description img {
  max-width: 100%;
  height: auto;
}

#locationDetails #location_tab_description img {
  max-width: 100%;
  height: auto;
}

#locationDetails #location_tab_description .avatar-title {
  width: 36px;
  height: 36px;
  border-radius: 0.35rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

#locationDetails .card .card-body {
  padding-top: 0.85rem;
}

#locationDetails .location-tabs-toolbar {
  margin-bottom: 0.6rem !important;
}

#locationDetails .location-search-row {
  margin-bottom: 0.45rem !important;
}

#depotDetails .card .card-body {
  padding-top: 0.85rem;
}

#depotDetails .depot-tabs-toolbar {
  margin-bottom: 0.6rem !important;
}

#depotDetails .depot-search-row {
  margin-bottom: 0.45rem !important;
}

#trainingDetails .card .card-body {
  padding-top: 0.85rem;
}

#trainingDetails .training-tabs-toolbar {
  margin-bottom: 0.6rem !important;
}

#trainingDetails .training-search-row {
  margin-bottom: 0.45rem !important;
}

#depotDetails .nav-tabs .nav-link .badge {
  margin-left: 0.3rem !important;
  position: relative;
  top: -2px;
}

#depotDetails .nav-tabs .nav-link.active,
#depotDetails .nav-tabs .nav-link.active i {
  color: #727cf5 !important;
  opacity: 1;
}

/* ==== Liste scrollable des remplacements ==== */
.pw-replacement-list {
  max-height: 420px; /* Hauteur pour environ 5 remplacements (5 * 70px + 70px de marge) */
  overflow-y: auto;
  overflow-x: hidden; /* Empêcher le scroll horizontal */
  scrollbar-width: thin;
  scrollbar-color: #ff7f00 #f8f9fa;
  padding-right: 0;
}

.pw-replacement-list::-webkit-scrollbar {
  width: 8px;
}

.pw-replacement-list::-webkit-scrollbar-track {
  background: #f8f9fa;
  border-radius: 4px;
}

.pw-replacement-list::-webkit-scrollbar-thumb {
  background: #ff7f00;
  border-radius: 4px;
}

.pw-replacement-list::-webkit-scrollbar-thumb:hover {
  background: #e57710;
}

/* Empêcher le débordement horizontal des éléments internes */
.pw-replacement-list .pw-replacement {
  overflow-x: hidden;
  word-wrap: break-word;
}

.pw-replacement-list .pw-replacement .row {
  margin-left: 0;
  margin-right: 0;
}

.pw-replacement-list .pw-replacement .col {
  overflow: hidden;
  text-overflow: ellipsis;
}

.pw-replacement-list .pw-replacement .pw-location-address h5,
.pw-replacement-list .pw-replacement .pw-location-address p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pw-replacement-list .pw-replacement .pw-location-date-time p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==== Liste scrollable des assignations ==== */
.pw-assignment-list {
  max-height: 420px; /* Hauteur pour environ 5 assignations (5 * 70px + 70px de marge) */
  overflow-y: auto;
  overflow-x: hidden; /* Empêcher le scroll horizontal */
  scrollbar-width: thin;
  scrollbar-color: #4171ae #f8f9fa;
  padding-right: 0;
}

.pw-assignment-list::-webkit-scrollbar {
  width: 8px;
}

.pw-assignment-list::-webkit-scrollbar-track {
  background: #f8f9fa;
  border-radius: 4px;
}

.pw-assignment-list::-webkit-scrollbar-thumb {
  background: #4171ae;
  border-radius: 4px;
}

.pw-assignment-list::-webkit-scrollbar-thumb:hover {
  background: #386193;
}

/* Empêcher le débordement horizontal des éléments internes */
.pw-assignment-list .pw-assignment {
  overflow-x: hidden;
  word-wrap: break-word;
}

.pw-assignment-list .pw-assignment .row {
  margin-left: 0;
  margin-right: 0;
}

.pw-assignment-list .pw-assignment .col {
  overflow: hidden;
  text-overflow: ellipsis;
}

.pw-assignment-list .pw-assignment .pw-location-address h5,
.pw-assignment-list .pw-assignment .pw-location-address p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pw-assignment-list .pw-assignment .pw-location-date-time p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Enlever le cursor pointer sur les éléments "pas de résultat" */
.pw-replacement-list .pw-replacement.pw-no-result,
.pw-assignment-list .pw-assignment.pw-no-result {
  cursor: default;
}

/* Règle pour desktop uniquement - ajustement de la marge droite de la colonne Action (User Dashboard uniquement) */
@media (min-width: 768px) {
  #publisherDashboard
    #sectionAssignments
    .pw-assignment-table
    > .row.header
    .pw-location-action,
  #publisherDashboard
    #sectionReplacements
    .pw-replacement-table
    > .row.header
    .pw-location-action {
    margin-right: 20px;
  }
}

/* ==== Small Screen ==== */
@media (max-width: 991.98px) {
  body.display-publisher,
  body.display-admin {
    padding-bottom: 58px;
  }

  #publisherDashboard .pw-section.db-assignments,
  #publisherDashboard .pw-section.db-availability,
  #publisherDashboard .pw-section.db-news,
  #publisherDashboard .pw-section.db-questions {
    display: none;
  }
  #publisherDashboard[data-active-section='assignments']
    .pw-section.db-assignments,
  #publisherDashboard[data-active-section='availability']
    .pw-section.db-availability,
  #publisherDashboard[data-active-section='news'] .pw-section.db-news,
  #publisherDashboard[data-active-section='news'] .pw-section.db-questions {
    display: flex;
    flex-direction: column;
  }

  #availabilities_modal #availabilities_modal_shifts thead > tr > th,
  #availabilities_modal #availabilities_modal_shifts tbody > tr > td {
    padding: 10px;
  }

  div.pw-alert {
    width: calc(100% - 10px);
  }

  body .content-page {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }

  .content-page .section-page-title .page-title-box {
    padding-left: 5px;
  }

  .content-page .section-page-content-body {
    padding: 0;
  }

  #publisherDashboard {
    padding-left: 0;
    padding-right: 0;
  }

  #sectionReplacements,
  #sectionTimeoff,
  #sectionQuestions {
    margin-bottom: 0;
  }

  #sectionAssignments > .card-body,
  #sectionReplacements > .card-body,
  #sectionAvailability > .card-body,
  #sectionTimeoff > .card-body,
  #sectionNews > .card-body,
  #sectionQuestions > .card-body {
    padding-left: 5px;
    padding-right: 5px;
  }

  .pw-assignment-table .pw-location-initials,
  .pw-replacement-table .pw-location-initials {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .pw-availability-table th,
  .pw-availability-table td {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .pw-assignment-table
    .pw-assignment.pw-canceled
    .pw-location-address
    .pw-message {
    padding: initial;
    height: auto;
    vertical-align: auto;
  }
}

@media (max-width: 640px) {
  .page-title-box .page-title-right {
    display: block;
  }

  .pw-assignment-table tbody td.pw-location-address > p,
  .pw-replacement-table tbody td.pw-location-address > p {
    margin-bottom: 45px !important;
  }

  #publisherDashboard
    #sectionAssignments
    .pw-assignment-table
    tbody
    td.pw-location-address
    .pw-cart-action-label,
  #publisherDashboard
    #sectionReplacement
    .pw-replacement-table
    tbody
    td.pw-location-address
    .pw-cart-action-label {
    height: 54px;
    padding-right: 6px !important;
  }
}

@media (max-width: 768px) {
  .sel-group {
    position: relative;
    width: calc(100% - 200px);
  }
  .sel-group label {
    width: 90px;
  }
  .sel-group .select2.select2-container {
    /* width: calc(100% - 160px) !important; */
    width: calc(100% - 90px) !important;
  }
}

@media (max-width: 619.98px) {
  body.display-publisher .avatar-title {
    width: 24px !important;
    height: 24px !important;
    font-size: 12px;
  }

  body.display-publisher .section-page-content-body .card-body table td {
    padding: 6px;
  }

  body.display-publisher #sectionAssignments table td .btn.btn-xs,
  body.display-publisher #sectionReplacements table td .btn.btn-xs {
    margin-bottom: 6px;
  }

  body.display-publisher .section-page-content-body .card-body {
    padding-left: 8px;
    padding-right: 8px;
  }

  #publisherDashboard .card .card-body .card-buttons {
    position: absolute;
    top: 9px;
    right: 8px;
  }

  .sel-group {
    position: relative;
    width: calc(100% - 200px);
  }
  .sel-group label {
    width: 90px;
  }
  .sel-group .select2.select2-container {
    /* width: calc(100% - 160px) !important; */
    width: calc(100% - 90px) !important;
  }

  .navbar-brand .top-label {
    font-size: 12px;
    line-height: 14px;

    position: absolute;
    left: 104px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .navbar-brand .top-logo {
    position: absolute;
    left: 48px;
  }
  .topnav-menu.topnav-menu-left {
    position: absolute;
    left: 0;
  }

  .display-publisher .navbar-brand .top-label {
    left: 54px;
  }
  .display-publisher .navbar-brand .top-logo {
    left: 0;
  }
}

@media (max-width: 575px) {
  .sel-group {
    width: calc(100% - 100px);
  }
  .sel-group label {
    width: 90px;
  }
}

@media (max-width: 299.98px) {
  .navbar-brand .top-label {
    left: 50px;
  }
  .navbar-brand .top-logo {
    display: none !important;
  }

  .display-publisher .navbar-brand .top-label {
    left: 4px;
  }
}

/* ==== Disponibilités Ponctuelles ==== */
.ponctual-calendar {
  margin-top: 20px;
}

.ponctual-calendar .table {
  font-size: 14px;
}

.ponctual-calendar .table th {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  font-weight: 600;
}

.ponctual-calendar .table td {
  vertical-align: middle;
}

.ponctual-calendar .btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

#availability-tabs .nav-link {
  color: #6c757d;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.75rem 1rem;
  font-weight: 500;
}

#availability-tabs .nav-link:hover {
  color: #495057;
  border-bottom-color: #dee2e6;
}

#availability-tabs .nav-link.active {
  color: #6658dd;
  border-bottom-color: #6658dd;
  background-color: transparent;
}

#availability-tabs .nav-link i {
  margin-right: 0.5rem;
}

.tab-content {
  padding-top: 1rem;
}

#ponctual-content .form-label {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

#ponctual-content .form-control,
#ponctual-content .form-select {
  border-radius: 0.375rem;
  border: 1px solid #ced4da;
}

#ponctual-content .form-control:focus,
#ponctual-content .form-select:focus {
  border-color: #6658dd;
  box-shadow: 0 0 0 0.2rem rgba(102, 88, 221, 0.25);
}

#add-ponctual-availability {
  margin-bottom: 3px;
}

/* Le bouton de suppression utilise maintenant le même style que les absences */

/* Responsive adjustments */
@media (max-width: 768px) {
  #ponctual-content .row > div {
    margin-bottom: 1rem;
  }

  #ponctual-content .col-md-2 {
    margin-bottom: 0;
  }

  .ponctual-calendar .table-responsive {
    font-size: 12px;
  }
}

/* ==== MOBILE OPTIMIZATION FOR TABS ==== */
@media (max-width: 768px) {
  /* Forcer les onglets à rester sur une seule ligne */
  .nav-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }

  /* Masquer la scrollbar sur WebKit */
  .nav-tabs::-webkit-scrollbar {
    display: none;
  }

  /* Empêcher le retour à la ligne des onglets */
  .nav-tabs .nav-item {
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* Optimiser l'espacement des onglets sur mobile */
  .nav-tabs .nav-link {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    min-width: auto;
  }

  /* Assurer que le contenu des onglets reste visible */
  .tab-content {
    overflow-x: hidden;
  }

  /* ==== REPOSITIONNEMENT DU BOUTON D'ÉDITION ==== */
  /* Repositionner le bouton d'édition au-dessus des onglets en mobile */
  #availabilities_edit_btn,
  #add-ponctual-availability {
    position: absolute;
    top: 15px;
    right: 8px;
    z-index: 10;
    height: 32px;
  }
}

/* ==== Cookies Banner ==== */
.cookies-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.9);
  color: white;
  z-index: 9999;
  padding: 15px 0;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
}

.cookies-banner-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
}

.cookies-banner-text h6 {
  margin: 0 0 5px 0;
  font-size: 16px;
  font-weight: 600;
}

.cookies-banner-text p {
  margin: 0;
  font-size: 14px;
  opacity: 0.9;
  line-height: 1.4;
}

.cookies-banner-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.cookies-banner .btn {
  font-size: 14px;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.cookies-banner .btn-outline-light:hover {
  background-color: white;
  color: #000;
}

.cookies-banner .btn-light:hover {
  background-color: #f8f9fa;
}

/* Responsive design pour la bannière de cookies */
@media (max-width: 768px) {
  .cookies-banner {
    padding: 20px 0;
  }

  .cookies-banner-content {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .cookies-banner-text h6 {
    font-size: 18px;
  }

  .cookies-banner-text p {
    font-size: 15px;
  }

  .cookies-banner-actions {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* ==== Disponibilités Ponctuelles ==== */
.ponctual-calendar {
  margin-top: 20px;
}

.ponctual-calendar .table {
  font-size: 14px;
}

.ponctual-calendar .table th {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  font-weight: 600;
}

.ponctual-calendar .table td {
  vertical-align: middle;
}

.ponctual-calendar .btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

/* Styles spécifiques pour le modal des disponibilités ponctuelles */
#availabilities_modal #ponctual-modal-content .row {
  align-items: end;
}

#availabilities_modal #ponctual-modal-content .form-label {
  margin-bottom: 0.5rem;
  font-weight: 500;
}

#availabilities_modal #ponctual-modal-content .form-control,
#availabilities_modal #ponctual-modal-content .form-select {
  height: 38px;
}

#availabilities_modal #add-ponctual-modal-availability {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
}

/* ==== Légende des Couleurs - Disponibilités Ponctuelles ==== */
.availability-legend {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.availability-legend::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}

.availability-legend .d-flex {
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.availability-legend .badge {
  font-size: 0.8rem;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 16px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
  min-width: 100px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.availability-legend .badge::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transition: left 0.4s ease;
}

.availability-legend .badge:hover::before {
  left: 100%;
}

.availability-legend .badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Badge Grand besoin (rouge) */
.availability-legend .badge.text-bg-danger {
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
  border-color: #bd2130;
  color: #ffffff;
}

.availability-legend .badge.text-bg-danger:hover {
  background: linear-gradient(135deg, #c82333 0%, #a71e2a 100%) !important;
  border-color: #a71e2a;
}

/* Badge Besoin modéré (jaune) */
.availability-legend .badge.text-bg-warning {
  background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%) !important;
  border-color: #d39e00;
  color: #212529;
}

.availability-legend .badge.text-bg-warning:hover {
  background: linear-gradient(135deg, #e0a800 0%, #c69500 100%) !important;
  border-color: #c69500;
}

/* Badge Suffisant (vert) */
.availability-legend .badge.text-bg-white {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
  border-color: #dee2e6;
  color: #495057;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.availability-legend .badge.text-bg-white:hover {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
  border-color: #adb5bd;
}

/* Responsive design pour la légende */
@media (max-width: 768px) {
  .availability-legend {
    padding: 10px 12px;
    margin-top: 12px;
  }

  .availability-legend .d-flex {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .availability-legend .badge {
    min-width: 90px;
    padding: 5px 10px;
    font-size: 0.75rem;
  }

  .availability-legend-inline {
    gap: 4px;
    flex-direction: row;
  }

  .availability-legend-inline .badge {
    min-width: 60px;
    padding: 3px 6px;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  .availability-legend {
    padding: 8px 10px;
    margin-top: 10px;
  }

  .availability-legend .badge {
    min-width: 80px;
    padding: 4px 8px;
    font-size: 0.7rem;
  }

  .availability-legend .badge i {
    font-size: 0.8rem;
    margin-right: 4px;
  }

  .availability-legend-inline {
    flex-direction: row;
    gap: 3px;
    justify-content: center;
  }

  .availability-legend-inline .badge {
    min-width: 50px;
    padding: 2px 4px;
    font-size: 0.6rem;
  }

  .sel-group {
    width: calc(100% - 100px);
  }

  .pw-assignment-table th.pw-location-initials,
  .pw-assignment-table .col.pw-location-initials,
  .pw-replacement-table th.pw-location-initials,
  .pw-replacement-table .col.pw-location-initials {
    max-width: 40px;
  }

  #sectionAssignments
    .pw-assignment-table
    .col.pw-location-initials
    .avatar-title,
  #sectionReplacements
    .pw-replacement-table
    .col.pw-location-initials
    .avatar-title,
  .pw-assignment-table .col.pw-location-initials .avatar-title,
  .pw-replacement-table .col.pw-location-initials .avatar-title {
    width: 25px;
    height: 25px;
    font-size: 12px;
  }

  .pw-assignment-table .col.pw-location-initials,
  .pw-replacement-table .col.pw-location-initials {
    padding-left: 1px;
    padding-right: 1px;
  }

  .pw-assignment-table .col.pw-location-address,
  .pw-replacement-table .col.pw-location-address {
    padding-top: 3px;
    padding-left: 1px;
    padding-right: 1px;
  }
  .pw-assignment-table .col.pw-location-address h5,
  .pw-replacement-table .col.pw-location-address h5 {
    font-size: 12px;
  }
  .pw-assignment-table .col.pw-location-address small,
  .pw-replacement-table .col.pw-location-address small {
    font-size: 10px;
  }
  .pw-assignment-table .col.pw-location-date-time,
  .pw-replacement-table .col.pw-location-date-time {
    font-size: 12px;
    padding-left: 1px;
    padding-right: 1px;
  }

  .pw-assignment-table .pw-assignment .pw-cart-action-label,
  .pw-replacement-table .pw-replacement .pw-cart-action-label {
    font-size: 12px;
  }

  #sectionReplacements #replacement_filters_btn .btn-text {
    display: none;
  }
  #sectionReplacements #replacement_filters_btn i.mdi {
    margin-left: 0 !important;
  }
  #sectionReplacements #replacement_filters_btn .badge {
    display: none;
  }
  #sectionReplacements .card-buttons .btn {
    margin-left: 0 !important;
  }
}

/* ==== Légende Intégrée dans le Footer de la Table ==== */
.availability-legend-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.availability-legend-inline .badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  min-width: 80px;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.availability-legend-inline .badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}

.availability-legend-inline .badge i {
  font-size: 0.8rem;
  margin-right: 4px;
  vertical-align: middle;
}

/* Badge Grand besoin (rouge) */
.availability-legend-inline .badge.text-bg-danger {
  background: rgba(241, 85, 108, var(--ct-bg-opacity, 1)) !important;
  border-color: rgba(241, 85, 108, 1);
  color: #ffffff;
}

.availability-legend-inline .badge.text-bg-danger:hover {
  background: #ef7a8b !important;
  border-color: #ef7a8b;
}

/* Badge Besoin modéré (jaune) */
.availability-legend-inline .badge.text-bg-warning {
  background: rgba(247, 184, 75, var(--ct-bg-opacity, 1)) !important;
  border-color: rgba(247, 184, 75, 1);
  color: #212529;
}

.availability-legend-inline .badge.text-bg-warning:hover {
  background: #efc98f !important;
  border-color: #efc98f;
}

/* Badge Suffisant (blanc) */
.availability-legend-inline .badge.text-bg-white {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
  border-color: #dee2e6;
  color: #495057;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.availability-legend-inline .badge.text-bg-white:hover {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
  border-color: #adb5bd;
}

/* Responsive design pour la légende */
@media (max-width: 768px) {
  .availability-legend {
    padding: 10px 12px;
    margin-top: 12px;
  }

  .availability-legend .d-flex {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .availability-legend .badge {
    min-width: 90px;
    padding: 5px 10px;
    font-size: 0.75rem;
  }

  .availability-legend-inline {
    gap: 4px;
    flex-direction: row;
  }

  .availability-legend-inline .badge {
    min-width: 60px;
    padding: 3px 6px;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  .availability-legend {
    padding: 8px 10px;
    margin-top: 10px;
  }

  .availability-legend .badge {
    min-width: 80px;
    padding: 4px 8px;
    font-size: 0.7rem;
  }

  .availability-legend .badge i {
    font-size: 0.8rem;
    margin-right: 4px;
  }

  .availability-legend-inline {
    flex-direction: row;
    gap: 3px;
    justify-content: center;
  }

  .availability-legend-inline .badge {
    min-width: 50px;
    padding: 2px 4px;
    font-size: 0.6rem;
  }
}

.cart-model-guide-image {
  width: 100%;
  max-width: 420px;
  border-radius: 8px;
}

.cart-model-image-wrap {
  padding-top: 8px;
}

.icon-cart-model {
  display: inline-block;
  transform: rotate(180deg);
  vertical-align: middle;
  line-height: 1;
  position: relative;
  top: -1px;
}

.cart-model-field-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  margin-right: 8px;
  gap: 10px;
  border-radius: 50%;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1;
  color: #ffffff;
  background-color: #dc3545;
}

.cart-model-content-col {
  width: 34%;
}

.cart-model-content-cell {
  max-width: 360px;
}

.cart-model-content-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}

.cart-model-content-slot-icon {
  font-size: 14px;
  color: #6c757d;
  margin-right: 6px;
  vertical-align: -1px;
}

.cart-model-content-line:last-child {
  margin-bottom: 0;
}

.assignment-cart-models-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.assignment-cart-model-item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 6px;
  background-color: #fafbfc;
}

.assignment-cart-model-media-column {
  flex: 0 0 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  gap: 38px;
}

.page-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-loading-overlay-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.page-loading-overlay-text {
  color: #495057;
  font-weight: 500;
}

.assignment-cart-model-image-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.assignment-cart-model-image {
  width: 100%;
  max-width: 120px;
  border-radius: 4px;
}

.assignment-cart-model-image-wrap-poster .assignment-cart-model-image {
  object-fit: contain;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
}

.assignment-cart-model-text-wrap {
  flex: 1 1 auto;
  min-width: 0;
}

.assignment-cart-model-name {
  font-size: 1.12rem;
  line-height: 1.15;
}

.assignment-cart-model-line {
  white-space: pre-line;
  overflow: visible;
  text-overflow: clip;
  margin-bottom: 0;
}

.assignment-cart-model-line + .assignment-cart-model-line {
  margin-top: -25px;
}

.assignment-cart-model-line:last-child {
  margin-bottom: 0;
}

.assignment-cart-model-field-label {
  font-weight: 700;
  color: #4a5568;
  margin-bottom: 0;
  line-height: 1.05;
}

.assignment-cart-model-field-label-with-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.assignment-cart-model-field-badge {
  min-width: 20px;
  height: 20px;
  margin-right: 0;
  font-size: 0.7rem;
}

.assignment-cart-model-field-value {
  white-space: pre-line;
  margin-top: 0;
  margin-left: 28px;
  line-height: calc(1em + 8px);
}

.assignment-cart-model-field-value-compact {
  margin-top: -9px !important;
  line-height: 1.15 !important;
}

@media (max-width: 767.98px) {
  .assignment-cart-model-item {
    flex-direction: column;
  }

  .assignment-cart-model-image-wrap {
    flex-basis: auto;
  }

  .assignment-cart-model-media-column {
    flex-basis: auto;
    width: 100%;
  }

  .assignment-cart-model-image-wrap-poster,
  .assignment-cart-model-image-wrap-cart {
    width: 100%;
    text-align: center;
  }
}

.tab-action-btn {
  display: inline-flex;
  align-items: center;
}

@media (max-width: 991.98px) {
  #locationDetails .location-tabs-toolbar,
  #depotDetails .depot-tabs-toolbar {
    flex-wrap: wrap;
    align-items: flex-start !important;
    row-gap: 8px;
  }

  #locationDetails .location-tabs-toolbar .nav-tabs,
  #depotDetails .depot-tabs-toolbar .nav-tabs {
    order: 1;
    flex: 1 0 100%;
    width: 100%;
    flex-wrap: wrap;
    row-gap: 4px;
  }

  #locationDetails .location-tabs-toolbar .nav-tabs .nav-item,
  #depotDetails .depot-tabs-toolbar .nav-tabs .nav-item {
    flex: 0 1 auto;
    margin-bottom: 0;
  }

  #locationDetails .location-tabs-toolbar .nav-tabs .nav-link,
  #depotDetails .depot-tabs-toolbar .nav-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    line-height: 1.2;
    padding: 0.45rem 0.5rem;
    font-size: 0.9rem;
  }

  #locationDetails .location-tabs-toolbar .nav-tabs .nav-link .badge,
  #depotDetails .depot-tabs-toolbar .nav-tabs .nav-link .badge {
    margin-left: 0.25rem !important;
  }

  #locationDetails .location-tabs-toolbar .tab-action-btn,
  #depotDetails .depot-tabs-toolbar .tab-action-btn {
    order: 2;
    min-width: 38px;
    width: 38px;
    height: 38px;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }

  #locationDetails .location-tabs-toolbar .tab-action-btn .tab-action-btn-label,
  #depotDetails .depot-tabs-toolbar .tab-action-btn .tab-action-btn-label {
    display: none;
  }

  #locationDetails .location-tabs-toolbar .tab-action-btn i,
  #depotDetails .depot-tabs-toolbar .tab-action-btn i {
    margin-right: 0 !important;
  }

  #locationDetails .location-tabs-toolbar > .tab-action-btn:first-of-type,
  #depotDetails .depot-tabs-toolbar > .tab-action-btn:first-of-type {
    margin-left: auto;
  }

  #locationDetails .location-tabs-toolbar > .tab-action-btn + .tab-action-btn,
  #depotDetails .depot-tabs-toolbar > .tab-action-btn + .tab-action-btn {
    margin-left: 6px;
  }
}

@media (max-width: 575.98px) {
  #locationDetails .location-tabs-toolbar .nav-tabs .nav-link,
  #depotDetails .depot-tabs-toolbar .nav-tabs .nav-link {
    font-size: 0.82rem;
    padding: 0.35rem 0.4rem;
  }
}

@media (max-width: 991.98px) {
  .cart-model-guide-image {
    max-width: 360px;
  }
}

@media (min-width: 992px) {
  .cart-model-layout {
    align-items: flex-start;
  }
}

/* Publishers list: compact reputation display */
.publisher-reputation-compact {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  line-height: 1;
}

.publisher-reputation-compact .publisher-reputation-value {
  font-size: 0.78rem;
  font-weight: 600;
}

.publisher-reputation-compact .publisher-reputation-unit {
  font-size: 0.62rem;
  opacity: 0.85;
}
