/* SSPQ 2.0.348 - correctifs mobiles terrain. */
@media (max-width: 768px) {
  .sspq-patrol-detail .sspq-patrol-map,
  .sspq-route-sheet .sspq-patrol-map,
  .sspq-route-mobile .leaflet-container,
  .sspq-patrol-detail .leaflet-container {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    border-radius: 14px !important;
  }

  .sspq-patrol-detail .sspq-action-row,
  .sspq-route-sheet .sspq-action-row,
  .sspq-route-task-actions,
  .sspq-shift-employee-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .sspq-patrol-detail .sspq-action-row .sspq-btn,
  .sspq-route-sheet .sspq-action-row .sspq-btn,
  .sspq-route-task-actions .sspq-btn,
  .sspq-route-task-actions .sspq-patrol-report-flow > .sspq-btn,
  .sspq-shift-employee-actions .sspq-btn,
  .sspq-shift-employee-actions button,
  .sspq-shift-employee-actions a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .sspq-patrol-detail .sspq-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .sspq-patrol-detail .sspq-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .sspq-patrol-detail .sspq-table thead {
    display: none !important;
  }

  .sspq-patrol-detail .sspq-table tbody,
  .sspq-patrol-detail .sspq-table tr {
    display: block !important;
    width: 100% !important;
  }

  .sspq-patrol-detail .sspq-table tr {
    margin: 10px 0 !important;
    padding: 10px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(11, 31, 58, .05) !important;
  }

  .sspq-patrol-detail .sspq-table td {
    display: grid !important;
    grid-template-columns: 95px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 7px 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    white-space: normal !important;
  }

  .sspq-patrol-detail .sspq-table td:before {
    content: attr(data-label) !important;
    display: block !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }

  .sspq-patrol-detail .sspq-table td:last-child {
    border-bottom: 0 !important;
  }

  .sspq-patrol-detail .sspq-table td > * {
    min-width: 0;
  }

  .sspq-patrol-detail .sspq-table td .sspq-btn {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 14px;
  }

  .sspq-route-mobile {
    max-width: 100% !important;
  }

  .sspq-route-task-card {
    padding: 14px !important;
  }

  .sspq-route-task-head h3 {
    overflow-wrap: anywhere;
  }
}

/* SSPQ 2.0.377 — correctifs mobile rapports, horaire et sélecteurs. */
.sspq-platform .sspq-searchable-select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.sspq-platform button.sspq-searchable-toggle,
.sspq-platform .sspq-searchable-toggle {
  width: 100% !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0b1f3a !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: hidden !important;
}

.sspq-platform .sspq-searchable-toggle [data-sspq-searchable-display] {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.sspq-platform .sspq-searchable-arrow {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

.sspq-platform .sspq-searchable-menu {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 20px 44px rgba(11,31,58,.18) !important;
}

.sspq-platform .sspq-searchable-input {
  width: 100% !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #dbe3ef !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #0b1f3a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.sspq-platform .sspq-searchable-list {
  width: 100% !important;
  max-width: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.sspq-platform button.sspq-searchable-option,
.sspq-platform .sspq-searchable-option {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #e5edf6 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #0b1f3a !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  cursor: pointer !important;
}

.sspq-platform button.sspq-searchable-option:hover,
.sspq-platform button.sspq-searchable-option:focus,
.sspq-platform button.sspq-searchable-option.is-selected,
.sspq-platform .sspq-searchable-option:hover,
.sspq-platform .sspq-searchable-option:focus,
.sspq-platform .sspq-searchable-option.is-selected {
  background: #f1f5f9 !important;
  color: #0b1f3a !important;
  outline: 2px solid rgba(11,31,58,.16) !important;
  outline-offset: -2px !important;
}

.sspq-platform .sspq-searchable-empty {
  padding: 12px 14px !important;
  color: #64748b !important;
  font-weight: 700 !important;
}

.sspq-report-modal-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.sspq-report-modal-body {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.sspq-report-modal-body .sspq-report-check-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 8px !important;
  box-sizing: border-box !important;
}

.sspq-report-modal-body .sspq-report-check-options label {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #d7e1ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0b1f3a !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
}

.sspq-report-modal-body .sspq-report-check-options input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: start !important;
  align-self: center !important;
  box-sizing: border-box !important;
}

.sspq-report-modal-actions.wide {
  flex: 0 0 auto !important;
  background: #fff !important;
}

@media (max-width: 760px) {
  .sspq-platform .sspq-searchable-select.is-open .sspq-searchable-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin-top: 6px !important;
  }

  .sspq-platform .sspq-searchable-list {
    max-height: 42vh !important;
  }

  .sspq-report-modal {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .sspq-report-modal-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92vh !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .sspq-report-modal-body {
    padding: 16px !important;
  }

  .sspq-report-modal-actions,
  .sspq-report-modal-actions.wide {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #e5edf6 !important;
  }

  .sspq-report-modal-actions .sspq-btn,
  .sspq-report-modal-actions button {
    width: 100% !important;
    min-height: 52px !important;
  }

  .sspq-schedule-mobile-cards,
  .sspq-mobile-schedule-day {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .sspq-mobile-schedule-date {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    text-align: left !important;
  }

  .sspq-mobile-schedule-date span:first-child,
  .sspq-mobile-schedule-date strong:first-child {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* SSPQ 2.0.397 - mobile notifications actions. */
@media (max-width: 760px) {
  .sspq-notifications > .sspq-panel:first-child .sspq-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .sspq-notifications > .sspq-panel:first-child .sspq-action-row .sspq-btn {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }
}

/* SSPQ 2.0.399 - listes deroulantes mobiles uniformes. */
.sspq-platform select:not(.sspq-native-select-hidden):not([multiple]),
.sspq-platform button.sspq-searchable-toggle,
.sspq-platform .sspq-report-searchable-toggle,
.sspq-platform .sspq-report-multiselect-toggle {
  min-height: 46px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: #0b1f3a !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.sspq-platform select:not(.sspq-native-select-hidden):not([multiple]) {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding: 10px 42px 10px 12px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-position: right 12px center !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
}

/* SSPQ 2.0.400 - site horaire blanc comme Statut / Tri employes. */
body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-select > button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-select > button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-select > button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-select > button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger) {
  min-height: 43px !important;
  padding: 9px 10px !important;
  border: 1px solid #d9dee7 !important;
  border-color: #d9dee7 !important;
  border-radius: 10px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-toggle [data-sspq-searchable-display],
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-toggle [data-sspq-searchable-display],
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-toggle [data-sspq-searchable-display],
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-toggle [data-sspq-searchable-display] {
  color: #000 !important;
  font-weight: 400 !important;
}

body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-arrow,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-arrow,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-arrow,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-arrow {
  color: #334155 !important;
}

/* SSPQ 2.0.401 - menu Site ouvert en style liste native. */
body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-menu,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-menu,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-menu,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-menu {
  border: 1px solid #777 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-input,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-input,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-input,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-input {
  margin: 0 !important;
  min-height: 43px !important;
  width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid #d9dee7 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #000 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option {
  min-height: 28px !important;
  padding: 5px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option:hover,
body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option:focus,
body.sspq-fullscreen-horaire .sspq-platform .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option.is-selected,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option:hover,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option:focus,
body.sspq-fullscreen-horaire .sspq-platform .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option.is-selected,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option:hover,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option:focus,
body.sspq-fullscreen-horaire .sspq-horaire-filters .sspq-searchable-menu button.sspq-searchable-option.is-selected,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option:hover,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option:focus,
body.sspq-fullscreen-horaire .sspq-schedule-toolbar .sspq-searchable-menu button.sspq-searchable-option.is-selected {
  background: #1f6fd5 !important;
  background-color: #1f6fd5 !important;
  color: #fff !important;
  outline: none !important;
}

/* SSPQ 2.0.402 - uniformiser les listes custom dans les modales horaire et rapports. */
.sspq-platform button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-platform button.sspq-report-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-platform button.sspq-report-multiselect-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap button.sspq-report-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap button.sspq-report-multiselect-toggle:not(.sspq-modal-close):not(.sspq-btn-danger) {
  width: 100% !important;
  min-height: 46px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #0b1f3a !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.sspq-platform button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-platform button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-platform button.sspq-report-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-platform button.sspq-report-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-platform button.sspq-report-multiselect-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-platform button.sspq-report-multiselect-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-admin-wrap button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-admin-wrap button.sspq-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-admin-wrap button.sspq-report-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-admin-wrap button.sspq-report-searchable-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-admin-wrap button.sspq-report-multiselect-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-admin-wrap button.sspq-report-multiselect-toggle:not(.sspq-modal-close):not(.sspq-btn-danger):focus {
  border-color: #94a3b8 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #0b1f3a !important;
  transform: none !important;
  outline: 2px solid rgba(37,99,235,.18) !important;
  outline-offset: 0 !important;
}

.sspq-platform .sspq-searchable-toggle [data-sspq-searchable-display],
.sspq-platform .sspq-report-searchable-toggle [data-sspq-report-search-display],
.sspq-platform .sspq-report-multiselect-toggle [data-sspq-report-multiselect-display] {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #0b1f3a !important;
}

.sspq-platform .sspq-searchable-arrow,
.sspq-platform .sspq-report-searchable-toggle span[aria-hidden="true"],
.sspq-platform .sspq-report-multiselect-toggle span[aria-hidden="true"] {
  flex: 0 0 auto !important;
  color: #334155 !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.sspq-platform .sspq-searchable-menu,
.sspq-platform .sspq-report-searchable-menu,
.sspq-platform .sspq-report-multiselect-menu {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid #94a3b8 !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 35px rgba(15,23,42,.18) !important;
  overflow: hidden !important;
}

.sspq-platform .sspq-searchable-input,
.sspq-platform .sspq-report-searchable-input,
.sspq-platform .sspq-report-multiselect-search {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  min-height: 43px !important;
  padding: 9px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #d9dee7 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

.sspq-platform .sspq-searchable-list,
.sspq-platform .sspq-report-searchable-list,
.sspq-platform .sspq-report-multiselect-options {
  background: #fff !important;
}

.sspq-platform .sspq-searchable-menu button.sspq-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-platform .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap .sspq-searchable-menu button.sspq-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-platform .sspq-report-multiselect-options label {
  width: 100% !important;
  min-height: 32px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
  transform: none !important;
}

.sspq-platform .sspq-searchable-menu button.sspq-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-platform .sspq-searchable-menu button.sspq-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-platform .sspq-searchable-menu button.sspq-searchable-option.is-selected:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-platform .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-platform .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-platform .sspq-report-searchable-menu button.sspq-report-searchable-option.is-selected:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap .sspq-searchable-menu button.sspq-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-admin-wrap .sspq-searchable-menu button.sspq-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-admin-wrap .sspq-searchable-menu button.sspq-searchable-option.is-selected:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-admin-wrap .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):hover,
.sspq-admin-wrap .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger):focus,
.sspq-admin-wrap .sspq-report-searchable-menu button.sspq-report-searchable-option.is-selected:not(.sspq-modal-close):not(.sspq-btn-danger),
.sspq-platform .sspq-report-multiselect-options label:hover,
.sspq-platform .sspq-report-multiselect-options label:focus-within {
  background: #1f6fd5 !important;
  background-color: #1f6fd5 !important;
  color: #fff !important;
  outline: none !important;
}

/* SSPQ 2.0.406 — Points de contrôle: cartes mobiles compactes. */
@media (max-width: 760px) {
  .sspq-checkpoints-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .sspq-checkpoints-table-wrap .sspq-table,
  .sspq-checkpoints-table-wrap .sspq-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    background: transparent !important;
  }

  .sspq-checkpoints-table-wrap .sspq-table thead {
    display: none !important;
  }

  .sspq-checkpoints-table-wrap .sspq-checkpoint-row {
    display: block !important;
    margin: 0 0 8px !important;
    padding: 10px 12px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(11, 31, 58, .04) !important;
  }

  .sspq-checkpoints-table-wrap .sspq-checkpoint-row > td {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 4px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, .07) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .sspq-checkpoints-table-wrap .sspq-checkpoint-row > td:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .sspq-checkpoints-table-wrap .sspq-checkpoint-row > td:before {
    content: attr(data-label) !important;
    display: block !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .025em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
  }

  .sspq-checkpoints-table-wrap .sspq-checkpoint-cell-point {
    align-items: start !important;
    padding-top: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }

  .sspq-checkpoints-table-wrap .sspq-nfc-status {
    display: inline-block !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  .sspq-checkpoints-table-wrap small {
    display: inline-block !important;
    margin-top: 1px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
  }

  .sspq-checkpoints-table-wrap .sspq-row-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    width: 100% !important;
  }

  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-btn,
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-form,
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-delete,
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-form .sspq-btn,
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-delete .sspq-btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-form,
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-delete {
    grid-column: 1 / -1 !important;
  }

  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-btn {
    min-height: 38px !important;
    padding: 7px 10px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }
}

/* 2.0.409 - Points de contrôle : actions NFC compactes sur mobile */
@media (max-width: 760px) {
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-form,
  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-inline-delete {
    grid-column: auto !important;
  }

  .sspq-checkpoints-table-wrap .sspq-row-actions .sspq-btn {
    min-height: 36px !important;
    padding: 7px 8px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 782px){
  .sspq-checkpoint-searchbar{display:block;margin:10px 0 12px;}
  .sspq-checkpoint-searchbar input,.sspq-checkpoint-searchbar select{width:100%;max-width:none;min-height:44px;font-size:16px;margin-top:8px;}
  .sspq-checkpoint-searchbar [data-sspq-checkpoint-search-count]{display:block;margin-top:6px;}
}

@media (max-width: 782px){.sspq-patrol-recalc-bouncie{width:100%;margin:10px 0 14px;}}


/* 2.0.418 - Le mode carte mobile ne doit pas réafficher les points filtrés. */
@media (max-width: 760px){
  .sspq-checkpoints-table-wrap .sspq-checkpoint-row.is-search-hidden,
  .sspq-checkpoints-table-wrap .sspq-checkpoint-row[hidden]{display:none!important;}
}

/* SSPQ 2.0.419 - Sélecteurs de rapports mobiles stables et compacts. */
.sspq-report-picker-body{display:grid!important;gap:14px!important;}
.sspq-report-picker-field{display:grid!important;gap:8px!important;position:relative!important;margin:0!important;}
.sspq-report-picker-label{font-weight:900!important;color:#0b1f3a!important;line-height:1.25!important;}
.sspq-report-modal .sspq-report-searchable-select{position:relative!important;width:100%!important;z-index:1!important;}
.sspq-report-modal .sspq-report-searchable-select.is-open{z-index:80!important;}
.sspq-report-modal .sspq-report-searchable-menu{z-index:120000!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:14px!important;box-shadow:0 18px 36px rgba(15,23,42,.20)!important;overflow:hidden!important;}
.sspq-report-modal .sspq-report-searchable-list{max-height:min(42vh,360px)!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;}
.sspq-report-modal .sspq-report-searchable-input{min-height:48px!important;font-size:16px!important;border-bottom:1px solid #dbe4ee!important;}
.sspq-report-modal .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger){min-height:46px!important;padding:11px 14px!important;font-size:16px!important;font-weight:700!important;line-height:1.22!important;}
.sspq-report-modal .sspq-report-searchable-toggle:disabled{opacity:.55!important;background:#f1f5f9!important;cursor:not-allowed!important;}
@media(max-width:760px){
  .sspq-report-modal .sspq-report-searchable-select.is-open .sspq-report-searchable-menu{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;max-width:100%!important;max-height:none!important;margin-top:8px!important;}
  .sspq-report-modal .sspq-report-searchable-list{max-height:38vh!important;}
  .sspq-report-picker-body{gap:16px!important;}
  .sspq-report-modal .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger){min-height:48px!important;}
}


/* SSPQ 2.0.421 - Modale Rapport mobile : sélecteurs stables site/rapport. */
.sspq-report-searchable-menu-head{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
  color:#0b1f3a;
}
.sspq-report-searchable-menu-head strong{font-size:16px;line-height:1.2;font-weight:950;}
.sspq-report-searchable-close{
  width:38px;
  height:38px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#0b1f3a;
  color:#fff;
  font-size:24px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.sspq-report-searchable-close:hover,
.sspq-report-searchable-close:focus{outline:3px solid rgba(37,99,235,.20);}
.sspq-report-modal .sspq-report-searchable-select{isolation:isolate;}
@media(max-width:760px){
  .sspq-report-modal{align-items:flex-end!important;padding:0!important;}
  .sspq-report-modal .sspq-report-modal-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-height:calc(100dvh - 8px)!important;
    overflow:hidden!important;
    border-radius:18px 18px 0 0!important;
  }
  .sspq-report-modal .sspq-report-modal-head,
  .sspq-report-modal .sspq-report-modal-actions{flex:0 0 auto!important;}
  .sspq-report-modal .sspq-report-modal-body{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  .sspq-report-modal .sspq-report-modal-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:4!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    background:#f8fafc!important;
  }
  .sspq-report-modal .sspq-report-searchable-select.is-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:100000;
    background:rgba(15,23,42,.46);
  }
  .sspq-report-modal .sspq-report-picker-field .sspq-report-searchable-select.is-open .sspq-report-searchable-menu,
  .sspq-report-modal .sspq-report-searchable-select.is-open .sspq-report-searchable-menu{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    top:calc(env(safe-area-inset-top, 0px) + 92px)!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 16px)!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    z-index:100001!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(15,23,42,.38)!important;
  }
  .sspq-report-modal .sspq-report-searchable-menu-head{display:flex!important;flex:0 0 auto!important;}
  .sspq-report-modal .sspq-report-searchable-input{
    flex:0 0 auto!important;
    width:calc(100% - 24px)!important;
    margin:12px!important;
    min-height:46px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }
  .sspq-report-modal .sspq-report-searchable-list{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    padding-bottom:10px!important;
  }
  .sspq-report-modal .sspq-report-searchable-menu button.sspq-report-searchable-option:not(.sspq-modal-close):not(.sspq-btn-danger){
    min-height:50px!important;
    padding:12px 14px!important;
    font-size:16px!important;
    font-weight:800!important;
    line-height:1.25!important;
  }
}

/* SSPQ 2.0.427 - Correctifs mobile rapports et sélecteur Site des quarts. */
.sspq-report-field-title{font-weight:800;color:#0b1f3a;margin:0 0 8px;}
.sspq-report-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;}
.sspq-report-address-grid label{display:flex;flex-direction:column;gap:4px;font-weight:800;color:#0b1f3a;}
.sspq-report-address-grid input{width:100%;min-height:44px;}
@media (max-width:640px){.sspq-report-address-grid{grid-template-columns:1fr;}}
.sspq-report-validation-warning{grid-column:1/-1;padding:12px 14px;border:1px solid #f59e0b;border-radius:12px;background:#fffbeb;color:#78350f;font-weight:800;line-height:1.35;}
.sspq-patrol-template-field.is-invalid{outline:3px solid rgba(220,38,38,.28);outline-offset:3px;border-radius:12px;}
.sspq-report-modal-body .sspq-report-multiselect-options label{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;flex-direction:row!important;width:100%!important;min-height:46px!important;margin:0!important;padding:10px 14px!important;text-align:left!important;}
.sspq-report-modal-body .sspq-report-multiselect-options label input[type="checkbox"]{grid-column:1!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0!important;justify-self:start!important;align-self:center!important;}
.sspq-report-modal-body .sspq-report-multiselect-options label span{grid-column:2!important;display:block!important;min-width:0!important;overflow-wrap:anywhere!important;}
.sspq-report-multiselect-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid #dbe3ef;background:#f8fafc;}
.sspq-report-file-control{display:flex;flex-direction:column;gap:7px;align-items:flex-start;}
.sspq-report-file-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;min-width:160px!important;padding:11px 16px!important;border:0!important;border-radius:12px!important;background:#0b1f3a!important;color:#fff!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 8px 18px rgba(11,31,58,.18)!important;}
.sspq-report-file-button input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;pointer-events:none!important;}
.sspq-report-file-name{display:block;color:#64748b;font-weight:700;line-height:1.3;overflow-wrap:anywhere;}
.sspq-signature-pad-buttonized{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.sspq-signature-status{font-weight:800;color:#64748b;}.sspq-signature-status.is-signed{color:#166534;}
.sspq-signature-dialog[hidden]{display:none!important;}.sspq-signature-dialog{position:fixed;inset:0;z-index:100004;background:rgba(2,8,23,.76);display:flex;align-items:center;justify-content:center;padding:10px;}.sspq-signature-dialog-card{width:min(960px,calc(100vw - 20px));height:min(520px,calc(100dvh - 20px));display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.42);overflow:hidden;}.sspq-signature-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#0b1f3a;color:#fff;}.sspq-signature-dialog-head strong{color:#fff;font-size:18px;}.sspq-signature-dialog-close{border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;width:38px;height:38px;font-size:26px;line-height:1;cursor:pointer;}.sspq-signature-dialog canvas{flex:1 1 auto;width:100%;min-height:0;background:#fff;touch-action:none;display:block;border:0;}.sspq-signature-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px;background:#f8fafc;border-top:1px solid #dbe3ef;}html.sspq-signature-open-active{overflow:hidden!important;}
.sspq-report-modal .sspq-patrol-report-form>.sspq-report-modal-actions.wide{position:static!important;bottom:auto!important;z-index:auto!important;order:999!important;margin-top:14px!important;background:#fff!important;}
@media(max-width:760px){.sspq-report-modal .sspq-patrol-report-form>.sspq-report-modal-actions.wide{position:static!important;display:grid!important;grid-template-columns:1fr!important;padding:14px 0 calc(8px + env(safe-area-inset-bottom))!important;border-top:1px solid #e5edf6!important;}.sspq-report-modal-body .sspq-report-multiselect-menu{position:fixed!important;left:14px!important;right:14px!important;top:calc(env(safe-area-inset-top,0px) + 78px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important;display:none;flex-direction:column!important;max-height:none!important;z-index:100002!important;border-radius:18px!important;overflow:hidden!important;}.sspq-report-multiselect.is-open .sspq-report-multiselect-menu{display:flex!important;}.sspq-report-multiselect-options{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;}.sspq-report-multiselect-actions{flex:0 0 auto!important;}.sspq-signature-dialog{padding:6px;align-items:center;}.sspq-signature-dialog-card{width:calc(100vw - 12px);height:min(58vh,520px);min-height:320px;border-radius:16px;}.sspq-signature-dialog-actions{display:grid;grid-template-columns:1fr 1fr;}.sspq-signature-dialog-actions .sspq-btn{width:100%;justify-content:center;}.sspq-schedule-shift-modal .sspq-schedule-site-searchable.is-open::before{content:none!important;display:none!important;}.sspq-schedule-shift-modal .sspq-schedule-site-searchable.is-open .sspq-searchable-menu{position:fixed!important;left:14px!important;right:14px!important;top:calc(env(safe-area-inset-top,0px) + 84px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;display:flex!important;flex-direction:column!important;z-index:100003!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 24px 70px rgba(15,23,42,.38)!important;}.sspq-schedule-shift-modal .sspq-schedule-site-searchable .sspq-searchable-menu-head{display:flex!important;flex:0 0 auto!important;}.sspq-schedule-shift-modal .sspq-schedule-site-searchable .sspq-searchable-input{flex:0 0 auto!important;width:calc(100% - 24px)!important;margin:12px!important;min-height:46px!important;border-radius:12px!important;border:1px solid #cbd5e1!important;}.sspq-schedule-shift-modal .sspq-schedule-site-searchable .sspq-searchable-list{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;}.sspq-schedule-shift-modal .sspq-schedule-site-searchable .sspq-searchable-option{min-height:48px!important;padding:12px 14px!important;font-size:16px!important;}}

/* SSPQ 2.0.600 — Points de contrôle: cartes mobiles simplifiées. */
@media (max-width: 760px) {
  .sspq-checkpoints-table-wrap .sspq-checkpoint-name-link {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

/* SSPQ 2.0.711 — liste compacte des médias ajoutés. */
@media (max-width:760px){
  .sspq-report-file-control{width:100%;align-items:stretch;}
  .sspq-report-file-button{width:100%!important;}
  .sspq-report-file-item{align-items:flex-start;}
}

/* SSPQ 2.0.714 — listes recherchables mobiles dans les modales. */
@media(max-width:900px){
  .sspq-platform .sspq-searchable-select.sspq-searchable-mobile-overlay.is-open .sspq-searchable-menu{position:fixed!important;left:12px!important;right:12px!important;top:calc(env(safe-area-inset-top,0px) + 66px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 12px)!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;display:flex!important;flex-direction:column!important;z-index:2147482201!important;border-radius:18px!important;overflow:hidden!important;}
  .sspq-platform .sspq-searchable-select.sspq-searchable-mobile-overlay.is-open .sspq-searchable-menu-head{display:flex!important;flex:0 0 auto!important;}
  .sspq-platform .sspq-searchable-select.sspq-searchable-mobile-overlay.is-open .sspq-searchable-input{flex:0 0 auto!important;width:calc(100% - 24px)!important;margin:10px 12px!important;border:1px solid #94a3b8!important;border-radius:12px!important;}
  .sspq-platform .sspq-searchable-select.sspq-searchable-mobile-overlay.is-open .sspq-searchable-list{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;}
}

/* SSPQ 2.0.716 — fenêtre de création/modification de quart plein écran sur mobile. */
@media (max-width: 900px) {
  #sspq-shift-modal.sspq-schedule-shift-modal {
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  #sspq-shift-modal.sspq-schedule-shift-modal > .sspq-modal-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #sspq-shift-modal .sspq-modal-head {
    position: relative !important;
    z-index: 4 !important;
    flex: 0 0 auto !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: calc(14px + env(safe-area-inset-top, 0px)) 64px 14px 18px !important;
    border-bottom: 1px solid #dbe3ef !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  #sspq-shift-modal .sspq-modal-head h3 {
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  #sspq-shift-modal > .sspq-modal-card > .sspq-modal-close {
    position: absolute !important;
    z-index: 6 !important;
    top: calc(11px + env(safe-area-inset-top, 0px)) !important;
    right: 12px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
  }

  #sspq-shift-form.sspq-horaire-editor {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 14px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    box-sizing: border-box !important;
  }

  #sspq-shift-form,
  #sspq-shift-form *,
  #sspq-shift-form *::before,
  #sspq-shift-form *::after {
    box-sizing: border-box !important;
  }

  #sspq-shift-form > *,
  #sspq-shift-form label,
  #sspq-shift-form .wide,
  #sspq-shift-form .sspq-patrol-route-picker,
  #sspq-shift-form .sspq-patrol-route-options,
  #sspq-shift-form .sspq-patrol-route-card,
  #sspq-shift-form .sspq-recurrence-box {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #sspq-shift-form label {
    overflow: visible !important;
    overflow-wrap: anywhere !important;
  }

  #sspq-shift-form input:not([type="checkbox"]):not([type="radio"]),
  #sspq-shift-form select,
  #sspq-shift-form textarea,
  #sspq-shift-form button {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #sspq-shift-form input:not([type="checkbox"]):not([type="radio"]),
  #sspq-shift-form select,
  #sspq-shift-form textarea {
    width: 100% !important;
    font-size: 16px !important;
  }

  #sspq-shift-form select {
    padding-right: 42px !important;
    text-overflow: ellipsis !important;
  }

  #sspq-shift-form textarea {
    resize: vertical !important;
  }

  #sspq-shift-form input[type="file"] {
    overflow: hidden !important;
  }

  #sspq-shift-form .sspq-checkline,
  #sspq-shift-form .sspq-inline-check {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
  }

  #sspq-shift-form .sspq-checkline input[type="checkbox"],
  #sspq-shift-form .sspq-inline-check input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 2px 0 0 !important;
  }

  #sspq-shift-form .sspq-patrol-route-options {
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  #sspq-shift-form .sspq-patrol-route-card {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  #sspq-shift-form .sspq-patrol-route-card > span:first-of-type {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  #sspq-shift-form .sspq-route-repeat,
  #sspq-shift-form .sspq-route-times {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #sspq-shift-form .sspq-route-repeat {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(82px, 110px) !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: normal !important;
  }

  #sspq-shift-form .sspq-route-repeat input[type="number"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  #sspq-shift-form .sspq-route-time-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #sspq-shift-form .sspq-recurrence-days,
  #sspq-shift-form .sspq-recurrence-end-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #sspq-shift-form .sspq-shift-modal-actions {
    position: sticky !important;
    z-index: 5 !important;
    bottom: calc(-16px - env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: calc(100% + 32px) !important;
    max-width: none !important;
    margin: 4px -16px calc(-16px - env(safe-area-inset-bottom, 0px)) !important;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid #dbe3ef !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 -10px 28px rgba(15,23,42,.10) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  #sspq-shift-form .sspq-shift-modal-actions .sspq-btn {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: center !important;
    margin: 0 !important;
  }
}

@media (max-width: 420px) {
  #sspq-shift-form.sspq-horaire-editor {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #sspq-shift-form .sspq-shift-modal-actions {
    width: calc(100% + 24px) !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 900px) {
  html.sspq-shift-modal-open,
  body.sspq-shift-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }
}

/* SSPQ 2.0.804 - audit live: controles tactiles et onglets mobiles. */
.sspq-platform input[type="checkbox"],
.sspq-platform input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  accent-color: var(--sspq-gold, #c9a227);
}

@media (min-width: 1024px) and (max-width: 1440px) {
  .sspq-schedule-card .sspq-schedule-site,
  .sspq-schedule-card .sspq-schedule-edit-hint {
    max-width: 100% !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .sspq-schedule-card .sspq-schedule-site {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  .sspq-schedule-card .sspq-schedule-edit-hint {
    display: block !important;
    min-height: 12px !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 900px) {
  .sspq-platform input[type="checkbox"],
  .sspq-platform input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
  }

  .sspq-platform .sspq-checkline,
  .sspq-platform .sspq-inline-check,
  .sspq-platform label:has(> input[type="checkbox"]),
  .sspq-platform label:has(> input[type="radio"]) {
    min-height: 44px !important;
  }

  .sspq-platform .sspq-tabs,
  .sspq-platform .sspq-billing-tabs,
  .sspq-platform .sspq-ops-tabs,
  .sspq-platform .sspq-settings-tabs,
  .sspq-platform .sspq-presences-actions,
  .sspq-platform .sspq-schedule-view-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x proximity !important;
    padding-bottom: 8px !important;
  }

  .sspq-platform .sspq-tabs > *,
  .sspq-platform .sspq-billing-tabs > *,
  .sspq-platform .sspq-ops-tabs > *,
  .sspq-platform .sspq-settings-tabs > *,
  .sspq-platform .sspq-presences-actions > *,
  .sspq-platform .sspq-schedule-view-tabs > * {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: calc(100vw - 32px) !important;
    white-space: nowrap !important;
    scroll-snap-align: start !important;
  }

  .sspq-platform .sspq-tabs::after,
  .sspq-platform .sspq-billing-tabs::after,
  .sspq-platform .sspq-ops-tabs::after,
  .sspq-platform .sspq-settings-tabs::after,
  .sspq-platform .sspq-presences-actions::after,
  .sspq-platform .sspq-schedule-view-tabs::after {
    content: "";
    flex: 0 0 8px;
  }
}

/* SSPQ 2.0.737 — correction prioritaire du texte d’inspection véhicule. */
@media (max-width: 900px) {
  #sspq-shift-form .sspq-vehicle-inspection-request {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  #sspq-shift-form .sspq-vehicle-inspection-request > input[type="checkbox"] {
    grid-column: 1 !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin: 2px 0 0 !important;
  }
  #sspq-shift-form .sspq-vehicle-inspection-request .sspq-checkline-copy {
    grid-column: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  #sspq-shift-form .sspq-vehicle-inspection-request .sspq-checkline-copy strong,
  #sspq-shift-form .sspq-vehicle-inspection-request .sspq-checkline-copy small {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* SSPQ 2.0.805 - override final des contours de boutons. */
.sspq-platform .sspq-btn,
.sspq-platform button.sspq-btn,
.sspq-platform input[type="submit"],
.sspq-platform input[type="button"],
.sspq-platform .button,
.sspq-platform .button-primary,
.sspq-admin-wrap .sspq-btn,
.sspq-admin-wrap button.sspq-btn,
.sspq-admin-wrap .button,
.sspq-admin-wrap .button-primary {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--sspq-navy, #0b1f3a) !important;
  box-shadow: none !important;
}

.sspq-platform .sspq-btn:not(.sspq-btn-secondary):not(.sspq-btn-danger),
.sspq-platform button.sspq-btn:not(.sspq-btn-secondary):not(.sspq-btn-danger),
.sspq-platform input[type="submit"],
.sspq-platform input[type="button"],
.sspq-platform .button-primary,
.sspq-admin-wrap .sspq-btn:not(.sspq-btn-secondary):not(.sspq-btn-danger),
.sspq-admin-wrap button.sspq-btn:not(.sspq-btn-secondary):not(.sspq-btn-danger),
.sspq-admin-wrap .button-primary {
  background: var(--sspq-navy, #0b1f3a) !important;
  color: #fff !important;
}

.sspq-platform .sspq-btn-secondary,
.sspq-platform .button:not(.button-primary),
.sspq-admin-wrap .sspq-btn-secondary,
.sspq-admin-wrap .button:not(.button-primary) {
  background: #fff !important;
  border-color: var(--sspq-border, #d9dee7) !important;
  color: var(--sspq-navy, #0b1f3a) !important;
}

.sspq-platform .sspq-btn-danger,
.sspq-platform button.sspq-btn-danger,
.sspq-admin-wrap .sspq-btn-danger,
.sspq-admin-wrap button.sspq-btn-danger {
  background: var(--sspq-danger, #b42318) !important;
  border-color: var(--sspq-danger, #b42318) !important;
  color: #fff !important;
}

.sspq-platform .sspq-tab,
.sspq-platform .sspq-hiring-status-tab,
.sspq-platform .sspq-schedule-view-tab,
.sspq-platform .sspq-billing-tabs a,
.sspq-platform .sspq-ops-tabs .sspq-tab {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--sspq-border, #d9dee7) !important;
  box-shadow: none !important;
}

.sspq-platform .sspq-tab.is-active,
.sspq-platform .sspq-hiring-status-tab.is-active,
.sspq-platform .sspq-schedule-view-tab.is-active,
.sspq-platform .sspq-billing-tabs a.is-active,
.sspq-platform .sspq-ops-tabs .sspq-tab.is-active {
  border-color: var(--sspq-navy, #0b1f3a) !important;
}

.sspq-platform .sspq-btn:hover,
.sspq-platform button.sspq-btn:hover,
.sspq-platform input[type="submit"]:hover,
.sspq-platform input[type="button"]:hover,
.sspq-platform .button:hover,
.sspq-platform .button-primary:hover,
.sspq-admin-wrap .sspq-btn:hover,
.sspq-admin-wrap button.sspq-btn:hover,
.sspq-admin-wrap .button:hover,
.sspq-admin-wrap .button-primary:hover {
  border-color: var(--sspq-gold, #c9a227) !important;
}

.sspq-platform .sspq-btn:focus-visible,
.sspq-platform button.sspq-btn:focus-visible,
.sspq-platform input[type="submit"]:focus-visible,
.sspq-platform input[type="button"]:focus-visible,
.sspq-platform .button:focus-visible,
.sspq-platform .button-primary:focus-visible,
.sspq-platform .sspq-tab:focus-visible,
.sspq-admin-wrap .sspq-btn:focus-visible,
.sspq-admin-wrap button.sspq-btn:focus-visible,
.sspq-admin-wrap .button:focus-visible,
.sspq-admin-wrap .button-primary:focus-visible {
  outline: 3px solid rgba(201, 162, 39, .32) !important;
  outline-offset: 2px !important;
}
